*E@ WQ Q=UdFKW9G None InternalTimeColor olextrasCoreVClampVBitsPaletteMipZeroUBitsVSizeSystemUClampUSizeEngine MaxColorTickMapsTriggerSoundsbMaskedDrawBodyCount WriteText Follower AnimNextWaiting PlaySwimmingClientMessageBumpBreath UnrealShareBegin MapTitlesCutInfoSpeak IsFriendPostBeginPlay AttackingTweenToSwimmingTakeHitSetTextUWindow TakeDamage PlayWaiting AddPointsTimer BeginState AttitudeTo PlayerPawnWalk TVPlayerONPCloseBotPack followingCreatedUMenuMeshTouchAnimEnd SpriteAnimCreateControlAllVec oldskool SetHelpTextRunDeathsCollisionRadiusWAVCollisionHeight RemoteRoleMover FallingStateSetMovementPhysics EndState TVVehicle PreBeginPlay CodeConsole RangedAttackScreamBreath2SmokeNali PlayFootStep SeePlayer SetEnemy PlayRunningPlayThreateningSoundHitWall TacticalMoveSetFontIsOnBluePaddle ScriptedPawn parseTimeBowingDeath2IsOnRedPaddleDuckingTweenToFighterSwimMovingCowFighterTweenToWaitingGutHitPong ClientClass PlayTurningTweenToRunning MenuNameKilled LandThumpTelsa Mercenary PlayVoicePlayChallenge PlayerShipTwirl ExtraMessagePlayRangedAttackLandJog DestroyedTexturepray RightHitSkaarjConsoleCommandInitforPlayers ReplaceWithFire PostRenderJumpingExplodeScriptedHuman LaserBeam TryToDuckIsEnemyJumpGetUpPickupTutorialSoundLanded SetSizePosClientPlaySound WindowTitle AddVelocityShield AddMessage PlayDecapPawnDead2MassFollowingKrallFindInventoryTypeCriticalEventSayJogFireCanFireAtEnemyHealth PlayWalkStep PlayerMod PlayFiringBackupHumanSpeechTriggerSetFall DecapitatedDead1 NeedToTurnTalk2TvTranslatorEventdamageAttitudeTo SetMultiSkinTranslatorBookGesture CoOpPoints StrafeLeftFr NoCharge GuardingDead3 StrafeLeftSetduckWeaponTVDrivableCar GetBestHitDiedPlayGreetAnimSetSkinElement SetCurSoundStrafeRightFr GivePickup ActiveCannonAltFireDMDead8 GetSmallFontDead7Dead9 StartRoaming CarcassTypeLeftHit Greeting StrafeRight MovingFire TutMessageLook SayMessage PlayLandedMeleeDamageTargetPlayPatrolStoplunge GetItemName ClientTravelDrawWeaponIcon UnTrigger ProcessMove Inventory CheckBeamRiseUp Shielded Buoyancy CloseUWindowFiring exploded ShowModal GroundSpeedPlayAcquisitionSound LightHueDead4 PlayWalkinggunfixSkin StillFrRpDesignerNamesPlayVictoryDanceTweenToPatrolStopPlayThreatening CheckTargetGetDownRotator MessageBoxClientActivateRunSmLODSet Translocator hairflipUnrealIDyingSpeakTo ZoneChange SwimFire DoTravelFireBadhang NextWeaponDrawdiffCountGunFireSensorZone AccelRate Threaten HitSound2Paint RotationRate LightRadius PrevWeapon LandLgFrBecomeInvulnerableProcessCollision GiveWeaponTweenToFallingSuperShockRifle GreetAnimHuntingRenderOverlaysHeadHitRangedProjectile NaliRabbit ONPEndMarkDie BeginPlay SpawnMonster WhatToDoNext JumpSounds HitSound1 SpeechTimerKrall SendPlayer RefireRateDead5 FaceTarget PlayTakeHitPostNetBeginPlay PlayInAir NextItemSetSwitchPriorityIdleCompressAccel SpeedRunUpdateRotation ActivatebHiddenbCollideActors PlayDuckbCollideWorldRelativeStrengthbStatic VehicleTickPlayMeleeAttack DuckWlkS*BroadcastMessageTravelPostAcceptPlayerCalcView DrawPipeIcon VehicleMoveGetAmmoSetAcceleration DoWallHitbNetTemporary SetHidden FloatStringHandleRotationAwards CombatStylePlayHeadDeath PlayStepsic_em FireWeapon MeleeRangeChargeshot AmbushingFlyingBird1 PlayDodgeSkaarjWarrior GiveAmmo HUDSetupFear BecomeNormalTweenToWalkingLaunchUWindowProgrammerNamestvsp PreGreeting ActivateItemLightSaturation Suicided PlayDive PushButtonsCoughPlayOutOfWaterIsValidTarget GetMessage DrawScale LandSmFrLoadFriendliesPlayWaitingAmbush WeaponHolderPlayMovingAttackThrow DuckWlkLAggressivenessstartup MovingAttackForceDeactivateUnderWaterTime MultiSkinsLightBrightness DrawRect DetachDecal SpeedSwapperzappedAttitudeToCreatureDeath FovScrewer SecretAreaBruteAdjustHitLocation JumpSmFrRoam AdjustAim syllable3DrawTypingPrompt syllable4WalkSmUnFloatTreeSlithWarLordManta SpeakPrayerTriggerToggled Tentacle WalkSmFr Patroling JumpLgFr WarnTargetShoot2 syllable6RunLgFrRunSmFrDone WeaponTypeRunLg WalkLgFr PlayCockPlayFearSound ClientFire Activated SpeakOrderToWalkLg SwitchWeapon PlayDying PlayGutDeath AttachDecalActivateTranslator LoopMove ShieldDown SetStatsbBlockPlayers syllable2 UnderLift PlayBigDeath syllable1PlayLeftDeathPlayRightDeath syllable5 BeforePaint BecomeItem DeActivated bBlockActorsTalk3 ReduceDamage ShieldupTalk1ClientAdjustPositionSetTimePlayerMotionFreezeRebelSkaarjTrooper PrevItem NeckCrakRegisterONPLevelInfo HitSound4 GroundTrace HitSound3V2DSizeNotify GetVolume Acquisition StillSmFrTreadSm AmbientSound SetValue GetDamageBot SetFreeze ZoneLightCreateRootWindow LightEffect SetInvertTriggerOthersAcquire IterateMapsDeActivateTranslator AddPickup TeamCannonPlayWinMessage SetTwoHands PlasmaHitEjectAdvance bCanStrafeSuggestAttackStyle DoMovement DrawTypeTreadLgspinMovers BumpintofollowingMercenary ScoreDamageCheckPlayerStartstvcoopPlayDyingSound SetPauseExplosionDecalUpdate NaliTrooperSweatPlayMovingAttackAnimRenderTexture TouchTrans MaxSpeed skinnedFrag PostLoginFollowerTogglerClearBlowUp ClientSetMP3 LogPickup ChargingVsize2D SetFootSound TvTranslatorReplaceNonInvSwitchToBestWeapon OLDpistol NormalFire TextSize ProcessEvent DrawTextSetDisplayProperties ThrowWeaponPlayerWalkingDodge AirSpeed bEnabledAddDefaultInventoryFollow PlayRightHitCheckTouchingIconStyleClientAltFireDie2MutatorTakeDamageLooking CheatFlyingDiscardInventoryOpenbGameRelevantClientControl GameNameMultiDecalLevelShoot1KeepAttackingBringUp RealClassDead ScoreKill TossWeapon SpecialMeshUpKeySwimLgDownKeyPlayTeleportEffect DoRenderSelectionMeshLandingPickupFunctionPlayTakeHitSoundUseAmmo RespawnTime WalkFireResetViewOfPlayerParseSkinInfoClientSetMusicReadyToAttackReplicateMove levitatebHasRangedAttackPhysics LightTypeSwimSmPlayRoamingSoundGiveToUsedUp StatusIconPickupViewMesh Breath2L Breath1L GetBigFontDoRoamclaw guncheckNotifyNewEnemy LeftDodgeRunFireDrawStatusBar GetWeapon EngineRate RightDodge WalkTool OrderChange QuaternionDrawChargeIconVehicleCalcViewDefaultPackageGetInDead11 MinFrameRateSpeechVector MaxFrameRate Footstep1 bumpedinto UpdateWheelsCarcassGetTimeWave Challenge PickupSoundLoadKeyBindings MeleeAttack PlayerTickLoadCrosshairDeActivateSound ShldFireStrike2Voice Retreating Invulnerable FindItemIconVehicleControlReceiveLocalizedMessageSetAngleDifference ParentBlobServerJetMoveSkaarjTrooper HitSomething HideWindowTimery ServerTravelShipFlipProcessUserResolutionChangedSpecialerEvent PlayerFreezeRealTimeLight BuildControlPowerUpbMovingRangedAttack SetHUDColorsdrown DoneFiringUWHit2Death4Die3 bLeadTarget RebelSkaarjRemoveSetHome DrawONPIconLungeDamageTargetWorkingTriggeredAmbientSoundDuckMakeMercsDanceStrike1GetWeaponIconSquat3 WalkStepPlayerAlterZone BattleBruteMessageMessageBoxDone ubrowserFollowerStopperSPEnf PlayerInput Decoration SpawnShotLogin leetpalm GetValuescoreitBreath1DefaultSkinNameAdjustFromWall FootSteppingConsoleCommandTriggerSortNonBuggyViewSpotfadeoutTeleporter TryToCrouchUpdateEyeHeight Bip01 PelvisSetUpSlaveNoAM SetMessage Bip01 Spine2 Bip01 Spine Bip01 Spine1 TeamMessage Bip01 HeadBip01 L ForearmBip01 L Finger0 Bip01 L Hand Bip01 Neck Bip01 Neck1ChangedWeapon LongFallClientUpdatePositionBone_L_shoulderBip01 L Finger12Bip01 L UpperArmDummy08Dummy07Bip01 L Clavicle TvPickup IntelligenceBip01 R UpperArm KeysInverter ScriptedMaleBip01 R Finger01FootStepAttachBip01 R Finger02PatrolKillPointDummy02Bip01 L Finger01 Bone_weaponBip01 L Thigh TVtutEvent TVTutorialBip01 L Finger02Dummy03Bip01 L Finger1DamageBip01 L Finger11Dummy06 chicoship1JumpZFindFriendlyStartHandlePickupQuerytree402 PalmShadowDoOpenCheckGroundForces Bip01 R Calf PlayLoudStep Bip01 R Toe0Dummy04GetAcceleration IsRelevant FindPkupicon ApproachGetLinearFrictionGetRotationalFriction TutEvent1Bip01 R Clavicledointerpolate CodeSendPotentialEnemies SpawnBolt TurnWheelBy UpdateBeam PlayFlipmyGreet GreetPlayer TVFogWarningBip01 R ForearmForceActivatePlayLookAroundBoltIsAttacking Corroded WaitRead GetTimeStampmyProtectMasterDrawONPIconValue LiftExit Bip01 R Hand LandAnimCheckCollision GetHitNormBip01 R Finger0 PathNodeDummy01 KeyInputDodgeRBip01 R Finger1 TutEvent4Bip01 R Finger11StrafeLHullIntegrity UpdateAI UpdateBall MutatorClassFindHealthAmountBip01 R Finger12WaterToggleZoneDummy09teleBone_R_shoulder bHighDetailCheckScripted Bip01 L CalfDrawMainInventory MeshActor Bip01 L Foot Bip01 L Toe0WaitINV Projectile TutEvent6ARCoef Corroding2Draw1337erMessageHeaderBroadcastSayMessage LabelList JumpSound SetupTrans TestCodeDoEventBip01 R Thigh SetButtons waitmerc TutEvent7 SetUpMessageDropDecoration GunFiredHUDTypeSetNumericOnlyFindItemIndex2TVHUDSetSelectedIndex GetValue2 SetMaxLength ServerMove MusicEvent SetEditableAddItemOppositeWhileTriggeredGetLocalPlayerGetDesiredDimensions Bip01 R Foot UpdatePBeam IsActive GetMonsterLogSpecialEventRemoveFromFollowerListDummy05ResizedFinishedOpeningKeyDown CheckAmmo ShowScores teamvortexAddToFollowerList AddInventory HidePlayer SpawnWallHitAdd ParseMessageolCreatureCarcass TutEvent0 olweapons CheckDist ThrowTarget ThrowDamage MinDuckTimeSquat1Squat2 SpeakOrdersInactiveState KeepTurning MapwindowSwatDoJump WalkSpray StrikeDamage Stealth1Tread PlayGutHit WaitPistolTossHeadRubStrike3Gasbag HoldShield ShldLand ShldDownDrawSpeechAreaThrustAttitudeToPlayer SpawnRocketCalcBehindView TargetFlash NextHistory PlayDeathHitDefaultWeapon PlayLeftHitMinipulateSkin CheckShield TutEvent2 PrevHistory PoundDamage ClientDyingT3TeamSay PunchDamage LifeSpanLaugh Teleporting PendingLockReset PlayerMoveHeadZoneChangeFootZoneChangeInterpolateEnd GetAmmoIconUnTouch TutEvent3spellGenerationType LungeDamage ShldTestReplaceExploChain GameStringNewMessageSound myNextKillJump2 M_NewMessageM_TransMessagePlayHit SpawnCarcassFly LiftCenterRocketSprayCheckVelocity PlayCrawlingWaveLDrawNextMessagePartFindPlayerStartGetSimItemName Victory1 SizeVarianceRisingVelocityOnlyAttackWhenControlled EmptyScore FinishDodgeButton5Button4 GetHugeFont ClientActiveButton3 AnnoyedByChooseTeamAttackForDodgeL SpinDamageChooseLeaderAttack SaveScoresButton2Button1 TraceShotMessagingSpectator StillFire MButton4BackRun MButton3CheckCustomMapsReplaceTransEvent MButton2 MButton1 PlayHeadHitStrafeR SetRespawnTransientSoundVolume RefreshTime ThreateningLogItemDeactivate SpectatorbAlwaysRelevant ShakeViewTaunt1 SetAwards MaxForce SmokeDelay BasePuffSizeSetEffectTextureStationaryPawnTraceIdentify waitgrab PlayerTurn GotThereDrawFollowersProjectileSpeedLogItemActivate ClawDamageDeath3Headup Attachment StopWaitingSetViewOfPlayer TutEvent5 WeaponSet ProcessTouchMeiu CalcVelocity Footstep2 GameClass RateSelf CopyPickup ClearPickup CockGunLReTriggerDelay DrawPickIcon DrawHealth movewait SightRadius MapChanged FragChunksProjectileFireDefaultInventoryDie4 StrafeAdjustRedo traveled DrawTimes BizNamesUWHit1SetMap bActivatablebDisplayableInvbActive ARRotCoef Fragsize ShootLoad ViewClass VictoryDance MusicNamesGetHitBip01 PlayerWakingAimUpSmAimDnLg enforcer ShockRifle TurnFromWallAttitudeWithFearCloseInSkillCockGun AliasNamesEnemyAcquiredFindBestPathTowardStillPickDestination StakeOut UT_Eightball VoiceType TriggerAlarmPunchAimDnSmShootTrailsFindAmbushSpot MakeSound AlarmPausedCringeChooseAttackModeAimUpLg WalkingSpeed FireRockets UseCharge ResetGameDrawCrossHairCreateReplacement TweenToStillProjectileClassKillAll CheatView KillPawnsSummonAltProjectileClass bAlwaysTick bIsFemale MyDamageTypebRestartLevel ItemNameHUDConfigWindowTypeTT_PawnProximityPickupAmmoCount MessageTypeTT_ClassProximity AmmoNameScoreBoardType PlayerPathAllAmmo AmphibiousbAutoActivateMomentumTransferSendGlobalMessageHearingThreshold AirControl WaterSpeedbIsSecretGoal MapListTypebTriggerOnceOnlybUnlit AdjustTossbIsMultiSkinnedMuzzleFlashTexture bIsHuman VoicePitchBaseEyeHeightPreSetMovement GetNextMap ShowLoadMenu AltFiring AmbientGlowStandOpenTimedTeamProcessTraceHitspeed PlayerSpeechLocalizedMessage DrawColorCheckReplacementStart SetEndCams bForceStasis ScreenshotPlaySpawnEffectPlayersPlaySoundEffectYPosClientWeaponEventHandleWalkingServerReStartPlayerChangeCrosshair SoundRadiusChunkUpTT_AnyProximity FearThisSpotReducedDamagePctReducedDamageTypeRestartPlayer PlayRecoil ValidTouch DropFromPickupMessage OwnerJumpedActivateSound bNoDelete SetGameSpeedAttachToSurfaceMutatorTeamMessage PreventDeathMutatorBroadcastMessagebStasis DeathMessage PlayChatting GameEndedFinishPlayerSwimmingShouldRespawnIdle2bNetdropped bCanJump SniperRifleMutatedDefaultWeaponGibbedNoammoDpistol ViewFlash EyeHeight SpawnCopyDrowned NetPrioritybBounce BecomePickupStep DownWeapon bDirectional HandleDoorPutDown SoundVolume CheckBob SectionName~ RestartGameTime+/=-=+=*=-SpawnNotificationAccept PreRenderTravelPreAccept KilledBy BeginEvent PreTeleport wandering WarpZoneInfo Teleporter PlayerStart ViewportFontAuthorBlueGreenRedTitle SpecialNavig HearNoiseEnemyNotVisibleEndGamePlayerJumpZScalingMayFall PainTimerEncroachingOn ActorLeaving ActorEntered patrolling MoviePawnDead6 ViewSpotStopr2transNPEntry NP26inter NP10interNPTut NP01eVOLVE NPCredits2 NP36evolve NP35mclane NP34AtjeRunStep NP33AtjeForceMeshToExist NP32Strogg NP31DavidM NP30DavidM NP29DavidM NP28DavidM NP27DavidM NP26DavidM NP25DavidM NP24MClaneNP23Kew NP22DavidM NP21Atje NP20DavidM ExplodingNP19part3ChicoHourNP19part1Chico NP18Chico NP17Chico NP16Chico NP15ChicoNP14MClaneDrPest NP13DrPestNP12TonnberryNP11TonnberryNP10Tonnberry NP09SilverNP08HourencesNP07Hourences NP06Heiko NP05Heiko NP04Hyperion NP03Atje NP02DavidMNoonBrightnessNightBrightnessZSpeed ZAmplitudeYSpeed YAmplitudeFaceLastingTime SpeechRadiusNPCNonAggressiveNPCAggressive SpeechVolumeClawDamageTargetAverageChangemaxfovCreatureCarcass PromptSoundSecurityPromptKeyEnterSoundFailureMessageClearenceSound FailureSound EventIndex NearWallVaporizeInstigatorMyMessageTypebHasGunRollingResistance WheelRadiusGetSmallestFontASin2SpawnTwoShotsACos2ASinRound DrowningACos WheelRateDrawInventoryATan2doubleenforcerGetMeiuCollisionCheck ROTtoQuat QVRotateQRotate LandGrunt QGetAxis QGetAngleQNormalQSizeRotiQuad ReachedHomeUT_invisibility DestroyFortReduceCylinder FixedSkinCoefficientOfRestitutionGroundCoefficientOfRestitution MaxWheelYaw WheelOffSetTimeBetweenAttacksUDamageExpTypeBiterFishSchoolCamDist EnergyLossDrawFragCount SpawnShadowbShadowImportant AUTOTAUNT FaceSkin bCanBeSaved PaddleWidthPlayWaitAround PaddleSpeed PaddleLengthBPaddle UberGoalMultUberGoalPoints ControlPoint FadeInTime MaxHealth GaspSoundWaitForPlayerFollowersCanLeave GoalPoints Used_NoneUsed_CoopOnly Used_SPOnly Used_AllTurnLgru3 breathagain DeathEnd3 NumMonsters NumFollowers FoundSound FoundMessageFoundMessageType Devilfish MaxDamage StillLgFrTurnSm AttackAlliesNoReach RotSpeedAttackPlayers SetShadow MaxBoltsBizText bUsesCharge MaxMusicsTournamentPlayer WeaponUsage DeathEnd2 DrawArmorServerListTitle IsInPainZoneFollowerDebug CheckEnemiesSetHUDRefreshSetEngineRateSetEnergyLossSetAirResistanceSetMeiuSetRotationalAirResistanceGetPlayerOwner ResumeChargeFollowingKrallElite WhipDamage DeathEndTVDecalsWarningTVChicomarine AwardClient DetonatedAwardNotifyWindow TVCustomMapsTVCustomMapsclientTVCustomMapsWindowChicomarineBotNoWeaponSkaarjTrooperScriptedHumanMessagePongFramedWindowDeath5SpinDamageTargetPongClientWindow PongGameDisplayProgressMessage DisplayMenu DrawAmmoMonsterMapListCWMonsterMapListWindowDrawIdentifyInfoStretchTvTimesScrollerGutShotTargetSpawnLeftShotSpawnRightShotShoot3Shoot4Shoot5PlayRetreatingTVMonsterclientTVMonsterSmashWindowMonsterSmashMapList InitSplash footstep MonsterSmashTvCoopServerListWindow TvCoopFact TVCoopLinkTVKillStatsScrollerTVJetTvItemSelectCWindowTvKillStatWindow TvTimeWindowTvKillStatsClient TVTimeClient TVHSClientTvHighScoresWindowTvscorekeeperTvFlashLightBeamTvEverythingNotifyTVMonstersMapsTvWarlordRocket TVEightballTvBruteProjectileTvGasBagBelch TvMercRocketTvpboltTVPlasmaSphereTvStarterBoltPongController TVHUDConfigScriptedFemaleScriptTexControllerCarDust TvCarWheel tvjetcarBruteShieldBeltEffectMercExplosionTVDynLightWarning BlockShipTriggerFirstHateTranslucentCreatureCarcassrtree1StarterTelsaBoltInAir CHARGEUPTDSmallWoodBoxClientPlayTakeHitTDChest TDMedWoodBox TDWoodenBox TDBarrel Initialize GibSoundSuperAmmoShockRifle TVShadow TVScoreBoardSPMinigunCannon SPCannonCodeConsoleWindowSmokeAttachMover TVbindings DrawMOTD TutMSGWin MP3EventTVTranslocator AttachMover Footstep3tvCreditsWindow TVCreditsCWKeyFocusEnter BiterFish KeyFocusExit CowCarcass WaitModalAppendCopyolMessage NaliCarcass CheckRender AppendItem DoPowerUp PlayPowerupPlayshootloadFlyByadditionalmenuBruteProjectileCallEventOnceOnlyTT_GoodGuyProximityMercTagShieldBeltEffectbAutoFollowTriggererminfovFreezeWhileTriggeredSlithProjectileMessageResultInvertWhileTriggeredTarydiumBarrelCreatureChunksbFreezeAllPlayersDisableOnCorrectClearenceMessageMyCode BeamSize HumanCarcassSleep2GrowHUD ShrinkHUD FadeSeconds TouchTarget SetUpSlave CheckWeaponQueen SetClosestPupae FloorRotnormalizeangleGetMediumFont DrawTalkFace QSizeSquared MinForce KeepWaitingMaxViewIntegrityWarheadLauncher urgefollowAimDownAimUpGravity spearHitViewFOV bSpearToss spearThrow UT_JumpbootsBladeDodgeFslice ShowMessageChat1DodgeB TeamSkin2 ImpactHammerCompPaddleMult BigDanceDead9B bHideBallRPaddle bCanDuckDanceVoicePackMetaClassbCanFireWhileInvulnerable bGreenBloodbAkimboEnforcers MercCarcass'crateruShldUp SludgeBarrelbCallEventOnceOnlyEventCallDelayDie1CrouchSleep1 Mp3durationGrasp MaxDesignersArtText MaxProgsThrowDamageTargetFindMap ShotMoveCrosshairChanged LoadMapListLoadDefaultClasses ThrowDice GrabDiceUT bCommando ArtNamesButton6SetPa VsizeSquared IsAtPoint Stealth2bCheckFriendlyFireFoundSecretStateIpDrvWaitForQuery SeekingOdds ShieldColorSeekingDifficultyVariationFrozen FollowOrderShieldPercent ViewSpotGold SetMaxBreak SetMaxThrustSetMassPongPosHitDamageTargetAngleDifferenceTvSearchLight TvFlashLight TVPulseGunTVExplosionChain TVpawnshadowTranslatorHistoryListTVSkaarjProjectileLightAttachMoverCoopInterpolationPoint WarLordguardfollowingMercenaryelite LoopAttachPoundDamageTargetTVTranslocatorTarget tvmutator OpenBinderKeyUp Duckwalk SetUpCurrentClientpoweruposDispersionPowerup SprayTarget coopgameinfo spgameinfo UTBrowser SetColorNP19part2Chico CenterTextbInvertAllPlayers MaxNumber FollowerTagZBufferSign WarShell QuatToRot FlagBaseTranslocatorTargetChat2 PickAnim ChainSaw WeaponSprayinvulnerableCharge FortStandardbGODModeAllowedbStartCutScene KrallEliteProgrammersText ThreatShoot1 PunchHitMusicSoundText StartPressedMaxArtsSendBufferedDataFireLockedProjectileMaxPosmodApproachAngle smovedumpbLeaveOnscreen MinSpeedStrikeDamageTarget MaxLength notavpanel1PointNoSoundlExplosion TelsaBoltNotifyBeforeLevelChangeMunchTitandrawunrealmessages SetRange ShowWindow scorekeeperSleep3 StartErrorUT_ShieldBeltEffect AutoWidthSquidcreditswindowolrootGetLookAndFeelTextureUT_SeekingRocketBloblet RocketMk2UTHumanCarcassClientAltFiring GoalMultru2SpeechFaceTimeListFactoriesbNoTick ONPLevelInfo ducksize AfterCreatepointsUTMenu lifttrigBaseScaleGlowDoCap PickupInfo MovieInfo NormalStylemoveDir Palette15 duckLeft Palette167AttackSuccess lunge1skblade1s Palette113 Palette39Skaarjw Palette11 inflectionphrasesyllablephrase bFakeDeathbButtonPusher hairflp2sk Palette135Thumpspin1s Palette177 Palette147 Palette13roam11s death2sk BestScore death1sk chalnge3s injur3sk chalnge1ssyl11skMLand3 Palette141Scores Palette165XOffsetAct Palette123Mov numSounds OldHeight Palette129 NaliHead Palette131 Palette7claw2s SkaarjHead injur2sk injur1sk clawhit1sDSplash WtrExit1amb1skPickupsAngle WeaponPickup Palette6 Palette143exsyl15sk Palette175cough1n Palette145 Palette173death1n bowing1n breath1ninjur2n contct1nsyl6nPTEIdentifyFadeTime Candidate bCanSpeak NextDist Palette151 Palette153 ArmorOffset OtherPlayer Palette119 Palette121bAlreadyChangedNextMap Palette23syl13sk HitActor1 Aggression S_Messagesyl12skmyListTemp2Targets Palette117GRI NumPoints OldRotation Palette2 Palette5 WeaponPos ChargeSize PowerUpSound ducktimeRocketsLoaded bFireLoad LockedTargetFireRot Palette127syl3n FSHLITE2 I_FlashlightFlashl TimeChange MyEffect Palette111 Palette27 bNewMessagebNotNewMessagesyl4nbExplosionEffectGeneral SmokeRateSeeking Palette161Generic Palette53 animspeedNDamageCheckJBook4newAnimGibs Palette179syl09sk WorldLog LocalLogsyl07sk Palette133 bGesture BaseMutatorpray1nsweat1n Palette14 Palette159 Palette137 Palette37 bJustLanded Palette3TranslatorHUD3Mult decisionlookDir MapPrefixEnemyUpLoc2D backup2n TeamMemberTempX Palette41BeepTempY bInitialFear SecretGoalsMUWHit2Angle2death2nCameraLocation PawnListNavigationPointListDefaultGameTypePending contct3nfear1ncarc bWarnTargetNewGame Crosshair6 bPlayersOnlyinjur1nPauserLevelEnterText follow1nsyl5n Palette163bFlashTranslatorFirstHatePlayerEvent Palette181CurrentMessageMOTDFadeOutTime Palette93 TimeSecondssyl1n Palette105 SeenPlayerpicksyl2n bAlreadyDead NewEnemyBestJNali1 Palette17IdentifyTarget Palette19 NextAnim Palette125 Palette47Skins Palette149 PhysRate Palette157 GasBagBelchSkaarjAssassinWarlordRocket SearchLightSeeds NoiseMaker PeaceRocket Palette21 Palette73 GiantGasbag GiantManta bDrawOne ArmorAmount PickupColor numHuntPaths HitActor2 OldEnemy Palette25bFirstHatePlayerNewRotMString ShortMessage Palette171 bAnimLoop Palette169IdentifyHealth SkaarjGunnerPosXAttitudeToEnemyTransA3 MercRocketPosY AltMessage FontColorSkaarjBerserkerDiceMinigunInNamebTriggerAltMessageQueenProjectile bHitOnce bSuccess AsbestosSuitblobsBrute2 Skaarjw3Amp PowerLevel sktrooper1 myWeapon sktrooper2 ParentBagKrallMRowamb1krda WaterImpactsyl3krsyl4krsyl5krsyl6krdeath1kdeath2k strike1k GenPickSnd EPhysicsinjur2kchlng1kchlng2khit2kthrow1ksnore1k bHasDice FSHLITE1Toy1 Palette51 LastDuckTimed1d2 ThrowLoctweeninekrallMercSilveramb1mr spray1mrsyl1mrsyl2mrsyl3mr Palette107TranslatorMeshI_TranSurfaceNormalTentacleProjectileInTeam chlng2mr nearbymr weapon1mr chlng3mrland1mr AnimTime death1mrText bWarpingwalkChit1mr OrdersGivenbTalker bSquatter bPatrolingbIsInvulnerable bAlertedTeam sprayoffsetinvulnerableTime OldPainTimeAdjRotLSplash bExplodingrnd DeathCry1WLbServerGuessWeapon breath1WL laugh1WL NextKeyNum KrallHeadDec JCannon1CannonExplode Palette183BRiflerndDam mdrown2fem Palette31 Palette101Male Palette99 cringe2n ESoundSlotUWindowLookAndFeel newFootZonesplashOwner splashSize bPainZoneCannon checkpointDamageMutator ExitActor EntryActor Palette33rating EntrySound SpecialPauseFloor Palette35 bIsWalkingDest2D nextPawnSimAnim NewTargetbobtime AppliedBobReason impactVel bBehindViewlandVolBookArmorUnrealGameInfo TimerCounter AnimRateZone SentTextScoringTarget Instigator bSizable Palette115BaseRegion AttachTagWindowConsoleUWindowVScrollbarUWindowSmallOKButtonUWindowEditControl oldAttitude EightballTex noOldEnemy StartOffset HitActor NewAttitude bGameEndedUWindowListControlposbIsBossaPlayerUWindowClientWindow Palette43UWindowCheckboxUWindowDialogControl bVeryLowGoredist ViewActorUWindowMessageBox EndTrace bIsSpeakinginjured bDuckLeftbIgnoreFriends bNoMonstersCameraRotationAngle1nextNavigationPointFrameBFrameT DrawUpBevel GetParentFindChildWindowbestAim Touching AbsoluteTimeNetModebWindowVisible OwnerWindowbHasKeyboardFocusPrevSiblingWindowLastChildWindow bDisabledAlign ParentWindowWinLeftbInterpolating bDropDetailItems EditBoxWidthValue2MessageBoxResultbAcceptsFocus WinHeight WinWidthWinTop DodgeDirbUWindowActiveSecondMouseYMouseX bCreatedRoot OldClipY SplitPosVertSB Selected SliderWidthDesiredHeight bTeamLeader bShowVertSB ClientAreabTeamSpeakingMinute bStatusBarHatedTeamTagbRight Palette45 Palette49YawErr bReversedClassProximityType RealHeightFontsVelDirbDownLast oldTarget OtherDirHourDayMonth LookAndFeel DesiredWidth changeEnbQuiet Palette109 Palette91bDemoRecording LikelyState LikelyLabelUBrowserGSpyFactYearMasterServerTimeoutOffsetUBrowserServerListFactoryUBrowserGSpyLinkMasterServerAddress Palette71 Palette103smooth strafemagCurrentNetSpeed SplitterControlOffset CenterPos CenterWidth CloseButtonOptionalObjectFocus2DWalkBobLocalizedKeyName Palette77 enemyDirPRIEndScoreHealingAmountTeamIDHide Palette85duckDir Palette79 NewStrength TargetDistEnemy PlayerName MoveTimerSpriteSmokePuffatt enemyDist LastPainTime FireRotation FireSpot OrderObjectMapText StartTextCrosshairTextUTCreditsWindowUMenuScreenshotCWUMenuMapListIncludeUMenuMapListWindowUMenuMapListCW Palette95UMenuMapListExclude bOnceOnly bWasActive Destination bBroadcastS_SpecialEventfish Palette69 Palette89 RelatedPRI_1UMenuFramedWindowUMenuCustomizeClientWindowIconsUMenuHUDConfigCWUMenuStartMatchClientWindow ControlWidth ControlLeft ControlRightBotmatchParent InitializedCrosshairSlider CrosshairX StartButtonScreenshotWindow MutatorListSNExcludeInclude DefaultCombo FirstMapTestMap IncludeCountOldFov MapComboMapListButton TeamLeaderHuntStartTimebReadyToAttack TauntSound MinHitWall OtherSoundbAnimTransitionCommandDeathMatchPlusbFrozen NumAlliesItem HeadRegion PainTime OtherPawnChallengeVoicePackbBeepM bPressedJump Palette81 ElapsedTimeLastSeeingPos LastSeenPos bStrafeDirExplosionChain FFireSound bCanFirebFiringPaused bCrouching PlayerID bSpecialGoal AccelerationSize bDeleteMe ERenderStyleNewWeaponClassTournamentWeapon bZooming numBlobsbSuperRelevant NewRotationFireProjectile NewMessage IdentifyNameUT_ShieldBeltKeyValue ToxinSuitCopy numTauntsbMeshEnviroMapbAnimFinished PlasmaSphere bImportant bDelayingPendingWeaponStartLocationTournamentHealthTrooperCarcass StoneTitan LocalPlayerbJustAltFired minigun2OldRot Palette1 SkaarjSniper GreenColor TalkTexture RedColorbChangeWeaponSkaarjOfficer SkaarjLordSkaarjInfantryHit OpeningSound DelayTime RazorBladeaPawn MercFlare ThighPads KrallCarcassWeaponPrioritybDamageTriggeredSuperShockCorePBoltPortal FlakAmmo Miniammo GoldColor NewPlayerEliteKrallBolt AltFireSound AdjustedAimbHasInvulnerableShieldRifle bestDistGameEndedMessage ShockCorebSlave RocketPackaBaseXbCanFly Razorjack GESBioRifle FlakCannonbCanDoSpecial Behemoth KraalBolt GrayColor TurqColor PurpleColor BestNameTextFatnessOffset OutMessage sktrooper MaxTossForceMinigunCannonDoubleSwitchPriorityLightSmokeTrail UTSmokeTrailProjectileTypeCrosshairCountEndedaBaseY BladeHopper VoiceMaleTwoVoiceFemaleOneCodesyl2krUT_LightWallHitEffectUT_HeadFemale UT_HeadMaleUT_GreenGelPuffUT_FemaleFootUT_FlameExplosionBioAmmoUTTeleportEffectTournamentConsoleTMale2CarcassTMale1Carcass TMale1BotTFemale1Carcass TFemale1BotTournamentMaleUT_SpriteBallExplosion ServerInfosyl1kr bHeldDice PlasmaCapTournamentScoreBoard MaleBotPlus FaceColor FontInfoDecapitationMessage BoltScorch UT_SparksPickupMessageHealthPlus PlayerShadowPickupMessagePlus DoubleName UT_ShellCasebInstantRocket bAutoTauntbNoMatureLanguagebNeedActivate b3DSoundClientPendingOldClientWeaponBossRef SkinPackage MaleSoundsdeathc3deathc4 deathc51 deathc53injurH5 injurL04injurL2 injurM04gasp02 drownM02 UWinjur41Toy2TMJump3Soldier FemaleSoundssyl4mrdeath41death42decap01hinjur4linjur2linjur3death1dstone04stone05stone02linjur4death2aFjump1 Palette10 FCommandobNovice Palette12OldOwnerLocation ShadowStart ShadowDir bTriggeredResp2ALastTauntTime LastTauntEndTime NextTaunt EventTimerTree5AmountUnrealCoopGameOptionsMyFontsTree6syl5mrsyl6mr SuperHealth Controller fighter2Mcar03MJcar3 LadrStatic SkaarjScout CaveManta injur3mr bHideHUDSkaarjProjectilebDrawFaceAreaSkaarjCarcassswat1mr injur2mrwalk2mrMsgTypeXScale PickDiffXLength OldViewFlashbXDonebYDonebZDone FallBackFortbCanClientFireMyTeam NextLabelhome death3mr AmmocountAmmoLed PulseBolt PlasmaBeamSASMD_t death2mrflip1mr bBotMoveFirebDuck bAltFireJMerc2 bPendingLockTPAimRotdiff Redeemer AmmoPickWarFlyOldRoll SmoothRoll OldVelocity pEnd_a01 pEnd_a02 pEnd_a03 pEnd_a00 phit_a01 phit_a02 phit_a03 phit_a00 SpriteFrame WallEffectAccumulatedDamage LastHitTime realSpeed WaterStepbRunProj threat1WL AimStartdAdjustMyBot MercHead Palette75 pblst_a03 pblst_a04 pblst_a00Master IdealFatness FaceTexture FaceTeam FaceTimebShootUTChallengeHUDConfig ShowHUDHelp ShowHUDTextaMouseXTBOutStr sktrooper3mappackRateSinglePlayer2oldskoolnewgameclientwindow I_BigFlashOldSkoolNewgamewindow oldskoolhud BigFlashReSpawnUTBrowserServerListWindownull aForwardFlashLightBeam bDicePlayer KevlarSuitboxaTurn Fragment1OriginalDirection bSleepingViewFog UIweaponsIn OSShockRifle OSPulseGunbFlakbRazorbEballbASMD bBioRiflebStingybmedbMag ODBlastMark OSDAmmo5 OSDAmmo3 OSDAmmo2 OSDAmmo4 OSRocketOSSeekingRocketOSWallHitEffect bmegahealth bUseDecalsbdamageoldfogbminibjumpbpadbarmorNP RecurseCount PointCount navpointbRetValaStrafeaUp spoldskoolFemalePrev FlashlightFlareLoc coopgame2 TimerRateoldskoolbaseHUD TraceDir bShadowCast SetDrawColor somemessage showtalkfaceEverythingNotify DecalNotifyKeyBinderOpenerGreenBloodSplatOSAExtraKeyBindings olBloodSplatolSlithProjectilemaxZ BloodNotify olpawnshadowolTentacleProjectileolQueenProjectileolSkaarjProjectileol1337krallBolt olKraalBoltolWarlordRocketoldskoolHUDConfigOldSkoolScoreBoard PermaDecalsmyHUDSkaarjt hugeguys TentaclesAnimalsBrutesGasbagsMercsSlithsTitansMantas killtotal WhatDied LesserBrute intleveltiming bloadingsave scoreholderbshield oBioRifleoASMDoStingyoRazoroFlakominioEballoRifleodamageopadoarmoromagoshield NewVersionthingy facemsgsetnohudCurrentPickupCriticalMessageoldcolstrPlayerName lMessage foundicon showtalktexadjZUWindowHSliderControlUWindowHSplitter S_CameraUWindowScrollingDialogClientUWindowSmallCloseButtonbNeverSwitchOnPickupUWindowSmallButtonEventInstigatorUWindowDialogClientWindow HitNormal UWindowListNewZoneUWindowComboListItem PendingMove FreeMoves TranslatorbTyping HitLocation CallsignServerTimeStamp WeapClass incomingNameDestTelBarrelPanel TimeMarginLastUpdateTime SetAlertness KillerWeapon OtherWeaponStinger NewWeaponbSpecialDamageRollMagYLXLUWindowComboListUWindowFramedWindowUWindowComboControl FullNameUWindowRootWindowIndex Momentum projSpeedUWindowButtonClientUpdateTimeAimSpotshooter actualDamageNUWindowWindow EDodgeDir UWindowBaseboundweap SpawnClass PhysAlphaKillerP RelatedPRI_2Msg NotifyActor IncomingbOut newHeadZoneURLbSoundLastPlaySoundLandBobVictimXPos bNetOwnerbCenter bCanWalkClipY bCanSwim ViewTarget ScoringType hitdamage OwnerHUD bIsCrouchingSlot BumpTypebCanOpenDoorsCumulativeDamageb2KeyNumVolumeStr PlayerOwner bAvoidLedges SavedTrigger PrePivotaClassDrawStretchedTextureHitNormMoveAmbientSoundHitLocLiftTagbClientDemoNetFunc myMarkerbOnlyTriggerable contentsASMDAutoMag bIsTurning FlockPawn FragTypeDispersionPistol ShieldBelt bShowScores FragSkinDSize NumFragsToucheroldZfliesratsbReducedHeight ClipText WrapClipTextBugsDrawClippedTextureTeamNum CreateWindow MenuList FaceName instigatedBy SkinActor bCountJumpsSpeed2DFootstepSound bShowMenuHudMode Crosshair Rotation PositionStartXStartYCriticalStringSetAcceptsFocusCancelAcceptsFocusSetSizeResult BlackTexture chicomarineNumDelta SkinName TimeStamp bNoVoices bJustFiredInAccelNewBaseNewbRun ClientLoc bUpdating ZoomLevelbVolumeControl bInterrupt SequenceASound bNoOverrideaMouseYNewbJumpStatusaLookUp bForceFire bAltFired SavedMoves DodgeMove TweenTime ClientRoll newPhysicsOtherView DeltaTimeRadius LoudnessCurrentTimeStamp AccelNorm clientErr OldTimeStamp OldAccelAccelProgressTimeOutLocDiff DeltaRot BuildAccel NetMoveDelta LastMoveOldMoveNewMoveOldBase OldBobTimechicomarineAnims NewbDuckbQuickKeyEnableJnotavpanel11FOworkWAwatch FOASShere WAStayhere FOFollowme WAnomove FOcoverMeFOcomeWAwaitWAHoldOLJUMP1OLJUMP2OLJUMP3OLFALL1OLFALL2shuttle checkwall SoundPlayer InMessage bForceDuck TotalTime FriendliesfriendlynamesFriendlySpeedsFriendlyMaxStepHeightsFriendlyDrawScalesFriendlyFatness FollowerInfoFollowerHealthLInfo OldHealthsdump bFlipped bDidJumpbFiredVehicleMyTimebForceAltFire aFollower OldTimeDeltaNewLocX bUnTouch MinWinWidthvol newAccel bIsFlipped mod_IntInt MinWinHeightNewVelXtoAdd OldClipXGoal oldangle maxPitchLeftClientWindowNewVelY expected SwapRollAdjPCololdmodRightClientWindowNewOff FootRegionnewv ETriggerType SpeechTime TriggerTypeLink bEndOfPath MaxSplitPos TriggerTime RealWidthNewLocZ bRightGrowbUp tracesizeNewVelZ centerDeltadeltaEyeHeightCarriedNewLocYinMP3 Sentinel outsoundDirCCCorrectMapNameNewPos EShieldColorLengthChild EShieldStyle ShieldStyle bByParent Palette139 ShieldBase ShieldAmountReferenceShieldSHByte LargeFontMasterServerTCPPortpabumpedMyPosCalcCalcDrawOffset GetFreeMove DifficultyNumKeysaScriptedPawnbAffectAllPlayersPingGetEntryLevelPaPRI movemode myranddist moverdoneticker CanAnger bShouldWaitbCoward bInitial ZoneGravitybHighDetailModeMyNameMaxTimeMargin MoveTimePauseDrop Traveler ArrayNum OwnerFactory testvector WoodenBox bBySupersetnewpaGamemystateInterpolateToInventoryGroup bCanThrow shakevert jumpdiry foundpath shakemag reachable truemode DefaultFOVplocbDancerNextEvil HitLocation2 DesiredFOVnalitBobStrLen FollowerIcon SpeechFacesbClientDemoRecordingSpeechTimeCur NoSpeakFacenumSpeechFacesCurFace CanSpeakTime TimeDilation aimerror GameSpeedToPlay InScream shaketimebSmoke DesiredClass TimeHeldDamageInstigatedHumansENali DamageTakenFriendlyDamageKilledFollowersKilledByFollowers AccumTimeTimesTotalLevelSecretsTotalSecretsFoundWeapons PointsFloat Lifetimenewpts lastduck deltathybSinglePlayerStart bCoopStart bDecorative WhiteColor MapListHelpTListbInitiallyActiveAutoSwitchPriorityPlayerViewOffset M_ActivatedM_Deactivated AIRating NameArticlePlayerReStartState HasTwoEnfSoundDampeningtranspriorityTVPulseGunSkin TVMuzzyPulse bSilenceMp3 Mp3volume Mp3pitchlastbloodspawntime LastBloodlocLastL CurFootSound OldTextureMedFont OldNoDecalZoneGroundFrictionNewCurCurBaseSetPosinitialhealthbSupportsFootStepbNoReadsFootStep SetOrigin Scripted ShadowUStart ShadowUsize ShadowVStart ShadowVsizeTeamFireTexturesBaseLoc TeamTextures MapListText MoveTargetAttackEnemies BeamOffsetHasCapMapHelpCrosshairHelpBoltsSetClip DrawIcon FovAngle UMenuMapListUMenuLabelControl UTCreditsCW AnimFrame NextMapURLCoopNextMapURL PRIArrayTriggerActivatedUMenuPageWindowAward RepWaterUMenuBotmatchClientWindowUMenuDialogClientWindow bCalledEvent bInTimer PointRegiontimey theplayer fadezoneFocus PlayerHasbKilledSelected Location pickupclassMaxStepHeightnewinfoMaxDesiredSpeedPaClpstart DesiredSpeed bDifficulty1 bSuicide bDifficulty2Damager RealDamage bDifficulty3 bNoSmooth bleaveon RealIndex invcheckfirstselected oldcopiesbRecheckBindings VoicePackkeyset bIsPlayerFatness ScaleGlow ScoreBoard HurtRadius TranskeyNextKeyPrevKeytrMapList LocalMessage bCanTeleport SoundPitchUseKeybIsPawnGetSoundDurationFkeyWkeyPlayOwnedSoundtrigExtent ScoreKey DifficultiesInv DefaultMap DisplayNameDesiredRotation NewVelocity bHeldItembTranslocator bLoadingDoneLoadedMonstersLoadNumKilledMonstersloops bDifficulty0SizeMaxWaterOddsOfAppearingSpawnedMonsterMonsterstoredfollowersbSinglePlayerType Visibility AnimSequenceNewC HomeBaseOrdersDifrYLUber FragmentsecmshourstrminStrsecStrmsStrNetUpdateFrequencyYUpTestInventoryToDestroyPeripheralVision ENetTypeChest bIsAnArmorGameEndedCommentsASpot NetOptions TriggeredInv bCutScenebJetRespawnPlayer S_KeypointbVrikersTypeStart Messages ForceNoHUDL bProjTarget GoalTime TeamName OldLocation UberGoalTimebUpdatePositionPickupMessageClassBallBluePadRedPadPSCORE PHitWall PHitPaddle BallRadius BallSpeedBallVel bChecked bUseAltMode PredictedY DrawOffset PawnOwner CrossHairs Velocity SoundActor RendererbHard NewHeight PlayerScoreComputerScore bHitPaddlebGutteredBlue bGutteredRedbPaused ChallengeHUDEffects DamageType PatrolPointF SpecialEventDeltaXBestNumL2R2tempNewBallHLRHLCHLLSlopeYSlopeXAVNormDX bDidCollideC FakeBallEZFakeVel LastFakeY numFFiresbSwitchToBehindViewoInstoFOVWPitchCoOpURLdoflash actorbackup NewState ClassToKill ChunkFatnessRoll Jrtree11 Jrtree12 Jdmisgay12 LightTag bOpening S_Weapon DecalClassMyLighttemprot Jtree4011 Jtree4012UUMeterUURotAirResistance CarVelocityGroundFriction NormalAccel GravAccel YawAccel YawVelocity ScaleAccelRotationalVelocityRotAccelerationViewIntegrityMultji ScriptTextt AmmoTypeSAccelerationMag bRapidFire bInstantHitV bPointingBbAltInstantHitRootbOwnsCrosshair bMeleeWeapon bLockedOn MoInertiaYaw QRotationUT_SpriteSmokePuff FiringSpeedMultiply_QuaternionQuaternionMultiply_QuaternionVectorMultiply_VectorQuaternionMultiply_QuaternionFloatMultiply_FloatQuaternionAdd_QuaternionQuaternionSubtract_QuaternionQuaternionAddEqual_QuaternionQuaternion#SubtractEqual_QuaternionQuaternionMultiplyEqual_QuaternionFloatDivideEqual_QuaternionFloatComplement_PreQuaternion RisingRate FireOffset ViewRotation SelectedItem FireSound bJumpStatus CyanColor bFromWallcyawcpitchcrollsyawspitchsroll cyawcpitch syawspitch cyawspitch syawcpitch BlueColorr11r21r31r32r33r12r13q00q11q22q33tmpRG ReturnValueStaticSaveConfigDynamicLoadObjectDriveroldcontrollerCross Collided CrashAngle SelectSound CockingSoundinangle divisionsbTempMinNormalsHitsFireDirtoMove besttrace projStarttemplocadjustrotation NumCopies Accuracy ProjClassbWarn BulletBoxtempang UT_BioGelRadExpireMessageTVCarbCanHaveMultipleCopies WheelTurnTournamentPickupArmor2 Commando WheelThrust WheelTorqueWheels EngineForce bBreakingTorqueTiresOnGroundOldQLastWheelTurnRand DeltaRotVecmyrotDeltaQ NormalizeRight oldVelocSetPropertyTextpt1pt2CollisionTangentfCrVrtmu JetRThrust JetLThrustHUDJetRThrustHUDJetLThrust HUDVelocityHUDAccelerationHUDScaleAccelHUDAirResistanceHUDGroundFrictionHUDNormalAccel HUDGravAccel HUDYawAccelHUDYawVelocity HUDrotationTVWheel TVWheelSkinBody My2DOffsetRelativeAcceleration RotFriction LinFriction ContactANoTurnQScaleMutatorvel1ar1Light NewVeloc LevelInfoCarRot GameInfo deltaVec ONPBlackTex CompScoreMyText IntroText IntroTimes WinEvent LooseEventbDidEnd CurIntroPongyControlInterpolationPoint ZoneInfo Jchicoship11ArmorI AsbestosIFlareI FlashLightIKevlarIseedsI SearchLightI ShieldBeltI ThighPadsIToxinI TranslatorI BioRifleW DPistolW EnforcerW FlakCannonW MinigunW PulseGunWRipperW EightballWASMDWSniperW SuperShockWTranslocatorW BioRifleP DPistolP EnforcerP FlakCannonP MinigunP PulseGunPRipperP EightballPASMDPSniperP SuperShockPTranslocatorP BioRifleA DPistolA EnfMiniA FlakCannonA PulseGunARipperA EightballAASMDASniperA SuperShockATranslocatorAFNaliFnMercFeMerc FSkaarjW FSkaarjTFnKrallFeKrall ChatArea HealthCross IconGlass IconPipe IconGlowTexGreyBar StatusBorder WeaponGlass WeaponPipeWeaponGlowTex TVHudLine NewTrans000Main_00 Main_17b Main_00bMain_01 Main_01bMain_02 Main_02bMain_03 Main_03bMain_04 Main_04bMain_05 Main_05bMain_06 Main_06bMain_07 Main_07bMain_08 Main_08bMain_09 Main_09bMain_10 Main_10bMain_11 Main_11bMain_12 Main_12bMain_13 Main_13bMain_14 Main_14bMain_15 Main_15bMain_16 Main_16bMain_17 blackoutTransFlashTimedeath3c ExpireTime bSSLRaised InvRightClip OldPlayerMod HUDFadeTime HUDFadeMult UnrealHUD TvCrosshairRealHUD NoZBufHackM3M4M5M9M11M64M113M128M245 TriggersHUDMenu SavedMoveNavigationPointPlayerReplicationInfo bCannotUseStatLogbGlowInfo bTranslucentGameReplicationInfo bActivated Keypoint BarLengthDecalbTransbSSLSSLraiseXfYf SpawnNotify FollowNameAmmo GoodNumberMusic BrightnessP1P2CanvasLevelActorlim TimeToTele UberGoalptsScriptedTexture ColorMult AnimationcntLodMesh XStretch bDrewSpeech SkeletalMesh AmmoAmountnewbMySound DoubleVolumeBitmap KeyAlias bAllowTouch SpawnSound MSGNumber MinNumberMaxAmmoTranslatorTagPAmmoWall ImpactSound MiscSound(All)hgasp1deathc1 FailureEvent LinkedTag UWinjur42 Static_A00digitsPlayerinsCCWList ClassNameCleared searchtagTriggerOnceOnly SpeedAccelOptionsCrossHairTextures FireTexturebinv bResChanged PickupTimebHideFrozenPlayerSoundFreezeYellow TypedStrbInitiallyPlaying TheSoundWhiteShadowMinFaceAreaOffsetFaceAreaOffsetFrameYbdecError ConsoleLines bForceDance AlarmTagEFollowerSwapBaseYcarriedDecorationBecome HighScoreTexY NextState HumanTag SpeechTextbUseLocalPlayerNameSHMMsgSwapoldswap BlueBoltCap BlueBoltHitpbbolt0pbbolt1pbbolt2pbbolt3pbbolt4 BeamLengthNumHits BaseBoltConsolesbbolt0sbbolt1sbbolt2sbbolt3sbbolt4BluePlasmaExplo bSetInitialbFire bIsSlaveSlaveEnforcer bBringUp LastYOffSet LastZOffSetTTarget oldsoundRoleTagMapStaticEventturnvecAimVec TurnAxisCosToGo CosThisStepbWallHitEffect TossForceTriggeringTypebBurstBackWallEffect bNoTriggerClassbHideMe bTTargetOutbAlwaysInstanthourzRealRotRepLowDetailTexture TypingPromptCar leetDustPackageConsthistSwitchRotbnofogShowHUD TextBuffer MapSourceDateTimeDif KillHash TimeHashMaxDifpnamesDates TimesButtons KillsButtons tempcontrolObject Float2DigEnum FunctionStateStructKeeper MapTimesSecretsWeaponDamages WeaponTimes MainGame TutorialCustomNameos AwardText StrPropertyStructPropertyNewDifficultybPressingDown bPressingUp BaseTitle TypedCode oldstyleTVShotClassPropertyShortMessages NextMoveLastPainSoundH EAttitude Palette55 Palette57ClipXCurXCurY SpecialGoal DamagePerSecTranslatorEventDropWhenKilledWidthRectXRectY OldErrorDispersionAmmo ExitSound SecretCount ItemCount bWaterZone bFogZoneMessageMutator Palette59 SkinItem Palette61 Palette65 Palette63 OldScore TeamColor ut_biorifleripper PulseGunUT_FlakCannonModeTranskq ParentBolt DamagedActor NewError bRenderingScaleXScaleYNewF AimRotationRealX RealRectX Palette67 NoAutoColorNewTex NamePropertyObjectPropertyFloatProperty BoolProperty IntProperty ByteProperty Palette83 Palette87 pblst_a01 pblst_a02 staflp4kinjur1kCLLK2U::$-::$ - - --::$ ::$::$::$ 6OxxԝXԝX]H]H]H]H]H11X'X'R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~X'ttttttR~tt{#UR~R~R~R~R~R~R@GR~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~R~X'X'X'X'X'X'XR@GR@GI&/3qfqfqfqfŏttXXtttt"/ttttԝXԝXttt=$:ettt{#U4tttXtGGGXX'X'X'1ka֏T_0T_0tT_0tttttttttttttttt"/tttttt"/t"/tttttttttttttԝXq[}q[}q[}q[}q[}q[}q[}q[}q[}LT_0R@Gq[}5Iq[}q[}q[}q[}q[}q[}q[}q[}q[}=$:etttԝXSNSN=$:eԝXԝXR~R~R~R~R~R~R~R~R~R~R~R~R~R~R~ttttttR~tt{#UR~R~R~R~R~R@GR~R~R~R~R~R~R~R~R~R~5I1q[}1{#UQ23%GGGɏ33ۏГԝXԝXԝXԝXԝX7J7J7J7J7J7J7JX'X'X'7J< E< E1Q23%IIɏAvmDD1w_w_w_XXXXF5X35t n"9R" [d)[c)[b)C CCCC C p"a"W"^ ]SoldierSkins.blktM ]SoldierSkins.} F~||s `]BotPack.VoiceMaleIe]Botpack.SelectionMale2_]Botpack.TrophyMale2\EW n] Male SoldierQ]BotPack.VoiceMaleTwo9 X.P;s7^2 7JDɂtttttttttttttttttXtttttttttttt@5 w=UF$ ::$B7DX"/tt1tttttttttttttttttttttttt"/"/tttttt"/ԝXXԝXtԝXXԝXԝXw4w4!yrүw4tԝXyrүԝXyrүԝXԝXX"/ԝXԝXtԝXyrүԝXyrүԝXyrүԝXԝXyrүԝXԝXԝXԝXyrүԝXyrүԝXԝXԝXtttttttt"/"/"/"/"/tttttԝXtԝXԝXtԝXԝXԝXtԝXԝXԝXw4w4!yrүw4 s s s̏ s s s̏ԝX1ԝXt1t1tXtttttttttXtt D{ yT  ]$?~yj ~ \G$,@aAl0r& ::$@ fU[ l5lqcz$0A{"~"m$ff&@x"pw$33@CG|J ` M{/f$ T>LHXH ::$"[ y_ y y y y y yԝXԝXԝXt y y y y y y yԝXԝX y yԝXԝXԝX y yԝX yԝX yԝX yԝX yԝX yԝX yԝX yԝX yԝXԝXt y y y y y yԝX y y y y y y y y y y y y y <g<e-<g-<q+<p+s$Bn$O $Bz"4!lugSsG{ $pBEL|g9Ba-OnSpSV @Ktr@U6xB6Ft?tԝXԝXԝX1ԝX1ԝXtԝXԝXttttttttt1X'X'ѸBX'ѸB1X'X'ѸBX'ѸBX'X'X'1111X'X'X'X'ttX'X'X'X'X'tttX'X'X'X'X'X'X'X'X'X'X'X'X' TZIlS PJITc$Ca"D$>n]Treacherous Trooperi9D$BF$(BZ$B^$BK@InM>|BLBq[}GԝX11ԝXԝX F $DK$3Ck${.?$>j"G "=F"dc$?b$^Yj G:qB@D1[D s(ԝX6 YR@GxflUxI&/> Yxxxxxxx> Yxxxxxxx5%NxxxxI&/xxxxxxxxxxxxxxxx!xxxxxxԝXԝXxԝXxx]Hx]HxxԝXԝXxԝXԝXxxԝXxԝXԝXԝXԝXxԝXxԝXԝXXxԝXԝXԝXԝXxxxxxx!!!ttt> YtttГtГГtxГxflUxxtXtxt{#Uxtxxxtt{#Uttt{#Uxxxxtt{#Uxt{#Uxt{#Uxtxtxtxxxtt{#Uxxxxtt{#UxtxtttXXX{#UxxxxxxxxxxxxtԝXXtxflUxxxxxxxxxxffxxx> Y'n 6xxxxxflUxxxxxxxxxxxAv> Yf7J7J> Yff|d|d|dff|d|d|dff|d> Y|d7J> Y> Y> Y> Y5I> Y5I> Y> Yff5Ixfx> Ytxxxxttt> Y> Y> Y> Y> Y> Y> Y> Y OX> Y OX> YR@Gx> Y> Y> Y> Yxxxxx5%NffAvxxflUxxxxx5%N5%NxxflUxxx5%Nxxxxxxxxxxxxxxxxx5%N5%Nxxx5%N> Y> Y~> Y5%N5%N> Y5%N5%N> Y{#U{#U{#U{#U5%Nt> Y #Vh Г~xxflUxxxxxxttX'xxtX'xflUxxtX'ѸBxxxxtX'ѸBxxZ!tX'ѸBtX'ѸBxttxflUxxtxxxtxttttX'tX'tX'tX'tX'tX'ttX'tX'tX'tX'tГГГГГtГГГГГГГГГГГГГtГX'tX'txxflUxxxxxxX'X'ѸBX'ѸBxxxxxxxxxxxxxxxГГГГГxxГtxxГ^^ГГГxxxxxxxxxxxxxxxxxxxxxxxxxxxxxZ!Z!xxxxxxxxxxxxxxxxxxxxxflUxxxxxxxxxxxxxxxxxxxflUxxxxxxxxxxx@t |o]olextras.tvhudconfig| hjn O+vfF@  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~_ LZe.Q/m5|,0dU[^ĥ^ĥ^ĥ^ĥ^ĥ^ĥ^ĥ^ĥq[}q[}ԝX> YԝXq[}ԝX> YԝXq[}ԝX> YԝXq[}ԝX> YԝX^ĥԝX> YԝXԝX> YԝXԝX> YԝXq[} ]$ Bv$ Bu$At$Br$A\Y$?GP m|g~i<[2y25%N~ttUUUtttttttttttUUUUtttu0 [uvzyP-[  K9F$@J B&g`3OEl[ ::$`2< EP5%N5%N5%NԝX> Y> Y35%N5%Ntt5%N Md$>P]New Translator MessageQ]Translator MessagemSG|dV7c bN} Y1> Y111> Yff> Yff> Y> Yqfŏw4w4 hw4 hff1111fff111Dz> YmGy> Y> YR@G/T2> YR@G/T2> YR@G/T2> YR@G/T2> YR@G/T2o > Y_4_> Y> YR@G/T2> YR@G/T2> YR@G/T2> YR@G/T2> YR@G/T2o > YTnt4> Y> YR@G/T2> YR@G/T2> YR@G/T2> YR@G/T2> YR@G/T2o > Y> YffffԝX> Y> Y h h h1 httt htttw4w4XuKuKuKuKuKuKuKuKuKuKXXF5XXXXXXXXXXXX> Y> Y3ێ> Yf> Y7Jf7J7Jf> YttXttttttttt> YffffftX'X'tX'fe9TX'X'X'X'X'^^^tt^t^tt7J7JffftГГГГfftГГГГtГffГГfe9TfГftГГffffft@ m :R p Zu|k V]Operation: Na PaliJ X#j:Ls ZfX?Ybkk:GL\kJT)yp7Xþo .'lv%oS7Xþo .'lui_7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J|d᱘᱘ ,,᱘᱘᱘᱘᱘᱘᱘᱘᱘R᱘᱘᱘᱘᱘᱘᱘᱘᱘R᱘᱘R᱘7X7X7X7X7X7X᱘᱘᱘8)3B]DavidMB  TonnberryB UsAaR33BStroggB ChicoverdeB  Dr. PestBMClaneBChromeBAtjeB HourencesXk@VM$j[h@e>A8yB=Siq[}xxxxxxNV`NV`NV`xxxxxxԝXԝXԝXԝXԝXԝXԝXԝXԝXtԝXtԝXNV`NV`1NV`NV`NV`NV`NV`NV`NV`NV`NV`NV` e:R Y> Y> Y> Y> Y> Y> Y> Y> Y5 r7wuQ g2b@M.}FtBN# ::$@  qfPԝXԝX> YԝX> YR@G/T2> YR@G/T2> YR@G/T2> YR@G/T2> YR@G/T2o W>注< E< E< E< Eqf t"'qMAccess Granted|{])(Incorrect Security Code: Access Denied}y]Enter Security Code:xzFr]pr"mSG1 j"qOeIq  ::$ t4(%MԝXԝXԝXԝXԝX5 x$?FAD2L1Q6WvCqAv'n 6{#U -%n7JttXt 7J7J7J7Jtttw4w4w4w41w41w41w4 ?$"/"/"/"/"/"/"/"/ u Yw4 h h h1w4 h h@3H""I"@h-V]#"Operation: Na Pali ~ MoNsTeRSmASHzQH"WK JGR/E`|d|33xfffffxxxxxxxx ygtxxxxxxxxxxxxxxxxxtx> Yx> Y–؊xx> Y–flUxxxxxxxxxxxxxx7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7J7Jx7Jx7Jx7Jx7Jx7Jx7J7J7Jx7Jx7J7J7Jx7Jx7Jx7Jx7J7J7J7Jx7JxtRR7J7Jxxxxxxx@ _1RKL6}|$+Xo XDXD.'lo .'lo .'lo /T2> Y```````7X8) X yL]olextras.MonsterSmash_vHyc#AAXDN=jExT ^PPY { Jk$>`$fff?]$33>} FDI$ Bc$CE$CC$E}$33>h$@EH$AD$Ao$AD$AF$B^$BG:q 0uGEwN,*E?%&(&E?%(%  m ThRiT|9U9oBNV`q[}SiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSiSi $G "9D$@F$ApSpSeSk |0F Fn#]| YhFdcj<P/r,j^ĥxWxxxxxZ!Z!Z!Z!xxxxxxxxxx0dԝX0d0d0dxx gT*vN]mi J>M} N>[Hx/ ::$"h; yԝXԝXt <`-<b-<\*<[*<Z*GtL qe[CHf VE qIxnN+c!ofX @C[ S FSAK#E"NNN$@pUcvg @K JUD@[ j9D|0zA$fE UxV@]g9R1B6+Z ("4tttt> YГГtГГГtԝX> YtttX'tГtԝXttttԝX> YR@GtԝXt^tԝXt /tN 5@tq"B_>FZ Iy#s"~.C@l\S q<IM hQ=X Q | ovth`Ki @Yz] MBk] ^M/Om FC^ĥZ!Z!0d qP$mVHl#@^\T3.I2xmdM^BaB6IUm2X1"/t1ԝXԝXԝXԝXԝX__Bfb____1_ttttttt]H]H]H]H]H111111111111"/"/"/"/"/"/Um2"/"/111111tttt z @$ASGr {ifAlPPkT Ik$?`$?r{ bT OS}DYI$HBc$CE$CC$HDa"o$\EyWD$?n] MercenaryE|9D$ BF$@BL qe[`H Z$C^$CG:q E @fj.cx~ T=VqLQM ^B;w up7gFg"Wg0?jag0?g0?g0?ԝXԝXԝXtԝXyrүjajajaԝXjajajajajaԝXjajaԝXjaԝXjajajajajajaԝXjaԝXjajajaԝXԝXԝX111ԝXԝXjajajaԝXjajaԝXjaԝXjajajajaԝXjag0?g0?5 <g<e-<g-<q+<p+|gigA2G eqoXHUZ~jQa ^\.|TTEQH QTBQH QH zzQH QTzQH QH   ey+kAC%C B6Dt?X11111ttԝXԝXԝX1ԝX1ԝXԝXtԝXԝX11t11ԝXԝXԝX]H]H]H]H]H111111111"/"/"/"/"/"/"/"/t?"/"/111 s s s̏ s s s IlS~|ifAlP^STwNQP ^ G$?PwaIk$?`$?r{ T O}DYI$ Bc$CC$Da"fLe$?o$\EWD$?n]Skaarj BetrayerEi9~$@@D$ BF$8BZ$C^$CG:q `I<Y>k/DNaRylmOFp}|$_4}|$ %}|$vCqtttvCqt.'lo _4_4_4tttttt7X7X7X7X7X}|$_4}|$ %}|$tvCqtvCq> Y}|$_4_4> Y}|$_4_4_4_4_4_@_4_@_4_4}|$7XÕ_@7X7XÕ_@tttttttttt8) wA, o Yt& & & & ԝX> Yt^^^ \NESL g RESHB)!@@hs`mW0y| pWE"UR[CpdC s+PKUn6vKrGI@X-:AGIDI?I?A  KPMc1d6\mDD˄ttXtt{#Uttt{#UttttttttXt{#UtXtt{#Utttt{#UtttttttXtt{#UXtXtXXt"/tt"/t{#Ut{#Ut{#Utttt{#Ut h h h1 htt htttttГГГԝXԝXԝXԝXtГttX'=$:etX'ttX'X'tX'X'X'tX'X'tttГГГԝXԝXԝXԝXԝXГГffԝXw4w4XuKuKuKuKuKuKuKuKuKuKXXF5XXXXXXXXXX> Yf> YfttXtttttttttf> Y> Yff> YfftX'ѸBѸBX'tX'X'tX'fe9TX'X'X'X'X'^^^tt^t^ftfftГГГfftГГГГtГffГГfe9TГfГftГГffffft@ p Zk V]Operation: Na Pali Co-OpJ X#)`9@A LpL`zb}jCF/Y2wGcltN 5 dt+i_*EK/pl(pl(rd u ELRIFFDWAVEfmt ++data ZWX]ejushmeQI?9=L^kxýlebPCB?ESapüqbR<95)0G]qƱnaYPB617H_yüwcN:) ".B]ɺocV@++1?^ø|gO53`{Y83cúxU25[{jREGACa›}UĚ]M0 KzѲkE-c¦|jB$2`wt\ADsu7XIZ@}.SNOj pSZ"5eK^][.\~,Ogm [HH[3@Ov*Lqj G \ cZG_J7xs M!@y^rw r x3GT'QPHOC R@@Z\R!@EGq3D,w_0WeZ!Z!Z!Z!Z!Z!Z!Z!Z!Z!Z!ԝXԝXԝXԝX11ԝXԝXZ!Z!1ԝXԝXtt> Ytt> YtttԝXԝXԝXԝXԝX5 o$W"Q SxmE @p#a~y qU#j0KFx#ur[ZT[!w|Mu zIII@{  Vr* #?:,@@?&=  d ^@U{r^',w*~ ` *w.^*.^F .^` r^' oHTt!RA#Y@y_V@U vraLS5if>Q !@l]"D`LM5k<[B6PkflX11ԝXԝXԝXԝXtԝXԝX> YԝXԝXtt]H]H]H]H]H11111111111111"/ͥiͥiͥiͥiͥiͥiͥiͥi8Gaͥi8Gaͥiͥi8Ga8Ga8Ga8Ga8Ga8Ga"/"/"/"/"/"/"/"/ y1"/"/111]H]H]Htttt \ Q v NK b vifAlPNLOR $APvIk$?`$?r{ B ST OSDI$HBc$pCE$pCC$CS $C|$a"\EWD$L?n]KrallE9~$?D$AF$8BZ$ C^$ CG:q `P9J@`Jo 6 mGyMo .'l.'l.'lo /T2o /T2> YS) jHAK?x/c2JohƎ> Y> Y> Y> Y> Y> Y> Y> YѸBxxttttԝXtԝXttL]ttttttttttttttxxxZ!xZ!xxtttԝXԝXtttttttXttttttttttXttt5 o~m YK_K_K_K_K_tK_tԝXԝXK_K_ [ uvj$ BzyK*[  m` K9M`D$AF$@qde![He<jlTxO[TFhXnr@` |-y@o,L@ C!NPBMsUn|i!aV >?? Wz?j@@[ K-{@r{V>O(~sHvHx=E$G~ | @Wu|LN!j7q2m uX!P2J @@k S T1z5P t'F&GAM0<C I+LJML['BD+\CY W66V D+66V A+66V C+66V *V   }@d(t k@@ca lU L R$H A P0O0|2wj Z{#U OGDto5i@xe^ Zp)w,PRt^]c^g!q B@a@B vwG x jdn` @@Nupt\0R @Z Go AC7@[ ^ @na L hR$g@TB?S>@LPrGG*Fw&`${ u wtn v OY!6Jb?## l Z~(k[H}@mwr|BA Y@YCN M SGK@l|OQ `gX,{on,_RFT 66_66_66_66_ 0k6Z n\ Lzm4ET)6z Et*\ E  ][vL I[a/!.[#[a/!S$~{[a/!][a/!f$~$ oP@}R&FEdXX { U[~ J#g4{.W 6{.  j,LY%n,Lj,L  H Z3aNo} O pxo xxxxxxRJT)yJT)yJT)y!!!!8) C]HF-MoNsTeRSmASH (Secret A) - Play a fun ONP game on any map you have!\nCHF-Heavy Trooper Player/Bot Model by Chicoverde. Use in any DM game!\nCdb-ONP CrossHair in DM - You can now select the ONP crosshair in the normal UT HUD config window!\nCݼz-PoNg (Secret B) - You know it, you love it! With multiple difficulty levels support! What? You thought you deserved something GOOD for somehow beating ONP on UNREAL mode? hahaha...\nCݏM-ONP CrossHair in DM - Unfortunately, all your crosshair slots are used up! For support manually replace an entry with 'olextras.Main_00'\nZ zmvZPT 66m6h66m6h66m6h66m6h66m6h66m6h66m6h66m6h66m6h66m6h66m6h66m6h 0A @w @s}"V.qX)x66q66t66q66t66q66t66q66t "0o @@w3ave\T 66ag66ag66ag66ag 0IBO)CLz?%*B?%I@@LFB?%I@@LQBzxz?%QI@QI@QI@@QI@QI@@Q  ZZ$U/jaFNQ V S M H9}&kV5n3jB6Y  kfl \ Q &v R $@B T Q$\DYa"o$H$?n= 1337 Krallif/rd@E&]^UUMaB6` D!wUm2 z a}a"H$?nM1337 Mercenaryif&qd!J lXbf svTKya2Bq ar F Uz [a!x | p*a,s@"{a,a  \wxK ]}GuhgjQ c u M%o W!@V|UT EZAM[>iB6_ 7lMuKt"/1111]H]H]H]H]H1tt1111111 s s s ifAlPHZ_j_e} TwP_If$?`$?OS} DI$ Bc$C~$BC$aDa"o$@\EW9d@D$AF$@B^$BG:q@q @@OQe ii_@aj @`a[ a l DV@jNO j@AA(n @Y` B nS@D|g;E**|E*(-n-n(\  ( IJwl9K j {@DRxu_BA| m66_ 66_#6_?,26 Y-!IX@h @fHheHD@GzE@c@cd@Wu E @l@gA@Xm@G,tve@M]<L!~Rq(F_ GR Zp(OI[ O tPa-> P%:P:$Pa/!SuPa/!]/Pa/!.P#Pa/!fPa/!S E @@[ G@cHw sJw iv W I%spOtN_Ikd}mHS(qp^lqrK _q}5 r* #(lq , lq `lqalqnI' }lO @tzb ^PPQ E s w*q!6 dB{m)erLw2-\.6G$6G$6G$~edO$@HCWd?,B_O$?,e i(FtI@@c({'Am J&v f eFOOH+W>注.'lqfžo /T2o /T2qfqfqfqfqfžo xxxxo o xxxxxxxxo o xxo o xxqfŊxo o xxxx) QdOjg {8Np0- -NKNA@get ini:Engine.Engine.GameRenderDevice VolumetricLighting m-] Nf'.N-'.NV7.N- .NK*.N mBBBBKN4@get ini:Engine.Engine.ViewportManager Decals _-] Nf'.N-'.NV.N- .NK*.N _BBBB(KN=@get ini:Engine.Engine.ViewportManager NoDynamicLights T-] Nf'.N-'.NV.N- .NK*.N TBBBBN!@ -N7a@\ @?\(! -/a0 M$M$N10Na!uN. Z4]4aQS`4pDuVF  "@ " "@"*(I"%5%0?@ɾe*">N˱e* =Lm©e* :Lmżm6 5PƽA# .Qlʰ_6 IY8 +̱tY4'αtZ/! 'f­uQ/"(Tżt_/(hžeQ"9ǰG.ʱO0v’O  (rÒd'ŝd/! 7ʵ3 $:lѻI 7Zm?* LeH3 4emH)$Be\O1$ 9ZmpfA5$  -e^RA;'% G^UEB7 8}gTA.& 8l~]T>$3@ezf8-%9l{w@ 3/3/lβO,, 8YȰn8)>ZühQ9 "NeþuL5' *avůnA1&<_ǰYC1$AhȱlP?*0Q̳tQF< 4[ȰvYB?, 7hĽlLC* 4vmPG24vxͳYN:&19hxʲeDB& .:B9WȿZA3*A=L8WƮtVCDLLQ9$fſeG>/PZZL$+fxžZO;7ZZY/8Ů`O6$BZeI $Qǰ`H2)$GmèT:) 8žS5)@įD5# 8ʳY=, *̳lD;+*uQA&#*ĽeD;'#6ȰZ=AŽ_3 ,q­Z. !!_̲mY+ :bʱmZ+)Gkm˱Q  1Vq˱L#5b¹A#CkŪQ/,GqmǻQ3 ,G_ǼQ#)G_@O@ Ğm-Yɣ!/Yͺ;(jѽI$KӾ8K7KĈ-X% K2Iמd  Gc"9ma I~S/$e~R40 Ii9Xy+.& IʨaL̾Z4+hN&KƪZ<$HξnCIǹL9 //K£n3 .D89ԲV& IZ0JžV/DI(ơV.@0$ˬ\4$9ŠC'6hϿf3 !AͨA *m޳H(- _I$D+HpF([17g@$7 /UnU884ak=ee@10"S    AA))JJ..6O"" LSSXX""''>>550UUUU4aa==999e10>'S  AA%J%J.T"K"SS XX'"'K>50001d4d44a{}}}9e10>'' AA)%%,,**!5>'"'''''>F>550wdd4^4kkkk={||R9@05FFznz A$J%,3--15>>5>F>5000w11d^=kkk===9{|||||}^d0z A)%,W3?77II11U005000ww1@@@e99RR||||k@UU8  $)%W?y22:eee^4d1wwwIId^:Rhhhhx~|R9k4a     A)J,3yHgpRR9e^@IIIb:22pCx|R9=șz      AJ3ygCxxx|hR2b2:pEݳchR{=ۧz    $.*KO#     ##666.**(?Ig:hxcጬs唭iBB넢ZPg2I_1050'XL   #TTT*_eCxጬ̠唭BQGP\H77_l05F//XS  OTTmmm*(IeCC݋ˑsφYvZ\H7<_w055FF//  #O&TT>m!1@e}eC:CE݋sYQt\D7-_l05//z   #O&TT!!!I@e9{e:::C`usqBΊ٘fy<(!l5FF/  #OO&&Km!l0_@^999e@:CE`‰qBPy?(!!>>FF     OO"K>50014a4@___-b2ppt[sBYӲZH?(*NmK'''      "">>88855!mmT!_I7Hg`]ooӲy?(NNKK""X      LS'F/55>"&OOK!-<7HgPG]ٜBVy3*NN&"&+     LS'///F'XXX+L +Km!(-77f\t躜YB;?3*N&&++    /zXLLLL   +"K!(-?;fG΃q;3**&&++    L+"m!(-?fP]يYVy3*N&+    +"m!(?;fGof?3*N&&++  +KN(-?;fG𼊒iYòZ;33N&++   K!-?;DVV]YqVr(**&+ m-y;DVVGt]Êio\r3*N++ $N(-;DDffVVÊqBvVr(N&+AJ(-7;D;Dff\PÊqYGr*&++AA)*(-<>FF5501akkk{|d5nz A,W7b^d10l_@^RR|~~hk4    AJ?HChhbb:pcƫh9ۙ   M(:xcuEEݘڷc|ۍz  # !9hvYBBYv}=48z $))))))MTd9ptjYo鮁@1U'    $J%%,Wb{ptoBogbI_UUO   $J,3Wrgcĸg^!.M$   MJ,3yHብBBZgH@T    #M6* TTNIeCݾBYZH&m_7HZ]Y(NK"   F/XSS K!-;Z߲?*+ K?PBY?NTO  m-;V]f(N+  8Ue>  A%-w051^9|h1 $7x:CԱ{ȇ $A^[vBBc^8/ $,3Hgbd&  #.(xᬭqPwO  mICDlF +>Ul2Y("   K$BR!wIS*I7rH*HHK,EQ b]t@a gP`.e~3iF4kJ4@SOtgN4xiR4U{V4^~vOE?@Z)D@CjkhPe'Y,d S,@H `AR6FF Ei ]rK$L>k`$?B T Q$zDc$HCC$Ch$D~ n] Battle Bruteic$fff?D$? >a!`333?!^ !T !`p%m%k% Gn fE~E]A:: & -: ,E=:$ :EE [BZM!IsZa^CYBY#u+@f\!xatJ%l U'dRPw*w* pERyET,v NFP $AS $AMF  " " ""* *"O0u@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD DD  DDD DDD   D     D   T D   D       D   T      ' -   M   1'TT - E   11'B*-- MM     11BV*-- M    111BVpp,-"  M      12BVV7??-    '   1G7?,  h//$/33"T'12  1Gm8p    DD! h//#$..%% TB2''   GXX8?*   DDDD! h/###Fww(*V2211'12m:77    DD!! /##665bb;77m2T'''T'Vmߒ^X?* MM DDD! ##O5itIIyXVB  T'TBBTVΒ^^^:7*EEEMM DDD! /#O5ilA^87BT    T*****V?X]:7* EM DDDD /)6ilA:87*T  *77pp?8:N]u]N:7T'1EMDD  DD /#it]]uuNNX7p   "--p88y:N]ĕ:?B12EMMMD  DDD $6tQ]uu],-"""(?:NNQ]ܪ7pV2G޵ޣMMMDD   DDDD .bNܕQw.3""""33"%qyQĽ:87mMMEDDDDDDD  !DDDD %,yNuܕ㮓UULRiF..3%wIAQQyXXGE DDDDDDD    "8^urrsti$3$bAe㸺y:8VB'  DDDDDDDDDDDDD   "8^^QrrrUO//$6tUeAI?V*B  DDDDDDDDDDDDDDDDD ///h%%pX:yALszS\\sWSgLrjӧUUIb("  TBT"  D  /$$##66`illRQ϶NARg[z~xv>ooW=~z[ǷӧjUA(%  V*"3   DD   /$###6iilLe]ܸU[[zz~vKƈ=x~SjRtw./3%,((%3/    33$##65lLe󯮍rSSz_~x>͉ddK>~S\|s``6#/hhhhhhh$$w(q?qqq.$. D   3$.F55ilReĹj\\xxvKd͉a>vvWS`C``C)++++)OO55b,..3   33%.(qbbAQ|=W>WKdffffdW\g0_{HH4444ZZ+)h'2G  * p7?78^϶]j=Wo͉P뎞cccc՞䞐_{H44ZZ0@CC)h   2E   *77?78^϶Qerr\=Wo僉f뜞can{H4Z@@J@JJ)h  M  T **p7XXNAAssS\=>>փkkkkkkf}n{ZZ@JJ999YYY !DD    TT*VmߋXXy;ttz_~n}}aaPn{ZZJ99YYY!!!!DD    TT2mpp-,(F##OO`<~H0+!   Y! #>>WWKdKvzChD Y!!!!DD$5UˮUǨ===v==>Ų>xS!D    !!!!DD $ieUj|~x>KK=<#!D    !!DDDDD .iUQeA;RjSzz_>K>\S`/    DDD3FtAeQNy;qbtRUjg4H{_x>>vC   DDD-qȅN]y,-wbRLUr[g<4H_nv>v\S# DDD (y^7-%wbLsrs&0Hzxvv=sLi/'''DD .;::X* (wȏLg<&J0[z\\s6 11' DD.qI:X8Ρ2BT-,bRL<&++&ѳSl.3 '22' DD Fq;yXmm21B*pqȏLC)hh)CrjjjUt(  111DD #wq7΀G1'*p?;R<`O)//$`sA- D 1' 'D! /$F,,VG''Bpqtl<`O)h$5Uˮ?  'D!h$#(-*B2G11BV(5ii``O$3$iA]Ny, D DD!//$3 '1EE2B*-.wit``6O$/"3(eQ㝝]:— DDD //3 G12V .Fb56O6O$3-,I]QNI,  DDD/33"  11'B*-(w6FOF#$33-,IQI;-"D 311B*-(wFFFFF$33-qyeRb(" 33 112V ,F.(...3"-,AAeARtw$"  'GGV*-,,((((.%%"%(bRRRRiw.3    12B-(((.(-%%% 3$5illt5F3   T-(%%%%%-  $O``i5F$    " %%%%"% %  /#O66F$3     "%3%"  DD /)#OO#/    """" DD!h/)#//   """""" DDD!h)/ D  " DD!!hh D    DD!! h DD     DD!!  DD      !DDDD!  DD   !DDD!!  DD   DDDDDD!!  D  DDDDDDDDDD! DDDDDDDDDDDDDDDD! DDDDDDDDDDDDDDD DDDDDDDDDDDDDDDD!DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@@DD           'T     1*-     1Bp?%  "1  G?   DD /#F. B1  GXX7T  D $O5;X' 'TT8TMD #5RN8pT  VVV88    F]uN8 -8:NuuV2M   !DDD 3I]ܝelF%"3;㽯:XEMM   "?^rRF$Ry8B DDDDDDD  //$/h/3-X8LS\C#i漧eq  !!!!!  $#66itN:lg\o\L|UAq3 *" D  $#6LQܓszx>Ƀ>~S薳F/(,w./  3.btAQj\=Kd>O5;?-"  "3.(qyNu|Woƃff؉=00&C6(mV  ,’ܯ|W瞭ƿH4444<&)/"T2 *7?8QWŃPcՎһ4@&h  M  *΋^:RLSxa_0+Y D  '2 %//#CH_⻐郛0!DD  '1'  9+04{nKa{J M Y9@4[~oPPPH+!D 9&&gfPk4D DD h++h9ͥ_0Y!h9hhCWodaֻ{J    h˨W>Kd=49D DDD Fe|\\\K<D   DwQ;Ȋ[{n>=C  D3;N:-(RUr<0HxvL$1  3I8mB qL&[rl3'1D/q8mG1B?ȏ`hhC澊; ' D/F21'b`6/3iN?D/32*F566/%Qy-D   1B-FFF3"-IQe,3 1B*,(.%%;AR53  T(.%%  65$  "% #O#   """"D!h$  D!h!D  DD! D  D!  !DDDDDD !DDDDDDDDDDDDDDDDDDD@@@D      1/11m7 D6XT BV:'uN."",]N "XeL$lAp DDDD  $6l]~oo. %  .;QWŠ\0<&Cw7   ?XuWPcխP{Z01 Tmq5[f_JD M9HvPa{  h&}ZD Ǭd ! tA~>yX-R[\',G1q)/q "1-6$-Q B(%%tF  D#  D DD DDDDDD @1* b:N8E #y\ %oP0 1BC_a h+!D.yrz31w/,"#D @- 7(我"hv-5  q6' 7 l$gNj D.@srCz B$gRHl'P)-@#-R-G ::$ a!I Al'AL>5w*%:/:$r*-G A*xwx*wx axr*x- bxxrxx-x-'Vxq!%A .xA #< xxw*-'Vq!%A .A #<  SldV jH MH xAG.x x+fd  A@z@T x`QDN}lJ!lRv! QlrQr \HC &&:+w.C *.C - -w.C *:/.C :$R#R?&}R6}~C  6~~~#}~L?66}66}RCv!8 C  j ^@yD as ml3dJm6_4_mGy> YS) M*D$v`uOqa3W2hy,qn: X[ j$CzyT+J" NK9F$@AeH NlnkQ;U)oGU)V)W) XevH$} q w@w4Hev`vQT 66`66]66`66]66`66]66`66]66`66]66`66]66`66]66`66]66`66]66`66]66`66]66`66]66`66]66`66]66`66]66`66] 0y~CY}Dp YLUv]?@^v @^M@^Ts]S[RW@XuK@T`AG`` Q.hHf DR;KI_ #::$- - b`K_ lfe{:mL^ysMaL} pnHdW ti oxw\[o:V[V\{-G.66   6r  $-v(-t(-d(g 6X A 6X B 6X g g 6r6a[\A A 6r6a[\B B 6r6a[\g 6ag 6a-v'A 6aA 6a-t'B 6aB 6a-d'6X g 6X A 6X B -v-t-dv! sO{k}u {? @q5XS BAG>}@@ ,E:\L[NZWpxxxxo P 4qB$$˕JT)y8) k d^ d](ay"c@{ JO}*oS9@-}5| Xx A!!RsNu@ot u1KMZ2j pxxxxo xo xo xo gJxo xo 2RgJ$$˕JT)yJT)y ;rFt@yOCVCpan.hƕ8) r `!XZ B!Bw@oz&h|j@C!R} o*@q Bz|Bn  |F J JJz]KN OK Lw^K=w6iS XgyY [kgq H$@lXX bloM%VR y*r6S"Z A_ {""W V@n9D @H!|&st@}rZ7r!t`QU _SE_ pjaj]r~!_Usi k@j l\#]jJpLt b?efhiի6peի6pfի6phoir k r k ]?,k}ak!i~i]- - }} 9} 6} -(}a/!V}a/!j} ?}a/!h.}  }a/!V.}  h\YTd1RJM2v0o o o o o 8) k}S] MoNsTeRSmASH#@@!!!!)!1)111)!!)!)1)J199JBRBk!)!!!!!!))))!)))111!1191!!!!)))))91)199!9)9B9JB9JRJkRkZ{Z!)!))!1)!9)!91!99!B1!BB!JR)))1))JJ)Jk)s11)1B11B91BJ1RR1c{1k1{9B19RB9Rk9ZR9ck9{9BB1BB9BBJJ9JJBJJJJJRJZcJcRJcsJssJsRJ9RJJRRZRZJRkRsRRRRRZR9ZRJZZZZcRZckZksZssZcRRcZBcZRcccckRBkZJkZRkcZkcckckkkZkk{kskk{{k{kkkkkkkkkscRsksssssss{cc{kZ{kc{k{{sk{s{{{{{{{{kcscskss{s{{{sss{{{{{{ƽxyz{|m U.jb.jk8!yT5J+@J@T/fIjB2Lq[}FCFCFCFCFCFCFCFC0d0d0d0d0d0d0d0d3ԝXFC \$Bm\|pS8\ N"_@ltMI"mm0hJs6Tnt4mGy> YS) C ^nkf@Js y `i$<H ]HcU4.-Rca/!2 c sa{s!| s!I s!Q s!O c \cq!K sbQW*o)?Lk @ bjnopq@Cm*T MyGA& s qQ- w7KQJ)!6--(  c'WNe9A(?W?i?%D?W?i?D?W?ii 0CFHCNI,NCJb`JOMvGG% R+H,!NQ+{W@Y[\ejm$U{$K,!N^q fhm@jiq!NrlZ- @jd h M,!Nht _E.B !`q!I NFM+N-'U U ?U W>>-h!`k?6F?,̌? \-Zo p{m {@PuZBr}C`^urSSr ?, Sr D<?, ?, ' zQ!NOGBR z:z:$B wCF@set ini:Engine.Engine.GameRenderDevice VolumetricLighting true4z :z:$B C-] 'b4  @C7 $- (-(CrWARNINGOperation: Na Pali has detected that fog is disabled. This mod places a high dependency on fog and for best gameplay/visuals, it is recommended that fog is enabled.\nEnable fog?\n Note: This message will not appear again.$$$C-' K;  " " ""*"10E@Iu1-+WtY.,UTTTXuu[.,V*TTTT,[vv]W-VTTTTE-[vvzvr-,TTV\[`zv`IrqX,*ETT,Y/]zhKJHrqW,+*EEE\Ibg6yP9MrrW-VFEYIgi9rrqXV+*4Yvyhhha_67/YrW,+U**U.uyb`trq-V+**Uxsͪzb-,-,V+**UU0W͍6bF,,,V+U0͹yv,--,VV+++V,/ڮɍvtW,VVV++Wx2ڦ֊WX,VV,,Wt4،ɪWXXVV,--H3ئåztHvsG!"۔Zѿyz6hC}( ںPŒK4^^imzww`bb]xjC  zv–`^]xhh"w¿fxxzg[\~8`º?A?C{{PfazObҬRooo|Lgx2>$5} fc``N>RƳ5 mppD{{l~N]tNC$ mD{CnbtYHKD)&Q  QRpSk%Ot\;$ = mo'&O/0\4BDD olM8HJ#BDΚ5Q'@"8ddI~''˼RQ#@L=5BˣRC9>O>!!5˷nP9l<$m ̽D6ln~&$e55=̾'_'D5ZR̸BQe5Ÿ/7kRe¦=Ÿ:k$l|Ʒ˝ke?B}5ħf!Ʒ˳kΙ mÒj@:~"ҭLmZÒL#N~̞ǧ&ߔ:7N9L̞P{? nɍb7;#p{?PS`^h:C%O ={{n'OMv/2{d[K{H:@;i_WdMF:,%_Vǻ6?} hfgh˦ $K>pn_{Hz9#h͔̦    ˤ ٺQ4-UZZEIIH#g  gfgg`f ˔ge  ö)u>Y[Z$gf  g  f  !e e  "MVCXv}XXNX0$ʤ˦  !ITȘ g g f _||AFW$Ш   fgf 9yi#.XaK|pٺD|XW#"HyTiil""""###"##$""$###$&/QA-?pFtU-)%####$""$##!""""$y@yjk`UBdx?K_XUöaWVDAuQw|x=CMuW{û=?D{z쳹іծK5MF{?XAac|_LacN?qspM|溽5L?p5}AawM=>xU45sVǻL{AK}KEwHiikձbFED_Û|BK}Bw/=E|}bFVF=AvᄐXCMH:Ѭ10>FaYVYXDMXXX[B-BCF曛wpڃ;TjkOZNOU_cDŽ|sǿ6vQU>wwYasXZBt0Sk٘L5E_U6sxݿX뚡<01DVc|}v?6?QLVwN,kMV*1MQ>>t=Mt=Oൻ{11nFV>ܾNXIXZD0K;Sj t1/0}W?00*Cc|Oac_B*5OaLq1bX5cUDO1q16bd-*MZ|KZXCbOMBW<1<0?>F9;߳,@%IHIHAHHAH9H9NV[ABUKKVWQIIIIIH9ߴy:;R888R:7+,++;H-|aC|=`_bHzTRŗŝ8+88RRSTl'JG€G]^J32^2P94?BNFCYaYHr2o2o2^]]^7'P2\]3rJ\2]]PS@qF?>={K[ȵ,GGG]^JJ]]J3PT']22GGoGG^]JJzH{AK}5HRGGGGJ]o\\2r22o3:zP^~2o]\]~~\]\U$%9FBADK<-4ǼR~GGG\\\o]ᙙo2oo732~\^]]J^o2\~+K$$$#-Bc{KB_.-ߝŀ~G\\G]]GG2\G2~r%mmm!'LXCUA޽Hߴiij%4X(U9z@iӭ?CvE-퍊yi%BKu{Q絹@m%aW}v[IڹS;,;jm/v|aCS@,j׼}Wyjim%1cMAڹSSjj%ܰXIF+Sjkm%OFۻ>tCK;;yim%=bNd@STjl%=Z[caKTSSj%BUucc;SSѫil&>|Q-KB{aA:&EaxF4BapSijj!nIIII;i!Eyƹj!9^2]J]\G2:S93\2]r]G~2378;@!^\o~o~\:@!U™oG\]o2]]2]S33o~GJJ3]2\qAt h{6 wr*ra4w.*.a GVNuIYJL2RlMo o ) k^,S]Operation: Na PaliN-y Zb'U%b' $q!n  G!N] 3`TK@nZWq_cyMhijbx@;B@`2ka֗1ԝX wk$ ף>jAKou|6pWfW {`Ikpf4[C<: & 4: , $y $: BCDD]KfLA|$f?&f?=f?%I@@f?fftf?%fI@f  ^KM] I@v$] ?&] ?=] ?&I@@Z] ?I@] ?]   bd6h6Ew? UJ -Y}>hYDj?YF Dj?F F f?F Y?YF   fD ST&B y'JAu&c+ @^H{?D: &  Ba&p^I.V,P,R7EF$W?%*PWWB sT$:T,jWj:Tpa:TX:T_jWj'b$jjWw:Tp*<:F,-:TX:FXFTT 6$js R$jթs z$jB s $jB s $jթB s $jթB s T7:F,*O,:F_P,:FX:Fp L!IWAeqEAQk/-m6  nD'[l[mK[cN y)B<: & 4: , $f $: c.sP V wcu\ s(i'O>~A t(Fv5Bb@r5LJ, OLINg5M9-'@ >?J>L>-?Nt-K??%Y??,- '̌?a/!D- ( `,\5{& =EHQHsBKZE: & fX@ Sh(Z4.) r*%LwL*wL aL bLVLq!% LL5a!K a!6 a! w*r*%q!K  h(e( ]WUnH#1s 7r*-:/:$ gHjabcl@j@O3Z Fq\S.@r l cum ZMru ru*w.u*u- -B  u V!Id,Zy/j66Zy66Zx66Zo66Zmjyxol@66Z66Z66Z66Zr @66Z66Z66Z66Zd@66Z66Z66Z66Zcjyxopr qp?&b@66Z66Z66Z66Za@66Z66Z66Z66ZvD?DI@?,r p"FDI br a"F%vDKr "FDI lm"FDI dc"F  nOCaGD: &  H8x>B36-a!| > a!`? dHY_gN"6Y -'Ya/!X6.Y -#6.Y - @ZxG)onA)G)BL)'rBO* P.wL)\ZCD: & @t*`HR.X yKBNf4PaCz ^)V(Sb RVpda\]^e)A@H@ Y> Y{%]> YyrүyrүyrүyrүR@Gӷ> Y@ N]VWelcome to the Operation: Na Pali Tutorial. This tutorial will teach you the basic skills necessary to Operation: Na Pali's adventure style gameplay.NLJHere you find the universal translator. It will translate all alien languages into English. You will find translator messages on various signs, books, computers, and other objects throughout the game. It is important to pay attention to translator messages; they often include necessary, and sometimes entertaining, information.NmNow go over to the book. When you get there, the translator will pop up and display the message the book contains. Translator messages will not pop up during combat. To View translator messages during combat, just hit the translator [N:9Now go grab all the items on the other side of the room.N݂@Check out your HUD! Inventory is displayed in the top right corner of the screen. You can toggle between items with the next [N)gWhile playing Operation: Na Pali, you will encounter aliens, some who are friendly and can help you, so be careful who you shoot! The blue color of your crosshair designates these humans as allies in combat. If ordered, most allies will follow you and attack your enemies. Pressing the follow [N! Remember where your quicksave [NiCrates will break open when you walk into them. Go ahead and walk into the crates you see here. Inside you will find some power-ups and the Dispersion Pistol, your primary weapon. Pick up these items and proceed to the next room.w]b`] key. When the translator is active, you can read old messages by using the previous weapon [w] and previous [w] keys. The use [wb`] key will activate and deactivate items. Use and switch items now to proceed to the next room.wIG] key orders friendly characters to follow you and pressing the wait [w] and quickload [wݩg] buttons are to save and load the game! You can also save your game position by using the save game menu under the Unreal Tournament Game Menu. Use the Scoreboard [wM] key orders them to stop. Friendly characters will accept orders from you regardless of location. Other crosshair colors include red for enemies, green for civilians, and yellow for hazardous objects. Now order the humans to follow you and proceed to the next room.w/.] key and new messages by using next weapon [w ] key.wr p] key to view your current game statistics. Now it's time to enter the next room and begin Operation: Na Pali!C]NPTutorial.tut1CNPTutorial.tut3CNPTutorial.tut4CNPTutorial.tut5CNPTutorial.tut6CNPTutorial.tut7CNPTutorial.tut8CNPTutorial.tut2_g_f_n_E~"BmShU o-FO$\.@A)fghH VZ@S$GZ_E@a p-T A-[K-86_A-6_|*6_~*_  ~@E-LKD @Fp!@4A9: & 1: , $I $ CCBA@QLX;y@ Z<`OI A"oP{*-rP*PI a 0PcP]I P-n#-~,P u-x{*d MFQ&E %iB: &Q& XOu)E P 4qB tf@ ] Prisoned Escape from the Skaarj Base The Betrayers Path Gore Mine Crossing - Entrance Gore Mine Crossing Skaarj Outpost Pt 1 Skaarj Outpost Pt 2  Lil' Spire Entering the Mercenary Base Mercenary Base  Ride With Me  Sharuk Crossing  Thra Fortress % $The Lost Sanctuary of Kalishra Pt 1 %$The Lost Sanctuary of Kalishra Pt 2 Nali Mountain Fighters Pt 1 Nali Mountain Fighters Pt 2  The Vulcano Inside the Outpost Wipeout Entry to the Fire God Temple Fire God Temple The Lands Of Rostivelt Forgotten Gods The Old Nali Ruins Transport Failed Rostivelt Lake The Research Lab Entry to Rrajigar Skaarjmines of Rrajigar  Nyleve Falls Vortex Rikers Prisoned Again !Na Pali Heaven Pt 1 "Na Pali Heaven Pt 2 # The Escapen]olextras.tvspm]olextras.tvcoopeY.aRhgfedcba` _ ^ ] \ [ZYXWqVTSRQPONMLKJI H!F"D#C$B%A&@'(~)}*|h] Team Vortexl]Operation: Na Pali`] NpEntry.UnrYUODG<wG\X!wa/!B- d .w \ rd *d a  d -'d ww.w)d w A :p, w_r% s :,E,`w]w`*F`a/!_`a`` r% s :,E,`ww`*`a/!x`a```whw`*{%Q{,J{,r{PC*QGr{PC`{K $r` e-^ .e`-~'GG{,%r{ s `:{,E,;rw`-L '`a{``{%>{,r{PC*>:{K &:{E&4a{PC M{PCw4@{PCw{oV-L wf T YV X \w'\cf _ Vhra | c*J W3q`*F!CcF@!kdo s v \ @^&ey LW mfVL@r&!Rq'B`K'!R^Ng&J!Rv+f} yJ!G'yB+U2  " " ""*=1*"90 #@!> 386'!6O6'162288ּ^H22'6'26!S6!8lYlhlH]6**] (c*'& 6 $ b#'*h6&&' ) &$2B865SK1db6c2^c^cH66$c5h}8(&'&]s^&^(]c*$c6#1] #$ f#&)'# 1B$  #55 ##4@0-8!8hil216H2''OO2lh)*2#)]&8]6# F(#&'b&#'*&*( 5*))) &])(##6 ]) 8$(6*)'&6$ &# *#'&1&F& &h*[& &5) $ &2F #&A@@3'222(('(cK^61'!^8SSH*^]&(), &6* 1*F^*((&'(&&&]' *5&5)1$ $c (b5'& * & 7# #6c$1$ /$$5' &(**&'' ]* &66&  ''b & P@@-4!26^h`6868na(68cindm^mcnnhlh8hc28228cnH1!([&)$ 1]F(&' *^#&(&)&('** '6$c5$&2)& )]#$^b6]*&&*(&25&))B# B3$)&#((&(&&&*&([&&*8'$'&F # PPP>??68688h^U26o^moo}okni8626668122(!'6(*1F6'(&&2(&b1 (]&[&2&]6**]'h*  #515(&2d &5**&&](&&&('#$E)&)$ /#5^'(&(&(& g( (*](*(6'*'* &&PPP@?4468862cndYdioa2886226a['2821'!((]]''&*6(&[&]6'&]]&[&5$6*(&'*]& 7$% *2)HN#)'&(*&2&*E$6$ $5) )H]F)')&(d]*'#)#f#&66F& &(['$&')*'(*(PwPL-``22]^22(8ioh^cn282828d8('2a88228c2p^]'lc8h((d*]d]^]&F(G88]'* )d) ])#/5%52$]%&'5$$^* &** **]62 &&$$$5 E65$#'*(F**F])( '*26' '5' &(&1&1,'rFg*PPP?L``2?d]8llnh28n]((688hc^hhn812OSO'8H6sq)^c$q^'fch_dmd&]&bhmc_6]&($#*c&]*'5'$5)2'6*1$6$H8&*& 1b**(*&]2&6#'b*)(&26(occ2*]#^$6 -]c6#'*7$1FHl2mg1^PwwwPk?\-?o}͡22818nnroh][2KHn!(!srm6h]i1$ir*'gml2'))68UcdHb(&)(6] *(((((2]'#']6&$2$1$56&5]f)56b_*(*'Fb'E6]&r'&)6cS6gd'd*8h qm'1/ia*5]6^*ccf'b^66@x>vwh?0!A[oӷdr1YV6'!ohYlhhhkicl8[(822^82c8asf^bjc'm' 5H6dF2of8Ro5*Eic'*d&*]]]]]]pb^m*'6c^,m7mooo7 )' Kq$E$)bF,^_b_^*q*(drig16d^*i^)6*6dcdF656]$@`w> vZA74:4??^͖o^26H21Ol[''''2`^^]h262628pm]HfHHm) o'5l]^oOljh7)Hdd&2c1Fmrfm5&fo*3'dqd h8lmn)5'%B%G-6]#hcd6[*pq[]&[[_dd]_i*dddb]'fmh#WH57@`x??xZA2?L4A?AOorinq('!6'88Yl22H6O2SO(2ioh6h!''6226(pdhcmc)^o5#1n5hm]1Ud^H*6*^8*HfH$8hicc)ccho&oH1^mb#&d6'digqH*'fcmf$#cl6)gg_^*[]gd(p&_]_&]_^i__]mg^)dh686NjxjwwQAL@3A\7Al]dln]'!l8!Kh7O68Sl6868ccnh2n8!2n28H^sgqiH8Km8fm1#l]Hh66m]Nr*2&1^mFcH55n8nm-,lcdm1'dr](]_]p(*^6fHc5F8KfdmlKrO(g_[][qff' (ci*^c*2]r]^g^i^'b[NjxjvZQA-L?\?AAA20ilnSl66'hO82'26668!!88861aʼ(chh8O8Sh(dmg]dg__qd8^2l^mh6bc2i2(drd^HH1cdh666ol^*2^qg]_b^bm& q*i]grffG6n5d5,HHFi^g](]2*GF$qKO6r2&]*di*hlc8OZyZxjQ PP!?A2??4>>oŮ2(''O28'2S7hl6!21lY6^n8an6'6ch2dbd6 []]]qip&m^8r2]6*'lid^dHo#5F]8^5l8 colhicnb$co5#*i2dH)8f&'ا,'6(dp*cm^cf)FHmcl$^$ b'q)mc6]ir]NwyyyjA3v>3?4AAj4>2illnl(''KE222K2O728KV2oool!62h2&^cfdFdsqpgq&sd*(ss[*[(2dp^]2c&HqH6H6imHm1ddqg8HbmHh)g6^dg,,g$٥Kq)c]FirFU$8el6dg6rmf^cqm1Hyzy{Z?QxjA????:0i28Hn^'2~K36K82817l'!H6Hhc8Ooh(a6!8H^^p $ohOg5*g[m*_p]gq^6g((*1lohh8c1bo__]'o65#co(gnmbfldcodH^2ibph5bqF$F޾#g6&fKcol1ml/Emf5)^mi'f'hm'5H8mgcdHZzyjZ\xwQAjAAA::[ia6c֣'8!2Kl'2F87'!K8(!8h2klH2nn!2226_$5H85G)'b(ddb_qg*[2r#)&O6licH66']hf]b](q['(ircbh6 6H^b$pp&mc]r*&1sp$l)dg16b]midf cm85bc)$)oHf'c&]^b1F7lh8oHZ{ZjZxQQA3AA!@;?``\>(]hhhl62'72236'!2K!KK2c82ncdhh6222sHolFS8#5g_&Foqg$)h]f6]*olhH]6Fm18cgid]^(__]__p]ddb]gqi gq&&l*6*5FآFlBe&[^F56*id]fY%5FF'*cHE)_)5*865$76*o5H{{{yk!wZQQ^\QA`0L@4?34> oadok]8662'6'868H'6'8h86!HO(^2^Hcd&hO%&gl#kbFRE8&)1mmhcmbcc)i`ch6)^idib]*ppdbd*(g]p*]sdbdqcb#'6dHF+H*6]F85$]6+*hH#EffF/1]d+))6'%8%F61f0Hn{Z{AwjQjjQ`-LP!??2::2hhoomo22Sln'!2h!126l!2Hl86h^828s((cbR66Fo1miR/$llm)f$cof8c$5g3qb8co7/h8clmp(b*b6*b'(d)emcgq**6sg)&bm5%)(*(*G'&[b!8c5)]mqb66*٥g2*$*^*67$FmcU8cnZjwZZZ2jQj3tt3A?@; ??ihũr`i228m8n8'22YH6^8KlnSp5fl)*o5$mm_)$)lhHG1mcb8#5bccl|8h5Hm]sbmh6lF&)dc&8omg$)gcq^b6άF5$6g]6*&7mcg^*)bgf')&fc]hmgH$bmq65'OlnZ{y{{j`QQ Pv7`Q?4PP?`A8[^hr2'688hO2!26HҵFh81YhY8͈!2[bcg)&hrm''iE/Km5&5c66#68]fgn6o((8c(gmll)$ghmc6#HFb'5)llcliH)H6lb'b)6c^qbdmhHf#&HFh6*$ccmb1HlZjay{{{!4ZZ34vv-AQ?vtQ3@A4Q2lS!86On^6'''2O86HdcYH22hoh26&c5f5#$mFWg86#$EK)$5p^FrF#6)'o)^ircff85id&]('c]b66*mo)mmhH)&llrm*g'moKl$)b]dH5$hh5U6GNE)H)mfF6#$KFhFl8coKHhZ2?{|{`{Z?xu> QQ`xvwAAA`A`=rr6h8'8cO(8'22822l8((ro^26([228]mcF%FKgfHE$bc2bHE+6fF6gr]b'f^ghflc#76H])ڍ6dlg'&mo*$img)$*ogcc*m#cK#)dcmFhYf8o$FHEW$*d6*'^*d[*6cblcHOZrk{{jZQ3wx>3ZZ ?xuwQA?3?AjAha2?6O'2O28h^!'22228om2]]222222[2*h5H%)FmrKlmddfb6]gq6i**qmcF$f]mHHgh#H7gh)2]Fr]if*#]o)$rl5EFo,*i85#)d^mb]GhKf)B$1lH$6ob]oF)_[]b]]qd^db8Ok{k{8`{{ww??yZ2>wxwQQ`!`?A`A`[(2222O8O'2h8nO6628n!(oh2d822&chF$F6$ec&&&^qd(d((_sb]d(#&6)dbmcHlNofm5$Fh'$m^*c*crm6fgHF$#Fc))6KFF#(cb^cbFlcg^7#$#SHFl8F#idg]6&ogic8O2{j[{{42ww?k{{wwwZjQ`^AQj4A?`]2o[h!8nnc(8^k^h2'a}i(8Khnllc(^cg)5HE#lK$$#6Fgd&6&]]ddq*)'5FhdH^G$lfFhfibm]*m&6Fibb)'F^[*]*2dgm]bb]q]mH'mpg^6$mm_p^d)$)1d^655qmbF #dfilI$ffi*8hjk{a|{k ww3?{n1wwwwZjkjQA`iQQ2`?8kd6S(87!88lH2Sn6Ooa^hc28](]]cK#8S#$HcgE$Efo6*)2gqq]ff#5Hch]qb(mHKKc])'c)8m$&]gmom^ig_dg^*[ip]i]*pmbr*ddpgbmbHd(6*2]g#)2b^Hg)#F6fml)c^^8dj`{j^wwkn{j1wwyyZjkjQQ34QA ?`O22k''OH26llH6OS^^282[822]*]m%$KK$$FlF/%KofbOcdg]dfg'h6#8)Ei5g_*[r^^*h^)#ccm]&,o*Fc*$&&^d*b'*d^bd*#^bdh)hFOi**fm%bHlmm2$'(]g*c[g8]i8lorj {yo|OjwxyyyjkjQQa4QA???3A6aO8'28hodY8(868Olhn8'n^'6cHl8cf,K+%Sl%%)fKf6Fq]FH1m]d)&m1cdc6^f'm]'i*^cim&*6ݢ*hf$#&6_gl&H&cFo6'&][g]f8Hbmcf2&]b)5oo6bcFmhcbWcb*q6^k{z`{8QyyzzynkZZj\jQQ^4A??4A`2((2!''2oo8oҒnH8nh2l1$l8b8GSfú$$cH/B%KhlF#)qc2)'&g2'i*d]m]dpd]*db^)]]bm^d]c$fcmF$6go])*Em6cf]qdg^ccFmg2d]+[^ibhbcdf1))5FS]F)6o,f]2|{o4`{zzy{{n{yZj?ZQ`7A??4A4!\2''6'''!'22'2llS6(c28hhYlV7fc5FF%§#i]c],FIc5Fmb6*d&i6(bGol#8ogc8fc)]&&Krc$]m]*/lol]lflmccfh)m6'*]fb8+Fo)crbd*[_bm]i]6^5#]#)OlF'flf5m\j{{{|{{y`pQyjkAQQ3???44An8O^6OO668^2('^26'6^hkc8c6h*lF)5F#$fbd))$Hdfmm+lrgmf6))cHKG%GKchcrc#FHoo,Hm)&fll&$)gcl5HoF885#o])dmF)c_cF'6)]mm5m^*5&' (bcW+$hog5^oqn{{k{{{k!{yykQQQ34A?A44A!8O68^^h22]ir^66]^28888!622(6(6'g6]'gm)(f6#bH^&1]dbrm6]g^)6lbh]8iHl%mHHo'5)*'h]7F6Fc&$d^c*)$clmK#5nc6)''*^hg5&fgciHj8hmH cc6*^b[ddb5&fim6cmomh2DZnk{{{2kyyZjQQQ4!AAA?8A36''668hon'88[6!8!6226^8^2*&m2b)(b'H)6ogl&)blpgii]ddq]]H)H*hg1)HGicqFH2H&fc2H6)h$qbi]b$8mSc55]5*g(c^gic*)cmighmqF]iccmqg# qdb[(l6)$26*h6cSnc6rkȲ|o{{{2`{y{kZQQ\!jQQA8Q`!(!82262h8n88chYh62226(62l8)5*Go/&EF$)1*iifE5cdH)6m&2]riFH8H8HS8l(]bi*h]$l56m##f^^*'[ddgm*dqrgodb[)s8*$*6(d6]''6o6&fqc)2dF&(Ffbc6)i6Hh^cSdmɦ|k{O!A{{||ZZj\`QQQ`jQj[4>>0>hSSY^#im6**di)*$/'*HfHIYH*&]q(]]i^6^mq6]mh#)58)66(5ElF $dcb#$*Kfcm*6d^*1^^$(Fdb^**hcd*1]h$%mfo6Fl]&(ۥ'dgg6&^5^\Khn^4n?4{{knZZj\?ZQQ`!AQAk@;;::> g6dmm&))Fksb&F))EGmfH]5)HmbH6db)16h[*am2$^F5&l(c))K)cm)F%/V8lgr]Eib( *ڨ&dgd[^&id22cq*5gqcf$Frp&F**6chmm52hi^\n^{`\j4Q{{A`?ZZQ2`QQQPPLL;0 gim$6Fcgg#lH#Fcgm5F5bH^b6)8qf1KW58l6lcF^F5d]**2*qr2&F7%EEGW65Sc^)F)$8)F6cdmpm*1hqc5gi85%6o*$cqbpgmfi68[^m^nH4^`{aj{{{kZ{ZZ!jQwwvttLP i))cp&)mڭ6#HE$H8iGF&8HFUf16qf%HnE6omFHfH&hmm6(*iri#'*G%5$ESlF8Oir^*$Fr)'ceomg^c^&)ibFm86)]pmF(b]]dqF^1(cl2nr^{}|{{{{k{{{j4ZZwuvvtt>4Q33mHboF6$oF ]G6F#'lEF*^'6rEm^mf8cKlS-i$$F2oFqm)))bqb$)H%))77OHm851bmb1bFFlcbqF&d'rH*Hmm*8HFH,1'Hg6**]('i68l^6WU6kn`n{{n|{y{Q?ZwxxuvvP \A3[7>hcg55#f *H$5f^ ^i]eEq]b6&qicmqFcRmH)'c'mlmm&6]dgcmF$#FVl*]mm*8KKb6()cs5*8b2(q&]b(lb6o$8bHg8)'6c5*HF'c8c^V5H642{{{||{{Zjjyyxuvvv>!??`0>76md6)fE#/Jbc)Sl*7c)rbohb6KnF1oF)2)c'*o6&]ii*cd*i]5rq&FH6mc)&6rf6,H]*c&b'2dm6]5f)F)(bcF)Fm6f5[Y8!{{kn{{{\^A?xxxvvw3A?3>7o^gmo&5FfH'*)*&6gˆ#KK$^r)'bF58Soc*bHbSF^mF6)ލG*dg85F(ho6]s*8)6*'8m^])Flo6bc* 6ccc*rFcF1m#8om*6fq65'HHSh\|4{k{y{Z2!AZQQxxxxx!!???0;>4jd]Fm55$i]K)b5H#*_dmf/c(c)*rm(6ڍchfHc 7r5$8llclh5)#iʉFH%)f8 8Hc#5s6c6&r6mf)5fg6l6)cfm2c57l)o$HccF$5fm*5H(WV6|\|{{2!{yyyvxxxP!??A@;;8A3^6gm6Efnbf$^^bC7#h]bGEm*U6)il)6mmFF5cm 5F)m61cc))rܧfE5K fd޵5Wod56g'q&Hrb^]#5fl)F(b2hgn#nmHH&Hr'$]6)(#cd*s66Vh8o8|{Zj[?{{zxxxxx347?^\;L; 4AA!8q^)KgHl]F5$H#'lKEGFcEFG5Ob)5mF^cEgo)6o*hoFhgm#5FgH%Fo)5&]hoo#mHb$^q''86))#Fd(qg&1]ccqb'ob5K6*rg16pc&#go]c15R8mh`k\jzxxxxwj2A??2 LLP?A`!?j*^g6oFc&cg%#h$#EHl685fhb2([dcc)ccc$$c85HiH42h))&b5J5c5K#Fcgc&qb(c*61FqĐc$#gi*^g'(fq6]62om)d6&hi(]gd]6*Fbm58cm6ch!zxvxxw!4QQ`-PLL4AA??AQcb\gcgbib$hlf)E$$KS/lGKFH]*rdq]&og2*6H88oHH5hmm))fi8c#655&E5$#5'(F)###6$#-$5$ F$)2*'('&#$#$+'#())'$56$&cb8q8]l^i^kzxxxyN?QQA7vtP3 ???43QAj`5&HdH5)SH5l5)H+R%G$%'&))H#%$*6c)(d5&()2#'& 8'$F]))H6O$$'&$ #HF&)%#')$)E $ F$ #Fc)*$ #)$&6) #$%$&5)) &5F%%$B5Y224|zxwyjjQQ`Avvx`?A?A?AAAj76'###6$##$)$ /#$6 $$(6&#$$)$#')&'*5#$'# #6*%#5E&#$$*$#%&)55#))%#(##$6)$$&K#)&66 )'&#E# *)$6/$#$'*$&)f$B% %m`4yy{1 QQQ!PvvxQ???3 ?A`kQA)%*&$$# $ K# &f&5$ ##$#$$#$$$$*6) &5*#%%$%#$2F$'b)&##7$5)&)#)#6%$#)$&(&]b*#*')*') )##$8)#5'&)')F # 6HYncrrkzzz8`QZj!wvuxQAAA!???`kA=))%#(##$F)$&$I$$ F6&)'## $6$5%##5'&&/5#C% %M% *68)#FH*))1&))$$*#''$6)8%)&5$$&'&#,5##6))&(&6& &*) ) $)8)))$&*5)5 #%/#$58S6YYmazZ!OZZj?xvxPQQQ?4??A?kAAj6$$#&%#)(&]b2#*#&*(&)& &$#5H#$2)&)))6 # )#8)b'#H$]$##6)#$G &FH6$K))#$)#)F/##5,$5)H*5#&#' F *)6#&$)/*$%K%/EHH[YRVm8DZ`jj{0xxxwwwQQQ32?`7744A4?H$)))*$)&#,5##(&&*6& &*1 ) HK')$)&)*5)5 #%/##S'$FG6)#1l#b$1H)$) %$/cFG))F$HE5&%$) )E5')5&&]*&6'*)&6'#&'*1%5# gc5$66YY^lir˲4{{{@wxxxwQQQ3AAA`\AAA AA48EE#))#%F##',&(6*5)#&#$ F *&5*$#%)$F/%G%$B) &H)6 6)/#5')EK#1K^*,H]^F$6&$5)5$66f&*8fc*'#'6b'*6E$1F5&1*H*5b)$cF*$6]YY2SRqc˳?4{{{!AwxxwQZQjiAQQA44AAA?A?!#5%FF%H6 )%%) &5E)E)6&5*&6'*7&5'&'*#%56 ')Hm ^((*5g()l)5flE5E]FSfod*&&F]H^ )%*F6' F6$('b'&&b]6]'F56g2)l qf*5*5F$5cKh_V8ɠDZ`4{{{?PPwwZZZkkQQQ`\?8?`?QO3QQF5#6FE5#5$6Ff*)&c6$#*))F$)F2)m5&$1*H]1_#5]#* ghmf(6l1$6)Hlf)/)&^K[m*F[F8(b66mh&5)#RF#)m')#'l^&]6cF'*dc(c]) ghfc)[fc2F#6828W'(ɩ}DZn{{j!QwvwyZZjkjQQQ`_AAA`!`A??^`?A4Hmf2rgrhF5Rd6#)&ofc6$g'*ml)%flrHmr[&*b^'6$mF8cg)co*'m$)]gdig1db$di*cqi(ci#6fc))#qlgocc(FF$cf]6)1^cK8m6))$5HRY]ɣrǦj{{?4wxxyy{{?ijZQj!\QQQ!A???24AA`\)HdlFq%cfS6#6G]HIKF#F1(g)$nfd^_2*[F[6[b' *q8FFm ,SH)E%lddrqbq]6H]]m]b]dfFlfrH )&]&lhdq'F)HEcb^FdfmlcKl)HH/58H2mͼiϟ{{{8Zyxxy{{ZkkZZQ?_4ZQQ\1AAA`8AAA4? _gld]*^gHGffHgh$$lHccd*6]gcbqF)6Fhl^hr)]Fd*]H(^*_i,hhSgHcdHE%[&dbib'f&]]^(qcmfb5bh#*#r)&cbE/n%8f1*6ilFFSlHY%88má_ri2{{jZyyy{yyZkjZZZ`!QZZ?!AAAA44A?A74Q`dmh*6^c]cFb)ho5)#F5c^b]gd&gkdq6)]lhHh8Hc)5E-&[c^5olmco6*cY#E#r(&pb[]_']_d[pg^]ccd*#68Fcc81-GF/$8fho)5ccHKoB8mp^`n1zyyy{{y{k{ZZQ2`jZZjjQQQA?AAA4?Q4*Hgccrcm#1mg51FY]l*](dm5&]*1ib52ddi]hm&7bc1U/8c'6fmFm^&r]b_b26Frmb]b]_]6ddg_]*bi]*^b[dd&&i1hO5H5S8*h#1hf$clESlB6o]\h8Azzz{{{{|{yyyQ2?yyZkjQQA37AA??QA!b^p*cbcd'6(i]&2bd&2gh6,7]H*'mb]p[mm&$6HF6]8hcif85Hl85b^]dd'&godf[]&(]mdid*[cK6K*]'gi6&66'r6EWGU8l8'gcl6#H//8homiΩ|h!{{{{{k{yyy7\ZyyZjjQQQi AAAA3`AA2fmF#m8)cF6Fmm6&i*^([&rm8#6b8f5f66*hg6)GQ'(15oncmg57fO5f5F)m5']*)]*]]dgl)*dm]_c$*id*56mb8nh8$n5]l*8*dgh2*fg'%cmirʥ4{{nk{{{{4yyyjjQQQ??QQQAjQQ4N>00gmg55gf)hH)]c*$d[][*6qF#i6Hf2o]2qs((rb(8c#2HOlh'(bqHH8m$1gh665m]6m*qb_&^dg[fbll(6)qq6&*cFck5$h6FH*5cm&f7F*H^r)/8mʿqn[{4k{{{j4jyy{kjQQQj4QQQA``QA7!->::>>7fcc5fc)mEFl'ig_]'b^mr*'_*6^*2rb_q]_p*d_*_q^_&]_m5fHfl'8)8$*^Fd*d*^cp[m8)H66]qg]d6dq8i$#mm*cm^mf(*F],6^Km5/8o^8{k?Z{{`^{yy{kZZZj!jQQQj`AAj3>;;:::()H^F6ffl66c#Sr5F]dcg2o8gmid'cdq[_g]]b]&_](5*]dhp*nmF)HG8Fom8#h2Fd*qF2&ddg2*m'cF'Fcmr*'d*^o6F8f8&Fc)cF$^]dd]K)B8c('^`DZjk{{{j4`{{{|nZZZA\`QQQQ4377@QPLL;;:3[&cF$c^f2)6 fomc$6bfFG#c5$F6OF&[b(gc6chh*f])(6*#cif[)ih'^^%FO2&_*]]*5bm&b]]*c^$ml6o8m1#mfmmc%5Hc5)8dd&[dbpdb^6C5c6io˲`kQZ{k\Q{{{`{{{{`?ZZQA27?APvvtLL@3[cf'mKhFHc1op &r8*Kmc&5RS5)Fhq_F8GgO)fE(ccmH68)f^ig2o^m&iig)^d[id((]][F^fm5]ccmr5)]bqfij )l*5gmiq&]]_*mFE^KBHhOYh2ɦ}4jQQj\^{j^ZZ{{88ZZZZ8!j??@vvtLtP4[#8d5n78K^gi7olooFqb6&igml/S62dmdm5H#58*H76c8i_')b8*6^Km56ccq5G]gOF#6^(rb]&_b&_g^f)1) ^rmf',^hgio#6b$llcd(])(6cg[]cbB8nmHW(i}|4n!k^`{{{{8jZZZj4`ZZwxutttv7 ?1]&[^dFHHc^) 8hig8]6%%omc$6q8$giHg1H)6HHHK)'8)b6^]cd]c('(]qic$5bdE18gog(6dd&rlcf6H_(gmq )dK`m6o]5&smcb*[b16d66c*2/822Y8no[o8H`!j|{{{jk{y{{`^ZZwwuvvvvA AQQA^_b][_(*]2gp^((qd)IEb(56'noF6)&rm_HFH*H]]66&cg)6dd$dbOEKc*ol )oc*6fmdm*]&]d'g^F^Hlm*qmrrbfcb2)c*[]b([*$#8f^]&*i]HB56W6^c]a|{^k8\j{{{k|{{{j jyywxxttv> 4?AA?99pg(*^(q*]oi*id_&bF2B$*m8]5)fc5H6&^*[[&6((*))h']#^d*m68KKC|Fqb$c*g]][1*d*dc]K^b' ^dgmb^6*c%$K]6/')i]]E)&]^b[(^]_bC5881ol[Ok41Z{{|o{{{Z{2A?xxxvvvP4AAAA!>::-_5'6lll)bb(pg_bomF))cBJFBcF6'(&ib6bf^&]6gi5](&(_d*bHcH) 8fimG]7$'q&F]]*m^K25b6(goc6*i6bGcYXoF1'8,,H]d][&(d]BH!hih2_a!|nj{Z{||{{{{`?ZQQxxxxx32?AAAA4 >>>.[)7G5#h5&6H5*H'oolK$$65BF#HG*$))F]fi6f6)]FcFr1F^'&d66c55H7)q_((q_*]*d&qp(q]*[]bqF^r6mdg(#^]66))'mc8')g6F6cib](*&[]_%8mhY^k Z{{{k{{{{jjAAZwxvvxP3?AAAAj?>>>>pF1$/#c%#$1)'d]5oHG)&$mH5$,55lE&),5Fr)26b%8bchr'(g[*^(*o6FFd_&]*6(&(d*p&*p&[b(g^hbdK&mmcdqF*/l66*)6cF/')g]d&&**6%Hom\6WKo`|\^{{{nnn{{{2`jjyxuxxww 8A??AAA4>::>?d^))E)WFGccF'E]cqqc]*%)dg])6]c65*HbmloH5hlf&65Fol(]m]bd]d]&2mi1lmHcqm]*'g^ddb*d&*(g^&2]*qqgrg$%mFE,7#c6)$)*FHdfi*(_bhB8^6YhS2DZj`n|{{{?2{{ZZxvxxx>3A????A 0::@:3_]6)E)H)#6clGb'Hgolb6&)qeF$b'b2h^mScFhc^cd8SHclgcg*^^#l^&dm8FH/|fqH$&ccg]_*]*(*[Fdg(d]*rq]b)$%8,')2g)&#*2*qg)&*mbdC5[YY2Y^!ɲ'n|{{{4j{{zwxxvxw 4??AAA?4P:9::?^2+5b56$)FF6/c#^ddb]))Hfc/oW)5F*icd5Fc5HSH6Em^dbc86%g56m5'I5]H)#&^ddd*&(&_^'*6Foo(*bcri]5$+lm6(]h2#ddgrc*(F_6]E5cY8HWl2hɳ|{j[a{zxxvxxQ ?AAAAA?3;;;;:3]1$/fHI5Kb66%Fbmc26*6&g]il%m#/26(g6rmKHSb8KHVG)fif5c&F8F6mc*mf&/ncgc65)*]gp]_&*dq*mdm8]q'biqqf6#'Ko5))&fb)&FfgdH]8]6bdEHSYYch}!?[nxxxxxZ4?AAAAAA2@LLL;;4 4AQj[2)%EFK#$K6)]*c'5lb16bg'g^b88$Sl6H*^_if2bi5F%E6mlf*c15F88H#i')f)HmmbE&))rb(]]&^g]pbmf]^*b^icb^))pbl*6]&c5)*2d*cc(Fc*g}$8[5VS^hZ2hyxxxw4jQQQQAA`>LLLL;> AAAQQ`'))6)'5)H'&]2c(F2$*'c)](H65&il5dbc^d^*m')i*^&6b'FKc)&86bf&c5)c#cmcHF5))gr*_d&&']bb[bd(*(]&]mc]F,E#m]H)*6]B+(*^]*6b6l%6^OW82l|izzxyy?8QQQQQA4 @LtvL;A4?AA???[&[5#2$$F1)F2 &6)b(q,cF*d(52g8gH^#H6&d*ic56fh]*])5c1fo$'E$fc1F5,&c\q*(&d*_bs*[*^'*_b(6^/Kf6^bm)5]&Fc1'd6)]fE68Hc kzyyy 2jQQQQQ`3@PLLtt: `A?AAAA?!d('*6dg6&(b6$$)FhF&)6m*g/E' 5'&rll&cGS]m5,h$S)F^Yf6((,G6cb8g5nf)5gH56Fi&mp*gb2)]_&]bٍ(26g'86&))S)F2H5F6h#)*)F6*2d*bHmE8^((h4zzzZjQQQQQj!QvttttL???AAAAAA4[)'$K$'*]6g8B$+d*5&]')5om)llcF6)SE15%cbc*bOF8c*lh5nm*#85)*6d*]؍[q&gp*]]5*F2 #)H5f+B)F%6ߑ#'&gi^*_b^E8'rnzz{3\AQZZZQ>vvtttvw2?A??AAAA`[4*%RWEF6E%f)HW$#K+$F'Eoi#1$Fc6nKH5m#f#5h*' cd)66f8*b8mcfcmH)mf))5[]]d**ٍgi_226)'bfF5)E5)Knl$*#ccf&(&^#c]dE8ccooDZzA!ZA?QZQ43wvvvttv?^`??AA?AA?43`QZj()'EGHHcEFhY$EKcb /#KF/O5H$1c)1K5lcg)H'5*6F(_H)5H*]Fi6#mqqbdoi*'l^*s(g(*dibl''&6hFr)$FlFE$FSlfm%#5#6ٍ(dF)&mE6^no(lSm8ǦA{{ZZZA7PuvvvuxZjA??AA?A??44=AAQAQj(2ehG5)ffHFfK+#,c5FcE5Kf1#76Ob)5H[]/EB)H)FHSHFffn28gob$lF6mf*66bcr__&**rbsq'p]'f)Hf )lC$FFRmf$Hl)5mF&crh* cE88c6VH8nic˲?8{{{{Zj wxxvvuuxQAA?AAAA?`!4`AQQAAAAQ`[6*lEI^FEHE5)cE#/#fGF5F%7Hl)'cJ6K'bp())$86fhKE2Fmhd5mo^&OU/Fh*FcdddbpdFgdg*&Hd&(bhf E$HG)F$5K%)2bbb]ml6)lE6[lV56Yl^ɳ2{{{{{Z`4@xxxxuuxQQQQAQQAA347AAAAAAjjjQj!*)mKnS/JK%'*'&_&#&b*SF6$)H%H'^d]5F8c)fo)F^))FlcF)6HFrqdHoH*61igsb^g*dd]q**]Fiof#,#nEfFIG)%K57%&1[bm*]fF'6f)$WU('KS2rɪk[h{{{{{jwwvvxuuwQQQQQQQQj4???AAAAAjkjQQ 1[g^WK6UF)G'*]H,8]&fK$5/E1(]gd))c_pg&^bh*_*g)5lobHfccH'lbGHbofH&6gg*qr&*pg*bi*(]((b*)d]])FHF1h6$))6d]*(gd'#66E$SSmmKKd[nǦ\[j{{Z{2!APxxxxxxwQQQQQQQ??A?????AAjkjAAA(*_*id*[*]8,')FiE%#KFf#%l7b1cbqd)GFcbnn%#%6R/$f*')mhg(16c*HKffÎb$]p]&*i*dgd6](b*'&_&&](b[&((pc***6iq*^b]r*'5lE$lqnYH6k1{{{{{`Q@@PxxwwZZZQQQQQ`!!????AAAA??!1AQQA`_b6^ii]d(]c]&(^#)FBfF(&^]6]mf/#hZJ#%B/%$VE$)H8f^b^&8cg5fcF2g*_bp**d*6cdbm**^b]bb&_b(6F*[)((g2dgc*5)c$$8hYSo[Ц!2{{{4?yxxxxwwZZZZZQQQ3 ?AA?AAAAA?4\4?AAA?_YNmr*^^gHFn0%)])6^dgcfg&c**)m8lR%%~JCGKEGK5hgic*]l5fmFHFps_p]&dgmqf6bd])6]]*#mcFh)$Yo*5*6ipb]mb2F5mb$$HU^H\ikOZjAyyxxwwyywZZZQQja!4?AAAQQAAA`44AAA77 _gEmqnfKg56cr#B%/EfKFf)c)6c]$f]gF(FSOlVBGF7/E%KH)l^*llmm6(c]]qm](b]_dbdg'bّlm^g8&*f#6HFf](mK)rb&8^]iqg(]g6)F]g5%$Hdn!{{wwxxxyy{{ZZZZA`\jQQQQQQQA?3[!8QQQQQplEmflllHFc*)E%F6K#bc'5Hfh#'dhF1%FlKMK,$$N#K%m/lmledq6[[sdp]_*p&gqcde6H*^FhmF$G8'EJ5c6 *((g*[mlF5GF$#Hcoo(^n{`Qzzyxxyyyy{{{{Z?22AQQQQQQQA`![!?QQAAQ4_Hmf^50i6l5#GK)5Hcd2&di*_*F]]ic5*)1H8S/E5)l$lmc6FmgfF qg*db_[db&F^ddd*c]bBlc$#)HFYKE#8b6F']gpmcbrcG6b$$c2qr2?jyzyyyzy{y{y{{j`4jZZQQQQQj44jQQQQA?3=Ajj_gHK)nFofmFFKf$)5bo5F8)&6c(b^$#di^*((&2)#)f#6d)Eqg&^HFG'*gd[pgd]*5R66]dg] $$FlHGlb)mg^d)ip**lmfF6KF6%/H(rʤ[HnAzzzzz{{{{{y{j4kZZZZZQQQ?7QQQQAA?! ??AAAAA` _i[*6c^FlgHlcF'Fd(+FH)F%$1)'6mF&oKKg51*(65#&FK)6&m6#85FSFU&_q_](F#*ci(gf_Fm*))FcE/Kmm1db[5*dbib5$*GH$/%cpr2h[^{z{{{{y{kkn{yZZZZZQ43?QQQQQQj3?AAAA?A` pghql_foHFF1)]f(2f^FF6)1lbEh)2gRDFYZC)5GmH558SlKlEccf'6g2b]'(sp_&2'*(b]+^pdd]]_(*(&(()6mF&*do*H*cif'$6dg6#hBB62[H(`ǰz{{Z{{Qkk{Z{{{ZZZj ?ZZQZQQQ4!3A?AAAAAAA!pqb_did(^pb]g5'clcg6fF(6]8&E656)c8#EUXG8HfK/EFGKFEl&ddf&H/l6hFb[__b*dg2bpiHfobrme8b8)5lb2g'((b_)&(dmbfh)5dm/BSl1Vn[kDZZ{Oik{{{y{{{Z?4QZZwwQQA4?AA???AAQA`pHn,mFbcg^d](b^](^qpd_]d&*m(l6g)Hf7K6Hfoo8756cfb8HI)fGgdbb2mF^5(bd*r*^q&8)WfSl8KRBMG66*f^ib*2(brd*]i,^*Ko//^RYlȘ{Z7ak{{{yy{j4_?ZZZZZZZ?4!2jA???A???A7pRlmf66f'Ghf8bc*H6f&i6^bhHSllEHnl5#)fH5K8)8fcdcf]6c5cmF'gd*i&[g+6i6cdlH)/%G%C$8mbm*)*(&]_*]]'F''5&$%S27YScв}{jihZ{{{{{{A  jZyyyZZj``3?AAAAAQAA??! pR/lS/VF8Kc)GKE$KU,8]()hF5mhhc#6cfRJ/EF)Elf5I8F^]dcb]gp(*_]((sqg]&^b&olrHc&c$JK/Gfd*q)6*2*_g&)]mE*WF//SS8om`kO{{{{{j`j{yyyyyyjkkjQQQAQQQAA`4433AAAQQQQQpS)YE%X5%'cflh+IK lK/GHSc6c^flm^F6FFm8HEE8fFfm)5Hfc5HcgH'6fmh&Fspbq#]gHbfff8߆$8mbeGC$$m]#igE#(gr(&bl/%B/E((ol2nZ82j{{{{j\2{{{yyyy{jkjjQQQQQQQQ?4``???AAAAA?A?4%GKmF$B//56Hcffo)b6mn$$5b5mcf6lFSnEmmc68f6)Kcc6))lHH/FH)#Eggd*&gbqbd_s&^ٍ2&6HYY#%5lKc))]g$5oq##fBBHH^6|21n{{4!!j{{{{yyyjkkjQQQQQQQQA`4????AAAAAAA?`a ' #/%$//E5&5*f)/#E/6##)$m6bEGYf'cgc5Fc66F6*))5HH)KHVK5)F%K5b2&'$bf$c)]c((b]'b *$# # c&#$*6&#)%$6F' #EBCRYc8o[4{|!4|{kkjZZZZQQQQj` "?AAA?AA?AAAAA`2]&^$1&#(6)&'])$ ),' #E##$$/$/%#, $'$F)*#1'&6)# ##5$%$5# H$)*2&'6&# $#E&#')2&)5 ##W# #,6%#5/&#&1*$##GEBS2hRYoi7\[j{{{{kk`ZyZZZZZZQ`1AAA?AAAA?A??A?44A`_' bc(%f6#&)))''&^F( *2&&]#$ ', )F$ F $$F# FF$*% #'&%$#5 $ K# #bS&5$#)$#*))$$$*]) &)H $%%B%##6F$ &c)&('#&&)DBHHVS6] !Qk!`?y{{ZZZZQj 1?QQQQQQQQAAA??`!4?QAA ($#7U)#JK)#$/$15$$I6$ b6##6 $ )F$,cE##K)#(/K/)$65#)%)#)$##6)$&$e$&)66&)&#E# 6*$E%$#$2)&&)K#C% %M% *FH$#FHF)1*&''&&C/KYYRHhY5`{ `{{{y{{{Zj44QQQQQQQQQQQA?42\?QQQQ?!($HGK$#GKG)%/%/B$)F%&K5#$')%%#%DK# )H$#E5#GFC&)6)#)#6/$#&$#*(&^b2&*$'*(&)& )$#5c)#'*1&)))F # )#^Gb)#H&G]#&#/IcHCBHh8Wo|`O{{{{{y{{k24jjQQQQQQQQQQ`224?AQQAA`[#K#%BB#5)&##$$)$)##/)$#$)C//%#B$ FF$#/G6#)))%)H+'$F)8%&)E*$)'&&#,5##b$1&*6& &5' ) HeH)$)&$*6)5 #%/##W&%8GF(#5f$b1)5KlHDCH'HVVh(4j2jZ{{{{{{jk4jZZZZZZZQQQQj4`jQQQAAQ>4($KB/$/%8&$$'#1F))f/6)c5 JB#E5%#J)&/G/##F5%$Kf5FHK#KEE$$*#%F5$#5,*h)c*5)#&#&' , *5*$#$)/6/%K%$B) &H)F 6)/$E'&6KfKCBHHVW^^˲|2h{{ZZ{{{|kkn{{{{ZZZZZZQ`\`AQQQQQQA?`_)^)7E$/$H)$$&)#]l$&#FR)%H5FK%mF/6/#$FE)$)H)HH)B%)%%$/lFG)6%FH%H55)$%) )EE)B*5&&]*&6')c&6'#&&*6/H gc/bl m&((r&[c(cFffH)$%cc6h˦h n{{{{|k|{{{{{{{ZZjj427jQQQQQQAAA3[&6#$F66$%H5''6'F))''FJ$EHF)0E5$)c)#%K5$%6%6CKK5KGl*EehmF5#FFE)E5$6Ff**8gc6)#*)6b'*F8*')&)6Hf)E)8* gmd*6)c6&cdlfE)%%Hh|!8{{{nknn{{{{{{yyjj `jQQQQQQQQQAQj4!]5GF1dF5)H8c'&*(**od')l%6i66^# ec#f^1EGER/cFfff'HfEcSlS%))He'*F6('o)&(bcpFr)g1^g qg'2*l8$mGcglcf6'oF&hfd)'H/BH^oͮiU|||{ZZ{{{{{j44?ZZZZZZwQQQwQQvPwPL;;;;;:::::0>.0-_mg)g&'c(]5*Hff)5H5bKc2&dm*oHOlKHlERc56fblgmmc$5$#Kl5آ&'b(]*^dd*cd*]) qqg)6ic2i]*)5*d]_&]g^]lc)5fECH6ſr[l||{{{{{j?44j{ZyyyyyyyywxxuvvvvtttvtLL;L;;;@>:>@>::99 _i$ ^([]b_*[*6c^(]^c*^mcOhmFH^^m*5&m( 5c#)^&l^mmm)5'&h& F**]db_]**s2]&[&FdrKdq6)gmF#B(^m6i6*^FHnbmCEHr[U{Zk21`j{yyyyyyyywxxuuuuuvvvvtLttttLLL;;99:>>>>>:>3_cqc$&frg[&dmd#)Fs]6*om]66bqiFScH]'mE'mrbir&d*)hmm^*'F^qf$&cir]&pi&&i٢d]*]md*r5Sf)8K%E%iHl6r5&8*hr5lCE8^5Y{4!\4Q{{{{{zyyyxxxxxuxvvvvvtvvvvvvLvPA>p]g6]_qlgc]md#2^d[g^6]cohlfoc)K,$F8'gc#$o( FH6hb^[m]dF^_بdmdbqqd&2qg^b]g&6cmHFJ^m_l)H-mqb)f6$$GcYVVSoqo{j4i4j{{{yyxxvxxxvvuxvvvvvvxxv@.pcl*2m6d(6brg^5Fi]*H]mf)gnlHHbHl1%lHF7cH$#S)15d]mm[qcd*6pr[g[*cdfqdd(cF߻*^FfoH#K)/Hlcg6cdg#d*pr&dc^%%ESH21clorr^jzyxxuxxxxxxvvxxuuwwj72!! 37?AAAAAAAAAAAAQQQw]*Hf$,'6h(codd]*o]5&f'mnFglSmco8'^VU55mF$omcdbc6m](]f'&q٢s*(]gdc*8mFcg6mcclGUNNGCEJog5)d]m)d*pg'Fc^JE5hcHSWWYrizzzxxxxxxxxxwwwwQ?4??AAA???????AAAAAAAAA?7?\ O[&l%%ܻ K$F)Fmf^bH'rH/8fSf7GHH6ci(l7%Hfc6*^c*(][(og'٨b(db]dc^]omfiffmESRCBVSG6cF*&5(b*c&]hf2FF/E$YYl)'2HDZzyxxxxxxxxxwQ-38?jQQQQQAAAAAAAAAAA?AAAA?`![cr8$6޽#mFo*8clgh8b1HT)ccfdblF56*l)'Hl66&$fnb6#pd*^i]&2؍&d*^*$gog]6/6llYHR8BFl#56Fmc)*^F5m6b68b6$JE$^[zzyzzzz{A?2!1`jjZQQQQQQQQQQQQQAA????341`jQ7_c,$F)f'hc'dffmri6)OoKKHJ#5c]f]dHcK)6)Foc)6c'*oH/$mcF*[sgr&g6mdf5cmfm6F85lSKE/G5$6G$Gd)F*^q*(*6]5FR5/CE/2rüzz{{81`AjZZZZZZZQQQQQQQQQAAA` `?AQQAA`(FGDKH)^'Fi)ob6^rmFEKlHE^FS86l6Fccg8c)Ug^llol#5lEHSf5Hl6*6*[bd*K1F)mfblmpFhKHbcf%EEERGF)1H]]5g^6)]g]6F'F/E/ƣ^^d^cDZj`2`{{{yy{{{ZZZZZQQQQQ?`4!!4jAAQQQAAQ4!]d#/EKGH5b8c]c^dqb%WEE[cfcicdgqcciqd6(^gimcFF܇F'85f*)GEScm^8'*b^]5f)fgc&dd^&]^p_d]'*q8'*55,')i))&qdd^grmib5HEEE2poɲ|k2!`jjZ{{{{{yy{{ZZZZQj`^a`AAQQQQQAQQA`!p6qg]i*)^[iF^dmm]5)b8fHF^SFfH+YRflo)gq]F266)lO$f5#(&]g*)&m )b_&'dd_*((^]&'*^(]*bhmd]g*c]fHD&BEC2oʩn2`j|{{{{{{{{{{{{{jj4[4?jjjQQQQQQQQAAQA3 _]dq]](sd[*]p&i([bpdb^db(^)cg5ccHlYVK%~HRFb6^)nm )l8l8]2p*]&%)$)cd)]dp#*qF%H%]lFF6K6h&_^#(^5d_6))/r[O{{{{{{{j?`2!21`jjjZZZZZZQQQQQQQAAAA34[b)&&sdbp]Fbd[^i^bg^&6*^c[b^'g_]cH,ORl8BCFYEġcFcbc(&d*$n#)c5bm*]_*]$$HHgf)7mofcHqqgif))fH%GNBFHh6),d]r]&(6&c*]*/E/o]2[8n|kk^44k`Aj{{yyyyyyZZZZZZZZQQQQj`k!2i44?478``?????^4_5f&oibb)cbl,mfFld66iHF1)b^55b6EFMHKlOER$bfc)F)f[*iig[d&dm(]b^idb&5Hmb^G'Hgr&56bro,o6(c7BGH%5imF(6rcbb#*^]bhH6/E%('6l|nk``kk||{{{{zzzyyyyyyyyyyZZjjjjkkhj`A?A???????????`4822_lRFCf]m*Flh6)8Kfb8fHfn*H*H8]5Flc%HBE5JFYE/FlFK8HG^5]c]&^_m_^]*dgm1]lFm]FO'bm&1E66GhF/HVMHK/Hofb6]qf#1fhq])#$$$SYVWKSmor}{{{{{yy{{{jjjkkkjjjjQQQAAAAAAA???` 4d5%Bd6fHHlc18feHmKFBocf6$'c6bih^^'b'hmb5KF5)fFf$l/c)cFc&8]*_bib]i^df))F5mfchimqd),KH'imlH6ESH//'6m^fF6gF$8cdF))/$62([2DZ||`74`^kk8kkjjQQQQQQQQQQQQAAA`42!3>jqR)%*bFSf5f8)HflIfB$6/)$KhFiSh*']g2pc_)*OG)Hg6cF#5m*)Kfcq*dfif]_dp,m6&ff'cgpd^(]f5gm6gcc5%1)5f8*F(*gghF$)6Fl6/)GE)6m˲||` !!2\p4kj{ZZZZZZZQQQQQQQQQQ?8^4`AQQQQA=pg8fHFl8lfHFic*)2EfFclE)E5gHHhEG^%oFiblWlFh#FoFof%c$F5%'*mqdgp]___]s(qi 'rcgh]F6&r]hcoR1%75H)8Gc86KFmhH5F68m558GG/h^\``jj{{yZyZZZyZZZZZwZZZQjj` \k`jQQAAQQAQA4"""_rbmF)q܇fSmf^m*'l)ffHfGOEbhFcKOKEWHWKEfHJ$KW#h&Ho6gh)6qhgidgm(]&[_(&dq2&idmqb(2([sqdgo]'86&6F$7lFc6Kl6fmcmp*dl*)6JG/']24?|{{{{{{{yyyyyyyyyZZj`` !!8kkjQQQQQQQQQAA?44<<"" pd(d&[bs^*cb5fcm))l6lFo)^U/,HhFhHoJR)RKHRIGJfWEBH5$ch&hF*cmdg1]ccd&_d(b[*pgm&Gio%m&brg^hf^'*2'*']65bFHf8$c*db((JC/'HU{{{z{{{{{{ZQj \```jjjZZQQQQQQQQQQAAQA`   "" "d$F&KFiddcF26d]']*qdi2imb16^lcgHO5b5KllKK8F5f5W65(F6^f8]f^g8]Fbdm&bp*qb(gfH8&^mWK+H5mnlF#55)5F)d][^(]6*cpf^6)(*GGE5n{yy{{{j84\!![444j|{|{yyyyyyZZZZZZQQQQQQQQA?33! " p+C/E7F5#6c*%'eGIF#F8^b6H^6HFhKl)HlKKKKfm$f#E$^%g66*6i^]mc*]i]cigb*oF]]]ob8HFHl/0WFcG)^d]((*'_bdiF*g*]GE/OTXUj8!!23nj{{{{{{{yyyyyyyyyZZZZQQQA??`"  " _KfWfHUVGG%E[c5KKCEKh)6G5$2cfh)5FH/FKYWKClGfl*68&[pg__*2*[*q[g5)bcdgrmH)bccrW558FSK)lHm]*^^(d_rF'f)EHGG%RXXZU7'hkn{{{yyyyyyZZjjjkk` !!2444444!""" "]lfEHGHHE/*)*86f/EGGJJc68)clg86FHf86FfoVW/ff'g)h,dm(mb'Fsqcdr*'q]g*sg('mmcgܐ)'f^qolR5/GHKBHUd&gmb#fFFSKBEGG%2]mDZj?Akk`kkkkkkkkjjjQQQQQAA?AAAAA???AAAAA?A???A33"<"  ""_J#)fEEGf))88lKIHKGRCn'6HS6l6lfK6mf/KSh#hF/cccb2cc#(g](dpbq6g^(*p_dd_q*2*^dbmHH5$76FR0JGFc1bh5)qcd(cFc))JB$ɳ|o844 `knQ{{ZZZZZQQQQQQQQQQQAQAAAAA??AAAAAAA???QQQj""  ""p]b5FK8Fc'cEKGf%EKS#)5F/8K/lc66ffFh)Gm5$)^&m*cml&)g]]gg^_&hF(bicqgd]^]bddcd)5F8b1'5&*6%)]6OS)%mbmr&^df&F/G$oimaii'44j||{n{{{{{{{{{{ZZZZZZQQQQQQQAQAAAA????A?3j334!"" _di*#ci#mdb[(pcc*$8W$FG6&865$6H))fh)ESK88bGm 6Kf*q]&cm)^qb)]d^(*]*6d6]ffFdb'])mh6FKcc$FNE#BbSbH)cci#bf$FJJ$']8n{{{{{{{{{ZZZZZZQZQQjA?````   _mB#Fhc)5_]&'^'Hf56m5goH]^6*qdF(66f)%K)Fl2fcSm#8fhgd)hfggpbcmsg*l 5lF(FoKo]^b*imrFGSG%HKV5F#6c*cc&d]qp&&*^(*JJ$66885Hcl{{{{{{{{{{{?j744 "  "_nJiRFH% )mb'8d()ilh5cc8&gooFEFf'*H8KEf)fH)cigd]*cFb]^gpb*rFb'Fo*mh]c6dfc65KBJKNl6FH6)5bHf)cm*p*1^b&2JJ/HHRR11Hnnn||nk3442!   ``````\<"""<_5EfSfBJ/#bme6IGH$Y$$E5l8))FY56fHl,OHO$HfdF&mr]^(b]q62dbp*]_p(gc&8Fbcbbcrqm6'5gFGOK/Hbf'b5HH^l**K)b_#2CG/[a4``AAA|{Z{{{{{{Z{{{ZZ{ZZjZQQQQQQQQQQQQA??AAAAAAA??????????733<<< <_hKHH*$FH(flfGfWK/%K$$E8H)GFS7KH5cYHEclK*8bb]]d6ib]i*6^b]*cc#(oڇ*5hdmqm6)YHEcfU$WcS%K6^FmcdFS^6Hf5FJE%88ST{{{{{yyyyyyyyyZZZZZQQQQQQQQQQQQQAAAA7?4?334443444444=<" " [UKK6)Kol*HlI5FF 'oH)5ES/EFKG5K5GfYElEHF8mg6i,6f]hd*g*HgHbmch6]*^dchE6F/HKl&FKf&6H8df^b'8lb$5)5GE){{{{{jjjjj{{ZQQQQZ{jjjjjjjjj`` 1 !=<"""_o6fHFKHIWK5lbHGFK6HFHYHbGF/KFKK)fKKf)5$Fcdg6cgHgh6mdq2p[&^i&cmm8dbc&idcm5$)m22c8$$[](b][ciccb'd5$#%/$# !4447473?Q.ZQwyy@PwwwwwwwQ.33 <<"<<_FF/GF]ifc8h6HfWK,F$HmlK)E#SHGYJK#SKWn)f/$riFc* fqibid6mg^*df#hmmgc)F(mrqc)%F]f]iC'fb$5h]bimmc(m'$))1EE%2[rzzzyxxuuxxxxvxxxuuuuvvvvtttttttLL@:03<= _oFHFK)Ec($fYcHF1eW56*F5f^m*5W/l/EHKK$h8l2#mlfg)mF]*ddm^bgcgccqb5gb'F]'dgs8*[6foF'*5c)Kl'*c]Himmb(dc$*+JJB%ǰzzzyyyywwwxvxxxxxxvvvvvtttttttvLLL;;;:>?"" p*d6r]K5*o,6m),G,O5E5$hHfhg5FOH%$VJ)lSJmm/l&$dc8]#fg^qFHm_mg8'iq]b(f8&qd*](d]d[)5*8m^(dbE$gd*(^]]]dpF2b6#15#$EEB%mmoo||||AOAA``````133????????????>>N>wPPPPPLL;;;;:>>>>><" [ܧ+hl5*f)h5K)6HFcf^&$dF6Kmb2*i)1&^*i8)i^dh)Fgm6g-6m^]lb[brb*&qe(_*6_q*'gd[F$#dg6H%'(bH)]62J%)*1)hc(]_g[*5666%)))% !! ?->>>>::00<" _އ$ofH&ff#HI5hhfm/5*^H8qHhEfmi*'cibcF^]qq*]]^]bgOg ho65&5#'(&F)###6$#%$5$ F$'6&('&5)# $# $'$&&2*'#1&$&))*/GGBlDZzzzyyxxxxxxwwwZ@0733 - <  5cm_&lEFFmfFYf)1oI6FKHF$8*^fK$*d6#(F2&&& f&$&*^))c6]K$)F$ #1F&5%#)'%$#7 $ K# #bc))&#$$&6$#$$$$(]) &2'$%/)%)))[^acozzzyyyxxxwwxxxxxuuuuuvvv@> "  )##5$#$$/' F$$6*'&6) #$$$&#''#')5#$K# ##8*)#6/&#')&)/F/))5,')%#(##F1$$&F#)&6F $)'#/# *$$5$$#&5*$&)2$%% 5$))$l̲||``433`!`3AjQwwwuuvtttttttLLL@.3 " %&)&%E $ K# #F5)*##)$#5) #$$$&5$) &5F %%%/%#$5F$'b5&*##2GE&)F'#)$)$#&)#*(&bb2&2&#'*&)# 5##6)*#'2)&)))6 ## F/EE/^arzzyyxxxvPwA>- 3=@@vtLLLL;::>4 )%#*##'8)$&$e$)&5F ')'#E# *6$5#$#$2)&')H#B% %M% *5%)FHF)1* )+$)H))&F$%&)E*$&'&#,5##])'*6& ))1 ' F/8)$)'$*6&7 #%%%fBGG/$o^[433{{zyxxxxxxuuxxw>3-0@@::>>>0  )$#&$#*(&^b2#*'#'*'&)& )##E1)#'*'&)#)F # K) #8F''#H$F6&##)$$6S6F'H$)G$$)##8/###5,&l$H*5%#$&' F )#66&#%)$6)%G)#EGJGGB ^ɱA3 7>@wxuvutttttv033?::>  %')E*$$'&&#,5##F')&(&5& '*' ) H*H)))#$*)5 #%/%))$FG6)#5'$b15$&B%)%%$/F)5)FH% E)#$$) #EE)E)%&6*&6&2c&5'#&&26%) f5/HEEGB/ 4h{zzyyw@N2 3?PPttttL;03"" 5G#%*#%F5##5,*6)H)5%#&#$ F*$5*##%)%,E$G/#C) &H)$ 6))$f5$*'5K7KG]6)f*FE#Fb$)756Fl*)bh6F)&')*H&*F6))d)&$16bH*l)'66*5%)E/% !4Qywxwwxw? .QP;;;>7"" )E)FH%H5E$%%) ))+E)B)5&])#6#&2'61&&1F$cH 65#H)%E'*m8&2c5fHdG*EHFfm2Fh)68b2&_qd&[d_]_qd(]dgcc'6m*'6]dr^dbri&]m6665'/BEB/$ >Qxvuux@-30>>>" "b5$6b$5/65)6Fc*))8c5)&%)6b'*F^)1&c*&$1*#h)EE))) )#'2&6)H1c1)K$lE FFlܑ(*hH)52dbrg2]]_[dp_&[mq^d(]d''b1dgqm628/#'FH//%%$$3?wxvvvP>0:4" isdd]pq(*iqg^)(6*((&]1&()&HpFmK)f'5_g m*1)7%)$%F5Hf](f(6*i'm%lcKim*cfo%*ldror,6bdb[cb_*lllFbf')h6grhbqr66F*(b6fBBE//%\>;ttL;3  (db^gr]#)fcobd&c'q6&]d*88)H/E8HF FfRKEG%H)#Ehc8qg((i)h߇c]*d*^Ho%2qHpgi5bm_fcccmHWGOS668F^hmWim(]2((2&[//BBB/ >PL;:?" _gEqbmmFEbllH)c65bocKf))FlEW#5fSG6F5l6$EF55i(*md&cddcqo*Hdg6c^H)llfH% dbmFhmbi)[,7^/FScd]^bmf[]r*&^&2BBCC%%#>:>3<" slqgrbKGoGlhf$H*f5lGEG/$HWlEfHEE/fcFGYlE$fccf*Hdc]grghm'l*8Fhn$#5m٨F^g1l()/Yn#Gmdg^q5O*cq*)l56E/%%%//$>>> =< _glHrهKHmlmFHHm5KKCIS1%HfH$WWYC$F8K#%5)Hcf%)'S[6bqmgEH'KKWoo6'**dbisFfS5$fll$2g^F8%c6gr]*l)5F%%%%$$ " sf*lHEHHcHmKl+HKKHFlfUH,clHGKGKG$8)&5)r&&lHfBB#Hfm*]]r[(iq*o)Hm)c#**idsdgg^go7$(mmo65g^6'5HK#F6mi*56&%G//BBBB/ ]fKgqFclHf^57EHEmgc8FWKWG]]mhmd5FKc6f)5f8G#6f%$#lHlFG'Fhf6mgq(*i_[b^mm&''_dd_d]]igl8%'o/5B$Iccc$mmi&8])5H5El/BBBBCC"_F8mmEmfhg)H6gfchgmFKl8fccf)1bHHKl/FWGEElG)of#fFc)E$fr)*sF2*][g(*g)h(&_]]bib_iq^b[*i_$61)lf8ElcfpF2g*HE)KBCB////%" ]*[dqbq(gib8lFdcccgSlHWl%FlFSG2H/$Gf%5h6#ceK$$/m&(H^fm^*p5m1mf25sddmlg6q]cpbrs(^g2)c1H/oSo]]&2]*)#/BBBBBB/ p,/H^F(g]cc]*^*m_*Hmq]cg^HmFKmG%JW6#c8$Fm7/HS)Fm%)b&olKm^FbmcHhlK5)moWH#bo8n(_^(&[(]]m^c*6F])*]b/%/BJCCB _GRF&c5%6dcmf8‰F8_HbmEc$fgf6FG5WH85GO8Hl5$*H%E5 WK rm*'fl#hofcb[qifrm/nhhc#6*((][_&ibh]]b&2[&/BCC/BBC% dFK68KFl##H†BRK#lflHYlF68H*fSllWUFSKUHm##1m6$)&d^؍dd*5)m#5i^cmbcodfYGHR eh^SFFl#*]b[]&g^m#bhl)cF6#%%%%/BBCB]FERf$)8)F8$%ncgKKKSR8lml/KofHFFWYHi6cboH&6'))F **lHHim$bp6gr^&chmqFcSK#hcG/G$*g]ig$mH&Sh/KEG%%%%$////$(fomE1lH/)6Ehc)llHbHh6fH%HmcdHcH7mfcbl1gmc&lH$%Kc)qo*r^6[f5iq'dmcdd&isdbl6f%KrKSJ8I5)5Hco'mFrq&(Fd)c5)$[&Fm8#l2FF/lFdHSFHEflfHcFhF%Yc55lmF$Fn5)clb/*p*hmrFfld&sm*]bdgdb8g8gcF6o)^m^dr(]Fc$FEFShm]m2*dd*HF'#(Fhf8) ci]b21dHfgmf$E6)l^^5Hcg5SKFm,$dlmG ]lgHEF&2]]rgodm)*hm(lcq&qFbKbm56m)Fqc#IHc$G56[gr*(rH&bh&SG%#[EfcmF*)c)H$gfc2^fc#)c_bfmKH&cf^gYEccdhl *c%EfH^*bqb؎ol*lF5ܨ&fFm]ocGoFKhKl]fH&6b6_qdd*]]*2^&^*$foԼWFllF''6]66^Fffcle(['^mmHomomog#l8fnEE)hbHg2)pgc2cem]cfmfW6cHHWFfcF($)oc ]#)ob _'r)bor(gc*gdidFri]]mflFlf6BJoGo$&6H)fc6fb]]g][*['6c)ź8(*^dihcccScfSf68hi*^_'/eF%Rhflqigc*c))cbH(&]5Y6)cK5fH)8dh)hYhlH( Fm)6]&sgb6dr]m#Hg]*rdbp__gmbFcl&lchm85)cg5^^Hrgc'm]6*ic'EimƑպGKŽ^bcglmccH8hlKHffl28૾ݢdi[)K)8HF55&cg)&)cf$/KhK))KHOlhlEll5Fm)cmFR5g58#]*(bofr_l)6g^bqddr*٨&F)h5mKl/1S)cf)EfScc65*m2cfh)çFfŧF&Fƌlm^ccfllll^FbbbHHqi'lޤF+ocF$m)*$fd$$)*cl,6FlfF$KfUllK8#HHl&cfcF6d#pg6bl*dhclghg[f_d]]5K6HcEif7&hg1*HHcfob5mg1_f5dhf5Ō鑉·1''‰g'5Fccfff*]bb]^^*6*b]5ꉑ(Bf$6o$%$FHm,$]gfHYolG%$EFGSlH/#nHh$8^6&c&g]pm*d2Fd_mp]gi]dcbpigg)^F)$i[h_icl6&_(2]i_H^c*dc&d^*m]c)ƧSllH*'md((*bfflKF6c65]'hF5lđm&K5)d^$&6l])'gqlfr)$Fe'#mlchGYfKHF$SHf$dgo5$g&['d*cmcig6Fi_*dqdsbrb(fmFcF$G'hmi*c*m&Hcccgb2mg$^b(dEf)fŒFHfΧlc]')ŌF*]5^*FKHFHF))1^i2(*h12źK)Fcl&&$gO)$F8)$[&cf^&$$fqbo$ffFJG%Y8lEHc7HSKbfgm)]((_(g6mfd*hrobigic6dsdq](cfcdm*26^5hf$$m)^56mHr*dg*2cFH*lfflfƑf6)g*')H^bHHF*)ha4[2mm(f588llK,F)d&HfF&1F$WbH))&ch%#HKE)GE65f%8 lWl5gO)h'b&[g&^gdf]qldfqi_gib']ppqpd*ddcH2b2gdi^Kf$&d#^d^^bqm*)di]]*#)5'))fƧͺlH1'6fc6dd^c6^b]]b]'rrdicH2')8mf688mlf$&'H$bmc1*2&fclF6$Fmb&mFlgE5f#fHnhflG5lGKm#1m6)2#]&d^&sgFmmhgmm*]qd(_sgp]pg&chf86l&8lcKF]c)mghHbor]]cb*ib'*$$FKKKGHelc118H^'226^6]6**661cĎomHl'**^''c86KflffFo'K)'cH]8F#YRc%*$Figiq&(g[_(**m*^db(FcolE#hi826cd#m*'F'5ib'&fim]dfg]6go&]gdpb__*(dbcK*H18n7K(*]5fcl^cid]cp]*^b^]&1fflffeÌF8122Hlc]66662(''**]ħ塡c((*2*c^2HcHmHlmfll*Kc)F6f66$fOb$5cmgg qb]$b]^g^*cq6^dc*)OHHHH8ڇmgh)5g]rm]*]^cKfcFr^*b_qs]&bqhH^6lc8Sl1l12)6bhd][^](bm6&^6&qF$GFhoflcƌl8'26hlc]'c*522&&E]22))5f]6HHcgFmcHi)fc6b5b88hd&Ecrmi&GoF6d26mcbrfhHFcEhoFSlE)r6H,^*rrgr&d^8m)cc]]q*_g][rg6b5l8HS6lHHHgHdh6*qb*d((b2&F6)^]2^ohmĻeçÑfH((8hmi^*ri6]2'5Sm2(6658F68Hlhcmg]*2i_+HFbFc8ccmFH)*56mHl6)6l$FH)bHfhlhoHofKUl$8*dc$6)m(]2g2hdbogrFlqsg(*i*2]m)F5fGlGU6*^Hfqfhq]dg'&^*d'(['266&h槩f¾c82(cmm^rbc5)6Fflc(([((2]*'cSlcmflH222^E8)6%8glmF]%))6cm)Kl#S6%H)1dllglFRSH6&h1)cg^&6g6g'obi^Fqmciggdq^]dg2**m6b8cS/Ol55fH'Hcgc8m]il((*2))56266holÉfľκl81cffc5fd8cm]((]c1'hlHhlc2*](i)fE$fiFh5f5mb))))6]E)HlHlE)Km66bohSHGcHKHKm 5hf/GF^b(]gi^d(&6br^dcibhm*r^&86gHFhKco/878)c6)E6lgOi$]b[)(*(6#%2c6ccio·eÿּG6h8FKHÑ22*c'882'l8HfKc]8ddDF$)Yc*5#c%g5$)$chlF6FWlF5RHHE)(cogllfrH)f6cfY6lfoH5Fb'(6_]bh(d1*clgdf]f26g]]s* Fcl55bf]c8lflEg$'*6comg2)]]*#'&h6#$r6c856Ƈe§Èh55SiF5F껎cm]^[i6'Fc'188h6mo]^i2dE$5,8$%'FKm,$)dmbcW8bn8/)/FUb1%]clgmWK)mHYlSW8*HlF6F1brg2d*8d^hiq6pg^d]]cigr(]&b5)i^fmGHch5&_('6ciomcmc*[(])(F1l,$c6rd^ccÑ·gňh58YçFh'qq2)i2&*fH6mH6c&^6mdii2q],$))6&'$)I61*FH#2m)$6FH/c)#ol6)ch^hmb6c5lFlcK$fHffgG#Kl%*^]]Eqcm(gF6mF[d*[dbrq**i(^(2%F)[i][cf'*h&)*2^bdmd_)*$6)'F)fH$%^&]d]1fՆg͌S5HllFĉc6H'clHHh&*F^^m(22*6Fc^^68)2b2)6&#'5c&$)cb ]o##6ffFHE$mm&[mKhSmf6FhS)Hc6*hb^Flh$$H,Sg5mfdfodF^igm&6dF_bdrg]2*2g]]*2]2b]d_f$l)2#^ciidg]$6&'$&^F$$md''ddWlͧn5h摢mc55cm)5SE5F)'*c'com)1568F5128m[]']]2')1$ *c1#&fcb^)#(fHf)El$KFq^bmclShHlW#FE2cd2](dp*2,o#dgc5'5qgHdqg_g8c']iiq*^d&(*_^6*^6cih^ff$&d#]1]hm^gc16])'*(56f$#c666WÑoHmocއ)8cHl)$6KH*co&hnf'6H6H8d26(f)(*]$8gH5)f&]d&m#flF5$$fK))H8KHm8c6f#$HHc&(db66fc#*rmm)dgcm8gm]]Fc(6b_g\dg&2mf]]l)8li)K8]b15*^ccrcmd)^]*(2&*illffbfbbbffcfccHF666^ccccchchhhhhhhllllffccccfflջmHmƈWlͼ8KHm6&fh')f1&*c6lnc''5))682^ogc*8FEHF$EWfHE5F&6f&c)^*5*E*c^5H6FoHfhH&)^885H$K)))[&ec6,^F2'*c)m[ch6'ib)hm']cdpb_d[&^Hgc6H'hfH7K)*8)&^cd6F6]F5b*1'&F5fffflfbcHHffffHH88ccfcccfhhllllmllffffflmWrflռm6fΉ1hcm)8m8H6*'mc'c5)c222c^^cH)#lc6$$h6$'Fh#d^FF&8E%F5cd6Fh8FFfoc6FFSF'KFGEK6F^)5H5KF86$b^Kdcbc6id6fqb6db]p(*]c1Hc*l1HlhFl16()'hb^fdE&2%^'&(**/% lllfecfHfffcHccclffHccfhllccfmmmmlfccfffflH嵌ͺfŚGYν2)H6H)m$55'6(cc'('662'2//F5fK%$JE)/&f'gif&FG68)65F^)8f6fEOolFHEccFHF/Y6K8*8))lfFc'*()fiHFlifcbhi**_d*]g]]]]bm8'6d)H)G5H)6)fHlSf*)]f]$&*^*[$#&llffHccffffgmlfffllmlhchimmmmcccccchllÉΌfԼKGΝ#f)h5lFH)5q''**8c'&&(]*^q ' #5%$//E1&h#$H5I5R)5H*%$$)1/8cESGc$cfh6Hc65dc66)*)5HeH)')FHf2&8FK5dF2&)$8dc$b1]c((b]&^)' & )&# &*6$ #))$F2' #)lfccKfffflmlgmmmmmmmihccccclΧՈfԶSKYH5&hH8cid(_[666'SH)'co6[(hr[ )$1&#)6)'$')& '5' #E####/$%%#*$'$6)&5#)'',)##)$%#5$ F$$6('&6&# $#E&#''*(# )5##% ##66%#6/&&2)$##)fllllffllllmmmhhmmmmmmmmhcfcllmκ͆ԀlͼKKÇfrhr(&2o8&d6'2&'&&HriH)1''6o[) b*#%f6#&1)$(&&)]' *6&&$#$ 'F )F#$E #$)# #F&5%)&$ #7 $ K# #e]$*$ #/$&))#$$$$(]) &5F #%%%#$5F#&6*&1#& *fffffllflfflllllllmhhhimmmmimlccHcclŌWŶKKSWcb]dcc66'c8i6''2*()5'2c($#7*#G$'#%%$$)$)F b6##$ ## +6##,HF$H)#*B#)1$5#)%%#(##$6)$$&K$&)6(&)'#E# *6$5%%#)*$&)^#/E% *FH)#H6)*&&1&&ffffllfffcfffllmmlmmlffcHffY֚KżffKđ6chh^)HcHc^''''))'mSl6'1&(8($H#8%#GK5$%/%$/' ))$K5#$&/ $%%#$JK# 5H$#E+$5G*$F))#6)$#&)#*(&b8*&*#&*(&)& )##5f)$*)&'*%F ## &)#]H6'##$F6&#&/)2llffffflffflfffffW֌GfͼlWWl]Hc&)hH/8'''8q2&#hS6''&1)'2(#S$%$/$)*##$$) )## B)$#$)C//%/$ ,F$#/7F#'))%#F5&%F$H%$)+5$$'&&#,5#&F')&1&6& &*1 ) HHF))'&$*6)5 #%/#%&&$6EF1#'$b1)5'fllfffllfffflllllllffffƑΈŶFf‘Ͷfżc1'o568lmhl5(''cm6&'hSf66)'6551]'K/$#E$8)&#$'& F))f%#5$%EJE G5%#K%'/F/$#F/%$&WF8)c$K5G&%)#)F5$#5,*l)H6&)#'#&F*&56&#&%)/F/$F%#&) '')6 6))$W)'&FK$$flllffbflffffllllfHFHKSKΑbgμlfŎ)))F5mlfHF1)EH']&1hcc8'm&6H)(88i2Fc)5+%.%)1$$$5##6))$,H)%8/EH/mF$F5$$FE5$/H)HH5E)/5Bf8K),/FH#'EF5%%#))fEF)'56)&]]&6#*2c&8#'$()*8/K KHE&c q'*(*rf'*%*5^fB5flllllffllfflllcFFH)H釈ՉegͼWźbfmcWSGc21Klh51HcH5[dmc6[KF/HfKb&hl$(#8gmqgHf8Hf%fg1_fqgHfm1c]flf&Eqmf%'og6fhHdfdlbgii*^]](ipp(idf2gmFmc6[qF$&FF2cblp^q*'gm6]&dm 6KfllllllffllllfHFHWfIֹźlmlFESÌ5'16'HlH6loH5'hc]F)E5)Kgchc)*ipGhcFFF$hm6)cc5FoccKb5%5)lgF#lY$)cbc*)c66'bc*i_bp]dg]o]Hgmb((p*im*)ch)Enmgpqb)m]Fh&cm&'EcllllllffelllfHFHlKI͹Yçf̀F)'&$$E56orm8llf^c621'''8ic]F6Fb18fcoF 6)F1lmgm*8)8*bd6*lclcfF%fFF)lKlgoflqF2cH$(bbc*5cc*o2^d]pg&F$br)im&2)f1bl&]^g_6rmd*q&co5K'HfllfeWflfcbcl,eŵƵFռlH5)55Yq^6cKl8h8$''ccmddFWIKcHF)rbf5#1'qd6F)F2m)'mccmbWl)mH$*o)Kf^flclmS6*HmgE$fop*qm)gm_ٍ ]dmbl#l^q6#mf)*^_*sdqb(&i&^b(]*#6fllffelllffWW,eŵź88mhHE5f廆l'&Kc2]d''28]SW)ccbi5#*8i]cb]r*5fdc#fF'lfmgHKF5mFFmfflgifhf(^lmFhl6g(&2*ic(HdgbrbF()rfg8&l*]^qg[g_bd&(_&]]*dF#6lllllfeIeYllWllWW+e͹źc5*cr)1^&(*FH*6mm6'''5llc16l1(2]mdl8GREcKblq)(6mlFo]F*]iig#)c)66#7K)6FHKHmccmm^)*qpmm'&g]b)#8g]fqb(^gdd*dpb_F&]l'm]rf))li^(bdebi*i^&do$]llllfKIIeYYWWWllff,eͶż)6m^]*]&2]6555GKK8hmhHnSS56lH2(^il)6fR6f*HK6mgh(fg5H5E8bF)KlmK)cc)FHm5g5ol^HHqiodbHF6$fr*[&drqb*dgmlqF)cg8gf)&'b]bds*g(FdFmb8g#6llllfIFIeYWKKffHf+I͹)''12&6$#&&6EEGS'KUc6coh228^HWco$5*HHFh,dh5)mgl&86%mcK)Kmlmg)Fhch*ifmd*#cf*bg#f*r*ibpd*mmgb5FrdEmcHf&$d&^g^dr]&)&]h62f^ #*llllWKFFIeffflFlK+IeW12]*&[18)5KKKKH')ll858cm'[m_5Kll)85f6F_6Kcfgccl5ff)Hflf)r)Flff2c$#Kfd*6d ^**b_rbpg&dgc8*_^(Fe[]b(g_ddd[*q&]]Hd*]ob&'^YlWKK,FIellllWKFlWK+IoHd_](i&&&&)KWKRRR5'1')Kc66]'c(ciFmp6%b6F(]m]f]cbmfrg1HcmfF)ffH5Wlc6)fGq^55fm)$Hd*6,m&g&]rd]d]dp]*f^fe15b]5c&*]1^]bd_*]_*'&5g'#cd#2cWYWKFFKeflffffflllEHfll,IefflohHhlFHf&')FHKWGKW'1^FGh^^i[(r]hEcg(^K)'lcF]db^6m)¨8glnm&&KgnFclFHFKr*^g(lFrdb)FFqsbr*cisg(]gs&&]dg2(*q]^oc#&#]bp[d_[]](*(*qbi 5)ffllfFFHHfflfffllmlllSEK,lff,bec,llchHF''&'*6HFEG58H2(ccHoi]i(]m(]i]cbhbm6H]*qlclHqgd*^cFHfm*FgmF5ocf^HFEsmh*imHllg&p*F2]]qbidgpqd_d&b]F6^(gcd_()5'2*]]i*pgdp[q]*]Fg6#^d$)ffflllfcHccfflllfllllllmlmlfKHHH,lKG,FbeK5KWlllfHoF'2(2d^c*6]68](6(1fln^^cc&21cgrKF]^]q%)md&1gpdg*FdFcrmhfg2b*1EclH8cgEcf6mqmdq*]dgmKG)])cb(ލ(i__]dp_ppb&_bc^&]_mb[FRr''$*cm[_(dbp*]bh)^g$[*Kffllllllfffffllllffflllllllomlf^]d]FfcF,FIefH)fSKWhhlKc62)HlhH5666f52''6질o6mfc1'28[F$lHK#$q%*^g8]5fcdqg^m_b^[2)]]fdlfccch5bhb(mgdddgdrhGF)Yf#mc Fi'*ٞ6db^*_pg؍]*(bHcdd]g]ld]Ecq**2Fid(s[(g(d]*_bc&Fi[6(ffllllffHHfllllllllfflllmlF8H6Fcf)6HKeefElEllmHlHcfmlfH565)H'5)'1nlHl8c2]6(rg%5lhnB*hH)h]]fcdcc]_(]]$]]g^ghc]2i)g)qg]dbdK'E%hgoff#HbF2rrqb_qb*^*cm&c^]qlm]g1*]6^d[]___*_]b'&^qF(#fllllfHHfffllllfflffflommlFH8HHl$*,FffGE/lEmcmoclHFHfmWH685cF'''1Hlnnmcom6m'FK$o$58T6f6*d)$*p&ibmibclm])qg''6Fqgmig8)^)6Fd)rqfHGmbcmg^1*)dqp&i]_psd*c)g)f]q5d*mco*5b^]_gp[_(bp(]&^*]d()#lllfKffffllllfffllK5H6fflm'**,FW)Kl5lHmmHHhlHccflmcHlH85H5''6Smhim8o'85$lH$HH$EEHlFi6*8*rqgcm,&mH5Fb)fh^oh2bc6qb5i'*rqgHFRʑHo^_&*gg$pm*]dggig*2]$fFH/mEm6(dcgidq]d[*([g](d]*'fllllllllfHHKffllllffllllfffllhcfhc66ffh&]F,bfcrmcolhm8Hof*bg*8HFHfcH8'6('8lhimhhd'^m%Y)%7%EemfcbiF(b6'hd$ghl6lmm*mh)6]6d&r*_g^KBKK)g'bc$dm]mb]rdFmr6q&*6]]mHc5ifFdddpd]bb_(g^pf'2qF]]fllllllfcccffllfHffllfffllccccm^'ffc'***Ifllhmccro**]*655FF66''HWoomrhii2'ml%FY5YlEESF58cmmF25&mo)2)8f$c)ch^'b8cf'd])il&Glflo)m2cd&&(*بf6*m,cFdrcigcmll*dmm]f2f'2g(g*p[sd]s*]p*]]]d*2#lfllfllfcHHffllfHffffffllfcHHcF6]^*K8&)),FWlmglhc8i2&&*6fhcc6(1hlhmhmhhh[25HB)m81EHGHlHgޣ6dF]6'*mF81iFH'gmh6Fc2KEGh)m((]1)FfcFr#5,2g*]8g2ischHcq6g_gdm]f6o(&q*dp[]pd_b*g*2*r]6$fflflflllffcKcfllfHfflffclllfccHHcm6*&6)$)55HWllKWfm8^i2&58^c6*]]2^coooohdcimic]&6EfFfHJGm$1g6]gg86F])6FFcFoblb8fٻmF8c)cF6'fc]grg88fK//Sqbrb6*6grg6*^&d_]qg_&]h*]]pc*^#cbg]qdb_d*؍&p&(*(drF)6ccflllllllcfffffflllffchhccflllfcc8Hcc**'h)&)*5fWlEmm6ci^&2(&8i^]]2'8HmUlmh^ccmc8(*/)'#K%$'EYlF)glF5_of*2&)]d5FlighdgbHci&HhOf6q)dc5FKE^*H‘8c&lidob]](pp([d_]bp&pdid(og6(]d&d((__db*_q((F(Fq8$Sccffflllllfffccffflllllhgmmhhlmmhhhcccc6^*]&5**&')FKlSfHofom8cch*^(hHHH8'&8Hmchhddc^o^6'*HH)&1&_6)^gc5**]irr]&^5'&cgcc#cgifclfHg8f)Slgb]of'Fgof7YKHF5rfd**mibh]b^d&[*]][p_(*pg](i*i^]]*_*2_pd*_[_(**[gc661ccfffffllffccHcflllmlllgmmmmmighccccc*6^(dF&*)&)5HlS5colhmc^cgff*'$l)'65H8'(2'HSHchc^^^i]1))&H55256)d2]^g^)8cf¾gcbfc*l^b86Fccf6gg8H]g6dFh5^f*(cfigch85K,]'FgF__b^g(*gi*(gd)d*d]Fr^b2#d*i[dq_&p**[&d^[b'fcHfHffllffcccfflglhghflmmmlhfcc)'6^]6lKF&'56fHcmHrdcolcHlfcHh1oc6''651][)HfHHH^ccc^6''11F)1]F7/m5o)fޡK)mfhF56Ihf)dݑ66*m8^Frm)Hc'Fo]gmhF6ffK6b_bgmFEmݥb]^]]dq]&bq6fmd*]^f((dbibm)bg](*]p_(gp(*^((**p[&'fKffffcfffcbccfffllllmhdglhflllllllfhH')6(65)&&)5)Hlloc6rm^cmmcbgfFc))c5i61'''$8l58Hc^^^]2&2''5dH/)mcbofH%Ebr5mc])fc5Fflcb)5fg8q2dmF5Hf6mm8ES6f$fgm8qF'g^b&]bq]*qqbb2hq]#_m*^g_2b^b(*2*rd[]_p_sbb^^([g'1flfffffffffcccfffflllllhhhfffllmffffccfff5))61)ll&'))mm58chmmhmmcdmmcHccH56&]8m8(&'&168$8cc^8622'2Hi^)'6W,)clcf)foKGg]EiHmb6fmogc2cccfg6fffflF5bff)Fqg]q'(^*d*cd^]cdb^pd*(dq_p2)'&ii(&_g_pg&*]^&&][b58lffffffcHHHFFHcffffllllcfcffflllfffffccfSSH5'55&8mH666ll858ccllllhd]cgcFHFl&*6)cc'&'156618cc]2](26]H65YH)mcim5(fFHK&5&rcf)fmf6mhc6clHfhlcFHoffH6^d)FmcW*cqg]*2]*q&*^ob2i]gd((]__&dp)*c'*]&dd_gpb*q*b$1fllffcHcHHcFHHfffffflmlfccccffffhffffccHHHcÉ51)f'ch5188cflh88cclllci^]cfHFbel6F))6l5&'266c8H^^2(2'2]Wf5f$chglcfmF66h*]]lg$]gh)fmgdHI8ib^bH]lnWKl$$EbE&FcFcgHcgܻdgi]*ibd]cdi*'i]6]*[]]pse&igdi*((pb[ps^(d&]&*$'(lllfcbHbFHbHHccfffffllllllllfcccfflllffflllfcff58H6&'^c16FcHH8c66^cchfd^bbbbdgmcfb''&c](268H866]'''1(''(^lFc$lࡆHE/fb]8cggf6brm,]]ccgicq)HFSGhFHFq6)dmF5lb_dbi2b^frg^b]*dcb_qg[(irgm]g]dgd&'*m^*m]^b_b]d_*bb*5&#$)llfcHHHFF8Hccccfcflllllllfcccchhhhhcfchhffffl'8H8'^86688H81*bdbggb*bb*&&hHlH6d(]^(1668H55]'21^ff5Hf6Hl$K85H&7ccbl]bdK_*c6^^b^b5hHibc5Elccimc)8idip]i]*qq]bdq&mddg(d]*[g]*q]*g[&db]^^^bd](d_p_dg]*6)K&'5$flffccFFFF*FHcfccccfflllllmlc^cchhcccccccchfccccH5'Go^'H8*56^**2]dbbgb*21'2(6fYm1''([2221'2((KHKE$o*FW1Gf5ml)]lcogcfHfli]^hofmKlHiSlHG5cm5#fccggg6dg(*qf]bid&d]dmg]]dic&(g_b(dbpd]bdd[_]F(b265$f#fcccbHHbbFFHHccccccfffhllllhccchhdccccccchccHHcc8)H11oc6&2&c]^HH8F6'di[226c''''&''1'''621dJ5Il6chf))KEHF%6l)Kgcfl2S6fYFfhKblll$F8Ff1Hfl*Hlddi]*bcqgc(mg_fqgo5gq*dg*^bd&[m*[]p*pd*]'b]55e#f5$lllfcccccHFFHH^ccccccchllllcc^ccdcccchcchllfcccf^Hc*(6iod15cHcccH8'op^^8HmfF)12^2)fl5f'chK$FBS5cIH*m]b'Fcf^hibmHlWGHFlUlGGK5#H8FfGm)fibf*i*cg6p])*hfdg]rFdb2&]d_(*]p*pg']q*q*26*m)$cF$OH%llfcbHbeccbHHcccc^cccfhlghhcccccc^^cchhhlmlccchlΨirh82251]^c5]66666'crohc8F''^&(]^)$bh5b)lcbq]#1iFKG%fh)5eHmrdUqFllf5KHmhfGhW)5h*88]moc6])*H]g]*igifi6c)(*((bmF&6]q[gq**bib_&2]^()^6#HG-llfffefbFbbFHHcHcccHcchfhhcccchhhcccchhhllfHHcllim'Hm18'16666211152*q٢Ĭhm866*(d^1''o25%KFE$7h6JSƑ5fG*cc(g,f'b_qcGFK/8m*n^hf$8)cr,OoFbcdgg)6dgHdqdgُdghc])*rb^m*26dg(biFcmc&_q6]**&]*&6(('llfffllefebbcfHHF868cccbccccchllllffhhfffcHHHflllc'd'58c'185551'2'1ܧmdd6**^&'(((((8h]NEEcRll/(H6mf))qc]&[sbcsڍ85FlH$%Hf%Hhhc$8rFHoqF6gf]]c&Hrrg*isgdg]cb*8b6H*hdgp&drlFqb]o]c(]HF$$]#'(&oklüm1Hh662&'mc86c526*1&#1'2iim\SfHKEKK$m$H^#$Fi&crm8FlHK^5c$H)6lHOfޢ*Y܉b)qm)m'bm b]]bdmc)q)$*q#*rFdd]rc*q]^g]$2)goc%5G)FE$lonO6'ࡌhmH1ho18685i^6*c6216mH'cKEF2'28[2][imm26oHl%lFf/%6gcc%#fd'mqfH/O$GHGHhrcq5*F6m)6ܥgc)^e&g܍boF'lf*bcd)q]mm*]]ic*'cbb'c2c^fl5Gf/Hl$[fK5EHc%$HHfY)hYSHH/TGYHH*5b$f5s^ f)Blicrc*fcmm)bڍi))bڍ$ghpg$F6&]H5H])F&qb]*1b^^bmi'#b^66$F56E2f5$$%5/58#/$H %K$ K%1H6cFf6)HF(Ei6c$EKh2lrHfF']܍hb$mi&rdqg5Hl#Fl# &bmH#5Fi_b*&[,])(g1) ##5$E%$ %4@!042'8cHm62''8U8Y1/&(52(*#1$')15'*55'[5'6c1&$2((]#5$'2&' /$'#3@-12(1^((28^lh822[8RYH2$1&6$]&'$&1'$$'&(55(($1$)$'&'#&''6'$ 3P?!588[2oomrhO^2(2221'21$('2(((5*#11')(&8#$1#'$$/)8$'('&62*1$$3L0\!6cH1mo26((66^^6^H6H[i68_Hi^86Fc8''&6$/1''$')6&$(2'&&1')1&')*c('2(^)&()F^/d3L.Q4͎H52HhUomom2^886]rHm68c1f2H8SH/51]&(2(d$d/16h'H8hd$)c)h6d(%^6dd5]]c5id)58^H8cb?P@Q>4o1((Hl2115![m^4'55[mcoc5c^hl8lch(5d6c6cmc6]cl6ic8mc)H)Yo)l]2r]2c2^^]]d^^h'mcHOwwA@-40(hH22h8((82682dh2cH(^cmHdidl^c8c8^'chH6hh5dh8]r]^ilr2ccllfomlH8b[[6$mhi(i]Hh6mQyZ400?A3[1R28^8RKWimmh2ld2mc2d^]r]dcdd6(i^c6H8mhc6omiho8'8fl%Fdf5mc8c8mf6lH]*cHh8q6UyZ!wQ-?.2ch1DW2G566(6^ch^6!6(2'hH)]r]m]md6'6mcm5c^c^i'miqh5chFd28*mcH6Him8m68/l6586cc[U{Z0ZA?4;40(_2m28'H126E^2n8O(26([Hfh*]fm)lfc/mc^c6cm^]i^^__c]iq2m*oF$mhF/]F)^f6$Hf)mF1/)555ch{7LZ!?0@-0!9-]mm[_8lc8cRH[hHm1['fR)mc8iW)moG8Hm/chHmhHHhd^H8*ci/mbhfr5m/)]/'hicc)f6)HFcH5ch8hZ`{Q7A@300-L.0-do2l28n25Hm(Yc8H/cf$oHfFB$fif)688mfc8^2^ch/l/Hmc5mmFic/mlbh88]H*/KHbcHcUZ{4Z!@:?4.xQ0!A0^i(S51Hc2(22h2^222h8KFlSbccFlcbHo$6icf1HHm2fdF&o$r/lml/8l$cmHmfcBHFfmc$6]]dccHjOZ4@Qw2>wQ``??6^(!OH2chhhm6ii5hH2lf6lF$$c]2]di$18ccHUl6c6ib$8f5m6$c66Hmdc/odd)$hHco$6fHHfcho|jj@QZ1QwZkQ0Q!428^1h8S8(8d86((cfFmF/FBl8]ddf6$E^d(hbhH$8m$co]l^52i]*sc^ci6clgi(f/Fml$(Hc8^H^|QZZ4wyyjj`A407!7(]21hmScmcUo6W56fKWES/Flf%q8'c2'^c]cc]^1^h$mo&lf$^h%8mh&^ccflh8*6cldc6$HHGhb(mnZQz{{{ZaQA?343-2266(12(6SH88mcf!8H6FH6^//lf/l$o8)HYBSfco16o%$fc)lfflHH8'5lHFhc]2fch]$fll%ol8omZZ{jAyjQ74? 961688mi86]66262(]6/6c/]c&8dm6ciFm88HcShch5)c18f&d^%hl6lo5i(8mb6mhi8m(ll$q]^c$Hc8hHm||A?{ZZ`?QA! (c22(2]85(^l/6oKh)l]fC8)(d^c8Hl]66l15l#c*$ciH(q6^^1F5*[^(c)lh6i&mlcH66c^mU?ZjZZ`Q?4QQP:-]cm)Fo*bffHlH68cccFGH8d88/c658m/EClHm6m8'*c][c6i6mH/q&]^hm5cndhh{jj{Z{ONwvt0!%m$5F^E56cdHRYc688mH)ic$B)lSHmi)lc6bff]&dHo66c1q6]8c8288H7`U{|y?!ZxvL`-.!fl5l6l6H(cm/o6/q2mHSlHflc8bio6)hdd^HH5/6F2]6866Fm$ff/f8'H18U78Z{Z{77Axx@-09]cl)fc)Hf#boGH)1Hch'6cfhl)$F8mHid6cH^m6Hcf$Hl186/h)lc1H'H2|{Z`Qyxx004!;7-(^6l68HH#FEoF5h/hbH()o8cb8f$)R(rccFl^^h)/8l*^o6mH/r1rH&hc16h2|`zxx74A!-L -?`[(d2mf/fHc$HcGc2]id8H)l8hc^8/8l6c/6'8c*$/668c//5]'6'(]/$8166*md1hn{nxw0Q0v?90!.Q4$1)5)))/H$$)/#$(6&5$)'&$%$58$$&&&6$$&&&)&#/)1$#)$$)$$)F/$HhozZ!??:vQ?-3?A0$&&&'&/&)$##&$$&$)/%$/1/$6$))$'$)$$$&$F&)&$$)))$)/$6HYnQjOtxLQ70?`?-($$$$F&$#&($H&)$%/$F&B/$)*$5&')8E$)&B$&)&F5)##($$)#$)$611RcYm˱{jQtxwQ`??0A9-/%%6$$/)$#$$))#))1'$G6(6$c5R))]fc*$$6()F$65'$'(*6))5/]5/5/)8cK6{2j?!PwZjjQ`0`-0?!9H5HfH/f($HFH8/*568F8c1(]$]6f5/m/l)$cd65c]d]8)YbH$cccf*f6]^1c6c//66dn2{00xyyjjQ^AA-A42?4-Hc^lmff51HHc)6Fc6cdm1b62qdFf]ch%c]id6c]^clHHm1$dHhd/H66hllCcc6hrh7{!Qy{yZZO`ZQ?A-??`cHdc*6H)8H]d$*^l5ccm1H65'Hc8dcH$c6i]]m]_]cc^^*)o8888F)l5m6l6hh2\O4yz{{{y?OyjQQ7A3-?cc6h85cc&c['m/h8H85dl)H61hhl6R8l6i'*^]2^fc^dfo*]^'^cc$Ucc52l)66](nnj{j{{`QyjQ0-QA`0-90f8H8Gmm$d]/i]]6]d^dd*c1dm(d5c815c]b]]ddc5lH5cc&dcm$hH8mm*66lc6nh|{ZZjO{{ZZ^?Q7?Q:;956cf5(lh1HH8/6h/_]^H6^1*r2i(m6HBm865]hdc^]H68li$chh1c66ch(^[^6EohSm{jQOj{j{Z7QU!0@tt@ 18lcH^mo&r65m5HW5ii866H8mm186hHc]m26f/c_]22cf5'ih%dho$F]h]1]c6H68(6moU{{`Uj{ZQy``ZxvL-44((]]8]'d^dHB8c5mH&mc8588)cl(^6^866m58h5lm21]iHH]mr$c^fH1]^*58686B25ochOkNj{Z{{!!Qxvt3 ?>-025885h]m]bc/ccBH81*^c'6'6R1[c6Kf8lH^$]i5(]d8F'hcldFHWc/^c,6^(2^E2^chd`||7{Z|{A-9Ztx:4AA 0>!5/5')16(of%b6//H)/F51/bhc](]H6SKd^2']d^*(]cdFmccc/6H)bB5c^&']E^R(hn^jO{|ZZ4`jxxL 4??3-:9(6/E/HEf6mH)cg/cH5HllHc88fcc]]ci8fHod$c]m&5(]i8]*qc/HF/8H$*]i$]cB88R8c4U|{j7{yxx?4?A09:9()FR/F6B*d6$bc8c81FmcH8cKHd8)6h6l)lll6$cdc&2]^mccFqd)fl16f$^fh5]86(1Hh\|OZyxP24AAA!3PP0-0A)//$6*]'b)b6]66Hb^m]^'FH^HH)8m/m)6hlF$Hi]$2d^f5/(hb%]H*2C*]cHb(o5H1m(Z|zy.!AQQ! :LL3-?A0(()d/(5)'1'8^B'c1cbHHm%]H6S2&6m5f6Bf86*od*)]b1]'8)HFH6fF/$mF]/c8(22ozw2`QQ4@tt@!-?AA01E/6bHH&fF*)o'c8lHh#/8)2b6HhFh8c/H%Hiii]cc^d(5*5HfBHf$dmF2^E[o8ǰ.0ZQ`0vvwQ`?A?4 .A?(KHH/lBf*$fHH6W'h6Ff^BFHB^FHcbc6rcc1cm]$cimc[8H8&fC/fl)/c]l55E2'HHmDz{4Z{Z!.xxxtQAA?-.AAQQ0*lSFl5/6$&FG/8H8d66/m%/F5hEccml^Sl/biim]ddlH]*h/%fKF)l6$6mmc8H)5l6cmDzkh{{73wvxwQQQ`!4??AQjQ 1^l68B$H/#bK/EH1c]/cm&686m)oc886oHf/d/m]^]d(15&#]6)1d)$d6*d'c)hYr2Z{jLLxwZZQA-4??AA04AA!Homh5c6f1GFfm'cHcl$RBBCCKBflc2$cGbhmd$dfh^c*c2bH6F/1rcd6/f$82l^{7!?wxwyZZA`0AAQ?77?A!2Hmll6co%HGWf1c81cH/KSRK/KFBllmcdl^p(d^cd]clHb/m)f6SHi$2qbcF6c$hm\_n?-Ayyyyy{j0OQQQ0-0QA9 4!hllShcBY)858&h]/]d*'21)Fhf]cf2f]idqq%Hmdc5o&GHH6dc6dchHGS%2\o]najz{{{ZjZZZA--0QQ0-9?A32i^HfH)H)8B)FFH8KFc)85)RKffm/c6c8]pl)c&^mbd^q$)5Bh2c5*i8/F5fBc]Hm^Zz{ZjZy{yN-4QQQ7-0?AA0[fcm6cc1c8c^]^)cc)8BRHcf5GfHCGcm(fH6rqc*m5mffoHREll66c''mH]c/m)l8H6|ϲ{Oj{{w07?wZj?0?AA?0![RWl86RKFfH6c6/mhl/SK%FH6Hccc85i1qb(*hhoc8CKW/HH*(_'28)B/H6mmnZOZ{{j40yyyZjjQQQ?-!-49AA?4EllBS)Hhe/fR6HfHfmHcHH/Wfc)lHHflH%ri*22ci*mmc]bRf6FF$m$l$ER^(HnOn{07j{{yjjZQQQ3-.??AAA4!' $&)5$6$%&)$5)HB(65/5H)$/6$H6)%/Bb''$])']$$($&//&)&)))E6HR]6Z4O{{AjZZZZ7!-7AAAA?0--03&H$H&$)'//'$#'&$$6#/#$/))%&$$$&/&8&&$#*$$$1&$1$$B#F&6)$&&&ER51H2jA7?{y{?74AQQQQ?-!7AA-/5)B/$$)%&$$$&))/$'/&E&/%B$)5$)&&*)$)&'&$$)F$$$%'&&F&/C$66&FcC68f6(\|74Qy{|ZjZZZZQ4!-3QQA`6#B)5$&&8&$E16)H/)/%/%6//5/FE//%5$$&FE/$&&&$$1$&&/B)H/(c)[6i56fH)68h2?{{ZZ{{{yO447AQQQ?3/)b/85(*51C/f6/)l)f1BRGHFll/H6H5/b(b5&5)(^H/(/f6Ff*bmcf8)cc5B5i^(U|{{{Z`!44QwwwwttttLP;@@:>9.!^5(m115h6H6hch6o]6Hc6/lf)fll)&86$q2]^^^^'Hmcd6d*K]^]i]lHHEh^1S?a47A{yyxxxxvvvvttt@0- 2d6^rc^i$cd6]cmmlmc/cH(ml]]d5h]]dF^qd^m$qi^g'dHf^Edd8H^1hH$6HcHonjZ{zyxxxxvxvw?.3!---3-343(lS(m)mf6dm]oHbhnclmfo8c88f8l^Hicc$rm*mfcm8fchmSSWBSo6cF]p/cE8RK6Rzyxxxx@93!44?AA????AA?4!!hm)ާ5KfFlH6Hl6c668]1l8$lF[[cf'*bl(mf6lmlfYGKG6f%5F888/C5amzzZN-!47OjQQQQQAA.---4``mF666fcqBlSHR5fHccB]l6c/8fcll(fF8cHlcHHl/HEJ6f6lm5/]G/BHddmYɲj4!24A{yy{ZZQ03!-40QAQ`!(mF1oH)c]h_m*/cfccmcm5flfc(6f%KYHlF$m]5b$m12[d]'^$11])cdm6hcB/6om_1`j|{{{{ZA`^4447NQQQQAA93dc$s^]^2c^d]]]6]ccfW/GW5bd$m^cHHf5m]/c/occ^m^$cB6H8B]i$5c]B/2(6l{Zn|ZAjw{yyywZZjjjA``30`0?`02!HKci/cFffH8Hc6F6b6KVGSKBlf/WH6i]]^d]]m6cfb6f^5Hc5HGEhf6rc$cc/)5H58m|AjZjZjjjQQQAA?4-!![%lmHHc6ffCCh6/HdH2]i6G/fl5Bm/H^]cc_cHFSHhi]b6hflE1)cb/ll$8H)G/hnO`700``jjyZZZQQQ03!2430AQ0 2cccfch68HfflGFHHYEffKKFSF6f))odd][^]mrfc5]mdh1566H8fflc]H5D'6`Q{{z{{yZ>044!!2440AjQQAQ`-""28*bi^/8^6ch1o8FcccFRRClKKH6lm6Hbd8bd*]^^f)ilF6hc$'/6668$lo[5'G56X{N07447`O?A|{yyyyZZQQA93!  2CGlR%65HW)Rc665f8HHKWlKffG8'f*d_5]^mffc]loFH5GKHd21_o/F6G/6ccdhw|jZZZZjQj`449004----!" "(W/HE*/HFRKR6HHl8RfFmKKl6Bfm(c$romi]iH]]^id)8imK5GRKK6f%mFK/E5lhh^2-477`AZy{ZZQQQQQAAA????93334" 2c%m)m]HRBl/RY$6HHBS5fmHfm2lhc*m6m)cd]l]6fmf^6]hHHH15F)8c$cm*f%J'''(6cn{{{{{ZQ?7444-!!  !GfEm'mf51hm88bh5H)8f8lHHmHf6icmr^]f/fo^^l6RERH6)6c1^q$](D11'1mUjZZjA`70444473777.-.???43--!""!lHHB)fCW/lKHKl%H5KfRcUSfbci]]ir6i]^_]/f6cmm1cGRfcEFHmdf6c)C)Tz{yZ{ZwwyZjjjA00777--!! ""fGGlGoKE)cllWFBWCKKHWW66c6c^m]dd5cflm8]ch/h8l8658^lb6c'$/&\_``9?QA@@Pwxttwvv@:03-<"!FE6l5lHCfFflHlKm/hYRKKHKYH$mcf5qcddfllc/oc6]qc/l6]lF688if]]$)C/{wZQA??PPPPPPPLLLLP;@>-"!o/66o)/FfbHl88c1cH)f6GlH'h^o6iFio)i](m)i6*c6)868H/56]^c5(5&//^hmnjO9000...4  -."(]KFmFKHHEFH^f/c$8]'*2d'(^$mHc'b/$$/&)$$(&&6)&&$$$2&'&&%'))cZAA9AQwwuvvtP.-  &$$$(&/)#&&$$&$$$$/&6&5&$#5/)$$$&$$*/#$)&'$$)$&1&$&$BB2qok`QZyxtt@9. -30@@:.&$&'$/#$)$$))$&)&$$&B$/&EB$%)8)/$)%&)#$$//)$#$$/)&$)'$)/CG'[h|zQ.--.0@LtP.!-)%$)$$*/$$#$'(/$&$$$))%&//$)/')/6/)H$)F&5$))FG/$1&*))1&$6H'85/B&40Px@3 300  /F/5))))F/)&2&*11$$5///&165l5Gm)FclHof66q]]^i[^d]c'6mdmcc6)5//)-9PP- (scdq$lh/56]1*/Hl/c8c1cG//%H]c1mHmci]llhmcHc^cHff18ilici126/E/39."fmKfml6cFSGKlKfHHfFh5K/hbc8cmc8f8l&cfhcH/Xo/hciloii$6/%%)-"WflhlfHHWVHoHSflWRK//)$cC)mc]q6m8c$*immco1hom6^5lcmmm/5B/BE$(HlHlc6HclcKfKcfHcffl/H/mB&KH/h6om6^i]cc1[i^cdi6^occ)fcKh^8$8GBB//(/lc]cH]fcfhlclWlSlG/8/l5l$lF/&for]oHml5iWl]hf_c'[HHhd515$/EEE(Vl6lbchW6cffHFfSllSGOfc$5%6m8)oiccmYR6lhbF$]]6cc^65(%)/B$KH8B/HHllHhSElflRlRc8lo#5/&rcm^h6r2ld6dmmlHmRE)8i8lbHHG/FH5cFHfmcfElHHcHHlmlcS(cB65rlloFhdlc[icHcGHdd^b6E8m]d/]H&]]]]im81]6]2(6226'[]2^^]][]bmbcH/ff26bmllS8lcHc8c)f($rlm^6]rmcfmHffll865H^i[^((5qi͈m6dhchlcf2mdrKH/YHHqF%mf/m$HYhfHf5lHlH65c(&rlhql/gcdmcFfl8f8U6Fcc6)]c6h՚8$^8fSHbb^cc]刚lf/o)/m/*mGfFFYlK)W5f/25mb8fqic^ciclKHHhhh568cm6f]6d8]ff('cc2FHK/82HioKcfF8$8')f)Fio$f)clH6l6l/^2]dfcmcc]iqii6cc/8hlH85lcm*g1(HF(ll((lc68bb)a^c26lf8hfc5c//Bc//m&mfCFKcfKE1lffll*c^$qdmfqbd[qii&dH86h6f]6dbq5c]*c$ifWKH16]1661*5ém(/((68SlfHG586Fc$6lo(i2*bcchch/c8H8mc1cr$hfmc6]md_*dH88YHf1Fh]_]d5*c)68mc(H]^82'Rh2/8(8hf82GHb8hll%mllHlc/d8HmllcRRHfmm6fcii^q^H8_i]iHfHRHl6ch8m[]2'H26^f2loHmFܡ2(']'Sfll21(H/8ccfH)f8EfHHB5olffclH8/H2df^d]Hidcicm1cHmHHOc858cm]](1f$(58^gΈ6mhcq2]88'8ch^((D)H)/fF$lfHHS/GH)lmlBcSKcff$F1ib]d]idc^^cd'b1HHffH6'6mll1[$)H&(6d]l͆6m6mm58$H(o6/6dc8b)$'$H)6*c&/fF)m1mflbHHc/cHf)F6cH^mccf/b^ic]]2/2^^68)1cic)$$5K$^5^W͉co¨lmml8EG/62m1686c6*1/b1F'^&6f//f)mcfcf/F8](d5f*o8]icq^H2d^d^886hHH]16hif55('8#ffcHcfc86ccchhhhllfcflmolƇHhcl6666l'652cc6F8)c/8#c'F5//c68clc$H5FE55F6b566cc6q]l6cdd*8c86fHc5$cH8/6$$/YlfccfcffcSlchmmcccSo刽W͈RbH8l/o6*2l$22)$(G$B/6&cFEH/)56HfSbHcH5c8/)fF$HH)ccc68*d/]5'b1]))1$)166'/$/1&YlcfSlmlmmmmhcclm༑lņWlmq1c^22(1R^H86*#6#$)$)1$##'$$$&&)&$%&$'$(&5$#&&&)$1$'$&&6&/&'&#&ffllffSlYmlmmmlcHfl͵Ƽf8h[5hh2')(mco)1&E$%$)&)*$&&&%)$E#B#B&$$$%&$#$*/#$$&$$))/&%&$(&&&'8&$5&&$$lSfSfflffmÇW8m88c1]hl2UH'$5'6)))&&$'&/$$/B'$*)%5$%$G)/E)%$)#$$F/$$#&'(/)&$/'$%&#(B''B'$)$lYlffSflYHG'RՌlÆlbHlKhlc(('fh(fH1^H/B8H1/$6HFH8KEl68FH/8fH*c6fHFf/K8H6HH161[[[^6b65^f6F/6]dd/f/65EfllSfYYcG8eͶƺ)$)'6coHh6'2(66F8l6$chcBH/HFllKfffffbHfh6/cfcH8mf]^dFcf8c_6h68H]dq6^h685SYfllc5FԶΩSi^')H^1h(WWWlFd))lcccFcFf8ffWFfFlfdmclccoH)ldi6ms(mcfHfd66^]ic$6]]($YlleeYWYY5WFŵ/m]6''668^68l8H'(^2HKRHHcHhf6fcr/o/l8l5HHlmcm8dp^]mc6/rm]iqm]fd%lcmcH6q]]F^d1])llRFIfflcK,11)$GGWcYh8h'^(Sfm/FSHgcFf65llcHloHmmlHfbH1icddii&iH6q86^]6di(r$6^c(*YYKFelSl6KY,mcHH$FRK8(fWH^2^(W8f6B6hbHcfmlY6blflffmilcl8c]Fbridm]mi*cF]ch8d$]^d]i$$H6]6flYYfbcfSSlYl1KFfFeFYlff'']F66(16mi^''^iH^dHf^^iHcmmcHbHffcflHfqicdflh]f]^dddp[*bc5d]E^(]^i_d*]8(5)flllfcSllSllll(^FcWFeElflo8HS868'11hl86o/oG8f6d]Hcld]^1]cfHcH8^m_cGWGlm1H)hi]i66l^cddH^*^]i]c]^/*c(lYSKflllSfmY58Hf8*FGfHhhSRHlmlH688hmdE/SHEcl6q6cdh*h16hhh6HhfdclGfq($mqdm]pcH6^m6fc]cd_]^']]'^$SlYlSHfSYSflSfcc^c8l6/FlomhhmF56G81'cmhdhWBGDhlcb865flGcch/8]d]lHKH]*)ifccilmcHc^8cfbdcd_q[cc(H1flSlYfHfllcffflfHH]8*S))FYofcd&8h8['coohhh^l'8fER8olH6)fbcc8cH8Ho8HccGHh/b]b]mdh6]dm])m]^_i_m&]*1d/cflllffffYllfhcllhHc_]*1$$Flfmcc62o828lhdch(c$/)Fc*dm8pg(5c*hffflc6hmc8lcKH6hm$ic]c]]]]]^d]^^]]*2ddc2]b1i1cffSSccflllllmmlcc'1]H/$1cllohmHfc5c8(61(6cccc^'$/16KhcmGlllHcHcbf88H^lHf2fcl8fCql/ob^cc,^c]]8cHi]b(]d[q*2]'dfffffccffllhhfSllfff2)55%$HHcmcmcmHf8)h81''58Hc82'526HcFFobolFmHflbHofddHmfcfWlFlm/dm(^cd^^c^b^_]b)^^]dmF]1]5SffcHbHfffYYfcffSffccRcH1/8o6Hl8Hhlh^fbbH/58(66H]21HH6ml8llh)dlFc8mccfcclKmFFh/cl8rc*]^^o*m8][_c2c](]^q(1]'6'YlcHGbHcfflllfcchhfhSff^o6']68H81cccFF/6ml61^1685( ('((l88Bc)lcocdcc]cdcFHcfEm8mm8dd^]qdc]c_i2igcb2]5h^^cd_bF')&)fcHFFFHcccflllcchcccccHc^cmH62*]Hb/_d(1m2''1('((G6c)GRf/cff8ffmlfl/c/lHmfc^bcc]idm^i$]d]]d]d[l6/6/F/lfHHcFHcccchlhcccccclfchdqhm(H]88888ܨilmmB'(^[)fFHom/8WRFl8ffddRGSKRR/cffH8q/Hr5mmfcH](c26_i(db]1^)856lfffbbcHH8ccccchhchffHcl^mcdH1651'1hýmc/*(' 1HFHlKcKHd/i5d8K/cco6HicfHsmcibmqcsrgi/dbo6c]iHd^d6//)'6hm6h5(688256]/$1(domoSlK8cd&]ql8fHHHclhHcdl8r/flh5m*c52li]m/cb66lHGB6H%6$8b/8H)GSHF/W88oKhmcobHrm$bimm%)6'*l&ci/1]]]&*6/$'$D @@.((22^]6286($1&''''5'1$'$(''''>-!(^]mc8]516(]6(]1'6'$''''$&''$''$'1'1''52:?-o82ccch]6(hh8cHcH6658^]6i5hc/Hl^8c]]^^]H8HQA.-!!h1H56Hhh86!d^ddhc^]c8ch^ih^^^cfoHh^d6hdccccZ?Q---hc86666Hc2286iich6hc8dc^i^id^lcmbHHccfc8568UA`70303c^h6ccYl68FhhE8h6HlH^^6lHffHm8^Hc8ccHH8cUj?>?9Q00^]88H8^h(^(HGc/c]m)hccc^]^cFlbl8dfh5Hlb]Hch|QOQZj`-6chSc^86]KHBfH866]cH58m8]c6m2cHl]bd86Hdcn{{jQ?3-!156^888c(86c8/lc^f8Khc68o66lcH]cFh8cd]]FhHm|jjj?-?.((f/Hf8cl6c^Hc]H8cb/Hccd6[]8hc]cc6cUZj|Z7L@- fHhl6lf5dclhHf]mc/lh8chHb5chH8]H16Uj|j?t9-3iHHc/ff6HfhcHcFHF^hHcd6c6chcc6d(Hc|{x070943!566F5Gb52]5155/H5))/$1*)1$$))$)866{00>L004$&&$&$&&)$)&$$))$$))$$$$$&'$$$$1cY`?@wA`9-!/F)))/)$5)51/588H)c]5]5F)6]656661lO?Zyj?A0-4!ccf88H]]Hc^6c[fHh6c^c^cc)ccE6ffl8dhZZZQj`0-- cf8h62c8^^88ccHHH5]]c^l65c6cHcFf8hcZjjZ?`2>@-6f6m86cc8^66i]H8c6]d]]c^8d8cH]]868oZZjZZ7?t9--5]]dcF8c5H55f28HcH6d1^H^cfc]^/]]6cHm|jZj`P@-..-.5/66l6F8/l88c]^8c^5^]*cHcbH6666]658nnZZw9099. /B65]68H]h6HH6cc6l)c2]c8c6c/6H^^5]co{Q0?!.P.-9-)H85)b)8Hc866/cH886id]d5*6Gh6c5]66SAQ43LtA9--7?FHHF$H68HF8F8GlchcHiddf68FFc)hc66HojA3PwQ?70??`cd88)H68c6HEHfc]HlHidic52(6c)db85dj`AyyQAA``?!fcHHlH5c6H56flllc^dicf]8Hlc6dcH6mhn{{|ZQ`9?4-.0!dfh6]c/H6HH8Gflc8mHi]]lhHEH]*dFH8HoZZjAQZQ?9- -RHKHf88lHcEHHcfcddc8coHHGc/]cFGH8nZjjZZZA04.?93'$$))$&#$/)$/)))$))))$)$&)))$&G68nZjAZZAO?4!404)/)$)))/)))%///)$$/$&&)$$$/1/8$H5^mUj{{A047?QP:-- 8c](66H8c68lKf8f8F6]]]b]cH8HHcHHE6c{jQwxxxL:003-- cidd]^hllfchccHcHc]rc^ii^RSHc^cHEhnzZ>??0`A?0344!mfHcHlcHclhSH8c]6HhHlKG8b]]6BmonjU?QZQN074090-cc]]c^HHcRcWSlH8ch6dFHd]c6/6Hd68/28ZjZwZjQ?43!!!ffHHfHH6H6HWHHKc8^^cc8cFlH5chl/6B6chjQQQAN00444704-bfHH8HfHRHKRlHfHcc^]c^l6m8/6Hcc5BHnnZjjjj{wZQ?0-CWB6fKW8HHHWfGl]^d^f^c6mHHc68cFBcchUOOjZQN903-- Hmc8HHl6HGEflHlccdi^6ll]cH8/H6^6BHj{|ZA???004442! SlffHHRflGGKSRcdHdcc]lccHHfF8hH)/8m|QQA@LLLP@93 hlcHFHffc8HHff8fccic]cc^68H6]d6$%h|?9>?9. 6F5/66)5)))'**55))$$$&)&)&&$$$&$E]kQ?0990. --$$&$)&&$$$$$$)))$5/$)$$6)$')$))//.03c^565))8/565$56clcdl6d^^hH5ih8// mWlfHRSflKG6HHHchdfo*mf8mcHhm^5B/chc8ffffffcEH8Hccfich6mhchc5cc56/BHFhlffSHSlKc6fc^fllccmmKlH/^c8/(^^][(fbFffHllHcffo8l6cmfdcfcfh86c82)o򼆈oHccc^dfcFcHHlBllfccc6^cmccddfHhH8hc6Hf8fl]bci]2mll8F6/FcblFlSfcYcH^^hmd^pbc6cHHh81Flf6l^]((18lfdH8H8fcc]HlchHlchchmlid^cHSHcc]*6(8Hofގ^1Rmc(BFH/cHHKclHffH6cc^dcd6HHc5cl6$/^8SolH'1(c6^]/)//6)HHHShH8]8Fccd^^d668858d)'/fcfHfchllcllfl8'(816d56555/668f8886F6FHc8]^2866)]/)(&llfSlmmhfΚWh]c1(2cH2^$)$$$'&#$)$$$$$&)&$&&$$$&&&))&&llflKl͆ccl82]6661]6//$*//F165B66B/5/F)'(6)55%1]6)1lfcŌh882cS6(cHcf)fcb8cfcfflcShbicq^ccc6^i58/lKYWlh]')GH(lS8[fYFcfHoccScllmchcbdidmb8cc]dd6^*llHgllHfKllc6H1(S62cc8clcmfFlfflifHbdddd]]cH/d_*]5llflSl6HFfKlllcc6'Hmh1clHHccm^5hHcddllm/iicmf^cc]d^]*6lllcllfflc^H/Kh5/H(6md6HKfl8cHHh8h^dHSmbqHdlc^cc^di22]cSfflllllc66$Hlmc6^8'1hc6'168HlH8Hcl8h8fccb^^]]^^^2^d22]ffHcfhflff61f6SchcHH81(8]1HllcfcffcldcmfKHmco^^dc]^]]]i(22SHFccllccchcml686]b^2m112'(fSBcllcfdcRllHhhdiccddc6]c^_]1)ScbHHcccchffio6668l)^HGmHlcocdhYHSmFflrdHdqdb^]d^^6/12[_8(]oi(22fHSHcRfbdhSlolmhdHom856i8]5]5)@@T@-]2811''''(''$'''A-cH88c6ccc88c^ccHdc8c^HQ03 ^H8Hc88hfH8cccccfHcc88j?A?![cc81HSbc]H8H8HccHc]ch|ZA41128cHHcc8c6f^H^c8c6UZA>-cfHHchcf8hHc8cc86?>0!))))/$1/))$)$$$)8jQQ`-H66/666H8^]H688HHo{ZQ70Hc6H^]cH88^H^HH^8mZZA?3-58H886H8c8]Hc86]6h|w?.0-6666H86cH8]^6Hb]6?>Q974HF6888Hcfcd86H88HoZZZ?94hHc688HlccccHc8H8n|jQA04!H66/86668]68////6hZZA`0036)/65EF6//*5668F8ZQ@@03-lcHlcfhcHibffHH88m|jZA?0-c8cHHfcHc^H^H6f66UjjQA04-c8HHHfKcc^ccc8888UjAA04-ScHcHHfdcdccH8H68nA?@0-HFF866886625/)5$/4.0-5))))))6886]6/85%lfcfRH8HcdclcHh6 fcflcfccdlclfFH5ƽlcc8mHFHKlfS8chdccHc6^mc8'S^FFcHfcfHcdd^cH^*211222mmc'6^///FcH66Hc^6866$lflSc8(662)$))))))))$))$/$WYlc88c2fHccfflfcli^c8^6YfllHfl65ch'cHcfHcilHid^c^]5Sfff]Fo^8cc(HlcHfccKfic^c^^6fHllffH8HcH12'fffffclcfdcc]^]11((222_c1mh'2Hfffhllfmcm8^^]/ d@-88(]5566625O08HcHHHccc8UQ3HHccHHHHUQ?5/5655/6hZ?-888H88H]cZ?.F68Hc^F8hZQ7H68H^^66c{A9-88HH8]88cZQ0HHcccHH8OA>-cH8H^866(8FE6HH88dc26^HffcddH8m(H68cHc^85llc6666F8]]65SlbH66cccfdc^]688HH6fffShc86@3228]8]U 68]6U088^8U?8H88O0HH^8(HHc88f66H86cHc1cfc]28]O884H8cHH8286H6O!PN@l sZ B2R'@Vg |E Y! s1V&!Rb  f!n&!RNo&qOTI@G#I @9: & 1: , $@ $ w!@FRr~y!@bL{!@ \BL&RK>: & L&  |!@}!@@"@vB"@Q"@xL,C&G+`"XG"OL"I M"V"@ Y $ b  Y  Y Y `z]VY  X"@h"@~c"@l ~6y6ZG" \"t6sHM  s^"e6sM0 --K- {.p- {.p( _"@d@lHTC#@] l"Pn"q"~f%O@u"v"o"h x"|"Bv@#i^.U @yE#@I#@M#A"B?j: & 2w.*.Q]: , $DA" $hA" N#@}z-z!H#D>j: & 2w.*.Q]: , $BH# $hH# Q#@R#S#@T#[#@j/rvM@Q3jML0e6GX#~W:\ԝXAvmDDԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXWWԝXyrүyrүԝXԝXvCqԝXE=bE=bԝXW(!ԝXԝXԝXԝXtԝXԝXԝXԝXԝXԝXԝXԝXԝX AԝX"/ԝX"/"/"/"/"/"/"/"/"/"/"/"/"/"/"/"/"/"/"/"/"/ԝX"/"/"/ԝXt"/ԝXԝXAvmDDԝXt~t~t~t~t~t~t~t~t~t~t~t~t~t~t~t~t~t~t~t~t~t~t~t~t~t~t~t~ԝXԝXԝXW1W9ԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXt__ԝXԝXԝXtԝX;ԝXԝXԝXԝXt]HԝXXԝXtԝXt]HԝXГ< E/ < E/ < E/ < E/ < E/ }.SN}.SN}.SN}.SN}.SNԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝX F Tk F9SNAvmDD@@@})a#@Z#g#@h c gGH&s-Sq!  e#j#@v#l#@J$q#@]z3C(*-+: &C(@(k'_'E' @ @s-t#u#~#oE`~{#O \EXEJ|K Dm.r"C |#i3ot]OHW )Vwz*z- - W ,F rz*z-prt* rtzRrz*<z-za/! rt*tz-Y'W \ zu !> -U a!QW ,Hza/!.z#za/!Uza/!fza/!SWxt-W ,ta/!.t#n-YW , W , ;ta/!.t#WP za/!].z-W ,B9%-YW ,A9W ,HB W za/!].z-W ,C-YW ,HBW ,B At.d#Altc@qutOD l7s JT6s -}-`$6m 6m 6m va{@?,s (m -~rv*{?,"-~-}-}s ?va{@?,s (m -~rv*{?,/-~ Qrv*{?,s va{@{#?{(m rv* g-}a!B ̬?a!G ̬?s 6HCo$q!I!b d$P {$x|V K%nj(c$W)_a]&$ HD h%{IE\*\--B\J%z$_%r$ZZ\%DD?\,d> W% U$oD`Yx txm #fff?t?,x?,xtm ?,m t{zyxիfff?{zի>yya~|xxm x'Rwyw.y*:/.y:$(xիfff?{zի>yua~|xxm x'wuw.u*:/.u:$(_ru* ru ry* ryw.u*w.y*'ua~|xxx'ru* ru)w.u*:/.u:$ p P \$ge$p$d'OjPpTBQ5Aw*pQ?AQ?A #>A W(V$UW$C@8|QUJ^$cS_6- 0-a ^ cwcL=am$a!w>>L>a!>? [ ]/gV 8Z*: ,??????- ?% -C -C  ?%@ ?% ?S S g){::$ : & % a!w ngBr)* ha!Q),g% w*a/!vS $ a/!OS $ S C<?, 6s!:S )`R g s$tKaD6- Xa!gL??= v$mW%jb'*6- Ua!z ? l6lj 6j v6vilj kvj mik mL?a!z ?%8mLa!z ?%li#?lvj ?%!L !a!L  ?a!L =?%!v !ra!v  ?%a!v =? U%_%fkijPY$ w$rhXrgR36-a!| > ia!_ > h6hi 6i s6sghi ssi rgs rL?a!_ >PLrLa!_ >PL>?tg#?tsi ?%!L !a!  ?a! =?P2!v !ra!r  ?Pa!r =? y$}$dnl6- dr>?ad333?a!Qr>dfff?Xa!gr>am$a!wr> ~$tG$lanam$a!w?= DN%F%@H%@z$`s![O%R%Q%S%P%V% p"X%tu'gB }SFr$^%_$`%b%c%\%d%[%@^"a"UU, k%e%m%n%a0` "36-a$?(zD? w.w*:.wD%a:.wD.wh $ @(zD? q%y%s%jK8v%Qo95&v%?a&!P=3a&!y= m6z%f {z%::$ j%yj,bwjQ*jijQoji%j" @&C$N&D&%B&ZCZVU$F7D J%> ?,2U 6D -{-F&6Y 6Y 6Y L aV^?,D (Y wL *-{-{D ?L aV^?,D (Y  wL *U L aV^?,D #??,D (Y prL *U g-{a!B ̬?a!G ̬?D 6HCo$q!I!b OIBEP+b 6- P>?j-U#PL=rjL>"j@?a!zP?a!_P? j-Qj>a!P? j>a!zP #j?a!yP Bj?a!vP aj333?a!tP j@?a!pP jL?a!oP jY?a!hP jfff?a!eP j33s?a!dP a!P j-lyr*-ej=a!zP?wa!P? B!"j?a!tP?j@?a!kP?a!qP? jj-s+r*-a!M P B!"[j?a!S Pha!T P -uj>! j>a!xPaC$$! j>a!zPa!P-u( Xer\KC"{!Rp&!R IGBGIx}u INeJ|e]&]OD!!RmqHi&qj&qk&ql&qm&qg!qU&!R{qe!!Ru%e&!Rd&c&s&L!q&z6Y(_!{&{ v&~&A'x&k[K!yG!!R&I'H'!RJ'S_]bK&-_  !Tv! ,G -_ w._*._4T`jG_ _ L'N'n'S'VEVO' kxd Z&W'P']'L9a']E'Q'`'mDqDk 9 @tn7NxvM9N #?#333?"N?,96- 6 -a}$? N6?N::$o$u!a!T7v!a!`? yOQHiG6SNu!JNz?%v!#m>au!m= !ew*Ta/!Ha/!(rw.*AB  a8-Ng} ?, a?,  -N(:C, L   ?w*a/!H w.*:w*a/!Hw.*4 ?, b:C,L C?,dC$ !B{:C& L   ?2j:C&L B?,(C$ !1C$ !CbW-c(w*T aTa#+a !eb g-c(ww*T aTa#+a !eb#j Jlau!:"::$o$+a=u!a !ev!v!Y-'JWr\*\ \ aL>-(u!u!YaL>u! !ev!v!Yau!Yu! !eCv!JWau! !e g_ e@1$BgeXIM `=t5;.6- >+9c= tM_'x|m't$r'Bb BZ'Qh g(p'~'O O AA@'L }k'\D[@(`&B D(|OwEd2 G(R$`ԝX2R2RԝX> Y2R2R5 H(Q(K(M(~ G3Kg|(ff$cgOx A5wm2-K-K(m $H6-&w a!Oa !B -a&!Bw RDb_}q(8w.b*.b-x'ba/!2-Ub.bb.b)Q .bnD-GC%DC,$:C.b)c ?%C.b)c .bnDCq-k bVB $' C%ywy*C,WARNING: OUT OF FOLLOWER ARRAY SPACE!3ya/!$.y}.bCCry ` C.b &xry _ C.b ,ry tC.b ,ry C.b ,ry gC.b ,Lry fC.b ,ry kC.b ,ry Y C.b ,CyySCfollowers being transported to next level.!3bVB $' xELw([)e(b(n(uH/  " " ""*%%*"a0 U@ """""""""""      $     )#  $)-477-    $4)""""8,((,044,079GC@90(  $$       ,4471$        """""? ,49KRVPK9,  )-144-$   $-74$)7GRK>4  )-791$  )-  7>994-) """&C)04DVVPD7 )-4BDB74) $-11,- )4DUVNB4  4BPddVK7-)7BGUUD>4$  )>PP@4- 4]jeRKD1$$  " "? 7B4$   --$      7>9-  7DD4 $7>91$  497   $@G94,   ")1--$$-&2""&&"&*(08828  -NU[bgUD1  &?2*/25514Db~&;V]9sgG9  9DPo9- ymŽsK7 -GG}D1 yN>-DDsB-lyŽsG>$7VVG7 {o{P> $44K[D(҆d],7@VddB# {ΕcLKeVjD0$ ֬j> 5Oc  $BNU[bBB- ""$-NN1Uc/8YP$ mD7G   4P4 tU 9K  1G>[ >U 4D9 lN 9K #&>NB tKDY(7PP( jGo ,44GeK- ``t 0K]Y0 `V] ;\  #  )-)1UND, )BB-Bgg08VV-d7$P  $K;  ] 7)R GN) j B)])#)DD U >$R *,-PN$ L1$ ` ,,,VY4U1 l 0D>9eR0N4 (05`Y9t [> 0e   $>$Dss;Y]4 e4DP ,KG,P1NR -NU1 V7D] ),1DyB K1BY,49VU- G1U` ,45Y`9, tGUb&@GGeV1 oBb #09YR@,`Ns $(9e  *,&"&- [7y>V]@*Y - R  0D{D0$G$ P ,4KU4D- [ $147DyB-D ] #17>UU4C) ` #2?5VeK7 ` D1 [ ,>GPed9$e 1$04KtK>0V 91 &&2D`  *&"""""""&5-N-s9VdG5  RBNU,4K{D4- G>DP#,0P[B1 G>Ud$799NN7- D1DV ,59>UN91L; R\#5?7YmV@$ eRbl)4DKRvtR5 tjv$ *87P}K@5& RCo(0/555?e   **"&&&&&""&*8LTITkkTGNNGNNND@D>"&UDy9}ePDG>>dLjsB1>DDKK]jVKDB>44Vy̻{]L5ILO\otv]RKG79]ǀ}]G]YjtygUKG@71KsbdV@Y\c{]VPD>49YoǴymV>KRe}m}d]gDpv؛sGVdvϑkTLTR`֬yDDKIce`\TVKGeΙ{Pejjjt{ "*&&*  */*/8;2(,)$$$)lDNBb4      &&"&&   GN7b4 !=:+3' +<<+JJ^rrza+  !++ZZZnA++% %JXrfrr^JA+  MFJWA%  +!+J^r^[ B$b1 6Jan|napfnZZZ: %31Uŏ,bŨ$N-b-# !+AHnxx|znrJ%% 6J^^zĵJ !JWզrzrJ!Jz˳^J3  +Zr굓zJ10 $199[ogD$79>Nڻ]1(9[}ԸvG-$Gvˣ}]4 4>>9gǨ}l>)$4dڻsP4$19DPԸ]@4,($04DPYųy}jK94/C"   "*&25LTL?*&7llyylB[ņ?B-0 ,4>D]yڻg>$-7BDU޸[9(@]P-(DmԸs[1 0@D@l˯mK1)$-7evP7))1@PV̸}]>4(( (7DKR{̸}jD00/C"  "&?8?L88*)UG1>Ngs s] Ob1@$,4DGdЩmD)1DPNUޯ]9$0GdԻP-$DmгvR)$ 4>DNlvV1$)$-47gǜ}[7)-DPdṃ]94( $,,7@DGj̳}lG4(&5"  /5?EC22&$NG-1BUNU"Os7P$47DG[ǘlG-7G[Ugީ[4,KdԸU)$GmdzvU-$49>Gd˩lN7)$))-17d}U7$)7GVdjǣ]D0(,,049DKPv̳mG1(&/ 2C82&DU71UgbK sb?9K-7DGK]}sd>)4>KRvை[4(PeǸ[1,@m˯sP119BG[v[P7))-))-7dЯv[7)79DK]dǣmK>000,9DGP]}ԻmK4&&5" *&&//&C~qLB[bY* B-"47R$7GDKVm}lU9$4>K]⯈b>(GddzU4$>svP1$1>BNgv[K41)-->dˣmR>))119K[dǣeK9777,7@KRd}̯jG4("5  &"&/?Ow\K[sN/U1747e->@Ddv່lN7)4@[mڳ⯋g>@dڸU4D}̩vN1$$$$4@GdsԜ}gK--$--@]}dV@$$-4>GVdǣeK@52759GRVd̯jK7,2*   "*8*"8ccUNB#71,1l4Y17>KdvԯgD11@Pe}⯈gB)(Gmཨ[4>s̻sP4)$ $9DN[vکvd@$$$()7]˜mV>$$7DGKRǣmV@92,09@KRg}̣oR@52/  &"""*8/**ceB1* 14l7G)4@G[mڸdD$->Dd}⯈d>$,Rvb>$$@ggP7-(  7@G[vДeV9 $$(9gԜv[K4$1>@KR}໑jRD52(05;KRḍoV9522 # $"*&""& ?ONB& 11$1s79 $4>RUd޸g@$ (9G]o[4)4]}dzsG->jǯsK7$4@GPlǐdKB$ $47>dԩvUD7$09P[໐}gR@00#(,5DR[ΣyV902*   $-$&"2dG B&$l1@)9GKdگd> $4>PV瀱௄[1,]˸vP1$@dǩgG1$07>DḍlPB$ ->>dԯs]N1$1GPv}gG90###,0GRY}МsP0##&   )DU7&8*??28",b7U ")b4>7K[mԻv[9 )9GP[ⳋ]1,`޸vP)9d}dG1(49@V̯gN>$ 1>>]г}gP1$14Gj޸mK7#,0G]jԣjG    ))*"$lG1$ 1K]vv]@) 4KgⳔ]$0`ŜmD>]vǩdG4 (19G[ԻmN7$ 1@Pd˯dK1 )49RgԩjK4  #0>YoǣV4       s[ &lBy1( $4DP]vmdm]VPG4  $9Pdy1 ǘD (GmdzygU14PdsǸ]>- $)7G]ǻǻsP4  ->PdлǸ}[9$  19K]гoV9 1BKdmvssR4        > bB77$)$)$-))-14>KD) [dd[UK4 >[UN[[U[[l[N7)4-DNUU[NGNNBGDPP@- -4G]ssdvmgK1 1Dby}g}ldN1  $1Gs}m]D, $)$      $$ B10 $@P@DP_}vt}˜vgD )(4BBN9$11)$-$   $)  $ $)-$  -1)  -KgdjֻojdR1  "Ns11C 1Pgv֜[ 1GdmԸ[4[}ҩB  1PŻţyl]B17PUgm[D4   7[mԯgUB1  1KRm˳m]G7  7VjǘmK$  &&"&&*//*22&&&&&,))(285*"1by7>>I $>Um}ԣ]  1GVm}D̳U 1BPbŜgB  -UysssyyylgdbU1  4U[l}lP1-  (>G]v̻mV> -DP[vvgG$  ,@KVmdz}R$    ""&&  */*-l-CC)>Ndv˯R$ )4BPdڸG $7DPsŜg9  -Uylsssllg[UUNB$  ->Udsv}d][P9$ 19GRg}vsVK>  $7>DPmyyod]PP>   7DGVg}moK   ""//#&/&**&$7N)$c; $1G]gj˸vG  19UgmoޜoG 4BPsǣsB  BUgyvsg[VN941--4BNU[smRKPG>) )17@PRPKPG991  ,00>GPPKGG>90  #004DReee]VKR7   &8;2&  "5/25*"  -};  )@P[]ǯG  0>N]mޔgK -B[yظyN  -BUsvsgVND4- $-749GG9>DD9- (771794()  &&09>>>?;2,#   #,@GKKD907#  282 "**"   BŜ08 4DU[˸G$ )9GVgv̜]9)Bbg> -NglgbPGB0)  ,($,497$ 04(( &57442*# ,004#   ?88CIL2&CckO8  7Ugm4 4DGjvǻv9 0DGYj7 -NsslG 7VVRG990  $-  ,(  "&""    "&""&*"&&"&&#5 1Pjv}P$ )9DPE01M[emj][G#,#        "&&""""& @ )>RN@1--4) ,9?97, """"&"" ?    "& """&"""   ; ;I\kqqw~~~w~~~wwww~~~~~w~~wq-             I8;KP"**"""# #,05;CCKRY]ckqkccc\kqhT\etԳmC`ooo`YY`ekwkqkRG;$ɬvvv}{{toot{{w{{t{{tttwqw{{{{{t?9    \TVYe, *C;"*//  $$#(,029;DI\Tckqkhkc\\kcO\hottYteejjkwqqkR@K$-7(9G>99@74798855/*7749,((7970,4997997049907KK@@G9400,),0##  8w{{t8 *2*"&&  ## #,0999DKLITOkkqccqqh\ckchh`ee]De ett{{wo@*$ 741  ($( $,$(0797C;/& "**"*/*Le"& /CETOL?CC2,*225/**&*/ 0V`ǣGVt7j>/((("k2,($ (09DY``(&,1 )&"*288Yo"*85"/55/&/5*",47 9tRVC0     0 #`tC c{گ]7K9eP&0,I(0[P8(0#  4>KejR$* *585`ú&*E8*LI/&IT/,>@ G9 , 1D[RPDVd2`~ k⯩ڣ;eʿd0KIw$5 "#&, 09DetK1 97"282c"**8/?5 $ o ,  0>9 k嬩KYeEmþl0RL )t"*""&02;Ke{K>  ,*22k ""&""&5   7dKKG9-9 PRPmsd>4,([  eޣV0 ;`ôU,Y` R* """&&/5;Ee~K> > &"*e/&?C& 8E 11 ]   4,1 `{ԩo2]úN$K?{ >0\&""8" 9$($  (( 0@DRoK  )* "*cΉ  j vR$>KKDG@d,CT `tЯ]0]ɾ}U,K;o  )CL&""8 " 9$  ( ##$$  0>K`oR ,#"&"/To  , 0 5`cC d7YmU709 1GYR"8  ,4  ###$($ " ,5I`e{R  0"*TC //   )5CC8/&,00 ###  $Ye4DmN) )  $ ( 9@""""##$$ (9P`Y`]   )& Ttk8 "*  $(# #,0009KPPRY]]v me`eee]odvvejs 0@`tto{{{{d[74$ $$)474$ ##1d0&&2/52&&&&&"&**2** # $,00>@D@990#()(    8towq8" & #### #,;PKK]ddjeo,`Yce```j`e,K[mjVV[][glggegR-Kδyyt{tt{ st{t{{{{`jokT5     "O>))),4;;>DGGKKKEIIIG9499D>9DGKRRCIC?EE??;CTq~{`IIccq~wwk         "   "***   )yyyw~ttomd,`wTT`8;,0E\\\\TTIRGPYTYOTedjeeeeottttot```YRRIVRYYYRRVPKKK]v04  "&55;;;5;522"&&*/22/ ""D `ÜɾξT88Ͽ Y]RR`qw~qkcj`oqqqc\cc```Y`ejjjjjjceOVY\\`]``Ye``eeto`c2    ΰ &*;;?C??C??I5225825"*O\O 4s]ظ$GδעO,5ʒ{Uekh\khhk`ILOTY`hc\OLLOTOLYLYT`\T\\T1)g\Y]YVVRR]jjt{e`7,#ִ&( &/;;;?CCC;CO8888885&/ OO &c"DR}ǸjBy)vǻ̾qC&,Ή~~~Σ{oh`YRRGDPPPPDG99@@GKKGGPY\TYEI$b[IKKKKKRKGKRoCwR7," Ñ (($$(*2555;;C?8CO?E??;??&/\O8#;@]dv˨G)9lD1[Իlg]dd[[]dgmvvjmm}}o]eooo]Y8 ޻ (ҽyyyysy$Uo~t{{djedm>`t}dD90**"ξt,,(,/2255;;?C?CLIOEEIE8"* ET &cKRRjdmůU7yŨ4l}}}}}}}do dvPP[d][RVejemmtttojY`hh\LTT~& D@@>Uj`tsbj]GRTc\ORR\c\TOOOOTOOOLIEDDDGGGKKNB>?CCGGKGKD>>DVYtÞ{G`jt]G9;C?82*&&*ʹt $0479;;455;?CCCEIT\OTTL;& 5c8O;0K]Y][jvڀlb[dgd]dedNl7Ng[RV]V]VPRUU]]ddemttt{tm}d VdKVY]]`VYe`\ccktc``T\c\LEE5\ D,28225COI &sBPKILT\\TTOT\\\LOOLOOIEEEEEIIIEEE;sB79;;;;;DDDD999D>99eR]KKotogPPYTLE;525*qo-49DDE8,275CECCIITqqwo]C" 8k5O0DVVVVemjGGCD@>DCCECY9$)4)7sjVRKKPKKGKP[Kojmgjmmoottttt}mRVKKYY]YV9 ;\T\cTOTOOTOLEE2; 9$&//2/52E "yGKOT\`\TTTOOTTTILOLLLIEEEEIILIECC$1D9?;;;;;;;;;>)4,;0`G#jtttgjoc\\LEC50$O~wccL 4>BNKK;,79;C???;?\{oR# Cw 88"""0,0>GK>P}]D;???97@D;??;jdPs}ysmEELLCCKGGKDDGK>$v][)vjV)t{{]PR>DVVRP("CIE?CLOOLIIC?55 D9/2*"2YRELLTTTILEEEECE?CEEILIECCCCCEII?44258;8885588857 1$0,9#`eD,ott~wqeR@9Eck\I?E5 DNU[VYE059;?;??8Cw{o &k "&& 0,44477P]D5544998?88???EIEE];?EECCEEC?CCEEKGKR1 [P> gmBjot]KG>GRPI, &?C?CLLOECLE;5;  G2*R [G???C?C;855555888;?C???88;;;;??74-**222/255282214,,#]`7,jtwoV9CLOC2,*# Ubblso]0955;;;;;C#  8Tq8""/(,0),09V;5579 945;5288?C?85758?CEEEEC;;?;;C:9M7UF>bPBgdjC@G77@;?$@@98858;?C?8;;ICC RY//I UC8555555/*/2/*,&*225888/25222550-0*&&**&&**2220)l 4)7D0#jt{wo]4?;?2,(& ly177755799>̻#  *",(#))(0K;98971D-2822888;;;925;?CC?C?85888;?:@FN[FKdFBgV`{@4P-(045 //*&*25;2/8I5O Y5/*\NG;22/2522///*&#,/225252*/222222//*&"&&&"""&**/0$$Nm1-)0@(#`ot{{tV9C8;2,,& sұ-447974447 ""2(# ##4`05;9@ ]$D1482/5858;8402888??E?;;;?;?C@@GibGdlBUdPVj@,V$,059&""""#855I`O8 E5**c K/2*&***//**&# ##&**&"#&/2//*&&&"""""""""&***$$)---, (D #`et{t}to[1?5;;752$BDNNNNU-477777444dllssvl ((($$((YV08?7K1)U45;8282228402/5525;C8885885?:@Gv9}9l}PIV9$R) #01m9 *?5 *  */*O2&c#" ###""&&&"$$$$(# K \eo{{}lNDDRPGE>,DBBBDGP-477777741ddglms}  &((,(,,9{258847g7Dy@5;?828225578825858EC??85588;;@@}4}4v}CCK@$G, $9 /   &;&?2 "&"" ### ,VTch{}̸NP`d[YR9NGGDDP],;?D@4 jmjotvt "&,,,,,0jV28520,-Dsޔ@488;528528428222588????8588;8?@7 }1 4 9;KD$>(?@K,*&*     &&" 09Ock{vl[dtvsoeDPUUNNYj(;KK>, oomt{}j *8&&&000K558554,))17-)0888888228225/**/8?8588555/88?;0}0704GG>$/Y ,/8         "  $ Ockqww~~~{{e]ss{KVlsldot(5KRD0 {o &/&*&//*/**00tR258850(,,,40022852255555/2////2E?888882&8;?;4P90K94Gހ4,(D4$K$""(o@#E E@@@;EEEC?ELOOOTOE??C?ELTOTOTTTTLIIEEI?ILOL\\OOOOLOOEC;8588;??CLOOCC8 L\ckqqq~w{t`]d}]bys{(?VYP@ v ***&;//*&*,Ct0888;50(,/27725255//2222//,*//,/8555555*258507445/50(000($(,)@9(P &"  8&1sD9>7?CC??EILETOE8;888CIIOIEECE?;58?;;EEE?TOEEITIEIE?55588?EOR}}c;  L\ccqqq~wwwkccd}ôt$gy(C`edP$ "&&*&**"&*&*""(({C/5852/*&*282025/**""""&&& "&""(,/22222/",/2*&,0*//0( ,*&&&"#(DD`$&& && )l[}g105885822;;C70,,,)))104,1)11-(&*&0(,,(00,47745855/,#(,2IcmoT; $L\cckqkq~wqqqc\\]t Ñ-s $GYeeP$ ɬ ""&*&2&& Kj,////*/*&&/8///&  9K` *"  eGKsǀvd[UPUVbllsl][[gg]dlg]dg}}g]mlsdd[GKPdjjmld][dd]UNGN[y7& -s O\TTkqkqwkkck\TTK{ں) $G[d]K$ ɴ""**"&"" P0&*///*/***/2//*       7DY &/ RRD[@""$s[ NyLOOOcwqkh`TTTOLL5{$ )P]ddK$ ξ&&*"&"&*"7R &&&&***/****""hxkcccckwwwwqqqwxxnanaaZHA33?V  " ?]VU  P lEIOOckk\TLIELIEE0)7 $PdgeR, "&&""&"&&"]5 &"&&&&*/*&Hnxhh\\\c\chckq~hnx|iZaaaZMF6:*D /*YPK   V lEEOO\cc\TTOLOIE?,d4- $Ggvo]4 "&*4e&&&" :nnid`\T\cOOTTYxxxxnnhhaXaVaaZM:F:@:1F1X2R ; ?I@>   &2/*/2288?850P  > ?CEI\\\OTTLILEEC0K1ggglsy )G[jjV1}mm}""" ]7 pxpa_ۋ}v}}ddmjp||%ipp|piFMF::FX%Z69 8#8R4)    - 7 ?C?ETTTOTTEEC???0) ggly $>Rjo`9 }}""&*& ,j  6i||i_p}}ls}lpiۃp|p__XX=D 2  8\4)       $ G0;???ELOOOLEE?88?0,  sss G]jj]9"&""&&*&2  K MXp|||_F97747-4>7::FXXXFFXMMXMF::@66 -1%%%!!%XMZ:R /""O>(     , , , , @ 0*588?CLLIIEC885800 yyy}GddeY>&&"""""/ 74   :FMF_|p=:=66/225/5?555:HHH=:AHHQHH=8?33F%%!!: M(V 2207      s s s s ( ;  9g//58?CECEC?22/5,0 ιKdjj`> "&"& P  :FMMFiF63552558/2?;88AAHAA=AHHIHH5553+'F'!! XMR / &0D        y y y y ( 0 GBl&&*288??C;2/**/(Dj Gdjoe> &&" @G 646:Fpi=+3*;%52/5;/2855AHCAAHACHCHAC55*++6%%! [ MG  ,,G    d d d d 0 5  t)G&/558C?5//&&*&KV dk $Petoe>& /&""" (G 5M1X|i6::'*&Ap ////8/22/5=AAAAAC??AHA82/'+++%% M M$ >  1 GGGG 7 5 D"&/2888//**"&/to ]q~qO $PjtjY7"""&" V4  *MMi+!%33*'"& &*&/*/232332532:=55A52*&'3"!' G :4         7>7>7>7> 9 2 0 /**55//*&"&0v Vq~wqcE $KeteR0 ú""&&;D0:6!!"/'"""""*&&**'"&**'*35/35*/"'% U :-           d 2  , &"&&&&&&""0d[Rcqqkk\; $Voto`4 þ"" jj 6F"/'QF""""""""**'''"'' M: @4       &**/*"&&/8528?88585/8Lk\O\T\}[*; I )>- L\c\c\L8 ,]{toY0 &"5`5!: %*"*     4F 1     2 0@; #(  GN L\OOOE?5 (jo7 " ?R !: "% _M      61      8??ELOILE2,?/&&&* $01177>D}vvvm}ԩdU[]gotoejlRC    Ns9O\E??880 1o{D #" ]VF  1       7          0K$D])$$)1@DGN[dlmdvmVjY?   P@ $IO?22/2*1jt> ɾ#*;\TY{Y=        6!      7(  )(,    ,K0;L;//**& $]{>  "2 *" 6         ! lÞ{{{{ʿξvÉtdP@@>>744   ,*?5**" $`{o9 þ    磯ǾíϭϹɴ̬svm> #/2&" (jtto>  ( }̳ǯָΰǩv}P@   * &"  $R`oee@  ! ˨[7N}[P@(/    $R`ee]@   y[g]@DGKRV[[UUK>D417>74744447GU}14D$-77777>Kdmvm]V]PKGGGRK@DKC?EI?ECR]PGGG@1[>>}}    1]ottY4    lG9@97>?CCCCIIIIC;009?955221-1BB>v$149747?C?CLLIECIEC??8??858555;255;?;8;?;5R17NbP     #  0`{{V7    % RD7P@7@??CCCIRIRR?95;?85852579>B947s,>D528EECEI?@EEIECECC?>979744744779955??;    0 0 (`{Y>      '% PG>G97@@:@?CKIIKRCCC??;C?;28?;;855;7>U7$C?5?IECIIKDGG@@@@DB>9944979744779771797 >$$  ,t 2(  (et`> ú  (%::06'  ! %+366A6A33'3=%!  !!%:6 AHtP>@70994,,75;C:CCCCCEEIC;55;;85525559gN ;2;CC?CKKC>DB$   )}L@>det], 4@;*( ,`{{j> ú    K>gK  (799>740/255;9gs ";CC??CC??@D1   4Й$lşo, `jY *  m ,`t{toG ú    {>1U˨@79995/*/25;?;Pv0CCCC??@@>91)>dPGK@>997,1,($7 ޾e) jj  *& 7 Ytt{oG þú   711411--17974-17D@>:5;???5255585/258?C?80iG,????@@@>4$Gڽ޻Ÿ$de91D̻g){jK "  4[Rot{eG ú)   97779744((1497:CLEC;;;?C?;2005882288??5585dv)7;;;@@94)>}vmslsv}}}g$dMD}G{Y@ *#ސ Rt{{jG )$  [G9dN  $9500055222558//585K1),557741$$ $$$$)--),(N1DU@NP>d][U) tYV  (ػ Vt{{jG  )$   F@4UmmmE20/222/2**/22*/250--$,007491  4027-7-$ 0o?  # Yt{tdD þ))11$  (6:::6366+661%%%+666++(),255525222/**&&233/50011002;71d     I0 :5    Yt{t]>  )-7B1-      (==:=6=A=36:3++36AA=33**25552200*0***""/3*30/0000,0714v7UPNl7$_p||x_anpipntpt{{thkww~vttqqtopnooot{ves$lybU ]{{d>  -)$)7NB71)   ====6=HA66=:3++6A=3+'&"&&&*//,,&*("&""'''+'(,,,,(001-$$$X|i_iiipiiidmtmottqwqtttoxomemjimvoeemoommmN  ejD  $$$)1GNGB71--    666633A=+333+''3=63'"*'*'''**'"""'''+%%(#(,,011-)!!%%!!%!=d۲pipippp_i_i}}ottooojmotoomeeeimpvpeemttooo7y (j~{d@ )$)1NNNNGBBB1$ " """"""666+++:6+66633+6=6+'%''''"''""*/&""''''33%% # %%%%%%!%+%!!!!+1|||p__XXMMM_v}tmje`ootom}}}vvidmidddd]djm}  &" 0e{td> $$)1DNNNNDNgUN4- * &"&""% 6=:'%+63+6::6663633'''''%%"&*"""&'*233'%''+%%%%%%+++3+'!!_p161@66:::677>FPRM@@@@DF@D@@@@@:7>@B>>7747797777l$NNUDB /2* ,e{}jD $-7NNNNNNNlUU>41'3' """&"""&+3'   6=5(%'33+66:633333+'''''!%!%%''"''333'%''+%%%'++3++'''%%=7%$%%((()%)1144:@7799@@970,177444744111))--1,)$-d-$) "52/ (]t{}mG  )7N[UUNNNgllbgNB>) 6' !3  ""&&&***&"&&""&&6A6++!6% ((% !%+3663+''++++"'+'!!%%''+' !!%'%''3+''''++!%+3+%'!%'!! 6$%$$(+((,(((1444747447974,(,0000000,,,($$$))($(&2-) *52y 0`t{}mG  N[UUUUUggglgsUUN ':'%AH3   '3"""&&&*&/*&""&"&"&""3HQAQAQZ   %663'%!!'+''%%'+'%!!%%%!%+33'+%+=6%'+33+'!%%!! 1$%%%%(+($$(,,,140,00,,,#&0//*&&"&&&" $"&&&)y 2?5y ,`tsK  )[[UUNNbybblbg[N)'3'6HQA=:  ':3'"""&"""&&"&**"'QZ:ZQQa   %==3'%"*333+'+++%!!%+%!'+33%%%':3+++3++'%!! 1!!!$!!$$  (('''/**/"""&*/*"""""" &""&Kv*82yyyy ,`vK  )bUUNNG[lybbsllb1 %3QQQHZA  '35:&**"&*"&&&/*""**"""AZAaQAhH!%%!!6=3%!!'+++''+++%!!'+%%'33%!!%:+'%++%'%!1)@6!!  #"' "*/&&&""""'5I8"" "&"RiMF6"52yyyvy{ )]t{sD  gbUUNGUbb[[bb[g7  !AhnZZxZ3   36+35! "**&*/*&//*""5QHaQ=aa!%%+%!+3+!!%%%'%'333'%!%+!'33%!'%%%%'!!$: $! &*""&""&"L "2:  &82ysssssv #YjvseD  NUUUNGUbU[slsygB  ZnhZaaaH"  ':3:5'"""**""&&":QffH3Ha"!!%''%!!%++!!%!%%++33'%!%'%'+3'!!!!!!%%!!--$  "'""&&"5 8  /?2ssssssl (RjoedD } 7bUUUNUUNGNglllD  3anaHaxxQ3%'+3:A;"%A6=nn+%HA!!!%!! !!%%!!%''''%!!%%!'!!%'%!-$! '''"""&&*  &: *;2sllllll (`toe`G ov} -[[UbUINUllNZnaaanQQ:! 36HHA6 "&&&*"*& A6Ja3Q!! !%!%%!!%%!!!%!%%%!!! 1$!4$! 3Q\?'&*&"*&*''5  $6A: = E5sllgggl (jtto`G}}sjov} 1N[U *LNNU5Z+Qahnnna=65+6+3QQQH63 "&&""&&""**&*//&=A3=x6!a% !% !!%%!!!!!'!!%"+''''!% 7)1i F! Aa 05/**'(p 0$ $$$!6H A  82lggbbbg (`ttj]Dvsgggmy U1 ?NB  5aQHhxnTQYA5ZQaaHAA'% &"nZH+%  A= !%  !!%!!!'*'!%%'%% B-4i   U))147-B11b>F>D-l 77111)4F%%1  &//&gslllyl )Yotj]@ svssy ?4Qh +X$!QahhZTahnnQAA3+'!'33/565%AZZH3%aaH3 3=  !!!!%'!!!' 9ii|p[UysNF 1lb-N [vvvXp_ %__<1/&5/ޏ Kdoj]> ڡ *wA %4$ 0`aZannnaH3'333=HhaaxxnxnxZAxAaxxZHH 3:H'!!%3+'!!!%! )->v p7)$)F9NF7971  N11-11BM 1!!! "5*Ž D[eo]9 ŏ \h%! :: (3'3H36H:3"""3==HQA:==:AH3+axA%6HHA=33 !++   !!!'%  4>V !M603M  M6FAHF) _7:::FX_ 6( /* GYeeV7   *~%1F_ii  #7  ,DG711)$$$( *2*"*C*/*&&&&/"""!:Gd $M=:=1)M  M6MHM%4v@FF@FXn  =!'%  K`ee`9 OL  F :i!   "50"0491--0$ "&*&&&&&"85"&&&"% HPot$(XFAA6)P XFMFMN R_PMMXx! M%3( s C``YY9  8kӥ_     5; "&5;840(0(&&&&"""&*/*"2*&&&*&""% Zd{$)iiXXHF1[ __iFM >$iiaVXXx% X%%33ey~ C`YYY;e}  &O51pp    *?&"&;EC5525*"&"&"&"&"&*"**&""&&*&&&! avt}$)pp|pZXMm$ ippX%1U$$iid__Xp(  _++63]lslm{q @YYY`D Yd]lsvs   Lk   % !  52  &**00((0,(( &""&/**""&/"&"&*&&*" amv$$||iXMX9 ppilppviiX= x66=6][[U[ec 0P]Y]? LKGPR]m*\5: _!%          _d ||p___G || pM FFM+RNDDDKV ,K``Y;E@@DKPd   8I  %_  282ETTckkc`YPPYY`]`VRPYP>E?25*"*&""* &*""/2/*2229BD>7744) &"&*2522/*&&/" #,02522&&' ai  p|ippiK |)  ˝|M FF_+NBBBBBG-G]`Y9 E;>DGR]   /T MX _X&;CC\kckw~~tteemvtto]]R]RGD;8?CIO?E8/8C8"&*2**/22/58;;9>PUNGPD77,((&"  #(,,7;9;C;;;2000((($$0,99@552*&&* __}  |pippiP_$  ˎpM FFM  DBNNN7> )GYedG ?9VVVPV   CL  _% &//C\TO\\ktooedddjeeVVPP@4105888??;2**/**&"&&**&&/*/258>>>N[UUPB171( /,(  $ ,775@9470,,,($$$$,79@>9/""* _p  p|pi__X1 p6 p: MMH3lb 0K]edG ]t5k& p 6%  "*;LCIL\\hojee`]YY`]KKGD4,)),**28;C?85/*//&"**225@9>>D]d[G91@D,#,/,$# (49>@9,0,$((($,47994( ' Xi|  ppiiiXX$||p!  |1 F6:' gyV ,GYddK ]j  2OO 1-X#8?8C5ET\`eee]]]VRRK>D@>00)))( &*28555**&"//8?CK@9>Gbl]D@>>D7,,5,(# $(04@@?4(($),4941$ FX|p |i__XMX!=˔|! 643' LysgG #GR]]K ]{{Y 2\  66 "850,;LTYY]ddejeYRG9KGD74110,(#(099442*""*/8EEK91>Pm}jGGD@>-((&**" $(,099@7,0($$(470,,(""  FM|p  pXFMXFM|!= }}p :13% ?tjgg]@ ,GRVVGVt{ottC E5 M6"*07;E]YVV]dmj`]P9KPG>407040,0474(,,(# "**/8?EEK94@[m}}]>GKG-(,0&&" ,,0007>:7101($$$$040,0&&"MXp|  iXGMXMX |||3i }pm{xh  :+3 8c]V]P2 (DKPP@?`o``j;;\  i6 1  &#(,4@Vd]YV]]`modDRVYG4((,04,(,(1,(,) *&/88??G@GK[m}m>GK>-,),,#(279707770,,(($$$(,$(0525/&&MZ_p  MMFFFMX pi^i6l dieopi  |=6: *OPRRC/ (>GKP9 5K]]]`5 "Q? !%p &2"#&05CVYYY]]eeoeRY`]G4,0,04(1179791, $(,"*//529@D@Pdmvv[KG@91()$ ,005904,,,((($$ (# &///&" @MFi BFF@=FFiMX|b}UX_m__x iF=6 &CG;?5* >GKP9 2@PKRR/'C  F | _  &"##&,5;KRVV]doooo```Y@717,470,107;>70$$($""*5/799@Pdddd[PKD>70($$,00,4947((,0,$ ),($$,,,'"&! :F:_77>66::|iFFFX1$ lGFPXRPt!X6++ #7414,#9GGK9 /2>5?C* H* _p6! &*29;KRR]ejeejeeeV@@>90201$$0;9,( (((""/5&0419G_]msl]PPG@>1-$(,,,#(,090,,0,( $)))$$$(#"&/' :::i$,11400==| XFF:=| $dKMQHFFo!F+!' ,)$(,"4@@@7 *58228* &\ 3= _M  "/5>DKPVVYVRV]`dYPPDD94,( ,99,, (#(//*0411>V[gsl]RPDD>71($,00,((04744,,($)$$$$)$ "&%+%|$(111,1=F MF663M[RFPYM:={!<%!  #### ,7>74*2/*&&"  "c/ X=1X  "/5>@KKKKGDGPV]d]]VVK7,( $(&*2/0$  $,00444DU[]vvg[>77>7) 007,,,,,/2240,$$))$$-,# &,!X$!171,3:6_ MF1)+7_(RMMPQ@@h!!+!%!  &  # )7D>4"&";kFF1F_6    &259DKD>>999DRdeoo`K9,( &/*5/# $$ $$7G[]vvgV7-)4$ #00/"&***&"$0,-$$$),-)$))0,(,0'01_%!14, +3%M <0 k*!p= p    #(*                   :1_(::0,::3X ==%$$)6F &@FFAA=@h!%  4990 8 @Fi!  ""## "&&"# #&# """&**&&*   :6MCC;:AA=M QQ)((1:: GMMHHC?\!%+  (79,"AA?/?*"&?hk~qL22#&"#$$$#&""&&&**&"&*&/*/*&&&##($&**&***""&&&"#  # $ddv}m) KGRekcccccecc]V]djt dd`c`\TT9925 #2C2 aӹȹȰH  #,(#),,#######&?\cIT;$ &""&&&//**&&*&*******/*//**&&""""&""&&&&&/&"" @DDsv}}dvN$0###     #5,  ȷȁ"##(0$))7>GKDKG74997404K` ##""*////*////**&/////2222*/*&"*&"""*&*&**&"   G[>9Vm[[mv  ##(( /E   xȫȌZZxnaH'/ ,,###0?OOIE?;872>7#)D] "&"&&&*///*"***&&"*///2*"&&*&2*///&"&&## $$[[@7Dvd[Glv  *2,  ,)4GD>@7*    &8?8 & ,###&/ELcO#$Vm#"&""&&*/&""&&**&"*&*/****##  ,#$$ e[77>VV7117P[G7Kj  0@@9#  */   *&&&"#&&""2CLI85/# *2"**&0/5&$$$))4DDY9    9e"&"&&&&&&&&/*""&"""""&"&&)$$9]>7G]D@G>>m@"   4>4  &" ""  /20     $$->DKV4   7j{R&&&&*""****"&*&""&& $9D9D]))KBB] &#&&&"  GsU) /8"" $)0DV]7  1]] **&&*"&"&2??2CLI;/""""##    @GdvR[[GV &""""*&" 4}d "&   &//*8YY?/ &52*/*##  ##4VRVK$)-)-)),, ?R{"&*&&*"*?CEE;IL;*&## 4DKRG>( 1VKg}7NdNPG 49>@7,, """ ,s9 "&  "*&&&"  #    ""#*?IYY``VPGD9479;CE?et#"&***28/5?L?& 7>GKKKGG@ 1N9K[DG9DY$9974797GD$  D@   "&&&" &"&/8L\TOIII?80$)(2;8;Po""&****&8E/"&*"&""# ,09@DGKPD>11)19@[) d[BGRd>,0)$0DD9D>4$   $9   ""&&"&&&**&&&""""&/*&&&/2/5&#****&0*"&/22*&/5*&"&"""&**/*&(  $$$790,49KG11114D>N7 UNGG7D9,$)09KKGK@74   ,   *"""&&**&&" *2/&&*&&"&"&""&**2**/*###  ,)$49-741@BN>BD-BUVKGP9-40->7,( (  *"&*&     #/8L*"&*&"&"&*//&&**&2//5*& #$ $7(4$4-NNBDU BBR]RUPP91)71-1 ",  *&" *\ICET\c~xkqqkh\O\ccckwqkxh """"&*//*/2/*///**&# ,($41KdBK-N)B$9lG4>DPG7$-4--" *E   ""&/ " 8nQLYho~~~wkwȷQ &*&""&"&*//****/*"*2&&&  711-4)P[N>-Nsgss>$4GKP]G41$ >71"C"  & :hYIYeow~ͷH "*/**&"//**&&*">9D$1>NPK1 l>PVD-$)4GR@7PRPG N>>$ I#  && 7]CER`hͷˣ"*/"&"*2**""/*&44D19>DG>>7>DD1$--1DGG[P@P NNN-5R " && 0YC?ERe{Ͽ˻ &*"*&"/"&&/*&-1>9D>NG$4U-G99B-)1KPK]P@P(NBD7 Y  * 0V;;ELTk~~)BN  ""&/*&&"""**"*& )$>44BG-)>U$)-7@7DdK@79>B>$ ?G *  0m@5EO\q~b   &"$U4U-179-1))7BU1 4U@UdK91K7B771 o *     ,j@5?T\qǴ>l    "# 1K4$9[>-1>7-1$4d}PGKG>PRD)$[7  NNB-$9D "/    &,D>@RVdyyyN       # )KdsvbD79149>>4D}[d[G>)7bd[UN4Bb91V   "   &)ǣl[DGNGB>BNUb[UN[[[dssssllgdbP     #$ $119>4474--1B>$BysD dڣm[1- )-bU9-LP   0}R9))))1)>N9    $  $)179>9744))-4BD4>svR$$4]d-) >gN4 )0     ,{`0,! !% 9{Vl-     $179@@@91,--1)14B>--Ks,)  -GD9-4, 1e         (]G "'''%9-)   )$$149GKKD74,))$ 1P]1  >>17@GG@>) @G  &    (`9 """%''+''G71     >7$$(>@FKKGD)$11KV7  $7>>GP>>@>1-V("*    `  %+*'7    7D4)71@71)$$7>>@@9>>44jD 9GUPM]>-( R &2      ] '*'"",P>4      )P@>>1)147G@4441774$9B>@)7DK9$)1(-), #(Y&8'  % F ""d7   ! N@>G >N4-)$ G4 >)$)4- $  4P 25 *"  !: :  K1(   3 G[NNF9$4[$0, ))(  PG 5* ??2  %HZ: :M%   6n6 j]]$$D1- >D9 @((40 PDR# " \TE/   0HQ 6%pH6%  'H6 $}m[K4), ,G444 P7e9 "h\O8(   ,=QY 6'aHA:%!%    %56Zx6 jdP >$ 0  774G P>`; &hhcO;0   0;Ya  0"/Q5=66+0  *AAax6 KRK[$g5 (K1-P ]@jD &852*"  (0    3 !'3FRP[4G (4 2 K-))7eG`; & @BUb  K4$$  @05 7@)9$-9}PD- " -}pX91$$1B[iiiۨp_>F1:FX_X[bb[B>>7>MMMMMMF>77@FFMN[dNBUg˸vN4$ )4FXX_[_sB)4D[bP4,)  92  G91D)$4 dP 9 &Xi____XM>1)1BNU[i_i||lFM11>X___gsbB@FBF[__iiibUGNU[glsvvs˸vUNB-$1>Ndiv}}vlvsD -17Ug>-))4[9$)$,( ? $g[1)$-DN$$1$ VV , &4@>GMMMM7$ 191$1  $))179-$)17>BB1$$$$$4[N1->BB7)$)GU479997) $)7@714$-4G[l[7$$$$ 0 ;0 1Ns}y[>-)14  >V  &1>>DNDNG9) $$171-4  )1794-$$))-1>BNN7$$$$$$-7bU>4BDD>111GG>GDNDB1 $)4B71>$$$$$)))  5;  9B1471)1 1t  &&   $)$--)$$$$$)----  $))))-1) $4C5  $,11111-) $, &&&"""""""""""""""" >KG]]D0)  """"""""""""""""""""""""#"#  $),,,,--)# (/*0DDD9  $$4>91   tP &&"&&"&&&&"&&"&&&&# 9Ż}{y}}tYVGG@E  #"&&""&"&&&&&&&&&&&""&&"&"&###--,,,),))-$ )))1Kt~cK744  9>9-  d  & "&&"&"&&&"&&"&&&&&" @tjllggggd]d]]]]]]YY`oottotttt{{{{qqT\`eR """&&""""&&&&###  ))00,0441)$)-0,4$  $B- ##G0&&&"&"&""&&&""&&&&" Glgjjmjjdee]]]`VRRVRRVRRVRRRVTTTT\\\\\\\\\cccccjo~kEEC8"#" # ),0$4GPVPB-   )7>7$  # 9] #"&&"&&"&"&&&&&&"&# Keddemeee]]]RVRRKLOOIEKLLIIEEGGDCGEECIEIIIILTTOO\TTT\YYec`jjjjoooojooomjjjejoot] $$)91 1--1$)1-$1$# "}}  &&&&"&"&&"&"&&&&#Kd]de`]`YVRPPGG@>>;@>;;;??C?C????;;8;59955999>>;@CDCLELTOTTTTT\\\\``]]]]]]V[RRYRYVTT\``eoV $>-)991$$ ### >@"""&&&&&&&&&&&&" RYVVY]\OTTOICEC?5;;22522585222522/5/222/225/25558558?8??59>99>D@CCECIEILOLLLLIICDCCEEEELOOVY9 $111  )11 $$ ##"&" j{  &&&&&&"&"&&&"&&&#YRRRPRLOLC;?;202/****&*&*&&&&&"&&&"&&&""&""&&&&&&&*******,2/22225858;8?;??;??;;8;8572?;;CECLYV4 $$9$1 B  #"&& 0K&&&&&&&&&&&&"""&#dPGGGGCC??820*/& #""""""""""""""""" ""&&"&&&&******************(**255CLIV- )14 > #""&&" jm &"&&&&&"&&&"&&##{GDD@D;8852**& """""" &*8?EIR -$4-7$   7  #"&&&" 0{]&""&&&&"&&&&"&&" o@>@99825**" /2;EEKl 477-1$$1))  B  # &#"&&"Po,"&&&&""&&&"&&&&" $o@997902*&"0@@>@DD;;8;858888504;@;740422**22000100,#"""""""" ,2?EEK 71>$-$1-$7-  9)- ###&""&&& $YR  &&&&""""&&"&&&&#0d>77772/&"&&7222---,000000,,,,,00225222/0/00000000,,,000,,,,0,,,,,,,,,,0000,,,,,,,,,(,,&" 08?EGt [1111-$1-  G),  # "&&&&"&&&GR7 &&&"&&"&&&&&"&" d97440//*&&"0#&&$$,)$$ $)$$$ #""&"&,5CEGtj-b>d>-BD11  9d 79  ####"&&&&"&& GV@ &"&&&&&&&&&&&" )o700,#""#4 *5BDNNNNNDGPUUUUGBBUbb[UUglssgU   9yssg[NGD>BPU[UDD907N>9DK>@GK@&""*05?CKR 4llNDPb9-BB11  KmB711DG   ###&#&"&&&&&& )YK" "&&&&&&&&&&&"# o00442/*58 #0"##"&#&&&/020*&#(( 1BNUUUbg[%++<+glbGGG@7,&#*0,(&""&&&&,0""&*05?CR, -7>1)$1N>7-0 >[[N9   ##"&#"&&&&&&&&& GE&  "&"&"&&&&&&&&&#D}7400/***/*8RP)0###&&##"&""&&&&"$y%%%bs$$"""""""""&&&&"&&"&"*//5;Cd $$)$)$$)4[DD0   $99$$  # #&&&&&&&&&&&&" $98  &&&&&&&&"&&&&# 944222*&"""""V  &"&#"&&&"&&&"&$$[ Nl-,*&&"""""""&"&"&&&&&&&&&&""""&*255?? 1-11)114$1dND) @  )>B4$  #"##"&&&&&&&""&&&& 9*   &&"&"&&&&&&&&&#$U45855*&#""",R """&&#&&&"&&""&&")BBB!JJJJJ 04$  ""&&&&&&&&&&""&&&&& #    "&"&&&&&"&&"&##gD755/,( ""#@&&&"# &"&&&"&&&&&&#$[rf! 77 &&&&"&&""&&"&&&"&&"&&"&&&&&&"&&&""&#&*/555>@NDG77 ##"&&&"&"&&"&&&&"&"""""   """""&"&&""&&"& 0220,( (;##"&# #""&&&&&&&&&"   ^fW< -1 "#&"""&&&"&&"&&""&&&"&"&&"&&&&&"//# &"*20787$ #>D-7d$ GK$  #"""&&#&&&"&&&"""&"""&&"&&     &"&&&"&&&&&&&& 702/0,)  @$#&&#&&""&&"&" ""& -!!3<<G@## #&&&"&"&&&&"&&&&"&&"&&&&&&   &"&"&&&&&&&&&&>(,*0,( #&9#" &&&&&&"&"#"&"&")4- &"#&"&"&&&&"&&&&&"&"&&&&&&&"9`#&&//424 ""##### # -9>7NlydPDGV@, ###"&&&&&&&&&"&&&&"&&&&&""&"&  "&&&&&&""&&&&&](,,()) # #?1#&"&&&&&&"##"& #$P1%JJJJWJ! - &&&&&&&&"&"&&""&&&&"&&&&#e#""**/454#&#"""## # $9N>779919KPG### &&&&&""&"&&&""&&&&&&&&&&"" &&&&&&"&"&&"&&#$$#$$ &&&**@B"&&"&"&&&"&"""&"V)@-rf - "#"#&##&"&&&""&&&"&&"&&&"&"&&&& R"&*&/2/2,&&&##&"&""### 11>14119@>## #&&&&"&&&"&&&""&&&&&&&&&&&"    "&&&&"&&&"&""&&#7  &&&*22KV#&"&&"&&&"&"&&&&# 9D$1!^fW< g-#"&&&&&&&&&&"&&"&&&&&&&""&&&"&&&&07****2524#"&&&"&&&&&"###$1))1D4###&&&&&&&&&"&&&&&"&&&&&&&&&"&&    &"&"&"&&"&&"&&#o] # *222Gt#&"&"&&&&&&&"&&&" $4!!3<<@R#&&"&&&&"&&&## "&&"#)>79N7NN749B11)$# $#&# &&&""&&&&&&""&&&&&&9R758885520"&&&"&&"&&*&**&"# # $###  ""&&""&&&&&"&&****/"&&&"&&""&     ,`, #78"#7,# &&&&&"&&&&&"&& ] 9@om &&&&&&&"&&&&&&"&&&#@Vo{t`t`{eo``Cs)N10### # #&&&"&&&""&&"&&&&"& ;;;??8;2*,#&&""&"&"2;;CE82//($),(((((055;;?;($"&2/*28/25//28?EELT&""&""&&"&  7` R?  #1(#$*"&&"&&&"&&&"&&&# 91-Dd &&"&&""&&"""&&&&&"#$$$$)),D(&C&&""&&&&,7)$@$-9$"# &&&""&"&&""&&&"&&95;;C??85/$&"&&""""558CC822*&$$$((((0008??;,1)""&**///22/522EEETL&"&"&"&&"&   G.. 15 #(# $#&&""&"""&&""&&")m N[ UB>P#&&&&&&&&&&&"&&"&"7> 5I"&&& #&"7D$@4)"&&&&"&&&&&&&"&"&#K;CCCC?85*$# &&&&"&&&28885255*&*)(&#&0028??874"&&&255525825ECLTL&"&"&"&&&#  1>Su  ,## $  &&&"""&&&&&&&&"0>Bly N9K{4#&&&"&&&&&"& # #$$)--)$K)@G&4K )>, &&&&"&&&&&&""&&& 79EC?CC?85("&&&"&&&&2882*28/2&**$&&&**579?C5"&&&2225252/?8CLOE&"&"&&&&&"   ]uS    $&&"""&&&&&&"&&">)B B s4>oK#&&&"&&&&&"&" $$94>4&&#&(K 40&&&&"&&"&&&"&&"&9;ECEEC?5/$&"&&&&"""8?8*/5**22/*,)$(*2/294>EE2""*?;*/222/8;;ETOC&"&&&&&&&" #  s.. 5  &&&&&""""""&&""4G UűU D7dd##&&"&&&&&&&&## ")D>-&&"#K) 91 &&&""&&&"&&&"&""74?C;CEC?5*( "&""&&&"&CC522*&&*/2//0-(285977COE5,&5;2/2**25??;IOTO&"&&""&&&# ##  N uSe# &&&&"&&""&""&""1$40Rm &&"&&&"&&&&&&&&"7)D)"  &&#>,,9$# #&&"&&&&&&&&&&&K5?C??C?82)$&&&&&"&&"&C?552*&&*&&/5/22)7?D79ILE;2&/8288**5;??LOO\O&"&&&&&&&" # )  S.Pl &&&""&&&&&&&&"b4N -N 4),Do #&"&&&""&&&""&&#)4G$&#$(&$$$77#4-#  &"""&&&""""&&""4,88?;5?;80*#&"&&&&"&"&8852/*&""""&&*22-1>BDEIE82&&?C2**/*/88?LTI\TL&"&"&&"&&& #   5 @7   &&""&&&&&""&&"gU-$(0o$"&&&"&&""&&""&"1$@,--)))))()$)149&)4$ "# #"&&&&"&"&&&&&&"@*28;5588/(*&&&&"&&&&"&585/&&&""""&&&*/11BBBB@?;8/"&2/***&*88CTOTO\L&"&"&&&"&&   "0[&   "&"&&&&&&&"&&"$4$$bs$,o0"&&&&""&"&&&&")-)97@KPRRVRRRPKKG9&4- ### #"&&# #&&&&&&&&;$*/22202/)&""&"&&&&&&"&22*&*&&&&"&""&&&$5CNNB97>5*"&&//**55;OOOTTcT&"&&&&&&&" "  &505K9  & #&" &&&&&""&&&&&&ld1D$#&&&&&&&&&&&&#$1 "05##$,00222200(9) )4)#"&&&&&"#&&"&&&&&7 &*****0$&"&"&&"&&&&&"&/*&**&&""""&&&&&,5>NNB;5;2&""""""&*52ETTTTTcT&"&&&""&&&  ""   #&&#$ (** &&"&&&&&"&&&&0 """"&&"&&&&&"4#40#&#&&&"#5,)-""&&&&&& "&&&&&&2e &"&&&&&""&"&"&"&&&"""*/*&&&"""""&&&$)-9NRLC??8* ""*28LOOT\\\O&"&&&""&&" $&&"   &*& $ ,2/& &"&&"&&""&&&" #&""&&&"&&&&" *0 & 0)&&#""&&"&&&01-)"&"&&"&&&""&&&&""*"""""&&"&&"&&&&&"&&&&&&""&&"&&)$)4KOC?;82,"""""&"&*2?IOOT\\TO&"&&&"&&&" (&*&   *& $(055* &"&&&&""&&&&",$117, #"&&&&&"&"&&&& #&"5&"""&&"5##&&"&&&&&"""1$2&""&&&"&"&"&&&&&"2""&"&&&&&&&&"&"&&&&"&&""**$$->TT?84,,*""**"**5CCLT\TT\O&"&&&&&&&& )&*&  #*" #09;& &&"&&&"&&&&&&#$)9[llB[gbbbBgb$$$$##"&&&&"&&&"&&&&&&&&&&&"&((&&&&&&&2"&# &&"&&&&" $"/# &&&&&&##&"&"&&&"$7Ull$$"""&&&&&&"&&""&""&&&""&&&**$$1GOL9--)#"&&*&&**8??ILIOT\L&"&&&&&&&" )(&"  (0"$4DC& &"&&"&&&&&&&& BNy$ &""&&&&&"&"&&"&"&"&&&"  # ##&&&& "&&&"##"&&"#" #&&&"" &&&&"&"&&$7N[&"&&&"&&"&""&"""""&""""&&**$$19BK?8/*&""&*&&**/8;?C?ETTOE&"&&"&&&&& #((&"  ,,$4D@/ &""&""&&&"&&& 4B[lssy#&&""&&&&&"&&&&&&&&&&&" #&&"&&"&""## &# #&&"&##""&&&&&&&&&)BU&&&&&&&&"&&"""&&&&&""&&&&&#$-4BB91,, &&&&*2588?COTTTL&"&""&"&&" ((# #$$,"->D90 "&""&"&&&"&"&#Bs"#&&"&&&&"&&&&&&&"&&&&## "#"&&"""&&"## #  #&"""&"&"&&&&&&- "&&&&&&&&""&""*&&&&&""&&&&&&&$$05851$$$#&"""""""""""&&***/2228;??CC;&&&"&&"&&& ",$  # (,($ ("",?;@, &&&&&""&&&"&&#"&&&&"&&&&&&&&&&&&&""&#)&"&"&"&""&&&## #"  #&""&&""&&"&&&&[&&&&&&&&&&&"&&&&&&&&&&&&&&&&"&&&""""#&&&&&&&&&&&&&&&&&&"&"&&&&"""""&&&&&&"&&&& "*#   &"  ,0(##"&"*EEC* "&"&&&&&"&"&"  ""&&&&&&&&&"&&&&""&&&"""&&&"&&&&"&"&&"&"&& )#""& #&" &&""# # # #" $, #&"&&&&&&"&"&&"&"&&"&"&"&&&"&&&""&&&&&&"""&&&"&&&&&"&&""&"&&&"&"&"&"&&&""&""""""&&&"&"&&"&""""""&&"&&&&&&"  #,"" ""&""&&&&&"&  &&&&&&"&&&&"&&&""&&&&&&"&&&"&&&&"&&"&&& "& # #&&&&&"(($$ #""&&""&&"&*"&&&"&&&&&&&&&&&""&&&&&&&&&&"&&&&&""&&&&"&&"&&&&&&"&&&&&&&&&"&&&"&"&"&&&&&&&&&"&&""&&&&&&&&&&&&&&""&&&&&&&&&&   "&&&&&&"&&"@($     ,$ $)   $ "/ 4PR@$491  $$ 0D94RP4 1>@, $>,9RD4 " ""*/            -N]N-  *"*(9[{5*,d[U>  4e, 9[bB 1g4>ggD)>[gbND >s79]mG,(@v,RtsP;$7Y) {ee` ,Y0{voV O  7($)-bG0{$0GD$ e4$ s , m>0 s 4(7b$DB( "0y> l4,D,@9 @R{$ >UUG,Et0 7bdK  P   &"-4[9{9 > >,d9$ 10sG94@g) 1 @,9sB" 58GG4>(D]9Rd/@d7>j$*2R &&"5;II9797DVGU4]4[P)$0K71j0*4VG$4v9$(7>P-$P9$*>P7,d44>d4,$>G))@]t8(7ldB 8DP,"$$gY9(47K "  0BK %AFA6+6%! =^rH+a|^J! WW3! _^3 +/yy !gG4oА9 [̜G7>Ԝv71@$4KNjK0 (>RҩyV48 &8E5>9>yy2y$)>Rژ[>R}G9}ǔ>[̯>7Dv}B$)4NjG-Ke֘P,$0>Gԩ[,* "2*IRGb"N*(1DRvK9RK9t̜DVИ}>4Dvg@))4}G$4D]ԘY740DVԘY,/ "5\YU,BP#(0$>Vy>7]R4}̔D[ԣ}@ >Rm7$$4{vK 1DVԘ]927G]ڜ]7/ #&*EN# (v,D]v44RK DԜU$Rڳ}@$9PޯY1 $4g>$9PԈ]9,0@[ژg7/  )7&&&&G, [ ys @]m,$DjDDԯd)Pڳv90>}ֻ[4 $>m>)D[0#9]ڔ]$ -R"[[1RvjD@vlޘ4@ԡNGvǯs9 )>o̩], $G}Գm4 ,D޳R #P}}4    G[l )1>RKPm[9,7DR>-4>BD>14444-1$DGD@4RND> $UdR@$ >V[9&&"$ *&PDv7j>$Rvv G縈- $gydG 7[d4 >vǐU) -PjB $R{̳v) ""&G>j 7]vǐ7 7]d 9dس}) [ssg[D99[gVP0 7Kog]D$ (7Pg[K>4@]{vdR  8&*/  & @[М4 4RvǻR 4lŜy1 -bl[G, ),74>1  4,, 299/  ,>9( 225;C  -D( 7eǯ}$0GjeKsjG4>)       ""0 $$   & &,49C?;E?5>m 04(,258$]VNK9>GYPKDD9@CCCGRKKK;CGG9;?ICPGDK2  LP@"5&" (49GO\khk\c\hmtP;ott~wP$ 1)($(&""$$)$ ,$($,(744,005"o"""$LL8(" 0;I[[Po#27>` ($(@`;(&5025*5517 9D,$4R`;[Vɾ c 9]",@o4) y[25 &"*"/$` m,)mv,>,4} 9tv]Iɴmj  8 ####4G{, l[D("2Ժ  4 7 0,4Lk>UGdeE` D2 ( $ 4V{0  N$"&    02#(,,9407@ >>>DKdP9{Re $,4,&"&& (,9KG4  &{T# 00775540DDRYYCLRLY~ )7,47990}j`[PGKKGGB;;D)sDDDDGCDG@DGCKKGPVK772   2 [}PúɬwEϬYK7OkkcYYc``e``mooj\VTY]YYY]{E  OT28;;85*22&"2*(jԳ]jЯ̴k*kh`ILVTICIIPV\TE4YRRRP]{q], `Y( &58;?;E;;8*\ w~G]vڱRD[vGdИK9s[][dmmotdejT" }ojjotojbdbb\`ddRRRtvD22&Lɬ;(0255;?CLOLC" qk*PVd}UPRRVbNҡggRRRKR[eemott40PY]R>E\c\TTOE? 4//5C]PO\TOTTLLLEEEIEC,K9;;;@9)4K@o{d`TE;*/~74BG27;??L~{Y? ",4>D]80,>;E]RjdjeCI?GEDK>P mGt$$BRD "C?LLE?5 >&? dCEIC;;;;CEC;??C70255555s0,`4owV\E5Nbd@58;;c ;E"(,,D87m 7528;;55?CC8;88>)@R4d`$07 $2/5;5CC P"?K5252*/&*255/2220*"&"&/07PG,9(j{e;0&[4747s޻ ($$7C8> G >52555025;?888;D44V[-4PP( ( 92*;/ 5/E ,&&&"&&&&&$))#7 `t{m?D8BGG>4774Kgms ((,]550D]g9;5554525;?;58;>D@[[@@;G &(    "" 9\tЀ)`g`)NKP>2G7>mtv &"/&0GR55,)1,285552/*2?8852;5}]KsP}V,@"es$/"((*"&**&"*22552//&/55222*""&*/5* Tkqw~`l97gyoG2R@K&*"**&(`285**5222&**&(&(222/&2/00/(*&#(@," & 4ymB8;;?CC2229;897/2588;;C?;2/5OjI Tcqq~qk`mRRVsV7`[R*" 79*/***2*      @0" RVdK947BD>9@9@9DP>GD909CG>>@4->Pd#BOOkkk\\O`mse9]Ve&""&G#"&**&:th`ckkqwxpaaQ=: $    RD 7 7UEOccOIICPl7gdg"04 +a_vjoY`x|xXin_F7::F  C,  0 ?ETTTEE?4vglyN4deDv"& @ =p|v]]NV_||||pp3XXMF_6F$# E$     (NN5;ELIE880`VyyyG4dd$K "  ,  FF|F0*25/;5AH=AQH5:%6!! +: ) " 4   4444 4/8?C;//0KDcK4ee)R"" 9 ::iX3&F/5/2:FAF?H52+!+% ):  ) $$$$ (/5;/*&C7,8[9oe$] "90F!'3o&&&*&***2:/"'! -$     G@B> 4  "&/*&P7$qwc*]9o`j  Y'%&"F&"'  ($   &"#&&&"*;58@P"  4"\TI(dGoj,0%  7       &222#"$DKKRdV>DV]d/   B"I85 mP)` &?D !      K[Vo]EKPRRCCKcw~q`c~{{oeYeoG@Ge}oR;,40    ?*&dD$e   ǣǬϠçг}P   *oDom,dysdmd]bv1GNн}9$   j@je$e  R@9;?CIIC4;5524BG$ 94;CECEEC?;5547598;8 $4     jCj)`    +V@4>49CCEC?C;5;855@9$8?CEGD9)-$$$DK#1@G@   dGo)mɺ   dGgGDbbP[RPDR997/28GP,C???>4-, e[t9  ,Y@tt4mɺ   ]441,440C?5;?52525;;5PD;;@7bm>jgVvvvDR  ޜP7to4tþ  GG]GP[PGPGD4K8022/22/54)244$ -7$[@B- YY  ǣR9to0]4,   6=6636+'66+(2522/*&*3/01054D-9-FFF6:=;@EPCTLPKG}T;>C@@9$DBUUBR>{m,Y)7G7)   +66A663'66'"&*"*""''$((0-3|iipid}ottotomedmejomb KGt,Y$4NNGN7  " %6'3366363''''*""'3+''%%%%+%!!_XPMFF@de]YRVYV[[RRKKKPVs> *GKo)R9UNNdlP7 + &""""3' '*'+63+++''!!%''++''%%++%'!%''$($14747>7,04041,$),$9$b*2KCtv-PVUNgdgbD 3+H6% '+ ""&&""&=HHZ 36%%"+%'%!%!'3%%6'++%!%!$ (",**#"&*&""" ""_ ) "5yGG}0R UUNUgbg[ HZX= %+: *&*&*&*HXQ:%!%3!!%''++!'%3!+%'! $! "&""2/:M 5yvv@@tv1R >UNPUblg aana  %65&3Fa3F!!!!!%!!%+'!%!!'%!!%  '""" "5sll9@od0G}K[$&Pb AaaxaH''!AH6&&*6+3A! !%!%!!%!$  H& &**'( 6! + 8lgd9Gte1Dsjv -@ I!$:aTEInXA+'"("A'"n=''  !!'!!%!M7$@[G)l[B1 VPM6=3*/D9md,N  /E6!FF5AaQa3'"=QaXXaZaxAaQA +3!'!   >D=:(%F5 $00F+ !/[0`d$U O 6F 049-(#*&&"&"&&"YD XF=)( %FF$9GMMF !+Y0`]$K  2/ M  2(;80/""&*"&&"&"6o@(iXF@ $iF4G @iVXQ '%3 jyC0YY,4s}} OX%    6oG=|_XoF|FPiiA== VNR2VY**DK]   5%p*;\cqk`]jeVVG?558/&2"**/257GB>4 "&2552&*" #052&"6|D =|ii XMg}MF7 DGB R`,&DPRE %M  &;OTcoed``PK4,22;;2**"""&/29>R[D44#*  09>0,((099&6|F1piXpMMرgo FF6 ҡ1Rd44։ C _%"85EY`ddYP@@4,,"*94*&2CD9[mD@9(*&,7>0((41$ +i:1XXMMFidvX M0+`sg KY47{{j8$K  #4P]Vde]GR9000,0(( &*8CD@d}PG7(,"04470,( $00/"6_F+MMMM=ndbKpopQ=6' ERPDK,"]]L : aX= &#,8RY]jmY]>000$097($"*29@[jdK>1$(074(,( $$#*& $F1 F=AF3Mi-U7G__8+6!295@K(@C;2X3  "2DP]`]`]G>4, 44$ #*/01KdlVK@1(,(000( $)$$#&3= 10=F!A6:>$GXA9!## 4>(2** I 30: "5@GD>G]d`@( &/* (,,D[v]74)(0&,**0$$)$)(( ($ %1"3$6: FF70 !0@(5 666   "    0+5:=%!6(1!FA;/!  $7 Iwwk֙qan 8;5 "&&*"&&**&&*#&&*&"Dg}o@0 ?;; ;7@,>;8    2#  wȾᝥ' ,#,CIG577,e "&&&*/***&///"&&&*&&&$P>vo[] #(70#  ;?&"##*EL 0"""&*&&"&"&&"$ V9KK@K 7(    1KG ot"&&2*;/"#G[PP&" 1m$   ;"  #0RV@94,48]"&*8;C;">KD0 @PKPD,0794 $R  " &"""*?;882 *25R"**&8"""&&  ,99G>11>B[GK4)0GD9  &"   *"&"""&"&"//& $$$1GD7)PRK4  0,   aI`wqwkcq~~ӷʟ"""***/*/&#1,,VDB>PGU1@P>)4$  " YLeͥh *"&/&*779G>UDD$7GGK0G7 2 "ICY~Ӳ-"&&&&*")49G)4-B1DRG9B7  ;  V;T~˸Ÿ  "9 G-9-,[vjR9GPG41>70   gg]lg]s[        DVB7194Gdzsژ]7>>1U4  @  {9$>$-    $4>>4)1-4K9 $d) 1K, K P''44g   )$4@K@() R$  >9D@4(     @%"'9N   ,>41440794 7 44 4G7>)9(  %(4   !K9>$>0)D"5CH 'X=  3XK]1-(( 0D DC\8  0a 5A3' *HX9R1 4$  14K R   ,P>/4)$] DMpmi@,1P[|P77X_gN>>KX_K@KRgm]ڳ}G4 9_deg> 4P$>,,& $9 -,,V($>GD>  )4, $17$)4B>$$1U4B>,9D>B4 $94,$$>1$$ 0 -[N4,P Bj[KK,7$#  #$# ))),   4&  $41$K  """"""&#R}vvvmot{mjoPPV]]`eRIC?;  ""&""""# ),,1, 4T?( 14  ,V"#""&"""#YgjjddVYRRLRLLPLLOOOOT\\`moo{{`0  $,1)-))1$  }& "&""&#VY`YYREC98958888555225598;CCCEEIOORVTRRLKLOT\$$4  #R4"" ""&"" ]KKEE85*&&&&"""""""&&&&&***/25555522025;Ld ,) ) #""j"& "&"&#vt@>85/##5CY $4,  #""D@"" &"&" o972*"(9775522204542/*0000(((((#  #0?Ym) )$),  0 #""""R &"" &""}4,&#(279747971>>4BG>>GG9419>4)1-707*"0?R]7D->B1 G,  ##"&"$P  ""&& &#}00//*($ ##"&*& $,99Bd %%lD40("(""&&&&/;eD1) G4G4 #""&&&&$5  ""&"#& 452&"0d "##"""""-> N$&&""""""&&""""*2;$)1)R4) ,4 """&&""&&  """&" " V}20(((#" ""&"&" NJܼW 4"""""""""""""&""& "/49$D4$0  """"""""""""  """&"##}0/, ()##&"""""#  ] #"""&&"""""&&"55"&44 # )7GgU[KG) "&""&"&"""""" """""&# m($$ #&>"""&"#" 193J l "&""""""""&& ?&*02"#"## 9744D)#  &&"""&"&&&&&" &&"""" 9P#*2V """&""&",, %Wrf+G,""""&"""&"&"&"&"00*/2("&"&"##$1 "&&&&"&""&&&&" """"&" d08])""&"&"# )R """ """"&""&"@22/2 """"""#  ""&"""""""&"&& $"&""""o 4]>#"&&"&""&#>VV]RR;[-(# ##&"&"&"&""D@885/ """&25/&$$ $*22"*&**&/582""""  7( 2 ,#""&"&"" R)KP "&"&""&"#)48""#")44,$#&""""""" j;??5(#"""*8;5/&$$(,0;;1&*2252EO8"""" S.  #$"""""" ,[DNy>Y &"&&"" )$7># (7 4&&""&"""GRCC?5 "&""/8/2/*(&*27C(&5/228?O5""&& > u """""" $ sbsl 7d""&"&&""),7& 7(, """&"&"#m8?C;/ """"582&&*/0*89@I2*55*5?ET8"""&  SD&"&""" N 1(R"""""""#,4($$$#)7 1#"""""""EP5885*"""""/5*&""&*07BC?/5/**8EOT8""""   v""&&"&sR4B@$"&"""&"$(44>D??>7 )) #"&# &"&&j"///("""&&"***&"""&(8N>9/&&28OT\?"&"& $  " #&&""""& ""&"&& #( ((""" *$) "&"& "&"*0"""""""&"&&&"""&$1PC;2""/COT\8"&"& &  "& (2"&"""&97BB>B$,#&&"""&## "*""&*##""&" $*"&""#""&" #>4""&&""""&"""*$7O5,("*&2?LOT8"&&& &  (,@""""&&By> ""&&"""""&# #&"""##" ""##&&"" GD "&""""""""&&$4B9*"&&*2;?OT8"""&#( (1@"""&"" 9-"""&"&&&"""#"#" "&#  """"""&U &&&&""&&&""&&"#*/(#"""""""&&**225*&""&& ",##"5? """"""#"&"&&"&""&""&"&""""#"$# """"$ " "(#""&&""""&"""""&"&&"""&""&""""&""""&"""""&""""""""&&& ""&""@@07)  $> ,,0$ 09"#7; 4- $1 )1 9) $ > $99$D5$G9  $9DV1- P )[ )$4B),U) $$#e($90K]>D7P9K; "/#$[17F7+  +XnX,Mi3=af:a=)'Fn'$0'i__a+   8429l77%n|z!r<+ܗ3++ !z W=4V1}d(][)14o(4om0 "&TGN,b[K4G7V4}],gR,79}}4>}{/  &D$9RGP94eB}[(dD0)$oo,4}}(  799,[P[l}@dBv}4 9)}d >D G4""#UD> G -Vsb)9}}4 ,}9 7j)P@/5 ]  9ǣ 4}ds>1K$  )  #  ,*09CYTOIIILOIEIT8   K$ ( $/"""0#(2??EE}o@m( ,(0?"G&*/0$091 j {}ξP4D59RN9"v  #((4,YD}}e9K(   #DG5(]]dkkk{wwwt49LEom`V]YKIRPYj0((,,o2"&""?EOKࣙv}d]tj``]Y]G]YRmǧ]* 9,5;CE2 Lq; G]R9EV}mRKKDK]od9R(2OOE"&59IOEEECCC758044Vttc,Tc4R5;IG/#,;49582;;8;)>D7((4&25 * **& *&*&&,90oD02>@4G[(G54G552/8858VDV@)D" c{V{Db9D)G&"(;2*2& $  sG9;;7>;;;5;?80RTqq\dyKY9j"0"*tjckpnQA  4   gE\LEmGd9m" 6|pKDGaaiXF=36 "    92CC5Dy>d9V(A=;//:5:&%      *2&@T~eKjDj # (   (G7V79Pd] ,;C]Y{D{  s}ttoÞ{t]g  "]V}Dtv]dmRRGd7dm}jeo}jPR    `YoDt      PGDKPC@92>7?C7)) D,D@RtKo  G@@>G9;225877)[dPgP9]Rj4R }DtKt$7   666+6'***&",01($pXXPe``]jRVVR jG{Dd$GPN    +'333''%'+'%'%MA::KGGDD@99PNg&[Gt>dGPdb 3H 3"&&"AQ !3!''%!+!+'!"&""*0*KyD}@dU9]1 HnH%:6Z3!!!!!!!!  ("" &Bl>j9vG# A3XQX3'=A5aAQ%+!%! 1>)7>@:! &[Be9] /X $9,&"""C$6Z4:1,PM! G;]4R++ "5244,&4)&#P +ppi[7|F 0G Y(G926 ;Te]P>,/5&"5>[>,(#9,$4,M%_X iN9|F DV4I 3:#9VdYG0,0(&5@jP4$ 00,(*7FFF_1,]P 6  &DG#P0 &13  "DRRYD$*(",Rg>,,,$#,6 +6H7 7 &FIEA #*@45* (4;/   , *{qn5$(E($4""*&&""&" )DRP>      (P #t"&520>$K$ ,$ "&&2&"""&1>P>, 8Y~wC"*&&4GD>7G9   5IB $,47P7K>-  RG>9NVdgdjl 1D14g]vv$)>,   0'09 1$,>) $@4*  ':  !D  "2 %'@ (0@_4,G_d$1G44D99UUjm4 1P71, 41$(Vm]PPRRPGD49@@22),$(19  """Vm`YKCCCCCCCIOY`otooote @ "" YR?5"&**&&/Im  #9""#}@*"07474777 7,),$(("?K$ $   ""(" #RG*&4 #"&-D10""""""&C@,7 )$ #"" "" ]0"(##"" -rJ$"""""""&&/,)7)4)#""""" "" $@"8"""#1^1###"""""(0/$""#$,4 &"""&& """D K)""" #(709###""""952""*& (&&&/&"   """ 0 7B$9#""# ,0 ,, """0L?/ "&52($/; */2E/"J """BB$> """,#, $ """K8;$#"*2&&*9C&2/;O/" 9 """9$( """$,020 $ "#"&5&&""&&""(@;&*ET2"   #&"""Glyl """## "#"# #"#"#b,"""""(>4&/CT/"# #7""", """""  #"  """"D0#"""""""&"""""&&*&"&""@@ @ *  ) 4 , 4 #,)9$,FF:1=$-($7F0,K K( 5[V7X^W䍗f߂ |fH6++F/7UV7}}V$m[RVR  ,0)jDVgDvsK99D79@mDP]-7> PK d  #55m{ow~~KVC@ ( I 1,Kt{K,04-2g~{~[]eYVRV7#Rt&2/?D7?dLC7R>4/?*28550/47{;DR?}"84*&**77 ",,*,0*2(Kkt}d@FeYxxX: -ECsP  +("  (40> ;`v]stdo}t[  9]GDC9597B>1dV, ,{`>$  33+""+('XFVRPG]B;sY4U1H'F!%!!%"" 7[Vm=+ +'% 0:4@ 7vK  % "ED,&">,( $:F0D%$GD]!;VD,(KG0$ '$%FX 00 FhA(C>4 "  0 ;""1 $$ (qӷ(1B@ (,,>@K77,-D4 # % ,  (4KV>G@9KV70 $$ "GL820/28CIIIV (P0#,0)7 ,(##*9) "  "9( " $JA """&, ,, ""  ",0," ,0$ "&;("/ *"*2 % "-)("  (,$ "22#&&&;5C "9N "" " #" >""""0/5 #" @( ,,,;NKPXF,9sdgs44[[(],`tR$C*9eoooj`VIC@]IKE";CM,;oe D;RYY, e{ 70*0>V4)Vt,3%!! $$ Pd 0D#4,( 6FK(@E 0 )  ;j{ > 0,(, 0900"954 ((= "0#(* $0"# "0"05 i@4Kip:i@#me(>9&VR?50Vd 9@Dj'( 6 G5;)(0,# ( (&(& eKD"59R"( (( 7G"0qo(J~Va :q9V\ VDy6V\ V\ ooV\ VDyoV\ V\   Q>CG%u(x(m(y(M){(z(}(Aqp@|@ c>@ nw@ *W@ a/!e@.@ W@- @ @ @-' RCB E)I)Y ;@cTr*No ONPLevelInfo placed in level! Using default options.!3a cG I)J)K) .GG-UG!u .Gwf*.Gtf[-.G $a6 X6G 6X 6r6X 6r6X 6rGz z %Gz :-j.G!@6G @[/a0 qP$ZP$J10G J)@K)@HI@Q)S)S +  {<G tJLG -mG 333?CG L>a!K ar$gG >a!b as$G 333?a!c ar$a!ias$ h;u?i+8p6-a!^ W>?i!- i=aW$? HDa!_Y? iu>aV$> Ca!jW - i{>a!}W> @@!}+i>a!W>>Ha!}W aP$?'CW?a!W _HN ::$ w.*:.k%a:.k.v$333? Caq$L> C V)W)o;T)Y)g+w*a/!UMwM*Ma/!y $.MY) bMM MM5 MfF)_)D zjq!}-'-'Y_)R-  ?%. hk- M f)EFRIFF>#WAVEfmt "V"V.fact #data #|}|xvwz}~|wroqvz{wtstttvwxxwwxz{|{z{}|usy{wtpnpqppsvrkjnsqjeejqutqomkijnrvwwspptwwuux|}|yqnqv{|yrjffjkje_]_fmolga[Z^ejmnmhcbfknnnpruvwwvutv|woygdlysbY[erujUEFSdtzq_OKNValql_SR\jstledkv~zspuurz}p`UU^hkcVOQYche\SMLOV`kneWMMXix}uoorx}|vnecgnl_PLUbjg`XVYZSIHR]a[URW]dgjq{~wtzzpighjlkgb]\^bdb^ZWTMFFMW]]XPOVakquy|~}vuymfgnx}rbXYet}znaYUQKJP\df`ZW\gpux~{{{wutvyyvnggny~ujdcc_XUYafgefjs{z~}y|xqnosx{zvpkhjnqrj\LEJXgqsoijt|uv|{|sos~|pjjow{ugVMO[ly~ztuyzwvz{vuvy|}}|zxvuuvusog]Y\dnv|~xsvyttx~|vrmf_[\bkw}|ytx|{|{offnzvi^XZ`iv}w~~|}|}pfchosvz~vi]WX\^ahu~~slmv}{||zutv||ywrfTB:@Qhpfelyzsuz}}tmnw~l\V\fov||trywmmv{qr{q`X]l}udahr|{vrmsz{vtx|ztpu|dUWfu~~zsr{~unpzujhp|zj[V\gsskio}{{wwyz}vhepzeURYfvunoy}xvwz|phjwrfbemzrgix}tz|tppw{lcfu{ma\_j{lblznktn``m~{m^TVg~kdouospfhtui[U]sdWd}smt|h^ap|k[V`vh[f~sltuaY^lyv`SWlm^g|x}~okv{g\\ep~xh``dltzvu{sqy{wzzna]et~pcZYdu}ts}|uuwyu{~pb]eq{shb`_drʻzsxsjktqmrwumeekuxkfggfkzĵ~uwtmoyyhflstojhjowpfgkjegvylo|urwxdcp}xnlnqv~rehtxqecrmdl~ytu~mekw}{tnmmpyzmny}n``ovffo}~wnn{}khpy{xtqnjkswpvtd]du~mfhp||qlurkovzzvphbal}yoq}p`X]p¿xlffpwiguwsuxxvrkb]cswqx~o`VXlþ{qjirnaewwpprstqja]duvrxyk[T`~|qjlx~pio|yssvxxqh`_ftwswucVUfxnkq{{soptz|ywtojfeglt}~zz~yl`W\mvsqrrqpprtwz~ysnkkkmorwz|zy{~oaX[hz|rjggkqvwurptz|ywuvwupidelu||iWNQayzriddhr{~xpjiow~uponkfcdkt|wi^Y]i||yvtpmlpvzysnlotz}vrolgdekrx|~uniedkz}z|~~xpjlszzsliilr|~rlkjhfhlsx|{x{xmc\]k~|||xroouyvohfinsz{vspjdaemtx{~}~~tj`Z^n}vnjlrurkfeglu~rmmkheehmrx~~}vhZQUhyxyvqjhkrwwsnjhjr}tjecbdhnv|~{|~ti_\evyrsxzytpnpuyyunhfjuujfhmqsuwz|~wtwscYX`qystx{{zwtsuxvqhbbhs}rjhijknsy~}z{wi\X\j~xqrw|}}ytrrvwtmebgszoijnqrsux||toqz{ma[\dstopuz}}yusuwtmc\\esymghknprtwz~|sos~ug^[^gtxoknu|{wvupjdaenzznghkorvz~}vswyka\\cpshflwyurnhb`blz}necflqx~{tqu}rhb`cjyxhbfq}wspmhdcitqgejrx}yrmoxypjfego~pcajy}upmjgdditrigks{~zuqnq{tkedejq~qedm|{pjgfeegmxqgdiqz}zwutx}rjffhkq{thfm{|ogddegjpxrheis~{wsqpt|~tmjkmoqt}ulltsiefjnpqsxwpot{zvuvxyz}{urrstsrt{vqs|}rlknpqqqtz}snov~{wvvxxwvx}~xuvxxupoqzzx}wnkmpststw|xsrw~}wtsuwyyxx|zxz||xqkip}{|wmilsxzwrpqxzuuy~|vrqswz{{zz~{yz{zuoklt|||snmqvyyupnqzyuux{}|xutuy}~|yz~|{|~}xpjkp{~|ztpqtwwurpry}xvwz}~}{z{}~}{yy|}ysmknw}}|vuvxwupmns{~yxz}~~|zz|~~{xwy|zywsompv|}{usstsqprv~zxy}}|{|}|{ywwz|{{{xtqqsz}upopqqrsw}}zz}~{z{|{zyxy}~||zxsomns{{tooruvvuuw|~~}{ywwy}}{yyxtpmns{ysrsuvutux}~zyz{|{zyz|}~zvvwxvsqqrvyrnnqsuvwy~~{zyxurqsw{yuttvvusqqsz}{|}{wrpquvwxy{~wsrstuuvy}upnpsuwwvuuzxvy{{xrnnquy|~ypllptxz{}yqlmqwz||zwttzzsruxxurpsw{tljlqwz|}zqllpu{~yss{|njlsy{yutv{wkdchpx}~tlhjov}{usyzjdgox~|zz}vha`fq|umjls{{snp|odemy{zz|}}{lb`eo|xplms|wolq{e]bpyuuwz|wh_`jx}}wpnqy|uomrfY]lxnlqw~|j_^hxzuv}unmqzzvttwp^]i|oilt~}mcaiwzrsz|uqrw{utvy{madsvfcjw{nffnzrns~~|zy{~~vsv||nluxhcjvvmkpyuor|}}xsu{|y{qovvignxwnlq{}rns}ztru}xrrzvnp{|njowzqmqytpu~|urt|zrotmiqxljmt{sjioyvtx}yxz~}xwzzrou}mhp{nhjpx}qkls~~snqy|zz}|urtzyqpzymmxtkkqx}rmovwqrz}{{}|vstzumlw{mluzqnptz~|rmnu~{tty{z{}~yvvz~umlrwps|tmlotzztrtx}ywx}}zxxz}~}{xvwz}ztnmsvnoxvompuy|}}}~vpnpw}wux|~yvvw{~}yvtvx|~~ytpqxtpt}~sonquxz{}zrnnrz{wwz{yxy{}~|zxvvwy|}}{xwwz|uuywqoquz~}vroqv~}|~zurruz}~}|{{{|}~{zxx{~xy~vporv{~}}~xtrsz~|}|xutw{}{yxy|}yvxyx}}uqqtwz{{|ytsv}~~zvuw{~~}}}{xxyx|~uposx}~~{xx{|{}|yxz|~~~~}||}|yx{wv{{ussw|~||}wtsw~}wttx}~|{|zxz}wx~{usvz}|xuxzuu{xtsuwz}~}}zuvzzx|wsrtwzywux{tqt{{tooqw|zutx}ww|~wsqruxxxwz~vsu|ztqrw|}{{}|xtu{wrt{~upoquy{zz|~wrsy~wqprvz~~~~wrrxxrsy~xustuxyz{}|vsu{{vssvy|}~|xvw}wtw}|vqprw|{utxytrrvz~}zxy{vrsx~}xustx~{urty}zvttvy|~~tnnt|~wssw~{ursy~zvttwz~}||~~wtuz}xuv{}zyz~|z|~~}{||}xsty|yy|}yy|~|z{|~~yxy}|yy|}|~~~}}}{zz|}~}}~|{~zvwy}~{z{~~~|zz{}|{||{|~~}}~}{wwy|~||~~}zz||zz{}~~~~}|}~~zy{}~|{}}{yz{}~~}}}}}~~~}}~~}|}~~}}~}xvw{}zz|~~~~}{z{}~~~}|||~~~}}~~||}}||~}|}~~}~~~~~~~~}}}~~~}|}~~~~~}}}~}{{{|~~~~~~~~}||}~~~~}}}~~~~~~~~}~~~~~}}~}}}EXRIFF'WAVEfmt "V"Vfact&data&~~~~~~~~~}~}}}}}}}}}}}}}}}}}|||}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}}}}~~}}}}}}}}}}}}}~~~~~}~~}~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}~~}}}~~}{zy{}}|}}~}|{}}|}}{yzz|~~~|zy|~~{yy{}}{z|}~~~~~}{{||~~}}{z{}}|}}~}}~~}}|}~||}~||}~~~}}||~~~~}ywxxyzzz||{zxvvwxxxtsstxyyyyvqnmoqrrstvxvussuvxxurprtx{|}zxuuwz|{{{{||~~~}~~~}{y{}}xwvv{{{|uussyz|yttrswwvqmgflnqsnpqtvyunpot}{yumkouy}{wxxwxtrw{yw{~vzw{~~~{}{|xuy{uqmpv}}uojjpux{rlkhkpjeebfprswvprpmnkilpuz}}xusqswwwyxy}{}}|}}||z{~~{wxuwyz~|zvutrsvwyyxuqokkhflkrxvvqh_]^drw{}}|{vokghkt|~z{y{~wyy|~z~ywx|u{v{}rvlcnkjme^klntk_bhg|t~umw{vq{}}uzw~{}|uw||vrvrfgjs}}tghjotkjdfstus\QWUgslqgdkr}ile]vw}zsqu|}uvoxw~||~y}zyvxy|teefmyxqcOLKXppkkccoopvnirzvsyu|y~yv|x{{~|xzuuxvxwx|tmigdmnhumkpjpifcY\WVSbhiwmjiefepghjdpoxzxxnvz|~ysinppxzupssvuqpls{~v{~z}|xxvpnpqz|uqjmjrneneosioe^XV]]d[LF@>HSVhidliijf`[`cfuvrztt}~}}~trumotprw}~~~}tsupq~}{zxwuswvrytw|qutlmqmpxigfW[__c`VB90(7>I[_dgc]ZURTT^hq|{yyvsruprrkmidcbbdhjmqqmid_YWhv|{zyuz|sgeadjmjc`Y\XSXNNOO^afeZWLJE=@68@EMJB-%=NWPGBCIKI>M\``WOKHIA5%#FU[ZM?2'*5GW_hv~vg`[QKHOWXVRQTTSRQPMGC@<;9431;KPapy|eR>23,/CKYf^b^PH2%# &-26=DGGGLNLKB>@;5*'-3:BIQWULC<81(#!(4;BFIJD>6122017@ILKKIIKJJIHH;7BFUeiovyt^D04L]UD<:;=2%*<;EQXWUZ`glh`VNHMZ`bXMMMT^fmmhehoojbYRQU]ksqmeddab_XRORZbijhdccfhic\_ao|pYKB@N_qzui_^de\K96AVmsshYUQT^hsunjkrzwl]TYet{m]QFL_p}hNA7=NQZaZ]_^ca\WNQZ`ced]WZeu|nbXKDEOaqzzwsmhd]ULHMU`jptrw~{mYXUQ[[Wedrs[LA@FRX[]_gpx{vlc^cdjjdbZUX`inkfeijjdZQHBAHU^fdcddgjf^YWX[afjjhhintumjd`nqzr`J63:NgtsfUOWfhZG50Gd~q`TSV_hjdWT^lxweQEFUgqujYM>9G[iqrwhXB4GLTcVVYU`XNM:6;DOWa`VOQ[jvtprv{upo`SG>GVfoprmhfc]SF?=ANY]d\\go{sc^QKRNWUO`fxyhZQHKQYYW[]gsvukc\W[[^^YUMLU`ikhiovvsogYJCCN]ekkosrrnd[SPQU`jnlfdflpomhfcflrwkZH;@SokVS]km\F7;Uvwf\^grxrdVTcwubW\m~tcUIQh}oZA?OYjqjnmqupl`PGGOZhqrlhlxxk]Zcr~~{xsj_WV]ky}wnmtvzxqzsh_bkqtppt{yqsv||vniov{|z|}na^dnty|xnkmv~yqsywgeiwrhmzuaZdx{z}tknzjn|ymebg{s]Veitu`RLRYeuzy~{sljghr~rtqt{~}||~|{{}{sqt~|{pq}{}{opx~xzxts|rg]`jv|vrrt|}{{}{|yx{}wtsw|yxyqiflv|nb^^al}vqu}xtqnfeswnhjc`lwzmffhknpqz~}}{v{~}{pllpx|{{{~|rmox~{xz~{xx~|qjgkosxx~~wokpx~xuwz}}{xw{|xtuytosw~~yurrutpllntx{|zwtuy|yxz{~}|{zywwwy||zyz|}}{tnmpquyx}{xww||yz||{|||~}|}~}uttty~}{{xtnhhnt|~}}|wttuuuutv{{{|{wwwx|{|yromr}}x{{z{yxxxyz~yx|}{zzxwy{~~wqqtx|~}~ywx~|vpoqvzyxx{~~}~ztohhnv~~~}}{yvsonsz~~~||{wtstx|{xvvwx{~|z{}~}zwvwz}}xwwxz{|}wqnlkowzwx}~{vrpopt{}xy{~~{yxy}}xx|~{xvwz~}xtty~{{~~zz~|xx}zuvxz{styzvwz~yuu{}~zy|~|{{|ysqvywwz~~zwvx|~zx{|{~|xwz~~~|y|~|{z{~yz}zy|}{}~}~}~~zwwz~|z|~~}~~~}||}~~~~}~}}}}}}}~~~~}}|{{{{{||}}~~~~}|{{{{||}}~~~~~~~}}}}}}}}~~~~~~~~~~}}}~~~~~~~~~}}}}|}~~~}||||||}~~~~}}}}}~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~}}}}}~~~~}}}||}}~~~~}}}}}}}}}~~~~~~EvjrRIFFWAVEfmt "V"Vfactrdatar{{{{{{{{zzzzzzzzyyyyyyyyyyyyyyyxxyyyyxxxxxyyyxxwwxxxxxxwxxxyyxxxxxyyxxxxxxyyxxxxxxxxxxxxxxwwwvvwwwwwwvvvvvvwvvvvvvvvvvvvuuuuuuuuuttttttttttttsssssssssssssrrrrsstttssrrssssrrrsrrrrrrrrssssrrsssrrrrrqrrrrqqqqqqqqpqqqqqqqpppppppppppoppooopppppppppoooooooooooooooonnnnoooooonnnnnnnnnnnnnnnnnnnmmnnnnmmmmmmmmmmmmnnnnnnnmnnnnnnnnnnnnnmmmnnooooooooonnnopppppooooooppppppppoooopppppppppppppppqqpppqqqrqqqqqqrrrrqrrrrrrrrsssssrrssssssssttttsssssstttttttttttttttuuuuutttttuuuuuuuuuuuvvvvvuuuuvvvvvvvvvvvvvwwwwwwvwwwwwvvvwwwxwwwwwwvvvvvvvwwwwwwwwwxxxxxxyyyyxxxxxyyzyyyyzzzzzzzzzzzzyzzzzzzzzzzzzz{zzyzzzzzzzzyzzzzyyyzzzzzzz{zzyzzz{{{{{zz{{{{{{{{{{{{{{|}}}}||||||||{{||||{{{{{{{||}|||||||}}}|{|}}|{{{||||}}|{{z{||||}}||||||||}}}}}}}}||}}}}}}}|{{}}}|{|}}}|||||||}|||}~~}||||}|||||{{||||{{{{||}~~~}}}}~~}}|}}~~~~}|||||{{{{{{|}~~}|{|||||}~~~}}~}|||}}}}}~~~}|{||}}~~~}}}}}}}}~~~}}}}~~~~~~}z{~yoginsy{yqkkkmmiffkqrvypg^\`eif`^^]^]`^`eefdb^Z\``cgeecZQOQPU\__^[Y]deehhlv~}wy|~yv}ulx}{y{~~wuy}{ui``flrwvqlg_afhmliip|~yuolpyyvzviioz~qaXW`mrm`RLNYacd]UPOUWTL?:=HPPH:.*/5<;2+%#(1/(&"(15+ '$$# =F>+#'""%09?8*! +7CE=7:BO^aWNLQ`pwqg\V[jw~|rklpx}reWV\iw|zwxzvmc_bo{{rongfc^]cny|pb[]fotsgaYTY]`^\XV]a_ZVPRbryȼļzx{zytoldgjkhYL<((.8?=CHPh~n_Z^huÿĶ~zzmVPHLRD>,.Xsz{tt}tnhekzĻ}tsrkV=3'Hmn[OJW]`ZNR`wƹľvlf`\]YMD:331,(-?F=978<2,%#3Ngv{eUG@K[ahc`b`ikllhmrzxpjlnkhklt|uojie_WMA:74797440)("! *1=S\]ZO?('Knsm`W[l}|~~³wlgbjyxql`\YPHB824>Qdwtl_RSMJOSbu}vx^<-')6CQVTUUTYULIEFVi|}qkkgdhnv~pdacju}}zwtrtsssuw{~}}y\;%VnPLez}k@2mϡw\]l{f]mԪvRJWmwc]sķvbF $WˬlaY?'2c]G5ASONZgxS7?R_q{~l^\f|tt{zsr|yoggtte]\es}{wthT9Qojpws`G3.DoȧiektzraQM\zj_`npegvrlq}n^\hzxqpt|}n_Y]mwmjp|~tos}}oc^cn|~vstwvqlggn~xsw~{qs{±dMDBAA@@DI[mvwe[QJILOOWgt~rmc\_]Ycvzpffkiipvz}{{~umhgjqz{smkmqvyxvvwxz}~|{vtuqph__bo|usxysmkr~jYRMKFCLZpfPD9;GLQcwĽe^]Zbjknx}nhknnonko{xsnmt~zsokilq~zusw~}p_MB@K`utlou}pcWWe|xnhhrtihmty{wtuy~}ztonqw{~}|}||}}~~~vqnlmptvy~{{~}}|zz|{eM6,5Ny|eI6,1IléyjXMKScz~vwxvmeaaclz{rmlszj_YYan{tiegoyynfekrwyyy}wqpsy~~|}~~|zz~}||{zzz}}zxwvuvuwy|ypmoquw{~uqosvz}|uruy|}tnmpv{wrqv|~~}}zww||vtv|{vssx~~|}~ztkijs}slmv~}ysrwzwx{{yz~zurrv}}xw{~~yvx|{wwy~zz||z{~~|||}|zyyz~}zyyzzzy{}~}~~}~~}||~~ytmgglx~~}}xrpqz~{yzyxurtxzvy{~{upmnsy~|uonqv~~xtpprw|zwwxz|~~yutuvwyz}|xtstuxz}~{zzzzz{{|~}||{{{zz{|}{ywvuttsrrqqsvzzroquz}~wnlmrvz|}~{tqpty}}zursuy}~|zz{|}xttv|~|xuqoqt{|xuuvy{|}}~~|{yxy|~zwvvvwwy{~|wtstvx{~}yvuvy|~~~~~~}|{yy{|~}}}~~~~~~~}{zyxxz|}~}{ywvuuvxz}zvttw|~zxxy}~}{yyyz||zxvusstvy|~~||z|~|yxy{~}|zxxxy{}~~~~zwuuvy||xvuvy|~{wtssux||ywvwz|~|ywwx{~}{z{}}|{|}~}{yyzz{|}}~~}}~}{zzz{}~~}~~|xtrqrux|~|zzz{}|zxwvwy|~|zxy{~}zyz|~~}|{{{{{}~~~~}}|||||}~}||}~~~~||{|}~~~~~~~~~~~~~{yvttux{}}~|zz{}~~}|}~~~~}~~~zxxz~~ a/E@k)l)x,t r@Vxt [xWp)_vu jt u ?,vHCt [$[ajWu xt vw,_?jxt u ?j?&xt u ?jvu ?j[$ pjn)q)@s)$@E eNR2v)@q\:a8) E] Level DesignW]DaiW  Evil AtjeWHeikoWKewWPapions"k] ClawfistkDavidMkeVOLVEk  HypErioNk  Mr. FawnkruineRq"r] Scripting~] UsAaR33J"H]Music and Sound}]Toxeen}  Norrin RaddY"W]Work Used in Demor] UsAaR33rDavidMzM wMx)m~"D @@#D?,?~",^.D?,?@#k D?,,TD?k ,8?k ?8?T8Cf?k ?f?TfHBS?k ?S?TSHBB cx)BBBB?, @  !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~P@D-{)PP 9Pbg  %8r_P|PV#{_|_,Dm|_,CTF|_,As-|_,Dom-|_,Sw-|_,Sftdm-|_,KOTH-|_,RACE-|_,SH-|_,TDK-|_,FD-|_,JB-|_,UNF-~_TUTORIAL8u _}_,__ bg  _&V#_G8b 8o 8 m {)'% R @*~)WA*AL  " " ""*"x*0f@ |\ ssngnfh Ǿ sKUL`oojj ti?  <[ooR[Jnoon@ 4J`W  ipY_,Vxy{Q.+8;;;;CCDDCJJ86\|<B'):~Q&+/;;;;9FF88F;AGavr M}tv}Q+8;;;CFDJLIC|{lHG;3$$"/'>Y>#.M|ux~Q+/;FCCKLIJ}<\R2$'"M'(#M|atQ+8JDFKI$[f{<^@2L20M_B 'V~tvQ+;LJLIJa~yQalLF0_ )VfǾ|tvQ+AL*Ny|րݶ&xLYo q>>_71!%rZ8k𻢅"7_5BSU^-!Ǘ\%DcKyՎ0Ԍ^=eh΍pW赫P#\l7q@9<;gm} letqiX./V=*|oMJZm@J:4)Tbʲ^g[Z]iez;_z6 C_q'6_ýd '*5^ƿW B:4mi : 8qP'Rq³P& *Yqż&2 5RzǴq-6AUqȽq6R"IqǼ,Y!I^ŞDI6 :^Ļi L52m³2 p2C^p&L.A_M 52IYſM "o˂BmR6'RmcP^?IY؏QhzR28U{PC_A I`ɂ6xqU-!IZ{QC^6 ?Y{ȵ|_U 2Umɏr`: 25_̶|aZ5!':qǡn[4:'W|a=4B'qȡnK2?U&6η|n0-6׹cS0PËcS;& MqϏ|nK@'C_m͵|nV@6:`rͤreI5"I[|žreU* -VcȠi>SȠM: :nǠg:"-Vcɡa:2-Ṣn:'3csѤn:1cjո|0+HJ묧& 9FTﭨ#$HGk񮪆1+HJbH 9FTlH3HFTl()HG\ut(HG]uk()HJ]~\(1HJb~](HJbv]((Jb}k((Jb@@ ŻzIɽhLοC'Mñ,2 IƲ,^˜#7^˝"5 Yɳ7BLƖQLx,Rɾ 8`Q"?ŞQ2_Ͽh&"PƂ8-w7 IDiν3*_iQȼQ *q7Ǵf&q,DȽz^"hͿ5A"ĝY.!{:DzȾ^5DzȞ_!&Rѡx56IхifDMQ{8 7DH?1QRmN{Q>iY'mPzDRڂiM?Q_B׋CiU.Bϻi.Eʎ72`˼LIz3:mΏ;RѤrQ5z|B 2:ӏg3ACyΠDAm,|16_̋)7Y,6ӆO6qy"ݦc6I7ӆg7#|V.d˟_26nɝY6[pSڵMn޵M.DW-QgOO HbX1Gu1XJl1OTl1XTl11T @@γ6mմ6wڢ7޵6rڠ"n˂6ۋ.h3C!xOD.Pp,آQ)"myMhOnQ73sh aipfݵ3niBx݋-BX.oXOf6s3,݋DgBXc((J(3](b N@h7ODDX(-sX6-iD37s-1iFD)Qj3T)TX} F(XJXG(XXGG(l(T\J\\Tu\T\\xF  "@ " "@"*'J"~90@þl^D >l¾}]; XoY >`4*2ĿsN 02ÿm2**2¿}Y#+3+?se; %3;4W}f" 8;@( WĿmpH $D@D(WâX]3/mYN4W¢of"/lY5W¡me5 7sX2J¡l>WWYCw l 7sW-87Yr`#>l-?82HWm#/Nl-?`JMl$Cm--m#?Me8m?#H2 #WL ?`lL2( $L 2CYB $LĠo-@8 5NƢ,0+ 5lɿC"3%LÞ!("BȿeBóCH;CƢl^,7lÑf3% -X3'Lt@'$HɄD3 #`s͔X3*%mУm5 324mӥm52@@2Nl֍m5?N@;2lօm2 >mNC2H|m2 WaC02wm2WnC3%-wm5?c@0'#wm;7bC+'|fD/`N@+' ~^Y/ JD3+'߻rY-7@0'" 7|L2+0*էL#  0" Wr$,*r-2!r-%% -d#2( DŽ72# %Î/ - -Ò>  Bȓs7 # %NŃH' $0H8#;eǢl8 (Dtġm2 2DX`##0@C`ȿJ*3;Cmȿ? *0;YuǢs? !'0@`ǢsW'0DsǢJ*3YȢD-';Xɿ]+ @`]8#@XĞp33NơX3 'ClłY3  (C`ˣsC3" C`ʓ`C;' (XѥN@3* #X٩waD@;; $NvYCC@4XӦnDCDD%3`|bDDYC"@XwZDDm? %@`wYDNl2 C`ٕvYDNl2@mٕvNDNl?  $YިvNNYmL% 7wONNXN %;޻|bNNX`/"7էcNDNY-4N݇wODDD4%DmҍcNDCD2;Ns׆vYNNND %Dmݪ|bNNYNN%@XᵍdOOYXX +Ys٨wbENYL 2Ysۻ|cPEX% -`ӧvQP; -mبvQE  >l٨n2'#`sוG0*-mԦ-,0* /`߻v-83*" Dꭇ|d2;;*" @뮆wd D;0 @ꭆwc%`@0C없wc-sH,@nwd/7lf% !;n|d/#sX70Anx|v#XH*Fxv:2- "0Qv~wc*#?̾-J^-#Mο-5>-vf#(ɠ   ʢJD $sn 7v#5- Wv#L@lv/O% L귄#WO*Md--@'7~W3"M#%7: M?%Mˢ$Me@J -mˢ-(@ʡ/*Dʒ7*mˡ>,ͿH-lϔ@$#Y΄@#Hݧa;(M٣DC# >dD^ DcNL NcN^##dNX%ޅNN/#`bDJ 8tvOY5-mަZO#$lc8/仄(?W70-:23-M>3-M??0vW7#;v"Qw-3% 5 #x:6h)6qKU .S .V. @@ğ# |Ѣ-2~7-~рL-rr2-7Lc$ 7M2-;W7%27/WdvW8WHn?P$/D7^7N/b?L|- M|-r4Wr-b~#$/z/S) . @MM/r|/:7Wr/#:/7:7d-W7:L/L7MM..6. .6.66M6..K6r6.666SS66S_VISSvF  "@ " "@"*%N"0^@ſM;%!- >M7%1W¦k7%! !{Ŀ{>% ;|V% Mük-zũ{7 )z¤M;{ýz WzƩ%V{¹z1 Vļa7WƿzM2 TaF Tæk; ŧz <ǽ>7:ť2!>_~a ->=:Unm7G!=_-7;G1TL6ۂd=1>GM7 :6nA)Mkk7%66_ց=k{7 66_=)V7 6=6&), F!:Te,-, GDU=:=ߒe<) zj::_ےQ9KD=j=݂Q1 &V-j_ګd)2% kjT}!-!7zّ~224>x̎9 4! M{xI%z{{Ō) %|W7åa% G¥M7Fa7Mÿ{-W½,M: Mÿ< %M -kÿ&7z%;kĿ=7>k5)Gký#Fk{ :GWſS;Mæ,1-F|¤kG!%Ga> W%&FMz)5z>!Mkƾki{M-!Wmƿ7&{aM>%zƿ2{V>;Fǿ2 WkMF)!F9{kFGW¤&!zMG4 9ü>zWG-,Ž{{{VF#4ǿ,,zF 2bG 4D M~Ľk!=:7}ǿF ,:%2d¼z1=:%,z%,#!Dý! -,%wW -B4ſRGþKDþ2 ½zG WaG% -ħ{M;kǪkF%MaM% 7ʪa-M22mM9WW!m7 MV{nZ-!Vz#\Y&Dk{r\c;{&zq[Y52<aq[NB,#F[YF#=FqeY95;eGTD4{oe4 B&{۴nd<#=)z۴߭Z&&T:G{ثec&4T6MՐdX=MT6zﴰяm>&VjG{̀Z94k,4eX2D{h{w M󅰔dW29z{4򴯭mW2 Dz>𛮒mN&R{4!{殒ZI#{BGm;!{!zd@4k{F}C)M>&zӐ~A>% Tm,-yᖑd@6{׵⮬dY==ӐZ, `y훲իd2`6جeAU 5훱A:U<בQ:L`_Ӵﴱ['``喂/U`l뗓n3:LYp8'Tr?'6=ef?03otO" ?f]" +fs fgvP.E".^H(E"^uJ*$+P@n@ áG)!,ƻMSʿ{ |á%#ȼ7)F<{26|:h) L#,)_:y;;6=kM :,zSn4x6:_\<5<܁2yۏ#4-4>zaz&kkƾLk¹:%Ǿ67|¡62|ɽz&lơ4)#Vß=6>BŸa YtCttttttttL]ttL]L]L]tt"/"/tԝXttԝXtԝXtԝXtttttttttԝXtttttX'tttttttttL]tt5 a$?<`-<b-<\*<[*<Z*GtL qe[HH{+rqa*J d*f*H7hEe#h*%oOjx n$@Fg TSk*ww uAQEf"l*wb >Ojtx g TST JpX!N+?K+I+  t?aE]"q*L 1"/ԝX@ n$@F_@r*r>OW@s<y¬Iz|9v>7Bnmo?8UUJUUHHņMgxIA>AOLSH6ŶhPwHڌ8LWXC{Mİxg|JUDzHLSSWXE=A5MMxy}JTWCom[d{|JİQ{ihx|KUSLnlY}f]íagKMUHCrklY\uyypŶNxgiUPW>oշn[_sejx|{;npŰjfxUUJLXKllYb_^yzi?İzgiHIAkllp[_tuvyza̹;Mzga|Oء7mkknpY[͘_D9Dwh_]ܳMMihyƾoklmoZ_\ftDtgg̗* $w]uí{igPqnlnmYZ]_Ιsegiviu̅qd4)_gMMwfjNKHImllmYZ]\hiwjifΧ_%!}zfĶjiH8pb]___\hiiigf]dߗ%)xgzKMMðhgT˫kmYZ_\fgvg\̖bb%"xvxMPMvh{Uǿnp_^gvvf_cc1 ϴ`||Kwex|Vo[\\gjiu]cccrd͞ $ޮPKwvUԄ[]\fvjg]Ymbr0 Ζ\iPMgjPTU]]Κfgjwvt_bnkoq%(lufŰjj}UUsfgig\ZbbZ%([]8eyò|z{Ohixif]BZ% \__sD8ADG{֏{UOJ ̘d͖[Z1 *]\C>4A5C9DH oZ͘ !^_\C7;44<;DH٥ lY#(_sDwxB4;Bnk7Spշշ' $]_hIr44n7ן@WWRjuoop&!D\]_44>7p?A<;IO|vbk0 $_]\v㎫;4;;796>>ILylp. !e\]]tvPP;4<7BF96>:SLKMxmpb "_]\yT44856DIIĬc՜ +_]\fw>7?\_̘mn\DΧ]\y|C>?=<::<;>7Ԟ\^cpnb_"$\]]vz{zxD-9<99>7rׯ[bY,$̑_y|}hzUB4@IC7;hwxghdn<!D5h{ch>:49@ĩ84AfxxyxjhZ*"zwxFF4;5C@UÎwyywvBF 穓s89>=@PzhwxyywfrcB\*$w RtreF;;yTÒyjwxxyxiD5B=?䰬/IJ|xwxxyzxjhf_rApAM?6I@ƲxijxyzyjihBC>k=;DKťȶghjyzyxhמq;5FwG7=4:IJzyCCvwzyhD4Bbp?4C<>5ITKxiy56iyyvC>po<r?Ʃجgv9AChw{{yAԄ=ԇCvDŦONzAAxz|CA4zF9åi_sD9wDCxx}@Ʃ\:8Fzwjðe]\fD°Levtu9䤩WHfe][|88LSgjݚ]pmmbtKLWXXSVYmnmuHSWXST[͘XSSLI^]]tŬ“:`f@:°I@ȶR[j@keRTJ  "@ "@ "@"@*"jS0W@@/;|K0Į|mfrN͝hfP2P?6`~O"US_73ֻO qq73k؟O   _qMē`6oد  F7$^3=ز Fr@Kڷ[aN`;}~ 7lmk⾾h%'Kʧ޽S\s˼iinۿpQpvƶBoQnӳ[]n3>>vƭbAoKM_Kuu`䶴δbpN@Sjjjj_ꔔsAVA&᪉ݼP[J>*Eԩh~5.Yw-ww-vpRLӠ%14Ye!.wx.wEQ0 ,H99bG::XX+:@@U+W+]@N*g.l lI  "@ "@ "@"@** " {0h@@                    "    "   ""&"  "  "   """%"  "&&&&&)&"  &&+)("&*+("  %'//3/-&#"""" "'++)"  ",0776.+&&&$&&&'++-(&  "*078933+.))&&"'&+*+*&   )+338770/,+)###'*--+)&  &.0374531/2.,"  )*.-+'   (/363532312/)""&*+++("  %/333231100*)" "&&*()&"  %)2233020.+&##"''()&&%  &+0300+*&"" ))/+)%  "*+0.+)&""&.00*"   ""'*++)""&(0,)   ""&)'-()"""&&& "'()&  &&)*)()&'&)&&"""  "%)'*'('''&(&#"  "%&&&'')&&#""  " """" ""  !" "                              @@l@        "    &&%(  &03*""""((   -67/*&"%**#  )3330/&'+(  '220.*""&&#  +0+&"+* "'*&"()"''&&&"  !"%"               m@    &'& 00(( /*""% '""    m@ * ' n&n6nb+oX-oP*x h+@omja+@oodpsck+@l+@e2@VHHHYHu^F  "@ " "@"*(R"#w0P@˾||wU$%8?f|mG2Bfƺ|w, 0F]Ƚr% 1FfʿT -Fg÷H )MgǼA 5, (LrʿK , +U||< ?_|ƶr< BU}ɺr$)?]ʽU!%4>UɾW-?8TɽrB8Msɻ69-,MjɸK:)'Ljƶr' S'1MuĴS :"4Fk; )'8Bź; /8MǽJ />VȾG  +2?kørw,$+8NlƼu]5(/?ovƽg5 /7Ol˿wJ9?kźM!FVȼ`*+=Wiĸ|* /H]̾<+21 J|Ȼq(+9C-źK +2EH.ö< /8Ug!*{J /9^<YξX 7?heK̾w.8Gt[KͿw17B|SIf:,Gf-*J÷gEF]-JKƺwT)*>T)JKɽrL87E'\cUB' >.{ǻgG3 ;|˿TB% 3ggżgF25TwsT7+*A^iƾuL8(*CUsƾj?8+,E]ƾTB8(9Lrȿi^B+2ErǞu~I,+/B]ɉk5@#2>^}Ȇjt-5L5+B^սob-\X3&Efˈ^D6nR4 @wߢvOc.DW3( ;wȣ;&6U@+ ;rz!6Şk?2 ;f|Ԉ6*zlG7'Emą61V?'?X{кe1lkF40Rpc5kW?%?W|d!8B]ϜDUd&[sL,(>LΜ<=L9!8Mud&\}UB9Muл<&LtѿsK*(>UsŘ}w?7?^r:+8FfŴU7>Urõg428EgøT'+8F^ü_;2>T{ümE.#>MwúfP02B^úk]E>$>LrùoTF,$)FfkL?),TrȽT?(,%Af|iF0(5 T{ʾL8$2>-{ƺiW$/9BAKõ]B!$9BU1p̾}^;7?]a6̽|T</>W\=̼wW<!2>U`\̽wW5/>T.yͿwZ0>ErK&<ñ{Y9!,GWr<*Ƕ_B 'BTmI.^˽gQ, EEG*fĴX?'20!-ɽrY>$U]Q2 +8Mtf7+7Etȼ|4(8Egȿp,>EtJ0!>TȾK0B];,,MrļI,!9L{ƽ|L,'!9T|ȿ|M,!9T{|M,*?W|ż|^) ?M{ʿ|T09M~Ƽ||^78E~|||^! 77M|||rI(27Lʿ||{wK!/29Wɾ||wf-22?Uɿ|||fU687?]̿|{^M78FfͿ|{^B+7Er|{^B(7E|ƻ|{]W)7Frȼ||^T' 8Bw@`@ ѻ|^!9sJ :sǰ';uζ&'9Ҽ&P.MÁ)?ؿ.5:Ӽt=:̷a &>Ѿ_+Nòu=2kȵ=)EһJsȯ|L%>̴|U!!> @p@Ȑ- Zө Zۘ*"jݚ-V؄oe-l"J*1d6"6\wƿhS5MŽ_L 6úoU1 ' .bE, .ǿoZ-'' .ƽwhL#(0(;ûbX5 "051JúohY!458& Jù[`?$D9>&J¸oMS0 /ZLC1Jʿm_Y!/m\L2 JȾ[X2 3bM-@|ȿ\6JmJL=fǿ\3bJ+43LaȾwU#6\m+;4-?JɿmZ#/C\v+7U@Bo\$<[u++[#7BŸX4[m;#?- #JßA 7U\A.&$rŠA-0#Ub{M0'*ZmΎZ20-1[oҏZ2 -88.E\s[27E95-\w|[- 6ZC<-?ngZ-JpV<,-mfZ-Jr]=0"+mfZ2;r^9,%#wfZ53qW<(%vgY>/UC9(% liTL/@>0(%jaL+38,%!3gA. (,'դA#,!Ja$)'ua+. a+*" +k#-& vǽr3-# *t/+oƽl+mz6 :mǿb3# *Epúq?% $,?zo4#5Xƽ\4 &DcĹ[-.>Mq¶oU##,8bɽu@'0Lx˿uH+%5MuS( 8UĶoS4#8Mǹ`00EmȼM0%=\ǺpL0&955$CmՑeK=<81MnҐ]D<>D*0UngWD>L<!8MwfO>DZ7"9UwߨfN>E\.=UeK>C\.9[eC>C\7$QeCEKZA "3fFEEMP"5gWEEMU/!3o}^C>EL+ 1CofGDDD1">Zos^E>=>.5CbyeLCEED">ZmߔgVECKCC*8Mns^CCLMM(Kb֑eMDELA -KbרfVD>M* +Um̏]EE5 +[wңqC= 6\ҤzZ-%#Ub̏zT,'+[nȎo+),'/UmѤrb+ 40'!>ߩ|]U.55'!8ݔf[LD5,8oדfZK*U8,9n~e[K+b?)8\eUL$3\R* 5\֧eUM$#bM3,8ZԦfZ\#M?'9dզe[[;-+ !,Dqӑ{d\M '5UϤ{o\\+ !,#$AwĺoXT8$ .oŹoXT<$*ùwXT=/4o¹\Ty3'Zz6(pɌ?*\̍9$#Kr8#?~V5&Bg>3sT3~C/W;Af*BklA2Jl+Gq#ex/{o$aܾo3׽w3 d@BB/ag/J3Ja/a#kJ/3J3k3J3;A/63BBBBJB JiBiiBaaaiaaiaaaiizY q7eGh ::$#t+`h A1115 n" m"l" k" hf.O $A|f.efVfI!fw+fa7d7v.qdy}.@ @LU A ?-2B~>~>>AUA A ?-2B\7 A ?-2B>>L?AH@??ۊ>? >Qt\E,t`!@NP!@ND"i!@NZ6HNf6WO,LlU,v jgf}46U6Urw*:afe# #<'Uafe# #<'U |5@SUn*® S CBmC @彖CPC® S CBmC @彖CPC® S CBmC @彖CPCR>R>R>B`   "!  "2165.& 1458   1>5AC$#*,D*,V32#Y76IDC=;#%G"(&.bc*cQ# %P ,'Ov-0 0 9 l )D  /%@"":<KM H3N"7v+)+<:#l*,&.)+ClvT1V9Y5X?2B6y' [{{U#`uQGd^)+OSUU@)+ r0-8qs H"` 944 -i\w`U9Dm)+[KJCgh==rXuHy xC"z_P*,%tt1V5$YC qsa#KW>A ZDCGC'/7nj3D@\/)Q(CmC]z#+apPw*:IEF |KKh;k924Pqsow]8 3 xyutx+);am#igh-84.D*=_8n84i Km^S*,9!M x)#(wZ> "?'a&&(A9) tLnUBE1Q:yDUDJ1XJ"CUXxO"\Yvv"O;7O<f?|[{HH9R%RQ Z.^^|  7CB"C7 !!<f:8( =Oj|4 9..%=5/</>}]X5@?%`4C  S^K\ (KTT54MKO~g- -fl=pnljEC9p65@569C7;<jj# LA%}zNNy${do8k422PNPUUN99P@@&^YY5^>4KPPMOI, p ~` f\ :& [ev[v/0; 8  Pg;L/Sp 0^ <:xFeFZszsL<  ,wI]=WW.   >MGx>Vu=''GwVxuM~kV?~?@@k#A"}|,Ds;'et'?lQue*!EmJ&cr&=>aDtco8kW4Z3w{2_2+'v+bc)b|$B{LLm|'xxYd0w:yu##$(vssMf((:zbe+jHHZq*D*Ha*mBhoF8F_FBS8-_EoStqglh laghF a.j-.EQHc3!}i[$[dN>V eZNnr~c+VR+RyQ)  y~hrt6)E"_-kIIW\r,Q)Il)sAiGGTGAT]#0T#K]Turimgm`igG`/k0/KRId*{11?W_\f6y*tdi,S,SbzRr!tqzq]X!-;z{nnpp JD&oo& YVu+`0}`%c$w(i_ahhn$1a}1%3JB3 wAAMd qqUmbb\])YJX[ZWXtT.w.,pnW,003VR{Up&:&<<9<(&9(&:,%R,w<w,:%%<(95(<w03}j@j^^n3l}:n^3>,g%#Lj@CmV3)$px$pr!vvrZuZcddsoosWpnllk]]8MNMNn5%33((3iii?(a}]}44EM<wMw@AE4EnEEn?<wh>,}8#yAA|mjM#</19u9t#s11-11<BALs16?Mx<M/<lMVzvucVh}#y)1/)<<Byibhb[yrux+C8A}faerye@P _66@9uR'4%{'MMuR%K%{K%94/02313*OO3*3OO3s--3}:7YY::}:II7s-,RkURUU___ 2l2k1k"  qqyyqmymVmXbUbb)gg,.9kR t*t*>@k kk}.w00n>%w.g/yZ5Z855Z8P(P+((+PXXX+X++x4`y_y_xg4`yx4g4!i!X|,!i!!X,|nBB==B=nBBBBBBni]oa`in`ih}}A} qr z?BrV}ABpyAD [yEAyM8M P8}}}+8=nADjt/t,@+?CFA,J D.D J>J.J  D CD..h\X6M:M*:>+3~76nh5QNc5h,|5Al] _Py/o<yQM Xz>+A>6OO6<?[[g.9&(::(w,<-nZZJ-@,,NJXhtn>kssX6zzXhXXCmCrwrl~TA@Vcp3iJ|z}K r4gQWWWj||||W4Vj)L)G{{~T 3UiUFPK44K{S(H|S|W{PS|{JS(JO'JOW4jW| J {J {{P-W YX!1R.XREEEHHQH.Q##||~bTT^6^j^G`,+$$vvt11y= < A<%!"77Ea#7^E<=#+<  H+  T!TT+A\ A!%D%#a  q[/\0[qeIara,I+I+IIe[;:=:'SSfSe^_):F)=*j=o''@fniPjPijTfoQof**GG*G**G`niL~NNPtvt~|LJ9JLN,,NPL9ssgg\g]{]gagswswCCgwwg`gkg\gkndn |F[nqn FGncnqF|ba.FGF.Fab$w_b]z  ]bbqbzUbqbp$pb^!!^u^^^vu#9v^j j18pr$!u\vDUvu #l7-lr$_4_5[[?h?Zh[Y\Y~~YYxYYZhZYxYhY{0Y{Y\Y/L[[Zx y m y ktjjtttsstt`ty sSZ$TZ#)YTaPN>**$j>>9$caT##YfQ>&Ks(s(s;LKK(7T7((((THH(7LML7jK; '  H7 I 7'K7MIj78U8::MRMKkRMEiGEURSSEGEMiSREMEElFGEEP'' PNP  NO  '5~5YSTlldk)#)??Ijm c1uf::j>>1TX~d pd~X dq]  t`:t  tt< &5~5< pp% 0  /5] zQd}dQd}dio<]bRj lR_e4e_5eoeZeoe}eZQeeQ}eQQ&U&\\V%/[ Vf"QB++;0@\@  =&\Vf%  [%ra@0C$Iu))uu?I )W;;)A)w)A)~W~)w8JJf8A ?A-wA!ww!~8""8A-A88f<X<>>OSOIgSDOeG}XSVV}DOGeVDSODGHh}GDQ--QQ!""-66U[V zxmxm/1%/qala)|#ze;0 ;{;0\@@#xzKKK__K~ ~ ";  @ v v @vW$R 6R6@WXWWssWWZWZWR6WWXW`m;[6;C6`pqalaVTTVfVViVVi2bVwx xx {xHF-CFDUGUG- 1:`vyyD'DyD'_//5[5o dityr|cwVVC"vv|r$rcF.tGtG.GVfVsdN29N2CC8CC9DNNDc999**dXQX(c|zXQXC8"lddk]rw`wr|czm-C--C`uTfra$rp. ]"d  zd"000{0ITu00{ux:vH.~v~5v~w~3X3&&NG  "#$%&'()*$,-./012345789:;<=>?@ABCDEFGHIJKLMGOPQRSTUVJXYZ[\]^_Babefghijnprst!vyz{|x~*+#%"%]wvWRDFI+,&'4     DH= !#$%&'()*+,-%/0123456789:2ik>?@A;C>EFGHQSKL%NO.*RSTUV2XY;[^_abe[\UVklophrstkw#z(|B^KLNzilz|~0#LMNq0VWX?A@\`cfdd')46vdfop]`IJ B  w m"#p(+989<=?B E G7IJLMNOP TUVXY[m]nr`abce,3i*k3mEIq<>PS}; AC"[U NM,=EHTVZ\dX.QS?AFH|}c^`XYqu*,i \] 79AB  !"  EH)>A,./012689:> BDEFHLNRSU YZ[``cehiIJlmz{#$<=0167OOP'(^`YZ45d&''(h hl2no  @CSUb`f X #:   qsacgNO#$%de)+Y<0-2-EH7wC<=>5@EHgJkL<cOPfSTJVWY[ ^_acde43h}|`o\_rtv~^yzJJ}24  quMNHNFGHIgk#pqK9:=>"  S#$01OQe`b 12VY  ef LMVWdru ]#%'w.Z\12o5[^ ;=!B&'iFeH79KM*,beQU[\_biQkPQvx{RT`stqr<=T^^_g``iST0Q*DEcgD/:.1km:En/    D-`Y91!RB::-"g`w:/01~jf(w}G|ILDNGpZ5qQQ  $!0z mQQpG)8ɜ40r5&^!-nTo|ωɭ ^lx`y zKمωb qe|uqhvf}+ &^ݗ`tt/r5Q߾ 0 B 0 q * a   P a s t / r e  a OfDOɜ 6;zWr5ymx`yLӅمY#=I|1+,W| y=A C]=wCFHRPb q^gt@HJ~|_4aDV"Y#aDdv/6D0'81u5 Ugos @ H J ~| _ 4! !!q!""e"|u"x"Ș"""""3"""#|u#u#|#|#%####Ф#Ѥ####*#####*#$~$$$ %%%%)%L^%To%%م&K&&>&z'|''(( C(F(R(P)<)=)@)H)K* *5*v*c*;+<+=+@+H+K, ,5,v,c,;-0-0-V-f-r.J..>.z/c/v//0~000031u111222333444"5t555666777889A9q:G::D:z;t;Y;Z<H<<D<z=t=Y=a>u>>??@M@9 @y]@@AtAABBCGCHCJChfCxiCpCtDGDHDJDhfDtEEFFGjGeGb GtGGH/H/HVHfHrI=IAI]J JJqKKQLaLLDMN)N5OOOP+#P,#PQQQ QosQQQRCRSS TPTVTWTT,T,TUОU+UUU*UUVuVVWuWӼWX~)XuXvX`yYtYYZtZҼZ[ [u[v[ z\5\r\0\]5]0]^0^T^p^y_~____`ћ`+```*``aW3b*bvbxbybGc*cvcxcycGd0dTdpdyee ef!ffɜggthhtijjjkkl|ullllФllllmnnnoop#3qdqgiqurmrtrurxrtsdsgisutttYtZutuQuZvuv%v&vvѤvvvvwO\wL^x9\x4by^lysyuyxyzb zb zc zz{l{t{{|| 8}Q}ݗ~~Ex9 ''!)wG!)wG#W $' 9?'RXXi  ތ$y*X$*qlޏh(K* ' )b%c(`pޖboޗ$' 9?9ryhpѤ'nػ+]]ܤ|T|bw竧??k?jyoФqqGHLchHYxXXirsfϰrsfϱ˱̲c/޳d/޴ bεkiTotu+>>?+??@5@;A5A;BAC@CzbCxiCpDEE$E'FF$F'G@GKH@HKIHIlI}JFxJazJKKKKKL0mL9nM MƅNQNOInORnP@PxiPpQQxRRxSTTUZU`VXVYWmWoXXXXY~)YDžZtZZ[/[S[l\^l\o]Q]^_3V`@`}h`qaaabozbfc;sc|ctdozdfeceff0gg0hhhhhhi`i_ijjjk@k}hkqlGlhxmmmmmmn ooxprpPqrqPrGrhxs\s:t\t:uuu+vPvQwtwZx`xey`yezzz{y{|y|}}~x~yˁzbpĂ(99(irnirn!Ԍ}""ޑ渑ŒyϹyӔxӕ}v_Ŗ}v_ŗxιJ{ΙuLJ{ΜH\H\CIozaՠozaաۢzbpģgeݤGkl*qklШqklЩKωh{*GklM9}.O Zͻ3ҼZͽ3Ҿ1iuepulo ¹*\r\r0iLK-Jιulo$tZ^_xkyL.xkyX^X^\4\4`i;^wyZ '&;^wya*5z:%hh* XUG$BI J     # h$h`_3dHHY !y"##$y%&''()*t+t,-y.z/0y1123>V4*V56789:;<=[>[?@@ABCF=D EFGdHdI5;J KY6LLMMNyOP\Q\R+S+TEIUlVlW` ǻ Iy(B~$BL@CI)C[cACl B??Au_C}( @ HeC#M?CiNmȎ@ɀCO+@,C!AyAk,5$AKZ_C5%5g?lECyfŽ3C-uw#/[ CnB+.CK ~BSA CyBDBv]k#_tATIAqmA+}CSAQCyKB>χA{_`CIBtRCtg*B2WC@#@@jRCOgZ%yA^C 1TC7T.ϼ[Cc *]MBQkP#ƒWqt—@TAlPBU4WQuBd@YA=A/!fCPxKB"y_`C\#AlC>jgCAQaB%bCbBjPA=*C# >O)CAIMAAOA4ANMAğAGeC@:“-BBA ICj\;BfAqWC$)•wABcBt BE -+A1BtAhzBFAFA`B6yt`PClvReC=iQB<=[CXCƴ@h )`CrN^lC$UA] MASQC>ABMA.!fCoA~@]'C$;K=AOPCt؝bAeCϹ@'C4ut/ AҤBwA AΤB BΧAf[:CQmA+}CkyADlCqMAQCn„{C12BD CB.@Q7CDA^&BB εABņB~AB*v#CBAn`C]A- A ]HBbA#B]2@P1C}xCi/b AvrBqLfAoBITBA9Am&MBA~nBS%хBCBbjPC뒕A6oj{BB A ?hC0@5P]AxcC[AdAynC;I®9>RC@>lCv@CE4Bo)Ct(¹_4C71B:i"/C=IB$-@XH΃@rC)SjCXkCc20CBApC{B6o@/CV¥bYChTBf`AFCLAV@:C@YFAoC6?@i(CIB*F$CA,AoCBBĹAs*C-kaC}@,aC7Bv A=B%ˆC}@n0ZCAA-0ZCB.ICBЇAICRg &BB B.jB'"®]fBCAIBgAmnQB!͢uBA?0C$BgC$B·AgC{TɹA9Aa+ajC|4šۋAADfCABd A*$CDgAYVC@FC><@$C5.{C>-j@%1CT&BA2Cz; @)01CfA aC|Ab- mlCGlC\M&iCG@#mC44EAWKiCFbwlpAA@T.[CBiœ}5BBŤB+FBQXCAAM[CfA3C{BrƲ@B \BٽAg6Cz自X5-sC8/UfC0PA!iC!ZZsC.B16vC%yP~1C׀B Ax0CBA;I:BAxA"%C̏AOApyC^~BA;WCAGlSB9L@uAhCyYC B@BpA!|1{CF/saCR£Y?< CPBA{#CAPJsCeMB>AC&C>Q¥q@$CcA yCȉNٞñB@lrAmBZc-\BB+&a@-SB(isCAkf fCPBnA18B @ -h@C4Ž:wtBB`\CFB2#fVC:B*&B BŵBB(AnA]C+sieEC+B[IA@0C/ǽL-A7dCȅMAB@4CRA$pCesIpCBApCΦ|S{C' LBr#')C&2DLA YCT2fC=B O&CJ{0l/CQB@),CaP-r-m0CLF@>PCbKkCm"CGkY@[Cf¢C_AfBn@E"C5GBAa*C:\ CˑB R A CB?B3ŠkA/BiB]3vAjfiBMH@jAA~AR.C%M\iCq!Aa@Cs°e@ ou"BBnRA.CB_A|B拔+ n:BKI ^4C3..C/2C@l6sC[r‰Cay@UA#CpBACͭA6:AQUdCBOSA5C\uc0Cƌ@XiC߄AaC(N:A@MC?AtAMC>5AttQ@)asC$̫&NChFCGK\ALC! ¬@F,Cyr&BfؼxBZBǏAB B4}+oCH BoC Btu?BҖۂCB=YACC"C4=@fCK?^*"hrC`ny@n&_mC|U6vkC[)@}@C.ݣFnaCn6XiCBtAgCB gCP/iCLW )@j&+C@OBhA.CEAfC M)CZjARAeoC.EBGA(*C5Ay[uCn@]F#CzBRA8&CY͂A CgK2˞pCOY\y[uC!(~@KC4B{@B\z)!QCeC A!OC"uBVA*OCuB.OC'T.amqC2ɉV*CeB:#lCc(eYAuB"ݘAz @ZAW @QA6""_qlC^_As#C˯@AlCGBZ"$CeCzEBA$CA] ϰByA@(CW@3#^tCB3P:H&CO@jFvCUAqRA~{B@̋oCJ@]iC ZLϰBAl.CCgAtABCC\?pAv~CBA>'CWBX@}.CDP2mC9#mCu!#VrpC@!iC >ivvAƎmg0JlC8FB4ADfVCzȢFC`Y8@eC[BIXVC2,@*oC>†NCVuhmCBGA?CV}A TCIRAmC@)kCȎA뽽O4CA'A$Bs@:M&"OC J.xpYCA1LB=B/:wtBx(qBD%-iC,'6ǛqCM]!ΘB|{mCpٛA@1ΘB>Bby@C_@8tCpo=@pBw>@fB'&$*CbfiB;?'C4A A=sBl^,C$i@ڛ@jA~ AtB,n^DsCP@G7EoC{1BsAoBțB3A>B݌ǬteC+lC?FjCuBoAVC urW4bDzCf)oCXY[DmC"SoC E_t&oC%?)CbB!ͩ@AqCWyѿBBrxA]CIB)L]CnBg@ B ElAZCsA8? yC^?.4,pC񤿣D4CDh4C{rvŽoC $c_CV5BiE6¡VApB̅@&:qC{HcWCfB/b<TCZE*BAXC.]D¤@'.C$=BKA!0CAA:B ,WjCN"(DqC8=A_TC5|@$LdEC7UN(iBFtT &C)B5>B tC:B5ACD rFCsBcA{BaLA4FCjCŦ@PZWjC(O=]Cdc{a4oC *sCn 3`qC#aqCD@nvCGy4~,pC;A DH1lCE{P1?? ?> 52k -6XB?5X†q?AmRD77l yw.ap9'?΂@CKߕ2j S2>5:>{?FA E4r y2vI95|x?NAʼnPi5s $x =y?5@:{g4n q93-?틼@4{ ($m`5'?DB&%c5| lme>BB$ >6;P@y e#H̾9N`e?&=AAhݶ o 5_041:?O1B$Xq5 q 3?Ͻ}Ͻ73?!B;׶ p KCc~O=?X?Hg_@9 G A܈3]0 $|?"@BSa L TRm?^V=/?B@5Q6M >10<1'A?"Aj~ĵ;N ^9/ay?LYA|>7 P מ2ֽ~?8AٴZ5x |0L`ٰđ/?`Au|'] |0L`ٰđ/?[?ϑ6ʹw L =<={? AAf@ z 5ۡF5?[zxB|?l?e e?\meLBb% >69e;P )>o>H! >R:d?&=A`5L36p f2r:?M1B€4a6z 3={Ͻ73?!B'߉~ KC?c>|O=?O?Jg_@=@B Ӡ2][0 %|?#@@GhsD ?2a$3?^V=/?B@7yW@ ۲E22 2Af\6Xo6C /˹~?8ay?MYA|>7>E бZ1ֽ~?CA:5L >˨10x61?b8{Ao6 3 F ˯0/^t!2\?ݤ4HDG!H >iB?^># ?-AR@V~AP @{<=,@A;sN 5?n['5?xŒ|׿$I 彲&} Hý@NjAS ۱2Io>x?hvBgk5&V ٪=M?3>z?}B;6b4'W 2ɴ)355?AAfs4(Q 1,(1CAVȴ5)d 彳&} y?hvB+ 5;+y g=|?4cz?}B*5$,\ K55?BA 6- ?r?CA|or5.01!RL"8*9?xRa,?;zP h<&b' &(ci.{%ef}ef_RIV,M'qYpou@٪Bp8,z%lpXUXT[?[[R!BDD}VVEMpYpus?8J[PXV[4erwxy=JLOW\_c34X]p5YUI!5'+(qF1YU3,4,M5UU78/C?BIdUJ(SGVUUYUUajfkCm2non3p|PTQJSuDo4FTR: QO!.-#X  E [}*eO6T!MU$g0W4O5<9DX,{]U|UU~UUUU )27:U+H/!?;"'.()0`256MWZcR#u$0@GPQTU6VUU_`Tlvwxz{AqxQvUUy[ȤK^. #X [mWc 0#'*-/0]29;=>?JKLOX_a_ehUUij>mz}ؕ܌݋%3aEңJ؀ЦiIiaU*gjj rU l "#e%q&C'()1h243459@JACIKLcMXTWXZ]^abclegmnopqrst4uyvw|xyz{|}~dځ ނ$ݏޔˆ_UU"UU"UUG` zUU 0gJi}-NUUGe[+1YU23i4iY>?4xIfUJkVUUW^ijk}^bWZV]\U X z]U(4X5a8HPk{]U|UU|=}v$-.;<>V[+,C^chshK "&(.:@FHPORSdfkqrty{'1+/>FHJQSV[\_hjlGeZ+J061LU23i4iY>?4xC I3UJkW`Fijk}^HWZV$UUy]A# ;\U X z] _He1U '(Q*4X5a8:c4>Pr{DU|TU}j} 5|=}  s.h3vk$-.1 9;<[}^\gKwUUUUUUQU3BAX&X$JVV<+@NUUgUUU !w'j(\)5UU678g^AB%}S \YUUZdmfnoHf|WeVboW j!^U)CDG`~UUUUb|Tj!_b06[:mX=B}UY )*DfbdqȮ %)-ACZEGIQ^`bglnpsx3aC }_,7=DEGPRUYO`fikgUUgUUgUU  n*UU*UU*SU=U!w$'j(\5UU678g^@AB%}D S \U\YUUZ_ mfnoHf|Wqx K7be1VboWOjvE!RU$z)o/?Y CDI /jGlT ~TUUUARo-  *30b|ZjTj !_b%&(06[:mXAB}NUUYn{| 5  }% -NBO"]riQV\>uV 67PY%]>uP 6kkf4 e #-*FN O4]sx@\I16K7V]1 ?  =FLt3 A1UVjvw &<U5S{#c9HKN+R \i}ex @_d }+r<kBMN:[6 l.l W4y9EHK bMR\>cz -+E3< BN4T[Г  /8O/;ENMu~xul]bTZOdg]./m:F(cn &A첐AP/A?ڍQtTN}bA psKA%gDA&A6AB@̊d6?1XP?uA> -:AFA;@BXE@E7AhDR1;A{ A6ЬAFA 5@ZۣAU!@@R=A"#2+Q(@@ز/(jA.@TA~`@Қ<종$jA/iN|t (Ę\~sKA8mA@l?2Al?2A?R_?R_>@SdrA二2A/7M&{Al{AI4<@uA,?]ueAMצA!@٦kA# ]Bx'jA܎?&u,B+-A!FA-BޚAtJIR1A*_{3(d|AJ:A~A6Ay AAEV߆Ci*BKAA¿bA MAZa|AsȏAe@08`AB@Hdg##@"lAmA@,,A@>JBA+ @rA@\/@eOԎAD:@_\ flAA | 7}!x@% I`AԀACAWA>yAVkAHA_AN@xA!u'>lAwAlAvA/.uAAAAe{@dA B_~A9\GA, >?B!A`4Q6[Ahs0μ?Fk13A<@:A!KA/@~CB[AAZ*BqZFA@<]A,A–;AA`.z4ARAkKB AteAQ$Ao>BCVApƓO;B1A4_sAXI=•wAC;A=mA$6TAzrAyFCB@}ACBAi+LxAWL…cAd_P7iA-'IhA@ĹA 9@HT@BhAHYAg/BLA bAg4AAPzACCBi2AAAI3FA Bsn]EA Ba@Ab"@ȫ@-sB AsB@4" @4&AƒѮAրkA5@A8,ALAgBdsAA8BRmAaBA\B!dA@FBjcAxEAjA:tAQn"A!@FBA6bA⃷AYA@aUA,EAHhA(qBO}AJγAA{@^S$AdWApA]A~%AB&qZAATxFBMAXA\h32CBA'` @@$A6CA@ly&A7A AE14A`cX%V!B~|A-B~oAIB*ĀAjx@`AiM?rB&ԘA3lk>)0A#AizJAT bk"fAnQetBAF@tB܌BBlAP@O"% ݰ@^O4A-BvA@ Bк,]9BV-A^B"hAAtB!AZxBDxA}>Bl'aABҊAC,bAxyFBTA{}Bn2AK+@{(@AtA0ǢV‹-@BKr@AbAJB.AB@eBJ-AWLBհA6bAN>BA[>B$A5B}Af"^BPA5AQt BHAȬ?ZB&.A !AA$’TRAzA*U[AD=[Aj{@A= ~GAtLAyTJuAxP@XuS7ABnAҞB!Bd{AZ"AxBvA;nBF]Ar]?B6A2pBbAyjB'Ac?BA B.Aތ7,BƖA_BBA 8@~@BtzA#B̆AaBzA0@B~ϣA' BAVB^TA0sBRFA/֯BZAwBYA{pB!AlQ@0@tG}s@( |AhLAtAA݂?fmAxAU@keAg4AWϾ&WϾ&@@ ]V@ ]V@-KApAIcADAҿH?fpA_"A#x@wZA|EAM,A\/A'(ÎAA@ayAgA|AP2@@fMAqAJ@2}AxA"43@?qA4Ag@^ʣAAd{}uAPA @FpA'A 5A'A@=pA9Af,AyA &A+@,RAA@c 4AA㊥-AH3A@ŅAxAWAB~AJ7atA LAW>/PAP+AU?dA8%A̳AoA UAq.A!Ȭ?;AAf@OAX +AtBA:@!A@D\A\>ֻFAYLIA4J>?hAhA #"Bѫtmh۾Aȏ4m?-Ba@]*@m,AgQ@u;AFAtjo@PA`A>Az>FA@HfSp%B6AxOAƯAjz*BRµF@̯"ApN@ct@N A-$KAAfa!XlAg4ALA0A\AEllAH]AZs;`pF;qo'B>MAw&Bпsf˜BeB8^V@}tϿYMBA@-Af@'N?NDA w&@hJA 5Y2| A4¶HAOA@JE.Bsn<(/Bj@A1WbB~@A8A5)@AA1@A>0kA\˄1@ A@ ->iAlEA7B+ANn4HڹA僷A@`Q?Jу]$AHZx;0=+ALA_ JA*AXIAtfA(H@SAXSA=Ae AH7@$rA RAcAB/ AF@0)y|cAbAT @,JEA gk>L3A> Ar5A2AAUYAliAu꽿[ 4ޘ9n@OoAuNI@YAu&Ah5Ar@?QAI-A9N@A4AT@GlA$]AGA AI&$AAyjҪAH3AZs# AT$Aj@D@@2w?yAJ@G%A4A2Ƒ?*@X-AU9@ %A'43@NALAЯCA6vA L@aH?L3A[?djA@rC @ L-A̳@`HhAP@4Az"z@آvAAArA@6A)Ȭ?N=ŒBD =B. @/xA@z$Af@&g>ԚA }@3 AZaf)Bj{@]X<B< #BtLA?2Ai>A"A@d bBfyP@kB1XO1%B?LNDAң)?)XP#B{@kA&@ XAkA@@m`A@'?4m?BJAǿ@A 0@AZ"AWXAdk*AfA%@ AfQ%4A^CA|B1A_GARQ?ALAt;5A3?]@Ȑ^A;CAx7A=3ۙ@:AD]?J@ty@AR@B'Aٚ AVAy Ah A8.@h Aj!A։@5@ *Ah@L@X!A0@ A$$Ap,@4qAE' sAto A@H@b(AVz?HA"]A A*cAH]A(٨@kAك0AHAu@U@)rA0/]8ATJA L;A@m`@O?>@\ABRs? @A&Ad<Ahf@:@gA@/?`%A@@H@H=A@|n@I@}@X @+A!*A?>A>8zA1,9pY# -@ @%At >ťt@KBA@*NB3'f@=@#^,-@Bg+A` AzA4QuA~@ AP/8<@#^@|A^AAP 5AWAz$A@lߊ@PLM$t@@yC@\7B!JAGAL+AtAt?A@AuˑA*APhANvAEЊ1: AnĞAdUAf PE/A8],B'vjhWA.'ΗAA Gɡ;v yArʿ1A-YA"B&W Ax<-;@ A#oAI0B[YA?;B#u0dKA`$TBP Z@8@-A ? aBb!A0f>#AW0Al`qA\@UCA0@RJBzA @U,?@5A(<}=AA?xY:`@@O @A+LAe@7BPAY}F@B^A`@"cBڲBA`bd@LA@\@ 3'f@/BB?MQS AX@@I? )JAGAN4Bg8[.B0K@\.@#A|A@8/B;p04A茄 D@fBj KqBq@/J̒Br̥AeA`j.AR A|jhDB@0+PAs`uAjAA o7vu?AdKxqACA n@\B(q2>oD Ax[A8S"@@yA#VBI @#PBT{Z @2\fA8h@ t@I:B$ %cDrB[ {A,AșCB0gЙfc*A¸@@¢BmydXX ARAdB@OSdBgu`@ъBp?hhBjnauA@hýƵ@dTA =LA@`?AÒAzSNUA7A bA`{+'A=PA@A c?0AY׎AC_AX=T6_Bi)BA@;PA!@V@ŒAo@D@\AN@;FA%A[S|u A@&@ NRA0%pLAg^ B@(>0\ AN% B0AsZJA4dut`oBOAwG-B@TO@*BL5l?xXAY`qB-c렿d1B@7OB?=L8A] _nBh,i@^A`@HA`BA`biBH+@}^B_CHEpBD'HPB)4P6pBaC ">A@@ڿȘ@ꪨ?A`lB={0GRAXACy?*Љ{AABVwAl˕$zA@A)̿@[>?aͿ@EAA>cm UA[ATZ+BA\_0>A:Aa1D3yfA-@HAAB8UA^A0AɋS?ĕA[APA|jD?8̵AF9`AGDrAp&_ATAap@B)@BhIP)FuA3BfSAd5X*B8%[ @~RFV@ 8"AF=x˔AA4"A @-A`R@ @lHrAv>B?AY^?B; x\%|-B@H|ZEfnAjBA>j B(MAV B3`zFsA4AټA@m{@9>@AByv?*TA.T&@RRJ)As/AzA=(ݦuAqƙAH?Ar*Ab@8D@p"`Jk%AԄCR1V-Ad;1V-Ad;@A`@rAZG=[A HpAr@m@5fAv[A'@vj@7VOB@>@W9AWf@@9AdA`85VA EvPNf'@,g0kpA捆+V[@`"@@,@۽=B\=ANXV@APA f A0 lÃIAc0KA{cg@6A WPv-BLau@n AhA @A$@k/A$d?)aY?}xP$A`ډ@/FA%'%BdA2A%5BMA-D?B3PPfAp rXB-OeA2GUdB AAvnBD{@SW?A BLB)`ւ@aB @w/nA X@u9AXxA@`B AA`B#$oo0@X LB6GAة@k@c$&A$@XzAԡAHA\dB̕@:A PBT@@bJA7AaAP` +@qA>)Atl@ G%jA0`:B"A@@1@$A4gEBYQA3gB5A4@C@W@>@'!@ApB1B>cAAL@ 5Bب?RA@k=ANtB @r0BSBA gB7M3(AKsB@eAqBfOARAW ybACstlTArsATA@]pVfu n A GB @@@1A@@:ACAYpA<]B>LA6 BӾAGzA2A,gB?Aw?MAu[@E+pP'A`'-/;AwDA_JJAF AAB dۀA>XB ?/A5DsAH@~QBd&A@>  ւ@ygAw@ yAt AϤI A;7xA&'QA]B A CAgw@RmA@;v^FX AsZ`k6A.րѴ^oAU#”p@-lAI xAA>AAxA;ǧ?.~kE IAIB5~A:BkN>PxBO5@WO1ҼBA` dASAl0PlAo_B[wx%AC@KA` AyrѼYApzgD|6- N &AJwAJAxr>^YAp>nu?AC@)4("A G@C@@@+|Ap#[A@1אAT9(H@pB`A>A048A'`eApsÐn@Hg\B@@6="PA8jABx@ewXpHw ¾uAlRPBbspeA$A= AA\viAWr1@κ@5A`~p1 5ŷ;SkA]B?0VAwIBuAp@ФD`?xvBSAf!jA&UtA`{mA,ih5AD\(KANXBfA54@,rBh @XcBdXAiB9AuAHAsrA A>Ae>;nAr;2ƒARHB\W,80Av?B#A2KAEۄA FAtmKAI@PKHd<.J{x`Am>EElB0@@CB[dA2k]!Bʰ@n> DBCeAe@ Y=r?a8A@^B6HA [+\4B8-DF(\Ag@2 ֆ@8])B=Bb|Bj*A">BּyAB4FMט9BbA0]0BReБ@c2B+7Bx_e`Bo(3B0GÑY@e@q#.=JAB:sA57Aѿ=n[ll h͝@>R<\iA>kAϟ3u@jAēQAN7@DQA :pA"+BAA[ABAQAReBBdoAHkUA~pm@TAA??A WvAiTA^An6AA Z/$AO\AUEX\ AjAW7AADXA5A6x̭A>@ȃ>1JA`g@:Ag`Aϟ/1H@7B S?|AH>&2@fAtZAr'B6/?BHApqWBK.LA06@@B.AP@WmBa 0vAi,B>; Br\@ro$~BzXbO*pAJByADwAﶏBEwA?@ @Π@BCA@uA@MlAB{S@> {BU|A_ @t,B[|ep,B;A$P,#A?B@ߐ8,A5EyBA*AB!A@@B7BSɇTIs5/B' \|EBfAO|BAK>7BԦLA+AB͕sAׅ@)`BD%C*):o4ު|MYA70? VB:2AUɭKA`q$1IAA@6@@iB`]VzAX@ @j8vAOB[)_QAi>"Ano)@46\O 4A~f[AKA=A79BݖAe_Aw/KA - Br@?]&B,ԑAp}@ A@j>A@gBX||nA(@@A `l?SF7kA` @IΫA|A)@b#A/`|0AA6AXqi@,A[SBFA!jA*Aϊ@^AK>@O?ئLAqmB7`zvL@ׅ@MA AHYA?*)|PByAA B̒8 Bq'LAMNB}0/LAnBEQA3Bh gVapv(\AEyALA%cAIB:$A`ALA)AxbȆny hYA bAA5AwRAXmBBCFBABY*8Bd A_% B["B@ BA_ABB(E;AӿAqBBf DkiAA I@PAjf8@LAZAФA:A*Af:ApA؛MA8آaAֵAKAКA!AAhV@FTAApqf%ƙiA[AA)A AEQA.As@r'U@5A:AR&@MYA3@G?C AzI^@AzTABA E;A%AUw8AlQ1??.3.k4aMW?^,!)po  +BT> YXDXD.'lXD.'lo /T2> YXDXD.'lXD.'lo /T2.'lo 7XÔ.'lo 7XÔ.'lo 7XÔ.'lo 7X7X7X7X7X7X7X7X7X7X7X7X7X7X7X7XÕJT)y7X7X7X7X7X7XÕJT)y7X7X7X7X7XÎ> Y8) MB _,L 7#P _,M-6M?,2l MP?K 6M lkc wSddA?6w"F}?6w"F~??6w"FDAC}p ~LAF}v ~UCDRFLSCL[FDT Up Rv Uv Rp Sp [v [p Sv   O u*T4Ug,$) kjc4o k,h,Zk,h,  \ cC(H66c66c66c66c  _0I3T:l,0$١S F Y"S4|V U66|^66|^66|^66|^ "0v3w*E^+@V_ ,[^+g.[a]* t,@u,@s3@| Y> Y> Y> Y> Y> Y> Y> Y& t{#U& t{#UԝXԝXtttԝX5 j$A[ {,|,W.[,|* l;V2`5B-]@T :ԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXt"/ԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXԝXt"/ԝXԝXԝXԝXW1W9ԝXԝXԝXԝXԝXԝXԝXԝXԝX@ f3BC}>C}) 6}(4};4|;1};4Z;4;#/;#/~(#4|)4w(4H;#4uk(#3jccdr[)#1Y\qg{VVP|(#1}rV]S|(#1|rW|*#1_qe|*#1|qΣ*1 `qٗ*3 XxpП+6xpϞ?C`hٗ3CXspٞACXwpٙA7CRpٖ3CLRgЙ."Cbwgϙ,Bxqϗ'#6wfcЖ&#3[_ObQϟ&#0x~ٜ& $0_uhϜ& $0 _UЛ&7$0ucϛ'7$-cjjٙ*7$0diliٕ'8$0cj՝jܘ&8$0ikЛ'8$-ikkϛ(8$- j՝kٛ '8$0Ou٘ (8$-Hu٘ (8$0Hnϔ (8$0ny *8$0n낼 '!$-Oㄸ (8$0O땺 -8$0uۊ/8#2y37!B㋸37"B 3"6y.":2 ق,9:2v.9:0z.99.튺.!"+o.7*S. *S, =S* = o* < К( < e% %]U%&rTV@5͡`MP vNPPvpMIKLVJ^hhyG\atrij[|zt{]\Z]Yd]LXX\~\Y||__Zgf``f|||[}f``_f`wzf`__`x{e]f`tt|`w{Xf|ttttt}\gphpppdjY;  " " ""*"M0; @Ä$ %$%őƑ $+%%%$Ă!"((ƘM„!υ""%%ŘƗ˾ Ä"ąÅ#$+%+%%Rȵ̿̽ƒÄ""(+#+$ "'$+(+%"##Mȵ !"$$$σ Ąo}!$"T ˼|Ӽ}|ƒÀ"!6 |˴   ! :ȶ˵&  6|&|ռ˻ =ȵ | ɵ˹y{ɳ NpOy)y ˼˶ RUSpWq)))){ ȸ ULLomWWqX*)y Ⱥ˵ȶMTnLpSpVpWPwXx3**yz  ȸ|nUSNUoWOWmmPw3xxXy**y{ |poLooVOVpWwqFFw2x1)*z{{{  POSSOqwOWPwWefQGXXxxxxyy{z  2Wmqw2WqPFllecc31X1x1{{{ {{{ZQ222wPPPqlPPWF[@3X11xvv3-ѧ{~z {{{{{133Qw2QmW2lq>eGX1xvBB,,,.|{xX332PQ2PeGB1x1vi Z6}˺ z{vxX3QwwqX3PPQB@F{,ʱ~¿ z1X3qqOw0f7 ‡|ȭ˵淲z11XPqE^{ $ π {{zx1Xwf{""%"̵"  xxxx3@55{ $$뇅! vx\y…ƎŘ%+%+$ͺɸ|µ1\yy)ɺ$%!"|$%$%"  z)\ #%+`5))|%#%$Ă |̹.>{ $%C(k:-44~ɥ."#+#! h;VSgUMMnMMUVoVNoNLUbraaDCH9^7uea`HD97* *z$+%%ŹmVd9ARDRKnTRMnJ?An?SoVoMZ=adg>E>ccf3qWqxDJnrI9g8ubh=;ymUT;JK=`ƅbgoUw11`RUoWOleElcfFQ1QWqyh=ֻ6Z{_a8A:kIbZY7FOoTJk(>2Q1QGAmOVPlqPww2X1jiń //D;;E\o?`$>vvG@B֍fPqqwf03QQtsj$H,--wL::$+ !ዛttBQBցk`@1XBQQ3X1svv,ćI`"$!%#!ȭ˽^vsssiB/.:/;<11vjB1tstj::$% $($$h~5vsssBci_~;;:=b/eGi]tsssih>_}Z*ڋjstssssu &=;ToLacffBvs].8EӴ}򫬦p\y\tssstssrSLLJAgGc[e4y9ľ{31.vsssssts,F3qmNTLffccqj]r_ӶӃy)*1t4tsstjjj1gXx1X3OoE>e\iiwFf{r^/  ****)\[-ȸ\sstiQQqOPX3jG0>lq0Gq>^^_<6C 4)y*yyuvxX2qVV0vilmqwmgY^rAJ`:;kªy)4*y- |Yvv1XPOVeWilVmlOa_rdb;9KR$,5))[7ftt12qN2WVOpNLoZ[>noZ[8so\f5sp[f0spZcA@spZc&$@sp\c": ,sp\aMI) H45sqZaL7:; 5qZ_L5;5t[_)+5tZ_5)itZ_L)Rt[`D1<Vw_kC13QvblC(RvblL-3QzjlD03Vzjl <Qzbl <Qu`l0 Qu[k11)RvYk0QvWb&0VvWb18:6TuW`9&6TvW`UuW`>G&DSzW`9""IVzWb !%!HDxWb""SxW`!$SxW`!$$P{W^%$S{W`&&S{W^O&S{Yb'AP{Y`m2ȄY`6Y`=Y`TǓ[b&*Ȓab2ǕbkCbj@ǥbkm2ǔak6[b+[`+daJǤd_#ʤg[ ʳd[ ʳge ʳe]y#ʳgYyJʳg]y+m˳XXxˤXX{,ʣllE  um/H ʾĦ*/3 (26O. ,!KK*"GB5 .G$KKD>NCNHFM LJJE== DLLDIFH>>HH8?FG:M55N??NN 555LCL70B14+B..50@4DL>5.....7>?FG3(333II GG:"U;  " " ""*"0N @4''3 ME9,HH*',C#SZG{naIljI`>#IxoeGy`5~P5AuIIvp~AFy\{_P72edVuIy~TFzkk`wl}__7iyuIs~TBW]i^7gk[I|srtsssEn\kZY_u}rKKsNLMUfe^ZY^s`;ypKKNvLAh{xDyY^`yhtNN|vdLvlyY^`AytrpN||DTLdx{_iZY^`uFyp|mEAB6dFOiPZY߿W`uerchmUE=6dpNxjZY߽Go`uefDJmmTELdNss~vDPPIYG}y`uR7OhhmmEE=TNt~|R\S: CZlhmdL8bFL|ttsTe7Y CzeUmb=8LpNN|TdxIY uR}~ccUpXm^Fbp|FLT}` %]z~bcUbbB|cUTxdTwYHaebFcX89,EXbTUTZY#2YoxcCLXF0 lc8=EZY  YwXXXXA;VL8cUwV5 Y\oxUO30PѺW6X8#B ?YwfOb6a׳* 0#ŷM6@QJJ;'<,@ݸ(<2:-:J//:(5071D,,;G#G/:DR43'G09C4*';0ְǵ@ 0;*//;еٻ2G2/ٻ)<2+.ۻM222]@޻I#+:.ߴB++S;  " " ""*"'0 @ h     ī h    k    =   Ź ɹ  l   T i ĝλDz+jƿƮͶ ׿ɼs+וQτȺِTl׶Լ>klֳʻȾTFI)פټɻRǻX,`X?X/lͺſɭhRZq7M?@3,XUͺpqMHŸ$ äXfy_c]nF6NP`HIJ%%%HM]kUUϤna+wyt__cp5cetN36I%J7J3AqkiiiViWa;fOywwfco7c1cuKMtEJ%MDD$0/XjpB5pZHeWw4:::8u^GPuP61uJ-.Z^dpkέV{4w4::;8srPG^ueP0^x33p]ntoߞV4w::8;sucFuOe`]ADoore”844::8;aaecL]u[cp[DLrt^ЄV{:::::;aae`PFOïPn;FXAPPrmSw4::::;atPyç&>wz`XqqZK:48;:;tPOF|c.t@qkqG]W8:;;::atPOF(/0uD]]xSSi4;;:aeP^Z6MO-@p]^tS;{azat`w^y>9$GDqqBK\i88sQauuc(7$OLDqpu:;8;;aaOLye<7$ONMCZCHH^_8;Oy<7$P,B/7NNWWs:ѹ,>$yzPM...HLtxW+Wa:չvZ$7;z`$6..2LP1ssa;8˹ک q7N;e3$6.7NL1x_;z;a}}8yTޝYkz}y$3/.HP`xssaa;4yp)lsPMPuKKyb\rtOfwwbux_:\߼(؏BYYJJJ-H^ty4::8444ww8лݙq**%3,Zrx_4www_____ajpu8wٸXqǎb__OxPo9+Xʣf::::+cKv,1z4ݮjf444w'dcCظ1z;'A??XZVbw__4dc>RЃ0?@qZixeNkRgzwøԼʷǗ\u]pR&Ls8ػʗxxVu]R^N5Paʌ˄'_44WW] 1^HFuqH&^bbb_u] `K2/8z\A292HP`udeuyxxxeG P5B8zwLY?$MvLcy_wa̪i;_tC ^H5:a:eTTgy88̰zQ;c0rG64a8ozaz8ww_zs;N6rA/sy7cy``PPN^^yxxx;xLqmF,&zL7MIJ37HPe_4aza8;̄ZTmS,N}z{10H5gPyfa:;O[/N;QtcQwz8{:4wf::;\ p`F0Nyc_cdg9g[[umxw:; j[]0HzsAU=*=)WWw;V:PMEg˻nj]8&A0=>XCwֺ`g:bb%UE6>='[˪xsdG?N)S UTf)'{֪p(Y U'5?LEuҸc88U *T\}H$\/ VҸ®`b8=NR"t C0/L"fǵvV8beQCY5', bT?/]nֽ˸оWGF1Z;q7GS4 , ]\Z˷x+G ]RB0Xm0U*(9@L!j{yy׸e-99bWG:!7OBF9W*#>)AF+{yoېkF# E;ZR!;Z8**#/+CMOX-OlO>0GM/D"7-CEJa<'**UgE]RmW*XcOQOX+ZT: &<`B cV1Z<;*++YGZW9Z**'999U5"-e8CWhXAG*+,*ZGUGFECEDEBU99_,Weq79Z*+9(-WGEB1B112DE!!Jhc2Ul#+J9+*"BBBAA21AFU!,;76CJe7(++W,X*GFDC26Y !9 Y_4_4> Y_4_4_4_4_4_@_4_@_4_4}|$8) r d+hoR*Ii+r jQ9IH^-~Gm *> v|G~(' L rF  "@ " "@"*'C";X0s/ @u5%J`̹u5 I[Ĵu5 F[A ?bM)9c{˸cA#VóiE'͹i>" 1Ϲj:$ 1xĵc:%2fc:2wuc%Bȸ`9˹a6ļa 2żt  1Ǽt :$ D˲= (F{ҵV DjļK5'[uU= >u۴U3 (Nuka;( BjߊxM?(8um\MG1 /`myRN'D EvfM'90 E{lfJ('=LuӉxE8/B{ӕL=:=:{Ϲa77! Eiɸ|E "3JjwcB !%`u[?1 5rǷ|M;0HcȸiQ;" (Mwɹ{bK56ccTH" >jɸiNK7Dw{[Q5 >´b`<">i`F'0;Bw˹uRN09FNBgɶjM=5MI[EgǶ[Q! !R[[cB(xǶu`J':bjj[('xjaG Djji: EǶqaA(NjuV (cȸqU< HcuBBʹzUA9bN2'ĵiTG!(F:6w`G' '('6ɸcI! >:9wR< 88K|ʹcN% %AIbw³xR?)HIjǶkI7 $K[RG$ 5RuƟeN! Hj}fH2/ $[Ӊx>BR5Q{ԉf9:RM0 Hu׉f=6bMF1EjlfD1j[I/:jveH 6wjI39c{ۊycE'kM5 8[u}\DXwR> /bve6hjN97b{ܡy[( >XcQ> ?bڔ\[6 DXwRG" Qc}fbBEVcF?'bule[9 LjR?/:jЈfR! D[I?!Eu·kN'KNG7(`vjIG?;) 9{vjF1G73%TvkF(73)'ƟkN6)3 hιjN!"$(ȷYG%XגּY?/1ﯵȷ[?)XﭴxR?3(ﰶĵkN?% LʹiI=!MjȷcM' )TcbI1 8I[cE 1Fbi' !>iz'3UǶ)7/2g1 $370#X1$37GD W6037?N<6¼L07;?FF#yV 0;;GMD BͲt5?GM=2P!?GNG2h˲V $GFN! hD3GF0'w';?'>˲L )) R|V$%:jf8 ;jеx`'1Fiǝt;1IuϟrG6Mu҉eK$6c{РfJ3(`ۑfF3" Eʇe?3LסM?)E⑐fF7 -᥽vOG' 4ٖPO0') *mPC6)&@摤]\% !&]~撏^41%@^-6$ *m^+'" @sn^+!4So~~Z+B2&P^~s+B2&-@s撐_+B( &4So㐥o*,1 4]d.,6 *^p~~n.,6#*^p~@7 @ Ʈ{"0iʱ$:uεG2zV (XE6X׹DXƜ0 hʾ/ XϾ<Vt  `r%B{r! Ve:({\>6 VyB'"hֈ'90V˳r6'[j>'wй`0XǴcH U|QVȳRB::Xıu=9RDBԹq0 Vi6hĮ`:RV2ǰr9L6(̵k>#(BĝQ(1Awx/"MδM5|ޡU28cV(R'UT2j; DvL(DH\:xD Fe(EY02bY1VF61|[(G7#LܔR(7%{ӵ[$BʳN ĝI' 6G2a͵w9 !R˴|1(U˴!91ϱ3:(]Բ(67G'XB(;I'(V!F9(g:)81رtLyB#MQb`!iܹM$t۞G g\B'@K1 ^_,! *_:']o, 4od@nW(#@ @9 @ќ'1ٰ'ޟ6W6 g% zEXV xh%g˓62ҲY6x'2:ܵVVXܵELXa2V}: 9BBwB`rl'K ky:B(y!X\#U:XBB2<,Ѫ <66BgBy1BVB:#W61dB #: @h,XB*6.(BB6BW1W'yW6BX6h,B]6.WWR: .WsXSWWW.hW.^Ws.i: o.s.sspsz: ss: slFtF  "@ " "@"*'H"0Z @ĽD \ü@ #»p- YT" &pǿ7?Ľp- .p»_4_ſ7 &Iü"5)2_7C@ Cýp+ZD' +fC 9_D7 Wƾ. mcHD! Lü"/pTD( Grºc SpZN' 4I$To`H( >ȿo- =ZpaI LrǽNMTz{Z. /Vź- GZcD&DjŹp" &D^zN!4[rĸ_-;ZZoD=fķZ";HTc92iöH 5@NG(VõD $@T(!!VõH +@D&+0 VöT"(78-8!V÷^-'6#I22fĸo0('16،h<=ļ8 /؀h95eȿH(e9?coـ[=*h5oـe=[ſ/oہh<$ Cc+ofM2#`D 'pҋX=* Cop. "e=9*^cZ#-οS8DT66W@42N'^h\@ ' <Ůn^5 p®w?/ 0S2 @½z#IvDcþ= D^þz$0T{½Y 'D_>-6!0^}?0@0#Hfp$'DI@! 9eR -ZZD' ([».7cH( )Ukú_!_zZ5 )Rjú71O.DjĹz0=S Ijĸo-?4( +Njĸc-4o97C~ĸo-=pTD)4~Ĺp1 6pND( 9~źz- 0zT@Iiź6#Z8(HVƼDSZ9)I[sŽ@5Z08[gƽNx^D) )TlǾw" YZ7!2Zj6#^H.<`v" '(Ddû6 .9)ZžN"D@=n0 1ZXSĽO"GoSz0zSľN9\ºoT$ +cɋ|_8 "TȊdZ# 10 Mf^= *ZT' 1Ңh8+H_DoҢe( G^p_U~ҡa$+T^z_J~KNczc&EiG!9_^5 EfC2/ozc# EiCD$$^po!AfiRZIoo!#AiPWa#Dpz/ VjlWe#Doz+VqlWh#IcT&PkWh# Dcz6kVh* Ÿp"w´H&ɽ1&oĸo&#>˿4S8$lȺ#oH$Pķo?T+3³9M{K&]׿#Oc+>tپzTO XڽcI+=ٽo &@+;=׾'$(1&WԿ*')+f?C+CCC*|ȹ^$Kξp(Gpŝ0&XνR x~C+04kH$Z!h.+= c[S\SL}p 9Y&fÚ9Q$Yo9f25o9 DM&G#_e4>ÇY$Tȿ$ZżS IĻ5!()hú1@$Qĸ\ IT+9tƸ2$c9rȆ&Y=rȆ(5\25Ȇ#/^2*rȸ)o*9kɺ- ?p.*fɻD5^)+h̾"!).÷@@Yȼz'5XÆ2Sѡc5'?Ԋ>/_++i$T4dVO> eW4>= VV=4=&VP=4z>5jPS/c**W5N+:h$9b?)yY,Y:,b%b%: @e @7x׻*n 43>^>$;Y3?5]$//]ܻ&**s?&XMSV+nW>&?4i?54f?5W4&4}?n̺;dɞ.=n^*9x/Sp2U S(gռ#9C?>4g>Sfl>Xj>Ss>4%b:bB:B e @W?;S+3+3;WS;S;S;>>;=?=W5b;3;b%B,e bb:Bbb]:bbbbB:ube BuBBBBBe BBe BV8c-uXF  "@ " "@"*(O"70` @}>O˿}<#|ɽl+ RǼL" 'lŹ}4 ;}l+ ,lŽ] 2]¹4 'C~ƾ|"1( 0]û4=<=ȿl *T>%*cż=6]>4Pø,i`B? Eɾ}"-lL>&AoȽ` K|lTG%2ƻC$LkUB&:yƹk+9TlVCEoŶGFLstS, -Y³+AS}`?'>g²l"'>^sG 2Xo]+7TSk> 9cT"7BL`60dҾB 1'*. YҿL"&45+5 YѾ^+%3#C00ck.&%/38dؠ²3 %37Mh²4(B9 6Xô?%^2#Lc٠ŶS',k2 5aǹl#,l-Lǻ+(}0(sɿ46F6s÷C$SCkǽG+BC^q. ,G`ƺ4",sL+ )sǹ]?%-²`69Ș]&,.%$ld]/(?3% JdL4$GC"2}ևYBG*Tl+']ޡhXC/*l^BܟdM5F)BycC1,:׈f8 95-wf6 1bƹB&|nb6;ƻ`kwX9)fƺ}1kwb9 X¹-kxf8$=`*kcF0#_? %lхQ9) =k}l,"b96)^`T#+͹K5?L33οP<20G% ^f\<%8¨j^1lýq|;-.|K0 <ýs# C}p >`ƾ9>^~žs$.LtŽR %>]ż:+3 .^vû;.<.#Bcûl$%?C< 6bļI+TS>%&Xwƽ,4|`B&(MhǾ] ]sT1(IgȾ4/|}H,@gs.9K Cgk+;2& *Gg`+2k64!=mk+9lL>(2l/3lG>&6m³s+.sL<Cd{³3#|T5 &BYzõ? KS6 (CXo¶<1S.5NeöG!r^?((Lhĸq" RS4 0Sgź3#^B,8_Ǽp"%&@aǾ3,6(S¸G"><9jļ./TQKH"AkKżs.sKG 6\|ƠŽkL$ *`Džu]5 "ZƃaT# /.Fc^9 )SL% /ѝf5*B]}>kѝb&A^l]L}ћW$*L^s]BӆDG`s`'?dA 6]|^1@}c=0-ks`#<}d=?$$^lk ks*BlhPf#C`L'G|gPf#>`s3ShPf)8kL+"snY9 6]?" .wduA)^4%$^va^$6<-ƃl0 0.:ź}6 0"\ĺ}@$$|^*:Ƚp&Oźl%$k¸`/*|}}}^+7ͿT+2G"&}ο>"  ];}> A}}B=@p @ Ƴ+ :±l" qѽB'}ȶ/ `k'#:ʹ2K5$hƳ#kB$[k;|L*Pֽ6 Ft@'[ֹ#G`*:ظsLH Rٶ` C*9طk '<*79ַ|%$&6'Pӹ)%(*cӻ2 =*===)Ʋ^$@̸l& AlÖ.QͶI!r՚=*.2mB$T |f,*9 `NK\ KEl6R'd6N$Rk6c91k6?FA#]b2:̾R$LŹ|SµK >1 &(fϾ/<$N\ >L*6ñ0$|]6o~'R9o~&1Z01~#-]0)oƱ(!k)6gdz+2l,)cȴ@1](*f˸" (,Ͼ< Gµ]7  uƹg 5ɼ?36˚/#8[kR ,8<6"o_3='w'6GV*.*=;"<6<V5) \Z66[N4@;x¹R3Ixȿh.Hż*Ax6 IƼ5&I¹u ,^Ⱦ+3\ĺ &7]ʿ<38]ƻ1 )=]%>^ɽxi 6=HŹF7Iy´*-,>jο^='(=Rͽx8 H( +>Byɼg) 1\8'A^Ȼx^ YiI,'H_ʻw3+hRA8 (g|̺v/ wwiJ87>zν/ Hw^B>)'yп>4i^>=Hv+'xw\A=0 4ĵ?xgH=,*Ÿh ixxiJ>%0y̼**vg>/Smп=0xw; BkĶx]'t<63{ʼw>*6 (/U\-v<6&*zǺx\(*%# ;xx',*(dȾH , wĹ: 0x¸E=xǾ@ ;żw/ ûx\= H¹vR=$ ,hA7]Ƽ]>$BxRA( 3x–R, I/ /x_A4HH'w֜_3 AJv hxWM.'J\%xPL+;^hwxrPT 7hx+gbOL1/5RxxrOC:*%>OL>%<>bVL4 17bV8 G;0ixpV0u: +iaU5%u< )gWM1+G6=hOL0Gx2BqVK AGv2\aU7+JZ=iWM. 0cut*0OC) ;hXdB~N>0 4g0w`M>) ;\w?xnL=Eh0'iߟV>7%hw:=xڝkH-'hw#gė^. 0]h>x¯^/)I8+\̿^: 8$ Gǻ]I,føg>42gIA <ǾhRAfĺwRB#6ww]I,0ƾxiH)Axxļxh^):vR-%xÿi^>]wxxw\BQxwxxi]B$;ixi]A&^]hxi]B-)R\xxwi\H37Rhxxhg^='B\wig^B 7J¾xihJ=#" (IþxvhI3#"* H_xv]=-#)A@K @ ƴx=##̺AF®h$jʵx& %xԾ3/wƯx=5xѶi/2پj 6X)!um%*)[6f 772~< ^A6a* \F o0e26[W5!15m )wfܛ%0,xs׿0 8xμ\ Rȶg+]¯6]ͺt!\IJ6$vѽ23jɳ2/y+g׺G)%HԵx 2=:{ҳR5]0QԴF'wI0%ٹh g> Mᾏ1xwAfĬY1X;βv1uG% mݾR1Z+ ʳ<[ï6YѽZʺg,<ƲJgҚ>' Dl*1R;V@w20NE0N+Z2)MZ6%xf66wa0%u'xP*5fh.N%@t5XLE2 a> c5!Fޛ?h%xնF 7fʲJ%!sĮ^0 6νg4GǸw:!R±x>5xȿwJ2%G!6+!1u+BGiٵ[yɫ%繊! Z!+U<6Y+5w5P[1fђ5*Z꿎6tڷ:G}+ `+[6W5[O5[2Zf6 0Y!Z'16߻;[бQtĒ]Z’\6Ēg6M  @5[G[02<<6y6Z[f6GZ6ZdataZL4|L D<| $| | 4| <D| ߄d| L߄D|  | < |  D| | ߄<| | | < t@ d|  L< $dt<  4D\D$D <  <  < \L < Ld D<D <$$<  < << ddD\LDD<d < DDDL< < < dDd < DD  \$DD< < < dD < << DDL<  LdD<< \d<< Dt< tD$  @$DD < 4Dd\\<DDdDDD\<<tDDd d$tDD$<< @DD<   <\DDDD<< tDd< DD <4t  D< D< <<D$  dDD DDt< \dD<<D < DDDL<< DL<  < DDL< < $<\< < 4< < \D Ldd DDdD< < <tDD < < < \4D $ < \ < DD <DD$t< < D\<   DL< < tDd dD4 < < $D<  \D  D<< \DD| < DD\< < \Dd<< $DD< 4D < <<Dd< < tDD< \DDd< < D$  DD< DD  DD  D\L$DD < L4\< < D < $DD\< <  $D  DL< <DD  L << DDd < \dDD \DD  d< < tDD < D$\< 4 D  L D@ d<  DDD < L|DD< < DDD dD\ < dD<D$$D LD D < D\< < \L|\$@ \D4dd4L|$$$D  @$< D\< D < d <d< <\DD<< 4dt@D4<Dtdd4 \$4DL 4| |\<DD <|D4<  DL<LD4 \dDDD< < <DD$4DD <d\<\dDL\\<$4L$4 dd $D   <DD < D<< D< DD< \$<<<tD$LLD<  DtDL < Dd< << D< d$<Ldd\|d\$D < D<< |D< DD4\<\D$ $ DD< d4\ \< dD tD< D$4t@L\d< < DD d4D datat@4 Y8) kv)S]Operation: Na Pali@+dk AjrK@M;  " " ""*"pX$0L< @)33,S=L*-)+2V,/,,+!Bq/0,/1(!BzV1,)1(!!'Bz 2//1!!8a}V d U?-0;9C!MVV ""; ee iijꈈўI5;*)--)*(.>Aee 萏h²̩b92*)---)1(!':W:w  Ҫ#uwE744C  鈈edkϱҵ?3?H2(!:%'PuF9--8u  f αy~f?S!"2)2[Quw Lp hfggĻ̭ҵ~f?yc{O,63*;GXuu dfg6fi̭Hyf??HN"0464-0@ug iĄg66ĽϱҪR~?~셐fg6fdm2+1萂g 提f6&6 ͪy~yR]nϫ7*-3-0aig63=kI!CsSg6  jf6&gαҵy}rN;0)*]?-+# W1-ge 揃ik f6&fͿAIrs99A)[9+)Veee idf66񑗽ԲαҪв<0;Iꗽ aZc6&8.e  gճ̩RRSaց2--15WrffޏmS6&&&6Sfge 揃iefԳϱͿRSӫT2*)07ni fgfU?&&&66}13yoikl۞ϬҪoXFPC;22B 컖46&&&64-o+)a.e jiαͿHcqܻ@7IDP'8O rg6666?R/<}z7<2ž di̩ҴSV>1)*;:ErD  i6gf?y/<277=B@Ϳ/=ʏJh  hj̭<=WN;--*2Tr  ggfy}]q7.!!!!'ҵ~yMn,LJ h󑸸ϬͿc>숤=!C*-)1bjꠠĹfgg~{n>@C!!'yyUL iϬҴoaprģ=y/%v5*0=rfggfTT'!.bRޜܗ٣lf iiϬͶbB)1AGGI9b~gf~yͩW8C]o}diϬͿr:>Op=/1.GV~6g~Ϭ8.(0V|iܾaֽuhk̩ͷsrrFFAS-4-1CNhe~g~άm>;1BiMV|rv烗ϬͶҰrrrtQM,444);:K~yͭΩz>;2;G#/V8zٻڽkٗάͶrQDPA0344,1]yR̭8C!%$#$P0oϚᄡؽϬͶѡvrrPPPrD:;R?-RHͭέGQ#N˳7Sl¹rrȾҷܣts8B>NrQ%VHSͩϬLj#""$ƬŹܻŲͭtrrPM<1(CQwkVS}̬̱XNɝVǝָڽαrtttE:7))1.:ddϬ̭ҷ""NMѬ{۾ڻܫԲϬtttuF$50)1;ooͱΚϬ̩ͷЫ՗P:$aqóɝl۾ϬڣutDQEtD:91]όҷȻP:N΍1]oѝ琸¾tttrP%%PF z ͩ򐚖Ҷݘ$""qabcϲ|Dz˳rttQIT':Er{ўΝųͲX%VqՀDzģtttQO8I:ۑh曛֫˲ƿQ"GboŁlɲrtttNOAnǾkiҿo̳ͩ""VqȫDzģtttu{òߔϵrrE$P#zɲɲŻrtttrrutm{dzȅ胏oȽαϴ®rEqйث˲ɲ˳ģtttrrsnƳȕn{ᜪ|iϬǡ|NrM۳rttttimȕl|{ Ա̭eeV;ntttwrhÄ׫k|Jz |ֽŲsq}e}bػٻrttklJ㔴|ֽϭ̱P51==HH>ëڈڽrtwrz]Vn±C;799LoݽĠrttttwrhiוٻj]qaܳƳ՗8=;55;Mܽuuu琑k阻ꈽi AaqsdzݻO7=5C.9Żkwt{a{֫핹iA8>bȲԽpa=9C.;8Ļi|m7VabmػmnbBbsҩġa]M55;CS<2BOמmlBMb@Tr̩{Va55;.è 01a@sوȾmn|{a7TNŬҩr|=95;9ٻV2M@闗kiϩNٲͭȡm]=B5;;lk=9@i萀ͨҷa=959;C|7Bmkͱڠܠpa=95.;5z՞|aaMlhl{㔴z{׺ܫB=BCC;.|z]z{|q|Pspڻ앝]q>>9.TqϝoVK䆆oo_\^IȻkBVHoM;aMooq}̫WCZY\IpiĠrnSRVn] oVV OCZYYYZIsrr]SS]]}LoV}}WCZYYYYZ^:rV7B1S}ooo 㐗WZZZYYYY\[Nrq8Z\\ZCxxmlW\YZItr{|j:^^`{ԕ̝ƫwuaMMGu==V0V<0K_.j{ qI@RQGMG  " " ""**"v$?0| @              $     $$&&&   $$$(((&r&&  $((#####rr&& $$((##%%%%#%rr&&   $$((-2%2///%%%rrr&  !!((##2/<6/6//%%rrr&   **'--222<<=,6,66//%rrr&   ;*''"'2<<==,,4,,,66/%%rr&  ;;.H"11<===J4J444,,66//%rr&   ;;.HHR3PPq,JJ:i::44,,6//%#&&   ;.WW>3e55JJ]]Vii::4,,6//%#&    ;.W>8ee99o]]VOVSVii:44,6/%%r&    ;.W8_vTUOOSMMMSVVi::4,6/%r&     ;H>8vwxx@@OfMQQQMMSVii:466%%r&      ;H>_vuu\cffQ^^^QQMSVV::46/%r(    ;H8_EGGjj^^QMSSi:4,6/%#($      n;.H8_E~zaaj^QQSVi:46/%#($$    )nng.>8vu~zlp婑^^MSV::,62%#$    )))))gW>_vuzh婸^^MVi:4,<2#($    )000}}duhۼѸ^SViJ,=2-(    )0II ddhķ䕕ؼѸQSV4=<#($   )0I [+hڴج^MO]J=<#(    )I ++7텡t^O]J=<#(    )0 [7Ct`kN||جQJ=2#$      )0I +7mtZ{kN|FFKϭ^J=2#$      ) [7CsZY{`?|FDDFKƭJ=2!$       0I[7CsAAX`NFDbBbF|ܽ@JP2-    ))0I [+CmAXX`NDbBBBbKpco31'      )0 [+7CmsA˦NDBBbF?ɤ~u_>W;nn       )0I [+7CmsAkDByybF?ͯ}}g       )0I [++CCm̀AX˦?ByyD|`֧ʵdd))      )0I [+7msYXXNDyyDN`AYZZ II00))       )00II[+ZYA{kKbyyBK{XAYZsC7+[ II0)      )0 tZYΦ?KbBBFkXAYmC+[[II00))      )ddt`?KDbBbF?{XAAsC7+ I0))       )g}dhȝ?|FbbbDK?{˚AYݒsC7+I))          ngg}}_uzǤ͘NKDDDF|k{AYZm7+ )        nn;.W8_wEGÔ?NKFF|?`{YZ稒sC7[I0)        ;.H3exLƤ?N||Nk`Zt㳒sm7+[)      **HR5w\Ga?NNk`tmC7+ )    *"R59U@fjp䔝kk`mC7++ 0)    *'R39T@cfjpޛ֞h숵7+[ I)   *'"35oOfjpͪĢ첉d[[[[ I0    !'"159OfjpÛêɂhzu8}}IIII00)     !-"1PqoOfaɂhh~u_8Wgg00000))     !-<1qJOfjpǙǰhz_>W;n))))   !-".;n )))     !(22.;      !-2<W.n      $(#21P9UU@\cGGLLGGExwve>>..n         $$(2H.;            $(-"P599TU@@\cc\xxTve8>HH;;n         $$-"13559oTU@xxxwUe3>WH;*       $!'"P33599oUUUUT9e>3RH.;    $!'"1RP3559oTTTe53RHH.'     !!'""11P55999e5RRR...*      !''"""1P3555533R""'*;   *!''""11P333RRH''**  !!!--'"111R1R""**!  !!-'""1""".'*   $!!-''"''''*     !!!-''-***    !!!!!!   !!                                                           @@     $ $$##r& $((#%%%r& *-22<66/%r&  ;'"<=,,,,6%r&  ;WR3qJ]:4,6/#   .>_oVSSV:46%&   .8w\OQQMVi4/r     .8uLa^MV:,%#$   ))gW_zMi4=#$   )}hüёS],2$   [+⏞͘^Oq2$   0 7tk||ܱVq2    I+m̀|Db|fq-    )0 +CA{KBBFaH      +CmA?yF֞IJd     )0I[CZYXFykXYZC[I)     )§kFBB|˚Ym7 0)     g}hKDDNAm+I)      n.ewL?K|kZԎC[  '3Tcpƛkk{ՅC+  *19@fpꛘͤ[   !"5OjhWg00)  -PJflǷz_W ))    -2qcalzu_W     !2Po@caaaLE8.    (25U@cGw_>.     $-35TU\\xe>H;    $!1359UT5RH.   !'"15553R'.  !'"113R'**  !'"''*  !!!*             @@ @ $&(2/%&  HPJ4,/  _UOMV4%   ;zpёV6( )I( C`F$   Cݚ`?~W   )IY?{Y[)   n8~F[  "U͏+I -qfz8g)  !<@alLE>    -5Ux_.   "593H ""'  !     @ #e]4~<  [N5 d|م*cd) PGE;  !3'  U @<& )n  5H t (d}    ]*jt/{N{i.|AV~0d0d0d0dM> Yxx0dM0d0dxx^ĥ0d^ĥ0dMXD0d0d0d0d0d0d) z cl.@|a-m#F$q.@C@r/UJx2r.e|0XDo o 8) ki.S]PoNg - Difficulty: EasyW-H.c g q~V/A2y.l)8) kB/Jl4i4@,|=`m!@O;  " " ""*"h0T @B#mCМ>bhsئГ?%'''K4-P\ћb[4K0h*'{"BC$oܵѡbj66R6T&%$ ӕisܔbj40FC  $$wrjB?DAC$  IHդ¼泳DBDA"%$ '?Кٸb),kғ~߸ʧC"C%' ''"#Dbmklg8QS=vtF%%$$',  '  $%)/kb^ڪ69rhYԮvOG$ ө-   $NخĶxj9iB&4~wg, ,םd+ xla滯rcj6/iBI^nwl! dmפ+   $$cu`*+')מѐw=50.f9`_X RT+   'ۧ5VZ~꧞KFIH֡q50 MZ_F.+d    tKV0^_}pjHEʺHUl7!,'+}N&78+    &&311\0VaӕPkȸH?HSw83n}&C(98 (W(     &#GPYUQ43!}7գdߚE#G69+4 *~%C%Kg4K 'ג-  @"BHD?YGJ)S1\\0XuomF)̦Jq8605%F6h1,'י''$$$?>@FFGEE&GWWQ33Va}۩EG'զՑg03Z&%)0s\'$'W'  ?&EH"FECCEEEGP_aN0QV~DDEtْӐG]q^0la@2h' $""% EЏԎDICH*fe3KR3XaKHtʸЍUg9j3f@@% '-b C"&)яEm-FEDDDBEpw7SSUQRVetߺ ӐIT886*XN'&"& g&"@ ׫4]FCDDA?'H{ؕ40cf=rX|I"AAAF5e`T14V}mۦ泿׫tvtזt240Ve~?&0Z-JYT1]N䪫H̷mm᳭Ԟuߩ{z`6\2e~u}&###"G2EEGWSTU/rȧPḺd3՞wȧI40`NL}v~&#Cs&BEEIJY[OQ5vqׯܰGԳ渣hĮwמДE64005vvABTABDEE-c![\Z؝Coi\dܺxwdzѠk-J!400^X~e-|C#ABDDE0}R[12aӐoorǴ¢hǢ׫~v௟YW`040/.eEBB,_[WYUQXN,JHiilxsڢh19û.}ѐk۹3404c~ͦ#?##?@l2GJWWYO!vWC\gh^UwrܫT30]\nZ_f}v???T|ήHIGWS[Veޗ)*'^wsήБ۞щȾV410^32V~uCB*BECIYQR4N?>BC+9wt⻖mӌȺ0///43MuvC1CABCE5!SU_eZ@(6tܫt^QQR\Q pvuZ)??#ABDC-pXTT\`Z">>@+þƥ24Q1U.~7l=sTA?%`w`WSR2Z$ЃHH{üĕЋ߹V0][Me5/2l~~C@sxQIPUOv}PЈ#üttsȕОtb0\O0LVQ\Q0~?FtlGEWTs~}!Cztʐ߹Ւ^QU00[]\(`}$B|zGCGv}Btѳȼb\Q1U[RU5wn@|ϗAACHIx)Aҹعutռ2\1[[QZ-+}N&?#BEjL궼Db[߼䤜t۲34][O`aO(5|?#?EuʔxU0QŢ߭^\1TK.UO)GFZ{hhk]]˦\1KN}4OU[)6~$Duusܾi^otՖk2KU21OU[Olzͥ">>>>?#uźd(s߼zԖMR1UOTOUM7wFE&BLuuFKjttߴۿM41UOTT^)E>xpĴmF(jzooi׷4]1UT0~UFI">>ztbrŢY34RTS1WGCDB5㽎o4RUMOTWIENw´ܚ4sؼo21SM5OTYWJGѤxNew¹㰬zsƹo2]UK--SYPWwZosoQ^ -)TSWTDZZἪ£-S-WTtroos'-)WTٺ_}ÿts(-_ }缿ôK,4t v}i*4d`M}ǼUWj6v{Tso}iX~vº㸼uſwttG/XK@2%B/efy< EYK4ylmOF_4jbK4K4e?; EYK4ҹe?;ҹe?;e?;t{K4+X+X EYҹҹt{K4 EYylmOF_48) ODSDI'-T -T  [6YEd"E/8$PQkOjt g TSI/L/Z`(r.* s// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // MonsterMapListCW : Simply grabs maps from original list, rather than reiterating (which is slower and gets bad list) // =============================================================== class MonsterMapListCW expands UMenuMapListCW; var TVMonstersMaps MapSource; function Created() { MapSource=TVMonstersMaps(OwnerWindow); OwnerWindow=MapSource.BotmatchParent; Super.Created(); DefaultCombo.Hidewindow(); } function LoadDefaultClasses(); //only 1 list function LoadMapList() { local string MapName; local UWindowComboListItem Copy; local int i, IncludeCount; local UMenuMapList L; Exclude.Items.Clear(); //rip right from source: for (Copy=UWindowComboListItem(MapSource.MapCombo.List.Items.Sentinel.Next);Copy!=none;Copy=UWindowComboListItem(Copy.Next)) { // Add the map. L = UMenuMapList(Exclude.Items.Append(class'UMenuMapList')); L.MapName = Copy.Value2; L.DisplayName = Copy.Value; } // Now load the current maplist into Include, and remove them from Exclude. Include.Items.Clear(); IncludeCount = ArrayCount(BotmatchParent.GameClass.Default.MapListType.Default.Maps); for(i=0;i@'=>2A+>6.@A.>6#>?>BE*AA7CD5E.BCjsGfhdloLkl[nxJlYGrK2nqVllinm]q{KtuIruZu{MoY 8 <8# ; C A ; @# A G E >% D K C O& I F) L N K$ S T/ O N- SZ"^, X R1 VY$c2 [` V-a-fg #[7a#ql0j"`:eg%u9l$ek${6q'i9tw0}An&m~<z6&Cu*r1C+wGsD*~7"JE-N%|."J@K/. S,M;'NHW/3Q'"9,C\7R!5'`3Y"I/\a'G )e;GW!ei>a1.DG T$_"-R#:d5d%rD."3X/+j7l&rC0)]5v3%4GR8>2f?~JrEx3WBUsF>=\H1RXqR>NOJI]zWUfVT^f\dqUfq`crpz_yiwtr|s}J/  "@ "@ "@"@*<*"j 0E @@                    ! !!      $$ ()'"""!"&   $--'')//))****00&&  166225>85////4::40&##%%%%  $-($9<9?5>MMEE:::FFF@43,,,333, (9<6-1AEUZZTKFKPVVP@=;;;=;43# (9CCCCCNJJMQZiliZTZchhaPGGLLG=40&  (6?NRRRRMYQUfz~wlccr||vg[__[O@;0&  $-6?N\``]]YUbt~wrr|}pmpmaP@40&   $11CN`nnnbb^i~}vv}vgV@40&##  $-69HWeqqssttw}mVG;0,&#   $(69?HWkqvgVO@40,##  (162?HNWky}g_VOG;,%#  !19JJYsƾpgaVG;3,++%%  !-*58>JMYbsҿ}pgOD=;73,,#  ")288:EQb^tʧvgXLID;3,#  #*04:@PZ^lrʬvmaSLD7,#  &08@O_cl|~ʳ{paSG=3,#  &3=GPah|ʿ}pgPG;0,"  #3;GV_g}Ϳvh_P:4*"  %.;GO[g}Ϳ|pZK@4*"  #&37@LVg}©lTK:4*"!  #,,7=L[g}̶rZKE5*)'' #+3DO[a{Ƕr^TE5))''  +7DLXa{°lZUA5)'   %.3=GSa{̼lUE8))  %.3=Gdm{ĺlUA/2!  %+.;I[uu~iU>/'  #+3;Iduuxɻzf]A5'  %.7=IXmuxɸbYJ<(  %.7;IXjmoxȯse\J<(  %.7=IXjjooŪysk\N<(  %.7BIXdddoŹynkkWH<-  .7=BDISXdoyk`\RC9- +.7=DDILSdoxɵyqk`WRC1$ %+.7BBIISdjoju{|w~yqkee\RNC1  .7BDILXddjpvrliiwztttssqqne`WRNC9(  %3==BIILXjgjcc^^izztfbffb]knke`WH?9(  .7;=BBDO[_VPTTTZffbUMQYYYW`e`WRH9'   %.3777BGOOFFKKFMUUQMAJJJNNNRNNC<-$   +.++3=@::@FFEEAJAA>>AHC?555>>96--(($   ##"**///))222221($    ""*)'"''''($    "" $   !             @@U @       $( )""&& 615A88::4,%,%1<9CJM^iTT_P=D=4  -C\WYUz~lrpgaG4 $6Hkqfi}pO4&  (1JHHH9  %#*4/5522-$ ""! $       e @  !"  $1>QFK33?1    @50 Wg,&%'%jk/2 ɭ   1441 8W/J// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // ScriptTexController : Controller of Scripted Textures. // =============================================================== class ScriptTexController expands PongController transient; var ScriptedTexture Tex; function RenderTexture (ScriptedTexture NewTex){ //called from an actor... bRendering=true; Tex=NewTex; ScaleX=float(Tex.Usize)/200.0; ScaleY=float(Tex.Vsize)/100.0; Game.DoRender(); Tex=none; bRendering=false; } function TextSize( string Text, out float XL, out float YL){ Tex.TextSize(Text,XL,Yl,Font); } function DrawRect( float X, float Y, texture Texy, float RectX, float RectY ) { Tex.DrawTile( X*ScaleX, Y*ScaleY, RectX*ScaleX, RectY*ScaleY, 0, 0, Texy.USize, Texy.VSize, Texy, true ); } function DrawText(float X, float Y, coerce string Text){ Tex.DrawColoredText(X, Y, Text, Font, DrawColor); } Z/P)DH(r* w *Q.Fi&P) ])a)k&b. Gw *S _BRS?. E$|#{#g 6E$6|#6{#., ~f)gD '`@?&?8%~. aa) g]&~a  g,~a  g,~a  g,~a  gw~* S?~ OS T&// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // PongController : A "Controller" to allow for canvas or scripted Texture calls to work. // Scaling is done here as well. // default controller is Canvas. // =============================================================== class PongController expands Object transient; //Generic: var bool bRendering; //if render cycle is safe. var PongGame Game; //actual Pong Game. var float ScaleX, ScaleY; var font Font; var color DrawColor; // Color for drawing. var bool bCanBeSaved; //canvas only: var Canvas Canvas; final function SetFont (font NewF){ Font=NewF; if (Canvas!=none) Canvas.Font=newF; } final function SetColor (Color NewC){ DrawColor=NewC; if (Canvas!=none) Canvas.DrawColor=newC; } final function PongGame Initialize(Actor Control, optional PongGame NewGame){ Game=NewGame; if (Game==none) Game=Control.Spawn(class'PongGame'); Game.Renderer=self; Game.SoundActor=Control; Game.bCanBeSaved=bCanBeSaved; return Game; } function PostRender (Canvas C){ bRendering=true; Canvas=C; C.SetPos(0,0); Canvas.DrawTile( texture'BlackTexture', Canvas.ClipX, Canvas.ClipY, 0, 0, 256, 256 ); C.Font=Font; C.DrawColor=DrawColor; ScaleX=C.ClipX/200; ScaleY=C.ClipY/100; Game.DoRender(); Canvas=none; bRendering=false; } function TextSize( string Text, out float XL, out float YL){ Canvas.StrLen(Text,XL,Yl); } function DrawRect( float X, float Y, texture Tex, float RectX, float RectY ) { local float RealX, RealRectX; RealX=fmax(X,0); Canvas.SetPos(RealX*ScaleX,Y*ScaleY); RealRectX=RectX; if (X+RectX>200) RealRectX=200-X; Canvas.Style=2; Canvas.DrawTile( Tex, ScaleX*fmin(RectX-abs(RealX-X),RealRectX), RectY*ScaleY, fmax(0,Tex.Usize*(RealX-X)/RectX), 0, fmin(Tex.USize*(1-abs(RealX-X)/RectX),Tex.Usize*RealRectX/RectX), Tex.VSize ); Canvas.Style=1; } final function CenterText(string Text, optional bool NoAutoColor){ local float Xl, Yl; if (!NoAutoColor){ DrawColor.R=0; DrawColor.G=146; DrawColor.B=0; } TextSize(Text,Xl,YL); DrawText((200*ScaleX-Xl)/2,(100*ScaleY-YL)/2,Text); } function DrawText(float X, float Y, coerce string Text){ Canvas.SetPos(X,Y); Canvas.DrawText(Text); } p// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // PongGame : Actual Pong Game // I note that this isn't very OOP-ish, but I had to do this fast... // Note: Simply a 200x100 Arena... then scaled..... // Only is an actor so it can be saved... Purely client-side! // gutters are past Y.. // Victory: When have 7 points and at least 2 more than opposing side! // =============================================================== class PongGame expands Info; //imports: #exec TEXTURE IMPORT NAME=Ball FILE=Textures\ball.pcx GROUP="Pong" MIPS=OFF Flags=2 #exec TEXTURE IMPORT NAME=BluePad FILE=Textures\BluePaddle.pcx GROUP="Pong" MIPS=OFF #exec TEXTURE IMPORT NAME=RedPad FILE=Textures\RedPaddle.pcx GROUP="Pong" MIPS=OFF #exec AUDIO IMPORT FILE="Sounds\Score.WAV" NAME="PSCORE" #exec AUDIO IMPORT FILE="Sounds\Hit.WAV" NAME="PHitWall" #exec AUDIO IMPORT FILE="Sounds\pong.WAV" NAME="PHitPaddle" const BallRadius = 5; const BallSpeed = 102; var Vector Ball; //ball coords. Z NOT USED. var Vector BallVel; //ball velocity. Z NOT USED. var float RPaddle; //Y coord of Red Paddle (player controlled) Y is top of paddle! (0 to 100-length) var float BPaddle; //Blue Paddle (AI controlled) X is at 200..... var float PredictedY; //AI: predicted Y loc of ball. var float PaddleLength; //length of paddle var float PaddleSpeed; var float PaddleWidth; //width of paddle var bool bCanBeSaved; //spawns own controller? var Actor SoundActor; //play sounds though this. var PongController Renderer; //the renderer. var bool bHard; //hard AI? Also, ball speeds up :p var bool bHideBall; var byte Ended; //0=no, 1=player won, 2=compwon var int PlayerScore, ComputerScore; var bool bHitPaddle; //only used within several functions for sound effects.. var bool bGutteredBlue; //ditto (on blue side... red point) var bool bGutteredRed; //ditto (on red side... blue point) var bool bPaused; //is game paused? var float CompPaddleMult; //difficulties... simulated function Vector Vec(float X, float Y){ local vector Temp; Temp.X=X; Temp.Y=y; return Temp; } function bool IsOnRedPaddle(vector test){ return (test.X>=0&&Test.X<=PaddleWidth&&Test.Y>=RPaddle&&Test.Y<=RPaddle+PaddleLength); } function bool IsOnBluePaddle (vector Test){ return (test.X<=200&&Test.X>=200-PaddleWidth&&Test.Y>=BPaddle&&Test.Y<=BPaddle+PaddleLength); } function float V2DSize(vector H){ return Square(H.X)+Square(H.Y); } //(R-, L+) function vector GetBestHit (vector L, vector R, vector C, out float Length, optional bool DeltaX){ //find the best one local float Best; local int BestNum; local vector L2, R2; if (DeltaX){ L2.X=BallRadius; R2.X=-BallRadius; } else{ L2.Y=BallRadius; R2.Y=-BallRadius; } Best=500; if (L.Z>0){ Best=V2DSize(Ball-L2-L); BestNum=1; } if (R.Z>0){ Length=V2DSize(Ball-R2-r); if (Length0){ Length=V2DSize(Ball-C); if (Length200+BallRadius){ //gutter check... bGutteredBlue=true; DeltaTime=0; return false; } if (NewBall.X<0-BallRadius){ //gutter check... bGutteredRed=true; DeltaTime=0; return false; } SlopeY=BallVel.Y/BallVel.X; SlopeX=1/SlopeY; if (NewBall.X>=200-PaddleWidth-BallRadius){ //may be colliding with computer paddle if (Ball.X<200-PaddleWidth-BallRadius){ //colliding on approach HLC=Vec(200-PaddleWidth,Ball.Y+SlopeY*(200-PaddleWidth-BallRadius-Ball.X)); //central line HLR=HLC; HLR.Y-=BallRadius; HLL=HLC; HLL.Y+=BallRadius; HLC.Z=float(IsOnBluePaddle(HLC)); HLR.Z=float(IsOnBluePaddle(HLR)); HLL.Z=float(IsOnBluePaddle(HLL)); HLC.X-=BallRadius; HLR.X-=BallRadius; HLL.X-=BallRadius; HitLoc=GetBestHit(HLL,HLR,HLC,Length); } if (HitLoc.Z==0&&BallVel.Y>0){// did not hit front.. check if hitting paddle on sides (rare.. but possible (although you already lost..)) HLC=Vec(Ball.X+SlopeX*(BPaddle-BallRadius-Ball.Y),BPaddle); //central line HLR=HLC; HLR.X-=BallRadius; HLL=HLC; HLL.X+=BallRadius; HLC.Z=float(IsOnBluePaddle(HLC)); HLR.Z=float(IsOnBluePaddle(HLR)); HLL.Z=float(IsOnBluePaddle(HLL)); HLC.Y-=BallRadius; HLR.Y-=BallRadius; HLL.Y-=BallRadius; HitLoc=GetBestHit(HLL,HLR,HLC,Length,true); if (Length>vsize(NewBall-Ball)) HitLoc=vect(0,0,0); } if (HitLoc.Z==0&&BallVel.Y<0){// did not hit top either HLC=Vec(Ball.X+SlopeX*(BPaddle+PaddleLength+BallRadius-Ball.Y),BPaddle+PaddleLength); //central line HLR=HLC; HLR.X-=BallRadius; HLL=HLC; HLL.X+=BallRadius; HLC.Z=float(IsOnBluePaddle(HLC)); HLR.Z=float(IsOnBluePaddle(HLR)); HLL.Z=float(IsOnBluePaddle(HLL)); HLC.Y+=BallRadius; HLR.Y+=BallRadius; HLL.Y+=BallRadius; HitLoc=GetBestHit(HLL,HLR,HLC,Length,true); if (Length>vsize(NewBall-Ball)) HitLoc=vect(0,0,0); } } if (NewBall.X<=PaddleWidth+BallRadius){ //may be colliding with Player's paddle if (Ball.X>PaddleWidth+BallRadius){ //colliding on approach HLC=Vec(PaddleWidth,Ball.Y+SlopeY*(PaddleWidth+BallRadius-Ball.X)); //central line HLR=HLC; HLR.Y-=BallRadius; HLL=HLC; HLL.Y+=BallRadius; HLC.Z=float(IsOnRedPaddle(HLC)); HLR.Z=float(IsOnRedPaddle(HLR)); HLL.Z=float(IsOnRedPaddle(HLL)); HLC.X+=BallRadius; HLR.X+=BallRadius; HLL.X+=BallRadius; HitLoc=GetBestHit(HLL,HLR,HLC,Length); } if (HitLoc.Z==0&&BallVel.Y>0){// did not hit front.. check if hitting paddle on sides (rare.. but possible (although you already lost..)) HLC=Vec(Ball.X+SlopeX*(RPaddle-BallRadius-Ball.Y),RPaddle); //central line HLR=HLC; HLR.X-=BallRadius; HLL=HLC; HLL.X+=BallRadius; HLC.Z=float(IsOnRedPaddle(HLC)); HLR.Z=float(IsOnRedPaddle(HLR)); HLL.Z=float(IsOnRedPaddle(HLL)); HLC.Y-=BallRadius; HLR.Y-=BallRadius; HLL.Y-=BallRadius; HitLoc=GetBestHit(HLL,HLR,HLC,Length,true); if (Length>vsize(NewBall-Ball)) HitLoc=vect(0,0,0); } if (HitLoc.Z==0&&BallVel.Y<0){// did not hit top either HLC=Vec(Ball.X+SlopeX*(RPaddle+PaddleLength+BallRadius-Ball.Y),RPaddle+PaddleLength); //central line HLR=HLC; HLR.X-=BallRadius; HLL=HLC; HLL.X+=BallRadius; HLC.Z=float(IsOnRedPaddle(HLC)); HLR.Z=float(IsOnRedPaddle(HLR)); HLL.Z=float(IsOnRedPaddle(HLL)); HLC.Y+=BallRadius; HLR.Y+=BallRadius; HLL.Y+=BallRadius; HitLoc=GetBestHit(HLL,HLR,HLC,Length,true); if (Length>vsize(NewBall-Ball)) HitLoc=vect(0,0,0); } } HLR=vect(0,0,0); HLL=vect(0,0,0); //NOW we have to test for side Wall collision AND compare it to paddle... if (HitLoc.Z>0) bHitPaddle=true; if (NewBall.Y-BallRadius<0){ //hit wall. get exact location. HLL=Vec(SlopeX*(BallRadius-Ball.Y)+Ball.X,0); HLL.Z=1; } if (NewBall.Y+BallRadius>100){ //hit wall. get exact location. HLR=Vec(SlopeX*(100-Ball.Y-BallRadius)+Ball.X,100); HLR.Z=1; } HitLoc=GetBestHit(HLL,HLR,HitLoc,Length); if (HitLoc.Z==0){ //did not hit Ball=NewBall; DeltaTime=0; return false; } //did hit. move ball and alter trajectory... Ball+=Normal(BallVel)*Length; Length=Vsize(NewBall-Ball); //length moved. DeltaTime=fmin(DeltaTime-0.01,(Length-vsize(BallVel*deltatime))/vsize(Ballvel)); //set new time (with the hack to avoid potential infinite iterators) HitNorm=GetHitNorm(HitLoc); BallVel -= 2 * ( BallVel dot HitNorm) * HitNorm; CheckVelocity(); return true; } function CheckVelocity(){ //verify ball isn't at too much of an angle local vector VNorm; local float Speed; VNorm=Normal(BallVel); if (abs(VNorm.Y)>0.95){ //ensure not to steepy. Speed=vsize(BallVel); VNorm.Y=fclamp(VNorm.Y,-0.95,0.95); vnorm.x=class'TvVehicle'.static.Sign(vnorm.x)*sqrt(1-Square(Vnorm.y)); BallVel=VNorm*Speed; } } //0-60 degrees (0-.866 Y) function vector GetHitNorm(vector HitLocation){ //Calculate the hitnormal on a "wannabe" eliptical surface..) local vector HitNorm; if (HitLocation.Y==0) //top wall return vect(0,1,0); if (HitLocation.Y==100) //bottom wall return vect(0,-1,0); //calculate from Paddles... if (HitLocation.X==200-PaddleWidth-Ballradius){ //hit computer Paddle... HitNorm.X=-1; HitNorm.Y=(-1.33/PaddleLength)*((BPaddle+PaddleLength/2)-HitLocation.Y); return Normal(HitNorm); } if (HitLocation.X==PaddleWidth+BallRadius){ //hit player Paddle... HitNorm.X=1; HitNorm.Y=(-1.33/PaddleLength)*((RPaddle+PaddleLength/2)-HitLocation.Y); return Normal(HitNorm); } if (HitLocation.X>100) //player / conputer paddle sides. HitNorm.Y=BPaddle; else HitNorm.Y=RPaddle; if (HitLocation.Y0&&!bHideBall){ //big hack... Goal=Ball+BallVel*DeltaTime; bDidCollide=(CheckCollision(Goal, DeltaTime) || bDidCollide); } if (bDidCollide){ if (bHitPaddle){ if (SoundActor.Isa('PlayerPawn')) PlayerPawn(SoundActor).ClientPlaySound(Sound'PHitPaddle'); else SoundActor.PlaySound(Sound'PHitPaddle'); if (bHard) BallVel*=1.09; //speed up else BallVel*=1.03+(CompPaddleMult-1)/15.0; } else{ if (SoundActor.Isa('PlayerPawn')) PlayerPawn(SoundActor).ClientPlaySound(Sound'PHitWall'); else SoundActor.PlaySound(Sound'PHitWall'); } } if (bGutteredBlue){ PlayerScore++; bHideBall=true; } if (bGutteredRed){ ComputerScore++; bHideBall=true; } if (bHideBall){ //someone scored! bGutteredRed=false; bGutteredBlue=false; RPaddle=default.RPaddle; BPaddle=default.BPaddle; Ball=vect(100,50,0); if (SoundActor.Isa('PlayerPawn')) PlayerPawn(SoundActor).ClientPlaySound(Sound'Pscore'); else SoundActor.PlaySound(Sound'PScore'); if (PlayerScore>=7&&PlayerScore-ComputerScore>=2) Ended=1; else if (ComputerScore>=7&&ComputerScore-PlayerScore>=2) Ended=2; else SetTimer(0.8,false); } } simulated function PostBeginPlay(){ SetTimer(0.8,false); } simulated function Destroyed(){ Renderer.Game=none; Renderer=none; } simulated function Timer(){ //used for restarts. bHideBall=false; Ball=vect(100,50,0); BallVel=vect(-5,1,0); if (!bHard&&frand()<0.5) BallVel.X*=-1; if (frand()<0.5) BallVel.Y*=-1; if (!bCanBeSaved){ RPaddle=default.RPaddle; BPaddle=default.BPaddle; } BallVel=BallSpeed*Normal(BallVel); } simulated function UpKey(float delta){ //player has up key pressed.... local vector FakeBall; if (Ended>0) //something else is responsible for restart return; RPaddle-=delta*PaddleSpeed; if (RPaddle<0) RPaddle=0; FakeBall=Ball; FakeBall.Y+=BallRadius; if (IsOnRedPaddle(FakeBall+vec(BAllRadius,0))||IsOnRedPaddle(FakeBall-vec(BAllRadius,0))){ Ball.Y=fmax(RPaddle-BallRadius,BallRadius); if (Ball.Y==BallRadius){ RPaddle=fmax(RPaddle,2*BallRadius); if (RPaddle==2*BallRadius){ //force ball velocity y to be 0... BallVel.X=class'TvVehicle'.static.Sign(BallVel.x)*vsize(BallVel); BallVel.Y=0; } } if (BallVel.Y>0) BallVel -= 2 * ( BallVel dot vect(0,-1,0) ) * vect(0,-1,0); if (SoundActor.Isa('PlayerPawn')) PlayerPawn(SoundActor).ClientPlaySound(Sound'PHitPaddle'); else SoundActor.PlaySound(Sound'PHitPaddle'); } } simulated function DownKey(float delta){ //player has down key pressed.... local vector FakeBall; if (Ended>0) //something else is responsible for restart return; RPaddle+=delta*PaddleSpeed; if (RPaddle>100-PaddleLength) RPaddle=100-PaddleLength; FakeBall=Ball; FakeBall.Y-=BallRadius; if (IsOnRedPaddle(FakeBall+vec(BAllRadius,0))||IsOnRedPaddle(FakeBall-vec(BAllRadius,0))){ Ball.Y=fmin(RPaddle+PaddleLength+BallRadius,100-BallRadius); if (Ball.Y==100-BallRadius){ RPaddle=fmax(RPaddle,100-2*BallRadius); if (RPaddle==100-2*BallRadius){ //force ball velocity y to be 0... BallVel.X=class'TvVehicle'.static.Sign(BallVel.x)*vsize(BallVel); BallVel.Y=0; } } if (BallVel.Y<0) BallVel -= 2 * ( BallVel dot vect(0,1,0) ) * vect(0,1,0); if (SoundActor.Isa('PlayerPawn')) PlayerPawn(SoundActor).ClientPlaySound(Sound'PHitPaddle'); else SoundActor.PlaySound(Sound'PHitPaddle'); } } simulated function UpdateAI (float DeltaTime){ local Vector FakeBall, FakeVel, LastFake; local float SlopeX; local bool bUp, bDown; if (bHard&&bHitPaddle){ //predict balls location exactly as it land at 200-paddleWidth if (BallVel.X<=0) return; FakeVel=BallVel; FakeBall=Ball; LastFake=FakeBall; while (FakeBall.x<200-paddlewidth-BallRadius){ LastFake=FakeBall; SlopeX=FakeVel.X/FakeVel.Y; if (FakeVel.Y<0){ //go up FakeBall=Vec(FakeBall.X+SlopeX*(BallRadius-FakeBall.Y),BallRadius); FakeVel -= 2 * ( FakeVel dot vect(0,1,0)) * vect(0,1,0); } else{ //go down FakeBall=Vec(FakeBall.X+SlopeX*(100-BallRadius-FakeBall.Y),100-BallRadius); FakeVel -= 2 * ( FakeVel dot vect(0,-1,0)) * vect(0,-1,0); } } //now find where hit 200-paddlewidth PredictedY=fclamp(LastFake.Y+(1/SlopeX)*(200-PaddleWidth-BallRadius-LastFake.X)-PaddleLength/2,0,100-PaddleLength); } bUp=(PredictedYBPaddle); class'TvVehicle'.static.Approach(BPaddle,CompPaddleMult*deltaTime*PaddleSpeed,PredictedY); if (bUP){ FakeBall=Ball; FakeBall.Y+=BallRadius; if (IsOnBluePaddle(FakeBall+vec(BAllRadius,0))||IsOnBluePaddle(FakeBall-vec(BAllRadius,0))){ Ball.Y=fmax(BPaddle-BallRadius,BallRadius); if (Ball.Y==BallRadius){ BPaddle=fmax(BPaddle,2*BallRadius); if (BPaddle==2*BallRadius){ //force ball velocity y to be 0... BallVel.X=class'TvVehicle'.static.Sign(BallVel.x)*vsize(BallVel); BallVel.Y=0; } } if (BallVel.Y>0) BallVel -= 2 * ( BallVel dot vect(0,-1,0) ) * vect(0,-1,0); if (SoundActor.Isa('PlayerPawn')) PlayerPawn(SoundActor).ClientPlaySound(Sound'PHitPaddle'); else SoundActor.PlaySound(Sound'PHitPaddle'); } } else if (bDown){ FakeBall=Ball; FakeBall.Y-=BallRadius; if (IsOnBluePaddle(FakeBall+vec(BAllRadius,0))||IsOnBluePaddle(FakeBall-vec(BAllRadius,0))){ Ball.Y=fmin(BPaddle+PaddleLength+BallRadius,100-BallRadius); if (Ball.Y==100-BallRadius){ BPaddle=fmax(BPaddle,100-2*BallRadius); if (BPaddle==100-2*BallRadius){ //force ball velocity y to be 0... BallVel.X=class'TvVehicle'.static.Sign(BallVel.x)*vsize(BallVel); BallVel.Y=0; } } if (BallVel.Y<0) BallVel -= 2 * ( BallVel dot vect(0,1,0) ) * vect(0,1,0); if (SoundActor.Isa('PlayerPawn')) PlayerPawn(SoundActor).ClientPlaySound(Sound'PHitPaddle'); else SoundActor.PlaySound(Sound'PHitPaddle'); } } } simulated function Tick(float DeltaTime){ //master updater. if (bHideBall||bPaused) //something else is responsible for restart return; UpdateBall(DeltaTime); if (!bHard) PredictedY=fclamp(Ball.Y-PaddleLength/2,0,100-PaddleLength); UpdateAI(Deltatime); bHitPaddle=false; } simulated function DoRender(){ //rendering calls are valid now local float Xl, Yl; Renderer.DrawColor=Renderer.default.DrawColor; Renderer.DrawRect(0,RPaddle,Texture'RedPad',PaddleWidth*2,PaddleLength); Renderer.DrawRect(200-PaddleWidth,BPaddle,Texture'BluePad',PaddleWidth*2,PaddleLength); //scores: /* Renderer.DrawColor.R=0; Renderer.DrawColor.G=255; Renderer.DrawColor.B=0; Renderer.DrawText(PaddleWidth*Renderer.ScaleX,5,"You:"@PlayerScore); Renderer.TextSize("Computer:"@ComputerScore,Xl,YL); Renderer.DrawText(200-PaddleWidth*Renderer.ScaleX-Xl,5,"Computer:"@ComputerScore); */ if (!bHideBall) //ball draws over scores :p Renderer.DrawRect(Ball.X-BallRadius,Ball.Y-BallRadius,Texture'Ball',2*BallRadius,2*BallRadius); else if (Ended==0) Renderer.CenterText("Get Ready!"); else if (Ended==1) Renderer.CenterText("You Win!"); else if (Ended==2) Renderer.CenterText("Computer Wins!"); } n/rqSe.rLre*eG-G zLeGA?%Lber-Goal Time:^eGA zOeGC?%OGoal Time:^eGCr-'r rPrr {LraLr Prr {OraOr Prr r'aѨ ^enr-( e/L `O:  w *P@+P\r.*L %P?&L A>6 6. ?,xL &6. 6 ?,xL % ,L %P?& GG// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // Pong : For use with my credits map. ued too unstable to code with :/ // =============================================================== class Pong expands TVVehicle; #exec TEXTURE IMPORT NAME=ONPBlackTex FILE=Textures\pongblacktex.pcx GROUP="Pong" MIPS=OFF //bground var() Texture Game; var() Texture PlayerScore; var() Texture CompScore; var() string MyText; var() string IntroText[9]; var() float IntroTimes[9]; var float mytime; //timer broken... var () name WinEvent; var () name LooseEvent; var() Font Font; var() color FontColor; var() float YPos; var bool bDidEnd; var int CurIntro; var PongGame Pongy; var ScriptTexController Control; event VehicleCalcView(out actor ViewActor, out vector CameraLocation, out rotator CameraRotation ) { Controller.Vehicle=none; Controller.viewtarget=none; Controller.PlayerCalcView(ViewActor,CameraLocation,CameraRotation); Controller.Vehicle=self; Controller.ViewTarget=self; } function BuildControl(){ if (Control==none) Control=new (none) class'ScriptTexController'; Pongy=Control.Initialize(Controller,Pongy); } function Touch (actor other){ Bump(Other); } function Timery (){ // Controller.ClientMessage("Timer entry... Curintro is"@CurIntro); CurIntro++; if (CurIntro<9&&IntroText[CurIntro]!=""){ MyText=IntroText[CurIntro]; //SetTimer(IntroTimes[CurIntro],false); mytime=IntroTimes[CurIntro]; } else BuildControl(); //start pong // Controller.ClientMessage("Timer ext... Curintro is"@CurIntro@" -Timer rate ="@TimerRate); } function Timer(); //not work? function GetIn (tvplayer Driver){ Controller=Driver; // Controller.ClientMessage(Driver@"Geting in pong vehcile!"); SetOwner(driver); Driver.Vehicle=self; Driver.GotoState('VehicleControl'); Driver.bBehindview=false; //pong CurIntro=-1; Timery(); } function Tick (float Deltatime){ if (Control==none) Control=new (none) class'ScriptTexController'; } function VehicleTick(float deltatime){ local actor A; local name InName; Controller.aLookUp*=0.5; Controller.aTurn*=0.5; Controller.UpdateRotation(deltatime,1); if (Control==none) BuildControl(); if (mytime>0){ mytime-=deltatime; if (mytime<=0) Timery(); } // Controller.ClientMessage("Tick check.. Curintro is"@CurIntro@" -Timer rate ="@TimerRate); if (Pongy==none) return; if (Controller.aForward>0) Pongy.UpKey(deltatime); else if (Controller.aForward<0) Pongy.DownKey(deltatime); if (!bDidEnd&&Pongy.Ended>0){ bDidEnd=true; Controller.PlayWinMessage(Pongy.Ended==1); if (Pongy.Ended==1) InName=WinEvent; else InName=LooseEvent; if (Pongy.Ended==1){ Controller.PlayerMod=1; TVHUD(Controller.myhud).OldPlayerMod=1; } SetOwner(none); DisAble('bump'); // Controller.VEhicle=none; Controller.bHidden=false; //? ForEach Allactors(class'Actor',A,InName) A.Trigger(Self,Controller); Controller.Walk(); } } simulated function BeginPlay() { if(Game != None) ScriptedTexture(Game).NotifyActor = Self; if(PlayerScore != None) ScriptedTexture(PlayerScore).NotifyActor = Self; if(CompScore != None) ScriptedTexture(CompScore).NotifyActor = Self; } simulated function Destroyed() { if(Game != None) ScriptedTexture(Game).NotifyActor = None; if(PlayerScore != None) ScriptedTexture(PlayerScore).NotifyActor = None; if(CompScore != None) ScriptedTexture(CompScore).NotifyActor = None; } simulated event RenderTexture(ScriptedTexture Tex) { if (Pongy==none&&Game!=Tex) return; if (Pongy==none){ Control.Tex=Tex; Control.ScaleX=float(Tex.Usize)/200.0; Control.ScaleY=float(Tex.Vsize)/100.0; Control.Font=Font(DynamicLoadObject("LadderFonts.UTLadder22", class'Font')); Control.DrawColor=FontColor; Control.CenterText(MyText, true); Control.Tex=none; return; } if (Tex==Game){ Tex.ReplaceTexture(Texture'ONPBlackTex'); Control.RenderTexture(Tex); } else if (Tex==PlayerScore) Tex.DrawColoredText( Ypos, 180, string(Pongy.PlayerScore), Font, FontColor ); else if (Tex==CompScore) Tex.DrawColoredText( Ypos, 180, string(Pongy.ComputerScore), Font, FontColor ); } PF// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // MonsterMapListWindow : one hack // =============================================================== class MonsterMapListWindow expands UMenuMapListWindow; ]# 8]#- 66?,66?,66?,]#-r.*q!  :.%@??_-' [0.m pr%[* _, _C%[_a %na ,a [a &[a > [/@)BH(r* w *Q.Fi&@)  $ w1 /r v, 0X0Z(r.*L }/am-); ra* )-i$aE9a: N/q g',*w.q *e%^e,2Te.q !O=e eV!Oe:*e,2e.q !e.q V   e,2&le.q e.q VVleu  S0N1j}#b/g|0b Kg; U .}zb }(rU * U  b  U b U  b  U  b  U - b -  F1O/s/LD6 0a@??q!z  T@g0H1M3- - -w.*-  l/p.A-C?L>C=CP?x#C ap.(C??C=CP?x#C aq.( K1oo// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVMonstersMaps : Map/setting chooser // =============================================================== class TVMonstersMaps expands UMenuDialogClientWindow; var TVMonsterclient BotmatchParent; var bool Initialized; // Map var UWindowComboControl MapCombo; // Map List Button var UWindowSmallButton MapListButton; var UWindowEditControl NumMonsters, NumAllies; //number edit. function Created() { local int ControlWidth, ControlLeft, ControlRight; local int CenterWidth, CenterPos; Super.Created(); DesiredWidth = 270; DesiredHeight = 100; ControlWidth = WinWidth/2.5; ControlLeft = (WinWidth/2 - ControlWidth)/2; ControlRight = WinWidth/2 + ControlLeft; CenterWidth = (WinWidth/4)*3; CenterPos = (WinWidth - CenterWidth)/2; BotmatchParent = TVMonsterclient(GetParent(class'TVMonsterclient')); if (BotmatchParent == None) Log("Error: TVMonstersMaps without TVMonsterclient parent."); // Map MapCombo = UWindowComboControl(CreateControl(class'UWindowComboControl', CenterPos, 20, CenterWidth, 1)); MapCombo.SetButtons(True); MapCombo.SetText(class'UMenuStartMatchClientWindow'.default.MapText); MapCombo.SetHelpText(class'UMenuStartMatchClientWindow'.default.MapHelp); MapCombo.SetFont(F_Normal); MapCombo.SetEditable(False); IterateMaps(BotmatchParent.Map); // Map List Button MapListButton = UWindowSmallButton(CreateControl(class'UWindowSmallButton', CenterPos, 45, 48, 16)); MapListButton.SetText(class'UMenuStartMatchClientWindow'.default.MapListText); MapListButton.SetFont(F_Normal); MapListButton.SetHelpText(class'UMenuStartMatchClientWindow'.default.MapListHelp); NumMonsters = UWindowEditControl(CreateControl(class'UWindowEditControl', CenterPos, 70, CenterWidth, 1)); NumMonsters.SetText("Number of Monsters"); NumMonsters.SetHelpText("The amount of Monsters that will be spawned gradually after the game begins. Winning occurs when all are killed."); NumMonsters.SetFont(F_Normal); NumMonsters.SetNumericOnly(True); NumMonsters.SetMaxLength(2); NumAllies = UWindowEditControl(CreateControl(class'UWindowEditControl', CenterPos, 95, CenterWidth, 1)); NumAllies.SetText("Number of Allies"); NumAllies.SetHelpText("The amount of allies that will be spawned when the game begins."); NumAllies.SetFont(F_Normal); NumAllies.SetNumericOnly(True); NumAllies.SetMaxLength(1); Initialized = True; } //original function function IterateMaps(string DefaultMap) { local string FirstMap, NextMap, TestMap; local int Selected; FirstMap = GetPlayerOwner().GetMapName(BotmatchParent.GameClass.Default.MapPrefix, "", 0); MapCombo.Clear(); NextMap = FirstMap; while (!(FirstMap ~= TestMap)) { // Add the map. if (nextmap!="" && (Left(NextMap, 2) ~= "Dm"||Left(NextMap, 3) ~= "CTF"||Left(NextMap, 3) ~= "As-"||Left(NextMap, 4) ~= "Dom-"||Left(NextMap, 3) ~= "Sw-"||Left(NextMap, 6) ~= "Sftdm-"||Left(NextMap, 5) ~= "KOTH-"||Left(NextMap, 5) ~= "RACE-"||Left(NextMap, 3) ~= "SH-"||Left(NextMap, 4) ~= "TDK-"||Left(NextMap, 3) ~= "FD-"||Left(NextMap, 3) ~= "JB-"||Left(NextMap, 4) ~= "UNF-") && InSTR(caps(NextMap),"TUTORIAL")==-1) MapCombo.AddItem(Left(NextMap, Len(NextMap) - 4), NextMap); // Get the map. NextMap = GetPlayerOwner().GetMapName(BotmatchParent.GameClass.Default.MapPrefix, NextMap, 1); // Text to see if this is the last. TestMap = NextMap; } //now filter out: MapCombo.Sort(); MapCombo.SetSelectedIndex(Max(MapCombo.FindItemIndex2(DefaultMap, True), 0)); } /* //TEST ONLY!!!!!!!! function IterateMaps(string DefaultMap) { local string Maps[8]; local string FirstMap, NextMap, TestMap; local int Selected; local int i; Maps[0]="dm-deck16][.unr"; Maps[1]="ctf-coret.unr"; Maps[2]="np19part2chico.unr"; Maps[3]="dom-sesmar.unr"; Maps[4]="as-overlord.unr"; Maps[5]="ctf-face.unr"; Maps[6]="dm-tutorial.unr"; Maps[7]="dm-deck16][.unr"; FirstMap = Maps[i]; MapCombo.Clear(); NextMap = FirstMap; while (!(FirstMap ~= TestMap)) { // Add the map. if (nextmap!="" && (Left(NextMap, 2) ~= "Dm"||Left(NextMap, 3) ~= "CTF"||Left(NextMap, 3) ~= "As-"||Left(NextMap, 4) ~= "Dom-"||Left(NextMap, 3) ~= "Sw-"||Left(NextMap, 6) ~= "Sftdm-"||Left(NextMap, 5) ~= "KOTH-"||Left(NextMap, 5) ~= "RACE-"||Left(NextMap, 3) ~= "SH-"||Left(NextMap, 4) ~= "TDK-"||Left(NextMap, 3) ~= "FD-"||Left(NextMap, 3) ~= "JB-"||Left(NextMap, 4) ~= "UNF-") && InSTR(caps(NextMap),"TUTORIAL")==-1) MapCombo.AddItem(Left(NextMap, Len(NextMap) - 4), NextMap); i++; NextMap = Maps[i]; // Text to see if this is the last. TestMap = NextMap; } //now filter out: MapCombo.Sort(); MapCombo.SetSelectedIndex(Max(MapCombo.FindItemIndex2(DefaultMap, True), 0)); } */ function AfterCreate() { BotmatchParent.Map = MapCombo.GetValue2(); BotmatchParent.ScreenshotWindow.SetMap(BotmatchParent.Map); if (NumAllies!=none) NumAllies.SetValue(string(class'MonsterSmash'.Default.NumFollowers)); if (NumMonsters!=none) NumMonsters.SetValue(string(class'MonsterSmash'.Default.NumMonsters)); } function BeforePaint(Canvas C, float X, float Y) { local int ControlWidth, ControlLeft, ControlRight; local int CenterWidth, CenterPos; ControlWidth = WinWidth/2.5; ControlLeft = (WinWidth/2 - ControlWidth)/2; ControlRight = WinWidth/2 + ControlLeft; CenterWidth = (WinWidth/4)*3; CenterPos = (WinWidth - CenterWidth)/2; MapCombo.SetSize(CenterWidth, 1); MapCombo.WinLeft = CenterPos; MapCombo.EditBoxWidth = 150; NumAllies.SetSize(CenterWidth, 1); NumAllies.WinLeft = CenterPos; NumAllies.EditBoxWidth = 50; NumMonsters.SetSize(CenterWidth, 1); NumMonsters.WinLeft = CenterPos; NumMonsters.EditBoxWidth = 50; MapListButton.AutoWidth(C); MapListButton.WinWidth = MapListButton.WinWidth; MapListButton.WinLeft = (WinWidth - MapListButton.WinWidth)/2; } function Notify(UWindowDialogControl C, byte E) { Super.Notify(C, E); switch(E) { case DE_Change: switch(C) { case MapCombo: MapChanged(); break; case NumMonsters: class'MonsterSmash'.default.NumMonsters = int(NumMonsters.GetValue()); break; case NumAllies: if (int(NumAllies.GetValue()) > 8) NumAllies.SetValue("8"); class'MonsterSmash'.default.NumFollowers = int(NumAllies.GetValue()); break; } break; case DE_Click: switch(C) { case MapListButton: GetParent(class'UWindowFramedWindow').ShowModal(Root.CreateWindow(class'MonsterMapListWindow', 0, 0, 100, 100, self)); break; } } } function MapChanged() { if (!Initialized) return; BotmatchParent.Map = MapCombo.GetValue2(); BotmatchParent.ScreenshotWindow.SetMap(BotmatchParent.Map); } D0k.|?L>|=|P?p#| ak.(|??|=|P?p#| aSl.( P#O La/!X.AbP#R#T#a/!d.mbP#R#T# h/Z ^9TDZ ?y D?DZ ?,<?,<UD?DZ ?,<YDZ ?DZ ?,duT%mpST:ZSy y ,  T%ZSy Zp0Sy U, KSUKp0SUY, JSYJp0SYpppppmZ:K.J  e1h3uB 6o/Ke&ԝXJT)yԝXԝXԝXԝXt{#U5 ^ ]chicomarineSkins.doodM ]chicomarineSkins.e]olextras.chicomarine_]olextras.chicomarinen]Heavy Trooper9],q/B6 p // =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // PongFramedWindow : Simple frame for Pong // =============================================================== class PongFramedWindow expands UMenuFramedWindow; function Created() { switch (oldskoolnewgameclientwindow(OwnerWindow).Difficulty){ Case 1: WindowTitle="PoNg - Difficulty: Medium"; break; Case 2: WindowTitle="PoNg - Difficulty: Hard"; break; Case 3: WindowTitle="PoNg - Difficulty: Near Impossible"; break; } Super.Created(); bSizable = false; SetSize(450, 225); WinLeft = (Root.WinWidth - WinWidth) / 2; WinTop = (Root.WinHeight - WinHeight) / 2; } p/q$;-::$K::$w.* .a/!f66?,66?,66?,q$:.%q!z j*// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // PongClientWindow : Routes various stuff to pong game // =============================================================== class PongClientWindow expands UWindowDialogClientWindow; var PongGame Pong; var PongController Control; var bool bPressingDown, bPressingUp; var bool bDidEnd; var string BaseTitle; var bool bHasKeyBoardFocus; //pausing... function KeyFocusEnter() { Super.KeyFocusEnter(); bHasKeyboardFocus = True; } function KeyFocusExit() { Super.KeyFocusExit(); bHasKeyboardFocus = False; } function Created(){ Control = new (none) class'PongController'; Pong=Control.Initialize(GetEntryLevel()); Pong.SoundActor=GetPlayerOwner(); BaseTitle=UWindowFramedWindow(ParentWindow).WindowTitle; switch (oldskoolnewgameclientwindow(OwnerWindow).Difficulty){ Case 0: Pong.CompPaddleMult=0.7; break; Case 1: Pong.CompPaddleMult=1; break; Case 2: Pong.CompPaddleMult=1.3; break; Case 3: Pong.CompPaddleMult=1; Pong.bHard=true; Pong.CompPaddleMult=0.7; break; } SetAcceptsFocus(); } function Close(optional bool bByParent) { Super.Close(bByParent); CancelAcceptsFocus(); Control=none; Pong.Destroy(); } function Paint(Canvas C, float X, float Y) { C.ClipX = WinWidth; C.ClipY = WinHeight; Control.PostRender(C); } function Tick(float DeltaTime){ Super.Tick(DeltaTime); if (Pong==none){ //wierd... Close(); return; } Pong.bPaused=(!bHasKeyBoardFocus||!IsActive()); if (!bHasKeyBoardFocus||!IsActive()){ bPressingDown=false; bPressingUp=false; return; } if (bPressingDown^^bPressingUp){ if (bPressingDown) Pong.DownKey(deltaTime); else Pong.UpKey(deltaTime); } if (!bDidEnd&&Pong.Ended>0){ UWindowFramedWindow(ParentWindow).WindowTitle="Game Over"; bDidEnd=true; if (GetPlayerOwner().IsA('TournamentPlayer')); TournamentPlayer(GetPlayerOwner()).PlayWinMessage(Pong.Ended==1); } UWindowFramedWindow(ParentWindow).WindowTitle=BaseTitle@"(You:"@Pong.PlayerScore@" Computer:"@Pong.ComputerScore$")"; } //down=40 //up=38 function KeyDown(int Key, float X, float Y) { Super.KeyDown (Key,X,Y); if (Key==40) bPressingDown=true; else if (Key==38) bPressingUp=true; } function KeyUp(int Key, float X, float Y) { Super.KeyUp (Key,X,Y); if (Key==40) bPressingDown=false; else if (Key==38) bPressingUp=false; } b1v1YJ @0y/D8e-'#r*Q.i&D.-'--wD*D---'&q!q!^!a/!0'-?%6w*-'&$- 'q!q!^! w*a/!K L?K  ??? ?$- 'q!h!~  a/!H.-  333? a!hw*5rr*a/!K>  ??2  ?or[ ?a?'$- 'q!h!~  - (q!}q!} z/]$jS% ]$-~( v/y g,*w.y *^%^^,2T^.y !P=^ ^\!P^:*^,2^.y !^.y \   ^,2&Z ^.y ^.y \\Z ^u DS2{U 8{r{ r*_.`a_`n .`U>-~'zr.A- -U_h %**{a{ cw*u{.w*u{.{}'{ /r%x$$r* Za/!X.Aea/!d.me |/X-h%$-"::$a>( F6-a>( dw*a*D]^DDL??^]?,^?,-3-a  D]^a  D]^ma  D]^a  D]^B=Xa  D]^X$Xa  D]^X$a( }\2\/{ E(---^{ 6D{ `?{ ? ^?{ ? ^{ ${  ^ S/G U e G a/!k,|VG oldskool.osweaponpowerup.G !NG a ,  ?G  2r.q!z /::$a/!0r..*]=w..-.N.q!z !G }'G  n2F0P D b . \  w*6u=,6u$6R=,6R=,6R$6R$6f$6f$ 6f$[w. *2w. * . E x   f ate.PP̌? 0L> =  aCreatures( 0? =  aNumber Killed( u/&%Brutes / %Gasbag /% %Krall /f %Skaarj Eggs / %Sliths / %Flies / %Tentacles /W %Pupae / %Mantas / %Fish /  %Titans /N %Skaarj Warriors / %Skaarj Troopers / %Skaarj Leaders /@ % fMercenaries / u~% fTerrans~ / u % fNali / uHy%'Evil' Naliy / % fHarmless Critters / u/H %Damage Inflicted on enemiesH /| % fDamage Inflicted on allies| / uA % fDamage TakenA / uYour Enemy Kills /h P %Kills by AlliesP / x% fAllies Deadx / u/D %ASecrets FoundppS/S /A, :  /Score /P w*r AAAccumulated Play time^Q . n //AMap Title /AAuthor /U    0L> L>  IaScore Keeper inventory not found!!! Please stop ]-[4xx1ng the code!(q  F3wzO)r.w*(fwa/!xw- w- w w (.w  W}2f\9b `6f?,6f?,T6fX6fXh H0W#= 6W#6W# W0i?5(*::$-a T::$-a u::$a B- ------------ ------ ---------' K0szD |,-o,6t@6Y?,L6t@6Y?,A C6s?%A tsP &6\?%EY\EA A EP ,+6_?%E_+EA P ,A EDP %#EA bP &stP ,\_ M// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // ScriptedHumanMessage : Used to propograte text messages. Not owned at all.. // =============================================================== class ScriptedHumanMessage expands PlayerReplicationInfo; //Uses PlayerName, TalkTexture, Score (Message Time) and TeamName (Message)..... simulated function PostBeginPlay(){ if (Level.NetMode!=nm_dedicatedServer) Enable('tick'); else Disable('tick'); } simulated function Tick (float Delta){ local TVPlayer P; if (PlayerName!=""&&Score>0&&TeamName!=""&&TalkTexture!=none){ //hack fix! if (PlayerName~="Jane") PlayerName="Chryss"; foreach allactors(class'TvPlayer',P) if (viewport(P.player)!=none) P.SayMessage(TeamName,Score,self); LifeSpan=Score+0.5; Disable('tick'); } } i // =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // AwardNotifyWindow : Notifies player when he wins awards...... // =============================================================== class AwardNotifyWindow expands UMenuFramedWindow; function Created() { Super.Created(); bSizable = false; SetSize(500, 200); WinLeft = (Root.WinWidth - WinWidth) / 2; WinTop = (Root.WinHeight - WinHeight) / 2; AwardClient(clientarea).CreateControl(class'UWindowSmallOKButton', 2, WinHeight-36, winwidth-8, 16); bleaveonscreen=true; } function Close(optional bool bByParent) { Super.Close(bByParent); Root.Console.bQuickKeyEnable = False; Root.Console.CloseUWindow(); } A0d0$ff?.  ?aw.*.D %a!X>L>&a!O>L>,a!HL>L>,a!I=L>,a!J=L> R0X/lb#t0`6c U0(U[ڄt> Y> Y> Y> YԝX> Y> Y> Y> Y> Y> Y> Y> Y> Y M$BL|c$L?p3Vex%x,0xV %?xV ?,  b[ U x?[ `  @[ _  @@[ t @[  @[ g @[ f @[ k A[ Y  r[ xV ,xV ?, ?xV ?,   [  ? [ Z @ [ e @@ [  @ [  +@ [ w J@ [  i@ [  A [  A [ o B\*rB*NOT ENOUGH PLAYERSTARTS TO SPAWN INCOMING FRIENDLY CREATURES!!!!!!!!3 Qa[ !pB B ~wQ*Qa/!gxV ?, ?xV ?,  .Q4  ?.Q4 Z @.Q4 e $@@.Q4  H@.Q4  l@.Q4 w @.Q4  @.Q4  A.Q4  A.Q4 o QxV , eQa/!H.FQmxVnQxVn{QQQ  QIQQxV `QxVa稨pppFollowerQ (V[) spawned withSQhealth.!3Failed to spawnV[!3xx%x,xV %x [ Z i0Usr Za/!X.A {a/!d.m {'r - 'Colextras.SPEnf- ((7r r Colextras.NoammoDpistol(ar K.(r x.(r r Colextras.TVPulsegun(r Colextras.TVEightball(Vr Colextras.TVtranslator(r Colextras.TvFlashlight(r Colextras.TVSearchLight($a/!Ga/!gColextras.SuperAmmoShockRifle(a/!Xa/!~a/!^a/!PColWeapons.osDispersionpowerup(r ColWeapons.ospowershield(Qr vKa/!:.%.$a/!H:.%.$a/!ya/!z.v-C!'a/!A.!._*Qa/!Sw. (::$>a/!wa/!Oa/!z(a/!x.a   %a/!]::$ja/!Pa/!^a/!Fa/!Ea/!G$&  -a/!J.a   (r. . E/ar. . l*& r. . h*& r. . &  r. . & Er. . q*& ~r. . & r. . & r. . & & r. . E. a. w ::$.  . v,.- '2 a/!h .<@@2 h ?.fff?=h  a/!S- ' w.A*.A@ q. w.m*.m@ q. a/!l 4 r. . w m r. .   r. .   r. .  7 r. r. . e  r. r. . o  r. .   r. .  : r. .   r. r. . Z  r. .   r. r. . w'a)r r  W6 ?,%  P!r 33S@ffv@&aL?aa/!ja/!bw.*h <@@h ?.fff?=h . @Faa/!nw*::$$.-'r aaa/!L w*a/!. @.#aaa/!Sa/!f. $-b#X.a/!Z. -b# I0N0p| nl. +6p?,,-W'Q (U6p?%,-n'Q (h66a?hy6p?,T?,6?,T?,?HCT6h?,T?,6!6!?, 6 ?,6B\6!B\!6 B\ 6?,6!?,6 ?,uz !~6u?%6?%?6aX?,6X!6!?, 6 ?,6B\6!B\!6 B\ 6?,6!?,6 ?,uz !~'~pu#y6u?%6?%?6aXh?,6Xh!6!?, 6 ?,6B\6!B\!6 B\ 6?,6!?,6 ?,uz !~'y~pu#Y6pT?,6T?,?T6hT?,6!6!?, 6 ?,6Ba6!Ba!6 Ba 6?,6!?,6 ?,uz !~6u?%6?%?6aK?,6K!6!?, 6 ?,6Ba6!Ba!6 Ba 6?,6!?,6 ?,uz !~'~pu#Y6u?%6?%?6aKh?,6Kh!6!?, 6 ?,6Ba6!Ba!6 Ba 6?,6!?,6 ?,uz !~'Y~pu#!# #6u?%-d'6p?,?% ?a?,666 ?P 6p?,?,d!?a?,d6?,6B6!?uz !u~ 6u?%pQ (~~pQ Q  #<~Q F} uի?,FFX' ] // =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvCoopFact : More stuff for direct-query gametype // =============================================================== class TvCoopFact expands UBrowserGSpyFact; function Query(optional bool bBySuperset, optional bool bInitial) { Super(UBrowserServerListFactory).Query(bBySuperset, bInitial); Link = GetPlayerOwner().GetEntryLevel().Spawn(class'Tvcooplink'); Link.MasterServerAddress = MasterServerAddress; Link.MasterServerTCPPort = MasterServerTCPPort; Link.Region = Region; Link.MasterServerTimeout = MasterServerTimeout; Link.GameName = GameName; Link.OwnerFactory = Self; Link.Start(); } `0uZ0POS ]0%{v"> Y١١١١١١١S ) W4nS - -(-U (-Z (Q{.p P// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVCoopLink : Uplink that sends query for specific gametype // =============================================================== class TVCoopLink expands UBrowserGSpyLink; // States state FoundSecretState { Begin: Enable('Tick'); SendBufferedData("\\list\\\\gamename\\"$GameName$"\\gametype\\tvcoop\\final\\"); WaitFor("ip\\", 30, NextIP); } a |%$ ,::$a wx::$::$Botpack.TBoss -K@get ini:Engine.Engine.AudioDevice Use3dHardware Y/nM8j -'n$:n,5r:nC*w`r:nC :nC wr:nC r:nC :nC wwr:nC :nC ewr:nC :nC ow$r:nC :nC 5wOr:nC :nC qwwr:nC :nC hn_:nw*!{\=-G'::$-G(-U-]'-G-]' U"B#$U"B#   G4|w*16|6|6|6| ^4m,C ag b~.m,\Y" `w~*~~Y" i// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVJet : ACtual jet that flies. realistic air resistance/rolling/whatever. // er.. supposed to be, but not enough time to code. Oh well; I got this far :p // =============================================================== class TVJet expands TVVehicle; d/Y]3- - -w.*-  a4A} #6A?%#??6A?,d#6A?,T?,6H6Hq=hXh?,6AH6AT?,6H?6Hq=hKh?,6AH76A?,d6HXG6HK}6A6Hh?,##? c/f xrH .<zf <(rH * H ef H Q f H Kf H -Jf -H |f  HV// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvTimesScroller : scroll support for times // =============================================================== class TvTimesScroller expands UWindowScrollingDialogClient; b0}dZm=/a0 }:9w.}*}G10 G// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVDynLightWarning : Warning about dyanmic lighting // =============================================================== class TVDynLightWarning expands TVFogWarning; function created(){ super(UWindowFramedWindow).created(); bStatusBar = False; //bleaveonscreen=true; bSizable = False; Box=MessageBox("WARNING","Operation: Na Pali has detected that Dynamic Lighting is disabled. Without Dynamic Lighting, Operation: Na Pali WILL NOT BE PLAYABLE! \\nEnable Dynamic Lighting?\\n Note: This message will not appear again.", MB_YesNo, MR_No, MR_None); box.bleaveonscreen=true; } function MessageBoxDone(UWindowMessageBox W, MessageBoxResult Result) //idiot wants to disable oldskool. { if(Result == MR_Yes) { switch(W) { case Box: GetPlayerOwner().ConsoleCommand( "set ini:Engine.Engine.ViewportManager NoDynamicLights false" ); close(); break; } } if (Result == MR_No){ switch(W) { case Box: bnofog=true; Saveconfig(); close(); } } }  5t4$R, aL?(  p0{U!-cP*c* q0-Y--u(#BHB#?Y-M  ?6?w?6?-n#KKXX?,f r0c,`i.:T% Kc,u8K?%Kk6k?,ak?@ak?@6K?,@(6?,KK@?,(K?,,6? G66h6?%ի?,##]a/!0.] R |]a | B// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // NonBuggyViewSpot : A viewspot (by beppo) without the annoying bugs! // =============================================================== class NonBuggyViewSpot expands Info; var() float ViewFOV; var() bool bSwitchToBehindView; var playerpawn oInst; var float oFOV; var bool bActive; function SetViewOfPlayer() { if (oInst.ViewTarget != Self) { oInst.ViewTarget = Self; oFOV = oInst.DesiredFOV; oInst.DesiredFOV = ViewFOV; oInst.bBehindView = bSwitchToBehindView; } } function ResetViewOfPlayer() { if (oInst.ViewTarget == Self) { oInst.DesiredFOV = oFOV; oInst.bBehindView = False; oInst.ViewTarget = None; } oInst = None; } function Tick (float DeltaTime) { if (oInst == None || oInst.Health <= 0) { Disable('Tick'); if (oInst!=none) oInst.ViewTarget = None; bActive = False; } else if (oinst.ViewTarget==none||!oInst.ViewTarget.IsA('Projectile')) SetViewOfPlayer(); } function Trigger( Actor other, Pawn EventInstigator ) { if (!bActive && EventInstigator.IsA('PlayerPawn')) { if ( oInst != None ) { ResetViewOfPlayer(); } oInst = PlayerPawn(EventInstigator); if ( oInst != None ) { Enable('Tick'); // SetViewOfPlayer(); bActive = True; } } } function UnTrigger( Actor other, Pawn EventInstigator ) { if (bActive) { Disable('Tick'); ResetViewOfPlayer(); bActive = False; } } function PostBeginPlay(){ Disable('Tick'); } W5e,@B aae,ra* a-'a wO ~aa/!yrO *O aa gO O a/!0al s0b,b2:T% Kb,uGK?,dhKBhl6l?,al?@al?@6Kh?,B?,O6?,d,KKB?,,OK?,d,,6? G666?%ի?,#?#?]a/!0.] R |]a | So4P"C A_-::$::$r*w%*a/!Pa!l(- a! b[-'a ף=(   sha/!!` O #==P"aL"M"O#CO(rP"*~*X* a L"a+PM"-N"6-6-(p-::$-%{I ` A#==wI XXI rI *~*rI *xI ~I 6--N"]-::$-s v0\,H 6+-M -d'6?% ymq6?,T?,mn6y6y6y?%?6n?,6@yի?,y#?#?n?6n?,d,6B?,yի?,y##HN 6m?&n?,T?,6mh?,Bh-m"N X-l"N X #qX\,uN -m"6?,\?@\?@6X?,@6?,XX@?,X?,,6? G66S6?%ի?,##]a/!0.] R |]a |))-l"6?,)\?@\?@6Xh?,B?,6?,d,XXB?,,X?,d,,6? G666?%ի?,#?#?]a/!0.] R |)]a | B1HKvB6z0lXt~x TD$?x0XxuWX !TONNFLOOR +XIPTH 4XPTH AEBFLOOR3 OTONNFLOOR \SWINDO2M iMMCRATE3 uMFLOORZ FLOOR4 MFLOORX MFLOORY MMCRATE2 MCMETL RUSTPL2 PIPE3 IRNWALL2 NONDETGR8 INXGRID MTL-BMPS2 RUSTEEL1 FLRWKA WARN (PBLOOD5 4WALLWKD wBS_1X.ONPFootSteps.FS_METAL_1  SHFLOOR01 GROUND1 DMGROUND1 MORTER1 MORTER2 DIRTNEW DIRT_SU2 DIRT1 DIRT2 MSROCK3 VOLCANICGRPATH1 VOLCANICGROUND1 (TRANSITION2 3BASIC1 >BASIC2 JABASIC4 DMGRAS2X.ONPFootSteps.FS_GRAVEL_1  DMGRA EZGRASS DMGRAS GRASSX.ONPFootSteps.FS_GRASS_1  QBS2 SCARPET3 GCLTH2 "GCLTH3 -GCLTH5 :RUG-BLU2 FRUG-BLU SRUG-REND RUG-RUGX.ONPFootSteps.FS_STUFF_1  OQ_WL2 MUD2X.ONPFootSteps.FS_MUD_1  AA_BS JEBWLG1 JEBWLG2 T-GRATE DMESH3M +DMESH1M 6METAL4 BMETWALL OGRATE3-M YRUST2 fBASEIRM3 sMIRONFX2 MIRONFX MFLOOR GIRDERM3 IRONWALX GIRDR2M MGR8MS3 I-BEAM FENCE1 TRIM1NEW BLOOD6 HULLRIB1 ?SLOTTED3X.ONPFootSteps.FS_METAL2_1  IWOOD1 TWOOD2A _T-WOOD kT-WOOD2 vWOODF2 SKYWOODV ROTWOOD2 U_BOX1 WOODMAI3 HASH-ICE-3 DECKRF1 DECKSM1 BOARDS1BX.ONPFootSteps.FS_ON-WOOD_1  %OLDFLOR2 1COBBLE2 CONCRETEBASEX.ONPFootSteps.FS_CONCRETE_1  PAVEBASE SANDMRTR2X.ONPFootSteps.FS_SAND_1  AZ-FLOOR FLOOR1 FLOOR2 FLOOR2B FLOOR2B2 FLOOR2J2 (CHESSB1 4CHESSB2 @COBBLE2 LSFLOORA YSFLOORA2 fSFLOORA3 rSFLOORB SFLOORB2 SFLOORB3 SFLOORC SFLOORC2 SFLOORC3 SFLOORC4X.ONPFootSteps.fs_stein_1   I1pzOm Q:%p-2:&p-3:,p-3:,p-+p-::$Dp-.::$::$*hp*SaM.ppp p wS*SpSpS0ap-p- p-S-p-S-p-SappS x  " " ""*"~0E@ ^5t".Af-'V  v". ?'9. au"t"v" 'Ma b!u"t"?,(.bM-Pa/!0r..*MMR-[  MC???, drM*q!o  `/o p--?%*Ja/!0 |a/!2:. &*OlwO*UO-Oa/!SOa/!fOa/!NOa/!U+Oa/!.O#O-O-OO}# OhwO*QO-Oa/!SOa/!fOa/!NOa/!U+Oa/!.O#O-O-OO}#  K!wM*Ma-( x  " " ""*s*"غ0aJ@W// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // NoWeaponSkaarjTrooper : Quick hack so no bisplayer crap... for weaponless skaarj // =============================================================== class NoWeaponSkaarjTrooper expands SkaarjTrooper; auto state Startup { function BeginState() { Super(ScriptedPawn).BeginState(); } } h5{].*  {0N~.CrN*k$d$@:d,:dv*d\ VN\ \ }\ &%vNd$:d,:dv.p\ S:d& 'r:dv*d{kd-}" d$K:k&d=:ki =:kK:i :di C<=:i &<ka/!z:k%. . . .  . :dv. :i v a/!m:k%. . . .  . :dv. :i v  m/M-(-(-(-(-(-(- (-(-(-(- (-(-(- (-(-(-(-(  @F  @F - ( - ( M1G1Kr ?a %a ,wa `  *l%sl,lK a `  l4Ka `   a r` * K` l%l,lK ` l x  " " ""*@*"0Q@i/B6~ Sp>*q  -s  w *-s 'Ba ~ BJBaz~ ~ b ~ &{~  p ~ ( p ?Restart( g/;-w.*P- :.%8Y - :.%8M q!8; I$S1R,]IL%R" )I$R,ltla/!]+la/!.l# la/!d w. l* e R" ) ) \ l ) , A )P ~-` ek lpWonlq!yl a(olDefeated!-`oppo SkeMonsters Remaining!wo(!] 0g k l j r s n { | y o q p G L M N P x ] w z e  p z ~ B D @ C E L F !H P N $I S &V 'W (Q )d Z +y ,\ - .D?0  !"#$%&'()*+,-./055?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?B*@PA C#^Ar CFnAY2 CpA: Cuվ҈A C:=఑Aa C?RHAs C1?QA Cȏ?䃩A Ca?WApt Cx @JA@O C@NAP7 C@X`A. C@NAP7 Cx @JA?O Ca?WApt Cŏ?ラA C1?QA C?RHAs C)=߰Aa Csվ҈A CpA: CFnAY2 C#^A r C=>L>>>>>??*?;?L?]?n?????""??33??DD?>?? ?>в406?5X†q?mw6m>5(l?nD6WC=5֋g?@6Hz@5`?6[J5ȧ Z?6I5g;S?96PD5/yL?6 D5[&F?6SRG5/B@?Z6G5풞A;?l6TE5"Z7?d6D5=3?l6TE5"Z7?Z6G5풞A;?6SRG5/B@?6 D5[&F?96PD5/yL?6I5g;S?6[J5ȧ Z?@6Hz@5`?nD6WC=5֋g?mw6m>5(l?A6 S7=>L>>>>>??*?L?n?????""??33??DD?>l1*46h?144N?o9142?)R1Zx3i?* 2,?J <3s%?& %12uVc?\]1p2ǻ?CBv)9?m6G;?6<?dS>ydւ@'zӂ@:y'gDт@xN6ׇ΂@zIbd̂@2M҂h˂@=v3Wʂ@:Tʂ@L>>>>>??*?;?L?]?n?????""??33??DD?\=v<>YTu?E=[<Ճ>v?͖=~w? ==^#y?l=I0Kz?i=-<` 2>A|?=M+;Y>E|?(=9=}?D=F*޺.=o}?=vS =AG~?̘=c=Uq~?i=w<@=T~?̘=d=Uq~?=vS =AG~?D=F*޺.=o}?'=9=}?=M+;Y>E|?0=^;h>A|?i=-<_ 2>Kz? ==^#y?̖=}w?C=[<Ճ>v?h>A>ΞI;?AJM;AAG良 R;sCAU;[EAIY;YGAX\;HIA^;KAʴL`;LA$~>ia;+NAga;;OAb;OAub;6PA;b;OAb;;OACb;+NAga;LA0z>ka;KAŴL`;HIA^;RGAK,Z\;\EAaY;sCAU;AAG良 R;?AXM;=>L>>>>>??*?;?L?]?n?????""??33??DD?屦5Tgz?A rl lэ'=5?2@旻3fu!RX|?$b:ꕽ|? oлl;r}?:S9lNZs}?JJk v}?(Ma9м}?IW;`^i*~?qk }?AD;<;}?FF9c;@ <"7}?M̛ߺ7Y/}?é}?OBsѻ}?B4[|?2XDƚ|?܋@v5'4=>L>>>>>??*?;?L?]?n?????""??33??DD?iw0}K[?fAr5@ h$WR>;=^6;P@yxWnu<\I?RmI?`g} J? S8Z-J?Eg;w2J?K8L>>>>>??*?;?L?]?n?????""??33??DD?2* ^?=O?0Rñ]?P?fп2~K0??iQ?NO 3?=R? Z3?$S?E21?OS?AA2~?wT?,P3 m ?{cU?[V{ ?V?֎5BN ?V?p } ?V?2z A3 ?#W?2F ?4W?%:e2| ?nW? )f18 ?SV?r ?qV?=^3Q3 ?U?Iq2ٲ| ?XU? X3^8'?%T?2-?S?9U(=~s?S?T2?!GR?323?rQ?֛2`ٲ@V?ĤP?ABk.l5=>L>>>>>??*?;?L?]?n?????""??33??DD?9 | }!}߽F4={}ʽBIi=D}Mv=~'Qi =oW~RfU6=K~pYO=~ORH\=~4_ =~ 5a =~vb=B~Hc؀=~@Ob=~A2_`Z*=~Qs]#=~vYn=L~ԐuU5=(~ QƲ=}-BL=F}:ؽH=?|8]Cr=?p|b?=!Bk6=>L>>>>>??*?;?L?]?n?????""??33??DD?J} w>>?-g_@:zB821uV7'3*2Y}?8AM8E˵ﭳn73:{?8Aj7 %6.ׄ1 1?[?/:ٵTs7=2v?eA0W'z$@5@r4M15?b B9>>c$?ͮR;=&Y;PQ>ķ>ׄQ>J?>> W>خK?%>>^>L?;>>se>M?~>>E+m>FN? >>t>(P?>±>{>Q?>ର>.>|Q?YM>z>>R?>-ܮ>+W>_S?r>?>a0>S?>>]>T?Y>>ʼn> T?k>>>U>5S?>ڮ>> S?>T>@>R?n>>Ѓ>(TR?<>]>U>Q?> >@O{>P?>>Gt>oO?K9>>Gl>N?[t>>e>M?%{>c>Jf^>؛L?&>'">AW>K?$=AKhE=>L>>>>>??*?;?L?]?n?????""??33??DD?o:1?I?&YU7?J?0!3[1hE?J?BO䷳_?FuK??M?J$3?yL>>>>>??*?;?L?]?n?????""??33??DD?8h>|<?X05>,!=?3T>xKP=0 ?,2>m=KJ ?&0>֖=%u ?`#/>=5 ?޹- >== ?s,I>)F=d?`^+f>^=?*x>=2?F)>tJ=~?V)>4=?**>|I=?*V>F*=u?+E>l=i?\-a>]j= ?f/>Ѯ=[ ?0>LŔ=Z ?Q2>ɛr=T ?jc4>Y:=?65>|=?7>G<?!B `d=>L>>>>>??*?;?L?]?n?????""??33??DD?Tms=b?Hg_@@@"2p?1W[%0}?0@Ţ|6]lp?B@$q7-6SnG3@3}. {ùo9@6N-p?LYA|>M7>X11X?8ARIcнc0\?8A$~0h9[?95ն>iB?^># ?/AR@]~AX\8cxY<3A&~5?cL5? O9lK;+l*S쳾ekQ,=F̷j=.4:aAj"lpّisb轹9þhY4X㽝ƾOh(޽ɾJgyٽ˾JgV5}սR;WfzeҽyϾf$fн%}ϾfJRϽ~Ͼf$fн;lfeҽ˾JgV5}սuɾRgyٽÔƾOh)޽9þhY4X%ߔiM1cAj"ip̷j=.4S쳾ekQ,=Fk;+l*@rA䪆|@rAO@sA-!T@rAq@sAtu@sA[f! @sAXlc#@sAhLo%@sAA; (@sA9)@sA>4*@sAH2\+@sA>4*@sA9)@sAA; (@sAhLg%@sAXfc#@sA[f! @sAtv@rAq@sA-!T@rAO@sAܪ|@rA=>L>>>>>??*?;?L?]?n?????""??33??DD?7"1rz26>gk?߶7\&2>k?*Y3Q>0j?Z1g2D> 0j?d1jFm>9i?K}>]i?)md|3>i?RQMe#Xp>h?iÑ>Woh?T1eWt>:h?x:v+>h?{5M0~>g?AZ1/~>g?ViM3>h?T1eWt>:h?z9A3>\oh?(F2̲xp>h?)md|3>i?;}>z]i?'W&,_> 0j?*Y3Q>0j?DzW۴>k?ivB\#a6=>L>>>>>??*?;?]?n?????""??33??DD?<=!ͽd}?<=˽z}?w=å_~?o==󲧽 W~? =8=H~?= ={m6~?N==g䲽~?R<=b}Z~?ڣ<]=}?^<=|B}?΁L>>>>>??*?;?L?]?n?????""??33??DD?v2 255?AA雵9m3BFK3CAǘp25 vF B>Yg=0Dv!A>=Z>v@>rq>\'u>>>G2AOu#=>>M;=+t|<>>FGJtiZ;> >PsM:>ua >įXUs^9> >_ rΖ8>K>Rd6r7>AO> hlrH7>V> 7iYrx7>/> hlrO7>J>d1r7>SO>_ rΖ8>K>"XUs^9>& >BPsM:>a >FGJtiZ;> >;='t|<>>U2@Ou=>>\'u>>>Z>v@>rq>vDv!A>=@l㪆k~@lQ@k-U@ls@kt @kZf @kXe#@kiL%@kA (@k9)@k?41*@kG2+@k?49*@k9)@kA (@kiL%@kXd#@kZf @kt@ls@k-U@lQ@k۪d~@l=>L>>>>>??*?;?L?]?n?????""??33??DD?C1>|n?LL 1s>0:m? Bݱf>6^l?Np1"$>xk?OF$3i>j?q ;K3g3>Ci?<@3P#>h? /2.>h?oW2m\3>7vg?gf?Pߍ2Gְ_>f?13>JAf?1FȲu%>*f? \w>OAf?2H۲>f?gf?T(3aG1ļ>.vg?Cűrg2>h?<@3P#>h?uLM3>:i?v"D]b>‘j?Np1"$>xk? Bݱf>6^l? i329s>):m?ivB55=>L>>>>>??*?;?L?]?n?????""??33??DD?Y 1Cs?q޼T@s?ڼ\MDs?㼽1邾@Ms?1%IeZs?7ʁjs?H#"|s?kwf$xs?]ǩs?sʽ L~s?佽O~Qs?hʽO~s?]ǩs?gwfxs?H"|s?7ʁjs?))IeZs?㼽$邾BMs?ڼ\MDs?q޼T@s?]j&9@s?}B6L6>L>>>>>??*?]?n?????""??33??DD?=~B055?AA#6<+[ ?CA2Z5Nѵ?0  !"#$%&'()*+,-./055?4q5?45?[3k6?36?O2u7?27?1Kl8?18?009?Pw0u9?H0q9?70*9?H0p9?Pw0u9?009?18?1Kl8?27?O2u7?36?[3k6?45?4q5?T?qAE%CM>A C|>]A+Cä́>AgC;V&>"AX!Cx#=ABA -B4XAMBԌGA:B-хhAB1ABOA_BbANBOA_B1AB-хhABьGA:B:WALBA -B|#=AB;V&>$AX!Cä́>AgC}>_A+CK>A C=>L>>>>>??*?;?L?]?n?????""??33??DD?>?? ?>SCq6UQ572|?`G60j5f3d |?6WZ5ٸ4I{?6)R5i"6{?6aK57{?6JW5 9{?6`J5u:Z{?6Bf5;{?R61j\5M<{?V6iW5=x{?S6Y5>&{?6c5f?|{?S6Y5>&{?V6iW5=x{?:6.Cd5K<{?6Bf5;{?6`J5u:Z{?6JW5 9{?6S57{?6)R5i"6{?6WZ5ٸ4I{?6I_5f3c |?8AyHU7=>L>>>>>??*?L?n?????""??33??DD?ǰO5a y?o5"Tjz?ѰmZ5E-{?`6/5R5{?<01+?4@%|?h@2y46I}?EP4"}?裁4sO~?V2F4Ͻ~?1z4y丽b~?=J 0q4+3;%?cf[4ΛB?^1bK40ƗK?`34ΛB?=J 0q4+3;%?1z4y丽b~?ڈ4Ͻ~?\Q4sO~?EP4"}?h@2y46I}??2 ^5@%|?`6/5R5{?ѰmZ5E-{?@4V<5"Tjz? @N̍4@嶥f㣴@Чf7/3s@𩼒?4@ޫTk4@ӧ'4~@894N@E@an#@X%'D3a@۲@@ 4@LVj@7+شa@۲@X%'D3@աN@3~@894@Y$4@dثms@𩼒?4@fȧ2@j=>L>>>>>??*?;?L?]?n?????""??33??DD?1 #Yf>Qpy?}; xM:ZT>oz?؍; :j/@>r{?"j|?M%2J}?%d%<?C<<B<? <Պ<4%<?<9f<=?K<<E=;?]< ;٢=hj?V<;k=?<;Qi=~?%dJ}?"j|?؍; :j/@>r{?C~;zM:ZT>oz?BAl5ODA*W8FA<G_9GAP9IAE|9 LA𷼂 :NA꯹ͣE:OAh:QAl综P:SAe:TA꼼:TACM:UA< :TAz:!TAox:SAe:QAkX:OA# ,Bh:NA꯹ͣE:LA+ :IA9GAP9FABEQ_9QDAC8=>L>>>>>??*?;?L?]?n?????""??33??DD?%s/4~?k49o}?1:"4#Mr}?x <4T!}?Py2x4!|?X2h4z:(|?25 9/g9|?9 4u6r{?5={?J5dDj?{?93[5;IUz?.+3V5-Mz?AK25qWNz?,|%5Lmz?Z=5"H{?p2gl 5BP{?_M'5;${? ߲_4 \4p{?V264[,FU|?=!`5%Y|?24>|?ıO4|3}?Hw4.}}?E+4[}? Aꗻ5:A^~aA쳃AIAΔ%,6͝ADD5AmԲBA𒻬o2A*%"5PAvH#5jAhuA"5~ArsavA-IfAݲ5GAa[s5'AG5A DA|qÝA.s=5A'4AKWAז>)0A9Lyڵ=>L>>>>>??*?;?L?]?n?????""??33??DD?CA2i/=m~?Y"22톴 =l~?-4=7~?1#cL>}?ܔ-bδ / >}?Aش">?J}?Rb|n>A|?0o%>|?2c״->G|?m"3 5>{?> `!;>{?K6?>w{?1r1A> g{?g02uWX?>}{?2G:>{?$ ?%3>q|? 1&#+>_|?1µI">z|?cY䴱>H}?2촟>f}?$1NiS >}? ʹh>}?2gȠ$=pC~?m寴>=a~?0@ϺI\k3/@'󕻇^4.@]픻N4.@m+e?4-@rb,@T-*4,@m+@r24.+@Ԋ?j5*@\P{49*@@>4)@ %侴)@@ Xn4*@^&A*@gm\ 4*@)gȚY+@dz ,@",@@\k7-@]p4-@P Vr.@h%:/@dE4 0@(V }=>L>>>>>??*?;?L?]?n?????""??33??DD?K.rM;1=W ?BRL>>>>>??*?;?L?]?n?????""??33??DD?VhgK?jAA 5!6O'$>\"=<'>==M'o%>'<0=8&B+>H<ױJ=&0><句=%>>k< =C%C>YH&< R=$SK> <>= $+M>W;|=p$gbN>;:=$XM>;ܲ=I$J> <=N%sF>.<;=Z%VB>Q<|=%jR=>lu<2ނ=d&3>޲&.>b<[=\')>x<)D=Z'N$>< -=1':^>D='=67;P@=>L>>>>>??*?;?L?]?n?????""??33??DD?m"=XB?."g=ǬB?Јke! >pB?qZn ¹>BSC?LZ!>C?9.iWN,> D?>?3>D?8>IkE?6+Vl;>l+F?㼩o<>F?SۼHW<>'G?ܼyHf:>l+H?E*7>7>:H?f/8 3>/H?iu 8,>sH?t+J%m">H?;jK>H?jea >H?ꆂ{m#>-G?YVm>A)G?#=5F?g =J=1E?W7 :=p+D?綠"!߂=2C?$=A~076]6=>L>>>>>??*?;?L?]?n?????""??33??DD?tŠ2B'?HuA?E31$?FC?:fO2h!?F?Z3]?-#I?;2 1 ?MK?:I3?;L?6j0g3?.M?U2A2?wL?ɲ3X-?K?'j 2?0J?dY?[H?S:1!?,wF?B1d#?&D? x3&?lB?c3y*2(?.@?90c62,I,?Y=??01;@1/?:? 2Lt2?n7?I0_^u3?ϐ6?$k2-U2?67?b1r.2*1?|8?311.?P:?m%2M,?U=?)%2殺 )?ĝ??CBAMR,=>L>>>>>??*?;?L?]?n?????""??33??DD?~|`? <~hZC+7=~ܰ J%9=ͽ~睽>`=ҧ~K h=C~Q=U~Bᗽ ="~yI׭=}Z7'Ss=;}9=i}fŽQL6*=X6} Dҽd ^ ==\}sݽUm|*=|x*=|ˎ=|ニ=b|"\ Bt=j|LW N=|x {1= }PxB=z}8`=}z$DLG=7~Dٽ^':<؆~SǽC Q<!BJ54=>L>>>>>??*?;?L?]?n?????""??33??DD?J| w>>\?;g_@?8²_g2uVk7y6MG2jr?8A1(5בp0ұ:{?8A!18?[?BRb5jN̽=f =_|?eA)W'$@5 1N5?b B7>w>,?8;|<,? 9= 8+?s&Jn9#=]*? ',9(>=g)?Cw1@!:kW=;(?$6p:mn= (?::=M'?s?:A=&?ED#;\֙=~%?@HY;b=C>%?K;5=W$?M;<߲=҆$?lN\;Y =$?WXM;ܲ=5$?JX;ޮ=j%?G8;`=1&?3B;= '?^=H;Ѧ='?8 :~=(?R4ԫ: g=my)?/O::Q=S*?*99,8=0+?̌% 9=> ,?P1 @9 =kë6_;P=>L>>>>>??*?;?L?]?n?????""??33??DD?ңz>F>>c?s>>ʇ'> d?n4l>`>WK1>6d?hd>%>;>Yd?\>^V>E>rd?sT>߃>;O>d?M>f>ĀY>td?UF>c>vb>o|d?@>>/:k>rd?O;>4>.r>ed?U6>8>oy>pXd? 3>ꆫ>&~>'Nd?,@2>t>Z>_Jd?x}2>1><^>qOd?4>'(>P}>5\d?8>>ћw>ld?@>>>fo>U|d?cAE>>me>.d?cL>y> \>d?aS> >Q>,d?[>>SG>Q{d?c>><>ad?k>>B 2>Y>'>zd?&=AfT85=>L>>>>>??*?;?L?]?n?????""??33??DD?|q<^2f.=?x,?Z-2L>>>>>??*?;?L?]?n?????""??33??DD?>{*<>ӯ#=%)?}*I>=G?*g> =q?*.><?M*>ϯ<?[*><$?;*> G<?)> =[t?\)C>f=?O )H>,=^?( >==I?=}(>M=k?D(>]=C?(p>q=ڐ?'Hs>C8=x5?K'>Ġ=?D'-D>#=?8(>؅=B?I(X>{=?)y>g=?ߒ)S>FO=Ω? *)>W8=s?!BEu6>6=>L>>>>>??*?;?L?]?n?????""??33??DD?Tls=V?.g_@5@Os2W[%0}?*@6mڵޕ2Sݲlp?B@FW6''6Q,2w}0@+55ù9@6M-p?KYA|>7>&L?1X?8A0!47P7\?8AB3$尸X]2[?b.6>iB?^># ?/AR@V~AƬ>Yx=3A&Μ~5? Y2A25? :4PsٽbܽuyPXfٽ۽&POٽ\a۽8FOؽڽ'MN8Nؽwڽ2M׽ٽ[MH׽X|ٽt{LB2׽ٽ&ٿ@wA~/`@wA~@xAy@xA=>L>>>>>??*?;?L?]?n?????""??33??DD?FQ㲯?$Z?k B?@Y?@{PA?Y?532 N?(Y?1T @?X?=3 Y:?LX?(9332 ?W?1q / ?W? QW޹ ?T'W?̙21- ?gV?o2=c ?V?R22L ?}V?VP03 3d ?}V?o2=c ?V?̙21- ?gV? QW޹ ?T'W?Woށ2/ ?W?(9332 ?W?2LDa39?LX?¥2+2@?ںX?532 N?(Y?1ƲA?Y?޵1+ B??Y?ivBx1 6_O6=>L>>>>>??*?;?]?n?????""??33??DD?0=rר=;W}?G'=4ԧ=cK"V}?.=9=1佗\}?j=I=r^c}?R==@i}?f<=? p}?<#=罜u}?0L>>>>>??*?;?]?n?????""??33??DD?l@'55?AAioX"{2CAK+f<6=ɾu_)y>1u>Cnʾ_0y>N>49˾_y>!>̾a]_y>>r̾*_-z>>;-^'z>a{>Oξm^Jz>>>_Ͼ^lz>>I оcq^z>>şо+O^Qz>O>=Ѿ4^$z>v>eXѾ#^z>\>qѾ^|z>T>eXѾ#^z>\>=Ѿ4^$z>v>şо+O^Qz>O>I оdq^z>>_Ͼ^lz>>Oξm^Jz>>>;-^'z>a{>r̾*_/z>>̾a]_y>>49˾_y>!>Enʾ_)y>N>Oj@gL@e~v@g~`@g M~ڿ@g~R@g}ݾ@g~}-@fC}C@fI}"E@ed|T @eZ|@gm|@f_|@fd|T @eI}"E@eC}C@f~}7@f}ݾ@g~R@gM~ ڿ@e~`@g~~@gG@g=>L>>>>>??*?;?L?]?n?????""??33??DD?2^2Vj2?vS?#@20$?n>S?~F5U?FR?r)ıO_?x7R?\2J/3?lQ? 3.+?Q?̎2Hg?:P?*X21?P?UF2n1N?O?G5-3s:?2IO?2J1ȟ?N?3 ?GN?9/D2?HN?2J1ȟ?N?G5-3s:?2IO?UF2n1N?O?2)V?P?̎2Hg?:P?[1j@?Q?ۣ1bnx3?lQ?r)ıO_?x7R?Og3U?GR?:X3&?l>S?ivB ͵H6=>L>>>>>??*?;?]?n?????""??33??DD?Zj¼E q?ѼJ 2iq?nPq US*q?wgq ;p?n}{ ҝp?v <\RUp?(`p?/ޢgo?%{^Dߎo?K, ۤS[o?a0̎Y3o?a4o?f4o?a0̎Y3o?K, ۤS[o?%{^Dߎo?/ޢgo?(`p?y =\RUp?u~{ ҝp?wgq ;p?oPq UT*q?ѼJ 4iq?}BwonH6=>L>>>>>??*?;?]?n?????""??33??DD?Zs2ws255?AA`+3ٱp7*?CAR/3>0  !"#$%&'()*+,-./055?55?55?55?55?55?55?55?55?55?55?55?55?55?N?hA CYXO@!:Aݓ C^@dA* C@WA C^@A* Cg@A* C?A* CH>dA* C^@ C===>*>L>n>>>>>>>>?? ?> rT:3:xLͫ?T:xM߬?pU:5^oXl?>LU:(:6t?vU:vmqΘNI?`U:-@c^?m0U:SyzyN?U:v^~oXl?U:v^~oXl?K[:9vU?U:v^~oXl?q'4:x8h?:qE~?Q9> 艽h?AyS\7===>*>L>n>>>>>>>&I<?;!\?ɠ1^9;}h?:7t ?:Ml?]l ;ARk?]밼S+;&?ɠ/^9;oh?h3:?Ă@=5ظ˂@d:_Ԃ@(Aci҂@L͂@ᐺDɂ@h===>*>L>n>>>>>>>Jg4#>{?% SJ>ML{?P8 魽= z? =z?N8 魽= z?Y0=ez?Fy5u=z?O8 魽޺= z?4Hc)+>4 }?5‹|x>q|?P8 魽ߺ= z? b~>Az?{  [>-{?r <> o{?TKAKA[հJAJ@kJA;U\JA཰`kJAWŻKAhRϻJA_`jPJA-*JAg0q.JACoJA˻JAB诼#ûJA;>e===>*>L>n>>>>>>>=1uЦ4NoĽ~?|A2㙻]51TR=Ɣ~?0@I=W 1~v?N=l>-LVu?O=Vz>zt??=֟>'Jjq?V=3>dyUn?фp=i>\br?wM;G:鍯zp? <孳=Tat?p=:kC>xYt?=O$>K v?=S=0Lx?!+=D>*>L>n>>>>>>>ʘ0#/1?fAhl K6/>vEZ 1$J=6RA<#+h=7<=+=j<_=#+h=7<=#+h=7<=+=E<Ê=#+h=7<=g(MS=>E>=g$U=RAޚ</>vE_ 47;P@===>*>L>n>>>>>>>Qd׾Ɋ>0K?۽>e8?A=_?`#?5={??=  ?1"?=B $7?eR$?+= %?r4%?!JM=uEr?!?gݼXqI>4?W|=>>S5?zF=Oh?4!?U >g,?IbGм>S=?CtPE|hI\?%=A0C߶5===>*>L>n>>>>>>>2 9^2"> l?]Q1aSR>z?+}H_j3=@E?F363CB>v?'Wg25?\?~SP`2X ?W?2k 8 ?@W?^21J?\\?'/2Rg-?Sd%a?,.2(!>?Ji?αpg ?G?<BH=쉷===>*>L>n>>>>>>>O?U&輽eaC?&?* >F:?A$?>0?\E?㽺=uK?U>N2P?pl>tf%āAM?Lv>VSK?]?jB|-}üH?`?gRC?pV?oŃC?`?_QC?ZJ ?˽7=OE?ɊM?~T7\?ɊM?T7\?!B@6G===>*>L>n>>>>>>> jR' u>jR'!u>8G^;>mV3-^lcI4 5M04V?UC<>8Gs;>8G;>BJ<>L !Ѿ<>PǾ'7|>?Rg_@9 =>*>L>n>>>>>>\FF1D=?Q11D=?m+p9J޽zz~?-/KÂMv??ݲ#1Mv?6@E6#T5>>>>`2Г'LXz?fq~.Ὠr~?а182?1; ޽zz~?2e'LYz?2 Svz?C;2i'LXz?i?63&G1'LXz?B@'b5===>*>L>>'N0?@X[ b6 eʨ=۾f?nT=t? |}=XTK|?K~̈=O s}|?eʨ=۾f?%6Ǫ=)27c?hʨ=۾f?lʨ=۾f? = ǽ}?Kl5=J}?Jl8=G}?PYA|>ʏ7 ===>*>L>>>>> eTP_3Y}?h}'2w~?~2O1=^V/?i6 2+~? k/13Y}?~ 2rC/}?2R3Y}?;2'AY}?IJ 4Ƚm~?7L26^V/?u;0d15^V/?8A,4p 6 ===>*>L>>>>> =e1겄a y?91> 2Z ~?_S23?o_2+~~?ـ?a y?:h2ly?>c&a y?p!1a y?N a3V~?Ge %3:{?l4:{?8A.z6? ===>*>L>>>>>슲I6?\? 6^ö>gD<|?D=2>zc={?B_=UB>Rq=#@z?t =1(>*)=Y{?¯=JM>A=mE|?C=ު=Z=#}?=吲=Zq=}?}=/=o= }?O==m=w}?6X=5R=Yk=}?'=3=ci=}?n!,4>S\ l?eA9W'$@===>*>L>n>>>>>>>5105?b B:>> h)?RRq7hn,?oz/0aW.? ފ') $>.?(^f*W.? ފ() $W.? ފ() $-?))W.? ފ() $`v0?Q%a%/½1?.4QE0?|r8o=su7k;P ===>>>>>>>nd>>)>ZLZ?R4>>>JE?B$ >o>z?.?0=>?k,?,=e>d?;2?EV=>/y? 5?>> ?\7?,(>>-? ?H3?O>WD>,?| ?q?>ٯ>B$?к?0(>>/? ?H3?E=C>T>YhP?4=>3=Ea?]B>I^?%=A 5ұ===>*>L>n>>>>>>>]|%?7H?&2n;Ii>`?23EQ 2[> m?3@㱻9> b?;2?!bR?Q@0R(?0!M?k.)`?J7L?{6J2?!bR?ͩ2X 3} >r?Ա %3>2mg?iײ&?!bR?,ݲGg?R?&=͇^?{X?1S1H>S_??Bۉ5===>*>L>n>>>>>>> >% >xu0?|6I2=tl%?sGpSѸ?V{Fn?/_^/6aJ>a;rT>}_ϧ2a}>/__/3aJ>eAB=:G<>/_d/8aJ>V3D=i~1?ˡ:ͻ>S.T2,?=s>Vp=EL ?!B> ===>*>L>n>>>>>>>Tjs=/?.g_@@@!ʊ2ͱU[%0}?8@aQ68lp?B@6wObYDױift@g=6ù9A6M-p?LYA2}>7>IX?8A.Pµ!I05r\?8A6&C1RW12[?뵒">iB?^># ?/A R@N~AS:Sy=|Mb;Zy&=F=x0=+?y>@wI>7Fv=>x 2=/=r+y@=](I=z=sP Ɯ=zT=vR=|uG=N 4;}8<:罃j%~a7Ƚ©z}[8B\(K|ԛ&Çtm/&zڽ3A&Ü~===>*>L>n>>>>>>>5?ܲ5? v9XnNbemIyPѽwDl½VU¾ϯinOxɾ*h3>*ž?h- ;tɕj۽_l=3tʩZlq+ǽ}nl{wDl½k5ҽNk4V󰾃lL:1?A}E?dA $y;? A @HDAh+ @Aܚ@#Au@/A $u;? A $;? Ap ?>A $z;? At+?&{A`f@A @RÉA===>*>L>n>>>>>>>Y2}s>g?n0[33>&f?#213>wDe?2^1!>Fif?Kk²K1cU>g?d u0>_g?$\ղ2 >>g?:NZ*3>U$g?.5g>:d?)VYz3l>Fe?#213>wDe?;βp=:3V>[b?ίI30>Z_?s%p2s#Y?\?gvB(6===>*>L>n>>>>>>>ȶ*>L>n>>>>>>>8(3R355?AAtԉ01:CAǀ,1Ч4h˽ vG>Ȏ>ֹ~Yv C>ٚ> ףu?>">P07t~>>= >Rr>>zHsOH@>…>2-tB>1>{u?D>HQ> #v|A> #>u?>!$> ףu?>">FuHA>r#>$r0vMD>Ј$>7vFG>$>,?Kp9?O!Q?ۆ@t)W_#@"߄C:@ۆ3@T?S?}A?Q?}U?ؾHhR@z7@l===>*>L>n>>>>>>>fC0+3 >5o?TX)0 >n?2<2>"m?2b>hk?TH12N>i?4*z>i?I1t37>j?{1{>Y8k?j]2\>n?%F2ea2o>`/n?2<2>"m? 2<- >&\l?2^6f%7> l?X1G>FGl?ivB|5^)i6===>*>L>n>>>>>>>T)(0s?D/V|"Xs?Ljӻ2!us?D,CmxQt? u%Yjt?U!~tWt?= Ùs? 30F!s?`C7)wPQs?{5jps?Ljӻ2!us?)B66r?J I<ƐYFp?DAB3an?}Bt\5ꅶ===>*>L>n>>>>>>>Miʡ55?AA 6wr,?CA4o4ww?0  !"#$%&'()*+,-./055?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?N?@ CbA CZ6'Aw/ C;FA\CUACLXACWA Ce)*TACL?8OA~CSHAC0di?ACp7AwmCFvm*.A(fCtl%ACƇh3AMCS)A{=CaQ$ACq@$@XC@/@hC A@ C Ā@ C~ A>~@ C7@c@Cv@@ C}@@C@{@%Bc@@[C@wA@Z|Cߪ?U7@YC=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??>?? ?>FT2 u6?5&e?!};QXC?fؠ;Ӫ?w[G<;~?v;64?j;|P䯰 ?y;P5BX? f:J?6t쪽?1Pv7<誽w~?O%,<~?~(:<~?4A*<璽? UL>>>>>??*?;?L?]?n?????""??33??DD??UU??ff???Ӣ0N0=?$;Zy=C?P:YD=?U‚@۴,3Lʂ@L:4҂@Ajeڂ@A7߂@؊Au7Q@L<9@+:^߂@>D:(ނ@쳼bq: ނ@]¦:{݂@繴l8x܂@ۂ@ܴz/8pۂ@T :Vۂ@,;ۂ@ v*6;Pڂ@<4;ق@ᴼFN:ق@ͳT#؂@v2т@r3nuƂ@"Ӱi!㻂@*`q@H2S_]ֱ@o:+@ ٺ@Th@쳼=p@n?v=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??..?9)^@i>)Ey?lLP $b>y? M*\>Ny?:1NѼU>?z?=}'!Q>zz?4<ǍN>z?=Pļ|L>z?~=FZEJ>cz?= xtI>fz?WWz?|M ԼS+I>ۗz?s߯s1G>1 z?]Q2D>z?uۂ@>cC{? d{?`Ok=oJ:-7>%k{?E=F;;S3>>{?ݴ=A<1/>41{?K=ki+{?c=vgu<8*>{?B=Fe({?$=~B{?q=%^

>]{?>4{?y<;>VT}?Mj=o?)_;ti9l=~?;8:H\8c!(>|?BA謀 CA~CAd{Y)DA7~DAʭIDARAII:,EAd;VEAY C;pEAW#L;REA̮C6:*EAPEAy0nEA譼o@FAЯԭpFAr7:FA0*;;GA20Z};GA5c;GA M;GA|챼i;sGA5;FAݛ}:%FA O:FA 7:*JAOʵb:)OAjq:MQA9(NA۹#"92HAi8=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??b@5V$o?Am\` ;r|2= q?dk2 "2= q?uO)4~s=?Fg1S2= q? `ɴ'= h~?k#2 X,>\|?r`/mcH> {?Je*>Gn|?–ڲ8eIc=~?G0O/2= q?u4|2--dc=?24,h=?750)8x=? 3@WJʳ)3@P53@,.3@w|/@ ϴg+@*1C)@x΍t4+@-4/@@.732@2843@z䘻3@ԘjU3@c3 ??""??33??DD??UU??ff??-ӽ2!v?[j >ܽ>7u?b.k>佫x?N=W{?5(=(罘|? M>Ƚۚ|?eA>;Hp{?v&>uz?B >=Yy?t=O>!y?םI=3{?}<q=}?㳺=s0t=?[{??G=۽5= 2|?z'=;fG <9~?ƪ=./}y7~?$=y<~?Aѻs<6$'? 9=lʼMv?Mh_=Q,<7?ZO.D= =)@?r= =y<?싼@ll4=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff?? 1cm0?hA)3a54n!!>>jC]>m !>>jC]>֭@>?>pi3>?^>|5>B?ɥ>w4>O?>|5>B?ȥ>VD>?>v3K>?6%>dO>?>dO>?> n>WdA7>1 v>Cho>iW>_xDW/D>,.>D0>2ꇳ>ND(>ݻ>dB|;>, _>kAj N> >!@`b>a>=J~>&>O={>{x> >q>'^>:>%i>h>L>ud>Ӑ> >va>Fv>; >}]_>!v7;P@>>>>??*?;?L?]?n?????""??33??DD??UU??ff??`AQ]P?.1> VU??_`=%Y?iL=X?M5_Y>@R?tmG꾠">\O?M>le>F?& jq>3C?) ą>BI?Cҽ1>NU?׽=1`?jž=+i?7nIqF i?w`h?rw}F?qo?߁ᢟ鋽i?)þ+? `?3XzNھdU?wR?d) Y:Q?}U=TX? ϽP =&R?.<) r=e:T?P.i,t=RV?&=A6la6=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??9p 29?)0?Wlӱ!^^?x3]>`? =c3>"^^?'زN^J3x>`? =c3>"^^?X2TJm4?5?z.#G%7F?M?)>>f?)>>f?p v2r>k?@33Xc>p?&ӑ1>R9s?R2W >iq?F!1_>-q?h061a> y?.!02z!>Y}?\I2DO2.@=C~?oA%W2->,q?+2?>f?Z 2[82qg>dr^?vR 3:{?8rZ?8Ne1:~>/o?YUy>yc?ma;3?IL?>B o6=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ՠp`h8O=P|(T(;_ {;`;o=h*qn>=qn>= pȢ=uckJIʾ?=oc'#Ჾp1)>`3c>@a'#Ჾp1)>`o"L>Eᾠza>J({>+U({>+U+O1>O<x3g2=?>G_=P>!xN*=`o> fZS^n5i>zԾe\f&>3ھgYI>s循QU8r9{>rK%BY >gs4+="h(W=szt 5>6=vy۾C=O >wi<=!BH=7N5=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??B쀾Ի=q?B쀾ͻ=q?? þUS=L. ?΀9p>C Ծ>E^ƾܽS>h"F !ۘrY?)LGooB<û? Gzz'T=y?;FK:.='?F/jAh=m?ܕCjP=IJ??5?>;?:]{B>?.־>>L ? Y4¾De>2?b?_?g_@8]?n?????""??33??DD??UU??ff??d 35JĽI~?'@&0 7NI7vW0N2(̾sj?&K =(̾sj?|22.t?F2埲/0(|?-=1`?sHA0Ô2?Ň2('=i~?S42ǐ3;?t?21v᫾$q?RϵPo?汹N3dҾ3ci?ڒw򔾌t?-7(3 |}?1Î19:?;M*1hM?켽glk}?D/ްv?B@l]?n?????""??33??DD??UU??ff?? 1آ@E/?@<;5E4w9Uή=^V.?$9ܡ#j!|?}9ڸw?9u~?6M-p?9u~?6M-p?p97{=qqd?9@BXEmb?ظ9-B41b?ĸ9KVBpUb?ظ9-B41b?k9}=qqd?93={7d?9=pqd?;9K=qqd?9Y'z?9g ꬼd?п9յ$ɾ=k?9u7e?|9*/־^h?92þbl?&9q[ n?$9֡n?f9F"",þl? 9bt?x9&%N*7=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??82 :{?,Ӳ2S1!|?p#3(|?V2>)Y0 %|?V2>)Y0 %|?ܙy>wcv?D0Z3T`u?H^'awxcv?,@A~zfuv?5dn2?wcv?x(Q>xcv?g2.s1.Aw? w~px?o 2|)2Tkz?+ 33F{?ދog@2h8{?eoò̒C :}?h3`a_}?䄆̱E}?Fϲ8p21}?I1ۊ~Ľ~?U2_xg?&t3 ;3)?&9,M~?$3k3c]}?S@2Mi&|?8A Qk6=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??S в(2i-gM|?Ht|?}y 3\vgg}?U/[2U}?U/[2U}?Cs232|x?-m$ f4w?xh)2E1aWw?1 r2Iw?xh)2E1aWw?'U3#>3|x?VԒ22{/x?z0Wޱ|x?+j}3+3|x?L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??Ű>PCy 0?[?M*cN5~I6>L=\u?PVAI:>#=cnv?82=>#X=v?/@3A><=Vw?2'D><>w?$lG>;h;w?7K>b%x? = 4IN>l8x?g N>sx?~}%O>")Vy?gO>&z?8 O>H/gDkz?O>:z?MvO>]Zz?SxMO>S*y?ٽ"N>23y?~ XN>6Ox?\.& M><)7w?u9M>4Zv?>LTL> Heu?`K>L"Xt?DAsJ>A2[2s?6T L>2t?r5"M>? v?ȠQN>Kʼ)w?N>glx?V*6O>DFy?XA>n=y? |94>kTּt|y?eA&W'$@=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??5qd25?b BU9>.>?06M>I?ȚJ4G>!k?o1t@>x!?/K:>G$?s<-d6>&?J*;7>݉)?(H>,?1&l>"1?UfUt 0>3?IO]Э>jR2?Wg']p>_.?K\%#<>+?IfL'X>{),?YjGa&>(6,?K=O%?;>$?ɗz-J>t??M;/=?ԾS+0=Tg$?ξYR&I=+?Ǿ8d >r={1?b^1E=`0?)>$=,?(=>K"?P$0-#>? u32>?y8H>\B?8bL>?xjlq7L>/e7U;P=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??6b>Ң> >bX?9>>YY=EZ?C&>>_=-\?>>̻=m]?,k>.B>=^ \?sd>8~>?=5W?Y>]>t=>Q?Ɉ>l? >4J?|v>?h>/C?Ͻ>?=B?Z=N?= ~G?7?>?k=L?Kɉ>=Q?I=M?>F>2=ɵS?>1>{Q=QZ?>+> p>W?Ѹ>]5|>8#>M?m>8>e>T?0> ->>Lc?m!>P>_m>h?&4>@N> B>{d?rc>{ٽ>1>c?݋>h>=c?G>DW>.=^e?ŋ>%>6=j[?ݳ>귽>>iX?/ɽ> ª>*>[?/O>>v>l[?>{ٞ>">_"Z?%=AH6Ey=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??1#y30?Ѷ9?b2d>36?i3?2nn2?K2+ 4 ?5W?2I/=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??L >=>@uQ#>';'?WR>>\ý?GOqT=!pF ?eH};㇐V ?K9@3nB#< ?u8pOZ̾m ?69i Ǿ|? ?:}Yr^?E^QS/86?>F?2"W_?Cw d? @+?|IE)@=E?ԯCmn> Qe?Vc2ɞ=.䡾#?RY??S.>: ڹF9l>"6 2?3h=N$&u?q >}Vm!?,;~>]a8?мC{m>ZΔ>9W?M.L>> 1?pN={T?_0>5-=cd?TS9>l=i, ?ECT]>=5?!B(^жɈ(=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??Tos=a?Mg_@3@11_W[%0}?-@zOζ!0ۖ kp?B@+6?UNQ6!2@"6ٴùi9@6M-p?LYA|>:7>~?1TSX?8A:gQR6@2J/\?8A,E|6sѰ J2[?&M5憶>iB?]>" ?/AR@P~A B;/u ==f2<:v=L{590wj=1.8ۻw..='7V6x<!6dxv`4Zkwgv7GS4~v@ŻogR5z;u4<5sQ;ov =N=2w~=+< `wz=!݅`wpw=gS0f2wC s=~,L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??5?jFm15? '9~ ~nm KaIkav(}Vi: ľgRgwJ7ʾeTCξdh_#c Ѿ:c +2ӾObH3Ծ5bм,;վ:aC*վjIaI:ԾWa `WLnҾa>K#ξobIFlɾyXd~@[A}@Am@?gAY}T@AX@@Avx2@kACs'@ߚAޓ@@An@AUB@TA=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??<ȅX2VG>ޝf?U`9>Df?8>e?"\3>e?_n1t~2\;>(e?E#2Ζ3F>#d?q>3b?u1{~2>a?203M>n`?23>e_?2D>¤^?}l#C.3I>B^?+ԯ>W^?!;V 2p2>`_?.޲@>[`?]K"39>-`?V2@cR>^?rT.$0!>^?22K'5>.`?1?bC9F>+Sb?Ѓ(q6->c?)^ 2B>$d?tH1r2>^`?ND?ouX?s羲H3$7?ߺP?2J'02?2M?H>=r?ېP?T1u[3z ?PW?Z|>u_?hvB+!RP6=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??X={?;n>&{?F:> ?{?L>>0 6z?U4> z?+߻B >CISz?">-z?P)">/z?>[z?S9'>iz?J<'~=d.Mz?< =q>z?x_z?}B6^?g5=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??1&655?AAs5R2CA=`5"q6Wǽ}or&>>7xq>V$>P fpz> >@:"o0=>>.JGEo> =Rn@U>= Xn˶>=P\Ln#>=^#n->5=!_gnV>={]`#n>(=mZBn>> =pVXwnT>T=7P=n}>$=I3o2>$P=2@uoxv> >`2zoń>4)>ΒWo>6>Do >(z0>ԭֽYbo{>$>oxc>i@!>a,pV>:#>*:̽|pQ>g.>1To݊>D@>#&xn<>LM>e2/n^}>7Q>.rn~>eJ>7onE>t=>N}Jq7>ӕ,>;@lo$@x_4@ʊ/B@/lL@{ĉdP@2P@B(N@ۇK@ΉI@ZÉF@‰C@&OB@Z7 B@ׇKfB@{'X|>@0v5K5@g-5[I@FWÉ?xČ'? 9IM/?eG:ӌA?#φ?ȇS`?Rү?qɈ(?LJ&@E"< @A@W=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??Tı؛>^q?fY 2p> m?rI 1Ś2&>;j? L8XQ3>` g?ڦ{z1uj>d?;2z~>̇b?M0>F`?]@s3>^?T2٢в?X[?e 2?BZ?@3D3?Y?bw1,?lX?2nz"?tX?O4R2?pZ?r^XNײB8?g\?ԩ29LFw>_?Y12a>d?jE|2A,1>j?t%1G 3a>7o?.1>:r?網pƱכ>bs?2]ز3>($t?G26V^k>Rp?KR2#1>Zh?2oh>6g`? m$G3(?\?t{b>s^?e32>Ec?XN2a3g>yj?lvB异5=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff?? 8(~|rt?GHLs? xs?ɣ׵ dr?CYq?^(ѻLܠ,p?XVhuo?\Gbn?yi#ᴾm?Oۀ^l?S:Rk޽wk? : ;۽l¾8k?1;!۽8bþk?],;޽Zk?hx:;+3l?؏9s~:m? T8p?ûj6񃈾yr?'][BNpZt?OXl8C_t?xIBbUu?b?} B4TDu?R,C[_nt?ܺgG&cq?;AJm?<I }Dl?;4B`Sl?;9 ~o?0&!x0򻎾pq?}B3U6=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??2$55?AA4L+%Q?CA@ٴ06=0'?;'ܝ:*?2b3º,A>>> ?>VY""5R6<>5T†q?ASS57![>sG> `?Ђ@tR><K8~m0t?CnAZe& ;O|?W.@}0`0($'>a~4?͋@665Y?c6/n-0?jA-k8>mn>!Ѐ> @0?Ap>W?S?%=A"2е?*[1>j_?AB;6j_6q>׉>괞MO?!BP-4\,@^-ȹ:>Z ?Q?Eg_@@Md4\JĽI~?"@JjI-2~15Ɨ=K?B@)˞6q+4 2=. 2#?@y39$.8=~?OYA|>7%v2xܲ,5?8Aj5`k2Q%jr?8Aino,-|l2?[?@969>C8?WF$?eA;W'$@521ކ35?b B8>>I?2 (>_!?Aw r>_>?%?%=A=T,ֱ12>-?My!BTYŵ5Tos=^?Cg_@D@ `P%2W[%0}?-@+5.6Ih2E0lp?B@V޵wT4:1|E2@mMù\}9?6M-p?NYA|>7>|3> 2X?8AyaO}zʮ޲3\?8A5Z[?24uz>iB?_>" ?-AR@X~A\ƽ2J={%>1A&Ɯ~5? Si25? 8O^o=`> @sA1NŸ1d>?v+?jvBS7b.6i&<>$Z$7x?}Bt3= >G;?AARFNu1 (CA:5L;6SC=#a]Gia@k,1#ı ?V?kvBؾ_%49)ϼ <2?}Bg N)eR$! F?AAPڵ 4L0[?CA:Yv5=0>> ?L?*AB+ȸA>?? ?>F3,C 66@:5Z†q?ASD7b@tE4D?S@Pzۍ*St/ED=?SAɼ=?535O oްgc8=bm?׋@44Va?jA6eT> <=:6;P@ܝK?:t/>P ?%=Af 4"E2>,d?ABƵv[?!=rֶ5??!Bł@46B쀾λ=r?7V)@Q3a y?8A@մɶA2ujr?8A7 6U .v0?[?z6†(1=>bs=k?eA1W'$@5 5?b Bi9>>4 ?l;5=V5Bg;PnG_K>i>p ?&=A.4\ӱ0?O?@B)1DNH6)> :Z?!B|z5Tds=j?Bg_@U@!:ѱX[%0}?,@6v72+2Um1mp?B@ 6:::21h@JwùԂ9?6M-p?OYA|>7>W3X?8Aq6@6vӲG\?8A:5 lյx .1J3h2[?rµrc5>iB?^>" ?-AR@Z~A鯾W>e)<4A&~5?"15? D9HQ`۾[@rAT8j<>k?kvB;+'5gy><>@zu?}B~xɰsD2255?AA"cO1x,d?-CAD617sVX7N)?Ț=@lU"l;?Z?ivBL>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43?>?? ?>"s1 q=;(^ |?hq=;!*{?U;q=;Qp+{?I q=&Ӭ;,{?p=P;G.{?p=̽;/׿{?wp=;l1E{?Ip=:;k2{? p=:;3Z{? o=B`;4{?Eo=;V5]{?o=+;T6x{?Ho=;V5]{? o=B`;4{? p=;3Z{?Ip=:;k2{?wp=;l1E{?p=̽;/׿{?p=P;G.{?I q=&Ӭ;,{?T;q=;Rp+{?hq=;!*{?AuG9L==>L>>>43>>gf>??433?@?L?Y?gff?43s??gf?̌?43?u>-=(h?>]0=xh?Њ>3=ѠWg?>6=[1g?{>A9=Փg?5>%<=BUg?>t?=Ug?>NA=g?}>OD=c5g?@|>eF=Atg?z> I=$cg?@|>eF=Atg?}>OD=d5g?>MA=g?>t?=Ug?8>%<=DUg?|>?9=Փg?>6=[1g?ϊ>3=ѠWg?>]0=xh?1@jA<L==>L>>>43>>gf>gf&?@?L?Y?gff?43s??gf?̌?43?O^>ْ =DOy?]>6=JAy?Q\>"!=_/y?x[>.%=y?Z>U:yù= y?Y>cF^=x?X>R=Jx?CW>3\=nx?V>DeJ=x?R V>+mz$=(nx?ȒU>wsUN=Xx?p7U>>wt>Jx?U>xE>bEx?p7U>>wt>Jx?̒U>wsPN=Xx?P V>Km{$=(nx?V>EeQ=x?GW>\=nx?X>wR=Jx?Y>rF^=x?Z>L:zù= y?v[> .%=y?N\>"+=_/y?]>땒=JAy?QA <(QA4 MAL>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43?*$2) 4fj~?ʜA%ۘ۵ɋV"q=V?3@o㘻NfS>D?)?>mjD? j.̘>D?%44 ?A>z-E?O>LE?U`B>E?zNpp4>1aF?<N}t>˾F?`{z؏>G?=+Ď>>YG? `>G?_g>G?^)_7>G?_g>G? a>G?<+Ď>>YG?[{z؏>G?<V}q>˾F?zJpp3>1aF?T`D>E?O>LE?%4) ?A>z-E? j.̘>D?+?>ljD?׋@Ԫ6݂6L==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43?VhgK?iA56x(U>{8=t<i 6;P@>`6> 7Q?bN>f(b>Q?m> *>Q?&>\yD>H4R?>f>R?=>㻾>R?ʂ>ʼ>@#S?N><>sfS?8>S >S?ұ>澾M>iS?#">yNs>_S? >ō>KT?>~[>6T?;>: >?DT?K>ds>GT?>+@T?F>>?0T?g>pڻ?>vT?)ٞ>>S?>7t>6S?DS>RɷA>ʗS?*->gT>kaS?.>㴾b>(S?>ϔ>=R?'=A0gL==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43?83;ZTB?C&?<3Ě2tA?Ox'?/ @?d(?W3{??sd)?M2 ??p*?Sڅױ>?|+?ꟉժP=?5,?\pW-?A*?ٷ1G??ž)?mC2@?ϝ(? 22A?f'??B[YL==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43?0`>qH>Ƽ'`S6H>-̼r`6G>Ӽh`V1%G>ڼm` f+G>iIἌ_VTG>W_]G>_F>_F⾜}F>]g`kG F>m.`[K[E>;`E>JY`RJE>O3Hp`@E>ʁ`ᾚD>ڼ`[ͼɗ`D>`D>*vҡ`$D>%ۣE`ྮvD>`S(kD>u˧`,_D>p!B!6s6L==>L>>>43>gf> ??gf&?433?@?L?Y?gff?43s??gf?̌?43?K| w>>X?Bg_@<蔱IhuV7F21Y}?8A`%XE2*2:{?8AX8DZ*ݬ0?[?B236G;b}>I>jn?eA=W'}$@5C2 ;15?b B8>C>?鱽b{Mci=ӱ6s^;PC>>>JQ?E>o>>6Q?P>I>Ѹ>L0>! Q?`L>>v>Q?DP>`>>DP?S>>N>P?)W>>w>VP?aJZ>^">w/>P?]]> 3>>yP?we_> >>aP?-a>>>MP?Qb>a@>I>S?P?b>jj>$>;7P?Nb>C>l>6P?(a>x>>>P?l__>-!> >MP? ]>:>V->lcP?sDZ>)>>~P?$W>'>X>P?S>>p>P?AP>d>T2>P?oL>o>>ZP?D=I>dӸ>VL>Q?VE>>ڴ>3Q?$=A䀶2L==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43?Ȇ2g3g2?n7?#c12?7?&*i21?\N8?y22A1?l8?2_(30?9?2ٌ#2 d0?Q9?_ 3&.2:/?x9?~ϲ32,/?S:?TE^r+/?#:?1Уm.?;?vg1A،.?C;?g(d36U.?w;?2s?1.?Ƙ;?e2-r6.?D;?ڲG +Kg.?f;?kQ2x2.? ;?02/?b:?=)>2/?V\:?v2A20?)9?oAi0?kk9?Ja3 1?8?2Ɨ1?r8?Nl;1?7??B66L==>L>>>43>>gf>? ??433?@?L?Y?gff?43s??gf?̌?43?;<>-a>?!BbTTts=c?0g_@3@q>U[%0}?-@ R鴶c2j2kp?B@l6M6D#Li1ݨ@pϵDùx~9A6M-p?MYA1}>7>j21X?8A𩰶8U*,۱\?8A.5)5(10\ 0[?F6k36>iB?\>" ?1AR@P~Aƽꪉ<!=膾= ] U7c䗽¸Y>gۇi>9%臾Y>T`ۇ,>7՗+=F6=~L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43?m  D,?a^=?0Ea3ɟ,? =?R-?<L>>>43>>gf>? ?gf&?433?@?L?Y?gff?43s??gf?̌?43?<,+>_>A|?<,>vOA;|?p<,>%D5|?*G/|?GJ5)|?<[T.>`M"|?YaPa|?.St|?K<\e0>0X |?pS||?</>+P:|?2 N]!|?=K'|? =H-|?E4|?<2,>LYB9|?}B}z;6L==>L>>>43>@?Y?gff?43s??gf?̌?43?5B3LL355?AAf6n2dy0|=d1CAkA6<ɾVi>ճ>ˁʾU%>>*B˾UaE>6>̾siU8>n>g̾.U>C>;T/>>pξXTa>r>qBϾhTJ>L>]ϾSTF9>{>}о*T>>о T?>µ>G4ѾZS>pֵ>MѾS>{ݵ>F4ѾZS>pֵ>о T>>µ>}о*T>>_ϾSTE9>{>qBϾhTK>L>pξXTa>r>;T/>>g̾.U>C>̾siU8>n>*B˾U`E>6>́ʾU$>>~{U@C} @x1}&@E} 1@t}e@OaJ}h@نv!}r@Æ|@X|@ |@G|@*|!@zӍ| M@Nw+| @zD|@|@|@ |@Xv!}r@ÆaJ}i@ن t}j@OE} 1@}#@} @x1L==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43?83V7?U2?Oαg27? S2?JWqh 8?L1?Xk12yr8?}1?/?8?1?2_t2wD9?J0?^2q³Щ9?@0?б1&2[:?/?]3^\:?a/?L>>>43>>gf>? ?gf&?433?@?L?Y?gff?43s??gf?̌?43?Y=ߌ*ֹ@0]?[=r;m]?y]=^B\?_=Ա$7\?Na=sNm m\?=c=Ȳ7\? f==BG\?} h=^[?i= ft[??fk=`乽[?l=aqPg[?m]m=rɴ#U[?l=`sOg[??fk=`乽[?i= ft[?k h=[[? f==BG\?Kc=Ȳ7\?Ra=sNnm\?_=Ա$7\?y]=^B\?[=v;l]?}BS6 6L==>L>>>43>>gf>?gf&?433?@?L?Y?gff?43s??gf?̌?43?L7L155?AA26/5Fv?CAy4g5?0  !"#$%&'()*+,-./055?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?L?@CBL?@B*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?>?? ?>s2O=WI%}?%z=82n6}?mAk=%La~*G}? \\=aS]V}?}M=?d}?2@=I]+p}?3=Ñ8$>z}? '=<R.g}?=E}?/=J e{}?g=}?}<;0'}?2<]0Sk}?<16}?}=q 4}?%=_K r}?/=Dp |}?(=1 q}?MF5=z9Cɒ [h}?HA= Mۆ _}?sO=*Rj (U}?{M]=xTA kJ}?(k=bUb >}?=nz=9Uj2}?AtK_9*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?h>blhe3yr?R[> μ9eTs?L>d~(t?߹>>)7> dt?f0>Ұ:du?#>c3v?>J;c v? >;2c,w??=;FCdw?=F;dw?\F=s;3ex?=N3JeAx?J='?weKx?=㻀if3x?=OKfw?M=,Oogéw?~=ɼg?w? >Z$hv?g>&#;hANv?+#>h u?h0>qfg&Cu?bc>>1 0Egt?L>V3fs?Z>!K! fu*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?Fi>>**=;=Njz?uZ->p<ί=eQ{?FS> gڵ={?P >[=a=O|?I=jʕ=b|?=pM=[|?\=ZKн=o|?F=yxǽ^=|?=V@x="f}?;e=u?=~?kI=Z =l{~?H9=F]B=~?.8=K=Κ={?>=I=1{?@1>ta=7:=z?)OA]([*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?8 j5 \p?A(drΨ:c=2?2@ؗ$Q4>꾪N>>K?]־(>p>zO?¾$:R>G>Q?ܳFk>>U?)עr!s> >X?@q>ˆ>N\?Me>A>y_?4HM>S>R}b?Ɛr*>>Ce?wck>ԥ>Img?X-=by>h?OT)N3=>]Ei?V=H<6> i?bͺ@>h?v|,>of?h 2>>d?kA5F>Sa?/48Y:>2_?vH "N>}\?,y7>~Z?V~Z/< 4>iX?gʾ&=>U?Ծ*=g>ZR?߾ =s>SO?Ջ@o6FXc6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?g/&10e1?hA#6+õS>P>KS>M>>7]>W8>\=`lh>Qa~y>l>;J}>:_>:S> >R>9뗉>TF>8>Z|9>7>1LT->6)>o*$!>5r >!>w4pM>" >3GB>">:3>-e9>C2n=> >3oQ>Z>4J:>7(>oY6b}>Ls>8>ػ7v5>_jI>9~>ϏwZ>Ko:Jv>l>x;w~><m}><#o>z+4>=6ba>OW;P@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?=[>b?%^g=~>1a?S=JL}>!_?LZ?|&<ؾ>T?YpC<^3>]N?ǖ<徍>I?`A?-;=о?>? X=ľ} ? =?^$j=Up?>?os=MBu ?1C?=߆>K?(=J>yU?{i=ɨe>[?=46>>]?]=p l_>j_?=yz>s`?:=be^>1a?= Xq>,b?栽=N>c?we=-LH>le?$=+tB7>[Vg?#=Af4 6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?2!g2C?G$?˲.3]3t^b? 2OO>`g?03&珳l>j?C23&>6Yl?fڶ >k?煿8F5>#h?γ83+>p^?r43d>3?LP?zBm39W1 ?%G?*h<t_&?B? bV*?b>?21%3T-?e*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?&evھN== %l佾+N==A{r*W=s=wokc=WF>=NzO$==f{|X"A<=q}?2B>g?Ⱦ)>G#6dӾ63>;wb ۾s5>;a߾f1>=!b:߾$>=bݾ>=!cs۾29==cCؾ>=Ue>cԾ='8>!B0*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?K| w>>X?Eg_@>uV70Y}?8AO06:&`k؇~_2:{?8Arx45H0\ F?[?O(66g>xo?!=6Ô>O >qq?~D=R>#>q5s?Og=;r>B'>t?X=CV>*>v?=kR>'.>u?=N>W3>2u?[>i"K>7>t?>>G>;>s? 6)>/DC>o?>s?:!>&P> 3>cOs?J.>\>& &>es?>Li>>s?>5Ov>O >[s?>l>^=Ms?=>=\s?,H=*Ѝ>tc=&s?;?=z>=r?B-=>y=vpr?!=>! = r?=.Q>>q?w=>M>$q?9O=i>>p?&=>> p?eA>W'x$@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?52E955?b B9>>H ?- To@?1>:9?a> @8>E%?l??>?|?E>г?Ɠ=.?={K>t?uK>OQ>3?v>+W>t?%ȉ">\>?/E=|b>@?օi=:g>?I=pl>S?Q|

y=Y<,>z8=<' +=>|I=-L=f^}[=y-~/.=VĪɽ@|}h=+9< {|=<|y==g!h}L{= =ZZ }< =n} *=@kL==>L>>>33>>ff>? ??ff&?333?@?L?Y?֜a2r>x?B2t1p+>}?+"Zrl=j?5[?(3ϭ=u~?3c |7>o{?;Q3-n|>x?,?F+̏>3u?}0ı3>s?H21U>'q?*0T{2>yo?21j;2D>;k?3hi-W>Ke?t^H3U7>b? ?33>^d?P 3ڐ*>li? >rm?. 1>}q? `!e$E>zu?kvB,A-xL==>L>>>33>>ff>? ??ff&?333?@?L?Y?`=o= 6>g?)=<۱>9o? =G0t?D=•z?8w= <=O~?r=s}?49=d >*e?~;Mt?yX?:)?ݔX?FA< j&>b_?^d?(5==>Ae?֩==>=e?q= C=E>9Hf?K=S< >f?L=(3<>Lg?}B5L==>L>>>33>>ff>? ??ff&?333?@?L?Y? \ Dֱ55?SDDz55?D127?@+ײH+=?g3!(x@?ȲGyy'UA?| MpS:B&B?m1蚐|("@? -;?9, J27?~AA# ff>? ??ff&?333?@?L?Y?&>I7*?Eђ>һ>y~2 ??1>е>\,9?Ǽ>#>p&ش?X>q%>, ?萯>E>fC-&?Y >0>M!,?f>?ܕ>'k20?&>ud>r <2?!>% >> a3?&>ud>s ;2?f>?ܕ>'k20?X >/>M!,?萯>E>fC-&?X>r%>+ ?Ǽ>#>p&ش??1>е>\,9?Eђ>һ>y~2 ?Ő= I@P~BŐ= I@BŐ= I@BŐ= I@BŐ= I@BŐ= I@DވBŐ= I@u`BŐ= I@CBŐ= I@#BŐ= I@wBŐ= I@BŐ= I@T)BŐ= I@BŐ= I@BŐ= I@BŐ= I@%?BŐ= I@c$BŐ= I@nBL==>L>>>33>>ff>? ??ff&?333?@?L?Y?>?> ?>-Y>5F 6<5U†q?AS7T߁H=|? vϽ\t!=~?G<=< ?} Z <ޭ?-?fmߺ[?I<-?r=ҝ:[5;p?~ =`/2=n>; ΂@M=:ς@(=I͂@洼޲ǂ@T;@9GwL==>L>>>33>>ff>? ??ff&?333?@?L?Y?$=׹=?>Py?ZK=u=J6>{?3Ē;kPcI|?[!飻 >2|? >D|?ʽo>٣{?н/0J>"{?Ke>~z?硃+Ž(f'>z?v"]پx+>{?M")>{?4D|?Ş_=:>I|?M=ЧXl>y]|?0=ڗ< >I{?+H='=>M{?~h=gf=E$>z?g=r=`2>z?EAjHX;FA6u:GAg HAuIA) SIAÆBIAO%ƆxHAuZGAn87GAWUHAOAT8HA]/:IA쳼M2; JAd};IAգ _;:IA[;HAci;FAo{;L==>L>>>33>>ff>? ??ff&?333?@?L?Y?g UN4U}?+A@\@5 2 =z?5@/25)<Ѿuj|?`="~;{?LDA={)=̆Y>ģy?dr=uFk=?@q>|w?=={>Rwv?ւf=Fס=ig>u?6<Ǚ=~>ow?؄x=a> 1y?E9z1=B>z?绽<3>Ez?ݽ#<.<>z?nW-x?s츹m>` w? _$>u?MڽB>u?.QGy݀>8v?OV"h>x?If%F;(H>{?׋@C6,>4L==>L>>>33>>ff>? ??ff&?333?@?L?Y?D#|?eAGfZ5._j> E52=(<=nEY=\ \=EDn=! =CO>"ʦ!@~2>R'tP7Ëe>i+Zߘ0Ɍ>q*Y4Bt>,-&P;3N> {";/Ac*>5l"==hoB: >-!Rf=Cb=*?=[J=x=Q˶= =MT= >\SW= >=rO=>`J [=3"5.;P@L==>L>>>33>>ff>? ??ff&?333?@?L?Y?\ 3(!/?71뽀j9?M qpɽ B?bXO\8G?3F@VI?'IG?e"ԽؾC?!<.!% C?E?ä (OB?}|fG?t龠K-I?;~fF?\ѾDIsA?֗Z?4;8?&=Ah33PZ5L==>L>>>33>>ff>? ??ff&?333?@?L?Y?Q1 2[C>LL{?F3 >}?sgR2}=.?Ak^<?A2,W;7? 㒲Ei1Vb=^?3!K>}?J0b!0>+|?Rʺ>OO>٩z?{2ek>|*y?*2l>6hw?=K {> w?j2R2]c>$y?k[;3k{)>u|?22>(}?5/c(2W> }?ğj20>%(}?k\1_k/>77|?BBg26L==>L>>>33>>ff>? ??ff&?333?@?L?Y??ە׼{K? ?2xU+~Q?>|Ž2vpU? >Za松 W?&>%߹bX?3"> ɾ2J]?8Lr>ЋT]Ǿ|b?J>C4Oa?Ͱ>$ި+^?,>e۽Kz_?L>3.n<75g?y>q>OT>a?c>>[>`?>s>5>b?> =⥰=b?>9=,=_??LR=PI"Z??@L>>>33>>ff>? ??ff&?333?@?L?Y?LFja=:?L?~?9tr=}?9oY}?h9:fc?9/ l7=w?7u9m7[=? |97kGB=<?#9.7q<?;9##6D߻w?3y9j~ zN?9V#Ƚ~?LYA|>c7L==>L>>>33>>ff>? ??ff&?333?@?L?Y?m2Oʲqּ?[cM2s/?ڲ҂d3d[F?kA1jo?b1MH2򅽯s?"L53V/?P«s3d[1?2I95ҿ?l1&2 ?d52ri2qּ?l292~+?6D1V2DƼ?}2oC2ϼ?P qּ?k1q#;3ּn?8A3//L==>L>>>33>>ff>??ff&?333?Y?KL>>>33>>ff>? ??ff&?333?@?L?Y?P1Y'%5?[?Z obZ075L>;\v?$&>.ܚx?B8>Mwz?IJ a8=t{?$5T=}?Bnw=K_|?M ==Ј{? /i= }z?[h==^Ͻy?K=0-ݽx?Y##=u:^w?,hv=zBv?CDv=y t?l eH>>x σu?S[g>ǽu v?&B^f5>HUv?eA5W'$@L==>L>>>33>>ff>? ??ff&?333?@?L?Y?5t1F5?b B8>>?fjE72=9@6S;Peؽ&`>>?Q? *F>?TR?.)>?R=T?KN >?ۃT?{g`=4?-S?`xa=+?VO?rw8t=?}I?h=?tB?mZO>2"?l;?(YE!>4&?7?S`>S!?L:?b9f1>{t?p@?[JH>?D?/JCa> ?kI?2:Yr>~?K?$+t>?96M?]tn>@?RN?#He>L?GP?%=A kL==>L>>>33>>ff>? ??ff&?333?@?L?Y?NLLl?Z?l2 2gl?aT? 242[?y0M?f"A26 ?0BG?XF2h_!?L{F?{3>&?bL?/2 32 ?7U?LŇ1>`?(C_2>~fh?119}>_m?:.ߵ2>jl?u24YK>h?5M6Ѱ>-b?R-2rU?h[?+Y2 ?zV?O902 ?U? ~2 ?VW?b>y 2B?!'Y??B\ĵ"f5L==>L>>>33>>ff>? ??ff&?333?@?L?Y?Ft6;>>zo廼>%_>=h^O>5>`L>h>n[jIǽie>>?WGDԽ=?Sôֽ짵=+ ?hQnͽ.Z=v?Pk鷽<c?P6"H?W}ɼp ?`/3=gXo>Oc`=$;N>dv6=/=3>|!g =e=>&j==>Vinhw==0G>Ӻqȷ=F>[>!B6oL==>L>>>33>>ff>? ??ff&?333?@?L?Y?J2?S>\#)?s?9g_@5@P2; 1U}?1@ @@2(x@?B@]6r;j0M-@RL="K9,[_?OYA|>Y7>=&1rqd?8Am2X5R蔰kܾg?8AV5('5@pG0 [?;5g6>hB?^># ?.A R@V~AV؜=Skjn>ۯ3=gj>¾&=mcAnf>Ծz=_a>.1>S[Âd>O">Uf>-7>PSi>L>P`>NCb>YQX>4}w>bQ!P>ETݾskk>7X]>uľv^>$^vj>

Zczw>^搾sB>g@>&kb.>hN~>ߕ>>`riSz>wCT >jw>v{=jqr>4A&М~L==>L>>>33>>ff>? ??ff&?333?@?L?Y?5?Or15? ¿9>yUP[=at=^|c0<T=~Z ٻd~ZĽ{ټͽJc}ǽYKg(K{$*H3| MϼV~';<<n 4t=J1~71iLi=ѥ|kWB8>_zDj c>Ikxx)ýZżE1M>$y`{::E4>ЧyAA\<>@tAL==>L>>>33>>ff>? ??ff&?333?@?L?Y?y^3*3`>[m?*81>Os?E)U>w?y!3rN[>az?W 2⭲f>my?r3׌H~>w?ۂ3fDx>_x?2,X2i>i=y?c2Dz\>z?9:1VUT>oz??L12`>y?*Cfq>x?By>Ww?{ZE3ʒ>v? f3o[>>u?I9Z3k2\>>t? 2ś#3Q~>Br?02|3>= p?ivBû6F$vL==>L>>>33>>ff>? ??ff&?333?@?L?Y?;#=}>eh?yL!;">^? G ?:R?Y`H? K?>[ ?O?KQ?Z?^>2]e?6l)ű>n??ӽsNZ>ht?CYؽ7<>p?h޽ӵO>>r?ZRh伅>t?6뽆&k>Xw?F'ƽex~9>{?;=I}?Q_ <'>|?U@egiw?ͽ#<>Sp?}BL$6-L==>L>>>33>>ff>? ??ff&?333?@?L?Y?鵣0}255?Ӳ٠ c.j;?12>t yG? 2U3+M?2H2 .p2|'RA?M2S155?Ɗ2[255?AArYL==>L>>Y?B0GͱCAf6V|O{}Qip=5󼌁w`a:eW_=[=F~<X=KK=>w|=_;,=ɯU>txT=v.=(<i>\wvq=4:uB>y2=}>{Z=cT=}=}$=~*=(Ax~S;=ͺ4}=ŸL>>>33>>ff>? ??ff&?333?@?L?Y?<[Q,T|>s?M2hJl>o y?? X2!>~|?5D1z=~?2cd=,~?w1=~?I3tǀm>+}?rYGv3> |?:R2aQ>$z?Cy\2_=r>ٻx?!ͷ= 2|>bu?wD2 ]ޱ!<>xr?D&\`2t!>0o?|2yQ>o?$a[3>5q?Aos1y>q?'1};@2V{>mr?R3$>|Bs?lvBյec̶L==>L>>>33>>ff>? ??ff&?333?@?L?Y?8=U^<}>o?Q&=?Qwp?q{=f|<\M>q?jY=I<ߝ>`r?3='<}>" w?=<E^>1@y?lH== ԻP>eyu?8<LQ0>$rm?:$4>b?Lrqн)??[?Aw.?\?doz<2>/a?f= LL=>p~d?#=FN=ME>`?(=9 =><^?_=

Ma?#=(rf?~=`x<7s>k?}BQ~6L==>L>>>33>>ff>? ??ff&?333?@?L?Y?0Ldž55?W55?=(2-;?}7c| I?Mu1HxyO?o=B&B?L3y55?IB2 C55?AAYѴff>? ??ff&?333?Y?\ w^I0я2?CAA6o?0  !"#$%&'()*+,-./04:E#<2-?5Mn1>.?C1=!1e.?.L,&n0/?Q' */A0?j"//F/30?dt37.Xm1?W"7.1?:F9T-"2?,#J:-<2?:F9S-"2?W"7.1?dt36.Xm1?j"//F/30?Q' */A0?-L,&n0/?C1=!1e.?5Mn1>.?0@%hC0@IC0@*C0@*C0@=C0@qC0@iC0@C0@C0@C0@bC0@C0@FC0@iPC0@C0@C0@x+C0@C=>L>>>>>??*?;?L?]?n????>?? ?c>n3B6 6ѓG5Y†q?ATRg70=ݛ6q?z>@=0q?>=?ir?>N=ƒƶr?%>O="r? >ZL=0r?d =~s==DGr?==:A3r?=C<幟i!r?ϡ=u.Tr?k=vs?Yc#=_25";t?}/@σek92@:6@V;8@-EH[;0:@}卼?#;9@B";4@gNދ;,@uc;$@͓N6;[!@;#@m:k;)@Yq;0@=jt;N6@#;;9@Z% };9@ƤsC;6@Ꮣ5;;3@ؖɔ:=>L>>>>>??*?;?L?]?n????;>I>I2=y?fD >y==_z?3.>b=Mq=}z?;>4j=u=z?H>4=qE=xz?-T>Z<7$=%z?g^>';<=zy?g>6y)=Ey?yn>żr1>=Рx?>o>!߼K=}x?0k>U5ߋL=x?$c>{gG=iIy?tY>`]<|C=oy?FN>p=E=^Ez?SC>Ed=5U=oz?*8>=x=z?+>dٹ=>=–z?6>i=Z=Xz?nLA;MA^;WOAI*;PABdL>>>>>??*?;?L?]?n????_β*/5Fw?A:42k=9~?7/@)K">(ڼ ?|?H052 {? PiĖ;WL>>>>>??*?;?L?]?n????$ǿ/', 2?jAp6<6% ]m>tBV>ɛ75 ;P@2=E K%>RB-? >E>.,?'">>:,?]7>e ?C+?tH>\?!-?$T> >.0?4U>Nq>$8?L>Os>sC?gRB>᠈>ܘK?m?>{m>O4O?H>(.>aN?U>d'z>L0K?^>'&f8>]E?hb>Qc'>9>? ^>b>8?[L>8*/>4?[2>SW>1?s>(x>/S/?%=A m5=>L>>>>>??*?;?L?]?n????9>ih?G~C>d?3>1`?; ^c?[?cӝL2| ?pV? :nј?*Q?S22 ?XJ? G2$?C?/q1)?O3@?m2 ,q)???wƱcϷ'?vhA?SDWT/3$?&D?:1Ca?W I?[Q|^?dP?+22AP] ?bW?w2n?\?^M)2cT>Va?~~e?BB4O=>L>>>>>??*?;?L?]?n????Bp`[=P>=eo^VΑ>;27(.u. =mdEy>-q]=cc1u>sO=eZc/><=$at@JC>r=H_ $>= _Xߢ9>=k`>p= pc+C>V= fV˫>=6=Qjs>t=pnVxy>I =!BBE625=>L>>>>>??*?;?L?]?n????K| w>>p?Jg_@>n1rRLuVo78[KY}?8A {6m69q2!:{?8A/Jn10;t1?[?6g=U1>]=z?Y=Y5>=`z?F=i:>o=y?^_= ?>L=3;y?ۻ=C>=Px?d =G>h=\w?)=w(I>ZN=x?1,=;J>=ey?=(K>0=Pz?&%$=tN>="y?l
ʑ= y?:=XN>=@y??!=NK> =!x?=vG>l=Qw?>(yC>|=v?VG= &?>=x?CQ=l:>R>='y?8=#6>~=z?eA8W'$@=>L>>>>>??*?;?L?]?n????5w=5?b B9>p>%?\m"tBW>7;PD>&>B>=B_?*>O>$=`?<>m>kn=ea?P>?b>o=a?h>P>=`?UN>>>9^?.ؤ>ҧ>ZD>\?t>2>u>e#X?'> >ϋ>yS?s>ƌ>~>?P?>uy>k<>XO?(>P>0̼>O?U:>,>~->Q?t>Q>&>qU?xn> )>6>Y? o>o=B>Ɔ>pV]?>7b>nF>_?÷>?m>y=pV`?%=A\q6"B7=>L>>>>>??*?;?L?]?n????|WyLc32¬ɲb[C2L0M3,[cT@B7P=>L>>>>>??*?;?L?]?n????b#QZ=|A>/g ?,UPR=19> ?AOz=g0>#T ?Q3N=- (>^?M>>7?lM=b>hq?`N*= >o?<Q MU==?,RZ;=AR?TS ,3= ?T> ??T1H>F ?Rv*R7w>>Q0f>f>DR-F>>fRѽ>>+S;Rn>lK?jRd<˞V>[?!B,5#46=>L>>>>>??*?;?L?]?n????J2?T>\#)?f?7g_@L@ SӱU}?6@i2ݲ(x@?B@ 7u6^.!w536 $@S@#!5L9,[_?NYA|>7>M`pqd?8A/ 5L541:%kܾg?8Al崘 6l`2\0[?ȋ527>jB?]>" ?1AR@\~AOq5p \b!qN/bSqU7^݂D9ra;SZ5sk;@'&.tk9<%>ty<Z[uK"q=Zq =*,Dq!o=Coq'=Z0pɅ<3A &~=>L>>>>>??*?;?L?]?n????5?1OM5? 8uA~ܽ1Q~ݽ޻4}>佀nSa=*}=#ίD=~w @sA=>L>>>>>??*?;?L?]?n????13>+Yj?1ʼ2>åq?^1i%>Gt?zY>Tn?21޲!>Fb?<r@2E?T?,?1 ?G?Jñ2*2?7?Dh^2@??i(?1ֲ*2IL?9?2(2 W1U? ?&1ղ[?U?12B1Y??Úݘ2A7?2?*a? 3i>H9e?h.2#8>og?ivB/[崮6=>L>>>>>??*?;?L?]?n????*;}}>w?x6ݾp/>{?N+XbZ>]1}? 9<@>J8z?8Ct?X܏>s?(5U6>I|?hHʽ =}?˲]x?gR=y>s?WN<_4=b >s7s?|b;3<_[>ןt? U<">v?}BQ*=>L>>>>>??*?;?L?]?n????^520)޲55?AA5X.1}CA;505tp%>[isjJ3>+nu-A>ӽxC Ȝ6>H.}f=4I=Hyḱ</=9=E:(d;v<y=<;r@+=<ԋQl~3=A<hs~:=Kt<÷ ~k=NTYy:=Ό'n=hYd۾.f=3ԼwܾfW=<>Uɾj';rj=Cɬ[ oI+;=@m=>L>>>>>??*?;?L?]?n????S2R971I?n?yF2N?;?߲jX 3lLT??#BB6Q?p?Uc20?j9?s ؎2?#Y?"̰]2bn>Hb?ز>f?&G2JH>"Eh?#¾fyCEh>g\k?j/Q6ZP>q?2w/>[t?<2D0_>o?22g>,d?2lt1mG ?mX?{423*?K?Lm3M52+?u=?}|4T72;?.?ivB60ĵ=>L>>>>>??*?;?L?]?n????,=H{(i?d`*>,Duu?\> x?\d>"_q+>]Gu?}n>kXw>3k?_N<aJ>kfa?8_+>%c?ͻ:P>&i?jG>S*p?;wx,>Γu?51<ʼ]I>\z? =X<>D|?P<+_=Y>ۦy?Ē;=>s?л{=>~|r?gM<z?9=k<?<=ң9>y?}B3F4=>L>>>>>??*?;?L?]?n????b#55?AAѺ.6/,l.?C1=!1e.?.L,&n0/?Q' */A0?j"//F/30?dt37.Xm1?W"7.1?:F9T-"2?,#J:-<2?:F9S-"2?W"7.1?dt36.Xm1?j"//F/30?Q' */A0?-L,&n0/?C1=!1e.?5Mn1>.?z0@%hCy0@ICy0@*Cy0@*Cy0@=Cy0@qCy0@iCy0@Cy0@Cy0@Cy0@bCy0@Cy0@FCy0@iPCy0@Cy0@Cy0@x+Cy0@C=>L>>>>>??*?;?L?]?n????>?? ?\>9si6Qe6G5Z†q?A^R7ꁸ0=ݛ6q?{>@=0q?>=?ir?>K=ƒƶr?%>O="r? >ZL=0r?b =s==DFr?==:A3r?=<也i!r?С=F.Tr?k=vs?\c#=_25";t?|/@=k92@ _:6@Y퓼;8@YRH[;0:@}卼o#;9@B!;4@eNދ;,@5x~e;$@˓ 6;[!@;#@Vm;)@J;0@o};N6@#;9@)X};9@lrC;6@N7;:3@ΖNŔ:=>L>>>>>??*?;?L?]?n????ˮ= =ݾ=[r}?yM==``= ~?=S_=Ƒ==u~? =}=(v=~?S=r/<P=~?O= & 9=$|~?3=߼cW:=M ~?8=7P=^}?=Ditk=-}?N>~tɇz= }?H=SHw=J}?=Pk=}?=c ]=3~?ؗ=KX; $U= ~?$=*L>>>>>??*?;?L?]?n????u]C5Fw?A_*5b2wm=9~?/@'i@2Mcd&¼wf?'㧻i ? <\f=@t?'m/=S_u?uĀ$=HBw?&j2=,T<Χ:={?8%~L>>>>>??*?;?L?]?n????$ǿ/', 2?gA=65%]m>tBV>K;;P@Z>t=˾8 h?[ >;¼xl? >0ݽT,o?]W.>$`=k~zo?3?>~ZFd1n?I>}T`l?C0D>Otk? :0>PLml?>0 l?=>=̽8k?ߘ=_˾2ii?=]׾ vf?@>ϾNe?V> ]9b?iW>HRGaoQ?k4b>kܼP?_ra>K=NݎT?N;>p=oI]?'=Aek6=>L>>>>>??*?;?L?]?n????%;21>d? 0a `>3c?jcFn2>c?ెYqq>oc?Į۱2L>&b?J1>ԟ`?1 ?\?A\36X ?-fW?HN1ED1r^?T?(Ȳi2 ?lV?ۭs(03M?Z?g0zB?\?]vA2-豌 ?U?1L!?9kF?2}3{AK?@?P1_1}H?.?~#1ܤ8?R1?IT0cB2R?K?ABqLb6Vy6=>L>>>>>??*?;?L?]?n????&?=Ԓ<bR??>a-O=sK??:>R=B?>$?<[>U|=Z:?s*?fw>>0?P2?>39>8%?>?>d>Q?lK?P'{>1\>:^>8P?\>#l>.>E@?eo4>P=º ??=uJ?><3.G]?n>ɂɽs]? >dR~{S??\񤾌:B3?a ?2uA?@ ?ldxP?q ?j=9ཱིrS?!BΠ(@=>L>>>>>??*?;?L?]?n????LFj\=9?]?Hg_@?"11ֽ~?0@hݢ5Q6'1X3˯12e~?B@qG5K/2^°\R?@f7:閵ks9Ю77^V=.?69ޑ7=5W?9O8ȼ=~?un9{1;8vz=Jc~?a9X8>x}?9o8>Y}?')9ς8o >|?9I8W1&>|?9 o8>Y}?98K=/?95{(?59D3%5?'9~?9*5?O9p痼?9wk5.;?9́6<^?9 kd7 =?KYA#|>7=>L>>>>>??*?;?L?]?n????2%ѱ2e=~?>< 27ű[=Gl~?Qcg 2Y>~}?2m2}>}?]Z,>V|?IJ:>{?g1Xڷ1K>z?:a9/U>_z?]Q:>{?2}Lv==~?F]3o,2,?yO0D3Y}? F2n03,vV|?o3Y}?!2N63i?CX60d:?=,Y1<?&31 Xq=#?8AN6Ӷ=>L>>>>>??*?;?L?]?n????"|`ee?Tf<?%3R2#=?Ô0+g۲BOu=]?32F=B:?'YM3e=~?)Nβ<3=~?`?#=h~?52Z<24e=~?b1wn<?Oܱ椐X\?"Y}?hP1m$|?2 Y}?12\8?2zv2ga?GZ"=?zd1Q1?8A`٫6=>L>>>>>??*?;?L?]?n????"|`ee?[?Z\6P4{3>j¼`m?qܖq>4Ыp?)oB`>rr?=YO>g|>t?$C_>>wNMv?C,BL->\ x?r $v/>ix?+q1>Y,.;y? It3>I~<)Yy?b 5>lw<Ɍy?v7><͸y?i1e?>;/zx?l5GF>]һv?OpM>5SIu?iT> FXs?!q^>643q?OSh>S n?Tcr>=_l?eA7W'$@=>L>>>>>??*?;?L?]?n????52r25?b Bc8>>%?\m"tBW> t5`;Py=j>A{L>?r?*=&qs>9Y>!q?w#=>c>-q?~ dp>`o?T>>rm? i$#>n>0k?Dq>j>g?<>{ں>[b?w=%>%>U]?=V>g>X?w=>R>2U?Es=!9_>Z?6S?_%=s>>?kS?'e=l*>j?qV?==n3)>,>K \?'=f%6>>ãb?=I>>-i?=\> >*n?%=AؙEt7=>L>>>>>??*?;?L?]?n????t2' dsH ?G?1`2&q_?)WH?|7I3}?g I?q51熲8?I?I3ڙ`?rJ?3S?RK?WzI2a?ڊL?߳Ӳ$b0U? N?i[|0 X?3O?H_g?rO?u Ų63H?t:N?@2W9ķ?K?e 2?I?ǂM?YG?/3 ?LG? ݰՒ2 ?,G?^0`27 ?NRG?>s3`a ?G?@B5+P6=>L>>>>>??*?;?L?]?n????c#QZ={A>.g ?-UPR=09> ?AOu=i0>$T ?P3N =- (>]?M>>7?lM=a>gq?_N*= >o?=QMU==?+R\;=AR?TK ,3= ?T> ??T1H>F ?Rv*S7w>>Q0f>f>DR2G>>fR ѽ>>+S;Un>kK?kRd<ȞV>[?!B˙O6=>L>>>>>??*?;?L?]?n????J2?Q>\#)?t?Dg_@/@-2;ty2U}?,@j86k7pn2(x@?B@be-|$~ @1@74H6}#K9,[_?NYA|>7>1rqd?8Aa;r@61@kܾg?8A霵h1L 2zޱ[?@ d>iB?^># ?/AQ@[~AKO™xS=P]zD+x=1Mol@[\ws=qkNmvG=,^ᙼ=^ux=\̻hu=ׇ;huf=#c<%^u=jf=Hu5=!q3=D(u=!^>j=vt.`>9=s)>v=ƹr'>>5=q.9>[|̀=s.(>Z+q <6ur>eJȻ0w>\Xi&-9xp=3A&~=>L>>>>>??*?;?L?]?n????5?fm2몵15? 9uA~ܽ$Q~ݽ%޻I &}>iSq =Z:YNs-=,]2%u=p倉w=Ca=*}=%D=~L>>>>>??*?;?L?]?n????"[20>-Yj?AT">q?HE,26'>QGt?23C3>Tn?HI3tj3$">"b?.E1N E?T?ˎ8Wu ?G?f2r2)2?7?7f2@?Ai(?r uXBJL?7?0 겉U? ?!61#s0[?U?4,D2Y??\1XA7?2?Fg2 ?MW?2\>!a? hz>J9e? x1>og?kvB.5 4=>L>>>>>??*?;?L?]?n????*;}>w?@6羼t/>z{?NgXub>1}?V C@>Q8z?6>Ct?_o Ƹޏ>>t?5(>|?7*ʽJ⯽}?<q?<e=xHҾ"d?mf<=c6i?q;Cyt?@r)f_,=lyx?vY=J>]x?Q={>s?]N<]4= >n7s?Gc;.<[>͟t?IU<>v?}BRch5Q=>L>>>>>??*?;?L?]?n????cx18L255?AA9DpDe1+2e1CA܆5~ȵ)p&>ei5s3>+Pnu'A>ӽxC ʜ6>{H}@=6I=Hyíѿ=<L>>>>>??*?;?L?]?n????.nȲI?~n?U>:N?;?2eފ0nLT?? _2v~6Q?q?Z2S0?j9?iJC3?Y?,"2"n>Hb?p 1]>f?*#2Z%2H>Eh?]l1A=h>i\k?R2N>q?c2N2ء>/\t?f2-]> o?Ht#f>gd?kC2x22oG ?lX?:17 *?K?2i 0+?`=?2"k;?.?ivB6ӵ=>L>>>>>??*?;?L?]?n????o=P )i?>*> D)vu?\>ٿ+:x?\d>!_q+>]Gu?l>{v>/k?sN<aJ>ofa?868,>qc?_6ʻ.> 'i?c>+p? ;w1/>/u?<`I>!z?, =3<><|? y?;O=->s? л{=>|r? `N<.>Vz?Z:=1JK^<?Z =yg->y?}BQ596=>L>>>>>??*?;?L?]?n????/%o[N255?AA{]=0/Җw1?CA{h 45ff?0  !"#$%&'()*+,-./055?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?>AZC< TA%C=KAMCeDACAC򀝿:A6LCfܿ3AECL==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??>?? ?>06?5Z†q?AS47vCJ?w;>c8:L?.L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??Eڢ#t= HV>y?엽Ԏ=iV>(x?U=W>3x? s]Ң=W>x?_|͎= W>y?gpzn=HW>ay?e9=V>y?Zt,=SV>5y?PBy?VF;T>z?-;*KA3T>%z?EZ1ڼ[S>#&z?K&cr$zR>`z?VQ>lz?<'P>:y?=ӓwO>My?<蒽pjO>hy?.Tjo)iO> 9z?9oV7P>mz?A=ŻR>E?z?߹/ =/T>0y?DA8JDAѪWDA<}DAL.HqDAhibtDA7SpDABSDA䫼ek2SDA$8!JDAKZODA^]YDAìOߺdDAuةeDA/mADAg~DA׋BDAܭ(DA5FDA⭼|DAʬ<DA*֐L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??b135N o:W;e=Œ?~-;)q=QR?^#մ;N=s?TS#;@=?9<~u`P=c?FnξI;~k?R\Oﺼ D?,<9L>>>33>>ff>> ??ff&?333???L?Y?fff?23s???ߘ1,` ?fA 5kk`Z!>c= =TÍ> <=):>2!=}T4J>(/>=q;@>:o@& =@ܼ>`[mE<<@ݼ>`[<1:` >0!D=0̇>+S=AB'"> 5=T> <=9>Y=ע=TÍ> <=TÍ> <=1i';P@L==>L>>>33>>ff>> ??ff&??jý7_=,q?W<l6>u?s->~빍>o?ٜ>ƭ<1>"_?>;z>|"R?&>YE?3>?{=?,?>=1-?;?J>=d"?}?(?<>4P= ?9?>.=>J?D>݅W?>!a?'>O[4%>l?N<>< =\r?Φ>3ܼ q?Wd(=}ľԝj?n@^GP_?ǀnWd1R?hLq"\Q?xsU?$=A 3u6L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??~//2.>^?w~9J2# ?U?˨ɺr>gFl?*T2:j2Df>ly?bd ЫFj>wv?-0?2>xo?xݧ2{>]q?T10t>ns?32n#">o?Ɇ1P2>i?=>#1a>Wc?2k>T`?2³1>i?G2$H>Zs?e0 1"u>ju?!ƲIԇ>v?&J2u2ނ>~w?M0ni`3~>w? " 2u>x??222q> x?֍"1t2Ľp>x??B5L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s?? H?h>޼?3G?0>C=u ?DB?.;>p'>R?,>Z'?`0>?=?P0<>]>c>?Û>?A2>K>x?'??>x+>s>?эA?6={>6m"?YB?f?P⽀(?>?9GB(?.=?wv ͈(?=?RU ! |(?*b=?e39 p(?C(=? i(?ZL>>>33>>ff>> ??ff&?333???L?Y?fff?23s?? B쀾ѻ=r?B쀾ӻ=r? BBt=?B쀾һ=r?\Bꆾc[=F?MA3J:=?O@畾/=?@o=և?.@WȤ=8?tB5;~=7?=E@>}%b ?g?@g_@/ ??ff&?333???L?Y?fff?23s??_1Sʹ2|w?>28/1csx?S}sa1g}?5S2y +o?ȗ&>LW?uJ_3+o?/2+o?ݑʼ?uG2Ӱgv?0.~OWW?i#2lB82+o?12 ~? ]bM/0[ z?/FMVox?& ;3tgx?E3E, r߾x?)81P_βKm y?A1lgy?2HuL3Cpx?rO4M3csx?+@fYb7L==>L>>33>>ff>> ??ff&?333???L?Y?fff?23s??2z'1=&~?}1g'2x܎[`?ː쬲sC=X?X2+@>B}?B2}[2)>Wt|?3ゲ>>B}?51:<>B}?豟92B">|?@sѓb,>X|?9u.>A|?UH<>B}?~-\[=?chϲ4x 56 ?+B2~2s?CN2'KؑY?3C틽f?Hi2|?;13m?00Wyup?S47x܎\`?B@.6ҵL==>L>>33>>ff>> ??ff&?333???L?Y?fff?23s??&f;F2 L0?@ډ5}5ۭ9"G7mh<?F97 =x?9֥8m= ~?D94o8>Y}?a9Zrz8>}?9qo8>Y}?*9o8>Y}?93t8>>>}?\9m|8>}?\S9}8>}?h9o8>Y}?9u58f=z~?(x9 ת7\Q=,?9~ζPe}(?u9 Wy3~?9䆸tg%d|?B94giGy?xV94q긣,u?9ru??9^7L==>L>>33>>ff>> ??ff&?333???L?Y?fff?23s?? 2uVc?-2uVc?ض2#u3&ӷ?^2^uVc?E3!`?2% 3 L#{}?A292ZKz?鑲<2>u?=j 誾Pq?A2x2󭾨p?Iᐲjr?8ADv"6 ??ff&?333???L?Y?fff?23s??S131ZЯop?e,jr?1yIzW@q{?>T2#򅽯s?c(3%H?򱁗2򅽯s?a򅽯s?T 3o?n ?( 2p?Q6bò򅽯s?2k9{?A2Z7t?Yi2@vr?ò2 hEr?2VWr?W35 2ܠe s?OL>>33>>ff>> ??ff&?333???L?Y?fff?23s??0A'1?[?rO6G =<={?eA5W'$@5#u225?b B9>;>?z<;=?a3;٪=J ? ꀾ;;=$ ?I@;z<=: ?fS;=4 ?m;4= ?耾;믬=?| ;=b?D) <|=?ޅjL>>>33>>ff>> ?ff&?333???L?Y?fff?23s??P?^>=PD=??>,=An7??>|=Ⱦ1?v ?> m=},?$?>:'?e%?|w>d*?!?@> dA<.?Ox?->pHD=+8?&?.r>;==? ?>1J=A?"?>=D??!!>Ͻ=9fG??D>=_I?>ۮ> =AK?>d>X>ߚI?<> >,>D?>3>J>@?v>>>>r\D? >>mW>aGJ?&=A'064L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??2j2e2>5w?HO2I2>sw>ix?m@u2Zn1,m>y?$Q2O2a>y?113Y>%%z?uL=V%GZ>z?[l. 9i>Hy?8`15q">w?+DZs>J v?V1x2䠙>64t?u/۲~\>Gr?IƣkA>p?RsȲ全>no?Ti3>o?=VE%Q>rn?w7_M>>An?3 >pn?Ш-3Uf>o$p?)2ퟤ>gr?;m3>t?02z>v?CB;j6L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??Xl]@Wb?Iel?mFê<|FՀ ? fCX=Eu $?L?=֤Ë(?:yH=,?!BVW5iL==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??Tis=}?-g_@:@r/3k.W[%0}?@`y{5D/lp?B@I65:B:uo2@S0\Q!ù9?6N-p?NYA }>77> yX?8AVX3*\?8A㥗(ݴ!3I2\?ϥ!5>jB?]># ?0AR@T~A">{ <=4A&М~5?`0^̰5? 8Cɾg!mjvǾ$g{@žEhu!WþhJ0=P4iCs۽j8_ѽoxj"ǽ(s($kIF/kk>@KRͷrk_~s_kɽÖjY,ҽ fjy3ڽ¢,i=$HKfQiˎRZw¾hb-ž'hfUd(fǾRge1ɾ)fa8/˾9Tfx- ;e,  @rAL==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??yW03?3]?危F >^?˲#e4>X_?~p62tV>;=a?1b1ʲt>hb?1)"2o>c?Pl22>e?3d2+T3,)>()f?14!3j> >g?2Sت2>Wh?9=12>rh?'2Q2">og?yqV>Kf?i2=>L e?E1.2G>c?d5޲(3ǚ>d`?*d0>T)_?°i:?]?^3D3P?[?1}2?OfZ?hvB]6gR6L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??b}L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??d2 55?AA|T2KTdCA]4tsh6Q 5EtB>_>0wtB>I>S+5tvB>>U&\t_B>٣>t!" u+%B>yO>79uA>>?RbuVA>)2>O@uA><>'uA>>uB>x>s=z{uNC>T)> VuC>>$C$0u'C>V >' uC>eX>*tC>b>8-.`tC>l>d1tC>>C4atC>N>75tC>b>; tjC>%>]J>sT[C>q>@lL==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??2-;>b?n*224=>d?ʰ 4>of?ۆ06I7>0h??^1><>i?nq2nuq>ok?هfggU3J>l??2;ϲn'>Sn?&1 3ٶ>.o?M1 >>n? 7Z22F>=m? 3G(>wl?2: /2C&>3k?LZѲ?G39>xi?ظ2L[>{h?s-2K> g?J2z;>e?1{02>zd?:^>33>kb?ޯ10 >V`?Ռ=52>v,_?kvBR6L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s?? N}*µo?lEL+kvZo?oC,p?dF-_kq? 8.'χz!r?}^.?jsr?ö{/zOds?k/fqs?B>);/vRi6et?F *0it?ˮ|$>4rQt?Sʸ${s?߽$e?s?H壽$džer?z}o%߉q?s%Z/Lq?\ٗ&X1p?@'F o?fj'A۞ o??jS(^Bn?ފ( Tum?}B/6lL==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??S,@55?AArDrV-2 *?CAմq?0  !"#$%&'()*+,-./0BDB&?;;<B<%?BDB&?L?wA|CL?\AׄCL?B1CL?BdCL? ACL?Af CL?yO?VCL?2PFA CL?A>B"CL?1BOSCL? BCL?!gAB CL?@F^CL?@CL?i]ACL?wA|C=>L>>>>>??*?;?L?]?n??>?? ?>^i2n6;dD5Z†q?A S7|ԍ}3?r0s4g}?K.6&53/k(y?(G5ʰVX3?Ȩ;7]%/~;?E%1z 3+~?|ԍ}3?ۂ@=۴Dl@讼J@#5-@آ崴@#y 23@mO|4BՂ@/kP[@\o@x5 @"[P__0@;k2@7Y4΂@D3͂@I4Ԃ@D4 4ۂ@=۴Dl=>L>>>>>??*?;?L?]?n??ԣc1RuP>z?13> |?̷Ӵg>CA}?0(=Z~?0L~t={?1 Y<?^o1&,V3uVb?C2TY|@<?L(ۛSz=~?28̴d>5}?9Jٰ=L~?U 1;X2;<?ٵJ0`3.qּ?`1!m<? o=[~?ԣc1RuP>z?DA䭼X5;GA$q4IA>LA޸ǵQA#4VA~o4XATAW;ĴMAƹH2}JAG鶵NAd5rVA\ZAqnJIUA{5LA͸2DA䭼X5=>L>>>>>??*?;?L?]?n??%?5O oL>>>>>??*?;?L?]?n??.*h?oAֿڴT> <=z;P@ 6㾸Uþ9>RJ?@^ھ_*>{N?#̒>BG?HODO>.A?KԽ8;@>*L? Kb4=zP?s¾83%wK?DI[¼BU?`Gb9>[?jDT>W?{^2[>` Y?Pc 6=U? zM?gC꾺M?@ӾԾr=N? 6㾸Uþ9>RJ?#=AH97=>L>>>>>??*?;?L?]?n??$?C?1m2`>a?Sdm2Ս>Du?&4k3?>k{?Ǻ 2hp3r>s?c1n ^3P ?X?I3)???D1ڿ16!?@F?ք2<1?mfZ?:rH33%>.e?VI2]fU>b?Z2YB?Z?Ciw+ ?@R?V_52G@?M?e'3!?H?$?C?=B8_666=>L>>>>>??*?;?L?]?n??o2{ԫke{x=“27$߾Z Wh2>nڐ=[NF(7>=TH.1>=PJ++>ڐ=PJ++>ڐ=TH.1>=ZNF(7>=PJ++>ڐ=Z Wg2>qL>>>>?*?;?L?]?n??xAoP>^?hB񃾠=I? CC+Fh=`?.xCr {B=}-??C+y=;?CUGz=4?/xCr {B=}-?/xCu {B=}-?CTGz=4?>C(y=;?.xCp {B=}-? CD+Fh=`?hB񃾙=J?xAoP>^?B?Mg_@R=>L>>>>?*?;?L?]?n??e29csx?,@xR) 343y܎[`?B@!7[aa6:5\wEV/?@264CôA992:{?p96 YTp?9J^_?9 mriP?9U}7Q/K?9cw+M?9uriP?9 nriP?b9w)M?t9P}7Q/K? 9priP?9J^_?v9$ YTp?A992:{?KYA|>*7=>L>>>>?*?;?L?]?n?? 41R;04K?AiYJ?I3a2 ':J?L<22I?>~25\I?و~2I?W]I?e 3I?/rB2 ':J?\J?41R;04K?8An{,7 =>L>>?;?L?]?n??12jr?8A<52"%1t30?[?xuXť6N0=Q>ڋ=Cu? eV>(r=Xw?9qZ>=x?CV5]>?=w?S o>#B=@qv?TC>YĝÈm?QML>9Vt=Yt?E#qz>>:u?,bv>=u?+)`q>*>=t?.bWok>"1;<@s?>N6b>d0Zz<u?N0=Q>ڋ=Cu?eAL>>>>>??*?;?L?]?n??5}M(*5?b BQ9>b>4 ?k;2=h;PQH> Һ>> C?'>M*>J>H?#4=>/d>{E?:;$ ?b>QB?Ի=4J?O>jJ?yk>9?s;1M?>X>8J?C>?l9=N?G=?)>˾C? ?q>6?++=@?j>|D?0>V ?!<>L?3>S>+}gH?>>D鼱O?>d>\>ВQ?QH> Һ>> C?#=A?4߶=>L>>>>>??*?;?L?]?n??|D^C0_>b?uTl2b>g?hc2O9>8k?Ʊ_1v>k?֛*,H>Cb?Ӛ[2R?S?Qy1 2~?L?. 1?꫰M?5\?^3>up?m!V1{>(jw?m0 @̱>_n? 2?/ ?n4V?8Ա&? B? 3\e"?}5F?jFE92\P ?|vU?|D^C0_>b?BB^L>>>>>??*?;?L?]?n??P<=lτ?qBF=i Z"?&H2N= \3?*'YX= }>?f%>E>?)'|>4=5?w'>%=C,?M&@>Rj>sw*?''=S>y=p+?w'>'=C,?5M%ɪ>=N'-? #>>-?w'>&=C,?$o57>`C='?Eg>/ߟ?P<=lτ?!B.47Z#6=>L>>>>>??*?;?L?]?n??Ths=i?8g_@M@DNرX[%0}?#@𗶎5g2~lp?B@R726@r2$H1m;2@r>Wù9?6N-p?NYA|>7>Zb1!X?8A{?k76:\?8Aͽ6"7W1*f۱ \?6ܤj>iB?]># ?-AR@]~A B"LJ(zy|=G@.4yY=>Sm-xm>PV}w|=nK qu=DkZyq;At0u-Z= bbA#vt>LMQ=t|U>WQeЄv)>U\uC=U,uq=ZO =t|ut=0`IP9x= B#LJ(zy|=2A&Ϝ~=>L>>>>>??*?;?L?]?n??5?25? Œ9śo*˾f\)OyIhZֽvǾWgKnI ЫKT&vꍴEzTeuuT"Tg uܾHck:-̲W{x<X޾wc卐Yu&uýCI&<{Z'ֽ6zaɓ{T_vWśo*@rA=>L>>>>>??*?;?L?]?n??K)1ls>Dn? ß2Z2>(7f?Lv,2>'`?r3>C^?CFC2>^?UD283>rf?Q72A>8Dm?_2͚VG>ޝf?2ޡ2cO3>%`?Y&*1 >a?J=>db?h02a2>rh?&2U'd˪>%Vq?;'ʲ >r?2)3P>o? 2yV2s>Dn?ivBҶf+j4=>L>>>>>??*?;?L?]?n??=j=ս|?7= =K|?=ϙ=L;|?j0=Xм=|x|?t=q=5e|?==$sz?S=̜=6[+z?=*=Ziz?Č>d=t{?6 >`=sżR{?>=&W{?`=X=iz?=j= z?=|=MF{?z=<=0{?=j=ս |?}BQ56=>L>>>>>??*?;?L?]?n??u2R'55?AA^6T,h{c CA1y4_5 kr+v>>ҍkCj>>ɳc^>>b;Oah W>>.ylLV>(K*> }uV>@>M=/te|Q>2l;>+cwh7>5/>U~mlt>xZ >z律aR= H=օl2>=)y >>9=5w!*>!>S=&hvjF>^>v]>y> kr+v>>@k=>L>>>>>??*?;?L?]?n??3yײ >Kq?83*P<2Y>Nb?=2/0-?T?u)3? O?\3?X?4KV>Pm?CfG=T>sz?V22>e*l?)3N ?>!W?݄1F0?PO?{G2"ȱL ?mW?eW2 >Bk?310>*|?$3">N}?(r13~>w?kY|2>Kq?hvBNĶ=>L>>>>>??*?;?L?]?n??O:=cSVx?77=,Cսy v?V =[vWv?H<.ԅ1v?1=.ѽ?t? C='zx3u?JO=>L>>>>>??*?;?L?]?n??٥Գ55?AAժ`H#+x *?CA57̌?0  !"#$%&'()*+,-./0BCB&?r=`.,?! 81?55?$+45?36?/3%6?32DL7?2_r7?2[s7?W2Q7?27?R36?E3:6?^4]5?55?aH6@3?5o81?;1.?=|+?!D@)?BCB&? AwACQA5U@n C5bADR CbPA y*B=LA4BzLA9B0OAWiB\SADZ9BK%XA `B[A,B`]AB-WAuйBwHJA?roB+=?AP{B>A>ǼaBbPA*BA0CABx CDѫA u C!l:A)& C_3@Aa CM?wA|CL==>L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?>?? ?>4lO6c75Y†q?AdR7]l2f^3?[ 2;,42 ?x/A3Nr ?^7B1,]3?lw17!%4Hs@?Y<= =?P=w=I*~?By=Q=wؽp|?֘==Ƌ=͚|?YM=pL=`Zh|?=ٛ%;|??zq=e }? D=PO 㿽-m~?v=2e|gJ?h<2(w? =߂@{ Ѵk@ ft:@3#;@sz|b;@ uZn;@?X;@R{:;8@g;3@F!;@KR:#ނ@L:}ۂ@c̴*::ڂ@yᴼb4@؇ A/@9@6͸@ݲۂ@3޴?84L==>L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?'vP>z?*e1.Kc>y?('1\-u> x?u닱O9/[>Sw?,1'B~>w?0h>y?2݁ N>y?нB>:y?(콛:6Q>x?G,;;l> 0w?%rX=>eu?\ȝ=|>u?̽j=g~i>x?6iYb(=Yp>@x?üK՟<]>FAw?b18Հ>Zw?=B~Vx>x?G|n>"$x?M̓Od>x?}ͻrbZ>y?4{3uP>z?DA쭼`>5BA窼"zAAþ"ч58@AI>»bCA-SDA;n%Ċ'BAo9 @AIK}@AšW.6=AAyPd9BAEm"9BA`ê)8CAU`8DA譼L==>L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?E5O o~t?|toM>n?Sqfc-x>uh?s]l<>Gn?O2=$>Vw?Gf4<=Y_=\sz?ZGWds?\Nn>o?W뇔RI>("u?/a,@<{=y?a3U=#,x?nQ&<}y?-Fݯ<|? 6=|?MĽ cdz=z}?Wt)@ =9?lw-=L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?5.k0/-?iA'_6bǾ5T> <=TÍ> <=L$>7I=J)> 2~=K\/抇>4-]=]3 0>(|B=^1fۇ>!%+/Q=4X>';=8Hވ>>#!=xC& =Ґ=k>.=5~>q&V4=?v>R<<$D>I L =Bo5Qr>&v6=ު.Fn> -.b=)&'> $5G=T> <=$6;P@>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?|I׾½ ]?<>-%z4>([n?W?•O>[[@?5?>?E>>,?מp>?BM>1?>!: ?p>5?$Kc>'?N>mL6?l/>'M ?3>2?;=0* ?Ä>k-?Q2=& ?w>5?.> >S?@?CL>r>+>oG?P>{>C?P>H>@+>8?D>>>-?4L>N ?i>%4C?L>_u?ޓH>CK(n?d?>Òu>U, >-?8:>T?|I׾½ ]?$=AH75Q(7L==>L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?A|O3m>h?/09ZQ?bH??1T3J?dk?'1m%e?s>w] ֿ2d?w_>F39PO^c?H>2F3Ce?>?2j'!*h?>ղY,3j?>*e1Ul?>vb2XXRCl?9#>U\#kxtk?>Y5ne?6Sk?5>,2߱m?$a> 2Zo?kX>WֲE'Dk?>y2A2 V?Dl ?1V2엧1 iC?}a%?>0j 20?29?7Bl2^~?q L?V2Q2a?[?yM U3m>h?>B6;p7L==>L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?7?U zpk&?57?Tz5:'?x6?okrz%(?7?O zqk&?eD?k|X?M?n:$}M ?D?eʔ?7?8Ƽ%AH?Ӻ)?3ľq<$?K ?0e,:ξ*?#o7?Ő3l@? B?"=4Z?N? += >iN?a<侓>z K?9{;̾>ٔF??e@??9֙?7?b zpk&?!BMx6!eL==>L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?B쀾ϻ=r??*g_@<v\e2csx?>@b 6-6 d35:w܎[`?B@|!6`5 m23/0?@iε{?97:{?KYA+}>F7d3kܾg?8A\xt520jr?8ADG6RZ'pZ'?[?.hcr>g<7_v?1>9=u?_=>>Y?b>ѐ*?*x> ?>P0?F;>? >Q5?=[?^>-?8=AC$?>o%?{b=|Q-?*> ?ک<5?ʣ>C?b\=?(9>I?i4?6>]"?p*?u>))?䥽^ ?yG>&?'?>,[$?a.? >!?4?n>7?ϲfGH?I>??pFY?~=>V"af?gѼ>˪8rp?ZJ3>],v?6Khx!>G, w?eA3W'$@L==>L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?5ıe05?b B8>>4 ?k;2=4 ?k;4=[w1?%GB. >|??n$K7B>$N>?1?8?;e\&I@>22?Z -7>JY-?%2,>)?/6}Y#>P.?%t3g1T9>[6?<8a)g>~;?b@ۥ#>y1?KTZ\-=4 ?l;4=?Qd= e=",?$G=ժ=S?{jr<=}?L;^<}=4 ?j;3= 6O;PL>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?>>(>sN?6:>>? >T?S4߽>?t@?湾z>M0+??T\FN>0?R?h->?y)?q`'=m?Y ?Fi++=i? ?M&;RGM??b\>Z-??ݾs>$ ? e!?op3>?1?>F>|a>hN?>>/>YQ?j>غ>`?>U?Y>Bl>pK/>1R?>>(>sN?$=Af+`d4L==>L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?ג2Ǿ2?>j?:= 2>xj?;e2g><j?~2)2o>-i?ϦTH>h?K2UZ>@h?2>1>Yg?gk 0h>?bi?#1D~2r>q?P|>B~>tv? v1G>r?/;VoP>ak??h1ȲK>f?G82>^q?9ղX533Հ>?w?2VCo>,i?㭷cI>R h?3}Kd2DM>$e?f]52e8>m?l2P2>r?U 73=uѲu>_Cp?$>>j?@B4~6L==>L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?P<=hτ?YJ;Vx?b@ڽ/^ ?z59(iپ ?$K;L >ž ?0Fk ?wM;WD?P=?@'Խ&쯾^ ?,\Tv?c[9SIYo̾H ?1>g?S>nl>M>CWDt<2>-?=W$m<>*= ` ?P<=lτ?!BzD7L==>L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?Tns=f?Fg_@A@d2;Z[%0}? @x4aBn/lp?B@ M6ŵYm0ĉ12@;j5ùp9@6N-p?RYA|>7>2$2S(YX?8A%<2\?8AX6@sX[ 2[?X4T4>iB?^>" ?0AR@W~A#>{ <=J ;z)=!*` >Sjr={>sdgh= K`>bO)>S?_v3XWO>d?;1<9>ξ-I?!0">uھ?-` >澕?6+=ھ?81u>ξR ?q6\>M¾ ?h;@#)>?@:><?D.J>5ܞ>c;>1=u =lF Dx.<+FGht{xsL>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?5?<2J5? 9㾦bbf¾p9f~'X pMS稾f;ŋl"ƾtaB&u߽ʾdjh1:۾6csC8޾LP̳9^TH_֋ӽ9'ݾF`KW>#Q?4a8B/[az<侴Yc0/f@򊾜VqSPK.lpgTKkܲ?åclo=igݽtls㶽@rAL==>L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?/B)%>Ɖd?12P @A>d?2 G2*>b? Fs2g2E?I? 0A2H(?É@? 303-?4;?W2ډ2/?05:?*J/?=:?ic^3-0?E9?`p6S0?9?jh3F@0?J9?,2h!/?9?8<73xi/?Hu:?? 2$Z.?!;?130?9?_/,?p=?a11@h ?p[W?%B˲]c>Uh?y[Y2]>g? +u3T>g?"%2O=3D>n?s1N$=3M>u?gvB>O606L==>L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?}>$9}?I<\»N}?pg)Ky?Ľ;7r?W=?=upst?- >T>$ Lڧr?ۜ<=>K wYz?)㽟l?L=;{?>\>"s?ߨռ>8=& 8|?HXe ߽x?ޝG =4Il|?->?X>u t?Q!?R=9#^|?Pa xݼw?xys?cA,"u?Y[,;;jx?;V=%}?(;=|}=\i?>= b=&<}?}B kD6P[L==>L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?~~3Ȥ355?093;255?2##Vvm ?wwcY2Vvm ?B|3V‚355?m155?AAu6=>@?L?gf?72ӱCA:=!8,gR>J>WS>Z`m>nI>3rf>>{ކd_>>[9>d"þOWjm'ɽy1=Qľv$^T硾xJ:cζ%ؠ=uS['>#>Ak`Tr|=W=Y^TQe=x>M^<.q=tj\Sd>->mi]<.= ^'%O=t]ҳ;=LDfW6V>$>tdSe>o=>FAm>SB>loJ>JF> con>bK>S5olp> !>~6l%j>Ν>@lL==>L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf? 2TI2>g?Ì2x`f?s[?[ xpy>}i?!2)LD?R?V@1a˲8>$?^D?3*2V^C.?;?13a0?A9? 2ͱ./?R:?KX/?{:?J,3.?:?O mV.?'G;?[t7J.?/;?7-?=?Ǯ:Ѳ?&]?-2J|2O>Oq?39 >nf?p/=R2>Su?Xm1j1:>li?I;2;2$o>l?jvB`5p5L==>L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?Y<z?!>DϷ& ?y?go>[smu?b?>%p?MQs?Eh9=Ok?ΦW7 rz?-%G>nv;T*&y?b=Wý\D|?W\ \u?`}=5iݽ}?v>H@=`w?0= "½`}?לa>py?4$==8}?p>r0=솲w?F>Sbzfbm?v> 2Ͽn?i>7"1rLp?R=;F=ax?K5=*ZZ;(y?< -|?}BȬl6˵L==>L>>>33>>gf>? ??gf&?333?@?L?Y?gff?43s??gf?f55?jG%;-? 55?*jNVwm ? .Vwm ? 00155?;2(Bձ55?AAݶL==>@?L?gf?oQ0cթ?CAfO54ff?0  !"#$%&'()*+,-./0BCB&?fz)="D=XS?辸=l=U ?s='/=uVW?==SM ? ="m=!L"?:W=;P=MGtA?T=5==8F;?۫=7*= E ?&=GC=E!?=V=Dr"?\i=$CZ]ACL/ACCQ%~AIC2}A8 C[a{A; CL?wA|CL==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??>?? ?>>?#?L>L>N?N?>>??> >??S>-S> ? ?>>? ?F0>[0>??>>jl?vl?>̄>??>>r|?~|?>ũ>? ?>>ދ??^>u>??>֌>??>>??~>>0?<?>>??]=>r=>O?Z? <>%<>a?m?>?? ?>CIL==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s?? 675[†q?ݑ:Y <o?2:p<%g? :Tx<\W?&;t=~A?P;E=%?fOu;_h=z2?I;]=X|g~?;;=r~?y;=?;5̇ASz7?ASGAbS o>A SJ7L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??t>0e.4?( ;Ŵ<^?_;4=<?;l]=&[=r?;<_)=<?~<<KZ7?m24 z?pO:uE:B?^ <K@C}?9]T<HHd{? q7<1, I}?M\ *=)/?q<)|J=Ʌ?r="c=$ĽX{}?n=59b=#$90|?B=yI=.ڽs|?L=D'=n(Ž<}?%=ݚ<4~?}R=ҧ< ?0e.4?ۂ@^ش-_3Ђ@L 80Ƃ@ !19@6Ŵ99ǂ@3G9ӂ@=)6:G݂@Gƴ f@Q9 *B@xû@?w߂@ނ@/)@/5d:@X;C@);@7=oc;@ ՘;@^k;2@Ųc;@!6$:ۂ@^ش-_3L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??d 2*tP>z?Q;I=o~?9<-ϼҴ=8?[x<ȼJ?l<63;8O#?<4=J ̀?@QL^ĦE{?[@>E^x?7>:y?>a˽{?=ӀQD=9}?N=3YFĸ=}?'r =A*9>~|?d 2*tP>z?DAI䭼+LA9SA_:YAZi2:O[A߼B:ZAf :XZA/#3:][A/vCs\Awɪu]AU\A[vZA.-N\An(6;1`Aݲ;`A߭<]AL>>>33>>ff>> ??ff&?333???L?Y?fff?23s??/ <5O ol|?d(h=7j>z?$^.=i=gz?Piϼ>'̟u?E >%rq?T40=LCZu?aܷfC\ x?򂬽wn1߭.aw?='uo-v? ]5r? )>\7m?ˈ>kJc?+;> SQ[?Xƭ[>kT=2A[?ݡӾ]$>4> [?nԾ_97>;.>`?ņ=D4>}m?$F|a={=@z?lw-=L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??d!03R.ܻ?hAn5T> <=\<><=!ψ>O=ƴ=T> <=6-S>)B2=Z5v.>z* $>q#>h>F%:l5=  Gʙ>FP^=TÍ> <=T> <=B-$f>/t1n=1lqH>*.v>3S*>1,'>X"4H%>ܦ+{8>2C>B-}4>/1> r0͋!>,n]E>Y3; >r ()[>6S=$.p>-c9=w!-~>D:ر=T> <= @X5<;P@L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??Fվ">kG?Ṿ6> V?mz}PP>nb?.h>j?q{sܖ>+il?f3_^O>j?aֽn r>D h?h"6ǾN=]?3\vHOQ?:>|TE=jT?HYe?;P?0=OU?vS?q>@K>U?>g,0>3\?F>#aG>f?E>~Xv (m?I=Ջɽʈk?s_=߾x˽td?= |e /\?b9@ >ʐR?]ܾ c{>0?%=Aψl37L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??921>I^?'2'Ɵ?NjR?2,83n#?cD?7 +T2_(?@?{W2N>$^?2>1#>p?ز1ui ?~W?iò A?Ώ'?cD?#?Ƿ2!~0FI?u?50M8>D0u?oWt~10>*|?Zf3ɱ >i }?L[3GB2C>HN{?OJ3b>r?'37Pe2m>.N^?]?[ϻU7?\M?r52(j^?\?SlU>k?ID3hQH>|Rb?X EX+37?P?AB ]۬6L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??=yU=C=yuP=N F :ws;"!jIqG]Τk`Ye1[Y[=Siu6L>% o$Lwn]>R<>k> =n7>罫=#r A>30bLZeN7F>ws&þ <&=jj7*"'==2O/=Q_9$[mqa=A-@=l=%hJE=׾?|tI=iy=P|=q=1t>2u"X>!B=5$5L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??cAF`G.L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??rݛcsx?3@24P6ʢ1wxw܎[`?B@6Uǵ $b/(n>($$0?@vc01D:93:{?p97]eq{y?l:90ݸ_v?*9`3jr?^9 /ޥ־jh?I79BVZF|[?I9õg(T?w9pȿkQ?{9>pȿkQ?794O'!e=^?v9qpɿjQ?6 9ZzL?]9B~tK?Yw9pɿkQ?9jAK쾽b? 9Mܔt?E\9t5{9{}?!9гV}? 49F|?D9+_|?<9J":{?MYA|>7L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??01kܾg? 3쾿c?g201_^?N苰^K0NX?ȹb@;K? .㷱y,-=?^(2(4;5?z3 1&8"1?X2_Z"&8!1?e`3lEw)A??K𛮰&8"1?h1Xc=K>,?R24",<@)?Q2 3&8!1?h…1y4`N?FQ2wǾk?h֋Ply?e2r33ZOw?)2A0-H_p? 3rVfƾl?3Y0kܾg?8Ar ö՟6L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??2 2jr?8AE6&36jYrm1}J?\?aH _>13>JG='y?N1>=Ly? @,U>G=y?s= x>x=w?~Z>g<вw?\ֽ2>x4u?r :>ps)ut?/*>MXvs?3|o>j!w?䕭=7a>s͒f>$=r?Hhw>J> +=[m?g>d>B=Y k?>Ȗ>!=Rh?L>d>A<q?ц=g>bu^pL>>>33>>ff>> ??ff&?333???L?Y?fff?23s??5ͯ5?b Bx9>F>4 ?k;2=~&?g6D="`+?L`c1=&,?܀=1<Ė=`?(?P"4t=?O^?ս/DIA[>?޽iAX>e?ij@r<>?+)?/(>b??>b>?9J^>y >?rR >Vq>W?<[Y=.=C?2Rai=BZ=y ?k<=* ?uk<=4 ?k;2=3(o;PL==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??E>V9>??D>>&F?d*A?諎>g>p[?<>>m?d]=S!>tt?R{6$==u?ir$=R<9w?b+D=D}v?{Nþ\?k>\3'>.Z?6>K'>>7J?D<>>&?-?a>l>y>G ???Gv>+>z:??b{>'Ť>o}2?u?h>>Q(??u>>*?b?E>U9>??%=A951ضL==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s?? 1G>hc?JL*Yt3A?[?2(!?F?1av16?@K??1o0H?>O?V12?tiP?ѕ2x޲ ?ƵU?.欗{> g?Uk2>3s?( ˮ1k>:u?u2_粆>vIt?Y|3W>q?I²3Z>m?.IW3M>.i?Hl2>Be?uۮI>c?㞜22>c?w<03G>hc?@B ML==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??P<=iЄ?oP =}"ҽ?Oו>Z2?NP>X+s ?M|>+? ?Nї>nG;.?P*>FT1>By<>3Z=۶ɾ?TWmk P?R}ن: ?R/ѽua ?P{%\ ?oM>F] ?Kjwtz ?VJ-GՂTu ?Iݽqh ?/EJeֻ f ?jLddk] ?1O쟻:?P<=jτ?!By67L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??Tis=Z?:g_@G@:aX[%0}?3@x6y 6Ŋ#/8$Z3lp?B@ZV4+]Ue2@B =5&ù89?6M-p?NYA|>v7>G@N1X?8A56FDP'.\?8A ^6mﰬuְՖ[?~>jB?^># ?.AR@W~A^ݽ}(֐=Dw0=|Ց=+.)*=*z[=$Lv*>vڱ=o<>DulwN=]A=xrYW< ަ n=pqȯL>>>33>>ff>> ??ff&?333???L?Y?fff?23s??5?1Ie5? ª9! śo*齺]nt-ý%m lQIDgUrՕ-ݾL\ ƀY׽7zMjvT6D<8!Cl#2&F!"d Jf?Js2q'?;T?1bAT7?A J?+9&n ?IeI?|l?9K?m07HJ?M?53ʥ2(? P?qy2D3C?l(T?n1<93 ?FW?h3H?;Z?2 k3˂?\?.2{Vx>F_?@:2P>Ya?h17zs>-e?2䌊G>3h?2iC2>;k?Cn?ivBJ!U L==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??=j=ս |?= ע=͉}?-=:=̱}?=j=r9oC}?=;=A}佷v|?i=^=m !Muz?==4ay?(o=A=5Ūy?&==f0Zz?<=K+*{?;=*o'{?"<5=*z?FmL>>>33>>ff>> ??ff&?333???L?Y?fff?23s??c2Zz̲55?AA~//uSJMN0CAJ5)4 kr+v>>?>>tq4> >dc&u9=} >1\s<= >Kži-Vc>v"\k97*=T TԾB9==Q!Uٽ^U=TY$=H_q=⾱hc]=Ҿ5g>q=Wcþ)mj<X= lE7O=j>A nX=g>&o='6 >VЍ" q!p>>F~q">A>_}r >>rC>)@6rZ>/> kr+v>>@lx@5hËQ@YT@gorW@-@u~z^@5Z!@חK"@hЊ r#@X #@Aˊ9"@ @+T @F5@{@xc)@W׋ @ŠoA@+[u@@lL==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??fS& >Kq?1[Q߲T>+s?etͲr2>t?wڠ> s?1=%3azɲG>+a?#s3Gu?KI?מW_0[<.?ǎ;?hi3y2.j1?8?Y:2u/1?8?2b:,5/?m:?2*? >?*fՐa1f$?XQb?@22`> g?7f22C>{l?Gg2 bo3>Kq?jvB* DL==>L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??w:=^SVx?|ˡ|z5y?9$6z?C83y?KLf_u?ݽ9'mo?Qz0Gj?[|\69Xh?!;-e?,hw?$ƾc?"+9Ǿc?>1k/ž_e?Uxc' g?+ѽ.L>>>33>>ff>> ??ff&?333???L?Y?fff?23s??>219M2155?AA5*Ԩ?CAb#3ݪg5=0 ? ? > jVG?WA>?? ?&==83Z 6^B5`†q?AÂSK7#=ZHy~?@kQ#?92}m <?VAj*T5vj6uu?Ae5n1Is[4,5?%>@ 5C̍>>9;?ҋ@6t[6h4 51@/`0?iA5758=ufAX6>[n4M;P@n'{֬о"=AXò17Q6\hM+? >?>B`F6?=5,?!B>=60B쀾ϻ=r??Kg_@:*2"2csx?%@ $M5ꪂ1]wy܎[`?B@` 7Dp1s(,&?@]N69+7 =x?NYA|>7EXPTuVc?8A]5 5%ŲR3jr?8AȤI܂\T1#1?[?=5ީ76߽}i*>u@eA8W'$@5q-X35?b B9>>$>YsS>^6G;P!>_U9?$=A80Sz 311>Uh??BZ[64-͸ʸ>.?!BehQ6Tgs=8?Pg_@<@r9_2Y[%0}?@0Õ62r6lp?B@t"(f̴E2N1>1@8 C슙ù9@6M-p?JYA|>Ԑ7>Hs2X?8Ai262$\?8Aɩ402>[?f6Z5>iB?]># ?)AR@U~Arwϭ=JW=2A&~5? 2d9=25? •84Itl<>{i@rA,І1!?_MF?jvB*v(5EP==[<^~E?}Btem2tH255?AAA3̱/@!CAq 5>W|Rt.GY{;@lZ 1o+2s>Bd?kvB5تb5Gn=%|d>j?}B@2@Ʋ1ȿlQ?AAU66^0 ͙-?CA65.@0  !"#$%&'()*+,-./0)55?E;|Z;JW54?Oy;;(5 U4?;S)<963?i<@e<0v63?g7<<63?)\<&0?d=z= 2;-?%=礃=`;W-?O.==;-?V6=@=z;,?r>=8=3;z,?WF=_=I;,?eN="=;,?1iU=٠=a;,?O]=r=:R-?e==9.?L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@>?? ?>M2-6XB?5X†q?ASGR7)?k1hl4?=x?خ P/B?h9DWlۼ1?Xzѵļ?mB޺O̭?Jz]޼J?Ȁ^V$([?*W4P?^ZKP"?IARb:e?R1yxN? X?_>3}:h?ɿ#ī;??޻p;?B Ox<?UXaE<&?n;7~ɻ$joт@ KCrЂ@H!L^ς@@kYK΂@Coh͂@DX̂@y?+y˂@>,ʂ@7ܹɂ@(Ȃ@3:ǂ@ c>Ƃ@d4Ƃ@ᴼ0̇Gł@Ă@Â@H‚@z/6‚@Qp@9ʼj@buH@t 1ٻ8‚@+GÂ@-ł@wǂ@65d_Իʂ@P 5΂@@j缕т@&^Ղ@0N؂@۴Nۂ@۴2)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@)(Դ0/xsP>z?!7e eVM>z?F,+J>z?n҂F>{??TȺC>H{?㩻D UO@>p{?"5h=>{?ϻ c9>{?ݭa6>{? ⟻i3> |?'ɐK/>q0|?P '̻o,>iT|?c\")>ww|?%%>|?*~69E">|?JR>|?Qbm B>`|?' >}?Xj >2}?꣼֥~>bM}?" i>f}?˚ԼB5x >|}?JJɻw >}?@ >¡}?_6k >}?B5<>}?~:&6;]e=<}?Nv<=8Q}?ֽ6:{?.{|3= P>{? <7>&{? ̍xv<)>@{?5*Xn<7>+{?!a;ߞD>,{?l0sP>z?)DA孼q1DA*_~8EAۮ9yEAAN%EA#Я:GFA@mJeaFAA|FA)MFAtùhHAF1ԹHA HA6jJIAǴIAa+IASiXD'JA3ahJA%JAB0JAxA3KAoƺxKAʶKA϶pL9LAI(@LAVصx~+MAƜѠMAWMAot,ۻNA4" SMAڗR!MAƯ!LAaAһJA3M׵IAAp@4HAHZ*'ZFA󸰼}? EAzDAS孼kô)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@/P1)-5N o~(G[Gu?eZ;;>9ɽ= x?Il=7 6pY x?32>(<f˸Jx?D=>'żYy?j'>ɬ=<;y?2}>Qqy? x>_ Zw?KV>Eu?Ps>!}@Yw?3Pe=0z y?#9˽=),{?Q -=}?Ώ_f<, _~?*[?֢"̼Z?;ON;6?0/O(<~?c߈U=R}?dIL<ћ=]|?69=<8=hz? sR߉==G(x?h=$=u?we=>Y6t?~ } >{> hs?w >( >Gs?Ri>>`u?7]TH=a_=v?>r:=V=y?cʋ=~={?/K=B=)|?3ý"n<~=z:~?Kk:<:=?ˋ@B6]ͳ)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@hB1,w1?jAnMV>?>HI<V_;P@)-5>2?2=?5>x#?3*R2?9;?\V0>1N?ap1 ?C?=sm'>K?$=&EA>$O?>i>F/I? H>.C?A?->ϰ3?F?U >?>{K?*>>yI?+*0>Rc6?wXE?~u9>@|?lC?>ײз>YG?W=D>fL?=5ɦ>Q O?= e>M?,=m>QMK?>i=R ???wS>/?8|;?c>l40?7?@(>y:?4?2>m%Z#?<2?:>9 ̾x?Q.?L<>c ۾HI?uC+?8>S:뾁?A'?B/>?UG#?6V">D??\>n?̩?8>R??>BJ??>;?s#?:%>P ?(?.>>$ ? .?qS5>վƱ ?2?a?8>> þ?u7?8>Xd?fz:?,5>2?2=?$=Aj6 B5)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@)6\2B)ew2 ea:52zmd$ӏ?De?j2FKŁjzZ;T>61342pᮾo2CMtD2{lAsc/2 3*gqkP1òr3O+3 2s6/2ȩcs䶞XDrrԫzqԨ2Q?2|r|){B=2s,⛾Ɩ2}Tts8m8:z9nrm'r&1p/签;R %nٻ;Ӳ*kPʾK11!.hs׾\2˔e{bu0|22cB"q2 2cŭ'dp`+ 3f޾O24ͲAi?Ӿ~Ű21k"ƾ5Ϣ2S8y2Pn8q3pm1}t w2xr0e?Q%p<%'oJI2{V=3l`¾E2fj;2T"3gzؾ S2߱e w@BC6)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@)F?L=zm>~?lF?!=qFu>?BF?Ȱ<||>ce?SF?9=or>?D?:=D>=?Ay??1c>5%=M??8?>)=^(?5?x>={.?ڍ5?M>8=+?}=5?ׁ>=%'? 5?*i>ޮ=)?Ӈ4?mh8>=-?I4?[!>=.?5?G>Ϫ=l+?5?R>=`G&?M7?4>A=!??;?H>=݉?@?h>.q=?D?i>>4=?0H?>J>?RK?=cs>D?L?7u=H>?L?m5|8?MoK?='?[HH?'>?B?Hz[#=#?/;?߼!=Z-?k2?)E=x6?0)?"De ???b$\fG?!x?s=IL?h?aqSeN?rY?V|dM??a$} J?r$?oͼW(?-B?E=I>?F?L=zm>~?!BX66)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@oBJ=]??Bg_@K0ҲN1Ŀ~?2@m;R0)3>$}?B@س~4LMg&`?@o%F9 4Cq?JYA|> 7!K1uVc?8AóD&7ŷf,To=i~?8A6x'6E/=@?[?%YB%6)={>P=\H{?j'=Z>={?XX=>{={?=C>w=_{?=Lz>xr=|?٘=>m=*:|?=ti>OMi=^|?Er=>d=|?nR=]O>`=z|?2=վ>p[=|?=+>V=i|?9=>Z\=r|?(_=">a=Đ|?Z}=]>ig=al|?/v= >l=HB|?k=`|>dr=||?G]=>6w={?J=;R>I}=ˡ{?r3=C>Y=`{?= > =W{?z>z>=z? > >g=/|z?O>0 >=$z?!> >е=_y?q3>6g>54=;z?E=u=v={? =T=k=i|?={=S=}?@V=޲=>=}?LW=/=Ĝ=~?=n==}~?<@i=e=~?'+:n?=D=I~?>.r< o=D =*~?O<=D=~?g00===3~?=i=== }?ˑ==T=J}?=L=,Ŋ=s|?CL=խ>ې= |?={>P=\H{?eA/W'$@)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@5::&2h5?b BL:>>4 ?k;4="c;P)>>b>ZI?>>X.>[M?CP>ȵ>H>gQ?l>5>b>T?*Җ>>({>[V?.X>A)>\>W?`i>[>5>+uX?a_\>>>lX?c]>6>ɜ>1W?(f>YS>5>&W?8p>>㟡>cV?y]t>/>>bV?'fr>d>>{V?un>Gt>>W?i> >>W?d>>>Y?\a>~>>\Z?C`>> z>4\?)}_>+>˩K>^?]>ay>>`?4Y>>=>;=mb?FL>>޻b?h@>>t?Fb?.>X>)F`?=gh>"5 ^?M= meZ?]=b>rY?D=>kA}X? =>X?oO=C>q| W?>!>j^qX?7!>f>ێGMY?D>>oc [?sY>r>}[?f>># =NFZ?>7>~=IV?'>>+>R?wK>> >\O?>,>U>L?>>b>ZI?%=AKuSs)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@)%3wޗ2>Cb?2>d?|\3>Og?;Hk2>1j?Gc t>H~l? 3d>nn?ObX>o?9.j/>p?{ӯ3^b>q?2ls u>q?7SH3֧>r?б;~>r?CB2٥>w2r?V1W >Ur?|גY2å>P6r?imڳ>mq?"yX>o?d2[9D!>xl?lao2扲O>hf?(J2^s#>3`?!.>B?Y?zKC+z2ޅ?S? %.X?UM??V03r?sI?2N?N H?x290?=T?1E&>a?1S6 >l,c?kJG2GD>>d? Y0~>md?'ڠ 0>0d?2?>"Pd?uR23A>QFd?ad23c>d? 32dw>f?p_3sh_3jW>Gg?L3Sd4>yoh?8l1>Ԝg?n?Qa2'>f?Qb3^Sl>Od?22>Cb?ABeDY)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@):zH=,?(:=Tj-?8'=K#нQ.? 6#==x.?a4j3ya:?)%>k;?&yC>M=D9?H>">%=L8?Zj f>]r_[m)A?Q0>ܽ€E?== &oH?Ge=xYJ?>> ^<=.K?W' J?R I?==C*<`ûG?BP)&=Z6D? "ۢY=U -Ei@?r+=:?3$=_|xb3?:xH=,?!B4#A)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@Tjs=.??g_@G@ .&3X[%0}?4@w6 5mAӲX3:lp?~B@-6V*250L(19M.2@E\ù9?6N-p?HYA|>7>n+_2%2X?8AAtص!4YH2\?8A_59ŵ2^Y2[?⾀{*5>iB?^># ?.AR@R~A)\=jU=U=ax&\=+W"5%=Qx/-=~XLL>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@5?ܭ1/F5? 9)@m✌`z.my7D~m̎+aI̭fn佻n] ^mz ]⛷tlg#,1lu늽!8ƺ.lp7㽁F$$lw&0al޽# lJ0޽ȿlG⊽ڣܽhlOO۽}6l# |۽kX-۽4kK1ڽ~þ kjڽUǾi#耽?ڽk,˾@hB}IٽNϾhGxgٽuҾ/g'8t!ؽ־QfFZocսQ۾neei$ͽ ߾d>cd]wcW_6k+oR;c\mYbzZXHZ龔b[&Bb>_oՓObce벘LLdjnN58aܾxeTw=/^վfC2gFh;)zh,νMľ j/޽;ӑk5@mޜ @qA)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@)xp20?\?7_L7> ^?|Z1J>^`?Jo6l38$>b?iA+!> d?R1DR>f?#2>h?1U3C>7h?D/2QS>Bh?1N{ w>> g?0o>}h?٦\-428> i?iy`>uj?pN>#l?rR*>Em?31$,u/u>Qo?*] 2·>o?!70> p?4P<>,p?V/F䆲u>!p?r/P2۲>?o?O$UeF>>o?ytG>-%o?"]Z02>vn?|F1c=>Mm?,"Di.>m? 2Np&q>2l?gl2&T2> @k?Ϥ2ِ>=j?߱2xW>M,i?0v=> h?g52등@>f?,òT> e?02"0>Ud?ٱD2i>Rb?1k>:a?roO9]>1j`?23S>B_?i2|3)>:^?2P3?Q]?I)βw2?\?ivBg6y-6)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@)#{=t=7Xw?[φ=7=%&N&bx?==]Cx?={=x9[y?e=U=8/y?===4% $z?4=\=+Chz?w==z?=]==+pz?:==̱[z? ==0=bz?n=D=Mz?C]==y|Yz?C=8=gz?==*6{?==pԽ_{??>AJ=úȽs{?j5>;*=y{?>#=Q|{?' >#H='X|{? >를=Pwz{?>H=p8u{?><=4ro{?.>=NZg{?.7>E=b_]{? >,=@k{?}5>]=S{?>-l=w{?=(=oý<|?J= R=ɽ|?^=:=нb|?"#=]=/۽|?B==y齦|?b=y=Xx|?a=Ҧ= |?=ze=7{?==8$z?==1>z?= =k_?hvy?;L=I=L!x?1{=t=2Xw?}B8ɼ5C)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@@e1Z55?AA7g`1z0CAgYv5Í)NOqB>81>=6AqQ>->I&`qd>ʜ(>9 q`!>#> ʨqqŇ>>q@>9b>f9q>>PQqP>>)=}q鵇>>-q >S>#$Qpz>ڿ >(p>ќ>(q!>>:($Tq > =V'q>r=(1'q>=9g*qA>=_0Yq>=0r8bqV>r`=CAq$>=JPp>>=TMWp4[>I=^o/z>=hmo>-=pn>(=N4ypn W~>uC=sm}>:=Qma{>;=݅lvz>b>rlbz>> :lc4z>$>2^0l z>hL> lu{>i>gHt.m>~>>rCgpmD>u>EWcn'H>e!>Eiox>yg$>K1ao>G'>Eipq>IW*>Y Dp>->NOqA>91>@l)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@)qկd܋3~U>i?42 i1խ>oj?1 &2eq>3l?o۰v62`>m? d2)>Yo?53X, >Vq? 2lK3Hѥ>3r?Q2yBr>or?U1>q?;*2*9o>9q?ﲏJ37>0q?D3>sq?1aL2Q>2s?Wغ+2v*>~t?z2>v1>u?Z2XA3ת>wv?A}᲍WLA>w? 2%>=w?B /1>|w?c[1Z$>I1w?B2l>v?1t3>A+v?}8>|u?¸2Vȋ3N>Yt?3-321>s?H$0P2]>r?l*32;±i>5q?v~"3>p?ȁCғ>en?21>l?>21>Kk?槖22j>j? 4:veU>i?PPT2,Ϛ>i?qY232c>|)i? 2:'>h?MV3UU>Ti?"aMO>.i?lr閒2z>ri?`^22U>i?xnS-3U>i?fvB넵л95)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@))] ;8"4ܖtp? t\:(1搾q?t3[.Ċ9r?Vr+z`as?3(H|~t?tcF&oipUu?t$\e\$>fv?X6."a[v?)񷺽!5adv?^ b6fv?+:k-w_Wv?ۺ96|WH&w?ծiLgw?n:@}x?m5K5 j4O%y?@d)y?g)"z?ӯ#7z?ӻx&Wz?_1pgz?qn6iz?F^z?D! MGz?2D#^#z?6E!V(y?w+.y?@\"c6%y?0r-z0@x?tTJw?%=lUv?Y$#47`Dv?~_k^&0joAu?m,)1$tut?<`+T}s?URH-0bs?^(42.r?:u(/CCmr?J(0qq?YP1vq?2p?ZW;F"4pp?}B 7w$)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??xw?@DD@@ @@UU@@@"""@ff&@*@52n55?AA1h-.B-?CA@N%*@0  !"#$%&'()*+,-./0(55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?()/i9@ C0zl@ CDH@ C9'@ CRWJ@ Cs>~#@ CNW-@ C6r$@ CQ0@ Ch@ CXF_@ CC@ C+? C|7\{-> C CD{] C u%e CnE CH"hIO CpaX% CY'ҏ> C!R$I? Ct J9? CjA? Ch8s@ Cܗ/M>@ C4%'\@ Clv@ CU|L*@ C<@ CKIZ@ C!ӿO@ C;@ CN|@ CO_ j@ C "U@ CMK?@ C)@ C>J@ CN?@ C(=>L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@'epUkYeɝ՝j 򾕪+@jv|ム3?yiu>Tp|  ppv$$I___J,V,n1014JY Y'=>L>>>>>??*?;?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@("p eB?٦ˤ?md1A70~?~gݾ^~?CZOȽ}~?떒ҘPν<}? ECͽ&i~?[;s(ɽ~?8;<#½0~?Cf;z~?g/;" =d~?%;} =r~?H};^=Ho~?f;^=Ϊ~? ;"A Qp?AMQދ?ƘAsQ?AQ?AQ;?@AQ?A}QZ?7A}Qe?۫AQi w?0AQuf?ĺA0QS?`‡A5QVC??ɇAR8)?nЇA Rn?dևARd>lۇAR2>G߇AR > A2R8>AB!R0(=A%RQ hKA1&RV۽A%.RIE߇A4R8MP܇A:RƶهA?RVھՇAGRk҇AoSR χA_R҇AuR@FۇARUAR)6AyR7(=>L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@(8a:=;? ^l;?1M;?n;cr?:37<&?Hm< ?pC,<8㯼?;%<~?s2]<5<? 8};<?/Jӳ=?莹uz#={?\j<Ƞ0=\?H7=?P=M:=u? Mwq9=QJ?):Asks7=?W05= ~?F`A3=~??_3=~?tZBu3=q~?=RM*3=I ?IHkP{2=#?;ㆽ1=3?--wO0=J?'5-` .=a?;! uF,=bx?X+D*=.?Pк4%(=?= ^T.%=?)!=t?+VM=?, N,=-?W"* =?]p=?ӷ:=t?4: <? 9DL>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@(:Q`0<>a}?+b;>ư< >S}?D;U =>c<}?(;R:=>}?| ^|?/y|?F|?;l$=> |?Yb;}<@ >?|?L7:VLk|?9Ը2;T)>y|?;1/+>y]|?l:;8^-> M|??.;v<|?K;<.>q%|?+;D1=Qp.>|?ڽ${?qH<6=z->{?Ϙ`<=,>f|{?+kiFp{?ϳfy{?5`{?aVb{?I< =+>;{?8x:{?(D)|{?4|+|?<<Ў<=F)>-|?q;o=*()>2H|?/;= (> `|?؈;d<'>4u|?A;m<'>v|?:8#)<7&>5|?,@:k;|1%>|?\]ڪ$>|?􃺒ݺ">|?+:L >f|?cRv> }? &U>9}?/#Ųgv>gg}?(4JA6-JAfﵼw7*JA_浼<7&JA>굼8JAӵK.8IAk8IAH7EIALѴ87HAK4uHAYF HA ?}GAK󲼴5GA² 86GAd5GA[5W6GAј;5GA蠲O浲GA6D6GAt]6GAβ 6GAڲx6GA沼Q:6GAA}6GAd76GA sv7GA '*7HAW#'<7HA67 HA%B]/6'HAY6L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@'1D5)5(w?ms-5"*|?vƼ4Zw}?\541}?=14?5}?0(4}?Q,1Ư4otn}?b4v}?61z4g O}? 14o 9}?bư"4]sm}? 4==D}?OR1Q4,}?*NR1P4>|?n2{ 4ѫ$|?q1)4q*l|?:+Q 5+0%|?4B2w47={?_t0H4D?~{?,Ȱw5F{?(15N¹z? 5GV.Nz?ϣ]5o^y?溱,5f@jy?k/5Znx?*5v~x?\.2<55&%w?F1XK5UԂXw?1=5рw?; ./53(zW>x?+f0Ƭ35v~x?Y;/95{!x?N01@5TԂXw?4KD5`$w?t1~>A5AFu4HAu薻nrcAs %5lAa7Ao,ȵ]A1OM5tAM6hA1ڈJ.4@A/e_,A'Ê`@A&xANV5AIA{ôAkk&4RAj D4ҠA{rM3=[AdV'=>L>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@' gI=?qK"d˴{"=0~?ȱô=}?b24>}?xʱ2̴N>}?m^f>}?R>E}?;Ĵ >*}?ɮΜ>}?Ɲ1i0><}?:v)C=~?%2[´=L= ~?ӿ(=~?EO*ә= '~?ޣ|=5~?^IjU=C~?1=S~?OR=d~?oiߖ@=v~?ϡʰt꿴R=~?~_ϕ=~?Cc=+=~?t1L=#~?1p{O=$~?%TD0i=e~?h15.l8Ӻ=~?/G=a?'g1@kd4/@Tzy.@攻|5X.@2{kG.@(ך5#.@u5H.@S@5[.@g4S.@ĔZ.@┻.@L씻ه4.@ ̊2.@* E.@XN:&4#/@onQ,4E/@ǒ\v/@#ĕ—4/@畻^dž5/@5/@)$w0@\+90@}A40@ܿ40@X50@ 4!1@$-"3a1@K^T4t1@lluq1@^kt5Z61@=f&1@GR*4U1@X~S鴌1@Mb11@vf1@B22@d42@vCh43@!Řn4@P4'=>L>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@(F6Q߫r?y>cSw?4v?2%L[jz?Y`L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@TN0.?mATصt4(80 t>|@K=!+E>}?[L)=D%D>u+=YK`<(WH>&|:X#)T]L>t8V)L>v8dMI(HI>9v:'E>:^2&&hC>;O:_%M@>h*=Z<_$>>T>k<8#<=>[?A$<":>?ʼn= +"s8>R@)=i D=>wA:=cb>RF<&}Y>>IU:< ?N>MJOgJ< ?g>GiJVq<9 +>ArJ}P< ,y>hJ]B =h Ɠ>{TJm#=U > ?J<=?z>)JSU=Ś>9Jm=)Z >Iڲ=>I=}>I=A>I=>iIBl=K> Jm=}x>Ipm=P$>I,)=G.>I9=#>HpIY=8M<>G= >MES> h>xAp@>I ɘ><$l>[C!;P@(=>L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@(f?'$&jV?+`u'AU?K勽'3qS?&ܢaE =>Q?dw ICP?B AP?0 >;wQ?.k CQ?)߽[P?_{}|N?%Ioq%N?V _ z R?eor@na!=[?Tu=[羠jc?*1>vʾ>Zd?ǝy>u>D_?g|>fڤ>3N?ux>T>,N?t>Qs>;R?Hp>M`>eU?6(n>Bu>FT?l>q3P>DQ?'j>" (55? O?c>#;?- N?X>()ƌ?QO?ѐI>\5U-?Q?u9>sB>T?>*>NY>W? >T0>=X?">L@h>#X?N,>;ҝ>~B16>!W? >&B9?BU?@=2Nà?&R?x>N+n{:>rL?h<>P>J?>>1+>W?C#M>˾)?&>ba?#=L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@( s<!Ɠ>Jc?F[{31+>i?ԭ1|>Lo?mm2օ>s?}3zc3ˊ>iv?،yh՞2->w?r11t>w?c1>$t?c%2֚3U>{fi?,2JqV3& ?(U?$=2)z-?A\R迮m?0>3u2$q? ڧ>C²Şq?)'>0 G$p? >k'1iՇ1n?>煱$Tԍl?>3J2mSi?x>ms4f?>Q"0Wd?1}>[Cj9;d?d>yhw-e?'>~޴2~f?e>Si g?>UY*uh?&>2ǯjh?>Vv?30I2g?G>/S2wf?s>hL44]e?t>Eճ1|>8c?R>'Բ\n~b?>43 2m2H]??2/3HN?E? 3ЛD2a8?91?R^]2J2%?I?^0'g:?f\??B(+ִ(=>L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@(zA?6BsY?b^=?հ2b"? 8?*gP )?(4?;W?m/?{1?"=<4>3?0?<53?C2?<7>CY1?4?S;qB .?7?^ =+?>:?F4W'?=?&0x#?E??>?@?g ?e C? ?G?a w?h$A?n;ד>?4?۔L~2?1?Ӿ3> 6?/?Q>w5?.?w@>3?^-?TĽ|^>?2?+?Չ>/?**?T3>,?)?ߓ->g*?g^)?5#>(?*?T8>^&? (,?(y6k>]h%?,?0I>%?&+?&'>%?v%?;$>*?x?qF#>1?O?9#>5?h.?h>L2?!)?`lo >L-??½&>Sc.?0?uJ>3n0?-?Bd>R0?U:?1B=,?/C?q$cŽ#?E?3伎G?!BN4`6(=>L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@OϚ48??Bg_@9Ċ2i>5}?@r0}Q>z?e0m>lw?2 82C>Ls?3v k>@n?XD2 >5k?2Nkﲎ*>j?>l?Qy|uj3 >n?ȿ)2>Gp?oC*q>;Dr?9IJłl1ՙ>+t?ca=1Ep2K>u?IJ0"h >Av?P$^s L~>w?22 !o>Bx?U2d>y?qbǚ2`^>y?-q˲z]>y?I(1(^>qy?V.c@S^>Py?6ulTN_>y?`?24&`>y?"T`>y?'ײD42a>y?t2 dY2d>y?*H02؟a>by?/X33S>zz?VB2D2mA>`{?h3IÙi.>_B|?y]23;>B}?B@(5.5=>L>>>>>??*?;?L?]?n???????gf?@ @@VU@@@"""@gf&@Zb1 /h0?@;X <(\9Yo?9zM q۪MSq?@09s?]9W!t?h!9}2sj5uu?4D9;/8]u?9/056u?{9t?Z 9c2Ht?~97stns?29ιr?Ge9Or?C39#j㮾6p?[9*$o?{19*p?19_"Q|?x9J}rH}?9vR*8}?l90&18ٽQ~?'9Z6 ?B91k?9TkaLCu?-9Gȷ?и96޶?9,I %?i9E6?9K5sM|;?9B%6;;?9f*6;?(94D6;.?Y9B5+;?Ա9?ؾ9L$ʽ~?9~;G{?(9u fuu?9p?QQ9zlLn?z9=pgm? 9M2ؼRm?9um?OYA|>L7(=>L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@(V}2h$1"MDV?g*Q2U?mpy3m?e02G+qQ?$Y3/3js2?g 3b`;?XfY\?%k1f11E2?c52UYA?&2zرurڼ?d!.G7?\q֎1T?NAze?.23Sh?UGW2sh2}x?cI1@=5?q^+2(r$2>j}?2ڊUo$>|?p2"@&)>{|?:Dz2!+>[f|?1_w/0d.>B|?o&31/>V3|?5maD$M0>`-|?1 _ 1>1%|?r$23F2>|?K@})3>*|?Ϟ13>3|?1D3w3^4>^{?# *ܱO5>{?/T06>{?2&r27>{?1XJN8>~{?+֗*u9>5{?Sx2 |19>{?2%KC>M{?&1.C6>{?2ߠ=| ~?j2n͐13_=(? /1?9Շ-.e~?8Ax(=>L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@(LwRhPy?A "Z02.~?~ 62Y}?fd) }?1Xə }?1I23GY~?R-;q1kȽ~?1QX?Ϳ2-14?LA_1ۈ?6+GL>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@aV1G122?[?5.5FoS>; x?[M>!Q:éx?Sd>/]Xx? ZE>t'x?|`ۑ>܀w?Sf=AWKw?w)mE=Iۼov?Lys=v?yyU=Uv?`=$(1u?Y>ͳrw?2a >߼x?" />$Ay?ɽ@>T8.z?r%tO>RMx2z?bU_>R;y?ՑɫU[b !#g<z?FpS>; x?eA5W'$@=>L>>>>>??*?;?L?]?n?????@@"""@gf&@581115?b B8>>(?|=~ N?=#?Q\X<8e<]u(?^m8-o*?bS5:+?ac*44+?Dc46+?ib5 -+?8aȺ5'%x*?u`Z6c j*?aĸ6E)?gb 6dۼʂ)?m?e64)?g7̣(?j,7(?pnE7cF (?7CqJ`72'?t#z7Lx?'?xt7M;w&?p|7r;7&?ᯀ7bX<;%?72M>TaG>3[?=;>O}>6>ӣW?PV>>c=Q?> ?C<<'L?>J ?I<3I?">ɟ?3#=iI?>l ?NE=K?>%? f=iWM?}>)%?n=O?Vޕ>j>%Q=Q?/>>='Q?V>> >d;P?>B%>蕚eO?ȹ>>ZE0N?4>>ѸL?>o>jbK?>>J?ǜ>'>n(SI? l>>s|I?0>4>YJ?"G>z>TK?U>>..%QL?>$>픹DhM?>>SV>K>&>۽<}P?}>L>]0<P?>a>چ =SQ?ਯ>/o>W=_Q?>>(=19R?>=>]A=R?>_>c=S? p> >$w=tT?r>R>%=U?*y>>o9=PW?2>s>F">~Y?2>#>W>)[?>>KB>[?#=A$q5(=>L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@(^Ml9gY>f?p62=c 2H>wn?I=32>Zt?M]/Ͳu>hx?0.1P@3B>T{?Hn;+2'>}}?2=~?tk2>3UO=?0]Z>N<?0/Q:?`6:I::?1ql2<?V1Dղ1X=?~ 0 /q=~?5Id 1>= ~?N#>\|?11{O>z?:n2 %20jy>JJx?q22ʋ>Ev?D11ʐ>Όu?Ą[3> u?~1?~>>v?.1>]v?l3 hA3>0 w?#(jY>gdw?"M3φ>kv?0=o2DQ>Tu?닃/F0>t?+I2nV,>s? &63>XOq?knr>@Zo?2.j>;m?v0>k?2a>ph?I2^3>mf?H1e3>;d?pQ}3> Xb?&Σ>c`?P31߲d*>\_?W k3>]?=B9!j5(=>L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@(Bi:x>D=a"?3->u=O(?,D>۴>-?X)J>2D>1?"`(z>'=k3?l(m>u=?4?Z *|^>=X5?y+L>=N6?1,9>)8=6?N-w$>Y<8u7?.} >N<|x, 8?V%},sb5?.+P>5S3?.3z> /?W/)S>p,?Y/k>Ϡ<(?i/~> =N%?m<2~.>W]="?v6.Û>]w=] ?-<߈>=?ѽ@p>ɵ=f?!B5Z7(=>L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@Tqs=e?)g_@6@2'2W[%0}?%@h lx"a2(kp?B@d5"Z42%%Oy@,5*c6ùy9?6M-p?NYA:}>ȏ7>>522X?8A@G 7!{d1Ī\?8A\q1]1[?6>iB?^># ?.AR@L~A(q\ tz=$W&{r=wؽo p{M=mXb{|=:q{[={x>{=l?>{7=oJp{Uo=rU{ @= u`#{=vkD/{=.xvn{=|D{?=<{O=o{p=;X{=3\){^=:q{X=v/{W=6 d{]$=ĴQ{b=D2D1{=bʭ{j=,Aؤ{tV=p½J ]{("=Z$Ƚ Y{=ԟͽv ˆ{=ӽ {{?=wؽn p{M=޽c{=@86W{M=j/I{={ޞ3<{s=@@-{F<=j\ {=0{̤=I,~z=JvJzQ[=Mz2"=s\ sz=2A&Ҝ~(=>L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@5?"15? 09($S'iM( `w=hPp ǾfaR ;|e оdTG Ѿxd \) -ξ+MeF fƾ[f Fh6hV/KzjiiSiY5 ,wj,=N簾jz9gVkL֧@kczq̮D>kcN,k$) kanQ'j1´G_jzjgO=:jK<͂Rj,`ȷ^i> Pi$k\Mci%Q.i)h<ֽxhbdFh%Ӗ˭h M/v꽾h-*i&FTyWf:im tpi%_ ?Oi^1J ]js(+ hض`tjS U)jv(*w%@ccAU6@A3;K@dA 3_@ .A٨n@CAt@ARh@BAuQ@MvA}cb@@V Ai{E8@ÊA Wzp&2@dAryp-@΋A&yg+@+A9ys*@/Aџy*@LIAvMzV)@HXA6{4*@Q`AhO|*@dA^}*@iA~=+@rA"p+@K~AO4+@nA0,@At>,@AD7-@AL-@AG.@Au.@A}#/@ A>>i/@A4/@ꒌA~/@A8E>/@ A‰.@{AJ9-@rA,@iAZT)@u^AzFeN#@vMAۇ/@6As9@rA(=>L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@(τp?,(\?SEe?)[?|%?~A[?RZ?Z?-?PZ?ϓץp?[?b/h8f*?]?N!0>`?&3>a?(LZ0>la?r5>ta? <0m>Ya?KcK23S>=a?[2[/>a?2mǕB>?`?fm0x>\`?}ӥ1d9kI>ŵ`?ʲ>&`?y02>lY`?EcZ>$`?Z$>_?9p2w2P>Ʋ_?!292>w_? w2$d2">8;_?(w2[x>^?EDl+O>^?#2jX'>^?GݲT>ZG^?!%h> ^?-TaC>]?ұ Gb2CF?7]?ST2Z?UK]?86?1]?" 3?#]?<2$ʱ.?]?I3%S?\?2砱/zT2jv?\?MP/|1m?|\?f%?\?&1˲?\?jvBH5(=>L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@(c;=Q7y?_;eO=LGy?e;y=Gsy?8o;*=63Cy?U;Fl=2Ay?K;͹=˖>y?Y;k=7 z?.X;1=.gxz?;*=,z?S;=c0>Vz?Z;= 6 z?9-;5=t;xy?:-=gAqy?_9gU=%[F-y?#==)Jx?Lh=ULx?Km+»=Q0M~x?l6T=:|M0x?9 =NMx?$:6'=˺Lx?:6=K+y?C:=JZy?Y;)="qI2y?H ;X=ߥHDy?|<;=GWy?]dY;=G3iy?%(v;l=Hy?˯;=GJ~qy?A[;6%=HZL6\y?8;|=sNSFy?O;=kP/y?7;;%&=xR4y?;{=_T8y?i;=LV!x?}B@L ^(=>L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@^2255?AAuΊfH0&t1CAM5(Jk><>=}k>7>"k>#2>9/tjԦ>@->DA$jX>[+>>(i^j>E*>).j>+>W3 i;>4/>Z80 jm>1>$j)>ԥ0>)8k>.0>A ͆kڥ>1/>-k> 0>9lA>d0>:l_[>ʫ0>PPl\>+0>3UlT>1>8%佇QlD>oR1>dHlP+>Ɏ1>Lg9l%>1>M&lk>1>JlY>$2>?kɥ>E2>/kpk겥>a2>k`>|2>kυ>2>;1k!o>2>` k:X>|2>,h ڐk A>3>J k|)>/3>" )kL >m3>i k>3>vT Vk)>4>9kC>5>vkϤ>6>v~k>W!8>k>9>ek:>#;>Ufl"> =>mX޽+l֙>?>(GT)@y{Z&@3nq8.@+g4@ʍa:@)`Z??@k|oqJ@tW4Y@Ž][@ݍFPS@]^kL@IvG@΋DD@}TMB@6g%+A@ TՎ?@%Pe>@VXݍ=@jbC5<@n ;@vM9@S{>ܙ7@\~5@зP4@Զ2@b !1@9U/@6-@К.˅/m,@*@ޟb%C)@ڡb'@Q0&@eZ$@YG;"@g @ЭVO߮@폃@ދa,|@ ;@l(=>L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@'Cѻ2:>j? 3&C>sj? 沚/>Oj?y~2RaP>j?:[>Hj?{3>8j?a3쇲*>Wh?C30>e? עAh>d?(3J3>=e?D2D3f>)f?yC 2o>Jf?`2G>g?՗3i>h?K?2h>pZi?e2j1>i?Ue޲09L>;i?R@03 f>i?!21>i?&5q3b2x>i?jtcE=>Wi?daV > i?1OO>Vi?51 /g>h?W2 v2">h?X2`0>h?2M>Vh?153>h?+3vd0 >ۋh?G:2ɲQ>h?p2p>h?yu23h>Li?A22:>i?ds X>hj?WdԀ2K>rtj?2/>Nj?e2_D-D >w9k?(²c3LE>qk?*3i>k?ovB}ˇ4'=>L>>>>>??*?;?L?]?n????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@(= =a)ZUq?~=$(#Uq?z=gdr?w=IcRr? v=o^|sr?zv=H[r?|=̴Ñq?K7=(᜾Up?X=+_co?&M=e⠾eno?=cȠ7Mo?Mƈ=vAg-o?c="]:o?9=-&ϟo?N=v(=o?h=)Fo?͉=*SSo?v=b*j㝾\*o? =)o=Bo?OLj=%)/^o? =P(o}o?%=hV'㛾lo?B=E&No?=%eo?=$왾p? =$97p?so=,I#u]p?="З p?T=!p?Ƀ=L!hgp?Z=!p?=!$Lq?=t#q?0=80%E[q?7 =&l7-q?n=˱(l:q?g =)|*Gq?=G, ߏ[Sq?=s.rP_q?ׂ=/,kq?}BZV\p6(=>L>>>>>??*?;?L?]?n?????""??43??ED??VU??gf??xw?@ED@@ @@VU@@@"""@gf&@0a.2255?AAO(6nN-2ܡr-?CAٳed?0  !"#$%&'()*+,-./0*=>"6B?[=@=?y&?g==Ot?T=Tu=PI?Ȝ==M]? >@Q<AG?Ġ>`7C ?Ǐ->]HC?;>-7EӞ?1U>F?z$>1?? > W+??P꾠K9?VV?!ľ"7? ?DH|0?'?;'ܝ:*?J=)?B()?'?;'ܝ:*?'?;'ܝ:*?'?;'ܝ:*? ,B{A%'CdW3BycBCV6B!B eC/BTBn* CL%BBCBA0BA]ABMlA+gABXIɬA3B#*ABl[)~A=BPIABA??Bç=NBt>B^?A_\2@cAWh+M@BYfY@ B^\be@,AL==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?>?? ?&>\յ^[6aI5Z†q?ARc7=q|={?}ĭ=$>mji=O{?ʰ=,%>S=T{?:0=#>O=g{?F+=+.>$s=+z?YY=Le>.=@Tw?~=>Y>s?Y<>|v>r=r?>q.=>}"~l?![>sG> `?>">x#]?>=>-%},>"_?![>sG> `?@z9т@SF;@?n5R;0@(Z;ή@`V;n@' S;@v0R;õ@V;@zZm];ݷ@^;@en3R; @ejґ:͔@׌XU:@*:`;@fd< Ђ@R`RgL>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?d4ǻ1={?n3ѼR>]y?a21v# 5I>v?E[-SlZ>fBv?*)g)|\>Tdv?w$<X>v?W h4,=s}V>av?^j=1Y>v?hv?=]>Fv?` =ٌ`>ju? >t>=s?\?%B8>~Yk>Ar?Pɽ2>6>Ѵw?K}9>RI=7|?#>C>Gc}?$7bc>7|?XmOx >~" 4z?;> Tɂw?K9~l0t?gSAIYJAQEAɤpCAtfCA1! DA좼vEAEAGwEAEA{EA-CAX֠XS EAKA _SA_LoOD\AւaAJ$9VfA>Oef:yjAqM:?nAW:;L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?|<[ؽ/c-q?Ayl);د=>O|?X.@ʦa0$Z$*=>/>HLj?4=3<3>P{?9uA#=`pyw?؟bSd<(>z?NrR|?0.JL i>Kiu?b`/{|>m?g:pߙ>-h?{=QG>ie?7v<>->HFc?*j+>6>j?> > k?2ۤ[O> ͺ>WY?K׾2ߍ>>??Hޖ>RN>{f2?Z-cO̼\'9?/wY^h=9?&=z<>X4?`0($'>a~4?΋@6uL==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?A[gJi0?rAu:8, >;L>>;L> >|;K>>;L>#{>^

y>|>;L>P">߭3 >),n>y)*=F5l> T>k8>mn> !р> @ ? ??ff&?333?@?L?Y?fff?33s?bz=~T?50ŽqV? 4PoM?Z$ڍUO?=ɾxWU?0.>uV?L6YҾ楾*T?JaYz8ME?$-%6o-?>Z^=b40?>F=W8?!>:<:`?Y>('p>e?O ?C>̿I? ʄ>Cg?F?>`8Q!?$??E'e$??]?HW?R?#=Anֶ6L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?3'3?z[?1!?1R?3!T3oK?hj?2~ >|5u?nb2`2!cr>x?2V>k? &T1o?# Q?UIDz?Q?Q93?NoZ?X 3;(3>a?$1̎ >2d?2 ?(W?瑘2Vy&?EB?}V38?3u1?x`y"?HE?:v91 ?Y?ݧ2bֲM>.]?1vx>j_?@B5g=aL==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?`eƾ8$>uO`Ⱦv >p`eƾ8$>uFb^V5>v5[{K>X)c>ӫbU4Qy>PnQq:>,[ξHL'c>߾aG%> Bx>g;K>/ 3W>LA=#<Ͼb^O>, gi=)&W-:&#ȶ)=:#"0z=@" LW>kd8q׾׉봞>MO!BϵX6L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s? ՗2ʾ3k>$ ?՗2ʾ2k>$ ?ط2ʾyj>|7 ?՗2ʾ4k>$ ?t1vξq>z ?80fѾv> ?՗2ʾ2k>$ ?sg=5~">?DaZmXA=ɨ?CF>@?@a-ʹ:>Z ?^?Vg_@8 ? ??ff&?333?@?L?Y?fff?33s?ԕ>*L3JĽI~?1@%6c^187Ɨ=K?B@@^4Jxx/`{Ͽ1?@5(b X9><2?9w?9ƒk3|?(9[1uj5uu?9vm_}?9.8=~?MYA|>=7 ? ??ff&?333?@?L?Y?fff?33s? xs3t3_0 $|?c]0 $|?G 2V)4#J|?5>1\0 $|?2|r}?<2}0߽fx~?#>_2^0 $|? ʔ(0\/c?2Jχ2F#D?yw7 2ste?Y2JԱ%5?8AR(6 ? ??ff&?333?@?L?Y?fff?33s?2}xVjr?8A$56,r1?[?@5 6L$>x=y?,=gp?!f>=dc?,`y>=lh?ǡ(L>B=l?>Z=7p?"eY&T>`;ji?9*ʾ=>ANWa?6 ߾9>m۽V?0׸1/y>o c?#4>ֺ'm?JaZ>7 jl?@U> ܽh?>QO͡h?>><b? Ճ>vp>z= dX?u>>'i_>V2I?Df>>Y>4?0>>>8?FU>{ ?@ܼ6?eACW'$@L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?51ʤ2y5?b B:>>I?2 (>E!?wQľ>/ ̾!G1?Lw ?e1?䝾?e-?jԋ<"?\f0?'x&?ʊ\4?U[o'?x- 9?:Y &?[*;$=?g`w$?;ȕ=@?ee ?@>KC?1?G?N@>F?h=P?GT>TI?3<<?ȿ= Q?4=!la?Z>)?4>lC?>>>(?~>>{?N%?>%>f* ?f&?>>~?&?r>_>?%?$=A^9=6L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?hN 첪 ?$W? wF?U?si3W3Q ?@V?R2J}b!>]?2SG>xg?`31P]H>En?G+2>s?BDt?X 3}>t?AR>s?3CP>s?0Z2 >!q?3(v>p?j2r²c>y?6N>|`?Eв1t$/?9?Z:2ӕF$W'? A? l?1?P?2Y3?I?,ֱ12>-?MyL>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?N,><7>?Eĩ>5>w?HC,>=i0?O#>=u\?]->S>.\eisS= >emj[h>`XJȐ> Xh=B谾n&>1MoI>3Ͼx">A=>o>9C> P>K2%@>;>7{-}w><>'JW>H%?. >#@?ƌ>O ??! z>ٽ{G4?S.6!>p6"?@\z=YH=>!B~47 )7L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?Tms=e?Dg_@8@~2pq1V[%0}?.@rn|4F}5>mN2kp?B@F4n2V2 @5Xy&4ù}9?6M-p?MYA|>v7>T|2t2X?8A"67=ݱ+1\?8AIj6A5Ƹ01o!<1[?Cwܶ>iB?^># ?,AR@X~A@ST|L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?5?Un2\ 15? W8@nd=ΛppR=@qAL==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?FB̛a=;~?2;!2+=/?92=2YT=~?.2N+ox>v7q??&1ύ?mT?u=23f ?pG?*1Eر$?*C?2Ҳa;2|&?wxB?jm, %?C?YJ2>$?C?'}2]u(&?B?I'M1؁0?n(9??2%%14?n5?Ty8p2W?'I?r0>1>1_?r1o1>hi?&V?Ɓ]?Jȧ#?D?1vp2?)7?a˲:93h>?v+?ivB.qc@L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?|)5O>ʖn?Jg54|>hu?h{'ʸ/w?b!N:]~^v?"Խr?3in? t3%gƾĨk?/[=˾(j? gv1>?Ⱦ9f?Hۇ>C!Fb?Qԝ>;_?4L>xtc?&ŧ=Rc?s=~jfh?,t>>[Uo?6*>Or?|>yv n?؉f8#=$Z $7x?}B뚊h4L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s? Xa9R?%tC+$?2Y 2e2_7?e2O/e2_7?+nr2 v63?? 3\?q *?Ak! pG4 ?-2粲4K?(d=Ы=?Jl0?s3= >G;?t3= >G;?AA#&1 L==>33>>ff>? ??33s?(LV1CA 6`>]Wz &ҧ5Wwxw=฽ |hM>7<|e*#>;R9H|ŸbV> z{>xY} >L=`~A;=b,>X{UoI==m}>v~=[&=G=|f}=W<7<}=l<5N~=Ƣ<צL>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?Dj23>:_?iay J>f?21MG>l?Ę81 2K> Uw?ꞪcK>z?PF2>yk?03-?P? Rt>?PL?"1w91u ?!$U?] 2[$>_h?T )>$u?A)-232b>\t?#2R|>n?2=IZV6>7h?_3A2>`?1D0 ?V?2Z,1=#?nD?7YE#0?&9?k/4եz>9^?I1t1 ?V?hvB|k3I6L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?sNa-qp?^ (u㼝z?R^12f}?} @x?[ؽb(j??% 6j?kC9%$F|n?7 5oHHi?اFte?$7HKq?:ZM;IȽ[oz?5! <Dvjێ=q?g ¾ql?Vݾݱ߽O7d???ܾP/a?.Խ嵂HͽWt?RO˽L9~?mJZ=> |?gм _L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?@"[ƲFZx?< h2FZw?h1չJ>+?i/iV_7e2?(ŷ'J6+?Ǻ2QAFZw?&5=e=z|YF?7=>W?5=ee={|YF?Xf1FZw?FZw?2wNN?:1{O0(n18?P$! F?N)eR$! F?AA=>L>>>33>>ff>??ff&?333?@?33s?3/1z0?CA0 64?0  !"#$%&'()*+,-./055?44? p44?9;9;44?}}S4#S4?ѥѥ 303?̸սսy 3 3?$@$1Q$1?>T>TV-g-?|쐾쐾%(%?HH77?ݾݾ##?0ii?׵{""?|?GT?5 6NN?U01ˉC$AGBp}4NA8B,X~>B`WBʛBAH.B$AH~BtAҺ.BD;AݨAeAW-PyA)ADUoABA OcAAUAAV3GAA<-?C8AWAc?)AMAU"@p'A&A=>L>>>>>??*?;?L?]?n???>?? ?>?> ?>>? ?>?? ?>?? ?>?? ?>?? ?>>? ?>>? ?>?? ?>?? ?>?> ?>?? ?>?? ?>>? ?>?? ?>?? ?>ʷ3Z>4\uM+>{l4-* >4j5 T>h3^>Ŧ$Z> H+>"~Gd#G>D\òy>WhLmh>3ھH= 2<ᆰ*=R71 <ʆ|;ܛq<:3A<(3S=>L>>>>>??*?;?L?]?n???^V?!8<4?8g <[N*?T;?m;?oҹC;x ?Bы; ~? ɩ;@ʽ~?v~̝: |Ͻ®~?J[J:&&ҽ ~?X^9Խ~?Á6K5ֽA~?AR27=>L>>>>>??*?;?L?]?n???G9- z=,|?QԺ;=Ut?96o;aN?[6:rV?󁲥\4܎[`?˂@sC~dׂ@9@A4dԉ9@~t19@“5 :S@3B: @ʡ]:@)(U:c@udz9ނ@ =9)9ւ@"o8-@ղoY@͆L>>>>>??*?;?L?]?n???5;ы'gy?<;<^>O}?;ߣ< =?i;y9Z_x?i/6w?OM%<ͯo:ۛ>[l?܁;Խ9"> l?S&/bN>o?BAp^6RJA඼P8SAxe9`\A;9LcA&9eAֻ :eA򴼽79cA_#ZN:cA9hAC9 m,kA2`A'*<;OAF8?ArL#:5A4R395AɄ&n9r8Aa;3=>L>>>>>??*?;?L?]?n???42 Um5)$r?Aw$NxU 1vc=?3@_ۘ@ 5+ʽJ8 t?:tѼJ x|?0J=o{}?O;<'W>w?%o=]>r?>m=0={?#1>{轛{?AAƽ(>˼5{?b>:>w?sƟ=&>k?ѮB,=W?W?ie-*b;^>`?xyqۼo>l?$4~+<`=v?j苾!S=1Sxq?<4.d=P뼭r?=W[>c>xi?@8>=>L>>>>>??*?;?L?]?n???P/t2X/{(?eAH6oUT'>T9->@[>/|8a>4z>Pk7 >Dc`>6>q@,>67/>&> ?i">r>H8>d4>.!OG>>>TGPJ>6!>hP8J>ʔ>iNE>fl>1E1>T'٠>8;ܮ>Ƣ>i7&>4={>W4 >!X>=1F> $>w.}> 7;P@=>L>>>>>??*?;?L?]?n???ɼe?I?=$ݓ<?:E??h>wo0c?E;?n >s7&j?p1?>;?+?ˡ?2N\>O>?`o> S#>1\?L>裾32$h? 7>qPYa?q9>Vb*ξC\? >=_oe?a[n>v?{ >)L?p+9>u{5?€3)>m.?.4k'G=P0? 1T?=ٲ3?*=A]e6=>L>>>>>??*?;?L?]?n???C13>"w?#@k>t?L9i3F>mq??󤲧'E >m?df!22I>5Mj?\23j>k?q#32Բ;>h?Nf2"2b>7Pn?V26>>^?SFz23G!?VF?\3X2?t7? 3N32?#4T?}3^?>j?j2Z27 >|if?$ ?9Z?D50q1~?!I?|2bz2?7??B0E57=>L>>>>>??*?;?L?]?n????} ?1?ߜ/ ??>=#D?>Ω>> O?|#>>>-[?0>׸>"> a?o>8.>?>W?9?݆>=E?'.?J,=-r{=`'9?Q@?F<&?aH?Žx ?G?7=Z>!Br7 .=>L>>>>>??*?;?L?]?n??? 'Acݾ(Rݚ>'Adݾ&Rݚ>Dľ-q?"E?< ?:DpM˟=-W?(EvuK< ?>D}.¾s*?7C~?̾ >?CҾJ߽"->B(׾Gݺ>&Adݾ(Rݚ>\?]g_@> >??*?;?L?]?n???w_4G2csx? @P/6ҲTs܎[`?B@z 6}IKo0tJs2?@,5 ǵ 9vm?[9)um?'99zOu?V`9snJ7{?O9~NDp9~?D9NJ:b{?A9v?g9Xs?k9b qfq?x97cto?9ʸum?LYA|>7 >??*?;?L?]?n??? J82GjG{?2V (G{?&Ͳ~163ԽC~?eg2irW;?M1T2=s? -(18?Xamxƽ~?l 032p?}?\t25 |?HI2W2j|?ұ43G{?8At@5X9s7 >??*?;?L?]?n??? E2_+3i-gM|?Ƴ2i-gM|?]k2փ.;Ξ:?~2c1k<? 2L12e=~?M 1??*?;?L?]?n???)01"0? \?hF55̏=!+>f=3z?GP>>=u?D2>>>,m?>pU>=b?>>8 =S?TL>m>%<d?a>>/.o?=B>׀nq?ᚽ3>ýn?^>޽m?/O>0Nlk?4< > 9j? I>j&ri?c@Up>ah?kar">0 h?.m >dKg?/yb>K f?eA+W'$@=>L>>>>>??*?;?L?]?n???5ïE/l5?b Bm9>>|l? 38}>p?$8S>s? b97>u?/U]6>v?l5>r3!?02j>Et?-@3|>|Q>BMJ>h?И6Af$1>ً?Al>**>d?  <ʅ%>?{75>$?mo. >'?6,Ip>Q)?s-~*F>s*?9RM)L=+?*(Z'Pt=Nh;P=>L>>>>>??*?;?L?]?n???s>>?>2_?S=^>ܹ>g?7>Ἵ>1g?P=_>b]?(S=9>uR?Lľ[>>GTO?AHQ>:?0P?w1==?L\?K>P><=)\?]F> ?}½P?]>aV?^R?>]>ѽY?ʠ*?w<߼=J=?:I9?!Bj>{,?:''?87?->16>˕&? n.?>@P>pG'?#=A(D©=>L>>>>>??*?;?L?]?n???Pȭ~qr>o?1-O1?X>A8l?}>ֲ$Y>g?c2 |->Jc?x>!b?Ab԰~>Wk?lu1y{ؕ>wt?B>u?P=1#Ĺ2Y:?!Lqk_z=r~? 1D{ >Vw?i讲D첲 K>q?XE2p>[o?k }2(ծ>Μp?0 91>X/s?V2x*1>Av?p22y>FFx?=B.BQ=>L>>>>>??*?;?L?]?n???:H=,?M6q> .?2~?>K0?q-:S>zM2?w-0z<> G5?0zM<&=`6?&Hf>&?#9I[>B)?Z-c, >?h!2>mB?w d>C2?<qԾ$=K/?eƽm%?*ľrnA4?c$n-tF?Y'X]RS?3;=z)L>>>>>??*?;?L?]?n???Tus=?gg_@5@32>2U[%0}??@ۭ5juв7lp?B@ f50Ce2@j6b35ù|9@6M-p?OYA%|>ŏ7>umSX?8A6?"±,2\?8As6`2}.T3[?/. 7`R4>hB?^># ?/A"R@S~AH}`#yox=K~ˊ^ɾE==f>`{ >oZ1>y ݾ>r`S>q >ˌeQ1>bI=ϻmN> ~s\r=7彳oͫ=g'&l =NŮ\qgА=i7 pf e=* ZGeVc=u;cD=~]bE%={x1 `o=2A&Ŝ~=>L>>>>>??*?;?L?]?n???5?jl2d25? 8J)=4kNf۽0s4Vվn/\dda5[GAr[Bj9NWQž< N;o]˾.H% ;S#: ).|ھ,!, xV`̾Z3+T?@AT@IiA=@:A[T#@ AyB @ݎA$@NAӲX`)@}Ao΃-@PA`@82@!A#5@A:s;@čAfjH@6A,U@nAK„+>[@pAτ\^@TRAۄ`@5Ac@tA=>L>>>>>??*?;?L?]?n???s2T߭?J2S?j_v?[?lV0dg>d?M4>Oj?/̌2yT>n?30>e?)3cb1s ?TW?>ܲ4y?z I? 8?!u4?[5? |g2X?B?߬S^?>Զ11,a?d>E$0#b?>Ĥ_1ɼ2c?@>'Fj021`?~>2/]??\W"Y?z?jvBG6؜5=>L>>>>>??*?;?L?]?n???LA{?=> /}?.X< I潁=+|?`3҄=8v{?𡘽 Sz?S=zT=>|?<= !=t~?=gB='+>O{?y=ӌ(==^}?yo;=K=~\=3?TW< =o ?u%=~?B>=R&y?1 C=|?|;mսɓ~?}B7a6=>L>>>>>??*?;?L?]?n???-0Tt55?AAx׵q0f۲inCA@svnw ='=QSx<=6k0<Ó=K~ >ZД&<>a[(:E>ƺU !XhC=Z3>hڬ<(h>``׾#<:i>(S}`=Z`>GA$=tP>=)m6>+@> U($>6>Sؾ`.=>̮>D97hnT>:k=T@M7~@͉@$|@BD @}Nlq%@Aŵ$)@築]n\.@nY&2@"6@5l;@QqDH@~υV@ԏ.oxq[@ʋ=1^@t F`@)c@j=>L>>>>>??*?;?L?]?n???9m:24>n?恱q)B? Z?JK;>rO^?-2>h?2_2e> p?F52-2P=>/u?72yc>]g?%2w?)N?Y\L$u=?u,?23'-F[??~ۡ2[??n2ϋz:Y??t?_ 2t 6T?/?0ͯM??*2 1:?F.?73ť\?U N?_C^2>>g?jvBm=>L>>>>>??*?;?L?]?n???kÐ=،M;{~?b=eнh<;?~?m<$F==|??ʷS>x?2~ >u?ڞ>ܻ>TNz?nE[j|?h}?v)= >"z?F=WI#u>u?~d=J1>:y?=vV$=|?c=0̽6_"~?F#=06l|?4=gVͽOx?L>>>>>??*?;?L?]?n???ϱ%M+?Cx1ƉL?$2jKB? ,]K ?12NJJkD?Pu0tVJ?yjbId?"ݱ]o HG? 3u;[HO?8TD#?9DC%?gUHxͱjNA'?޻*>k*?2|q=+?'2o;' .?"i8/1?Sزdsl55?AAf4=>L>>>>>??*?;?L?]?n???X)D?CA>5s4?0  !"#$%&'()*+,-./0V6e633?柧n3~3?V6e633?Zý2^4?ӽшӽ33?諽SX\7.?m8i%?S`>=<#?@. e;b ?*3>}8F?v bH4?<0ˮ?/?Ο%)?ҾO" ?ɾ$sa< ?I۾B?ƨ; >n$œrB>p P'>*<9>  >jVG?)CjVG?'CjVG?kCjVG?CjVG? CjVG?k CjVG?CjVG?&CjVG? CjVG?ECjVG?"CjVG?I CjVG?CjVG?BjVG?aBjVG?zFBjVG?LUAjVG?*t;AjVG?>4AjVG?rAjVG?AjVG?˚A=>L>>>>>??*?;?L?]?n?????""??33?>?? ?>H!ǧ6t95Z†q?ARA7uü=r>w?Q=v@>Jz?(=>Wh|?P~~=Q>I }?\Ftp==N}?b(==޵}?`Sc=٢=Y ~?'S.==1 ~?k=L=}?=>o|? S=9>Fz?\Ι=ac>x?ռx=>cu?R=~>]t?ۼ]=F5> @u?ƼϘ=w>ow?¼/=Lp> x?ĭ=O>My?9H==fy~?+̺=H~?986=^S˔~?#=ZHy~?h|@캊@D+ź@,Mz@xL@uٯ'@LA@汼hjڬ@ 챼j%k@|of @\X2@/H@4R s@ Sj@^ o@kSz@ʟ (}@iɇ@B2Ѻ@(*@G@mV8-@ւd9@6?9=>L>>>>>??*?;?L?]?n?????""??33?OtP>z?HfYQ>ɗz?M0qP>z?닇2I>z?2[ncC>K{?  ʼn@>o{?*|{?;6qcC>K{?\!N>yz? 012_> y?ϰ/3zT-p>]x?E2:u>,{w?S7ܲBP8>u?#-pTד>tu?_2/P=>/u?)>P+|{x>>Yx?8^P<=E?Sf4?N7{?1P3jꬳ<?f_δկ>}? +*=~?P 82]L<?DA뭼Ӡ4DA,r DA<譼M 6AiT46U=A^u5q=A.A$;4;AA;ͧ5qPA}]A{pQUAu燵KAⶼq5NA{ 5VA3=>L>>>>>??*?;?L?]?n?????""??33?v\e05N o>>>>??*?;?L?]?n?????""??33?ٱ;5^V=/?c6^V=/?p|.n=Z=? ]5^=?ְ'>^V=/?LP2?=K?K=27 =}?v(2B<?\2WȤ4@jߵ4@ U=3@Do/4@9瘻4@X45@&XB25@K3j6@p.Yܴ7@t왻J~7@򅙻.5C8@޴9@݋拧9@+(:@e4 :@E52<@"☻ݨ<@ᵘg 58=@w<=@P%*>@m>L>>>>>??*?;?L?]?n?????""??33?S)6>p?VKPAC8G|?= et?<>] l$r?>yw&p?t%>!o?k>v .s?#R>e4y?jS== |?[qR?J꠴j>l?Ll;<gx?Eug>q=am?C̍>>9;?ዼ@5X=>L>>>>>??*?;?L?]?n?????""??33?Dh72?mA6TÍ> <=T> <=WҤ]>o?S=Tk.>/AG%>Yƙ>xB7>Q >+BA>(>A-CK>l=o;CS>c=.CY>?=C^>=Ce>9ʯ= C}m>L=vBu>T =B|>Ty%=4B>gs\=ܯB̿>*ۣ>^F`>: 2[>!Ij;> kM>;I_I>ɚ$>^Gj>5=\Dԅ>8=ufAX6>P.53 ;P@=>L>>>>>??*?;?L?]?n?????""??33?"%>O^?p=G>A|?G֙=<>QAr?=c|>K?V=N!E?B wy~lQ?}T "j?zG))pSmx?ν"|8=<z?ma<+>@ f? %>/>vOU?n> ?+J?R=?#XdF? c>E?޺<f[5l?İ<=:TN= >Hp?*8><>r>O5?P?>S>e?\ ?֬>>W ?&?Mw>9w>>n'?{?֬>> =AbZ@]7=>L>>>>>??*?;?L?]?n?????""??33?o2n9r>f?E3R&n2@>ud?2F1%>d?}2?^e>e?.O2_Q>h?Pв1L>j?ξ2u%>4g?2W1>]b?s-3J2>_?՚3MIv>vFb?2$"Ť>ar?!31@>j{?q3)2n>̿w?[2Ce2 g>do?ƀ|R0g>n?=2b6d2>Ek?=_ײ`?zY?1Tnb2$?D?H})?r??& 2(?Y@?T:1I*?!U??\hM+? >?@BԶ=>L>>>>>??*?;?L?]?n?????""??33?tͦ!C/?i,?0>|}Q-?vE?=_ĬG!?aK?ǂ9qw?qJ?񆠾 + {>J?{`=)O?J?XD*j?I?.VW* ?G?^1GS'?mG?Md(j<?K?R F?B?OQ?lH`[BJ=r ?/W?vZ$m>M?N9ھX:B>E?ojnyV?3Z.?6=H8?F6?=5,?!BvK7=>L>>>>>??*?;?L?]?n?????""??33?B쀾ӻ=q?q?Wg_@0u0cE2csx?-@阭6ۥ6 ^1n~܎[`?X}bt܎[`?%35 yhZh?3Ϳv܎\`?o2L%3\y?9F2ް r?p2Jj1 \y?JksD9z܎[`?әϲgZh? b41z܎[`?ꪂ1]wy܎[`?B@ Z6b1 ;?L?]?n?????""?33?1?@R텵I6 ڕ9)R7 =x?˙9T7 =x?l9LĹ7c=?97 =x?9'W?И9W=~ay?E9'ߓ%u?9x7pxs?V9ܸ}Kv?SG9і8 {?)9윽S??9+7 =x?MYA|>͏7 ;?L?]?n?????""??33? W/n1uVc?Qk8 uVc?NS/HwV;?aA.2ZEbuVc?rOgܱb! }?20>wcv?>27wOSp?6g0| n?"ž2ɲ󠾌s?t2!km/y?\}3+}?EXPTuVc?8AV ;?L?]?n?????""??33?X2jr?8A2Y1d{1?[?z0ѵ5K{R>+l=vq?,^V>> ]?P>ZͥL?ͷ`>oʷS?Lž> X?о>*,\?2&>T]?8Q>4Y^?|>ԡýй^?:> ,nR?k?C?J̾ ?uɽ?8?9 ?.*R*?Fhʾ>ܽ_H?eb[>/8`?JG75΋>I}S?D6k>Z>`?߽>Ux>j?">*5>1k?BP>=}i?*u@>eAIW'$@=>L>>>>>??*?;?L?]?n?????""??33?59j715?b B9>>4 ?i;0=4 ?k;2=??)gIC,>В ?3xNH>?0Aҽ_PAX>A? ,R~a>?RKh>#?R8Rs3m>tm?螽URP q>?6Rt>h?\saSzy>?OS3~>?^-0Sx>7>㍽DSփ>^>(m'RG>J>„jSb>4>QW f>>Q YdK>7> "ٽU]>~>;^NТ>9N>)OA>%>YsS> 37;P=>L>>>>>??*?;?L?]?n?????""??33?) >yG;F>T\?B>eM0=Aw?=EkS?0+>Wͻ[dX`C?>+L?>=?C>">DI?o>ˢ>gL=V?>mmM>>[a?c>K =>i?-ݧ>?$.=l? >= ]?Lnִ'!:0@?'\0p`?b=="sv?Q(>p>k$Jw?%>r> ir? N=Jz(>̭C={?&9&j= %=o{?@j#&p?ھuCY??6/F J?!>_U9?$=Aե6xԴ=>L>>>>>??*?;?L?]?n?????""??33?{1 5>s?o2pۼ>o`?1m2n?[>Y?G42_62Lr> j?Vi9˲>P&v?lʟ%>uw?V325>mv?z 2o.p>fw?>|q1>>w?W28'y>v?7I23I3]>Ep?N2sF>^f?d3>h2>Dg?TjP1>4qj? T۩{>Op? 1zbl>y?P~3lx1f=:~?FO 1G= ?io2ed= ?d2j.~Z>z?z 311>Uh??B`s5!vb5=>L>>>>>??*?;?L?]?n?????""??33?:}H=7,?2[>Ь ?_E^P==# ?<w>ݽoM?I>`-2>f]>>>l]=nZ=&>4Zu3N#c>݌>g0DDݤ>>-͸ʸ>.?!B76(6=>L>>>>>??*?;?L?]?n?????""??33?Tfs=r?`g_@:@,^2Z[%0}?-@/6L oe33lp?B@l)721 2@76+ù9>6N-p?LYA|>ܐ7>Zn 1X?8A^(^̊2U2\?8A6Ԛ5/M2l{1[?6>hB?^># ?.AR@U~A=tj=dbG.¾F7%H 0B ˽un٦*Lֽ LVm&ǾQ^AH.5\]6mW<[5O'+">3jC"l@/~= !%m+H<<=* TM=UK=rwϭ=JW=2A&ќ~=>L>>>>>??*?;?L?]?n?????""??33?5?jLS15? 8?8WLIEp`Ygqήq2=iq7\/ >?=g9`30>2]G־a-U>XL,wl>rUHؽf> Y{󾇪->XXϽg>`Xޱ]v{Ox>YܾJ8w(L>Pq[ؾU[/>:\mپuS=_Z:XNacxVyNb{̾\G;MTk/#-w.-$}*Bd#(}Ž߽SC7kvNѽQ|DGItl<>{i@qA=>L>>>>>??*?;?L?]?n?????""??33?!2%#/M?z[?!ȡQK[?9I?Kd0`>,e?D2AP$>Qs?"2neB>5X{?2[(p/Y=2~?yY2Xα=)?2Eo>}?{32N>z?pA`1:29͑>fu?م2dCW>7l?EQm1ױ> S`?ڧ280@?C}S?2?P?C 331(8?1?!&02#I2MDE?s)#?^e2g2M? ?#/k 1 S?&?Q 3kQV?{ ? ًQ?6?h%3nd'2x=?+?,І1!?_MF?jvB,69g=>L>>>>>??*?;?L?]?n?????""??33?䦡:> 0>Uy?!">Ͻy?pS(>RMl?*69>.p?w 'P> Pu?鼋J>ٽ.w?+ͱ6>Uz? >^H,x?&>< x?eQd2>,)%x?*cI>J6x?W==LHy?k=tdIOy? Z)pv?qp7 t?Ԛ@ws?ܼ >gq?ND=| tNI>*s?d.> $po<{?p>m1=S)Is?r7>='-x?EP==[<^~E?}B6Ԩ6=>L>>>>>??*?;?L?]?n?????""??33? 0y0/z255?62n55?2A2=,?;N3V2DF#?Ӳ2{ڕAh'?@`2BR?3j:.?U2,^3n72?g25255?2tH255?AA4 >??*?;?L?]?33?3_4CA^p5雺3T6Խ|@=(=|;==Pؒ{u׿=p=C|=݈=h׽\|P=vs=={==*(#xE=k#>lwT=DA>x$aܽ^xG^>qjʽjPy?WM> ý9zeȥ3>6SͽrzAͽ>o#xqx >iǾh@nR=q^? '= QVv4 ٻHN/N@ۼebE4$=˜8C%= *Ҿ\DG =>W|Rt.GY{;@k=>L>>>>>??*?;?L?]?n?????""??33?:^&3 ?W?,2 ?^.X?"0V&MH?Y?ƁQz3>?]?2>a?$1Xv>Xd?8±1ݦ>g? H2ĭ0s>%i?nO2}->`?䦲5!# ?kV?71//3?QS?"&òԼ?S?p0X9 ?{MU?k0➲?\? 3X3?LN?t /^2w)?S?VX2x23?Z?;OP0f?B[?7\%? C?gn2/>?*?eM.%3#?D?Z 1o+2s>Bd?jvBT6o5=>L>>>>>??*?;?L?]?n?????""??33?=fv*O˾_ i?d=q|Ƚk?_=.'q8Xdn?%=IݻBp?Ӷ=1?MLr?g>-1/st?,>K46_u?/9>m;*J.v?<>':;]Orx?r8>-kz?#> !*X|?>A"S< V}?{L=⎽%=I|?/=$ǽI>x?/)=2y>wCw?K:F{>ew?8 <[̂>^w?Ĺ1=:`>jy?$!tս=;b~?sC=y۽{v?э= g='=%x?Gn=%|d>j?}Bx60=>L>>>>>??*?;?L?]?n?????""??33? D%o55?l55?TC 8A'?/07{L$?5$sF?~!?-uʯ/":/?Oz"~36?(;3T.% ;?&1Ki-;?1{`,??*?;?L?]?n?????""??33?b+@)k?CAmV=4?0  !"#$%&'()*+,-./055?(A2Q2?2`bH`b++?:4J4 " ?DپDپr}?mz,@>ĉӉzϵϵ>D.D.(C:C>'4842<33MY=YY>/O/ڡ+>+++m>Ѓm%Nj%xu>u#1>}>~,8>оl l >|\\b>t򾃠? ? L?kAiCL?ɄA"CL?Aj.CL?SAt9CL?Z7A>0?CL?oA;CL?AV/CL?UACL? A CL?QA(BL?ػBfBL?GGB^BL?`BCYBL?C@B BL?$BHAL?,BCAL?N3B?AL?Y:BVAL?*AB+ȸAL?*AB+ȸAL==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?>?? ?>>2406?5X†q?AyR]7 v1@܎=[`?-1E^>}?]Ѫ=>k{?U 22>=x>"]x?%2=V+G>Sjt?6>o?02!6>j?ʔFip>g? |̝{W>g?Pj2ev>Zi?1Ə>bl?-Oc^>o?` 38uP->rr?3CR2ڒ>t>u?$R2JV>v?qtdr >s?|iӡ>er?Ҵؽ>6}?b@tE4D?b@tE4D?@5C@|[&ό@Ѩ,-4y@Yx4g@n 1FX@nֈH\J@3w4B@ dÅB@d`C G@hoiN@k$W@m*yb@ڐUk@_m 3q@-[e@P}3@b@3!@jzS@Pzۍ*S@Pzۍ*L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?19cw>Mex?]r5z>3x?71?z>w?9kpu:Ȃ>w?d2+=>țw?1[w>Mex?X2 0><0|?z+=<}~?W2 w&>8|?u8k-f>ry?3i2D,0t>Px?ī2<2Q>4w?a_=z> w?J5Ҳ,~2&{r>x?l1BM>:z?_ӕ׳=?\W4p}?:!1U4懽o?St/ED=?St/ED=?SAAqAAA禼!@A{ƥ(%@A7ܤo4F@AY3:QAAx5GAg{RMA+6ZHA7 ?BAz6AAr4@Aq |l3@A5AAb[5DAtTAHB5cA'G14]AOISAɼ=?5SAɼ=?5L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?m1,5P o6u?.`<"j>Au?ϋKBQ>w?m YQ<[~?xPIUy?ZG;i?ӡΆe?4<|(σjLw?_ =z<+T?>P==J{?:+>*=D=;8z?N>>t$>(\t?Ȉ>"'>b%o?>>s<:m?ե>3.Ͻ^=p?>TM>^?;>%I>u6d?>ްgc8=bm?>ްgc8=bm?@ Z4L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?(&bsF0(2?gAͶ`6Z)='5@\>'c> 7%#8>.%"C>9N>-"@i>F;cJ=TÍ> <=4>K<~=F #>E<܄=ߓC> 's;=ۚ# X>:h=h%?>9Z>&->8%>'r>7R5>G((>+U7>>Bg'T!>28^0>9 Z>;=Z>5h<,:;alO>s}<0R2=T> <=5r;P@L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?I"߾\>^?y}7輾pE>_?t$Ҿ0>Z? B!L(>`N? "U8>@?&н>:4?q4,ԝ>q9?ӾsYݽL>E`[?.젾b/ g>bo?(mG9;=[cx?mϽg<<Ԗ~?8<#=Jq? N >k= X|?.Bw> =I׼;iw?>s=r;{o?>>@A: =L]?\?W6J>??/?[}}L>3'?D?TdY:>ie?ܝK?:t/>P ?%=A}Ζ5L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?b2[+Y\>y?2x;25>vw?+<ݲ!4>t?N2,K>#q? 2Z$ts\>^l?h;8a>5e?v^?11{2>b?ʲf$}k>/\e? 2$0Ps?[? a舰E?J?R>2F(?rh@?ABX U186 ?G?1vt.K ?"V?.>3_?A$1T1?N:[?i}_0 ?U?t2pC1N?QY?Xޱݱr>mB_?"E2>,d?AB O/6L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s??B?x ?h>> Γ> >6,?]>>Q>O>?u?ld>k>p?7?s>g>] ?2?Ⱥe>->L(?0?fu<0@t3?o?,-V)?ĝ ?\ Z+?\ ?۾6?[?!=rֶ5??!B$dfL==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?B쀾˻=r?I?;g_@Mrcsx?2@#U7aAC|܎\`?B@`1s$C332p%cΫ0?@>l6`ZS 9$7 =x?97 =x?w9߭7-U=-?Q9|7=)v?Z9*7 =x?Yd9=\zW~?zY9ɘ͸|x?9՗cy?ޔ9qzR}?mL9pڷ 򅽭s?QYA^|>]7 ??ff&?333?@?L?Y?fff?33s? /U1uVc?423%;1uVc?ݿ2$2|?Y32L<?H23o2uVb?32($c|?-23Kԗ0|t?f3љ,t?!g3?$w?V)@Q3a y?8Aɛd9 ??ff&?333?@?L?Y?fff?33s?I2#βjr?8AQ;y\~~R?[?0 ܒ&d.==:/~?(>gH=|?!A>K=uz?Xl>%=x?|8>s+=u?v\ R>=us?h<>=o?~=}&>>ak?[o]=>?8>f?)v>_>7f?>L=.f? A>=Vd?R-ݽ>=@e?Ia> =e?Ya{>U>{f?鼺g>P>tf?w=9d ?X[R?A >?mYuV?JHO>>k;W?>=>=W?eACW'$@L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?5k0v25?b B9>5>0'?E&?>39y >@$?]OV`:>0""?\ jJ;D=4 ?m;4=]8? z%?;t~9W>G&?/8]n$>&?[(8 *>%?':y9>{?ԍW<9t=q?ڂa<ۭ:?KYBL>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?>(>9@o>aR?f>8x>>J?]>X>/>B?=B>5> ԑ>9:?nz?>>`q3??\>3g>_&?_?>t2>u*?>0>˹=P?U>PCN>7k?I>Ō=xϼb`y??μjj?=.t>6 V?n@2π>>m\4?.>>vI?tA*>Zg}> ?nG_K>i>p ?$=A06!3L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?5u2L|4Y>e}?!E1w}S>h}? ~32= A~?#,0!h4d>9L}?sPi>o?PX2vWh϶ ?jV?A=B|2$?D?崤07%23?A6?G3 "3{2?7?޸2C62%?yT?b32D>r?WB2lP2n>i}?n2;t2w>w?v2k*1uL>Vg??"1;_2K>M^?3 U2 ?W?\ӱ0?O??Bʴ(6L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?9D_>i?ҕN?#\4)>Ϛ/?2>s܍Q-A?uVm6>o҃M?+>0}Q?ek >AVP?%icG>Q`M?3q->oJ?`P?E?Y*Ȧ+?WR-= ?F5' %>x>]O>c̫_>b>A 6|>e>τ-_=>8?nj><ÐU?Sܾu>>Y?@_;FϽ[?6)> :Z?!B:t6u#L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?Tjs={?;g_@>@T2L23U[%0}?3@r,ʞL3mp?B@61=1UR@~#6E4ù9?6M-p?PYA|>q7>հ3w\X?8AR^b5:3Ƅ1\?8A*U%oCc33~r\?н5L;h5>iB?^># ?0A R@V~Aݽ潾|{'=۽~ý{|=ؽ6|ͫ=սy.}싯=3_Vz3=zDvV=vtC=Ƚ#rߜ=mǁEol=x lUT/澏>pZv0ʱ>]F;2A &ڜ~L==>L>>>33>>ff>? ??ff&?333?L?Y?fff?33s?5?/ʊ5? 9g$fl&V^Yڦ5]P@LgLWb$5p '}gAf/DTrX1;2fYW!ESj5r3GUc9jv`̅C5wl nQA<vFl kp;irv y5ּMvaNF@tJbf~kX7K3npXbi]L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?<0I!=!~?1RNg0>2h?Ӳ=k{%/?':?1mð~M?T?a@]19N??TJGֲ_B?D&?'^!c.?R6;?.i3t+?NN?@3?>Z?y&27O3>K^?\2%K!>3_? 2=`>L`? }2y 2'>Jg?M sS>xz?yz:+U:<?@/z2&>|?b3~3۳>0Vo?  h@>dk? Ikw>k?T8j<>k?gvB\6:L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?>i?)2w=>k?ww>f? b)>_d?,>g?󣋾'Y>:"n?fy;0>/#t?RM=>:9w?aK$9~>>tv?fLA><>^s? %[>o>>o?&,m>ј>;\i?΁>L6>b?m==$P>I?T?vU>{v,= ?թP?A>>A#B>s?J= >#Aq?">">+p?4@>OQ>t?gy><>@zu?}BR}L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?U2(355?AA ɋ-]22CAdKCGv1|Pq=q>NqH{N='/>Kz^v,=J>e6uy@=Z>;1evN<[K> `lZ<+>{A (jL;4>t0tsL~p=*>--B6y=kZ=۽^z{=K=qR|i= & >㛼|+ (=f>r1|7E=e&>Z0s>0>a`>$>DG&Wn#D>?=Dr!>՜=ܢټLg>=S7 ? =VX7N)?Ț=@lL==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?X1 #x=;<~?T>v?a17>g?0y45l ?W?D32s??QP?P?MO?peݚ1T=?,T?2E5? \?Rn2r2ű>6b?ݤYY >`?d5/V?@V\?of ?+Y?벱 .o>]? 1d>v?]3=~?ݲF /%j>7y?)ױp8">:e?@Fc[)>^? 2e3_~?[\?U"l;?Z?jvBkҴrL==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?*=  Ƽ~|?m>ܽ5=)y?U>8Sv>.Hr?R]>6;PD>i?+><>/h?9=H1i?<z:ɱ>Mp?<=ş<3>F>z?=XO{?3=ʬ, N>w?_=9euF>sr? ֺi>s`?uZ~,< ?V?q \>z?d57Ro? oA}o?u L>>>33>>ff>? ??ff&?333?@?L?Y?fff?33s?Q0•(34K?$A/IEg"?z/43^:.?2#/55?*m/55?AAY6L==>33s?la*.,2?CAW3eww?0  !"#$%&'()*+,-./055?AdMq2$P?ʥ篽)N#n>>NZ ?] >ÚaE>\<n>(>eY >~86>L?hxACx ;AvCQt4RAmB\`>MABRi@/OCL?>C?VL@6CItU@_!ASC$|@ތAHC@6A3C~@A C'b@AD< CL?zAa C["=[Ah=CTA9?A0]CQt3ABd@sA BL?]yA׶BFAq+n'BgAi,–!B)(BZ?ªnBLNAksB*5:AIjBl4@BBt@:_BAG4QAQAMA3A@A$A~A=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??>?? ?>rŲ16p?5\†q?AyS-71=Q=?ͻ6;Qd}?\;=/->-|?f;EW=ĭ1>{??|;O=͂=}?^;v?<ɽQ> t?i%rb>t?c'ea=>Jr?b[\>>1h?Ml=i(;>v?h=@~?@=~?=F=~?=g:t>4}?6==Z)>By?@}Ͳ@΁oU8t@ު6@Qb @kt8˽@y-89݂@ﺴŏ8@ !@M@ #<6@² 82@D@.!ɷ@᯼K%5\@ֲk8ɂ@6p8݂@s08-@v֙_s@( ?2:wl@:s@C$^x2:!m@4[ʻ݁@."9@O&O@]屼@Ye򸯪@m:@&ڬeiX;@.&u;=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??v23#Twӈ>|v?edu?漼_DN>}s? $>s?uνU>t?.p _z>Zw?-"R>Yz?+/;>B}?0oк!=\F<?>į~=C:~?Zc<=<?vҴh>5}?DUˆmG> {?NRSѼ]>y?AE'@N\>y?QÒ:<1Q>z?ʷ;=A>9{?@<R=5>{?@<R=5>{?G;=f>*x?@>Vs?uR=n>>m?49==ٲ>m?V!>Oy >[Jz?cS>1*oר \-r?h>BIuǃ5>:&p?]> 6=>V9a?-?A$6S=Ax=зAYtk AAЦJvDAnkOIA۴6UA􂽼c_A15VA0~JAJRR4nEALC*8CAګGCA˰DA̭6 EAFA5FA_5BAcS`Vm>A%Lݚ8Au";KAg& ;TbAꪼe <"cAUL>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??p5'N)`?עA^*T56 2 L'=5? 2@k맱 ?p"=r?={<v?u=-<xy? c2|#Lg>B$p?9F9䆼?Z?a: Ol?H?6.whH>nd?M MU>qbz?;wH =G~?;W\Y=g?6 2=>~?:(k\/>'|?Xv>fx?" N>w?0(OOl? c<\}?V>h>&b?-X>P/>Z?T [>}>"d?SC^j>Nf=cn?[@־GL>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??Z)8%&?fAAṞJ>0>:>4~(%B>U#M>!a>XA*?=U#M>!a> >(Zb>3+ >g0.>! d>+1l> ˵>|0>2+ >g0.> D 挺>B/*ߠ>7 8>0;4>2+ >g0.>2+ >g0/>(Oj6gN;P@=>L>>>>>??*?;?L??zޯ<)m?}s䉽_(o?^=k}Gl?H4Ծ* I!g?kjR=]?4c=Z?Ճ=&[,L>PS?/> y>JQ?6a>n>+N?Wj>B>>M?p=D;l[?u/ 辮1[\?-wF7Ҿr.X?^о$tOW?UO~={Y??ÄսU[?C68FE\?|CG=s[?n9h $W?ǎ/M(#?P?z=Q LN?S{ᆵɾsjսJH?V%](u"79?=U۾4 S6=W?t/>F[?]9?vZ!%>1?(}r<,>8? . 'Ɣ)/?&=AD)67=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??1u:>,_?QH:?uT?%w/1"?T?*ă>~t?U&:?xkO?2G:?2}3>|?01P>z?=&>>2{?CK Gպ'=,~?<:. =?!%2:?/22E(=r]?H2]vC>K{?Gi>v?_I8>hw?2񷈱g[>Mz?a2bB|>Kx?Q2% >/t?f2Z2:>Em?9M%3޲>a?.3U?DP?6,'L24-?;?HkA?'?72|F?!?N ݰD3p8?1?* 3F!2sU9?z0?k~fL>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ZuU榾0>dZuU榾1>dOb1 =3j>ξW-I>d,>5ھX_>fG>A־`b1ڈ>wZuU榾0>dlQCƿ禢>7cuSi >ۗ[uU榾,>d UE}> ҾHM8H[P>q5 ew>%# Xš>@AF>?LL^Rٲ+2|>gJޯ^FL>AT Q >n5F_>c*E"R<>##(u</>)X/I>}>8Ҥ-n>M>]!B5~J>??*?;?L?]?n?????""??33??DD??UU??ff?? B쀾λ=r?B쀾ջ=r?ICA¿=?LCa =J?B쀾һ=q?b@}9f>?*<8w@>s?8fpl>?i4i׉>?LZ20?KS1d)>x?x07cP>?/a>^?m??g_@9 ??""??33??DD??UU??ff??$_U3csx?=@^673&3۲uVc?8A6^6XA&(3jr?8Ac>g41(]1?\?96(\ň> >Ul??f_,>h=OEo?/aTi>h=ntq?Gc N>= \s?we2>_*v=t?f(>$=Rv?"c>M=Ǵy??>u=.{?¼j& >n="|?s4=m>4=j|?Oi >=3|?ң<>˹|=k+|?> QX=bz?O> 3=Xw?ໆH> =s?G19/>tp&=r?F>?==q?&7\>X=ip?yFhs>q=d3o?(>e=am? >9s=5l?VD>&\=j?bֆ>ͪD=Sh? >*u=\l?yn>E=Wo?f\hy>4=Rp?IJ5mj>m>pq?7N [>ё!>xr?$K>}>>fr?eACW'$@=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??58bI~25?b Bt9>D>B1 ?}ξ6/ދ>L?]־}O'Z~>m?۾W . k>_Z?W߾n5`>m?۾W 0 k>v?jƾiT%/>?Ӫx*.>E?٥I+>(?*>?Ӫx*.>?Cf*Ů>? vo*>?Ӫx*.> ?8䬾*AK>t?0pi+?f>?Ӫx*.>/?0m']> ?$;;"0>)?Rq2o^>l"?MJ>_#?q<>$?4(uM>%?-If>%?w'E_Y>Z6;P=>L>>>>>??*?;???""??33??DD??UU??ff??>n= >{}\?ڇ>V=$=o? >x)پd?TZ=!<}j]?q'𾈺]?%=>_M_?nu=>:'\?%?>X?2 ߽I?S>F]T?Sz?U=O?ܖR=D ?YYѽ#T?"x>>L5IL?>{>SE?>->߉8F? [>? M?=,?9 *Q?=? );xWR?Ң=6?e?l|F?>B4?lݽ+G?19>X?G?>`?N^0?́>3'?[ۨ? >[>>{\S?צtUc>ǿhv?`<ߍ>ֽt?X>>pv^O?>.b>ɋO?W`>, ?߽=?#=A)e5D6=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??gX2mf>:g?ǥ0i=8 J>q?-1(Hײd>y?e's.3J=1?:2:?XG*ǽ>6}?% ֡>r?=F1ͮul>y?^K2*˳my>|Px?Ez>[4x?E2il3*/>:|?{!;鲯n=S?-J2k63b:?B9pQ?Xu2.C3N?py2:?Z28=tH~?^2Ne>>y?L-2OU>\z?d|c3w}#>>|?02]m8->O|?,H3n>Su?)ț۱x>f?aY`h3}?dP?͸1*?>?21}p>b?F2 7?J2?/K>^?y5% =L2~??BꟂ60u6=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??Kta>=_0>?]Eӷ> =>X:?Kta>=_0>?ٿQp=EF ȼm?J?6z9x>fZμG?k>8˼t$I?d]>6 ȼn?J?f]>H ȼn?J?lFh>0ϬI?f]>F ȼm?J?>/I?;yVE=钾C?uYpȾ@?IK澉镼 g?]j?-MD6m?Kུޅ?l?!B6l6=>L>>>>>??*?;?L?????""??33??DD??UU??ff??Tjs=(?9g_@8@u˲r1W[%0}?"@5(՞4qp2lұkp?B@{6)5:wXf3,=@ :U%ùy9>6N-p?IYA}>)7>1A2[3X?8AjB?]># ?,AR@S~A˒tf߽Mrb=Sͽ]oe=k#km=7վA֥gM=jMEle=7פ%\7ol>{jWҼq8>ebӻrhh>U=pu9>OyGx{VvLh >'8 :pv='~tt$=Ef䖾 q{N2|t=DºRSZ@wo;;/D0Zy4<#{4NL>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??5?{0p$ű5? 8aʾÇe 'H;2\ЯʽE2k/Vy!X Xa׽#]޾ ]1mq[bɾn d5_ܽNHMkj/=ś.g%jD>A(kj<=!绾Bj|(k -xGomIk ^Ol41!% kDZaNL侈J_/Ml?"zz&_3]>g?@g Z> c? >lb?#2_3> Fd?2IT3Z\>iPg?pB 23>k?籢>p?[!>ju?-fTV3 ;u>x?ܶn2IZ>z?w?UI22e8>q?Lױ.3<>j?+(2>4c?qn,-1k?z\?3m? Q?kb205?]t4?C욲3ţC?%?2ymM?>?H21RY?M?}1h4a?s>7yda?X><(C`?>F2MN2f?>Q-T/Jf?> :Ϗb?>:/Li^?u>ivBd5碧5=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??D=K=4=Q}?ZιOx=8=}?LA!9=M=}?S [>Dy}?oB0>E >N||?G/ >г½8|?C>F>ýxv?oq>^>E;@o? <7>o)>i B;3Lx?==j=H9}?c===I}?f_={=oJ=}?=,>B=|?!>>>PFGx?4t>s>9-Ynp?E>6>㲽y4l?=U>Mx?H>[*}?=R>cl?B=q1>YV?}-> =E?>={=vG?&s?*UE>[L?%>i>\4>U?Ȃ>8>f4>_?d?vO>uH?*>$>>oTe?`^>;= B;'Jx?)=@<,=SE~?}BO{Tr6=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??^3.355?+2Ȟ55?7< =@'?i =0=>yJ I?i =/=>yJ I?AA`5?33???03>j3CAsZDCzL3=2<)>:`ya*= >1{Px&W:=w=kLzw=2>X0b|@=> =Y|Z،=z>jD=Y }M+>p>r{Ab#>]zV'8>4DHxҧkxH=msT>Ly r==G>)}z/=b7>\Z_{;J 7> f{$=̽vz5;=1HXzOI>^`@ux'<ρ{9xV=H>-w-,Y= >^oSU[=V>jDZ=u>Ih[I >ؔe>hڄ/>a>Do\B3>r{@l=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??O042<>Il?-b5M[>տ_?C26?X? B2xE(>TB`?(q3a+>zn?ܺ426ʲ9|>x?-2I41t|>x?X'Grx >kt?1+2>>q?C 1^3>|p?N%V˲Š>M s?J292D>v?2t6>v?:-1*r>>p?b2 n9>Yj?? f12>3b?;21" ?V?0Kw&?P?Z33*?H?k32Orβ ?2W?f㲕I-2>`?23,+ ?@V? u ?@%G?/8!3v֕d"?mE?ar,81g?I? @1; 1 l ? V?0齲z?X? ڟ`I?0UY?ׅ1՗~H?UY?kvBF5=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??#=t1rdn?<2={ $gj?=j˾g?k= ;~̾ff?=6!%i?=5m?!퐼Ehn?sqNsCl?<%Wo?~==$|p?=}r*~zq?L>y@cr?;= kq?Wx.= z WQn?Iľ~i?O_ko Gܾvc?!zi?cF=l />.p?5=6=3Z>y?-C#r>t?=3|>Rm>no?}BḎ O6=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ۭu55?)Ų55?51Q)֪K]?L[@AP0`? O,c?]v̍X'd?߾ a?kIe7X?38')I?zO`"6?,23-ڼ9N; ?F!+<` ?zVL5ũت`ȸI =3>p`dP=> a?þE=I>gW ]=}i>J5>]ݩ>@7C,NJ5>>H%,= `>>:>&%>r>-m#tˍ>aoZ>~/!i >+D>201(>%>3.U>$>4Y&>=f6K(>D=B7,\ f>ȧ =7,\ f>ȧ =7.Av',BYB@-BfgB,@:i0BnXB^ r0B3Bv',B<BzB~B()$A,vBEA,zB=@]AoB UuA|cB+DCA=VB9>“.ApIB Jœ41A/;BS~L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???43?>?? ?>{X5!=I 6zT5U†q?AvS75Y/-?2\#%VJ|?P(9=5>{?1){f=`>Gs|?r|n="0=st~?_ec=<0?Nc ]>sL>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???43?xs>/N;q? &>Q^ s?\.?>62&v?ej42S=2 w? 17^=N'Ux?3*=nlw?6+>u>u?%0P>`s?@'">6er?%.t9>6]^q?3N>UUp?ܨ8Jd>?Qo?=|>ALn?fB>/H*l?ȟE@>bDvk?F>Ck?/Bb>XeHl?%1#B>ƬWwzq?M"]wIv?ͩ1cBr?0ʽ><\t?UYm<_tEv?H\;%4hx?9v4̼νz?F@͖z?xmUǽ`|=x?xmUǽ`|=x?pAƛhRmAܡ࠼iAk97 ׻+fAn~dAVTfA|jAл|mA}u %nAe~mA WmA~ mAn~f*mA>mA{mAO'mA{mAV:mA%9,mAR"mADnAB[vXmAy5gAӚ{`AB HXASOAI OAI L==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???43?!~ +5O oዻc4ܮ2u <^V=/?4@5Q c=ɁVy?q=O_=wx?6=H2>u?7'=L->]u?=eI=w?V_=];~v?xN"<(O޽v?Vlgͽ?x?곻;+%ۢ{?xF^=!>tp?>ua(>k?>9h>Z]?dM><> T?H>7镇>^?y=KL<)>5i?_!>k?`_-:>"[?#>W[?2K>d?֋@M6S4L==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???gf?̬?43?:/ 1L/?jA&5PɴTÍ> <=?6t;P@/Hl=>1[?=>[?}=Dv>0[?qr=[>D6[?Ƣ =vI>E[?QVgZ>)>Y]_? >2>2c?_Y>ϕ>:Vd?a<=#@>`?/=B? wZ?`~!d=\!?+T?c88}+=?S?4P>}>?S?"hE>|>T?& n>Z>U?p>.>W?P>4>W?3i[=>Y?4u@;a>b?UZ7ʣ>>Jf?G&}e(G> e?)G>"a?Y>a?Nz=ã>χs?/껽 >xl=@{?*7 >"e=y?&>=dx? $s>=}x?$=A"5NU6L==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???gf?̬?43?12S?Y?nDZT2~T??[ȱ?2T?)?1~fU? ?x~80!-W?ް ?22GuZ??233_?@>_XXY3za?>JV栲Q`?>E^Ћ1+]??<5Ӳ֤Y??P02j$1X?&f ?Ԍް DY?d?<78 ;\??3hR#_?>Z&O3 9b?>|G2R2d?>a02e?>  @b?>w>SW? ? 9k3ekB?`&?+"*1@1&?TB?ض1t3Dv ?_]U?t(2b?݋Y?23]>]?N2`u1Zk>Io?Y@>t{?^3+>_|?2L 2W :?@B:m;'L==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???gf?̬?43?1B?`\d?*{F'E>)o?j*>u?^W h)5>Hw?0B/8f>x?{-9>$y?V<)>Ly?r 9>x?1NwR>w?ɽC6v?pN7v?<'>v?!턽<>w?1v8w?%z4OPw?Slzv? Z<(n>s? 1[; [>W}o?GjF>j?q̵ͼ5>f?pʾlg1>j?p̵ͼ5>z?#Gt<_5>rx?>j=zg*>x%y?@~m<7>/~?= =#;!Bzs*&L==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???gf?̬?43?B쀾ͻ=r?l?Rg_@Gf,޼csx?'@6:#!6苰{k2y܎[`?B@BE6b_2R9?@qO>9Q0:{??9m7:{?29>G};{?%$9={?9Xr_? w{?9ɝA{a{?9A]{? 9a`?w{?:9U :{?U9ʩ,U|?~9vt]=}?,9L;M~?/9.ֽ~?9')ghϽ ~?94\.ֽ~?'9.ֽ~?NYA|>А7 ??gf&?433?@?L?Y?gff?43s??gf?̌?43??43?2^2kܾg?i=ǰ/o? /2Z*w?/20<9{?b1%;2U}?ek Nh10e }?5!*|0;;{? U20zqx?>B02./r'u?E`&űp?sUMX0X̾+j?&R21kܾg?3F2G@e?a22ad?2%y2PI#^c?Kٲr ղO뾀\c?zڏTc?,/Q1PL>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???gf?̬?43?S,谷jr?8AP@ ,=ᰀ\O2?[?L14s4;ي=$>=Mp?j=>=Gm?=>7r=Ek?֙=>=Z2h?B=E>9=$e?3=_>=Ka?D=5>1=ma?} >=>D >8`?)>>PL> _? F>e>{K8>^?w^'> >")>^_? >w>>Oa?=>X8 >b?*==%>Q$>a^?| =0>0>>]Z?}Ś=3?W> V?h=h>hS[>\?r_=5>U^>a?3= Ѿ>`>Nb>j?SZ>BMh?8<8>P>hYe?BCG>b?Ԝ;ѓ>U>>R^?k^<0 ?f>HeU?49<# ?[>C/K?x0Ѽ&Z?#hr>{R?Z&b>T>.X?/H>s6>3^?eAW'$@L==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???gf?̬?43?5Pun15?b B8>>4 ?l;6=4 ?m;0=?;xѤ=4 ?l;8=#?cUȗ:> '?N83>)?3u6VK>|"(? q|7R<>%?:,|9f> "?Ndm;Y=4 ?l;9=>h?' <=>?^}R ?>A?Zh>N?>>@?cǦ>> `>q[O>.>t8?K> >> 6?>6>F>K;>>.G?S> >>]O?M>ኧ>>zW?<0C>/>>T^?@Tc>W>&>`?n>t>>_?ìt>d>>[>[?$v>`>:>sV?\[s>>d>:P?!n>>8l>*RL?5>Ύ>>h7?7>>1&?8?<>7u>;/?P ?!:>>t&?W/? #>,>?a??>?>>?F?4J>>V>pJ?;>˽>o>N?>:h>Ў>`sS?r>J>KQ$>M[W?.S>ۺ> >t X?;?>Z>A=X?2m>~>0=yX?%=AR3r@6L==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???gf?̬?43? 172B?%?2W%3a7?ՠ2?LW(3|DI3O)???;3 3?I?2{Y?vM?!E2~_?UL?n3"32N?J?zҲ1) ?G?1 1%?C?Im1*?>?z2 G]-0?<9?E3:ZI5?4?42$ mΤ9? F0?tݰ2?N*?aj&E ??g*? 1l2z(?U@?(಴ ?U?nyS ?HU?'3 <? N?8K==#?3E?7F%2Ҙ-?.&L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???gf?̬?43?P/8:> >'?02>=*?*h>՗;+?s"2>&{`Ha+?}*>*?$>Yҽڻ(?FX>̀彊'?y>Y&?>"D%?Tt>L=$?d>#?}2#U>@"? 3%>A!?'">; ?,(">pݽ,?q+*J>`޽?*9O>۽?[-Y>ٽ?x3>-4`?;^>pz3?B=>tzK?CI6>4?OI7>u>bSTr>Fc>)V>p>{T >TD>Nǟ>LԽ">Gd>"S?l@?> ?!B:? 8۲5L==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???gf?̬?43?Tns=p??g_@@@k:?W[%0}?*@8u6  )ܱlp?B@e.3&RhR:@64ùM{9@6M-p?LYA|>"7>M2i1X?8A䛵EnX1p/2\?8A55YL2:[?(d6>jB?^># ?,A R@W~A@Uϛx =$4!2z=VX@|PE=kQ=};<]]S}B<sx:K}{=t!| =`1C{=# 1;i{r=0v9{Dݨ=0ż˨z+=`p/hy>ε.y1>>KBƶwU>fidcv/>fYAHt,>O[hn?r2>I*_d l=E۾YYe=}]-B=((scy=}˾4At lAz'>ؔ`oM>pLEp17s>nvnp%m>{Yzp*g>[l{ob>>p n&\>3A&~L==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???gf?̬?43?5?%&0225? :+=鏇dB{>J3]؃=&uiK;f+־V9s꾖XN!;.-ᄒ{Sb65ACINrH̾I` 꾸>sfλR׾Y*BרZ@Ǿ _J¾ ԋaYɾ`g5`a+9ؾ/]>PayVK8 g/)w1 R4ʙ v0kKP=l9O-D㚷=dR "=cZY\==r ᾨbԽ=,⾍b^ͽ=-龱_eν >cz\9ӽ>#IYHֽY'>rXӽN*>O[½sg>[0G`D=޾dЋFT=@sAL==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???gf?̬?43?DF N}/W2,e?v+> Sα6L²@c2u}`?R>+t<[?(-?2KyT?|?dҲLT0ON?e?Nȃ3\G?@m ?O0j, @?/)?"2'8?1?$2xRR/?܊:?k"3w2#?SE?@j1іX_?[ Q?C2}2 ?ƈV?* bD?.[?B 3;2>Mb?P 4@q>(jf?$b U>b?T2|\S?W\?松1 U,?kT?Ii1]?|K? P3840M$?'D?1 9a*?>?|2 1_R/?:?2gx"1x3?\6?hvBu 6-6L==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???gf?̬?43?1) >`=1n@,w?l=i>}&fx?S=ȴ2>{ :Ay?cﲺj>>y?(n:> ٽy?=fj>"z y?%|=u,Wx?Xi>=.w?_ݚ1=vJK;br?ЮO=)=.k?4þs$>>;f?ⴾr]>'>3e?{z>(>f?baD>Y>h?v2ldz>H=i?](>sz껓p?6Woy[^=~?^Kz׷=~?A=A=)<}?4 hA_Y=P|?OFj)=cx?"u ^ZC=Gu?b7KL>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???gf?̬?43? %3#{55?AAOP2:K3۲CAS4dqUov>CW+y>Һ~X3O>nZ#!]'>iɯ_t>灾nVs= Mzt|f=[Z~n \)0N{֙i= ,=Ur >c2=^ip?>F ;phZ>끸 ku3a>vġ1$snR>5|3Dlp1>p56܈atV=#뚌u¶!XeT[vrlO vKn2>ȽGu,]Y>!`/pt_{>nH<:s\> =p/>@kL==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???gf?̬?43?3T{14?D5?S2E?Kg#?3l'3}T??Z2L6A`?>vV2eHf?> 1`?i>Fd9 3HS??%3ܲI?? 12l>?+?Wg42R6 4?5?`$39 ;-?|?;ir-?;?~OW1?38?u5?4?R%2؁@1b;?;-?υ1}@?of(?/N0!z1??)?1iH19?d0?rd1P7?ձ2?Gƀ2I4?/5?62x$1?8?tY'2t1<1Pb+?*>?qk2u1 ?e_G?(2B?u/S?(߱1>4]?jvB:s5)L==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???gf?̬?43?>ops? &>SVo?> -ZMi??>>L-b?_a>W_<8]?>Xk$f?إ>>o?rU>g!t^ѭv?=!Ͻy??*=zLz?8P.9Hx?$L{ov?-'s?x 5$Jyr?=((+hyw?Dd* y?&%9ȑU9 Xt?1VP.o?I殾 n?i&G4m?B=aJʽVn?/PK{n?7]>\y`ak(o?#7azC[!Bp?[<r?9?#u\Ƚ6w?D2Ұ{?Թ7ӿ=a }?}B޶L==>L>>>43>>gf>? ??gf&?433?@?L?Y?gff?43s??gf?̌?43???gf?̬?43? Czòqxsy7>>ĝ*n>mį3$`7N>1Ҳ\NOR3?D2p F$!??̲ F$!?My4SA|'?u1ڏ@363?NkԱ80#9?AA>9O6 L==>L>?gf?̬?43?Tq/i0?CA$moww?0  !"#$%&'()*+,-./00/;?C?#qM6' ?QJ(>žЙ>'/"}׾~ s>@#Kؾɓ>#=پ`->7#پ>D#iپ/?t>*#Pؾ_@>"=ؾ9 rո>lV"b׾< j>'/"}׾~ s>'/"~׾} u>3D"U\Ͼ L>.oҾ> <>c?3>_d > ׾tZ"Qh>žZ" #DS>ξ i>5y>n P緩>7 . U> )S&>~P征^>DICݢ/C>龓> )S&>Gi@AźBI@#BՊB@s?BV5BAL^BgAAOuBBABAA-$BMɥAAg#BAAjBAA7BAAdžBKۘAA9WBAA-$B}ťAA-$BXAA-$B`5BA-$BhBA-$BPoBA-$BviBA-$B[BA-$B=JBA-$BA3BA-$BBA-$BRAA-$B)AA-$BIӐAA-$B ZAA-$BAA-$B_AA-$BuA=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??>?? ?>c4ս$6MV5W†q?AwIS7xo@<˽r~?L1ܻ>P}?潾9}?tz?5=ʇ.R>r?]=ս>#i?*?=g>z[i?",=i>#Ql?f<'j?q*<˜m>ki?S=S>nn?iJ&=>t?>K=EQfZ>zy?o=~`|q >i|?a=>=I~?ǫ{=~J{:<~?\f=Z5(~?@d=lơB~?\f=Z5(~?@i۹@@3C@ư߂*@MЯp:X҂@> 9}߂@fO@~@P99 @e@׫ @i@i>Â@/ƴ3H:@IP;l@j.[;6N@v;L@tt[;P@ɀ= ;K@vq:H@sO:UV@G<:l@Uޖ;@cأg?*;@b8@;ع@o]2F;HЂ@鳼1;g߂@ҋ;@V;V߂@b;=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??m0޼:=Y~?sփ)#/=?5ezx?Wx7?N(>{?^{=-V~?Fgi!!D?:[=a~? N(>{?_ʌ,򅽥&>K|?ܢ[>,X}?: [=a~?MQTZ~?мR! i{?D˽}?cf7?iֽOԪ}?uG}wpExPz?*٢d̎pu?fҠJ&нZPq?Γ6*K)q?{hQfȼZb#s?{#nVXv?DJL>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??u2%5P o 54F`y?=J?!>-r?x=kK0>U\?}~|I>gq>x?Ϟ@>B>Rh? u=v5y?P9zd>0h>]ar?ƽ=>yi>U[?`y)O=w>a?P;RTw>@k?aM={N=j>)o?xB=#F>D>:o?5=;tK>t?53=a!K[=~?Q02=UB[̄|?l=j5y?$*>8!,%Gw?Mr>f*q?>vG@'k?>l4?>l?C@>X>k?=0Z6>ʽi?,q_f?yk]/>LMc?ֽ>h?V(8_=>;m?yX'>>xf?giif>>Z?ዼ@So6Ĉ3=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??O1//?gA|3af6T> <=TÍ> <=т>u;C=4 >;M=$P ~>;²=TÍ> <=0>D< =bc>o;fLK>Y;=> &>S<Ƙ>$k:>I%A>9F>*%OC>9z>$K>L8: >*$P>k:>*$P>k:!>؎7@;P@=>L>>>>>??*?;?L?]?n???s%>i5> tϲM?ER+?&K>QE>\IS?6X͛c>2p?־nr?1<ݾFv>.i^?=쾌D>6\?{>qݾ5=xc?Pd=ҾH1f?1LξD=cU?b达<0?Ǝ7Ғ ˋ !?Ň=\LίE?AH "̅ ?+O8 D٤ ?E+ t)?q?=G?e&t?-L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??۲%-2g,>uX|? 2}>T}?2x] ڣ>Qr?H 2oF?qZ? %2.?v@;?,@d1,m7iD?0$?ʱS2ex2??l*?N(H &?B?&3ex?VS?`0/D?T?s2p?Q?*2d2x?VS?0•2SC?]?f3N]2->i?…4[I>סr?=2,2-0>u?D0Ehl> j?B n2?hP?nѲ'֡2$?C?[2; '? 5A?31z?K?-q1~21< ?,V?RQ21}>p_?1ӳ`> d?aD2 >Ayf?/ nv"L>Ef?Ӑ2LDŽp>d?%RX1 >hc?4|!2->Yb?AB[6pwж=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??>1crӒ9T?>2ɽܖ_?>Dͽh7+`?H>̽-&_?>v˽c_?>,ɽܖ_?>,ɽܖ_?@>Tӽᖕ<~_?>2sK>`?!%>>yc`?>2ɽܖ_?r>>᪾J,W?a>g=ԵWK?-O?s{:>E?p5?lx>֩:?i:?(>9L>>>;?L?]?n?????""??33??DD??UU??ff??B쀾л=r?m?cg_@:Lө/A2csx?/@>6wc毲r܎\`?B@N^5%w6Y.0(0?@%ѢyA9':{? B93:{?9B1A g{?9Rv'LWz?x9VfWNz?D9A;:{?9OcW?9d.7p<?937 =x?9w.7q<?9%7a<?9%7<?9m*7k<_?9x.7q<?MYA|>ő7;?L?]?n?????""??33???2kܾg?R.(1 .kܾg?2\˱~f?H2!l9d?Wv3;1`c?Ϭ29E2kܾg?k &H 3xSs?k3 Y}?vA1hA}?HEV˅2Y}?X=1E}?L12 0G}?$62h3ͦ$S}?/d3kY}?21Y}?8A !(@Q6;?L?]?n?????""??33??DD??22jr?8Aεd6^1 1?[?5𮱵!=>1Ĉc>=l?Fh>[>D>kzd?~S->K=`o?2˽>"=:j?NG&>98=(b?>L=Зm?+ǽitf>c>u?L;4-= P>9x?Sb?=>N>dx?ǪrL=M>>x?G(e)>'ZL>ax?f)>K>w?뽎->9A>]u?W>v6>!2s?y4>+>o?MS5>Jj >k?x>=g?>=\b?_>C=j~\?!>ZL=`?gA9>^U=_!^=h?唾֊}>f=&l?l<}>k=l?p񏾹|>:q=Cl?u|>օv=Jm?+G|>^{=m?{={>=.n?eA9W'$@=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??5dŠ2)ٱ5?b B9>,>4 ?j;7=4 ?m;2=jo ?AZ}N;^U=C ?2y;W[=v ?]xo;=4 ?g;4=?jb$?UF89+>$? K`6:Q >*$?yPl:>*$?wPl:>c/6Je;P=>L>>>>>??*?;?L?]?n??=h=g^>Lv?}U7>6mt?Dq=f>(s?>7t>s>Y? +?j.=\>5?2M(?d='c>6?? M;>H>RM?>>g>uU?Mr>>l>RZ?->c>̪->>]? >>$=a?v>>+=,b?^>>=a?ϸ>ꭽ>=ιY?ۉ?l> =h=?-?9՝>K*? ?O{>*;??>ӵ> ˘kU?>>+nZ?G>f>';&]?)?=o>GĽd?n>c9h?d̒^>U=Ej? ޺>?=8m?Zf? >2=.o?Qe=>=1o?=i1>m*+=o?>@>h=m?ʵ9>w>7=L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??9o ?D>V?PHOO$F?N?=dT?+O?H2Uuq3?nR?ke2D^2 ?U?eиǴ ?V?`ڱ+8 ?zW??ky ?:W?:Ӳ1 ?V?j<(2?S?! 12?7P?V2 2 ?V?3[>pn?1c0W=E~?B2":?/R1Q1~k>;"y?m; 6h'?sP?:+2(@?(?0;3ڎ.z9?`0?x2T1?(K?㔱nճ>e?ز(~ />qt?MB2 C>F{?:Mo=~?fγt53=Uq?|k29N2$>]|?g132 Ʉ>=w?sٲmE>-{?K۱l2u̡=(3?ABĐ4xe=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??P<=gτ?P<=gτ?=O0*=  ?xNr=85J?P<=iЄ?\ն=go>Lgi&>CF軣c>if$*>m$<1>QSTH=@?f:??0VlЙݚN?—E9D?!?6M+?=y;@wyJ?MMxo;GB?WEŕ'4e?'뼤[1@?P DF=Y"W?7)Դ=X?ħ{O?(2~ oO? jJBP?!B b6/B6??*?;?L?]?n?????""??33??DD??UU??ff??Tos=i?Mg_@F@I2[[%0}?5@ 6|2{7qw1IW2kp?B@j'\ 򞲐2/@n65?6ùF|9?6N-p?LYA_|>7>ű1X?8A7 6E2!j\?8Aɡ򨉱_2w1[?%虜>iB?_># ?-AR@T~ALjݽ\{j > A`L8>G㾿p`]2>m|`M`gf,>WT `g&>ܾi#b.#>Ծ ˽[!d>,<˾*ݽf>(H¾ g1> >}i> k>릾~lI_>mb >wMOp$/o>䊾/-zXp>ke5eqm=Yy6r*=o.8Trn>=Kf>c93s=λ\:s=&SY;gHtI=II<t]=?>Eu=H6)$?;u!=Z59lu=5w47v8=|~4/sv='3*v=F3X%vb=6A&~=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??5?y,ٲ̵15? 7о_at%p USt5bk>Z}Guc1F#5_=)Z( 8Q@[V+b9pE A7$x1:$,g6]3"4oNa@Q|Z=ysc|^o~ tQX<6=- cC=jվ SJ=oNZ_ `@tA=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??L2XQKJ??Q2 =?+?&( >2Q/?9?ď'2#?(D?>GB3#?(D?71 2L#?)D?C5b5$? D?)>_܈\&?B?4[YN'?A?a %?C?_22?@oR?yU3C?%?`2#ű͜d??i>p4g?>&^32b?"R>i:D]?1? 3?2yZ?'?+H_E{MW?} ?P }Հ -U? ?2AlT??$/;tY?u?q\Y??6Z8ŲlRK??1c?v<10n2@ԫ> 'q?02>Pq?tF2=>Ʒn?kvBv6=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??fxe<=T|1y?S~=ʂQ=T6k~?`y=L:=|?b=et'8o>v?C"=AN7=|?>7]*=x {?d=XBA;z?N9=*1(ٲx?GZ!,l?Nս\Lw}Z?۽pjdٓ`?22`w}?kܽoݬ>Ξm?_vL>8{m?!B۽ 7>U w?A{r=2{?=}?hDƽ`˄|?pb뼴y0=SB>z?rY<.+>g|?7<`=C~?ǽ(Hx?}BSٵ5=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff?? ?,2-255? d2055?VE 2;اT72?2A.;U-?6'3>z+?p2c@h(? Ʋ0:2B:B&?PE3?2;-?2 g13255?AA{5 33??DD??UU??ff??i[0"(v1CAZ q5MDiWk&=;>h>Ņi> Ծb`>>RE˙]>*=]bk8;(>sq=]Yv>ó=!CN5I)>U.=oWH>iG=uʤjs=z>Xbirč>@1nt>fؽlc:>ҽLu;lT>Ib;h%=<0vq=$=TR"yY(=%}"=r}v==U~;+qvTZ=F-=奾q-;+Є =ᕾ0s}н[LJSmayR,Օ'ĽDJ}{=/}<h{2 >7Ž4ǻ7yI>7Pe%wۖe>0_t~>-ƽcro>)醡;g>Ǽ)ξ]2*>KK<@l=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??l2x*ӲnS?`U?o;JeK??Y#0|uC?R%?T?1 j?p2h>`Ov?r!37 V2_>u?2^5U/?~;[?+g22? \7?re2?7?2Vaנ'?^|A?^M6*?->?0TNtV/?!(:?A#x 25?[4?b0|L20?H9?k1Է?S?|1>m?]i<\>Mz?FIdd*>q|?&"ݹ䲀f>ly?L+ 2M]3y>0o?(H2A?(\?LŲ>92 (?l@?bpQ2;H??lvB45흶=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??=ݽDj۾3c?=oglOTby?m=#1:"=?J(d>шy?Z2AG=~?f:Z?w{vx;ҁU.?JC=5Y?μF=.6~?lU><;}?r";m>4u=O1|?N=9;b=b?nL==Ƹ>[t?Vk>~y<>G]?l>˵<>'b?M> =>>k?PJ>=a>^e?Y>&F>> *]?}>Dd>>P^?YV>ԃO>JƲ>g?n=H->QI>Mv?E==W㘼I ~?$=C;!)*z? =9Bz?-[=Ems|?<I1}?^ H";{?Nɚ0=jHv?7Ӽ˞(*>o?}BVd4=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff???Fo55?AA|5l<1?CA(,516?0  !"#$%&'()*+,-./0 Ȣ==AY%?4==UBU%?;g;B@&? ڼ9gB-(&?Ix,AB%?"_ eB&?6G*B<&?&&?xF =<xB&?U:g=|E=n B%?=L=ظAUt%?w=gw=DA&FCp@16@6C@\tNAC n@aAMv CV;hCn| C\j}Cf.5 CxMR+@h}Cl̋ A. C5!1A C[@@t?L C L==>L>>>43>>gf>? ?>?? ?>4V66JJ5Z†q?ARh7 @#EY>+z?Z1E?JL=s9?b9ӹ2?;90<?2 `G=v?=*p4=]<y?ଧU=oV_ ~?\<c~?R`~~?8ы;~?@)D=&? ¹ļ =~? ԃ@>D4ಂ@͔մՂ@4䉳Ă@Q v9@mq3 Ȃ@*@̱K`@DRm@M3/A\ւ@7փRn‚@zFE0ɤ@S` L==>L>>>43>>gf>? ? D2|.uP>z? 1n=C~?)2f&u?]H=ZQ>xp?r=eG=[>8r?Ad>˞=\=8{?R=X=Kj^Z}?=T<\=U1? DAZ䭼LA {UA0t5y5LdA@jE8jA:4VAe_>A/ȡ,:9A;;AFė];LA"<:;U\AP綼W_;TAފ}D; L==>L>>>43>>gf>? ?0'5Q o昻 G bM;\Cq?ZU\F="qEx?MYr>T= |?⅜=!|?aq=피/Nx?e)p=.&s?{Cݐ>0Ts?J<0>>}4e?t!Lj=>A|?؋@ՏRn L==>L>>>43>>gf>? ?A/ǰ/Y?eAY61ǵ \i-~I>iW+:B+m>,/xH,^>,<9n>.i$F=?0>~!>Z*ND>5m>Qe>EH=l&J4>W8ax>'9S#>`%F>:K3->,$>9b(õe>X6 t2+j= ;P@ L==>L>>>43>>gf>? ? O| 蕾^I?.=MvD`ngD? >>#F 7;?+=ݳ%I<@?˂$aq1> J?L>%L?#˾=RG?þ-- 2?'n&Ծ`?%IbdFSJ?j|> 1bH?A>lLyy-F?#=AvMwM5 L==>L>>>43>>gf>? ? %0Vm>h? (±,>80w?2D_H>-}?Hw)i 7>{?2R:>u?挲6ੳ>e?-1=A3?hS?-q?*Q? :K? [?iY2`H|>Ĵn?BU~2k>y?E343>>t?AB "57 L==>L>>>43>>gf>? ? 7?U zqk&?C:?QԼt'$?7?R zqk&?P)?߽o.?6G ?F!SwM??3~>jҾ\^?$t=/=$2l?>qz'4o?#z#?jU>^4?K?_=>?}/[? A޽Fd>ZO?ĽB ?!ByC6 L==>L>>>43>>gf>? ?B쀾ջ=r?D?Cg_@?|2csߩx?,@1ȶ614u܎\`?B@ݪV7m=Xj]/#1?@iED9:{?MYA|>7*+Qkܾg?8A\Dajiò[Ұjr?8A]74tƶ8&00/1?[?gBM6 an4>#r?f&e5>(⟼yx?3>3=\{?<3>B<i{?4⁽n3>s/I< v?>;qm?B8ѾՄ>$_?68f8>Or\?aCw=6Bϼv?'.<8`C?zg'(~?eAFW'}$@ L==>L>>>43>>gf>? ?50F5?b B9>a> @06t>.?Ǎ-y>/?ƾ.u>#\/?򌮽c:uN>y$?*eB`5>mn?aԢ7sc>'?Cͽ( >2?EeF* l>F 4?4˽n.6>1?([s-;,>p2?6&Y,6>:2?!p[.R>1?pbܸ`;P L==>L>>>43>>gf>? ? T>0>cmY?=~l>Ľ=d?+-?IȽIW?A3)'?NdGN?S(?|PN?|>`$?߷;3S?,[>>tM?δ>@>WN?Y?@?'=B?VK?Z6>i>.(Y?>.>HZ?$=AX 6ۀ" L==>L>>>43>>gf>? ? v:GU$?JD?)+3<<?^]Y? Tj3[>:e?sZl>tb?ICb193?\?MX2,p>d?͚J>*h?~1̳P ?JV?صx6o1m}&?XwB? 7)M ?W?l7>g?;?2u(7?h\?@B`N 6k5 L==>L>>>43>>gf>? ? 6^s ۖ->pO.w= pQ=먾԰<=hftK=B9·hM>ڏ s XȨ?SnD9a? 7.^ `?)ξㇽ©K?飵Uɽɾ?W?eǾ GW?0*ġ?!Ba696 L==>L>>>43>>gf>? ?Tls=?=g_@<@3V[%0}?,@ÉJ5?0[cGdlp?yB@L۠4`1r1U^±@l_4i5ù|9?6N-p?QYA|>27>cx2F2X?8A\6SU4) 2F 2\?8A…6ڎ҇1 1[?2[K6>iB?^># ?/AR@T~A %0Y a^k=ȏ=wiuU= {G=: t 7|I=J׼M Fe|ƹ=Borwo< AmdHr"°k;*շDKi!0|3_o6˽2:{)Ytmͮ2:|)Ytmͮ2A&~ L==>L>>>43>>gf>? ?5?R3dSm15? ‘9 _*snw8㾾yed^uнtҾaJ#_C,m4D  2vah=a]sñ%1nU`%\8poxCr۽ױD=mʹϾJFgB⽐~Ij½@rA L==>L>>>43>>gf>? ? 7[2h>xt?Ya2p>^?D2nұ@?|S?Pf1(2 V> b?/nxc>Fr?;) f >f?E2Ϥ2w?^MZ?|2Q>e?ALʝQ2F>mq?;1 \?>Ql?72A}> g?&ަ3I>j?jvB"p\4 L==>L>>>43>>gf>? ? ;=I7:z?M<=1gx?Ÿ<=|=^ag(y?Ѐ<0;=S?>z? =}=i P{?G;==Qhx?g=>4At?@=S> U|dw?h=w= *z?n]> = Gx?^)>ُ>w?M=b=˪6]}y?}Bu6 L==>L>>>43>>gf>? ?|3355?AA 5հ>2CA84ِ =MqHr>5>՘gh(G>sb>AZd0>~ps>uaUm=>a>nݽ2tK>TK>w,sj5>^V>Wc\p>Z>Dhq>@>igr>$>9Ꝿn@ =>2pi=wF>Z&l$%>XD/>@l L==>L>>>43>>gf>? ? |5_1c>y?fs1Nnr>8>_?2 1a?O?2I?H\?i2ǾL/>l?/V^Q>sb?zݲv ?(V?+i222>_?*>:Tj?3:0>^b?2r3?\?zӲÙy(>g?jvBgگε L==>L>>>43>>gf>? ? =jOς+z?}Bf 5 L==>L>>>43>>gf>? ? ɒ1G2Vxm ?gN72n3mV ?JdR(VB ?_n2U ? ]'FU< ? UJ ?+r}߽Te?˲H20;ETK? 2eS}?LmȲ265S?κ2=>R?Wu1)i2T}?AAS L==>L>>>43>>gf>? ?Nɮ ut/?CA4:4?0  !"#$%&'()*+,-./0#H B>&?G=z=27c2? ຶOd63?o27c2?6"7f2?"w3573y2?$cʡL72?\7ɟ2?;;]72?<'>?2-?[x>Ɋ>(Қ$?V3>+>IM?>Y> M?Q? ?+>$ ?yW ? 꾧s>!?t ?}>$ ?yW ? 꾧s>$ ?yW ? 꾧s>$ ?yW ? 꾧s>Q?ABL?AB?P BeBI2?8BziB3?KB:qB.?w A^]B*?XAfBZ$?AB?BBZ?!% BS B?< BB)?TAAB?xAB?tAB(?(@BD?HXZmB?IEOBe?]0R0B]?\RhAa?TX­#Bza?5Iq*Ba?'Ba?Ba?rB=>L>>>>>??*?;?L?]?n?????""??33??DD?>?? ?>NPl6]|E5X†q?AS=67TOEî=~?M -?>ށ{?@ {?cR=ߋ:wwi>w?> >`t?)>U3>y?#=On=1}?== c$N=M|?)p=$O>}{?{='-[Z=zA|?#=On=1}?@㯼}@ڧ.ނ@@=9$@j@ Ǖ9c@5#@#.o@pX@۰FR@լյ@Egu8@⳼E؂@ Kz+Ȃ@0k5밂@Ϟ_]:͔@;~@ Ԟ8k;v@ٖ;9@8;@`;@`;@jG;@ͫ;@4_;=>L>>>>>??*?;?L?]?n?????""??33??DD?#3vI=>xcv?1(S>>wcv?mm=>Z3=}H?1=>|?㠼;MRbz?4롺_:}6>{?iYz6<=l}~?d==i?q>=q8J?j=<=?; =~?2|?1׻]~RS>vy?Q0~lC4t>Xw?|y>st?\Ȫ<ဆ>Fp?fM={>n?4/Z.=*>yQx?ApN@@;e=D??S+;ӗ󼐹? sJO%<}g~?rLe;м'?ApN@@;e=D?>AD4>A,-SAݼ?}pcA|Q[VAy oEAN9FAĨ9iMAJ@H_% TAL>>>>>??*?;?L?]?n?????""??33??DD?ž*5N o^V=/?3@d 4Iս_=Oýͷ|? ɋzX/?}? =WϽq!}?> DC.Cx?=Q=8ow?-( > b?V?]>j_{i?n2'S>Hr?+l>!A>lr?ŷŽD-> >zk?ɘ=p>4i?>mo?}R<=oL|?2K?x?tyL >Qz?Q@>i?=>zz>Og?9﻾>/n?ECE;w >xm?ae=aj=>JiN?<`p>G>:?>f>ЅE?F&CRK?@6Eɳ=>L>>>>>??*?;?L?]?n?????""??33??DD?aD0a _?jA7sY6TÍ> <=T> <=tCC>@E\> ex=IeL>">Z@J>Ѓ*V>F5<:>,>+3]8>l{,\>h38>GA+>49>σ*V>F5<:>σ*V>F5<:>*>4>>σ*V>F5<:>\&A>L8^>L%"b>8 =/M>/Z><)>u"e)>a;P@=>L>>>>>????""??33??DD?|a>[ھ_N?v۾ϰ=ʲE?hMBoRl?{Q>,>rhU?=xG*>X\?IJ W?3o*Y?R;DC;=`?=FMھS>ad?_=V>g?{ou=@j2Q> l?ʷo!kD>Dr?1[\RJ> Ct?ܽEYg>r?w(\*>m?@J io>g?z{>d?hݟʢ>h? 6>6'?>j?%? >Q??9?dK>Bƹ (?!<>??>=Z"?6?^;>= o,?S'?\%>0=?'=Aʙ>̵=>L>>>>>??*?;?L?]?n?????""??33??DD?v2n6? 3?f siY> d?C52E>Kr?b!2 ~F >p't?Ic2=w_>a?InY2)?=??_ 3i2@?nX(? 'ӾH1!R?T8?2ߑ1^?Se>^+;3g1g?r>NM/1߸m?>#F/2euq?>L1 ªs?q> *St?c>Y[25`u?>f2SM1u?>Le/3-s?9g>$y3 Ip?s> /=1e?9>|˓idۯR?k?cv0(2+A?'?S522?7?Ԥ 1/?C9?| 1w;1?8?ABU6ƭ=>L>>>>>??*?;?L?]?n?????""??33??DD?7?I zqk&?`3?|&>pAs01?[`2?F6>jN2}1?`3?|&>oAs01?0?;>BGci2?`3?|&>vAs01???ʑ:=q'?J?sO޽u?;VP?~f|]?kFT?b0d ><\?>>af?NY[X>Em?H" >y8q?=B(śk>Hs?Cx׼ȡ>Wt?J7>Rt?vNXŽT>y8q?IB(˛l>$Y?{= f=-?8/?X> y>V3?O,?L.AL>>>>>??*?;?L?]?n?????""??33??DD?B쀾ջ=r?B쀾̻=s?9Bt=2C?B쀾ʻ=r?BC=4s ?%?{Sg<)>]2?2<>|?g<>?@~Ǝ<>$?{Og=xyb=M>=~:Q#뾫=?6)_>U?_3K0 >R?) 2(f4>N*?03羓B>1 ?}0%"M> ? ?;./i߾; Y>_ ? ? ??Kg_@?=>L>>>>>??*?;?L?]?n?????""?DD?!2r3csx?$@6U[?2v܎\`?#3 Ҳw܎\`?u<22Ԅv?òñ6h?q Wa?1q.t܎[`?1xƞb~?hA%Ё1\|?3$O"px?z+1V ?v?GXg[iu?«e'uf#u?u=32_ѻu?12V ?v?af1V ?v?B@F5>>>??*?;?L?]?n????DD?o| 2^V1?@r54ie6B9G:{?B9( x?91` ?q9 x?V9rG9{?9` 誾Pq?x9;~n?I9)AByCn?^9LMo?K9W 誾Pq?9v- t? 9u-Ҹހw?(9 iU`z?,9梸G{?9lŸ rx?H9|*s?9Ƥþl?Z9I)?оi?9L|sLu?9YS}?&m9j<^~?9 ZS}?S9(ZS}?IYA|>R7=>L>>>>>??*?;?L?]?n?????""??33?DD?#ed1kܾg?nm3 6e~?|2(G'-?237e~? 3iAv?Ƹԕ)Z־|h?c2 3M!"d?h2. +c?Ѯ;2}d?J}2Z־|h?221-Uo?^P2-:1bw?b2טuY+c|?o62U}?:֬o9:6>o{?2ҟjLLt?NQ^ Lоci?dLK2rqd?/1*Q01r?2 81U}?Ҟ!3ནv~?ĤͲU}?ѶJ23U}?8A[Hm=>L>>>>>??*?;?L?]?n?????""??33?DD?g,2A1jr?8Ajdh;2?\?Fj:6s >&1=XR? @p>w=c?->7ݸ<)p?3w>t=uHv?cn=@"^>l=>x?#=Mj>=lw?5=hv>=̍v?A=>0=u?YD=(̇>=Ϊt?>=m>L=s?$G>U=5t? ὃ >"=fs?9d>J<)q?<4><74;n?Vo>6<5p?F˪>I1=Pp?˳>> }=*o?'v=ڻ>=l?=j>ͮ=bc?=?͆=pY?^=?1j=QY?h=N?52<= Z?<?I =@1Z?eAHW'$@=>L>>>>>??*?;?L?]?n?????""??33??DD?5}:15?b B8>>4 ?k;5=4 ?l;3= ?r)?`E>s<?~JqJ>$?O ;2C> 5?^%){->8?(u&Lh*>8?YV(8&*>6?&W(v,> 5?`%){->n5?%r)9->5? C&),> 5?_%){->-65?ič*N4> 5?`%){->+9?d_%}=Ȁ>?vZ[X=y,J?}B$/ >2R?kϽkg>ycQ;P=>L>>>>>??n????""??33??DD?8?fֽFiT&?e})?Zd|@-9?N>1l>d r?\n>H>` g?&V>5>Y?>==?K>LJ?vV#;+?zN>R?9ֽ^>L>z^?hV'>z>Qg?N>L="zl?4j>ýr?$]X> 'o?r=>Wa? z>=ܚQ?C>&=KJF?o>r>\׾[;? G ?Q>ɮb,?C?o?j 9? =?>b:=.? '?W<^">L'? ?^>Z#?{!?BA2!?,#?=r>a$?+#?>>#?%=A 6/u6=>L>>>>>??*?;?L?]?n?????""??33??DD?&(1"?0R?uП2$\1 >Ur?-0jt0g˚>t?I2 >Ur?.3ߗ>Xt?jT15>u?1w7>n?yL 2<>Bc?ݞ;2 ?׊W?B=?Q?3]E ?}U?)1rv'3>`??G2@>xj?0(2"ì>qp?'P| >a#t?g1b3>v? Q²gV>8?w?>0J>:w?2HJԠ> s?on"%>$3u?%0+|>CTs?Ku 1B G!>dq?,2 mF>p?к241>[q??Bj\@.4=>L>>>>>??*?;?L?]?n?????""??33??DD?P<=jЄ?ZI8{OXf?7eĐB`?ZI8{MXf?w}ަ,3?m !˾D?+ル=[K?_#->t!O?L㾁y>P?-޾C> wܻP?׾n>To'(Q?Ѿ8k>RwR??Ҿ> XR?0޾C>wۻP?>{UtK?Uɽ>%"kB?'Hft>=ѽ76?j6;\>[)?D9RX>9'?j6<\>З[)?G5m>$IY)?j6=\>ϗ[)?A=I=LY=)?i>a&2@>#?!BȹM6=>L>>>>>??*?;?L?]?n?????""??33??DD?Tis=D?2g_@1@ufW[%0}?@Dq6@EB2" 1lp?B@6Nh:ʶb18V 3@+l6 E6Jùg9?6N-p?KYA|> 7>F32X?8A+54gs߳,3\?8A#7cZXm%:F2[?Y1z>iB?^># ?+A R@P~AʾlȾnS"ү=Ske=\_oU-=+#7;:l*:>&<׏<-g/o>ؗi*;unt3>z\Ϋq5>< ^}ڌu6>] rj2x@=JI\讽yL>>>>>??*?;?L?]?n?????""??33??DD?5?a 2(J05? š9y02qx=聾asdK1+8k.L>>>>>??*?;?L?]?n?????""??33??DD? sL2ޢ a(1rB* }3$Z{Clu"ž$z2bRr粢#c*a6`1dx2eIdW3p%hoվWaikҾ2?8h׾>~2:ֱf`e42Ja#፱&2YJW `2C2՞BBO&F3ˑ2T!2F &3W2<5`2.v7pײl7t(+4P0los,%ֲ\2&yo\L[3 <,c(|ROP\Ry2導Q4wkvBڃ5=>L>>>>>??*?;?L?]?n?????""??33??DD?9V=sv>w?6*> _?/ؑ'բ>T?Y䆾>u8T?|<>cX?,> \?rbT>2\?G N>OZ?]' >RX?㦾6[ѱ>sW?MDރ>W?҂>,Y?U~?L>|Z?7+wI>9\?ݜXUM>{_?_k]>vb?);A>d?4t g6>Qf?QN4F@Cl>Ai?JOe=ai?UrPu>1zn?✾t;Z᩽r?b蘾=M=r?OSS =ȧ>g?}B<'4%6=>L>>>>>??*?;?L?]?n?????""??33??DD?tR3 55?/:!2R?߲ 2R?AAsǵ=DD?ks{2CAפ6Й=4uFawGȺ,3>܋gvX=MעnݽN >?h>^qܽC>;x2⬽=#4SwS>)s}>c٣o@ >FSkްy >ֱlFnɓ >6>o9O>0@r3OK>qtgx=t(u\ag=~vmla=bvawO.=eexsFx=e!0wО=(>vn~dg>&>|tc>v{>DX`Ms=>ki쾔EVَ>i>jܾ5@?m>@m=>L>>>>>??*?;?L?]?n?????""??33??DD?ח32]gVX??~$>f?2U?3 ?vQ8 3{c?0> F3N{0l?,>'Y2Md?T>-W21Z??92hJwZ?r?32]?O>:2_޲a?>J3 a?O> Uƶ2x`?E(>;V2!ݛ2^?S>51;3X?ll?Ͳ!̡2X}M??(yȱh6?FS3?Y 3у?GQ?[pD>i?,-f.ɲ >ݨu?3YC2Kex>Zx?'Ųh52>Et?i2Z>`]?l0YH3o=?1,?`72\0?h O?p)K3>#r?ivB)/4NJ¶=>L>>>>>??*?;?L?]?n?????""??33??DD?Fx>' a$>&m?(>P>`>R?>Ěl>Bd>OG?}>9W>H>XbD?V>UT>8>'I?m>(S>f>N?5>Q>i>N?P>[rO>/>L?>L>C>I?M>I>"ý>J>>9 J?>>N> >8K?>m-N>^δ>U2N? >`C>f>(P?'>} >>12T?t}>=u>W?Ӯ>W=>W6Z?ʮ>u=^Y>\?>)> E>[?B ?^.>hSa=O>Z?>Ta>Cd?`=9MV>x?< K=j=?}BN6"6=>L>>>>>??*?;?L?]?n?????""??33??DD?ݴȳ255? l2E<192T?oETB"92T?AA6=DD?L1,-'?CAғ%y35 @0  !"#$%&'()*+,-./0 <ڰ=u@Bd&?<}<=mBBi&?Dg<=DBSm&?P CA'UB>tCڊkACBC%NAB>rC0+ABCACB\C @p B5gC `@L BCҠ? B/C=L>>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@>?> ?A>zț4;cڈ[]y?@;]3]_y?|;"`y?_;Ȼb3y?[0:m,-mdjy?QXZ: fty? R;Nvg_y?R;ϗhMy?j^ <.Wi@y?x3C>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@'h==}?<C*=y}?Q>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@1=ڦ=/EԼ~~?(= :=6~?fR7=O=g=`~?2F==Fc~?*V==J;~?d=`=eHWп~?J+=ռ=0~?BF#==V~?-=ۦ=0EԼ~~?YAV߼):YA#༼P|;IXA似 ;WA븼$;VA#; VAkn &;gUA4 w.;TAI5;TA-׻9;zTA%׻>;;TA̻:;TA'综8;TAq506;UA *2;fUAJ7d.;UA Wb);;VA YC$;VAN; WA!Q;WA¼i;WA޼ ;qXAc弼>D;XA漼P;GYAἼM:YA*㼼:=L>>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@2T4H?A<g6ZSI=tF?]2@:!ڢF}Z:.=|? &b<[~|?y5˳_]<{?EuҲ;/{?]-S;p?yz?"\ʼTy?8` ?y?c\DDy?RlJżBoy?>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@X-@ /D1?gAY6k+"= E=<+ =s5==,g< =,=,b<=AG=,,pSu=/,<<>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@_[.V>:?VOK7`[>:?;=o^> :?k/0 ]>:?[i)! X>:?n'v!P>:?^%#I>QH:?9# $7gF>!9?r!%bE>8?D%6H>E8?o/&CqL>7?lw0&*N>7?hQ"%.L>7?n($ {H>8?1۩#>B>|9?9&U"<>ˉ:?Ap 7>Ă;?0IFӪ4>(V<=?UF~:>Q&=?V!NA>t;?_[.V>:?&=A2Da=L>>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@7l3AI3ͧ?yX?4Ҳ}H?p\? z2d3%>`?g2݌>)c? *h2V>Ke?1a2>7f?sw[39&E>Ug?c!b2~>ah?+籴91>/i?K*3gm>Vk?*"`>Ul?q>)l?%"12S>k?*ֲ^^?>1j?yP3K2>g?pu20t>Fe?F)3ٮ>ob?lM3w>H_?00ܾ?E]?ל2#e?j{[?112B{?3rZ?e62W?LY? 2R2?Y?k+Aֲ;}?4Y?r32ͧ?yX??B(lQ4%/6=L>>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@8~{p)=ʙ=S}zE==|꫽(=,=z=)>i"yW忽\ >Y #>fw:+>-{7>RvC>faL>-u%>7_>us1!>o>zt/5#>H{>^Mt1">/>dtd˼P>S>wtdռ>~>>u> v>vS3}>j>wh==\>Jx(>E=+^K>v}yթ!=:O9>gIzཽ=D'>zɽT= >{ -ɽDܟ=j>Kq|1/=F="}l4v=j=}m jO==8~tp)=Й=!B5|M 6=L>>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@)yDwBt;=a?L?Jg_@:Ȱ2ccsx?2@5 "7D6c*3u܎[`?B@(*d{&Q?@95IHA؄>k6s?1ҧ>5Dr?`>}*r?l> 放`q?/w >Lq?i(>p?j{A>Q$p?)ojS>5}o?Eg_> o?kd1c>!Xno?xea>bvo? {hP]>ѡjo? ;mPV>>o?sL>*co?{A>Q$p?Aށ33>ïjip?d_#>㚾p?>Lq?>Sq?m> 放`q?nԛ>גq?>ӐCr?2۫>㎾9r?񪼮>a2r?DAل>k6s?MYA|>7=L>>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@7 11eb?8Aܷ,;ʲˤz7qxs?8Ajy4D1L2R?\?V5D\6E =<={?eA?W'$@5Oɜ05?b BP9>> "?9 =5B7a=t"?|Q=MB>H"?̱=ɭA9 >"?=GA>"?=A">!?=@?d>!?b=@ >!?[(=u@7>!?=@=d>!?=L@>"?]=$A+>P"?"3=FA>!?t=@2r>!?=.@6>!?vi=@ޤ>!?=@.>!?M=)@1>"?=A!>6"?9=7A>7"?=A# >Z"?_=oA5>{"?=2BC5> "?9 =4B4a=*IU5fC;P=L>>>??333?L?fff???ff?33???ff?33?@ff@ @33@@:c=]?Q>xt;?<)"?$><:?<Ǐ#?N>d9?\$?ۂ>8?v׼"p$?1P>:8?ؼ #?R>(7?aƼ#?>7?ʨ8!??>6?̆q ? >u6?fL.H?2>KX6?)?jm>V6?OSh?v>q6?+&?V&>ҟ6?ѿ ?$>6?9!?>7?x];"?5>d7? ;#?ϛ>7?_*<6~$?c>T8?6r<$?=#>8?L<)$?>9?<<[#?>9?`=!?F>:??=& ?ڇ>m;?:c=]?Q>x>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@+ӯ10>g?ݮ1->{6k?tL! >o?2y3>@Vr?7:3a>t?tBX&}>3sv?Y Vt|>x?dW22#e>)y?XJ\28tI3 P>z?:*1 LA>e{?b})2'ٲ98>{?FBX7>{?ݨ2MB?>{{?䲚3dO>αz?2Iޑd>^y?,N M2X:~>"w?(a2 >$v?22N>t?)%?2B3L>Mq?p2>i p?.C>8Cn?3?2>l?t`J3>dj?ҕ*gm3 >i?.20>g?BBƫRs5=L>>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@ F+A< 8==?',&==2<A?0Y#Ǿ=g>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@Tgs=@?>g_@C@}V[%0}?&@?j3lp?B@ D]42p\13@5\A6ù9A6M-p?KYA|>7>1ؠX?8A[5tj4251\?8A%ѡ0ҕ2ް[?! >iB?]>" ?-A R@U~A">{ <=2A&~5?>颱Ʃ$25? n:=-H GݽJaA6JFKڹWiL{YdM8Et k6Nse AO<$ YOE P#  Q n RiVM S-eֽ u~T_彵v T{۽锩/ #AUQ1ӽؕF2 r T˽rуvHZQռƽm2*OUVɽVkBeNMҽA}߹ M޽aF-Lj[KbUEJ9W>7I| Iͽ=-H Gݽ>@iAq}@ȈA4c{a@Ax-@WADv;W@Asǩ@kfALq:@d&AioQ@A9Mnc@!AQm@mEA,n@68A|nA9@YAy4o@l֍Ah'p@A/LqY@d&Ar@OAt7@9@iA=L>>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@ilj22S>rc? ^2Dt2<>{e?ޱزf>wg?"-11>Ki?IW>Jj?936x2|>k?3>k?.~n2+[>7l?74,>[l?2&3e>`l?=2 2:>Gl?382& >l?ȃ2u3>nk??G12>Ak?&{!23>j?P2fLn>>h?(Fj>hoe?lղt(Z> ?c?ȫ2؅>b? 2{2>_b?=21c3>b?U2g3;>vb?"PӲ>.c?22;>vc?ilj22S>rc?hvB]6RƵ=L>>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@==}P}?KU=8!=vh1}?޸= =T8D}?u"=|=4G}?R=̓=> D}?)\==(G}?=c=wT}? =v=rb}?t=F=$m}?=Ѵ=7+1o}?h==@]e}?8=S=P4N}?A=s=kc)}?]>uP= (w|?6 >u2=3ޅ|?oS>|=؛.p|??>6 =̹u|?D>=8*ɽ{?]>W(=@ǽ{? > A=(|?sm>UL_=ӷc|?= l=ڏ|?=j=r|?v=[=O|?==}P}?}Bĩ<4DB5=L>>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@a2]255?AA5Jge0u]1CA+&0cUOd>!8= VMi>?=[Wn>(=XH8b=RYjx>8=&gpZz7|>'%=h8[E>'=iL[݀>M4= ߾ĕ\c>@J=HܾsT]'>i=5sؾ^>>=4վ^0">f=hҾ_#؁>Օ=3оp`_~f>=˺ξw__Ӏ>D=Ѿ^>ˠ=xؾn\|> _>k߾l[_y>> $e(Z9v>t>辺RYCs>/T>/Xp>I=mMWm>}A= Wj>=3?V$g>=&0cUOd>!8=$lho@m @So0@|zq@g^sN@t#uK~@ԋ+v?@w@xt(xE@s yk@.x]@xn5@cexS@[vwj@Av@@uG@Qt[T@zs@‚@rL@ zq@f6Tp@@("F2oٿ@}nE@*m@$lho@=L>>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@3"vK?h\\?I-302?\?.|? ]?.24?e]?bN13>^?:L>!_?_T2?>m`?^22J1mR>qb?2ZB3@>d? S. ɆW>ݙf?0 >1h?|-3F2>Yj?acA>k?uc2×j>R,m?-> n?e92t30r>m?02>k?mW23\>{i?5n^d2'>%g?Eز#>*f?{۲:3>qTd?N_2!3>mb?#1>23>u`?x2Pq>o^?3"vK?h\\?ivBtAI =L>>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@]J}<g%y?Z<#0\yy?]<6=e4y?Ѹ<7Jx?a<뽊 W~x?<ڽc x?]J}>>??333?L?fff??̌??ff?33????ff?33?@ff@ @33@@F*155?AAԖ@i/N2`?CA'ff@0  !"#$%&'()*+,-./055?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?L?:J@C9.?w!@GC:b?U@Ch?a@Ceޔ?*@ C^?<ʕ@RCEa?,n@Cd?*@C=l!@ Ct@#<C{cIF@`Ca@=xC@C-%@@eCL?:J@C=L>>>>?333?L?fff??̌??ff?33????ff?23??>?? ?>3a2406?5X†q?e6HB5׏Ac?6u<5?6EF5$)?6zG5+?6F`G5(~?o6YC5I~? 6?6u<5>>>?333?L?fff??̌??ff?33????ff?23??y=s;z]?y=i;6[?[y=;1cY? y=;2orV?dx=<=-S?kx==;-<"O?!x=G<&PL?w=^<*,I?w=sp<,F?w=w|>>>?333?L?fff?̌??ff?33????ff?23??/#>"==jz?R!>J =->'z?=>< >Jy?>]< *>MJy?Ԏ>p<@>>c}x?*o>\ <Q>ԛw?h>I?;oc>v?>.X s> u?R!>活>$u?%'>|>Χt?{>j>zt?%'>|>Χt?R!>m活>$u?>.X s> u?h>I?;oc>v?*o>\ <Q>ԛw?Ԏ>p<@>>c}x?>]< *>MJy?9>< >Jy?S!>I =->'z?/#>"==jz?LAJ;'KAL;IAC;GA);@FAJɧ;DA;9;9CA,3;AA+q;AAY$~W;f@Aɜn;-@AF ;k@Aɜ3p;@A!\;AA*p;;CAi3;DA7+8;EFAǧ|;GA",;IAC*;#KAvt;LAJ;=L>>>>?333?L?fff??̌??ff?33????ff?23??J15P o5gew?O;5CxXx?92Z'5O oAẺ0AGXAMU_J5AI2.6AμȾA͏zK4A@ZCA򋻠ϵA‹4Aith5=L>>>>?333?L?fff??̌??ff?33????ff?23??ޯ&=^V=/?"4@(Y >ar?~Dj9 >جr?&<;M >r?v;>s?8W%<>us?ȕD<=T t?eΌnY<=t? iar?鋼@j3=L>>>>?333?L?fff??̌??ff?33????ff?23??x0( /?jAo*5 <)[=a5:Y>w()1>.4i>AR(>2yz>r'z!>r@1vS>h&P ->H0H>hs&r1>/>'&.>/,>' '&>70>'W>1q>q(v;>2p x>)Q>3^k>)=,4`>)Y=a5;Y>)25=;5VV>*8=;5T>*I=!57T>?)B=ӵ5LU>8)=5V>)s=]5X>)=j5@Y>)[=a5:Y>5;P@=L>>>>?333?L?fff??̌??ff?33????ff?23??5<^۾?5?e<-Tj ?Z5?<徇# ?4??*/?>>>?333?L?fff??̌??ff?33????ff?23??@3BA1> %l?nƲA2>m?EdI1ՙ>A2n?qcW>go?$3±߲>p? Ų(o>q?,౐2q> s?޺0*0 > #t?12C>*t?7V0"YN>mu?t1L>u? \G1> 4u?2W9x2\a>t?v2L.ޜ>Is?I#3C1!>r?F2Iwt>q?E43(m3 >U`p?3`>K5o?/3yU²)>n?53%R> m?[}2%> %l?>B@=5h6=L>>>>?333?L?fff??̌??ff?33????ff?23??ki[>!=%j6ŵ>=?i7׺>%= h`\>o=!khgx>۷=O"-fY>="dB>==,#Sc+>=3#:b>=M#(ibl>/n=D";b5>={"b5>ck=!&c0c> w=! d|>=2a!oe">C=>!Df>a=!tg,>=L ,h[>=p 6i]>="۵jе>m=9Pkg[>"=!Bۥ6N5=L>>>>?333?L?fff??̌??ff?33????ff?23??NEW=:\?o?7C2\ӱA6O-p?8A ZL712jr?8AT6.U^3DT1p 1?[?!'7e纻.>={?qT&>E=i{?%ü7>D=ç{?ܣ >:g={?+>={?P>= d{?u>=B{?j>Ŀ={?pꟽ >qѼ=+z?fm!>"ڹ=Oz?Gz >G=z?I% >= {?OI>=-{?Ѷk>=7L{?gM`>:=f{?^/S>A=}{?N>Z= {?yh>={?o">N={?Vp>a={?a纻.>={?eA+W'k$@=L>>>>?333?L?fff??̌??ff?33????ff?23??5㊴25?b B9>>"?oFj!?=^;Ke>o ?a9w>?!w8`>?+.S76>? 0#6>?#L-*7(i>1b?_&87>> ?t8`> ?] ":-du>O!?/;6h>y!?3<]>"?o5"?v^佘< YR>E"?

G"?%<yP>,@"?Ȃ<1DQ>2"?Fs<آR>1$"?wU<3&T>"?=<_U>"?ovP7 9;P=L>>>>?333?L?fff??̌??ff?33????ff?23??# >ݧ>[?yl>"v>#[?w/>>;[?:g>>~K[?<>r>O[?w<@>=1>E[?b>/[?O?<*>>[?#=*>߭>PZ?B=o>>ɵZ?U=E>M>Z?=l>> MZ?<>>.Z?< >ת>a0Z?AY<_>>IZ?tLTq԰>pZ?q;ȩ>E9>Z?V캷>\>|Z?s>h>Z?>넩>*Z?# >ݧ>[?&=AWH.6=L>>>>?333?L?fff??̌??ff?33????ff?23??&2Y.??=)? 3sk>?4+?F0=?$v,?ɁH2(;?A-?%'|:?_/?[β.2!9?|0?*2]17?*2?>Ʊ32F6?c3?LsYǛ5?m4?SD4?C;5?GH2낂 I4?5?l?3D 3l4?I5?S13YA2_4?5?J2g B0!5?4?9+LE6?_3?!<+27?O2?T6!21:H9?Y0?WQs1n:?.?2[N?d+?&2Y.??=)?>B=w.m=L>>>>?333?L?fff??̌??ff?33????ff?23??Px)Լ->|? Pe 2>{*?;O}6> ?4OK:;>/d ?TOX?@> ?Ov߰E>: ?|OhJ>u ?YO:N>{ ?o9OOR>sa ?Os)"U> ? OcV> ?,O8TW> ?O`v4V>W ?)OS>8 ?NO󌙽O>ř ?xOJ> ?dOr%E>x ?rON7?> ?1O6u*8> ?OP&> 3>l?Px)Լ->|?!B@G;=L>>>>?333?L?fff??̌??ff?33????ff?23??Tfs=^?Kg_@@@2l1V[%0}?@숓5dS7C0&E|2mp?B@RݶRBeU28@6=^ù9>6N-p?PYA}>v7>d)0X?8A$xGO:Ӳ\?8A68S2T#[?87,~>iB?^># ?/A R@_~A $Lyw=$y=QT%4y얫=%7 ay&%=_& :y=0p&ny!?=2&OCxʥ=c)'xU='x=O'WH#exai=I'x=J',/xΣ=&ӡx=&yx0=g&!y`=& 6yӐ=%g Wy+=%7vy=n1%Gy-=$n4yJ= $Lyw=4A&~=L>>>>?333?L?fff??̌??ff?33????ff?23??5?fvq25? 7?kj2AiQ"@iBʼeiPO4i:EמּmiBI¿2i@lhZ /ShLBY^ahu?hh ZhHQ%Uhy3i';оRDiyx?=piMaK7iE xi=/1M/λi&׊?kj2@rA3!@rAq7@rAG-&@sA{/@sA67@sA…?@sAG$F@sA{vK@tA8f.>O@sA^I{P@tA3f6>O@sAy{lK@tAJF@sA…{?@sA47@tA~/@sAG,&@sAq7@rA5!@rA@rA=L>>>>?333?L?fff??̌??ff?33????ff?23??бF (?]?|e?N!3{f?x]?/+ Q>]?C8^2\>1T^?sG@2>>^?{{/>@_?&ͲޏLn>J_?4P>Z`?fmE(2>Na?DòhU}>b?%1tI3a>ab?=>R>b?oԱg>)b?me>b?2v2>(b? 7.8,}>wa?23E>ɣ`?tZ 6> _?̈́/۱8>S^?@cȲp>-]?бF (?]?ivBd76=L>>>>?333?L?fff??̌??ff?33????ff?23??o<{=GKz?t>>>?333?L?fff??̌??ff?33????ff?23??~2*i355?AAF36LӲ P߱C2CA^4O%\w|5/>>@cZw/>OA>e@Vw?0>> Ow01>>cnCw[2>l>K1wn23>U> w4>%> ww4>s >pv5>>Kv3N6>>\|vN6>> vZ6>h>Nvϣ6>6>v))6>Y!>vs5>>2L w.4>>1w{3>) > 2wl2>o >$Cw5K1>>Qw30>y>%\w|5/>>@l"@lq8@lG&@k|/@k6}7@k…?@kGF@k{ K@j7f?O@k^|P@j1f?O@ky{K@jIF@k…?@k4}7@j~/@kG&@kq8@l"@l@l=L>>>>?333?L?fff??̌??ff?33????ff?23??wn2>ߏh?Dzi2>9i?g򋸲>di?I2{_G>ݙj?jXn2a>&k?G25/2>k?H1qV3j>ık?€{14T>k?]BKeG>>k?-2kK(>$k?Ik1e\1-I>k?k٧:ȩ>mk?21Li2$(>C3k?!y">1j?@oq->֏j?%N^3>-j?o"Y2D3>i?Ō2ѭp>U[i?t1T>h?wn2>ߏh?jvBB=L>>>>?333?fff??̌??ff?33????ff?23??xQ;YXdm?V@;՛Zn?1a<<(6Xn?pƿ>>>?333?L?fff??̌??ff?33????ff?23??L255?AA@Fު`Cd?CA?15hI?0  !"#$%&'()*+,-./055?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?N?@7 CC(@Y_ C7@:CUW@rCk@}D C@D C]?@ Cw@& CU@OH CNP@w C@ C@ CN?@7 C ۻ?@3 C@@GCٜZ@@wC@@9C@@# CI@@k C@@$ Cބ@@Bi CS@@5 C@@s Cg׮?@ C*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?>?? ?>s2ێ<*Һ[?~N^<5I$_?D `?@˪DČ/b?3"9nj~c?rnj#d?n/:ܓenjMd?t;^TŌc?|t; k Œb?.<|=꽌a?Rf<6Nn^?AxR9*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?=y7~?<_=jw&&?#=V9;vT?<ܺ@"@G+,\@*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?1=Jm< >!|?!=)<4>|?od==ܫ;ȭ>2|?#:=^;7>(}?<1jI>X}?`>^}?#-μ3>|I}?N !׼>0}?:WӼ>}?eyQż>|?>>|?>|?1sm >!|? '>|?em]lK>5|?v>SS;q>9}?N G!<<>=}?qԣ]|<>P}?l<ϲ>cW}?;<>V}?P,N}?<}?2=<@g>}?mh=c€<<>|?5JA/PDK;>JA,S|N;JJAy?;SJAO ;FJAgֵ*Z:AJA0B8;JA_㵼 H6JA9w,JA$@'JAFմ&JA{6.JA+:2F6JAI098K@JAAe-B7JA}J,FJAA0[@ EJASѺ;JA;е4JAEp5JA6b83JAe۵Vm,:/JAѡ:0JA[G:+JA<Ŵm#;*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?]5y0o?av5 p?$],r5R~mr?e2Zm5X˚t?1I[5rH:Tu?vZCD5g<5v?7i85v? j2W5Niv?W5P”t?u}'e5Ys? (2Ou5aѕq?1n5뱾 p?82^#5y0o?;h؂540>o?S2K5|A&sPȟAJt6A M\5gA;} AtTAPmN3!Aia2"AR,jE4 AGm95נAq~&5AvK5A#zf9h|A{05Aez3AćxA3uϏ۠A Qq6̴A_ym*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?qz 3ls=?6w2>.5={V?ͯoH= ?A/R=е~?;g7=(_~?ջ~=~?1D=~?YO0]<=u(~??'2x-=*~?%|0פC=A~?LV=7C?1Fgӂ=%z?1,ys=? ?1'JKʅ=t?M䎴c=p3?tMg=~?ޚ1x=W~?N410ʴK>}?i2Ĵc>}?ۃ1i Ѵ1>u}?n1´VG=/~?zOI𵴾 =~?Eإ=~?ವru+=O?3@F6:2@cp1@({q[0@%x/4/@镻W.@4Q>.@W)/@Ta~6:/@Q{>C31@DԚd2@9;43@Ř,2m43@%:5$3@ng &52@헻#0@䖻^A/@S$e.@U4".@LzqWF5R.@Δvܴ.@)8Tʹ)0@އ0$b1@~2@ 2P*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?Z~V.=b>z?:S <5m=]V|?YVUY<=}?2Pq<0?sG1?F<=;D}v?k==-^~Hݼ A?)_=hl~?K%="po<>~?h=2wS=O;}?>>|{=r{?\> ly"=z?S2>"g">eEz?\>u8=z?>伷=u|?=[ސ==~?= *>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?т,‹K2?gA( Ŵ28Q6>4Y>Jؒ2>o6ϗ>A-d.>9}W>ir#*>n;>(>'m9)>n>h`>J.>v>U>J-:>L>T>K>>*BZ>z>X^>=w,e>o>3rw}>7;-|>|>E;j>b>e=;o>he{>;n>p>;Q{>b>,J<7w>.V>h&K> d$D>d;>M?>[:Ȇ>mg<>9mp>Q29>w7c>e8>G6t>a;P@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?;& 0mT?;gIV?6#ˍX?匽f[?9YYnʼN^?@ܽP0 =._?~ l&=f_?9S=_]?'8G >O6[?qAO>.X?[t@%>U?pTI$>^|R?yn!>P?7irr >P?^^x>.Q?Dc)>>R?H'D\=sS?c = T? g 1W==]U?LŽqL *>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?]8f ?G?822 ?G?uuc&?eH?3;Kǯ?K?K2wu?nO?3?1l?^S?2. ?"W?#^3?OEZ? 3??]? iAò>Rq_?~%؋3c>`?]10">a? n0wX%3@>b?x1L3>gb?x2:>c?"UH 2B>{c?09*>ab?!l2>N`?d1fj2>^?Z2ktL?[?d+T ?b;X?ĸML3?3T?=r2Y2Om?EO?QRo2*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?xoO>c==hxZN>~<8>xG> >y5> >&yy!> GuV#>xӉN2>'rw->B>t->O_作W>Ap:QO>+o>4Zkt>J6(>/e>)W_>a.>oϓ>^>y:>Bj_\K>$TqC>!ybƟ>C9[n>xf><>oMktő>^7g>=o>SuM>r6>KĽLY8>sz>q(>PuGr>UZ>{vxj>n_>mwa>?y!&>0xdX>R*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?X&f yJ><>X?gg_@>Q={I+5?#@27%6.A2^i->gM|?wB@Ȭ6^l78n[1O1?@tĵ9 Ő7h11jr?8AlQdK1|x?8A&68ک5rM0%1?(\?hhK5G =<={?eA:W'$@5dF㰳25?b B7>F>ʪ ?r??XA> ? ,@^A7>1?f@+>?HA>F?a{B >%~?FerB>!?FB@>J ?ww-BU>W?z9oA)&> @?e@*8>?g-;?àK>N?#6>”Z>VF?$s='7?G=Ua>?j!D>Y> ?L?;WN>{? ?1B>x? b@7>ø? @K1>1?j @"0>Y?j镾š@-2>G?S-^@t5>?͞@,9> ?d?=>-6,;P*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?>>p>L?J >> >ZJ?݊>H>7>Y)I?(>>n>_H?y> >8@>zI?i>l>y7>=J? a>7>M>5UL?߭d>&$>:z>gN?p>>P>nR?p>d>u>!U?Qb>.}>;a>2X?!ߓ>\>=>kY?f>fq>T>2RZ?#ח>u>D>RRZ?>i>S>Y?č>୔>+>̼X?9>>~>%W?>Y>T>_NU?R>˾>#*>mS?Y>>2>gR?/}>>j>5Q?g~>>>%P?>g>ʴ>cN? >>F>M?#=A15}۵*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?6m2}S;?iM?Is3}m?Q?Ppβ2T ?oV?2d !?pZ?`rs*>:^?b3JL*3>Y>s`? +2>a?cs2A>`?'#>^? I73{2?bCZ?= g2􌲉X ?V?2Ik0?΁R?i̍2),?:P? P?P? 32?*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?'b7X>ǽ4?G6/>ý ?4O>qWi ?s3۔> L ?`12>L+s?`1>q#?$G1M>?"R2>CƗq?_4rd>V?w6}>=W@?BC9&>"q- ?\; W>>;s>2>; >v?c9vR>>n?H7>>qU?4>䓽?‘2 1>ګ:?1mn>D37$?1FB>wĽK ?T2.S>0Ƚ^ ?30>Ƚ)b ?4l>BǽX ?uI6I>ǽF ?!B76*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?g;?>> ?^?9g_@B@{ 7A誾Pq?,@6Z2<豩ste?B@ O7y5o N1˴H>@m5s=xl9R?MYA|>7>αOy?8A4A<}11þ_l?8A5.>خ 2j0/I1[?XZ5CB7>hB?_># ?-A R@S~A ={ <=1A &֜~5?ai15? 19 j=T~bzG3R=~h窻C=|}ג8Y֔=~{H$=)Y~PXY}+mQd[ #|\bk_z&JMe#wq)r ϽG4ݭodt["іmcGj;><ƾpk o<Ͼgi4=1ݾdf 2WU=׾`g2oNNC2=lqn8=iߞBxrCL7=navl)=?~A{H?|A*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?e 1'rVq>{t?PVhk3>fp?%,3aA>d?3$3 ?NW?ǿ|{5?#R?/Lղ]?tN?2.25^?KL?P2 ?kxL?$]28Eo3?DN?CV0A ?(V?^5|5;W> f?u>Jv?TJ2xG28 >x}?J'k >>{? ;U3B>r?Ų2>i?W1L2>6oe?89g>MVc?#(3W2>|c?h'F0>n'f?j.2Y 2^3>{4i??2>Icl? S>(|o?ݧ28>Sr?kvBm$5S6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?I牽#wSvw?,rW |?}1 {~?5{?87 S{;;&?,fL־a*h?aV<ɥ-IǾ҉k?'+㩾Dq?ts9lx?E*8O~?q)U0@z?&w!L;Ƚ >~?S?F=m-=7?p1^hQ i%?:*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?G8]*IQ2Oy?/2Cz83` >tQ1[&3\J?&c2Y2 I|?3KF'!?1n 3Be*?j13*`>>%L+?z@0ۉ8.n1?Mae2_7?2'²;36?>126oƱ3A36?3]2m4X5?L3355?53l263?|02;-?72 3B7B&?|A2F3 I|?f)ɨI{Mפ?AAY*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?"2(CA5Ծh/ɼý˾j:uJz׾wgR=a==NxOp}=W=*+z{=N =ე7st5=n!<ſOlL=?<о7ivR=;0ԾFh =t"HaӾJi~*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?iސn>Tw?E/x2G>7r}?²s;ҳ>5j?C1?^>Xc?R!1 '39>_?p82|ɔ>b?2_;3p>Df?W2h2>ܸi?;X2E2p*>Hm?h0a>ip? 1D>r?k2#l2'1>s?c31>{Jk?bxj^H>Lc?%QR3(>`?OGx1$q?axZ?ް2u:?/S?R|2-?N?2P2?GN?{G2ț?(Q?P3!2& ?d3W?dl8K3>_?1L>2.->5i?13M>bq?evBTofl*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?\?r<<S?rjN\?$MDlQʿ?<`&MOJ? X̒;.?ٰFu>+?C C24%?J*?Z*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?d'꟨<(?CAp65?0  !"#$%&'()*+,-./055?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?N?@7 CC(@Y_ C7@:CUW@rCk@}D C@D C]?@ Cw@& CU@OH CNP@w C@ C@ CN?@7 C ۻ?@3 C@@GCٜZ@@wC@@9C@@# CI@@k C@@$ Cބ@@Bi CS@@5 C@@s Cg׮?@ C*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?>?? ?>s2ێ<*Һ[?,7[<孌R_?D *>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu? )1>Uƺ{{?>>";Fivc|?N>W@Z<q }?B >{r<q 8}?u4>׃<.jp`}?N=ʌ*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?>“=J>yz?ۼ><>8z?>lܹ<>qz?>Mz?@>l<+>z?ݬ>1<>Cz?+>Od<@>]z?>j?z?El>D2z?3>de<>z?><>9z?d >lq=>z?J>=/>z?6>>=9>z?t>=)6>z?L>= .>z? >=Q">z?t>V=>@z?b>=>%z?Y>\9=d>z?Np>=$>z?-I>=>Oz?>m=0>Az?!JA୼gI;:JA:M;MJA|;NJA];CJA̡;?JAf3;>JA,Z;/JA⵮.;'JAQG@;JAƾ;JA$;JAG; JAk ;JA~);JA;IAp; JA=d; JAQ2;JAA/U; JA;JA* ;JA;;JAp魼?;*==>*>UUU>>UU>>>UU>>?UU? ?*?UU5?@?J?UUU?`?j?UUu?Jv5y0o?(6{5 p?ϩKi5P~mr?26d5X˚t?wD5sH:Tu?. K5f<5v?2I5v?e>:V5Liv?{V>5Q”t?91yb5Ys?Gs5aѕq?aCF |5뱾 p?V ]5y0o?W2规560>o?{5{50ho?)A2i9Aq65A-xTHA(aAg)ǟA_:6A2џA:14A Q>nA}BAst AmD'A!i+A7jpҋA#m@נA?q4AvvJbiA&z4rA{A5Az5A[ux(A=uݠA_q5Amdh*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?ȥ2=zs=?X#34h5={V?(I xdH= ?EVR=е~?92맛4=(_~?ež~=~?8D=~?]!2٭<=u(~?42jv-=*~?2mB=A~?}/KDV=7C?$rQӂ=%z?2͂}s=?? SSʅ=t?2F_=p3?k2٠wJg=~?ǎ2&o=W~?PG/K>}?c2tҴc>}?b*д.>u}?c&>WG=/~?/j2A =~?ZSò=~?C2t+=O?3@y;`2@x1@>j~0@衵|/@#啻n%.@kV$A.@tŔq4/@AmF/@0=B1@ .*K502@ 53@p_ J763@Զ33@UN]52@җ8V50@^/@{U5N.@?5.@X.@l5/@z 0@6G5z1@Iz2@-J*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?᧾"=*/>,n? SO=#=r?`2=b1y=ZBt?*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?т,‹K2?gAPQ6>4W>JԒ2>o6ϗ>@-c.>9{W>ip#*>n;>(>'<{p>m9)>n>h`>I.>v>U>J-:>L>T>K>>'BZ>z>X^>=x,e>o>3rw}>8;-|>|>E;j>b>e=;o>he{>;m>p>;Q{>b>,J<7w>.V>h'K> d"D>d;>M?>[:Ȇ>kg<>9lp>Q19>v7c>b8>G6u>3 5@;P@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?s=;ƞ<>B\?O=򾔄j>@X?=G\>S?j=Qx>P?hO=cF>RM?9q=3->I?'pU=>F?N5= Q5>C?= >-B?q<`|j>L/A?^0<R>@?<:/>N,A?;lcp>}A?Ż;` զ>|B?2*WC?<= >,D?a?<$( $>S^F?!6=P >>H?6@7=Ɖ$> K?X=X> O?V=>bR?t=_e|n>xU?_=4\>xJX?M=veK>&Z?'=A)ѵ5*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?G2E7 .,??*P?7$2 <?P?$31_?ؼN?d>1?L?``m?'J?8332^$ ?G?k9eGk"?E? 2}2#?XE?)(z14"?@F?Fd^3"_ ?BG?(1_2]?*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?uD>>vF3D>Ch=gwXF>X=CYw?6kH>C=o6w%H#A=w +J> =JwW/I>_ko>=vF 9>/=avwI5>wJ=pvL[3>…\=%rvKg 3>=`=v}H\5>FY=٧v+Dc8>0O=vp>~;>QK={v$9>>hR==vA5l@> j=v10?>Ɖ=v,-~?>e=Uv(N=,v#-<@>=Fv#9 A>=!B n4; 6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?X&f uJ><>L?#g_@:DN2dW2'5?;@S`ز .F1i->gM|?B@Ղ W+7k0ɐ1F0?@AUǐS9=vcv?KYAT}>R73jr?8AN66K\н뱟|x?8A^VrVn1{A0?[?meq6J5G=<={?q6Y==O{?=Ż=6z? >w==z? P >?=Ez?39>?u=y?m>=7yy?>3= y?G5!>6}>x?a'> > x?].>>w?$)> >~w? Q%> > >Tx?S> >ٌ>lx?>=rx?zw>L=Jy?ҧ>4=y?29>;u=y?  >=8)z?3]X>0=nz?#>Q =Dz?u=P=z?DG=V2=,{?N =m=f{?eA;W'$@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?53~IJ(5?b Bt9>x>_n?ťѾ<,= ?(˾<=~c ?þ0Z=.A=2?6׮=ʈ=?oa=^k=8~?pB>R=N?GXy$>@Q=.?K >"Mq=o7?P=g=?AFSA=e=?O<5=٧ ?Ď<ѳ= ?ֻ;>S ?;u>&I ?0<= ?1ҽ}<&=?<=J?s亾e1=L=?h ?PɾU<=4?_;b<-v=黝;P*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?B>>7R>V?R>`{}>ß> Z?C\>R o>1>y\?yѰ>`>>\?e>R>g>]?>"E>1J>W_?>t6>%p>pa?>c%>;Y>Qc?@ź>+>A>/uf?>o:>3,>Yh?>=B>j?>=D>Ik?:>.<=: >kl? F>=>=!l?dN>= [>k?8> =3>^i?>4>K>q=g??;>A!>e>_d?j>90>|>%b?>c>>>+a?Ƅ>L>'>h_?X3>C[>>3]?>_k>>{[?> {>OX>15Y?#=A 6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?&ݢ3O?C?@3 ɠP?[?q3Q?F?v1 NQ??O011ɷαnc? >3;le?*>>ڲ?af?D?>+v24o2f?>e1@/3ud?>0b?ED>VA14_?>\2 刱bV\?U?u2*Y?P>?Ҳβ\%X?, ?{y~߱TsV?~ ?k1 T???Ac2DS??/X>/Q???BE6;0R6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?|iPS=ed<>I$j=ٜ==>j!D=l=>=j}v==NJ>Ej=@;>,>(k<= >>іkOX=^>.>XljZ=>>-9mԍ=>%ޫ>n۟=G>B> nG,=w>2>_oon=PX>ӥ>oZ==M>oL$==>JHo=E=٧>n? =TZ=W>n=h=>+`mB==f>el僩==2$>kl%=≠>ik/=P=Ѽ>zkC=A=3 >jЩ=S=P>:jN= =>!B442϶*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?f;?>> ?e?Fg_@K@K3誾Pq?-@naе[=$sse?B@p",3h^(2Dz1@ 6ˊ5 Ozl9R?MYA|>7>s2aL+Oy?8A5$'|$1X<,[?l5E`7>jB?]>" ?.AR@\~A 󖬽{B=9{C=.w([rmz=6̭Ȱyd=*EŽExl=tS"3̽ x=adҽ'wPĿ=o/ؽ4v6`=~\޽2uO=4佬#tw=ցt=5{mݽDgun=rٽv~=8jֽDvQV=adҽ'wGĿ=(Yۮνwr.=PʽS:xÔ=^HF6ǽx_=p?sý8y3V=6ʭȰyZ=7.㻽#z=@%z\=EDaz=,Io=^{=2A &Μ~*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?5?!زq5? ›9i=S~czu3R=n~JKu"C=|}ג8=q~X}nD =[~DuO@ĺ]}0 Y6Y.|A"jUկWzsAe1w-|}r'νּfϭoW%a 琺mD4jHJ<~ƾrk d<ϾCiZm=;ݾ+jf %.4=D׾g F(=6ƾlfj+=mrz`'=evl#= Ny$(Ȇf @Au@ Ap?A??%A*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?3w>zt?3>fp?&2k]>d?3$3 ?NW?-N25?#R?1(1]?tN? N28^?HL?ΉLor ?hxL?31H9?DN?{.A ?(V?b@CW>f?Ͼ1,F3>Jv?2%<38 >x}?J|p >>{? ;U3B>r?H# 0dղ2>i?0gS0>4oe?mK²g>LVc?a 2>|c?o2޲C0>n'f?hyݱݜ^3>{4i?1`2>Hcl?q2$\>&|o?lQ2>Rr?lvB4hu6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?C牽:$wSvw?,rW |?}9 {~?5{? 7S7;&?/f~?S?F=m-=7?r1^hR i%?:*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?Y3(2Oy?/2Cz83` >tQ1[&3\J?(R2!2 I|?B 3VF'!?b7 2;B=B&?Zu*2x@(?3D[31@u)?U;1W2ޣ?<)?.33\?s *?ѝ1ܓ2h?\*?P2{3n>e*?j13*`>>%L+?z@0ۉ8.n1?Mae2_7?2'²;36?>126oƱ3A36?L2J3m4X5?G3355?{43|363? 1:2;-?72 3B7B&?PB2[2 I|?(y2{Mפ?AA&d6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?('2xCAQ5Ym5Ծh/ɼƽ˾uj:Jz׾wgRj=G8:{P=B."#*q}@^_=3Mq~Ti= Wἢtp=ꞼZ{*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?UDo>Nw?#J̲'fG>6r}?²s;ҳ>5j??ߖ^>Xc?!0qB>_?B2=ϔ>b?2_;3p>Df?Y>e2>۸i?e=2Ţp*>Hm?8/3g>ip?21vٲL>r?:]רT331>s?c31>{Jk?/y 3H>Lc?%QR3(>`?/2S$q?axZ?/8N3;?/S?vJ-?N?įy'?GN?nT2ț?(Q?թ h41& ?e3W?msƱ>_?252F->5i?z+M>]q?jvB%ٶ3*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?G?r<<<,~?|<< #ְ?R'Nx?PdkM'==?dS G=~|fw?BE='{ݾhe?5}_X={gAc?Vug=hɾj?psY=plq?8/>=5KS.v?決`=X z?T;Y< }?}B55B*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?ɰ2`IJ55?Cﵪ*54?2'P54?A>? 3u54?Ũa"5F4?a вV䲼5 4?1FrD363? 28C0?,3u/@?)?N!`H>S?q$1:/N\?[]kQʿ?<`&MOJ? X̒;.?ٰFu>+? #13%?J*?]_2Bj@(?u&U.A'?]NB .b?J*?umDzMK;.?kT9" 0? C{1`D1I)90?x2q"u7?2?˲5L4?AAؠ*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?d'꟨<(?CA/65?0  !"#$%&'()*+,-./0BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?BDB&?{b??o@7 Cy2?o@Y_ Cソ?o@:CQ &?o@rC?d?o@}D C?o@D C B?o@ C?o@& Ca?o@OH C!?o@w Cγ?o@ C1?o@ C{b??o@7 C$??o@3 Cm_@?o@GCSK@?o@wC {@?o@9C@?o@# C;,@?o@k CӘ@?o@$ Cx@?o@Bi CG@?o@5 CO@?o@s CD;??o@ C*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?>?? ?>jJێ<+Һ[?xj*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?w="{}?>)vym}? >:+w2}?p>j;u|?Q> ?;os>|?q/!>[hP~< nj{?A6>|<:blo{?;> Ĥf<iz?5jB><-icz?ZC>P<h]z?5jB><-icz??>R<iz?;> Ĥ|<:blo{?G/>~< nj{?S(>hPb ?;ms>|?p>,j;u|? >:+w2}?>)vym}?,@\;@];@+d`;I@;@j嫼m;d@: *;%@4r;@Qc3E;L@ ;@񧼖4<@>d<@<@C&~<@^<@j< @\󧼍4*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?1=?m< >!|?=m<>k|?Z=n<> |?=%n<>|?^.=Jn<$>|?+G=nn<*>|?Co=ˑn<0>J|?=زn|?*= n|?=n*|?i|=oK|?=n*|?*= n|?=βn|?Eo=n<0>J|?,G=tnn<*>|?Y.=In<$>|?=%n<>|?Z=n<> |?=m<>k|?4JA-5K;0JAH2 I;8JADLQF;6JATAC;.JAU@;4JAe7>;1JAn;;0JAvI8;+JA:z6;)JA/4;)JAĊN2;.JA~4;,JAn~a6;2JA8;0JAlP;;-JA)g<>;2JAV@;5JAMC;6JA?E"LF;.JA]7I;*==>*>UUU>>UU>>> ? ?*?UU5?@?J?UUU?`?j?UUu?J$05y0o?M2!܂5 p?l$=m5Q~mr?7GDGZ5Y˚t?2P5rH:Tu?k9I5g<5v?q3=E5v?mڏ2tXL5Mhv?\CYe5P”t?陵0 Kb5Ys?. r5aѕq?2@95뱾 p?M3U5y0o?HM3KĀ560>o?)5z*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu? 1 Ws=?2t[c5={V?:2_H= ?a{ɲjR=е~?.D\3=(_~?3 @~=~?[2D=~?yк<=u(~?'2/w-=*~?%T2'=lD=A~?7IPIV=7C?X_ӂ=%z?s=?+"JRʅ=t?929Ӈ^=p3?1Mg=~?gr=W~?ќ2ʴJ>}?EI2qc>}?P2&Ĵ0>u}?2)㑴QG=/~?25 =~?Q Po=~?b!u+=O?3@u45w2@ߗ;51@Q_4p0@`ڷ5/@!镻.@A@v浠.@߆4.@/:ob5/@N0F31@Eh=432@㗻Cǡ503@s5k3@{86 3@.42@ȗ-40@i㖻@Gb4f/@L4f.@ʔ4 .@bJ5;.@~Eh5.@f6 0@r4ऌ1M1@X?q2@A}4*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?b0NW=B>< =0w?|oSP:=/w?t*=7*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?Hxx.v1?mAc]ŵ,=.d>ns=y0>D=92>OC=3t><4l5Lt>h:#o6>^kB6>%:6Q>Y̼44>єW2>2<0Y>16.>f,>q ->M@-/>\/s>/8Q#0> D;#10> k<|2U><|m2>? ?=1W1>ކ=O1!>{_e\=~0>=/>i];P@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?u/ >&6?܌. =7?&rR-U=E9?I,|=x:? Z+|=@?ᢼB])ф1=_??78(M:<>@?)e0-'Ps<6A?4A;@I&R;&B?&H<$EcC?g5<%&%@C??Ή Z+|=@*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?vj3ê>>w?^av}>x?I2RN^G|>x?%D3M|>x?1 H13}>Px?҂18E>w?5h293F>w?Ѳ2!>@w?0myE>Dv?351R*>ӏv?3:xfz2Ћ>%Ev?n329>v?벽)2>u?]38>v?Y2Ћ>(Ev?S2*>ӏv?8= (%F>Av?NH;>@w?hI2LF>w?2uE>w?j͘~2b}>Sx?<" 3)N|>x?3񲫮I3 H|>x? 3įw}>x?>B/ :*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?f?=>"<=eU=1S>@z=Gd=)>ݪ=bs>|>=a>>^>=d4`; >S>N==^r+>->=]5>>=:\0=>>S=[J~D>3>S=,ZXI>>&v=$Z#`L>>=aUZnM>>l="Z8`L>>=+ZXI>>!v=[O~D>2>O=;\=>>T=]߸5>>$=>^g+>->=g4` >J>~=a>>F>=bs>u>=Hd{=%>=e =*S>Nz=!B՝ 65*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?.|g<1?Q?>g_@N3zAt2!/72%l)?wcv?8A'7u|602!50|x?8Az^Z1.̎1?\?$b]y6G =<={?eA6W'$@5/i 25?b B[9>>ɪ ?q@?UA>e ?FU@3>Z?1AKI$>;?LA>?ABT>j?tB}=N?>L"Cg5=M? B='?jBB >i?A~ ?䟾f@@,>t ? 椾i?9>ɪ ?q@?UA> ?d?@>W ?UI?:>D ?l@2>X:?޵@p(>9?VA2!>E?i皾}A>?bBfAT >z?E'A$>D ?W@+>+ ?kq-_@3>_ ?.Y?:>[^G6i;P*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?͒>$>:>,;?2>^>">:?E>ڊ>x>8?{>?>8>>7?!׆>%?k>46?>Vn?}>4?JQ>?f>q3?ݒz>?0>+&2?u> ?c>0?}yp>5?1>;/?l>z ?>3/?j> ?->".?i> ?>.?j> ?.>".?l>z ? >3/?}yp>5?1>;/?u> ?c>0?ޒz>?0>,&2?JQ>?g>q3?>Vn?~>4?!׆>&?h>46?{>?>8>>7?E>ڊ>x>8?2>^>">:?$=Aʣ*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?p]GΤ2>p4d? 34J3)>e?<8>f?,1β>mh?pޱ>i?1ʹB3i>\k?ư3>/l?r۲ >m?͌2hi2 w>o?3|ֲ>o?2Ƒ肳B>p?Lݬ2J>p?3i">0q?ղǠ>p?rDz'0>B>p?3|ֲ>o?w>o?zB3>m?ư3>/l?E=~93i>\k?+1y2>i?,1β>mh?"2۳9>f?jo3.>e?=B+c*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?Pb'vV8>GaRFxUj>s_#yH>o])I{ >NH[8C.|>Yw3T2~l>EVt8}>TV=WQ>R*A]̀>QD0%>-O8G`z<>hNH(>/NV~I3>hNH*>,O8G`z=>QD0%>R*Aà>TY=WQ>EVt8}>Yw3X2~l>NH[;C. |>o])I{ >s_#!yH>GaQFxWj>!B7 5*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?g;?>> ??Eg_@7@ |2ò誾Pq?0@;d6#ܨ[,3sse?B@C6n0&u`@ڜ55 ,{l9R?GYA|> 7>>2QOy?8Aqж@50 <0R0?8A4%3`16'[?ߴ\>iB?^># ?(AR@V~A!>{ <=2A&՜~5?,}L2 15? ¨9Ij =h|&.C=l|Dl ,=n{aE~=gY|| %ɜ;T7|C&pc ?wA??An?A~@rA@A>@lA7hZ@#A@&&@%AV-@X&A3@%A8@$AօT:@#Aх}<@n#AօW:@#A8@$A3@%AV-@Y&A@)&@%A9hZ@#AC@lA@Az@rAn?A??A*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?`c>yt?_}*>p?2h >c?F  ?pV?34T?d[Q?2wm2r?'N?x#23^C?] M?qYG1Ԏ2z?_N?pH1z2I ?W? kM1P>]f?n2&n3>:t?Duj>TU}?Su2ʦ&}?*B>ut?C4]>c l?22Z匱a>g?eЛ S>Ve? FJ2M>ce?34A>g?303>[j? c*3a>72m?uwҲ*D>Zo?S1詸2ģ> r?lvBr 6u˵*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?+Bsu? dp z?bÚw|?ýR">-y?{x$j𽛔V=f}?>{|?B [ɽH*8v?+SDַ+=p?Xč"o?I<􄾮}u?н{?+\15}?{%$v, s=R}?6 s6Di|?X?c=|?׽Hֽ}sY }?1D׶ڽ6z?Xw׽Jakv?Щ̽W؍ыr?ȭ󪑾r?pM㨽 `nZr? {ϔå`'s?O )K*t?AU"A}u?}BL9/*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu? 2^Oy?a2` >1ض]J?*43 I|?iѿ1F'!?6252B*?}e2h>q+?ȯ3>>%L+?vj092܉8.n1?F2X3e2_7?@H1M;36?e2ct33A36?H%3am4X5?"1!e$355?2Z163?>732;-?282B6B&?{r2O I|?m;3{Mפ?AA~5*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?51W)1CA!5m5`<ӾhaG==jUȾ)jz=TԾcPg=#t]Ǿi =hpz8mr=]zj2r=Jdriv%=?T1iyy>2:3{/> ы|o > ͼB}* >tڒ< r} >{X<=|>L!==|=?=%_=ez8>=y=/DvPI>s=?{rC>?=7n/>>;Vbʾ=hDy>aξ]h^=qҼuоFvhˡ=)х<@f#5@% M-@P&HU%@'%Gun@!@d̆ @ @\ ?47?"N?]&?Yc ?r]-?YN?87?#?@\ ̆ @ @dJun@!HR%@(% M-@P&5@%*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?82U'o>Ew?A22'& >K}?+42C3>fj?2>\c?JUL p>`?1,mU/T>b?^[w$>f?fa2"v}[> i? 2E7>'m?J~f2->p?2r> Dr??D"A0Ȟ>`s?E=>Pj?92ŕ(>b? Y2Ƌ:*>R_? X33?wxY?E 2(1?KR?PJք3>?M? e2vNj0`?M?7w33?_P?F2: ?~V?01;Nq\>N_?ޜj0{>h?{G2!>{q?ivBd4JZ*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?=R=Ŵ8}?9=`I=_i~?S=a/=X~?q=< =>|?ru=+=Lx?C=+=-3u?0=q=0Us?z=έ=3#s?m8=™=LNQs?=0=>xs?#=ɿe=X!u?=L=grv?=d=ǯӽ|?ܾ=L=$>s ~?->= T=!m>(.w?5=}=5=}?kj<=-z?S<="= Zo?<#=4ľk?=^=Oּ?l?:=mZ=թAp?k=Ϯ=!ls?=ݗ=fle(x?}>=={?}B5k5*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?3hzl55?$G޲*54?pp]P54?G.r0u54?>d.!5F4?;z5 4?00C363?iV`y8C0?$Iܲ@?)?AҁB`H>S? N\?Z˲<ղlQʿ?2gU3OK?$&|\;.?]nV52u>+?C3%?J*?j2rTj@(?7uU.A'?B)z-b?J*?2 h=αK;.?S_19" 0?|2 J)90?ݲ"u7?2?%]5L4?AA*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?r&L?CAD5??0  !"#$%&'()*+,-./09 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80?9 80? ?@7 Cؾ@Y_ C^Ŀ@:C@)@rCo?g@}D C@D Cݑ@ CT'@& C@d@OH C$@w CI=@ CE@ C ?@7 Cu?@3 C=(@@GC#H@@wCw@@9Cb@@# C@@k C;@@$ CXNu@@Bi CUID@@5 C @@s Ç?@ C*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?>?? ?>bێ<)Һ[?xj*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?w=%{}?>K.vym}? >:.w2}?p>j;u|?Q>>;qs>|?s/!>hP~< nj{?A6>|<7blo{?;> Ĥ<{j;/{??>v!<~-icz?ZC>b<}h]z?3jB><}-icz??>v Ĥ<{j;/{?A6>|<6blo{?H/>~<{ nj{?S(>hPK>;qs>|?p>j;u|? >:/w2}?>B.vym}?7@?;@ ;@eP;6@^;@x嫼;N@ D; @ 8q;@cF;f@J ;@75<@UfS<@`a<@~<@b5<@hD <@1H5*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?1=Ym< >!|?=m<>k|?Y=n<> |?=%n<>|?Z.=Jn<$>|?,G=nn<*>|?Fo=n<0>J|?=n|?*=Vn|?=n*|?i|=oK|?=n*|?*=Vn|?=n|?Fo=n<0>J|?*G=nn<*>|?Z.=Jn<$>|?=%n<>|?\=n<> |?=m<>k|?/JA_+HK;4JA7H;8JAkFeF;2JAOC;2JA1T A;;JAi C>;4JA4nk;;.JA~u8;-JAE6;)JA;4;,JAጴ2;(JA4;1JA{6;2JAy8;4JAlt;;.JAf ,>;0JASZ@;0JAPC;7JAGNyF;2JA6H;*==>*>UUU>>UU>>> ? ?*?UU5?@?J?UUU?`?j?UUu?d1e5y0o?`}375 p?X21s5R~mr?FF.a5X˚t?/_20,`5rH:Tu?ݓ0V5g<5v?ϲU[5v?2[5Mhv?m<1PY5P”t?ȁ2&@i5Ys?8b:5aѕq?#v5뱾 p?)aͲ5y0o?6!Y{550>o?=2oy5z*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?B?Ass=?Y\=I5={V? WH= ?' R=е~?J71=(_~?C~=~?",2A޴D=~?=G<=u(~?[/-u-=*~?7Ʋ9E=A~?YHBV=7C?Ps3ӂ=%z?aZ2W/~s=?<1bKʅ=t?0ij\h=p3?jmۇKg=~?k;Eu=W~?2|J>}?#Q?2QԴc>}?-*36g->u}?ְ(3tYG=/~?k28W =~?"^=~?W fs+=O?3@l5y2@ o51@kC5m0@l9P5/@ ܕM=.@at.@cޔa'.@.)Wۃ5/@=٭i 1@;X82@Q闻5%3@^5w3@sft6 3@5 2@*򀵳0@|疻25k/@V!5d.@4.@ꃔ/.@Vb5.@唻BoW60@ /`3N1@FXLGa2@8 4*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?c0NW=B>< =0w?|oSP*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?~+/1?lAxML,=.d>nu=y0>I=92>O C=3u><3l5Lt>h:#o6>^kA6>%96P>Y̼44>הW2>2<0X>16.>g,>q ->N@-/>\/s>.8$!0>;$12>r k<|2T><|m2>??=1X1>ކ=O1!>{__\=~0>=/>GTض`;P@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?Cy>6}5>B?s>bd1>$C?d> ~+>qD?>'s G%>~SE?>eU />.F?>6 2>F?>)>'G?ة>`@>VH?C> >H?>Z:x>8HI?>0>I?6O>N8>I?>?G=DI?8O>N0>I?>0>I?>Z.x>9HI?D> >H?ԩ>`@>VH?>)>&G?>6 (>F?>fU +>.F?>'s =%>SE?d> ~+>qD?s>bd1>%C?%=A R*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu? 3?L?բ2it?2M?2&?M?C^2%?&M?ޤ8G?*N?{rE2vu?vcN?x`E2+2??N?u#Z2!?N?@3 S7?9N?X!1鲒2y?NN?Ȱ9Hq3??N?C_Խ2zu?tcN?A3Q?*N?H(D22%?$M?;]2In,(?M?+3sH}?2M?AB6)6*==>*>UUU>>UU>?*?@?J?UUU?`?j?UUu?I}p ?'$Ih! ?:NJY`O ?C1JVX U?d9KT;P!?TKTH?uK%Av?꽗KK;Z?GPڽjL 6aq?e˽ EL }2?egL/? }L9-'?'WL-93?-ګ}L2-'? 'gL/?!EL}2?ijL$6_q?e˽KK;\?;PڽuK1Av?Ȫ꽺TKYH?8KU;P#?1JVX U?aNJW`N ?GIh! ?:!BK+r6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?.{g<1??7g_@*|1#"$773Z3>߱?wcv?8A6J@?XX2|x?8ApɵV6΍d&t?R\?ǂ4(hO=8z=?}?Wfb"==J}?ѱ\x=={Q}?V)==CT}?>Q=_,u=R}?K^">P/Z=nM}?E>.?=C}?&?>*$=6}?v.:9 >w$ =6$}?b4J>~7<6}? .>"<|?(L<>`<|?:">d;y|?(K<>`<|?.>"<|?b4J>~7<6}?v.:9 >w$ =6$}?*?>*$=6}?E>.?=C}?K]">?/Z=nM}?>Q=e,u=R}?V)==CT}?ӱ\y=={Q}?Vfb"==J}?eA8W'$@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?5*c k5?b BX9>L>ʪ ?p@?VA>e ?EU@3>Z?1ANI$>;?LA>?ABT>j?tB}=N?>L"C`5=M? B='?jBB >h?A>t>} ?䟾g@<,>t ? 椾h?9>ɪ ?q@?TA> ?d?@>W ?UI?:>D ?l@2>Y:?ݵ@t(>:?VA2!>E?i皾}A>?cBfAT >z?E'A$>C ?W@+>+ ?kq-_@3>_ ?.Y?:>o^6*n;P*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?Ei>l*??¼,>*?q?eF>Co+?v?ǫ*q>+?G??Rl>>T,? ?zdy>p,?# ?Ə%>w-?N- ?t>yU-? ?Ξ>^-??#3>-??ɽ*?x-? ?Dнf?5-??5ҽ?|?-?7~?Dнf?5-??ɽ*?x-? ?#3>-??Ξ>^-??t>yU-? ?Ə%>w-?N- ?qdy>p,?# ?8Rm>>T,? ?ǫ*q>+?G?fF>Co+?u?¼-> *?q?%=A 5!6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?]+Ʋes0]>t?(V3%ѝn~> u?K:2.7>~v?9P1߱ z>cjw??QS3R2x>%Qx?IͲ[0j>K+y?czq,3\Z]>y?3YP>z?H#xY.E>t6{?81s&c;>R{?pp 23>|?IJA! />O;|?=2 V->8N|?ݫ'u />O;|?pp 23>|?81s&c;>R{?̕0s)46E>s6{?~2DZOP>z?czq,3\Z]>y?1t3j>K+y?҂22x>%Qx?9P1߱ z>cjw?K:2.7>~v?::3Ųu~> u?>B\mY*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?fPj<귐8>hBz$1g~<ԼR>RVe=yn<A>Zc~V<>Kaj><_O'<6ށ>@]Ka'><\ $0>ZcV<>RVe=yn<A>$1g}<ԼR>hNz!BBu*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?g;?>> ?l??g_@B@I/1в誾Pq?:@Pt"Rb+n1sse?B@ݍ6h4V}1G0@xP5n26 yl9R?MYA|> 7>yf0Oy?8AV6:"6%R.7.m:0?8AR,77.%Rm:0[?|]4>iB?^># ?,AR@^~Am8=|I~=Ƚh=4|==*׽=r|==N影b=~|=օ=jU|k==&(|=+v= {ѥ= ̮= {= =`{i-=0r=L{ג=?$=k {=K+o =6z &=U2oU=3z=K+o =6z &=?$=j {=0r=L{ג= =a{j-= ̮= {=+v= {ѥ==&(|=օ=jU|k=?N彯b=~|=*׽=r|=Ƚh=4|==3A&~*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?5?$az15? 9[i =h|&.C=l|Dl 5=n{aO~=gY|;S XG:ً{+giܽ 6xL PJB:seyqeuW<\ +YpD:pYj&㨸L׾Ye5/y?'Zx#\ V=f}?|㽬{|? Ǽɽ(0v?C~;q? mo?OJޫ2֢q?_wfv?_o|½;|?x%v, s=R}?6 s6gi|?X?c=|?6ؽֽ[ }?ڽnz?( ׽Ja*kv?թ̽V؍ыr?`䪑r?H਽_Zr? ̔'s?L )d*t?@UWA}u?}B(5e5*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?_1WaOy?X3]` >22\J?!}12 I|?t1o3F&!?T2T2B*?S3k2m>f*?c]3M2>>$L+?a2l2ډ8.n1?KנP2e2_7?2e|2;36? 323A36?yw=1m4Y5?U3qT255?`n3$263?t{MÃ;-?.|3HԱ2B7B&?1~0 I|?27#2{Mפ?AAsI*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?ۥ.CAI]5B4=Ӿh=jUȾ)jw=T#Ͼ_heH=GԾ8gV=oppǾi,=lm=)g𻖾Ar=jcivv>Rh&z>Y* ½V| > k}l >0ܑ< r} >X<=|>J!==|=>?=%<"|>;_=@gz78>x=܍/svI>!vs=S@UrO?=~7n/>Z<VjF> ];FaʾHh;>d Yξ]h =mҼvоvhk}=o)х<@f#5@% M-@P&HO%@'%Kun@!@c̆ @ @] ?87?"N?]%?Yc ?r]#?YN?57?#?@] ̆ @ @cEun@!HT%@(% M-@P&5@%*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?/3`([o>Ew?%)& >K}?]4x%>Sw?dh2> fj?irE>Sc?jd+3.p>`?!/Rr>b?qE>f29>f?<!3#mG>j?3=2Ks>n?/Hc10>q?2嵒2Ȟ>`s?3h䍲>Ij?{2nԱ>b?F)35>O_?03A?txY?d$e3?KR?4ց3n2 >?M? 2f?M?G~93?_P?1 11 ?~V?!o.3$\>N_?cYrⱕ{>h?i2[Mp1>{q?kvB2R6=4*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?=R=ôO}?9=$`I=_i~?_ݬ=O|=(nX~?S=l/=-X~?H='=B|?\˝=E=PLx?]==`߀hu?==2,Ss?/="=Ȋ7,s?o= ʏ=pZs?&=n=Qt?=L=grv?=d=ӽ|?ܾ=I=@:s ~?,>=T=!m>).w?=ț==<}?Ah<=-z?<\ = o?P<'=Mľk?4=T=׼|l?i;=n=֩?p?!k=\=lws?=͗= le'x?=̀=w{?}B߷j6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu? r:55?M2?3*54?h䡲OP54?ȲrFv54?z-+?1ܲ3%?J*?:0;MGj@(?T#xV.A'?Dձ-b?J*?_-ӖM2K;.?[wѯ9" 0?Dߩs_2J)90?l*Ӳ޿"u7?2?%4Q5L4?AA?*=>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?ï썂ڽ1?CA& P@?0  !"#$%&'()*+,-./0p=N=+=? w=u=6z-3;?=7U=.0>9?=; =36?Mp==?5&3?=}=a81?~==:.?"==Og<\,?=8==+?sN=p==+?=6==+?"==Og<\,?~==:.?=}=a81?Lp==?5&3?=; =36?=7U=.0>9? w=u=8z-1;?h ?@F Cr2z@C.Hl@t-CRX_@ۉC_-T@. CDQ@"BBXY@սBK(l@jCIJd}@-C/?@ CN?~@"Cخ0@o@+Cjhp@^@6C@O@[ C@I@MGBhˈ@P@BC*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?>?> ???>->G?G?D>.D>F?R?>>??C>C>? ?M@>d@>W?c?h>~>??Э>>??3>3>>?? ?>>?ã? > >b?b?ӯ>>??6>6>??4@>J@> ??>>??|>|>??Q>i>`?m?>q3g*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?=]W*52}?~< 0A}?46߲AKi?axAJ??AFJ?~&AJ_C?MAWJ]}?sAJ6?ԇA|Ka6?*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?h>'~?=߽<2'-P?&M=<;Z?S=7Y< *>UUU>>UU>>>UU>>? ?UU? ?*?UU5?G>T7<K"Xӻߢ|?>Cb\}?v=<;}?%=m .I'p~?ګ= 9f-'~?=ob<ݼd?i"=Iǩ6=-@k|?0n'>O9;JL{?<\=>ՠ{?VA#F*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?ۢP:5xjw?:3B84m}?S2B3&ż?(&-Is)=?eCj~?u) :4Հ潖_~?:24Ƀ?}?D2{4g%<|?=W2x15ǫVOz?AT6dAA 6ϙA34ɴ'AZŗr\A6\`65AFݎY/6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5? бE=y~?0@ޖzDCz=;>n?OJ=b=;u?(wɀ;Qx? IRvLZy?b-=I̼x櫽K{?Ww Iv`}?D '=~?޽ B=w"}?4|}p2>,z?Mڽ= <LW>x?[½O*z?~k@;o=ui}?Mսۃ; )I=J~? < <}?>_1=t?@;6=!*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?_.<0x?jA46ǘ4'>+5W>1+n=:7>4,yFɻ+)=8=H+NMg=gA {+UQi=o;+,zk'>35\>/*&4>_3'>5e'X>{7*=9~ >l+}=B;=Y+W=>;=L+M[=c;b=l+}=B;=*O=9>@})=83>>Ti6Л;P@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?j" 1>W:R?XCQP>p5Q?#oWk>hP?IIO?ƭS>SO?fS`>N? &sĕ>4~K?qZݾ>G? TlپV>b!F?35/ؾ_>TE? پ^>u!D?*ھeA>*G?޾n>LL?`$澺>O?${>9N?6>P3L?SR>L?;潥=L^>$P?)=AuĶ*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?Z{Y&?ɕB?~˲{-#?@E? 3+H"?E?Ac2B5Z<#?4E?t2ʆ#"?F?2s/-?]L?3.Nv ?V?/2Zh]26B>|^?`+$3>Z^?f2ʳ4?]?4񎲈!Y>db?E2,i/>b?6h3>P=_?ݗ1Zv2z?@[?&{? [?D}\2"3>^?n$e 93G?[?5юm38? CP?ABj6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?wxQ'>v#>W=}y!>Ĥ>=zΧ>^>VM={nm=;=4=h6|=1;=J=z; >Y=Y=iv#R>>ji=rm>r > >orW>[.>!0>#qp,>N>,G>5p?>& c>*@>o+K>k>51>dp+R>88g>@>qq_]>:Y>f >cRp>zL>D>#m.>jI>yM=Fm>H>=ɫr;t>:>=!Ba`*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?'K6s>~?n?fg_@AY2ǔ60`?2@26^:0A7Ưx܎[`?B@66W2n㘰ܿ?@ZA8/9ƚTgz?NYA|> 7V1qt:{?8Acٵ#1 $س]?8ANO77 Ⱦ6j1s1N1?[?jA6`(۝ >:|?jP>!g|?W#>9q|?L->N|?(Vp>g/}?|VZ=3ut@}?6=xm}?i=r}?Bo!2=u}?u >m7|?0:,4>ǽzz?EH>W:ѽy{?k`>ڽq{?*.=㽯&|?|N"= ҽL8|?G˙=C|?>F|?[[>rC|?eA9W'$@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?5w6Ӳ15?b B;:>O>'?Ɔ'w66K>|*?dip;5`=.,?)?8彧<=u'? :l4=Q$?E7-:>ւ$?oK#5,_>˰'?5-W>5+?;7P$7>H,? 9Y >a,?X :~N9P>.,?ҾZ:7>+?;3= )?1;y='?O9>h!Z;P*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?Q.>6:>B>Z?rO>>Ј>x[?(q>>b>?c[?#>>6>Y?l͔>C>>W?ԝ>K>w=@S?->>4=O?p>>=O? >x>Ы=U?.1>> y=\?(>>>ՠh=^?ԕ>)>n=8^?J>>=]?w>:> >\?O>\>P>b\?<>s>찒>[?><>ܲ>^Y?o> .>B;>-Z?$=AXdx6B-*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?pB 2E?"?ƨE1F?ߧ!?O 3- 32G? ?r1G?0?cѲtDH?V?kŦV(iH?;H?;,1mJ?0?0?S??:Y2h3Z?!(?UC2d/2$Y?w8?6io2|X?u? ?0uMU? ?PQ=YR?~? =m$3P??kb2s2G1M?F?l3ZȲaJ??z({ɾ2H??@Bw *==>*>>UU>>>UU>>? ?UU? ?*?UU5?7M7쏻qwo?ȳMg}<]l=?$"MaO= =Z?K{=Qޞ=z?~I:=ݚ=?U8E˜=h=Ho?@"M=K=&?ghE=X ?N&gӽ ?L*.c`(> ?N= > ?O?F<=ۉ ?P 6K<ħ ?ƞP׽q?!B:շ6+6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?Tks=q?=g_@G@M93BV[%0}?)@F?@3Mkp?B@>*6Qpf> |2=1@"P+5"6ù6}9A6M-p?OYA|>7>p11X?8AP6ɱ# 7\?8A1Sdz5_I n[?s56>iB?^># ?B7@@"${*=OGgya=/pw=ß=chͽdJw'g=IV|!.Uw=uH[ s*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?5?Ww5? ;~1;e~ν[s<}彅QzԽ*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?ȷ1N%2>u?>z3>1q?eV3ٲz?,#L?>6{0 ۱5R??L+3?yd?'>r2۪Bfdm?q>2J^2,k?@>y2L!Y3f?>܅1rZ?z?!HNF?d!?Q2E2?:M?o3X/3v>h?W2)-F3Ő>v?u2ν> +q?o612w?[ K?:/2㲘?vQ?s>2X3dm>b?,3C>u?kvB5R"*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?ZOv+,{?]eʽ }<%=Z~?O<}?j5ҁ!L}?ѽjؗUwy}?ȘzHQz}?mк½㨠=; ~? ծ=] ~?ԼY;.b?#+iEJXQ8?.&qȌ=~?rd3j?%p߼}W~?aCHXn9~?J]玽xr?BsƜgOOþk?݄TXоi?5qۺغm?}B.4+ȵ*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?΂2oq2FZx?kƑ2*2jH G?!̞2 3o6?t|3 A54?=o3>28n1?φ2oEC2; .?9C2x@(?l0P?k)?}1a3i?\*?δ(U>>$L+? 22<-?=P2`F3;.? $ N381?U<2) 3F6:v3?FJ1M255?jiAΨ3R4:5?v 763?a15S&4?AAO5*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5? ARڲCA5Cd4STGǏ y;<>x*ƻ3"@E%D; T;?;h#^ۥ*=@,es+=k =Q}x8=ɝU0pY)_=ׁ&ܾcA=¢>EJh==e)7b]1/ ==AF'ZU*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?420 3E?6N"?v!2-34?ŕM? $> 4k?3]X3*u>x?9uP2Q}3ؼ>#o?]Z1k?RM?SS2ʢ}?wM?=rxk"?t\?;3>q?ڬ72'>t?k2>o?!\ׂ1 ?:,J?W222wP?g ?EH̲2kcf?F9> :-26dk?C> 1Pjl?>s/]i?>oQڱ + 2Z?θ?hvBq6H5*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?(=MeLWg8?}ɾ/j?6l=:3|?=x+ϼݜ,*>UUU>>UU>>>UU>>? ?UU? ?*?UU5? ,4055?ROQ954?2l*Gm5 4??B׷5^Q4?2 364?VD363?-Yϲ99~k0?R:A߲[594?~`1v[8m1?[_,>:ϑ2;DK?g 036?~PC4,5?EP2,6W3?q;>ϱ=<-?!1*ݰU.A'?19>Q+?TGq/9:0?AA0*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?/Á?CAHЁͳ@?0  !"#$%&'()*+,-./0p=N=+=? w=u=6z-3;?=;U=.0>9?=? =36?Lp==?5&3?=}=a81?~==:.?"==Og<\,?=8==+?sN=p==+?=6==+?"==Og<\,?~==:.?=}=a81?Lp==?5&3?=; =36?=7U=.0>9? w=u=8z-1;?h ?@F Cr2z@C.Hl@t-CRX_@ۉC_-T@. CDQ@"BBXY@սBK(l@jCIJd}@-C/?@ CN?~@"Cخ0@o@+Cjhp@^@6C@O@[ C@I@MGBhˈ@P@BC*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?>?? ???>.>G?G?D>/D>F?R?>>??C>C>? ?M@>d@>W?c?h>~>??Э>>??3>3>>?? ?>>?ã? > >b?b?ӯ>>??6>6>??4@>J@> ??>>??|>|>??Q>i>`?m?>̊366*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?=V*52}?< 0C}?<6߲AKi?axAJ??A3BJ?~&AJ_C?MAWJ]}?sAJ6?ԇA|Ka6?*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?rH>La<\z?c">>':*<{}?>t9|?4>h}>i{?@Tyk <@R; @;߂@䄭%;؂@񧯼k;Ղ@'A;ӂ@V(;ڂ@Ա»;J@,y;@;@;,@@;2@訯ϣ;7Ђ@K;6Ȃ@坯۱;̂@~ ;D؂@S ;X@^*;*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?,F>&4TV@z?3>3ɳ{? !>_ x|?%>缧P}?.=D|A}??v=w'@` ~?˫=7/ k~?պ=s<k?C%=1ţ<@?E={zz}?~>n(=+-9|?v(>B<{?3>ӽ591Z{?s<>(ۼui{?iYAxd<`ZAHձ=<[Ajʳ c;\AN (;]A¦Ȳ;^^A˷;o^AEq]|;\Af򺼀O?;ZAe:UWA,{:VAOЇ:MWA]n:ZA nm;\A%(6;*^A+;]Am2;\AKѰ] *>UUU>>UU>>>UU>>? ?UU? ?*?UU5?>T2@5xjw?1gԭ4m}?{JyQz3!&ż?C2k(Ds)=? ݲ<ŲC5N'v?+c5˖t?(2iB50 Rw?c 58<{?G'24ʃ@}?v&W4>j~?tvh:4΀潖_~?O.294ǃ@}?B24f%<|?2q5ʫVOz?Aij/0]A[\AM6ؙAO߶CA鯜L5A*⛻h;!A!+dAb́D5A U&Aý1%Ao1AI6L%APȵƜA ̘>=6ԜAӘ;<>"A%emȝA3A}3*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?4\G=y~?0@6.ľćF>x+g?Ԁ9=lm?)K7iq?Wx)s? qPXѦBu?CX'+/v?b:S/߽i]>r?tS;ƽ">p?Cdн i>s?Z5e%>Gv?&$<~-H=vx?[X޽=7 x?%Rz 켽vH=v?Ⱦd=mt?I)Vջ=q?Ʋ,+:>l?֋@Ҽ56*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?90^6?hA.56U)"=?G34s>+b>'=193>,U|6=9p>+fҠ=ϯ6G>P)C=2T5y> 9(Y>0:χ>)=03"t>[+ˍ=L7=>,D6=9q>6,E<P:>4,wI,E6=9o>e+ސ`=TU8->* = 6"P>,+2;P@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?3>.ѾSD>U?}>a׾Y>pPV?w>T۾t>|V?Z>?E۾x&>V?wH>ؾ>^7U?azE>Ӿ1>JT?~K>@ξ0>(S?Q>Cʾ]>*R?ON>Hʾ>+Q?) L>˾~>sO?S>Ơ˾<>M?X>]̾>/vO? [>u}оv>SS?\>|־މ>W?Ue>cܾ4g>QX?~>ܾ|Q>=W?J>cپ0%B>V?>2Ծ(A>U?&=AbYص1$7*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5??2y6??7*?F2i'@?C')?|dl0|~TA?'?r2A?+'?2H1@?P`(?[UmI3?K+?M 2 Q'2G??$*?<Bp3p6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?Cf0۽͊>$=.h1Fd>2=!h ~>6 m=h[$̇>F`2=g2?>Q=4gVg#">-p&=vhV>7L=?hP>XW=ުg>X$=9$gi|p>/v<Rej;][>9'<^kd{<6>\<dl<>=>cm2;>\R=aۼc;>=`de>%6=aXd>=!B^&7ζ*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?'K4s>~?_?Wg_@6\1J`?5@Z5Z612y܎\`?B@l̕h0Nv1?@p=e4 78+9Tgz?MYA|>7/V1N|1:{?8AA?5pw2ᓲس]?8AQ?i@6.%9 ?*\?@C1gmz? }j{?Ng!){?"=ۺ7>ߑcL{?j=H/>G{?R=nX'>7*q)|?I)=>Ab|?!=> ⼶|?+6=e2>꼤{?J=_N>Jz?n^= j>Zx?< T>[_y?;=>ġz?L%>Mӽ2{?=+>2{?$û1>1t({?7>M{?;=>z?eAAW'$@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?5 \13Y25?b B8>>'?Ɇ'w68K>|*?dhp;+`=.,?)?7彧<=u'? :i4=R$?E7-:>Ղ$?oK$5,_>˰'?5-W>5+?=7P$7>H,? 9Y >a,?S :~N9P>.,?ҾZ:7>+?;8= )?1;t='?O9>ij;P*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?6k>v?PD@?JyQ>?VLG?ᾄt>>hM?ͩ<6>X>R?=>>FT?/= >Jd>S?=;p>>. P?=1>r{>O$O?/>=V>>ES?t=>=>LY?t=>Q>"]?l_= >eХ>h_?=:><|>`?c=?>Ŧ>^?=t>ܛ>Y?\=Uӆ>=?ujP?s.=P>?MF?i>2?DB?&=A*` 7uH)*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?]Q4/?,:?22@!7?F2?>5>?0*?D1R E??n#?knN3I?k?q1u L??2}DeEL?M?4!3{2BaL?(?i\2sL? r?2<8(M??Y21M??152B N??y .0N?Y?E2*1L??2U/"2fLI??)?S3|g2C?q$?Ӳ!2=?C+?y2 17?2??Bg5y6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?ڛY?`P;3? YC <?HNZW4b=z?50Z}*=?pY -i7=?U^C1=zA ?4Q#k(=?MYnȓ=]?Noش/=S?PXX!> ?bNw4\3>] ?YK7W?>= ?5Ir8XlTE>V ? HnԦB> ?ALxh2>?YSR8t0l>r>HW[|=>'ZJ|=#>!B *==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?T]s=K?Gg_@C@s3mO2U[%0}?.@eqö 1(Ӳmp?B@j671R0dU1@=%g6 6ù9?6N-p?MYA|>T7>^F0h%1X?8Ah26m6`U 1\?8AВ6 P5"\"<XI[? ӵzZ>hB?^># ?B7@@߱\G=wS=#`A=w=cdX=0wI=4W*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?5?<75? ]97;e~ν[k<}z*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?2u>u?X2䗫>1q?5\d0z? #L?S2`a5R??+2@yd?#> e7hdm?g>c=2-k?9>`W)x/f?>k: rZ?z?s2%NF?d!?ݜ5?;M?ߖ1m\v>h?L.>v?E2F2޽>+q?@^|?W K?QrԲ?pQ?O9v1am>b?0NՈB>u?jvB:F´*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?XOv+,{?WʽT; +=T~?O<}?j8ҁ=L}?Oѽf.wfy}?ĕPQ}?jາYýҡ=C ~?H J =E!~?Ӽ[r;;c?fDHX8?{z/y&nj=W~?rdY3j?߼V~?/DVzX$n~?J]玽xr?sgOþ̴k?݄TXоi?)ۇHBۺm?}BFj5c*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?.v2FZx?)G3|p2jH G?x2PL3 3o6?731 A54?l21$38n1?32; .?#R2x@(?ח2\?k)?ix#D3h?\*?δ(U>>$L+? 22<-?29W"3;.? $ N381?023F6:v3?t2|355?jiAΨ3R4:5?xi%2263?´N15S&4?AA 6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?ز@i2CA!%STGƏ y;<>x*ƻ43"?Er%D; T;A;h#^ۥ,ܾcA=Ƣ>yEJi==e)7b]1* ==AX'"*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?2pE?6N"?I1`4?ŕM?dY1'$>4k?aQ yW2*u>x?2sv2ټ>#o?;2Z l?RM?˔w2?wM?)1ʲ"?t\?:4 k 3B>q?/Ϊ;1>t? !1{2>o?ׇͲR2 ?.,J?Y2}3P?\ ?LRFmcf?>9>I41.c7dk?C>ʲ"l?>1!߲{]i?> z<2Z?ϸ?hvB6Ŵ*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?&(=GeOWg8?}*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?*ץx255?8Q954?T21m5 4?~A׷5^Q4?OS29 364? %D363?W'VCa:9}k0?R:A߲[594?/Z8m1? [_,>.(O.3;DK?7r 36?~PC4,5? ;TC}1-6W3?@4)G=<-?/1mrU.A'?19>Q+?pdd9:0?AAQ 3*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?-#3x0(%?CA 56N @?0  !"#$%&'()*+,-./0p=N=+=? w=u=6z-3;?=:U=.0>9?=> =36?Lp==?5&3?=}=a81?~==:.?"==Og<\,?=8==+?sN=p==+?=6==+?"==Og<\,?~==:.?=}=a81?Lp==?5&3?=; =36?=7U=.0>9? w=u=8z-1;?h ?@F Cr2z@C.Hl@t-CRX_@ۉC_-T@. CDQ@"BBXY@սBK(l@jCIJd}@-C/?@ CN?~@"Cخ0@o@+Cjhp@^@6C@O@[ C@I@MGBhˈ@P@BC*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?>?? ???>.>G?G?D>/D>F?R?>>??C>C>? ?M@>d@>W?c?h>~>??Э>>??3>3>>?? ?>>?ã? > >b?b?ӯ>>??6>6>??4@>J@> ??>>??|>|>??Q>i>`?m?>3Ȩ6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?´=U*52}?< 0C}?:6߲AKi?axAJ??A3BJ?~&AJ_C?MAWJ]}?sAJ6?ԇA|Ka6?*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?TP> < cz?|>>C<;D',{?Qn*>< 缜B|?=>U<%}?>=i<38|?_>.^M}?>.ܻy}?2> #=܅}?>g}=}?>lH=|?(>Ex;*ݼgy{?j@3km<ނ@<ׂ@X;Ђ@u;ʂ@@FR;Ƃ@[\7;~ł@ӂ@qTw;P‚@̮g;k@c;@'9;"ʂ@c ;!؂@<*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?G>T7<S"Qӻߢ|?>nb\}?v=-;}?%=m I'p~?ګ=YBi-'~?=b<ݼd?f"=Oǩ6=@k|?3n'>P<;JL{?<\=>{?VAc];6WAS=:mTA:8SAD8q:xTA𾼼۟:)WAzc;YAeY;R[Aiȴ ;ZAⲼWQ;YAn0*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?E0P5xjw?^̷"4m}?x3K3"&ż?|ʱ2شLs)=?n³Cj~?($1N4р潖_~?fɱa4˃?}? 24e%<|?H<$5ʫVOz?~AR5bA%G&VA>ڽ5ϙAQ:6?A_Ч5AA(34#A)\t4iADZE5Adžb3$AJ.4A ō*A 5#A N5ќAo͘МAm㘻{õ A@ɝAiA펻2x*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?=鱅꘴H=y~?~0@ Sl8=4>y_h?<8soD==o?gѓVJr?u:ft?{rP` w?\o42y?1E:>V(< {?>kj]F=lFz?:> Kw?;K<0Y>u?HV0^t<x<>w?th+(;=+z?9Ф;Lqg=S{?eW[<{*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?_.<0x?iAS6"5'>+5W>1+n=:7>4,Fɻ+)=8=H+NMg=UA {+ZQi=o;+,Xk'>35\>0*&4>_39ts>'>5h'X>|7*=9| >l+{}=B;=Y+W=?;=L+<[=c;^=l+}=B;=*N=9>@})=83>9;U;P@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?E΢WY->L=?YH J>6@?ujI/g>D?X\6}>iG?/ e>s|G?#> 9D? \>=?Kžg>7?6Aƾy"ྛ>C4?I߾ >3?ݾ>7?>ʢM=۾y>f>*XB?3C從>OE?/>A?3-B >$F:?X5̆>o6?"1DZ>3#:?)=A@4e*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?"^22ف,?&=?#OOG3K*?>?o22(?U@?+!q&?ށB?%13$"?F?12=?2"2 ?V?!63$?T?-z(<0?I?@B G5CD5*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?JyL>=Eƽ%B;{>>>|Q>·Zʻ>| >):o{ˍ3>檽y 9н=Q۽3=ew MH>}ݱP>WyI>xz*>x4#>n]+>@Tx.D>ݻ>_we>}O:+=Bv.>Qֻv=&tH>*ʼ=rpZ>Շ+e=p>o>-b=?rtN8>)m=!B#_7mۚ6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?'K8s>?c?g_@Cg.`?4@@r5'r 2V2y܎[`?B@]bQ/M2?@whbA69[Tgz?LYAu}>X70]::{?8A) 62)Þ12׳]?8Asw@NЖ1"׋1|1?[?H5Ѧ%n>諻|?6 >pP :}?m >;;@ }?'kZ >E<6}?v|Y1=~;5}?/=ޭк#}?0렽"= ~?/=y)~?ŋ= )G}?ՑJk<>|;}?1>xe<5{?F->8r|?Ї>KNQ}?*=D,}?!4=݉o}?Z=ߓ༭S}?!h=1}?맽>f O^ }?eA5W'^$@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?5C05?b B9>>?g #?zpAq=$?TDj<-$?&c<}Cm+Ӣ$?Xɻ!C!Y#?RpC<F"?߽ Cy=?ǰ.A.>L?Z>=A>F?kBY;f>Nn ?n.<*]>#?->S>:>1$?+$I'?7 >d$?;s?>$?\Z@ >#?H&B=!?B=yH ?\\2@i>Yx;P*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?&>昴>!>&O?>Ȝ>>hN?#z>>>eM?@v>>>pL?x>>>K? ņ>z>.>J?>>;׏>GI?%>Ю>fv>J?ɾ>!>@>Q?*>>b>eY? >h>b"!>R\?k}>f >>A>]?>>8 q>w\?>Q>>>Z?>>ҫ>U?`4>z>l>~P?>;l>J>$&L?3>q>)>@IM?'=Ah5`B*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?zp27?>2?xA:w̲3?6?2t/?>$:?nM25an/,?!q=?c3bw2y*?>?\Sn畳Vf+?%'>?2K*d.?:?U5/Z:5?}4?a2#C?%?<2 ;>N?%?:R2 9̱L?c?»M*H?ŗ?w135B?&?pM3=?+?B-<*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?7M_쏻ywo?ɳMi}<]l=?$"MaO= =Z?Kz=Iޞ=z?~I8=ٚ=?U8E˜=g=Go?@ "M=G=&?=F>ghE=W ?N gӽ ?L*.c`(> ?N= > ?O?F<=܉ ?P 6K<ħ ?ǞP׽c?!Bz6h/6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?Tbs=??Bg_@C@K*XW[%0}?-@T]۵h%6?22lp?B@"6q6Ɛ 2FlT@ڴùy9@6M-p?KYA|>77>Ȯ2%!2X?8AԵ0\ ȓs%"\?8Ap M7>^0[?T5>iB?^># ?B7@z@"${-=OGgya=-pw<ß=chͽcJw&g=LV!.Uw=uH[ s*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?5?(15? 8T6;e~ν[l<} zƽ*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?7 7P>u?1ڧӗ>1q?:L 2z?##L?hk5R??h`Y2@yd?#> e7hdm?g>2R<3,k?;>cB2<2rZ?z?s2%NF?d!?D ?;M?ߖ1m\v>h?72 >v?osa&2ƽ>!+q?DӲ0TP}?X K?4y;2=?qQ?O9v1am>b?0NՈB>u?jvB 5l*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?VOv+,{?[ʽ;~+=T~?Oi<}?j3ҁL}?ѽ!wLy}?ĕPQ}?:غ0ýW=? ~?O > =E!~?Ӽq;-c?fDHX8?|z/y&nj=W~?rdY3j?߼瀃V~?/DUzXÙn~?J]玽xr?sgOþ̴k?݄TXоi?)ۇHBۺm?}Bq[(W6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?.v2FZx?)G3|p2jH G?x2PL3 3o6?731 A54?;)3"Ų8n1?32; .?#R2x@(?l0P?k)?ix#D3h?\*?δ(U>>$L+? 22<-?29W"3;.? $ N381?023F6:v3?t2|355?jiAΨ3R4:5?xi%2263?´N15S&4?AA_ 6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?ز@i2CAep RSTGƏ yh;<>x*ƻ3"?E]%D; T;@;h#^ۥ,ܾcA=Ƣ>yEJi==e)7b]1* ==AX'"*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?E@ 3E?6N"?#/,Z25?ŕM?T'3$>4k?aQ yW2*u>x?2o2ټ>#o?;2Z l?RM?˔w2?wM?)1ʲ"?t\?c53A>q?bzE=L0>t?6t2>o?Rךi2 ?0,J?Uu3~P?^ ?ah'2lcf?@9>I41.c7dk?C>ʲ"l?>1!߲{]i?>H1w2Z?ϸ?hvB6b6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?$(=IeOWg8?}|?^=_ϼw,*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?*ץx255?8Q954?*t222m5 4?R ׷5^Q4?2 364? %D363?W'VCa:9}k0?R:A߲[594?AP$Z8m1?[_,>:ϑ2;DK?7r 36?~PC4,5? ;TC}1-6W3?@4)G=<-?/1mrU.A'?19>Q+?pdd9:0?AAo3*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?-#3x0(%?CAC986@?0  !"#$%&'()*+,-./0p=N=+=? w=u=6z-3;?=9?=? =36?Lp==?5&3?=}=a81?~==:.?"==Og<\,?=8==+?sN=p==+?=6==+?#==Og<\,?~==:.?=}=a81?Lp==?5&3?=; =36?=7U=.0>9? w=u=8z-1;?h ?@F Cr2z@C.Hl@t-CRX_@ۉC_-T@. CDQ@"BBXY@սBK(l@jCIJd}@-C/?@ CN?~@"Cخ0@o@+Cjhp@^@6C@O@[ C@I@MGBhˈ@P@BC*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?>?? ???>.>G?G?D>.D>F?R?>>??C>C>? ?M@>d@>W?c?h>~>??Э>>??3>3>>?? ?>>?ã? > >b?b?ӯ>>??6>6>??4@>J@> ??>>??|>|>??Q>i>`?m?>>3,6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?=V*52}?< 0B}?36߲AtKi?axAJ??A3BJ?~&AJ_C?MAWJ]}?sAJ6?ԇA|Ka6?*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?ϦQ>Z3<&1x??N?>6eH<½Kz?UW+>־m< {?0=>q<\~d|?><F}?=/G5!нW|?=$GVS^}S}?t=[8۸}?W9>Am88':-}?5(>ѵY|?=>A/+z?@A<@qL<@] ;@F ;ۂ@;؂@Y;ւ@< =;݂@h;n@׮>;@&;@Tj;@!諼Ź;@ ;ӂ@𐯼F.;˂@E𮼪;ς@J(;qۂ@p%3;o@Ҧy<*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?G>T7<S"Yӻߢ|?>Lb\}?v=H;}?%=bm BI'p~?ګ=>o-'~?=Kb<ݼd?h"=sǩ<)C;Ľ?%<3<.N=ͫ?\˱<=#9=|?E&=5=*T6=@k|?0n'>O^;JL{?:\=>뜱{?VA*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?%0+D5xjw?4m}?22E&ż?ע@nr7s)=?`$ճCFưK4Ƀ?}?! 5h%<|?2 5˫VOz?~Ax.__A𐖻. A?1ڙA!L PCA_:A>Z¸5A꺃lA쵙5A(Aȁ-AR4+A,&yA67̜Ap5ҜAgᘻhv$APAC(6Aَ6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?p䲵԰==y~?y0@gnȾ 75>?g?뷾 ;=mtm?Vqp?cg( Zr?vyZt?LN^O P! dw?NȂZ=%x?N.=v?bWZӽ.I>s? W纽p>q?aGĽaU>n!t?9޽1>w?g@=Sx?o]fսxA=6x?^uݵ@<&v?ސL]>=t?iȗU^=rq?nX/>`l?ۋ@65sE5*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?ste br?sA@T5'>+5W>1+n=:7>4,Eɻ,)=8=H+NMg=#A {+KQi=#p;+,zk'>35\>0*&4>_3;ts>'>5g'X>{7*=9} >l+}=B;=Y+W=?;=K+H[=d;_=l+|}=C;=*I=9>?})=83>S4CL;P@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?lj4>f>ZP?<=>L>rGM?H> > H?m*Q>1<>/fB?qS>TmC>e=?G>al|>G8> v??ig">V徛>@?!>j->%??6>.35 >;"?? >b;:>>?Q@>I辌>A? m>2>G? >Oí>M?5=xV4:>R?=Q>oU?v5=34>V?w >0>T?'=AP6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?p$2oT?r?)3\2AM?8?ٕ1D?e$?2Y+9?0?31S/?X:? 1W&?B?#3i\+3], ?yG?lw o?jiK? ز%h?TI?$2ƲXy!?F?5[)2?L?怈*1-?N?@2?K?oFrt%?B?q27?&2?g3Z2/=H??i$3|%%1T?y?#UBʱW? ?ABzf55*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?h u\F->O F&<eUl/>pr<ԩd j:>@!;dX>hxdg %,w>ŻGj㽄X>> l@wH>2ǻuji-M>q;_ i` N >f<iC,2>+;3xiQ%<>9:yTj<1>)UdykZ<">ﱻH lS\2>܍ki>Z7+/ j_7>l;Th v0T>Y<!B'6wC*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?'K6s>~?]?Jg_@:~u2{K1#`?=@{\6+]`x܎\`?B@=[~`x G~5j?@+4R7*9鐭Tgz?MYA|>7h2%x:{?8A6LU,Hg׳]?8Aĺd%6#*51s?[?%x5brEԼW8><{?R";W)>}<t|?bd=D>ʹ<|?=z=kO >\p<|?9=\=Q#=$}?==_Q=8}?+=_=\=9}?M=Mʶ=='}?V=g=ɦ=~n|?P4=u>bŶ=u{?=m3>=;z?*=KC>Z=!h|?ّ<}?dȻ40=o m~?%(=ǚм ~?f >{D}?R>P }?과G)>f9Cj|?eA9W'$@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?5 !B25?b BZ8>>?g #?sqAp=$?«TDj<,$?%c<~Cm+Ӣ$?ɻ!CX#?XpC4<F"?߽ Cy=?İ.A.>L?X>=A>F?nBY;f>On ?m.<*]>#?->S>:>3$?a$I&?> >d$?;s?>$?bY@ >#?H&B=!?B=yH ?\[2@k>ε;P*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?7:>Y#?/?$ID>_?1?ouz>s?C.2?ɐy>?93?>h?p`4?}>d?1/5?)> ?5?nٽq>s?Q8?vȽ=>`?@?AP޵>>EH?T6>>N?I8\>ג>4R?}b>R>PT?>_>AR?S:a>O?"~L?~=߆>I9?}A?=>%?96?(7E>4Z'? W2?'=Aƴ6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?O"?("F?2B!?bF?ݱ3}!?F?TyIJX2/!?F?\Ѳ2 ?FG?Ե26H(3 l?#MH?!kwO ?sI?進12 ?G?h13S .?ü;?l13ȴ9?850?~1_.wy9?s0?,0Ý 36?j4?-pGt2g1?8?- m2y-?;?n43d!,?}=?1Բ4?9H2)??? U3ˡ_2w-&?B??BD6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?"Y{IƽfNZ?ZȽL ?Օ[s˽nʌ$ ?;8\O_ͽP¼>[MV˽}˼?PYib?Uy/;M ?QtVtd? =gu ?U+O@ngm=@ ?Q_bɽ=?!T[YM=%?HVWYQ=>7Y#Z=y>U[)Nh=>4[; ك=RP>!BȪ@3*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?T^s=y?6g_@4@%bW[%0}?'@7 70OW2lp?B@lLi_%=)X>1@>5ùi9@6N-p?LYA}>7>oV2X?8A@Ez/\?8AT7EȨF12[?4X>iB?]># ?B7@@rJkk&>fw=Ot >2`P=DtoR/>Mj=u1>7: =Zu(4>)?'>R/vw6>N >v8>#b=w>2r=x/>B =7y?O=hPCx=my=|WY=xx=^ ;=w=ea=&vJ >=l?=lƪd=fu{O>"lEǥ=&u'> k=#ue >5A&~*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?5?.05? š97;e~ν[k<}zý*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?2u>u?pq1m䗫>1q?'2z?#L?S2`a5R??$0?yd?%> e7hdm?g>*3ge3-k?:>i3(3f?>02!3rZ?z?s2%NF?d!? 2:?;M?Ҟ/#*v>h?*w*!>v?RqP/2ٽ>+q?2&긲}?W K?02?oQ?O9v1am>b?0NՈB>u?jvB:F´*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?TOv+,{?Tʽk;+=T~?OW<}?j8ҁ=L}?ѽwMy}?ĕPQ}?9غ/ýR=? ~?= @ =E!~?Ӽq;-c?fDHX8?xz/*y&nj=W~?pdJ3j?߼V~?/DWzXLn~?J]玽xr?sgOþ˴k?݄TXоi?)ۇHBۺm?}Bش\*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?%2Ο1FZx?)G3|p2jH G?x2PL3 3o6?731 A54?l21$38n1?32; .?#R2x@(?l0P?k)?}1a3i?\*?δ(U>>$L+? 22<-?29W"3;.? $ N381?023F6:v3?t2|355?jiAΨ3R4:5?xi%2263?´N15S&4?AAĝ5*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?a2 /p(۱CAд1i4STGƏ y;<>x*ƻ3"?E%D; T;2;h#^ۥ,ܾcA=Ƣ>yEJi==e)7b]1* ==AX'"*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?2=2E?6N"?0Ȳ5?ŕM?dY1'$>4k?>|<*u>x?2sv2ټ>#o?;2Z l?RM?wƯ2?wM?)1ʲ"?t\?:4 k 3B>q?'3Γ1>t?@1>o?N2 ?+,J?E Y1P?[ ?ah'2lcf?@9>I41.c7dk?C>ʲ"l?>1!߲{]i?> 2Z?ϸ?hvB6Ŵ*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?+(=HeMWg8?}*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?aV255?/[Q954?nE 37Ȭ1m5 4?~A׷5^Q4?z۟23364? %D363?W'VCa:9}k0?R:A߲[594?/Z8m1?hQ/[_,>.(O.3;DK?OR1EҲ36?~PC4,5? ;TC}1-6W3?@4)G=<-?/1mrU.A'?19>Q+?pdd9:0?AA6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?-#3x0(%?CA@.6(d@?0  !"#$%&'()*+,-./0<=xKz?'<=FXz?eY0<d=9fZ8y?9<=vMx?B<=FTw?K<==BωZv?,S<0=Utu?9Y<_=t?8]<=e2t?^<=𖙾t?8]<=e2t?9Y<_=t?,S/? C󐌿?C\ub?*Co@sa?oC%˜~?+ C L?<BNq&?BD^?CpO:?C =&u?i C ?0?CL@>?(CT@@?CR&@#? C@B?s@B&v@t?BG/@y[?C~l?t?c;C*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?>?? ???>,>G?G?D>-D>F?R?>>??C>C>? ?M@>c@>W?c?g>~>??ѭ>>??3>3>>?? ?>>?ã? > >b?b?ү>>??6>6>??5@>J@> ??>>??|>|>??R>i>a?l? >7(3/8*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?˴=W*52}?v< 0A}?&6ܲAKh?bxA KY??A2iJ?|&Ab9J C?MAJJ}?}A>Ky6?ԇAK5?*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?.>- Xl?r> ѽ&o?>'i^>_q?">5$]7gs?/}>#Ku?3>g*!f1oa w?i>4Rfv?|b>LLu?[>uc7>s?$>Rr? >68)Vr?>fͽuȚs?ڡ>/սBt?j>$Ͻvkt?L>d>s?N>Z7K>q?>BWЬVo?@сUm<@4"c<@HX<@M<@B/<@ v2<@(ŭ4*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?u>aҝcw?Zd>&}Jx?ߧR>{v_y?֮@>GuSc=}z?_}.>b/Ep{?3>C E|?n >!μA|?=gX>[}?@=6h~?=̄;$;X?D=sT3j<#ļW}?J)>CV<"^{?aI>8ԛ<)뎽uJz?[> ;Ã!y?Ce>7?Uy?Um>P;ȼx?YAKԧ 0*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?jN45xjw?Fd4m}?2d2&ż?2DFs)=??ZC5 N&v?r3Y5˖t?0=50 Rw?1( 5:<{?-u)3(j4Ƀ?}?l284>j~?1f<4݀潖_~?͵4˃?}?L0:4f%<|? 4~ 5˫VOz?|A6\A-YlV6!A3љAc9V AAAɂ9YA%̛`kAmΗ 6hAxh%Q+5AmeƵ'AlA(n66A=!$Auv6ٜA#ќA#טC6Av5ĝAgEǽD6Auԓ*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?. X3_A=y~?t0@?v_Pc21>Ev?*ný=z?lE66F{?)YZؽE0{?v*- BfM|?``-鼼}? o;Q \ 5=i}?n:8={?n5.=>x?#d>+v? +FL>!w?<^,K >?y?{;@={?[dsP^=L}?3cͽo=~?d=U}?#h=`|? &φ >y?@4(D*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?C 08ر?gAC]n6h5s+=xk/~k>ڄ,eփ6gF>1+P誽x;,q=Cn){e},ZV &7 <>N,خ =9p3 o>6L+v*=.#>* C=,,>rl+=Q/>g,<|-4f>f},OV &7<>g,˼70>j,püc71>f},UV &7!<>,. (.,#-=2x>#!M;P@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?_rHa>]AV?r ֌cZ>3R?b6$>N?6(  >ɺJ?%O2ͽ>#F?Z4_7> WC?L//%>??(ܾ2>D?}Ⱦ?>@?׽'rľF!?Sc??ž ?U ??8^˾ć???KԾ>YB?_@ j>@E?p_>9>J?bC>O?ƴֽӘu>S?#=AL6$7*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?KҲv9?Sv0?粱H/S1?l8?h2 )?>@?Ryޕn!?fF?.2Yw2?L?Iޯ"&3e ?%U?b 2 >^?{8: >?d?h71&3N>ZR_?2'X?Z?v3kZ>k`?A3G2U>dzf?263>>͇j?a61SX6>;j?9d>d?Ⴑ2 ?W?Q0w?AG?a?/?:?BB,t.6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?f@e8>yнgV:"$׽%jt<݄>dh׽kOV=/>Ūν;lkT=,>4T7lh=>WiL>O:>g'">>HRg== >՛>f =;>Nc'=2>0a>>\b_?>>sJ_CE>}>[`a>>񃫽 dؤ=>`e~e<>LVe)6>!BI53*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?'K6s>~?h? g_@? EE`?/@؋5B2Uw܎[`?B@!5xa7x;ీX0k2?@CTR*9Tgz?NYA*}>Ȑ7372N:{?8Ak6Q5ZвúP׳]?8A<\yxOzůG8130?[?̱5}%d61imz?j{?Pg!){?)=ۺ7>ّcL{?j=G/>G{?R=kX'>6*q)|?F)=>=b|?!=>⼶|?46=e2>꼤{?J=`N>Jz?m^= j>Zx?< T>^_y?;=>ġz?K%>Mӽ2{?=+>2{?$û1>.t({?b7>P{?;=>z?eA6W'$@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?5 1 25?b B:>_>8 ?*XB/jW>% ?J>dD[=%?=zB#hՂ$?oK$5,_>˰'?5-W>5+?97O$7>H,?m !9Y >a,?U :~N9P>,?\¼93#>S,?!b:.= )?1;x=O!?Y>`>6fK;P*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?c>J>Df>\Q?y>O>b?>WQ? >.>>|P?>>il=JTN?Ҟ>t?=K?>f?=J?>I}?ly==I?$>a?rz=qJ?f>]?3#8=4M?S>x>o=iP?&>>=S?φ>>LX=V?c><>=Y?>E_>K=?]\?>%>CQ$>\?>>dr_>EY?gތ>>Ʌ>U?F^>D>&> S?%=A  6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?;2bD?9$?@2<²'D?x#?ܲ~^XBjE?"?1]=3DE?j"?ˏP~3^E?r #?22:B?%&?Բck2#??U*?%12l>?+?J[3G?g ?ઔ3-MO?w4?T?M?`?B2DI?`?9d2( 3K,E?uF#?DܲrA?F'?g2@?n;(? PkA?'?F23bB?&?Y2pDC?%?>B 6MIض*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?s:IʽS>'?h9i>?J8B>?6{'|>^?15f?3<>}l ?Z 3oYC ?=2x&>$ ?1U.>`o?I1? >;?/0.LM?°>{@0?a%x??>G?6>*q>/>_>3O&n>>C?^>M>@}>ǔ?!Br*< *==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?TZs=W?>g_@P@X؍2V[%0}?-@SPP$4ҭ=0mp?B@P9{/ϱ32@/56[ù9@6N-p?MYA|>7>0~1YX?8Ao{B4>7Eu0\?8A>c4o0Jl12 L[?Z9~;>iB?^># ?B7@@emۈvT=ElqE ul=lux\u( =OewWx=)[(wxm=W+4npya=0\@zĮT=?V5?7y< D8="yW;&H*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?5? +2[25? K:=;e~ν[k<} z<|}佦Խ:wý  _ooĽ(վIdeԽbM684١3@|۽6dAۜ&ʼnfz^HkxU=m+Yc6v=@[Ծ"gϖB=UuS<˽}L; _@{AT>y@pAYP@oA@YA@A9ү@֟AJᳵ@+ސAD@\AQ)d@7A|}@JA\yų@AMtc@A!p@Afnߵ@aAWCn@AqY@ A yI@"ڈA@܊A*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?k =43>u?H2xm䗫>1q?]_3m 2z?#L?տ(5R??!ұ?yd?'>fNdn:hdm?h>3 2Wܲ-k?8>1%2f?>{cs2rZ?z?ᱣNF?d!?L*2wx?;M?ug9v>h?` g>v?1ڽ>+q? 3逶2}?W K?et2HͲ?mQ?e12`m>b?t!F2B>u?mvB$Zw6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?=Ov+,{?Rʽp;*+=T~?_P<}?j:ҁ5L}?ѽuwey}?ĕO{P}?:;غ.ýS=? ~?& E =E!~?{Ӽq;-c?DHX8?z/)y&nj=W~?sd3j?߼V~?DXn~?J]玽xr?sgOþȴk?݄TXоi?-ۇBۺm?}Bj*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@2 &ɲFZw?F1:2jH G?w2y 3o6?rIR3u0 A54?QMR28n1?6u0x0; .?l2q3x@(?˓2մ?k)?03i?\*?2k2>>$L+?x2JE<-?D32;.?s3y281?T,1F69v3?3&55?I&Ph0S4:5?^2i263??325S&4?AA *==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?ȱd:ÝCAh.5STGƏ ѱy;<>x*bƻ 4">Ep%D; T;J;h#^ۥ+ܾcA=Ǣ>yEJi==d)7c]1/ ==AX'"*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?Ç5aE?6N"?[yӲ5?ŕM?|{$>4k?L󁲫*u>x?Y3xY2ټ>#o?d2_dk?RM?Yk1?wM?ᘕ2"?t\?$,L>q?ϡ1r10>t?۬Z2>o?ֺ#~1 ?&,J?P?U ?ٹ3}@26dk?C>]A$0E2l?>_?]i?>KL2Z?θ?jvB6U*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?.(=eOWg8?}|?g =l-мT,*>UUU>>UU>>>UU>>? ?UU? ?*?UU5? ~55?ae(Q954?Ϛm,Btm5 4?S2׷5^Q4?Q]$264?]{7D363?%_C99~k0?;0KZ594?A# Z8m1?l(2[_,> :DK?jvvV136?5\ KC4,5?T0:-6W3?ïܲ32><-?1dA2V.A'?qGj9>Q+?Y߱?39:0?AA۵*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?y`11?CAɵH{5@?0  !"#$%&'()*+,-./0H$ptt?BG%lt?{&*dbv?⋾4&&Xw?N'eM x?dyg(@Dtx? jT)$x;y?Z9^o)c4;6z?Ty)/bz?CM)P.Fz?EJx)/bz?CMq)^4;6z?TT) x;y?]9^g(7Dtx? j'WM x?dy5&&Xw?N&dbv?⋾G%lt?{v?^? C1ۄ?CHoӿ?+Cs=4Y?Cn{?, C'h?bBl'?!B ?CLI?CLi?Z?{ C@5?CCJ@T?)CD/@l?CT@? C}@?BB`@Z? BĂe@?Cj @?u<C*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?>?? ???>->G?G?D>/D>F?S?>>??C>C>? ?M@>b@>V?c?h>>??ѭ>>??3>3>>?? ?>>?ã? > >b?b?ү>>??6>6>??5@>L@> ??>>??|>|>??R>h>`?l?> Ti7*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?=V*52}?|ٲAKei?exA9K??AX{J?z&AB*JvC?MAL}J}?rAFK6? ԇA K6?*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?z>{?|>kE z?h!>Hݼ%y?r(T)>3Lx?82.>S<>w?ˈE0>U<{-w?VOd->=v?em<Rw? P[>T-1x?qJ=#qy?!\D D={Ly??EŴ=Լ_z?9e=S<Qz?$2=|=y?c)4>=Uy?F"$>=y?A#3>ס¼D&{?@*뮼֔4@H=@"eʻڂ@X5jՂ@wWт@Mz ς@SGӂ@Ϣ܂@{3P@yz@Gނ@d΂@),@⨼U亂@u@*}͂@ӭauλނ@L'Mk*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?*'<*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?l<lv?**>UUU>>UU>>>UU>>? ?UU? ?*?UU5?V1=g~?0@FБѴJy>>:>t.o?CY>D=|v?*!2A>ーy? = &m{?& =0d|?ؽ='^<}?{˽s=|=|?st=)>}z? h$={d>x?34*=Kzt>1w?i&=A>y?It={W=|?y~=`=C~?~Mp= =}?~R=<|?k0-=h=l{?J*-=o=x?c>"(>t?鋼@0n綅5*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?ZE&0JLy?iA965^ e`>"M>m[Z> Q|=L]dz= R׾ļb օ<4[Q9 %=BQ=Edا=4R,MX>cLQǬU=S D6> O=< Be>qL>s z>1K2>q a>%M> ,Oc=MX>cLQŬU=a=Qܼ!=VK= QX&=NX>cLQU= >P];= ?>OI=%;@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?]7ș>T?ݴ9>R?As{O?>hN?i儛=>TJ?\xd鎾?yE?3cin ?3A?jvXw*?Q>?qUx?i?>{V?AO?ی5>U?O">>&X?ug>AW?xା>V?%=A6s*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?NC31=?,?벃2j$2?7?DsȰ2%?AC?s@?RM?쐲&#?T?+2e ?.X?ׅ/1j' ?;V?6m32 ?%U? Ow2B?Y)T?Zg ۳I2s(?T?y2WM?X?~_ ?tDW? R`P3?O?#2R2'3%?7C?iY/7?-2?@;||E?n"?2Y;2 L?}?P%2b-{F?/!?AB6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?xvݫ<*g>dtjxK=Ol>Gw)=_q>]v6=]v>ùu>ķ{>Htqs#>6>Wل>ǰ<=tr ->f>3=Pq 3>>=vp:>d>Z=MpF>:m>mg=glp:>!ܒ>J=r2>˓>5=sX=u> =[uC =܏>=fvl#Rd>x;xTIBs>!BP2w66*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?'K7s>~?b?ng_@B1 s0`?3@< 6Ҭ?S;21 2x܎\`?B@X-N7<)1V1OS?@`*9חTgz?NYA|>d7 3Ar:{?8AZԶ**6i1Tc׳]?8ABX4X/l{} ?[? 5rR˽#r6>NTz?o 9>˻;z?;>~0=z?6sHH5>/.=]e{?:, ->,=j{?$>+=G|?v<>:)=|? h*8>.= {?qPS>3=s4z?(f)9=$x?:_wV>զx4{{?Rsa#>ŀkD|?xy;'>Yռ%{?%ih+>tӺ;{?u.>󟼮Z{?Ĵ2>nz?eA9W'b$@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?5u1@<5?b B8>>u4a2>$)?y\+8= .? 9:_<<0?u˦92x4/?{=9Jm9` 0?<89]xQ="0?o7F=w?/?9-05N#>;-?20><|*?գM13>'?r 5C>Q9(?jg)r8K|j=(*? AO9H޷W^+?W&e9c+?C9*;g,? d8z=.?콊6F=N.?1lZ5 >},?a%Ȕ?с;*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?>z>z^>76N?*h>G>>>)L?F>v ?q>oLI?'>?_>)WF?X>)?K>JHD?r>>?2>ղD?\4>t?\>ݛF?u1V>Yq?=H?8p>?9=qTG?> ?_l==F?> >?m=H?m|>1 ?̺k=85J? z> ?=PuK?1>?}E=XL?##>]!?N7/>'K?ZP>>6m>JI?>tB>W>H?>>*m>K?'=AO_Fӛ*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?]|3~2h7?_2?/ֳ1|](5?4?)22:?/?2Ͳ/NDC?ڌ%?M2E ^J??\#!@s>L?V?/&ȰCK?~?> 2M)0K??q+Z2I??]?3x7H??@2ߦ#_EI?12?9Ѳ2L2hL??K22*Q??ׁ-24S??PE ]41fO??AB5_8*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?y-:輻z>1Z1?/H+-><$>3?(c=̂>k4?%h=cЄ>5?7#=Ņ>(6?`"4=Ń>8?}""=>>:?!o9*><;?:}ün>.;?H7)>6,:?pB<ݛ>p6?_ "YYܭ>$2?"Ӫzm>B.?s$n閽]T>+?w%JNнI>+?& JǠ>!s-?( >/?*ͽ>jx0?!B&87]H6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?TTs=W?Fg_@X@jϑY[%0}?-@Ƕȶ20lp?B@j(6oϱ(n2@Q 6 6ù9@6N-p?MYA|>7> {Q1X?8A?@66U7דۍ\?8AWl㶎فdWb[?n5>iB?^># ?B7@@ kPǽiwq==kyTo=Z{@l=: j'zZy=%u#y p=?0'N x=;46Qvh]=-*#*hhx`7=y6HsH=m+Yc2v=E[Ծ!gϖB=UuS<˽}P;_@{ATMy@pAYP@oA@YA@A?ү@ԟA|Jڳ@-ސAD@\AM)]@7A|}@JA\yγ@ABtb@Ap@Afn ߵ@aADCn@AqY@ A yI@"ڈAk@܊A*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?G,x3>u?H2]k◫>1q?:P1z?#L?i}95R??,Q 3?yd?%>3pI1hdm?j>'3-k?9>ݧf?>712Gu3rZ?z?ɞ<1ç1NF?d!?V2We2?h?kZ3>v?tT>+q?%|?X K?2*"?iQ?C \ð`m>b?62B>u?kvB?l2L5*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?Nv+,{?Veʽ|<#=[~?$$db'<}?vj?ҁ&L}?ֽѽ闽\wy}?"ĕW{P}?8غ-ýO=@ ~?g G =E!~?ӼLq;-c?cDHX8?|z/*y&nj=W~?dX3j?߼뀃V~?/DezX7n~?J]玽xr?s7gOþƴk?݄TXоi?-ۇBۺm?}B/zZ)6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?c`22FZw?'3t0jH G?G3?3 3o6?Ա~2 A54?c2v߫8n1?a3lf2; .?'f3x@(?!1o-?k)?K!h?\*?h212>>$L+?CA<-?=3v;.?*81? f@F6:v3?l 155?̂d1a2R4:5?JyxC263?Z{3nU5S&4?AA(q6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?2 =0^1CA/QSTGƏ y;<>x*hƻH4">E &D;- T6;;h#^ۥ,ܾcA=Ȣ>yEJi==d)7c]19 ==AW'"*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?o23E?7N"?Jd115?ŕM?_$>4k?)Ͳąf*u>x?OH22ڼ>#o?D$xl?RM?2h7?wM?Rzu;"?t\?F3EL>q? 2Oα0>t?13Zʲ>o?Vf² 3 ?&,J?2ҲP?I ?Kw+43lcf?@9>62o7dk?C>Sܶ2+l?>NB22]i?>Yz1bh3Z?θ?ivBEZ4*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5? (=&eHWg8?}TӾsh?SQe=;`ɾ(j?<l=:>|?j =U-мT,*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?2Q 55?%Q954?,ˆm5 4?԰5׷5^Q4?cW64?{R1D363?]H+0:9}k0?뎹2[594?Y.ܲɂ2Z8m1?F[_,>C`1:DK? 336?Pk1D4,5?2\^}-6W3?6Ͳυ ><-?-W02U.A'?%1[9>Q+? 23r9:0?AADNӵ*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?C o0?CAl:,4@?0  !"#$%&'()*+,-./02nS#OB?bޤ'>?n˩,;:?Qᮽ] 2I5?MԳ7Y30?;k^;D+?ݣBW?&?WQJCB5#?BD ?'z`wE?BD ?WQJCB5#?ݣBW?&?;k^;D+?MԳ7Y30?Rᮽ] 2I5?m˩,;:?bޤ '>?K<]?e;CK<]?\CK<]?}CK<]?w CK<]? CK<]?CK<]?5CK<]?LrCK<]? )CK<]?6CK<]?CK<]?CK<]??.CK<]? CK<]?f CK<]?CK<]?#CK<]?!C*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5? L@c@``ttlwjii@@poon򾄯SS([?["!!RSG" T" !!([?["n򾄯SSpoojii@@lwtt``>D$*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?aU Z?Ccn?_M4(?ڷSh[?:tS@cAGSV@eAL S$ @kASW@PφA`S @0AÛSH?댇ATSP[?͇ASEx?A&S༓ɇAuSՀ(A?SM\*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?>>~vA= U|?=z=PM^=}?3={=Z~?<6kҊ=B?b*;%9Γ=T?,G<=?<=~?½k=$=}?Y8==yF}?hLG==d|?\A:==;}?N8D==~?OhxvP<5=#~?@<3I=;??XH;ɀ=i?*#= =??=*Uil=߭~?F=TCV= }?_@^;;@ϯ,;@#wN;@dCѹ:ڴ@_E #@tײκ?@*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?k=<~?`= <']y?;rx?UƠ;|x?kWIQ;X=px?.ǺB@<Ucz?'PRZ<g9ɾ{?KA<,qI|?2)*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?_ɎV=i?"9P=3<?w+==?[9R)<"u=xz?j4: <]=6_?T:0x܍w=?X:Ҹ[ =?ՀI:v¼m`*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?V!+¼K<?\莼펏Ѷ?펼h,R? n < }?5 *>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@05?gA*7(='4׳z>O7(=pX7eaf>;'' !=?;EL=>1&=S'=l5>`6%)=r=;> $c=@=,L>$"=<=_>v!=;o>^!h='f;v3w>!c=;9n>| #}=_$jH=Q=D>p%l$=b=vN;>A&65.=T<*@>+&cN=:_K>''8z=?83[>Q"(' =&6.l>??;=q@ ?"<`@<>XB<@0>C<@cp>-ޓ;z@{>9i.@>7>G+%J>@,=ɂ'H@=Ð ;L@n=9C;cN@)=&+I;'M@ I>堇9G@F>\E:<;@R>+.; )@><@1>ZI<@ >H<@' ?*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?o>l']<9>,9?=ي%CJ>n:?v=#0_><;?=6!:v>;?1= >=?0U_=P6>Zq?? B=d>iA?`= >ī>D?=>*E?m=Bed>ND?W߫=6ù>C?=i >FB?-wn=>i[@?jT=`ي>p>?0N=:~>2=?Eg=Yt#j>T;?w=(&X>>":?= '#IG>9?$=Af1}Mn7*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?;2c1F>2^?ɼ3>h{`?1I0|>}b?q0v2>e?83>g?Mh2U'x>^i?w`>i?)27Lg>2f?$3o>c?/2PZ2C>,Pc?蝟r}>c?2!k>;Uc?[G20>dc?>?X2>'c?Fe2>Me?܋Z3M.>ɗg?w$392r*>h?o* 1l'n2;>&d?DB964*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?zhuI=>gqG]he1W>Endhb@>eʃX>fn|f>Fg>[>WsfK5:$>lE7>dtʞ>b;9>?c8n}=>çjek.3Z>;.h څ5>1_ tj\<;>IkL=8>I m=>1tl=>A*Dk+m=ʷ>!BsbfN"6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?EЭ=?e?+g_@;Ӗ22csߩx?4@>mY.0㣲-1\|?B@kN5|141e?@ A9Wzs?KYA}>7V荱>*3?оi?8Ax7 7.C ?8A@W 7.C ?[? P!4r6Z@18>-H)v??:[3>e}Gv?hz?.>w? DG]>t?:I>'pмq?e#u{>)MA#xt?9j>l3v?r;Y>u"x?"0Zk>jw?#|>yƼ\w?><v?c>,=[t?ɽ>H`;v?Kls>d+qv?#d>v?\W" V>/Q0v?j1=G>v?eA:W'$@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?5Y2g5?b BW9>o>L'?5ko>)? 58c>֢+?8~s54|V>q,?G !5N>+?~wTZ6U>{)?W36di>(?>+?XVű0u> S.?ۼdd+S>o0?,N(>0?!)A>70?Ѓ/,֊>2/?G,p/M}>.?T8R'2m>'-?Ma3og>+?-Dk44e>*? p5cf>y(?mz5)k>v;>q> _c@>0ž ~p§;z{"<.;7tE, ,-<#HXM;L7;eNl̟;$MGP<GFJ<<;ƸW; )ʺ+81Ͼ 3w&- 9I*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5? ? J>,?W!?>z-?> x*?z>,?=m0?Лd>o5,?r0?o6>y/?F.?\ >V2?,?.? ->23?uGU1?t==]/?0`4??=)?mJ6? x=&?~c5?G=>(?F_3?=W,?#J# 0?z >)1?u3,?$>5?5ֽ|'?SP>O8?[ʪ!?`>9?J?L>&8?}?A1>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?7/؏@j>k?2g1>h?{2Ho>oe?K2>0b?831'>^?1u*3;?&Z? ݲAײ ?2W?Xù203?S?p2? ?P?$ʲ7L?QiU_?L/3y>d?؜$2mJ2>׬h??BB8hB~*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?GA52y=5%?y9"WV=c-?1ؽ= 6?*OC=c;?p(cĽ5=0>?(b=mf>?)‚]=+>?!}'2IIw=??E%cq=@?$/<@?R%)-<@?'K ҽJyz<3@?B)3!O

?]n,*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?g;?>> ?_?Cg_@5@H31誾Pq?7@6# $<>7>@.0ّ1Oy?8AR5Ctp6_*@|-0./?8Al05U41-[?NM5*5>iB?^># ?/A R@Z~A%uK= svE3cwcܵ=\bd1xC=E)azq=X&/2'{g3=Z/,g{<&<O3ӽҎ|^<|2ME}[ dp|IE='ҁ`b{78~yܤмID"zw.hZ/wm2<jýw+=0zulw@=3A&~*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?5?}"25? ¸8BC ]>=ɿup*RR>q7TA >TlS˲!Dף>shpߢ>PosLW=xI\ =+| 5x?ZY-o1m;Uky <7ȾiTؽ_;KӾ h(Ǐվmf BPMu) :W@XAGR@AČP?Aȇ?dA1?Aj{?ċAZr?dA8kxO?zA*Af"?A[df?rAf?Ak ?zAX5rc?dA.zD?ċAT}?Ai8l?dAo~a?A @A*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?o21aE?#?o3ȲB?&?}2z~6?D3?õk)3 ?W? ;1 >=Vr?{{1p> u?hz>l?,22I ?W?6 W?Hk?P2B3>o?V2/О>_s?Kh36> u?bCV3w3>io?2j3>5`?J1ecw-?E;? 83:?U/?Au|P@?(?kvBj *==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?ƴw]=or?"pp t?m5mFU#s?=Mo]*E2v?Ye;jl<@v?]ƽu& )v?5l>qOKi?jѦv1p?|?=ϬYy>v?B=0<>q?V=3;(=w}?G-=<}׮=~?l*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?ӱ255?.02;X-?YNP3LB֮&?[M2м2}H#%?ƭ1 3'sN`?Z2YѲ_8>/)3xnH3v:(h/?Zh2c2"980?$0i54?py!3-2_7e2?1ݚ2S;72?d2w2633?e>Q0g63?2f 3I63?M3;*|*63?X2I*3Y5b4?0sU#FR9!?}a2Q31>Z+?AA(O*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?TW2*)CA`6(5 -m=ZNeBl 5="LǾxjH=HRѾeh= qVھrf =Xd"" d-X=㾪fcgV=(=xAm>L=o0=)7u>->iݼvS>m~a>y=t>k>-Z>.#q3>^>5^>Hmq1>C>'`>LKljV>> g>q_>ڌ==xV>JK=KyB><o[q:!> F8ap'?X;y?wP ?|U C?a;?mi?ċO?dի@t:M@=T$@lV@ @u[t?dh)?ċ=|?9?a?|>:yь?*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?I232>an?0nI2>r?RԒ>N?u?Q2}2>bv?l22Y_>ll?Tòu2ޭ ?/W?K2S2v-?F;?PQOɲ5>?H}*?tL2F?;!?/3`I??"벒;ʲFF?_;"?lϲ G1|7?i2?i~~1 +k" ?ߔU?#2v0>Lp?qձ2y>ru?kȲc2|>k p?~1?\?@2_쪳?wZ?ivB=6zn6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?硽z=5=P~?7=$ >{?⬽!5<2>.u?lb;]>p?N:y0=8?d *霽 ?Ao<`D!|?=;\My?H==w |?>%>Y=J+z?->>>sw?\J>3:>۽u?\b> F> v?,Kt>g=Ŗ=8w?F`>fr=xv?W7>p,=di?;===ƥS6p?_{<4e=hEz?}Bs*6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5? ?<A55?2z55?oKYlQʿ?#&Kv$uC+$?1亲55?w۲|<,?OeHwD $?rT2~Kj-?+1tWRO?yLL:Ucl>7ܲN='55?@Q+s55?AA<Ĵ >UU>>>UU>>? ?UU? ?UU5? +欠ۮ?CA*'$=0;-?N?B-fSC>>? ?><&`M̃n?ARY9~=c:x=~?ข@K=b;=r<}>*v?@A\e;M1Uz5 \p?Aeq05h9/p=5~?/@ lvVˎk==ds?Ƌ@^ Tm1|f߯ 1?fAV4Bu De>2;>&&;P@ev >W߾>R?'=Ar-4ZDz.2:??.??B5=V_ﱾ?>M6=!B056#(!=<ո)7;L26þ_l?8A}6}@{;2|x?8A 'zB\7Z1J0*1?\? 2`6 Y=QIg>/=^x?eA?W'$@5'E%25?b B9>>9 ?_,02'<>;M;P->x>>n,d?'=Aa56V].izо<Bvɶ&!mh0w>!Bn<6k6Tms=?7g_@;@1u3U[%0}?$@ 58lp?B@\]Ai0X@h66ù|9?6N-p?OYA|>o7>8. 2X?8A6-Vp2%m\?8A1PɁ?ɯ+[?1S>iB?\># ?3A R@P~AУ1?y"=4A&~5?~粡05? ˜8Towuk?Azss>Dn?ivBʵ5=j=ս |?}B<65k{1E~7355?AA$5 ѱX6'J{3CAEtӵO($\"isd>>2@ 20) >Kq?jvBj6kT:=dSVx?}Bն5u. 255?AA%r&+ )4++?CAbC?0  !"#$%&'()*+,-./0^?w< z^?j%=Zׇծ^?@W=ɼy,^? =f9^?=.:]? =[<|]?̽=Wa*^?=½6ƒ\?@=̄>p ~AS?(=󿫽})H?0jy !Si?躾B a?+ľ 8p ?޾_n2,?z x?.v? +U?., ?AU{ ?cR-K ?)辯z^[ ?[^@AO@XC[^@ĐpAzB[^@Ԋ?HwBRRqLB]Ԋ?5B FP@BKB?D B)”?3yBX@A̲BJRW`BJRWABJRWfIBJRWAJRWzAJRWu&BJRWrAJRW8CAJRWH AJRWAJRWAJRWCAJRWAJRWCAJRWcAJRW=A=>L>>>>>??*?;?L?]?n?????""??33??DD??UU?>?? ?>@E6PD5Y†q?A SU7ܾ؍"mb>_?`yʾHVhxg>c?e ,l?1 &= |>u?"w?t7>?r?f]>~ sn>Km?>56+;>Aq?ـ>!=w?b?>ﴯ;Dmz?=ݳ<%b{?pF=R1=Zy?Q%#8=JJv?̩N=(u?$=x&=|?_hlJ<3=&{?{6=E}?h=6 Rw|?֘{=(oQW~?|Ƚ5=_w= ~?Qd=>{?&6<>3{?C a&<>3{?@|J@Z끂@t Tqzd@Y8Jf{@-ā׻s@Мm8s@T8;V@JC<@-N<1Ă@򝼚0<@KL>>>>>??*?;?L?]?n?????""??33?UU?>%=y*>e?]Z>=7>6El?C.>g<=lz?}1p~=?ge= ==}?>T=>>(x?V>;> a>q?! p>+ >wT>p?x>>m->7r?t}>E=#=Pt?2>=('*=u?>)=tFKu?k؄>t='(t?>|t= >Vr?W>e=x?@><=qbz? >%== M{?#=h9=!>Jz?k=9=>P{?b==h=|?=ρ=@=dn}?=l==c`}?%h>2=RÒ=>w?'h>2=RÒ=>w?FAwl L>>>>>??*?;?L?]?n?????""??33??UU?742U65|x?OA v5X!:뵳 =y?5@7۳ Hɾ54A >v?Ǣ>.8 >k?@&>8Rx?ܽlj =w?bb Sރi?wr Ѽbf?5k:l?CL#l?ڻPv<8g>xw?-н<"b:Q~?gԊ&=N~?+Ik=\~?s7=Vr~? Ɇ=|{~?6=g(R?[=I= H?t0}.> >LE?t>Ŭy>\??ы@(eϧ=>L>>>>>??*?;?L?]?n?????""??33??DD??UU?yh0)1?jAB54lme>BB$ >op;P@'8DWNM?7RᾰT?@["F{ ^?lІif?.XcyPa?'sy:Ǿ;W?TmVG?)YDSB?8]g̾PS?ƽ.|\qm?=*Eah(|?&p>g-a=3s?em>=.y>cX?ao?g>>B?>м~=N5r?>ʱOy?E=>dH;U#p?wč>ۧ=_ofg?ђ>>$>PYh?|g>* >Dv"&s??84>~=wYy?G$>e>\?x?->ag> k?>j>3Gm?>+de>X[i,o?0 >i>D)POq?$=A8ĶP4=>L>>>>>??*?;?L?]?n?????""??33??DD??UU?2(+? N?oC2w1"?E?2+Z-?_ɱP9>q?S2n2y=ʆ?&1懲ؕ>lt?c¹*R2^$?CD?<2Ћ2oN?e?FuGFֲu\N??2x]2$A?g(?b(帲*?\R??JDŽ21m'/?sT? 3V1>U'b? ?2Ic>Ekl?e>ɍ>ohs?Jb 2>.\r?Įa:?OP?VS1I?X?h&2;+@?(?[q3|2 ? HG?^2B>`?,-3{ﱮ>!q?3G>cw?Bsدyd>Zy?B%/*2d>Zy?AB4=>L>>>>>??*?;?L?]?n?????""??33??DD??UU? 3?Ͻ}Ͻ73? 3?ϽϽ73?3?M3ͽyнC2? 3?ϽϽ73?-?罝)̽8?(Q)? pCɽA;?p)&?:8ǽQ>?3?ϽϽ73?K`?¾w?>A->w?>B->!BA6O ???""??33??DD??UU?KCcO=?X?Pg_@?3+a0Z0 %|?.@;7@G0?2+^V=/?B@.ʒ 7dm0<9?@16:59Nay?KYA|>ő7vIw2 ֽ~?8A<5O78/1s02M1?8AAu8/1s02M1?[?vJ^[7p>T+b=Y=b{?eA4W'w$@5h(15?b B3:>`> e?ZmeLBc% >f?[meLBa% >?5iBu>e?\meLBa% >VT?7ȨC0>s)?^j󽵺CPd`>@?\&hjB)+>?Ij4Bɍ>'?BCf`>e?\meMB^% >e?[meMB`% >,4FW;P >>>>??*?;?L?UU?>Q=M6[?驻>W >RKG[?>s>[Q]? b>7>!k$e?mZ/>ik?~=0́>¾b?P&>>ֳV? >L>ggW?#F>VCLR?j" ?.H?ھ?W=tf:?sT?>1]?Z>@>!>(,>?)>J>ߦ>h*?q$P>K >t9?G/#>d"޼"6?4=Gv{?;p5N>ܚw?1=L~O>y?_M+=>>q|?@0=[kD>\sz?V)=xA6>{?"1=啀<>>"z?4v5= ~d P>y?$=AW9ֽ=>L>>>>>??*?;?L?]?n?????""??33??DD??UU?ъ3oc3 C>l?$2ݯ2>|k?Kw2TSV2?7>5Yg?%L3>a?ln24>3ca?d|(i3M?H[\?d*1:b 2{(>`?Q0KBa=V?$2jd=n?qlG'>|?B^3* >Ov?Hn2 H>Il?23?R]?e:D3?4N?‰2yb1E?|P?ㄱ` ?V?0:z\?R\?K \02Wl>c?~M">j?R'627z8>2r? O>z?򓌰:1==?21 :?b3|/ ;?.CK8=x?"2E18=x?@BN9:6=>L>>>>>??*?;?L?]?n?????""??33??DD??UU? 3=}Ͻ73?3=ͽ.3?HW3K=t[2?3=zϽ73?b.;|p=;*+?3=yϽ73?rw2n=x3?16=v I4?m0k9= ַ4?.} 5?(.hq4?$]"Ž2Ve3?3=~Ͻ73?F3t=碽 R2?Iu3}2=aUh2? 3=Ͻ73? 3=Ͻ73?.?j= ͽi7?m)X`>j˽ ;? 3=|Ͻ73?Ia]ڽ3>!B~5*=>L>>>>>??*?;?L?]?n???""??33??DD??UU?KC?c>O=?{?Hg_@;@_y}T2_0 $|?%@rׅ2y H^V=/?B@5n&!رHI$&?@B4˹J8ay?OYA|>7>=613ֽ~?8AH5]6q0೪a̰?8A? ڶ]~tR2Jt[?45T5>jB?^># ?B7@@罳-}<1A#&~5?)\2FW15? ¯8Vnr nՁ<:Q҈ds;KǾfcs@>':c s>B/h~>s_qq>x <w|>E=YbjeX >:?rC`gN>Ryj{m>#½M,xe<>j-d"^b>u䇾W/[i>ؔ2ٔ \8>!ͽ%^20> ʾ"_s_>WQ/ ^10H>2\[>ˣnLt@hW>YRb>F9d @rA=>L>>>>>??*?;?L?]?n?????""??33??DD??UU?2?FT?2L)L2'?~A?ޝ2H3?0J?z1貒~? I?Jp 32?J?xñ!2"K7?\2?F71v9Ʋ_1?7,8?`ױ鑳fQ6?3?2b2O=?(+?2NC?%?6pE2*G? ?5lѱ82\R?F?2B1W]??1 ?;H?3{2N>QR_?wVH1ʘ>ѐd?[j3ک?5]?33S6w5v ?GV?Vxв2 ? O?]szڀÇ!?F?QJ6P1y*?q>?,3<0? 9? ϲ)4?w5?q2 ~5?4?O2%ɲ4?K5?:"12WQ4?5?jvB+b536=>L>>>>>??*?;?L?]?n?????""??33??DD??UU?׈<皾-j?|+Oh?|y<_c?.=a?ˈ =^sd?d)=˾^?FrO=o>OMR?b>wKM?ar>7rG?\>~-2?Nd.b1?c>Wvʾ`h? 4W<7`w?eb>0t?U\p6>5x?'= G5>{?=̃=޺+>z?r3=ہ= >a3|?Ƽ=>~}?RӁI{?}z?6=\>8x?Q>B݆>t?}BNޱm=>L>>>>>??*?;?L?]?n?????""??33??DD??UU?J 3I55?AA%ie0v-RtCA5z]]Ļ|3:8=fvg& >j&{5<*=Up{bt=8FyiB >6^^u^,>+ zB!> Mz5gD >2`ze팽N3>-|$Wu!.rz>y=Mkz>U>Y3>XZ<>z <%g˾m&?oBJþ?(ؾo'̾$? ?,Ⱦ(>P[2@V$(>(о!^e'>s=x뽾2m}=R(<鯾o ,Xl!ډJZ,rrY~wLln; t|=a;WzK>=&w~M>=]@k=>L>>>>>??*?;?L?]?n?????""??33??DD??UU?X12>j:c?~17;?RL?Ų;ྱX?ZT?2' b27?P?*2Uj2?I?纲O27?w;2?ѓ6GU ?c A),?Ë=?}r Q:?(/?P^0^[2H?Y?P2A1?o\?O02>^?|2L2(>]?MRh??XZdK4>r?ŝ3+?=n~?0=ii~?2X%C=g~?ivB4=>L>>>>>??*?;?L?]?n?????""??33??DD??UU?dS.Ve? Q۾^?&F. T9\?B-%\W? )2,eU?vZ5H?0Cqw#=?R I(͐*6?FԽղO.u2?Mp3].\.?`Bn~$1?֙={Ѿ4?눝>NY˶c\&>W?ȫ=[>sdp?w'9gW7y?<[-=Q?F=']= |>Yv?-tQU9x?^JCz>fv?P|>Ur?jܽ">{?j-;08 |=j?)=7ڳ=@}?-=ޟܽGĈ="\}?֟< =+|?}B6=>L>>>>>??*?;?L?]?n?????""??33??DD??UU?ֲL 55?AA9Z%LpFE?CA.lZ5=0~%c=PVc=b4z4?L?@X)CCC>'7qQ'0~??AKQ'ҿ/H;Y.}t?@ij8>ȋ= <)v?UAᢼjqA<b=#P{o? AtF!%SU =~?1@A>46)>(%C>yBj?ۋ@96paz Hx??mAIhl5+6T [(>D!>=!ֿ5;@TKUlZDعa>wt?&=A.QcE22 #?QKE?BB7Q6uHey=x :>u|ܽ!B3z,77EY=?m?5g_@@S3|1uV(x0?@5M!6F7r210Y}?8A16T7iNcU|2:{?8A y5  1?[?-ֶJ6 >&ƽri?eADW'`$@511.25?b B7> >?%?pL0j/>0!?Ic; >;X>~e?A?%=AL#6f1N2(>a?ABҵ[W5'dl>=wGy>->!B8/Tls=w?Bg_@9@g JB2X[%0}?!@*-7<Xú1kp?B@D ~vt1@S6pIֶùӀ9?6N-p?LYA|>7>RN0uX?8A66eH72z1\?8AA"61v P00Jx0) [?A35&p>iB?\># ?2A R@T~A.#=ds>2A&~5?*, H05? Y7g GRjBsv=*M{?hvByd3t5gҽͶ>i?}BYjX$ѐ1?I; .?AAӓl3B<72CA^Y\55Vo"2=EC:o;u2'@k'Ņ{@?(?jvB$U65C==@/>o"{?}B:361E264?AAK665IzЯ?CA.^#5=03 >Q >qw11?L?@[4CCC>+IqQ'5~??AR&ҿ/H;Y.|t?.@ȳv8f^\M<~~?^UA P9O 2 A5xjw?Ag; M 6H߲[7l'>|?+@ ==(_>w?ʋ@څ*5}.S41?qA8-`5-+>?G>`+5 ;P@B~-? J/?(=A$5,W2vs3q>$q?@BxB-"6r'=u@>:]>!B煎춱FHq =?F?qg_@D`*1uVd7ȎY}?8ANv7 d%2 L:{?8AJ緁1Sda|Цѯ?"\?6qN06)J=}>Nss?eA+W'$@5y :'35?b B7>>?C=~E:>;P6===_>h? =A~6VE/3S;.?(;?>BB:6n,S鑾`>>!B6Ĩ5Tos=s??g_@G@߲[ѲX[%0}?9@_431lp?B@6!7F Lxǰ@Y)k6ùy9@6M-p?MYA|>Ï7>@A;X?8A"5l¡0pͰ\?8A0m6IA k1<߰63[?d`>iB?^># ?2A R@T~AȾ:JeT^>0A&~5?2Z5? c9JeaݾB!u?}B6i"2; .?AA3pn4 3zCA qR6nhz=;=n;u6'@Kq2>g?kvBkN4d'> y?}BT\WX6>64?AAܔ[6}%.Vy?CA.86j=0=n={DX"?>@+C>>??> '6ՁX;h=I~?LAQ~?|;=u8?#߂@>9=G= =e}?mOA㶼Ҙ;5F=T Aqn?۠Aq[(u;˺=A= ~?1@ݔD$knh >+=y?ދ@ap\xꯆvSX/?pAUoxmSԾǦ>fU{p>A;*@̧k:>M[?(=A<I2 {2;?M.?CB=Ƕ1W_(y2W=g"=!Be7 GX6(=`?g?Fg_@:lT̲d1uV75@E1Y}?8A2&6"N+z2:{?8AK$7۪J/~W0C1?[?v'5(5\U>_ Vo?eA5W'$@5g//5?b B9>Z>U7t=q?X(B@P;,y>4>w?G?%=A-5q#29~K3/?%J?AB ж?W"\,^>>!BvڷSTns=R?>g_@8@cͱQDzZ[%0}?-@D:&h32lp?B@'6ZXh'l1@p)ù9?6M-p?MYA}>)7>"0;X?8Az?50qldN0\?8ACq6F6y|^,[?l3(.>hB?]># ?2A R@\~AQXԽ n=5A&Ԝ~5?C15_5? 9v) r2@Tl$@]Ae>5s?mvB5]_=6>Vx?}BU GL6%2w2E;.?AALq6O м4ICAƾ5F5Z;Gߘ>=I@i۠ Vq_jvBl׶䧶fԼ3=2=Fg~?}BF[+0(144Nǵ?AAj1,[垰?CAu^/=0Q'H2=) >?<@<)Cu>>?(?>8Ұ5=+=H~?؇A%ZQ>!'=iu =b$)~?~܂@$';n=J;Q-=~?QAη;ޓ=Zn? A%l攨6}.=~? 3@V͏eQ_@=5x?ߋ@恶.▰Ƚ0`x?lAR`5IN!Ћ>[/*r>E(?Ht;y@jZϕӾ >H?$=AT$4 7U3v'A?9I??BvSʴSJwwh>W!BwDB0~=?h?Ag_@3;2uV7H/T?2Y}?8A715,P.iW:{?8Amԗ:@2?[?ֶ N46ff߽˒>Pc=Mr?eA4W'$@5ILi.15?b BK:>I>>,ؾP-=?(;y->a>L"?|'?%=Aq4=X@;>n?>B\=P7;e> @>%<>!B&$]'Tqs=T?Ng_@P@5U]3 ޱT[%0}?0@$G7ԊSzX2mp?B@4l9`+ @:.67k6ùÁ9@6N-p?LYA|>7>f0X;0X?8AD= 6};A\?8Ax(5Ɠ>1u/[?FE42>iB?\># ?0AR@Y~Ad>gyuo%>3A &ʜ~5?Eݣ^25? 8rc 3-'_d>Dv?ZޓA;IzX1eivB,U6;G$=$ Nva@?}B63V%3 I|?AAZ62i3 3CAv66ꩵ_ki oLVЪ>4@^)2 >m?jvB4>86=/ÀN>"u?}B=\Z6gN5C363?AA۪(2X1)?CAz5zI=0>7>x-d6??@^*CGGD.Df>43h;Ǡ}?AnR8abBYt<\e?!Ԃ@X\^tKJ=P&w?MA,3o5㩾q?ȠA0pt(5s!@K=?1@xo>p%>+y?ҋ@Ҹ2%>6?HȄ?gA63 g R>Dګ_>6"u6&;P@+?$?#=A^c3>r??Bȹ1].7JoyA>N>6V>!B ^6Kc4]ü?\?,g_@>ǞU1CL+o?'@'6*X偲M26h?B@}Ʋ'6))}611?@(6PV=\[ J|?KYA|>7}j z?8A,6 '=~?8A6ɶ\5W2m0?[?3=v?eA4W'$@5I`ȯ5?b B{8> >)?N*?>p$5iQ;PGn>>)b?$=AΨXn) 6nf2pg1 B?%?@BM06j 6.ľIt=T?!B&6Tns=\?Ag_@?@iup2V[%0}?8@5c+3lp?B@*H6.6J5`%@_[ù9@6N-p?NYA}>7>kgİX?8AQ,>#BRS\?8A3:7} ӱf<\?Έ>iB?]># ?.AR@b~AH|u=3A&Ŝ~5?T71ޚ5? 8 ֽ5'{-ohN@`A.A00V/ ?iV?kvBl5R5ؽP>{?}B"60-!2 3o6?AA(yo1ڄ2_̱CA863w(Wɋ 似=ox1@: 1MƆP??hvB!5g޵N=SNBj=~?}BT38,m5 4?AAl헁2?CA/5-6=0 fq,?;?$@ԒB,>_Z FvVv?@ 훼5#< )>8^iz?YA1Ju;%?q;M]u?AD|]ջRHi=4~?u0@CSRkc>~;=/e?Ӌ@׼55//F0䁱?jA#5G a:>"$@M]>@m;~<@y>mS>#DM?$=A4oV6 2?~aJ?@B$^A5sR$9a>B=!Bۘ66K| w>>]?Ag_@F13?2uVY7fT0 Y}?8A6>762' 2:{?8AΫԶ8D01?[?76vŇ6&O'>H=q{?eA-W'$@52N5?b B8>+>P%?R2@>*;<u >>~>V?'=A5p<6B2X"1N???B`%J=8꽴 ?!Bm3Tls=o?8g_@R@Y[%0}?*@6Z7G1J2I3lp?B@Su%-Zwiq@b R$=ù9>6N-p?MYA|>]7>2PD1X?8Abʅ׵/ұ䃝0\?8A4"[,07PD[?΃T6>iB?\># ?1AR@\~A$Lyw=4A&~5?pS2Ӳ5? 39UyB>(@ zAUlj?[?ivBX61XӓϽ;}?}BQs#ղ3c910?AAe5nA4᧷rCA/IiLPnj>R>r_@|в 3(z]?c?ivBV 8LM6:>#>. /_u?}B dRο4 Q954?AA.^.=M,2?CA㵦5=03U.0>9??@e;BGGD.D>,N3b]6 ;ʠ}?AER:a[ET=}?s@POI9V"<މ|? [A+';!AVl5㩾q?AgFt >2oK=~?1@]oO5}>d;7>t?܋@8ȵ/6/?kA\6%L(:>5c+x>a6;P@-=ڙ:2?ے?(=A<.16 32T>v?@BS_S 50,e/9>5@n>5!B/5KcL]ü?^?Bg_@<r2΍1+o?*@׋ƶͼ5H$216h?B@V56 3Y.1o141?@w5PV=\[ J|?KYA|>7z2F1 y?8AeW7y.6ݲ]1=~?8A̩R7- H16!/?[?kxZ=B>i=+Pp?eA@W'$@52n}5?b B9>>?P;_.7>)6[;PP_> >of?#=A)D%h3lNC?ƀ%?>BHDZ5On; >p?!Bu65Trs=?>g_@/@m3|1T[%0}?(@t=|a_Ĝmp?B@T76F.2B±2@2@/3`6Saùρ9@6M-p?PYA|>7>#!B0X?8A4Ae0I\?8Au[6˵t6Z/&R1[?s=>iB?_># ?0A R@M~AM*LA{_=2A&Ĝ~5?ݟܦ`5? ,8qj$#moպoN@`A=%2)3:r>x?jvBk36\5rdL=~?}B?4/2Ww3 3o6?AA51K3L3CA4x5\durf>Vn>ox1@72PK??kvBys꼶>=)ts?}B/[\5"pS2ٲm5 4?AA-!̰]*?CAGݵp$5ww7@0  !"#$%&'()*+,-./0+55?K2=>=g2g2? s=W=j22?=T=:23?0=܆=] 3Z4?g=f=Z35?' =4p=Q35?j@(?<L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@&>?? ?QU>gU>??>>??>>c?c?>>W?W?lJ>J> 6?6?>*>X?c?U>U>??G >] >a?a?>><?H?>>O?[?> >0?<?>>??>2>#?0?g>>??>?? ?y??r>r>??3>3>??>5>;?G?t>>??>>(?4?>>4?4?L>L>? ?c>1c>??TC>jC>>> ??Z>Z>??>Ӹ>z?z?>>S?S?> >:?F?>>Q?^?>>A?A?%I>6?6?>ɧ>??3?3?>>??^>t>? ?M@>c@>? ?M@>c@>>52&=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@333@&*G6H5Z†q?>:g<ҽ~?cG;<b}?W;g =$1|?:ֽ;l =+9|?Z; =~.|?\J;1==/|?9=;I$]|?/:R8;U% |?ȟ6X*R5%|?{~ û$j|?^[n"$|?tüU$|?w5($|?)ʻ+$#x|?v9ϻ&$u|?kJ$t|?dS[$a|?yڻ$|? ۶: <$.|?f;`<$4|?;=$~|?*{AEiL=w?RAAI?0AH?TAHl?ANH?A3HL?3AcHGh?CAlI|M?ȇAxI"/?`҇A_Ig?PڇAI>@AI>AJHa>AP J̯7ApJRORՇAIN BAIRŚAιI~AInyAIRAITEXćAIÇAKI=?όAIT?2APIA?AIt@AI+~@#6AI? AIp?[هAI^>އAI$vA=Ifow&AIqFu&AI]F&=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@333@+`{(p[&`H(?e!<<6?(ݡ?϶<==~?M2_|?mp<{=j0>V{?dSz?'1H<,t=K>dz?_SS< u=Hg@>z?np<u=j">`D|?}<s==}?A<=ݽ^~?*J|?<7G< ?>R{?A=,Wz0z?=:;aK>(5z?=EF>4y?Y= EʼM>>(y?m="4>Ry?t=I,o->Oz?#E=>`|?>L}?&=y{?#:jѻҲ= kz?G=zy?MK2he=y? LhRwH+=#ky?lP wB=(y?FWvܻE=Bx?>{]u_,=~x?Ԕb8uB=g9x?gfTb=w?+΂@-H5҂@@729ւ@U Ĺo:Ԃ@l`:?̂@':@=U}:U@8K:@ȰG:@(9@_T09@맼 =86@馼GM6닂@udxw8@T *f9`@l9A@=]Y+6:BƂ@p󴼂{v:Ԃ@:@S:G@ˮ:@Es :8ڂ@R>b:@?aT9̓@TE9,@ a"_:@x]_8:@pGM;@8ƌ;1@᣼; @y3q;@2;@vGN;g@-୼=@׻ꪂ@bV@B㣼 @n5 @2ۢ{ @jM @[@er}@u@B鞼+=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@+|S1:>{?q6=~?<(~? nFWe}?5R|C+}?ׅ! YL}?'P ZǼ;}?ù V(<}?Ȁv;l D;=}?Y;Haߝ=_B}?&<=}?y<׽O=- }?Y;6=}?):^C=~?_Ru=o?\9X?@<\9A?Ӽ=אU?㼖H= @?U1=H'}?>Zz=Kq|?0>Ԙ=|_4|?f==9p~?+=`;X~?C|=# ^A$xr\A"/jGYA"yƹVAK8VSA⼼9iPAbG:WNA޹s:MA+t:tNAc7:PA(ϻ}9TA&Fm\kXA$[Aï8p\^A$s^AJZ]AHޝ*\Ad(ZA뼼8|XABteۺWAY:\WA֦:oxWAZ2:WAdG;jWA9;GWAQ=;WAeҵ\;VAuXWs;WAr{);WAWABƯWA5%WAX-WA/ 9,WA-'XAJ'%}XA="YA!YA"LZAU6+=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@0jޱ55|x?(IJXW55|x?`:b|x?Mb ;pdh |\x?2E55|x?<={ w?/=;{Ow?.uR=pz v?:J> x}u?N(;&>Vxt? )'>-qxt?a% #>Ax t?C >x~t?:J>x}u?KA͉:?DD@@ @@UU@@@"""@ff&@*@.@333@e0ֈ =z?5@IDX+2od9?`:<{>}?&uQ=F >Yt?տʘ=N(> 7n?GO%ʓ=Fޮ>o?ŭ=>s?2c;͓=#r> x?u<.=Ċ)>{{?f<==2J~?<t=;e=Q`?q}?CM]>,y?q9bӖ >s?Cϻy> m?AUg>`h?Uz>e?RilX!>Ag?,􋻚;>Rp?1B<&R>L{z?;='8~?h?8,;PS=~?.нڠ<(=}?1I< =G{?[vI%==Xw?q1;==ss?F8?=Q$=}n?v==`n?#&%#>fkz?/>G>&y?fa>^>i?X>5f4Gm=4R`?7>s =ll絇=рV?#>-P>F=, =ZR?c>:;ᕶ<*P?6>Tkd<P?>ՠ$;P?Ǧ>9aYP?@~+=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@'''?nAOTg^lme>AB$ >lme>BB$ >xf>C@>f>lD>kme>BB$ >Dnʫ`>Z=>r1' Y>59>]/9MR>.%>4U?M>r(=E+>oi6SK>d&ŋ->6K>"w&/-> 5VK>:',>+5L>/>(b+>4V?M>r(@E+>67;P@*15;P@U;M@[Yş;D@6;P@9>]X;@?{;]O@E[?Y;E@s @ E;l@n@<;Ft@@;;=@@!?;@x(@D{C;=@i @HmD;i@?DD@@ @@UU@@@"""@ff&@*@.@333@+1Z*e#CQY?pFɽ29-Z?-=)jO?)ž=J)=V?1=%0g$E_?^=OF;'ʽۻh?<)\=Wp?%|( @:Nu?VKm&omVV=x?0kYJƼ=x?Lӽ,=6ly?ϖI=z?u]nVu<=|?h4; ʬ=|?=8P>)w?=ĝf,>F>n?=xľqD>$Ce?^>1վ&<>"a?ui>߾ey>a?bw=C!=Yb?{3ྭX@e?Bk˾Ge?10Pyj\#a? J-<\?oIYξ U?}=Ծ¾|S?y=Nu1d?=` ?q?k>ꏾ-Ys?>W=<[;s?= =q?ク1>m?c,#>j?!Ӄns?->Li?䞾Rd.>h?잾+co+>h? ܜRd(7'>4i?&t_a%'>ii?4AVY+>mi?2K1>ui?T Aͺ8>i?Ӡ567?>i?%=A|5k++=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@),&>u}?FJ Dz >]u?3H3<>Sg?| 1첗?\\?ѼH0D ?X?zb ?U?,Rރ2 ?mT?h20 ?MU?GƮ2 ?|U?Pƃ3T ?MV?`A3K۲ ?̛U?2Ĺp?k,S?k^2s?(O?g1cױP?|M?E0zϱF?JL?gx2?`Q?p6ɲ?>Y? ;,33>6_?%3>R`?vM2983ʅ>_?0@|3o>_?81S3z>E_? wt1>Y<_?Tݲ2&>b?v2x>W-j?xB_2>s?[t :>3w?k1,2y>IHw?1Pi15>q?/G2$Pk>Ie?{2? Q?<2CR)N-?j,?hs1\B`2B=?,?0Ӽ#c=?>,?BBFW5e{k6)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@333@+ 3?Ͻ}Ͻ73?2?ؽTؽz 3?2? {Ὄ2?3?ϽϽ73?P3?bA3?ˆ4?\CC4?4?IiIi5?X4?5<<;5?4x4?fR=p?j` >p?yJn! h=Vro?6L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@&KCcO=?iDv=N<?Da=?KCcO=?^>$$ȾP= ?w7ھak=d ?O/L=N?"&-=+?c'=1D?O D%#l6|>DE(z>b0E߾ĒZ>MEݾQ >'FRܾsx>JFܾԵ=>FFa$ܾ2>3FWAܾ;P>'FRܾkx>i?3g_@>&=>L>>>>>??*?;?L?]?n????DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@XZ0 %|?/@Qd6T5(_"32^V=/? ͶKCj=?gOGn2=E?'C2:^V=/? F2e<{?|A396*L7?؆k(6rQ?_;2iTн ~?g1 }? Nw1,ٲ?'|?O1W21\|? M3N}?"Աh #U<?on2?%2Ғ08^V=/?[ 0֤=(S?~˲4#w2 =fY?'337^V=/?|{4g)3j?.&rsZ?K,<2dٽ~?~2G1FW?u3)H?J~2f24^V=/? T6ɍ=b?m5ɐ=\?m2W)=V?τ2+Ԉ<=~/?19 G =' ?V2𰃥=j~?㶂2H,+ =~?1̘1B^V=/?]w2Z5{?1gk2þ^l?U*t!2׾Uh?)C`پCg?Xa22FҾii?JI*3XȾk?īOþ^l?ַþ_l?B@U5(=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@333@1Vg1,?@xbS5 +:9)Eay?Cv9'ie{y?@9M1'iFy?9uBay?Ѓ9om/+Mz?=9vT1!|?ٝ9c>nra}?xf9;6u潾_~?.9r ?C9ⷝCMh?Ae9F˷z…?X9#?9X}?09;©{?9;~ay?I9qyhPy?9T_gy?T9]day?69WӸЁw?Q9=d-ut?09Gr? 9.v7t?Tu9ڸHJ w?9'Jͽ~?ɗ9.pl2^W}?P9䧸MEz?l9Oz?9e?E+{??9Hay?C9g>>X?9?]ʨY?MYA|>7+=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@+!1L51ֽ~?&11Ywƽ~?31ضH~? 1ֽ~?.22*'(}?M2ϛSMxz?!3˝|pv?e3;{1Llq?H92?žEl?+XX{2y׾5h?872o޾)f?ϯBOn33ɾOk?ݲ*i'2R"pt?\ 2=>{?42òֽ~?U)3ȴ0?93jL+?sm2ֽ~?YF!C }?m@3՝2e`1P!|?ңmӲTE3{??3,2>>2|?!Ӡ_ T}?*,#ֽ~?0l1i~?A1G 1q ?V+1Iæ^&? `3a[U?4 4U"3F&e?+ 122S~a?2vy=Ĺ?Q%Pڰֽ~?>0n?H1א`(sN?O+#eE?,$1{&xB?)20L3iZ%oC?]}"WE?ɱ!>F?NY1hd3֞"E? ײn"E?92i3P0"VF?QzC!>F?8AG>)ɴ+=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@՛*1-,+Q?8A1"R՛*1-,+Q?\?M ޴>03>{>e?[meMB`% >e?YmeLB`% >?Yd(B8I >/? ddA(l >f?XmeLB`% >7?iGO>'?ocNT=N> t5T=>wmJXH=5>> yY=>.yY =#u>xHY?!=>!wnJXH="&7-Y;Pd6;;Pc=g;M^>L;D 6 :;PӄƩ;G;]OZM;KC ;pn);*>R#CRY?=>*l=>`?C7>&> Tb?(ֽf5>AN>b?U{>.0>&g?!U>Q =&l?yh=Mr?Oj=>鮚v?G[$>)>,9gx?7j>O=ƽ/Pw?*>`Mcs?ĝ>yep?_>q?C>ᐑ't?i4>i:=5x?"=[>\/:r?@m;@>;'0`?Dtl?Q}M?hI? F?߽?P´,F? ؽ5?-ҽK?2,b Y?;=R>^Y?>]H>=þ̀X?X> %>ҾB9V?>1u>`$ܾTT?>?>{ھ+rU?u>г>|ȾZ? >z >Ƞd?Lt>5><2s?ǖ=t.>=gz?x=t&.>jy?cZ*s>q?rrڹ~>cRo?o$D>ys?2j(Ƙƒ>Lu?`j;d#>Au?}Ya6]/">Mu?lľ >k u?)D n}y*>$q?ظp$8>j?ݾ9`D> na?%=Ao57+=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@&)&>u}?2&->7v?A$2ߜ>:j?ۤG33>5_?W2j?3z[?G`$1Ѳ?t"]?C!4+o2r>^?W2=+c<?e\?3v2n?X/Z?vDz.ұ ?qW?Aruu% ?*U?k~5Aߡ>?TR?9SrQDs?lEQ?3WF10w?P?j2w%3? Q?B21hX)?8T?_821\?[X?AÖ0+2?\\?|12g>`?p302`M>$e?vf@M=> li?% >l?;3U2>&o?D]>o?u;3»>**n?m$*2#>i?uL2t@X>kd?u2@w>^?#6hf?Y?EgӲ?wY?ݛ`S1W>`?܏"nsP>m?2K>v?}RDzZ8>{?hα0 >|?!0GϜ,>R|?21\8>{?1_2Z8>{?CB45>̪&=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@333@& 3=Ͻ73?^(3J?=˽L3?"=3'=sƽa3? 3=Ͻ73?g>2~~=Kb2?0:R>.3 1?[!0\&>%FE0?J0L#>+#m0?30>$;0?=14>{a1?1>81?[28=&2?2O(=޽2? 3=Ͻ73?T03p{=^RɽT3?!-31=NʽQ3?3п=ͽ|A3? 3=Ͻ73?3=}Ͻ73? 3 = ѽ-3?\2=ֽ3?52ښ=n۽2?20=ݽ2?u2=$ڽ3?3=}Ͻ73?S3g=T@mx3?r3s٫=i3?o:4=ꀽ0_4?G4i=<5ʼ(4?j-Aw=b:?U"3V7/>;?M*wtt>Zp*?uUP^^>{> z,=o>}&o;Ro1=!bz= =4wpR>c= q<>+=ɽ!Ba b6&=>L>>>>>??*?;?L?]?n????DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@)KC?c>O=?KC?c>O=?gC?t>=c?C?>=4?KC?c>O=?uA?`>=H?1??1>[=?Dg=?P%9?>x= >C6??=aT>#4?d? A=mu>Q3??!=>5?Q?~=>R;? %>{=>t@?a>=?KC?c>O=?h(D?V>?=0?dD?>ӆ=Q?9D?ٳ>ׇ=?C?ℶ>=4?xC?.>L=$?KC?c>O=?iC?>=->?C?=>ߘ=^^?:C?>Ѡ=s}?D?H>m=?5C?{>`=m?KC?c>O=?B?'>A=m` ?1h?? !>24?t;?F̒>U?7?[>o!?3?>Ŵ><?{*?ϧ>>-?%?>wQ> ?/?~e>=0?r=?% >tdY?̸C?V">_?@D?_>M.Ä?AD?[>! /?˸C?V">_???g_@=@)L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@2x& ]0 $|?RIF3\0 $|?%63F'|?4^!g3|?Z2wtm5({?r-.b0 $|?2nˀ0ԖN?"2ܱR/=?(J2Y=~?ϋ۱@Wc=š?"⇲GE?l<1B3N: }?ތ3D2\}?;32a Ѫ}?E3E2N: }?8@Rj6zww??DD@@ @@UU@@@"""@ff&@*@.@333@$ܲX39^V=/?-&U=^V=/?i2^w\=ɠ?~2 0c=:? [37^V=/?m3ڲ1=e??L?E)z2Xr`mQ~?F2L `y? !1mbdt?&#>M_s?.52a2^7s?2dt? 1A=2ct?B@~ 45$L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@333@r1-S2E@K4)s˹vH8ay?~˹bQ8ay?i˹ڻ8YfPpy?1˹j8ja/y?l˹bO8ay?R̹,8gH~ {?͹8C&C|?[ϹvQ8V}?Ϲn8(i~?gйS7i7?Eй]Wg7 ?ӭй.7pּ?yzйر7YZ?_Ϲ">8I꽗R~?>X͹)8,#8{?ț˹R8ay?'ʹR8Oox?ʹ8csީx?@ʹL8Opx?n6˹F8ja/y?|˹"u8dYy?o˹iH8~ay?˹S8gby?{˹H8qdy?g˹$8Kfmy?Y˹8ig`y?g˹Ȼ8:fry?ʙ˹L8ay?˹78[& z?N̹Tg8V'Rz?&̹s87Af{?[ ι98$ʫ|?Ϲ 8?й傶{<?®йa.q<?bjϹm;8a~?Ź9R Ar?NC9^b?,qQ9DI]?i:K9"_?N D9^b?HYA|>c7>)L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@ h21ֽ~?{p 3 ֽ~?{22ǽ9~?y 38H~?M883=桲ֽ~?i22*UN}?2E?0:~Jz?,33sw?pܱG<#s?u92B2޸n?I0( ɾAk?1J!~2?оi?n/VAۻ\%n?b i2(3cD4v?ډ1񜛲.>|?53&3ֽ~?ҁ2W-3]?_].ѱ>?ҲhֲXJ(?s23H~?F21^/ͽB~?=2K1 ֽ~?nB2ֽ~?; 332?U%722An?º2L~4ֽ~? 2Fw?10"8澀d?71m31iP?KJ?Z^ZdM?(G! iP?8A(54 L>>>>>??*?;?L?]?n?????""??33??DD? @@UU@@@"""@ff&@*@.@333@h/6?8AQU(Cδ1Φ,1x1[?{j4ᅥ4>iB?^># ?+AR@V~AAsx*C=2A&~5?/1Թ/5? 9+ P~\MϽj`dxŜ1oeYºtԾ!hW;- 3te[;$#c澈zd<ٺŋeW;<0߾fY<} =Tվ>h<<-'%M-6ER<42['g<'Vq!S`n ͻ0ᒵ(gmJ%?y#lQZ!A_ktFO¾j~?grþjpJž+j*AҺOZtǾigX?ɾi@ʾ3ir+@rAX@Au@pA o:@ƋA;n@NjACn s@(͋ASoz@ՋAp@ދAirqf@A)tç@fA@v@^Ax&%@; A.{@lA>}5@At耫@;A|Ԁ@wAob#@AܽM;@ AB@kAЁj@ЋA@:A@@䮋A@P͋A^ö@Afd@-A$}@A5v4@SAUnK@‹Aff@dA7a6@A0HaB@A gV!@!iAo @͋A`zZ@bAOVX@AIU@ԋA&@XA!@XA"@XA&@XA!@XA"@XA@XA+=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@)&li,%>˥|?/2}> Av?W1lBO>q?.#w2>en?38B>Rl?Kކ&3>7k?E;22k^>[j?~\3D>i)l?_10JD>.p?!1wkNo>w?fr J2k>"y?ޗT h>fv?C`ǰ&2]>vr?_13`>eo?B1WӅ1>77j?W)3 y2h>q^?>2,2R?^P?2$53?K?.>bpg2?M?6g2T?0S?Nn1?oG[?s/)s>n:e?saԯ> o?Y2>w?zuٱlZ%[>z? 2y 2H>s,w?G2nM>$t?41et1>]t? 2+~U>5t?y0IJI >'t?&mC>s?D0$F3>r?a0D^>miq?1dY3>1o?ahEȺ>O[n?R2x\>Sl?]3>gwk?PԲ=2W>|k?p2v}>k?k_VVrJ>Yk?èӱS>Qk?lvB4V6)=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@ff&@*@333@+H=Y2|? q=!%{?^8^p=|?ݯB.=NU&}?K;:<$|?k;D;%|/F4|?-<.]@c{?&NV<jD{?<@x-{?@2i}?wc$<<0|?);^~=LMNz?%-@=ajbx?R; >rXv? Ҽl&>j(kCu? k2>'`fu?n"->Lgsu?>kpN|u?R>bt$u? 鼶d=Mmv?EϼP=Yx?8#n=;g9߈z?s=5z? ;e@=WF~y?ª<=nx?= =rw?[=&=p6w?_~==mv?v==l~v?aܾ<1J=iWFw?[0'=C`w?=,[4hw?=]fv?X=`?*v?J ;6=du?`=|bAu? 9=_du?'=5\y4u?01=f Yu?/:n3=QUt?&OCK=Rt?}B!MW4+=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@51L˲55?AAD}?CAP$4F5+,Q~\<#Ͻ=axr ;=IIoM;_>o$žF(iϑ;>gǾg6< ,>bhZj<>P>ȹfC=n>m$9S2w>HCIp>a $ȾZ*h>Ԩnᄾ+*异@>p쇾[]>aEBf$&=F OZҢ?=Y,;eӆ=%53v=#-rD;vz=Y9H0żw=a 56WZg=%5eK`4=2ͫ5pui;/V=xHw<=HVMy<=uIvcvx<\=?t.JT@ck@Ƌ]ť@NjLj@͋]K~@Ջ؇N@ދd_}0@Ά @UA0@M.Ҳ@) K h@[ @s%w@+|ԀQ@gr~Ԫ@'y@ t@[@YQNpW@ЋRm&W@)l@Ԯo^@A͋1#v.A@~(@e I@ ҟ´@DH2@p‹FI @dn B@@&"z־@i(@̋EG@Q@|@pɢ@ԋe8Z@Xe=Z@XeAZ@Xe9Z@Xe%Z@Xe5Z@Xe8Z@X+=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@+2,%>˥|?pv01I>pw?,f3ƙ><.t?;0²>t?l1Y1˃>Bu?^E2e[~>w?}p'1.%>|? I1,%>ɥ|?F}g!c3xN ?;V?([ָy5?l4?}貏HkSL?:?v +t2]? ?ikV-=1'i?k>Ɩ3|z1b?>>J2:H? ?ԅ22$z?+Y?0O0cw?I? g.%?C?f2% A!? F?3|?O?zʲNC?@Z?j)2Q1>bf?+0K >fgr?ꦲMpN>hz?!1aIs*>q|?؟2o>x?t0*cӅ>t?QZӱ 12F7>Mpq?_ĽI->um?p1ٲtU>Ji?K2>$)g?Yݭ2>g?kSh?3>nKi?BPe2>k?7Ky2>sl?xY,W>qn?@:[2)O>+o?Dd3Y>p?/2<߲ʏ>p?h1C > 5p?cȱn>bLp??1>o >cp?`f؆>u|p?ivB13 6+=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@+Ҷ:=~K6y?,= JOjap?m&=UA¼j?'<AŽkľk?u;ܺ=>㛁v?>w-=v?;\YzHw?nHPBw?6+ڟtw?]:hm~Dw?;+H1l2Nx?;p+=>L>>>>>??*?;?L?]?n?????""??33??DD??UU??ff??ww??DD@@ @@UU@@@"""@ff&@*@.@333@~KÇ55?AA}\O&('?CAm4|bD|pA{pAIAcpAlAGAI bAjbAubAi'AS'AMFAO Aj AO AC ABAAATAgAD AP Ar FAJ'A~'AaAuA]pADpAY pAi ppAEpA^pA\A|)pAU(pAi'333?pAY'fff?ppAu'ff>ppAf'?pAa'pAF'333?pAD'333?ppAG' A['L?ppA]  AQ A\AVMABAKMAU>T@?TAQM>T@?TAt>T@?TARM>T@?TAF M>T@?TA|M>T@?TAuM>T@?TA\AO '?ppAVFARFAkFAB FA|FAJfAdfAZ p+33>[ pA_/|1z ^P6,^-'a0-q!K6x 68oo1J,o@a$6rD"  T(oJ,D"L, n0 102O1@yJ]// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvKillStatWindow : frame // =============================================================== class TvKillStatWindow expands UMenuFramedWindow; function Created() { bSizable = true; Super.Created(); MinWinWidth = 200; MinWinHeight = 100; SetSizePos(); } function ResolutionChanged(float W, float H) { SetSizePos(); Super.ResolutionChanged(W, H); } function Resized() { if(WinWidth != 260) WinWidth = 260; Super.Resized(); } function SetSizePos() { local float W, H; if(Root.WinHeight < 400) SetSize(260, Min(Root.WinHeight - 32, H + (LookAndFeel.FrameT.H + LookAndFeel.FrameB.H))); else SetSize(260, Min(Root.WinHeight - 50, /*H + (LookAndFeel.FrameT.H + LookAndFeel.FrameB.H)*/400)); GetDesiredDimensions(W, H); WinLeft = Root.WinWidth/2 - WinWidth/2; WinTop = Root.WinHeight/2 - WinHeight/2; } function SetStats (string Num){ TvKillStatsClient(UWindowScrollingDialogClient(ClientArea).ClientArea).SetStats(Num); } l%I6Np9])\1D5 p6q6%{Dt&-a -a *-f&v!a{n?<@-a -a  whs6y&s 5$wC $u:C :mkw:C {*:C {-r:C {y&'C  Z// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVMonsterclient : The main "splitter". // =============================================================== class TVMonsterclient expands UMenuBotmatchClientWindow; //I really don't like this, but must for maplist support. // Window var TVMonstersMaps Maps; var class MapWindow; var string GameString; function Created() { Splitter = UWindowHSplitter(CreateWindow(class'UWindowHSplitter', 0, 0, WinWidth, WinHeight)); Splitter.SplitPos = 280; Splitter.MaxSplitPos = 280; Splitter.bRightGrow = True; ScreenshotWindow = UMenuScreenshotCW(Splitter.CreateWindow(class'UMenuScreenshotCW', 0, 0, WinWidth, WinHeight)); Maps = TVMonstersMaps(Splitter.CreateWindow(Mapwindow, 0, 0, WinWidth, WinHeight)); Splitter.LeftClientWindow = Maps; Splitter.RightClientWindow = ScreenshotWindow; CloseButton = UWindowSmallCloseButton(CreateControl(class'UWindowSmallCloseButton', WinWidth-56, WinHeight-24, 48, 16)); StartButton = UWindowSmallButton(CreateControl(class'UWindowSmallButton', WinWidth-106, WinHeight-24, 48, 16)); StartButton.SetText(StartText); Super(UWindowDialogClientWindow).Created(); } function StartPressed() { local string URL; local GameInfo NewGame; // Reset the game class. GameClass.Static.ResetGame(); URL = Map $ "?Game="$GameString$"?Difficulty="$OldSkoolNewGameClientWindow(root.FindChildWindow(class'OldSkoolNewgameClientwindow',true)).difficulty$"?Mutator="$class'OldSkoolNewGameClientWindow'.default.MutatorList; ParentWindow.Close(); root.FindChildWindow(class'OldSkoolNewgamewindow',true).Close(); root.FindChildWindow(class'TutMSGWin',true).Close(); Root.Console.CloseUWindow(); GetPlayerOwner().ClientTravel(URL, TRAVEL_Absolute, false); } E7Y ] tXt~Y .PtY Y }Y t&t~Y .Y  Z1`1B> n1L#r2{E}wZ* wJ*}Z-Ja/!.J#L#?::A?L#z-ZJ D // =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVMonsterSmashWindow : The framed window for monster smash. smash 'em! // =============================================================== class TVMonsterSmashWindow expands UMenuFramedWindow; function Created() { bStatusBar = False; bSizable = False; Super.Created(); SetSizePos(); } function SetSizePos() { if(Root.WinHeight < 290) SetSize(Min(Root.WinWidth-10, 520) , 220); else SetSize(Min(Root.WinWidth-10, 520), 270); WinLeft = Root.WinWidth/2 - WinWidth/2; WinTop = Root.WinHeight/2 - WinHeight/2; } function ResolutionChanged(float W, float H) { SetSizePos(); Super.ResolutionChanged(W, H); } j#//============================================================================= // ChicomarineBot. //============================================================================= class ChicomarineBot extends MaleBotPlus; function ForceMeshToExist() { Spawn(class'tvChicomarine'); } //control skin stuff here...... (prevent model use if static function SetMultiSkin(Actor SkinActor, string SkinName, string FaceName, byte TeamNum) { local string SkinItem, SkinPackage; if (SkinActor.Level.NetMode == NM_StandAlone && class'TVHSClient'.default.maxdif<2) //not beaten medium yet... { if (SkinActor.IsA('MeshActor')) //not available yet :p SkinActor.Mesh=LodMesh'notavpanel1'; else{ SkinActor.Mesh=LodMesh'Soldier'; class'tvplayer'.static.SetMultiSkin(SkinActor, "CommandoSkins.cmdo", "Blake", TeamNum); } return; } // two skins if ( SkinName == "" ) SkinName = default.DefaultSkinName; else { SkinItem = SkinActor.GetItemName(SkinName); SkinPackage = Left(SkinName, Len(SkinName) - Len(SkinItem)); if( SkinPackage == "" ) { SkinPackage=default.DefaultPackage; SkinName=SkinPackage$SkinName; } } // Set the team elements if( TeamNum < 4 ){ SetSkinElement(SkinActor, 0,SkinPackage$"T_Skin0_"$String(TeamNum), default.DefaultPackage$"T_Skin0_"$String(TeamNum)); SetSkinElement(SkinActor, 1, SkinPackage$"T_Skin1_"$String(TeamNum), default.DefaultPackage$"T_Skin1_"$String(TeamNum)); } else{ SetSkinElement(SkinActor, 0, SkinName$"0", default.DefaultSkinName$"0"); SetSkinElement(SkinActor, 1, SkinName$"1", default.DefaultSkinName$"1"); } // Set the talktexture (if chico makes it...) CliffyB for now....... if( Pawn(SkinActor) != None ) { /* Pawn(SkinActor).PlayerReplicationInfo.TalkTexture = Texture(DynamicLoadObject(SkinName$"Face", class'Texture')); if ( Pawn(SkinActor).PlayerReplicationInfo.TalkTexture == None ) Pawn(SkinActor).PlayerReplicationInfo.TalkTexture = Texture(DynamicLoadObject(default.DefaultFace, class'Texture')); */ Pawn(SkinActor).PlayerReplicationInfo.TalkTexture = Texture(DynamicLoadObject("UTtech2.Deco.xmetex2x1", class'Texture')); } } l1aP b9ow*7} throw_translocatorS.w*7} throw_translocatorS.a/!H-'a 6s#6t#6u#. . Ca%''. s#t#u#a G( a0w*- ' a/!H ai.a7q!h A7m:8; - >m-.m- y::$l{b"b"m ["ms6 -_"'2w.m*.m*n.olroot.null $=,$2w..m*..m } ru! f1 g%M,*w. *a%^a,2Ta. !v=a a`!va:*a,2a. !a. `   a,2&y#a. a. ``y#au g// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // MonsterSmashMapList : just some default maps for monster smash // =============================================================== class MonsterSmashMapList expands MapList config (ONP); _// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvTimeWindow : frame of time client // =============================================================== class TvTimeWindow expands UMenuFramedWindow; function Created() { bSizable = true; Super.Created(); MinWinWidth = 200; MinWinHeight = 100; SetSizePos(); } function ResolutionChanged(float W, float H) { SetSizePos(); Super.ResolutionChanged(W, H); } function Resized() { if(WinWidth != 280) WinWidth = 280; Super.Resized(); } function SetSizePos() { local float W, H; if(Root.WinHeight < 400) SetSize(280, Min(Root.WinHeight - 32, H + (LookAndFeel.FrameT.H + LookAndFeel.FrameB.H))); else SetSize(280, Min(Root.WinHeight - 50, /*H + (LookAndFeel.FrameT.H + LookAndFeel.FrameB.H)*/400)); GetDesiredDimensions(W, H); WinLeft = Root.WinWidth/2 - WinWidth/2; WinTop = Root.WinHeight/2 - WinHeight/2; } function SetTime (string Num){ TvTimeClient(UWindowScrollingDialogClient(ClientArea).ClientArea).SetTime(Num); } I7xh~/'%w)*) , x1^ b@X@-rA* rA@@?^ X @-A-A??^  'r@*prA* rA@Rr@*<@-@a/! NrA*A@-K#'@-Aa/!.A#@>?^ X '@a/!.@#%A-A>?^  SA-rA* r-K#q>?^ q??^  c7JY1Y!v |w|*|a/! [!Y!J,/a8 A, B| YJ&0 10J,6| - 6| %YJ& N| J6| -b | rN wad!f!b #;Db 6f!HzYJ& b d!#? saN b sws*rs s ]Ers s ]]rs so$k%wMonsters have begun their assault!(!]kc!a s s s c!a   Ars sJ LKL?s!%nnLL?s!b J,YJ& [!||! E q1Y: [o.YKro*oa!wwo  S wS *S ooo!S S _ooo! o!/a0 YoYoo10o* Rooa ^1^!R :=4^!a/!.^!#-i&-j& Of// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvKillStatsClient : General game statistics // =============================================================== class TvKillStatsClient expands UMenuDialogClientWindow; var string Skaarjw; var string Skaarjt; var string hugeguys; var string Nali; var string ENali; var string Tentacles; var string Pupae; var string Animals; var string Brutes; var string Gasbags; var string Krall; var string Mercs; var string Sliths; var string Titans; var string Fish; var string Mantas; var string Humans; //killed humans var string killtotal; var string DamageTaken; //damage self taken var string FriendlyDamage; //damage friendlies took from player var string DamageInstigated; //damage self instigated on others. var string KilledFollowers; //total followers killed (by anyone) var string KilledByFollowers; //creatures killed by the followers var string Secrets; //x/y var string WeaponDamages[12]; //by inv group. #11=SSL. #10=SSL var string WeaponTimes[12]; //by inv group. #10=translator var string Weapons[10]; function Created(){ Super.Created(); Weapons[1]=class'DispersionPistol'.default.ItemName; Weapons[2]=class'Enforcer'.default.ItemName; Weapons[3]=class'UT_biorifle'.default.ItemName; Weapons[4]=class'ShockRifle'.default.ItemName; Weapons[5]=class'Pulsegun'.default.ItemName; Weapons[6]=class'Ripper'.default.ItemName; Weapons[7]=class'Minigun2'.default.ItemName; Weapons[8]=class'UT_Flakcannon'.default.ItemName; Weapons[9]=class'ut_eightball'.default.ItemName; Weapons[0]=class'sniperrifle'.default.ItemName; } function CutInfo(out string Info, out int i){ Info=mid(Info,i+1); i=instr(Info,chr(17)); } function SetStats (string Info){ local int i, pos; pos=-1; CutInfo(Info,pos); SkaarjW=left(Info,pos); CutInfo(Info,pos); SkaarjT=left(Info,pos); CutInfo(Info,pos); hugeGuys=left(Info,pos); CutInfo(Info,pos); Nali=left(Info,pos); CutInfo(Info,pos); ENali=left(Info,pos); CutInfo(Info,pos); Tentacles=left(Info,pos); CutInfo(Info,pos); Pupae=left(Info,pos); CutInfo(Info,pos); Animals=left(Info,pos); CutInfo(Info,pos); Brutes=left(Info,pos); CutInfo(Info,pos); Gasbags=left(Info,pos); CutInfo(Info,pos); Krall=left(Info,pos); CutInfo(Info,pos); Mercs=left(Info,pos); CutInfo(Info,pos); Sliths=left(Info,pos); CutInfo(Info,pos); Titans=left(Info,pos); CutInfo(Info,pos); Fish=left(Info,pos); CutInfo(Info,pos); Mantas=left(Info,pos); CutInfo(Info,pos); Humans=left(Info,pos); CutInfo(Info,pos); killtotal=left(Info,pos); CutInfo(Info,pos); DamageTaken=left(Info,pos); CutInfo(Info,pos); FriendlyDamage=left(Info,pos); CutInfo(Info,pos); DamageInstigated=left(Info,pos); CutInfo(Info,pos); KilledFollowers=left(Info,pos); CutInfo(Info,pos); KilledByFollowers=left(Info,pos); CutInfo(Info,pos); Secrets=left(Info,pos); for (i=0;i<12;i++){ CutInfo(Info,pos); WeaponTimes[i]=class'tvHSClient'.static.UnFloat(left(Info,pos))$"%"; CutInfo(Info,pos); WeaponDamages[i]=class'tvHSClient'.static.UnFloat(left(Info,pos))$"%"; } } function DrawBodyCount(string thingy, string amount, canvas C, int row) //just for the difficulties... { local float W, H; TextSize(C, amount, W, H); DesiredHeight=H*1.1*row; ClipText(C, 5, DesiredHeight, thingy, false); if (UWindowScrollingDialogClient(ParentWindow).bShowVertSB) W+=UWindowScrollingDialogClient(ParentWindow).VertSb.WinWidth; ClipText(C, WinWidth - W - 5, DesiredHeight, amount, false); } //entry point of render info. function Paint(Canvas Canvas, float X, float Y) { local int i, row; Super.Paint(Canvas,X,Y); //Set black: Canvas.drawcolor.R=0; Canvas.drawcolor.G=0; Canvas.drawcolor.B=0; Canvas.Font=root.fonts[F_Bold]; row=1; DrawBodyCount("Creatures", "Number Killed", Canvas, row++); Canvas.Font=root.fonts[F_Normal]; DrawBodyCount("Brutes", Brutes, Canvas, row++); DrawBodyCount("Gasbag", Gasbags, Canvas, row++); DrawBodyCount("Krall", Krall, Canvas, row++); DrawBodyCount("Sliths", Sliths, Canvas, row++); DrawBodyCount("Tentacles", tentacles, Canvas, row++); DrawBodyCount("Pupae", pupae, Canvas, row++); DrawBodyCount("Mantas", mantas, Canvas, row++); DrawBodyCount("Fish", Fish, Canvas, row++); DrawBodyCount("Titans", Titans, Canvas, row++); DrawBodyCount("Skaarj Warriors", Skaarjw, Canvas, row++); DrawBodyCount("Skaarj Troopers", Skaarjt, Canvas, row++); DrawBodyCount("Skaarj Leaders", hugeguys, Canvas, row++); DrawBodyCount("Mercenaries", Mercs, Canvas, row++); DrawBodyCount("Terrans", Humans, Canvas, row++); DrawBodyCount("Nali", Nali, Canvas, row++); DrawBodyCount("'Evil' Nali", ENali, Canvas, row++); DrawBodyCount("Harmless Critters", animals, Canvas, row++); row++; Canvas.Font=root.fonts[F_Bold]; DrawBodyCount("Damage Inflicted on enemies", DamageInstigated, Canvas, row++); DrawBodyCount("Damage Inflicted on allies", FriendlyDamage, Canvas, row++); DrawBodyCount("Damage Taken", DamageTaken, Canvas, row++); DrawBodyCount("Your Enemy Kills", killtotal, Canvas, row++); DrawBodyCount("Kills by Allies", KilledByFollowers, Canvas, row++); DrawBodyCount("Allies Dead", KilledFollowers, Canvas, row++); row++; DrawBodyCount("Secrets Found", Secrets, Canvas, row++); row++; DrawBodyCount("Weapon", "Damage Caused", Canvas, row++); Canvas.Font=root.fonts[F_Normal]; for (i=1;i<10;i++) DrawBodyCount(Weapons[i], WeaponDamages[i], Canvas, row++); DrawBodyCount(Weapons[0], WeaponDamages[0], Canvas, row++); DrawBodyCount(class'SuperShockRifle'.default.ItemName, WeaponDamages[10], Canvas, row++); DrawBodyCount("Other", WeaponDamages[11], Canvas, row++); row++; Canvas.Font=root.fonts[F_Bold]; DrawBodyCount("Weapon", "Play Time Held", Canvas, row++); Canvas.Font=root.fonts[F_Normal]; for (i=1;i<10;i++) DrawBodyCount(Weapons[i], WeaponTimes[i], Canvas, row++); DrawBodyCount(Weapons[0], WeaponTimes[0], Canvas, row++); DrawBodyCount(class'Translocator'.default.ItemName, WeaponTimes[10], Canvas, row++); DrawBodyCount(class'SuperShockRifle'.default.ItemName, WeaponTimes[11], Canvas, row++); DesiredHeight+=15; DesiredWidth=10; } y1_// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVCustomMapsWindow : A window that lists ONP custom maps // =============================================================== class TVCustomMapsWindow expands TVMonsterSmashWindow; z1q] 9 rn* =n-n?, rq* rqnRrn*<n-na/! rq*qn-I'na/!.n#6q-q?,Zw.n` */qa/!.q#-Iq q Mqa/!.q#r.q` * )na/!].n-qBK@-IqAKqHB crq* na/!].n-q?,-Iq?,2q?,d {1m-q8Q ~wQ *gQ a/!2wQ *Q m-Q Q  d2i-o7i-j-k- u/G2MY B8V!P-dV!AV! U// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVCustomMapsclient : Main window for custom maps... // =============================================================== class TVCustomMapsclient expands TVMonsterclient; }1T8\ C$a @u! U!8/MB?,U!<U!=DB%,KB?,b,d O8K2T$h i 6-'  $--T$Z4q!{ w// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // MonsterSmash : An SP game for any map.... // =============================================================== class MonsterSmash expands TVSP config (ONP); var config int NumMonsters; var config int NumFollowers; var bool bTranslocator; var bool bLoadingDone; var int LoadedMonsters; var int LoadNum; var int KilledMonsters; var float EndTime; var bool bAlreadyChanged; var int NumPoints; event Tick(float DeltaTime) { Super(GameInfo).Tick(deltatime); senttext=0; } function float PlayerJumpZScaling() //hard core jumping { return 1.1; } function CheckPlayerStarts(){ //Taken from deathmatch plus local PlayerStart Dest, Candidate[16], Best; local float Score[16], BestScore, NextDist; local int i, num; local Teleporter Tel; local NavigationPoint N; for ( N=Level.NavigationPointList; N!=None; N=N.NextNavigationPoint ) { Dest = PlayerStart(N); if (Dest!=none){ Dest.bSinglePlayerStart=true; if (Dest.bEnabled && !Dest.Region.Zone.bWaterZone ) { if (num<16) Candidate[num] = Dest; else if (Rand(num) < 16) Candidate[Rand(16)] = Dest; num++; } } } if (num == 0 ){ log ("No starts found - Reverting to AllActors check",'ONP'); foreach AllActors( class 'PlayerStart', Dest ) { Dest.bSinglePlayerStart=true; if (num<16) Candidate[num] = Dest; else if (Rand(num) < 16) Candidate[Rand(16)] = Dest; num++; } } if (num>16) num = 16; else if (num == 0) return; //assess candidates for (i=0;i BestScore) { BestScore = Score[i]; Best = Candidate[i]; } foreach AllActors( class 'PlayerStart', Dest ) Dest.bEnabled=(Dest==Best); } function AddDefaultInventory(pawn PlayerPawn ){ Super.AddDefaultInventory(PlayerPawn); super(GameInfo).adddefaultinventory(PlayerPawn); GivePickup(class'tvflashlight',PlayerPawn); GivePickup(class'seeds',PlayerPawn); GiveWeapon(class'SpEnf',PlayerPawn); if (bTranslocator) //give translocator in dom and ctf. GiveWeapon(class'TvTranslocator',PlayerPawn); } event playerpawn Login ( string Portal, string Options, out string Error, class SpawnClass ) { local PlayerPawn NewPlayer; local codeconsole cc; if (Linfo==none) //check for info presence spawn(class'ONPLevelInfo'); //muty will add to ginfo LInfo.bAkimboEnforcers=false; CheckPlayerStarts(); Newplayer=super(SinglePlayer2).login(portal,options,error,class'TvPlayer'); tvplayer(NewPlayer).Linfo=Linfo; if (Linfo.bjet) //SHIP Newplayer.PlayerReStartState='PlayerShip'; theplayer = tvplayer(newplayer); //SP holder return NewPlayer; } event PostLogin (playerpawn newplayer) { local int i, loops; local NavigationPoint NP; Super.PostLogin(NewPlayer); SetTimer(5.0+rand(9),false); //hack to add friendlies (no human support!) for (i=0;i<8;i++) thePlayer.friendlies[i]=0; i=0; while (i GetMonster (int SizeMax, bool Water){ //lower size max=greater.. somethign like that. local float Dec; Dec=frand(); if (Water){ //only return water creatures... if (SizeMax==3||Dec<0.3) return class'DevilFish'; if (Dec<0.8) return class'Slith'; return class'Squid'; } if (SizeMax==3){ //only allow smallest around if (Dec<0.5) return class'Pupae'; if (Dec<0.75) return class'CaveManta'; return class'Manta'; } if (SizeMax==0&&Dec<0.03){ //bosses Dec*=2; if (Dec<0.01) return class'Warlord'; if (Dec<0.03) return class'GiantGasBag'; if (Dec<0.04) return class'StoneTitan'; return class'Titan'; } if (SizeMax==0&&Dec<0.09) return class'Tentacle'; if (Dec<0.2){ //brutes if (SizeMax==2){ if (Dec<0.09) return class'BattleBrute'; else return class'LesserBrute'; } if (Dec<0.05*(2-min(SizeMAx,1))) return class'BattleBrute'; if (Dec<0.11*((1-min(SizeMAx,1))*0.36+1)) return class'LesserBrute'; if (Dec<0.16*((1-min(SizeMAx,1))*0.19+1)) return class'Brute'; return class'Behemoth'; } if (Dec<0.35){ //krall if (Dec<0.3) return class'Krall'; else return class'KrallElite'; } if (Dec<0.49){ //manta if (SizeMax<=1&&Dec<0.41) return class'GiantManta'; if (Dec<0.43) return class'Manta'; return class'CaveManta'; } if (Dec<0.58) return class'GasBag'; if (Dec<0.67) return class'Slith'; if (Dec<0.74) return class'pupae'; //lotta skaarj :p if (Dec<0.87){ if (Dec<0.78) return class'SkaarjTrooper'; if (Dec<0.80) return class'SkaarjSniper'; if (Dec<0.82) return class'SkaarjGunner'; if (Dec<0.84) return class'SkaarjOfficer'; return class'SkaarjInfantry'; } if (SizeMax<2&&Dec<0.89) return class'SkaarjBerserker'; if (Dec<0.92) return class'SkaarjWarrior'; if (Dec<0.95) return class'SkaarjScout'; if (Dec<0.98) return class'SkaarjAssassin'; return class'SkaarjLord'; } function SpawnMonster(int RecurseCount) { local int PointCount, navpoint; local NavigationPoint NP; local pawn Touching; local float Dec; local scriptedpawn SpawnedMonster; local UTTeleportEffect PTE; local vector Loc, HitLoc, HitNorm; local class Monster; NavPoint = Rand(NumPoints); for (NP = Level.NavigationPointList; NP != None; NP = NP.NextNavigationPoint) if ( NP.IsA('PathNode') ) { if (PointCount == NavPoint) { // check that there are no other power ups here if ( RecurseCount < 3 ) ForEach VisibleCollidingActors(class'pawn', Touching, 40, NP.Location) { SpawnMonster(RecurseCount + 1); return; } if (RecurseCount < 3 && NP.Region.Zone.bPainZone&&NP.Region.Zone.DamagePerSec>0) { SpawnMonster(RecurseCount + 1); return; } // Spawn it here. Monster=GetMonster(RecurseCount, NP.region.zone.bwaterzone); Loc=NP.location; // log (Monster@"Is at"@Loc); if (Monster==class'Tentacle'){ // log ("Monster is tentacle"); if (Trace(HitLoc,HitNorm,Loc+vect(0,0,750),Loc)!=level||HitNorm.Z>-0.98){ SpawnMonster(RecurseCount + 1); return; } else{ Loc=HitLoc-vect(0,0,1)*class'Tentacle'.default.collisionHeight; // log ("Tentacle passed! Loc is"@Loc); } } SpawnedMonster = Spawn(Monster, , , Loc); if ( SpawnedMonster != None){ if (SpawnedMonster.class==class'SkaarjTrooper') SpawnedMonster.skin=Texture'sktrooper2'; else if (SpawnedMonster.class==class'SkaarjInfantry') SpawnedMonster.skin=Texture'sktrooper3'; else if (SpawnedMonster.Class==class'Pupae'); SpawnedMonster.SetPhysics(Phys_Falling); if (LoadedMonsters==0) BroadCastMessage("Monsters have begun their assault!",false,'criticalevent'); LoadedMonsters++; PTE = Spawn(class'UTTeleportEffect',SpawnedMonster,, SpawnedMonster.Location, SpawnedMonster.Rotation); PTE.PlaySound(sound'Resp2A',, 10.0); if (SpawnedMonster.class==class'Tentacle'){ SpawnedMonster.SetMovementPhysics(); return; } Dec=frand(); if (dec<0.5) SpawnedMonster.Orders='attacking'; else if (dec<0.8) SpawnedMonster.Orders='Wandering'; return; } else if (RecurseCount < 3){ SpawnMonster(RecurseCount + 1); return; } } PointCount++; } } function Killed( pawn Killer, pawn Other, name damageType ) { local String Message, KillerWeapon, OtherWeapon; local bool bSpecialDamage; if (Other==ThePlayer) ThePlayer.PlayWinMessage(false); Super.Killed(Killer,Other,damagetype); } function ScoreKill(pawn Killer, pawn Other) //does not affect PRI stuff. { local string temp; local int OldScore; OldScore=theplayer.Scoreholder.Score; Super.ScoreKill(Killer,Other); if (!Other.Isa('scriptedPawn')||(Other.IsA('follower')&&Follower(Other).IsFriend())) return; if (Other.IsA('GasBag')&&GasBag(Other).ParentBag!=none) //giant hack return; KilledMonsters++; if (OldScore==ThePlayer.ScoreHolder.Score){ //not added. force: ThePlayer.scoreholder.scoreit(Other); ThePlayer.ScoreHolder.AddPoints(10); ThePlayer.ScoreHolder.KilledByFollowers++; //close enough :/ } if (bLoadingDone&&KilledMonsters==LoadedMonsters){ ThePlayer.ViewTarget=Other; EndGame("Won"); Other.GotoState('Dying'); //hack! Other.SetTimer(0.0,false); } else{ temp=Other.MenuName@"Defeated!"; if (bLoadingDone) temp=temp$" "$LoadedMonsters-KilledMonsters@"Monsters Remaining!"; BroadCastMessage(temp,false,'criticalevent'); } } function bool SetEndCams(string Reason) { EndTime = Level.TimeSeconds + 3.0; GameReplicationInfo.GameEndedComments = theplayer.PlayerReplicationInfo.PlayerName@class'DeathMatchPlus'.default.GameEndedMessage; ThePlayer.PlayWinMessage(true); return Super.SetEndCams(Reason); } function RestartGame() { local string NextMap; local MapList myList; if ( EndTime > Level.TimeSeconds ) // still showing end screen return; // these server travels should all be relative to the current URL if ( !bAlreadyChanged && (MapListType != None) ) { // open a the nextmap actor for this game type and get the next map bAlreadyChanged = true; myList = spawn(MapListType); NextMap = myList.GetNextMap(); myList.Destroy(); if ( NextMap == "" ) NextMap = GetMapName(MapPrefix, NextMap,1); if ( NextMap != "" ) { Level.ServerTravel(NextMap, false); return; } } Level.ServerTravel("?Restart" , false); } 1\8yKpD!- -`o$aL>q!\  47$ ::$ TvEveryThing Notify Initialized/a0 7:7:$7a/!W 97a/!D#|UV7,plant:7:$7a/!X7a/!P7a/!^7a/!F7a/!N7a/!E7a/!G7$7a/!]7a/!Jr.7*.7a 7 7 r7 r7 7 W67 ?,7%7  P!r7 733S@7ffv@7&aL?7710 I2]8`// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvCoopServerListWindow : main window for browser // =============================================================== class TvCoopServerListWindow expands UTBrowserServerListWindow; w/bxY  b.0-~ rb* abn U>.eh rbA- -U J2R6L2XoS ) ^] ONP CO-OPp]Wolextras.tvcoopFact,GameType=tvcoop,bCompatibleServersOnly=True,MasterServerAddress=master0.gamespy.com,MasterServerTCPPort=28900,Region=0,GameName=ut TCCCCAAUUC@dHw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?Hw@Ͽ>!Ͻ۷t"> dzXWp>"߼%p>!HX>"0<*>"o: p#`!"(%|~";~ "B#@%DX>#_pC!|KP> g(og0u~p(!vA |~@2(7A}ݷ>'?X~k`~'0 |be;ꇻ惰<"~ &h {X'W!O@_P '@$^$MXh/?0ȁ<;#Է{H;#?}!. ~~_pU X8 1}/?O 0%Dȼ"/8dp>Gp%30>+J"?O?% ><@A"% @0}#P0@P$@~7@~*A" @'5 Q~.Hh2(@ߟ}G}@~.:X? >~#>"X~!Hp?"%~#X~!+~!X~!%~#~#H> 7X #%~# # #о#о#о#~#>X~!?>?H???XX~#о# #%~#?E>ADAj TCCCCAAUUCe TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCC TCCCCeAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCAAUUCe==L>@ A?T  "$$((.- (.& "$'#(*+ 3[.&\Z ?h@j -0,>qt=vDJ!!OIM%%H`U))V)Xe!/n/Ra_^/f,3c][[]P\i4^[e[TjijedT]L-qY:~MS2MJcbc`6R{z$K$|R{#f3@hg5@CQDBlkAOBxw>=mHsr?tHvtU<uEF yZ GEyI8 p0_9p1o1 P }~Q7V,X,W+X(N(O;a'nhmP[[3[3hh3h[]]d][[ZZd[SZhSihhppih]]dcc]dZ\\cdZS\ZSKKSi,,Kip,i~}PX}PX9}LRLRLR1LILILI1bababa5b_b_b_5Q#Jy{zQJyzQy#"J#2"{!zQe#zQezQ#e # 2z!?fg?fg?f  4g?mBCg?mBPX}4 CgA@jklA@jlAj@<N`'A=vlwAv=lvA=<wlG>qrsG>qsGq>;rsGTustGuTsuGT;tsDY ExFDEYxED Y  7Fx D HxDHxD H 7 xo0^o^o0.^08./on0ono0n-0-8/9O}|PP|O|}~PO)+(6+U(WWUWU+)+6*+*VWWVW+V%':$'$MNNMN'M%'&:'`&NN` mg?BklT   !""$%&$()*(-./- (.& "$'#(*+ 3[.&\Z ?h@k -0,>rt=vDJ!!OIM%%H`U))V)Xe!/n/Ra_^/f,3TODD"D D " D D"DD"DD"DD"DD" D!"D#"$D%&D'"(D)*D+",N-D.D/0"123456789:;<=XF>XF?K@XFAKBXC>DKEXF>GKHXFIXFJXFKOLKMXFNKOXFPKQKRXFSTXFUXFVXFWKXXFYXFZ[\O]խ^XF_XF`XFaXFbKcNdʭeXFfXFghijXk>lmXFnXFoKpqXr>st>uXvXw>xyXz{>|X}~>X>X>X>X>X>X>X>X>X>X>X>X>X>X>NΞ}j˥}ͦYXɨF1ͪF̫1ͬF1eeYneN᭵NWFWWkkk}11K1KYKNb&Nbvͪ>? >h8  " " ""*xn*"З0 `@6DH2޺dʖUS9 .ʛxxfʳzӸٍ_߱gʹU(--8_\<\_<=_ _t_TH_U[\bzRDű?Tt=L`d{C [`g^\`t_U֮$zzXt@(;Hfzw2 "{x[dT\ʊ߹]+ ˹ʺҦӉ |ә۹b.G?L([ Zǹ.Xk UY 9_ǎd8.U-6ߙɹe T\6 S{9z_t_zӮRݶZzݦ<[[8dT_T9Ӫt^r~-`C-.f^x^H{zz{T" 9Tޮ݊D 7Uf` 5ߺIDӜݙc+dgٛa\\d6f[TdGa<\ӜUfH9 C?;֛ۦgߙdߺݹ֍?? )-  \\8*zXgz{UI.GT/fǡַ{৅ಡ-+_-d๺`ӛ֙#+ʛH֛xݙ:zaUGx\HG-_DE^T?9HRҮٝt Tf\Ӯ Y`T_<Ǎ@X_d?-f*{T-=_[@>'f~ :_p*GfG{T__IpߵkGMH7ZHޜUދd{ݽxɵfU+(Ǯ +-.;-H`X[Yd_<_Uೳ=TdHxWfa"2eʮ{EdUb'G-+Hz+f{Gg9\gG9Y{\Hݹ U8-82(-H~@[_r@-k aݷӮ֠ʞOy6gdٛ9# R+y߳eaU8[TɊH-G?~@{UU Sfd_zT-<-U ݺ  I ߊZާݒXX@ 8<1\tH_1HT{@;<ITHRxtX? df\d;-sf^z_-[X1G-9_t^f88TYTf@'-f`Rʷ<9I[@T@=(:XHa1Dz- 9 f{T^z_'[\T\ypྊ{"Ԯt- IaD9+DZg`[9`(t;bUt+xzf '2 {fUb+"RU }ٺԱ]DbD,Ӷxޚ\DEg,,DGgeʉ9ҽbdӧzd2]"U\U{ົԶGzbH"$}ʻӳG޹[gгʜa"eʦٹɛɮ{2a6YS_Ӡ <8YݛdM9df8 к^`X 2*Y~U\`\1[;kflaz{\zzzGH LU?+ ==;ET .\ۍ9z`{x]Uɍ` u)X۵ߵ೵ݭHbg q_ʠI,ʚӬYaYZZfsdIȚɯfzGzݙtRUR GGU-(-߳ٸ`Y1s d_   <=_Y{.{___ٷX)-2G\{eGfz~zT\d{]dG<H: _? T___Txzz]f2Vqປ_f=껗JR$5f<纬- Y:߸"aE{fg9<;őӎ͖IݮʹʧHG\aߵdz\<-ٹֺӍX8@ӊ1??~TzHf`=ݧ''T`{I&S\ʧt_fz;8G9 ::.81.w1'._***CuZ+f8fkHӍݴ;@`\g`_du 8[X^_x)99 "GG8=8=HH98H[9+HHdTdxi\.0D6_rsٽGdٮӳ9EU 9Un_Sʝn ٽHE HʷDߊad论Lz@GgHa9b` UXV?1YX~z-R-=ʷ{I+1+?sXt{ɹ<<Daf?^[H[[``1M\?9-.2TU<-=-fTU ʳTdRfٙ_m#P66ܘDk_rfӖ.{ɹӽ\+axD gDMaO{gIfɮI D,_dadlәg gUʷ{1_t\-GӸ\Мd \\'2_[8Hf X[<_+ӮɎ)?^<1_fTdffŹ@<{\ʮxəwa;) [--.RYfT9@-<9{Tagd_[]HS굻ທ`5ǧkșۺl-.-{{Iey׹{'U#Gf9UʫgxH<ʱ@{kU6Ix'{. +?TfTg^T(?> в_E9_o?_G\{fr>;8]I\~X@~+^121;IG9HI.99\TT]T<299lsT22X?`~{g,ߣ?IaUܺG ++2"M{ӎa- Ela Rca2ZӺY+RYűzY{GaMEGf1-zHeH@-DGӧǦ\\D>1 -D{`f{_{ɷYus1(.l\xd_tg< Rz@<D\+ fb{H``2(T~Y_{T{d{~`>^8Ue{֪U[kr2H-GH[_--GR\zk _YɦG]\ݹʹӮ.ַ߳ G# ֳgDD ǺEI_T\ yǛd{HfXg -_<_\`G{{{gdٚ[ ZU?BrC5@T_9 f RT\ *A/GU`*)t@<8{fzٸӤ__{Xd_UʍB'[  \f_?'HH=-_z2U{m,yx<ΗP{T䡧ɛʹӳE"U. affglefgggٹa\G9f Y+ +lbZ<-U9S_+xɳHG1x`<+Yf޵ٺfI 2~<-C/'-H9.ʼn_< Rt  55>{=Ɏ[ժ&s;<d_f{Tt@T` L<`X18H=2\_\f _ȷ]{{?:ʛʸٛ^ʳ \d{a <"{agdz ."\FGH.YR_=x`l99<t{MgǺ" .@-U+DDI`G=f[ '&'\8-fz[ū?fgd\ԷʙegZbٺUݑAGH2 "=\aT-axx_Ŀz-`?.UZz^]tGӠ֢ <}ӯ{fbٮۮ+{ݵME2gٺ᮸"_<-G2dgfzdɮ\LRl\@??R( =H2x=aDg2?_..?ss{ɸӉz(9RYz{ݚb .la\XdG't;TY{f\aR2T-Yz'[;`_wC,G*2adUa9d9@.~?^` ˽1ɳɱʝܻdۣ_፷ʳǹZ9~ʘbf 1ppzH8< α\{8T@=Y=._GUٻӗ   U<-{Tʭٮٜ@^sX- UxIzt<1;:@\[eHUdH<``dz[U(dGD{_UY_`-]--\t@sYۜyHtx{gE dޛʮR{fڹGUdtZ2`UT2fLf`f-{lbf\e- ȸݹ\D\ɮD Tt@{?y߮1pR`dUk`Lf\ߧӦ ʍ-UIY-.Zf{M6,G߱gX_`Hddzdz<6_Ue{g1 989td\zӊݭ8wsfgӳgE9RHlag{Ӧ빹 HT_x~;Hכ:ba ʹldzffzgdM TaD1zd\zH_H\G Tߙ=`s*2;88[yaD[9ʱ~sI\1`Y۴zUHd{~;- 8-z-<`U٧ɥҾl5ę{ʧTM.UʞIf֭ӎ@zݺ߬1_U9{HRDdGU:ӛ-.g{S82 g;UYs"9=8` -H12-T=\sXzsx<_U֫`9\(Xz뽳ʴʙ`H{F2W[ɛ{~DZzT-G.DDzɱzY.مg$ɹ( _Yӻ_<%誳 -Xzd?rX<9z_tz__HHT'<2XH{gl_R`pr'1Hl~G  .28.<[<{51\;L{kLU"YY8f(1a೽b߻OY15p{{ʷ;RdyzTbyYCǡ1.֛ɹ28@UInݙET=t(=bfzzzT@H-_|2UGds2<\\UUzY+u-= f_`z "<+'1<d k8z?L1gz6f99=T_ULz{g'[:?18-\,9xf=Y]dͦX\SVʬӺfʻl蹮ʬM bdgT1z_-V` _lә[fWԮ-{efzzaff{_`x ffgd2~C,.9H-TTUy>dxb&ňz]`TM TӚ{ݽz_Ӧxyɍ_gH,yʷ.s\a'Byfdfg=_{=Iz`d=xUz8fHIxT,'d_'_~^(]UGZ{֍~\g@ ^zX-Lgl?<@;-[`z\eӧ_`T`gȹ{1?2* 8_.Da <]Tg򮜷үu: }ʺ۽ٷlI\{ٗI9{\<[+fJTdID_{S1xٙxasez99_-ۮgez_  T{[9[x=dfGUf<;T;=\[=_[tT`_f@;- [`;TZ2RzgxTHX2<[u (T-ef 9IS_Vw;*sk/ӳɳgܻEٺED ʜٽnl{YskS۳gdaEۛ9x 1DK{ BX{~{<1.9ҳxeR<-H\"G\\gbU?1X~{vX?>`s&G<@- lL;xH+(_Y<;.=eITޙH1G~ ʠ88st*(^=H Vήӯә{qn٧"H.ZǷٛ.Y=|.Y𖛯g9{6\l ^~-[d<{lҊӧaURX.ɜckz`zUgUXCH@s@Cr>*4*(;:`8-TTX@HU_d2f[9`"݉^gzU~9 DH\G_~5ݲ[(u[;vXM%ɹUS۱ӊa .G6eSٮdӷ9~dYw+_ayGzsE lǧӺU{y妧lEpszRf9GpGݱ{gx' H :l?zXṛx֯ʼn=oAL `?SR{gdɱ깧лۚȻOa"T2RnUgbaZabxtaSs/ʦ<D_zЛz\-,XIҎzʊ9?+ʍ^zd_t?xTsUSUa{rXRsyY58 "<9 .9<9{8`U{_(^R{`;+ֵDIHYǜ{   ٖZx" aEHǛTfz\{l2|+d{sCxs&E__\8<zRp?s__ɫ;z@-w{{s_lFXSfd-<`{ɤfyx'+ =8<81GlH=_ lʍ;t^ٹ_-$ݽ{<ڙݱ_gٽkLnD2ɊߴʊG6,G yD{HbYRf_z_{ʧ~z-zTtUH  <?H\<_`: IH9zzds>v~__G(*? HM\kXT9d<_ݧL(r`^ӽӮ  ʳgE+EX:z_{x;-tU$ؗRὯdSZʧ". Ȝl{{R9f1llYflgbf{:{Рadd#UD^k"+xgdg?'೙CAwxY..;?Y1zzsbws-^t{dLzH]{\d֦8TfdX-;9H?T_X[`?xz=<]dGbT]`f`(Hl{z Rzf\fGe8ɑVfʹ٧{adZnxbHT sxdfaggȻmϊ sɹ" Ӝ+ IJ+RcIg<-ӮCA))x<+? ;TY+fXpwXdz5ŧ<_t_{zd{fӹ1^xYt;19GH=8=Hf\f^zt-H`-I.+9T;9dG_z1~~Lt^^_dUHTx|G`{f@`tz~.<12<1;9_t`f]=<`-zT~t`fH{``~+Gbٷ{dРxͬݮa=9MUz2ٻ_? ?ʶY.U{l6֒9{Izcd~@X-`-@[ 9-&^zTpY^CC1X__H+c_tz-rCfmN ӹ_ӫNJZz\UUqӮ]Y_7 RH<_p;8[t`TXT<wzٷ鸖ӵ8T:.G.<CXXpH[XwT 1/Sߗ=T :b[^<늷xGG[U{{LX`ōg`[s@IۛYdU_ʺzۗIݦ=֮aԛ$$|Ǚ\MZʳڙҭ.YUӦ{ҠX^_~sٛ=dD92\gU<Ӝ{H??pU{ 1-Is'??s8xۻU>;;\=tTVzlӣ+~t_'_TTfkMGxzӳaȤ۵йl7z߷гٹIU{ߙlʥz{fa+zxӵlkkߺ?-~T׫Xۅ9f{XzT= H-H9{`I{T{gOn_9z?dX-`G\Tsʦ<8@`<+ TzX`^XLfʳ~s^?;HzHHʺٖM'sXrtɦ]I:T{_~] 8{ Yxx΋ٮӺTZea֟xdвӾӋٛa9يű_+Xf,_Ō*x^t}.H8Y{ɱ[ _{_d`t>@?;.O<'_^^ad TzzL"WRӹ(LaH YݺW"IٳYӺ6ʤ<\-,G{ʹӺaf{z +-<.\{.f`_C_`T[; 1B4sG<.8?^Tztt[ԱTf{HGz[Үݜd.DTTk{׳#ZٸXY6HI{GෙV{,d2M,ʙgӧ88zG,{zȧӡ9еse5Ƕߛ^{Ӻ-Udɧ𳹜򦦛T{zz֤E--+TGL9TʷT@ǭ -t< 6211xGl(@XTrt[_Ō`;T=H{{{[s. ggٝb= +ݺ{.E ]ZF޽DdM aٚfx^d_ͦUٺUT "6ȱ l_~?ߛ"{۹<@zɺz_ʳf2>zz\9d.H;THT8YɌrw^;^@GT=?X;TaRz^_@twv@TR<ݹ@=;>(^ӷdg`KElˬʮזķ9" ?nَ-;rCXf_^8  1@=;;T<=~w[_w^t@sɷ(s1(;-Rf.z`a8 $fz֛<"xʖfӻӛi-qI߸gd1D}ڙ+ӊ_] $s"\XyMM__z2,_TH{zݰ?r[t>g ӛT1*~^6--^ TXtws^^`_^zT ߷T?-?_s(`{ȋ <Ӣ 7ٳ{bp[E{.ٸӜԙ"5"SgZx YɺG Md  dg_drsxHzb{ٷӱ~Tgʍ -yɧz<9`-2dL{f_Ywɪt- 9C<gHwfz'9ER<f~&X\z'=<(9[_=;`GUHT`?Ua?sXзٳkΙE 0lg;ERM#zM Yߚݺߛ |ɷ뛱UdxʚӦ\L RHнRʳ GRʷʱd16.yӹʲ>{\" Hʍ5 T_TfHfl9ōCzx{G+-șཱིױפ8 ,_ɧ֛8_뱷ɧ݊^'8{9l< T`-;;;=+[<،tXC~ UOət&?X^T_`@@<-G(_G`{X{?k{\T=-[~a;+$ǖdǮ]=H:ΧߵdU,{fI  ֡1]. ۭ.H9E RSYʜ6Yd_xM 2YYUUUy[Md{ʤő?zYɷݲֹӧ \ G[9+YY(T_Tz)(^<:-2X?(d -ʎz{xpz(aʊ__<8-:=1;z{ٷz- +Dl {:<YxӊUx{lbk߳ߊ=нcU@ɱَ-,G:UGazT=U?fzdT8..HU_=~''CGD`OG\Cܺ <\=8T;=tT<Hɯ. bk\VߠtXٻ{ лZUӊkI'`ǺٮdߺٙǗRY{+ӫӽdӡͲGߋ@=ٳޖױ8?) Κa1s GG-D\X+g{dsX -9-_I_fTy{N}U嗦 Bpu1 3ߵl/ӡYkRYE9T<ɧk ǽTd<dZ٦? s+ۺgI< _t&͸-Dfʍzʹ`?g(\\D譍-6d_9-~`8\tx{=H{~t~>@/1g Mg[X\ ]圫 $妊)N%3ߺ"V=x~Ա_f ǍӋ9 y괣7H9 ^@9{ӳٴ"5?f`ֺGxf_䭍xgɱ߷_YdGYLz-^_-{ĭzT@(MC9H8HT8z9z]5ߺ5{ztB]-*5q<ֽ5 |ߛz_D+p~F0ZGf l6f.+x߭~V ٴ{Rҫ[gdݷH96x_z(T?r~t^ǮɌT U\z( `z;~?zTX'U[_txt{>*@R-9HG2\.+Ӳdxa`{t^{kMӾ+ͭ |ݗΌ_dҮ@sݹI+gV.TE-YE2gUz'-1xз_lU.ݻddTUfݗgaGIUɭٯTG-x\ɉ^ݮӲɉz` UdUs<5^\[H~sT8(2`zxUת`9(^@___Ӆη*_xdNaY-9֮ŮQzΤxg T9GE xH.U6й?כ2ʯ.DOx9ZӺ<6 ߥ,R{ʎ{ -G{<ʊ`z.HzGz=[91TRt?_~ff_ӴG8s{ӹ^<(>;s I`\~y5C?`U``_kc-ϣ2:_dbNG%񎫲Ep +fTTDDZ"gfTY>s-Uaz`\ {ICTӷ[z+T \6ɢ!GGFD ~Ю?Xz1ʖ='xdRy.  ~YɻdkRٽֻ9.{f`ddtz^9lX.g׎~^'C+ 5+lfd8ʛXX\%ۡzߛʦֲ:=kqΜaՍC;  [d-;z-I8@8\dT=4>&*<@_:zC<H <_\_[2zf{`9Tq߬Ľ{ݬʲ"L'ۜz<ኵE${zbf-+xy󳳳ٻa<=Y2GZt`ݬ{l 8ɮzǛɷӍ;y 9H8T1_.=<{{Gzf[zvCBBs@[:{~1-2-<\`x1 H89:';[D{tMz@H\.HUzpX.g_޲{b\HZӳ+TٻzHaDz{fRdgzfӹ.UமH;Uag{ɦdIb.--99` GtgI+V޳ɳ` \fǵgd{[t1<^Ugx-ʳzdT"8f.9Rg^z[$֛xzaI-9+ 9UG Sl9UGGHӲTd-UTɺ8.-2UfRddTӧf_G=fal-d,a{+gtrӸ۞ -H[gzH9z9Z.^֭\GzӪ@U-'2rzTLz[TgfR.{- U<U2gzb8_tuʮӧLH"ZݧUgUHɧt.UDH[YC-9I{('Xd-s8={[sI<8_xg?X8gtfg>`9\29\@FXylĊH9EXaIgEgGfxT.\.GxU _-zz`r=^d_^^tzr2xg9<U<`~dG\{g{[zLxd\aߍaʮT.fHZ{[fSI [\=zHaT_XT9z+?CX2X[sz\U_{k<=.fDXқD޳ʎݳ.ʲd{ǍzztRTDUz`a\ld_[xsӷz8T[<.{_^\t?__- XskG~Gz٧ޙRӮ߯yٸ{ә+<Hxk"Uz=ft{z[^tőGX+UY_dT^HtrzzM ͺٳt. 1ݳ{M\HEӷ~9H_T 2X G_ʳ_Hx{zt@<<+"WӺT֯-{xxTGH{_xߚ t^f{H^T_Gs=t<<~r>gZnu {ҍ߮a `2Ӹ.xʉU\t{-^`<8{\d^X_a`ʸ\Td<ґd9..Z8@_`?z{dszz[9--H\{H8ʮʹ[R ޮzkӺHR1zRʹUXz-zٜ_GdʱӊTGg`zR[z_g_rCwe{ (G_x`l\<śb-ɮD Xdg2zUފ+G>@[t.\_[GT{x^T߷ɜ\p2ߠ+ɺfH .ʳU?ߜʺ+?ٮlU8ʺӹgɎHT.TT\s@>Ut'9.9;\9;T?x@\@Z|ɒz62ٳ{\ͯ"TYS{ӷT-Rӷ֬Hɺ{@-zt_z_zt@T@[-.{GHEf{UUBޮʬZIӗ+] ?]Yʷa^f@d{ӹɷӛә^,x[Tt`G_`_fG[^@zf!tro7*U3Tnl->e+'m@R+ 0Uz)p-;pjg,oqMGclAl?igeu[/lA% EgqeYdgI, 7'.f>cfuP *ww>cieXopn-6.y0-7qfaqfRgIcgf,>kRdiqbU@>kad[f`@#@SgqkTTg>>,#Sg]+$kkeRigSgjfegqogcgjf+gggS>k]qwokkR`jgSo8qqT>YlokjS okeuok]*frqg>!dgqjT@Ufegjzijg[eNfjjgEfjgTgckfgIj,jiEke)MzSwaouqxoqXaoozzwfo/rzrqwoxwnrrqupboomoomworpvoTproqouwrwrrnpomn\mlnWooZznf:w[[U\uqqooomoon\aqpo=rqfcowuqao[or6zwofU83pNOYN\oppo\nf[@U5I11!l\aYVWoww[oqu*YdrJadW6ra6xoW;wJIoIYwwaOdrrwUO;oXppV<2Ul\X!oooupop2qxdo,\rW72\wWznooowooa1YYJo`T7V[,w,Q5o7cn"u[nIZ5zq, [M[NzzfFoqf7EXIow3E8aZ, 55dVwozrfUE,o@*"\3 ,noooorooawdawoonxpowrrwro,eMZHUYoppwopuwuo[,euZIrowrwoa[J7,!53!J887uJJ,778J`,Zuooxro\Tciupwmfueorod1UTuua7Ti7pl^frppmnof5pollEoon<uxxolmd!Vxpp4cprxAlKrln)vxm UpxpAYoppp2AFrnzpolllV_ouW Vpx9xmomZlVVlq,oxpmompom"-Xlporrt3o,4xlVlX8Xxl2NnrV-*lm< Pc-nX0HAl<1\"oa<6.'a7aG5[w8wJ@KGL0G0*fOotFvdLQGdzvxdZondnzZtw~uuwpr"w66wdmZ|n26;0O:ZAa_o:pZoQFUOA:=XNUul1VlopudZ"nZ@o\px4p7\@punmpl53;;2<<99C.B0:C';E7UE_$I ,P c,`>`AQidLLOQPQhTd`K`OdWaWnPiOh[kVci.,"08$;/"A;'CA8AP$AK4Q.$QA$OE7c0$aC$fA8WO(VP;Vd'Wc7eQ*cV8hd,ic/xE6uW,vW7yf.yh.`@'!LI1pB0X^]|x(Kup^VK hpxDr? _7?>۷~O7AWWA?/?7_߁<z7G{_gчB׼ӗT0@PD0>cW@MASv@]HBwWA·z {HBmh}PAӷѯ?% 8@_??Gx?_? V %7ۄAhFPHD8_?Ho>>G@@g@{߁@((YB"B\Љ7w%~:wO7ze0`Wr@c~j(G~@DDm@0; ֿz H(i`B/HW@z >_c= O>YrcAU]|;(>(P{<x?G8~??ð*f>p8pS?Z<'}⧂o'ޯӷ7R7H!ϸ8M(&Cj@-؃R@h0Q-'hBo~ǧ{|/}Sh@ JJ\AӀ\ׯ7N(G?Ar@W$!Br?YGկ,Y$>߾ ?5)&gz x h! (A@&ZWWȁ/y/q+YAm@G/W@BH`링/|PBַASHAm`y@A:@?Y GPFpg(9: AYB'Bޏ: A8grO()'sA%p1@D0SAr<׾ =7@8Gb'~hzT(g~gAoyS,_~;pIN8 zz@|x/n߂CW@AI0>*`>:׿WX0z /_:U'h?pEW׿=@?j(;R?x`C??wx:@?0|sxw77L =G=ErxGr%'x'=MX<{>AV AnCC0B\BANC5V9k9nCC0B\BANC>>????q   !  **)) 0 555///.5EGFFE=NPSUTT[[799b ccchfi//#GXXq9jj\\wz%ooo>.z{3;:%]] . |ZMLLL**,0Rz qsr)0G fvf=K+cWJN)TyT;   gbi#OL-ALGG2 r;/<,xlE*f55;;0FIR,"3PMvvnjjU {,"W))>TrcG/'v:m-h l>T684WhDQi6J]sF /*o /Q  jH GDa`''`  aD~lleV&&W}eXZXVW}dd,(-,(8N>8[?[mnnoo/}|}/|@m@{{996OO11[[C65NOffC B5BP&{qqv{zqzqvkk>wwM/?M-+0+/07U7Uyy??tsstrYssYrZ!S!o$QZZT>``""$">"o##:;:qH*p qF LFR*__22zzxx]DyD]xxQ\_T\URffrrW#g^_^y^VV^HpIHI;KHLJTTJ''SSRKR~G~$$OW#gOPS OU&(%% Fnm))AF,.,.-0mE-ppEtiji||B<j@@nB=;t;<A=0uX1YY45X1.P. 7415PQQ<NNM3L<4M3L=4=h..HHCChhh%%iaaec:u9c:ebKKJAbddlIIjvlvkwkcbw]bc\]\uggji8J6A69873u2 231)() ~EE!!     H 8ROO<>22>I2I;9GL9L5L57EPC=PJ?KFKD2/.9q9577r2;2r/RR,Y,'W'pqcqcBDdDKKYI_WX`XcbbGKJ6J6aY55Y``YYEFG3264.1/EUUUVU^U2\_^*+]\'p\p<>rrmi22LJ_I^`KaLf((_^'M^M`aN\a\]fff(f-+&F','FMG%FMM[Z'Z'a(R(RM223ll$$lB%C@'rCm'NRM222\^/^/*/*'1/,,9:/:///001 /.i,`9.idi:d:x2x3440}++}e$e~p E pdH-Hqz}|V~e~{dpeVqqV V|V {{ V  >^r$r&%&s## r ss#   <$\$\%=%&=^$yxwxxijjiiZYS~{|wy}~-,nq.q~}<}<:,..;:7966588:9AC::8;;PC~~:s~PSP69rr~N8MO98S8SQ9LWWTRVRSvuvtK|xtUstupputo}t}KntyvrtMLLvfvh''||MLzNN0NL16&&&777t7{{&&{&tt7ttx{{tvwuvC8PE"##""E!EELLEM  "!!ELK77KI8I F<<8=8I=J>HBO#R@58!Q"BBgwhgwhx'|'xx|zNfO0Naj1e1ji2i2xL~W{sU 10003041<<ml;lHcc<;b;HHHG((((cbPPPbH((moSSjkSUUTYYSSYSjkTkTSSUT[fU]TdYZZeYY[oZT[_m_mpnlo++*((nn(oRR++R*(()(d[dm_p_m^o[o^lXaX\jk]k^^     QRQ=>**=>)> *))      ++ )     A @@ADDA C 554?090DB35149294     $+*) % kn/RQR00 2q/r/.33q2344hi87A?>A?=@A@A>A=A6@=>?5usrustququrutuqtrs$p omponlpl pm p np4lnmoFDEDFCFBBFEFFC3CBE&Dzx wxzvzyyz wzzv2vyw x&%$%&&&$&&$1%ifhifgeieigi"eghf0/.-'-,+-,--+--+,,~}~|{{}|#{|}~%)(                 + !*z   !"#$%&'()*+,-. 3685:8<>?@A46DEF9:IJKGM'OPQ)STUVWXYZ[\]^_QabcdeRQhMjOlPnop`_(tuvw*yz{|}~ FH0.ghf #&"!!%    !"#$_&'+-. NR;56789;<=>?@ABCDBF;H=JK;=NO67R:TUVW"YZ!\ko_stucxefbcdjlmopuyzkl}~zVY[YXnm@A47  '*A    ij#$%&d()*,-i3o5679$=%DE"GHIJKL')BCTWZYU]V_`abcd`fghijklm\^psuvwxxv23*]^_XZ[WXWy!$#$yzwghjigch     ?#" !QR$%*+,./13T5W7M`d=>?@?BCDEDGJKLMNOQTIJLXbec\UYW?Bdefghglmnomqrstrvwxyx{|}~}y|{ghq8UY~24P-/NR\^UTY@ACAAB8  MR;GI ${nmq^01235stNO*)?/0G2z}QYYX'-,ade]'(MNdfk$&yzHGBDbcf'*MRv\]#%ST  pq, '(TUNLOrhvuwE"#w>}?D$ f~soxm f !"#$%&'()*+,-./012345678zIIUdwrrrKtvWx^z~Ly_ Yq q ku X a- 1 h8 8 zF J s` a ib vi i r Q Uj y P} T} } J v ^z z ~ BByyj auu?XPPAptHxyq78>•h6qC-zBzzK~8i:iS6TTTHxxSJAbApItttXvLK~~UjjUm{Q|l|B`fFleoo+TV>WV\+`S`aadZE]Eb\bZdeeA[[AdZd@QUS?VQV>WWX=\V\\ HP P QS S FU!^O!O!^R!R"OO"NU"U#U#QV#TW#W#W#X$Yq$}q$q$Y%s%Kt%Q&&&U&'vv'v'v'^w(oK(K) )d))M)YN)kN)N)kO)oV*#**I*L*#N*#Q++R+R+,),L,J,,)M----cO.^I.K.Ci.Hx.x.y/c / /O//J/YN/010_30J0k`0ib0c1vF1F1F1w2qF2zF2F2r3a-3`.3.3a4_34d84qe4e555P7585Q5wS5~\5]6e5656s`6f7\4747|]848wS8S959A99qB9C:s::A:l:::@;};;<<<K=<=x===Î>?>z>?E?i@8@~\@\AUdAXdAcvAvBdB}CPDjDE/SESETdEdEdEdFKzF(FFևG'OG*QGQGPgGgGjHOnI+KILvIJ{I{I{JOJNvJvJ+{J{KUKTdKdKdLLrL&sL>sLtLxLxMRQMApMPwMwNUjNjNUmNUwNiwNwNwOUmOUwOlwOwP@QPWQPRPUSPSPSP?VQ=YQ=\QX\Q\RE]REbR\bRbSIS@QSWQSQS@XTN;TOBTBTBT8GTIT2NTNUm=U>UU•U:UlVi;V:VWu6W7WW6WsWWɳWXn6X5XoXYr6Y5YZ0BZtZu[3L[L[RN[N[N[S\D\RG\G\I\I\2S]PK]QN]N]*P]*R]R^3L^TL^L^U___H_``aR2a2auSbA9bmAbBc7c7c:8c8ct>c?d@5dmAeeedf}3f3f4f}s!F HHIN#Q$7K#F#GG)J'KMI#~I#~JJ?Ibh[FEffg=rhN*PPMDNNY;;Y;p::=<pq=qB~CBA~`;`q;i4˶14˷2ͼT&&lUoV_33k`OP#QI#~I#~N'OhKzx44x@:4w4;}3}? :: ;ċ= SRjj#~"P:8t;#~}55}ʽ87uL|RdcwWWI#I~I#~M8GUGG:UK111N;1BOBB1P8GUG8VFEv@~>=h\FEI#~I#~I#~#I ~ I   #~63387KK9L599I#~21LL<<=;:{7?I# ~!P!OX!X"B`"_e"Fl#If#Ij$8$7B%<&N&v'<'p(((YM),S)a)a*;*;*ċ*+;+s,'=,>,=x,x,x-I--J.<..;/:/ :/ //0SY0Xv1-;1N;1;2 2 2 2E33"H4Xd4y5Y5{6A6@|7'<7<7t8D8Ci8i9O9p:S:)h:Rh;C ; ; ;D;D<!<F<G=PP>c2>1?o?@@@MAKABB%LCMDCDCNDOD#QDQDE E EYNENFjGG#LGLH4Hx>I\:I]J\7J]K K KEKEL LC LDM MC MDNXYNxO.OcP`:PQ)LQ)zQKzQ}R,MRLvRvSMnSnT'=T<|T|UQVemWU#WoVXWXXYSRYRYETZXy[e9[9[e:[:\q5\9]PL]*Q^:^:_Q_QV_V`y6`5?a:8ay8ay;b7b7br;cx7ccȰcxd>dlde_e^hfefog)gLgMhAiBijJkKkJkl7l6TlTlTm6HmnHn5GnGo5o5KpAp@^qFgqFlqflr6rɳsJsdsdKtNtkOu@u]v=vwIwIwSx3x2x̼yZ;y:KyKzUBzA]{@{|x|Ʋ},P}Oj}j~_~h>>=&?>zZ Ji:iSS:p44=QPj69 !X$fW8>YX~bGhO"OOHHh43"=<}#;?>=rxؖؗ4~]NNo_3p`u668AHG5OO*NMv     4M6ABڧwڨ_1s`L+{K{{=oPK"QQODPPNEO54nPmm 9 :9e21ͼPoOo      799  ;; Id{<_pII(}K}}vvvvvvvvvvvvvvvp9z?? > .j  `2^2\2Jh%/a0 }}-}- 6} -}-h,hk }h,,k }h10h,h,h%*X%XhX_ zEX/a0 s s -X%Xh]s  Xk  X_ ]]s s X_ $tIX>10c%_ `%k X&BXh8X_ ccX_ `Xk X` N9@:886332..;66.***&&&"">66:226.. 2***##.&& ':..%6**#>//!(#?,,-I:96'&:*))>322'&.#")+ %E<;*"!B20!K><2#!`ZY!XOMNEC3)'/%#'#"-%#B63)!'%#=.*6&">+&.0)'[US%#F:6!>2.:.*6*&."*0%!K92$6$unkG@=3)%+!'%2"*(pgcUJERE?2'"TA8B0(j^XB:6>62dWP:2.+%"6.*3+'1)%-%!+#F92)!'%E6.#:,%!F3);) %.)&M>5]J?N9-?-#.^QI3&-'#)#/(#%#!>2*A4+6*"&.""0+'LC<3+%6-&2)"+#.%'=0&#G?8/' *"G=4?6.:622.*&"3-'1+%B:2-'!:2*)#'!%#!6-#.%B>9>:5w62-:5.*%71(/) C=3'!'%!#!2-#*%?:/:5*#!'%.+.*$*938=7;TPRB>@-'*6.22*.$ :25?26*#%"6+..#&C7:!:*.PKLLGHGBC?:;$ )!'#2#&!f`a2')& )8')5$%\"z2_2Zm  R-?/{(6kR-6kO-k [Ih KD ~[%ikD IppI[D SK![[D ,D ~[%i[pI[ A'// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVCustomMaps : Window simply to select a map with "ONP-" in it and nothing more..... // =============================================================== class TVCustomMaps expands TVMonstersMaps; function Created() { local int ControlWidth, ControlLeft, ControlRight; local int CenterWidth, CenterPos; Super(UMenuDialogClientWindow).Created(); DesiredWidth = 270; DesiredHeight = 100; ControlWidth = WinWidth/2.5; ControlLeft = (WinWidth/2 - ControlWidth)/2; ControlRight = WinWidth/2 + ControlLeft; CenterWidth = (WinWidth/4)*3; CenterPos = (WinWidth - CenterWidth)/2; BotmatchParent = TVMonsterclient(GetParent(class'TVMonsterclient')); if (BotmatchParent == None) Log("Error: TVMonstersMaps without TVMonsterclient parent."); // Map MapCombo = UWindowComboControl(CreateControl(class'UWindowComboControl', CenterPos, 50, CenterWidth, 1)); MapCombo.SetButtons(True); MapCombo.SetText(class'UMenuStartMatchClientWindow'.default.MapText); MapCombo.SetHelpText(class'UMenuStartMatchClientWindow'.default.MapHelp); MapCombo.SetFont(F_Normal); MapCombo.SetEditable(False); IterateMaps(BotmatchParent.Map); Initialized = True; } function IterateMaps(string DefaultMap) { local string FirstMap, NextMap, TestMap; local int Selected; FirstMap = GetPlayerOwner().GetMapName("ONP-", "", 0); MapCombo.Clear(); NextMap = FirstMap; while (!(FirstMap ~= TestMap)) { // Add the map. if (nextmap!="") MapCombo.AddItem(Left(NextMap, Len(NextMap) - 4), NextMap); // Get the map. NextMap = GetPlayerOwner().GetMapName("ONP-", NextMap, 1); // Text to see if this is the last. TestMap = NextMap; } //now filter out: MapCombo.Sort(); MapCombo.SetSelectedIndex(Max(MapCombo.FindItemIndex2(DefaultMap, True), 0)); } function BeforePaint(Canvas C, float X, float Y) { local int ControlWidth, ControlLeft, ControlRight; local int CenterWidth, CenterPos; ControlWidth = WinWidth/2.5; ControlLeft = (WinWidth/2 - ControlWidth)/2; ControlRight = WinWidth/2 + ControlLeft; CenterWidth = (WinWidth/4)*3; CenterPos = (WinWidth - CenterWidth)/2; MapCombo.SetSize(CenterWidth, 1); MapCombo.WinLeft = CenterPos; MapCombo.EditBoxWidth = 150; } FM#v!u!: j2MM+::$a)h  C0X'l2o2(-S':X'&-F-F p2I:H"-E{ U{W _.W !/a0 r r 10-R'. $.G-G'v!-E' E0{Rb+w{*S a{ { B.S wB*B BIB-'wS *S $S o$S -'S  { ?wB*B q!N!}w{*;w{@{-H{ k{k-'H?%k { H?H?S6k 6k 6k {^k%k&{*{*B{wB*BaBB kRUOM%w.R*.R-.Rq!A S cSa/!X.S-.S*#??!aa.AmbAncient.tilehit4 $S ^"R3w2s]& --Y-F{.p-U (-Z (- {.p' aM:{2{ ?% {  w*S|JaneChryss/a0 aw.a*aP 10?v! i2ea5Z6e?%6eT6eK6eKh @z9n$et07n$5w)*),;?,, ^// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // SecretArea : This actors marks a secret area... basically implements the never-implemented "secret system". // triggers event if found // =============================================================== class SecretArea expands Keypoint; var () string FoundMessage; var () sound FoundSound; var () name FoundMessageType; var () int Points; function SetUpMessage(){ local string outstr; local int pos; pos=instr(FoundMessage,"%i"); while (pos!=-1){ outstr=outstr$left(FoundMessage,pos)$Points; FoundMessage=mid(FoundMessage,pos+2); pos=instr(FoundMessage,"%i"); } FoundMessage=outstr$FoundMessage; } function PreBeginPlay(){ if (Level.NetMode!=Nm_StandAlone) destroy(); else{ SetupMessage(); Super.PreBeginPlay(); } } function Touch (actor Other){ if (Other.IsA('tvplayer')){ Instigator=pawn(Other); Other=none; Instigator.SecretCount++; tvplayer(Instigator).ScoreHolder.AddPoints(Points); Instigator.ClientMessage(FoundMessage,FoundMessageType); if (FoundSound!=none) PlaySound(FoundSound, SLOT_Misc, 2.0); if (Event!='') ForEach AllActors(class'actor',Other,Event) Other.Trigger(self,Instigator); Disable('touch'); } } RK hrRR%AR-:R:$rR*(R-:R:$(Ra/!fRa/!S%:R:$rR*(& A3r9y  C3mUhDԝXt7JtԝX K].-You found a Secret Area! %i Points awarded!JL]u"rS|SD$HBF$HBnE3|'oi D!/a0 ^ C^ _ ._ 10Q%Qw'Va|'V]t$?,dVp'V[ ?333?[ QK H;@ PU Ca !?,H?, S ?,T wC*CTWծ>>HծL>L>S ծ>?T ?,r@ a  ksPsw@  w@ *9@ -@ a/!W a  ks?, Y,,Y>L><@ **Ykի?YCH!K O3L-ZI?) a  L- > g'M%ki-    #www #]>G>3>-I' E {hu!Kpp\list\\gamename\\gametype\tvcoop\final\Gip\A, XK3Z;B39::$v!7-I-* H3d-g'v!--}-    #www #]>G>3> * * * *# #-I-d*/a4 d:d:$::$da/!XZr6.d .dBr6.d .dAr6d d{d{10 B0Cw16C6C6C6C V0z"pA{(^z"\H!/a0 |"H[|"Hz"10 M3A:4Aw.*r.*.%5r..*.-h*w.*.-r.*h.%.,# WAA?&?.@AWAA?@$wy" ?E -@a   @a   2w@*@-Wy"  S3~2bX "wU*UJB# ^3ji Kk xK j@rU*Ua UUJjZUU s jv-U  h q  @3gz0120w)*),;?,, PK hrPP%AP-:P:$rP*(P-:P:$(Pa/!fPa/!S%:P:$rP*(& u P3h=L ua ף=(4  rx"  x"ss#==P sw"an"o"P#CP(rw"*~*a* a n"a+Po"-H$6-6-(}r-::$-%O ` AswO aaO rO *~*rO *xO ~O 6--H$sr-::$-s e;Ls// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // AwardClient : Display Award info..... as well as control max dif updating... // =============================================================== class AwardClient expands UMenuDialogClientWindow; var string AwardText; var string Awards[5]; function string GetMessage(int i){ if (i!=2) return Awards[i]; //process crosshair.. ugh.. if (class'ChallengeHUD'.default.CrosshairCount<20){ class'ChallengeHUD'.default.CrossHairs[class'ChallengeHUD'.default.CrosshairCount++]="olextras.Main_00"; class'ChallengeHUD'.static.StaticSaveConfig(); return Awards[2]; } return Awards[4]; //ugh.. no space... } function SetAwards (int NewDifficulty){ AwardText="You beat Operation: Na Pali for the first time on"@ class'UnrealCoopGameOptions'.default.Difficulties[NewDifficulty]$"!\\n\\nYou have just won:\\n"; NewDifficulty++; While (class'TVHSClient'.default.MaxDif( _3i K B`j ~i \n^j i ppi j , i j ,j ~i \n t3\3h :`M \wM *EKM M b'M M ( u)// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvTranslatorEvent : Normal translator event, only with replicated variables and such. simulated and works client-side // =============================================================== class TvTranslatorEvent expands Triggers; // Human readable triggering message. var() localized string Message; var() localized string AltMessage; var() sound NewMessageSound; var() bool bTriggerAltMessage; var bool bHitOnce; var() float ReTriggerDelay; //minimum time before trigger can be triggered again var float TriggerTime; var int MsgSwap, oldswap; //replication var TvTranslator Trans; var() localized String M_NewMessage; var() localized String M_TransMessage; replication{ reliable if (Role==Role_Authority) Message, ReTriggerDelay, MsgSwap, NewMessageSound; } simulated function PostBeginPlay(){ Texture=none; } function Trigger( actor Other, pawn EventInstigator ) { local Actor Targets; local string Temp; if (bTriggerAltMessage) { Temp = Message; Message = AltMessage; AltMessage = Temp; MsgSwap++; foreach TouchingActors(class'Actor', Targets) if (tvplayer(Targets)!=none) tvplayer(Targets).TouchTrans(self); } else if (tvplayer(EventInstigator)!=none) tvplayer(EventInstigator).TouchTrans(self); } function UnTrigger( actor Other, pawn EventInstigator ) { if (tvplayer(EventInstigator)!=none) tvplayer(EventInstigator).TouchTrans(self,true); } simulated function Touch( actor Other ) { if (!Other.IsA('playerpawn')) Return; if (Message=="") Return; if (OldSwap!=MsgSwap){ OldSwap=MsgSwap; bHitOnce=false; } if ( ReTriggerDelay > 0 ) { if ( Level.TimeSeconds - TriggerTime < ReTriggerDelay ) return; TriggerTime = Level.TimeSeconds; } if (TVHUD(playerpawn(Other).myhud)!=none) Trans=TVHUD(playerpawn(Other).myhud).TvTranslator; if (Trans==none) return; if (!bHitOnce) Trans.bNewMessage = true; else Trans.bNotNewMessage = true; if (!bHitOnce) Pawn(Other).ClientMessage(M_NewMessage); else Pawn(Other).ClientMessage(M_TransMessage); Trans.SetMessage(Message); bHitOnce = True; PlaySound(NewMessageSound, SLOT_Misc); } simulated function UnTouch( actor Other ) { if (Trans!=None){ if (Level.TimeSeconds - TriggerTime>0.1) Trans.ForceDeactivate(); else{ Trans.bNotNewMessage = false; Trans.bNewMessage = false; } } } E// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvSearchLight : client-updated search light // =============================================================== class TvSearchLight expands TvFlashLight; u3s,Y va] s,t,u, .] GH_H-U] !u] Hz Hz %] Hz ]  c3}'bvbb-:b:$.b-:b:$.b}'ba/!2w $:w ,:w .b K:w ~'w   }//=============================================================================== // [chicomarine] By Chicoverde. // Used as a reward (difficulty 1) I (UsAaR33) would rather have hidden it from the model list, but not possible :/ //=============================================================================== class tvchicomarine extends TournamentMale; //more or less right.. except head detach? #exec MESH MODELIMPORT MESH=chicomarine MODELFILE=models\chicomarine.PSK LODSTYLE=12 #exec MESH ORIGIN MESH=chicomarine X=0 Y=0 Z=120 YAW=-64 PITCH=0 ROLL=0 #exec ANIM IMPORT ANIM=chicomarineAnims ANIMFILE=models\Chicomarine.PSA COMPRESS=1 MAXKEYS=999999 #exec MESH WEAPONATTACH MESH=chicomarine BONE="Bip01 R Hand" #exec MESH WEAPONPOSITION MESH=chicomarine YAW=0 PITCH=0 ROLL=128 X=1.0 Y=0.0 Z=0 #exec MESHMAP SCALE MESHMAP=chicomarine X=0.31 Y=0.31 Z=0.31 #exec MESH DEFAULTANIM MESH=chicomarine ANIM=chicomarineAnims // Animation sequences. These can replace or override the implicit (exporter-defined) sequences. #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Breath1L STARTFRAME=0 NUMFRAMES=24 RATE=15,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Breath2L STARTFRAME=24 NUMFRAMES=24 RATE=15,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Cockgun STARTFRAME=48 NUMFRAMES=14 RATE=30,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=CockgunL STARTFRAME=62 NUMFRAMES=29 RATE=15,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=DeathEnd STARTFRAME=91 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=None #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=DeathEnd3 STARTFRAME=92 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=None #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Duck STARTFRAME=93 NUMFRAMES=24 RATE=20,0000 COMPRESS=1,00 GROUP=Ducking #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=DuckWlkL STARTFRAME=117 NUMFRAMES=24 RATE=24,0000 COMPRESS=1,00 GROUP=Ducking #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=DuckWlkS STARTFRAME=141 NUMFRAMES=24 RATE=24,0000 COMPRESS=1,00 GROUP=Ducking #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=GutHit STARTFRAME=165 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=TakeHit #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=HeadHit STARTFRAME=166 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=TakeHit #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=JumpLgFr STARTFRAME=167 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=Jumping #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Look STARTFRAME=168 NUMFRAMES=22 RATE=10,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=StillFrRp STARTFRAME=190 NUMFRAMES=11 RATE=30,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=StillLgFr STARTFRAME=201 NUMFRAMES=12 RATE=30,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=StillSmFr STARTFRAME=213 NUMFRAMES=12 RATE=30,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=AimDnLg STARTFRAME=225 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=AimUpSm STARTFRAME=226 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=AimDnSm STARTFRAME=227 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Fighter STARTFRAME=228 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=None #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=TurnLg STARTFRAME=229 NUMFRAMES=3 RATE=10,0000 COMPRESS=1,00 GROUP=None #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=TurnSm STARTFRAME=232 NUMFRAMES=5 RATE=10,0000 COMPRESS=1,00 GROUP=None #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Flip STARTFRAME=237 NUMFRAMES=19 RATE=20,0000 COMPRESS=1,00 GROUP=Jumping #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=LeftHit STARTFRAME=256 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=TakeHit #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=RightHit STARTFRAME=257 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=TakeHit #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=SwimLg STARTFRAME=258 NUMFRAMES=18 RATE=20,0000 COMPRESS=1,00 GROUP=None #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=SwimSm STARTFRAME=276 NUMFRAMES=18 RATE=20,0000 COMPRESS=1,00 GROUP=None #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=TreadLg STARTFRAME=294 NUMFRAMES=18 RATE=15,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=TreadSm STARTFRAME=312 NUMFRAMES=18 RATE=15,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Wave STARTFRAME=330 NUMFRAMES=21 RATE=20,0000 COMPRESS=1,00 GROUP=Gesture #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Thrust STARTFRAME=351 NUMFRAMES=16 RATE=15,0000 COMPRESS=1,00 GROUP=Gesture #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Taunt1 STARTFRAME=367 NUMFRAMES=22 RATE=20,0000 COMPRESS=1,00 GROUP=Gesture #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Victory1 STARTFRAME=389 NUMFRAMES=21 RATE=20,0000 COMPRESS=1,00 GROUP=Gesture #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=DeathEnd2 STARTFRAME=410 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=None #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Chat2 STARTFRAME=411 NUMFRAMES=41 RATE=15,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Chat1 STARTFRAME=452 NUMFRAMES=40 RATE=15,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Dead1 STARTFRAME=492 NUMFRAMES=20 RATE=20,0000 COMPRESS=1,00 GROUP=TakeHit #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Dead2 STARTFRAME=512 NUMFRAMES=17 RATE=15,0000 COMPRESS=1,00 GROUP=TakeHit #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Dead3 STARTFRAME=529 NUMFRAMES=22 RATE=15,0000 COMPRESS=1,00 GROUP=TakeHit #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Dead4 STARTFRAME=551 NUMFRAMES=20 RATE=20,0000 COMPRESS=1,00 GROUP=TakeHit #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Dead5 STARTFRAME=571 NUMFRAMES=29 RATE=15,0000 COMPRESS=1,00 GROUP=TakeHit #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Dead7 STARTFRAME=600 NUMFRAMES=29 RATE=20,0000 COMPRESS=1,00 GROUP=TakeHit #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Dead8 STARTFRAME=629 NUMFRAMES=29 RATE=15,0000 COMPRESS=1,00 GROUP=TakeHit #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Dead9 STARTFRAME=658 NUMFRAMES=12 RATE=20,0000 COMPRESS=1,00 GROUP=TakeHit #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Dead9b STARTFRAME=670 NUMFRAMES=24 RATE=15,0000 COMPRESS=1,00 GROUP=TakeHit #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Breath1 STARTFRAME=694 NUMFRAMES=25 RATE=10,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Breath2 STARTFRAME=719 NUMFRAMES=21 RATE=10,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=WalkLg STARTFRAME=740 NUMFRAMES=24 RATE=24,0000 COMPRESS=1,00 GROUP=None #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=WalkLgFr STARTFRAME=764 NUMFRAMES=24 RATE=24,0000 COMPRESS=1,00 GROUP=MovingFire #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=WalkSm STARTFRAME=788 NUMFRAMES=24 RATE=24,0000 COMPRESS=1,00 GROUP=None #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=WalkSmFr STARTFRAME=812 NUMFRAMES=24 RATE=24,0000 COMPRESS=1,00 GROUP=MovingFire #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=RunLg STARTFRAME=836 NUMFRAMES=18 RATE=24,0000 COMPRESS=1,00 GROUP=None #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=RunLgFr STARTFRAME=854 NUMFRAMES=18 RATE=24,0000 COMPRESS=1,00 GROUP=MovingFire #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=RunSm STARTFRAME=872 NUMFRAMES=18 RATE=24,0000 COMPRESS=1,00 GROUP=None #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=RunSmFr STARTFRAME=890 NUMFRAMES=18 RATE=24,0000 COMPRESS=1,00 GROUP=MovingFire #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=StrafeL STARTFRAME=908 NUMFRAMES=18 RATE=24,0000 COMPRESS=1,00 GROUP=Movingfire #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=StrafeR STARTFRAME=926 NUMFRAMES=18 RATE=24,0000 COMPRESS=1,00 GROUP=MovingFire #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Backrun STARTFRAME=944 NUMFRAMES=18 RATE=24,0000 COMPRESS=1,00 GROUP=MovingFire #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=AimUpLg STARTFRAME=962 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=Waiting #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Dead11 STARTFRAME=963 NUMFRAMES=26 RATE=15,0000 COMPRESS=1,00 GROUP=TakeHit #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=DodgeB STARTFRAME=989 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=Jumping #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=DodgeF STARTFRAME=990 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=Jumping #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=DodgeL STARTFRAME=991 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=Jumping #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=DodgeR STARTFRAME=992 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=Jumping #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=JumpSmFr STARTFRAME=993 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=Jumping #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=LandLgFr STARTFRAME=994 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=Landing #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=LandSmFr STARTFRAME=995 NUMFRAMES=1 RATE=30,0000 COMPRESS=1,00 GROUP=Landing #EXEC ANIM SEQUENCE ANIM=chicomarineAnims SEQ=Challenge STARTFRAME=996 NUMFRAMES=43 RATE=15,0000 COMPRESS=1,00 GROUP=Gesture // Digest and compress the animation data. Must come after the sequence declarations. // 'VERBOSE' gives more debugging info in UCC.log #exec ANIM DIGEST ANIM=chicomarineAnims VERBOSE /* #EXEC TEXTURE IMPORT NAME=chicomarineTex0 FILE=TEXTURES\skin0.pcx GROUP=Skins #EXEC TEXTURE IMPORT NAME=chicomarineTex1 FILE=TEXTURES\skin1.pcx GROUP=Skins #EXEC MESHMAP SETTEXTURE MESHMAP=chicomarine NUM=0 TEXTURE=chicomarineTex0 #EXEC MESHMAP SETTEXTURE MESHMAP=chicomarine NUM=1 TEXTURE=chicomarineTex1 */ // Original material [0] is [SKIN00] SkinIndex: 0 Bitmap: skin0.jpg Path: D:\ToolZ\3dsMax42\Scenes\STroopers\Starshipsoldier\Chicosoldier // Original material [1] is [SKIN01] SkinIndex: 1 Bitmap: skin1.jpg Path: D:\ToolZ\3dsMax42\Scenes\STroopers\Starshipsoldier\Chicosoldier //notifies: #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=RunLG TIME=0.25 FUNCTION=PlayFootStep #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=RunLG TIME=0.75 FUNCTION=PlayFootStep #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=RunLGFR TIME=0.25 FUNCTION=PlayFootStep #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=RunLGFR TIME=0.75 FUNCTION=PlayFootStep #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=RunSM TIME=0.25 FUNCTION=PlayFootStep #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=RunSM TIME=0.75 FUNCTION=PlayFootStep #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=RunSMFR TIME=0.25 FUNCTION=PlayFootStep #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=RunSMFR TIME=0.75 FUNCTION=PlayFootStep #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=StrafeL TIME=0.25 FUNCTION=PlayFootStep #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=StrafeL TIME=0.75 FUNCTION=PlayFootStep #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=StrafeR TIME=0.25 FUNCTION=PlayFootStep #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=StrafeR TIME=0.75 FUNCTION=PlayFootStep #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=BackRun TIME=0.25 FUNCTION=PlayFootStep #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=BackRun TIME=0.75 FUNCTION=PlayFootStep #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=Dead1 TIME=0.7 FUNCTION=LandThump #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=Dead2 TIME=0.9 FUNCTION=LandThump #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=Dead3 TIME=0.45 FUNCTION=LandThump #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=Dead4 TIME=0.6 FUNCTION=LandThump #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=Dead7 TIME=0.7 FUNCTION=LandThump #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=Dead8 TIME=0.7 FUNCTION=LandThump #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=Dead9B TIME=0.8 FUNCTION=LandThump #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=Dead11 TIME=0.57 FUNCTION=LandThump #exec ANIM NOTIFY ANIM=chicomarineAnims SEQ=Challenge TIME=0.35 FUNCTION=PlayLoudStep //not available stuff: #exec MESH IMPORT MESH=notavpanel1 ANIVFILE=MODELS\notavpanel1_a.3d DATAFILE=MODELS\notavpanel1_d.3d X=0 Y=0 Z=0 #exec MESH ORIGIN MESH=notavpanel1 X=30 Y=-50 Z=0 YAW=64 #exec MESH SEQUENCE MESH=notavpanel1 SEQ=All STARTFRAME=0 NUMFRAMES=1 #exec MESH SEQUENCE MESH=notavpanel1 SEQ=NOTAVPANEL1 STARTFRAME=0 NUMFRAMES=1 #exec TEXTURE IMPORT NAME=Jnotavpanel11 FILE=MODELS\notav1.PCX GROUP=Skins FLAGS=2 // 1 - Default #exec MESHMAP NEW MESHMAP=notavpanel1 MESH=notavpanel1 #exec MESHMAP SCALE MESHMAP=notavpanel1 X=0.4 Y=0.4 Z=0.8 #exec MESHMAP SETTEXTURE MESHMAP=notavpanel1 NUM=1 TEXTURE=Jnotavpanel11 //control skin stuff here...... (prevent model use if static function SetMultiSkin(Actor SkinActor, string SkinName, string FaceName, byte TeamNum) { local string SkinItem, SkinPackage; if (SkinActor.Level.NetMode == NM_StandAlone && class'TVHSClient'.default.maxdif<2) //not beaten medium yet... { if (SkinActor.IsA('MeshActor')) //not available yet :p SkinActor.Mesh=LodMesh'notavpanel1'; else{ SkinActor.Mesh=LodMesh'Soldier'; class'tvplayer'.static.SetMultiSkin(SkinActor, "CommandoSkins.cmdo", "Blake", TeamNum); } return; } // two skins if ( SkinName == "" ) SkinName = default.DefaultSkinName; else { SkinItem = SkinActor.GetItemName(SkinName); SkinPackage = Left(SkinName, Len(SkinName) - Len(SkinItem)); if( SkinPackage == "" ) { SkinPackage=default.DefaultPackage; SkinName=SkinPackage$SkinName; } } // Set the team elements if( TeamNum < 4 ){ SetSkinElement(SkinActor, 0,SkinPackage$"T_Skin0_"$String(TeamNum), default.DefaultPackage$"T_Skin0_"$String(TeamNum)); SetSkinElement(SkinActor, 1, SkinPackage$"T_Skin1_"$String(TeamNum), default.DefaultPackage$"T_Skin1_"$String(TeamNum)); } else{ SetSkinElement(SkinActor, 0, SkinName$"0", default.DefaultSkinName$"0"); SetSkinElement(SkinActor, 1, SkinName$"1", default.DefaultSkinName$"1"); } // Set the talktexture (if chico makes it...) CliffyB for now....... if( Pawn(SkinActor) != None ) { /* Pawn(SkinActor).PlayerReplicationInfo.TalkTexture = Texture(DynamicLoadObject(SkinName$"Face", class'Texture')); if ( Pawn(SkinActor).PlayerReplicationInfo.TalkTexture == None ) Pawn(SkinActor).PlayerReplicationInfo.TalkTexture = Texture(DynamicLoadObject(default.DefaultFace, class'Texture')); */ Pawn(SkinActor).PlayerReplicationInfo.TalkTexture = Texture(DynamicLoadObject("UTtech2.Deco.xmetex2x1", class'Texture')); } } simulated function PlayLoudStep() { // 1.3 ADDED: for Challenge taunt local sound step; local float decision; if ( FootRegion.Zone.bWaterZone ) { PlaySound(WaterStep, SLOT_Interact, 1, false, 1000.0, 1.0); return; } PlaySound(LandGrunt, SLOT_Interact, 1.0, false, 1000.0, 1.0); } h<qg s+-F(q%q,~qEMUTATE QUICKSAVEy{| | p| ,q | q  ~qEMUTATE QUICKLOAD{n n pn ,q  n q }~qESHOWSCORESc{n ipi,q }iq qO,. AVpppppp,U| ,Yn ,Yi, Y N<nI::$ Jq,ba/!U  C,  +nCommandoSkins.cmdoBlakeG  zMM &| UMD M}M}|&zD D  MpD M:G ,}%ppD T_Skin0_RG pp T_Skin0_RG }&ppD T_Skin1_RG pp T_Skin1_RG }%pM0p 0}&pM1p 1Gw.*..UTtech2.Deco.xmetex2x1   O X3^~lBr^*V$8:V,:Vh *VD$ s V^s s }s &%h ^V$:V,:Vh .ps S:V& 'r:Vh *VzDV b3z,c z,-{,-|, i// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVDecalsWarning : balh // =============================================================== class TVDecalsWarning expands TVFogWarning; function created(){ super(UWindowFramedWindow).created(); bStatusBar = False; //bleaveonscreen=true; bSizable = False; Box=MessageBox("WARNING","Operation: Na Pali has detected that Decals are disabled. Not only are decals a critical part of a Single Player experience. "$" Furthermore, if decals are disabled, you will NOT be able to HEAR DYNAMIC foot step sounds!\\nEnable Decals?\\n Note: This message will not appear again.", MB_YesNo, MR_No, MR_None); box.bleaveonscreen=true; } function MessageBoxDone(UWindowMessageBox W, MessageBoxResult Result) //idiot wants to disable oldskool. { if(Result == MR_Yes) { switch(W) { case Box: GetPlayerOwner().ConsoleCommand( "set ini:Engine.Engine.ViewportManager Decals true" ); close(); break; } } if (Result == MR_No){ switch(W) { case Box: bnofog=true; Saveconfig(); close(); } } } _O)o3M twM -mM ff&?9M Ga>a!K uSM G>a!b umM ff&?a!c ua!i LM YL-' k3b_J2|s",np36p Np02DavidM( 8ba/!2zH-Ub.bb8-e"H-k OwO*D,WARNING: OUT OF FOLLOWER ARRAY SPACE!3Oa/!$.O}.bDdrO ` D.b &rO _ D.b ,rO tD.b ,rO D.b ,8rO gD.b ,mrO fD.b ,rO kD.b ,rO Y D.b ,DOOSDfollowers being transported to next level.!3-e"'bs" j3WxWW !TONNFLOOR +XIPTH 4XPTH AEBFLOOR3 OTONNFLOOR \SWINDO2M iMMCRATE3 uMFLOORZ FLOOR4 MFLOORX MFLOORY MMCRATE2 MCMETL RUSTPL2 PIPE3 IRNWALL2 NONDETGR8 INXGRID MTL-BMPS2 RUSTEEL1 FLRWKA WARN (PBLOOD5 4WALLWKD wBS_1W.ONPFootSteps.FS_METAL_1  SHFLOOR01 GROUND1 DMGROUND1 MORTER1 MORTER2 DIRTNEW DIRT_SU2 DIRT1 DIRT2 MSROCK3 VOLCANICGRPATH1 VOLCANICGROUND1 (TRANSITION2 3BASIC1 >BASIC2 JABASIC4 DMGRAS2W.ONPFootSteps.FS_GRAVEL_1  DMGRA EZGRASS DMGRAS GRASSW.ONPFootSteps.FS_GRASS_1  QBS2 SCARPET3 GCLTH2 "GCLTH3 -GCLTH5 :RUG-BLU2 FRUG-BLU SRUG-REND RUG-RUGW.ONPFootSteps.FS_STUFF_1  OQ_WL2 MUD2W.ONPFootSteps.FS_MUD_1  AA_BS JEBWLG1 JEBWLG2 T-GRATE DMESH3M +DMESH1M 6METAL4 BMETWALL OGRATE3-M YRUST2 fBASEIRM3 sMIRONFX2 MIRONFX MFLOOR GIRDERM3 IRONWALX GIRDR2M MGR8MS3 I-BEAM FENCE1 TRIM1NEW BLOOD6 HULLRIB1 ?SLOTTED3W.ONPFootSteps.FS_METAL2_1  IWOOD1 TWOOD2A _T-WOOD kT-WOOD2 vWOODF2 SKYWOODV ROTWOOD2 U_BOX1 WOODMAI3 HASH-ICE-3 DECKRF1 DECKSM1 BOARDS1BW.ONPFootSteps.FS_ON-WOOD_1  %OLDFLOR2 1COBBLE2 CONCRETEBASEW.ONPFootSteps.FS_CONCRETE_1  PAVEBASE SANDMRTR2W.ONPFootSteps.FS_SAND_1  AZ-FLOOR FLOOR1 FLOOR2 FLOOR2B FLOOR2B2 FLOOR2J2 (CHESSB1 4CHESSB2 @COBBLE2 LSFLOORA YSFLOORA2 fSFLOORA3 rSFLOORB SFLOORB2 SFLOORB3 SFLOORC SFLOORC2 SFLOORC3 SFLOORC4W.ONPFootSteps.fs_stein_1   ] r3|3fK2 f-f%:f,nfa/!]fa/!Sfa/!ffa/!j fa/!S e0q,{h3WH.q,- H-\ Successfully bound level information!3 A  p,vb w*p, 0o5U5N(|y<N(M(-K(:w.*.Q B O)kxgOg'6-a!|X  H!Xk>Sk33>a!X?k @4n -*(wUd*UUd D4t0J"-lR:D'# H },vnGH W.}, 0A4u )E*(wUK*UUK ^0q !A - -'?{.p 3hUrT 66h66i66h66i66h66i66h66i 0E4c*qIB@R:k?:k a|$ H4S$HB@R:i?:i a|$ }$}.-C ::$(a/!a/!z-}"-C -C -C a/!  I4vH ? M4X G%#fff?C t;t RM3v A]-X 7% t ]-}&v Bvw*{ }{ { at $v -X { at $v -X { at $v -X { at $v -X  B[ P4L4`DZ  mZ o#fff?m?,Z ?,Z mo?,om]^e)~ իfff?]ի333?^Oa[\~ Z o~ 'QrO* rO)w.O*:/.O:$'Oa[\~ Z ~ 'rO* rO)w.O*:/.O:$ D uWx66u66x66u66x66u66x66u66x "0A=lC)aP $? Ca!v?= O4zYxU66z{66z{66z{66z{ "0U// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVKillStatsScroller : the scroller... // =============================================================== class TVKillStatsScroller expands UWindowScrollingDialogClient;  c0^'%r. \*   [4U4kLB*a!A 333?=a$@  \4q=jA*a!m333?=a$@  d4X$E>ZX$!h ?-V a  #L?a<" @wV *V  V AV  6V  6V  6a!a333?=W6?,x96C{?a!m333?=a!A 333?=a$@ u0i,MO1 xai, o  +rx* xo xno G xxa/!U H-^ .ex-~'xxxZx Qo x go x Zo  Y0TXG"T6T33s?A#6T6T33s33s?6T? G6T?6TTA# F5{}t wM*Ma  e4_4h=*am'$@a!N333?=  j4l[=.6- a&!1> { |.X@I66|.  f0VBh4q[} n4q n;6- q E>?aq ?a!E>q 333?aP $? Ca!vE>Xq L?a!x E>q fff?a!F>>a&!g> ES// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvItemSelectCWindow : This is the actual "item selector" :p // =============================================================== class TvItemSelectCWindow expands UMenuDialogClientWindow; var UWindowSmallButton MainGame, Tutorial, HighScore, Custom, MonsterSmash, Pong; //Main Game function bool CheckCustomMaps(){ return (GetPlayerOwner().GetMapName("ONP-", "", 0) != ""); } function created(){ //build up window local int i, dif; local umenulabelcontrol tempcontrol; super.created(); Tutorial=UWindowSmallButton(CreateControl(class'UWindowSmallButton', 10, 10, winwidth-20, 16)); Tutorial.settext("Play tutorial"); Tutorial.sethelptext("RECOMMENDED FOR ALL PLAYERS. Learn from the tutorial and then directly start Operation: Na Pali."); MainGame=UWindowSmallButton(CreateControl(class'UWindowSmallButton', 10, 30, winwidth-20, 16)); MainGame.settext("Start Operation: Na Pali"); MainGame.sethelptext("Click here to go directly to the Operation: Na Pali Intro Movie."); HighScore=UWindowSmallButton(CreateControl(class'UWindowSmallButton', 10, 50, winwidth-20, 16)); HighScore.settext("View High Scores"); HighScore.sethelptext("Click here to view High Scores and statistics."); Custom=UWindowSmallButton(CreateControl(class'UWindowSmallButton', 10, 70, winwidth-20, 16)); Custom.settext("Custom ONP Maps"); Custom.bDisabled=!CheckCustomMaps(); Custom.sethelptext("Click here to play custom-made Operation: Na Pali maps!"); MonsterSmash=UWindowSmallButton(CreateControl(class'UWindowSmallButton', 10, 90, winwidth-20, 16)); MonsterSmash.bdisabled=(class'TVHSClient'.default.MaxDif==0); if (!MonsterSmash.bDisabled){ MonsterSmash.settext("Play MoNsTeRSmASH!"); MonsterSmash.sethelptext("Click here to play a singleplayer game on any map against monsters!"); } else{ MonsterSmash.settext("Secret A"); MonsterSmash.sethelptext("Defeat Operation: Na Pali to earn access to this!"); } Pong=UWindowSmallButton(CreateControl(class'UWindowSmallButton', 10, 110, winwidth-20, 16)); Pong.bdisabled=(class'TVHSClient'.default.MaxDif<4); if (!Pong.bDisabled){ Pong.settext("Play PoNg!"); Pong.sethelptext("The best video game EVER MADE!"); } else{ Pong.settext("Secret B"); Pong.sethelptext("Defeat Operation: Na Pali on UNREAL to earn access to this!"); } } function BeforePaint(Canvas C, float X, float Y) { Super.BeforePaint(C, X, Y); Tutorial.WinWidth=Winwidth-20; MainGame.WinWidth=Winwidth-20; HighScore.WinWidth=Winwidth-20; Custom.WinWidth=Winwidth-20; MonsterSmash.WinWidth=Winwidth-20; Pong.WinWidth=Winwidth-20; } function Notify(UWindowDialogControl C, byte E) //control notification. { local oldskoolnewgameclientwindow os; Super.Notify(C, E); switch(E) { case DE_Click: //buttons os=oldskoolnewgameclientwindow(OldSkoolNewgamewindow(root.FindChildWindow(class'OldSkoolNewgamewindow',true)).clientarea); if (os==none){ log ("CRITICAL ERROR! CANNOT FIND NEWGAME CLIENT WINDOW!"); return; } switch(C) { case Tutorial: GetPlayerOwner().ClientTravel("Nptut?Game=olextras.TVTutorial?Difficulty="$os.difficulty$"?Mutator="$os.MutatorList, TRAVEL_Absolute, false); ParentWindow.close(); os.ParentWindow.Close(); Root.Console.CloseUWindow(); break; Case MainGame: GetPlayerOwner().ClientTravel("NP01eVOLVE?Game=olextras.tvsp?Difficulty="$os.difficulty$"?Mutator="$os.MutatorList, TRAVEL_Absolute, false); ParentWindow.close(); os.ParentWindow.Close(); Root.Console.CloseUWindow(); break; Case HighScore: GetParent(class'UWindowFramedWindow').ShowModal(root.Createwindow(class'TvHighScoresWindow', 10, 10, 200, 200,self)); break; Case Custom: if (!Custom.bDisabled) GetParent(class'UWindowFramedWindow').ShowModal(root.Createwindow(class'TVCustomMapsWindow', 10, 10, 200, 200,self)); else MessageBox("Not Available", "You need to have Operation: Na Pali custom maps installed to use this feature. :p Get them at http://www.planetunreal.com/\\nteamvortex", MB_OK, MR_OK, MR_OK); break; //add Special game case statements here! Case MonsterSmash: if (!MonsterSmash.bDisabled) GetParent(class'UWindowFramedWindow').ShowModal(root.Createwindow(class'TVMonsterSmashWindow', 10, 10, 200, 200,self)); else MessageBox("Not Available", "You must first defeat Operation: Na Pali to unlock this secret!", MB_OK, MR_OK, MR_OK); break; Case Pong: if (!Pong.bDisabled) GetParent(class'UWindowFramedWindow').ShowModal(root.Createwindow(class'PongFramedWindow', 10, 10, 200, 200,os)); else MessageBox("Not Available", "You must first defeat Operation: Na Pali on 'UNREAL' difficulty to unlock this secret!", MB_OK, MR_OK, MR_OK); break; } } } z HU$zzHR.\ H  q4:a!d > d0{"r.*a '-C C 2{}%.%$?.33>?} b>{?}?.@{WbA{?@$wD$ ?EIa/!].- za Wza wz*z-bD$   r4U(&:+)!d -a&!dU( v4g9.6- a!1Ga? E%h0CI ':WC?% -u{"C-B| {"C-B$-B-d]a/!0.] R |]a |-M ? ׃??&pA$]a/!0.] R B.$]a B.<-WE -u'T-nG -u'8-u-n(-W(KKXX#BHB]a/!0.] R J.]a J.E ,E G ,T$8/G ,G E ,T$8aL?( y4s4h3 C+-"wM*MaM* i9. " ?'iaDE%" 'rM*Ma !Di?,@MMMa Di?,@A-[  MC???,  x4Wop8k6- ?Ua!B > a!Bn > A z4hb7H'6-a!|X  >L>a!O a"o0s] Ka"(-  <  ( {4t>Q]j7a&!y= |4`X"7a&!yL? }4eS6a&!LL> J?NN6a&!L33> X6q>X ?'&F{=*$cw Z-o,o,j.  Z o&A.  j -o&o,p&-F(-Hq! ^(yU+`43$6-&y a&!1y B5uc1W-K-K(m $H6-&u a&!gu C5]N1 &L> D5t\0Q6- 7e a&!m= Xa!x 333?> E5f/U6- ;>a!O>Sa!>? H5S,G6- d! >?a!OL>333? "- !O >aP $? Ca!v>? ""!v ?aP $? Ca!v>? a!L>333? l%]5u4U{N mI5W +Y#{6- :m %@??h:m &a!n@:m ,a!u@a!`@a $ W +-K@>?r*W fff?a!Q@? a!b @ 3-t!"-al!a -a(.- (L?a!a @ .-  ff&?W L?a!Q@?W fff?a!| @a!b @ .- '-a'a!p@ !O- W >a!v>?aP $? Ca!L>333? !!!vW ?aP $? Ca!v>?a!L>333? VW L>?a!OL>333?ya!L>333? J5{KB"5r. *. a jr. *. a . -'. -' K5Ez; E. H. hFj\hFj?Ea \Ha \#@@@EE iFHH iF L5X*;]U- ?r*-t!DL$"  [?v`UM- w*- ?t!"  a// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // FollowingKrall : Krall follower implemented in 1.3 Custom mappers where begging too much for him. // =============================================================== class FollowingKrall expands Follower; //====================================================================== // Krall functions var() byte StrikeDamage, ThrowDamage, PoundDamage; var bool AttackSuccess; var() bool bSpearToss; var() bool bDicePlayer; var() byte bSleeping; //0=no, 1=sleep1, 2=sleep2, 3=sleep3 var bool bHasDice; var bool bHeldDice; var(Sounds) sound strike1; var(Sounds) sound strike2; var(Sounds) sound twirl; var(Sounds) sound syllable1; var(Sounds) sound syllable2; var(Sounds) sound syllable3; var(Sounds) sound syllable4; var(Sounds) sound syllable5; var(Sounds) sound syllable6; var(Sounds) sound die2; var(Sounds) sound spearHit; var(Sounds) sound spearThrow; var name phrase; var byte phrasesyllable; var float voicePitch; var Dice Toy1; var Dice Toy2; var() float MinDuckTime; var float LastDuckTime; //attitude: function eAttitude AttitudeToCreature(Pawn Other) { if ( Other.IsA('Krall')&&Other.enemy!=self) //befriend all nice mercs. return ATTITUDE_Friendly; return Super.AttitudeToCreature(Other); } function bool IsValidTarget(pawn apawn){ //nice to all mercs. if (Apawn.IsA('FollowingKrall')||Apawn.IsA('Krall')) return false; return Super.IsValidTarget(apawn); } function PlayGreetAnim(){ //anim and sound on greet. Super.PlayGreetAnim(); PlaySound(Twirl,SLOT_Interact,0.5,,500); } function PreBeginPlay() { bCanSpeak = true; voicePitch = 0.25 + 0.5 * FRand(); if ( CombatStyle == Default.CombatStyle) CombatStyle = CombatStyle + 0.4 * FRand() - 0.2; bCanDuck = (FRand() < 0.5); Super.PreBeginPlay(); if ( bDicePlayer ) PeripheralVision = 1.0; if ( Skill == 0 ) ProjectileSpeed *= 0.85; else if ( Skill > 2 ) { bCanStrafe = true; ProjectileSpeed *= 1.1; } if ( !IsA('KrallElite') ) bLeadTarget = false; } function Carcass SpawnCarcass() { local carcass carc; carc = Spawn(CarcassType); carc.Initfor(self); carc.bReducedHeight = true; carc.PrePivot = PrePivot; return carc; } /* //Wiped: I'm not going to take the time to implement this ;p function PlayTakeHit(float tweentime, vector HitLoc, int damage) { local carcass carc; local LeglessKrall rep; local pawn OtherPawn; local Actor A; if ( (Health > 30) || (damage < 24) || (HitLoc.Z > Location.Z) || (FRand() < 0.6) || Level.Game.bVeryLowGore ) { Super.PlayTakeHit(tweentime, HitLoc, damage); return; } carc = Spawn(class 'CreatureChunks',,, Location - CollisionHeight * vect(0,0,0.5), Rotation + rot(3000,0,16384) ); if (carc != None) { carc.Mesh = mesh'KrallFoot'; carc.Initfor(self); carc.Velocity = Velocity + VSize(Velocity) * VRand(); carc.Velocity.Z = FMax(carc.Velocity.Z, Velocity.Z); } carc = Spawn(class 'CreatureChunks',,, Location - CollisionHeight * vect(0,0,0.5), Rotation + rot(3000,0,16384) ); if (carc != None) { carc.Mesh = mesh'KrallFoot'; carc.Initfor(self); carc.Velocity = Velocity + VSize(Velocity) * VRand(); carc.Velocity.Z = FMax(carc.Velocity.Z, Velocity.Z); } SetCollision(false, false, false); OtherPawn = Level.PawnList; while ( OtherPawn != None ) { OtherPawn.Killed(enemy, self, ''); OtherPawn = OtherPawn.nextPawn; } if ( CarriedDecoration != None ) DropDecoration(); if ( Event != '' ) foreach AllActors( class 'Actor', A, Event ) A.Trigger( self, enemy ); Level.Game.DiscardInventory(self); Velocity.Z *= 1.3; rep = Spawn(class'LeglessKrall'); rep.InitFor(self); destroy(); } */ function ZoneChange(ZoneInfo newZone) { bCanSwim = newZone.bWaterZone; //only when it must if ( newZone.bWaterZone ) CombatStyle = 1.0; //always charges when in the water else if (Physics == PHYS_Swimming) CombatStyle = Default.CombatStyle; Super.ZoneChange(newZone); } function SetMovementPhysics() { if ( Region.Zone.bWaterZone ) SetPhysics(PHYS_Swimming); else if (Physics != PHYS_Walking) SetPhysics(PHYS_Walking); } function TryToDuck(vector duckDir, bool bReversed) { local vector HitLocation, HitNormal, Extent; local actor HitActor; //log("duck"); if ( Level.TimeSeconds - LastDuckTime < (0.25 + 0.5 * FRand()) * MinDuckTime ) return; duckDir.Z = 0; if ( (Skill == 0) && (FRand() < 0.5) ) DuckDir *= -1; Extent.X = CollisionRadius; Extent.Y = CollisionRadius; Extent.Z = CollisionHeight; HitActor = Trace(HitLocation, HitNormal, Location + 128 * duckDir, Location, false, Extent); if (HitActor != None) { duckDir *= -1; HitActor = Trace(HitLocation, HitNormal, Location + 128 * duckDir, Location, false, Extent); } if (HitActor != None) return; HitActor = Trace(HitLocation, HitNormal, Location + 128 * duckDir - MaxStepHeight * vect(0,0,1), Location + 128 * duckDir, false, Extent); if (HitActor == None) return; //log("good duck"); LastDuckTime = Level.TimeSeconds; SetFall(); TweenAnim('Jump', 0.3); Velocity = duckDir * 1.5 * GroundSpeed; Velocity.Z = 200; SetPhysics(PHYS_Falling); GotoState('FallingState','Ducking'); } //========================================================================================= // Speech function SpeechTimer() { //last syllable expired. Decide whether to keep the floor or quit if (FRand() < 0.3) { bIsSpeaking = false; if (TeamLeader != None) TeamLeader.bTeamSpeaking = false; } else Speak(); } function SpeakOrderTo(ScriptedPawn TeamMember) { phrase = ''; if ( !TeamMember.bCanSpeak || (FRand() < 0.5) ) Speak(); else { if (SkaarjWarrior(TeamMember) != None) SkaarjWarrior(TeamMember).phrase = ''; TeamMember.Speak(); } } function SpeakTo(ScriptedPawn Other) { if (Other.bIsSpeaking || ((TeamLeader != None) && TeamLeader.bTeamSpeaking) ) return; phrase = ''; Speak(); } function Speak() { local float decision; //if (phrase != '') // SpeakPhrase(); bIsSpeaking = true; decision = FRand(); if (TeamLeader != None) TeamLeader.bTeamSpeaking = true; if (decision < 0.167) PlaySound(Syllable1,SLOT_Talk,0.3 + FRand(),,, FRand() + voicePitch); else if (decision < 0.333) PlaySound(Syllable2,SLOT_Talk,0.3 + FRand(),,, FRand() + voicePitch); else if (decision < 0.5) PlaySound(Syllable3,SLOT_Talk,0.3 + FRand(),,, FRand() + voicePitch); else if (decision < 0.667) PlaySound(Syllable4,SLOT_Talk,0.3 + FRand(),,, FRand() + voicePitch); else if (decision < 0.833) PlaySound(Syllable5,SLOT_Talk,0.3 + FRand(),,, FRand() + voicePitch); else PlaySound(Syllable6,SLOT_Talk,0.3 + FRand(),,, FRand() + voicePitch); SpeechTime = 0.1 + 0.3 * FRand(); } function PlayAcquisitionSound() { if ( bCanSpeak && (TeamLeader != None) && !TeamLeader.bTeamSpeaking ) { phrase = 'Acquisition'; phrasesyllable = 0; Speak(); return; } Super.PlayAcquisitionSound(); } function PlayFearSound() { if ( bCanSpeak && (TeamLeader != None) && !TeamLeader.bTeamSpeaking ) { phrase = 'Fear'; phrasesyllable = 0; Speak(); return; } Super.PlayFearSound(); } function PlayRoamingSound() { if ( bCanSpeak && (TeamLeader != None) && !TeamLeader.bTeamSpeaking && (FRand() < 0.5) ) { phrase = ''; Speak(); return; } Super.PlayRoamingSound(); } function PlayThreateningSound() { if ( bCanSpeak && (FRand() < 0.6) && ((TeamLeader == None) || !TeamLeader.bTeamSpeaking) ) { phrase = 'Threaten'; phrasesyllable = 0; Speak(); return; } Super.PlayThreateningSound(); } //========================================================================================= function ThrowDice() { local Dice d1, d2; local vector X,Y,Z, ThrowLoc; d1 = Krall(TeamLeader).Toy1; d2 = Krall(TeamLeader).Toy2; GetAxes(Rotation, X,Y,Z); ThrowLoc = Location + X * CollisionRadius + Y * CollisionRadius - Z * 0.6 * CollisionHeight; d1.SetLocation(ThrowLoc); d2.SetLocation(ThrowLoc + vect(2,2,2)); d1.instigator = self; d1.Throw(Y); d2.instigator = self; d2.Throw(Y); } function GrabDice() { if ( Krall(TeamLeader).Toy1 == None ) Krall(TeamLeader).Toy1 = Spawn(class'Dice'); if ( Krall(TeamLeader).Toy2 == None ) Krall(TeamLeader).Toy2 = Spawn(class'Dice'); Krall(TeamLeader).Toy1.bHidden = True; Krall(TeamLeader).Toy2.bHidden = True; } function PlayWaiting() { local float decision; local float animspeed; if (Region.Zone.bWaterZone) { PlaySwimming(); return; } if ( bSleeping>0 ) { animspeed = 0.5 + 0.5 * FRand(); SetAlertness(-1.0); if (bSleeping==1) LoopAnim('Sleep1', AnimSpeed ); else if (bSleeping==2) LoopAnim('Sleep2', AnimSpeed ); else LoopAnim('Sleep3', AnimSpeed ); PlaySound(sound'Snore1K',SLOT_Talk); return; } decision = FRand(); if ( bDicePlayer ) { animspeed = 0.4 + 0.6 * FRand(); SetAlertness(-1.0); if ( TeamLeader == None ) { if ( decision < 0.9 ) LoopAnim('Breath2', animspeed, 0.5); else LoopAnim('HeadRub', animspeed); return; } if ( !TeamLeader.bTeamSpeaking ) { phrase = ''; Speak(); } if ( bHasDice ) { if ( AnimSequence == 'Toss' ) { bHasDice = false; Krall(TeamLeader).bHeldDice = false; } else if ( FRand() < 0.8 ) { PlayAnim('Toss', animspeed); return; } } if ( Krall(TeamLeader).bHeldDice || ( FRand() < 0.65) ) { if ( decision < 0.8 ) LoopAnim('Breath2', animspeed, 0.5); else if ( decision < 0.9 ) LoopAnim('Laugh', animspeed); else LoopAnim('HeadRub', animspeed); return; } Krall(TeamLeader).bHeldDice = True; bHasDice = True; PlayAnim('Grasp', animspeed); return; } if (AnimSequence == 'Look') { SetAlertness(0.0); if (!bQuiet && decision < 0.3) { LoopAnim('Twirl', 0.3 + 0.6 * FRand()); PlaySound(Twirl,SLOT_Interact,0.5,,500); } else LoopAnim('Breath', 0.2 + 0.7 * FRand()); return; } else if (AnimSequence == 'Twirl') { SetAlertness(0.0); if (decision < 0.5) { PlaySound(Twirl,SLOT_Interact,0.5,,500); LoopAnim('Twirl', 0.3 + 0.6 * FRand()); } else LoopAnim( 'Breath', 0.2 + 0.7 * FRand()); return; } if (decision < 0.2) { SetAlertness(0.5); LoopAnim('Look', 0.2 + 0.7 * FRand()); } else { SetAlertness(0.0); LoopAnim('Breath', 0.2 + 0.7 * FRand()); } } function PlayPatrolStop() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } if ( (AnimSequence == 'Breath') && (FRand() < 0.4) ) { SetAlertness(0.5); LoopAnim('Look', 0.2 + 0.7 * FRand()); return; } else if ( !bQuiet && (AnimSequence == 'Look') && (FRand() < 0.3) ) { SetAlertness(0.0); PlaySound(Twirl,SLOT_Interact,0.5,,500); LoopAnim('Twirl', 0.3 + 0.6 * FRand()); return; } else if ( (AnimSequence == 'Twirl') && (FRand() < 0.5) ) { SetAlertness(0.0); PlaySound(Twirl,SLOT_Interact,0.5,,500); LoopAnim('Twirl', 0.3 + 0.6 * FRand()); return; } SetAlertness(0.0); LoopAnim('Breath', 0.2 + 0.7 * FRand()); } function PlayWaitingAmbush() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } if (FRand() < 0.4) LoopAnim('Look', 0.3); else LoopAnim('Breath', 0.3 + 0.5 * FRand()); } function PlayChallenge() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } if ( TryToCrouch() ) { TweenAnim('Crouch', 0.12); return; } PlayThreateningSound(); PlayAnim('T3', 0.7, 0.15); } function PlayDive() { TweenToSwimming(0.2); } function TweenToFighter(float tweentime) { if ( bDicePlayer ) { PeripheralVision = Default.PeripheralVision; bDicePlayer = false; } bSleeping = 0; if (Region.Zone.bWaterZone) { TweenToSwimming(tweentime); return; } TweenAnim('Fighter', tweentime); } function TweenToRunning(float tweentime) { if ( bDicePlayer ) { PeripheralVision = Default.PeripheralVision; bDicePlayer = false; } bSleeping = 0; if (Region.Zone.bWaterZone) { TweenToSwimming(tweentime); return; } if ( (AnimSequence == 'Shoot2') && IsAnimating() ) return; if ( (AnimSequence != 'Run') || !bAnimLoop ) TweenAnim('Run', tweentime); } function TweenToWalking(float tweentime) { if (Region.Zone.bWaterZone) { TweenToSwimming(tweentime); return; } TweenAnim('Walk', tweentime); } function TweenToWaiting(float tweentime) { if (Region.Zone.bWaterZone) { TweenToSwimming(tweentime); return; } if ( bDicePlayer ) { TweenAnim('Breath2', tweentime); return; } TweenAnim('Breath', tweentime); } function TweenToPatrolStop(float tweentime) { if (Region.Zone.bWaterZone) { TweenToSwimming(tweentime); return; } TweenAnim('Breath', tweentime); } function TweenToFalling() { TweenAnim('Jump', 0.35); } function PlayInAir() { TweenAnim('Jump', 0.2); } function PlayOutOfWater() { TweenAnim('Land',0.8); } function PlayLanded(float impactVel) { TweenAnim('Land', 0.1); } function PlayMovingAttack() { if (Region.Zone.bWaterZone) { PlayAnim('SwimFire'); SpawnShot(); return; } DesiredSpeed = 0.4; MoveTimer += 0.2; PlayAnim('Shoot2'); } function PlayRunning() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } DesiredSpeed = 1.0; if (Focus == Destination) { LoopAnim('Run', -1.0/GroundSpeed,, 0.4); return; } LoopAnim('Run', StrafeAdjust(),,0.3); } function PlayWalking() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } LoopAnim('Walk', 0.88); } function TweenToSwimming(float tweentime) { if ( (AnimSequence != 'Swim') || !bAnimLoop ) TweenAnim('Swim', tweentime); } function PlaySwimming() { LoopAnim('Swim', -1.0/WaterSpeed,,0.3); } function PlayThreatening() { local float decision, animspeed; if (Region.Zone.bWaterZone) { PlaySwimming(); return; } decision = FRand(); animspeed = 0.4 + 0.6 * FRand(); if ( decision < 0.6 ) PlayAnim('Breath', animspeed, 0.3); else if ( decision < 0.7 ) { PlaySound(Twirl,SLOT_Interact,0.5,,500); PlayAnim('Twirl', animspeed, 0.3); } else { PlayThreateningSound(); if ( decision < 0.8 ) PlayAnim('T3', animspeed, 0.3); else if ( decision < 0.9 ) PlayAnim('ThreatShoot1', 0.3, 0.3); else TweenAnim('Fighter', 0.3); } } function PlayTurning() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } TweenAnim('Walk', 0.3); } function PlayBigDeath(name DamageType) { PlaySound(Die2, SLOT_Talk, 4 * TransientSoundVolume); PlayAnim('Die2',0.7,0.1); } function PlayHeadDeath(name DamageType) { local carcass carc; if ( ((DamageType == 'Decapitated') || ((Health < -20) && (FRand() < 0.5))) && !Level.Game.bVeryLowGore ) { carc = Spawn(class 'CreatureChunks',,, Location + CollisionHeight * vect(0,0,0.8), Rotation + rot(3000,0,16384) ); if (carc != None) { carc.Mesh = mesh'KrallHead'; carc.Initfor(self); carc.Velocity = Velocity + VSize(Velocity) * VRand(); carc.Velocity.Z = FMax(carc.Velocity.Z, Velocity.Z); } PlayAnim('Dead5',0.7,0.1); if ( Velocity.Z < 120 ) { Velocity = GroundSpeed * vector(Rotation); Velocity.Z = 150; } } else if ( FRand() < 0.5 ) PlayAnim('Die4',0.7,0.1); else PlayAnim('Die3',0.7,0.1); PlaySound(Die, SLOT_Talk, 4 * TransientSoundVolume); } function PlayLeftDeath(name DamageType) { PlayAnim('Die4',0.7, 0.1); PlaySound(Die,SLOT_Talk, 4 * TransientSoundVolume); } function PlayRightDeath(name DamageType) { PlayAnim('Die3',0.7,0.1); PlaySound(Die,SLOT_Talk, 4 * TransientSoundVolume); } function PlayGutDeath(name DamageType) { if ( Velocity.Z > 100 ) PlayAnim('Die3',0.7,0.1); else PlayAnim('Die1',0.7,0.1); PlaySound(Die,SLOT_Talk, 4 * TransientSoundVolume); } function PlayVictoryDance() { PlaySound(Twirl,SLOT_Interact,0.5,,500); PlayAnim('Twirl', 0.5, 0.1); } function bool CanFireAtEnemy() { local vector HitLocation, HitNormal,X,Y,Z, projStart, EnemyDir, EnemyUp; local actor HitActor; local float EnemyDist; EnemyDir = Enemy.Location - Location; EnemyDist = VSize(EnemyDir); EnemyUp = Enemy.CollisionHeight * vect(0,0,0.9); if ( EnemyDist > 300 ) { EnemyDir = 300 * EnemyDir/EnemyDist; EnemyUp = 300 * EnemyUp/EnemyDist; } GetAxes(Rotation,X,Y,Z); projStart = Location + 0.9 * CollisionRadius * X - 0.7 * CollisionRadius * Y; HitActor = Trace(HitLocation, HitNormal, projStart + EnemyDir + EnemyUp, projStart, true); if ( (HitActor == None) || (HitActor == Enemy) || ((Pawn(HitActor) != None) && (AttitudeTo(Pawn(HitActor)) <= ATTITUDE_Ignore)) ) return true; HitActor = Trace(HitLocation, HitNormal, projStart + EnemyDir, projStart , true); return ( (HitActor == None) || (HitActor == Enemy) || ((Pawn(HitActor) != None) && (AttitudeTo(Pawn(HitActor)) <= ATTITUDE_Ignore)) ); } function SpawnShot() { DesiredSpeed = 0.0; //For Kraal shoot2 (walking shoot, w/ pause) FireProjectile( vect(0.9, -0.5, 0), 500); } function ShotMove() { DesiredSpeed = 1.0; } function StrikeDamageTarget() { if (MeleeDamageTarget(StrikeDamage, StrikeDamage * 700 * Normal(Target.Location - Location))) PlaySound(SpearHit,SLOT_Interact); } function PoundDamageTarget() { if (MeleeDamageTarget(PoundDamage, PoundDamage * 500 * Normal(Target.Location - Location))) PlaySound(SpearHit,SLOT_Interact); } function ThrowDamageTarget() { AttackSuccess = MeleeDamageTarget(ThrowDamage, vect(0,0,0)); } function ThrowTarget() { local rotator newRot; if (AttackSuccess && (Vsize(Target.Location - Location) < CollisionRadius + Target.CollisionRadius + 1.5 * MeleeRange) ) { PlaySound(SpearThrow,SLOT_Interact); newRot = Target.Rotation; newRot.Pitch = 4096; Target.SetRotation(newRot); if (Pawn(Target) != None) { Pawn(Target).AddVelocity( (50000.0 * (Normal(Target.Location - Location) + vect(0,0,1)))/Target.Mass); if (PlayerPawn(Target) != None) PlayerPawn(Target).ShakeView(0.2, 2000, -10); } } } function PlayMeleeAttack() { local float decision; decision = FRand(); if (!bSpearToss) decision *= 0.7; if (decision < 0.2) { PlayAnim('Strike1'); PlaySound(Strike1,SLOT_Interact); } else if (decision < 0.4) { PlayAnim('Strike2'); PlaySound(Strike2,SLOT_Interact); } else if (decision < 0.7) { PlayAnim('Strike3'); PlaySound(Strike1,SLOT_Interact); } else { PlayAnim('Throw'); PlaySound(Strike2,SLOT_Interact); } } function PlayRangedAttack() { local float tweenin; if (Region.Zone.bWaterZone) { PlayAnim('SwimFire'); SpawnShot(); return; } if (AnimSequence == 'Shoot1') tweenin = 0.3 * FRand(); else tweenin = 0.35; PlayAnim('Shoot1', 1.0, tweenin); } state TacticalMove { ignores SeePlayer, HearNoise; function TweenToRunning(float tweentime) { if ( bDicePlayer ) { PeripheralVision = Default.PeripheralVision; bDicePlayer = false; } if (Region.Zone.bWaterZone) { TweenToSwimming(tweentime); return; } if ( bCanStrafe && (AnimSequence == 'Shoot2') && IsAnimating() ) return; if ( (AnimSequence != 'Run') || !bAnimLoop ) TweenAnim('Run', tweentime); } } O5dOG- w*-t!BL$"   P5k "~R-'k ,w*-'\k  +>a['$> @ :k ~>a]'$> @ :k ?aa'$> @ :k *?a`'$> @ :k }?U?aQ'$> @ :an'$> @ =>  Q5J(zH5J(-w*- t!"  R5L[pt!6L- ?"n_w. L*. L!L"  y?];3>-(0w*-(9" r^7R(TuH$"#R( S // =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // FollowingKrallElite : balh // =============================================================== class FollowingKrallElite expands FollowingKrall; function PreBeginPlay() { Super.PreBeginPlay(); bCanDuck = true; } function PlayMeleeAttack() { local float decision; decision = FRand(); if (!bSpearToss) decision *= 0.65; if (decision < 0.22) PlayAnim('Strike1'); else if (decision < 0.44) PlayAnim('Strike2'); else if (decision < 0.65) PlayAnim('Strike3'); else PlayAnim('Throw'); } e"Gj&<Hp?,?% <a/!B r%H s <,HE?,?%\w\*\a\\ Jr%H s <,HE?,?%\Jw\*3\a/!x\a\\\w\*y%y,y,ryHPC*MryHPC\yH"$!r\ eH-^ .e\-~'J\a/!xC .\y,%ryH s \#<y,HE?,?%r\-`"'\ayp\\^y%y,&ryHPC*^:yH"&<yHE?,?&ayHPC MyHPC@yHPCy-`"f l.// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // ONPEndMark : This actor should exist only ONCE in Operation: Na Pali. controls high score saving. // Note: can warp or set cutscene. // Event is triggered when player is doen with notification stuff. // =============================================================== class ONPEndMark expands Keypoint; var() bool bEnabled; //End Event is activated var() string NextMapURL; //next map to go to? var() string CoopNextMapURL; //next map to go to in co-op? var () bool bStartCutScene; var () bool TriggerActivated; //activate when triggered? var bool bNoTick; //disable not work right... function PreBeginPlay(){ Super.PreBeginPlay(); Disable('tick'); Enable('Touch'); } function Trigger (actor Other, Pawn EventInstigator){ if (TriggerActivated) Touch(EventInstigator); else bEnabled=!bEnabled; } function Tick (float delta){ //only called after pause undone local actor A; if (bNoTick||level.pauser!="") return; if (NextMapURL!="") Level.Game.SendPlayer(playerpawn(Instigator), NextMapURL); if (Event!='') ForEach AllActors (class'actor',A,event) A.Trigger(self,instigator); if (bStartCutScene){ Tvplayer(Instigator).playermod=1; TvPlayer(Instigator).Linfo.bCutScene=true; } Disable('tick'); bNoTick=true; } function touch (actor Other){ local actor A; local TvPlayer P; local int i; local AwardNotifyWindow Award; if ( !bEnabled ) return; P=tvplayer(other); if (P==none) return; if (level.netmode!=nm_standalone){ //screw this, just teleport if (CoopNextMapURL!="") NextMapURL=CoopNextMapURL; if (NextMapURL!="") Level.Game.SendPlayer(P, NextMapURL); if (Event!='') ForEach AllActors (class'actor',A,event) A.Trigger(self,pawn(other)); return; } Disable('touch'); Instigator=P; if (!P.Linfo.bCutScene) for (i=0;i<36;i++) if (P.ScoreHolder.Times[i]<=0){ P.ScoreHolder.Times[i]=P.MyTime; break; } P.ScoreHolder.AccumTime+=P.MyTime; P.MyTime=0; P.ScoreHolder.TotalLevelSecrets+=Level.Game.SecretGoals; P.ScoreHolder.TotalSecretsFound+=P.SecretCount; level.game.SecretGoals=0; P.SecretCount=0; //REWARDS if (level.game.difficulty+1>class'TVHSClient'.default.MaxDif){ WindowConsole(P.Player.Console).bQuickKeyEnable = true; //ensures it will then close..... WindowConsole(P.Player.Console).LaunchUWindow(); //open window..... Award=AwardNotifyWindow(WindowConsole(P.Player.Console).Root.CreateWindow(class'AwardNotifyWindow', 100, 100, 200, 200)); AwardClient(Award.ClientArea).SetAwards(level.game.difficulty); p.setpause(true); } class'TVHSClient'.static.SaveScores(P.scoreHolder,P.PlayerReplicationInfo.PlayerName); //implement enterable names? Enable('tick'); bNoTick=false; } Z5J46-o$22::$o$ c5z{\-z-6z-?OO::$z G f5oS @wM*Ma   0@1g%Vg%?, ZV?&0rM*x F-[ DVVV?DVgrM* r.*Max -[  %Ma.  x-[  MC???, ~9. q" ?'~ap"[%q" 'Ma p"~?,@ N.`5A "' a5y0k"@p-u-\# I k"[-M N 6h?,BhH k"-d( L[5SP KG a G AG -'G  G  K.e5W0+)x.~o*6~JSa #?ծ?,~1J T-(' x.\"x5~0ZN Ok5|3OaP $? C y$Ly.davidmgras.palmsil S&.  h?\(M^a ta\( x  +rt* tx tnx G tta/!U -^ .et-~'txtZt Qx t gx t Zx  d5W<*`4r*Wa/!2N .W^LW?W  Uu5Ba.:,Ba/![Ba/!^(UB  j5Z,YC+Ln*Z, b5n5dCBRcGcGc$rK J1T?,hc+rHCTX A1T?,h-uc=r6?,6?, }0@?,@?,P:T%cEGet Ready!P$:T&cEYou Win!PP:T,cEComputer Wins! E1X5K:V@ :p5%rhDԝXf7J7J7J7J7JJT)yR@G/T2R@G/T2R@G/T2o F} O JT)y{#UԝXf FCqrSD$HBF$HBns5^// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // HumanSpeechTrigger : This trigger can be used to activate scriptedhuman speaking. used for moving lips // =============================================================== class HumanSpeechTrigger expands Triggers; var () Sound Speech; var() float SpeechVolume; var() float SpeechRadius; var () float FaceLastingTime; var () name HumanTag; var () string SpeechText; //speech text equivilent var () bool bUseLocalPlayerName; //for messages use local player name...... function Trigger( actor Other, pawn EventInstigator ) { local pawn p, q; local ScriptedHumanMessage SHM; for (p=level.pawnlist;p!=none;p=p.nextpawn) if (p.tag==HumanTag&&p.Isa('scriptedhuman')){ scriptedhuman(p).Scream(Speech,SLOT_TALK,SpeechVolume,true,SpeechRadius); p.speechtime=FaceLastingTime; scriptedhuman(p).SpeechTimeCur=FaceLastingTime; if (SpeechText=="") return; if (bUseLocalPlayerName){ for( q=Level.PawnList; q!=None; q=q.nextPawn ) if (q.IsA('tvplayer')) tvplayer(q).SayMessage(SpeechText,GetSoundDuration(Speech)); } else if (P.MenuName!=""&&ScriptedHuman(P).FollowerIcon!=none){ SHM=spawn(class'ScriptedHumanMessage'); SHM.PlayerName=Follower(P).MyName; SHM.TeamName=SpeechText; SHM.TalkTexture=ScriptedHuman(P).FollowerIcon; SHM.Score=fmax(3,GetSoundDuration(Speech)); } } } d iFv) ;-Fa/!^wF$d F t5rDf@w5mm;PtttF5݄tF5ݏttttF5j ZXj Zj ZF5j Zt s$Ap$Do$> Md  q!U u$i%h\H.,w)*) ,@i% o@g// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvWarlordRocket : ut explosion // =============================================================== class TvWarlordRocket expands olWarlordRocket; simulated function Explode(vector HitLocation, vector HitNormal) { local Actor s; HurtRadius(damage, 200.0, 'exploded', MomentumTransfer, HitLocation); s=Spawn(class'Ut_SpriteBallExplosion',,,HitLocation); s.RemoteRole=Role_None; Destroy(); } auto simulated state Flying { simulated function ProcessTouch (Actor Other, Vector HitLocation) { if ((PeaceRocket(Other) == none) && (Other != Instigator) ) Explode(HitLocation, vect(0,0,0)); } simulated function BeginState() { if (Level.bHighDetailMode) SmokeRate = 0.035; else SmokeRate = 0.15; PlaySound(SpawnSound); if (role^ xL>^ x?C"?x?,vS?,?,`v?!?v?,?,?,^ -r!6-6-(r`B?]*Failed to attach decal!!!!W a6--r! @6lRIrssj"s-(s*s* E6G6(Nrs*s%v!Cws*s*-] (rs*sa/!Y X C6\:^ i\pE.\mw*u.\w*u.\-r.\*.\p/-- .\- pl[r *.\!N|.\h  %**Y a @.pg.\ K6L6M6G&dAH6JQ5|? $$H!a a&!e >q!O!s ta%!]r@?q!O!s U F6P65^\-] d"a/!02ws*ls.d"\ws*u!-] ' d"O6^6XG* -] v!l-] ( _M'T6t  /9a%!] rt a!g q!] !c _-_  !Tv! eG -_ w.t *.t 4T`jGt  t  Z*.iHa%!] !a 9]ZL>Zu&c&]a& h$~A~5O9Hv!;aq!%v!;#P tac= !bv!;#aa&!e =P aXj a !O #P c>v!;Ij lac=a fff? q!] !o-q!%P xu!;a !`v!;Y !b ~ `oO LbsaZ c[C -w.[*.[-[-'[- (.[%[a'''[-([o$[*[a/!0[q!C VCvY"v%v,~vEINVENTORYNEXTn{hhph,v hv ~vEINVENTORYPREVIOUS{ddpd,v dv z~vEINVENTORYACTIVATE`{ccpc,v zcv vO,. @Vpppppp,Uh&Yd,Yc,Y~Hp%-F' ~Hq!X  |K,9$$16--(| \6@J// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvBruteProjectile : balh // =============================================================== class TvBruteProjectile expands BruteProjectile; auto simulated state Flying { simulated function BlowUp(vector HitLocation) { local int mult; PlaySound(ImpactSound); if (level.netmode==nm_client) return; if (instigator!=none) mult=instigator.skill*45; HurtRadius(damage, 50 + mult, 'exploded', MomentumTransfer, HitLocation); MakeNoise(1.0); } simulated function Explode(vector HitLocation, vector HitNormal) { local UT_SpriteBallExplosion s; BlowUp(HitLocation); s = spawn(class 'UT_SpriteBallExplosion',,'',HitLocation+HitNormal*10 ); s.RemoteRole = ROLE_None; Destroy(); } Begin: Sleep(7.0); //self destruct after 7.0 seconds Explode(Location,vect(0,0,0)); } V1@ Kj,$$  _6Q6$P v! K>+$$ W1Ju.*$$u QN,J]w*w* _9H\(rH H ZH tXBx/(d a $)-a a{n?'':m,m$ t&Q[1]1i -Jtw$r:w:mhr:w{*:w{-:w{a h:w{w  rnA3I:r:$ Jq,bra/!U r C,r  +nrCommandoSkins.cmdoBlakeY  zoo&t r Uo\ o}o}t &z\ \ op\ o:Y ,}r%pp\ T_Skin0_RY ppT_Skin0_RY }r&pp\ T_Skin1_RY ppT_Skin1_RY }r%po0p0}r&po1p1Gw.r*.r.UTtech2.Deco.xmetex2x1   v$FCtZ\6- 7e a&!I = Xa!gL??= ol<<Cw.*.- -  % {w.*w..*.pw*A.3w*A.q!o C ^$@7W$ljw*<w *a $ /Djjw*a $ /D [\a1l,B-Rw*R.w*R.{a/!0w..*.pq!Z b6XQv!u!: c$G&}6`NT  `T S #L?`?,T ?,T `S ?,S `r*(hijb 6 hի?6 i6 jl- V a\g S b'V a\gbT S b'rV 'wV *\?,(w.V *:/.V :$(' 6}-_"-n(-b(-g(Z 66 [ 66 ^ 66 Z Z 6s6y}r[ [ 6s6y}r^ ^ 6s6y}r:Z 6yZ 6y-n'f[ 6y[ 6y-b'^ 6y^ 6y-g'66 Z 66 [ 66 ^ -n-b-gO [" FW6>20w \ h*q!HX, t@y-y U"x -( G7KNlz iH/KX:H:$ :H:$H::$mKX:H:$ r* ::$>L> hK XhA&X=> W] E&ZK h,ZWL? [D&] ?%] ?J] 'gJ] ( qCU`e 0$$a!h@=q!O!s v // =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvGasBagBelch : new explosion // =============================================================== class TvGasBagBelch expands GasBagBelch; auto simulated state Flying { simulated function Explode(vector HitLocation, vector HitNormal) { local UT_SpriteBallExplosion s; if ( (Role == ROLE_Authority) && (FRand() < 0.5) ) MakeNoise(1.0); //FIXME - set appropriate loudness s = Spawn(class'ut_SpriteBallExplosion',,,HitLocation+HitNormal*9); s.RemoteRole = ROLE_None; Destroy(); } Begin: Sleep(3); Explode(Location, Vect(0,0,0)); } y5}%fb.,}%*w)*) ,; IwC., u! P7XwI.'X?%XmILmX'S"II|#?Xm-X (XIIaIX-X '*stopped ducking.. reseting collisionIaIX-X '-X I |IXS"I6|-X  _:// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // LaserBeam : Intended to be placed into the world by a mapper. Will then generate further telsas. // Toggle activation with bActive! // when it hits something it will trigger an event, provided that something fits teh triggering type // Set damage to control amount of damage the bolt does... // =============================================================== class LaserBeam expands TelsaBolt; //mapper configurable: var () bool bWallHitEffect; //show wall hit effect? var () bool bActive; //Is it active initially? triggering this toggles. var() enum ETriggerType { TT_GoodGuyProximity, // Trigger is activated by follower/player proximity. TT_PawnProximity, // Trigger is activated by any pawn's proximity TT_ClassProximity, // Trigger is activated by actor of that class only TT_AnyProximity, // Trigger is activated by any actor in proximity. } TriggeringType; var() class ClassProximityType; //what class can set off? var() bool CallEventOnceOnly; //call event once only? //internal: var vector X; var PlasmaCap BackWallEffect; var float AnimTime; var bool bNoTrigger; replication{ reliable if (role==role_authority) bActive, bWallHitEffect; } function bool IsRelevant( actor Other ) { if( !bActive || bNoTrigger) return false; switch( TriggeringType ) { case TT_GoodGuyProximity: return Pawn(Other)!=None && (Pawn(Other).bIsPlayer || (Other.Isa('follower')&&Follower(other).IsFriend())); case TT_PawnProximity: return Pawn(Other)!=None && ( Pawn(Other).Intelligence > BRAINS_None ); case TT_ClassProximity: return ClassIsChildOf(Other.Class, ClassProximityType); return true; } } //triggering: function HitSomething(actor Other){ local Actor A; if (!IsRelevant(Other)) return; if (CallEventOnceOnly) bNoTrigger=true; if( Event != '' ) foreach AllActors( class 'Actor', A, Event ) A.Trigger( Other, Other.Instigator ); if ( Other.IsA('Pawn') && (Pawn(Other).SpecialGoal == self) ) Pawn(Other).SpecialGoal = None; } function Trigger( actor Other, pawn EventInstigator ) { bActive=!bActive; } simulated function Destroyed() { Super.Destroyed(); if ( BackWallEffect != None ) WallEffect.Destroy(); } simulated function float GetDamage(vector HitLocation){ return Damage; } simulated function byte GetVolume(float Damage){ return SoundVolume; } simulated function bool DoWallHit(){ return bWallHitEffect; } simulated function PostBeginPlay() { Super.PostBeginPlay(); Sentinel=self; Skin=SpriteAnim[0]; oldsound=ambientsound; } simulated function Tick(float DeltaTime){ SetHidden(!bActive); if (!bActive){ if (PlasmaBeam != none){ PlasmaBeam.Destroy(); PlasmaBeam = none; } return; } AnimTime += DeltaTime; if ( AnimTime > 0.05 ) { AnimTime -= 0.05; SpriteFrame++; if ( SpriteFrame == 5 ) SpriteFrame = 0; if (skin!=none) Skin = SpriteAnim[SpriteFrame]; } if (X==vect(0,0,0)){ X=vector(Rotation); if (bWallHitEffect) SpawnWallHit(); } CheckBeam(X, DeltaTime); } simulated function SpawnWallHit(){ local vector HitLocation, HitNormal; if (Trace(HitLocation, HitNormal, Location - BeamSize * X, Location) != None){ BackWallEffect = Spawn(class'PlasmaHit',,, HitLocation - 5 * X); //temp.. always stays. BackWallEffect.Texture=Texture'olextras.BlueBoltCap.pEnd_a00'; BackWallEffect.LightHue=170; } } .KP -'Nw[*-'e a[Nwe *e   fO7 w*a/!0^.- -fw?,.--fw-f.-w*somehow a non-playerpawn got the duckenabler!a T7b${;z-(b$W%P% xCT{8 4T$2:T,:T_aT  W7^2O r*       g1@O T  - v!@-@a(~/%~#%w.@*_.@/a0 K|WK wKw10ww/a0 K/.|WK wK w%/10wK*K \@!@a/!X/a0 F"F"@@10::$.@4ppTeleport destination for V not found! k1 X7t &A -(-'-' ?,  ?  ? vY7MJEv3?,>-(-( | \DY7| $$5w* o:  M7FII ::$B"[7dW{ y yԝXԝXԝXtttԝXXtԝX wcyM" G{ $tL qe[CHb7  " " ""**"%0 n@ծ@@@@@@ @U@tT_// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvStarterBolt : Simply the controller of the new colored bolt. Same code as the Oldskool one. // =============================================================== #exec TEXTURE IMPORT NAME=sbbolt0 FILE=pulse\sbolt0.pcx GROUP=Skins //Translucent #exec TEXTURE IMPORT NAME=sbbolt1 FILE=pulse\sbolt1.pcx GROUP=Skins //Translucent #exec TEXTURE IMPORT NAME=sbbolt2 FILE=pulse\sbolt2.pcx GROUP=Skins //Translucent #exec TEXTURE IMPORT NAME=sbbolt3 FILE=pulse\sbolt3.pcx GROUP=Skins //Translucent #exec TEXTURE IMPORT NAME=sbbolt4 FILE=pulse\sbolt4.pcx GROUP=Skins //Translucent class TvStarterBolt expands Tvpbolt; var float OldError, NewError, StartError, AimError; //used for bot aiming var rotator AimRotation; var float AnimTime; replication { // Things the server should send to the client. unreliable if( Role==ROLE_Authority ) AimRotation; } simulated function PostBeginPlay() { Super.PostBeginPlay(); BaseBolt=self; if ( instigator == None ) return; if ( Instigator.IsA('Bot') && Bot(Instigator).bNovice ) aimerror = 2200 + (3 - instigator.skill) * 300; else aimerror = 1000 + (3 - instigator.skill) * 400; if ( FRand() < 0.5 ) aimerror *= -1; } simulated function Tick(float DeltaTime) { local vector X,Y,Z, AimSpot, DrawOffset, AimStart; local int YawErr; local float dAdjust; local Bot MyBot; AnimTime += DeltaTime; if ( AnimTime > 0.05 ) { AnimTime -= 0.05; SpriteFrame++; if ( SpriteFrame == 5 ) SpriteFrame = 0; Skin = SpriteAnim[SpriteFrame]; } BeamLength=0; NumHits=0; // orient with respect to instigator if ( Instigator != None ) { if ( (Level.NetMode == NM_Client) && (!Instigator.IsA('PlayerPawn') || (PlayerPawn(Instigator).Player == None)) ) { SetRotation(AimRotation); Instigator.ViewRotation = AimRotation; DrawOffset = ((0.01 * class'PulseGun'.Default.PlayerViewOffset) >> Rotation); DrawOffset += (Instigator.EyeHeight * vect(0,0,1)); } else { MyBot = Bot(instigator); if ( MyBot != None || !instigator.bIsPlayer) //AI { if ( Instigator.Target == None ) Instigator.Target = Instigator.Enemy; if ( Instigator.Target == Instigator.Enemy && Instigator.Enemy != none) { if (MyBot!=none && MyBot.bNovice ) dAdjust = DeltaTime * (4 + instigator.Skill) * 0.075; else dAdjust = DeltaTime * (4 + instigator.Skill) * 0.12; if ( OldError > NewError ) OldError = FMax(OldError - dAdjust, NewError); else OldError = FMin(OldError + dAdjust, NewError); if ( OldError == NewError ) NewError = FRand() - 0.5; if ( StartError > 0 ) StartError -= DeltaTime; else if (MyBot!=none && MyBot.bNovice && (Level.TimeSeconds - MyBot.LastPainTime < 0.2) ) StartError = MyBot.LastPainTime; else if (instigator.Isa('ScriptedPawn') && instigator.skill<2 && (Level.TimeSeconds - ScriptedPawn(instigator).LastPainTime < 0.2) ) StartError = ScriptedPawn(instigator).LastPainTime; else StartError = 0; AimSpot = 1.25 * Instigator.Target.Velocity + 0.75 * Instigator.Velocity; if ( Abs(AimSpot.Z) < 120 ) AimSpot.Z *= 0.25; else AimSpot.Z *= 0.5; if ( Instigator.Target.Physics == PHYS_Falling ) AimSpot = Instigator.Target.Location - 0.0007 * AimError * OldError * AimSpot; else AimSpot = Instigator.Target.Location - 0.0005 * AimError * OldError * AimSpot; if ( (Instigator.Physics == PHYS_Falling) && (Instigator.Velocity.Z > 0) ) AimSpot = AimSpot - 0.0003 * AimError * OldError * AimSpot; AimStart = Instigator.Location + FireOffset.X * X + FireOffset.Y * Y + (1.2 * FireOffset.Z - 2) * Z; if ( FastTrace(AimSpot - vect(0,0,10), AimStart) ) AimSpot = AimSpot - vect(0,0,10); GetAxes(Instigator.Rotation,X,Y,Z); AimRotation = Rotator(AimSpot - AimStart); AimRotation.Yaw = AimRotation.Yaw + (OldError + StartError) * 0.75 * aimerror; YawErr = (AimRotation.Yaw - (Instigator.Rotation.Yaw & 65535)) & 65535; if ( (YawErr > 3000) && (YawErr < 62535) ) { if ( YawErr < 32768 ) AimRotation.Yaw = Instigator.Rotation.Yaw + 3000; else AimRotation.Yaw = Instigator.Rotation.Yaw - 3000; } } else if ( Instigator.Target != None ) AimRotation = Rotator(Instigator.Target.Location - Instigator.Location); else AimRotation = Instigator.ViewRotation; Instigator.ViewRotation = AimRotation; SetRotation(AimRotation); } else { AimRotation = Instigator.ViewRotation; SetRotation(AimRotation); } Drawoffset = Instigator.Weapon.CalcDrawOffset(); } GetAxes(Instigator.ViewRotation,X,Y,Z); if ( bCenter ) { FireOffset.Z = Default.FireOffset.Z * 1.5; FireOffset.Y = 0; } else { FireOffset.Z = Default.FireOffset.Z; if ( bRight ) FireOffset.Y = Default.FireOffset.Y; else FireOffset.Y = -1 * Default.FireOffset.Y; } if (instigator.isa('nali')||instigator.isa('nalitrooper')) drawoffset+=vect(14,5.5,-9) >> Instigator.Rotation; else if (instigator.isa('skaarj')||instigator.isa('rebelskaarj')) drawoffset+=vect(33,-37,-7) >> Instigator.Rotation; SetLocation(Instigator.Location + DrawOffset + FireOffset.X * X + FireOffset.Y * Y + FireOffset.Z * Z); } else GetAxes(Rotation,X,Y,Z); CheckBeam(X, DeltaTime); } l Z(~ cc%5c,+rcQZ(5cCc, c,cQc&Qczc&zcic&icCcQ*czci% cDK7u [D[}%mի[J nMMMhnA [ n[?6 O$[$:[,:[_Y [J nA A #J #[$S:[,:[_^ [&nA J  2@!!!cbbBAASRRtrr211e7s| b2O-y+4s, 2> I2L?  s,p2? 2@?  s% 2<2?,2 #< 2< 2 #=  s% 2Q= 2L>Qs,K2Q= ]Q u2L=?,s& ]2G=?&s&Q>?& 2 #>?&s&\B>?&  233>2>  P2H>5s& 2> J2(>  e2z? z2+? 2p=? 2R^?2G? 2L? 2Q? 2= W?  s, 2 c? 02k? E233s? Z2Hz?   eD U8-hw Y%0w za@?,(f-`'wMonster's assault has concluded!(!] p1U7f7c} ~M&,!3uM&XDuXu?X dDo [@9o C$`:C,:C_ b @C'wcBDo *Bo B#na o  w*|ppWARNING: collision detection failure! SetLocation() failed! Vector [Xo ] is outside of world!B#YD,c \ B m7q GzQFbHb?`իfff?Fիfff?bի>Hq ~`- - ~9q `a!`q ``իff?b6q ~9q ` a!`q  Oh$|PAaV >?L>9V !wam$?" M'G kLQOR:F?:F -_ 'v!aO$ Gi7uL$| zi gYu u ffu-u?%bfs+fuu V?&| u f?&?&ufbf[b[u Y[Vfիi VYMbVfիi VY[.u9TVfիi VYuVfMbVf[.u$TVfuru| E-| zbfV?&| ,f?&fbf[b[,Y[Vfիi VYMbVfիi VY[VfMbVf[ bo// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // Tvpbolt : A reskinned plasma beam. // Features: Now reflects off walls up to 5 times or until length maxes out. // =============================================================== class Tvpbolt expands pbolt; #exec OBJ LOAD FILE=..\textures\BlueBoltCap.utx PACKAGE=Olextras.BlueBoltCap #exec OBJ LOAD FILE=..\textures\BlueBoltHit.utx PACKAGE=Olextras.BlueBoltHit #exec TEXTURE IMPORT NAME=pbbolt0 FILE=pulse\pbolt0.pcx GROUP=Skins LODSET=2 #exec TEXTURE IMPORT NAME=pbbolt1 FILE=pulse\pbolt1.pcx GROUP=Skins LODSET=2 #exec TEXTURE IMPORT NAME=pbbolt2 FILE=pulse\pbolt2.pcx GROUP=Skins LODSET=2 #exec TEXTURE IMPORT NAME=pbbolt3 FILE=pulse\pbolt3.pcx GROUP=Skins LODSET=2 #exec TEXTURE IMPORT NAME=pbbolt4 FILE=pulse\pbolt4.pcx GROUP=Skins LODSET=2 var float BeamLength; //total length beam is taking. max: 810 units var byte NumHits; //amount of times beam has hit wall. max times: 8 var Pbolt BaseBolt; //stores damage and time. life becomes much easier...' simulated function CheckBeam(vector X, float DeltaTime) { local actor HitActor; local vector HitLocation, HitNormal; local bool oldfog; // check to see if hits something, else spawn or orient child HitActor = Trace(HitLocation, HitNormal, Location + BeamSize * X, Location, true); if ( (HitActor != None) && (HitActor != Instigator || Position>0) && (HitActor.bProjTarget || (HitActor == Level) || (HitActor.bBlockActors && HitActor.bBlockPlayers)) && ((Pawn(HitActor) == None) || Pawn(HitActor).AdjustHitLocation(HitLocation, X)) ) { if ( Level.Netmode != NM_Client && HitActor != Level && (!HitActor.Isa('mover')||mover(HitACtor).bDamageTriggered)) { if ( BaseBolt.DamagedActor == None ) { BaseBolt.AccumulatedDamage = FMin(0.5 * (Level.TimeSeconds - BaseBolt.LastHitTime), 0.1); HitActor.TakeDamage(damage * BaseBolt.AccumulatedDamage, instigator,HitLocation, (MomentumTransfer * X * BaseBolt.AccumulatedDamage), MyDamageType); BaseBolt.AccumulatedDamage = 0; } else if ( BaseBolt.DamagedActor != HitActor) { BaseBolt.DamagedActor.TakeDamage(damage * BaseBolt.AccumulatedDamage, instigator,BaseBolt.DamagedActor.Location - X * 1.2 * BaseBolt.DamagedActor.CollisionRadius, (MomentumTransfer * X * BaseBolt.AccumulatedDamage), MyDamageType); BaseBolt.AccumulatedDamage = 0; } BaseBolt.LastHitTime = Level.TimeSeconds; BaseBolt.DamagedActor = HitActor; BaseBolt.AccumulatedDamage += DeltaTime; if ( BaseBolt.AccumulatedDamage > 0.22 ) { if ( HitActor.IsA('Carcass') && (FRand() < 0.09) ) BaseBolt.AccumulatedDamage = 35/damage; HitActor.TakeDamage(damage * BaseBolt.AccumulatedDamage, instigator,HitLocation, (MomentumTransfer * X * BaseBolt.AccumulatedDamage), MyDamageType); BaseBolt.AccumulatedDamage = 0; } } if (Level.NetMode != NM_DedicatedServer){ if (HitActor!=level&&!HitActor.IsA('mover')) HitNormal=-X; if ( HitActor.bIsPawn ) //note: effect is still shown during reflection to mask out bolt anim sinc problems (I could hack around it, but too lazy) { if ( WallEffect != None ) WallEffect.Destroy(); } else if ( (WallEffect == None) || WallEffect.bDeleteMe ){ WallEffect = Spawn(class'PlasmaHit',,, HitLocation + 5 * HitNormal); WallEffect.Texture=Texture'olextras.BlueBoltCap.pEnd_a00'; WallEffect.LightHue=170; } else if ( !WallEffect.IsA('PlasmaHit') ) { WallEffect.Destroy(); WallEffect = Spawn(class'PlasmaHit',,, HitLocation + 5 * HitNormal); WallEffect.Texture=Texture'olextras.BlueBoltCap.pEnd_a00'; WallEffect.LightHue=170; } else WallEffect.SetLocation(HitLocation + 5 * HitNormal); if (HitActor == Level || HitActor.Isa('mover')){ oldfog=region.zone.bfogzone; region.zone.bfogzone=false; //ignore fog zone when attaching. (decals don't work in fogzones) Spawn(ExplosionDecal,,,HitLocation,rotator(HitNormal)); region.zone.bfogzone=oldfog; } } if (HitActor == Level || HitActor.Isa('mover')) NumHits++; if (NumHits>8 || (HitActor != Level && !HitActor.Isa('mover'))) { if (PlasmaBeam != None){ PlasmaBeam.Destroy(); PlasmaBeam = None; } return; } } else if ( (Level.Netmode != NM_Client) && (BaseBolt.DamagedActor != None) && BeamLength>=810) { BaseBolt.DamagedActor.TakeDamage(damage * BaseBolt.AccumulatedDamage, instigator, BaseBolt.DamagedActor.Location - X * 1.2 * BaseBolt.DamagedActor.CollisionRadius, (MomentumTransfer * X * BaseBolt.AccumulatedDamage), MyDamageType); BaseBolt.AccumulatedDamage = 0; BaseBolt.DamagedActor = None; } if ( BeamLength>=810 ) { if (Level.NetMode != NM_DedicatedServer){ if ( (WallEffect == None) || WallEffect.bDeleteMe ){ WallEffect = Spawn(class'PlasmaCap',,, Location + (BeamSize - 4) * X); WallEffect.Texture=Texture'olextras.BlueBoltHit.phit_a00'; WallEffect.LightHue=170; } else if ( WallEffect.IsA('PlasmaHit') ) { WallEffect.Destroy(); WallEffect = Spawn(class'PlasmaCap',,, Location + (BeamSize - 4) * X); WallEffect.Texture=Texture'olextras.BlueBoltHit.phit_a00'; WallEffect.LightHue=170; } else WallEffect.SetLocation(Location + (BeamSize - 4) * X); } if (PlasmaBeam != None){ //in case of beams in front of this... PlasmaBeam.Destroy(); PlasmaBeam = None; } } else { if (HitActor!=none && (HitActor==Level|| HitActor.Isa('mover'))){ X -= 2 * ( X dot HitNormal) * HitNormal; X=normal(x); BeamLength+=vsize(HitLocation-Location); } else if ( WallEffect != None ) { WallEffect.Destroy(); WallEffect = None; BeamLength+=BeamSize; HitLocation = Location + BeamSize * X; } else{ BeamLength+=BeamSize; HitLocation = Location + BeamSize * X; } if ( PlasmaBeam == None ) { PlasmaBeam = Spawn(class'TvPBolt',,, HitLocation, rotator(X)); PlasmaBeam.Position = Position + 1; TvPBolt(PlasmaBeam).BaseBolt = BaseBolt; } else TVPBolt(PlasmaBeam).UpdatePBeam(self, X, HitLocation, DeltaTime); } } simulated function UpdatePBeam(TvPBolt ParentBolt, vector Dir, vector Loc, float DeltaTime) { local actor HitActor; local vector HitLocation, HitNormal; SpriteFrame = ParentBolt.SpriteFrame; Skin = SpriteAnim[SpriteFrame]; SetLocation(Loc); SetRotation(rotator(Dir)); BeamLength = ParentBolt.BeamLength; NumHits = ParentBolt.NumHits; CheckBeam(Dir, DeltaTime); } A"// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVPlasmaSphere : A reskinned sphere that is blue. // Also has cool chaotic sinusoidal movement :) // Does more damage to make up for chaos ;p // =============================================================== class TVPlasmaSphere expands PlasmaSphere; #exec OBJ LOAD FILE=..\textures\BluePlasmaExplo.utx PACKAGE=Olextras.BluePlasmaExplo //sinusoidal motion: var bool bSetInitial; var float TotalTime; //time in existance var int YAmplitude; //amplitude in Y direction var int YSpeed; //rotational velocity in Y dir var int ZAmplitude; //amplitude in Z direction var int ZSpeed; //rotational velocity in Z dir var float LastYOffSet, LastZOffSet; //last offsets of sinusoidal motion var vector Y, Z; var rotator OldRot; //warpzone replication{ reliable if (role==role_authority) YAmplitude, YSpeed, ZAmplitude, ZSpeed; } simulated function HitWall (vector HitNormal, actor Wall) { local bool oldfog; oldfog=region.zone.bfogzone; region.zone.bfogzone=false; //ignore fog zone when attaching. (decals don't work in fogzones) Super.HitWall(HitNormal,Wall); region.zone.bfogzone=oldfog; } simulated function Tick(float delta) { local vector X; local int Dec; if (bExplosionEffect){ disable('tick'); return; } if (!bSetInitial){ SetRotation(rotator(Velocity)); //warp-zone hack GetAxes (Rotation, X, Y, Z); oldrot=rotation; bSetInitial=true; if (Role==role_authority){ Dec=rand(4); YAmplitude=rand(10)+7; ZAmplitude=rand(10)+5; YSpeed=rand(10)+12; if (Dec<2) YSpeed*=-1; ZSpeed=rand(5)+7; if (Dec%2==0) ZSpeed*=-1; } } TotalTime+=delta; if (oldrot!=rotation){ GetAxes (Rotation, X, Y, Z); oldrot=rotation; } X = LastYOffSet * Y + LastZOffSet * Z; LastYOffset= YAmplitude*sin(YSpeed*totaltime); LastZOffset= ZAmplitude*sin(ZSpeed*totaltime); SetLocation(Location+LastYOffSet * Y + LastZOffSet * Z - X); } bh7>\ )6>a/!z4<>a/!d  4Z>a/!^ 4x>a/!a 4>a/!|>a/!F 4>a/!E 4>a/![ 4>a/!l >a/!x 4P>a/!P>a/!C  4>a/!U>a/!f 4>a/!z4>a/!S+>a/!i.># 4 >a/!iy4+>a/!J 4_>a/!j >a/!i 4>a/!i>a/!T>a/!M>a/!d 4>a/!G 4>a/!T 4>a/!~ 44>a/!H~ y7U$8{=,:{9::$Cb!W::$v!j!!/a0 Uj!C .UrC *Ua*C - C q!C a*10 \ // =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVExplosionChain : An explosion chain that uses UT effects... // =============================================================== class TVExplosionChain expands ExplosionChain; state Exploding { ignores TakeDamage; function Timer() { local UT_SpriteBallExplosion f; bExploding = true; HurtRadius(damage, Damage+100, 'Detonated', MomentumTransfer, Location); f = spawn(class'UT_SpriteBallExplosion',,,Location + vect(0,0,1)*16,rot(16384,0,0)); f.DrawScale = (Damage/100+0.4+FRand()*0.5)*Size*0.4; //0.4 is conversion drawscale between ut's and unreal's Destroy(); } } X.// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // ScriptedFemale : Class that holds various female properties. Set the mesh and such properties to initialize it. // =============================================================== class ScriptedFemale expands ScriptedHuman; function PostBeginPlay(){ if (multiskins[0]==none) class'TFemale1Bot'.static.SetMultiSkin(self,"","",rand(4)); if (FollowerIcon==none) FollowerIcon = Texture(DynamicLoadObject("fcommandoskins.cMDo5Ivana", class'Texture')); Super.PostBeginPlay(); } function PlayRightHit(float tweentime) { if ( AnimSequence == 'RightHit' ) TweenAnim('GutHit', tweentime); else TweenAnim('RightHit', tweentime); } function PlayChallenge() { TweenToWaiting(0.17); } function PlayDying(name DamageType, vector HitLoc) { local carcass carc; BaseEyeHeight = Default.BaseEyeHeight; PlayDyingSound(); if ( DamageType == 'Suicided' ) { PlayAnim('Dead3',, 0.1); return; } // check for head hit if ( (DamageType == 'Decapitated') && !Level.Game.bVeryLowGore ) { PlayDecap(); return; } if ( FRand() < 0.15 ) { PlayAnim('Dead7',,0.1); return; } // check for big hit if ( (Velocity.Z > 250) && (FRand() < 0.75) ) { if ( (HitLoc.Z < Location.Z) && !Level.Game.bVeryLowGore && (FRand() < 0.6) ) { PlayAnim('Dead5',,0.05); if ( Level.NetMode != NM_Client ) { carc = Spawn(class 'UT_FemaleFoot',,, Location - CollisionHeight * vect(0,0,0.5)); if (carc != None) { carc.Initfor(self); carc.Velocity = Velocity + VSize(Velocity) * VRand(); carc.Velocity.Z = FMax(carc.Velocity.Z, Velocity.Z); carc.remoterole=role_simulatedproxy; } } } else PlayAnim('Dead2',, 0.1); return; } // check for repeater death if ( (Health > -10) && ((DamageType == 'shot') || (DamageType == 'zapped')) ) { PlayAnim('Dead9',, 0.1); return; } if ( (HitLoc.Z - Location.Z > 0.7 * CollisionHeight) && !Level.Game.bVeryLowGore ) { if ( FRand() < 0.5 ) PlayDecap(); else PlayAnim('Dead3',, 0.1); return; } //then hit in front or back if ( FRand() < 0.5 ) PlayAnim('Dead4',, 0.1); else PlayAnim('Dead1',, 0.1); } function PlayDecap() { local carcass carc; PlayAnim('Dead6',, 0.1); if ( Level.NetMode != NM_Client ) { carc = Spawn(class 'UT_HeadFemale',,, Location + CollisionHeight * vect(0,0,0.8), Rotation + rot(3000,0,16384) ); if (carc != None) { carc.Initfor(self); carc.Velocity = Velocity + VSize(Velocity) * VRand(); carc.Velocity.Z = FMax(carc.Velocity.Z, Velocity.Z); } } } .KTJ-'  }SE@%cE&$!`8c@%~$y$ b!l!l!Cl!(Cb! C@$:@:{Tan& a:@U&Tp&V&w.T*.T e!w.T*.Te!T$@; o7m 5(-m aronm qd-pm m ?,oxm @m ar(-pqn?, AqAVHqq-.q- B< F}$::$ F!F!/a0 }F} .}tr} *}a*} - } q!} a*10 /a0 a!Fa!a*10 WE{7B'a   ף< W&]%x7IF!`a? !\1-o$ !Sa333?cL>- w*aaw`xataN6?jo$w* 6zC !u a-(#C-ha??,a!M333?a-' !S cP\u }dMz7:EC?.: ::6:$d6:$6:$&A:SpeedUm/s&:ppVelocity vector [X,] m/s&':ppAcceleration vector [X] m/s^2&:Rotational accel vectorX[ &':Torque vectorXn&:Rotational VelocityXM&':Amount of wheels on groundRO&:Current wheel turnUB&':Acceleration from wheelsXJ &:Torque from wheelsXA &':My rotationY&:Rotation of front-left wheelY%_ &':Contact force on primary wheelX%_ ]&:Relativeaccel of primary wheelX%_ u&'&?,:Commands:&&?, :Hit the TAB key, and type in the following commands to change simulator properties. (replace [value] with a number)&&?, :SetMass [value] --- Sets the mass of the vehicle.&&?, :SetMaxThrust [value] --- Sets the maximum force the engines can give off.&&?, :SetMaxBreak [value] --- Sets the maximum force the reversed engines can give off.&&?, :SetMeiu [value] --- Sets the coefficient of kinetic friction.&&?, :SetAirResistance [value] --- Sets the air resistance coefficent. It is multiplied by velocity^2&&?, :SetRotatioanalAirResistance [value] --- Sets the rotational air resistance coefficent. It is multiplied by the normal air resitance&&?, :SetEngineRate [value] --- Sets the rate at which the control keys alter the engine force&&?, :SetHUDRefresh [value] --- Sets the delay in seconds between new info displayed on screen.&&?, :SetEnergyLoss [value] --- Sets the percentage of energy lost in collisions.&# 7w bs - "w*a~w.*.-**,ի?,!t >C33?!t HC#@@w a  A?,w  ף<w ,,,,, qw %w  A a5// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // ScriptedMale : Class that holds various male properties. Set the mesh and such properties to initialize it. // =============================================================== class ScriptedMale expands ScriptedHuman; function PostBeginPlay(){ if (multiskins[0]==none) class'TMale1Bot'.static.SetMultiSkin(self,"","",rand(4)); if (FollowerIcon==none) FollowerIcon = Texture(DynamicLoadObject("UTtech2.Deco.xmetex2x1", class'Texture')); Super.PostBeginPlay(); } function PlayDying(name DamageType, vector HitLoc) { BaseEyeHeight = Default.BaseEyeHeight; PlayDyingSound(); if ( DamageType == 'Suicided' ) { PlayAnim('Dead8',, 0.1); return; } // check for head hit if ( (DamageType == 'Decapitated') && !Level.Game.bVeryLowGore ) { PlayDecap(); return; } if ( FRand() < 0.15 ) { PlayAnim('Dead2',,0.1); return; } // check for big hit if ( (Velocity.Z > 250) && (FRand() < 0.75) ) { if ( FRand() < 0.5 ) PlayAnim('Dead1',,0.1); else PlayAnim('Dead11',, 0.1); return; } // check for repeater death if ( (Health > -10) && ((DamageType == 'shot') || (DamageType == 'zapped')) ) { PlayAnim('Dead9',, 0.1); return; } if ( (HitLoc.Z - Location.Z > 0.7 * CollisionHeight) && !Level.Game.bVeryLowGore ) { if ( FRand() < 0.5 ) PlayDecap(); else PlayAnim('Dead7',, 0.1); return; } if ( Region.Zone.bWaterZone || (FRand() < 0.5) ) //then hit in front or back PlayAnim('Dead3',, 0.1); else PlayAnim('Dead8',, 0.1); } function PlayDecap() { local carcass carc; PlayAnim('Dead4',, 0.1); if ( Level.NetMode != NM_Client ) { carc = Spawn(class 'UT_HeadMale',,, Location + CollisionHeight * vect(0,0,0.8), Rotation + rot(3000,0,16384) ); if (carc != None) { carc.Initfor(self); carc.Velocity = Velocity + VSize(Velocity) * VRand(); carc.Velocity.Z = FMax(carc.Velocity.Z, Velocity.Z); carc.remoterole=role_simulatedproxy; } } } function PlayGutHit(float tweentime) { if ( (AnimSequence == 'GutHit') || (AnimSequence == 'Dead8') ) { if (FRand() < 0.5) TweenAnim('LeftHit', tweentime); else TweenAnim('RightHit', tweentime); } else if ( FRand() < 0.6 ) TweenAnim('GutHit', tweentime); else TweenAnim('Dead8', tweentime); } function PlayHeadHit(float tweentime) { if ( (AnimSequence == 'HeadHit') || (AnimSequence == 'Dead7') ) TweenAnim('GutHit', tweentime); else if ( FRand() < 0.6 ) TweenAnim('HeadHit', tweentime); else TweenAnim('Dead7', tweentime); } function PlayLeftHit(float tweentime) { if ( (AnimSequence == 'LeftHit') || (AnimSequence == 'Dead9') ) TweenAnim('GutHit', tweentime); else if ( FRand() < 0.6 ) TweenAnim('LeftHit', tweentime); else TweenAnim('Dead9', tweentime); } function PlayRightHit(float tweentime) { if ( (AnimSequence == 'RightHit') || (AnimSequence == 'Dead1') ) TweenAnim('GutHit', tweentime); else if ( FRand() < 0.6 ) TweenAnim('RightHit', tweentime); else TweenAnim('Dead1', tweentime); } E8Z!yP Z!-f JZ!5JA! JG$:G:G!E aK' a:GH'E e&r&w.E *.E  D!w.E *.E D!E $GH Y2l$]3-f::$JA!l-f :G!%::$v! !/a0 l r .lrr *la*r - r q!r a*10 qF8 kEG8t<q&!^qL>AA!qL>-_ (6- q?  a!^as&$a!ad&$ q8.D -( }zJ;B@R:@?:@ aO$ L8`$9a&!PL? M8eY8M!za!z>K>!_a!_>Ka&!y> EN{70?a&!zL>.a!L333?= DsFt F-F(O&.  V&Uo, g$ aQ(6 V,R8d-}"m6@6@6@ad-c-# #<'@ @2.@ v! \^9r+py} \r+a@?, (z%Nz,z  %z"z%0zjX!j, %  ,%  %%  ,  U%  ,%  ,%  , , &e zX!Ug wg *jg a/! v g g D @ ^8Q8_b<5*a!T333?=a$@ S8-*w,{@ dMYM s_ C^f~ QZllzDg@DwaQ( B X8us:q 5-Wgw u>u>q=J??Gpu?Gpuku@?%?%gwg?,wg^GgGgGwGwg?DgqDaw?DwqDaX?%?%g?DgqDaqww?DwqDaqg?%gwg?,wgqgpuqwpuw?DwqD?aDaqg?DgqD?aDaq:%K D?K ?,uD:%K D?,uB u t1y-Bj ywy*y--h&"y- R y y ?g!s yKi rK* KVo&K ^ Py R?#?yK Rk&K-d-l&KZm&KLD?g!KQ?Ky yy H2[8*Ik c8 ]FYFkYp4K!>a!T333?=3a!@ 333?=a$@ [FpBwlF "F66 p,B?l?Glp«l[h,B,BH lZpl?Glp"F_ H ,Bl-^RQ6R6r6R6r6r6R6RD?6r?6RF 6RD?6r?6RF Q6R6r^6R6r36r6R6RD?6r?6RF ^6RD?6r?6RF 6RD?6jlpw*6 Dlpa+Rp?%Zlwp BFKKk2 Y> Y3|.Xڎ> Y> Y3|[$> Y|.X|[$3333۝Z!|[$Z!Z!|[$Z!Z!x3|[$|[$|[$|[$|.X|.X|.X|.X|.X|.Xڎ> Y–|.Xڕ+@||.Xڕ+@||.X|.Xڎ> Y3|[$!|[$o /T2> Y3|[$|[$|[$@8) c// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // NoSoundlExplosion : Simply has no sound // =============================================================== class NoSoundlExplosion expands UT_FlameExplosion; function MakeSound(); d8`8J[%E,gW*Y*Mի,[,,MJ,A g~ J,,_ J,wcAG,J*A,JA#,,a J w*|ppWARNING: collision detection failure! SetLocation() failed! Vector [XJ] is outside of world!A#YG,EJM ,EJ  b8WIWf8z Ka5 5" CGC_CCAACxECR mxV C H@#@# @7O@#CV`DxV@# 8@7V7PD0@#o7C @#8@7@#7 h7C `DXSX@_]@Ah@7(6BDFD@ PpA>p@P`y7ZPǀKKA f}`PwLpGϼS_@LJwSVc0^'M?(?Np3`4@<@6wA74`C(R?YgSb?W_MUP?CVoC]? A?9 p@>R >ADAS 5" CGC_CCAACxEC>?@A???m !#')*.$1268<?CEGBKL7OOSSWW>-&_`cd9gg; S      m#l>kj;gfeba^)]0\A,-[ZWV 45SRO8&1NMJEBIHS36'.-((11(212 2" ""44,,4,  ' % 0/*/*))*)3' .36##6#558588%% &&++ +  7799&!ACBCA\^]^\[YZZY~GIHIG}NPOPN|_a`a_LJMKMJ{xzyzxwtvuvt?=@>@=TRUSURsprqrpoXVWVXFEDQDEmknlnkjcedecb:<;<:ihfgfhN    !#)0 35#$:;<=>?>ABCDEFGHIJKLKNOPQRSTSVWXYZ[\]^_`abcdefghijklmmopqrstuvwxyz{|}~N$}jgg}}:}::Qgk } Q } } } : kt Q Q Q$$$$g$::ggQQ}}zzzz !"#z$%&z'z()*+,-z.z/0z12345z6z789:;z<z=>z?z@ABCDEzFzGHIJzKzLMNOzPzQRSzTzUVWzXzYZ[\]^_`abcdefgzhzijklmYl?? >@     !#,$$% & &45 4 50 (" ($(26# 6'82)(#+3'):36*$5-284(:92D,;D6;ODEN#F& E)F3S+U5E+%G-2F7)G;3U)'V+3T8)U;4b c.e80T=@j=BIA,ID7JQ;VC,VF8YR;eC+dI9eRa!w333?=3a!`333?=a_&$@ A m8lC.c6- T!` L?gq!I!\aa&!1> p8-a!d ? Ge8o8L%J,,ի?,,II,@ ,J66 6,?%.6,Q66 }B- IyFX&&-+)!d -a&!dX& T2N2C@ n8g .(g aT[\g Wd-Yg g ?,[xg @g aT(-YW\?, t8Nm*,> -h /6-&N a&!N u8hU}+3$6-&h a&!1h KGVm)-a (-h(46-&V i!` L?gq!I!\!z !_ -a&!zV T!$e%#w%*%fff? x8Zh'> -h /6-&Z a&!hZ ~8]N' &L> Mr8%EC) % %%6%$d6%$6%$A%SpeedUw,Bm/s%ppVelocity vector [Xaw@ ,B] m/s'%Acceleration forwardUY,Bm/s^2%ppAcceleration vector [Xa{@ ,B] m/s^2'%Net ForceU{,BN%ppNet Force vector [Xa{@ ,B] N'%Left Engine ThrustS@N%Right Engine ThrustSzN'%pNET Acceleration from Gravity vector [Xaf@ ,B] m/s^2%Kinetic Energy:U?¬w,BJ'%Force from Air Resistance (Coefficient of Air Reistance * Velocity^2)Ud,BN%Frictional Force (Meiu * Normal Force)Us,BN'%Normal ForceUC,BNUC?%%ppNormal Force Vector [XC,B] N'%Not in contact with ground.'%Yaw NET accelerationUQ"Frad/s^2%Yaw NET TorqueUH Q"FNm'%Yaw VelocityUl"Frad/s%Moment of Intertia for yaw axis:UH kg*m^2'?,%Current Left Engine ThrustUwN%Current Right Engine ThrustUgN'?,%Commands:?, %Hit the TAB key, and type in the following commands to change simulator properties. (replace [value] with a number)?, %SetMass [value] --- Sets the mass of the vehicle.?, %SetMaxThrust [value] --- Sets the maximum force the engines can give off.?, %SetMaxBreak [value] --- Sets the maximum force the reversed engines can give off.?, %SetMeiu [value] --- Sets the coefficient of kinetic friction.?, %SetAirResistance [value] --- Sets the air resistance coefficent. It is multiplied by velocity^2?, %SetRotatioanalAirResistance [value] --- Sets the rotational air resistance coefficent. It is multiplied by the normal air resitance?, %SetEngineRate [value] --- Sets the rate at which the control keys alter the engine force?, %SetHUDRefresh [value] --- Sets the delay in seconds between new info displayed on screen.?, %SetEnergyLoss [value] --- Sets the percentage of energy lost in collisions.# G// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // FollowerToggler : This actor is used to make followers NPC's and vice-versa. // =============================================================== class FollowerToggler expands Triggers; var () name FollowerTag; //tag of follower to alter. var () bool bAutoFollowTriggerer; //if true, automatically follows the player who triggered this event. var() enum EFollowerSwap { Follower, //normal follower NPCAggressive, //NPC that seeks out baddies. NPCNonAggressive, //only attacks when hit. } Become; function Trigger( actor Other, pawn EventInstigator ) { local pawn p; for (p=level.pawnlist;p!=none;p=p.nextpawn) if (P.Tag==FollowerTag&&P.IsA('follower')){ if (Become==Follower){ Follower(P).OnlyAttackWhenControlled=false; Follower(P).bCoward=false; if (bAutoFollowTriggerer&&EventInstigator.IsA('tvplayer')){ Follower(P).temp=EventInstigator; P.GotoState('Greeting'); } } else{ Follower(P).SetPA(none); Follower(P).bCoward=true; Follower(P).OnlyAttackWhenControlled=(Become==NPCNonAggressive); P.GotoState('waiting'); } } } YDiHT M+m%/a0 JJ-J- 6J -!w AJ-m,mMJm,,MJm10m,m,m%*a%&amak zEa}w}*}-a%am@} aM ak @@}}ak $tIa^}}:D%k O%Ma&wammak DDak OaMa'O o9X*X-~X*%~HH~  X$ C9f&|6- *-h ;-a ^ bL?a!Q>?za!>? @9  " " ""* *"0 ~u!@7V]akakk[VJ6Jxܾׯa7'uъ]V쿿ڼڻ޾ڿ|7a񼼼ч'ھμ]Bܼ}{c^OX^cv}|V쾽yvy{y{y}|vp@ 9OwB콱c> *pmrmtm_? b켷wQ+_^cj^l8jyk컱c$N^W\WbKvtv}}BB컦Z8WUUWlGmmmt{v}}컪v(WUMGm^mclmmv^($ZB'չyw>ZUUGjyjW^^bW M}]ܻ~ysm; WGGGi5MWObWW󼱢ywmpm:^ECEopGGUWG]ۺyywtcbZWE\E:E<85+595<5Cյzuz'9A9E:U*tn}#,5UGGGUFkϏ*<*4%5*$9!%Hesza/+8A9:9AU85{w}񾪏/GUG:@E!!YױQ(5$4$**4*5$5* $5 *%8998/95/9:mGctv}{񽨚*9G@E<:9wͼϱxH**85$*4$*"$5$"$$ (55%9*%99<*5mmmn{Uﻤ,"G><<9<<+CXCA+8%%85$#$$$ $$$$" *4*%98*EG cSbmmtv{}"ܻKCA9:898898985$8485$$5 * ""$$*$%*8%<++^A[S\W^bvm^b}V캥~ZG<:898+8**5$*458$5" $"$45%+%*+59HΊfXWUWc^* v󺥎yr>UMA99%8855$4$5 $"$$" 5%%*(5%9%sRKVMW\Mni񼨏zstiG<<89555*5455" "" $4"( *$5+98AױqCUUXWU }uթwepX9<8*8*4*444 " "$ $ $%(*9999+[sfQ/AGHUHW :񾺏zpeZ<Q<988548$$$ $4""   $5% %%8+9+6:A:ECCMHU%X\zgpc^m#r8*<8858"$     $ $$%!*%99++AE:UEECMA%mV򿻑zspc^ZS0sA888 ;$4$   4"$ "$$!"8$(5+5++9/A:GF:,v}컶srp[ZWWDmcae%:85*555$$" """("*5$*(9A9:AE1>MN"uྺyrrm[OWGWNHa"FQ895885544$   " " $ $%$+%9E9A9CC>U,m˔徻zrW*+HWJMU\G\ιͼyA<+585*;"5 $$ $#  " ( $ %%*99+9A+C:Cj*M}4g: GGUWUUEFMNH9EE<588$;5"4$$4""""""" " "" $$$%5*99+99:,EDj<*+mʘںzS:UUDUUGG9E99989848*$$5" " $"#" ""  " $!*%(%89+99:ECG *A^v"azc9UGGEG@E>9<8<8*8*$$$44""4 $%45" "$" "$"" $  "$$$%5#*(%98A9:CFU 8MmvoϒgW%H>U@E<<<889955*$485445"$ ""$ $" !$"  $ "$" #% %"%5+ *89++9CAEL8^toHzp 8UGFG>:9<8<5;5485$55$$"4$""  "4 #"$ $"#$ $*$#%%8%*++969A:1Hw(5rm{jzgN"GU>GA><98;854$;544*$$$$5"$$$ "" $:E><<<5<;55554*4545"$"$$$5"%%GNM?WNWHHWVWWXU:+$$$$ % *#$!5%(+%+99,AECHHCy)+&`^mtn{4ahx\GU@>@E<9@595955*4855$$$4*#$9MGMGNHGNUHHW:WDNWHOU:$("$# $%$*$5%!$(++%+E,ECHCWKq.-DRxXj_mm{onwcG \UU@>@<<<88888;5848$$5554$$ %9?HGNHGNUGNUMHGHWUUNW\WJW: $!5 $#$%%5#(*5++991AGCCMOHrͻϷeJW^X^jmn{!hr_8F_?G@E>HHGLGHHUHJFDMHHGUHUHGHMGHWJUWWE%$$ %*5%85*9999'1ECCDGHNNNNNZOXZ\Z^^WNW^vomzgcUUUU@UDHMFKGGFCGG?CGMHUHHHHEWUHUMUUHUWG%$%$*%%95 +98+9/EACGGHHNNNNXXOZZ^M5 \n}zyeaU~GU?@E>:<<;<8885;585*85$5CGGGGGUGH:GFG:HGMHHUUUHUJ?HUUGKM\UUG%!$5!5%$+(%9+9,AACKHGOHQOOXZO_W "m{BzgcciWUUU@G<<><<88985<5558555HFCGFE0GCHHGGGUD>UWUDXUFNMHUUHH@UUHMUE%5%%+5*(8+'<9AAAGCFMNONZOXZOEO{@kzxec^=NGUU@U>MGGUU:5%%(%%*+69%/,CACGHNKQOOOX^>*Hn}lhse[Sŀ8]NW@MU@W@E@<<8<958899588EHADCACE1GGFCCEGGCDNHUNUHHMNFUWMU:MG>UG?GE$%(('9%+6A9CECGCMHXNSOZSU*U^oosfcT__yqZ?UW??U@@G>;<<+<98989889GFGFA,KAGEC:GECCDHF>CF>HUNHGWUMUMUUEFGG>UU%$*9(+9*9,/+:FC?KHXNOSXZ<*M^{}%zgea[YZWϏ_(##/s̷ZWWUU?UUUU<<>8>9=9;9895+FHCHAG,:/ACCDECFE+" #:FUCMWHU>UU:GGE?E>+5+99+9(/ACA1CMCNNHSXO^8MOn{Vygca[ZZZWJy̱pUUUW@W?U@G@@9><;9<8<8958:GCAFECAAA:A>G@A$+UMHUUHUEF>EGEU:+%++96*:9/AECGKGNNQ\ZZm8G\m{}@ahzpe^ZYOXWWHWUUH?UWUW@WUWUGU@G><<>8<8<98<8@@><><<8;<<<5EA*99699,AACDCMLNNSZ[[r@=U^cnoomhgedcSZWXWXWN\UWWWWUiUW@W@U?@@E<>@<5<<9CCGU>U@9++999A+A1CCCLNN\XTZccn=W^cmn}ozfgec[ZE #>\WXW\WWUWWW@U@@G>@:=@:UE:UE%9(6+A+CB:CKUKQXJ^c_[$MMcbn{oxgfcd^ WWWWiWi@iUW@W@U>@<:GEU99/+A/:AC1GMLDNHO^Tb[*UOmcnm{{hsrc[N9WiWWUi@WUW@UU@E:GCEG:EA9A/EAAACDDMHNXPZ[ZZm,Wbyrnmo#heeeT<9\WWiiWWi@@U@<>>><<<<:E9AC9/A1::9:/< + %CGGEC<:E>AEE9)9CACCCFNKMLNNZYZccZ )Omonnno'feeTZ*KWiWWi@UWU@U@>:E@/9A:/CCCKNHNOXOXZ[[cZ1ccmno'gac[Z 9W@iUWWi@?U@W@@><<A>7A,A9AA,1A9<pbCA:M^}^:9GG::G<1>EG:A+1ACADCCNMNHXQZZ[ccc[`!&!!/Qermnmn"/e[dZ[WiWi@i@W@i@@@>>@9@>E<:A,ANyb1MmH>:E>:G:9><><::AC:CKGDHLLXLSZZc[ccecyfdSdh~_mlnn}/eTcTbWWWiiUWi@@?UU?@GEE@<>9A,/A9+A,<)A>rvM(Z}NCEEE::<:>E@EAAC1CCCGKNNQNYO[Z[_ccacc[symm^jnlno"6dc`[Z ^WiUWiUUW?U?UU@U@G>@:9AA,A999A999WevK"Oy_D998:>A<:>AC,AC:BCCDKNPWQOZY[[e[dcccea[^ONXX^S^ljmmn}/d[[Z_$tiiWiiWWi@i@?U?U@GE>U*+99AA/E99+9l"TvM$^}vrNE>:E<+9EEEGU>A9/99A++/<%5n$-}^,HcMN9A>9@:D:CCDDMLNOORZZ[ccecpeeecm[bZZ^Z^j\j^mmln!aTZS_=A{iWWiWWWUi@WW@?UUUGG@,A%A+/9+9/A9nMyv^C89M_}+,99:6E<,<<F;E/99/+6E+AEz!y9:<<9>A:+:9+99A<,E:E88:6<<<WMG++/+,996+:+<,EAFw͈R+A6(A98+%9/9')9++89+5+6%9+A%+(959/*<999%GJZXNXS[ST[cceeeregegsssyxy 1Zy^\WWFDLNQQXG%bmvmnnvn{nnmnljljj^^^^\bE9A9/+A'+A:%+9(9'*,5+9+8+9+869*99<56 %vv}n}vo}{}}{{}{o{vtmnrmcm_m__^p\^Z_^Z\]ZOZOSYXZXYZXZ]_Z[^__[aeeerrgxzyzyzzzzycHZWXWUWGMG#2DDHUėn^8 v{{}{{{y}}o}}v{nvvvmmtmp_cmc_m_Zc^j[[^XZZZZZZZ^S_[ZZc_[[eaeprggsgz~zzzzhzzpDXWWHHG:GLBIHJm}mM8Nr{v}v}}}}o}}}{}{w{vvvvpvpjpcm^c_cjc[_^_c^[Y^Z[ZZaZ[[`c[cecerssgrhzyzzzzzyr<$OWHNGEG #DICNHnb\A!yntv}w}}o}}}}}}wv}wvvmrppmpmc_cc_cbc_p__]Z_[__Z_[[cccpceueggyhzzzzzzzz\CbliiOMWGGE>20LVHjėbW+Dׁpmtv{}{}}}}}}}v~{}pvnrrtcpmp_mccpjc_p[b[c_[cccaepaeerrrgsx~yzzzzzw5 CrXWGG>< 21BJNlM y_ptmrv}w}~}}}}}~}}w{yvvrvrmpmrcpp_ejpccapccppapecrrersrsssyzzzzzzzz{1eWUH:98BCHHHJzϤ__jcmvtmVGWmv}}}}}~}~vwwvrmpermrmp_pacpcepptppcrrgqegsryxyzzzzzzy/SUUEA:1CB1HDpaXZ^_mmH+XMNHMC+9++8'/1CBGjzrT,mpmtUFy}zymF# Jsyzy~zy0TgW>OHHHA:E/*%)/1FHD]ߜyc,Zc_cmW[~~zm%pw~h~x0PgƭMUUEA99%+%6+0AHVۍmKZf_^^\ "y~y~zm!rswss*-PeFF9A68$$%AE1FCteX\X\Epzwy~z}DpprtW !IdHHA<95%/'+FCF7|NXWVOW[ww{yyW_eapv02`gJHA6+% !++B/C/+7ELHHNXG((SvwsqvHp[_\SdJ1AA($!!6+,AA,AFCHNHGCpSP/& N~cprccZ[^^CsaDKB8*% !!///,A/CGHGjczheTP1&! crm_ci _ZO_ZOzfVL1A(%" !)%)A,AFAHm۸ye`QI211 yc__mW !-I[*^ZZWZtҺxJKB:/!#$ '56+-A:AD򿻩zyfeTT[\^^\0/-/2IIP`ddhzrcZO\NX_ԛkJDHA,%!!!(!6+,AB1񺹤gc,MXZ^Z\Gadefedhhh}WXHHNHBVEDBCE+%! #!*%/AB/Fw񽺣rcrXWX\m5mz}XGHFKGB>,E,(%!$%9A//17]ܻDNHNWvtDGCCBA/C/A+%$ ##)+':AA7JfHGCGCFOܿܿDCA,AC6A(6$  !(!+A+-AA0FF0AA/:CCCGZ̨fYBF,F9+6++%$"" #%+))6/9AACA/AAA:HCHYRYXQJBG0AAAF%+#*$  # (%%+'6*A%/*/+A,/C6A/+,)+++*!#$  $ !#%*%)%(!%%$*! "    #" !@7w#'ܿھכ켺༱{\_X_\XrڪrX8^plW\waM %WW< tv}WݧpWGEp^jl+C~rWUGUpMZ5G]ۧypbm5UEi ~GUwqD*WWjimA89tyGG<p\u~$ M?nFw8*8>~wQA:5C}kz 5G>}[y5$%$$%*N[X+999?}t}aߧy 5>98554$  $$$%*MyzHWE*{~r9855 %%89CZC:HGWڻsc^G88$ $$%8*A:EC%mȗypZWXp wC85$5$%%*AA:G +iJ٤zG$:GHUjr<558" $%9+A:W4^ĘZEGGG<9985"$"  " %$*+9ACoW}Wy%G><99555$$$"""""" $$* ++AAv_MnxzZG>E<88555$$$$$$$9:HH?HG9 $ $ 5%*9AFCG/}tos9U@><<88555$$4$$AHHHHHHMHMWG%" $$%$%**AFCNz_^m{lDzckWG><99555$5$$9GHHHGDHG?H?HUUA$$$%%+9/:CHNNQQXZ^^m}oqsXwUU><<;855%5$<<998555ECFFGG>GG?HMHHGHGHHA5%%*69A:GNQOX9_<scw~B??UU><99888CFCDGGHHH??GEGG9%%++/ACHNQSMW}WBe[ZpywzWU?UU<<<<889GCFAA:>A  $>MUG>>>>*+9+/ACHNQZGMnmrheZXXWWU?WUUUG@EE9;98EC:AAA:% 9GGGG>:A+99A1CHNS[\5Wmo{[ge[G9AWWWWWWUU>>><<<8C:,AA:%G>>*+9ACCHXX_v8Zm{JscG$?\WWUUU><<<::>A+AA:DHNO[yG>cmnQe[9W\\WU@>><<<>:>:EAA:CCNNQZ_crePIypmoP[[AW\WWUUU>>>9/99A+5e~*CNG+9A99*UICMvc<<C:DNNQS[cpeccZZZ^^mnDTZG_\\WWWW?UUG/+++++mrwXZ~HCy9AXMG92HmvGXt{{}}}w{trppcccbc_Z___aceersyzzz_C}XHE%/CHc~ctt_t}~~}wvrppppc_cpppcerrssyzzzzzzZ/UF%,CDqyXZ^GGv~~wwvupppperrsssyyzzzzzzv(zvC81CDHQW""v~ywwwsrrsswsxyyzzzzycHA!11HHA~~y~yyyyyzy~zzzsyyswp`XA$+0CGbtA~~~z~~zzzzHXrcegZA8/AGH ~z~z~zzs%%Z^wY:9/AH_ ~ycHGXwz~zzzEAWXHHA9/CHe1pt\Hy_NUayyz"Pr9NHC9* +AHOpz_?_~~^Cwy~IhGE9%%/CuyWX5HwyvHpvE 0eqA9" '//ADHH$L!QwrG+_^mN[A*!+/AF\eP/!rpcE 0 ZZwxD/$ %%AAຐzrLpZ^5CPRTdhmcXNpaCA(  +/HઝNXjXCCCA+%  %+9Jqs:CCvٷQA++%$ %%*+9/+A:JGC0/+%!   !  !@@]༧~~ͮޚ_G XW^Ӊv8G_W$HԼe^^U>UHX>mӱGGmp>*HpsX9E9}A89ZX*$*Wpjmw^8$$%NpcHUūyZwFw9$%9A%v$CG^^85 %*AW:GG<85$$899$ $$%9Mc ~}yyAU<855$$AHHHHM>%$%*+CZer^mnypuUE9855CGGGHHGGG%%*9CNXHooyccXr^U><98F:::%$9HG>E*+ACNNl{cfXGWWWU><99ADQ_8^oNe:>WU@<:A9:HQcpA}oQ[AWWU>>A9+5Nc$p*<:<:CNXcserynDZ9X\\UUG+++>pAcNA9ECHQ[ecXN^mJSU~ii\WUA+9mr!r9AEHNScpWj+Qpsrlmmji?>+9Gy/QzA99DNScecWwULNHZ~~yzzzzz[wrwSu8 AAv~rp~zHXp_%CDw^ywXXr~Lc:$+ppN9!_pCcGhG +Ge1cU+-LQZrr%/wXZG/%  %%/+% @@!@ͪX+U^m_\X>qHE} E>$Gc^{QXZ5$9E}[<9$$9:A%$*XXtyX_\<8A:AGG*+HN{cGUWE9A$pGAjt\:+NA9NcrrrWp>{{njMCGXcysX^>Ac_m~rppszz^M/pwy~zcZ_wQrXrwXcNG Zcczc_C  !@wcG9CNrH$%$%A}fXU9G>9QWNX\ANQC__?t^GCceZHpywyrwNcpcc!@crX88\\HN_Xre.!HM_A!Q!@                  !! ! "("#,-#!%()#*++6 !!"#("!""$))!)$+*+)/02*#$!#$*$*#$+)*%!)&(++#+-)",1+-2#0%%1,,1%+2+-8-%22,42,5:-93-;:2,%2+564*35245:4:44<::5194:;;3;=:.QSB:,C<4A=GD@.GD:QI?c!c>a!hP333?-a $c)\>a/!xa!CPa!JPa!QP #N!Q<cL>>a!L>?Ia!QP #!hc>Wa!@ Pcp>a!UPa!hP #C!Pc333?a!hP>&cY?a!QP333?>?a!PP #!Uc=a!QP333??a!PP-a $ #!@ ̾cR^?a!hPWa!@ P #a!hP?  J9cGD><a/!xb?,-(aL=' y o[9{G_-Y 7 936W ,?,a*}_-^7a**Dr* uW W MW MqW [ qu^ #<a** L W ,W MqL c WBL ~ L L ^ #<^WO UHL^ i333H>?LMLL>a!QH?|L>L>a!H?L>a!zHL?a!yHL?a!vHL333?a!tHL\B?a!pH6LQ?a!oHULGa?a!hHtLףp?a!eHa!dH  n K9[-b L BW-}K @K ?[-z v ]O9n+c S 7W-}J 5J n+z v \'[:^'*=b?^'X%a $@o \'?,a ahr]* r* K]]q!A R9sj Z:b&6sD BH  Bs?6sD vH  vs?v{ vB{ Ba+pB f2  " " ""*/&#*"20 "@AD~!WdJQ"=Y[~9AIWF"EE"YWE^WSPFGDQIfzW Eʝ UA%)Me==W))Y?2> }2U%?*Iz} +³Z)!X[*$קּA 0GFC"NWG{{(33瑯U( )Z1T1E>WD"E[-:+I}F9 )|Hc4=Y^YWPGD)v0 WnAdUSW?I,& "~0"U v;U22U ~\(F}~ :S*' :nnn *>&e>0S9޼#['L[IdYE"?0US}"*Y2w{Kb4Z"&;, G P_6YUI&0NE-F{,U@A)UAYdF?2Q0(sȮy~;g;3:4 *fQ11@WU"AS?,9 (??P02^J2dWddP9EY"^"UYEA"뽼 gX(#.& \9Y x خzeS!9=IA),^* "d}2)9USJc 99U9PCDߠYWIdPr8w%0zJ 9" Pcy 2EYUW!>Wd"(3BN"Wzg!.6!IdU g׬AdEÁ㸠N/Br-1HH4 I=UGwN;rF)2W6"!<()2EYJߝ [FeA"2?P,WI,F P^cy0l:V$eF()}=IB$RRu75# ;0Y9WE")$H)%$ (=6&!A=E2YE. ASW[%-ceni4U6 N=Y4 2D*"P[=",^DUYY0Dv!~Jd^ 0&^g2*?U^YQ0 6JJ2(&jjKje?> z!^.u[>SnrտwVhzYxb)W? MiI-W"!YZ."^WWDU2<""WU9UGn**dYY!U 2YU,f{nv,Kn00M,$46)+ )[Z>2,"WAY){9992^d"E"N = __i6"AA"AQS\"ߓ'[ZbWyB{Ki[J..Q??446WY"G dd"=_dE"dP,U."02EdEIdYI6U S2e u;h2W62~/)I~YG(CDGY"dʝAE"+?EY"(WE"E"U ʝʓY_~ {{g6J.^^F>JD_g-"9 ?I ZK*Ro@g66^^C@@Y+>؇>W0,2d"6J6.E^)WW!TdAYAI*S^WGWDv&"CZKR).YGE9,9YAYdY992 0"YW"?(QU{;u""^*9&UUʔuer%\+*F{3pw6"J^ ;P0YQYADD,=Wd&^6=6dW<)W"d u('V>d"FIU?^&}TzggY^jYﵻrpX[)),UAWEA=/,WIۓ29JE!,2 2Gۮ/ 4[? =SW"Ju17/J[Ύw^J^VZ@Vwu4.j[2IQQ [Y-E"JY"<}[)2.Yʯ|w w EE9EW9YYEY==W*Zrbj[}_j-..ZwT')G PFU6~,"AJYES+*/g&=Q?9FW2,."""U  ' ZT33AW^Y."YȮwXU-Q]%U= N1|m%Mۯ>>>?W.J"dEd-UG9AAI=>:;+ d9A2=D[Q B)[0jj9} c(SQ;F,6W?9E&^*v6=Ï{CfPGuUUGD4 + (0#?PUWW"EYWW2"6U0SYdWgj(__^*)$1 XZ)C)> @U.EEdE"YSW=""AY?) >NI&2J"9e,0@))+&hhh[~޳Z( ceF*0 >-2*^}9EP!,4V*+:)&$nI6^!4 T )WY&[Y~g4zd26W--GE[.6&i-^"+0)$L M[)@:?C2Y.YJYF2UEV"=E"E2_JP@$[ K``wz)H4)n)FQ0*9E?CY*,0)< %&$]:;B' )0cRX/F2f,j_gFYY}{zYxmw II!+U(M[--".=G"Yz_ZT'H)e A>+S.EEdf_""WU"&dYWY.D!?"Wu 6~~wQ LT%'Bw( gE.EE QQ%,Z {,+;B$#o )B)|B38wG4.j2U}QIe);hiU"WW<[Z4 8 ; US҇ U6Y2YW"Ed2U^FU<)ߠFD@: ?UEA9S2=C{;#8B[M*M~9PN$%B^@9>IQ+ :r>#RBww%$B1m%1m8c( %]4b/g6gjf))W? ?EWi-2\\:Cwd):XӜ8X0%+S>9"""^^00@,Y wA2*""P+Nu;Cv[0YI*<(D0 VD,YGI&,0S 'c:< Ս8Tn4]o?J.6.gUם~n4Jg~VBZp=<˔SB0 Vn!D>@ GE"^U QQ= "WQv@0AU SEA@IGzc{Q;UE"f,):Bn"dI9 Y"WY+ \ ' [&?9 H ;[%P6=v2)".,"Eנ[AA>29?EI[)FZjx~n\j;Cxܿ 3 C )+,F( SFWYYd.E9>>>JEA"_0SEAWJGruU92"d,I-2@@~PP=2YGEG '/#UAPs/s QU;X4AʬʠU9=C>"==d"> WϔDGbe%z)Nj_(v}(1v@;N)~GGIWY"2W [W2^ "0zCAEdEI^U=}  QzYYY<D{gQ.*("Yu@_I Ӯ2=C4+F9 (PP)?9- J~Q d6?[g^U}@,\$iZf)F0SD*r =+y@}~2"-I}W.0>CQ9<UFE9dY(JYA9NQQ{W"".U)2; >}&,Z;wu9 ҿ +}IW9v C9=S%%*92=WX\e9 W"&2UWAD9WSG}{&K*z1%v6K&[ 2} e:))/ Cw''D\~QGߏ0"9S^C0 C?29UCY20)9"E UY^y~*F["dY229SI*@n, :E(EW+ NFxB:W; y@?)e G@;C2.9>{HuXXZec@*Xn;{20>swHT1D{~DB+2GxcSW~PYW?SY"-^S^Y@dWEEE ISP)0G 2Y"_-**WGJ,U?>x+=NEY_- QzM9P9H13xU9Ydd? ^<>9Q?+@ƈTuRH4% { +"Pe +6,*"J2GW92WU9WYd"">S AY"99 999fYY""=(+ 9VwvvDC,I9d9/'BAA(WYEdU)~.+u e~_0v}0gFA"W"ސU?2 AY!<QdWdEYdYYF˴r BY!{[{\0ӛ {X,;V[J\,!F9YYAEF"W20vWU?,04(S GU999EA.2WG"QG*>@\wAY-.U0w0> (M7B *9PP6, > V*+ᬹUA2ZNF Y^YYA"EEdA?GDˮ u\ "Vz0 wW<$ gGM&^I""JWE.S-C02` CYU9EEE.A9SEA*00;*v2Q0dv{[@ wSbw&&w3{>P D S}d<VWYQ(2=D0® QY>AEA 0*G yUu:wFP0?F xU U&4 *`h[G"EEdUA"WGP>?Z[, SEEEWIJW""?SW0SPN)S 0SѮyڛu(4h4???WU6DY&!G2%0U<){0yvFQS92Qd-UWW[;*{U>zz HrBTx˫vYQPCZ(w@Z``MgY"WAdFQUY >ޮ ()I~0 9׬d^g) U?"W&Ѯ?*>Q0H%; 4n?"I@\;QD{+0~2HT cCnv [?P) Y-& :0[@Q-= ';F:'Q~z)*!C >YםV>DFP,FCQIgDUFw}G0PGV{"Wd..-6g>}U~{xFfzvG'F{W?*%_,2_6IY"dYAd> [C-6Qehj^Y{ Qއ4="W?@2Y"IW{ 9AY=*0 ߒSZcwT x1B u U?&=)0QQ- )w3#<:  YU2YWzCuF))3pM6z'1# ӽ)' xX%cyzgI}zU<cd".ddD92WYD'W2gCJQBB ,  9YI[x@29^;2UQzŘ,2E"6g*,f)y ч֭SFzS~WFF{F0 29dAU9YS=9B) +2FW?P@|]1M.Y Z){} :0 D 0y;TcP ):HE"}^W9U2d_-"2I0 Q> d^C""EY) N2NA2ZPUWU29 *~x{-Q}^DW? @r ; e46UWDPې @ +<0SA)dI(dIQgj_Y QIY}+W6-.^A=2GIWY?ĠW~S"II G[~Y0Cv@9F*0UIQIf{, d".^226I;Q ѿ*>SJ.=4:WJ-YI^2P>PQ?S~+ Z;B +QQ*FUQJg_=~u *$){z= *=&?SP0z^ AU)N!W2*=~ZE-6d6YDWWfevɏQ@I=* ;FD,4 :>dEE"JG"U> =ST'rRC&{c#T-"0G^_M`n;ޮܮ:1) ur46>>Sd^WINs^ރW=?A[^0C6-gv"w>YUUZV)~f0=y*QG6-6[=J.G9Q^A9PAId,29U= )ӿ0%L1BHW2,DD*FfA"EAEYSFr֭?~JYe+*YY"9FI@F PY^!*GQ{:OZCy~)P00zN@C:ZD[:4i+JSP ?A=.YYA9NӇߓ2J[,6*SUY.d^SIFJ-ɝQ0 920hh)RR/s )@ e0QDyW(Q9""d"^U,E-d?~f^\~e 'm3 FCG,@CU0y2Y0),~4 *v}Y>SSY&dYQZ&9{A⠸Ǘ}*P;nz%:)]@@;::0%9v 4vW 878rSӿ&=\),z2YIW9Ү+W{v@ YC0$G@› ZD )@UzE^YE.96=g\Ż{ +#RVC哝+z{2CwSF<!w+}zC9YYYJQU2IJ<+[Gf} e{ : /R%uN  @0CP߇u 5B*ڽl8:@ Z=!,0D+ʝef>&YQWz09"Ux}269P*}zy =׬UW2W~;wnnu\ܳng+DG2222G[eFDn,![{}D{C,=!I=CF2g2>2G)U6I2QCe\f {u/wL|@;Ge,DS{)){D-6e]L)n rڛpF00S0=Q=e=Y(*QWW>>>+ D)GCW&)!U=WSDU*(yPYEEW9Wd.@>)@wve ebV+z**Zzy}IF&}}{(:uSSP 2Gh }[e+};< 2Q6I0ZyeySG0C(); w 1|TD2S+ gQ>F00U9&{yWEE94pL P ' %iQ0fY=^WQ uQФ,9u}4Zn+ ʯUYY*GWʬE"ddEA"WUPʹe*+X4wKeNyZN +{4n) +c CP W?0CS,M;;e)0,F0~+S PSFFY2@+ VĿTVsb3D_jZN09DNEE& :%֕L]+ zPxn~~ȯW66FD{ 9GQ(;> 9Sc(w0i)P[SWWUw 2"dJ"YYfWYWʬGPF*F*bB )T'0\yX*PQ*{><,:QUAex$KN(D26E-FneePQgC)\G~)s =.U99EW~ycyCW4`yÝJ^E~0FG;SD 4$4Kpcubwzu 588P2,)% u>,9,6gٛ?EY B /w4ֿPvPze,dE"-JIP9?<2GZS22B \ Q_USYC('CGNAQ~+,Y?ћI ธen2,/ :Y^Y2>x0 zc4)WYMeP?U9EdAPvPѯPP@P(͊LKV'(w8588VVznH%*SQ>0>26.-, X; X373'}0ޭ&4idY.AvDSSI6vÓu;0)) [i&^"4 ¡MF!9dAj+9Ef.EWJ;(U,,ww:nzZ[9w$(\MS2DQAEʯ Q UG~U9F<``p4hK''͜33:ġ;X // =vQ{ QGSUJWG<'1 VD)7l3# #RܟV:`K`Jj^AS>UP)+eYW @U2;H#&h³[ F EdAEA9IE-IY"=)wBTX(cy ye*,f6QPN u:Ηp[^, ,WZQ"D6&jfF?M\ZiW.0 sb83/38l3Bw4cw(b w0FPC e)4,n48)b8l3l5x'#'w44YE"ߝWYj&,?@D;2;ezc'݊hL[ϰ: QWdFdYW>ρ9EW"Y_.WfZR|mm# ef*[[+ }S&ʃJ-^dW"9S2JU=_&?()Neڲ[j&:YA))'RBb3Tu'((n: ?>=D\%) 83oT#8l 35XnTu)Qn\VH`4X%2.EU--&PYYȮ)f`bovyE"20 ސYPWJJ"=9Uz]\%Vc,Ce˩Q0*ʯDgfYQYW,QQ>2QG)VV'Vr`e4'"E9K%H :\@(  U( (B8#r 8n-g(Sc*X z[gPhQQ P^-6P:wSX(u/ vY*IA[UѮA}PwT  'n~.6jvس,2F6ǃD v2)@4ΰwu u[*f[JUS@ıSFvxPW"Yd6IJ~ޑȇ]8ppo ڮ  :w 78'l BT N)Nr #tk773/'wr/w@'دUA-.F) w#8>>YYd"WIQ!dC{>Wם ܛF2;@KIUYWw[,(W2;{'comŞw*i[f : QA6uC>e[-EEJJU&0éw'N'#R0w;n** C\ 33 P,+) 0 8ktl8mm#/Tyuܯ[0P *T?>YdYdAD~(;uYYAE""EWYdUi0*UCz}){iWYW?*PYW})WM~GY) XXXp|8w\d_fD [PWvӭ2FQYd"d"Y6eWFz1wrrS4uw BuNw,F[P;F >WYJ20*n78V wT1vC nc<&,VޑCW"99 =,FU+99Ad""d"Add"CQDD uT{I=(wD.)Z>[GM:[[f[ns3|΀Ď[^= C v=W"d9AWdYUWQW"Ed2;($4;& 4wwTue;*6￑0n'+C}^9v(3B/v w)z0e )&Ug=ȇzDFe. U_4G JEYUWQYADȒ{Qֳ0b8/ wK}02^fC>W-euvz)); xc;uĻ{^.W,^gMl@QgI+Y"9Y&QEYYW>y$g>DVBn)V;<0GD$[(R/ }Z@}=[rHH85/0 H=fuu; (+ W趢Zw#9A"* S"W9W9I@[QF Yd(:~PF’02 s+JAAWdI UQU99QA ,*+'~W_:BĤ@+6æjw v4TxvG}2.W"W"EY=F".Y?$)su/nn( U=~&-.Y(: X\RTZxxl0  #1w)n6=Q+{: QWYISGޯSYE(4%VnzQPY G[uBZ.SUYddQҼI0(%U; GYY{S~ V\:C*y:OrH|y@~yC&J2AJ"EAE_D0CؐP0:( ;H:*,^WY9S"YCFQ, RHVcXVP +V*V c N) 2"G2z#l|#(R;}G>, BBYJ"E"Q PWcdS{[ G}/xu@}{|331@{x~J"IYd"EYYAE!Qw;\VDQڑV'0QvV|T'v N (;w*$I9WIY,Q^UG*x X'sRF+T4(1m1%%T/ >0@u,V?9 zBcw(P ?ҝWSGUTĖCQ C?Y[4r3T|^dY*>?@=f bRVZ~*T%n|V\ crXΥZ|8(yuu>{Ł"dEdEd"YAAd-?)ŗccurun\:Q *<By w+C=2WG ; ?Cw; @wV'3B ,(n!R7R'8#* @@vQޏɛ'\;TV4sDY9vQ)9Y^W< *ᑼuwz 2 g~^ Pًbsgc+(V[4pN} ѮT|szg0n\YdEdEdYdU9WSIWW^I=nBƪ|B1b/33R0 ,Y+>vNT:* )D~T|X/0I@yuCv09u;VּnXŎTX )P,9?v w )+dID@VWW{;UC,PQ^XYQS@ nvYʹ^4 $ %{}[[+g^^dE-dYd92W2YW2},SD rrBsr 13R{/}CzvV/ ޯNSYJ?Yhe*zGzuBHeX$uN2F/v/Nn8rz@[YW0/u3CVDww :BuX FI{+V{9YdYEEYW>  W>)v eDYJY[򨳻Ůڑ)x:nZN*Yd..d^JYW92QQQSCr|b u: P:bTnu0@>M/ )& )W"gf29yC0ڿV}Z$:S rUD)M3w ){-Px@)ﮛ'@n{z CxVo~W^*WQuvceKZYW)FxAYYYE"YʝQ?P9EW90;CWYdWUE"I̘(nww'X4D 0QUWE."9WY^U^> !YIsu1xux)\\(nV(N nN)F:Oh[u(1FJi*M\D=W VvBcw)'V\ ;*)p|zenvs;r) eǞw)YAW6EA"**fnZ0CPs+v B8KxNwTv=6=&2Q%3's/IJVs))TBt#1%)[Lo{+{SQWz1X V:H"fJ$MJU99d>ȏC0}zzCJ^JYVP*Ňwiuw\0*S<&_<[vU^_WWSQ}[[Nwx0Rur 0:~)%,IxB#11ʹ]1bnn0e_We}D<[GC) y( uul weV_*UGQ/yx$Fv\% yFU%3lm|XLZ'us\%ʓhhm#R1L %4 XY\PPQP?SgnCQWdÒ^ƿxsz}~yrsB0JdW&I^=<{g-"WWWdWQ '13<6S,,CB1B3:uPNCZ ;*FD@B'%mVV \ }YWW2?:bVHcZx(:B'\\p%' rVH%B'X} $M+(V/3]uz* %K99U؛B]1$(nxs*KVVs)C0 )f^^Z*;o1HbOO3m8lln/b3/rR';XoXZKT8#%wn{{veQSPS2 +{g*$'uı{>U߷SCGW"^9Sy[YUsQ\QUZZ1/mPmmn 1 'T @$:ywVYYi[iuMg~9zQS*ZzP+wuuuC22yv@Z[USY,P0'*)u:ُcUJ6dr5bCe0Q.=SPA ٿGv2w=2=UQ/@:Vᔯ}vڭdJVY~$* 妣}JSAYyR/=*Jƀn\zLp#{ZnJdE9"@FG{'uNVzUUSQPS0;ze$Sd^<\,bzzRHHGn*#Xb//'X 0YS^Y ԑPSgشC)*Scl% P?Dddn`v{BzڮTwẉőNm3HwTPf$20LLH0=PS!"J2v z v99!w x͗\}~I{DĿֿ 4sp{CzZV$Zt7Bw87īBIUJ:wvP vQA&&{ur}x(vU[w/'wru$1TBu#lqlsļ ݮuw)QCN1\6-SehF>GS~vI@@UW> F@yQS^=({z\e~==d"l3Nчv xh+)wuwcẒmwcu꽛sFPZ&QF* F+Z>s\=gD)RlhPSȯGUTV3XN\Tr78mlm7bb8on0>=W~=fn$T[=M;(yz+z) CNC WU NGNe̗}yx؇x-IUEYϢ{Cv ,g6WxT%X@x8lngwɇ(@)+nwC?9.A)Sw=fwFuZyxֽ;vr{=ø'܇\(B'w B1VsBsG˟TyU9Wv,dWW2,[zy+17GeT;zQ[0v> G)N *b y3w@w>,} V(i 2dJgǎubb/~&Z&IYz'(Vr[ A}FPD@,Y۝ 佭 ~PG@[Z SJOb}xSY,SGc>yzVHT D^;xssru {[Ge;ٞBM<=~62U> 8 ؇'n'3¢xI@ @ wıZg,[I^¨ BT# cH$Z;X r)*gCW<,WU~IUZYd@)Z{}> WY:/3PU=Q ?PяG~N;|b3R#rPwm/\n;R #)VWU,_;)y [,<~[hKf*=WQ@ѮsuHڇP} خwFUS0@~D.Z6j&`e S]B(X*+n(C,208ZVcn:ސ00 N+ ddJ Ee[YvP 4G}QYѽE([gzVNyDI^, w$ƭlBu/ottl|:RB'<2D-Q wuwϳu\Dv%4* ~Dw  8/:VN+N@Cد@ۇP}~d"[J-=ih`w;} nΧC}C[C})sDh)w)g{)~dY9WQJ[ڮyBsX,YQDY~Y^y[Xu/wnrpl]1p3wxX3)9ǃcGCs#BƜ8sw(\ \H+~G9n SQr/| 0v}0@ֽPJ_,^.6_&i&~c su^PW*D{w$ s ^Uy:nQ ' uuD I[[IIDWlR;uz{=[Bml1͟3u~F+w%X\4uVr8Q?=x{QC) Vu0PdYJh$]BJ0D>XwD +c{(r3罫#Tc0=F29dX{^S=ŦW~~0N UUMi\\ 4PnL88 @CNbBu' ֜#wZ.9QT}hGY2wTuX;BTs'/ 3ͫe(٥ H VV;\ *P}e[\v$xceg4Xnn%1*UГ*m/H(u xbVK{NQPwĴnw}vEWCD2u(fX=[\Ml# 'm \ZvK) *nC> 3'0* +(%rw@ PˁWInWYWnĨzKnb8omb31u1mR~2cΊP+,n޿z{'(02,[[M[ u%ͰxV)0S\}0+q53;vѮCv_wwVT s;gȟ/B{' ny[$ l썍qlO'%u {Žy>ũ)) گ>U;H/b0[X[ТNnWWAdUYUDX;weQBs])o'U@v2d"=ihrNr8bΟ:;+z*8(Nv{(V|73w29S>>WAYW^ B]Bbl/ w/8Ro#oosepe*zyُ3r1r V }$$Zn*<>L$wxrr8}P;VK*geGW9WFeN '#ng>wXLLh&e$|3ms'8e[V@Q0""Mi4(s֟CyŎ`XZlw:o'^FP*WU!(r8m뜈뽶'BR VBmttb[Gއ䴰c{' hĮZpT\w\ 0600\&;uQZwXlyZ}zZ}((\zG6*W"WW9~:=4Z;Lhj7m8m`ͧSV/(: 0&%M-_,}^fT1(rBƲl켽cRZ={szQ4z;Mxw 73'ĖwWf}CU,whe{֗V(Zr`Vhn4D\PQ?Q2~* c~; }u'0ZHV)(3BĮ(\ZZzn=JJ2E~g}@6@MUlO8mrwbevrs|  / :hNԼU,n]|`""I{[D;zn3/xmRoobO5k]V]8loK oݐ{;,v;Bwvz~<)[DJUnue}+CFwc#͎p̀ZV{Xw:IG[iM[)wNz :Ru(K (;̨w˳˒ϯzZ6[};GdUN*gJ(LoH^[]m8ƕrsbsXzn+C؇:$p$x3') bs;z^vڿvc}Gj&=WY[zlOo3ŭbֽx%Rlwl3HpbrwuVnv /' FSD 4 %'(e[nXVwV ( VV ˭|z j< 8m cxz8 VBV'rtl+X;T77mllƖ|̈́ffS}*0;) @SPہy+I~eN 0ġ\Di-^6Q u;nw' ;wm's|B/'s'&;Tub>P :;uz~<{^ Nz}9Y)81x\gƈqm3ͧBŶ{B8sbVR/wm7|rRH:;888y uri_[,D)@@>9Y2N;LHB8s ;n{ĕDMji}&xr5VfJTbs(ZBlƫB3sBu|33{(>  0Q:''/@~0PFw uw;NGWYWw:Xr':/w#H* bw\}8'13l 3RBnm#B]řN(sbB(nsp[}}CPF=S &NVX;B3BV'7 (xwByš[2h[~;mmB)1Bl|b3HqlsͲu/*ˏ? {ubw;4Rr'V'rw;VTHwTVuwyzD~Gz#HV|]3;rb\*b}}{V//bbs1o|B1m|ww0)N*0CY{R/RuH'wz)wv~cN:H' {Ru䱟^}C|Tw)Q||7t57/p Twļ u3Ƽ/B#t5O78R 55R4ּ )x*{Ɯmuxw ): ﴴ[vVT}w:zC}cHR;G }1|B|c\)}Fx@C2*'B N$n3l5$wgM#\)+Zš'L:l1%7/u`o##m3윍l7Ottlt8tRRl5O5/{(Bhb0Ů0ۣBs8RR'b 0秫DwTV3m|?{$m3(Hw`omƫsNT͕/r/HΑD'w+QV1BTB/b ::w 266.D<\[+}P (Hv}ĖH'8XPvxHxu $RmR()xxvbm3wwummLL33HzeIx썍m75O8qq5bttR(z v[2YISɁ0RmlsT%%om3Ċ8cGϯQ{c윽%{[rrzg b88%bss3mXPQN3uVmo0yV]otqkka3O5mB|l78qt11ncr sxxO7t]V ww1l8m {e~: eu3O 8 mmq#m/ w Xn{dYP2P>y00SQ2JSD0xBw/v BCz%n*{BBXNF 8%*s괞Ze4~)nZ{uuwHXcsrr#HHw1V(%1mlaak3b|Bl333kq\'1Rw'Z\sbnNpsmVrzޓz(\lwּ/lm8V'MKZxl(zzN;YʓvUY9 Sw%9QGubr8 )(0u'Vu~:su#1on~b~_3{* Vw*ΝwsuPur8l]%1RlltO5k88Oƴ8m7tsB1':Rbz^uXxo}~nvgNyxsT0>ƥ)r{_]ƋBn$^recD_*G0YQPe|[eS+PT @ ;CCeD?2cBr3΅(_YA nw4guFvӮF%v?@u3/: lOt3]]H|R88#r71|l8mqkqmZZ/ĺ'H(:VRuRrB8wwyQ(;}>CG=Z{й 0}VR//s f\uez[gCWG"SSFYy+ ( ﯮw)vVw +n:SUWxBB0Nu84,yez~r[bnNvCsrr΢7/bꍉm* \n1om/83lꜲ33tttmBn\}Ňbb8sw(T %TmuV1|3V){yw(<,\T3#zwխ'V$m3[2[us)&DũwnY2SQ2п (>0uNw;0 [*xw;{Ȯ}+Xnhnw P+hKzvı4^| 'ssR/ST8mBHhhh*Bqa5OO358X0mqtm1u1B }uzFlq7ru0; BTn /m88ĶWvywV1l3lbr3;w rsu#1gĮ7wHHz~2P2~iIy*)P)0)[Pʠ{{H|]ol883b|Rm1hwxh[bl)0^? 䏡T# VVpb3oH|T#pqmHٺ$`o]mmtlmllmro5Ƒ>Q̗rVx/rX:VBr3m1 #ss%wHTn<*r8um~Q^ (~[=+,=ZB''ƿGW0 } D*XBVB(Ď0$wخ:f==nŨ4||V bR Znz=Mll$;xv(İ/VBV ԥ4\Xtqq3ml3ptrl|ƈb1O5li\ rTٽbr #7lm3RRo/sĴVm (NH T2z uǁ~CQGWn\v,;YUÓD4xQ,bb,:TP~>Wd!Y2\epąohoXzr1TwZiw=8mBVC9Q>~cnsġ Z}};XjeGHL:VHXeLpT~yK%BbwqO(+/llT 3Rb s8Rβ8%z^3\wJG_JJ˞?5bš³ž@),}uBDWJWÝʹ>,C0?9SP u)wDGWAY^"^̛z0ˣǣ̈́`mpBBePDw$w[szPn $wwe~evwyǒpLRBw˕8BmlTIJw==wQ=[`=ee~ZOlPDvTT|Vccr;eXY2ex Bw|BOlq/ V 3Ru%Hb/BeWYʹS^WYddW2PSSڛѮ (w\f>PG""d@{϶ũ˴X }ˀgX ƗuwB8c$-f'#p¹dpK#s'|87m8g)Vn\mm#om|=ˮH42g v^2~37tt#ƀ%V|$%3mfrslo5l3b8HbbbOtt3@sW9AUYY*QQ*,WGJ,gJ^dU{SIuT{{޳ZWI-W[w{D@cmt8s)nu}6f~Rqm1hN1nus/u¸eo@sN+N[fy)WJ{hijj[X)(r8OOn~w77|4Z#llVR#mtaqOt'~ nsBbδslκz|m}ˇʷ{ȯP*})\e=[{ )\Xͥosb wn vFuч} u}b' wvG_b-mO5O 3| CxuscńoL$TH1lw'1=vZh`;'lT'uu'T8/{e[{7pX'wB윿&g_f pm7x7#RTΧTH)SYJYWJ-v}Zcu4R\=2sT{дG[%#3ynVVX˴`X˷>QСRZb(8sbb8lr7qo3#]]p|V4:bm|mlhe|/3RC{p{DGnxcЮy4 jb{}QefQNSSP 7ֽ lfI2 gf0%]o183#57 4PNYYUGI;wx18$$p#`r)* uSYITKSnğ3pnPZ_ f6 ;gn)s8BB33]ommm VƊLKKݴnc/ꪕxIJV ĭ:n](;u|8J"E [}*@ށNzeVf^<$K ~\#'H*e:l5l3V[)P9@G{SG‡f\xr8'BBpy78ZP{ '} S^G00u8{JBT8ΏMǶ\Z8/:e\ 3|KHΥ]tqtkqH8lmoooqm#l878uXs w (Hxyȡ="DlLh0*vW[zPwwnGiF^Y1(; *~6gzr#l8l'XeWI~,̋Kbmy@3N'֞z'X'z})0Ty^BݪsF, rVRV;N{)1p#]#Bllo#o1K$87oopp%;t8{u3V)7<\TwwTH\Z=booMD{I0eHw%yCvGCV*} 0D^{xBrrm78m'{VCC^^}:3V7Z@{Z11Tr6_4ƞ]wvnffHVXۻxuvGwFn/xx VRvy X111$ttt]i&KK8]sH>&~hzuzVv c02yZcYUe\xΫc} z:V[rZg[L`LL41lbRXVw: BBuy\yB8윈mΰzuT1 \bop&4wZIWYG~P~ȟQY[4GSZe/케/8uuͫ4bзP&W /TͲci:=v>U"YN+N T `+|20ux Bu2Sʯ@ B =$zwwl Y"Y*(򪪜57o]o#\4KH|77H{}2Q?Px#/Huy#m 8r T(+f8̀m`M&{iw˛wšwy~TVB¯znTğu,4wR%w 8;Cy%TNPCZBsC@B\XPdYuw' Ȕw|H888Y='Rt5O55poo]o7]l7tlTZZU'BBB1rrwHHg6XK/ռoΌjWd^ uv(¿ĿBwzP@@,}w{WVsH/l881V3*{[[nC,;4[hcޔ{ /sĦeyBs""zyVuNV(Qug^nl';QY"E^23lb/s]tmatta7Oo#oootm3)//uQQ+{}43#Om7w/ urîh*$rpbZ_0:Q nu Ã*e< s#rHHCjYv?^_&g^ÑVw'tֿznnQudGn {{@D{WCd~ zQ}i}wBˡWEdYY˿TuwV;}#ommO753]p BRbllHR*{$brbo85쿫֜H:@r9Z&Zrr[:=:e}D2n\@R8wُDD[;MsR|RւT ~[{Д~zgS_ ѿQ׭.7/w[YU{_$nw{}l33[ZY,:Ȯf4{p|lql8n` \&Rݪ1R#̳P087b#5873՜ȁ@ Lf_r4elŃ2F0 9ï}}usw$TT(*VL=x'|o| ooRuZ@z {xp.WP  x{PWl8ֿ{<~QY{Z&CŸ)TTw bbBBok7 (g622G?yxS>Fg[[Z#7ll3xU8x%sBrB1BtTH݀r (pb3m/olƜ357By)Z1O5w0gyEAEJ6YJA? JYg60,g*nsğƎcx$:0wHs1ݜb*oTZ(6-̌ NŰEEoIYQP9Y4˵ 8NQ}}SWE"*v{n˶~{xnw[v[&4݉oơ}nXyVwqkB'3HV3ll8(|lmBw#''XTr'B();)8ƛ T[D怋hg&EA*뭓GddJUY^,h*[\p{)y)st}n,( 첄3 }KzV)I="dY"jxyZWEd +M,fYYݭmrQ}0G֮~,"¦ٿȇIJ/31|T{f~G)%(+mRrTƟ3mB:#3otwBmTBsw38lOmHmRRĢ%\nrRΫHlmTT4S) ش:9ȿW^[_H\ Ed"=*hǣ˟xgy{7GzcX;(4;%r]|8/XX%)<\ZJ6W"Yg˰`ɶTdGWx>Jdכؽ't3 w'Q.*DWY^yu8rmƱvpM[,2wl3B v z `6_W^xy}-.J BvyJWCDVc$pppBlΠJG20c 78 %l3) 1llcĪm7lm VXn4NX%Z""ESY"0ؿ/);9+~V$\/Sʓ>z(=}DP?dFP^Y&Hr 'PDp 2(s D)~ 쮝GiM[`h=QJJ.^,J"Ѱi.\\K0ZTIU=)wZ-dJv rtlVs387lq͜͜brHHm3 B#L33 RTVru/B$n{0C=[JYJYYyB: U0Pn=ġXVέ ŚSzU+e NYAEUWjZVXV3cZ2hf@(4TH'c^QْWKn8i{zG*"^E[i<.UD`-F>*yc_{hpL)s n)xso}H[Y""W2(vzlbNcxV3Bkƫsxlse4(u}[ZT(u3t]/rVlm3r'V%3V;@fw 8mvʐd"}Qz ~@[eeT}vvC{wYEY=,Ts;c)!; v0ed^^fU2h[\g^E--g˿P6;VL2+/*<:T&)4(u~ soM s|T};NxsİRs}˗mq BXu=nNB%wR8//ToTwXcBl$u D2U,¿O7uUXU~ˡWYXnsyơcV r6&(Vu 'u~}z2["&{yΛ ;\; AU^dUY"{%}--"-.j`[2[w`MhLh& no|Vħ=\srͥ'ŕVta78|oqal78wsr3V(4򜧜 V1TΗ))lwv+xru3ux -!2IQ@ 0GEY2v{xw0;ǹYYJȽ>@C{PQ񏮿TRͧur33Nw~_=&,0{zZ S۠I^EWdY^[gnj-J&``_-Jg6`pĥZg{Vȟt|m:V K͗ y^"-YIiJI=<; 7t53HHmql#/:TB1#1|88lb1%GG(mCc:w1cN , )\+,=UD[ >YG)Qu^WIȮQC9d NC;'' 1b4Z$vJE=SGU=WYWg=M&`[6EE^.,PąT&6)X<\X3B||@jD[2JYEuuWwzTxN{Gebss'V*VH1BRTw'ĵr':SQFYvSw-WGz v)SdZ"d}y˘_[Y~c[F~0zxxxwR Zxrޮ)AdPWh‡B;W2*[c[-ji-=_DĖsQNxu SZvC%1T$ sűȇǩgzVnNs0+QJ"=, sunOb'<}xs888uTrnww0 SʝEEd9ISDŮxe4r *UUywP0~2fvv4~S^dni}[ cy vw( hH 4e,SQYEdWiV~gD~f..-_j6EeZȟĖJd@YJGg(%$wVTs})K KK_z2(ub1 8Bw/8ss3R\Z]oVl8 ;*Z333VVwswĞZD^AAd9 s7սQ)"®Qö*=WW0fvru+~nD2F(Kp[h 0$V{vYdY^PI9Xv*={c_-6_[-". =wX0^We[hMT)we&wKh4{uc%'HOܡuu \wz&18T| \u3w~nΟnDAQU?'=G>G  .WnW׬EWdʟY{z;+* g=w*!>=[ 2=>S@ QD"EAʃ[{WWJAϚ^-Pgj_ii-gXb )@BvчZ\$s6HXĂ|bfnB]Lh]10pmR%S&DF,W^Wdîּsv{},noqOql@wX|bwŒWE"dE9>ʝYӝQE"{CvׯA 0d,G[;e6CUS}hs0Zi~==9}ȶ9Q{2dWS^dEdIE99Wd...--+u 0')\$yn٭%Lp3p$TpT[xeZphm]bp1Vom]w*0wnWP8V/rsT'uOk5OttmHm8s'#lzeFz?[9EYdd^Û v},'gygơ WW{©bb}JKT\KZVyXWvUdJ292jSWYJY-dAJ.YYdJE"jvrxuc@F͎n XZ.wc⒞scxmPYdZp{n%XZE"96Ƕ^A^W_2W2WEYdYd_=g;:֭vD9[N HmmloΞQ^g6-6Kno7#o3T|`4Z)D{\nu/sISv˺V|ot7V͜5575m||V '8\YWYdEJi + ֯>Kfwuv{0֐[IV1M~SXUY^G9c|clb&`~\%T$Add!^zwZYJGgÓ˵AWWgeS}*{ZwV Q"^ FP T#3tq7=JJ--Mh`mmmŎLj`4%enXV sDWInj 4rrV|Oq/r]mz):: urX`W"EEEdWd vQEsD}Կd-^e2dEQS=UzZYE9AYTͼ 4;K1B1L|+\JJY:{n292^U[220rRtk }<H$tl8Mg6ih4MKoOr|ig sr %MH`==[(ܠ9.YyU;;V%nwRه̽7ml83b'sڮz._JY6[^*:ժʹ0:)w+<{w2S0+;nZʝW2Ёifb ȔwubOlm3pNbs^WJSe==̣-"YWQ2esմ57ne*}Pz;uBnwg~2gDehhiii6^gs%켜))':WWWPJ)Jj6 w3'Vcļ/377lm38 YEJ"dE..dW^ DFz7}^{{J~EYY.y([d_GYd-A•δ 8ȱnBr|o֭ȯ~0ϸD^f[f[h."W!6W[^{wxu Nw/@{ŽTh\s$WYYYQ[&Mh&&M[i (Bg0bOs@F^6fZy4gjcu֪ :w878/ls75뮡}[6~ei_9Y-6WA90ʒW*EJ2Cz︔WdWʸdwrͫwlBT:'mĴs8m8땎yn;)zP2SdJIW^~e[Zheh*wVs BB|]22=YA5uVwX=4wHB1T$y[~яxp1X' 3uCzeAdI2Y,Cw/v6jj[=--ZgY_n+FddWdA=[}uRRc wu o`r8ꜫKv)zm\ZI"Y?,e-AF*U,-2ڠ湤Y^[0THVZgD*nŗnWW,u )Z}@{#1HsueKTbln@ wx0xy P-Ydh뿔gf_^PYdYSYJYYd9}W^YY2@'zBlmć~ZVT3LK8bl1y(o7r4KcK[=^^!SE2N^zd^c[J^Uv;w%4 -.}U*\Z[Vw$BB3 s[[^dd;wcuId^2WQ=¨WYYŸU^AWE^JW.f2 u pn}bRspTZi66="x)"".^_=G~ ;cAdD [4T&ϝYWI=)TwZqX0{UJ"[U[x;$tOtlmlllmݗuPn(Z[{0sH(xvj-g_yC~n_=jļzAʐMEWddE&ʬdA>?EYד^dA^Yd6vRw wo\*Z/1Hn1]n6--Jd"2Id""""62S~wnuV[A ;[bugS2IY*͍my' 00,[eǃ+C)M'lm/l#/wB]s:bV yn[_ p1拓{eM.6F=6Xn~Ĵe1 JY‘gEWSW^YYU׵dd-W[YWJiJ"M-.IdTĈ(n0ţXe~(ZJWYS6..-Y"EEd-W2&CzwNX\W^2 9{JYn ˜g6[4(wsR'sXXTzZne[&[j^, ;0lOݼ33wͅ˴T:BrnenB3V4~;BVyˏ}-g"J.jv\-hňr R""dJ.U" "^@UEEPW^.˳DXIJ[dY~pM\˞%:n =g+I,; &-_..EEY^IwX+ГW= S|R*AS{;}YgWY [C)w%sBHnTXh#|K `*G}})s;newȓ=Z{s4zc1 X+gǦgjyNU9A-$[SDjĥ6-_dUJ?n99^W, JAʢQV;!6A*3ojcu1Λ˳geYWe&fj[&[&666"EdJ.-NN>CFGU"Uwr{F;WIW"""ID}wX(X@{&XcchZuMS 8/yN %¹N*&}HWyij`%)DϘϓo-EEAʚCA*\. gd.IY̛99dWW2G~YJ.c~QYWJ"6Zu}l`K}N1sȶ(eIWWi&j,fI_j&-JJ-S-+0J);40@;3Z[WnAʶ6G6!^W ;11{2W\;)ZVZ* Nwbt7BllT;vM Xxw}z @*`h)Wǘ[`hL`U9>9< nHs_wYE>AEEAYEYY}[Wʸd ϹYAdYƒmx|By£&lw[F2._- ,gg^WYY? !- *;L]%[Z Y[MdYEEE2U9JUvSnyEànYHpX|̩Q v^^f}fZXzg**g[^-6[i_gUA P6I", ``h;Z<^n} $THZ[zwH(\PC2W2E?QPQHVḥ̂{'XˣCw ===eueTWFY;{$3 ]R5QS"EYYASzvSYLKě\^Y+)w4.~_iMJ_TC0UE6Z4L8n- <=$$]`Mg1V:$ @"u2GF),P9(_Q{2YEEE"J^g*e^ʃ[BAʣs'XZs u䜼ne.IQW}YEdYWd}P}Bˡ=/Tȥ̵FF9SJYYdEJ~,* Z-<62Q Q)EE", ]#TWWI^[W_$({\e 8783>(x(y nMZZn0gwٿ+vvU."W9ddW^ei{Kn AEnLZz l //f{ Y)9´vDYYdW{VyxxH50C}EWeɯF[WWdJ6g:X[egZ^I=j^E99 [%c;[WAd6J."E.Ze*6S 3/%x }|''s#llR#'#777R b8m]T ӇzއZy>àJA6Y~QjUdY^ūmV88//J2*&[\wv Iv ϑd--^dSUYgd”ycbP@YYʝ2@>F²g&f2ZM[& ?Ci&">UCC\cL%Qe\~YU.-"!E.===gGQ})%xn#y}2&Z(:Ʋ|B3 r':x'o0QFzf1uYWUQ69ʠ^[?AzWY.WI4lƜ3R%I[=._?9W{X^..""ZxI¿TYEWl/B3Bg~ydYS,zzUZUJS66^J^WUGP?<*<~Q?IC~nunz0SY"""E^W6_^9\%}))n[Z&Z +)WfeC*VVcTX4 [eϩlVzv =U2W0D fŘ.GnF mB3cN*2^=g["&FJdY?^vJdi-JdIGT(F9Q'( >?U=ZzJ©^2+eG_JYYY*22;(6ϒ,DQ) )\=Y2e};)D2^g_,.=,Z{+zn9GJ!y^S~HPzzzZ e):)[ZP`ȮND?>Q==[0YAQZQ0ygXĤ=T18l|ݧ'{TdgYUgdn-&)ZXdd_.dQY{Xv~G S PWQuѓD.^Gg\g9^Y"dW2P)IUQ0*J2J.~Df}M==_)W)yJ)jyQSSS=d0=Y))y}w@Q)+*QD@2!IGu' JYWdCS2z{~CÝ~ lm rs'vF2;Wxh--_y“^´dEEE_Dcd}V o$lAQ}=f[z9^^Y_ØYPU^IEEYAU{<^U@*YEWI}YZLKGCS^&2*i_[@*<*Yd^^=zw1]Hco]mBe+}2{Xs -J"YEd UY9d2WSuy) ֮ρ9[R/ԐS^+`AddYAdE.^Y6{F) ķEW̺e;ȷJ~UdYJʔJd*d6U26YWAAEIW"" v0P\(ȓYJWPQYdE,^Gv*<2fe; D0=""-^^Ii Kp 3l3/XT{ ]cTr0@){KPW͞Xsus *G=9ǘEdEEEdE-QwBlm]n[,{PdE^0)ŰϷʹyɁdEE=I"-YdU2J.WWEI(y}*[;^^ww@Ygf~!AE0ʑQ+Z4Z4V(}CG[}()[= *4IE"^p%pL BbuTucwTysbu\YEEYIYsFWCG^E^Y-Yd{?CA AEd2E6EEvd^j-eKZC*ꍜlmmmmo8'DsE^{}\<6JdEYdQ^GEFNe)P䡿ynأZzG0z)GF\f6=GDgi6W>>J...[[[GVR3suw;cxN٭:DUd"^>ʝYʯ^YWW^GEE"d>UAd}9E?YEEdEGA)Xg;DM=iʒ~S\lml'ڽll|[uFQSdEȩ{CyD,&-^SUAAEAJEE^SWUUAdYUxCFUs+cg="ïG^=D[=z* w[jJF{hZKHr wˢx%N~e9YPw) =UWEAEAYGAYYU~DAQ^Wzf}˺³WcnGºhzC)zœƜ7oo XG ~UUYWWZJ}Z[gddJYJ?=EEEdDS {"Yއ@gZ>JJPUJQWW0(˵&2[}+;@[{[g4$\Hsuc:w uXŶzw0̻:WAUȬd{*E.RƲ{%CؐCWdz^V?ZP pnNS˙ֽ t7Bm\fCv0Z0@0**2I*w ;XTwv4V|B֕ Vn(;@I2('QvP³4e}vAEIEÝQ(W;(z4H}dXZ{I! C_U"V2WWYG2^}TGClΈ/rr///ƴz/H\y{r8BnSAWʬJ)~&ZfYQ@(w@{}TC^^Y>ү>㓘SfϷϒdC{QQSG?D{QD0@@G-*:  SB%/0frTclOT&AYw ? ˶jǿSԇGAEddYdd*}0~D"Ed~x{9Ǘ{\J{W?IEYȵPȓ>X{G9ڳgWW9AA!C))C9,g=IIۿS~)zvU w'$Hl+AS$U2zvUWeQx wD6=E^^YZWEIYW92\*fϿYWW=d?ؿv?vS~CvTb|bRB#lml7/88s)wr3TH}AUQWYdYgs )0zX QYPQFYYYd^,_P2fgWJ=6}2S)ڰ4n8OsXcKx0)gJ-)wJ-_[!dd-e خѫƟY_WE^YW.WWN{UY \2gFWPW[ vD^z} Ī1TRbos 8ɐu%TcǺnd WdY=u8#XnnvsurS C@{ddE-g=U2=&Y9="-> FG6W1po8b_iiM^YIi^Wj[Sd.g))v z4[n^gYYEU[2UY?Yе)EdGvn\Y{W{z\Zrl3 w swZ  |̷>_*suRrB;e%0 ȇ>^J9EEdA^Gg6JW6-_.IFC QQ}\)lne)j-&g̑Y6WgPQnTqrvː=dY ddQ9Ywg)Z~Jd", PP}eU϶\͊Īcml';T8l뭜Q)cxxssb7 e=DuRVxXJ2 n,SPQې{4+QP nVC\ u:P"EUgY.ewEW^ U2P 0)MjiMD쫷}jih`iJWGwŸ[ǂrC6^g-gY^d^DχnݣZ>YY^?~9}9. U2f6V [̢v>?)2-6w{.YYYSAQ==+ vɞ}h`Z-vZ --2&-d6*\4zł%w}őCWdAW?U<'~S}E[USdYWAYUGש {gʁwn;xȮ[~[nrl857lm nu1 ּoR8 lRsut33m3#X TeCI?9A.EdG9W>?Y);WQS_ĵzw{gYA?YEY9AW yw}G66Wfn(ZG^E&hjgIfe_ˎ]lvn^UJ}Yzwwѯ WE9Y.G{GzȱG0,w\8m7713HppT4֜l#1mm3s/NX#tmm˕l8unī{ۯWYE9y >>=W^d2D{ϓ>UJJCP> zgv"JEdQ Q=g&-6ηv-[d[^6Xc2u{}DGE.YdYAJ2dEUG+fzSzT/owlrTV)Volll8r 3pl|l1xPV*wux:Խ>>=0ȯؑ0WEAddIFvr ݿC*?QP U^=QSuvS~F}wE6^d.j?W^Adgg}U6_` bw#sK4J f*[EQQ=:4SWYx~+-W}_Jʶ}^dE0FvБz'nYvcr88륊͕s$1ήwy'Hu/oV$ZxT{^WSQ>U,;v+W9EY.JdAʬdd^A 'VwS*f@W,fU9¢ PP/"EA[E_YUdY 2dd22_Y{[2yVġ sJ[K=hAU?YQvŐDP=JW 9AY""Ȏnɇ(¶X8#1|Kr=Z)M n}0 'Q/nwz)@QSUYdYAJ9 YU2"AdWgMQ?QP^)C;xTz^zG0uSG}>ӟAFAQ@gdA2g6MG)fŸneH;6vwWY-dEJ^>Ed 0,>)eg\GXX|ͧ_1u/Z[@W=~ ;E}CWEA-dWUY2g[}Sd.EIddQdI9Qzw/@22"Y!2uv?ZNv(޵dWWJϸ ȝ}JW"[Z ,<[zZZn;e$nW6©he))u HB,>U[YYYEZ6%)0S9EEUUQ[ e~ϡwZZVTX& ѽC~% Q69Y29S|Q.dEWWWGdWEd>~˷f`VmRVVHKLZ[ L*[;g W>Y2AJEW"dYWʸ[~G=!=9?,vѽ(X00^ee EY9YY;w '% Sxgg`F4n [fET;vgZ.->S`` wȼ' }YW=U=Ĩx%^Y^^.2dSS}Ϣ$HZLiwe^)v͋p`&.\[ޝAYIϐYJY^2YʶJF2"=}{PZ/%n~zYP{?0QS~j\ǢQ6I?9v чwZ ,G>9w] D6.cjZhXM=J`$j`j^T{;+dd9א?muTZWZ{J"AEAW˶[WEEEEdGWbsllȭxNc )une6YYW,ʘfJ^WfM hjeZ$[j.hZF bx2([Z6MZG~E^˿CzSQYY^Y[<(]L]Lfj_\[gG$ P@U@ٮnP[nn^㏒hhZeZF2"c++[GQ0W SUJUEWEEEUdG2 0 5lwu:nrrV<08X[́WZWW- _hhKg+ Rbg`i^6VmC>%'&YY[)z=ZEYd"vx>ɝșMf,YZ %#-[&Lr[Z;e2C>WWIg}0P0e z-÷iM[WzX?W6=Nu}DEAAP\^2?dEEEEʸW"YIWID 583/n>ɇ]%bxn䣕[^MhY.J-M-.-_hXs$꽋n Zֽ>NI6622D*2uY^g{YEUQPyjhigd.YJ.h\n}ʫcIKh_MZ {u̸J[22?D0WY9GS)¯"2 US [ydJmF&[Z}=AE"EYWd9v v?y;y^Y{zV[ř ۝$ nNcɜ)Pz]}gYYd=^}j`p44(L]r 3sTwyTz'NX81\4nK_"WGnu^-J[wvAY{A"JzJJYi\3 4.6h4^=neIW2vLgYg$SUW^=}V u 4IY^SG{\hBBθ=EI+" _00I0 9v +[ZID;Fų/;|C)HpV55ׁ^E2W=[e,d^d[{fUY.6K1pp4X #cvCzcXV[_^Wn#@GdGFg?Dz;<6YY>FFC!w WYW)xeG^?;;2? "9CC?Cyz:0 +F{+?W,PN :> )$>^ED>E )n6[P  C~I,<*AE9  DFFG:R{09@0??F2229>):0I!YY>9YExU'M%n[e^{@+N@{EAE!00<E9?^GQ = ';?11|ls8 PEYd+$+ ^fj=U =vvD~vrswHz}x290N[-^";2^ Y?0*CEY2Cec9 C\: ):(<,<0W;&ji,"9JneCsig"2@,92d!+?(+ddG^IG ^D[ )*Y+29dEAdYDv6AC9B/;GpwJG(~N 6< WSYdE-YF,UTxN(W9IgG6F\T$+C)=E2 C22Q) )\RWEEGyW2;)_ZeGCH1\+"EEWF;E2W<NuDZ0Mgߑ ;),!2WEd,F(C+)0+G^ ;0Xc2?=DUV22_=!6JQ}$%0 >EAd62>d@@WE)(,4cc%%(,EE00W[*<\%(B)VR$2[6~v}2~e;nz29W0(nR CEEE2v@N A09E!}:'+GJddEWI<NPF^Gss2~Cvx[X=DdA=I@@W9E-;)"  (G2C D6? 0),+ +YxC9dEAd^( CS C4[Mf2"AdPQ^C9 $XC>EEAEA9@0ECNu\M N> S2$WC)C,0GF^e,*0}(wuUCv )CMi2EdIS0  :*9AA+Y&x)0 vA {):CCCP*FCC}e;F0v;Gd--GC}S2¶U\h==D^d?}?-<4i_0@CY^<*Y= F\:+ TN9 2~  FP'00^^Q;E @IG:b@xDP*0CvC{n}0< PCSJ?I,0CD0@v$%1'C0@)N;*  @ >*ZvG00+C0EvN GF,Y"W9"G^*[; | * CQ0;vF*+)NQ ? ?;@I(00n;%Ry;): 0FC;; /lTv C[?2*Y@ND,zHBh~{ vAUPFUW2QyH\T+Ne~C@Q@eQ=^9G^Q92=D XsM\dB \; +N{  bRBr 8nex0n+z6;NN!FCY>G0 c hCdW=PPGYI*=e4w'nzCx CG"J^v0 8Hpr N :;' r; x3 /'w   -}(xx rP^,FwS z2UFv,2vxXwzG RuV\xxV3u䇑IWAd2>)ccuCV (N{ (,U<0?U(;: T'? B$FmR3(vvNC>wzc*9UPzSP[G0:<{VT() 2)N': 0  Vb(N*N+ :[FF)DU;SDQYdI W?e0U9^):wuXev{9"YYIG2īrwx ;e xC8\~\nGU(f0xx<[;z0@N\ x+D;@*s0+@z)mN;9,X\:\9hJ??A I+vvWennw킫y}g!<^U9-,ST )%c:;:;Gu));^+Fc{vCV@~ 'y0ZDG6,/rrHB::1m%%%pz˩D1|[,%v U>+)DWWİxCxsuV0SI=,~C^92 'b ;f}1RVp''x{0F,)* ( 'm(x{C2Qw'VB$:V8m8l3{C^FFZeC$C4H}v0@x@ zF>v zw{nbxV*g9D:Nrw{vC00YP?'xG}FeDu/N}wFINv@eu@wVuxzVUB@+ V~[<[~2Cv B ); ћy NNyzf2e2_nw r xVec@bsx(e@D9WDUC:zPUxz * znIJbmmswms:0F{::uw(0$D,Dx / T)@C> I6^!ge; : svg*D:)Q'~D(;F;  N0[=I^@sR 0S~e2RVBxe H]r@DXV,D%4[//C<=G_c:' ;+ zQGN 2=d6\ wGzRV2FP{c Dd=C}*ew(V y$N$w>{Gc@yR/|8y)u*@ <*FvP^@NgfgZ^C; @b )nc ܰ{SFG\=2d,.i+ xbucy4n(r Ğw8'V2I?z9^ |Rb3bx/r#mbyGG x:K+{DzeVV)+@ CZV4>FYW~{@;{eu;(7rHu,@Fnl7m%e)TBm }o{ZVGĂh%;|7nslH\#7lB3qtmBVn#R7 s| ~v{;0vz;Zzn::R r C?GGԨuuz2Brꜟl uV\np'VHBrTu'H$T7BBX|8s{ZneB8TR'ru' CeGv)zzV~)yxxxww/}ZnGZ3rlXVzYY^U2~u}}rXcyVbsHe3ryei_VB3csBm7/ s#VTL$|uKB/8R:'; yR:F{Nvz~QVx bby=[gKm#|nCJ^IFnnTBb1x bw\1$'TpoFXz:|{w 3m3\ 3m%'/y)}cyw${u r\fCDUv DZ*^%Z;),Cur8'nSZ,rHu#=*9}0<őx ' +%)b//Tzx{} GWn#r'R40b/y@C ~4\\[G2G6[_=(c[M^\4eLruuwIfe=D7VrV:V|m|Xb3/X$yn-^ (DFCznxSv(?SQJG푰@[$n GWf[cV*\d_2z()ex)|eT0x:uBtrsVX+*N3mR/RsVTXw ,rlN0< x{Y؇(0PS A9>c{~eGy~V}Z2?@QP,"92}JE9GQ!6[ (u:)nnHsZch|R]H3|wDzD>u xyqO/uucY>AE9^'N;Dwv{2wDuz' DJ%nnnXCdY2JWY^YU9EEdYGfD snF $ooGgh`$7sw$40Vy xVPvoR8RTO577|T3Xe2g~{@ ԟ xNN F~9dW9Tsrx{HX^9gDeW^}=D*(lrQ@ Bll\__&hHli[x VeCf+brcOlbrRXyN bXf!JWU PP@ d[^zUYx^dYExsb wwBwd~G=G9G/Ve~}emR|Zn`hi_z:@*(ws:~s83b zffG[Kx x짴{;zF~FWIz\fW~fywCRV|luGFGZ-Y=GG~/sxwC}xwBsws2IZMij2jw)/@SI=~4g+ T rbl8b8x{2^6"JEY? S GAd{+SUY9yuħ'w/Bm쥖VV{Q9U9^D2fgIW2DV}x^Wml{^gjhfN /uGB'}+e6h)'b T3HvnnH{*[ 9UyFWddWI=*C~\pbVΖegG=x;!6=e[;Av x2gÃ2cVXb;G.=;$5tlmeDn\uN\)0CrV_[~x/u 0n8Rl'Z ~9Y=}~0{&IddA^AEdGC)~;@2QIF0_gCD*X'ũccN;¡\2W9WxU~zvG~GI}ySv\v//blRRnvD9Ye+eUWS0CC?FDznGP g^x~GP2CC*,x)x'wnB B|sw);vw v?UUE99F*{**I\z[eU9zW zD3mbsVy/X9JU2Gxxu) P:/x 9PSFAIAd,=IG CPGDc0Zs;I^;^=0wv{2ff),Z{Z\_,T;@9U\TVIGGJAU*|VHpfz= zwKKIe[DIf2Uf,2e;('X;F{G  v?CZwN{I^ʫx y FSDw ,[~[KV)Xn24KK`6zeh6Xn) ;N If< xz\:Fn9^gG}[K[)xBiM[\~ g0~=\U=JJ+FGUf2V1g}y)2C@WGv@Nz{F[~v;*fy GEEEYY0uVr ; cfcf^_&i[nVXn4s 2-,DJ~J9SSDfeGY~)KL`g[X\F,>fz wNIfeg2UWA??>Y??GAEACYz rRwxw~+z^WI!^ij6!={: v;<GYIg{ ^WJ~W2z}u<$64=yzwNU+DUNcN gIc+ZT{WU9IS? }+W{x: xs$s/~P<\~fUIHL$H xRu DNV$cngG*#@@?dCCzX=G00,UWN d{0@)092@)9WQV\egZz+; +0dD:*2W,C :? '(X{+(Q}\y)+{N (CCQ2Ed9v^0CQ 0xC;9SQ2}z*)  C2I>9Y,{@F0?2?C2A9ID@ v@)[_d9:CWEEA!;@C\0v+Ge*C{JQDP}N( I+F&,v9<W 0:(C9Q Cn[x()zI 9!9QCQ{?2I?-DD[(;+ Q=Z0(C)v?0YG,@s:0CC0}DD?CC{Z'@C)  0r [\D,0?YC @N,EEvz;)0G+0D,DF2eC(TCCV{'(,=GGC?0<C*IG F;; CG:{{YC4Vr b(*DD{ 0=IG}C(n0{;IW9d))R@Nx9P0(=yyG:N^YU)@x)<xC+V *4CD{W,P(z :G{PxD{n:TydYQXsyNv @ v)w: ;'BwnPyzGz0Y=?CFIz V{”^^9^s:n(D (~;2<z; N+<: u;R:eC)yRe4GSSDDzyVuxPGFW9 D+ u0~<*N0Tx:e(ux('0BBuc+VRVzz};0eFDDFGFQ z:)Tsb(w+;x}*Vu(s 0:HmTmm7'C<~w)KceI+0CN;{z{G^D/ }b 'vCD0cz Py:Hx rsv:}<}::Ze~D@@zg=gwwN+;@ Cv{FC;v ySXuRss0n;'R w}ZCN @+CxF2^=e Cz*'Fz: fQ{w@z}GC?S=BZ+sx ZZ}I<:zZHun}< BumBryB#|R'cCFr ,zwGz2NevNsw ZN=ef6Gz;:BTX{)fb''xc:/Bw{'wu :GQFF~Fee{0V\*xDU^~^F-6y@0XXwc4Ts1| xzesB VlBuTzANxz}DGcu)nXS~IU^GzBD@|mVg&`BZc z~Xr'873wuc^ NGD}Wcfzu Nyuf=W//{{TVW99~f2Tp\Vn*I6^"WD+G =G6zTTw\)fD'y;exZHz}fFvwT/rrx'XzU9=N yNuCNQ2I2F{c/TzGF@veDGF}~zfwb8BTws8 :R|\@:CQ9G I{9 UC0ie2gfenx~GGC{CQYS{}}rBXwB wXwQSPGA^W x <F@ WGAGgNwe\GCD^IGWWPveTHn;wfzISU^IFz;FGNC@xxFD[[Z\e\h[0\hn}F2}G \{<e}4zDeF U@W? AY 8 {Ngff=M[)'\[xx=fUF=fG[zxfGCDPx*g<}9W9QPWSCܽTwF;neUIg +Nu: @yeIz@@.#@:<0N)0C2<6?Uz)=@^^G{f(2A,C(2?e~:C?AC*(x)y{@Y002C GWP{I2vv(0,@ )<@@GDxvDCDC:x+((*GvWDzF0)9\ ;C* 'N;ID(*@,0nC{(xC(NC  F>@F{:Vz^{u(@wr]Ql']V],(]Qlla/!Hx, l ` x&  _ x,  tx,  x,  kx,   Y x,  ]zpSxlIkx,]zpp]z,V.FlL]il' Y @ b9Y&z2H5Y&-w*- p!"  c9~[0pp!6~- ?"n_w.t~*.t~p!~"  d9]b;3>-(0w*-(9"  e9J 46-o$22::$o$ MII| l333?=-'- '-(-(-'b::$-'-' F9nf9.[5 |`+p`+kh// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // NoammoDpistol : Simply a dispersion pistol that doesn't use ammo. // =============================================================== class NoammoDpistol expands OLDpistol; function Fire( float Value ) { GotoState('NormalFire'); bPointing=True; bCanClientFire = true; ClientFire(Value); if ( bRapidFire || (FiringSpeed > 0) ) Pawn(Owner).PlayRecoil(FiringSpeed); ProjectileFire(ProjectileClass, ProjectileSpeed, bWarnTarget); } function Projectile ProjectileFire(class ProjClass, float ProjSpeed, bool bWarn) { local Vector Start, X,Y,Z; local DispersionAmmo da; local float Mult; Owner.MakeNoise(Pawn(Owner).SoundDampening); if (Amp!=None) Mult = Amp.UseCharge(80); else Mult=1.0; GetAxes(Pawn(owner).ViewRotation,X,Y,Z); Start = Owner.Location + CalcDrawOffset() + FireOffset.X * X + FireOffset.Y * Y + FireOffset.Z * Z; AdjustedAim = pawn(owner).AdjustAim(ProjSpeed, Start, AimError, True, (3.5*FRand()-1=4)) da = Spawn(class'olweapons.OSDAmmo5',,, Start,AdjustedAim); } if ( (da != None) && (Mult>1.0) ) da.InitSplash(Mult); } state AltFiring { ignores AltFire, animend; function Tick( float DeltaTime ) { if ( Level.NetMode == NM_StandAlone || (Level.Netmode == NM_listenserver&&playerpawn(owner)!=none&&playerpawn(owner).player.isa('viewport'))) //don't let this happen in netgames.... (that is called by clientaltfire) { PlayerViewOffset.X = WeaponPos.X + FRand()*ChargeSize*7; PlayerViewOffset.Y = WeaponPos.Y + FRand()*ChargeSize*7; PlayerViewOffset.Z = WeaponPos.Z + FRand()*ChargeSize*7; } ChargeSize += DeltaTime; if( (pawn(Owner).bAltFire==0)) GoToState('ShootLoad'); } Begin: //Owner.Playsound(Misc1Sound,SLOT_Misc, Pawn(Owner).SoundDampening*4.0); Sleep(2.0 + 0.6 * PowerLevel); GoToState('ShootLoad'); } //to avoid ammo type checking: function float RateSelf( out int bUseAltMode ) { local float rating; if ( Amp != None ) rating = 6 * AIRating; else rating = AIRating; if ( Pawn(Owner).Enemy == None ) { bUseAltMode = 0; return rating * (PowerLevel + 1); } bUseAltMode = int( FRand() < 0.3 ); // splash damage should be used if we are higher than the target, but definitely not if we're lower... if (( Owner.Location.Z > Pawn(owner).Enemy.Location.Z + 120 )) bUseAltMode = 1; else if ( Pawn(owner).Enemy.Location.Z > Owner.Location.Z + 120 ) bUseAltMode = 0; if (powerlevel>2) //always use primary if the power is high... bUseAltMode = 0; return rating * (PowerLevel + 1); } function bool HandlePickupQuery( inventory Item ) { if ( Item.IsA('osDispersionPowerup') || (String(Item.Class)~="oldskool.osweaponpowerup") ) { Pawn(Owner).ClientMessage(Item.PickupMessage, 'Pickup'); Item.PlaySound (PickupSound); if ( PowerLevel<4 ) { ShakeVert = Default.ShakeVert + PowerLevel; PowerUpSound = Item.ActivateSound; if ( Pawn(Owner).Weapon == self ) { PowerLevel++; GotoState('PowerUp'); if ( (Level.NetMode != NM_Standalone) && Owner.IsA('PlayerPawn') && (ViewPort(PlayerPawn(Owner).Player) == None) ) // playerpawn(owner).ClientWeaponEvent('PowerUp'); DoPowerUp(powerlevel); } else if ( (Pawn(Owner).Weapon != Self) && !Pawn(Owner).bNeverSwitchOnPickup ) { Pawn(Owner).Weapon.PutDown(); Pawn(Owner).PendingWeapon = self; GotoState('PowerUp', 'Waiting'); } else PowerLevel++; } Item.SetRespawn(); return true; } else return Super(TournamentWeapon).HandlePickupQuery(Item); } simulated function PlayFiring() { PlayOwnedSound(AltFireSound, SLOT_None, 1.8*Pawn(Owner).SoundDampening,,,1.2); if ( PlayerPawn(Owner) != None ) PlayerPawn(Owner).ShakeView(ShakeTime, ShakeMag, ShakeVert); if (PowerLevel==0) PlayAnim('Shoot1',0.4,0.2); else if (PowerLevel==1) PlayAnim('Shoot2',0.3,0.2); else if (PowerLevel==2) PlayAnim('Shoot3',0.2, 0.2); else if (PowerLevel==3) PlayAnim('Shoot4',0.1,0.2); else if (PowerLevel==4) PlayAnim('Shoot5',0.1,0.2); } state ClientAltFiring //client-side animations..... { simulated function Tick(float DeltaTime) { global.tick(deltatime); if ( bBurst ) //don't run!!!! return; PlayerViewOffset.X = WeaponPos.X + FRand()*ChargeSize*7; //allow offsets to change.... PlayerViewOffset.Y = WeaponPos.Y + FRand()*ChargeSize*7; PlayerViewOffset.Z = WeaponPos.Z + FRand()*ChargeSize*7; ChargeSize += DeltaTime; if ( !bCanClientFire || (Pawn(Owner) == None) ) GotoState(''); else if ( Pawn(Owner).bAltFire == 0 || chargesize >=(2.0 + 0.6 * PowerLevel)) { Playshootload(); bburst=true; PlayerviewOffset=weaponpos; } } } simulated state Clientpowerup //client-side anims..... { simulated function bool ClientFire(float Value) { bForceFire = bForceFire || ( bCanClientFire && (Pawn(Owner) != None) ); return bForceFire; } simulated function bool ClientAltFire(float Value) { bForceAltFire = bForceAltFire || ( bCanClientFire && (Pawn(Owner) != None) ); return bForceAltFire; } simulated function AnimEnd() { if ( bCanClientFire && (PlayerPawn(Owner) != None) ) { if ( bForceFire || (Pawn(Owner).bFire != 0) ) { Global.ClientFire(0); return; } else if ( bForceAltFire || (Pawn(Owner).bAltFire != 0) ) { Global.ClientAltFire(0); return; } } GotoState(''); Global.AnimEnd(); } } state PowerUp { ignores fire, altfire, clientfire, clientaltfire; Begin: if (PowerLevel<5) { PlayPowerUp(); bcanclientfire=true; FinishAnim(); if ( bChangeWeapon ) GotoState('DownWeapon'); else Finish(); } Waiting: } `,F s.L `$**ys.W-d+$ u aua/!2ua!u.u-l (N!u 6u u u N! t l9  " " ""*-}*"x0 Q%@P#% 6>JAu.\u^[cO33JA|S%&2wJc[[O(#JAUA&>^Ruu?cOO>c?36WTzxvU%1#DSwuNOON1g6?cWWeTHLuz~A1&BTT913311didB&%%.jʬ4AT{\tHJJ1׮H1%&A4ɠ2&!CD\P9uץژHHA5242XeĵC2&&+\P@t˥oL&˰wZDBB57ɏe2& Pל0-9ĠyeD5h&- )`/likT! .+Q'1%Bj{ky4$wu ->p%-4&Blakl"%1$w* '6?&#6DQT+!$"K! /%V^-'-(-*.9 ..))֗27 oWJAqc6--"*.$ ;Sחy5WX>6>>O3O3#7, $;+wֵ`" C66?663((2Ml\: )RɹT&%%#$G6>[?>O3 K:PU+ .% P֣=16_^c[O( Akz\ůl . PP|{#Wii|i6 1ʛهkk; ܯMzyH')xzzyB\8GQ :j~UʛHRH. MhH.Aw9\G :waS.1BHL%:Py2BHTK210..A jPڶS..ČL'ǵdJXH\U44& tSX6%..&%$. uרutg/=t/'1J#%AC&%-1$ SX6%1!QR˾ٷ/1/0ѭג÷tNf %4& .RTD^V $!00"TjRSw׵۞ /'0 t8ɰɺV&610(3W%B&%$wc2\ Q6#!2Kx)RR۵gĜLLttwwʆw>6('- (3Jַ!?2Ta_2SSxyw)utP;\ҥͥo98ae**Kó:R6'3O3-1J6N&ز>2"ZvzlGSz{w Q;. $ѩİ˥o-9ۼaS *Dɵdz~`B# (>ccqV]63#õu644DkzkGS`.S*$t00o'EkMB!BDffiZZ_>- 4^d]>3N &1);UTQ j\:$. ``)Ptt$H9t oo'M_262KM{)&2Z~~_CpH*f]X]6>"&%% +SS):P9 \;% uu16#d@@ / 01E=Z_7??5U{x1#4iէ`ɢeeX_D2##$UMK! PPu;j .)uuwJO31%9@%JOE={hUUDD?777hvZ5DKZvxh~~~ؽC53#% KZD$:j&\QQ)*BRuue?>-'L$oL 0pOF=f~__KK577[[Z~ßva{xyM~էyfhfeɤ~2#%.+K4 U,"$Q.R`CRuAW&//0$''/0ˡp]1oHf~_[77^_Z__Z~ƙfi~_f.4%$."B+a"$jM"!0RRuu.L %0/'(-/*GuwwB5Z~|5?>DU|zkßCeeKZviTܞVu SK,Uj jU!!ut$u!%/ -v񷾗^_KU+4C{غA!HJ2_~~iʷ@ٙ|MC`kܷRRwA/0%Lt§Χi|l`Th|؛úחA%%#6>[~^XZ~ʷP|D). x:.R. LĮڰбttìkkؒvV116>?7^&1>?Zٷ³9$:;zuuİ˲ԛpHüûQyT``lçѣfW625iWH1#(C~avѱΟeutB`yٟvфCedefR.">3-2~~ʹzuAĺƒlhx0'`k󯛧ѡxBAuyURwh2??[Z~w@է!&4A:eAJO?J0ٽʝ.eCSQUMhSjRDZ~Z_Zvv~Z؟!&4ButHqp3-¯ٟٯkRThihUZ_CVp\B_~Z777^i~vz֞\RwR&!%1!uu.HW^XL' k`;DD^MMZ^4V47[7&&224{vvԳɣu\\S**!%1.:$LWiiB///¬zGSBDCC|KK5D277C.6>4SԧyR ;S*!&4A:P$ .fx%!%꯼lTUDllaiK_|XXBd\675WǧvÐԉ|__U;;;R!"CRu.x󓆘u0 =Ƽl||UMZ_iqu AC24\zv|hi__ZZ~zԟuw9$dr[ZZKBA);).!+dyyyЅ׌0üƒ|ihaz.)*B.ݯ܉~_Z[_[~~~ܞ \)V2c[_D&!!B)RRTXX|H1-ìiH))Rxºzէ~ZZ[[Z~~ά\\RSB6?7^6%4C*..wɒjHJ3>i|qVHuud>cýƟHCBBCUv~~~[Z~ƒfUf^c^5>64,,"uyB1-2rX66JHL.W_^бv445,D__zܞէZ77KΔeKi_[ih^7KU+4#1LJTJ#3WB&111%L:tdWؽX57_UUiUʐ×|i""2KhwբR{{|_^X5KUj)!#4ulS%->4./00L:9$H./nӱw5_~Z{˒: Mv725777^_cԝSxyi?66DGQ.2,jʛyRL0-6WH0%LLLLLLVgб7[ZŹɢvu` .T~Z_[[?7[[_eۼΧywRW2-#2TjR)*;Q.Tzy„SH%%WfSuL'-001AL$V=rW7_Ļvk.L\z\: ~[[c7[[^AvKeHAJ1&CUyjQQuQu.BKlSqeÒyTTAAxܗL  1A.L~V==rn_fSɚ~C!1~Pz~Z_ZZZ_̻ۺZDSBX&HTKkGGG)%%&DDfi^VAlk{UUxRw$$ux0'rPXd~M!%-%Qµ~M~vDCfKC..xl``kzk*%12^^__C&J>?5U~RuuL0@t~|L'O~пv,1нݼ~vvzجzUUTUywujj;lTB1&577_iT1O>5~H.LˌHL @ZKW&-1Jc~B!%4&۬~Zvz؛v{UT;RuxxT"26#4^7XhyR%'35ax%/oˌtt~hZZi^5^_бpdeTSւayvvغl|yx\\ַB2>>6D_7Wwj.L3CjS%//oﰣ~اvv~~ڮuzk{zj;`GzϱֵČ&666VCi_CRu\'&)\QHLװ~zvٔy~hDHvvνalkZ~@exQQٸvɦĭ%11&HRSDTwuLAR.RH0ˣ[m4Z؛zv~|TaMUKC&Cԓz`T@Q`I|žɦu.%1&u\wy!%%%*+ wjH4H̳~61KzazhZ~v~ZKTCZ~vMK~і`vlSBJXfe4Z̾wۿC"&!!4A)u..ѱ[>Zv~~vj`IvvΧбѭSzk``#-6~ԟֵŻ̒TD"%&!Q˝?(ZvZav~: k<. T~~ԱӤz 7RB4%!j6F>vvai~ ;`Բвԧz2?kQ)&%Bkǔh1(5M|Mhzۑݯşʧԧw75& ?;*!!!&dxHHHAL'*;\if񽂬د "5%&L%7ԉvzlT`+TTRH0ֳo+\RfֿzZazzzݬղúŧ!2#&2..$.UYvkzvkk``B1qtyuvvvzkzгԧ&11>P@uwwwRΧaaKCUzakjR&-(Ng~u̱vz|ղv|Qz61 '62P@9waaU"B` H#3(3cnii__P16ɨɦPϺM~6-&ARùPPşzUB*A*U{ٵ A1c~Z^>>JJ>>dTl`$ CòԲS*Z#6?>4BR\@־utYC+zT&&&&DMaܐ46?c?10J42"H. &Bzؽ\+ZP{{42"2eReSuPzTЛzԧ5KKzzaT26##5_ٯM5#-CC2Au$$% -%: aB|DBAQuSx9ج{h{{ýC|ɤŸj)*DKZa`+5?>65_zzaaM4EUC.%%  f_ZK9\z),aTAASSSww9٬ý{KK||ʼv|K522wzuQ.)+Ka`\.2?>>5Dlka_#uV& !7ZUASɽδPQzlz|SR*BWCi|iʼ~{572TQ.Qxܟ\.wRTk`Q &2?77D+TCB27-36!% 1‰BH2hzP`zR*))BURɽz؂{|ü+2__R))+xݟvvaG`j .A+DK775"%6?- ?ѨCR!2{ɓ~H2_ПawTURATURzzгaD4K~~󂬯).*TQGQէGlk`;*R)SCZZ53>#Z϶yfKxz{{iuk܏vKKKTTUUϿ̂zzaCB,Mu`vԉk```T;uw~vZ26>&5W~SKTRQxZzv `aθvZiUUKݻů{ʼl+,,{Ͼ܏۟`j`粲v~Z~tS{{AR{z̅Οz<δvYZ5,KMzɾʼa{UiʼzlUKaaʹvQjгvէ.DlŚi57DUZ~vIYI&+|~z|мzKD55iyiaÉ󻽳~Ƭճ^U\a|Z7?27Z|̯KDD7_~vvvI<.TMz½wR񯲔aC4##2_ʼ|~Ŕ~UxvƼZ~~~~ZZгc_DÛ{K4&65KǻeC2"4DvIIKMzAV\ʧMB'2_azMzaKZZZ~Z[ci?75T\&AH&55peDZɣ426Jv|X 9ʧ& >Zǚ~$*UQ9UIzKZ_5_Z[cc~322By9PRB*ujWTTq6>D‰ԧx\ʧvD#->ZzZ7>%)l{hR Tv|aIi?65^^i&4XtjPpS+k{h{Ż왅^hvռاa_>14Kz_>>>RB*k*4*MvK{_~I5^fT|4C2fɮq*ST`:.KK||Šüƺz7&!AMD25)DByQD_aTDД~~uRDiְX"2TT:9QɒUyʽſśKC!)Rz{eDRKC2^||y`ZԉGC^QΧвԲ..TMd6??2+\P:.SĹCC*Rja{{{&#?_||Mzlh\aγ.Th4>?>#. RɢiԧQSwtC-??CUvԼyvuSTU-3-1Lk\QyyMKzԉ\8\\@D&#>24iβRSyUKu'''gaQ;UTyaU{z\\@麓W6222vƽAS,K;:uoQ)UKS`wԉk|xR9zh57Zſԧ),US..dhT$BD,T՚.lM{T~|K~vK` ;) tB)$$L&5a|iԉCBTK~MMMՉ| :R)oH:LL 2_~~fhCTiZZ~ºMZ/ttu@:. B_~~vԲ{DDU{MZ~ԼQk{i__Z@@ )iiZ~~ԳeCUvvԼjaM_?7MЧH-/@@@$B___i_ԲTAVyvv{ZZ_2DMzΧԟu.!6-LAyݵQAt0J>^cchDԲ2AŖԉ|ZZDDZԳRTD&.)e{|;S$->>6>?2UqԳm4Bzԧ{{{v~vбԟKff$wSB) ۿt-##3O6#JԳ]!Gazv|z~ձԂq64&%L.ǔ$AB* TR.99%'1#16O3$ԳJR`էбzi{辻kK2#1uuؓ׌.* 1!. PW6522^?>0 :ԟݻuԧԉK7ixSU7?- 0&ut\dH.R<< ǻ\u:ϻtH1%9:ݙW5>?[Z_4$uԉ󯂺8اƉz|,2DkTTD7>( 01%H424)SYYYYΟ9ɓؾ H&!\uTD5?[~MDUԼّ˿QجʧƉklwؽvaD2Uaٺ+UCX552##-#6#1%>22Tw؉k+">>Kavǿİ:ARRww*D??[j)Sּˮ8.Azkl:\_hCCKk|hT*BC>??DfCC577?3--3?Tьy\$457Kkaġ\RuR\CCSS"5_KTQdƬľĵ !ټak9:zrHRTUKD,CC22>?75Cy{|Z[?( #2*\Qvуuuo2Zz9:u$+`ۿxl{aUݿ˖\H :).&24)A577D;ŸlTɗמݵ::%4zaU.\kԷpCD5C,K_^2X^ih{UiK"1 6DTUZrBLHp ..ˌQ;SaMkõɡH& \.%#4&+MKDBRwºvUeɰ)\:8ܵ8 .)U|էz|URQ΂nMMKM~~_D{{KfC*HA&6?ZZZ~Z_{эXA%Vt$R*۵ˡ.% MYaKD+$:&4CaZKSRRոθYKR Q;TMKu٬M~vakɐ`lvZK2BRѪX2&00%HPPۗRAB4KIIvIƸY΂!!kl Q;C5A:󯯬رۯαzzk|ll麉vvK"#&.ѫn526##JWyjUII7_KUyݽiZ~ZaKMvYYƴw%%&,M`$!w)!&͞ܬ̓`l|M||aʧէvZMKD>5+X2>?>>7_vKCD_M|TUz~|UTÂzzl "Kk &C%/ڏϻTKZ~vvvZKxx{|__a|^?7c?>5^KΟA*BfCܹj;)Af̾vlۏ8,k8:$2iu؟Śz|M~~~_K{KUz~Z_[[?>XX2WδɃw;+C*T{l\ذPPɢv; xklP$!Dl@Ϭ~~vZK_~~Z^X4&HVWÆi_[[7?5?2>?O.D_|KxŔPʉ `݂GQ9P: )Pܵœ{xuu`ZZ__XJ>[~[526#%%!d^D22>OOOOtUZŞz )܇kQ. :\R$:ݏѯùˢ{TBDD`UvK#-#1#>_[?>3#11AdV#(FNg9 !<\ $)Ga )Tk1'#LUlzѿĢSUZ~vZ2-36JHHC_^>66J4WɣqJ''0%ڋ:$%%zڞP; `lz.$.;lMSW#6Ay軷1+z˹{k|Zvv~~~7>>>?DR.SUfep4WCf^W%L%uRYa9:4ƟGlݟ :.;AH-6.6?W` &kѿv~ZZ~~~ZZ~~~_5TUjlUyuHBefH.u]oHehXUeɰ):\ .)DaƬƼݟ::wq%- P WchTj.! &lźÉvK257755_~~ZKBQlThi|x\uBBxHL0o=1dW^_?]Ru;CM|ǻܯٯ]%$9 &^hTj)%#,k\˨aէէUA422&147ZZ7CQ8قCBX_~{RBXXe.uLLVde^c?d߭! w*CKS uVƴΟПTV%12XT\&#T*>7_Mkk||yvϠB2??#!57_7"jT467~M{i^^Dd.uttHJJˌ0w )B".$%4Լݼίv`;yH$%&..%->DT\$42,`K_ZZMa~Zi|Zve2?75!\RC5?52BjۑDX5iM|^2X5B.u ..׏$,. &DA.%#>ï;QTw)*..%12Klx*CKQlKZZMMZZZ~էܬ8\BCC+A.\;C22"B8_75DKiCd4X4H)ˡH)SRxx\&w9$DZx9#352kvz: x*)%xM )+݂MZMMazZ~vzǗ)*AH) w̡wTC4"lk_7ii|TxTfWAHw˨e.$ Ru@P$!Ki@$##5D麺Kvv ܘ*%&,kzMMK_Z~avʛy`S!))AeTBTٺ؆__i{ChhѭP ݾ\$P@:)*9$%%&"֬a~z8\;G&#5MzZZKDDM~~ۏݼaMKCB4CAHwwfSy؛|hUWXiˌ@%S$ 9 w :ġ$.1&.kƻkv89 waB%37ZZZZ52KM`8v8ܬZ_DCD54&AwyzŊ42Cۏ: .!S$o|ɿRD44"){z:$S. T{y&>?77_~7KZZz :ʷkaakki_522BuhѨ?7| ; ѦTh425Byv #6%: 8TU"##6>>557_7Kazk\ Qzç|Z~[75Bˡ^[[qm[[\R۹@ Ϧx**6?R2?2=Pa.S$. U7"#5??77iK_MaauzuQzžiZZ[5RѫWcci֮@t72116$9$X_hToH%ʧՉ) j +,!#3665_|UKajwH%%AZvĿ_[?ӫѫ]OO6hPѣB400!$ V^hy; '&"#4ƴ̧v‰vS 67DR. $9 +$&2MUB)*`٬Q!#%!ivϡRS7ϪO3(E-Ji:ѭu!12XT\&#!"UTA>7?δǻ迬ƂzG)&!K,w.!*+jK26>>4D_5!"ݹܬ;&- KRAn?33FE->“˭Ѩu$%&..%-6DT\$42CKSK7ɾ׻vv``,B:;;&2akT+,2,K7>1-&;ڵ*4#%0%U|'h||>3(((N>cLLVR. A..%16Ky!CD8Aƴ۟žىQSj\P\w$"lkj;lkk,&#-%ܮSCCB&*U?>|hA'3>P SɿRA..SM) *w۾{|׏ܟžvR\P`. *,{UMKjQa*%##%.kݯTC2ClhZ3>|{%-XXu9 `ٷ֏B{k*%1B{a|i{θƼvv`wRQQ) ##iKKUG`*2&.R`426CD_7^5(>J-1ef: +֏\&#>ZZD2T¼zƟƬܑzl!%:)&%2T_7CTKMkzzUjj`ܺϦf>>>?7_[??i^>Oyݶ@@ kʬïl@9ld037ZZMZ52KδقƸk+! !:P9.C&42UDDCKKBGkzzjQxѪ^??7__i7>333>Xu@A.SUaaP@P9~f>?77_~7KZYG+1 1\99\K,&2ŶZCB"&"UBXfT^i^7_ihhX{1  E(FmXx#1UT{P: TU"##63>>57_7KCY΂Q%-4*.\\K,)*4ʬ`R*!4,l{zkyW2^7D\hKTXi|h|2-(FF(J 6KT;: ,7##>??777D7iD %#3"CCU`wy,+&&d|~+;`TDD__^C2X_[^\Ϻ.1'(3(N(>A). ,%#3665_{TDhkkG+"6#2"+T|URjSD61%kvSD2?[[i7i[_KغH0-10O[2ۗ)).:9.. $&"_C*Aw++275!!SQ8xjRRRi5&*K̿؈SC23cZ~ZD^^^̛ŽyWJ66x8 /-6[$$%!BRK26>>&C_5!4%#75&BQQxxw24)`a~ܼţB2>>7Z~Hώ{{^06a{BBC6&7>1-#25D{u\uuÐٟB2?5i_~ϦUR.ݓ &Tk\uAC&#-u$1SUzƼyu֬٬ˠ&"CfӲkRA)B.%##%%uݟk˖ĿʺxC2BpK*!67~~:06&u:\ݼkʼeTUDWP))&>?__CwukܼڗѪٯeSW2VCC2465ԔѱԟɨRC45^|kaţ˰AC4Df^_8kӔz;uuX2"4?_iwP۬ΧvU;;yye52&47[_:ڞPΛӱΧ|UT,UK|UU*!4__7CٴzƼf+,DUUT`Q.4^DB*ukԼ“)TKKTwuu*R .C¼ǘ\Ƽ¬w{˰:Q: +CB~avɇ֏Ή~y. jD57KCvvvvɿϢ{{SuRUi7[_Ky14* 8:.4!YzKɻդ>4!~i6cZ7DCCDKDfy52"&!",;:PP99.&%!ֺ~۶W21&2~5--B{%44&BDZ22&!*CMK;:PP9 )&  11ʬ˭JJ12ie؂K6 %{%A!.)ʼؓ4"*)GMKQ \\ R44 ԼjHSﶾd1-6252Dyɰ533-.%Hwv~|xH1&&B+,UywQ`lUTCC4#( ΧԟQ)!!1"TA0'JX,D7fu˭U46>6%uvvK)%#65DT`SRjl|KySSB##'%%AvίPԉ*&&&1-#2Uk.`݇KDwRB4HRTGCA,KS:P@̧vKS)!6?_KT``;Rj`Q\8)%FOF11Hg8M&##(-35ٻlUQ,_Kh`QB&aa;PPɆvalR !42C+``j8\P\QH/FOEHΟIYK!##((5lѭ8UZy\R1KalʬRR*QQ;x{y8\P8Q/'-E$ k)&1-((6Uk,wĵ񶑒9\.&ihܯֵֽl;j.`ɥH1''$k;)133"kG`췬:uR^KçپĿ;SR88ݶL0ot9ظԓj :.5XSl`Qj99$.JٺyfxԉˣjS;\8`kٶut|w:jZTTjQS*.\`8\.)DaVeB2WeəçDzјS) \+K5dQk8IaazfTj;+B*CQj;TMaْ>72467*9̒zvѿ\\ !"#.`uYIKkѦţxTCC,BUj ```,KS\QByS75&#?cAWϻ߰;*&#'!;QTwYYaKרe462C!%&,M`$.1x;B".$%45##>5KؽWXXŬƔ˰kzT***!%..wdSR\YYZŷS4#6;\."Dk $&D*.H%#28PP{&#{aٶ2>2]˗ݷzy*;).8SK{܏PIWJ**42j8 ++8:$D_+$%#35P@P֘Tkhh>666Jɒ񺺯vvK+QHou{aa8PvM?>2C BDG`+*P KMC:$##2,Pٷj\>6>>61.$$Hϛ뷺ԧجeQjGk|K`8ΟIZ3#6B$$!DUlT* 9P *+"&. %%&4w܇66#11!&2JӎvR`Ui_ZKT`IZ&#! *C,, . +*)H!))1&\111#655WѤ؟f7_ZZ_DDMԟ*!4)$ $)CD,.. `KUCBTl`,B46A%%42D52Ѥ־vƧD7__?2,TYƂ+AR. +KK`$$.ullUUUk{46>Hg'#2C+Qɿ{|zvjC2222;\<<+w\`;+kl:.j++25R2?]!+.14*Q ɦʛQQ !"5;Q<.G`CGܷɶK2!16 9$2_Xew$%G)..`jxuɨϾƬR +KUGYYԦ)GQjkk+400!$ &^hTR. &%'GS;kֿ;jlh^WLtvw j{|lΟαRQkݷ\ !1%6XS $1-%&C*%#llkkkly|֐{kkKi_5B..RzvjQzlaܻɰ .$%&..%6XS$ &44U\HXTUykk|UR;k˄|MM_ZZ74)!*H־z۵<Χ|_|azzƸQ`׹j A..06KyHB2yP:H¾j;A*ABU{KlQkѦiMM752B*RR־ןZKK TRA.LSM..HRw .)2^iMU`ϊhKUCDD,SdvΉƺ~KKYθ8 ֏BH'!y\ .*25hhDUúυ{UUKiKTzƉzΧ_MδθԴ֏ɖۿ1 6i|iiW#\Q R&42X>2CKϊhKMMG8yvvvvZ~v<ʯřˋ9yd (O[c^_61RR;QQ H11eC>>WXKѨuvΧv·9$B. TUЎ͖P9Zf 3O>?[>6w.*j)uoeVWff{|pgѨk׿էl #6%%&h@ Bf#((366>66zzAS`˭\ۇ}J&&110%œˈeedvԉ, 2|шeA .C5#3O3OO>6>XW‰ÒC`ѩˡlJ00A666]ϯdABC+Rԧ ?ˣd).$:."(--3cWAJW9A6˥ѣT$$%JJJBelTCCCU,xZMzԧR 672֠). P.%(-'-^V0/Ô~:uBHgwRѥA).twۮHdSlD57KKTK|aǯGa!K"%!SRD6-&?6'v~yTThkk6#%.A|lBSjܵټlUDDT`UK_ZZoʯk~{&L:*w$%6ay&AJ-%V>- ZZilkzv?>6100BUUkz~Z||KaayS*SCh_[[BRvΧZuw$ 4Tkt.A%1 yTJ4^v~Zv_cc[c6''-'&Zvv~_~vvKKi__[[_Ve7_^ßԧZu+ !Tki\xeL'15idD^d1#JOc>''-___Z[5WfZէvէvZZZ~Z75"577[[_Aů~ڗ -1h5XBd˰9/{L#6fAVA00-3O1-FO[[7>>6#%d̉է~542_??7[_z: &2ec5BAX_f^K0/='(Om$]J6?[[?1'-336w8vv527[7c_[_ԝP\+&&2CeX242>%%0=E-JVLL%J?c>006>6A\vz{M~Z[[[[ZZ~P\DC!&2_4!&01Ǻ11ooApLt L6?6% %H%H%vâ: U~vvZ_M~~vƟt\{T!4{ʯwL%01o0t%#31o9$%A{ڞ\9$ Kvv~M~θvTTB&1A{~uHo/%--HtoL%&^KP@zvuwSX#1%UvֵuPPL'1H˥%&&W^ٵvzYuuR^>1!U@%06VAԧγR2&.*|βu\.uZvΉBzaPʲ%@s6VHRs??BB#Cub]]1WrBA.܉y&BpHgH4X{"&QPLy|C54Rb0xl% R 61#4Tl!H+EH%X-(!$\)DW>>3#K .x+b6i?3 +z:U .9|=}|{1%uk\ẕ%.B)x{4%RRS laubJ&j&#$C&% w/0/Ҍġb(!X$)2;Rw0tbG|Seر\J-JNb>KTxlu `\ˡoba*CD-#^e63uJ&Gl;j x*btt'oo_>D{d4~kSWW٩Ҥ";U.P.`g31@0NKD7__vK{zf~̒҂m#.;K$ + 8)+W100/}-bW~i?hM_zȐhM~T̓j.BCa.T!o$%'H_TC؂!1>~i9|*Gܻ..oz`llҨ46?C13MdvʉeئGɈBwfR26_vؖҩgkerHEؑBUUKeRK~_ZZvg!goHX/'SDhMD572C *&!\tb.iB0/şUhK_i\C2vةonZT;)!Bj{Ý0ü|H*`vZ[~Y.*>i4!*.wB>qu6Ÿӫ4CK~_ehi^5,"!e-6WJ1LB^ZUuKZ25DԄy|>5`"ҩˆH-W0L$.g^izu; ~i_i۟vTA#4TS;RuUqؒSHy''1L1odD1RQZ~h̹YiTC)UG+%4hiBfD|xjw1c&Hݟ~z؝a,`w`lC#27hA3ido׌9_~MzzGzvd66h5RL'#R)LȠvnz|aaDgԓkr;YH1ARTH0!)R_b5_~|MzvvvҜxvzG#6"y"%&).Ҳ3svvM\8``v'~ʿ`*00`NTh؛麓zٚA&1b0~v`*Bd0%budvazǦҳçг%#4H.zzkaj&'ȔЩgǝγvG#-1p9اa+S`!ci^J2SBB̺;4XB)PYDk4#K݇66U].% _v z`Ua+Adw\hhвnmR+MQ5>^aM']% sBfvtkv**C||É27)juxzkj\4K7C!>'-yBfyi穩̧|DSUz؅ʲzCMҦGzlk`*RiZ#64n̪UŦR|ΧGzY_Ua٢{ʼ,KҺۼԉj`v~};i7DZaθ<*{xK22~ԟ~ʔ~7BA2fҪW2CMe\vD'-z|~q\zIʧaZ_c~2ytS}lXhz6#z7X!kf)v|MXh+rCT ){vԺM&d|2\DCxZUnvʱR{}>2RRxҧlSwǓ46^MԔUgT-1``ya|Ԕ\ҨC62vγgU ;*,xQvKTb؆K~T HH&||C|nZZYäa=@ _~CavGi7b܌AiinhA_ZDzƪ4%xS*ub6O2}Ʊ4U~av؟CVA;H9ȡ14W>bձTkҪՔǫM{l5- tuʧI<ש\H Rۻf5[Mgz󷤷8alIaDqD511&2BǺұې&5Kװ)wT+5_;8)ټ:^BUK,42?Dfi7-C\Дь̫o)`z7n}*B``;:&`bњv醉iv_2efҪ”_[?52s;{z$)G : 8=غ{CSyz>2J_761Hҩh43]btoȘ\ `S{H1}kѣlZvv_#>BAhW4C10Sao *`\A-tH^w'T܍˨v~7Z_Z~D`kThRAe%o0Bcn}pwDSxß%0$%Dj%6Kܦv4>&H7_SlWZUDXubt%p.bL%B!#ʉkSo!.5jAD;KZM~Z~՟Q22.wC548^5iCXAd.x)t9B{912zu S!laMMvʧ*!)e+Uن_|Cm%u 9)t%%AzQA-7ZMDZlz۬MC2AyXC{ە\xLf44y<vv;%!gU#6?7_Ma` vk^Cin_joхB6A^bG'S "6>7KM`.Hi_ѨOrѡ%%$%Dj%"!6ôv%2TH)u;C66KC%GA%Zgsm3EJ.!.2jA28C˺󝷬`) .%,l`UK#-!B&H-|#3nt$ݵwRUS!eh¯Oy$%%{kuPuh6?7_Kv*1\ DWB*CkyWh;Ѧh7|hUEJb#pR *46>7D^<<&6"UST"HzkTDi^5_e̠g-u.R"645+%V&5&`\jwD*Ze2?~hq̤fl81ibWkpp}C#-Cz8yu֬p2hѤS)o1HۯݢzTCѫ&>Zxҫ租qB]2ԳѲaq42nҍЫ٪vTT{U*5_jveUUHB*gҲyҭĺƟ) mmIvԤθ~yTH,7nC11+ $&'ƚYΔq&|22{0&!|ʺe4!KT::)1'ĀV15fk vT1#CTS`{TB#'ok!g#C%GKf}`+2HvU)45``Q8: 0EN'%ƯC#KĘ;K|;AaQѿúxTwxj\Q0-'LY`H-6U`˹ז\C{ʔx*8Guoty\CTT;Rj:.Xpq{ڤʢQ\"&;kYyT+!%TQ``Kjyq5#^q˶*&)SjI|44."G$4R%S9x#h|s6]ѭ󂂛ljHuKkY^WS*C;+K #,P`}61.Jѱ;k_jY5#.C, :)*H.%&j1&22w7Z5Dά*. +U.TUClC6g!4Qң;*2QIxQ+uC4B\5qb/`)`wov TUYΣSjw*%4C.g'lkkxl|i_2HAxΛ{R.H%#f.&C\HŐ )2|`hK2+AȣݷzvKY `jwAd.H\.!252Ѩ{KKw|vZIЬڐ iiJH;)H]eXf˭zY$&.Cі9U&'O?6zpjĭw{]&1}ςBBfhϭd "3>6WҪ̪\VdH\gBk2D,{Kԛb5%uu&1(1X/0~|lazr#%BkَUݬCSD_gvRLb1HJH-bS1i|M|>r?'>~iZvƉMZ_XX^_΁d yrXw'g2R0'J%Jc7##JM2i7_YΪ)1CX45g'1ALJ>%&HSZ~[Zb;*4UH0bb11oLL&ȥu~vθgT1BzuuPbooJ}B&TγαЫ%@@sҜ]>ewh4Xy&.b'VTl)6&\e'Hb^w;\1)ASHHQgE'NbooB+TuooDffi&6ҥ&*; jgt/ 'b^izg***ug00Vplk&^5җ}bҢTTCZgB1b¼UiACÔЕn;!u|HB~ZS^"!ҫ]5VAbi`K7c{WC*!d0'&xvTjl&XC6fuo Ҕҥ|lIJCHRbcO`Ҥv7!!ұ}؛ëҁ!b,alB'qyHf6Abs4`6m'fçGa*S|mxwK;2KD'eҲٟD{K|ҩ7q2Kz|#ÛkvqouWdҲƨ2^laiz_JSjWMի}H.Uʫ{MvWfzi~-Lodb06gyҁ~{1bMaؓuu2K`zUq56#-VҩHSzKKЁʉuj*M|UiMHirU{kҩz+..ނҚZi^^yj`QQ0т|K656p6NWn*lw1Lfg4v_5KKhepdwo.R&kpoBMZ~**eCjih]/RLRw&T*#7i`zKDh!.fogNʫ})+6D,k%]hRHT*`̽R\UkkC!x4s'W#Hl\#iKk 4yD,xx^^E(bR.*6Deq,4jTU{5irN'nbJNHX̭ehʓqmYvTUBqДΟRnrҢvB}%8.bq}Hxp4T)&'0҉g}1Dl#TTxQ\0-z#2}ȿ{uy҃;jzxT*jR+qf}ѣæSHyٟB*;!H&T&4ϩziU2,\+*&A`DZATjk;HHo'S{ŚKAMRAxAw HXrΧqe^̪ˠRgCv΁g.&JD|>1CKzKcH{d o-HJ61__Բu*4go}Y4hӱ@@%@}1fH6*Ho1V*whhrҨҀ*)o0XҨe|W҅fgWx|nқTBmCHH{DeHJ}rTNgШTkTi}h}e%̆}oySKjrhC2yG)0KhmoS|oer|CDlWoH}ӛV]KlUrRBhǝ.BUTyhE6}W}Tyr}ҩf}yJ)b؝Q1Kee̓kz*)&}qTIk!VwqұY|]#}JXUacWpbγ .%@Bg}gRb̊WgqUЍpn}pghsw}TWU}ҊNJpUd}dgm~%@q}qrU%%%@' t|(t|:t|Idl:\d3T\,u|Xv)dlG\c@T\6LT,Ky]Mv99fy(5)y!e}Tk wH4<m`\l4L\!UkxWfy8Vj)i)Ww \l\7U Tl4Ld,D\$}3$Lyw),\,$L$<4t4,d,  $T$4|4,l,4,t,$d$,|, $l$P$t$$|$mKuU#L-<_E 7,I4KhT4S>7% $=-1M[T  , \ke lHO*:,' O* @kI~\ w .K%K,s~@pKEYNAME SKKE~@pKEYBINDING s-{:E&#~KESPEECH 2 3 0E=&:E,#~KESPEECH 2 1 0E=,K,-{ :E,  f~-n' LI-; K.p9T N =WT aT T $T q!g T -(h o  m2I :"I a/!2.I I *.) ,?K![G'wM!*aM!$@!/a0 I I 10v!: N.q9t9I-r|*|* F B s9ksO??kk?Tr|*y ~r?%rk~r?%o rP* ?%P `k?%P bk-p:PT%-p'T:PT&N:PT&ZS*YZg+:PT& $.e $a*v!-(/a0 xZx 101 T)w9N [| ::$ w.*:.k%a:.k.v$G> C ?a|$L> Ca{$L> C x9EG?::$ w.*:.k%a:.k.v$G? aD ?a|$L? aDa{$L? aD v$=%#?,@$A$ p*u9Xv b wF *.F @wx *.x `wO *.O  m1wn020w)*), ?,,  N:R-(RwR*mKR bRj RmwR*Rq!A RRj w*q!A w>// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvCarWheel : This represents a "wheel" of the main car. // It handles much physics, but parent car "limits" // Note about collision: does not collide by itself! // GravAccel: used as collision tangent // =============================================================== class TvCarWheel expands TVVehicle; #exec MESH IMPORT MESH=TVWheel ANIVFILE=Car\wheel_a.3D DATAFILE=Car\wheel_d.3D #exec MESH ORIGIN MESH=TVWheel X=0 Y=0 Z=0 #exec MESH SEQUENCE MESH=TVWheel SEQ=All STARTFRAME=0 NUMFRAMES=1 #exec MESH SEQUENCE MESH=TVWheel SEQ=Still STARTFRAME=0 NUMFRAMES=1 #exec TEXTURE IMPORT NAME=TVWheelSkin FILE=Car\wheel_fertig.PCX GROUP=Skins FLAGS=2 #exec MESHMAP SCALE MESHMAP=TVWheel X=0.2 Y=0.2 Z=0.4 #exec MESHMAP SETTEXTURE MESHMAP=TVWheel NUM=0 TEXTURE=TVWheelSkin var TVDrivableCar Body; //is also owner. var byte Position; //position stored in vehicle array. var vector My2DOffset; //used for torque calculation. This wheels local offset with z=0. var vector RelativeAcceleration; //used for some stuff. var vector RotFriction; //frictional rot. var vector LinFriction; //frictional lin var vector ContactA; //contact accel var Quaternion NoTurnQ; //rotation without wheel turn factored in function PostBeginPlay(){ Body=TvDrivableCar(owner); } function GetAcceleration(){ //append accel to main car body. local float Accel; local vector Thrust; if (Base==none) return; ContactA = (-RelativeAcceleration dot NormalAccel) * NormalAccel /Body.TiresOnGround; LinFriction = vsize(ContactA) * GetMeiu() * GravAccel; Body.Acceleration += ContactA; ContactA = QVRotate(~Body.QRotation,ContactA)*mass; RotFriction = QVRotate(~Body.QRotation,LinFriction)*mass; Body.Torque += My2DOffset cross ContactA; RotFriction = My2DOffset cross RotFriction; Thrust=QGetAxis(NoTurnQ)*fmin(Body.EngineForce,vsize(LinFriction)); //this is feckign wrong Body.WheelThrust +=Thrust; Body.WheelTorque += (mass * thrust) cross My2DOffset; //rolling resistance: parrellel to this thingy. if (body.velocity dot body.velocity > 0) Body.Acceleration+=QVRotate(QRotation,Body.RollingResistance*vsize(ContactA)*vect(-1,0,0)); } //Check if contact with ground function CheckGroundForces(){ local vector hitlocation; local vector vel1, ar1; if (abs(Body.carvelocity.z)<=30) SetBase(GroundTrace(hitlocation,NormalAccel)); //get normal. else SetBase(none); if (Base==none) return; RelativeAcceleration = Body.Acceleration + (Body.RotationalVelocity cross (Body.RotationalVelocity cross My2DOffset)) + (Body.RotAcceleration cross My2DOffset); if (RelativeAcceleration dot NormalAccel > 0.01){ SetBase(none); return; } //calculate normal and frictional forces vel1 = Body.CarVelocity + (Body.RotationalVelocity cross My2DOffset); vel1 = QVRotate(Body.Qrotation,vel1); GravAccel = -Normal(vel1 - fmax(vel1 dot NormalAccel,0.01) * NormalAccel); //collision tangent. Body.TiresOnGround++; } //newvec must be normalized! function vector GetLinearFriction (vector NewVeloc){ if (Body.bBreaking) return LinFriction; else return LinFriction*sqrt(1-Square(NewVeloc dot QGetAxis(NoTurnQ))); //sin of angle between velocity and tires. } function vector GetRotationalFriction (vector CarRot){ if (Body.bBreaking) return RotFriction; else return RotFriction*(CarRot dot QGetAxis(NoTurnQ)); //sin of angle between perpendicular to car and tires. (cos of car and tire) } function TurnWheelBy (vector deltaVec){ if (Position>1) DeltaVec.Z=0; QRotation+=(QRotation*deltaVec)*0.5; DeltaVec.Y=0; NoTurnQ+=(NoTurnQ*deltaVec)*0.5; NoTurnQ=QNormal(NoTurnQ); QRotation=QNormal(QRotation); SetRotation(QuatToRot(QRotation)); } |zY+`Y+% E)B:zc&t wt *z.t wz*z-'z- 6z -N,N[ zN,,[ zNt t N%No starts found - Reverting to AllActors check!3/a0 zz-'`N,N[ z~~N,,[ zN10N,N,N% @%@N@l;E@H%lk%[ @&Q@NG@lHH@lk@[ @/a0 z~z-rzk10 GA:  " " ""*,)-*"~0 (&@녅녅녅녅wunnwjhfdw˯eld6nnllpkmB՚g{VwnjԛldomlijV m=FlӚcLhssw  åfœmcissshsilfw{unxԚdkiihƮppshhtewuZΓCD &eҭphjjjjihhhppp^p^^^^^Y nnwZěКBЛ}}xxxxΰppĦ^~nx~^ps``A`׻^phhhiispppppp[[^^[ЛYxxКxxxxě՛~||~xx}}tstssnpppps}YnuVn[ppp[psspihdhi׻gppepp[^^{ uuwww{{Vwwu{ꃃ郃mtttpvtYwsstttt}Znnsssssjld=epڹƺeeeƮfp|ʥu{{{瀀{{{{{{{ZZtssttttttttttt[ŸegQpڥڸƺppp_muZz{VwnwwwwwwnwwwwwwwwwwwwwwZnwwwppsȹƻƺp^Yjz~zyzYtɯiss~֙y畗xzy{bbi֙muokǢǨ֙mۨiϒmuojǨǨ֟Ӹ֒miTT\muӒikkk\k{mchXkUkofudmkkkk\aad ě՛u{{ Զkkkɢ۷ji\kkXUTkkkoeudXr]\k]kT\X⟟ܣ8l@aڤآǷrrkT۶kU]puBU]ŷk\k\aXT\XdBBЛě{ȥmvlUkTU۶]UUrrpx]]]]kڷ]\kk4{uJXdb@jgå٥֝ΣIII<ѸqrLkkkTU]ܣ]rrrq]]]]]kIr]  bljii?i@bmm;b wZYݛZZZZnněxÑԣIIIXIPպΥǔj]]]rPڤyrrys{]]Frrwn Ѥ۶ǵ<՛YBBԕxBxԚГekкȭԋror]WPьWs{Ќyfrrrr nn X֒֙`dě՚x;BԚԕxgbccdcghjiiiajihlijh ϙԌlljiag֋eppp`bwZolmmrygΕBdΕmmȭeaa`g>fQfffllehegegҺhheѥcϟXkkpuVwnwwwwVnZݛ՛ŕxZwZnu{kU ֒k]aϨӶǶ֟cϟcqnoccppppjeeiei{mmomwuҭgҮffQ=`åffffeҭe3w֟\enOZZYZYOZZxxZ}nqwuwwV{P PbXXΤXXd{wqdՓiggsimmmnҮhja"""cbbblccccccc¥íffgdť⢟TTIkZewOwVZYYZYY}Zkkqw{uww{npIfFFF٢ܢXǤdIwКΚomؼɯj{mmuii`l""КdddcbcccccccȥgƻeeXTXIUIUng{YZZZYZwnYxZհk՚w{uVw{wspsģ<>=PFۥԤԚԚuuxqommœd{oENă""cjiigfåihgeѹ耀ȹNJPFhniOYZYYYxYZVnxwչwuuuV{euLƎFmifbFwКԚnněěnnnVabcb"g٤ܥù=aaaiijhƮfa耀eҺsspQfwl{xnZYZZZZuuՍuԛuVVP{mvvmmvvvv==lJgegb==耀3ibcѥڥjljѭjhaչe[PiwVYYYOOZwusqnwuV{{xxxxxYnffmfJJeۣFabffuhQQ]]]kkk\\lb@```fgllws^idwZYOYOnuwwZ~Zծpnw{蛍{ggeAggegeƹѸbeggux|˽mmmmomc͓ʓvoabb" ddddddlligfbaja냏LKaouxwYYYZxnvYxZspxnuxiw{ngg?EBRRhgfȭœ?ggxvvv͓jlmmvlljjtttuԚdccbjjecbbcޛnZV{YuYOO~N|Zssnnx{{nChKmljKigghggƹEKhCsttllgjjhiglhheituhběКdΚ ΚdVunnwVZuZY}}}H}}Ztjwu{@lEu1wŕEl@郃ꄄׯbc0ěЛěěwn{nmnuZY}BOxnnmwVnxilj8jiii`gggguЕꄄn ěĚě՚՛ ěěaunmV{u{uuVVu{uoow{wo͈wxno녅000005ndКddddddddahai£㹚 nnnwwwwwwwnnwnwuXwЛq`cѥee=Fƣۣ㣷uuu{{{{退wܣXTTXXXXǢnu`ȤFFITljII墵XTⷧꄄ{{٤P={wcܵXkTǢXXXǷ````ågZccӥXܤϟkTI۷䨨IۢNJbbcba``aabai`alfǟk\ܤǢX۷ۣ.udabd5`fl˭k墢ۣx(u  /uuuunuѥeIٷ]Ƕ۷ۢǢ۷ۧ{w   .ccʓjierk۷ܷxZnݛZu{uwşϝajjjjj˓iihghaaۣܸܷx- ԓrϝړwZYnwހwnLϝ/׷ǢǨXgjdghܸx( k]z췱ܭqnwn{wqq|YYZu5wwtq֒֙Xwϟϒkfvmli`bܤܤx" 줌^^rrƻƻѾuwY\woषѺװ~~NmoqZfqkkǨkU۸ǯuuuuuudƣ֙dʓm٤ڤڸp"Үs_ذujuխQQo}urrrFϊ֙juuuuuuuuڵkXؓljlإڥڥx۷ ovuϐux녅녅녅ͰذoLlvqmomqom˼omuXTXUXլlgdBx|psxIV{{{uu{{{{{耀退nttsur녅nĚ՚dԚԛqB<К՛ěՀXXUII{e7fe>befee`1diij^plpZø¸¥bڷmocҸ`ѹ`-Y՚<КЛYYndjKitAi^pppmtcfeggaad`jijbjaja ܨjllsryvԕdqHҹaheebcehhi`hҺflqӻoo> 룵Ȣ֒Òqdheghhmmݮga""h?`ffƮҺ蛥񨈒\goYwYOеuwMâjF҉nolYomwicaahbggҺƺ䥶IFFiYZYZwYuVq}ׄj9٤hFnuuؓ٥ׯijhƮԭQqZYYw<V{lo~qNq}QegVtigffbbbclj`inxZYYuAog:>geڥhigtttljlljljitΕddccӕcoZwYwxH~Ďo;jYx;E8녅oě՛wݚuuněZnn݃xjМ{adll8ihg٥ۺwwuu{{նǟ\<ډFUXTwf¸Ú݅ʻˤXTk۷aڢX۶Ą&cdbbu¥ḨܷU۷إZw( -Ƹ٤ڷii򹤸ѣܤxmeuwl֙Ѕ⨵gigܷܸxףrWƹؿZf}ěA269&*-fjnVZ^RVZFJN6:>.27NRXFNZ>BInrzBFN26>vzZ^gJNWFJS:>G6:C&*3fjt^blVZdRV`~fj{%&.'Y[nz{^_rQRhVVYNNQFFI>>A669ZZb^^fVV^RRZNNVJJRFFN>>F"::BZZg66>rrRR_JJWBBN--6mmtt::G22>66C..:FFZ&&2  VUk~}ml{^]kedsVUcNM[FESBAJvt21:ebz|OLc-,2%$*?=J}{us|mkteclc^skfzsmTNc*&3^ZfVR^NJVFBN|u:6B\UkNF[{vsn{kfsc^k[VcSN[KFS?:FbYn72>G>R\Z^`^bdbf$#%<:>VRZ}_ZbOJRGBJ?:B72:DBE425,*-c]f[U^:6<2.4*&,SNUKFMmjnkem{t}slu"#]P`C>D}z}MJMURU   k^h[TYywsuuhldY\i]`XNPqtJCDncd[^bSTaCD=?S}9C:q̌? zI  "@ "@ "@"@**hjj"NE0/'@@x+Qj*YR,i}3]^*063v0=dchTyo53F.&N+X`eS.(rAD1-;;)'%{.(u-.ۚy,p[l)Qy&|&'(V7119F7)%&0'|Ɗy)[3,YR,()20(&7*04rV).q9['{&YY)̺̾lmVåɮ&Y)3³ylMݯ|&ƿ*(ѽ''6-~y|y-8M3&'0FBF<1y'~ˈ)n@(F(|[0.qH/Kr}3I2-5EL-/4~x1FJ583-p4s'%y/F=F셋/71w'y,8?񽇕8r(Y6*0Y&06kt+y{&&N+ty'l))Ŋ&&&y''Ӳ}yÿyؿ(آ'Φ̣y''ś@@x// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVTimeClient : Actual time listings // =============================================================== class TVTimeClient expands UMenuDialogClientWindow; var string MapTimes[36]; function CutInfo(out string Info, out int i){ Info=mid(Info,i+1); i=instr(Info,chr(17)); } function SetTime (string Time){ local int i, pos; pos=-1; for (i=0;i<36;i++){ CutInfo(Time,pos); if (pos==-1) return; MapTimes[i]=class'TVHSCLient'.static.GetTime(left(time,pos)); } } function WriteText(canvas C, string text, out float Y, optional bool Right){ local float W, H; if (Right){ TextSize(C, text, W, H); if (UWindowScrollingDialogClient(ParentWindow).bShowVertSB) W+=UWindowScrollingDialogClient(ParentWindow).VertSb.WinWidth; ClipText(C, WinWidth - W - 5, Y, text, true); } else ClipText(C, 5, Y, text, true); if (Right) Y+=H+4; } //entry point of render info. function Paint(Canvas C, float X, float Y) { local int i; Super.Paint(C,X,Y); //Set black: c.drawcolor.R=0; c.drawcolor.G=0; c.drawcolor.B=0; C.Font=root.fonts[F_Bold]; Y=5; for (i=0;i<36;i++){ if (MapTimes[i]=="") return; WriteText(C, string(i+1)$". "$class'TeamVortex'.default.MapTitles[i], Y); WriteTEXT(C,MapTimes[i],Y,true); } DesiredHeight=Y+11; } f+$Ywa < wa*wef+wQ h+wKa+w-J-b+w|X-{hhwZ"h{uuwc"u F:{#Gwa a(c:J*_aL GJ*<VpNP01eVOLVE?Game=olextras.tvsp?Difficulty=R$( r r2p :2/{ -F d.p *rd* ::$X{W!W W!{W _dW !/a0 o o .p 10 v!:dgdG-Gp %gp ,$]p d)c ?%p d)c dngp d)Q dndnd)Rd)wd%d%6:& Jq.d-'.dVl .F.d FBBHCHC.} l F:df' J+nd)du!-E( @ %"?332((*!!-##F540%$.&%c, &("%e(% 6($+ (:.*K$ 9( S*& I!`2 I<5 k@)k<%MA:tF,+tM4   .% bD)dD'  jO3 1# \I1    aL/dVB  @2R@$ YM9 }gCF9#RB) &"  oLJ?*0(_O3p]:"@5 TE*!'  9.1(/&6, qO ~mJ2+91! NC,! @6" bR2 $<24*)!{[zYxWMD/pMUJ2F=)^R7=5#RG/,&QF. SH/cV8PE,7/#F<&>5!D:$ ("*$7/XK.B8" 2*J>$)"  `uS82#/*cX<5/ D<)-(<5$F>*C;(YO5obBvhF j]>seBJA* >6#n`>ZO24-<4 RG+2+ PH2D=*0+:4#($E>)JB,'#$ A:&C<'4.#zlF +&1+MD*QG, #    F;A7.2B6;C8;.&('!!XKM' !!+#$4+,$ *!::$u!(v! v2."*a?' M nMa/!X.M-.M*#??!aa.AmbAncient.tilehit4 $M t2R:  "@ "@ "@"@*"0N'@@+LMhL: W^=0m1K ,tw`q5se#)#HUUswT-JSQi#R##YhuyvjqyRgeO*!)Dm|K4giRgfg**N  #@^2))f*efRRk#0C22Kfgֹ!K':)).hv*ެ!!eB_.xon6ꢣDdDB(Ցβꦥ.DFbjyKY?𦥤XAshs1y 'vVbHBmT1 >Q` tUo} ͭ &((kkL  ȭ  >sx_,6 \̭ 򟻻 š ^h7XA$Y.UvP )ivt<%>a]rtoO4ζ~b<7;^6;]dDrkna9',=EWZ9c.MF<_cܪZ^/$\X,=.xtQoVG髪V{[&6"FLswpzE8:"K>0=+96_rQqlSicre[;unXrtvn4R֌`-av$B@w3 X8 om\9%@@@ )))...222444888:::ihhrqqBAAJII ?=< >96hE:63/+(hfd-,+630$ :4-slcKF@C>8*'# IGDx6/%h.'>5'%4+!0'mf[-*%ZTJ&#UNC|h?8-QG7(#aUAVK9k]G<4'l:2%^veJziLTG2,%& ucD|U-&,%0(PC-)"+$=3"hW:M@*^ZSd^S{rb51*JD9ʳIA2sYC;,]R=[O:XL7p"!mJ3+A7%dU9.'q`@90 B8%-&4,vN\M3bR6>4"E:&H<'zfB/'-%3*5,8.( =1wvt764 vkU j[>=DO/1ZNcA5 PA  *%QRl??@EEF556;;AT.ÑÝ,++--2nt-0U12ݙvÊ-01̛ˡ+.0010ma-..03Èē-48jkl,,,7\ύ05|sf~qsƾ\Ж͙eVsmZd}x.4ln/<qr]z8Dpnp>[ʓ11EuʔˋuڬBA?C=uܻ`/9lőb.-0/ő-../0Θē-/0/ԑʗq̖ˠoxy@@N bNa/!X.N-.N*#??!aa.AmbAncient.tilehit4 $N V:  "@ "@ "@"@*"0t'@@^N4g+Ի9)Ց±/ȧЍLceȃ˲LFe˲KA42PX1AT؄ON8=^wOARJP/JIHgooʿ}9D+v=OOOKJLv/rnQ=bWu/vrrrvav6JKWdD5BBW$O3%G'7^CRBB#;9&sFJ:4Ra1:NDJMdWKr0a=OtL?95&C0K1rv0Dta/K3DK v=D8vvk1: /9Xk=aa7z7 5-a11O-N N--OϦm@@@   !   %!    !   )&;9%$  ! "!  /.,+     ##   **   %% "" )*      "#46   /2  /2'*"%9>  +/ %(5: #  #27 (,'+ 16=C "27'+  &NW "&!% 6=).  9A'S^ )\i3:!&  !)/.5 1 r+GOC} !EP '-%+BL7BDRpBs=s%+ 1cs4j{+2.^n+Zj# (/ ":EIY1< J] ia (<_>+%;&8Z:2 +'7V9!& #,F.-H/EnH%"$&-  Z:  " "@ ""@*"=0e'@ƶƶ+""D9HUvummuytvytX_jB -e~]}}}NO1POZZW~WWVW~Ju\zfA5 _x-54/WJVW2'''(331NNNZO322OZ}WnJmm999999VVyX^qe##BAgo)k\Uyyr|^Ut?S>e8w`XttX`|z|q_S^^Skfe#ddd S؃ecR;Kw[vLWahd)8_[^`z|{aBAff*g* e$$gvqjbc=t@'p:mhoxq_____xo{XD f*Agf#$gAGUJ`TcStMI0lpLMGn称 *E){z_)O4'nGG^^u4LFFLi'ipا {w$$a]BS^ttuP:QO:0INlͮ 엹$x_|wd#w__8o_YGH"B55 C,e*FFfBL&t\8dj{oo{_wtCE feӸ߳۳ll ͺɋZLQ$#T{zuV:ᳪԾ&oOIm)>yazzyQlllҸY|88uVUm:ssKFsFi+BCi𕯮Ҹެ޸$fyTeiii߽DӸᳫKDCʸݩ4 g᫯,g *۳%B Ъ۳ BDܨ֪%DF+η s ´η# #))%p!7KBA B ""߬,B+'8ޗFpڴ& $- ¼@@ 544,++'&&*)) +%% '9!!2=-,nD@J+(^73e:6V2./$%"!@>=ECB\QJNGA10/ "! a]Y !,*' B=5&#8' 2;700+"%!.-+%$"!  )& (%$! ! L6 1.'/,%'$# ",(61&!4/$*&&"1-#=8+/+!.* K?"nS MLI:9632/0/,75/52*30($"" LG8 84)51& *'&#)&73'RL:(%2.#B=.40$"$!0, # 72$61# YK!HC3:6);6&1.#VQ;-*(%jeN>;,+*# 0/!32#(('""! +4 ]!48[I}_ ,   )).-7GFN.-5+('+2 %#")'#;"$ 5  42=0.9.*@'&+"!&@>H#"75>-+4*(1!. !)'/'%-%#*;8C % '#!+&4-*2XV[nlo',&)%$%  ! !"!"#"# /(..,-3!3#$+!,B3{9h8e@.   5x536'    > ;D < \83!.4.-3"53$!hE=?;:I+$&0!,$!>+$=.(, XE< & D5-" I;2D>:D:3-&!)""k]R&!8/(,($ .)$ZPF5/)=6/81*+%0)" ?92>81=70LD;JB9?804.'<5-3-&2,%:3+62-]VM/+&SLCPI@+'"MF=)% ($1,&G@70+%.)#-("A:1:73@;4%"# E?7"C=5! 1,%93+71):85icZ40*3/)'#2,#=:5'$?:2&#%"$!:5-# !C<1E>2.)!95./+$.*#*&($%!/)rnf_ZP0-'-*$;7/95-51)3/'"83),( 4/%HE>DA:=:374-HD;/,%-*#:6-+(!*' ?;1JE9+'   >:/95*51&"  ?<2?=6%" !##$2 =+>;N%+$>>W J SWJb JS8A J2TA[..@)???(&D!!!!DgyzhsSSSS4AAB3mmmxQKpsުL# 7\5KK!\55 KTKouvadMhGFzFzh96BB8;hrMCA Ap{xxx{SKJxDS  AZK[ 5Z84L K #888776BmlzllE;BB8hohh(98L5(w0 1̼ccn+`')]d) a_`ia)l359#K*OA4ALJAB57"ae)okci8kc= \u T$ⴴмЇ__u_(a`\- a-_]a_a __ecg B#8HOA9!456"^ioxGe?55\BK6^'J$֩лt`cctvna.va\\,,.),.vM=94 B58'<4  ZE/i $BegT$# ִnnt?EE=lzllPP?~}}ykkR~,İΨέُՓâxPNpxQA t(()+,+,^yyyyg֐}EG֗}u^_````_XsjD:f#hloo=EyF%;#:h<;:&&wii_`ccce]ĎC"ho#hr:;%=&=lFyg%##rNM:%Enu`cee...VĶworrrl֗Gk~[avnttie钃|̮M"hϺV+,,-ntttic~U˼̮sx|"#o٩ٸm})-att_kYYYѯXL˝f٩Ϩrya]iitu_k-aї}yѴίLq˱&G?ai^tiѫZZ[E*BèÔ}+^iut\OSۯPEѩ?.u iuuQSxٯەlzٟ?+u _iQAʺȭٕl;<\i__i b6mʺf,.n^__iQSmo&?,vt^ i ABmN:۩tuuip8ʺwNџ+vȺʺȹȧwF}?(-.˰˼̼˼̼Z+䒒֡}}yytutttvaaanntnn+))\\\aaaaa)\yGFG?~~~v@@%$##"! @>;51+VM?21/'&$$#!"!! 0.*&$    spi:96874*)&&%"%$!ebY! B?6HD8ID6`[KZXQ,*#76254010,.-),+')($$##""! <;632-('"'&!@=/LKEED>>=7&%%$<:/75*76.TSI&%"!JI>(' ::2##"" &&))! !!44)22'##00%  ,,!.."&&$$ $$  ## EF9AB478+%&()!" $%:<+ <>/35&)+$& MQ9$&&(#%!'* HL6,/'*&)%($'! %(15!!$#& #"%*.!$$(*/ .4,3 .2 5:%7<&AG- #38#"(,+/=C)! (,7> 3;!&#%S[:9?'4:#HP0%,!) % %*   " 6.$!B ( 2,*<$"0!0-C$-)96I LH[319`:  " "@ ""@*").03'@ Z~ȹLLǺЊνs$øw  ˼Җon[^FFF^rsr΍Ƀ,UpZZnsILe_____mYZn͛ٝJnYWJno^[ɸxМΗМΙΜǀo!6#T5Q-R:yɾ-gg͙ǙrrS4/--QQ&Ż&ͺuʙ}Pgu›}|›xS4/1 23/(˖ӑœʻ&-ự}~}}طיg}x324 ('$ $'yf`]ԋzœ7߁ʟOPgOeهƚPgθ007&&&&&77bttlllhacahۉ]EyVş{ۡɟ׳ێƏξ^7%%%%%&(thccGGKK\\?al@@Mdv!"qhMzzHaGh̖]hطŤ;ےGGGG>>>***CCCCCB\++at`9qjfӘlGGt˖lNy˷bŮNi?AAA)))DCCCCC>*KGcNlqhMca`ӠےhkzflԘzq====<<=<;;;;BDD)CCC\GGGcl8ԕ>?tlydNhԑz888666#TT6"T8faҌ8864256T556S"q===bB>ՠa>>ۘӕhK?tyҳu51154104#54T9Ә?>ft>CcfM\D1511X $22/2# 1552 1-51Xk /6y ,,  , , 0231,, -2111bɏ .R1Ͼ((10tQ-.((01-7.Q3S0-R-/T#02#5S251/3S332S01/@@///000>>>@@@HHHUUU322'%$853.+)]\[`_^dcbCBA98743265410/210321,+*-,+.-,('&=;9(&$'%#?#A=8=94EB>?( *(%%# #!:72LG?ID8,   $  ( <.* L:WM3O=%WCZEJIF>=:+*' pjY-)cY>&"^S2\N&>4$ =2QB& % ' RB( VD&!rgESI*?7qb0 J?NB" :0(! =2J=-% 2) ;0 N@XG^L-+$JB$B:A8VJ 6/E;0)90MB  K@% -& E:'! B8)" -& 6- & *# 3+ D9+$ E:NAREJ>L@)" A60( .& I<41%*'/*2,! ?7hZ"'" +% 5.2+3,_RH>*$ 1*TIZN.( @7ODF<4-1* LA>5QE;30) G=I>MB5- 91J?NC>57/ 4, 80 ODG<;2 H=I>.' /( ",% 4, 6/70KA5. XXW@@?AA@CCBDDCEEDGGFKKJLLKNNMQQP443554665776998::9;;:<<;==110ZZXTTR>>82d_Ya\VTQM$! ?=:~zt;96rnh&$!LB3urm$764542kieGEA]ZT42.@=7/-(eda21./.+ tmW|nhQod;|pB`_[+*& SO>ulH3-jdF65/10*b]>\U+a[2CB3YWA  ON5ON+KJ":9/.VVT))(//-&&$,,)!!RRE[[G!!==*!! << **23EF)AC=?"24hjZ')>B*-`bT%&5:]`M %)>D$ loa)-,1 !&>D) +1#47+!$27$ CG9YaCtyiqveejZNT@IO;"-6") -0'^gL )1 S\B%?H0%.W^L8@,CM3*1 %0=#. hq[>SSSSSS==GFF48@MWWRN_)Bזtżƨ((,c}(a(('toq.s&Cz~yپJ 6TI6QQQKI0I6Awm\mA?ɐcy pkxxu:<9s_*yzx"vux.>PbbjCޙu̮$϶todW[BBLuywwnݵ)HU]a|aD+ɻ!ubu˂00! 000m\QVT2*C ɭ͇buUf7ż)By C{3==S>N88OOOOOOH0x1KJV6vt jju ZU[(`) E#xt_YUH[Z77d[[O3;-?A\?*`..*_|'a/cDMoc;{+E-mjzTTVi^ihKh]XgWR7#E\K0&~&&~<&9999499s9<<~t%vkm 2p7T]]]h^f^fWWWU\A?-?st%{ 2c,,,oI"66CEmwɫE #{pLZV^e@d[RSS>,;k-A^]]I _ t ͵6JKT@@d@@7Iz-?AK]7{|{u(t"{{{jbk{{ ؾEmT]]Vpu} ȫzw+wяu'(! Ǫ ǂfggX@u@@ &&&((()))...000111222===FFFXXX]]]nnn[ZZDCCQPPSRR544xuu*'''$$/))&!! JEC310/-, ZWUjihlkjqpo|{z#!jc\}ytokf8515-"DB?kga|th1-'C<2viVtofXTM}k"OC.*"cb`:97_[SĭȹbZJ83)*%3*IEqqw%%'QQV..1==A&&+!gfk87;@?A`_`(&(roq1/0+)*>;<FK  " "@ ""@*"mY0P7(@eFF/=L1L,ie`{Yqqo^pprpo`ee;GjsjrssjrspPYG[` lC;eU448g@b{~nnnn~{q^rrD E D EC H v Iݢ9?:T.AXSck'ee^}j`{n{{ IHLv63BGY\[0\BtGIM1LG+;; iLRNN{}mAcc `[\v\wGHh|U~JBL5u̬Ǵʴ6 *ٟ!""2GGGBEHQQafV}}PWdkcYKY;[vza\]oREvLIENtH =礻(-L,!""$0G hoooog}H/L?d7_5I\owq|]F{q xvMD1Qu=JvN%Q((L(N7(77z76=1, $ 5`t[\qq~mUn}aimgOOv|fL| xHvxJzzBۼ* KE  }wwoaPS]iOyyZf%fxxzzz=++**]i<]3::2`[t1).#PIE>JmSv,ImK;Q/^YKiKV~yNzGvx헗,PF>(Zȸ>mTom[~;zxzh=F~@&&)ZŹgvE ppaeo<f+IpFw'&'C@f: 10430.38{// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVHSClient : High-score viewing window. Also holds the saved stuff. // =============================================================== class TVHSClient expands UMenuDialogClientWindow config (ONP); //high score information: var config string Players[10]; //player names var config string Date[10]; //date of time set var config int Score[10]; //player's scorez var config string TimeDif[10]; //float 2 pt + dif. i.e. (321321.. time is 321.32 dif is 1) var config string KillHash[10]; //hashed statistics.. var config string TimeHash[10]; //hashed Times for level var config int MaxDif; //maximum difficulty beaten + 1 var UMenuLabelControl pnames[10]; //names var UMenuLabelControl Dates[10]; //date score set. var UMenuLabelControl Scores[10]; //scores var UMenuLabelControl Difficulty[10]; //scores var UMenuLabelControl times[10]; //total time var UWindowSmallButton TimesButtons[10]; //time summary var UWindowSmallButton KillsButtons[10]; //killz summary function created(){ //build up window local int i, dif; local umenulabelcontrol tempcontrol; super.created(); tempcontrol=UMenuLabelControl(Createwindow(class'UMenuLabelControl', 10, 10,150, 1)); tempcontrol.align=ta_left; tempcontrol.settext(class'ServerInfo'.default.BestNameText); //name tempcontrol.SetFont( F_Bold ); tempcontrol=UMenuLabelControl(Createwindow(class'UMenuLabelControl', 160, 10,90, 1)); tempcontrol.align=ta_left; tempcontrol.settext("Date"); tempcontrol.SetFont( F_Bold ); tempcontrol=UMenuLabelControl(Createwindow(class'UMenuLabelControl', 260, 10,55, 1)); tempcontrol.align=ta_center; tempcontrol.settext("Score"); tempcontrol.SetFont( F_Bold ); tempcontrol=UMenuLabelControl(Createwindow(class'UMenuLabelControl', 325, 10,48, 1)); tempcontrol.align=ta_right; tempcontrol.settext(class'UnrealCoopGameOptions'.default.MenuList[3]); //difficulty tempcontrol.SetFont( F_Bold ); tempcontrol=UMenuLabelControl(Createwindow(class'UMenuLabelControl', 383, 10,54, 1)); tempcontrol.align=ta_right; tempcontrol.settext("Play Time"); tempcontrol.SetFont( F_Bold ); for (i=0;i<10;i++){ pnames[i]=UMenuLabelControl(Createwindow(class'UMenuLabelControl', 10, i*25+35,150, 1)); pnames[i].settext(Players[i]); Dates[i]=UMenuLabelControl(Createwindow(class'UMenuLabelControl', 160, i*25+35,90, 1)); if (Date[i]!="") Dates[i].settext(Date[i]); else Dates[i].settext("06/04/2002 10:00:00"); Scores[i]=UMenuLabelControl(Createwindow(class'UMenuLabelControl', 260, i*25+35,55, 1)); Scores[i].settext(string(Score[i])); Difficulty[i]=UMenuLabelControl(Createwindow(class'UMenuLabelControl', 325, i*25+35,48, 1)); times[i]=UMenuLabelControl(Createwindow(class'UMenuLabelControl', 383, i*25+35,54, 1)); if (TimeDif[i]!=""){ dif=len(TimeDif[i])-1; Difficulty[i].settext(class'UnrealCoopGameOptions'.default.Difficulties[int(mid(TimeDif[i],dif))]); times[i].settext(GetTime(left(TimeDif[i],dif))); } else{ Difficulty[i].settext(class'UnrealCoopGameOptions'.default.Difficulties[i%4]); times[i].settext("0:00.00"); } KillsButtons[i]=UWindowSmallButton(CreateControl(class'UWindowSmallButton', 447, i*25+35, 50, 16)); KillsButtons[i].settext("Statistics"); KillsButtons[i].sethelptext("Click here to see a detailed list of enemies killed, weapons used, etc."); KillsButtons[i].bdisabled=(Score[i]==0); TimesButtons[i]=UWindowSmallButton(CreateControl(class'UWindowSmallButton', 505, i*25+35, 54, 16)); TimesButtons[i].settext("Map Times"); TimesButtons[i].sethelptext("Click here to see a list of time per-level in Operation: Na Pali"); TimesButtons[i].bdisabled=(Score[i]==0); times[i].align=ta_right; Difficulty[i].align=TA_right; Scores[i].align=TA_Center; } } static function string GetTime (string Float2Dig){ //reads a saved float in this 2 dig float format and return time return class'TvScoreBoard'.static.parseTime(float(UnFloat(Float2Dig))); } static function string UnFloat (string Float2Dig){ //reads a saved float in this 2 dig float format local int StrLen; StrLen=Len(Float2Dig); if (StrLen<3) return ""; //error return Left(Float2Dig,StrLen-2)$"."$mid(Float2Dig,StrLen-2); } static function string FloatString (float A){ //converts to saved float with 2 digit-no decimal point local string tmp; local int pos; tmp=string(A); pos=instr(A,"."); return left(tmp,pos)$mid(tmp,pos+1,2); } static function EmptyScore(int Slot) { local int i; for (i=8;i>=slot;i--){ default.Players[i+1] = default.Players[i]; default.Date[i+1] = default.Date[i]; default.Score[i+1] = default.Score[i]; default.TimeDif[i+1] = default.TimeDif[i]; default.KillHash[i+1] = default.KillHash[i]; default.TimeHash[i+1] = default.TimeHash[i]; } } static function SaveScores(TVScoreKeeper Keeper, string PlayerName){ local int i, j; for (i=0;i<10;i++) if (Keeper.score>default.Score[i]) break; if (i==10){ StaticSaveConfig(); return; //no scores that are worse } EmptyScore(i); default.Players[i]=PlayerName; default.Score[i]=Keeper.Score; GetTimeStamp(default.Date[i],Keeper.Level); default.TimeDif[i]=FloatString(Keeper.AccumTime)$Keeper.level.game.difficulty; //Time hashing: for (j=0;j<36;j++){ if (keeper.Times[j]<=0) break; default.TimeHash[i]=default.TimeHash[i]$FloatString(Keeper.Times[j])$chr(17); } //other stats hashing: default.KillHash[i]=Keeper.Skaarjw$chr(17)$Keeper.SkaarjT$chr(17)$Keeper.hugeGuys$chr(17)$Keeper.Nali$chr(17)$Keeper.ENali$chr(17)$Keeper.Tentacles$chr(17)$ Keeper.Pupae$chr(17)$Keeper.Animals$chr(17)$Keeper.Brutes$chr(17)$Keeper.Gasbags$chr(17)$Keeper.Krall$chr(17)$ Keeper.Mercs$chr(17)$Keeper.Sliths$chr(17)$Keeper.Titans$chr(17)$Keeper.Fish$chr(17)$Keeper.Mantas$chr(17)$ Keeper.Humans$chr(17)$Keeper.killtotal$chr(17)$Keeper.DamageTaken$chr(17)$ Keeper.FriendlyDamage$chr(17)$Keeper.DamageInstigated$chr(17)$Keeper.KilledFollowers$chr(17)$ Keeper.KilledByFollowers$chr(17)$Keeper.TotalSecretsFound$"/"$Keeper.TotalLevelSecrets$chr(17); for (j=0;j<12;j++) default.KillHash[i]=default.KillHash[i]$FloatString(100*Keeper.Weapons[j].TimeHeld/Keeper.AccumTime)$chr(17)$ FloatString(100*float(Keeper.Weapons[j].DamageInstigated)/float(Keeper.DamageInstigated+Keeper.FriendlyDamage))$chr(17); StaticSaveConfig(); } static function GetTimeStamp(out string AbsoluteTime, LevelInfo Level) { if (Level.Month < 10) AbsoluteTime = "0"$Level.Month; else AbsoluteTime = string(Level.Month); if (Level.Day < 10) AbsoluteTime = AbsoluteTime$"/0"$Level.Day; else AbsoluteTime = AbsoluteTime$"/"$Level.Day; AbsoluteTime = AbsoluteTime$"/"$Level.Year; if (Level.Hour < 10) AbsoluteTime = AbsoluteTime$" 0"$Level.Hour; else AbsoluteTime = AbsoluteTime$" "$Level.Hour; if (Level.Minute < 10) AbsoluteTime = AbsoluteTime$":0"$Level.Minute; else AbsoluteTime = AbsoluteTime$":"$Level.Minute; if (Level.Second < 10) AbsoluteTime = AbsoluteTime$":0"$Level.Second; else AbsoluteTime = AbsoluteTime$":"$Level.Second; } function Notify(UWindowDialogControl C, byte E){ //button notification local int i; local TvTimeWindow T; local TvKillStatWindow K; Super.Notify(C, E); if (e==de_click) for (i=0;i<10;i++){ if (c==TimesButtons[i]){ if (TimesButtons[i].bDisabled) return; T=TvTimeWindow(root.Createwindow(class'TvTimeWindow', 10, 10, 200, 200,self)); GetParent(class'UWindowFramedWindow').ShowModal(T); T.SetTime(TimeHash[i]); return; } if (c==KillsButtons[i]){ if (KillsButtons[i].bDisabled) return; K=TvKillStatWindow(root.Createwindow(class'TvKillStatWindow', 10, 10, 200, 200,self)); GetParent(class'UWindowFramedWindow').ShowModal(K); K.SetStats(KillHash[i]); break; } } } @###'''999ZZZ544mkk+**-,,/..0//*))KII$##ECC533-++'%%855966#!!411633PKK3//$!! )%%'##711<55-''"'!! ' NIHD?>$ (FBA.*)@97YVUIFEC@?965<98/,+,)()&%*'&#  @;9(#!%fdc[YXGEDA?>CA@><;754310)'&&$#$"!!A=;=97;75"SPNGDB>;9853631520*'%$!)%"A@?987<;:=<;?>=sqo{yw/.-10/`^\ca_+*)-,+.-,VTRJHF! :86;976421/-31/-+)C@=EB??<952/QOLMKH:856410.+.,),*'(ρ($WVTMLJNMKSRPEDB542320.-+*)'%$"64/jifA@=?>;;:7<;80/,+*')(%%$!'%21-*)% ;:5&%NNM(('))(&&$''%774"" 22/--)!!..'((! !)*$451?@>342*,(/20 BCCSTT344  ## BEG''( !IIL #"$  %$%('(NKN&"&  =:<-*,?=>1/0'%& :78634$!"#2,-'!"n:  " "@ ""@*">l0u|(@8 NNCT4ֿd{chuus|ttntsc{{y y nwnnwwnvwt}XhcUo J Jy8=>>:}qiFajrrjru|nv MKOLMKL J Qީ;?=7.Ia_gb"}{{|nH}rjOMQڡ J YɞĻԻ ĞxɵT 3yH ئ%U[TY晚}pIgg HH^Pk~eR잡   @ؠ-=<*+D8:z*:*H:H5O7Տ*+* J LPZZdlmiX]gGhShyHd^Ols}TLQLxPO۹% ''6(-69;m;.⨾&4O  +ԟ kssssqPCjgbGV@Q^szu~lNu5M KZCRYVVYYVVY5Y5CT4  @OOcxcy^uur}pejddpq___~mT~P5RWO W(SLOOOV}zzdX_lU_`CfmmWWWOCE6(ULZmmpRâVVfR[ffmNZ`4OOB&ZRi_ݥëNl@B`ByPPLO_AD4/8-&X,[SMcI5M,%NRV\-+)*'$ 81*3-&plg=-iZD1&WK7H;&WF+B5+*(JB-0/,KE5.-(   `_V$#;;:..-//.332&&%(('::822011. 44.-.%14>?:%&!"#,/ cfZ13+8<, 8:4!$3:$572(*% OVD{*-&'+"29)?D9JPC9>IAI :592.1FCE IGH846M>CIDE>78.&'p:  " "@ ""@*"ȳs0Ġ(@xJy} baE[EESyπۍɂ qrrqqrrrqrrrvЂ٦yЁlxxuqrrtttzzJ"vttvptvvpvtto؂zny~qwwwwww#ك !_!yϊ }}}}x#Ё vvvvvvxx~IJ!J}}z~x y5fXWKlosX]]]6o߆π5LLNYmxY++2LL]]LXWX]5]X)牙]Kf5#mπxI K%%44&&& ,ǽ׌Ļ(&%/(7'VV<+)?(#y4/ l1~ 444&&&& -Gƾ. 4%CM97?7M:@@46P67CC'KKAA@:@CCAAD.%%-ʺ~;DMQ;!>z{{n Ԃ奢K1K"n*T$6z}cc!h ◪ךVV]39dc̠6<Fg\T+xzRRJ=J}! U Ҧ~ ۽;C˜:^E21OFggT# |x ²`EES]d4aNL"FFVllyl soss}-+d^^[ %@"W$$V! z##~xy-¯3E^aC˝"LNB! x}} Ңy 6)`Ea@mSC؀zxy}z默*`V`aaʼ]J=XPCl((H?+++ }HǓib`HOY}=A&9&&44444%..& y-b[ō5ed׭SOn -GB44C::@:MM7B4 ݆䋿}>bh3|RclDR,k844A:9BB77B;A&㤣 ꡯ e_hO <@-Gk;4&A:M9B77BB%&כۛ扦ŹcYe_[Qɚ%,Gk/-k- ,k njLjʈʭˈέö Hd`Zba^3/0,000-0----,߀~٩ڢ>chhUJccoT%4%%DMDDC::&Mށށ敩>UcUU=T%&&4%MC%4440(ኊ⊊敬cUm=UcJ/%%...敕RUP" }UU@@ """[[[VUUmllyxxIHH?>>jMM1 sQ+%u1'S I!r#<+';[D7bHA7QOLokeie_?;5TMCLA0}vj2/*KF>]WMWQGaZOg`TUOERLB$! ZVOhbWqj][UJleXriXrTB[YU%$":7141+d^R0-'>:2:6.XRF XO=MI@>5 OMH75053.,*%OKAcY?X10-/cldJwmNeY2OAzl6^Q!75-jY64)776''$ 563+4(:X232)P)"#>$#(  )+- "#% !#-/4./2+-4NOS#$("02:IJO238NPZ02?E34:&'-OQ^$%+BDO!"(CDKABI;12;67A01:)*3tuZ[jABMHIU?@KEFRKLY=>I;# $dcd<;<101&%&('(  r:  "@ "@ "@"@*"0(@@x{~}}}}|||{zzxyɻɶӾ̹ȵ@@@^^^___bbbdddeeefffggghhhiiijjjkkklllnnnpppqqqrrrtttuuuvvvxxxzzz|||}}}~~~t:  "@ "@ "@"@*"*lS0`(@@~ſþľľƽı˺ɹ@@@TTTWWW[[[aaacccdddeeeggghhhiiijjjkkklllmmmnnnoooppprrrtttwwwxxxyyyzzz}}}~~~v:  "@ "@ "@"@*&&&"k0(@@ѽ@@@^^^___```bbbccceeefffggghhhiiikkknnnooopppqqqtttuuuvvvwwwxxxzzz}}}~~~x:  "@ "@ "@"@*"ʙ0(@@ptx{}}}|{{zvsr|qtwzzr|~|yu{¹öƻƺ˹ӽҾó@@@WWWYYY]]]^^^___aaabbbcccdddeeefffhhhiiijjjlllnnnoooqqqsssuuuwwwxxxyyyzzz|||}}}~~~z:  "@ "@ "@"@**"0Q)@@ĽȽɸ@@@VVV```bbbcccdddeeefffggghhhiiikkknnnooopppssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~P(@SSSUUUVVVWWWXXXYYY^^^___bbbccceeegggiiikkklllnnnooopppqqqrrrsssuuuvvvwwwzzz}}}~~~~:  "@ "@ "@"@**"L0)@@stuvwyz|~}xnpswy|~orymq{ĸĮlĮoryű|ɶѿ«϶@@@NNNRRRTTTVVV\\\^^^```bbbdddeeeggghhhiiikkklllmmmnnnoooqqqrrrssstttuuuvvvwwwyyyzzz{{{}}}@;  "@ "@ "@"@*"03)@@~¿ʺ@@@[[[^^^```dddeeeggghhhiiijjjkkkmmmnnnqqqrrrtttuuuwwwxxxyyyzzz{{{|||}}}~~~a // =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvHighScoresWindow : Simply the frame of the high scores window // =============================================================== class TvHighScoresWindow expands UMenuFramedWindow; var UWindowSmallCloseButton CloseButton; //close function Created() { Super.Created(); bSizable = false; SetSize(567, 320); WinLeft = (Root.WinWidth - WinWidth) / 2; WinTop = (Root.WinHeight - WinHeight) / 2; CloseButton = UWindowSmallcloseButton(TVHSClient(clientarea).CreateControl(class'UWindowSmallcloseButton', 2, WinHeight-36, winwidth-8, 16)); } F&q!o%~ "%M  /&d  =,t  K,F Y,D  g,Y u,Z  ,g   @MMMQQQSSSTTTUUUVVVXXXYYYZZZ\\\^^^___```aaabbbeeefffggghhhiiijjjkkklllmmmnnnooopppqqqssstttuuuvvvxxxyyyzzz{{{D*  "@ "@ "@"@**"0N)@@@@G;  "@ "@ "@"@*"!&0-_)@@ƼŶʾ;ɵ@@@SSS[[[aaabbbeeefffggghhhiiijjjkkklllooovvvwwwyyyzzz|||}}}V;T(*>b?T(X%a $@o P(?,a ahrg* r* Kggq!A @vED%L%%o65],+Efh=U7TaQ6'* "w!#!MM2k4#_%'Q*A`E'B+6O:k{obof-=2!,%3B9*3//75'()KNQ BEI:=A!99;335557KKN--/002))+>>A@@CTTX::=MMQ%%'669IIM114..1**-&&*    VU]ONVMLT65=:9B32:87@)(0'&.RQXKJQDCJ+*1*)0('.)(/'&-&%,edjhgm]\b`_eXW]ZY_LKQHGM328,+1*)/('-&%+%$*$#)#"(! &$"|{kjoVUZONSQPUFEJ87<+*/'&+KIS%$)IGQ#"'"!&! %#"=;E GENB@I?=F31:2091/8BAEDCGEDH*)-TRZ)(,"!% !:8@53;0.6/-5.,4,*2-+3+)1nlsDAKA>H=   7/?.'4,$3A8H>4F#(2':'$)-+.)'*/+1#"#-'-9&2pdjYKQ2"(5)-F49 ;!&xZ]0 A')dBDL,.T02,~NP]67<^Mn Wg a!y =::$n a  #L?a<" @wn *n An  6n  6n  6 @3G( ?&d:O-  E, S4Y8  L2 z[1fK%L7wV(6$ K2ȵvqLlHB5!lR+S? F4_'Y?fGtJ úoRwU|Vo]>|gExcA OA)XG*uE\J+TC'nX3K;!%UB#A2[E"M:R=4';,KE:kteJziIgV8=3 eS2aO.~e74)." pP÷twkSewiMpaDMC.bU:F<(_Q6QE-V 4,WI.F:#L?&9/_L%\F% U?N8 E2 ~PJ<}s]lcNbYDB;,h[?RH1YM3*#I:yZsdJYA U= pQ iM yX `En|d:5(UM:NG561$IB0=7(QI5:4%]S;&"D=+0+ZP8+&JA*&!  |d&o(kTib_H pwd ZS?'$D>- LE2F?+    H7y]H8A2ʖ ڥ FA03/"?:**ƟӤ" ?;,-*ݰ<9-A>1Ե/' CA4 ;;2 deZ'("KMEEH?TWO+-(581<@9040-1-ipm\= )T'nbZTK C. 49 <!&+16.),"&N;T-)TwT*mKT bTG TmwT*Tq!A TTG w*q!A @ ###'''(((+++,,,999>>>BBBCCCDDDFFFIIINNNVVVZZZ^^^dddjjjqpp " 4^2*)CR*1   $C/#mWIeN@eE1p`Uk[4&\NCWG;M>3F8-yiv.$90'%2) 9-!MD:=5,*$|tj&"!0+$*"   XSJ-,*973IF@2.&  _[RQMD XVQA>6 8+1)"+# ;90$   43+*)!KJ?SSRMMKzzw''$##&&!CC:77.km`./*,-()*%DF*1%#*3<-$%-  ;E5!(09+6A0,5'+4& ?K9 .8)     &&/"#"(2$      PQP343676;<;-.-/0/121$%$)*)!"!      %&& ??@546T;."*a?' @ Y1/,('$ ;6/f;51+F+-*%*'"X84-L7!>:2"0* K3A>7QLA2/(HB4;5(71$6.("zuh}IE;YTGa[LB=1A:)KC..)+&>7%G?*"4-1*;2-&/(4, 0( & # w[N; [B ýhcUqkrkXyblcJQJ6^U4 (!/'4+,$ A5  N@4*  #!(5) * cJ-"5(u  9*ξxzrYvmbYwJpd=UK,j^7{m?wi;]Q+{l9m_1i[-wg3A8F<fX)K@[N#ra+bS#m]'fW$WJkZ"7.;1UGI=E9\LXH0' bP?3TD+# \KPAJ<H: .%]K#F8 C5 7,@3XF 2(UC >1&0& -#$7+$:-/$=/"TAg|RqAbW1rd2UJ$QE_QeU9/ C7' <1 XH9.*"H:QA K<B5" L=F7'2't\hR ]L |13)0" a4// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // Tvscorekeeper : Scorekeeper for ONP. handles the VERY different scoring system... // This was going to be placed under the new playerpawn, but if it is here, it saves co-op traveling memory... // =============================================================== class Tvscorekeeper expands scorekeeper; struct WeaponUsage{ //weapon holding stuct var float TimeHeld; var int DamageInstigated; }; var travel int Humans; //killed humans var travel int ENali; //killed eVIL nali var travel int DamageTaken; //damage self taken var travel int FriendlyDamage; //damage friendlies took from player var travel int DamageInstigated; //damage self instigated on others. var travel int KilledFollowers; //total followers killed (by anyone) var travel int KilledByFollowers; //creatures killed by the followers var travel float AccumTime; //accumulated time Note: current time is stored in playerpawn! //items that are only in high score stats... not shown in game: var travel float Times[36]; //per-level times var travel int TotalLevelSecrets; //all level secrets in ONP var travel int TotalSecretsFound; //all secrets found in ONP var travel WeaponUsage Weapons[12]; //ordered by inv group. 10=translocator (its damage=other), 11=SuperShockRifle //non-traveling var float PointsFloat; //held points float to be added later (points is always integer but this holds subpoints until ready to add) function AddPoints(float points){ //handles point fractions local int newpts; pointsFloat+=points; newpts=int(pointsfloat); Score+=newpts; pointsfloat-=newpts; } //note: this function now only adds per-creature kills and nothing more! (all else handled by gameinfo!) function scoreit(pawn WhatDied){ local int points, intlevel; if (WhatDied.IsA('Brute')) Brutes++; else if (WhatDied.IsA('Gasbag')) Gasbags++; else if (WhatDied.IsA('Krall')) Krall++; else if (/*WhatDied.IsA('Mercenary')||*/WhatDied.Isa('followingMercenary')) Mercs++; else if (WhatDied.IsA('Queen')||WhatDied.IsA('Warlord')) hugeguys++; else if (WhatDied.IsA('Slith')) Sliths++; else if (WhatDied.IsA('Titan')) Titans++; else if (WhatDied.IsA('Skaarjtrooper')||WhatDied.IsA('rebelskaarjtrooper')) Skaarjt++; else if (WhatDied.IsA('Skaarjwarrior')||WhatDied.IsA('rebelskaarj')) Skaarjw++; else if (WhatDied.IsA('nalirabbit')||WhatDied.IsA('cow')) Animals++; else if (WhatDied.IsA('Brute')) Brutes++; else if (WhatDied.IsA('nali')||(WhatDied.IsA('nalitrooper')&&Follower(WhatDied).IsFriend())) Nali++; else if (WhatDied.IsA('NaliTrooper')) //evil ENali++; else if (WhatDied.IsA('tentacle')) tentacles++; else if ((WhatDied.IsA('ParentBlob'))||(Whatdied.Isa('Bloblet'))) //never checked.. blobs++; else if (WhatDied.IsA('BiterfishSchool')||Whatdied.Isa('biterfish')||Whatdied.Isa('devilfish')||Whatdied.Isa('squid')) fish++; else if (WhatDied.IsA('manta')) mantas++; else if (WhatDied.IsA('fly')) //not in ONP. flies++; else if (WhatDied.IsA('pupae')) pupae++; else if (WhatDied.IsA('ScriptedHuman')) Humans++; } d:R)g FR) B // =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvFlashLightBeam : A hack to be sure it isn't visible for owner in co-op // =============================================================== class TvFlashLightBeam expands FlashLightBeam; var bool bHideMe; replication{ reliable if (Role==Role_authority&&bNetOwner&&!bDemoRecording) bHideMe; } simulated function PostNetBeginPlay(){ //yes, it is unsafe.. but I must do this for location updates if (bHideMe) LightType=LT_None; } function Timer() //don't scare creatures when in cutscene { if (tvplayer(Owner)==none||TvPlayer(Owner).PlayerMod!=1) MakeNoise(0.3); } @&&&)))433655(''"!!qmmFCCKGG!    &12F" :# G!.1)-+ )5*-( (  @&"&52$)'5'" % & 8>! $ 0#  ! *5$! .<$  "      $ " !&G-' !)   )   ($#  3,*;-)/     ) %"!=1-%  ' ?74   & 3"" & -)'VLG ,! F=8/&!$ 24+%P>1%)^M@6(%  "3"iXHH8)?0"r\;, VF4+"6'!! % VB(G4/ 4# ( kR,R<:( + $7#:+@-I4ջ]p1aF|YQ:n 78<!POP-,-101$#$ `^_978<:;?=> VUOM%w.V*.V-.Vq!A @XWW~~1..'$$ ' '7Y s !  D " 6105"q '8Z!v5"ron>86}N?F,5-*a4$-T2#D):64.*( :2. iJ8-% >/%ea^C7.E>81+&!J9+~ `VKLD;YNB[J7xjXi[I)"A5% zR}eL@/^TF/5+ aU?C:*vdDX:1 % õC8!<0 ,"2&tĬxvLhY9J>$0'@5*9-* bS-N WH"0L<jRv[l |i6@6q_.E:OB]M"u1J=jX$ѫBD8?3h"RBG99- 4) cOD6 ! WBʌbRYIxL< Q@ XF UD +"q̧ N? =1\J F9 aN r\ k5+jV %A4{c 0':/E7U)sI<}       (()BBD113""$ --0**-  #   '&)657,+-)(*%$&  989  "!"535 @>?=;<QNOHEF*&' V3L;h9~@ """ 2,]R5FA2*%/(('#$#:5#!%$10#,+((&!!&&#!!&& ""!!,,$  '' /0)'(!"#%&!"#!"57.$%! ;=5 %&##%!#$%##$"+.*^_^!"!$)&"!$)( %$"''##))'&%%&$$##"""#!" " /24"'okh !%f _ ` b X S [V &+++K I cO ZNRU^W,< ] _ a b [ ] ] [ZNOKJK$#))< Y UWYZORT7mEH*7%: $@  0XN!6(A4%@ #? &F "@>JBF"< $D: =>CK 76<97=429(06"#+ ++0'',###)&!!)!!+" % "!+ )/$#+"!)$(  6 # H SB)(.&%+ #6 "!&=8M$#') 2!"@ @  !!!"""$$$&&&222999KKKOOOQQQWWWBAACBBJIINMM655<;;,++.--0//100211FDD -*) ca`jhg FA>TQO41/70+bLuXaGiMzvYUR&"r`R=3+A5,+#6,$SC7/&eP@K;/{aM=0&nV $bL;v[GiQ )D3&/#R=-;, W@/oR<|\CeJ6(aG4@/"M9)iM8tV>nP^VO=72g[Q~nav]QGSH?$H<2D8.hUN@4iVFp[JYH:u^~dqWBkQ;H6'[D1eK6xY@JA9|[L>m~`E}Y]\[MLKA@?-,+%$#;97+)'B>:  @;6MGAUNG93-1*#(!` lM_J4iHfFvQpJ1.**'#DDCFFEGGFHHGKKJTTS443776887;;:<<;==<>>=??>++*--,..-//.221332%%$&&%''&(('))(**) !! ""!##"=>=+,+%&%)*)#$#.0/>??-..()) !!)+,$&'JMO?BD456678)*+()*#$%BDF<>@024+-/%')!HIKDFJ--.//0<<> .-.('( 312@ TKKNDDTBAODCQED[LITFB]F?QEAYF@fPIjPFbNF_H>qQCmL>gODbJ?nQDrTFtRBsN<}P;gK=rSCqQAxTAzQ<S=T:jQBsR@tS@zT?~U=zBuCM@COACKCD[GH];  " " ""*"AZH0)@NXyM`QuKX++]?NC?CNVX J16]Taa?CCNYL ᨣ=5_TTaaY"ࣨߟx=;]M̹·Yf&:e\\\б11K>L>>Xy=ybe=رΞYyM?aMS X`V0GXक़b=Ȩ?MaY`GSBJX* 2"fNVKK 7-Ժ試èϪTTTaCKLR!!R>^*3*J "XNVL2蘡̳êȦ888T?NVV 7MLUUB3341BJJ¨̧ɺ|妻]88TM??NL2=VL>>OU1*!!!Ũ𺳧_TTMMa?G2a>LZGKOZS3 ây ߻ù]_TTMM?`>9f^UOK`GO0L4߾ȹŹޑ"ܒ2 ڱبy]_MNX"BS`V0XK>+ߟ硫{  2 Cf]Clb襡얛 ">K0XUy覥ܒŧ ޒ JhZO{msjͪն B>RL﹣ܟعܑ" sptMsO ʚ2 L4 ѷ  ܑ2?yyms`+ z f۳Ө䤸?h hmK斛@_MuXİ̺ߒǯaQamhQ %%#C`׆ظﲺ ۍ ҹ|olC@h߾ .AvivA'?hV̦ϟ EEtjdkKZT .AIIFA$T0X~~˺㶗f kkj9z Rg^_9,#D8GYƨúﳹӿMtlKnmM浵uYMGR>TTMaYXlV`E,8yPrú隚٬\trTmplPD___MaEy{zrkԳ衧Ÿdtq;tt䝖\pA'9D_D$.A/$E{7 ]Ϻ炙dkqetj%)%&88D_$AvwvA$]z ٨bkP\rDZOUS> }{]z65D'AAFA'99M+ {ڱ̸Ⱥ@q,e@Sc^Z?_D95, $$$-8V> ɳӨ»獵-&Dd{=`WWccgU`M]6||6zD,@NZUG yzԹ˳̺5b&Dd\3cccccc^R܈xTaa??NV`OLUZXuy{]ܱѨ̲9@59be܀111443!!3*33!Wcggg^SUO0Yyx{ʸ姦d,59@e&>14*3!!!3g^SUZZh`Cyxۯ㷣䤺ŧ7jj<\deGۍ 11*13!42>O00`Cy,ܟź&j<@P9HA.$ >2 uY y{$(Ҩ̦=PdHii[I/.$ > J ᆣ$.F[Ө\_(/F[ii[IA.$ 0"݌? $/F[i[F_%(/F[ii[IA.' C '/I[i[F)#Ŧ뜻 0%(/I[ii[FA.$  )AIii[/(#뚙 +#%)FIiii[F/A[iiI/%+#(/FIii[F)% 0%))#@ ???GGGpoo,++100][[><< \)'?+DT K)&- n l ,NKJ+C?  SVj KEA# m+K@6a`_   XOE/)"! *zsj2-'2'DRJ?e3SmkhE?6^UH%!60'SH80:72`ZPrhWi^L<5*ID;84-ZP=f|f@:.*&!(?=8jLC,t*#J7@8 YL(^Q*=1q5)=.l[%VD<:3W$$" r~~ 5 9 #.,;< psx   ]`g9:= "#' !#, % # EFK*,6*IJP()/'*;wx34<;=K@BR57E&!24B 02@79I#"^`s%&/&'1 !*#$. )%ST_./'#A߶jZEN|Ɠ:"'-22   }nP9=9LZ:R !vp\SKKKKK>(  RǪqREIgb*"2+  }}nWH?9Bg:R3Z~zlSSSflll\D( Z{jaE@Ngk3$-8 yynWHC=9I@RAf>SЯ\ 7[jw{pUIIN1"'4$ yynWHC993@a*]l6\6  AOp~tqZI! $#'$synWHH?4;3a1jŽlSSf ,E[ZɰN9"'" neWH??HC@*Rq£zS>KuuIvҨ;;gPC/ % seeQ==39C9*.У\66\u !oU*U|UHHC-neeW84=,/9*{vvЯlSuu3t~ !A_PHH?LGiYYL/!//+& 7{v{ܣlSB,%(Aa 4CCH=LC$ }YQC-%/%%:q{vЗl]OAEaA $?=B?=LH- sYC+!&.!ka{{ྙpot3$f\'4???CCCC2"}ynW%1.ZRǿ{ot˻֨w,Df/4C?98C==2$}snM#%3 *IN̶j]]]o޲;6F/2=4224C80$nicM . Nѿj]VRVpֹd6$XX+//+/22/==-$^YQC!   Z̤v]RJOV{Ë~K6(2'++-$,/222-^YWC#[ѶjVOJN[˫~tÙJ!;۾d\B2/'-//+/2,'^WQC!Z̪[UNNRjÃ@Fdd?4////%/+/,+ cQLC# ZѲh]RNUo֫]A3/;U, X///-49-%++%%sYG=% N̶voVRVo֞VFU~Jw?'//%4=/!!}cM8# 3jvj[haURVo֨ZP]hwO//+'/4=' siY=.:;@;7;INRJU{߹papڴVddL'//''-=4+ sc^H%   1..7AIRN]ߙ~ɴ,OO?"#'---244' ic^Q/  *EI;AEENh{ﻔξh7OO;#---042$ cYYM/" IaVNIRtڡd;OO;"//#-4-^QQG+""   &kjVRa{ֽذ~dB]F3'+--0+ TGG='"%  vǶaav㯂~[OO.+//$ cM<0 ""  jop؂wOJ2  !'-$^QG)  N{{ɾXpJ;#  ^MG5  j{{wXdF,#   TMG5    Iv{qtv{κ\\Xf]A,# cTG<  11& 1Zohhjjjo~~ĺmDBdV !##%'' cTG5 :::3&EV[aaaao{{w~XBU, !# """"' ^MG5 3:&:@@1 3OV[[[ht{{zfX7,%!# """$" ^M<0 @1::3&AJRR[ozm`KJ,!"$$ YG<0 Zg3&&&&&3;ENVpxmKB2-%! YG<)kkq:&&&.7;JpmK8!!! yeL &Zkb3&+,;dĺx`F2" "  һ_REZ!@k|bbbI1!! ,Opĺm`F'$+'$ w||g;Igb|kbgI!!!2BVpxfX8'-++" -" ~kR&&Aqbg|kI1 *2JXdf`mx`XF#%--''$" $8 ~_tjaI:1aqto__Z7&8>>6"""$""--R:_p__oBPE&J]P3AEA7     o;.*2,2FB/9,% #/,,,!%!#  _7!-%"'   _7+"$=48=+0''+-%$"++$$$""  @@@       " '$!)$' .) -!'#,#2!3% 2$.%2'.( 3(;&3*3/+0*<)5+!;,6.$A,:/#42+E->3H0?5(:65<>E5A7+G6)P3M8><2EJY>!RB)ID@QB5]?"YE$NP#UE5NGD_D![H)\F3SICdG#SW"OPLcI,eL&\MB[W-XQKkK*jO)^](kR+[UNmN5Z`4qR,yL-^XSiY1dVKbd/yP3sW-b[RvX/S-ek*`l9i]TyZ2y]5[1t_OmbY~^7np-_0{c<^{?sdZns:c3]f4r|0yi\yrAi8]Hd6kFzmcnCrrnk:nAn8w?|AdJrhp;qVq:sB|zsvh=lAvBmN}tIw=zI}ew{CM:|AO|T~MbBKjD@OXIMlFXS[XMTP_GW_T˔K[ȝYϛPcfMӠSʤfgפYӧcʵRzԮaĹmOY׳haӺjR~_tRfzЁk`zWshxXkp}]y_ހ}f~ima;  "@ "@ "@"@*hdZ*".&'07*@@öîhUîh=3uuuuuuuuuuuuo@,,uuuuY>>>>A>AAAAFFOOOaOaadaaaaddkkkkkkuvvvvuv~vvv~~~~J3)&QAA/ !!!!&333377=333377===@@@DUDJFJJJJUUUUUcxU3)!9-$  -6>VľdTH% &&&&),,,377333377377==@JhJ,!!l|qrg}µH/6HTd@777@DU@=@@@@DJDU\cchU=,!u忋µT:Tzv@@DUUJJJ\co~occcc\\U=,AuĿҦz:Tk@JhcchohhxhUU\hhc\D3!ġܿҼdHzh\U\\\cx\chooocJ3!!lI[jݺX^޼kmӥ|a\ccoxcoooxohJ3!!Э88C[pR^µmؾrThx~hooxoocJ3!!^#-8RjpqּzzǑrwlooxxoxxhD3!!|> .?[[[Xww㺋ɖmѽ5Wx\J,&uVP 5<8?IXCLpnտvmФg?`U@)&uM>* ""2P<-*CRf}ؤbܭ|gjƺU=))^A>" -**99EP_rgրzegU=)&ud^H:66  *PV|^rqmڌXgU=)&udAERp? <Ǘ|g|bґeƻ\=)&yn+qБlwΛmOrλ{Lh=)&L%%%qqqǑ|jn|lHVll}̳L2~~J73ų#C9*5-ıl}wjryųL8M~hD)&ݩ.+R}X*%']yY|đgPPjϺݻLC_~c@)&թf`8#Rfj<<09gԱ|EMwƭϊWRM_whD)&Ĕf? C[p[RP'0EgԁV^rƱϳf89_phD,&lYXC  Cf}RIP91NYeVHVrM9g8ahD,&Y>5%  Cf}?2M"X_'G_ԌMMHg_>Vǥ8+~\=&!Q9-%  IpC#CRQ';tE|^^gİg>9g_+ycD))K99%  OFQl5NN09o=,qQE9+.IC ?fL+L{C#"Pԗe/ zFd 1R <~xJ,YK>* #2#[W.(X %eE% MɼQ Erj 5vU,YXP< 2+?L< E>>Y^|qXC*s 9l#*c3 e_[R. +I?4 ?8#V5$$-*-" 5Mgll> -IFF eX[WB( ?I8{f ǧvmZ6$-/6$// %"# ey eXI8( ?IC `+TɐkkbA"mb /6$$$-_y} *Iy|  eQK5 ?2# BIOàɖzzzb:$O$$Zkv 5PrM YQK9   .#(njTTmbZZOZbbOO/TbZmǷ_ -IrrC YKKC+ +E.SnTzTѦTOzbmzzzbTFOOZԱ|X 8X_< eKK9 .E%4W%FAZvOZ¯vdĜVI 2RI%  lQ>-  #+#+#  #$/$TZFz–mz༯ۯFuHI #.* lYK-  ##  $DOzҼb6$:HbmOZ׍T:^<   lQE5     FzbO/-//:zz:/ZdO/-<   ueQXM%    köZ/*FOA>Abb//:/ZH-   |y_E5    $/$* OOZ^zZ6V  yP*#"   /T"*6$:ⱍA%-V  lY΋I<9-" Ak,dO$zdE*H  eYqͿjXM<29V> FF /F-6*> ܿq-%/A"/ב<+r2VA">  ΏI}}5FO-HA:ܷqXlq؍:-*/|   |lqr  $A$>5gЛXd>%H*   eYEݣI %" /$":XI_6$HV8 lYeؕ8 CC<8.R?8Xj[+$$6ě́/$-69+     eYI4S{ſwջi#$H^*qPH>-**  ##++% l (BSiջiB4qCPP^""   (# #*  P%+.4B`n`{ppfnS`nSBBĸM\  (# #  |"4SiW??LjiB />ݛ"%- ~A ..#..+#  XѲl*4`{npyl}pWW4( " __$*!O#+(  # <l9  +.88<2222..(    \oUU5 EMM95*   )&,&!  E       !!!   @@@     !$%!+ %''$-"*&$),**!626$2(.,$:(.1%7+ *1631(/6,A!D>/ /5<75'B3$4;3=7*2:CG(MK2"2=G@;.G7(4@KD>1N:(-:FPZ8&IA8BH:,[K8ET`WNBJURa;iNXF_O;HXeZPNkK0[T@dD_N[S`UB\TRiR;{F1Q_YM]l]]GsQ7gWF_ZUPe]qVkdNWi{O5xaH^mjngX[sk]>\ncCqkYwiP9AVkokcttjJ`t}kYb{sb@vr^nOgwsulk{y{wbfCa0;h}rYzzmWds}oHv\|gvrkz]vmqi}g{XrvruMhx}Sxms`m}`iz~w^xqe~pěnmu¢v¨ͤuɭƶز¼ǽмĵļ߽ůĜĐˮϣԯخ޻c;  "@ "@ "@"@*FKM*"Ǟ.0*@@ưʲʰwm}}}vv}ÿصw]VgPPWWLIW\efmzurmfQ@EIP\nt{ҢhRVlLB>;BEIhmruzzzhYMJEBBL^{ƭh_}xeB_hruuuruz~~mYJ:+)+6Ipָtiͺ޿rVQvveB>_zŽdM:?e˘iSS^ÿ䶲rVM~xq\;';_d@E\nKIKďƿްrQM}ql\;%%;V]M?===;1--))$($)=?1$$-:MvpPKcI]úÿذuVQ~l_M4"%)-01Ed|mY@--?PitgigMذuVQ}h_J0 $:Y~ФrJ::B^ڞW?|h]ԭuVMzhfQ0 $4Jm~ŤmDPiȮB):Q?YrVMxf_P0"  6@Yhd_UUUQD==44:=JY]V=?\賠{S6@]=)z]Vv_YQ4 +4"/4)0=??:4::=E@JQR?46114+-@nti\t{ȞW4]wYd_zvfB/03'  )1111=Edz̚Y?-+4?\S33AĘtE(4drf}leLGK^G2  ))14?Uhh|]:1(8_ߎG2 '')@_=8yyk㬍wh=Jvd_L*    !"?~u68`jbǵw|](.J~zxf@0)%   0mf@.Zs]ʍ|u877Jz_ME=4% "   ?|r:$CjC@d̟HTT.J~hM=;0  )  *VD-CZaC(1]찖u?`s7E~hE0)$ ($  )EduQ:"(.(-VҢY(7N. =~qU/ +(  )MrudE$ "?f||Жm4.$?rfM+ ) !  "=YuwV=(-DddE+  "0:~f_Q-    & +$$:JQYdwuY:(":RuR$ :M-++zh_E"  11  "16@QYYJE=J]uuudYJ:--:R]=$$-1=MME4 ~rfB   ))   0Em|mM?4((?]u|hD8Jdd=@rwuY40?4 qeL% +"  )JddYUE4-$$$-4?MMMDJYrdDMd]M)$4RY+ qgU3 *$ & =J?::10$$11""$((-@mJ-)) "1DM ~xq\B*%%!  )),+=40)"$-@YVRQ?+"""4Q+  $-$ 014"xlWB>>;366/%  52 0*"))4Drhdmur]@:=EJ44M]Yd?"1"+}qWWWLLWPLI6' &A! )?JMYdM@=Jm||dVVmwhMRuJ$) )glqe\qvlg\L>/%;$,1@@=---)%'0@Yr||wd:$1DD:/vxvgl}veP6% 6\e (MV4&,361Dud:0'1J$)vlq}gI6!'>Wx> 1YE  2GG<6ER><< -V$) }}eL>'3B\xx 1E*  ,L\egP  <5&KS{K25)/:J@4+$x\PIIIPWWL>/!  !$*/+$AXA'  1) ) D| %6%  ($"(4?=4$/B// 06  :V    $  1JEM1  % $))))$6  %==>;;>0!!!!!/@@@         !$!.#$!&-#' ! )%"&0&,$&%!(+,# )1,@%(*%*,$,11',+'&/45*"-..:Q4D W )27/139.$,49233-6;/8>?2(665 =`.;C3:?n C5)*>R;9;3>CG8.=<=6@FJr.R'?>>9BG7DNL<0 Rb>CBHM#P~HFF?JRRC6EKN%Z|Y:PeXF9COVLKKHOQPNLHRX\J<&`TSRLW\+jcQDNZaWWVN]eXYY*nU\`iUGR`f]\\ZacoXIUdna__Yei(|q]N\hnfcdu`R[lvmd`,kgfclo]nz}cOljjdpvarnmm0zj\ftwdvtqrkV3jy|izvvwn{oXm~tf8n}y{rq~}u[wr>yusz^x}{g~Kbkfwʝ|ͥƭۦ|Ӱ޴ڻ迕ɭ͟Զԫܾtd3--b -t-t+-r'-b ' zLMM  "@ "@ "@"@*;-!*" A0(,*@@|b͜s ŞsŞ}}}}}}}}}}}}}}}}}}}}}}}}}}s|qFFFFFFFFFFFFFFFFFFFFFFFFFFfttFFFFFFFFFFFFFFFFFFF }ssb t|ssb $Xծ|ssG Gmdf@flҷ|ssb w𶷷ҷlHEEGcuշ|ssG CCҷҶldmnhBCw |ssb uyƭyNJnYYIBCdx|ssG `jP]=RknkiXu{y||ssb 󷳗nP)!9VڳYNiH`dg|yl|ssG N궗[k[I!)!9)!D$kxmllllluG|ssb mXhM# *QR=1]kԯxoDBJNdlC|ssG N͝uN *9?9=hDKXmPHC|ssb CĞwddE  !*)]K֚xui |ssG EHavcCD  )m{d|ssb EGNu~~wgfC`C !! !*[շnhjf|ssG a`CHll`CBD +R9!!!'ڶn$ΙF|ssb H`CCld   $)PR  1nP|ssG EH`CCB  P#*[[*1)+D$*=]++|ssb DEC@CK[I !* !R=99T][ 1) ,­|ssG #CC `TR!  9[! !!!!?9ݵ|ssb %C *! !  )VI* !)! om[|ssG   B!#9) !9*][n_YPnܺ|ssb    #(RUV=)1& !=RP )!#$YJ|ssG   B*WWWW?*.1!& &3!=[ T_R|ssb  RWW)9:0 76&:)  *'|ssG  D,*V!=;V' 6*[ 5|ssb DLVR9!=:*߿6:R[]!]]  |ssG  D*!! )= ߿/9?!P5|ssb TL)!*:=)*;߿ ! IJ]߼|ssG IعV?=#=!9?)Q]!55  #n߼/|ssb I_ع+#*:RR*)]! -7#[|ssG M##L$ )Q)!9]nR/ =V*!!))'&)9|ssb D_S#$ #)*:VVRш)1?RVV1 )R[=]]|ssG IoK ! =RR;9ѻ[VRRR:R$|ssb N_OM % !:R<7Q:9WWѻVV|ssG #DND$%#)RV=):=|ssb D**#D*9):/9=ѦѶӻ|ssG  "*?,=Q#D,!R+/-ڳѕP b|ssb DD99=?\TD##L]9/!ڻ[ Riq|ssb IDDDB IRU\M$RIIPZՔ[([J=ot|wwtmMYYX# DHR#!D^Պ)T]kZ_JD QD^oX޵ k_ÛLYDI D?,#IIk,ؾش$YiiN]ZеtҵЩZ^DDND$?WW*DXiEk_Dml`P?UזTMIkIB*R[*HdiomkY^^ZY{iRL_\^_]^TMYPPJ#D$D*9R*DNPdmYYEHLTTZ^YSԎIT^%IPN%JXPPIRWQ"#NHEzìYkkEXljN??# ͞oP,#Y^YMYmokXPI%?QS?#)՚xd ҬB$ɟrFymP_nYToT%%$DNIY?uENCi$BğvrwuIIKM_YIL#XmPX^Y'*PhoXID|wuy^ILIPXk^okPP  $===UP_M,HIwuYI_mkoBEPYPV! Bl,IIDD`ƞy֙u  D_XMMYXIMIزV9?+,IKDDIDGA֚lBCdD##%II_ZQ,W!*#,DI%IJKIfu udCCyxNK##%YK[\Q)?QVQ:),#YY### j}Alddacy~ljP$%K^]QWQ!1WR9**,kDPi DudjulyNuyHiB#!Q)!= !!! !###$N%IEjry}wEdlwy|wwuuxuw}}uH  C`aCE|uFfsGC`CCGa`sbH`FFfeb``   bq`FbGC er l`bslfGf|w|subECq|prrss`CCCECCFassvv}blssvqqs@  @@\Uqp-\q\ q'q!> @!!!!!!!!!!!!!!)))))))1911199)!111!99!)!191!9!)!!1!!)!)1)9)))!1)!9)!91!))-1))11)91)533B JJFB!J!B!J!B)J)B)J)B)!J)!B1!B1)RRR)R)J1R1J1!R1!Z _!Z)e#Z1Z1!c1!k)B9)J1)J9!J9)R1)N=%Z9R9)?97J=5R=-RB1Z1)RJ1RF=RJJc1)c9Z9)ZB%c9!g=k9!c9)cB)Z91ZB1ZJ1cB1cJ1_J:^RFs+s5!k=%kB)+~6)sB%=)kB1kJ)kJ1sB1{J!uG.{J)G&pR.sJ9kR9oV9sZ9{J1J1{T.oRF{O{Bg1s>w={Bk^Rp`TuhT|iX^NkJkVsVcNlRsRsN{Rs^{cu]ZJhLcJhOsV{V~c_kJnSuURuNRXˉTxkl{cugmhxeɐkǜi֔s}Ȧxԩsޯyè֨ҷ갍콍Ȝʛܿϭީk;  "@ "@ "@"@*\D4*"to"S0@*@@b`CBCppE`Eppcp`CC`EC@`CC`b``pCCC  -%JH./JTjllT   brrrprcprbbrpbEb`CDEprr|pC H-JNJ-%ToT/   zpzzrprrbrcpIEIEcbEIzxpzJH-1T.SN-.   zzyzrzrczrbIIgB)))wTSN$H-) czrritgLL*1$*1(ڧNN- *1P1*Y6P1$*$*${l. $$6%*(PYPP*%$QP].  )P6P)^X^Y̔%  *$PY1PVPե QY^)YXWP^˻̷.P)$WYX*1VQ̻ɺ˽ɷ mY^P_PP)˷^^]^PY(ɶ*P^^VYڌɻoR-Y*PVPVYVL1.lƳʭ$%1**P^VQP^U::>WYtįƝS P)P^Yŧ;>ZQKLgMggMgeim^SPS^)PYV^Yœ;84&%)LS^XP$''8;[nc1*Y^^^eQm;8'!!!)1X^^1)':^V^^P^llj^WZ>44!!)$PR^_^P$$'9;Z ^PPXVW^^ٌumjYWWU9444''"!(1PVVP($*(5VVSIVP)YP^ӦwujSQL*K)%   !(PYmzW***)PãwjiSOHHFDF%    $1QjYP^P^PYmçulgeMIOegigH)   )*Nj V^VYL1æwntjgOMNeitvjiQL)) $)1SmƮ  Y^^1^^){{{wllliTggNLLLLMggiYgSK)$$(0*PYm R^^PPQSrOJOJHLHLLLLHLHH)FLSYjYSP)$$(PPXY)P^XP*jorNHHHHH.)-F)))))).LQYjYQP)$$$(7VRY^_S1%A YPPY^çwH%%%%%%)%)))1P11*)$((*7PVP11LNjNH V*$PrxJ B``pDDDFDHFHFFF)FA e{wHÏ% PPYP~~rl-Ebz}~~yyyyz~~~}zbDH]tѢw YP$Wz~~wnH e{~zMF)]˻ttA kvĦzǥoHCOħwwtgHC)Ng%ml}٧ŠwlOOcsr{{}tiIHFQ]L liuģwutuŧkF% Owڣǧɩ^^%%wlTɭYX^X^XVt ѣƭY^XVPVPXYQjk M祌ɮ^[X6((WQ1mQFĦwħƮ[V0(PV^VPPY)ܦwww^P*(PXYWP!$V[1Vm  ã}rz|~Žulltttmjjmk]m^P1*16(P*7$!P^Y iz|rqyƛliTgNSLL111P*PPWP1*)($$!$6R* }O~~yxxbIsƧojOSNL)))$%$!%$)"$(P#r{HwwlrrIEMIOɷwwTSL11))$  $$*  ctCtwulutI{ii׻tliLN111)*$  $!   eHgluutو͹jOH))$$$$$ X_X*$  H FOOtuwwv͸mF )S^P  %Hgtt›eښ̳vsF FevvX7 %HQijveMқׯ|yff AIq}}϶z[X* %FLSjmFHtȏ}}}sstQeqs||¯_WP %)1SQgmm)FQiȗkMMds}ϖ}ҷǮ[P$ ).1KDGeviifϼkiϾͽ˻X$  **)ADDMdssvve컮ϿνX!  !$*0)FFMMfsskQ込P# $1PPPV^m辩QK*$"j£5#*PPVXGD@@ABF췬辴P0,# )LPPqaGaDDabϻˡR<0# ))PPK)iaGDABDdSuλΡ[<<0)0PXkMeK*θF%AASQFBDbfz}®ʡmmPX<  $)6PV^[kgQMhQFWA%BDB@Daxysrsz{tjmjSSR<+"*PXXYVY^kiQQɝLABBDaD`x|~}vtszvjSQSX<#%1VY^[Y^mKYȭh%AAFBAGGbdx|X+0  *SYY^^Ymh*mkY)F%AFMessdsɶȶ\<+$   @@@ !!!!!!!!!!)))))!)!1 111!1!)!999!1!9!1)9)))1)119)9)91BBB!B!B)NL RZ B1J-V!Z)!%)!%%##&)!))))1!!1!)1)!1))11!9!!9)!9))91!91)B)B)!B1B1!B9!J!J)J)!J1J1!R%V1J9J9!R1!R9%%11!11)11119)1=--B)1B1)J))F3-J9)R1)F=-R9)RB)RJ),*99)9959D19J91L=5R=5RB93)B>1CDJK>RNHxcc%Z1!`6Z9!`?cB!Z9)Z91ZB)^=-cB)ZF5^F5]D?cBFk(kB!kJ!cJ)cJ1kD+gJ5hD?s%sF)kJ9kJB{/uJ70,hR6sR1ZJJ^NFZZ-k[=bTJr\F~R+R1Z)Z1{R=V;^?{ZJR)T+Z1X9c-c1c9h@Z5g3k9m?m9y?y<džB[NUfSVoXToaVxbRfPcNmOXJkLvRsMxOxLOLJMl]a~g]k`t]w_y]~]Zoblpoykfrz~|v}ree^hx{tʔRɖasȝqԞ`XΧusЪʳ׵⿒ɱ°ļϿ{"// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvEverythingNotify : Handles other sorts of replacements.. // =============================================================== class TvEverythingNotify expands EverythingNotify; simulated function PostBeginPlay() { local actor other; if (level.netmode!=nm_client) //mutator works on server. return; Super(SpawnNotify).PostBeginPlay(); //add. log ("TvEveryThing Notify Initialized"); ForEach Allactors(class'actor',other){ //mask. if (other.style==STY_NORMAL&&(other.IsA('decoration')&&((other.isa('tree')||left(getitemname(string(other.class)),5)~="plant"))||(other.role==role_authority&&other.isa('pawn')&&(other.isa('skaarjwarrior')||other.isa('krall')||other.isa('warlord')||other.isa('bird1')||other.isa('Slith')||other.isa('manta'))))) Other.Style=Sty_masked; if (other.IsA('scriptedpawn')&&!other.isa('tentacle')&&pawn(other).shadow==none) //no decal for them. scriptedpawn(other).Shadow = Spawn(class'TVpawnShadow',other,,other.location); if (other.class==class'tree5'||other.class==class'tree6'){ //replace palm trees w/ new mesh other.mesh=class'leetpalm'.default.mesh; other.prepivot.z-=16*other.drawscale; other.MultiSkins[0]=Texture'Jdmisgay12'; if (other.class==class'tree5') other.drawscale*=3.3; else other.drawscale*=3.85; other.SetCollisionSize(0.8*other.collisionradius,other.collisionheight); } } } simulated event Actor SpawnNotification(Actor other) { if (other.style==STY_NORMAL&&(other.IsA('decoration')&&((other.isa('tree')||left(getitemname(string(other.class)),5)~="plant"))||(other.role==role_authority&&other.isa('pawn')&&(other.isa('skaarjwarrior')||other.isa('krall')||other.isa('warlord')||other.isa('bird1')||other.isa('Slith')||other.isa('manta'))))) Other.Style=Sty_masked; if (other.IsA('scriptedpawn')&&!other.isa('tentacle')&&pawn(other).shadow==none) //no decal for them. scriptedpawn(other).Shadow = Spawn(class'TVpawnShadow',other,,other.location); return other; } @jjjokk'!!njirmkNJHxpkjc]5,$lf`ztmrlepiatoiXQH.*%*&!($<5,!JGC/) YVQPMH+(## 92'2+ ,&PLE($&")#omivsmnkepmgvrjnjb$ tpgURKNJA%#sqkSQKb_VTQH,) PL?~|someQOG @>5dc^JH>GD6zys\[Umk^LJ==;.pogDC;@>0vPOE21'.-#zynvujnmbpodxwkhg\dcWVUJ,+ $# 87';:)32!mmlHHGoommmiook--+rrmffaooiqqkkkemmgRRMaa[vvojjcKKFsskQQKmmeMMGOOIiiaqqhUUNSSKsshOOGQQIZZQMME@@9JJBGG?++&qqd))$SSH<<4oo`880''!NNB%%##RRD..&44+!!++#''QQ@BB4%%)) ##!!''%% !!00 ((,, JK8*+01)qshsujkmbmodQSH)+ ')FGBMOEKMC%'#%+-$qskmogQSKMOGoqjkmf!#! #RUKmoi"# run"%JNF(,$$( MQJQUOGKESYP05.)0'nrm!$,#jnjHOIgkkkkmv;NMq;  " " ""**77A"=o0*@ͻccccccccc̝yyyyyڤ~ުqqqmmmmqƾzvvvvzưlSllYYYռ¬l{{{{{rrrԺʱ{||]b{{ԺռDZ||||||Vsʼǭnnns˽Ŵnt}k}}tnѽȸwwhhxx}tkkǽÿ}}www}}}}ȿwxxhwwxxw}ŷwxhwwxxww}˽ŷwwwxxxxux}ŷt}wwufjuuuw˽ſwwuuuxuuxѽ˽öwxx}}xuxwݺſ}hxxx}ȿ}hxxhxwѽſwxuuuux˽ýÿ}wufuuuwȽŷ}xuuuuu}ѽ÷}wxxwxuuuſſww}}wxjjfuѽſ˽ſ}}}ujjjjuſŽſtxjjiiowöÿ}ujaggixnöſujjiggowklֽŷŷxjiiiajuhrѽſŷwjiiijjjh[ѽſ}uiiiiijf[eϽŸ}jggggif[_ȿxa^^gifb_ófg^^ga]@ֽ}j^\WKA@ŸwiWW;=@ѿ}u^X;=@ֽtwxw}j\;=@ֽxjju}}}wwwwxaK1@÷xj^gfxxxuxwwxjA,îwj^\^jffuuxw}}D,ֽ}fg\W\gjjjuw}}}t[@øwjgWW\giojuxxxw}kr_ôwf^WX\gojjjjjfuwZeŨwj\XX\ioojjjjfh[~ѷuiWTT\gojjjjfh[~îwj^XTT\ijjoofh[~Ŵwo\X8T^jjiijxZ~Ŵxj\TPT^aaijxZ~ֽŴxi\TPX;aajhZeֽ}ugWTPT;afhZ~ֽwugWPPX^fhr~ֽwj^XTTXaxZ~ø}f^XPT\fZ~Ŵ}j^XPXjZ~÷xa\TXgb~ôxi\X^]_Ũ}ui^^]@ѿ}uaa]@ѿwxf]@ѿwb_ѿreѷl~îøֽyǽ̥ǫʾҵҵҵ|sƫt skxwβsnxjuβrha^fεtfa\Wjs}jj^XXfs}ji^XPTu{wjgWX8>Xxy{|nwfg\WW8>X}z{stwuj^\WXP?Wz|kxfj^\XX85?\pz{|tfai^WXT>?5?^vrtfa^WXTP??55?adv|skxa\XXX>??555>jc_vSbVnkhj^XXX>??55<?<<5-2999>w@YbV`khfa\T?5<<2229999TtJ[V6HEag^W>5<222299992X@GABIEa\\WX?<22229999/2\dR[6HEK^W\WP522229/99/02^+3DBEa^\WWT?52299////00529//////0.0?wOG=:K8P>>?<9//////0..0>+FYD6EaKK;8>??>??5555>KeRL4[[bbA====111111AMz@ 33<77A55?66@&33=22<""*..844?%%.++522=&//:00; %""+$&&0 $$.%%/))4 ''2 ..; --: (++8,,9!"**7&))6 *''4$ %%2((6##0''5&&4!!. ,&&5  !* .$$3""1##2$(!!0 &   , 0#&*. 1 (/*-,!+)( '  &  $) "% #%( #  " !         s;  " " ""**"c$x0Q*@iplfglls_hCC\\\_llglggl\ g~ lfoofsslB_~w~lllxxleCwf\_sggllll~egggggggloTTlfggggggggggflplfggggggfgffgg/e{elf~gnt_hfehwfllfll /lo_lf**xegehsm_fxxxx~x\\/llggllx~gggggfgtNTnggggggggglnllg/gssfff/Hopfffgpoe\_mfrCxlgglss\Nflosfl*Celf_g_\fxefx/f_\/lf_gglsx~llgfmltt ggggggfggff/llttffghzmpoollgoollf\rrwhsg]gls\_gggonflxwxlglf\gsllffgll_\lgl*~lGlmnnllglexslfffgfffffgfgmnplolfgfg}JUNlfpmgooflg\\CwCxlgggg]gfooggggggxC ~ggffo~*Gehffgffg~l*slltTprnoggffggff//mffnl~TinpgrIJJCwwxwvI||cc1||zI:PΛO

z"#ʾ bϱȿKE|+#ʾ`JbdDzKMK'|IWKP:5KXӴE"IҮܑ0X("+6̘8ܗͲXV[E̊͗ܧ:ιF6̘FL::'6𤴺8L' FF8ɹM6c ̘LL:͘ʷå̘LF::̫ʷ̘̌ ʿI̘̘̊ X̘ʷ̘Զ|6:ʷȟMI ̎`JLǏ[ʷҺF̄עίI̘WLM̊JҤI̘ZӺմ+̎ȃɷM"!"ȲPɶȱ"">I9#Աɲʺլ!>#J|":VML+"#γI"+:Ȧ,LME"Oγ"ȠO-L#K7-F#7jKPQK낑șͨ̏cIJq̈̎jOOj뉏EEǦP늌OɦͲK̡ܠͦQE׀ͥ^OjQҤIIaݔk`;EEEIّΟF`jq넢EEqjןq``ȯkjȥҟckcc`ױckckjjjJkck͗Ηy2kkPΧPPy2ȟǧ$EuȟqΧI,P7&uZ7,Q&u6 :ןү!VZןE22 VZO`J2a2 !Qן Ǩץ2Zץפ2S0-FE ISɷɱEEI٫ZEIYŨɲFEYԱɟEEIOO;ץck̂,0kk"II"#O,EȟȲ"+#ΨVK>7;4-XRK;3*a\V:61[XT  _[U <94A<41,$ ,+)  [XQ>:1 \ZU <;8  63)FD;+)  $!fe`DA2 YXRUTNYWL  ^]VPOH:91   _^U&$cbW]\Q   VVU[[Z%%$XXV663YYTZZU[[VVVQcc]884\\V]]W^^X``Zaa[ RRL\\U^^WIICVVOXXQ BB>8LLE[[S771 //)881**$@@8``U;;3<<455-22*[[N&&77. --%<<211(BB5%% <<.  77) ##.. ;;*     !! deZ  34, ![\U  9;4:<5 >A9!$     120  6;3380X\V -3+ V[U  787RVVRRU88; ;;4]3Pw2-S-S uEK+LRIFFpWAVEfmt "V"Vdata`p~~||}~|z{|}|{{}~|{~}~}}}}{zz|~}zyx||z{~}{zzzxvuvy{yvuw{~~|{|~~}}~}{xy{}}{yy{}~~}}~~~~|zyz{|{yxyz{{{|}}}||}~~}{zz{{{{zzzzzz{|}}}||~~}||}}|{{{{{zyz{|{zyz{{{yxxyyyyyyzzzyz|}}|{{}~~~~~~~}}~~}||}~~}||}}}~~~~~}rlsdMOiq`d{ttae}_a{zsruibn}uhbelpopwz{wvv|~ysuus}toquuqpt{~{vx~|{xtruz}{vtx~}~~}{z{|{ywy}ywxyzxutw}|xwz}}{xy}|yy{}}}|}~||}lXVkoD1Kn|sT]}\]{xfh|pXUh}qq|}nhqz{zoluytv{}zursx~|{|~ywxz{zyz|~}~{z|yvvx||wsrw~~fNOl|J5UĿy|mLTvmzg[`u~v{vr}~wz{xuvz|wvzywz}}~}{|~}||}wpszwv~|yy|~~{`KRu}O@aw|hsuU`~ry|utwxwsoroqtt{x~oho}}{}{}zw{{vx~|~zwy~~~||}~~~|tpquz~~~}~|{yxz|iC3Or:={ȜjaZIo˨jIfȸ_Yk|~tnsokYI_}t~nblroniqz|uptx}xloz}rs}sknz}vv}{||xrsz{{zvy~~zz|y{}~}~}|zyyyxvuuy}~~~}zwwy{}|{{}~}}~~}~vP7IN?gkf^FhжwKVkl~so|vZWsd]r|~{kmuo}uwzmlzuov}ss|~{uwtu{|vos~{st}|z}|wyyx{wy~}|yw{ywz~}|wx~|{~||}|zz|~}}~{zz{}~~vnns~~yz~|wyy~wtv|}~}{yxyz}~ywx}~~|}p\Ugzaax{luy``n`qzt}~txl`lvms}uuzjer{{}~ttvsw{{yz~}vru~voqy~z{yuz}|}|yvw}~vsw}wuwz{{}~zz}||}zy{|xxz}~}|}|ywx{~|{{}~~|{|~}~~}}{zy{}}zyyz|yxz|~|zz{|}}||~~~|z{{}}||~}|}}}}|{|}~~}|~}}~vpr}xswyy|oit|rt~~|~xx|vy}}|xy~vtx}~}}~zxz~zz~~zx{}z{~~|{}}zz~~{|}~~~~~|{~~{z{}~~~~}||~}|{|}~~~~}}}~~~}||}~~~~~~}}}~~~}}~~~~~~~}|}~~}||}~~}~~}}~~~~~~~~}||}~}||~~~~~||~}{}~||~~||}~|}~}}~~~~~~~~~~~~~~~~~~|~~~~|~~~~~~}~~~}}~~}}~z~}~}~|~~~}~}}~}}|||}~x||~}~~~~}~|~~~|~}|~z{|~}~|{}|z|t|yw}yz~z~}|yvrwt}yt~{|~x}zz}}t~t{wr}|{wzxv~yzv{y{xu~ry~n{yz|uzzs{w}o|twl}rlvvx~|tzxz~}xvs}vv{|~xwzfu{l~p|z}~|lojutoxexyy~x}~y}ulu~vz{~vtiscv~q}svxz}uv|tvwx~sryut{p~|{wv|v}w{~jx{zvzw|yypynxvmy}qqn|r{y{s}}}{}|}{|}t{kzq|m{n~v~qiwryz~{}wz{{{z}{uqwztw{~~{|}y{|~yv{i{|z}n|syx~{~xyz~py||{y~}xy|x}{y~|x~}~y|~~yz}z|}}{wu{~zzyxy}}~y}yvyy}~{z~}|~~y~}}{y{~z{}~~}|v{~sw~z}~|~~z}|}{|x}~{yxy~}~{}||~~}|}}}{z{yx~}zyzz}{z|||}}~}~|~}{}~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}~~}}}}~}}}}}}}}}}}||}}}}}}}}||||||||||||||||{{|||{{{{{|||{{{{{{{{{|{{{{{{{zz{{{zzzzz{{zzzzzzz{zzzzzzyyyyyyyxyyyxxxxwxxxxwwxwwwwvvvuuuvvvvuuuuuuuuuttuuuttttttttttttttttuttttttttttttttstsssssrrrrrrrrqqqqqqqqqqqqrrrrrrrrrrrrrrrsrrrqrrrrrrrrrrrrrqrrrrrrrrqqrrrrrrqqqqqqqqqqpqppppppppppppqqqqpqqqqqrqqqqqqrqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrsrssrrrrssrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqqqqqqqqppppppqpqppppppppppoooooppooooooooooooooooooonoooooooooooooooooooooonnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnmnnmnmmnmmnmmmnmmnnnnnnmmnnnnnnmmmnnnnnnmmmmnnnnmmmnnnnnnmmmmmnmnmmmmmnnnmmmmmmmnnnnnnnnnnnoooooooopopppppppppppppqqqqqqqqqqqrrrrrrrrsssssssstttssssstttttttttttttttttuuuuuuvvvuuvvwvvvvvwwwvwwwwwwwwxxwwwwxxxxxxxxyyyyyyyyyyyyzyyyyyyyyyzzzzzzzzzzzzzzzz{{{{{{{{{{|||||||||||||||||}}}}}}}~}~~~~~~~~~xuwyxurruxxxx{~~{z|~~|~unnsvtniks}{xwvsqpqtxz{|~~~}~~|zzz|~~|{{{|}}~}|woigjopjden{|xtrponnlkkmrw{zxwxwvtttvwxy{~}|{|~~}}|yvvwwyzzz|~}}{zyxyz|}~~ypjfe_[Z^gnrqpu~|wqkd_\]`ekot{|xusqomlllmopsv{|yuromllmptx{~}{xurqpqqqrsux{~~smjhedacmv~|vqnmmmnnnqtx}}yvrpooqsux|}{yvuuuvxz|~}{yxxxxxyz{|~~~vokiihjoz~}{|{vrpquy}~}||}~}}}~wspkfbkz~yvyzusux|zvuvx||zyy{}~}}~~|||{|||}wroponqxywxyzz~~}}|ywx}|tporpppwypquyxw|~xsrvz|{{}}}}~~~~zrqttspw{pffnw}}{}yy||xtux~~ywx{{{}~~||}~~~~~}}~~~}||||}~urvy{w{zzvrhgks{utz~zy}}xuvzzzz|~|yxy}~|}~~~~~}}~~~~}|||~yvx~|xwuvvy}~{{yxvvy}~||~~~}{{|~~}|{}~}|||~~~~~~~~~~~~|||}}~~~~~}}}}}~~~}~~~~~~}}||}}~~~}}}}||}}~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~}~~~~~~}~~~~~~~}}}}~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~}}}|}}~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}~~~~~}}}}}}}}~~~~~~~~~~~~~}}}}}}}}}}}~~~~~~~~}}}}}}}}}~~~~}}}}}}}}}~~~}}}}||||||||}}}}}}}}}}|||||||||||||||||||||||||||||||||{{{{||||}}}||{{{{|||||}}}}}||{{{{{{{{{{{{{||||||||||{{{{{{{{{|||}|||||||||{||{|||||||{||{|{{|{||||{{{{{{{{{{{{||||{{{{{{{{{||||{{{{{{{{{{{{||{{{{{{{{{{{{{|{|{{{{{{{{{{{{{{{{{{zz{{{{{{{zzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{zzz{{{{{{{{zzzzzzzzz{{{zzzzzzzzzz{{zzzz{zzzzzzz{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{zzzzzzzzzzzzzzzz{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{{{zzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|||||||||||||||||||||||||||||||||||||||||||||||||||||||{{{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||}}|||||||||||||||||||}}}}}}|||||||||||||||||||||||||||||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~v|isxyhkjq}y~{{}{~}|~zy{ryn}vw}vyyzvl|}qtvlm}wgyoh|j|izyx{|vtr}y}}ugv|oxt{qrvdxyru|oyw}kxwsy}qx{nxnzxy~{~xy~xurqvswvv}yw{szrzw~|xxusywyt}}qz{~oxdt{zlqq}gjk|s]onvmls{igpoi~d}s}~z}xuzo{nl}ts{}{yvxyvx|~{vzwzu{x~|~}|yz}wyxvyqw}}y}y{~w~wwwyv}y}z}}}~}{}}~}}~{~}~||}~yw}~ict}vpnxqfo~yz||{~{xz{lis~~{{|}ztry~uqv|xy|~||{}yw{}z}lppW]vyoytXM`l]e|zpp~}|x{wx{{rgblpejv}}ysxur|}zuv}||||~~~~|}}uJ5Nktb@:\fU_zndl|x~zsx~y}{vw{|xqntsieiq}sjjs~yuw}}~xu{}truw{~woov~}~~}lhrƌK0Bo[5+Q{cdrynbbpyrzvqw|tr~qnwyppxzsu{|zzwsoqzsnp||qrz}~ytu|vy~{wswvty}~|xz{uuz~z}kdihT[ryWDW~y}|qbcq~uqtyytv|yljw|vux}{|~~{xwz~zwxz|}~~|xuvy|}|{z|}}|yy|~}}}|~~~~|{}}{{|}|yxxz}}|zz{}~}}{{|}}}~}~~~}||}~~~}}}}}}|{{}}}}~~~~}||}~~~~~~}}~}||~~}||~~~~~~}|}}||||~~~}}}~~~~~~}~~~~~~~~}||||}}~~~~}|}~~}~~~~~}|}~~~~~~~~~~}}~}}||}~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}}||}~~~}}~~~~~~~~}}}x`_mqlovupygGVli]_jwq`e|}z|~~}|yz}||}z~}~|yyz~zwur{}~}wuwz~~|y|}~~|}}zwx~~~{xu[Udx~c]cp|xjdk~}~zzxcal~ggrwwc_g}gdptomju{orx{y{vnyyc\jym`]mtd_fmvyrmkns|~rqy}x}}tu|zxx{yuzzx|~yx{~~{xz~{rmmvtgjwzljvyorsgl~snt~{x}{pnu~|{{zytsz}ups}||~~xaSW~PEm<GęhHBGN\t{kbak}|ujv{faprhfjpuy~td]dq{}zy}yohkv{uwy{|us~|i_cvtdZ[j~se_dow~}zvqnqx{tqu~zxz{TM+ 4ȧ5 $Ɔ[\moaT^}tYlӥtdv|aUjTAFWeihip{}jTJTkpgp|xhUQUolI:D]pvtlc_`izpflwsvz|j`esvqqrvrnmr{uvY/*a+ /jxq~6 4}ss|nT`{w}{^;+:_{ud^\\VMLUi{qwvk_VSV]dkswshWLOVRSd~]Xosnwzrs|ypb]ba^aht~l^`mzP tL +rbBI#N֫qf|qde€?+AYUABjS&*Quwq{ξ~qpnf`j\A=HU[_gqxyuttvzyv}{tov~mSBGUfv|wsnhhhiou}y{xolnw|zwvyzywtssw}k?*5__Ibfv@#LIJivq{xXTqvr~vbd~oRUx{wzzskm{vt|qtvjo}wv|vjfsvv~}{{yy~~{|}uv~xvy{zwx}~|~}}}}}}~~yx}}yy{{zz}~{y{~}yrrz~~yrs|zux}~}xty~||z}~~}{|tglsuvx}fdu{|}ut~xmny}uwusywsx~xy~|vu}|z~~|}y|}z|~xw{~|{y|~z{~~{z~}{|~{xz||~~|}~~~}|zz}}{}~|}~|{}}{|~~~~}}~|{}}}~~~|~~~~~~}~~{{{wy~|{}|yz}~~{|~}~}~~|{~~}~~~~~~~}}~}ww~}{}{ux}}{y|}{}}|{{}~}~~|~~~}~~}~}~}~~|~}}~~~}~~usv{|~~}~z|~~||~|{{{}}{{~~~~oYRjoctvevRDj|wtr}mlyz{qfuuem{}tpxzz}w{vqw~{{{vy|yz|}z{}|xx{~}|}~||~||~{xy}~~~~~{|~~~|}~|z{|~~~~|}~~}}~}||~~~~~|tppt~~}}}|yy{}~{yz}~{z{|~~~~~}}}}}~{eV`oo|qmz}pq{yv}~{wzwxxwy|~~}~yrqx{|}~~zwx|}{{}~}||}}{z|~}|{{{z{|}~}}~~}||}~~~~~~|{|||||~~}~~~~~}}}~~~~~~~~~~~~~~~~}|}~~~~~~zwuuz~}|{{~}}}|}}|~~}{yz{~~~{uvy~}yuvx~}sqv~}{z}}~}yxxyzz|~|zzz|~~}{zyyz|~~}||||{|~~~~~~|||}~~~~}~}~~~}}|}~~}~~~~~~~~~}zzyz}~|{z{{~~~~~~}||}}~~~}~~~~~~~}~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}||{{||}~~}|||}~||||}}~~~~}|||}~~~}~}}}}~~~~}}}~~~~~~~~~~~~@ !!!"""###$$$%%%((()))***+++---///000111444555AAABBBDDDNNNQQQRRRSSSTTTUUUWWWYYY```aaacccfffgggiiijjjkkklllmmmnnnooopppqqqrrrtttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~E +VRIFF@WAVEfmt "V"Vfact@data@uuvuuuuuuutuutuvuuuuuuuvvvuvvvvvuuvvvvvvvvuuvvvvvuvvuvvvvwvvvvvvvvvvvvvuuvvvvvvvvvvvuvvvvvvvvvvvvuuvvvvvvvvvwwvvwvvvvvvvwwvvwwvvwvwwwwwwwwwwwwwwwwwwwwwwxxxwxxxxxxxxxxxxxxwxxxxxxxxxwxxxxxwxxxxxxxxxxxxxxxxxyyxxyyxyyyyyyyyyyyyyyyzzzyzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{zzzz{{{{{{{{{{{{z{{{zzzz{{{{{{{{{{{{{|{{|{{||||||||||}||||||}|||||||}|||||||||||}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}}}}}}}}}}}}}}}}|||||||||}}}|||||}||||||}|||||{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{zzz{zyyzzzyxyyyyyyyyyyyyyyyyyyyyyyzyyzzyzyyyyyyyxxyyyyxyzxyyzzxxzzyxxyxvxxwwvwwwwwwwvvvwxwvwxxwvuvyxvvvxxwwvwxwwwvwvwxxwtuvwwutuvwutuwwtsrvvsstuutssstssrssqsrqrrrrrrqsrqsrssstrtursvutuuutuvuuxwuuvwtwytvxwvtwzzxvvxyxvwzzwuux|xtwxxwuuvxxuuxvwywzwtvvwwtswxxsqwxwutswwsuuwvtuwuuvswvqw{wxssxuzvssvzutttwvstsuzsrusvuttrwzvsrquxxupsytrsqxxwwsxyvussxztrrtztrsqywqtvsvps{qsssyvupq{ypqvwwutswxsvtsxsvxtvtsytvyovyqwtsyvutvxqtzsuxpv{usrwxpxxquzxvrozxzzrszxsxtwvtxtzysuvryytvlysxxsxtsxrywswxvrutxtpyuwvrvwtsut{ukyzvqqzvyvmo|ztrp|}ppmswttt{yxuoqz}{qqvuupyqy~rrwzywuvtqzwzyry|w}vr{wvyxt{qs~qmxxurr|wuxnzrwuxzuuyxowx|ptuqlzq~srr~wu~vsuq}tzpvv}wvxvz}{zwtwx}|xru{{wxow{wu|}r|ss{z|xt}~~wqnxujv~~yt{rw|ottv{|~u}vsv~zp}xu|uywoztvvutqwz{w|tw}}pytp|muom}g}s|st~sw}~znuzxvsv~uuur{~vvvs|w~sxxw{tyyuuyr|rq}su~rywsxyu{xrh~iwmx{|osywporzt{moy}xvyu{xvr|x{w|xzsvvsztxx|{~zkx}ol|{bxxizo{plvswwes|qswpzezx|i|oi{up~~{zzrwr}vxpsoyr~sov~~wxzlik{zx}wkytgv|usuzup|svgsjgrkbn_qbyan|zop|lf{n~h|luyo}}v{v}jz|k{mz|pp{wqa~^ska`in{{ytc_ukx|]xpvf}~}i~{ptrx}sj|sr{mgucrt|nuusp~ykvmz{su~}lvxw}uu|}wywslpk||w}v~dwpydr~u|wm^^|zyp|y~jpwzeb\jv{wigzd~m|jsjy]af}}s{n|n~sj_WZXavSff|gu}m|V{uww|qys~xtr~{{v~spqUssiuzl`tpri[|z{}uwv{nxp{|vzQlripdhqz[y}ndiuW`jvpe}[lrrZk{ubvr|{xmwzwzzpyis~thw{XrgujdaZnr^[{Xoz_}ksuxs|m|w{sxglnzclywzu}{qspj~nwpziq}ny|m~~phtml}n{lm~|suz|zyp{xmmxzrurlvx}mrttiysttzxyx|vz~t{uqoql~vktkznpqw{rtsvuqq|nxyw}ryvy}upz{o}xlzuulsxp~wmrvsmigv[|l|cxj~k{xqpv|squywupuu}nxyk{o~qjmqhq}ospqwumusqwnkzmposuvzevus{fwrtwnpjvjqmwwnpmsyhkrrsnknrinlmyehrhvojqlrsmnssuqfsxsrhqtqxofxpuudvqusmnpumrjnxkmpnopoqolonnnnolmlnpkmnnqmnrloporpqqrtqqqstrosrmtmornrormnomrmqrnqoqsqtpsuqtqquvsttotusrqsrutsrqsswpqxuvpuutxrsxxuuuwwuuuvvwttvvwuuuvxwwwxwwxyzwz{yzyyyzzxyzyxxyyywvy{xxzy{y{zy|{||{{|}||{}||}{}{y||||z{}|{{{~~{|}~}|}|~}|}~|{}~}}|||}}z|~}|{}~}}|{~~}{z}|z||||{|||||{zzz|{yzzzzzzy{zu||xzyz|yy{y{zvz|y|yy}{yzz{{yz{zxyzzyvxyyyxw{yxxwzz|yyzy}|y||{||||{{{z{|z{|{{|||z{||}z||{}{|z|}z{{|zzzv{|yywyzyxyyxyxyxwyxyxyxy|{{zz}~}}}|~}vluy}~xy|zwy}|wxwy|w||x~zz||y|{~||xqv}}{}z}uzv||z~y{qx~{~}~y}~{~zt{w~~~|}}}{t}~z~}|v|xz}{zxxv~tk|p}z|wx{sty~tzt{ywso{zzxxzgyph{zz|~t|~~~w|~}xhktjjjrqktyqz}rw|{ǼyJ*8tϭm=8TgXDNekΤsm߿vouT2+Ftmirzwrvƺ}wn`>E?  %6/>owC9ge]Ϸ}澎mcm|}jSKYjrmaUG4Cvo[YfyǮʹ{y}ut¾W#N¥K @@,2Z^>LYW࿗ӷxnykK=DU`a[PF7#4_}fX[lͼ{ste]^lwifktwoc^izä_5`- "(VwrR=PgSiգ~ּbOZjgO95@ORJ@71#5cm_^ep~Žy}[8*4FPU]geXHAEQ^fhm{ã~X,%z0 (Za=AmuZAMrӣs`iδ~E+2+1ZswjUECM_z}tonmfQ<9@?2$"#,/'!#/>Tistu|j[<Z<3^>&V[KLgƔgS\sǽB 5\ruhWKELeƧ~y{||zwk]NE30HYk|Ǽ}nfaQ .d:Awb.O͘zopzH )Ot~~~t`H3)&# 2?=/" "!-S˾shchovp[% iL [ҥl^gD5=^) %60 8V[RO]~Ɲmeju{qZA1/10' !YqZV[kqdfiwt? v wاj=-4Oi *RoviQ;@Z}֫ۢu[WcsvcM;1/3761,+@p§nq˿ŷ~mcdpzZB 2  $8跗ߛaA>F[зr  "N{gH@Rvҿ鹃[HIZrrS:/09GSZ_hicr~ٺڿ|ut|{vvtmlkQ C!-71Fȉv̱o[WZc}=@bkH=OsȩdTYpxaK<9G]pwvtrneezȾɶ{}{wyevR,(]~ciƧ̫{maaΑC 9]Q)3[ѴscjaC26Li~vg\UMN_y˸}{p6 .3+lU^{ʯӻrjlװh!K{e.._һqriI;=Mcyr^OHHKUjDzzsy{sry~yU < gb54Z¥ȿϼ8 Ra)H}k]buùĺuR>>PkwY>..;QixhdoþqedmytA ɽm ;}ĂG5N|Üm0Hsi> 6i{eTQ^wiUP\sz[B68H]pwrkea_bgozüzssrutoR W˔4 !_S"%P互O'$CnkH"%Y{[C9C^uilzeL>?OezsW?9FZkvyy|~ztwxd]dvnR$  7ͱU2_ˣb,&JͮlD3DltI$1X{nO81;UuzudMEOd{taOC;:KjykcdnuvyĿyswsnrvndX@ /i9nȨd $i㼏pnµnYYqtI)&=_pG'1Rwu`_uqfdlzt`PHJUdqz~{kYQVfyvosweXN@-(ST)Wtb)3tϯro¾~gH9zޱwME_ͯ~{x{|ngkx~q`RKMYhwvcQIQilcj~}|ywtrtxz|{wqmkmqx~}zyz~}|||}zurqsx{{zyzwuux{}z}}umhgli^TNWci_M@>IVacdb_]\^eq~|tpmmoqrrnga^^bhlnopqsttuy|{~}}}}zz}|ww{{yy{}~}{ywvw{}xxyz|}xrquy~|xtppsy{{wqmllkkklmnmkjihbYSV`nwtgWOPZgryzunfcelw}utz~}zwtstx{}}{wuttuw{{y{~}{yz|~~|zwutvwyz{zyyyyy{}}zx{~{||{z{}|xvx|~~~~}|zxwxz|}~}}|{{zxwx|ysqv{{tnlow~ytpnnnoqv{zvofbchmqspmheeehlorsspmmqv{||zz~~}~~}}}{zyyzzyxx|~zvuy~|z{}|~~|}|}}||{|}~}||}}|}{zy|}yvx{~}zxwx{||{xussttwwtlcafpz{rh`_ciptutqmjjou{}yxy~}|}|ywx{}{{{|~~}~wuy{trv{tt{yx{~{z|zxx|~xqlkmppmjgffhijlmnnmlnqux{}~}~|{~~~~||~|upmmoomjiihgcabfjlkhhkostuvx{~}|{{{zzyxvuuvwxxxy{}~~~~~~~~|yy{~{{}~ywvqeTFG`z<$dV:/6Jic:4V羋h`rɸnl|sbdrzrpppmhefimnnnquxvogelzzqqz}~{yyz}|vqoptxyxvuuvxyyyy{}~}}}~~|rbMAIm¸. ,x< &@dL#Z^?JvλnagĬ^O\{xgdny}yrooqqopvzkadvnirzyrq|xwz~|uqqv}zttx}zz~~zwwz|~}{wutuwz{{}~~|{{}|nWDFh̙= #ʆG')=ZwСZ7d;:_Ȼp][mƹgMPnjajxysqrsqor|vd[cywdanxpq~xklzytv{|tor||sos{{xx|{yy{|}|{wvtsstuuuvwy{||zxwy}}~u_JFbΦS p͓\:6BSgԳq.*rzLAX{}eX`|qSPil_dr~|xtoifjwmZVetffo}sil|vlp||zyyy|wppwvnnvyuuy{wyz|~|xussvxzzzyyxwvwz}}{{~~}kYP^~zF&+PhVMJQea=9Wȼ{geq{nlx}f_jxhadlvvj_\ctr_[fzxqqv{qpz{uv}ytsu|}smls}{roqw~{wvzzy}~|~zyz~}xvx}|{{~|ywwxy{|{zxvtuw{~zwx||}{xxz}~ynaWU_ot_OIP_ssd[\i}vquzz~~sjgjqy~}woga`emwvlffnzzvy~}{wuuvy{{zvronquy||yurrtx|~||~|ywx{}~~}{yxwxy{}~~|{|}~}}~}{{{zzzz{{{zyy{}~||}}{zz{}~zwwwxz||||zxwwvvvuspjc]]fto]UWbp}|qihq{w|~}{qkkqz|sicdiov{~}yslikt~|yy}}z{ytrsvz}~ytpnpu{~~}zxxy{}~|{yyz{|||{zz{|}~~~~}~~~~~}|{{{|}~~}}~~}~~~{xvvwxywti[RQ^trb[Z`gozrko|}yz{pfcgovz{xtqmifflv~xtu{~}~zvtsuw{|vplmrw{||{zzz{|~|yy{~}zxwwxz|~~}{z{}~~~~~~~~}{{}~~|||}~}~~}}|{z{}~}}||}}~~}{{||}}{ywvvvvqg[SUaq}|uplhdbeo{z~xrqty}~|wqlhedejqy}|wqnnrw|}yvuvx{}|zvrppqsuwy{||{zz|~~|zyyzz{{{yxxxxyz{||}}~~}{trst~{|}{zxz}}~~}|}}~}|{zz{{}~~}|}~}||||}}~~~}{{yz{|}}}{{{}~~~~||zzyumc\Zalw}}{wtnhddkv~yusrrtwyzzwrlggjpw|~~}{{|~~~zwtrrtvy{|}|zxwwy|~~}}}}~~}}|{zzzz{|}~~~|{zzz{{|}~~~~~~}}}||||||||{vwvv~}~||~{xwtusvxz~}}}}}{zyxyyzzz{|}}}|}~~~||{{{z{zzzz{{}}~~}}~~~|wojilty~{tompv~~{xvvwz~~|ywvvx}~~}~~||||~~}}}~~|~~~~~~~{}{}~~~~{yyyz{}~~}}}~~~~|{zyyz{||yuqprvy}}{z|}}}}}}}{ywvwx{~~}|}~~}}||{||}~~~~~~~~~~~~~~~~~~~~~||z{}}{}{~}|}{}}}}||zzxwyz~~~~~~||{z{z{z{zzzyzz|}~}~~~zuqnnqtxz}~}zwtstw|~~}}}|zxwvvwxy{|}|{zxxxz}~~}}}~~~}{zyyyz{|}}}|{zz{|}~~}~~~~~}}||{{||}}}}}}||}}~~~~~~~}|{{{{|}}}}}}}}}}~~}}}}}}}}}}|||{{|||}}}}}}}}}~~~~}}}||||||}}}|||||||}}}}}||||}}~~~~~}}~~~~~~}}}|}|}||||zwxux{~}yxwwxz{{|z{yyxwwwwxxyz|}~|{yxwwwwwxwvusqnkighjmptxz}}|{xwvvy}~|{{{}~~}|{ywutrqqppppqrtuwxyzyyyyyyz|~~}{{{|}}}}{zxvutssstuvwwwwwwwwxyyz{|}}~~~}||||}}}}|zywvvvvwxxyyyxxwwwxxyz{{{||}}~~~~~~}}}~~~~}}||{{zzyxxxwxxyyyyyxxwwxxyz{|}~~~~~~~~~}|{zyyyzzzzzyxxxwxxxyyzz{{||}}}~~~~~~~~~}||{{{{{|||}}||{zzzz{{|}}~~~}}}}}~~~~~}}}}}}}}~}}}}}}||{{{{|||}}}}|||}}}}}}}|||||}}}}|||{zzxvtsssstvwy{{|{zyxxxz{}~~~~}{zyyyyyyyzzzzyzzz{{{{||||}~~~}|{{zz{{|}}}}|{{zz{{|}~~~~~~~~~~~~~~}}}|||{{{{{{|||}}}}}}||||}}}~~~~}|||||{{{||||||||{{{zz{{{|}}}||||||||||||||||{|{{{{{zzzzz{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{{{{{|||{||{{{|{{{||||||{{{{{zzzzzzzzzzzzzzzz{{{{{{{|||||||||||||||||{{{{{E8,lRIFFWAVEfmt "V"Vdata~~~~~~~~~~~}}}}}}}}}}}}|||||}|}}}}}}}}}}}}}}|||||||||||||||}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}||}}}}||||||}}}}||||||}}}|||||||||||{{|{{{|{{||{{{{{||{{zzzzzzz{vksxzxusx|~yzy|nVgqvpjhu~{onopzwrprvy}~}|yursx|}zvuuwz{|{yxxwwwy{{zyyvxoqwy}zvpmipt{{spqlrv~zrmmrx~zuqnsx}}zwstuvy{}{wtrsvxzyvvutvwxxwutsuvuuuuwvwxuttuwxxyxxwuvvz{{{xvvxyyzzyxywwyyzywxyyxyxxyxyzyyzyz{{yyz{}|}zyyx|}}~}}zz{|~~{{wvwwz|~|wspprvxwurpoppoprssrpnprtuuutuvwyyxxyz{}|{|||}|zy{}~~|zwvwxyzyxvusssrstutsqnmlnprspnmmnoqqqsttsrrtuwvwwvxy{zzxxz{}{|zzzzyxyz{{{zxywzz{{yxxyx{|~~zwx}}~nYL_д{A(?m~sdK:A]{V@@Vp}qffq~wnlwzqwvabw|wspso\[k|yuwytkb`grxwqjgkprmd`cmx}{uqoomklsyojnvzsoqxxsruuutux|}ysonorttuwz|}ytpqu|~{xzsB*ySI,rR-1Z]JVycM`̓dTdyWGUxgV]q|taTXgsskglyzePJZy|nkotuyxkn|zttx{ysps|q`W\iy~wpnkgcdm{xolr{~|x|y|R `=X}tr6-iU:GrcP[udBJz̿w}{qp}eYfnYVezwqrtm_T[tg[csysywxzqptwwvxyfXYhyzqnmljgkuzpmt~|z{x|ytx}mKCg׮vLH[qyx|xS?KksZNYrwkjlnmut`d~|ywqxmdemuy|zj]\h{xrruwvuy~{}z{zvw}xttvxwwxyxwtttuxyxwwx{}}|}{z~~upze^k~}}~ykbdq{|pc_iy|qlnruw}ut|zy{~}xvx|}|||{yz|{vuy{yy{|~}~|z}~~~}|}||~|~~|~~~vzuowtr|xz~{~}y~z|y|}{~}{}wu|{uv{su}||~}|z}~{}{}|xrzt{z}z|y|~{x~qsfyz|wgl{zj|vv||o[g~uwy}}x{~}v^rbsu}q{uxcwyo~ovoyuqtw~rq~t|nyry^pyas|veqz}xrah|zaasvhcwxvnc[|bquxvysewy|yrTlzyz}smq\vko}tt}g]wKWTdX`sgz|uw{pr}na}unvit~wvntwxtvswbmqc`txqyl~jm~hyru}ixull}vw}}|u}xxwsrvupz~~~yj~guu|rqz||z|x~rz||}|{xz||}rs~z{xzzyx~u~}yo|zz{|}{}}y{|||}}~y|zv{}~zz~yrv}x}|utw~t~y}}~}~zl^VT`p{|spi]QJFL]ksurjea[XXY]clrutmijnnrrnkklnqrqmjkkjije][Z]bhhgeccea]\\aeoqqjigeeglgmprtsmghkjnqsrtwuvrrstw{fF&2GZeelrxiP/"2?HR]dhe\MA=CMY`a^_epy}{wtstri[PJMVajnomjdZL;71-,.3:@A@=:9853/-.159;=>@CECB>:7542469=CFFC?;765778;AFHMNOTTUTVXX_cdXD'!#(6FPH02=?:304;DHHCAEMUZ\[`jxueWMIF?87>IV^^VLC=83/+),5?GLLKLPW\]\[]`dc`[Z_fpy|zvrmfaafjpststtspmjiknqrrqqsuwz{}~}qbZ[`dmr}mbZTNJIN\jwvooswz|~{tnkkmnnmlnrw{}~}{xxy{{{{|}zxx|sc]Z[[^bo}tple[QJKQZbgmt}wpic_^agknommoqrqmigfgfda`ciqw|xqljijijmruyzxvsronjgb`_^^]^_cgkoqqmlhfb_[YZ\`cfghjjljjgfedcab`bacefijlnoppppqsvzztgWH@:73439GOXXTOKJE<2*'*/49;?FKT[aeglqvxuohb^][ZZ[`hottplhc\SKC>==>??>@DGJMMNOQQQOLIFEEGIMSZbhlmljfb^ZWSSSVWYZ[]_aaa__^]][XTRPPPQRSUWZ[]\ZXWVUTSSRTUWX[[]_aa``_aaba_^]_aeghjjmprsuvv{{~|~{ndRJB>9579ENXZ[YWWSMD;5569;?BGMU]dhkoty}}xsnjheb_^_ekqttutrnh`XQKIHGFDDFIMOOPSVYZZYWUSSRQQRV[agloqrrrpkfa^[[Z[\_behijiihgfc`][YWVTSRSVY\^`aceeda^\ZZZ\]`cgjlmmnnoononnopqqqqrsvy{}~|sc_WSMGGHT\diklmnke^VPPOQSW[`flt{}wssx}~vnga\[[[\^chlmmoquwyywvvuuusqsv{|||}}}{xurqqrrrrstvwyyz{|}}}|||}~}qiaY[Ziszpnlmntz~ywwy{|xø¾ºľӽ{tİȼǿ¸׿|jhh_qxȲɶȿǸµzz|`VJQSYo~ɵq`WR\pĸ~znb]am|~y~¸xutuux~{|ztpqv}~~}O''9;Qm̷tNG@FQ\t˶}st|q`RNGDGOcsom{sf]]bjlmjimu~yusuxlimv{slfehnsvx{|uppsy|~}|zxsollpvǵYAJqœwQ>KXlv}ŵ|aJKYm_C//AQgxucODBO_prkktztlc^]doz~vmeaeo~xttuvtrpnpnmhda]`_eiox~|}j4  0{obLhy|{cT2Xū}|poWRFAEfqkkql^YZVOLPZgqxztqknrm_JFOfy~qf_\YVVXWX[es~|ticbacaackuzzvtvxul`WSRUY^cgjmszztnkhfeddgjnqqoljihfedcccflrxyxwvuspmkigfegijkkklllkjjjkllkklnqsuusqnmkjifdccdfhgghghiknqtuxz{{ywvutsqponmlkjjjlnprsvxyzxxvusrstusrpopstvwwxyxxww{b6 <_oicgvynebYVUY_dov~s]KJVgqtw~zl`YYXWX`lw~~{wwxwsmgegknqtx{}{xvvtojdba`aeks{|yusrqnljhhjmpsvxyyxvtrpoooooopsx|~}zvtsqomkjjjknqtwyyzxwtrqqrssqpprtvwwvtroljiiiiikmoqsvz~{yvtsrstuvvwwvuuvvxyyz{{||~|yxvvuvttuw|}f@*.Fcqnho}~urjc_]aepxxfcjtyxwzvnkf`]`irx{~zwsqpqux|~{wspnpsw{~xspnnnqtx{}yxxz|~{xutssuwy}{yxxyxz|~~}|{ywwxz}{[@>Kfomdiwwoea`gr{}xtw|}uomnopsx{wtsrsx|yz~}yvuvy}}{{|}{{|}}}~wXORgrrhbm}ugccjptx}|}~|xsppu|}xuuw{~fZ]myynfjwwokllmmq}{|}~|zxxzncbpx{pgho~wuqnigpz~{z}}{z|~zvuvwy|~~~}{||}~}i^^hqph^`gvyupib_clsvuw~wsrtvxz|}zwvwy{}~~{wtrqqrrtw|}zwvvvuvwy{}}|zyxxxyz|~~}{zyyyyz|}}|zyxwvwwwxyzxywwz{}{}|}~|}zzzxzyyyyzz}|}~~~}~~~}|zyxzz|||{z{z|{}}~}}}}~~~}}}}{zxwwxxyxzzzz{}~~~}}}}|{zy{z{{{{|}~xrhdejpnlegjqz~~zwtnjhilmjhhmsz}~|zxwvsqprtvvuuvxyzzzzywvvvwvvuvxyz{|}~~~}|{zxwutrpnmnpqstuwxy{|}~~~~}|{zxxvusqppqrrsstuwxy{{{{zzzzywvvuuuutuuvwwwwwwwxxxwvvuutttttuuvwwxxyyyxxxwwvwvuspojlkoooomqpvx{}~}}}|{zxwttsqrpqrstsuuxz{|yzxywwwvwtussssttvwxyyyxyyyywwvvuuvtvttttvvxvwvvwxzyzyyyxyxxvwwwxxwwvvwxyy{{}~{sjhgkkga[[^flqswz~|volkllkheeehjorvvvxy~~~{zzxwvwvvtssstttuwxxvttuvvuttssrrstvwxy{}~~~~~}|zxvtsponmmmmnprtvy{}~}{yxwutssrrrrrstuvwxyz{{||}}|{zzzzzzyyxyyyzzzzyyyxxxxwwwwwwvvvwxxyyzz{|||}}}}}||{{zyxxwwvuussoporuvwtwvz|~}}{{z{{yywwwwxwwvwxxzz{{|}~~}~}~}}|{{zzyyyyzzzzzz{||}}}}~}~~~~~~~~~~~}}||{{zzzyzyz{|}}~~~~~~}}}|}|}}}~ztsrwxxspnnsuyz|}}||zyvuttttuvxxy{|~~}||}}|{z{{||}~~}~~~~~~}|||{|||}}~~~~~|~}}}|}|~~~~}}}|||{{{{{zzzzzyyyyyyyxxxwwvvvvuuuttttsrrrrqqqpppooonnnnmmmllllkkjjjiihhgggfffeeeeeedddcccbbbbaaaaa``____^^^^]]]]\\[[[ZZYYYYYXXXWWWWWWWWVVVVVVVUUUUUTTTTSSSSSSRRRRRRRRQRRQRRQQQQQQQQQQQPPQQQPPPPPPPPPPPOOOPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQRRRRRRSSSSSTTTTTTTTTTTUUUUUUUVVVWWWWWWXXXXXYYYZZZZZZ[[\\\\\\]]]]^^____``aaaabbccddddeeefffgfgffgghhhhiiijjjjkkkllllmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmmlllkkjjjjjiiiihhhggggffeeeeeeeeddccccbbbbaaa````__^^^^]]]]\\\\\[[[[[[[ZZZZZZZYYYYYYYYYYXXYXXXXXXXWXXXXXXYYYYYYYYYZZZZ[[[[[[[[\\\\\\]]]]^^^^___```aabbbbccccddddddeeeeeeeefffffggggghhhhhiiiiiijjjjjjjjjjjjjjjjkkkkllllllmmmmmmnnnnooopppppppqqqqqqqqrrrsssttttuuuuvvvwwwwwwwxxxxxxxxxyyyyyyyzzzzzzzzz{{{{{{||||}}}||}}}}}|}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~}~~}}}}}}}}}}}}}}}}}}}}|||||||{{{{||||||||||||||||||||||{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{||||||||||{||{{{{{{{{{{|{||||||||||||||||}}}}}}}}}}}}||||||||||||}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~yM  " "@ ""@* *88B"Ҥt0LX,@ԯSSSSSSSSS|jˁT.TzzzTzT& A&.S§էFF_d____F#!##FAҨйk`#`eekeeY))(!๺ҢQQggg(111$_jĵĺıxZؓuaalllllZM4D*M( ӭMWuصlmWWymmmmm>-/4,Qⷪ}h>/ɚ}]hh]]]]]h95/>ad֪hro9IIֿ~RorbbbbRI29]`jrrr~sNfHBHɣpvvsvvsH3>g~psfcUJE0cٿssscNZSciic{UXCC6,k_ƿ_[^jk_kk_I ^῿k,]_=]=ǼHo֞TLd¹ZHÿ[[^_\j"[\__k__k,_>,>[j5_I5,,#,k5 ƿ߿\k߿]_ʼZY*2ܯX縨Myi!2iX}ُ_4i2ȾoidNV̼๫io*Zûm 'ü׾XZFe$XӵWWH\Zefўiէgٿ EQٿTVɿ\H$\\VTTgٿZQTߺÿQQVÿT_\j$\ٿO'\ј׶Wÿ/fֶfջÿ;OFF;/ջZQie3NЪ*㠖ݮݜU똖NfNYݰЛFЪݓFܻFYu9XܶFUx!xFf$FF'eζiݐަ9ҶݐF/+'+➽ζݐ9FfЯ*Y9eeUFX<dmeiFݐF$2FFFРZ)FЪ*[fu ['ҶZmmHuݦFFxuiYZuu*ZdiyLWЙu㕽~Z緷~~)^H(Wv@pŻBԟڝQ45ӤܨWB66ϗ`_WWoT}?6???wi ԪXV}z~vv8v%Atv8|tvvvv8|:KC::|v888vKvv8. C CC~K@@~|?6 5Ԭְ߼LMM&~&MM&M&bblcl&&&bc&&MMMLLLbccllllcaLlcMbLaa+i\k5Zó׷oX4XX(*h) o``i2oh `ohXX!``!pXpppp ! *Yi2ɻjkkǿ5#Y_== [ ZI\"I\j=]][=^=[ZI ߺ"\I[^_k5]5\\ǼǼ,k,,_#H== ["ZI[^_]=k_=\ \ IZ_jú==k\[[[==5kk##k kkǼ,_,1@@aZU 9874320,(@=9:73<70 ZVOXWU^[U_\V  UQH ^\W[YT EC=_\Ta^U64.?<4FC:(%  96,ZXQQOH;92 %"[ZV\ZQ<:1'% ihc[ZU\[V:94b`VA?575+cb\XWQYXR10*[YN20%75) 0." ZYR\[TMLERQI>=621*,+$43+21)10(.-%&%,+#      LKBRQGPOEA@7<;298/*)  NMB>=/32$ WWUYYVYYUZZV774[[V^^Y;;7OOJQQLVVQ\\VBB=UUOMMGNNH^^W``YIICTTM==7??9XXP\\T993FF?TTLZZQ[[R;;4HH@^^T ccX!!55.JJA22+<<4BB966.77/]]Q44,))";;2 '' //'%%66- (( %%&&$$ && ::-33'            %&YZQ;<456-%&#$!" [\UYZS 894561   340]_W791*,$Y[T=?8 ,-*9<3  8:6&*"  4:/-0+/3. z)  " "@ ""@*OO*"M0S,@      !!""####$##$$$##"""""!!    !""##$%&&&''((()))()))()((''''&%%$##"!!   !"#$%%''())*+,,---.....//.....---,,+**)(('&%$$"!!   !"#$%'')*+,-..0011233334545555554443322100/--,+*)('&&$"!   !"#$&'()*,-./01344577889:::;;;<<<<<;;;::998766543210/.,,*)(&%$"!    !#$&'(*+-.013456799;<=>>?@AABBCCCDCCCCBBBA@@?>><<:98664320/.,**(&%$"!    !#$&()+,./024678:;=>@ABCEFFGHIIJJJKKKKKKKJJIIHHGEECBA@?><;9864310/-+)(&%$"!   "#%'(*,.013578:<=?ABDEGHIKLMNOPQQRRRSSSSSSSSRRQPPOMLKJIGFECA?=<;976420.,+)(&%#    "$&')+,/02568:=>@BDFGIKLNPQRSUVWXYZZ[\]\\\\\\[[ZZYXWVUSRPOMLJHGECA?=;97531/-,*('$#!   "$%')+./1367:;>@BDGIKMOQRTVXZZ\]^`abccddefeeeeeedcbba_^^\ZXWUTQPNLJGEDA@=;87520.,*('%#!  !$&')+-/2468;=?BDFIKNORTVX[\^`adefhijkmmnnoooopoonnmlkjihfdca_][YWUSPNLJGFB@><:7530.,+(&$"   !#%'(+-/1469;=?BEHJMORTWY\^`cegikmopqstuvwxyyyzzyyxxwwvusrqonljhedb_]ZXVSQNKIGDB?=:7520.,)'%#"    !$&(*,.1369;=ACFIKNQTVY[^acfiknprtvxy{}~~|zywusqoljgeb`]ZWURPMJGDB?<:842/-+)&$#   "$&(+-0257:=@BEHKNQTXZ^`ceilnqsvy{}|yxuspmjgdb_\YUROLJGDA?<9631/,*'%#!  "$'*,.0369AEHKOSVZ^beimqux}{wrokgd_\YUQMJFC@=:731.+)&$" #%'*-/248;>BEILPSW[_cgkosx{}yuqmiea]YURNJGC@=:630.+(&$!"$&),/147;=ADHLPTW[`dhlqty}¿{vrnjfa^YVRNJFC@<9630-+'%#!!#%(+.136:=ADHLOSW[`dhmquy}|wsnkgb]YVQNJFC><852.,*'%"  "%'*,0369<@CGKORV[_dhlquy~|xsojea]YUQMIEA>;741.+)&#!!#&)+.147;>BFJMQUY^bgkpuy~|wrmida\XSOLHDA=9630-*'%"  "$'*-0269<@CHLPTX]aejosx}zvqlgc_ZURNJEB?<741.+)&$! #%(+.147;>BFIMRV[_chlrv{}xsojea]XSOKGD@=962/,*'%! !$&)+/258<@CGKOTW\`ejnsx~{vqlgc^ZUQMIEA>:730-*'%#  "$'*-0269<@DHLPTY]bflpuzĿ|xsmid_[WSNJFB>;841.*(&#  "%'*-036:=AEIMQVZ^bglqv|~xtojea\WSOKGC?<842.+)&#! "%'*-037:=AEIMQVZ_chmrw|½~ytojea\XTPKGC@<851.,)&$! "%'*-037:=AEIMQUZ_chmrw|½ytokfa\XTPKGC?<852.,(&$! "%'*-036:=AEIMQUZ^chmqw|~ytojea\WSOJGC?<852.,(&$!"%'*,0359=ADHMPUY]bgkpuzſ}xsnjd_[WSOJFB?;842.+(&#!!#'),/259<@CGKOSX]aejoty~½|wrlhc^ZVQMIEA>:740.+(%" !#&(+/147;?BFJNRV[_cimrv|þ~ytpkfb]XTPKGD@<963/-*'$"  "%'*-046:=@DHMQUY]afjoty~ÿ{vqmhd_[VRNJFC>;842.+)&$!"#&),/158;?CFJNRVZ_chlqvz½}xsnjea\XTPLHDA=:630-*'%"  #%(+-0379=@DHLOSX\`dhmrv{ÿ}ytokgb^ZUQMIEB?<842/,)'$!"$&)+.147:>AEILPTX\aeinrv{¿}xtpkgc^ZWSNJGC@<9630-*'%"  "$&*,/158;>BFIMQTX]aeinquz~¿|xtpkgc_ZVSOJGD@=:730.+)%#!!#%(+,0269;?BFIMQTX\`dhlptx}{wrnjfb^ZVSOKGDA>:741.,)&$" !$%)+-0269ADGJNQTX[_cfimptwz~|yvrokgda]ZVSOLIEC@<9731.,)'$"  !#%(*,/1579=@BFILOSVY\_aejmorux|}zwtqnkhd`]ZWTQNJGDA>;9630.,('$"  !#%')+.1359;>ADGILOSUX\_behknpsvx{}~|yxtrolifca^ZWTRNKHEC?=:752/,*(&$"  "$%(+-/257:;8531.+)'%#  "#%'*+-0257:=?BDGJLNQTVY[^`cdgikmoprtuvxyy{{{{|||||zzyxwvusqpnmjhfda_\ZXUROMJHEC@>;8631/-*(&$"!  "$&(*,.02579<98532/-+)'%$"   !#%&)*,.02467:<>@ADEGIKMNPQTUUWXZZ[\]]^^_^^__^^]\\ZZYXVUTRQONLJHFDCA?=;97531/,+)'%$"   !#$&()+-/034789<=?@BDEGIIKMMOPRRSSTUUUVVVUUUUTTSRRQONMLJIHFECA?><:876310.,+('%$"    "#%'(*+./124579:<=?@ABDEFGHIIKKLLMMMMMMMMLLKKJIIGGFDCBA@><;:875310.,+)(%%#!    !"$%')*+-.01245789:<=>?@AABBCDDEEEEEEEEDDCCBAB@??=<;:8765420/.,+)(&%$"!   !#$%&()+,-./0234566899::;<<===>>=>>==<<<;;:9887553210/-,+*('%%#"    !"#$&'()*+,-./001234455566677666666544432310//.-++*(''%$#"!   !"#$%&&'))*+,,--/.///00000000///...-,,++**('&%%##"!   !"#$$%%&''(())))*****)****))((('&&%%$##!    !!""##$#$$$%%%%%%$$%$####""!!            @{;c -'RV-q'-a '-r(T!/a0 c Sc 10 og3~oq0lf !h w~]  w~*w.~*.~-~ h -~ w.~*.~--~  w~]  f !A~%?,u ~  j%j,u j u ~  j%j& j jA, u ~{*!o=u @ HN  " " ""**"E0-@nܹøعwſۼ?Iο Xݼ̼ͱμĿŸĿŰحqðwjlanwunnnwunnØnnnuXnicQd2#ҸŮwqtwaߍˤi2_ Į۵Ÿο̼ſ꿸˭ųwwqż`volwÆwuuwuuucnuunucuiiF=wi_eeq|iuԭָJuwֿĶܰrĿĿÿŦܸawqlqoyv|óunuunw_unuuuunwwnuX_inni]aaNQLF n볭dndXQdF==6D3/3<=;;;411-----********$$$$$!!!$$$$$$$$!!!!!!!!!!!!$$$!!!!!!!!!$$!!!!!!$!!!!!!!!!!!!!!!!!!!$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$$$$$$$$$$!!!! _XII0HS?DJ3 |qiiz_?/ ,7AAEOOOKKE>>>>>>;;7741111----***-------***************************************************$$$$$$****!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$$$$!!!!!!!!!!!! 9PHPHPH@H00)̎|qle~zU=/  4EOYYbxxppbYYOOOOOKKEEEE>>;;44444444444444444444444444444411111111111-------------------------***----**************************************************************!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 0\88@Pk^R^Hw|tttl~S32  !7KbpxxpppppbYOOKKEAA>A>>>>>>>;;;;777777;;;;;777444444444444444411111111111111111111---------***************************************************************""""""""""""""""""""""""!!!!!!$$!! \858C\GGRH㣇zie~~S?2,AOpxppbbbYOOKKEEEEAAA>>;;77477747777777774441111111111111--**************************$$""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$$$$$$$$$$$$$$$$$$ mC@RMgCg`Hԁo`lwtq?3+-EYxǾxxppbbYYOOKEEAAA>;777411111144444441111-------------***$$$$$$$$$$$$$$$""""""""$$$"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""!! jR@RRs`PP@|^``aazF: -EbxǾxpbbYYOOKEEA>;77444111111111111111---**************$$$$$$$$$$$$$$$$$$$$$$$""$$$$$$$"$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! s@58MM8088vj`vll~I/ 1EbǷxpbbYOOKEAA>7744411-------1-111-11---**************$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! R@5858C8.@Њ^yo|`vz?+1EbϾxpbbYOOKEA;7711111------------------**************$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! &PGPGGG0@Gʟsjjjj^^f0&1EbǯxpbbYOKEA>77111-11-------**--------*********$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! /͜]SPSZ@83l9/ʊRRG^vof0&1EbǯxxpbYOOKEA;7111------**----************$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! 'ɫUPPHP@@`P%)0s\Wvfoj3'1EbǷppbbYOKEA>741-----*********************$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! 3ӫ]PPPZ9]ov))gsW^jov3'1EbǾxpbYYOKA>;711--*--***********$$$$$$****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! 9ۦ_PHHPPqq,,/sg\RWWgo3'-EYxǾxbYOOKA>771--*************$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! ?ѻlIPGHH]ii223j`fyfvP3-AOxǾpbbOKEA>741-**$$$******$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! 6ɲ]SZHP?Fee܁j`fj`yB/!7KpxxbbOOEA>741-**$$$$$$$**$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! 6ִcXJIUFFnX#S^``vkzI3#!4EbxpbYKEA;;71-***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! 2ָqJSUN;771-***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! 2ڴcINFFDiiiԞwq~9B+1AYbxxbYOEA;7411-**$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! IڸhUJUX_iaP/Ԑiwninw3=/ 1>ObxxbYOEA;741--*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! UڮlVIIUita^)Ԑiwninw3=/ 1>ObpxpbYKA>;411--*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! UڮlVIIUita^)zqqqniXN, 1>KYpxxpbYKA>;711--**$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! UڸXNQISSqil/ joj`qNF  -7EYbpxxxpbYOEA7711--**$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! XڸtVQNJ_tqa/j^gP   !4AObppxpbbOKE;711---$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! JڿwUIJ{nejʑR`& , !1>KYbppbbYKEA;4-1--**$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!  6 Fual@Š`) &''H  -7EObpbbYOEA;711-*****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!  62 2U_qe,ت`/ &&03& *4EKYbYYOKA;411-*$$$*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! +hI# 6un6+ ʃWg '// !1AKOYYOKA;741-**$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! +t?/&# &J_q9 ˇl3 '/3 !1>EOOOOEA;71--**$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! #qN+ iFPa22+i]XH'+/ !17EOKOKEA;4---*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! tN,# /JH_2,+waiw9+!-7AKEEEA;7----*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! #nN+I3DJU662عniti_?#!-7>EEEA;71---**$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! ˮhDLJQ+ #Ԇiunnt9/ -7>AEEA;41----$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! w֐tw[_XJL##,Ԇwitunn~6 -4>AAA>71----$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! J߸nJ_[V_NJJ ˀniU   -4>AA>741---*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! Bw{_XSUUHD# Ҁu_2  *4>AA>;41-**$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!  =+ +JN9DLݤL2:2:  !4>A>;771-**$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! =: =JFQܤ=2#6:: !4;>>;71-****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! {V:,  ,JFLܤ,6,:6  *4;>>;74-***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! {h::++ +FFn#ˡ=2:,  *4;>;;71--**$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! w_F2 +QFc2#ndQL62,  *1;;;771-******$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! wnF:_QQ nQQnڞ6 !17;;744-******$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! {nN+ N=J_J#ҳndcFn΀V6 !17;;771--*****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! qڿˮhFFLD###udQQcQw{J:  !17;;741-******$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! Xt{=FLFQuncd_thw=: !17;;741-****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! =ӮnVcFLFF wXdF   $4;;;74--***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! :ӆnhB?=F=idQ,   $4;;744--***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! :: 2P@<=6ˀu2 #+66  $4;;7411-***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! :F+ DD=6ȳn_# #222  *47;;74-****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! nn6 #==Ltcn#, +  *4;;;71--***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$!  cV2# 66Q##,ȚwX2,,=  *47;771-****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! [_=,  Q==F ֪|QD= 6==2 *17;744-*****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! [_:  dunؚzQQ_F *4;;771--****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! cV2#636FFRe_QuwF *4;;741-*****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! 䦕V6===ݪTPX_nn{{Q: -4;;741-****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! X֦qcXF==DFCRU__n{J  -4;;74--***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! ?θhQQJF2D=ҹC5HU#   *4;741--***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! :οnQNN===FҰ`8@&   *477411-***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! 2  +F==L=ȰaH #6,2  *14741--***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! ,6# DXLQȰiI& ,+2/2  *14741--***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! VN:, #LQFֹ_aj &922 *1471--****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! cJ=# #cQX##qe/66 !1471--****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! nQ2/# X_X6ҹnN=I6=:# *4741--****$**$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! nQ9/ ,UXU&˳dQXXӍ6*4741-*****$*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! [F:,:QXJi++˳n_FiN6 *4741--***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! ˿nDX_i#+#unUwwF,  *4441---**$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! Q֦tJQLF_##2ҹuX__XS=  $1441--***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! BθhcncQJNQ#ndiN2   *47741****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! BӰqe]_NJFJ ++㣇zie~~S?, -47411****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""$$$$$$$$$$$$$$$$$$ mC@RMgCg`Hԁo`lwtq?3# !-47411--**$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""!! jR@RRs`PP@|^``aazF:!-47741-***$$$$*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! s@58MM8088vj`vll~I/!-77741--***$$$*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! R@5858C8.@Њ^yo|`vz?+!-47771-****$$$*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! &PGPGGG0@Gʟsjjjj^^f0&!-7;744-*****$$*$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! /͜]SPSZ@83l9/ʊRRG^vof0& *17;771--****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! 'ɫUPPHP@@`P%)0s\Wvfoj3' *4;;741-*****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! 3ӫ]PPPZ9]ov))gsW^jov3' *4;;741-****$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! 9ۦ_PHHPPqq,,/sg\RWWgo3& *4;;74--***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! ?ѻlIPGHH]ii223j`fyfvyI/ *4;741--***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! 6ɲ]SZHP?Fee܁j`fj`y=+ *477411-***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! 6ִcXJIUFFnX#S^``vkqB/ $14741--***$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$! 2ָqJSUN e3^uZ^^-:^:$.^-:^:$.^.^^a/!2C$:C,:C.^ K:C.^ KC  O// ============================================================ // This Class used in physic's project! // TVJetCar : A player touching this can get it and drive :) // physics note: center of gravity is location, for simplicities sake. // Note: This car is powered by two jets; is the original car used for my (UsAaR33) physics project. // ============================================================ class TVJetCar expands TVVehicle; //jet-car physics. var float JetRThrust; //jet thrusts located at location +/- vect(colradius, colradius, 0) in newtons.. var float JetLThrust; //calculations however are assumed at loc +/- col. radius for simplicity... var int HUDJetRThrust; //jet thrusts located at location +/- vect(colradius, colradius, 0) in newtons.. var int HUDJetLThrust; //calculations however are assumed at loc +/- col. radius for simplicity... //HUD information HOLDER: var vector HUDVelocity; var vector HUDAcceleration; var float HUDScaleAccel; var vector HUDAirResistance; //current AR (accel only) var float HUDGroundFriction; //current friction scaler. multiply by normal(velocity) for vector. var vector HUDNormalAccel; //only for other accels (friction) and renderer. var vector HUDGravAccel; //slippage due to gravity. (net acceleration) var float HUDYawAccel; //acceleration of yaw. entire rotation was seemingly too hard to implement. var float HUDYawVelocity; //acceleration of yaw. entire rotation was seemingly too hard to implement. var rotator HUDrotation; //saved rotation. function PostBeginPlay(){ SetTimer(RefreshTime,false); PrePivot.z=-collisionheight; //drawing hack } Simulated function actor GroundTrace(out vector HitLocation, out vector HitNormal){ local vector OffSet; Offset.x=collisionradius; Offset.y=collisionradius; Offset.z=collisionheight; return Trace (hitlocation,HitNormal,Location+(vect(0,0,-1)*(collisionheight+0.01)),location,true,Offset); } //update? function Timer(){ HUDVelocity=CarVelocity; HUDAcceleration=Acceleration; Hudrotation=rotation; HUDAirResistance=AirResistance; HUDScaleAccel=ScaleAccel; HUDGroundFriction=GroundFriction; HUDNormalAccel=NormalAccel; HUDGravAccel=GravAccel; HUDYawAccel=YawAccel; HUDYawVelocity=YawVelocity; HUDJetRThrust=JetRThrust; HUDJetLThrust=JetLThrust; SetTimer(RefreshTime,false); } function VehicleTick(float deltatime){ if (controller.bPressedJump&&Eject()){ JetRThrust=0; JetLThrust=0; return; } //handle key inputs: Controller.aLookup *= 0.24; Controller.aTurn *= 0.24; Controller.aForward = 0.79*Sign(Controller.aForward)*EngineRate*deltatime; Controller.aStrafe = Sign(Controller.aStrafe)*EngineRate*deltatime; Controller.UpdateRotation(deltatime,2); //view rot stuff. If (Controller.aForward!=0){ //can only cut jet to 0... if (Controller.aStrafe==0){ JetRThrust=(JetLThrust+JetRThrust)/2; //equalize. JetLThrust=JetRThrust; if (Sign(JetRThrust)!=Sign(controller.aforward)) JetRThrust=0; if (Sign(JetLThrust)!=Sign(controller.aforward)) JetLThrust=0; JetRThrust=Clamp(JetRThrust+Controller.aForward,MinForce,MaxForce); JetLThrust=Clamp(JetLThrust+Controller.aForward,MinForce,MaxForce); } else if (Controller.aStrafe>0^^Controller.Aforward<0){ //move right JetRThrust=Clamp(JetRThrust+Controller.aForward,MinForce,MaxForce); Approach(JetLThrust,Controller.aStrafe,0); } else{ //move left JetLThrust=Clamp(JetLThrust+Controller.aForward,MinForce,MaxForce); Approach(JetRThrust,Controller.aStrafe,0); } } else { //no forward motion. can be +/- if (Controller.aStrafe==0){ //decrease force only! JetRThrust=(JetLThrust+JetRThrust)/2; //equalize. JetLThrust=JetRThrust; Approach(JetRThrust,EngineRate*deltatime,0); Approach(JetLThrust,EngineRate*deltatime,0); } else{ JetLThrust=Clamp(JetLThrust-Controller.aStrafe,max(MinForce,-1*MaxForce),min(MaxForce,-1*MinForce)); JetRThrust=Clamp(JetRThrust+Controller.aStrafe,max(MinForce,-1*MaxForce),min(MaxForce,-1*MinForce)); } } if (Controller.bfire>0) CamDist=min(camdist-200*deltatime,collisionradius); if (Controller.baltfire>0) CamDist+=200*deltatime; Super.VehicleTick(deltatime); } function VehicleMove(float deltatime){ SetAcceleration(); //set forces. HandleRotation(deltatime); //rotate DoMovement(deltatime); //move car. } //critical function! function SetAcceleration(){ //determine the acceleration of vehicle local vector hitlocation, hitnormal; MoInertia=0.5*mass*Square(collisionradius/Uumeter); //the car is assumed to be a cylinder. YawAccel=UURot*(collisionradius/Uumeter)*(JetRThrust-JetLThrust)/MoInertia; //yaw rate of accel. (uu's) AccelerationMag=UUMeter*(JetRThrust+JetLThrust)/mass; //real accel (uu's) if (abs(carvelocity.z)<=-Region.Zone.ZoneGravity.Z/2) SetBase(GroundTrace(hitlocation,hitnormal)); //get normal. else SetBase(none); if (base==none){ //not in contact.. NormalAccel=vect(0,0,0); GroundFriction=0; GravAccel=Region.Zone.ZoneGravity/2; } else { //stay on ground NormalAccel=-0.5*Region.Zone.ZoneGravity.Z*hitnormal.z*hitnormal; //hitnormal.z represents sin of normal angle (cosine of normal-pi/2) //shifts angle and gets the cosine through pythagorean identity ( sin^2 x + cos^2 x = 1 ) GravAccel=-0.5*Region.Zone.ZoneGravity.Z*SQRT(1-Square(hitnormal.z))*((hitnormal cross vect(0,0,-1)) cross hitnormal); GroundFriction=Meiu*vsize(NormalAccel); //friction scaler. always positive here. (subtracted from velocity...) floor.yaw=rotation.yaw; hitlocation=normal(Carvelocity<>floor); } } //rotate car: Acceleration frame-rate issues! function HandleRotation(float deltatime){ local rotator newrot; local float rate; local float oldVeloc; OldVeloc=YawVelocity; rate=uurot*Region.Zone.ZoneGravity.Z*deltatime/(uumeter*-30); //"fake" rotation rate //air resistance. iffy as the interia is calculated as a cylinder. but I must have a legal limit: // YawVelocity-=Sign(YawVelocity)*deltatime*square(collisionradius*yawvelocity)*collisionradius*ARCoef/(uurot*square(uumeter)*uumeter*MoInertia); YawVelocity-=Sign(YawVelocity)*deltatime*square(collisionradius*yawvelocity)*collisionradius*ARCoef*ARRotCoef/(square(uumeter)*uumeter*MoInertia); YawVelocity+=YawAccel*deltatime; //acceleration //friction: YawVelocity-=Sign(YawVelocity)*fmin((deltatime*mass*collisionradius*UURot*GroundFriction)/(MoInertia*Square(UUmeter)),abs(YawVelocity)); FloorRot(NormalAccel); //WARNING: not correct. gravity should accelerate pitch and roll! Newrot=rotation; SetClosest(newrot.roll,floor.roll); if (newrot.roll!=floor.roll){ if (floor.roll>newrot.roll) newrot.roll=fmin(floor.roll,newrot.roll+rate); else newrot.roll=fmax(floor.roll,newrot.roll-rate); } SetClosest(newrot.pitch,floor.pitch); if (newrot.pitch!=floor.pitch){ if (floor.pitch>newrot.pitch) newrot.pitch=fmin(floor.pitch,newrot.pitch+rate); else newrot.pitch=fmax(floor.pitch,newrot.pitch-rate); } newrot.yaw=Rotation.Yaw+normalizeangle(YawVelocity*deltatime); if (Controller!=none) Controller.ViewRotation.Yaw+=YawVelocity*deltatime; setrotation(Normalize(newrot)); if (Deltatime>0) YawAccel=(YawVelocity-oldveloc)/deltatime; } //actual movement routine. WARNING: HAS FRAME-RATE GLITCH! (higher FPS=faster accel) function DoMovement(float deltatime){ local vector x, y, z; local vector Oldvelocity, tracesize; local vector HitLoc, HitNorm; OldVelocity=CarVelocity; GetAxes (rotation, X, Y, Z); AirResistance=-Square(vsize(CarVelocity))*ArCoef*normal(carvelocity)/mass; //air resistance accel (seems more logical to be here?) CarVelocity+=AirResistance*deltatime; CarVelocity+=(AccelerationMag*X+GravAccel)*deltatime; //add engines+gravity. CarVelocity-=fmin(vsize(CarVelocity),GroundFriction*deltatime)*normal(carvelocity); //friction reduces velocity /* traceSize.X = 1.5*CollisionRadius; //larger at front. traceSize.Y = CollisionRadius; traceSize.Z = CollisionHeight; tracesize=(tracesize>>rotation); //um.. if (Trace(hitloc,hitnorm,location+collisionradius*normal(carvelocity)+CarVelocity*deltatime,location+collisionradius*normal(carvelocity),true,traceSize)!=none) */ if (CollisionCheck(hitloc,hitnorm,carvelocity*deltatime)!=none) Velocity=(HitLoc-(Location+collisionradius*normal(carvelocity)))/deltatime; //reset else { HitLoc=vect(0,0,0); Velocity=CarVElocity; } Velocity=CarVelocity; if (!SetLocation(location+velocity*deltatime)&&Controller!=none) controller.ClientMessage("WARNING: collision detection failure! SetLocation() failed! Vector ["$location+velocity*deltatime$"] is outside of world!"); if (HitLoc!=vect(0,0,0)) HitWall(hitnorm,level); Acceleration=(CarVelocity-OldVelocity)/deltatime; //for HUD ScaleAccel=(vsize(carvelocity)-vsize(oldvelocity))/deltatime; } //If HITS any wall. Does refrection (world cannot be altered). if velocity is low enough can set base... function ProcessCollision(actor Collided,vector CrashAngle){ local vector oldvelocity; oldvelocity=CarVelocity; CarVelocity -= 2 * ( CarVelocity dot CrashAngle) * CrashAngle; //vector reflection CarVelocity*=EnergyLoss; If ((vsize(CarVelocity-oldvelocity)<-0.5*Region.Zone.ZoneGravity.Z&&carvelocity.z>=0)||abs(carvelocity.z)<-0.09*Region.Zone.ZoneGravity.Z){ //not really realistic // carvelocity.z=0; //again, physics problems here. SetAcceleration(); HandleRotation(0); } Timer(); //update stuff NOW. } //EZ-write function WriteText(canvas Canvas, string text, out float Y, optional bool Right){ local float W, H; Canvas.TextSize(text, W, H); Canvas.CurY=Y; if (Right) Canvas.CurX=Canvas.Clipx-5-W; else Canvas.CurX=5; Canvas.DrawText (text, false); if (right) Y+=H+4; } //entry point of render info. function PostRender(canvas canvas){ local float Y; canvas.Reset(); canvas.font=canvas.medfont; Canvas.DrawColor.R=100; Canvas.DrawColor.B=24; Canvas.DrawColor.G=200; Y=20; WriteTEXT(canvas,"Speed"@vsize(HUDVelocity)/UUMeter@"m/s",Y); WriteTEXT(canvas,"Velocity vector ["$(HUDVelocity<%%%%%#*GPKE>9-"!%%# "%%1% &=%%" %%6KM^qɔN%%%$ 8[`````bȐ7$%%# 2]``O1m #%%" K``Azr "% %$U`TTӾk`U $% "% U`I *ӭ I`U %"%K`Iә I`K%$% 1`TU`1%$% [`d`[ %!% :`AA`: %!%"[``["%%`OO`%% 8`1/`: %%H``K%"%R` `W%"$%[``^%%$%[```%%"%R``W%"%H``K%% :`//`: %%`OO`%% [``[ %!% :`AA`: %!% [`A`[ %$%1`TgT`1%$%O`I I`P%"%Y`I . I`Y%" %$U`tPT`U $% %" sA``K "%%# ^Ә/M``]2 #%%$/``````[: $%%%[d`OM6%% "%%g %0%%" #%%  +9>EKPG*#%%%%%>PWWWWWI!%9PWTPKC9970'  @@L<+  "@ "@ "@"@* *"b 0d).@@*6#'4?JQTB%%$8OVWWWWG+%%%%%%?SWTLD;.!%%# "%7D<0"%%" %%6KM^^MK} %%%$ 8[````````ѓ$%%# 2]``O1{~ #%%" K``A`V"% %$U`T`ӥ $% "% U`I YӶj %"%K`IMJI`K%$% 1`TMw U`1%$% [`Mӡ&`[ %!% :`A:MA`: %!%"[``["%%`OO`%% 8`1/`: %%H``K%"%R` `W%"$%[``^%%$%[```%%"%R``W%"%H``K%% :`//`: %%`OO`%% [``[ %!% :`A&:A`: %!% [```[ %$%1`Td`T`1%$%O`IR`I`P%"%z` I`Y%" %$PT`U $% %"DMA``K "%%# k/M``]2 #%%$$ӊ````````[: $%%%?oMO``OM6%% "%%"/9#6KM^^MK6%%%$  8[``````````[T$%%# 2]``O11Odӊ #%%" K``A5Ӯ"% %$U`TM1 $% "% U`I lD%"%K`If%$% 1`ŢW%$% [`ӝP`[ %!% :`AlA`: %!%"[`=`["%%`OO`%% 8`1/`: %%H``K%"%R` `W%"$%[``^%%$%[```%%"%R``W%"%H``K%% :`//`: %%`OO`%% [``[ %!% :`AP=A`: %!% [`I`[ %$%cӼT`1%$%VӖI`P%"%Il I`Y%" %$6AT`U $% %"$A``K "%%# `M//M``]2 #%%$[``````````[:  $%%%#6MO``OM6#9>%% "%% 1@MVH+ #%% *?JTWWWI"%%%%%%%%5MWWUL=1%%%%#CNA3"*&@@V G a C- P<+  "@ "@ "@"@* *" 808J.@@ $%%$11%%%%%%%%%%%% :PL9%!!%%# -DVWU@%%" 7OWWP:6KM^^MK6%%3PWVF/ 8[``````````[: $%'HR> 2]``O11O``]2 #%%84 K``AA``K "% %$ U`TT`U $% "% U`I I`U %"%K`II`K%$% 1`Tuѧ%$% [`!%!% :`AӅ %!%"[`"%%`OdM%% 8`1=ӛ %%H` %"%R`=\Y%"$%[``i%%$%h```%%"%PʝoE`W%"% ǝw`K%% `/`: %%VӃO`%% Ӗ`[ %!% ӰA`: %!%EӾ`[ %$%kT`1%$%|u`II`P%"%Y`I I`Y%" %$U`TT`U $% %" K``AA``K 47%%# 2]``M//M``]2 >RH'%$ :[``````````[: /FVWP3%%6MO``OM6:PWWO7 "%%@UWVE- #%%  %9LP: %%%%%%%%%%%%11%%%% @@Q<+  "@ "@ "@"@* *"A0Z.@@$%%$%%%%%%%%%%%%(8)#%%!!%%#/HVH1%%" 5NWWJ26KM^^MK6%%8RWVD) 8[``````````[: $%7TWU?"2]``O11O``]2 #%2LS; K``AA``K "% '?9U`TT`U $% "% U`I I`U %"%K`II`K%$% 1`TU`1%$% [``]P%!% :`AF %!%"[`"%%`O&P%% 8`16Ӄ %% H`Mӧ%"%T l%"$%2ϒAY%%$% s`6%%"%g$`%"%o`K%% I/`: %%nӹ&O`%% ?ӥ`[ %!% ӣDA`: %!%W[``[ %$%1`TT`1%$%O`II`P%"%Y`I I`Y %" %$U`TT`U9?& %" K``AA``K ;SL2%# 2]``M//M``]2"?UWT7%$ :[``````````[: (DVWR8%%6MO``OM62JWWN5 "%%1HVH/#%%  %%#)8(%%%%%%%%%%%%%%%%@@R<+  "@ "@ "@"@* *"I0j.@@$%%$%%%%%%%%%%%% #%%!!%%#58)%%%%" 6QRD%6KM^^MK6%%6QWU@ 8[``````````[: $%6QWU?2]``O11O``]2 #%5QWU= K``AA``K "% 9RU>U`TT`U $% )D? U`I I`U %"%%K`II`K%$% 1`TU`1%$% [``[ %!% :`AA`: %!%"[``["%%{OO%% ӕӷ %%YdӺ%"%ӭ.:ӽ%"$%ӃӾ%%$%Ӵ=I%%"%Yd%"%o z%% ӕ& %%uOO%% [``[ %!% :`AA`: %!% [``[ %$%1`TT`1%$%O`II`P$%"%Y`I I`Y?D) %$U`TT`U?UR9 %" K``AA``K =UWQ5%# 2]``M//M``]2?UWQ6%$ :[``````````[: @UWQ6%%6MO``OM6%DRQ6 "%%%%)95#%%  %%# %%%%%%%%%%%%%%%%@@S<+  "@ "@ "@"@* *"R0.{.@@$%%$%%%%%%%%%%%%#%%!!%%# "%%%%" 72'%6KM^^MK6%%8TL> 8[``````````[: $% 4RWS9 2]``O11O``]2 #%.NWU; K``AA``K "%(HWV>U`TT`U $% 9VWD" U`I I`U %",GJ)K`II`K%$121`TU`1%$%T[``[ %!% ΩDA`: %!%"(ӡ `["%%`ӰO`%% */`: %%=`K %"%\!A%"$%#ӖP I%%$%IӝY&z%%"%s zӽ%"%H`ӧ%% :`/Yӈ %%`O2]%% [`( %!% :`AF %!% [``[W%$%1`TT`1/1$%O`II`P(IG+"%Y`I I`Y"DWV9 %$U`TT`U?VWH(%" K``AA``K ;UWN.%# 2]``M//M``]2 9SWR4 %$ :[``````````[: ?LT8%%6MO``OM6%'27 "%%%%" #%%  %%#%%%%%%%%%%%%%%%%@@dN+  "@ "@ "@"@* *"[0.@@$%%$%%%%%%%%%%%%#%%!!%%# "%%%%" %%6KM^^MK6%%3'%$ 8[``````````[: $% 8PH9 2]``O11O``]2 #%.NWQ5 K``AA``K "%EWV=U`TT`U $% ;VWF" U`I I`U %"1QWP._z`II`K% 1LU; kU`1%$9@3Ӿ`[ %!%ӝA`: %!%" z`["%%]PO`%% ./`: %%̒`K%"%lɥY: `W%"$%d`ss`^%%$%[`ss`n%%"%R`#Ms:%"%H`z%% :`/sӓ %%`OF%% [` %!% :`Aӊ%!% [`#3@9$%1`Ttѻ :UL1 %O`II`j.OWQ1"%Y`I I`Y%FWV; %$U`TT`U>VWE%" K``AA``K 4RWN.%# 2]``M//M``]2 9HQ8 %$ :[``````````[: $%'4%%6MO``OM6%% "%%%%" #%%  %%#%%%%%%%%%%%%%%%%@@rJV<+  "@ "@ "@"@* *"o0.@@$%%$%%%%%%%%%%%%#%%!!%%# "%%%%" %%6KM^^MK6%%%$ 8[``````````[: $%%# RX]``O11O``]2 #% %"DХ`AA``K "%,;9)1T`U $% =VN;= I`U %"'NWN"ӆI`K% ;WW=U`1%$"LWO'E`[ %8VW?/ӎA`: %!=RR-[`3Pw `["% >@`OIO`%%8`1/`: %%H``K%"%R` `W%"$%[`YY`^%%$%[`YY``%%"%R``W%"%H``K%% :`//`:%%`OO`?>% [`Mǩ\=,`[,RQ=!% :`Aѯ?WV7 % [`zT'OWL"$%1`T*Ӊ xzI`K%>WV9]әU`1%$"LWM# [`#Yӹ`[ %4UW@:`A&s A`: %!BWT0[`A`["%&NWK`OO`%)BM> 8`1/`: %#5*H``K%"%R` `W%"$%[`MM`^%%$%[`MM``%%"%R``W%"%H``K*5#% :`//`: >MB)%`OO`KWN&% [`#`[0TWB!% :`APϒI A`:@WU4% [`*̎A`[ #MWL"$%1`T̩`9VW>%O`IG =HJ0"%Y`I >%+# %$U`TT+ $% %" K``A5ӳ"%%# 2]``M//Mdӛ #%%$ :[``````````[t$%%%6MO``OM6#%% "%%%%" #%%  %%#%%%%%%%%%%%%%%%%@@LN+  "@ "@ "@"@* *"0.@@$%%$%%%%%%%%%%%%#%%!!%%# "%%%%" %%(oKM^^MK6%%%$!ӊ````````[: $%%# l1O``]2 #%%"^MA``K "% %$MT`U $% "% nA I`U %"%K`IZ:I`K%8@61`T:U`1%$'OSD [`.:`[ %5VW=:`A\.A`: %!@WT0[``["%JWM `OO`%+RWD8`1/`: %6TW;H``K%$AG-R` `W%"$+[`@@`^%%$%[`@@``+%"%R``W-GA$%H``K;WT7% :`//`:CWR+%`OO` MWJ% [``[/TW@!% :`AEA`:=WV5% [`sz`[ DSO'$%1`TsYT`16@8%O`IsӴFI`P%"%Y`I sӺt%" %$U`TgӍ $% %" K``A`Ӻ9"%%# 2]``M/zx #%%$ :[````````ӛ$%%%6MO``OM}3%% "%%%%" #%%  %%#%%%%%%%%%%%%%%%%@@W Fg<X<e*rpwl*l-Sp&-F(-H/a0 W !whW  10q! ^(rmzTP-K-K(@6-&r d-  !Oa !B -a&!Br El.VRIFF@WAVEfmt "V"Vfact@data@~~~~~~~}~}~~~~~~}}}|}||}|}||}{}{|{{{z{z{z{{z{z{zzzzyzzyzzzy{z{z{yzyzyzyyyyzxxxxyxyyxxwxxxxxyxyxxxxyxyxyyxyxxxxxxxxwxvvvvwvwvwvwtvvvxvwuvvvwvvvvuuwuwuwtuvuwuwvvuvuwvvvvvuwuvuuuuvuvuuuvutututuutuuuuvsutuutututututututttttttstttsrsrssstssrsstsuttvtuutuvtwuuvuvuwuvuvvtvtuuvuvuwtuuuvuvuvvuvvuvvuvvwuwwuwvwwwuwwvywywwvwwwxwwvyvyxxxwxwxyxyyxxxxxxxwyyxyxxxywzxxzuywx{x|xyxzxz{x{xzyyzyy|w{yw{x{x{yzyzzx{y{yy{y}z|{y{y{z|z|{x}v~{z~x|x{z}z|{z{z}zy}x|||~z}y{x|{||y|y{{{|z|z{{{{{{z{{}{}||||~}}}}|}}}~}|~{{~|{~}~|~~~~~~~}~|~~~~~||}|~~{{~}~|~~~}~|}}~{~~{|}~~~~{}z~x~~|y~~~}~~}{}xy~}}{~~{||}~~{|}{vruxw{|w~y|{}}~|~~u~~}}}xzz}~}y~~w}vv~}~{~yz{{~~|{}~}~xvx|{zx~|}y}|~{~{}~zrsu{}z{|~ȷriitxmZHFRj|xjfnoprux{|vv~~jYKC>;71,#%/;EKLD>86660&" )35$&6>EMZfmmaP@1' !#(/8CKS^imjaWRTY^a_ZRMMSX]acddb_ait}~{yz{{{|~{wwzxmfXH% (MbrԨxvteQ=203217H\moe[X^fmj`UKFGNVan~v_A( 2K^l}{tj_WV\cgghnv~peVG#  3lҢ|{dJ?AMQF?Ha|qlr}ssttsryxfSB2 $8GTh±hYF9-+.8ENYdrm\K9+  0e|owsW0  "G\]KGYvxy}}upk_OB:9) 'H^glvnM6!!%6FVfsɮ|k_S@   @㪓o<'6KP8(6`nyŭʻǵŶwlhmrjSK\ѲtXJHQct˷voof==TN,*kɽޢe*:DPepwrU! #$ C¿ݬrtui?)5H_r}Ժusx||vv{pVP_x|jQG?BJZhjrƷj1!-  OtN, !03/>Vrǿnfjnofbgu{lhq||mir~ƿzicie^XYgsö{N 8. K\! *0$%9TsɬnfsvnXIL[gijq~zmk~tu}wddrqobX]oȶzM*8: Oj\_x嵫}; ,KoƱxiqznW==Nbljkpx}xhkznabj~{{o[TYhv}w}~R93\G ,WT9JlǨg# # 2Tqλ|litmR5);Q`a_gr{py~nqvzjho{|~yxtv|uw@,*Y]% 0]Y8?jͧt'   A_pаzxqJ&.FME@Octijy{wmk}tfqyyot}}|otuv|K42XY .TK 'Xضɸy/%#  6Xbm~S-1FJ9+3J]\cowtpaltxqvuwsr|{|_>1Fb<  DT8$IuĚV7/-. ARXg־qJ4;KL<)(8ALXmrbflnqrlgan|yN?8XJ 7GE(;cз}PLD?* (DKSelVQZWI6-/9FSbkryrnnpslhehs|jJ7500BJKQc{ƹ{pd^]ekfgo||eZju? /;%=EPdԷn`UTOJMJORTem|vtwy{yup_VUcqY>(1X`N70Idrpm~óǴ|uaQJ<501999-3Mclghod]WTMMJFJGMXX_eo|~~wwtwtopmrux|}zrgaghUB,1BI?.(7N\[Vfwɺwlie]XSNPMMUW[_epu{}~|}{}{rilo_P97HLF3)5HXVO[j|yusjd]WYTQVW\]`kntxz|~umlwlWA6MVN9&.GXWKN`pIJ}xrmb_]V\Z[_[chlss}tpntoYI=LYQ>02HYWNK\l{|Ǻ}ujbd`ca]`_dlnrtzuomogWFAOUL<29NZWNRbrzqmkijgfgfjnquw}}plnslWICQZP>39M[XNM^m{}yyssrtoilkorqru{|vsprhWIGQTI9/6JRMDHVfrrrzwursnlnmqtvxyz|}wlhmm\F58GJ;'!2HRI?H\qzvvxwx}|urpsyzzwwy~yszvs|y}xlcac]M:3=EA0!(=NK??Odttq{wsstwursty}upu{~sjhsyyyv|zqipz}{w|ueZX][I-*@G60S\K;C`|qlyx{}yy}~xyuiir{zohjw{ssy}xojny~{x{ym`TOQO>%%:C0-VaL4<`vjy|}|}vrrwxqgdisvqkmy|vty|ztqv}}zqfWI@@DA+9D+/amS6=hl|wvyz|xwuroprpkddnwyrpwytqv|}{vu|yrkcYC4.0944;":kzfRb˽yxeRWkzhZ_u{zzwyqu}|{zytpoptuwwvx|}wsqnibYUL7#,,,J:/muͷϴmVXkzhJ7A`uxfX\mwxyv}xsz{zplpxxoc\^dlonmnu}zsquyxrkgilkd^P>. *1#9K1<}w̷ɿ~_KQfsgM>Gb}zkfo|rvxkiouvssz}~t`VX_hfYQT]kuxx|ztprw{zvtrt{~|tnmopcJ-%3&0O73w­}kOJZpylYO]wxkpk]dtxh^ao|z~dD42GTK>./Mhrzux}y~ww}~vv}srx~~t]B&#+  =9#/aȿp]U]mwynbcmzlm~~fX\kvyqklvvljnk^J:37DLQQMQ_n~z{~}}}~~zvrfZJ7&  5>CJ[}Ǻ{vslklqy|~zz|~qghqwtgZWbq{}naYUUTOGCDLXafffgq{}tqt{}zx{~}zyy}}{yvvtrpnmj`P<+!#&&  )CMMJTp¿ɹ~ztoloxxtxwkgmvzuh^\er|tg_]_`^XSSXajqssty~~zwxy}|wsonongZH5(&()'  :MUQQ`ŷ~|{wssv{mejsxre[Zer|~th^Z[_a^YWZdowyxwz~z~yv~}|}}yusvz||xurturk\G8-,23- +FTTLOeŹ~mejrum`VV`mvz{~~rf`bhmlg``hs|~{xx|~yxw{~}}}{zyunaRC72454+)ASYVU_wznlpuunfbdmw{rnqw{|xtty}~zvtuvvvux|zundWNIINPME;9DYlupghw|qf^XY^bb[RNVfv~zqou}{~~~}{xutsrqoljigfeca_^][YXWVUSPLE>:8DNVUPKJMOLGEJSYXRNOW`gloqqons}yv{{yxwvvupg]Y]dif_YWWXXVTSQMGBABDCA?=<:;>DHIFA>?DHJIEBAABDFIKLLLLNQTXZZXVTTVYZXURQPQSUVVTRPPQRRRQPNKHGILNMJGFHJMPQQPNNNPRRQPONMNORTTTRPPRTUTRPMJIIIIHFDBBCCCCCB@><;;;:852111111000/.-,,+($$*(''$!$13,$"(2BC>71027ADGIJIHIMRX\_^[VTV[acb^[Z\`eilmmjhghjmoolhdbbfjlkhecdgiklljgefhkoqrrqqrvz~}|}{wtssttromkkkkkkjjhgeedeeedcbabaa`_^^]ZUNGFO`npeTJN[ee`]`daUIJ[q|pfflu|zx|~shfo|zvtstzunmpuwy{~|yz~~}|}~}}~~}|{zxupjffn{vmnv~~{|~vkhq~|{{uolp{tpsz}|{~sko~~~}yvsrv}|vtw{|{z|zuw}|}~~|sbRJOjrabp~umq{xqs}~|~y|zvw~wsv~}}z{xvw|z}z|~||}}zz{}wy}~}~|dA+5bٝLQzZRm©ijn[cwXFQvrYVg{u}snymagxxg]d{qkq}~xwtqv}vtx}|||~zy}~uu}}}}yy}}|{zzz|~}{z{~}}|zy}~wwv|~||zzxsi]YaxtVKXqwhdpwxy}~zpmtriir~~yuv|~|||yxwvuv{}tnou|}||~|xx|~}~~{{{|{wyy|{}}{{{~}||}~~|{zvvtuuxzyxrmjjqz}upps{~~{}~~}{y{}~{zz{~}|{||~~}|{zyyyz{||{zzz|~~~~}~||z{~}}}~~~}}zxy{|xvy}}yyz~~z}~~~~|{|}~~~~||{zywxw{|{ytrprssqonoonmmrx|yqkkr}}}{{{~{z|~||~~~}}}||zyxyz|}{wuuy}}xvwy|~}zyx{~}ywwy|~}{zz{zyxxyz{zyyz|}}}|{z|~~}}}}||||{{xwpqv|qkoxyzxw|}~}}~zz{~yvw{ytsw~|tqtx~zutvy~}{{}~|y{~|{yz~|wwy}~{yxwuwvyz|zxtqqqsttsrponkifhnwwjbep|~{yvux}|xw|}}~}{{{||{yxyz||yvsrty}~|vsttwz}{vtux|}ywwwyzz{{{zxvvvxxxxxxz{zxwwxy{~~}{{|}{{|}~}{zzyz{{{{zyyyyyzyyz{{|||{{|}~~}}~~~}}}}}~~}|||}~|{{~|zy{~}zwww|}ztttvx{{}}zxttswz}~}{xvuwy|}zyyz}}~|{yxyyyxyyxwutuwz{xupppqsrpmkiilry{ukbcly~yvsppu~zusv|{xy{|||~|wttwyzywustuwwzyusuvw{{}}}xvvx||zxyz}~~|ywxwxy{zzywwwxyyxxxyyz{||}|||~~}|~~}|{||~~|ywxyz|}|{yxwxyz{||{zyz{|}~~~~~~~~}}~~}}}~}|{|~~{z|~~|{{}~|{}|{{}~{xxz~{xyy|~zwvw{~~|yxwwy{~|xtstvyzyuqmlnqrqqrvwtmhlu~xuuwy{}|{|||}~}}~vvuvz~wvuqx{y~|yx{xxz{|~{yx{~{~~{}~|~~{{zyz}|||zvx{{{{zxz{{{||~~}}}}~~~}||{{||{{zzzz{{{{{{{{|||}~~~}}|vy{~touxsv|~urvzwz~{wy~|zz}~|{|~}{yz}}xvx}~yvvy{utx}zy{}{}}}}z|~{xx{~zwwy~~zvuw{{wuuy}{wttvy}}|yvssuxyxtnlq{zngku}xrqv{trx}}{{{{~yuy{xz||{xtuz~}zz|~}x{~~{zy|}{{{}~|~}}~~}||}~~}}}~~w{}{tqz|x{xv}{{}yw{{{z}}~|~}||~}yx}{||~z|}}~~{z{~~|xxxy{}}}|zxwvwz}}}ysojkr}pbam~{wqoszsrx}{}{x{~z{~ywyz|~}}yvuy~zvvz{xz~{y{}}||}}||}~~|{|}~~|}yy~}z|z|}~zz}}||}~~}||||}}~~{zz|}|zxxy{}}wsrpruvy{zwronrx}|zvvw{~}~~~~~~~~~~~~~}}~~~}}~zpilzoNIbrotndapjZ\l{rprv|ofm|{z|rlq~yrty|}}}zwy~|ww~|tsw{}}}zursy{wvx{~{yz~}~~~}{z{~~}|}}|zzz}}|{|}~~~~||}~~}||{|~}{z{|~~~}}||}~~}}~~}}~~}}}}}}}~~~}}}~~~~~}}}}~~~~}}}~~~~~~}}|{}}{z}}~~~~~~~||}~~}||}~~~~}}}~~~~{z|~zx{}{|~~{{}~~|{}}}~~}|}~~~~~}~}~~~~~}~~~~}~~||}}|{|}}|{|~}}||~~}zyy|~{~~}|}}wtty~~zwy{{y}}|}~}}~}|~~~~~~~}~}|~~~~||{zz{}~~|{zzz{|}~~}|z|}~~~}}~~~}}~~~~~}~~~}}}}|}|}~}}|}}}~}~~~~~~~~~~~~~}}~~~}~~~~~~~~~}~~~~~~~~}~}}~~~~~~]<+  "@ "@ "@"@* *"{0/@@$%%$%%%%%%%%%%%%#%%!!%%# "%%&=%%" %%6KM^qɔN%%%$ 8[`````bȐ7$%%# 2]``O1m #%%" K``Azr "% %$U`TTӾk`U $% "% U`I *ӭ I`U %"%K`Iә I`K%$% 1`TU`1%$% [`d`[ *!!% :`AA`:4HI9 %"[``[&QWC%`OO`LWK% 8`1/`:DWP&%H``K =WT0"%R` `W7VW88>#[``^-QP9 9OQ-[```$>98WV7R``W%"0TW= H``K%&PWD:`//`: %KWK`OO`%CWP%[``[ % 9JH4:`AA`: %!"* [`A`[ %$%1`TgT`1%$%O`I I`P%"%Y`I . I`Y%" %$U`tPT`U $% %" sA``K "%%# ^Ә/M``]2 #%%$/``````[: $%%%[d`OM6%% "%%g%%" #%%  %%#%%%%%%%%%%%%%%%%@@^<+  "@ "@ "@"@* *"!0/@@$%%$%%%%%%%%%%%%#%%!!%%# "%%%%" %%6KM^^MK} %%%$ 8[````````ѓ$%%# 2]``O1{~ #%%" K``A`V"% %$U`T`ӥ $% "% U`I YӶj %"%K`IMJI`K%$% 1`TMw U`16@8% [`Mӡ&`[ DSO'!% :`A:MA`:=WV5%"[``[0TW@%`OO`"MWJ% 8`1/`:DWR+%H``K;WT7"%R` `W-GA$$%[``^+%$+[```%%#AG-R``W%"7TW;H``K%+RWC:`//`: %JWL `OO`%@WT/[``[ %5VW=:`A&:A`: %!'OSD [```[ %8@61`Td`T`1%$%O`IR`I`P%"%z` I`Y%" %$PT`U $% %"DMA``K "%%# k/M``]2 #%%$$ӊ````````[: $%%%?oMO``OM6%% "%%%%" #%%  %%#%%%%%%%%%%%%%%%%@@_<+  "@ "@ "@"@* *"@0X//@@$%%$%%%%%%%%%%%%#%%!!%%# "%%%%" %%6KM^^MK6%%%$ 8[``````````[T$%%# 2]``O11Odӊ #%%" K``A5Ӯ"% %$U`TM1 $% "% U`I lD%+#%K`If =HJ0$% 1`ŢW9VW>% [`ӝP`[ #MWL"!% :`AlA`:@WU4%"[`=`[2TWB%`OO`KWN&% 8`1/`: >MB)%H``K*5#"%R` `W%"$%[``^%%$%[```%%"%R``W%"#5*H``K%)BM> :`//`: %&NWJ`OO`%BWT0[``[ %4UW@:`AP=A`: %!"LWM# [`I`[ %>WV9cӼT`1%$0JH= VӖI`P%#+%Il I`Y%" %$6AT`U $% %"$A``K "%%# `M//M``]2 #%%$[``````````[: $%%%#6MO``OM6%% "%%%%" #%%  %%#%%%%%%%%%%%%%%%%@@`<+  "@ "@ "@"@* *"0?/@@$%%$%%%%%%%%%%%%#%%!!%%# "%%%%" %%6KM^^MK6%%%$ 8[``````````[: $%%# 2]``O11O``]j? #%%" K``AA`5"% %$U`T!& )9;,"% U`I PӾ % 8`1/`:%%H``K%"%R` `W%"$%[``^%%$%[```%%"%R``W%"%H``K%%:`//`: % >>`OO`%=RR,[`0A`:`[ % 8VW?(ӼA`: %!"LWO'fg`[ % ;WW< T`1%$'NWM" әI`P%=VN;%I I`Y%",<9*@T`U $% %"Zӡ`AA``K "%%# O]``M//M``]2 #%%$ :[``````````[: $%%%6MO``OM6%% "%%%%" #%%  %%#%%%%%%%%%%%%%%%%@@a<+  "@ "@ "@"@* *"50O/@@$%%$%%%%%%%%%%%%#%%!!%%# "%%%%" %%6KM^^MK6%%%$ 8[``````````[: $%%# 2]``O11O``]2 #% %" K``AA``K 0CH4 %$U`TT`|8PWG "% U`I L5CWV: %K`IZӵ-PWM)$% 1`T r=WW>% [`l%LWL0!% :`AӖ;L?%"[`04&%`O&Ӯ%% 8`1PdTTTTqw %%H``K%"%R` `W%"$%[``^%%$%[```%%"%R``W%"%H``K%% wqTTTTTM/`: %%IO`%&2,ӡ`[ %?L;#A`: %!0LWL%!s`[ %>WW=Ӽ T`1%$)MWP-NI`P% :VWCbӸI I`Y%" GWP7j`TT`U $% 4HC0 K``AA``K "% %# 2]``M//M``]2 #%%$ :[``````````[: $%%%6MO``OM6%% "%%%%" #%%  %%#%%%%%%%%%%%%%%%%@@QO+  "@ "@ "@"@* *"0N`/@@$%%$%%%%%%%%%%%%#%%!!%%# "%%%%" %%6KM^^MK6%%%$ 8[``````````[: $%'3%# 2]``O11O``]2 9HO8 %" K``AA``K 4RWN. %$U`TT`U>VWE"% U`I I`U "FWV;%K`II`L.OWQ1$% 1`Tuѧ :UL1 % [`!@9!% :`AӅ%!%"[`"%%`OdM%% 8`1=ӛ %%H` %"%R`=\Y%"$%[``i%%$%h```%%"%PʝoE`W%"% ǝw`K%% `/`: %%VӃO`%% Ӗ`[ %!%ӰA`: %!9@EӾ`[ % 1LU:kT`1%$1QWO.}u`II`P%;VWF%Y`I I`Y%"EWV=U`TT`U $% .NWQ5 K``AA``K "% 8QH9 2]``M//M``]2 #%4'%$ :[``````````[: $%%%6MO``OM6%% "%%%%" #%%  %%#%%%%%%%%%%%%%%%%@@Eα/lRIFFdQWAVEfmt "V"Vdata@Q~rPXhz}xwvroit|yqkmt|ofkr~|wtyx||roodrvzbYYt~ropzmkjks{|vxv}xmrks\Olaqdbuesp~mwwkUW_b~yz]lk\z|~{ywlx~pptx{~tv|yysckrzzx~wsrjbo{vmc^b`jzvvtknp~|tqvux{rqpq{|otby|}w~{xyu{ty|{{qt}jvg_mkv~~}mtos~xphjhizxxvw|t||vsdakjxpjfprvvsuxsabj`nqhjax|tzwx|veTMQayz|qca]Dew}uhV:Sayyntnu^ehk~`qP[hg}~}mqrwyrv{v~}RL[Rgbhvt~kqvq~ucknf`jWrkojrhfkprquvyxugtkcuqztz~smjjpqodk|~}q`PY^RNO[ik~tl}spe_eYYWOdp|bi^RoNKZRbX`erwbU6@JEVDNU[hb^Wce]SB9F[c\Xa]ee[RC=:8BLTNTVTTTckb\PDEAIS\io\[PX_QNE:@RT\__VPHK>4=4:=GSNX[Z[RM=BHFJ@B?ISQPJGIKNSHF?>EDKJ>605<7;A@FLEF?:949@EFHEA778;=951:CJQID?69>JNA8/:@FOGPLJOLRE>;8AFOQMU`RMK==87B@FWTZZXWMRRRRMLC>@Xfemg\WROIHOWX]fgjcgh]a^TLN\^\gqvxqd^^Z\[Vbgfp}xreXOK^iqz~zoyx}{vqlpijszv}ty|̾Žļ¼ztlmvx|~|vwz~|zvrtz{}}tV8!-:C7((4:ELN]\[`bjs~ndcgkkjcac^WPLR`gie__eihffgihf`\Z\fmsyztrsqvyyzvrqnlmkjkjga[RQSVZZ[Z_fdl{lN/$/BTXPS^fitor|z{h[LC:0%"'23'%"+>GIEBDO\`lpqy{{xsvwtlcYSTUWYWVTUURRQQUUTSTTZdjruux}~}}z~wmgY: !BVix|utcN.';N]eputj]XWetz}xstwxxvtqm^I5# %)022385=IMD88BRepvzûĺj5 /F  #=)%@^sl~ѲiRBJOQK10CGCKZqtqtq}}ysoxzdSPX]^ZTVZ_afkuu69B  7J>JmorxjaeYM?(&5?Lcx|}n^TOJDAHOT[Z^k|æe50G3 3H>@artsvîudZLE:*+JRVZY^kxzx|qo|tdXRPLOKMWay^R?KoM74OonyucUmgG84AOOW]ctlgkuxxrfadbXUV]oŸiUA=T? 3JTgobrƾz`I615;DILWh~~ż~troh_XX_hsŝvfRTaE/$=S_ryhds{`QOUYZZ[eu~~}zwsosxi\SaU7(.>P]nw|re]acbc`bintvx~|{ƽtbnkYG0#+5>JScu}nedfddbeijnoqsx~zyzzztlrtcZKEHNTX_isv}{~wuvuspqpoquwvwy}||von|pljahfeggqvwz|xqpo{~}}}~xvwx{{xvy~z|x~}{zytlifhhimlntz}xuty||y{}~~}}zvsptwxz{|{}}}|yutsqttvzwxzzwqlqrnkmoouy|~}y{wz|~y{{xuuvvvyzwtplnqrqrtux}~~}s{|y{||w|tswsuvuvw{{{}~wronljimry~y~}~z|~~wzzywyxy|zyzzz{}yvvuttwz{zy|~{|~~|~w{||zxvxxz{xqmijmmpuzy{|~{{{|}}xrotqrwx}~||}}{yvxzx{~~{wxy~|}~xrytv{}}|~~yrpknompr{~|}}ztptlntw~~}~}wuqptstvx~|xqlmkhoqz{{xwyxwsqoorpsv}~~|wwtwxy}xofhaW\ak{~|xqvxxwsruwwxu{}tnhehloxyjc]OLNSgv|}{ppqsvuvx~}z~}|yrponnmkkps{ua^RB?AJ]srs~~zqjtux{xxrw~|xtl`\[Z_acis{|}~lY\E?9;R]wpq|vnetty}|nmoryw}zpocZOILMX^dpxzqmhjjlnpvv~mZPH3-*4Pcpmptyym_^lt{i_^ejloqzuf_YQF<<@L\fuxtke\TVTY\^ffpsy̵wUG9) Fekonw~aNOZjuvy¼ò}gURR_efigv~sU@2-/$(.?hĺ|p]TQMGA<=JU^gmry~aA/%!4WrunhftsfQBRh϶~t[OOMYXWZXgnpkSLDHMFMMdŷxtvoiaRQPLJDA@MU[hlvhN/# JvlVYuírbdguaL=3JWdicntzbVWU`[[ao|zwxwl`OMLNUQSZj|~z|ywnfhjv{||x}iSB<2&4Xz`CQ Qd*7BB}xzQ7Cod[gxtpibgwmPGUzfSHWlLGN\wlZUWcq}rf_\bz{ngjrz{wrljltrt}}znlcgs~zwomu|xqmqzvlkmpt{|y|xusnmklpsxz|zwtpoptuvyy{}~zsopve1+oG Hܧs[\hdE7+YM_yxaP[na\[QXrmHFfvRNqhOTh}{l``hoyfKDRstaY]jtw~|kdipv|paak|ypmjpv{{xrtwyppu||uroquz~|xwtqtswyyxvwxz|xvsqx{~}|{~|zwwz~NOl  EM$2hg,Bj ZvOCHNYuƠmP^bJ\εC(9mzqnppt{nlv`Xc~uv}}qlsyslejvmaeq~ztnoyyros|w}{|tr~|{xxtksu{urvx}|~|~|wvz~{yx}{yP&)_Ao F gA0fH(sލ7"NlRYxzkak}SIepamzvppy~^P]|odjy~~}|wnoyniqwoq}}ony{z|wn|~vq~spus~|pfmv|qpt{xx{ux~{}}|}uyvG/Eo l _@%>orMHpǁ@4gٿN@]ucSY{[?Hsuq{zupfrq`ekcm}upnwuhiw{tu{|xvzwlo|{z}~zy|z|xuxv|uzru~puz{{wzy~~z|~{tt~~}}~z|cJGmF ] ߳xY`vrbnɜY3Iգ_?Vxfl{{]HUîXNbyhfy{ptywusy}tloz~zwx}yz}~{y~}}~~}|xx}{~~~|{xx}~trvzvw{~|}yv{}wy}~~zqlo~|aT]v|kelxzrsrlu}~~~zy~~yy~|yz~{vw~~{}~~~xux~{{}~~~~~~~|~}||}~}zxxz~}tnvxtlsvzvxx|uw||usy|xttv{zvsu{zvtx~wvz~zw{|z|yvyzxxzyojmvxkejvwoot||xwz}{{~{zyz}~~{wuwy~}||}}|}}}|{|{y{{z{}~}{zz{}~~~~}|{yy{~|zy|}}~~}}~}||~{yy|~}{zz{||}~~}{zz{}~}{{{}~{{|~}y{yywxv|vpv}xrrxxttu{zvvx}~}}}}}~}ywz|~zyx{}xvyyrsywtv}{ww}ynjv~omv~|ysu~}z~|{|wwyx~~}~||}{~~}~~||}}}~~~}{}}}~}~~~zz{~~~}{}{|}}~~}}~}~ywyzros}~yvvyxvz~~}~~}~~||}}}|}~}~~}~~}}~~~~~~yx{zwvv}~~|z|zyz|~}{z{{~{zz~~}}}~}|{|~~||}~}|}}~|||}~}|}}~~}||}~|{z|yqmq|wsrtx~zuvz~}|vx}{xxy{~~}wtx~~{xz~}||}}|~}{|~~~~}}~~~~~~~}}~|z|~|||z~zxz||}|xwz~}yxwz~zxz}}||}}~~~~wqu}g`k~{vmjs|lhqztszvrqzzzzx{z}~uuw}z{}}~|z|}{zz}}xwy}|xxy}|yxz~|z{|~~}~~~~~~~~~~}}}~~~||}~}||}~{xyy{vtw}}|yz|~}yxz}}zxy{~~{xwy|~|yxz{}zyy{~~}|{{||}}||||}}}|{zz{|}}}}{zyxy|~|zzz}}~}||{{|{{{{||}|{zzz{|}~}|{zzyzz}|ywy{~~|{zyyz|~~|ywx{}}{zyy{|}}}|{zz{|||||{|}}}}|{z{}~}{{z|}~~}{z{|~~~}|{{{|}}}||{{{||}~}|{{||}}}}|||}}~~}~}|||}}~~~}||{|}}~}}||}}}}~~}||}}~~}|{|~~}||}~~~}|}}~~~~~~}}~wsr}}ialwrx}ztr}wffv{|~|xv{{utz|}~z}}{y~|x}~}}}~}zx|}|||}||}~~}~~~||}~}}~~~~~~~}}~~~~~~}~~}~~~}}I${bKPxr *D$ G a/!vD$ o a/!OD$ DC< ?, R )  !> -U a!Q{{&R,P?{}Y-rF* rFYRA {XR,?{X rY*prF* rFYRrY*<Y-Ya/! g YY{%[rF*FY-A$'D$ s:D, {g Y-RA {XFa/!.F#R,?{X Ya/!.Y#Ya/!UYa/!fYa/!SF-R| g :D, 6F:DR`R g R,?{ F- RH g 2:D, 6F:DR`R g Z-A$R,>?{vR,??{ SO+  "@ "@ "@"@* *"30/@@$%%$%%%%%%%%%%%%#%%!!%%#)8( "%%1HVH/%%6KM^^MK62JWWN5%$ 8[``````````[: (DVWR8%# 2]``O11O``]2"?UWT7%" K``AA``K ;SL2 %$U`TT`U:?' "% U`I I`U %"%K`II`K%$% 1`TU`1%$%T[``[ %!% ΩDA`: %!%"(ӡ `["%%`ӰO`%% */`: %%=`K %"%\!A%"$%#ӖP I%%$%IӝY&z%%"%s zӽ%"%H`ӧ%% :`/Yӈ %%`O2]%% [`( %!% :`AF %!% [``[W%$%1`TT`1%$%O`II`P%"% Y`I I`Y%" &?9U`TT`U $% 2LS; K``AA``K "%7TWU?"2]``M//M``]2 #%8RWVD( :[``````````[: $%5NWWJ26MO``OM6%%/HVH1%%" (8)#%%  %%#%%%%%%%%%%%%%%%%@@VWO+  "@ "@ "@"@* *"]0/@@$%%$/%%%%%%%%%%%'>L=) #%%!2LWWL8  "%%:LWWVG4%%6KM^^MK6&=PWWH %$ 8[``````````[: .CPC%# 2]``O11O``]271%%" K``AA``K "% %$q`TT`U $% "%HӸI I`U %"%CI`K%$% ӴU`1%$%$Y`[ %!% A`: %!%"Co`["%%O`%% vrTTTTgE/`: %%H``K%"%R` `W%"$%[`ff`^%%$%[`ff``%%"%R``W%"%H``K%% :`/#PTTTTTqw %%`O\ӓ%% [` %!% :`A2Ӎ %!% [`%$%1`Tx%$%O`Ia%"%Y`I LO%" %$U`TT`s $% %" K``AA``K "%%172]``M//M``]2 #%CPC- :[``````````[: $% HWWP=&6MO``OM6%%4HVWWL:%%" "8MWWK2 %%# *=M>'%%%%%%%%%%%0%%%%@@c .^)_c Mwc *6c a/!A Mc c l.c  p>Y0&&p.attitudetoplayer<4&&((p.isa('scriptedpawn')&&!P.IsA('nali')&&!P.IsA('cow'))||p.isa('ParentBlob')||P.IsA('teamcannon'))); } //only works in standalone! in client game always returns false function bool PotentialEnemies(){ local pawn p; /* for (p=level.pawnlist;p!=none;p=p.nextpawn) if (p.Enemy==playerowner&&IsEnemy(p)) return false;*/ for (p=level.pawnlist;p!=none;p=p.nextpawn) if (IsEnemy(p)&&P.ActorReachable(owner)) return true; return false; } simulated function ParseMessage (out string message){ //parse out parameters of translator messages local int i; i = InStr(message, "\\n"); while(i != -1) { message = Left(message, i) $ Chr(13) $ Mid(message, i + 2); i = InStr(message, "\\n"); } } simulated function SetMessage(string InMessage){ ParseMessage(InMessage); if (Tlist==none){ Tlist = Spawn (class'TranslatorHistoryList',owner); Tlist.message=InMessage; } else Tlist=TList.Process(InMessage); if (bNewMessage&&!PotentialEnemies()) ForceActivate(); } simulated function string GetMessage(){ if (Tlist!=none) return TList.Message; return NewMessage; } simulated function bool ClientActivate(){ //use this as well server-side bActive = !bActive; if (!bActive){ if (M_Deactivated != "") Pawn(Owner).ClientMessage(ItemName$M_Deactivated); bNewMessage = False; bNotNewMessage = False; } else if (bActive && M_Activated != "") Pawn(Owner).ClientMessage(ItemName$M_Activated); return true; } state Activated { function BeginState(); function EndState(); Begin: } state Deactivated { Begin: } {3Z 1) { if ( s == None ) { UsedUp(); return; } if (bUsesCharge) Charge -= int(TimeChange); TimeChange = TimeChange - int(TimeChange); } if (s == None) Return; if ( Pawn(Owner) == None ) { s.Destroy(); UsedUp(); return; } if (bUsesCharge&&Charge<=0) { s.Destroy(); Pawn(Owner).ClientMessage(ExpireMessage); UsedUp(); } if (bUsesCharge&&Charge<400) s.LightBrightness=byte(Charge*0.6+10); X=vector(Pawn(Owner).ViewRotation); EndTrace = Owner.Location + 10000* X; Trace(HitLocation,HitNormal,EndTrace,Owner.Location, True); s.SetLocation(HitLocation-X*64); // s.LightRadius = fmin(Vsize(HitLocation-Pawn(Owner).Location)/200,14) + 2.0; } function BeginState() { local Vector HitNormal,HitLocation,EndTrace; bActive = true; TimeChange = 0; Owner.PlayOwnedSound(ActivateSound); EndTrace = Pawn(Owner).Location + 10000* Vector(Pawn(Owner).ViewRotation); Trace(HitLocation,HitNormal,EndTrace,Owner.Location,true); s = Spawn(class'TvFlashLightBeam',Owner, '', HitLocation+HitNormal*40); TvFlashLightBeam(s).bHideMe = (Owner.Isa('playerpawn')&&ViewPort(PlayerPawn(Owner).player)==none); s.LightHue = LightHue; s.LightRadius = LightRadius; if (bUsesCharge&&Charge<400) s.LightBrightness=byte(Charge*0.6+10); if (s==None) GoToState('DeActivated'); } Begin: } state DeActivated { Begin: if (s!=none) s.Destroy(); Owner.PlayOwnedSound(DeActivateSound); } //client control: state ClientControl { //this is the state that clients (and never server) are always in. simulated function bool ClientActivate(){ Super.ClientActivate(); if (!bActive) Owner.PlayOwnedSound(DeActivateSound); else Owner.PlayOwnedSound(ActivateSound); Tick(0.0); return false; } simulated function Tick(float delta){ //update beam client-side. local Vector HitNormal,HitLocation,EndTrace,X; if (!bActive){ if (S!=none) S.Destroy(); s=none; return; } X=vector(Pawn(Owner).ViewRotation); EndTrace = Owner.Location + 10000*X; Trace(HitLocation,HitNormal,EndTrace,Owner.Location, True); if (s==none){ s = Spawn(class'FlashLightBeam',Owner, '', HitLocation-X*64); s.LightHue = LightHue; s.LightRadius = LightRadius; } else s.SetLocation(HitLocation-X*64); if (bUsesCharge&&Charge<400) s.LightBrightness=byte(Charge*0.6+10); } } simulated function Destroyed(){ if (S!=none) s.Destroy(); Super.Destroyed(); } E90NRIFFGWAVEfmt "V"VfactVGdataVG~~~~~~~}}}}}}}}}}|||||||||{{{{{{{{{{zzzzzzzzzyyyyyyzzyzyzzz{{zxwwxyyxun_Tiç^T]fmr|kabiunC;bױrB5Dam_YYdzyXNVhy~wpu~vzrVPcu, DÓrfQ?8EfwcYY\qi`e]E7H|ԯk]WQP^wvfZTUaypPHZu~qjs{f`nx}dRO^zugddgispVLWnzsnmot~rlq~p_TMYco{m\[hz~~}ldmpmqzxh^_rgXW_w{tyw}XBIk~~{xzxxzyfj~plifopkv}ytg\i{cXdwjjsfGHYcfbeu||wjhlq}~mbr~|omu{ytvurqr}{urmjllnoldUSgwstz}uwyqomr{~}rlpxysllnqpjaZ^giebcm~sfablxzy}zrh`j|{oknmf_[XUW\OHRSV^cf\OFAH\n~|tumc]`dcdflnaOCFU^YKB@GNJ@<:44/*3=ELHFF>3$%>OTSU\VA2% $*:OSLB81-*(-;B>9566.""'&*7=@=72"'6A?3+! && !*1+"#%" &(%'"&%"(+*& $186,&'.,*!%(# %6D>/&0;CDD7(!-832((28FF>7*%*3;=;9<7+/@=5&$&$!=P\TICDNZ_`dkxrH,),-C_wt[>(&'1?TqͿ÷Ͷf fɭ༨ؽx~ǡ}gh{ƷƻĽĽ{}ĹH  d w`De`elTX]O, ?pu[-8X´k<1FUQ9'*-39:51:Xʩz~~vgVKHQcuzlR8,/:K\l{{oedprb\cx|eP'  Fobqт52vÉX=Mir8    9@%Gęֵn!*  ".9SvwhqĿwugJ$ *30)+;Sj{wpuxx||nM)  I{(Շ#rYEL\_YG    FRHޔ}\[{y>(! !7@Ojͯn_^``\TJ?4+)+158:83,,9Qpvj[L@=H\otgUC9<2 BM (pYj *efL. :E0*TךÜX"3E% 2UI&<[v躐tdR4  ;\mla[\dgfeiopmgjr||xum_N?2%  22 8ﷅl(T  BjN  >tǽoMCF6-#) ),,3DaοjH% $UmzcE.'   5 2{GMhVw0;x](  Ei˾}dH9=OZO.'#6V`crΫaRPL=*+?OX_i{oXB/  <*  6²|ȉayz83b{TCGLB.2LeƦtqpfVIFNX\SC:BWdW:%%:R\ZXa}¹ǩrpsjWA9G^s}_E"  }ѐҗT?c}a[_`TB/ 0QvĞoN/#.CQOC@L_nneafowzvv}Ǯ}ufUGGSg|B  .֠ѷyD=bzswbJBFIC3&)?d彭S/!&14+"2IczŶqegrvrnt°vB @/ ?ش穙žZ'$E_`I89GdumuxhcnwM41:=3 #Hi}Ի~bQTetyuuнf5&7) &tўn_pkXRYsze_l{xaJCSrڸsjkfR1 5LWYasлz||{T2!4?/ PǠĭkcdkmfd_dsyu|gQNbzvgkºŲydF1(+8GPMIK`ŷ{`D5=R`W>%-Orrdpqlklkprpljr|z|olu~|qgiu}phfhie^Y^jttopzz~xtv{|xrnnoollnrxqiq}{paYY[^ap|szywzxpjlwynkryrmnqtrmfbcfgegp}~ywwvvz{sx^`tzmjkjhgr~r^Vas{tjiotpiivyqt~xvx|~zricchorrqt|sr}{ojlquy~{|z}^]tsouwus|m_fxncekleaj~tw~xrorz}tmq}zla_bhow~}}yvz}{{zymkryvmiowxqjm{~{~{z{wlnz}yz~~yrps{ljv|vv~su}st{~vhcl}wopw~}oht~}{xz}~z~vdj{zpptlr|{xxmnxztrrty}uorz}usy~ztqrtw|}xttx~}{~zkny~xrouzmkqxyxz|xnfgpz~{unkknswyzzwoknz{|xtuz}{xy|}uruy{~|zyy}wz~||}~|tmmoqqqttnfcgnrpnnnnosx|}}~~|{}~~~}|}}wsrstuxyyvsu{slr|ujfilqvzzqdZ\enqolf^Y]iw~zwutxyzvqt}~zy{}tqrx~zz}{plotxywridaadinoi_Z\cilnpokgjs}|yzxvx{~~{xwx{~|}}xnlmpsvuof_\[\bjpogaaflsxzxrmmqv{|}|z{}}{|~{zyyyxxyyxvttuvuronnmmmmnopqqrux{}~}}|||~~~}{{{zyxvuttuuwwxyzz|||}~~}||~~}|{}~~~|{{{{{{zz{|{z|}~}||}}~}{}~~~}}}~~|s}|snXnegul{xw|ui{usrro~{|gg|aw``npqp}y_w||xyzv~}{|}ntkg~ywtqx`qilr}moa~}pu}{tkxra[Wz`|ghqxl~|e|{gtr{gzix~t|vtssumjonqUdjA{ilatYmtac^|xt_rze}mqk{llZzxdPtX~pTrUWfZ\YsaWGjeifSkmUoZS~\QmivbLYjYVY[qWQX\tdeKi~RrcfscE`YxLIc\RghjvWTlYarKasK}W-jM^cqJ0AS]WFEYGJbINK2CSHXQY_23WV>KFQZTX:HV:GSAPO0j^Dc-9SDJXc>FR1KVTG1HFRaV6#DNNHBBNY^][am|}sia`gs~{ulikkkg`\_gpuqi`YTSTY_ejmoomjjkqvvurprxytrpqsuvuqlihfdcb`^\YZ\^_^^\ZXURPSTWYWTSRQOMMNPNJGFFIJIGA=<CECBCED?;;@GLLF?;9:>BHORRNIFFILORVXYVQMMS\ceca][YWW[afgfb`^]^_bgkje]VTW[_`^\ZUPNLMQUVTPKFCBCHMPOKFCBCEFHJLKIFEGKQUWWUSQRSX\`bcdcccdfiklmlkiiklmoqpolkjjkkjijkjifdeilnlgaZSPT]fhd]ZYXRKJR]dbXMHJOTX[^^ZRHCDIOQQQSSPIA@HSZZSKHGIKLRZ`a\VRRTWY\ciid]Y[dkprrqnkgcdiptvtqolighmuxunfbbdefgilke_YXY[[[[[ZWSPRWZZURQRRPNOSVXWVVWXWVWY]_^]\^adddegjjighjlmmmoqrqqrtuusqpqrrqpqrrrqqqrsrqqqpqsvxwtne^^dpxwpigge^VW`msncYWZ_abdhhaWMKOV[[[^`^WMGJR[^\XSRRRSW]cgfb][\]_bfmstnfcgpwyvuvwtnjkrz~}{zzxsoou{~zsooqqpprvxuohddddegklic^]_bddbbba^ZX[_egfdcb`^]`ehigedfghhilpqokijmpstvxyxuuvy{|||||{yxx|~}{ywvwwxxzzxwvwxxyz|~ztnkpz|utuvpgbiu~{pebfkmlnqspf\W[adcachkf\TT]gjf`]^_][]dmpplihhihjov|~yspsz{wx~~yy~|yyzywuw|~|vpmmlkkmprpjffikkihijjfcbdgjkjjjjjihilnonlmprqppsvwvsrsuxxxxy{{{yyz||zyz{|zyy{~|zzzzzyyz{{zzz{{{{{|{zyyyz|}~~{uporz|vuxxrjflw~|sjgknpprvyumd`chlkjkqtqg^^fosnhgiigcdluywsqqqolls|~xvy}y{}xy||~}yvvz~}xusqommqwzxsoopqpmmquuqmlnruvvwxwuqoquxyyy{}}{yz}~{z{|||}~~~~~~~||~}|{{{}}}~~~}|}~~}}~~~{x{{qmr~yuvxxxzxpllpsstw{~zpfcisxvrqsuqkjpzzxyzvqow~|}~~~{ww{|||{xuw|yuux|~~zy|}vvz~y{nN>LyǸ[IWnudNPsvPMjxmiqv[Toɧx[\o|w}~zyp\d~~|{{vtvw~uhfrriho||~}tvyw}~lSAJtƊA"P}u}M RealClass; //original class->to get defaults simulated function PostBeginPlay(){ //copy localization of item Super.PostBeginPlay(); ExpireMessage=RealClass.default.ExpireMessage; PickupMessage=RealClass.default.PickupMessage; ItemName=RealClass.default.ItemName; if ( ItemName == "" ) ItemName = GetSimItemName(string(RealClass)); } function TravelPostAccept() { Super.TravelPostAccept(); bActive=false; //force deactivate. } simulated function String GetSimItemName( string FullName ) { local int pos; pos = InStr(FullName, "."); While ( pos != -1 ) { FullName = Right(FullName, Len(FullName) - pos - 1); pos = InStr(FullName, "."); } return FullName; } function Activate() { if( bActivatable) { if (Level.Game.LocalLog != None) Level.Game.LocalLog.LogItemActivate(Self, Pawn(Owner)); if (Level.Game.WorldLog != None) Level.Game.WorldLog.LogItemActivate(Self, Pawn(Owner)); if ( M_Activated != "" && owner.Isa('playerpawn') && viewport(playerpawn(owner).player)!=none) Pawn(Owner).ClientMessage(ItemName$M_Activated); GoToState('Activated'); } } state Activated { function Activate() { if ( (Pawn(Owner) != None) && Pawn(Owner).bAutoActivate && bAutoActivate && (Charge>0) ) return; if ( M_Deactivated != "" && playerpawn(owner)!=none && viewport(playerpawn(owner).player)!=none) Pawn(Owner).ClientMessage(ItemName$M_Deactivated); if (Level.Game.LocalLog != None) Level.Game.LocalLog.LogItemDeactivate(Self, Pawn(Owner)); if (Level.Game.WorldLog != None) Level.Game.WorldLog.LogItemDeactivate(Self, Pawn(Owner)); GoToState('DeActivated'); } } simulated function bool ClientActivate(); //implemented in ClientControl state. return true if do not activate on server state ClientControl { //this is the state that clients (and never server) are always in. simulated function bool ClientActivate(){ bActive = !bActive; if (!bActive && M_Deactivated != "") Pawn(Owner).ClientMessage(ItemName$M_Deactivated); else if (bActive && M_Activated != "") Pawn(Owner).ClientMessage(ItemName$M_Activated); return false; } } //other hacks: auto state Pickup { // When touched by an actor. function Touch( actor Other ) { local Inventory Copy; if ( ValidTouch(Other) ) { Copy = SpawnCopy(Pawn(Other)); if (Level.Game.LocalLog != None) Level.Game.LocalLog.LogPickup(Self, Pawn(Other)); if (Level.Game.WorldLog != None) Level.Game.WorldLog.LogPickup(Self, Pawn(Other)); if (bActivatable && Pawn(Other).SelectedItem==None) Pawn(Other).SelectedItem=Copy; if (bActivatable && bAutoActivate && Pawn(Other).bAutoActivate) Copy.Activate(); if ( PickupMessageClass == None ) Pawn(Other).ClientMessage(PickupMessage, 'Pickup'); else Pawn(Other).ReceiveLocalizedMessage( PickupMessageClass, 0, None, None, RealClass ); PlaySound (PickupSound,,2.0); Pickup(Copy).PickupFunction(Pawn(Other)); } } } vOp{lv [0!S !Fa&!ipYL?a&!SpYa&!Fp x// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // BattleBrute : Changes some defaults. // Most notable thing is his shield. shields are cool :) (note: it is visual only.. health remains the same) // also has seeking rockets when using rangedprojectile as osrocket or rocketmk2 // =============================================================== class BattleBrute expands Brute; //Shield Stuff: var (Shield) float ShieldPercent; //amount of health transfered into shield. var(Shield) enum EShieldColor { Red, Blue, Green, Gold } ShieldColor; //shield color to use? var (Shield) enum EShieldStyle { UnrealI, UT } ShieldStyle; //unreal or ut? //Locking odds (to work rangedprojectile must be osrocket or rocketmk2): var () float SeekingOdds; //odds of seeking rockets at easy difficulty var () float SeekingDifficultyVariation; //seekingodds are added by difficulty*this number. //active vars for shield: var int ShieldBase; //amount of shield at start var int ShieldAmount; //amount of shield currently. var BruteShieldBeltEffect MyEffect; //either unreal's or UTs...... var class ReferenceShield; //rip defaults from here. function PostBeginPlay(){ Super.PostBeginPlay(); if (RangedProjectile==class'OSRocket'&&level.netmode!=NM_StandAlone) //1.3 oops.. I should have updated the rocket simcode.. RangedProjectile=class'RocketMK2'; ShieldPercent=fclamp(ShieldPercent,0,1); ShieldBase=ShieldPercent*Health; if (ShieldBase==0) return; //no shield. ShieldAmount=ShieldBase; if (ShieldStyle==UnrealI) ReferenceShield=class(DynamicLoadObject("olweapons.osshieldbelt",class'class')); else ReferenceShield=class'UT_ShieldBelt'; MyEffect=Spawn(class'BruteShieldBeltEffect',self); SetEffectTexture(); } function SetEffectTexture() { local byte SHByte; SHByte=ShieldColor; if (level.game.class==class'MonsterSmash') SHByte=rand(4); if ( shbyte != 3 ) //gold MyEffect.ScaleGlow = 0.5; else MyEffect.ScaleGlow = 1.0; MyEffect.ScaleGlow *= (0.25 + 0.75 * ShieldAmount/ShieldBase); MyEffect.Texture = ReferenceShield.default.TeamFireTextures[ShByte]; MyEffect.RepLowDetailTexture = ReferenceShield.default.TeamTextures[ShByte]; MyEffect.Mesh = Mesh; MyEffect.DrawScale = Drawscale; // broadcastmessage ("Texture is "$MyEffect.Texture@"and lowdetail is"$Myeffect.RepLowDetailTexture); MyEffect.BaseScaleGlow=MyEffect.ScaleGlow; } //shield check. returns true if shield handled all damage (no hit anims/momentum transfer) function bool CheckShield (int Damage){ if (Health==0||MyEffect==none) return false; if (Damage==0) return true; //? PlaySound(ReferenceShield.default.DeActivateSound, SLOT_None, 2.7*SoundDampening); MyEffect.ScaleGlow = 4.0; MyEffect.Fatness = 255; ShieldAmount-=Damage; if (ShieldAmount<=0){ MyEffect.Destroy(); MyEffect=none; return false; } if ( ShieldColor != Gold ) MyEffect.BaseScaleGlow = 0.5; else MyEffect.BaseScaleGlow = 1.0; MyEffect.BaseScaleGlow *= (0.25 + 0.75 * ShieldAmount/ShieldBase); return true; } function Destroyed() { if ( MyEffect != None ) MyEffect.Destroy(); Super.Destroyed(); } function Died(pawn Killer, name damageType, vector HitLocation) { Super.Died(killer,damageType,HitLocation); if (Myeffect!=none&&health<=0) MyEffect.Destroy(); } //rewritten to allow for shield use: function TakeDamage( int Damage, Pawn instigatedBy, Vector hitlocation, Vector momentum, name damageType) { local int actualDamage; local bool bAlreadyDead; if ( Role < ROLE_Authority ) { log(self$" client damage type "$damageType$" by "$instigatedBy); return; } bAlreadyDead = (Health <= 0); if (Physics == PHYS_None) SetMovementPhysics(); if (Physics == PHYS_Walking) momentum.Z = FMax(momentum.Z, 0.4 * VSize(momentum)); if ( instigatedBy == self ) momentum *= 0.6; momentum = momentum/Mass; actualDamage = Level.Game.ReduceDamage(Damage, DamageType, self, instigatedBy); if ( (InstigatedBy != None) && (InstigatedBy.IsA(Class.Name) || self.IsA(InstigatedBy.Class.Name)) ) ActualDamage = ActualDamage * FMin(1 - ReducedDamagePct, 0.35); else if ( (ReducedDamageType == 'All') || ((ReducedDamageType != '') && (ReducedDamageType == damageType)) ) actualDamage = float(actualDamage) * (1 - ReducedDamagePct); if ( Level.Game.DamageMutator != None ) Level.Game.DamageMutator.MutatorTakeDamage( ActualDamage, Self, InstigatedBy, HitLocation, Momentum, DamageType ); Health -= actualDamage; if (CheckShield(actualdamage)){ //no anims/blood if ( (instigatedBy != None) && (instigatedBy != Self) ) damageAttitudeTo(instigatedBy); return; } AddVelocity( momentum ); if (CarriedDecoration != None) DropDecoration(); if ( HitLocation == vect(0,0,0) ) HitLocation = Location; if (Health > 0) { if ( (instigatedBy != None) && (instigatedBy != Self) ) damageAttitudeTo(instigatedBy); PlayHit(actualDamage, hitLocation, damageType, Momentum); } else if ( !bAlreadyDead ) { //log(self$" died"); NextState = ''; PlayDeathHit(actualDamage, hitLocation, damageType, Momentum); if ( actualDamage > mass ) Health = -1 * actualDamage; if ( (instigatedBy != None) && (instigatedBy != Self) ) damageAttitudeTo(instigatedBy); Died(instigatedBy, damageType, HitLocation); } else { Destroy(); } MakeNoise(1.0); } //locked rocket stuff: (I HATE final functions!) function SpawnLeftShot() { FireLockedProjectile( vect(1.2,0.7,0.4), 750); } function SpawnRightShot() { FireLockedProjectile( vect(1.2,-0.7,0.4), 750); } function GutShotTarget() { FireLockedProjectile( vect(1.2,-0.55,0.0), 800); } final function FireLockedProjectile(vector StartOffset, int Accuracy) { local vector X,Y,Z, projStart; local class Projectile; local projectile proj; MakeNoise(1.0); GetAxes(Rotation,X,Y,Z); projStart = Location + StartOffset.X * CollisionRadius * X + StartOffset.Y * CollisionRadius * Y + StartOffset.Z * CollisionRadius * Z; if (CheckTarget(ProjStart)){ if (RangedProjectile==class'OSRocket') Projectile=class'OSSeekingRocket'; else if (RangedProjectile==class'RocketMk2') Projectile=class'UT_SeekingRocket'; Accuracy/=3; } else Projectile=class(RangedProjectile); proj=spawn(Projectile ,self,'',projStart,AdjustAim(ProjectileSpeed, projStart, Accuracy, bLeadTarget, bWarnTarget)); proj.speed=projectilespeed; proj.Velocity = projectilespeed*vector(proj.rotation); if (proj.Region.Zone.bWaterZone&&(Proj.Isa('Rocket')||Proj.Isa('RocketMk2'))) proj.velocity*=0.6; if (Proj.Isa('UT_SeekingRocket')) UT_SeekingRocket(proj).Seeking=Enemy; else if (Proj.Isa('Rocket')) Rocket(proj).seeking=Enemy; } //quite simple check (locked if view fine and if passes) function bool CheckTarget(vector Start) { local Vector X,Y,Z; local float bestDist, bestAim; local rotator AimRot; local int diff; if (Enemy == None ) return false; if (frand()>SeekingOdds+Skill*SeekingDifficultyVariation) return false; AimRot = rotator(Enemy.Location - Start); diff = abs((AimRot.Yaw & 65535) - (Rotation.Yaw & 65535)); if ( (diff > 7200) && (diff < 58335) ) return false; return True; } u<mWLEa!f =::$ma  #L?a<" @wm*mAm 6m 6m 6m$ v<z^e0z!\a!D = fz!h-W >a!Y = 6?, @??a!i =a!O = z!K z!ua!G = {6V'6333?-k?Wya!F = 6- ?a!u =a!D = \$ g&r%* n=,_rL*L.UTtech2.Deco.xmetex2x1 \ -K -' 'z<w<'6K }A// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // MercExplosion : for use with the mercenary thingy :) // =============================================================== class MercExplosion expands UT_SpriteBallExplosion; var rotator RealRot; replication{ Reliable if (role==role_authority) RealRot; } simulated function PostBeginPlay(){ Super.PostBeginPlay(); LightRadius = 6; SetTimer(0.0,false); if (rolefff?nPB$A L>fff? d,PdC$APdC$A }3aP 6J-l= ? ai'$a 6aa+aw.*.CTPCG #?w.*.DL>D  M$// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TranslucentCreatureCarcass : This carcass is used for translucent creatures. // Features: // Stays translucent when creature dies. // Spawns bio explosions rather than gibs when gibbed. // =============================================================== class TranslucentCreatureCarcass expands olCreatureCarcass; var vector SurfaceNormal; var float ChunkFatness; //for self-destruct function Initfor(actor Other) { Super.InitFor(Other); Style=Other.Style; bGreenBlood=scriptedpawn(other).bGreenBlood; //bleeds green. ChunkFatness=Fatness; } function GibSound() //gib with bio sound. { PlaySound (class'UT_BioGel'.default.MiscSound,,0.02*DrawScale*mass); } //spawn bio explosions. Note: instigator=creature who died. function CreateReplacement() { local ut_GreenGelPuff f; if (bhidden) return; if ( Bugs != None ) Bugs.Destroy(); if ( (Mover(Base) != None) && Mover(Base).bDamageTriggered ) Base.TakeDamage( 20, instigator, Location, 200*mass* Normal(Velocity), 'Corroded'); HurtRadius(0.4 * mass * Drawscale, FMin(500, DrawScale * mass*1.4), 'Corroded', 200 * mass * Drawscale, Location+vect(0,0,3)); f = spawn(class'ut_GreenGelPuff',,,Location + SurfaceNormal*8); f.drawscale*=mass*drawscale*0.02; f.numBlobs = clamp(CumulativeDamage/20+rand(4)-2,3,13); if ( f.numBlobs > 0 ) f.SurfaceNormal = SurfaceNormal; } //snormal catcher: simulated function Landed(vector HitNormal) { Super.Landed(HitNormal); SurfaceNormal=HitNormal; } //enlarge and explode. state Corroding2 { function Tick( float DeltaTime ) { local float splashSize; local actor splash; ChunkFatness+=18 * DeltaTime; drawscale+=0.03 * deltatime; fatness = Clamp(ChunkFatness, 0, 255); if ( ChunkFatness > 186 ) Chunkup(100); } function BeginState() { Disable('Tick'); } Begin: Sleep(2.5); Enable('Tick'); } auto state Dying { ignores TakeDamage; Begin: if ( bDecorative && !bReducedHeight ) { ReduceCylinder(); SetPhysics(PHYS_None); } Sleep(0.2); GotoState('Corroding2'); } l<irZ}wp* wX*}p-Xa/!.X#i?::A?io)pX <OhE!> 6-pe'!FP($@A?PF$A >fff?PB$A >fff? O$L>w* w* O,s&,s&,i WO,P$A L>fff?O,?P $A >fff?Px($A >fff?Pu($A >fff? n@=YmDvY-#>?Br*L>s&'i nY B=XDd  X4Q4_BQ'6?,da!A 333?=9a!l333?=a$@ C=vCP $ ' D=XC s,,  F=d>C s,,' I //============================================================================= // chicoship1. //============================================================================= class chicoship1 expands Decoration; #exec MESH IMPORT MESH=chicoship1 ANIVFILE=MODELS\chicoship1_a.3d DATAFILE=MODELS\chicoship1_d.3d X=0 Y=0 Z=0 #exec MESH ORIGIN MESH=chicoship1 X=45 Y=0 Z=0 PITCH=-5 ROLL=-5 #exec MESH SEQUENCE MESH=chicoship1 SEQ=All STARTFRAME=0 NUMFRAMES=1 #exec MESH SEQUENCE MESH=chicoship1 SEQ=CHICOSHIP1 STARTFRAME=0 NUMFRAMES=1 #exec TEXTURE IMPORT NAME=Jchicoship11 FILE=MODELS\chicoship1.PCX GROUP=Skins FLAGS=2 // 1 - Default #exec MESHMAP NEW MESHMAP=chicoship1 MESH=chicoship1 #exec MESHMAP SCALE MESHMAP=chicoship1 X=1 Y=1 Z=2 #exec MESHMAP SETTEXTURE MESHMAP=chicoship1 NUM=1 TEXTURE=Jchicoship11 H=nC+ E=R BG=OG \9hID$BF$BnppeJ=_Qw[?___=__6- _ #<P $@_L>@(D?_{.>Pt($@@_(D>L?;_u=a%!F+r*?,a&!d=8a&!J=a^a%!';r*?,a&!d=a&!J= ^Tf 7%T   S:   +  pI 9  D: G  ~I U  K* c  LJ q  OJ   T+  U:  P- aT aT  Q: !W=Keb@=333?ia%!FWr*?,a&!u@da&!j@ a%!bK@K333?r*?,a&!|Ka&!MK I=E` (aE E %  I- 3  C* A  J- O  M+ ]  H- k  F- aE  a.aE  A/aE  G- HaE f EaE  q:aE  F;aE  }K,aE  u:BaE  y:XaE  PKnaE  }:aE  :aE  w:aE  E;aE  qK s: !r//============================================================================= // tree402. //============================================================================= class tree402 expands Tree; #exec MESH IMPORT MESH=tree402 ANIVFILE=MODELS\tree402_a.3d DATAFILE=MODELS\tree402_d.3d X=0 Y=0 Z=0 #exec MESH ORIGIN MESH=tree402 X=0 Y=0 Z=-16 #exec MESH SEQUENCE MESH=tree402 SEQ=All STARTFRAME=0 NUMFRAMES=1 #exec MESH SEQUENCE MESH=tree402 SEQ=TREE402 STARTFRAME=0 NUMFRAMES=1 #exec TEXTURE IMPORT NAME=Jtree4011 FILE=MODELS\tree401.PCX GROUP=Skins FLAGS=2 // Material #0 #exec TEXTURE IMPORT NAME=Jtree4012 FILE=MODELS\tree402.PCX GROUP=Skins PALETTE=Jtree4011 // 1 - Default #exec MESHMAP NEW MESHMAP=tree402 MESH=tree402 #exec MESHMAP SCALE MESHMAP=tree402 X=0.3 Y=0.3 Z=0.6 #exec MESHMAP SETTEXTURE MESHMAP=tree402 NUM=1 TEXTURE=Jtree4011 #exec MESHMAP SETTEXTURE MESHMAP=tree402 NUM=2 TEXTURE=Jtree4012 L=nL 0 an  Y:,an  o:Ban  OKXan  ]:nan  oJan  @Kan  AKan  g:an  _:an  m:an  i:an  aJ !M=V BP=AM 9b2D$|BF$XBO=_D4a_  M+,a_  \;Ba_  G-ja_ a_  a.a_  C*a_  J-a_  I-a_  A/a_  F-a_  H- H !y // ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // BlockShip : This class MUST be used to block ship without destroying it. // All other blocking methods (outside of zonevelocity) will destroy the ship. // Is like a block players. // Note: code assumes this is a block stops a Z area.. thus it removes z component on collision. // ============================================================ class BlockShip expands Keypoint; simulated function Bump(actor other){ local float speed; if (other.Isa('tvplayer')&&other.IsInState('playership')){ tvplayer(other).CheckWall=false; speed=vsize(other.velocity); other.velocity.z=0; other.velocity=normal(other.velocity)*speed; } } R=}x P84^}n}S}E}}aSSou}Z}o?,<#}}Wu3} aSS(}}}^}n S=i9t V=K3hDԝXԝXԝXԝXԝXԝX nGeX=NX;6?, w*O>A66 66  L>?,9?%l  Y=oP';M>r*?,a&!u>Ka&!j> Z=`L:o O[=|>[9aV !Y  w*?, a!Za!Z?>L>~aV ?>L>-Ss,, '?s,,'s,,' ^=s&68T333?Er*?,a&!usRa&!as U=(W:":o & W ,-Q'-Ga a a ?(9?W K(3<o ?,?&b(i(:o ,($(( ~;K3(i(bi(( |;K3(bi- :o ,-L($( z;K3- :o , -L($/(i(biqwv*(vK3W D?W ?, (i(A((bZi_-G( ( aSW ;a ?%( (bXi`(aSW bi6(Ca <66(=:6:6(*:6(,06(=%,:6(,06($(Ia H+B#a mbZ#?B@( BH// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // PalmShadow : Shadow of the palm tree :) // Specifications: // texture: 512x512 // Shadow area Y: Top (leaves) at 100, Bottom (trunk) at 487 (387 total area) // Midpoint: 294 // scriptedtextures are used to allow varying size. // ============================================================ class PalmShadow expands Decal; //#exec ScriptedTexture IMPORT NAME=BlankDecal FILE=TEXTURES\BlankDecal.PCX GROUP="Decal" MIPS=OFF //#exec OBJ LOAD FILE=..\Textures\MaskedDecal.utx PACKAGE=Olextras.Decal var texture Shadow, Scripted; //shadow texture //no calculations in render: var float ShadowUStart; //where to start horizontal. var float ShadowUsize; //Ustretch of shadow var float ShadowVStart; //where to start drawing verticle. var float ShadowVsize; //how long shadow is. (Vstretch) simulated event PostBeginPlay() { // Texture=ScriptedTexture'Blank'; Shadow=Texture(DynamicLoadObject("davidmgras.palmsil",class'Texture')); //DLO 512x512 texture! Scripted=Texture; //back up. ScriptedTexture(Texture).NotifyActor=self; // ScriptedTexture(Texture).SourceTexture=Texture'BlankDecal'; //set blank 512x512 decal as source. // Texture=Shadow; } simulated event Destroyed(){ Super.Destroyed(); ScriptedTexture(Texture).NotifyActor=none; } simulated function SetShadow(actor other, vector BaseLoc){ local float length; local vector temp, temp2; local bool oldfog; //drawscale=other.drawscale*0.13; //to match.. temp=Baseloc; temp.z-=25*other.drawscale; //tree is 50.67 un high at scale 1. temp2=location-BaseLoc; temp2.z=0; temp-=other.collisionradius*normal(temp2); length=Vsize(temp-location)+25; //shadow is 2x this. drawscale=fmax(length/96,0.2*other.drawscale); //as locaion is midpoint. of shadow and decal. one side is length. must be at least tree width ShadowUsize=(0.2*other.drawscale)/drawscale; //coef. ShadowUsize*=Texture.Usize; //real ShadowUstart=(Texture.Usize-ShadowUsize)/2; ShadowVSize=((length-25)/96)/drawscale; ShadowVsize*=Texture.Vsize; ShadowVstart=(Texture.Vsize-ShadowVsize)/2-25/drawscale-2*other.collisionradius/drawscale; /* log ("Other.location-location normal:"@normal(other.location-Location),'PalmShadow'); log ("Shadow length:"@Length,'PalmShadow'); log ("DrawScale:"@DrawScale,'PalmShadow'); log ("Shadow U start:"@ShadowUstart,'PalmShadow'); log ("Shadow V start:"@ShadowVstart,'PalmShadow'); log ("Texture U size:"@Texture.Usize,'PalmShadow'); log ("Shadow U size:"@ShadowUsize,'PalmShadow'); log ("Shadow V size:"@ShadowVsize,'PalmShadow');*/ oldfog=region.zone.bfogzone; region.zone.bfogzone=false; //ignore fog zone when attaching. (decals don't work in fogzones) // if (AttachDecal(100,1000*normal(other.location-Location))== None){ if (AttachDecal(100,1000*normal(location-BaseLoc))== None){ log ("Failed to attach decal!!!",'PalmShadow'); destroy(); } region.zone.bfogzone=oldfog; } /* simulated function Tick(float delta){ // Texture=Shadow; //hack so only renders scriptedtextures when should be. // LogBroadCastMessage("Old lastrendered:"@lastrenderedtime); // LogBroadCastMessage("Ticking with texture"@Texture); if (Level.TimeSeconds - LastRenderedTime > 0.35+delta) //not just this tick. swap texture Texture=Shadow; else Texture=Scripted; //reset. } */ event RenderTexture(ScriptedTexture Tex){ Tex.DrawTile(ShadowUstart,ShadowVstart,ShadowUsize,ShadowVsize,0,0,Shadow.Usize,Shadow.Vsize,Shadow,false); // LogBroadCastMessage("Doing scriptedtexture render!"); // Texture=none; // LogBroadCastMessage("lastrendered in post render texture:"@lastrenderedtime); } /* //temp! event LogBroadcastMessage( coerce string Msg, optional bool bBeep, optional name Type ) { local Pawn P; if (Type == '') Type = 'Event'; if ( Level.Game.AllowsBroadcast(self, Len(Msg)) ) for( P=Level.PawnList; P!=None; P=P.nextPawn ) if( P.bIsPlayer || P.IsA('MessagingSpectator') ) { if ( (Level.Game != None) && (Level.Game.MessageMutator != None) ) { if ( Level.Game.MessageMutator.MutatorBroadcastMessage(Self, P, Msg, bBeep, Type) ) P.ClientMessage( Msg, Type, bBeep ); } else P.ClientMessage( Msg, Type, bBeep ); break; } if (p==none) Log(MSG,'PalmShadow'); } */ L_=-7J333?@r*?,a!uHa!a h'Kln6:r.*.-s%Es,,'KjK{>J!^K+?J!EJ!i aJ333? a=Ih0c::$333?Sr*?,a&!DI`a&!]Iw*P a%! 6%666666f6Vr*?,a&!A>ca&!\>r*?,a&!T>a&!B>r*?,a&!CIa&!jI b=W+3::$+9?%1+ J@6@q 6q D6DC@q |Dq C|J@?@a!uHC#?@Dq ?%a!F Ha!| cr*k!t-?,k!Rk!Q?,k!tk!Uka ak d=l *Oa!r ̬?33>66 66 u= ]=A6W c=Q23%Z!Z!ԝXԝXԝXԝXZ!Z!Z!Z!ԝX111 W" _e=d&'~a%!M |4!U!Q|Q!t!R|n!\!V|!B!K|!|a&!|<|!Ma&!M<||a%!2a%!p !] !D7?,a&!C ף<|l-  !ja&!j ף<||aa!j kg=k&W \=vF JAvNUHrv *zvv 33'-Szvv ?v #?v #'-SvNU h=gd$3::$+9?%1+ Tr*a!1-?,a!Ka!V?,a!Ba!\ i=xmA!=::$09?%&x;hx ar*h!t-?,h!Rh!Q?,h!th!Uh#a a&hx j=eU"5;::$09?%&e;hear*a&!1e-?,a&!Kea&!Ve?,a&!Bea&!\e k=o'c ho' n=u'm hu' f=KzV7CbKK$^K]K-`K$K `MfeKiK^]KK r;fe-`-.-K$K^]KbK p;feKiK^]wR*KRfe y// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // WeaponHolder : This class is designed for three things: // A) Have a base class of weapon holders. // B) Prevent melee attacks.. thus skaarjtrooper is not under here. // C) Have a nice spot for new ONP followers or enemies. // ============================================================ class WeaponHolder expands Follower abstract; var () class WeaponType; //class of weapon var (Follower) bool Evil; //if true, is enemy. (implemented here, as all subclasses are "new" enemies...) var weapon MyWeapon; //my weapon ;p replication{ //needed? Test later! reliable if (Role==Role_Authority) Evil; } //// RELATIONS //////////// simulated function PreBeginPlay(){ super.PreBeginPlay(); if (Evil) //so never likes player. bCoward=true; bHasRangedAttack = false; bMovingRangedAttack = false; } function bool DoTravel(tvplayer Traveler, int ArrayNum){ //weapon support if (Super.DoTravel(Traveler,ArrayNum)){ Traveler.Friendlies[ArrayNum]*=10; Traveler.friendlies[ArrayNum]+=(weapon.inventorygroup%10)*10; return true; } } simulated function bool IsFriend(){ if (Evil) return false; return Super.IsFriend(); } function PreGreeting(){ //don't fire! Super.PreGreeting(); bfire=0; baltfire=0; if ( Weapon != None ) Weapon.Tick(0.001); } function tick(float deltatime){ if (WEapon!=none) Super.Tick(deltatime); else{ ticker+=deltatime; if (ticker>0.16) ticker=0; } } function eAttitude AttitudeToCreature(Pawn Other) { if (!evil) return Super.AttitudeToCreature(Other); //HATE creatures who collaborate with players. if ((other.isa('skaarj')||(other.Isa('WeaponHolder')&&WeaponHolder(Other).Evil))&&other.enemy!=self) return ATTITUDE_FRIENDLY; //always nice to skaarj & other evil ones. if (other.attitudetoplayervsizeSquared(HitLocation2)){ duckLeft = !duckLeft; duckDir *= -1; } else HitLocation=HitLocation2; if (VsizeSquared(HitLocation-Location)<3200) //would definitely hit wall.. too close return; } else HitLocation=HitLocation2; HitLocation-=duckdir*(collisionradius+1); } else HitLocation=Location + 200 * duckDir; //check if would jump safe if (Trace(HitLocation2, HitNormal, HitLocation + 600 * vect(0,0,-1), Hitlocation, false, Extent)==none) return; SetFall(); PlayDodge(DuckLeft); Velocity = duckDir * GroundSpeed; Velocity.Z = 200; SetPhysics(PHYS_Falling); GotoState('FallingState','Ducking'); } function Bump(actor Other) //nalis have no melee attacks. { local vector VelDir, OtherDir; local float speed; if (other==enemy){ breadytoAttack=true; LastSeenPos = Enemy.Location; gotostate('attacking'); return; } if (Pawn(Other) != None) { AnnoyedBy(Pawn(Other)); if ( SetEnemy(Pawn(Other)) ) { bReadyToAttack = True; //can melee right away PlayAcquisitionSound(); GotoState('tacticalmove','nocharge'); return; } if ( TimerRate <= 0 ) setTimer(1.0, false); if ( bCanSpeak && (ScriptedPawn(Other) != None) && ((TeamLeader == None) || !TeamLeader.bTeamSpeaking) ) SpeakTo(ScriptedPawn(Other)); } speed = VSize(Velocity); if ( speed > 1 ) { VelDir = Velocity/speed; VelDir.Z = 0; OtherDir = Other.Location - Location; OtherDir.Z = 0; OtherDir = Normal(OtherDir); if ( (VelDir Dot OtherDir) > 0.8 ) { if ( Pawn(Other) == None ) { MoveTimer = -1.0; HitWall(-1 * OtherDir, Other); } Velocity.X = VelDir.Y; Velocity.Y = -1 * VelDir.X; Velocity *= FMax(speed, 280); } } Disable('Bump'); } //ripped from skaarj trooper for weapon support. function ChangedWeapon() { Super.ChangedWeapon(); bIsPlayer = false; bMovingRangedAttack = true; bHasRangedAttack = true; Weapon.AimError += 200; Weapon.FireOffset = Weapon.FireOffset * 1.5 * DrawScale; Weapon.PlayerViewOffset = Weapon.PlayerViewOffset * 1.5 * DrawScale; combatstyle+=fclamp(weapon.suggestattackstyle(),-1.0,1.0); //set up style by using weapon. //Weapon.SetHand(0); } function TossWeapon() { if ( Weapon == None ) return; Weapon.FireOffset = Weapon.Default.FireOffset; Weapon.PlayerViewOffset = Weapon.Default.PlayerViewOffset; Super.TossWeapon(); } function Died(pawn Killer, name damageType, vector HitLocation) { bIsPlayer = false; Super.Died(Killer, damageType, HitLocation); } function bool CanFireAtEnemy() //pretty important, eh? { local vector HitLocation, HitNormal,X,Y,Z, projStart, EnemyDir, EnemyUp; local actor HitActor; local float EnemyDist; EnemyDir = Enemy.Location - Location; EnemyDist = VSize(EnemyDir); EnemyUp = Enemy.CollisionHeight * vect(0,0,0.8); if ( EnemyDist > 300 ) { EnemyDir = 300 * EnemyDir/EnemyDist; EnemyUp = 300 * EnemyUp/EnemyDist; } if ( Weapon == None ) return false; combatstyle=fclamp(weapon.suggestattackstyle(),-1.0,1.0); //set up style by using weapon. GetAxes(Rotation,X,Y,Z); projStart = Location + Weapon.CalcDrawOffset() + Weapon.FireOffset.X * X + 1.2 * Weapon.FireOffset.Y * Y + Weapon.FireOffset.Z * Z; if ( ((Weapon.binstanthit&&baltfire==0)||weapon.baltinstanthit) ||weapon.bmeleeweapon) //non-projectile HitActor = Trace(HitLocation, HitNormal, Enemy.Location + EnemyUp, projStart, true); else HitActor = Trace(HitLocation, HitNormal, projStart + EnemyDir + EnemyUp, projStart, true); if ( HitActor == Enemy ) return true; if ( (HitActor != None) && (VSize(HitLocation - Location) < 200) ) return false; if ( (Pawn(HitActor) != None) && (AttitudeTo(Pawn(HitActor)) > ATTITUDE_Ignore) ) return false; return true; } function PlayMovingAttack() { local int bUseAltMode; if (Weapon != None) { if ( Weapon.AmmoType != None ) Weapon.AmmoType.AmmoAmount = Weapon.AmmoType.Default.AmmoAmount; /* Weapon.RateSelf(bUseAltMode); ViewRotation = Rotation; //+ heheh :P if ( bUseAltMode == 0 ) { bFire = 1; bAltFire = 0; Weapon.Fire(1.0); } else { bFire = 0; bAltFire = 1; Weapon.AltFire(1.0); } */ FireWeapon(); } else{ PlayRunning(); return; } if (Region.Zone.bWaterZone) { PlaySwimming(); return; } PlayMovingAttackAnim(); } function PlaySwimming(); //subclass? function PlayMovingAttackAnim(); //in subclass function PlayRangedAttack() { PlayFiring(); } function PlayFiring() { if ( (Weapon != None) && (Weapon.AmmoType != None) ) Weapon.AmmoType.AmmoAmount = Weapon.AmmoType.Default.AmmoAmount; } state RangedAttack { ignores SeePlayer, HearNoise, Bump; function PlayRangedAttack() { FireWeapon(); } Challenge: Disable('AnimEnd'); Acceleration = vect(0,0,0); //stop DesiredRotation = Rotator(Enemy.Location - Location); PlayChallenge(); FinishAnim(); if ( bCrouching && !Region.Zone.bWaterZone ) Sleep(0.8 + FRand()); bCrouching = false; TweenToFighter(0.1); Goto('FaceTarget'); Begin: if ( Enemy == None ) GotoState('Attacking'); Acceleration = vect(0,0,0); //stop DesiredRotation = Rotator(Enemy.Location - Location); TweenToFighter(0.15); FaceTarget: Disable('AnimEnd'); if (NeedToTurn(Enemy.Location)) { PlayTurning(); TurnToward(Enemy); TweenToFighter(0.1); } FinishAnim(); ReadyToAttack: if (!bHasRangedAttack) GotoState('Attacking'); DesiredRotation = Rotator(Enemy.Location - Location); PlayRangedAttack(); Enable('AnimEnd'); Firing: if (Enemy == None ) GotoState('Attacking'); TurnToward(Enemy); //Goto('Firing'); finishanim(); //changed due to some problems DoneFiring: Disable('AnimEnd'); KeepAttacking(); Goto('FaceTarget'); } state TacticalMove { ignores SeePlayer, HearNoise; function Timer() { bReadyToAttack = True; Enable('Bump'); Target = Enemy; if ( bHasRangedAttack && ((!bMovingRangedAttack && (FRand() < 0.8)) || (FRand() > 0.5 + 0.17 * skill)) ) GotoState('RangedAttack'); } function EndState() { bFire = 0; bAltFire = 0; Super.EndState(); } } auto state Startup { function BeginState() { Super.BeginState(); bIsPlayer = true; // temporarily, till have weapon if (!Evil) AttitudetoPlayer=Attitude_Friendly; else cananger=true; //case statements: ? } function SetHome() { Super.SetHome(); if (WeaponType==class'oldpistol') //quick hack WeaponType=class'NoammoDpistol'; else if (WeaponType==class'enforcer') //quick hack WeaponType=class'Spenf'; else if (WeaponType==class'pulsegun'||WeaponType==class'OSpulsegun') //quick hack WeaponType=class'TVPulsegun'; else if (WeaponType==class'ShockRifle') //quick hack WeaponType=class'OSShockRifle'; else if (WeaponType==class'UT_eightball') WeaponType=class'TVEightball'; if ( WeaponType != None ) { MyWeapon = Spawn(WeaponType); if ( MyWeapon != None ) MyWeapon.ReSpawnTime = 0.0; } if ( MyWeapon != None ) MyWeapon.Touch(self); //gives weapon else{ CombatStyle=-1.0; Aggressiveness=-10.000000; } } } //swimming :P function ZoneChange(ZoneInfo newZone) { bCanSwim = newZone.bWaterZone; //only when it must Super.ZoneChange(newZone); } function PlayMeleeAttack() //no melee! { PlayFiring(); FireWeapon(); } state Retreating { ignores HearNoise, Bump, AnimEnd; function EndState() { bFire = 0; bAltFire = 0; Super.EndState(); } function Bump(actor Other) //no melee { local vector VelDir, OtherDir; local float speed; //log(Other.class$" bumped "$class); if (Pawn(Other) != None) { if ( SetEnemy(Pawn(Other)) ) GotoState('RangedAttack'); else if ( (HomeBase(Home) != None) && (VSize(Location - Home.Location) < HomeBase(Home).Extent) ) ReachedHome(); return; } if ( TimerRate <= 0 ) setTimer(1.0, false); speed = VSize(Velocity); if ( speed > 1 ) { VelDir = Velocity/speed; VelDir.Z = 0; OtherDir = Other.Location - Location; OtherDir.Z = 0; OtherDir = Normal(OtherDir); if ( (VelDir Dot OtherDir) > 0.9 ) { Velocity.X = VelDir.Y; Velocity.Y = -1 * VelDir.X; Velocity *= FMax(speed, 200); } } Disable('Bump'); } } function SetMovementPhysics() { if ( Region.Zone.bWaterZone ) SetPhysics(PHYS_Swimming); else if (Physics != PHYS_Walking) SetPhysics(PHYS_Walking); } state Charging { ignores SeePlayer, HearNoise; function Timer() { if ( Enemy == None ) { GotoState('Attacking'); return; } if ( (VSize(Enemy.Location - Location) <= (MeleeRange + Enemy.CollisionRadius + CollisionRadius)) || ((Weapon != None) && !Weapon.bMeleeWeapon && (FRand() > 0.7 + 0.1 * skill)) ) GotoState('RangedAttack'); } function EndState() { bFire = 0; bAltFire = 0; Super.EndState(); } AdjustFromWall: StrafeTo(Destination, Focus); Goto('CloseIn'); ResumeCharge: PlayRunning(); Goto('Charge'); Begin: TweenToRunning(0.15); Charge: bFromWall = false; CloseIn: if ( (Enemy == None) || (Enemy.Health <=0) ) GotoState('Attacking'); if ( Enemy.Region.Zone.bWaterZone ) { if (!bCanSwim) GotoState('TacticalMove', 'NoCharge'); } else if (!bCanFly && !bCanWalk) GotoState('TacticalMove', 'NoCharge'); if (Physics == PHYS_Falling) { DesiredRotation = Rotator(Enemy.Location - Location); Focus = Enemy.Location; Destination = Enemy.Location; WaitForLanding(); } if( (Intelligence <= BRAINS_Reptile) || actorReachable(Enemy) ) { bCanFire = true; if ( FRand() < 0.3 ) PlayThreateningSound(); MoveToward(Enemy); if (bFromWall) { bFromWall = false; if (PickWallAdjust()) StrafeFacing(Destination, Enemy); else GotoState('TacticalMove', 'NoCharge'); } } else { NoReach: bCanFire = false; bFromWall = false; //log("route to enemy "$Enemy); if (!FindBestPathToward(Enemy)) { Sleep(0.0); GotoState('TacticalMove', 'NoCharge'); } SpecialNavig: if ( SpecialPause > 0.0 ) { Target = Enemy; bFiringPaused = true; NextState = 'Charging'; NextLabel = 'Begin'; GotoState('RangedAttack'); } Moving: if (VSize(MoveTarget.Location - Location) < 2.5 * CollisionRadius) { bCanFire = true; StrafeFacing(MoveTarget.Location, Enemy); } else { if ( !bCanStrafe || !LineOfSightTo(Enemy) || (Skill - 2 * FRand() + (Normal(Enemy.Location - Location - vect(0,0,1) * (Enemy.Location.Z - Location.Z)) Dot Normal(MoveTarget.Location - Location - vect(0,0,1) * (MoveTarget.Location.Z - Location.Z))) < 0) ) { if ( GetAnimGroup(AnimSequence) == 'MovingAttack' ) { AnimSequence = ''; TweenToRunning(0.12); } MoveToward(MoveTarget); } else { bCanFire = true; StrafeFacing(MoveTarget.Location, Enemy); } if ( !bFromWall && (FRand() < 0.5) ) PlayThreateningSound(); } } //log("finished move"); //if ( bIsPlayer || (!bFromWall && bHasRangedAttack && (FRand() > CombatStyle + 0.1)) ) if (VSize(Location - Enemy.Location) < CollisionRadius + Enemy.CollisionRadius + MeleeRange) Goto('GotThere'); else GotoState('Attacking'); //GotoState('Attacking'); GotThere: Target = Enemy; if ( !Weapon.bMeleeWeapon ) GotoState('RangedAttack'); Sleep(0.1 - 0.02 * Skill ); Goto('Charge'); TakeHit: TweenToRunning(0.12); if (MoveTarget == Enemy) { bCanFire = true; MoveToward(MoveTarget); } Goto('Charge'); } state Attacking { ignores SeePlayer, HearNoise, Bump, HitWall; function ChooseAttackMode() { local eAttitude AttitudeToEnemy; local float Aggression; local pawn changeEn; if ((Enemy == None) || (Enemy.Health <= 0)) { if (Orders == 'Attacking') Orders = ''; WhatToDoNext('',''); return; } if ( (AlarmTag != '') && Enemy.bIsPlayer ) { if (AttitudeToPlayer > ATTITUDE_Ignore) { GotoState('AlarmPaused', 'WaitForPlayer'); return; } else if ( (AttitudeToPlayer != ATTITUDE_Fear) || bInitialFear ) { GotoState('TriggerAlarm'); return; } } AttitudeToEnemy = AttitudeTo(Enemy); if (AttitudeToEnemy == ATTITUDE_Fear) { GotoState('Retreating'); return; } else if (AttitudeToEnemy == ATTITUDE_Threaten) { GotoState('Threatening'); return; } else if (AttitudeToEnemy == ATTITUDE_Friendly) { if (Enemy.bIsPlayer) GotoState('Greeting'); else WhatToDoNext('',''); return; } else if (!LineOfSightTo(Enemy)) { if ( (OldEnemy != None) && (AttitudeTo(OldEnemy) == ATTITUDE_Hate) && LineOfSightTo(OldEnemy) ) { changeEn = enemy; enemy = oldenemy; oldenemy = changeEn; } else { if ( (Orders == 'Guarding') && !LineOfSightTo(OrderObject) ) GotoState('Guarding'); else if ( !bHasRangedAttack || VSize(Enemy.Location - Location) > 600 + (FRand() * RelativeStrength(Enemy) - CombatStyle) * 600 ) GotoState('Hunting'); else if ( bIsBoss || (Intelligence > BRAINS_None) ) { HuntStartTime = Level.TimeSeconds; NumHuntPaths = 0; GotoState('StakeOut'); } else WhatToDoNext('Waiting', 'TurnFromWall'); return; } } else if ( (TeamLeader != None) && TeamLeader.ChooseTeamAttackFor(self) ) return; if (bReadyToAttack) { ////log("Attack!"); Target = Enemy; if (bMovingRangedAttack) SetTimer(TimeBetweenAttacks, False); else if (bHasRangedAttack && (bIsPlayer || enemy.bIsPlayer) && CanFireAtEnemy() ) { if (!bIsPlayer || (2.5 * FRand() > Skill) ) { GotoState('RangedAttack'); return; } } } GotoState('TacticalMove'); //log("Next state is "$state); } Begin: //log(class$" choose Attack"); ChooseAttackMode(); //why am I still here? get out of here! if (enemy!=none&&enemy.health>0&&cansee(enemy)) gotostate('tacticalmove'); else if (pa!=none) gotostate('Greeting'); else startroaming(); } state acquisition{ //really stupid bug!!! makes no sense at all really. ignores falling, landed; //fixme function WhatToDoNext(name LikelyState, name LikelyLabel) { bQuiet = false; if ( OldEnemy != None ) { Enemy = OldEnemy; OldEnemy = None; GotoState('Attacking'); } else if (enemy!=none) //needed to add this. GotoState('Attacking'); else if (Orders == 'Patroling') GotoState('Patroling'); else if (Orders == 'Guarding') GotoState('Guarding'); else if ( Orders == 'Ambushing' ) GotoState('Ambushing','FindAmbushSpot'); else if ( (LikelyState != '') && (FRand() < 0.35) ) GotoState(LikelyState, LikelyLabel); else StartRoaming(); } } state TakeHit { ignores seeplayer, hearnoise, bump, hitwall; function BeginState() { bFire = 0; bAltFire = 0; Super.BeginState(); } } state hunting{ ignores enemynotvisible; //really stupid bug!!! makes no sense at all really. function tick(float deltatime){ //update tick for searching for enemy (don't want to get to close) local pawn aPawn; local bool reachable; local byte truemode; super.tick(deltatime); ticker+=deltatime; if (ticker<0.3) return; ticker=deltatime; if (cansee(enemy)){ bReadyToAttack = true; DesiredRotation = Rotator(Enemy.Location - Location); GotoState('Attacking'); } } function EndState() { bFire = 0; bAltFire = 0; bCanSwim = Region.Zone.bWaterZone ; Super.EndState(); } function BeginState() { enable('tick'); //no screw with me! bCanSwim = true; enable('bump'); Super.BeginState(); } function WhatToDoNext(name LikelyState, name LikelyLabel) { bQuiet = false; if ( OldEnemy != None ) { Enemy = OldEnemy; OldEnemy = None; GotoState('Attacking'); } else if (enemy!=none) //needed to add this. GotoState('Attacking'); else if (Orders == 'Patroling') GotoState('Patroling'); else if (Orders == 'Guarding') GotoState('Guarding'); else if ( Orders == 'Ambushing' ) GotoState('Ambushing','FindAmbushSpot'); else if ( (LikelyState != '') && (FRand() < 0.35) ) GotoState(LikelyState, LikelyLabel); else StartRoaming(); } function bool SetEnemy(Pawn NewEnemy) //don't charge { local float rnd; if (Global.SetEnemy(NewEnemy)) { rnd = FRand(); if ( bReadyToAttack ) { if (rnd < 0.3) PlayAcquisitionSound(); else if (rnd < 0.6) PlayThreateningSound(); } bReadyToAttack = true; DesiredRotation = Rotator(Enemy.Location - Location); GotoState('Attacking'); return true; } return false; } } //stops weapon fire: function StartRoaming(){ bfire=0; baltfire=0; if ( Weapon != None ) Weapon.Tick(0.001); if (bshouldwait) gotostate('waiting'); else super.startRoaming(); } //more no meleeing function bool ChooseTeamAttackFor(ScriptedPawn TeamMember) { if ( (Enemy == None) && (TeamMember.Enemy != None) && LineOfSightTo(TeamMember) ) { if (SetEnemy(TeamMember.Enemy)) MakeNoise(1.0); } // speak order if ( !bTeamSpeaking ) SpeakOrderTo(TeamMember); // set CombatStyle and Aggressiveness of TeamMember if ( TeamMember == Self ) { ChooseLeaderAttack(); return true; } if ( TeamMember.bReadyToAttack ) { ////log("Attack!"); TeamMember.Target = TeamMember.Enemy; if (TeamMember.bMovingRangedAttack || (TeamMember.TeamID == 1) ) TeamMember.SetTimer(TimeBetweenAttacks, False); else if (TeamMember.bHasRangedAttack && (TeamMember.bIsPlayer || TeamMember.Enemy.bIsPlayer) && TeamMember.CanFireAtEnemy() ) { if ( !TeamMember.bIsPlayer || (3 * FRand() > Skill) ) { TeamMember.GotoState('RangedAttack'); return true; } } } if ( !TeamMember.bHasRangedAttack || (TeamMember.TeamID == 1) ) TeamMember.GotoState('Charging'); else if ( TeamMember.TeamID == 2 ) { TeamMember.bStrafeDir = true; TeamMember.GotoState('TacticalMove', 'NoCharge'); } else if ( TeamMember.TeamID == 3 ) { TeamMember.bStrafeDir = false; TeamMember.GotoState('TacticalMove', 'NoCharge'); } else TeamMember.GotoState('TacticalMove'); return true; } function PlayDodge(bool bDuckLeft); o=]G &L> p=f+ r=I T36-a $?(D? w.*:.k%I :.k.vrI *nn{>I }(n+?I {(I y(aI $ @(zD s=STr  t=r a!O>333?= u=z+dY::$333?Nr*?,a!DVa!]w*-- :% :%a!j?,a&!C>a&!j>a=Ar*?,a!I??>^a!c??>r*?,@?!]  !Qz?z!] z!QI$@?!| !{zI>?z!|Iz!{szaz>>az>>> e}=v'O(-v'a&!k>&a&!B > l=JK qF\rccca/!} cf cy-~.JJhnzJc33'rcJhnJFca/!N.c-x J.c c%`?c?c?JWJ?,8#6JC`<66J=:6:6Jb:6J,06J=%,:6J,06J$J4a H+#XB`WB@J w// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // Follower : The base class of all "friendly" creatures that follow the player around. Important vars/AI here! // was originally ripped from the guard tut, but mostly rewritten for much better support // Follow AI v 3.20 Latest update: Fearspot support // ============================================================ class Follower expands ScriptedPawn abstract; //run-time vars: var tvplayer pa; //guy I follow var playerreplicationinfo PaPRI; //PRI of controller (replication) var actor temp; // used in seeplayer() in 'bumpedinto' and 'following' states var bool bumped; // used in 'bumpedinto' and 'following' states //var vector MyPos; // used in bump() in 'bumpedinto' and 'following' states var vector calc; var byte movemode; //tracker of type of movement. 0=waiting 1=walking 2=running var float myranddist; // a random distance from player for both running and walking. To make movement work better.. var bool moverdone; //mover AI var float ticker; //timer for attack checks. //var bool btriedjump, bNoJump; //mapper config vars: var () bool CanAnger; //can follower be pissed when you shoot it? var () bool bShouldWait; //wait/follow AI can be initialized var () bool bCoward; //doesn't fight. REverts to standard friendly AI (nothing, alarm point, whatever) var () bool bCheckFriendlyFire; //check for friendly fire before firing? Will abort fire if pal is in the way :) var () name GreetAnim; //animation on greet. var () bool OnlyAttackWhenControlled; //only attack when controlled by player. Note: they are no longer coward if this is true (just won't follow player) var () string MyName; //the actual name of pawn. if "", then is set to menuname. Go Figure. var name LandAnim; //for footsteps (note that generally reads from the tvshadow!) var(Sounds) sound FootStep1; //replication replication{ reliable if (role==role_authority) PaPRI, MyName, bCoward; //HUD info . MyName is replicated due to respawning. } //////////////follower relations/other special processing ///////////////////// function bool IsValidTarget(pawn apawn){ //return true if p can become enemy. override to be friendly to other classes. return (apawn.health>0&&(apawn.attitudetoplayerAttitude_Ignore); //false if fighting a player. } //Classes can overload to disallow traveling or handle other options.. Gameinfo sets follower number! function bool DoTravel(tvplayer Traveler, int ArrayNum){ //returns sucess. if (pa==none||!Isfriend()) return false; Traveler.Friendlies[ArrayNum]=health*10; // Traveler.FriendlySpeeds[ArrayNum]=groundspeed; // Traveler.FriendlyMaxStepHeights[ArrayNum]=maxstepheight; Traveler.FriendlyDrawScales[ArrayNum]=drawscale; Traveler.FriendlyFatness[ArrayNum]=fatness; Traveler.friendlynames[ArrayNum]=Myname; return true; } //check if on a vector nav point thing: (50 z allowed off..) final function bool IsAtPoint (vector testvector){ return ((Abs(Location.Y - testvector.Y) < CollisionRadius) //Y && (Abs(Location.X - testvector.X) < CollisionRadius) //X && (testvector.z - 50 < Location.Z + MaxStepHeight)); //z check (must allow a lot) } //saves CPU power: final function float VsizeSquared(vector A){ return A dot A; } //attitude. Can overload in subclass... function eAttitude AttitudeToCreature(Pawn Other) { if ((Other.Isa('follower')&&Follower(Other).IsFriend())||Other.IsA('nali')) return ATTITUDE_Friendly; else if (other.isa('scriptedpawn')&&!other.isa('cow')) //simply ignores bad mercs. though will hate if they attack him! return ATTITUDE_Hate; else return ATTITUDE_Ignore; } //setup PA (with lists) final function bool SetPa(actor newpa){ if (newpa==pa) return true; if (pa!=none) pa.RemoveFromFollowerList(self); PaPRI=none; if (tvplayer(Newpa)!=none&&tvplayer(Newpa).AddToFollowerList(self)){ pa=tvplayer(newpa); PaPRI=pa.playerreplicationinfo; } if (pa==newpa) return true; } simulated function Destroyed(){ Super.Destroyed(); if (pa!=none) SetPa(none); } final function bool IsInPainZone(actor other){ //return true if other is in pain zone. if (Other.Region.Zone.bPainZone) return true; if (Other.Isa('pawn')) return (pawn(Other).HeadRegion.Zone.bPainZone||pawn(Other).FootRegion.Zone.bPainZone); } function Killed(pawn Killer, pawn Other, name damageType) { Super.Killed(Killer,Other,damagetype); if (Other==self) SetPA(none); } simulated event PreBeginPlay() //follower skill adjust. designed so that he sux more at heigher dif. levels. { super.prebeginplay(); if (MyName=="") //name stuff. MyName=MenuName; MenuName=MyName; if (menuname!=default.menuname) NameArticle=" "; if (level.game==none) //on clients return; if (IsFriend()){ skill+=-2*level.game.difficulty+3; //skill-dif+(3-dif) skill=fclamp(skill,0,3); } projectilespeed*=1+0.1*skill; //mult } /* //Caused GPF's... final function Sound GetTexSound(){ //return shadow sound // return none; //GPFs did result. this fix? if (TvPawnShadow(Shadow)!=none&&TvPawnShadow(Shadow).NumSounds!=0) return TvPawnShadow(Shadow).CurFootSound[rand(TVPawnshadow(shadow).NumSounds)]; } */ //sounds: simulated function Step() { // local sound ToPlay; if (level.netmode==nm_dedicatedserver) return; // ToPlay=GetTexSound(); // if (ToPlay!=none) // PlaySound(ToPlay, SLOT_Interact,2.2,,,1500); if (TvPawnShadow(Shadow)!=none&&TvPawnShadow(Shadow).NumSounds!=0) PlaySound(TvPawnShadow(Shadow).CurFootSound[rand(TVPawnshadow(shadow).NumSounds)], SLOT_Interact,2.2,,1500); else PlaySound(footstep1, SLOT_Interact,,,1500); } simulated function WalkStep() { // local sound ToPlay; if (level.netmode==nm_dedicatedserver) return; // ToPlay=GetTexSound(); // if (ToPlay!=none) // PlaySound(ToPlay, SLOT_Interact,0.7,,500); if (TvPawnShadow(Shadow)!=none&&TvPawnShadow(Shadow).NumSounds!=0) PlaySound(TvPawnShadow(Shadow).CurFootSound[rand(TVPawnshadow(shadow).NumSounds)], SLOT_Interact,0.7,,500); else PlaySound(footstep1, SLOT_Interact,0.2,,500); } ///////////////////////////// AI ///////////////////////////////////////////////// function UnderLift(Mover M) //shamelessly ripped from bot.... { local NavigationPoint N; // find nearest lift exit and go for that if ( (MoveTarget != None) && MoveTarget.IsA('LiftCenter') ) for ( N=Level.NavigationPointList; N!=None; N=N.NextNavigationPoint ) if ( N.IsA('LiftExit') && (LiftExit(N).LiftTag == M.Tag) && ActorReachable(N) ) { MoveTarget = N; return; } } //respond to noises (get attention that way :P) function HearNoise(float Loudness, Actor NoiseMaker) { if (!Noisemaker.instigator.bisplayer||bcoward||!LineofsightTo(Noisemaker.instigator)){ Super.HearNoise(Loudness,NoiseMaker); return; } if (IsInState('Greeting')) return; temp=none; SeePlayer(NoiseMaker.Instigator); if (temp==none) Super.HearNoise(Loudness,Noisemaker); } function SeePlayer(actor SeenPlayer){ local name mystate; if (bCoward||!SeenPlayer.IsA('tvplayer')){ //act like a nali. Super.SeePlayer(Seenplayer); return; } mystate=getstatename(); if (mystate=='victorydance'||mystate=='fallingstate'||mystate=='hunting'||mystate=='stakeout') return; //or else some error of some kind. LastSeenPos = SeenPlayer.Location; temp = SeenPlayer; //stuff // BroadCastMessage(self@"Saw player:"@SeenPlayer@" /Current State:"@GetStateName()); //temp! gotostate('greeting'); // This sends us into our custom states } function damageAttitudeTo(pawn Other) //slight override for can anger bool { if ( (Other == Self) || (Other == None) || (FlockPawn(Other) != None) || (other.bisplayer&&!cananger)) return; super.damageattitudeto(other); } function PlayGreetAnim(){ //anim and sound on greet. PlayAnim(greetanim, 0.4 + 0.6 * FRand(), 0.5); } function PreGreeting(){ //called before greeting SetMovementPhysics(); MakeNoise(1.0); acceleration=vect(0,0,0); //no move velocity=vect(0,0,0); } state Greeting { ignores EnemyNotVisible, AnimEnd, SeePlayer; function Bump(actor Other) { if (pawn(other)!=none&&pawn(other).bisplayer) return; super.bump(other); } Begin: //weapon support: if (temp==none) temp=pa; PreGreeting(); if (temp==none){ Log("temp is none! Doing roam!",'ONP'); StartRoaming(); //wierd/ } if (NeedToTurn(temp.Location)) { PlayTurning(); TurnTo(temp.location); } // PlayAnim('Talk1', 0.4 + 0.6 * FRand(), 0.5); PlayGreetAnim(); //log(class$ " greeting"); finishanim(); Redo: //keep retesting until can add. if ((pa!=none&&pa.health>0)||SetPa(Temp)){ //good temp=none; if (bshouldwait) GotoState('Waiting'); else Gotostate('following'); } if (!IsAnimating()) PlayWaiting(); sleep(0.01); Goto('Redo'); } function Bump(actor Other) //quick over-ride... { local vector VelDir, OtherDir; local float speed; if (pawn(other)!=none&&pawn(other).bisplayer) return; if (pawn(other)!=none&&attitudeto(pawn(other))>=Attitude_Friendly){ speed = VSize(Velocity); if ( speed > 1 ) { VelDir = Velocity/speed; VelDir.Z = 0; OtherDir = Other.Location - Location; OtherDir.Z = 0; OtherDir = Normal(OtherDir); if ( (VelDir Dot OtherDir) > 0.8 ) { /*if ( Pawn(Other) == None ) { MoveTimer = -1.0; HitWall(-1 * OtherDir, Other); } */ Velocity.X = VelDir.Y; Velocity.Y = -1 * VelDir.X; Velocity *= FMax(speed, 280); } } Disable('Bump'); } else super.bump(other); } //possibly better? function WhatToDoNext(name LikelyState, name LikelyLabel) { local Pawn aPawn; if (enemy==none||enemy.health<=0){ for (aPawn = Level.PawnList;aPawn != None;aPawn = aPawn.nextPawn) if (aPawn !=self&&IsValidTarget(apawn)&&(cansee(aPawn))) { if ( SetEnemy(aPawn) ) { GotoState('Attacking'); return; } } //found no enemies... check follower stuff: if (!IsInState('Greeting')&&!ISInState('following')&&!IsInState('Waiting')&&pa!=none&&(OldEnemy==none||Oldenemy.health<=0)){ GotoState('Greeting'); return; } } Super.WhatToDoNext(LikelyState, LikelyLabel); } function NotifyNewEnemy(scriptedpawn NewEnemy){ //tell an enemy that I am targetting him! (as seeplayer only supports bisplayer pawns) if (NewEnemy.cansee(self)){ //hack if (NewEnemy.AttitudeTo(self) == ATTITUDE_Ignore && NewEnemy.Hated==none) NewEnemy.Hated=self; //to return attitude_hate. NewEnemy.SeePlayer(self); } } function tick(float deltatime){ //enemy checks local pawn apawn; if (!IsFriend()||(bcoward&&OnlyAttackWhenControlled)||(physics==Phys_Falling)||IsInState('fallingstate')) return; ticker+=deltatime; if (ticker<0.2||(enemy!=none&&enemy.health>0&&attitudeto(enemy) 0 ) GotoState('following', 'movewait'); return; } Focus = Destination; if (PickWallAdjust()) GotoState('following', 'AdjustFromWall'); else MoveTimer = -1.0; } //bUpAndOut = true; //WaitForLanding(); } function Bump(actor Other) // We can use our own version of Bump() to // steer our bodyguard into another custom state { /* MyPos = Location; // Global Where am I? if (bumped){ bumped=false; enable('tick'); gotostate('following','moving'); } if (pa!=none&&lineofsightto(pa)){ bumpinto(other); return; } */ // if (other.isa('pawn')&&!pawn(other).bisplayer) //melee if pawn bump (checks stuff of course..) bumpinto(other); // else //gotostate('bumpedinto'); //level or decoration } function Bumpinto(actor Other){ local vector VelDir, OtherDir; local float speed; if (Pawn(Other) != None&&other!=pa&&(!other.isa('Follower')||!Follower(other).IsFriend())) { AnnoyedBy(Pawn(Other)); if ( SetEnemy(Pawn(Other)) ) { bReadyToAttack = True; //can melee right away PlayAcquisitionSound(); GotoState('Attacking'); return; } } if ( TimerRate <= 0 ) setTimer(1.0, false); if ( bCanSpeak && (ScriptedPawn(Other) != None) && ((TeamLeader == None) || !TeamLeader.bTeamSpeaking) ) SpeakTo(ScriptedPawn(Other)); else if (bcanspeak && other==pa) speak(); if (other==pa||(other.isa('follower')&&vsize(other.velocity)>0&&pawn(other).bisfemale)){ //back up, as boss wants me to move. if (!bumped&&base!=none&&((base.isa('mover')&&mover(base).mymarker!=none) ||(pa.base!=none&&pa.base.isa('mover')&&mover(pa.base).mymarker!=none))){ //check mover //speed=ticker; //ticker=0.45; // tick(speed); gotostate('following','Hang'); bumped=true; disable('bump'); return; } else if (base==none||!base.isa('mover')||mover(base).mymarker==none) bumped=false; // bumped=true; disable('bump'); temp=pa; gotostate('following','backup'); return; } speed = VSize(Velocity); if ( speed > 1 ) { VelDir = Velocity/speed; VelDir.Z = 0; OtherDir = Other.Location - Location; OtherDir.Z = 0; OtherDir = Normal(OtherDir); if ( (VelDir Dot OtherDir) > 0.8 ) { /*if ( Pawn(Other) == None ) { MoveTimer = -1.0; HitWall(-1 * OtherDir, Other); } */ Velocity.X = VelDir.Y; Velocity.Y = -1 * VelDir.X; Velocity *= FMax(speed, 280); bcanjump=false; //don't let followers push me off! } } } function stopwaiting(){ //mover AI if (base!=none&&base.isa('mover')) moverdone=true; global.stopwaiting(); } function tick(float deltatime){ //controls movemodes. local pawn aPawn; local bool reachable; local byte truemode; global.tick(deltatime); //search for targets. //kill: if (enemy!=none&&AttitudeTo(enemy)myranddist))||(((pa.base!=none&&pa.base.isa('mover')&&mover(pa.base).mymarker!=none)||(base!=none&&base.isa('mover')&&mover(base).mymarker!=none))&&vsize(pa.location-location)>(collisionradius+pa.collisionradius+5))||!lineofsightto(pa)) truemode=2; else if ((reachable||movemode==1)&&vsize(pa.location-location)>myranddist) truemode=1; else truemode=0; if (movemode!=truemode) gotostate ('following','begin'); } //--------------------------------------------------------------------------------- function UnderLift(Mover M) //throw into a state as well { local NavigationPoint N; // find nearest lift exit and go for that if ( (MoveTarget != None) && MoveTarget.IsA('LiftCenter')&&!actorreachable(pa) ) for ( N=Level.NavigationPointList; N!=None; N=N.NextNavigationPoint ) if ( N.IsA('LiftExit') && (LiftExit(N).LiftTag == M.Tag) && ActorReachable(N) ) { MoveTarget = N; gotostate('following','underlift'); return; } } function FearThisSpot(Actor aSpot) //send into fearing state { temp=aSpot; GotoState('following', 'Backup'); } function endstate() { groundspeed=default.groundspeed; bcanjump=true; MaxStepHeight=25; } //don't jump into lava/slime or off walls. function MayFall() { if (bcanjump){ if (MoveTarget==None) bCanJump=(!IsInPainZone(pa)&&pa.Physics != PHYS_Falling); else bCanJump = (MoveTarget.Physics != PHYS_Falling && !IsInPainZone(MoveTarget) && (MoveTarget!=Pa || (pa.location.z-pa.collisionheight<=location.z-collisionheight+maxstepheight || ActorReachable(pa)))); } if (!bcanjump) GotoState('Following','Hang'); // BroadCastMessage(self@"had MayFall() call! Bcanjump is now"@bcanjump$". MoveTarget is"@MoveTarget@"In pain zone?"@IsInPainZone(MoveTarget)); } function PickDestination() //following destination. { bcanjump=true; if (!Actorreachable(pa)){ movetarget=FindPathToward(pa); if (movetarget==none&&IsAtPoint(lastseenpos)) movetarget=pa; } else //see PA, so move toward him. movetarget=pa; } //LABELS FOR MOVEMENT CONTROL: Begin: enable('tick'); Moving: // if (vsize(location-mypos)>30) // btriedjump=false; groundspeed=default.groundspeed; SetMovementPhysics(); // Initialize PickDestination(); //get movetarget. Movewait: //wait for mover if (specialpause>0){ disable('tick'); Acceleration = vect(0,0,0); TweenToPatrolStop(0.3); Sleep(SpecialPause); SpecialPause = 0.0; enable('tick'); TweenToRunning(0.1); goto('moving'); //see if I need to keep waiting } //hack for low step heights when moving to triggers/movers... if (MoveTarget!=none&&((MoveTarget.Isa('mover')||MoveTarget.IsA('trigger'))||(MoveTarget==pa&&mover(pa.base)!=none))) MaxStepHeight=25; else MaxStepHeight=64; if (location==oldlocation) //stop infinite interators? sleep(0.0001); if (moverdone){ playwalking(); if (vsize(location-pa.location)<=collisionradius+pa.collisionradius+10) moveto(location-20*normal(location-pa.location),walkingSpeed); //back up moverdone=false; } //if (!actorreachable(pa)) //try to jump // goto('jump'); if((movemode==2&&vsize(pa.location-location)>myranddist)||(vsize(pa.location-location)>751)||(((pa.base!=none&&pa.base.isa('mover')&&mover(pa.base).mymarker!=none)||(base!=none&&base.isa('mover')&&mover(base).mymarker!=none))&&vsize(pa.location-location)>(collisionradius+pa.collisionradius+5))||!lineofsightto(pa)) { // This far? if (movemode!=2) myranddist=361+collisionradius+100*frand(); movemode=2; goto ('run'); } else if((movemode==1&&(vsize(pa.location-location)>myranddist))||(vsize(pa.location-location)>306)){ // This far? if (movemode!=1) myranddist=100+collisionradius+40*frand(); movemode=1; goto('Walk'); } else { movemode=0; goto('hang'); // He's close enough } Run: // Running groundspeed=fmax(360,default.groundspeed); WaitForLanding(); playrunning(); bumped=false; if (movetarget!=none&&!IsAtPoint(movetarget.location)) //set by pickdestination() movetoward(movetarget,groundspeed); else if (!IsAtPoint(lastseenpos)) moveto(lastseenpos,groundspeed); else{ //hmm..nothing to do. acceleration=vect(0,0,0); playwaiting(); FinishAnim(); } goto('moving'); Walk: // Walking WaitForLanding(); groundspeed*=walkingspeed; playwalking(); bumped=false; if (movetarget!=none&&!IsAtPoint(movetarget.location)) //set by pickdestination() movetoward(movetarget,groundspeed); else if (!IsAtPoint(lastseenpos)) moveto(lastseenpos,groundspeed); else{ //hmm..nothing to do. acceleration=vect(0,0,0); playwaiting(); finishanim(); } goto('moving'); Hang: // Hangin' out WaitForLanding(); groundspeed=default.groundspeed; Acceleration = vect(0,0,0); // MoveTo(location, 0); if (NeedToTurn(pa.Location)) { setmovementphysics(); PlayTurning(); TurnToward(pa); enable('bump'); } else{ if (Physics != PHYS_Falling) SetPhysics(PHYS_None); PlayWaiting(); sleep(0.1); enable('bump'); finishanim(); } goto('moving'); // start over Backup: //backup when bumped by player. groundspeed=default.groundspeed; disable('tick'); disable('hitwall'); bisfemale=true; //flag to detect setmovementphysics(); playrunning(); if (temp==none) temp=pa; Acceleration = AccelRate * Normal(Location - temp.Location); sleep(0.2); //allow that much time. bisfemale=false; //flag to detect enable('bump'); enable('hitwall'); sleep(0.2); //enable notifiers and continue moving backwards. enable('tick'); goto('moving'); /* Jump: //try to jump disable('tick'); if (animsequence!='walk'&&animsequence!='run'); playrunning(); btriedjump=true; sleep(0.1); velocity=normal(velocity)*-1*groundspeed; acceleration=normal(acceleration)*-1*accelrate; enable('tick'); setfall(); */ AdjustFromWall: //when hit wall. disable('tick'); disable('hitwall'); StrafeTo(Destination, Focus); Destination = Focus; enable('hitwall'); enable('tick'); Goto('Moving'); Underlift: //when under lift. groundspeed=fmax(360,default.groundspeed); disable('tick'); setmovementphysics(); playrunning(); movetoward(movetarget,groundspeed); enable('tick'); goto('moving'); /* Jump: //attempt to jump up to player. if ( bCanWalk && (Abs(Acceleration.X) + Abs(Acceleration.Y) > 0) && CheckWaterJump(jumpDiry) ){ Falling(); Velocity = jumpDiry * groundSpeed; Acceleration = jumpDiry * AccelRate; velocity.Z = 380; //set here so physics uses this for remainder of tick Playinair(); bUpAndOut = true; //WaitForLanding(); } groundspeed=default.groundspeed; if((movemode==2&&vsize(pa.location-location)>myranddist)||(vsize(pa.location-location)>751)||!lineofsightto(pa)) { // This far? if (movemode!=2) myranddist=681+70*frand(); movemode=2; goto ('run'); } else if((movemode==1&&(vsize(pa.location-location)>myranddist))||(vsize(pa.location-location)>306)||((pa.base.isa('mover')||base.isa('mover'))&&vsize(pa.location-location)>(collisionradius+pa.collisionradius+5))){ // This far? if (movemode!=1) myranddist=266+40*frand(); movemode=1; goto('Walk'); } else { movemode=0; goto('hang'); } */ } /// END STATE ///////// //GLOBALS: function SetFall() //this is needed so this creature doesn't walk in air. { if (Enemy != None) super.setfall(); else if (pa!=none){ nextstate = 'following'; nextanim = LandAnim; nextlabel= 'moving'; GotoState('FallingState'); } } //WAITING SYSTEM: state Waiting { function TakeDamage( int Damage, Pawn instigatedBy, Vector hitlocation, Vector momentum, name damageType) { if (enemy==pa) //occasionally happens... enemy=none; super.TakeDamage(Damage, instigatedBy, hitlocation, momentum, damageType); } function AnimEnd() //no statis. { bstasis=(pa==none); if (pa!=none&& needtoturn(pa.location)) gotostate('Waiting','PlayerTurn'); else PlayWaiting(); } function Landed(vector HitNormal) { SetPhysics(PHYS_None); } function BeginState() { Enemy = None; bStasis = false; Acceleration = vect(0,0,0); SetAlertness(0.0); } function Bump(actor Other) { if (Pawn(Other) != None&&other!=pa&&(!other.isa('Follower')||!Follower(other).IsFriend())) { if (Enemy == Other) bReadyToAttack = True; //can melee right away SetEnemy(Pawn(Other)); } else if (pawn(other)!=none){ bumpinto(other); return; } if ( TimerRate <= 0 ) setTimer(1.5, false); Disable('Bump'); } function Bumpinto(actor Other) { local vector VelDir, OtherDir; local float speed; if ( bCanSpeak && (ScriptedPawn(Other) != None) && ((TeamLeader == None) || !TeamLeader.bTeamSpeaking) ) SpeakTo(ScriptedPawn(Other)); else if (bcanspeak && other==pa) speak(); if (Pawn(Other) != None&&(other==pa||((other.isa('Follower')&&Follower(other).IsFriend())&&vsize(other.velocity)>0&&pawn(other).bisfemale))){ //back up, as boss wants me to move. // bumped=true; disable('bump'); gotostate('waiting','backup'); return; } } function seeplayer(actor a){ //check wait if (bshouldwait&&pa!=none){ SetPa(a); PlayGreetAnim(); disable('seeplayer'); } else global.seeplayer(a); } function EndState(){ Enable('SeePlayer'); } //STATE CONTROL: Backup: groundspeed=default.groundspeed; setmovementphysics(); bisfemale=true; //flag to detect playrunning(); Acceleration = AccelRate * Normal(Location - pa.Location); disable('timer'); sleep(0.2); //allow that much time. bisfemale=false; //flag to detect enable('bump'); enable('timer'); sleep(0.2); //enable notifiers and continue moving backwards. goto('begin'); OrderChange: Disable('seeplayer'); TurnFromWall: //hit wall if ( NearWall(2 * CollisionRadius + 50) ) { PlayTurning(); TurnTo(Focus); } Begin: //entry TweenToWaiting(0.4); bReadyToAttack = false; if (pa==none){ DesiredRotation = rot(0,0,0); DesiredRotation.Yaw = Rotation.Yaw; SetRotation(DesiredRotation); } else{ sleep(0.4); playwaiting(); } if (Physics != PHYS_Falling) SetPhysics(PHYS_None); KeepWaiting: //nothing special... NextAnim = ''; PlayerTurn: //to face player. if (pa!=none&& needtoturn(pa.location)) { setmovementphysics(); PlayTurning(); TurnToward(pa); TweenToWaiting(0.4); if (Physics != PHYS_Falling) SetPhysics(PHYS_None); } enable('bump'); } function startroaming(){ //wait if ordered. if (bshouldwait) gotostate('waiting'); else super.startRoaming(); } //auto-go-to-Pa from level travel. auto state StartUp { function SetHome(){ Super.SetHome(); if (pa!=none) GotoState('Following'); } } //MISCELLANEOUS state Threatening //problems with palyer enemy attacking? { ignores falling, landed; //fixme function Trigger( actor Other, pawn EventInstigator ){ if (bcoward) Super.Trigger(other,EventInstigator); } } state FallingState { ignores Bump, Hitwall, WarnTarget; function TakeDamage( int Damage, Pawn instigatedBy, Vector hitlocation, Vector momentum, name damageType) { Global.TakeDamage(Damage, instigatedBy, hitlocation, momentum, damageType); if ( health <= 0 ) return; if (Enemy == None&&InstigatedBy!=none&&(AttitudeTo(InstigatedBy)0&&(AttitudeTo(InstigatedBy) 0 && enemy!=none) GotoState('Attacking'); } } //let cannons be enemies function bool SetEnemy( Pawn NewEnemy ) { local bool result; local eAttitude newAttitude, oldAttitude; local bool noOldEnemy; local float newStrength; if ( (NewEnemy == Self) || (NewEnemy == None) || (NewEnemy.Health <= 0) ) return false; if ( !bCanWalk && !bCanFly && !NewEnemy.FootRegion.Zone.bWaterZone ) return false; if ( (!NewEnemy.bisplayer) && (ScriptedPawn(NewEnemy) == None) && (TeamCannon(newenemy) ==none)) return false; noOldEnemy = (Enemy == None); result = false; newAttitude = AttitudeTo(NewEnemy); //log ("Attitude to potential enemy is "$newAttitude); if ( !noOldEnemy ) { if (Enemy == NewEnemy) return true; else if ( NewEnemy.bIsPlayer && (AlarmTag != '') ) { OldEnemy = Enemy; Enemy = NewEnemy; result = true; } else if ( newAttitude == ATTITUDE_Friendly ) { if ( bIgnoreFriends ) return false; if ( (NewEnemy.Enemy != None) && (NewEnemy.Enemy.Health > 0) ) { if ( NewEnemy.Enemy.bIsPlayer && (NewEnemy.AttitudeToPlayer < AttitudeToPlayer)&&!IsFriend()) AttitudeToPlayer = NewEnemy.AttitudeToPlayer; if ( AttitudeTo(NewEnemy.Enemy) < AttitudeTo(Enemy)) { OldEnemy = Enemy; Enemy = NewEnemy.Enemy; result = true; } } } else { oldAttitude = AttitudeTo(Enemy); if ( (newAttitude < oldAttitude) || ( (newAttitude == oldAttitude) && ((VSize(NewEnemy.Location - Location) < VSize(Enemy.Location - Location)) || !LineOfSightTo(Enemy)) ) ) { if ( bIsPlayer && Enemy.IsA('PlayerPawn') && !NewEnemy.IsA('PlayerPawn') ) { newStrength = relativeStrength(NewEnemy); if ( (newStrength < 0.2) && (relativeStrength(Enemy) < FMin(0, newStrength)) && (IsInState('Hunting')) && (Level.TimeSeconds - HuntStartTime < 5) ) result = false; else { result = true; OldEnemy = Enemy; Enemy = NewEnemy; } } else { result = true; OldEnemy = Enemy; Enemy = NewEnemy; } } } } else if ( newAttitude < ATTITUDE_Ignore ) { result = true; Enemy = NewEnemy; } else if ( newAttitude == ATTITUDE_Friendly ) //your enemy is my enemy { //this part=fux0red if ( NewEnemy.bIsPlayer && (AlarmTag != '')) { Enemy = NewEnemy; result = true; } if (bIgnoreFriends) return false; if ( (NewEnemy.Enemy != None) && (NewEnemy.Enemy.Health > 0) && AttitudeTO(NewEnemy.Enemy) DecalClass){ local actor MyLight; local Decal Shadow; local vector HitLoc,HitNorm; local vector BaseLoc; local float length; local vector temp, temp2; local rotator temprot; if (LightTag=='') return; bShadowCast=true; //? foreach AllActors (class'actor',MyLight,LightTag) //find light. break; if (MyLight==none){ log ("Error:"@self@"Light source of given tag does not exist!",'ONP'); return; } if (Mylight.location.z'X6>'6]X6d?%(dX6]6d6]X6]6]6dd6]6]6dd'](' v=HD Jcc?HvwH xM3@KH0vw@#V?&cc?%6HCc<66H=:6:6H%I:6H,06H=%,:6H,06H$-H$HBa qM3cV@?&c?,Bc?,HHi  @>U]b I% 6i ,KyI&U?I&mU?wU?&wDU,wSE A>} Pou i } ]} O{ ?%{ Af\?%\Da} Y{ o?%a} Y{ -A(\oa} Y{  \csM I'-O(i  `Zc%`H ~c&`H`,c%~ `Hc&~ `H@~ `Ha~ $::$ i ~ EQ] e //============================================================================= // rtree1. //============================================================================= class rtree1 expands Tree; #exec MESH IMPORT MESH=rtree1 ANIVFILE=MODELS\rtree1_a.3d DATAFILE=MODELS\rtree1_d.3d X=0 Y=0 Z=0 #exec MESH ORIGIN MESH=rtree1 X=5 Y=17 Z=0 #exec MESH SEQUENCE MESH=rtree1 SEQ=All STARTFRAME=0 NUMFRAMES=1 #exec MESH SEQUENCE MESH=rtree1 SEQ=Tree STARTFRAME=0 NUMFRAMES=1 #exec TEXTURE IMPORT NAME=Jrtree11 FILE=MODELS\rbark.pcx GROUP=Skins #exec TEXTURE IMPORT NAME=Jrtree12 FILE=MODELS\rbran.pcx GROUP=Skins FLAGS=2 #exec MESHMAP NEW MESHMAP=rtree1 MESH=rtree1 #exec MESHMAP SCALE MESHMAP=rtree1 X=0.3 Y=0.3 Z=0.6 #exec MESHMAP SETTEXTURE MESHMAP=rtree1 NUM=1 TEXTURE=Jrtree11 #exec MESHMAP SETTEXTURE MESHMAP=rtree1 NUM=2 TEXTURE=Jrtree12 ~=zRMz-#z?`@@#W@#_@#ZA#X0A#3B#mB#KC#VuC# % F>Jm3 ~J,J!J.J e%e,!Je.J 'e\!JL.J !JHJ  C>J|K!-+(KK}&}~K, E>e][Qiw*|rL We:$|a/!vB$ia/!OA$iDa/!|B$iia/!DA$%=w=*VVw.5=*V.5=0=-=%D=K e?=D3=a/!x_r=r===L =r=*c=a/!v:B, :B, :B,`+:B%B$A.=``:B&B$We=&$=a/!O:A, :A, :A,:A%E.=A$:A&A$We=,$|.=w=a/!|7:B,d@:B,_:B%B$tt:B,B$=a/!D:A,d@:A,:A%A$:A,A$d$We=:=d|.=::$r=E::$ rr=.==k:B, :B,WeA&@:B,::$rAE::$ rrA./:A, :A,WeE,@:A,|E::$rEE::$ rrE.D%e?efeeaSDHODHe3O?,e e aSDe B>wBI>멬M L9g8K>L>Bl// ============================================================ // For ONP // TVVehicle : Base class of all vehicles. // Useful note: // >> -> to world coords // << -> to local coords. // ============================================================ class TVVehicle expands Decoration; //should be abstract, but some mappers added this to the world :/ Const UUMeter = 43.0; //97 uus in 1 meter. Const UURot = 10430.38; //radians*this=uu rot units. //active vars with physics: //acceleration used as that! //base is base. //mass used for many calcs var TvPlayer Controller; //playerpawn that is driving. //active stuff var vector AirResistance; //current AR (accel only) var vector CarVelocity; //Unrealty wiped velocity on move. I know longer use that function, however, I do not feel like changing the name. var float GroundFriction; //current friction scaler. multiply by normal(velocity) for vector. var vector NormalAccel; //only for other accels (friction) and renderer. var vector GravAccel; //slippage due to gravity. (real acceleration) var float YawAccel; //acceleration of yaw. entire rot was seemingly too hard to implement. var float YawVelocity; //velocity of yaw. entire rot was seemingly too hard to implement. var float ScaleAccel; //acceleration scalar. var vector RotationalVelocity; //a full rotational velocity vector :) in a vector as easier for adding. rot conversion is not too hard... var vector RotAcceleration; //rotational acceleration vector var rotator Floor; //rotation of car pre-yaw velocity. var float ViewIntegrityMult; //in vehicle HUD //config stuff: var () float ARCoef; //coeficient of air resistance. AR=Coef*velocity^2 var () float ARRotCoef; //coeficient of rotational ar*ar. AR=rotar*Coef*velocity^2 var () float Meiu; //coeficient of friction. (scaled by zone ground friction) var () float MaxForce; //maximum force of power generators. (used as accel in wheel car) var () int MinForce; //minimum force (often retro rockets) var () float EngineRate; //engine accel per second. var float AccelerationMag; //acceleration magnitude. used AFTER rotational accel! (always in rot accel dir) var float Gravity; //DEPRECATED. NOW USES REGION.ZONE.ZONEGRAVITY! var () float EnergyLoss; //percentage of energy lost in collisions. 0-1. var () float RefreshTime; //timer for HUD updates. var () int CamDist; //camera distance var () int HullIntegrity; //strength in HULL (damage does normal) var () int MaxViewIntegrity; //amount integrity reads when damage is at 1 var () vector WheelOffSet; var () int MaxWheelYaw; //in unreal units //more stuff var () float CoefficientOfRestitution; var () float CoefficientOfRestitutionGround; var float MoInertia; //Moment of initertia (calculated at start). note same for all axis. ///////////////////////////////////////////////////////////////////// // Quaternion Code (for rotation stuff): // Note: All functions with quaternions have been taken from "Physics for Game Developers" by David M. Bourgh. NOT DAVID MUNNICH! ///////////////////////////////////////////////////////////////////// struct Quaternion { var () float n; //scalar var () vector v; //vector }; var () Quaternion QRotation; //rotation as a quaternion. static final function Quaternion Quad(float a, float b, float c, float d){ //quaternion constructor local Quaternion Temp; Temp.n=a; Temp.v.x=b; Temp.v.y=c; Temp.v.z=d; return Temp; } static final function Rotator Roti (int Pitch, int Yaw, int Roll){ //because rot() not like expressions... local Rotator Temp; Temp.Pitch=Pitch; Temp.Yaw=Yaw; Temp.Roll=Roll; return Temp; } static final operator(16) Quaternion * ( Quaternion A, Quaternion B ){ //mult quads return Quad( A.n*B.n-A.v.x*B.v.x-A.v.y*B.v.y-A.v.z*B.v.z, A.n*B.v.x+A.v.x*B.n+A.v.y*B.v.z-A.v.z*B.v.y, A.n*B.v.y+A.v.y*B.n+A.v.z*B.v.x-A.v.x*B.v.z, A.n*B.v.z+A.v.z*B.n+A.v.x*B.v.y-A.v.y*B.v.x ); } static final operator(16) Quaternion * ( Quaternion A, Vector B ){ //mult quad by vector return Quad( -(A.v.x*B.x+A.v.y*B.y+A.v.z*B.z), A.n*B.x+A.v.y*B.z-A.v.z*B.y, A.n*B.y+A.v.z*B.x-A.v.x*B.z, A.n*B.z+A.v.x*B.y-A.v.y*B.x ); } static final operator(16) Quaternion * ( Vector B, Quaternion A ){ //mult quad by vector (other order return A*B; } static final operator(16) Quaternion * ( Quaternion A, float B ){ //mult quads by scalar return Quad( A.n*B, A.v.x*B, A.v.y*B, A.v.z*B ); } static final operator(16) Quaternion * ( float B, Quaternion A ){ //mult quads by scalar (other order) return A*B; } static final operator(20) Quaternion + ( Quaternion A, Quaternion B ){ //add quads return Quad( A.n+B.n, A.v.x+B.V.x, A.v.y+B.V.y, A.v.z+B.V.z ); } static final operator(20) Quaternion - ( Quaternion A, Quaternion B ){ //subtracts quads return Quad( A.n-B.n, A.v.x-B.V.x, A.v.y-B.V.y, A.v.z-B.V.z ); } static final operator(34) Quaternion += ( out Quaternion A, Quaternion B ){ //add quads to A.n-=B.n; A.v.x-=B.V.x; A.v.y-=B.V.y; A.v.z-=B.V.z; } static final operator(34) Quaternion -= ( out Quaternion A, Quaternion B ){ //subtracts quads from A.n-=B.n; A.v.x-=B.V.x; A.v.y-=B.V.y; A.v.z-=B.V.z; } static final operator(34) Quaternion *= ( out Quaternion A, float B ){ //mult by scalar A.n*=B; A.v.x*=B; A.v.y*=B; A.v.z*=B; } static final operator(34) Quaternion /= ( out Quaternion A, float B ){ //divide by scalar A.n/=B; A.v.x/=B; A.v.y/=B; A.v.z/=B; } static final preoperator Quaternion ~ ( Quaternion A ){ //conjugate (negative of vector part) return Quad(A.n,-A.v.x,-A.v.y,-A.v.z); } static final function float QSizeSquared(Quaternion A){ //get size (faster) return Square(A.n)+Square(A.v.x)+Square(A.v.y)+Square(A.v.z); } static final function float QSize(Quaternion A){ //get size (magnitude) return sqrt(QSizeSquared(A)); } static final function Quaternion QNormal(Quaternion A){ //normalize return A/=QSize(A); } static final function float QGetAngle(Quaternion A){ //get angle about quad vector axis return 2*acos(A.n); } static final function vector QGetAxis(Quaternion A){ //get unit vector along rot. return Normal(A.v); } static final function Quaternion QRotate(Quaternion A, Quaternion B){ //rotate A by B return A*B*(~A); } static final function Vector QVRotate(Quaternion A, Vector B){ //rotate vector B by quaternion B return (A*B*(~A)).V; } //new conversion: THIS CONVERSION HAS BEEN VERIFIED! static final function Quaternion ROTtoQuat(Rotator A){ local float pitch; //converted to radians. local float yaw; local float roll; local float cyaw, cpitch, croll, syaw, spitch, sroll; //multiplies local float cyawcpitch, syawspitch, cyawspitch, syawcpitch; pitch=-0.5*A.pitch/UURot; //these may be CCW.. I think? yaw=-0.5*A.yaw/UURot; roll=0.5*A.roll/UURot; cpitch=cos(pitch); cyaw=cos(yaw); croll=cos(roll); spitch=sin(pitch); syaw=sin(yaw); sroll=sin(roll); cyawcpitch=cyaw*cpitch; syawspitch=syaw*spitch; cyawspitch=cyaw*spitch; syawcpitch=syaw*cpitch; return Quad( cyawcpitch * croll + syawspitch * sroll, cyawcpitch * sroll - syawspitch * croll, cyawspitch * croll + syawcpitch * sroll, syawcpitch * croll - cyawspitch * sroll ); } static final function Rotator QuatToRot(Quaternion q){ local float r11, r21, r31, r32, r33, r12, r13; local float q00, q11, q22, q33; local float tmp; q00 = Square (q.n); q11 = Square (q.v.x); q22 = Square (q.v.y); q33 = Square (q.v.z); //under pitch->yaw system, this would be q11. r11 = q00 + q11 - q22 - q33; r21 = 2 * (q.v.x*q.v.y + q.n*q.v.z); r31 = 2 * (q.v.x*q.v.z - q.n*q.v.y); r32 = 2 * (q.v.y*q.v.z + q.n*q.v.x); r33 = q00 - q11 - q22 + q33; tmp = abs(r31); if (tmp>=1){ //gimble lock //REMEMBER: YAW AND PITCH NOW - WHAT ORIGINAL SOURCE IS! r12 = 2 * (q.v.x*q.v.y - q.n*q.v.z); r13 = 2 * (q.v.x*q.v.z + q.n*q.v.y); return Roti((pi/2)*(r31/tmp)*uurot, -atan2(-r12,-r31*r13)*uurot, 0); } return Roti(-asin(-r31)*uurot, -atan2(r21, r11)*uurot, atan2(r32,r33)*uurot); } ///////////////////////////////////////////// // End Quaternion Code. // Begin General Physics/Vehicle Handling Code. ///////////////////////////////////////////// function BeginPlay(){ ViewIntegrityMult=MaxViewIntegrity/HullIntegrity; } function VehicleTick(float deltatime){ //called by playerpawn.playertick(). Used for inputs VehicleMove(deltatime); Controller.SetLocation(Location); //might as well. } //called by playerpawn.PlayerCalcView(). default is car. event VehicleCalcView(out actor ViewActor, out vector CameraLocation, out rotator CameraRotation ) { CameraRotation = Controller.ViewRotation; // View rotation. Controller.DesiredFOV = Controller.DefaultFOV; ViewActor = self; CameraLocation = Location; if( Controller.bBehindView ){ //camerarotation.pitch=fclamp(viewrotation.pitch+500*(viewrotation.pitch/abs(viewrotation.pitch)),viewrotation.pitch+5461,viewrotation.pitch-5461); //maybe a retarded way, but it works :P //CameraLocation.Z -= camerarotation.pitch/8192-50; //kinda starfoxy with loc. CameraLocation.Z+=50; Controller.CalcBehindView(CameraLocation, CameraRotation, CamDist); // if (viewrotation.pitch<=32768) // camerarotation.pitch=viewrotation.pitch/2; //stays steady // else // camerarotation.pitch=-0.5*(viewrotation.pitch-32786); //make sure negative rule } else CameraLocation.Z += Controller.Default.BaseEyeHeight; } function VehicleMove(float deltatime); //implemented in subclass. move vehicle. function Tick (float deltatime){ //must move here if no controller. if (controller==none) VehicleMove(deltatime); } function bool KeyInput (float deltatime); //called by playerpawn.KeyInput(). return true if handled and does not global. function GetIn (tvplayer Driver){ Controller=Driver; Velocity=vect(0,0,0); SetOwner(driver); Driver.Vehicle=self; Driver.GotoState('VehicleControl'); bprojtarget=True; // bcollideworld=false; //hack? } function bool Eject (){ //ejects controller local vector X,Y, Z; local tvplayer oldcontroller; GetAxes(rotation,X,Y,z); Y.z=0; oldcontroller=controller; if (controller.SetLocation(location+vect(0,0,1)*(collisionheight+controller.collisionheight)-(controller.collisionradius+collisionradius+7)*normal(Y))){ Controller.Walk(); // Controller.Velocity=vect(0,0,0); oldController.AddVelocity(velocity); bprojtarget=false; return true; } } function Bump (actor other){ if (Controller==none&&other.Isa('tvplayer')) GetIn(tvplayer(other)); else ProcessCollision(other,-1*normal(Velocity+other.velocity)); //fake } //UT is funky when it comes to these physics.... function HitWall(vector HitNormal, actor HitWall){ ProcessCollision(HitWall,HitNormal); } event Landed( vector HitNormal ){ ProcessCollision(Level,HitNormal); } //called when hit something in driving mode. function ProcessCollision(actor Collided,vector CrashAngle); //useful somewhere... final static function int Sign (float a){ if (a>0) return 1; else if (a<0) return -1; else return 0; } final static function float normalizeangle(float inangle) { local int divisions; divisions = sign(inangle)*int(abs(inangle)/32768); return inangle-divisions*65536; } //approach a value final static function Approach (out float value, float toAdd, float Approach){ toadd=ABS(toadd); if (value>Approach){ value-=toAdd; if (valueApproach) value=Approach; } } simulated final function float GetMeiu(){ //allow mappers to vary meiu in different areas. return Meiu*region.zone.ZoneGroundFriction/class'zoneinfo'.default.ZoneGroundFriction; } //this function traces from various points on the ground. If any hits, returns it. various priority settings as well. Simulated function actor GroundTrace(out vector HitLocation, out vector HitNormal){ local vector Normals[5]; //priority order. 0=highest. 4=lowest. local actor Hits[5]; local vector HitLoc[5]; local vector OffSet, x, y, z; local rotator rot; local byte i; /* if (vsize(carvelocity)==0) rot=rotation; else rot=rotator(carvelocity); GetAxes(rot,X,Y,Z); //to get a vector switch... for (i=0;i<5;i++){ Hits[i]=Trace(hitloc[i],Normals[i],Location+Offset+vect(0,0,-1)*(collisionheight+1),Location+offset,true); if (Hits[i]!=none) break; switch(i+1){ //a better way to do this? case 1: // offset=vect(0,1,0)*collionradius>>rotator(velocity); offset=collisionradius*x+collisionradius*y; break; case 2: offset=collisionradius*x-collisionradius*y; break; case 3: offset=-collisionradius*x+collisionradius*y; break; case 4: offset=-collisionradius*x-collisionradius*y; break; } } if (i==5) return none; HitNormal=Normals[i]; HitLocation=Hitloc[i]; return Hits[i]; */ Offset.x=collisionradius; Offset.y=collisionradius; //Offset.z=collisionheight; if (Owner!=none) return Owner.Trace (hitlocation,HitNormal,Location+(vect(0,0,-1)*(collisionheight+0.01)),location,true,Offset); else return Trace (hitlocation,HitNormal,Location+(vect(0,0,-1)*(collisionheight+0.01)),location,true,Offset); } //checks for collision using seven points on cylinder. Simulated final function actor CollisionCheck(out vector HitLocation, out vector HitNormal, vector toMove){ local vector Normals[7]; //array of traces local actor Hits[7]; local vector HitLoc[7]; local byte besttrace, i; local vector X,Y,Z, offset; besttrace=7; if (vsize(tomove)==0) return none; //cannot collide if not moving GetAxes(rotator(tomove),X,Y,Z); //various vectors with respect to rotator (swapped angles) for (i=0;i<7;i++){ // if (i<3) offset+=collisionradius*x; // else // offset+=collisionradius*x*0.707; offset+=location; Hits[i]=Trace(hitloc[i],Normals[i],Offset+tomove,offset,true); if ((!FastTrace(offset,offset+tomove)||Hits[i]!=none)&&(besttrace==7||vsize(hitloc[i]-location)>rotator(velocity); offset=collisionradius*y+collisionheight*z; break; case 3: offset=collisionradius*y-collisionheight*z; break; case 4: offset=-collisionradius*y+collisionheight*z; break; case 5: offset=-collisionradius*y-collisionheight*z; break; } } if (besttrace==7) return none; HitNormal=Normals[besttrace]; HitLocation=Hitloc[besttrace]; return Hits[besttrace]; } //sets floorrot to rotation based on hitnormal. final simulated function FloorRot(vector HitNorm) { local vector temploc; local rotator adjustrotation; if(VSize(HitNorm)==0){ floor=rot(0,0,0); return; } temploc = (HitNorm << rot(0,1,0)*rotation.yaw); //use slope of Z/Y AdjustRotation.roll = normalizeangle(atan2(temploc.Y,temploc.Z)*UURot); //slope of roll/X AdjustRotation.pitch = -normalizeangle( atan2(temploc.X, sqrt(square(temploc.Z)+square(temploc.Y)) )*UURot); Floor=adjustrotation; } //rotator component closest thingy. static final function SetClosest(int a, out int b){ local int c; a=normalizeangle(a); b=normalizeangle(b); c=b+65536; if (abs(b-a)>abs(c-a)) b=c; } static final function int Round(float a){ //returns rounded float. return int(a+0.5); } function PostRender( canvas Canvas ); //vehicle HUD ///////////////////////////////////////////// // various math functions (used for quaternions... although I wrote these earlier just for the hell of it) ///////////////////////////////////////////// static final function float ASin ( float A ){ if (A>1||A<-1) //outside domain! return 0; if (A==1) //div by 0 checks return Pi/2.0; if (A==-1) return Pi/-2.0; return ATan(A/Sqrt(1-Square(A))); } //same philosophy as asin. Must add 180 to results below 0 however (want 1st quadrant, not 3rd!) static final function float ACos ( float A ){ if (A>1||A<-1) //outside domain! return 0; if (A==0) //div by 0 check return (Pi/2.0); A=ATan(Sqrt(1.0-Square(A))/A); if (A<0) A+=Pi; Return A; } // X = width/adjacent, Y = height, opposite (on circle where 0 degrees is +x axis) final static function float ATan2(float Y,float X) { local float tempang; if(X==0) { //div by 0 checks. if(Y<0) return -pi/2.0; else if(Y>0) return pi/2.0; else return 0; //technically impossible (nothing exists) } tempang=ATan(Y/X); if (X<0) tempang+=pi; //1st/3th quad //normalize (from -pi to pi) if(tempang>pi) tempang-=pi*2.0; if(tempang<-pi) tempang+=pi*2.0; return tempang; } // Y = height, opposite Rad=Hypotenuse/radius (on circle where 0 degrees is +x axis) final static function float ASin2(float Y,float Rad) { local float tempang; if(Rad==0) return 0; //technically impossible (no hypotenuse = nothing) tempang=ASin(Y/Rad); if (Rad<0) tempang=pi-tempang; //lower quads return tempang; } // X = width, adj. Rad=Hypotenuse/radius (on circle where 0 degrees is +x axis) final static function float ACos2(float X,float Rad) { local float tempang; if(Rad==0) return 0; //no possible angle tempang=ACos(X/Rad); if (X<0) tempang*=-1; //left quads return tempang; } lD// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // StarterTelsaBolt : Controls the telsa bolt to move the tesla around. // ============================================================ class StarterTelsaBolt expands TelsaBolt; //target is used here. var rotator AimRotation; //rot of aim... var float RotSpeed; //uses speed to minipulate aimrotation... note: each end is oneDspeed*sqrt(2)/2.... var float AnimTime; var vector BeamOffSet; //offset of base location.. var vector BaseLoc; //Base location. //for other bolts (storage better here): //var float AccumulatedDamage, LastHitTime; //here accumulated damage IS damage,, var int maxdamage; //Max damage level ;) replication { // Things the server should send to the client. unreliable if( Role==ROLE_Authority ) AimRotation, BeamOffset, BaseLoc, MaxDamage; } //Ohm's law: simulated function float GetDamage(vector HitLocation){ return maxdamage/fmax(vsize(HitLocation-location),1); } simulated function byte GetVolume(float Damage){ return min(255,2550*damage/maxdamage); } simulated function PostBeginPlay() { Super.PostBeginPlay(); Sentinel=self; BaseLoc=location; Skin=SpriteAnim[0]; ambientSound=Sound(DynamicLoadObject("ambmodern.elec4a",class'Sound')); oldsound=ambientsound; } simulated function Tick(float DeltaTime) { local vector X,Y,Z; local float Time; //temp for speed calc local rotator DeltaRot; //intended rot change local vector turnvec; local vector AimVec; local vector TurnAxis; local float CosToGo; local float CosThisStep; AnimTime += DeltaTime; if ( AnimTime > 0.05 ) { AnimTime -= 0.05; SpriteFrame++; if ( SpriteFrame == 5 ) SpriteFrame = 0; if (skin!=none) Skin = SpriteAnim[SpriteFrame]; } //old code //calculate aim! /* if (target!=none){ //always false on client :) turnvec=target.location+0.62 *vect(0,0,1)* target.CollisionHeight-BaseLoc; if (vsize(turnvec)>BeamSize*(MaxPos+1)){ Destroy(); //give up.. return; } // DeltaRot=rotator(turnvec)-AimRotation; //aim for low-head area. DeltaRot = rotator(turnvec << AimRotation); // DeltaRot=rotator(turnvec)-AimRotation; Time=SQRT((DeltaRot.yaw*DeltaRot.yaw+DeltaRot.pitch*DeltaRot.pitch)/(RotSpeed*RotSpeed)); DeltaTime=fmin(time,DeltaTime); if (DeltaTime!=0) Time=Time/DeltaTime; if (Time!=0) AimRotation+=DeltaRot/Time; } */ //spanky code: if (target != None) { turnvec=target.location+0.62 *vect(0,0,1)* target.CollisionHeight-BaseLoc; if (vsize(turnvec)>BeamSize*(MaxPos+1)||(pawn(target)!=none&&Pawn(target).health<=0)){ Destroy(); //give up.. return; } turnvec=normal(turnvec); AimVec = vector(AimRotation); // What's the angle between TurnVec and AimVec? Dot product will tell us that. CosToGo = TurnVec Dot AimVec; // How far can we go in one time step? CosThisStep = Cos(RotSpeed * DeltaTime); // Can we get there in one step? Cos() is a decreasing function, if // angle1 < angle2, then cos(angle1) > cos(angle2). if (CosToGo > CosThisStep) { // Aim straight at the dude. AimRotation = rotator(TurnVec); } else { // Rotate AimVec toward TurnVec by an angle of RotSpeed *DeltaTime. // Do this by rotating about a vector perpendicular to both AimVec and TurnVec. // Are AimVec and TurnVec pointing directly away from each other? if (CosToGo < -0.999) { // Yes, the problem is ill-conditioned. So pick another direction // to turn toward that "looks nice." TurnVec = vector(rot(0,1,0)*(AimRotation.Yaw + 16384)); } TurnAxis = normal(AimVec Cross TurnVec); // We've got the axis and the angle. Rotate! // Since TurnAxis is perpendicular to AimVec, the formula is simple AimVec = sin(RotSpeed * DeltaTime) * (TurnAxis Cross AimVec) + CosThisStep * AimVec; // Now simply point toward AimVec AimRotation = rotator(AimVec); } } SetRotation(AimRotation); GetAxes(Rotation,X,Y,Z); SetLocation(BaseLoc + BeamOffSet.X * X + BeamOffSet.Y * Y + BeamOffSet.Z * Z); CheckBeam(X, DeltaTime); } AL}%A~~nppppppppppppppI,V,V%,V&,V,,V,,VL,VH' (@R>@Vt// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TelsaBolt : Much like a pbolt. some variations however.... // Uses actor.oddsofappearing to scale :) // Tesla, Telsa, whatever. // ============================================================ class TelsaBolt expands Projectile; var (LaserBeam) texture SpriteAnim[5]; var int SpriteFrame; var TelsaBolt PlasmaBeam; //next beam var TelsaBolt Sentinel; //parent of all. (starter or laser beam) var int Position; var (LaserBeam) float BeamSize; var PlasmaCap WallEffect; //stuff only valid for sentinel. var Actor DamagedActor; var (LaserBeam) bool DoCap; //if false, hide :) var (LaserBeam) int MaxPos; //maximum position... var sound oldsound; replication { // Things the server should send to the client. unreliable if( Role==ROLE_Authority ) MaxPos, DoCap; } simulated function Destroyed() { Super.Destroyed(); if ( PlasmaBeam != None ) PlasmaBeam.Destroy(); if ( WallEffect != None ) WallEffect.Destroy(); } simulated function float GetDamage(vector HitLocation); simulated function byte GetVolume(float Damage); simulated function bool DoWallHit(){ return true; } simulated function HitSomething(actor HitActor); simulated function CheckBeam(vector X, float DeltaTime) { local actor HitActor; local vector HitLocation, HitNormal; // check to see if hits something, else spawn or orient child HitActor = Trace(HitLocation, HitNormal, Location + BeamSize * X, Location, true); if ( (HitActor != None) && (HitActor.bProjTarget || (HitActor == Level) || (HitActor.bBlockActors && HitActor.bBlockPlayers)) && ((Pawn(HitActor) == None) || Pawn(HitActor).AdjustHitLocation(HitLocation, X)) ) { Sentinel.HitSomething(HitActor); if (skin==none) Sentinel.SetHidden(false); damage=Sentinel.GetDamage(HitLocation); //calc instant damage SoundVolume=Sentinel.GetVolume(damage); Sentinel.LightBrightness=SoundVolume; if (WallEffect!=none) WallEffect.LightBrightness=SoundVolume; SoundVolume*=3; Sentinel.SoundVolume=SoundVolume; if ( Level.Netmode != NM_Client && damage != 0.0) { if ( Sentinel.DamagedActor == None ) { /* MomentumTransfer=-118*damage; //does negative momentum, as electrical force :) Sentinel.AccumulatedDamage = FMin(0.5 * (Level.TimeSeconds - Sentinel.LastHitTime), 0.1); HitActor.TakeDamage(Sentinel.AccumulatedDamage*damage, Instigator,HitLocation, (MomentumTransfer * X * Sentinel.AccumulatedDamage), MyDamageType); Sentinel.AccumulatedDamage = 0;*/ HitActor.OddsofAppearing=fmax(HitActor.OddsofAppearing-1,0); } else if ( Sentinel.DamagedActor != HitActor ) { /* Sentinel.DamagedActor.TakeDamage(Sentinel.AccumulatedDamage, Instigator,HitLocation, (-118*X * Sentinel.AccumulatedDamage), MyDamageType); Sentinel.AccumulatedDamage = 0;*/ Sentinel.DamagedActor.OddsofAppearing+=1; HitActor.OddsofAppearing=fmax(HitActor.OddsofAppearing-1,0); } // Sentinel.LastHitTime = Level.TimeSeconds; Sentinel.DamagedActor = HitActor; // Sentinel.AccumulatedDamage += DeltaTime*damage; Sentinel.DamagedActor.OddsOfAppearing += DeltaTime*damage; if ( sentinel.DamagedActor.OddsOfAppearing > 1.00) { if ( sentinel.DamagedActor.IsA('Carcass') && (FRand() < 0.09) ) Sentinel.DamagedActor.OddsOfAppearing = 35/Sentinel.DamagedActor.OddsOfAppearing; sentinel.DamagedActor.TakeDamage(int(Sentinel.DamagedActor.OddsOfAppearing), instigator,HitLocation, vect(0,0,0), MyDamageType); //no momentum=electric shock! Sentinel.DamagedActor.OddsOfAppearing -=int(Sentinel.DamagedActor.OddsOfAppearing); } } if ( HitActor.bIsPawn && Pawn(HitActor).bIsPlayer ) { if ( WallEffect != None ) WallEffect.Destroy(); } else if ( Sentinel.DoWallHit() && (WallEffect == None || WallEffect.bDeleteMe )){ WallEffect = Spawn(class'PlasmaHit',,, HitLocation - 5 * X); WallEffect.Texture=Texture'olextras.BlueBoltCap.pEnd_a00'; WallEffect.LightHue=170; } else if ( Sentinel.DoWallHit() && !WallEffect.IsA('PlasmaHit') ) { WallEffect.Destroy(); WallEffect = Spawn(class'PlasmaHit',,, HitLocation - 5 * X); WallEffect.Texture=Texture'olextras.BlueBoltCap.pEnd_a00'; WallEffect.LightHue=170; } else WallEffect.SetLocation(HitLocation - 5 * X); if ( Sentinel.DoWallHit() && (WallEffect != None) && (Level.NetMode != NM_DedicatedServer) ) Spawn(ExplosionDecal,,,HitLocation,rotator(HitNormal)); if ( PlasmaBeam != None ) { PlasmaBeam.Destroy(); PlasmaBeam = None; } return; } else if ( (Level.Netmode != NM_Client) && (Sentinel.DamagedActor != None) ) { /* sentinel.DamagedActor.TakeDamage(Sentinel.AccumulatedDamage, instigator, sentinel.DamagedActor.Location - X * 1.2 * sentinel.DamagedActor.CollisionRadius, (-118 * X * Sentinel.AccumulatedDamage), MyDamageType); sentinel.AccumulatedDamage = 0; sentinel.DamagedActor = None;*/ Sentinel.DamagedActor.OddsofAppearing+=1; Sentinel.DamagedActor=none; } if ( Position >= Sentinel.MaxPos ) { Sentinel.LightBrightness=0; if (Sentinel.DoCap){ if ( (WallEffect == None) || WallEffect.bDeleteMe ){ WallEffect = Spawn(class'PlasmaCap',,, Location + (BeamSize - 4) * X); WallEffect.Texture=Texture'olextras.BlueBoltHit.phit_a00'; WallEffect.LightHue=170; } else if ( WallEffect.IsA('PlasmaHit') ) { WallEffect.Destroy(); WallEffect = Spawn(class'PlasmaCap',,, Location + (BeamSize - 4) * X); WallEffect.Texture=Texture'olextras.BlueBoltHit.phit_a00'; WallEffect.LightHue=170; } else WallEffect.SetLocation(Location + (BeamSize - 4) * X); } else { if (WallEffect!=none) Walleffect.Destroy(); Sentinel.SetHidden(true); } } else { if ( WallEffect != None ) { WallEffect.Destroy(); WallEffect = None; } if ( PlasmaBeam == None ) { PlasmaBeam = Spawn(class'TelsaBolt',,, Location + BeamSize * X); PlasmaBeam.Position = Position + 1; PlasmaBeam.Sentinel=Sentinel; PlasmaBeam.bhidden=bhidden; PlasmaBeam.AmbientSound=AmbientSound; PlasmaBeam.Mesh=Mesh; PlasmaBeam.BeamSize=BeamSize; } else PlasmaBeam.UpdateBeam(self, X, DeltaTime); } } simulated function UpdateBeam(TelsaBolt ParentBolt, vector Dir, float DeltaTime) { local actor HitActor; local vector HitLocation, HitNormal; SoundVolume = ParentBolt.SoundVolume; //SpriteFrame = ParentBolt.SpriteFrame; Skin = ParentBolt.Skin; SetLocation(ParentBolt.Location + BeamSize * Dir); SetRotation(ParentBolt.Rotation); CheckBeam(Dir, DeltaTime); } simulated function SetHidden(bool hide){ //fake hide all bolts... bhidden=hide; if (hide) AmbientSound=none; else AmbientSound=Sentinel.oldsound; if (PlasmaBeam!=none) PlasmaBeam.SetHidden(hide); } r(X O;`fX Ai AX r(X Z)AAX fX ~X   H>xf W_HF x KxKx}xxaS[]x83[?,x3]?,xaS%(D xx?#?? e.// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // Telsa : The tesla bolt that fires stuff at player. // Usage: shove it somewhere in the level where nothing blocks it. then have fun ;p // Triggering enables/disables. // Tesla, Telsa, whatever... // ============================================================ class Telsa expands Keypoint; //editor config: var () bool bEnabled; var () bool bTriggerOnceOnly; var () byte MaxBolts; //can do 8 max internally actually. var () bool AttackPlayers; //can it attack players? var () bool AttackAllies; //attack followers? var () bool AttackEnemies; //attack anything else? var () vector BeamOffset; //offset of base location.. var () bool HasCap; //should beam have a cap or simply hide itself? var () float RotSpeed; //maximum rotation speed/sec. (rad/s) //Think of this as an air resistance factor???? var () int MaxLength; //where beam cuts off. not very scientific :) SHOULD BE MULTIPLE OF 81!! var () int MaxDamage; //Damage per second AT LENGTH 1. Interesting note: longer the beam=less damage; // Damage is assumed as 0 at max and at this number at 0. // I have based the calculation on Ohm's law. shock=maxdamage/curlength*delta // (this is assuming any other resistance/volt constants 1 or damage is based on them. whatever...) //internal vars: var StarterTelsaBolt Bolts[8]; //bolts that attack... event PostBeginPlay(){ if (benabled) SetTimer(0.93,true); if (MaxBolts>8) MaxBolts=8; } event Trigger (Actor Other, pawn EventInstigator){ Instigator=EventInstigator; bEnabled=!benabled; if (bTriggerOnceOnly) disable('trigger'); SetTimer(0.93*byte(benabled),benabled); } function StarterTelsaBolt SpawnBolt(){ local byte i; for (i=0;i[a>_/C@@,_-#-B$::$,::$ ::$ ::$q_ F::$$*r_q_ F$* !w._* ._ $*v_ N)rS99ZL>?r!p- r=aW$? HDa!_Y? ru>aV$> Ca!jZ - rff&?a!}Z> rL?a!p>=  n!}2rL>a!Z>iVr33>a!p>=iHa!}Z  !paR$a!_Z=  !Ma!}Z=  !_r>a!M>aR$a!_Z aP$?'CZ?a!Z W>\0~ar* iDF \i\K\Kr* \}\\.aS^W\H\3^?,\3W?,\%aS(D \\3\?i#?? X>Z8q@^>M\hDtttth;h;tth;h;h;h;h;h;ttXh;h;h; FVTQS$>T"N"rS`>ii>\>t> @ c>.R9-W(  h>s8I5!_ !pa!_@?=Ga!p333?> ]>dPIdd$'%f3dEdM%M,zM.z dfZ*M.z& 0Z `;X 1Z b;X 2Z ^;X 3Z ^LX *4Z f;X 35X G6Z HMX Z j;XwZ*f M.z&`~M.z,f M.z&`&Z.M.z`& 'dZ33f ppf ->SM. iHdaf efd3f?,daf e3?De3f3MZ N// ============================================================ // TVDrivableCar : This is a version of a car that uses "wheel components". // Wheels control movement. car links them. // MaxForce=torque or soemthing. 4-wheel DRIVE! // Note that Car Velocity in this case is the body velocity! Velocity is global! // ============================================================ class TVDrivableCar expands TVVehicle; #exec MESH IMPORT MESH=TVCar ANIVFILE=Car\Car_a.3D DATAFILE=Car\Car_d.3D #exec MESH ORIGIN MESH=TVCar X=0 Y=0 Z=0 #exec MESH SEQUENCE MESH=TVCar SEQ=All STARTFRAME=0 NUMFRAMES=1 #exec MESH SEQUENCE MESH=TVCar SEQ=Still STARTFRAME=0 NUMFRAMES=1 //#exec TEXTURE IMPORT NAME=TVCarSkin FILE=Car\car_fertig.PCX GROUP=Skins #exec MESHMAP SCALE MESHMAP=TVCar X=0.1 Y=0.1 Z=0.2 //#exec MESHMAP SETTEXTURE MESHMAP=TVCar NUM=0 TEXTURE=TVCarSkin #exec MESHMAP SETTEXTURE MESHMAP=TVCar NUM=0 TEXTURE=Jcar3 //configurable: var () vector WheelOffSet; var () int MaxWheelYaw; //in unreal units var () float WheelRate; //rate at which wheels are turned (uurot/sec) var () float WheelTurn; //amount wheels turned by (in uurot yaws). (controlled outside of friction) var () float RollingResistance; //coeficient of tire rolling resistance. var () bool bHasGun; //does car have a gun mounted? (probably should be false for bot cars) var () float WheelRadius; //radius of wheel var vector WheelThrust; //thrust from wheels (last tick) used for relative accel stuff var vector WheelTorque; //Torque from wheels (last tick) var float MoInertia;//Moment of initertia var rotator OldRotation; //my old rotation. var TvCarWheel Wheels[4]; //frontleft, frontright, backright, backleft. var float EngineForce; //max accel engine is exerting. each wheel gets force/4. note force is limited to static friction! var bool bBreaking; //if breaks are on (uses frictional decrease in accel) var vector Torque; //current torque var byte TiresOnGround; //amount of tires on ground..... var Quaternion OldQ; //old q rotation var float LastWheelTurn; //old wheel turn function PostBeginPlay(){ //generate wheels: local byte i; MoInertia=0.5*Square(collisionradius)*mass; QRotation=RotToQuat(rotation); //initialize quaternion rot representation QRotation=QNormal(QRotation); OldQ=QRotation; LastWheelTurn=WheelTurn; for (i=0;i<4;i++){ Wheels[i]=Spawn(class'TvCarWheel',self); Wheels[i].Position=i; Wheels[i].QRotation=QRotation; } UpdateWheels(0); } function Destroyed(){ local byte i; for (i=0;i<4;i++) Wheels[i].Destroy(); } function UpdateWheels(float deltatime){ //after car has moved (physics already calculated): local vector offset; local vector DeltaRotVec; local rotator myrot; local Quaternion DeltaQ; local byte i; offset=wheeloffset; myrot=rotation; QRotation=QNormal(QRotation); SetRotation(QuatToRot(QRotation)); if (Controller!=none) Controller.ViewRotation+=(rotation-myrot); DeltaQ=QRotation-OldQ; OldQ=QRotation; DeltaRotVec.Z=(WheelTurn-LastWheelTurn)/uurot; LastWheelTurn=WheelTurn; DeltaRotVec.y=vsize(Velocity)*deltatime/Wheelradius; //wheel speed. DeltaRotVec.y*=CarVelocity dot QGetAxis(Qrotation); //scale wheel turning for (i=0;i<4;i++){ Wheels[i].Qrotation+=DeltaQ; Wheels[i].NoTurnQ+=DeltaQ; Wheels[i].Setlocation(location+QvRotate(~Qrotation,offset)); Wheels[i].My2DOffset=Offset; Wheels[i].TurnWheelBy(DeltaRotVec); // Wheels[i].My2DOffset.z=0; Switch (i){ Case 0: Case 2: Offset.y*=-1; break; Case 1: Offset.x*=-1; break; } } } function VehicleTick(float deltatime){ if (controller.bPressedJump&&Eject()){ EngineForce=0; return; } //handle key inputs: Controller.aLookup *= 0.24; Controller.aTurn *= 0.24; Controller.aForward = Sign(Controller.aForward)*EngineRate*deltatime; Controller.aStrafe = Sign(Controller.aStrafe)*WheelRate*deltatime; Controller.UpdateRotation(deltatime,2); //view rot stuff. If (Controller.aForward>0){ if (Sign(CarVelocity.X)>=0&&!bBreaking) EngineForce=fmin(EngineForce+Controller.AForward,MaxForce); else{ Approach(EngineForce,2*EngineRate*deltatime,0); bBreaking=true; } } else if (Controller.aForward<0){ if (Sign(CarVelocity.X)<=0&&!bBreaking) EngineForce=fmax(EngineForce+Controller.AForward,-MaxForce); else{ Approach(EngineForce,2*EngineRate*deltatime,0); bBreaking=true; } } else{ Approach(EngineForce,EngineRate*deltatime,0); bBreaking=false; } if (Controller.aStrafe>0) Approach(WheelTurn,WheelRate*deltatime,MaxWheelYaw); else if (Controller.aStrafe<0) Approach(WheelTurn,-WheelRate*deltatime,-MaxWheelYaw); else Approach(WheelTurn,WheelRate*deltatime,0); if (Controller.bfire>0) CamDist=min(camdist-200*deltatime,collisionradius); if (Controller.baltfire>0) CamDist+=200*deltatime; // UpdateWheels(0); //new turn amount. Super.VehicleTick(deltatime); } function VehicleMove(float deltatime){ SetAcceleration(); //set forces. HandleRotation(deltatime); //rotate DoMovement(deltatime); //move car. UpdateWheels(deltatime); //final update. } //Get accel from wheels. function SetAcceleration(){ //determine the acceleration of vehicle // local vector hitlocation, hitnormal; local byte i; // local vector TempAccel; // local float accel; Acceleration=(Velocity dot Velocity)*ArCoef*normal(-velocity)/mass; Acceleration += WheelThrust; //old Torque=normal(-RotationalVelocity)*(RotationalVelocity dot RotationalVelocity)*Square(collisionradius)*ARRotCoef; Torque+=WheelTorque; rotAcceleration=Torque/MoInertia; Acceleration+=0.5*Region.Zone.ZoneGravity; TiresOnGround=0; for (i=0;i<4;i++) Wheels[i].CheckGroundForces(); Acceleration -= WheelThrust; //set back Torque-=WheelTorque; WheelTorque=vect(0,0,0); WheelThrust=vect(0,0,0); for (i=0;i<4;i++) Wheels[i].GetAcceleration(); Torque +=WheelTorque; Acceleration +=WheelThrust; /* if (base!=none) { //stay on ground floor.yaw=rotation.yaw; hitlocation=normal(Carvelocity<>floor); } */ } //rotate car: Acceleration frame-rate issues! function HandleRotation(float deltatime){ local rotator newrot; local float rate; local float oldVeloc; local byte i; local vector myrot; myrot=QGetAxis(Qrotation); rotAcceleration=Torque/MoInertia; RotationalVelocity+=(rotAcceleration)/MoInertia; //acceleration /* //friction: GroundFriction=0; for (i=0;i<4;i++) GroundFriction+=Wheels[i].GetRotationalFriction(myrot); //moment is 1/2 ml squared RotationalVelocity-=normal(RotationalVelocity)*fmin(2*GroundFriction*collisionradius*deltatime,vsize(RotationalVelocity)); */ for (i=0;i<4;i++) RotationalVelocity+=Wheels[i].GetRotationalFriction(myrot); QRotation+=(QRotation*RotationalVelocity)*0.5*deltatime; //set qrotation by rot. velocity. QRotation=QNormal(QRotation); } //actual movement routine. WARNING: HAS FRAME-RATE GLITCH! (higher FPS=faster accel) function DoMovement(float deltatime){ local vector HitLoc, HitNorm; local byte i; local vector myrot; myrot=vector(rotation); Velocity+=Acceleration*deltatime; //add engines+gravity. //friction: /* GroundFriction=0; for (i=0;i<4;i++) GroundFriction+=Wheels[i].GetLinearFriction(myrot); //moment is 1/2 ml squared CarVelocity-=fmin(vsize(CarVelocity),GroundFriction*deltatime)*normal(carvelocity); //friction reduces velocity */ for (i=0;i<4;i++) Velocity+=Wheels[i].GetLinearFriction(myrot); if (CollisionCheck(hitloc,hitnorm,velocity*deltatime)!=none) Velocity=(HitLoc-(Location+collisionradius*normal(velocity)))/deltatime; //reset else HitLoc=vect(0,0,0); if (!SetLocation(location+velocity*deltatime)&&Controller!=none) controller.ClientMessage("WARNING: collision detection failure! SetLocation() failed! Vector ["$location+velocity*deltatime$"] is outside of world!"); if (HitLoc!=vect(0,0,0)) HitWall(hitnorm,level); CarVelocity = QvRotate(~Qrotation,velocity); } /* //If HITS any wall. Does refrection (world cannot be altered). if velocity is low enough can set base... function ProcessCollision(actor Collided,vector CrashAngle){ local vector oldvelocity; oldvelocity=CarVelocity; CarVelocity -= 2 * ( CarVelocity dot CrashAngle) * CrashAngle; //vector reflection CarVelocity*=EnergyLoss; If ((vsize(CarVelocity-oldvelocity)<-0.5*Region.Zone.ZoneGravity.Z&&carvelocity.z>=0)||abs(carvelocity.z)<-0.09*Region.Zone.ZoneGravity.Z){ //not really realistic // carvelocity.z=0; //again, physics problems here. SetAcceleration(); HandleRotation(0); } Timer(); //update stuff NOW. } */ function ProcessCollision(actor B2,vector CrashAngle){ local int i; local Vector pt1, pt2, CollisionTangent; local float j; local float fCr; local float Vrt; local float mu; fcr=COEFFICIENTOFRESTITUTION; mu = GetMeiu(); CollisionTangent=-((velocity-b2.velocity) - (((velocity-b2.velocity) dot CrashAngle) * CrashAngle)); if(b2.bispawn&&b2.mass>0) // not ground plane { pt1 = location - CrashAngle*collisionradius; pt2 = CrashAngle*b2.collisionradius - b2.location; // calculate impulse j = (-(1+fCr) * ((velocity-b2.velocity) dot CrashAngle)) / ( (1/Mass + 1/b2.Mass) + (CrashAngle dot ( ( (pt1 cross CrashAngle)/moinertia ) cross pt1) )); Vrt = (velocity-b2.velocity) dot CollisionTangent; if(abs(Vrt) > 0.0) { Velocity += ( (j * CrashAngle) + ((mu * j) * CollisionTangent) ) / Mass; RotationalVelocity += (pt1 cross ((j * CrashAngle) + ((mu * j) * CollisionTangent)))/MoInertia; Pawn(b2).AddVelocity(-((j * CrashAngle) + ((mu * j) * CollisionTangent)) /B2.Mass); } else { // apply impulse Velocity += (j * Crashangle) / Mass; RotationalVelocity += (pt1 cross (j * Crashangle))/MoInertia; Pawn(B2).AddVelocity(-(j * Crashangle) / B2.Mass); } } else { // ground plane if (b2==level) fCr = COEFFICIENTOFRESTITUTIONGROUND; else fcr=COEFFICIENTOFRESTITUTION; pt1 = location - CrashAngle*collisionradius; // calculate impulse j = (-(1+fCr) * (CarVelocity dot CrashAngle)) / ( (1/Mass) + (CrashAngle dot ( ( (pt1 cross CrashAngle)/moinertia ) cross pt1))); Vrt = CarVelocity dot CollisionTangent; if(abs(Vrt) > 0.0) { Velocity += ( (j * CrashAngle) + ((mu * j) * CollisionTangent) ) / Mass; RotationalVelocity += (pt1 cross ((j * CrashAngle) + ((mu * j) * CollisionTangent)))/moinertia; } else { // apply impulse Velocity += (j * CrashAngle) / Mass; RotationalVelocity += (pt1 cross (j * CrashAngle))/moinertia; } } } //EZ-write function WriteText(canvas Canvas, string text, out float Y, optional bool Right){ local float W, H; Canvas.TextSize(text, W, H); Canvas.CurY=Y; if (Right) Canvas.CurX=Canvas.Clipx-5-W; else Canvas.CurX=5; Canvas.DrawText (text, false); if (right) Y+=H+4; } //entry point of render info. function PostRender(canvas canvas){ local float Y; canvas.Reset(); canvas.font=canvas.medfont; Canvas.DrawColor.R=100; Canvas.DrawColor.B=24; Canvas.DrawColor.G=200; Y=20; WriteTEXT(canvas,"Speed"@vsize(Velocity)@"m/s",Y); WriteTEXT(canvas,"Velocity vector ["$(CarVelocity)$"] m/s",Y,true); WriteTEXT(canvas,"Acceleration vector ["$(Acceleration)$"] m/s^2",Y); WriteTEXT(canvas,"Rotational accel vector"@rotAcceleration,Y,true); WriteTEXT(canvas,"Torque vector"@Torque,Y); WriteTEXT(canvas,"Rotational Velocity"@RotationalVelocity,Y,true); WriteTEXT(canvas,"Amount of wheels on ground"@TiresOnGround,Y); WriteTEXT(canvas,"Current wheel turn"@wheelturn,Y,true); WriteTEXT(canvas,"Acceleration from wheels"@WheelThrust,Y); WriteTEXT(canvas,"Torque from wheels"@WheelTorque,Y,true); WriteTEXT(canvas,"My rotation"@Rotation,Y); WriteTEXT(canvas,"Rotation of front-left wheel"@Wheels[0].rotation,Y,true); WriteTEXT(canvas,"Contact force on primary wheel"@Wheels[0].ContactA,Y); WriteTEXT(canvas,"Relativeaccel of primary wheel"@Wheels[0].RelativeAcceleration,Y,true); Y+=15; WriteTEXT(canvas,"Commands:",Y); Y+=10; WriteTEXT(canvas,"Hit the TAB key, and type in the following commands to change simulator properties. (replace [value] with a number)",Y); Y+=10; WriteTEXT(canvas,"SetMass [value] --- Sets the mass of the vehicle.",Y); Y+=10; WriteTEXT(canvas,"SetMaxThrust [value] --- Sets the maximum force the engines can give off.",Y); Y+=10; WriteTEXT(canvas,"SetMaxBreak [value] --- Sets the maximum force the reversed engines can give off.",Y); // Y+=10; // WriteTEXT(canvas,"SetGravity [value] --- Self-explainatory.",Y); Y+=10; WriteTEXT(canvas,"SetMeiu [value] --- Sets the coefficient of kinetic friction.",Y); Y+=10; WriteTEXT(canvas,"SetAirResistance [value] --- Sets the air resistance coefficent. It is multiplied by velocity^2",Y); Y+=10; WriteTEXT(canvas,"SetRotatioanalAirResistance [value] --- Sets the rotational air resistance coefficent. It is multiplied by the normal air resitance",Y); Y+=10; WriteTEXT(canvas,"SetEngineRate [value] --- Sets the rate at which the control keys alter the engine force",Y); Y+=10; WriteTEXT(canvas,"SetHUDRefresh [value] --- Sets the delay in seconds between new info displayed on screen.",Y); Y+=10; WriteTEXT(canvas,"SetEnergyLoss [value] --- Sets the percentage of energy lost in collisions.",Y); Acceleration=vect(0,0,0); //temp } Z^ // ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // MakeMercsDance : Triggering makes a followingmercenary of the tag dance. (no tag==all) // ============================================================ class MakeMercsDance expands Triggers; var () name MercTag; var () bool bForceDance; //if true removes orders, and if no enemy, goes to waiting state. function Trigger (actor other, pawn EventInstigator){ local pawn p; for (p=level.pawnlist;p!=none;p=p.nextpawn) if ((Merctag=='All'||p.tag==MercTag)&&p.IsA('followingmercenary')){ followingmercenary(p).bDancer=true; if (bForceDance){ scriptedpawn(p).orders=''; if (p.enemy==none) p.GotoState('waiting'); } } } S)+[7YQ-W >-W'ag)$!Ha>?W8+  j>b>Y9l>D)&6+)!d -a&!dD) g>_DJ @ k> iPtttUm2"/ttt e>o>rn46- rN?>ar>a!N>rff>a!HN>Xrff&?a!GN>a!_N> d>^Sl+^Q.f,u*Ov*Ja^ rO* r^ W KXp+S OXOw O* zXXUVOw~O*W~OrW*W` ORWX u>m>Q=4a&!y= ~4sZ Ci&-F(s% s,~sESPEECH 2 3 0u{``p`,s `s ~sESPEECH 2 1 0{DDpD,s Ds sO,. 0Vpppp,U`,YD,Y-F'~Hq!f  4.;%6o%Z j.Z  v"// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // FovScrewer : screws up Field of View. Trigggering enables/disables... well, use like a keyinveryer // ============================================================ class FovScrewer expands Triggers; var () byte minfov; var () byte maxfov; var () byte AverageChange; var bool bdec; var float zoomlevel, OldFov; var playerpawn localplayer; var () bool bInitiallyActive; var bool bActive, bWasActive; replication{ reliable if (role==role_authority) bactive; } simulated function PostBeginPlay(){ super.Postbeginplay(); bActive=bInitiallyActive; zoomlevel=minfov; if (level.netmode==nm_dedicatedserver) disable('tick'); } simulated function GetLocalPlayer(){ //net stuff local playerpawn p; ForEach AllActors(class'playerpawn',p) if (viewport(p.player)!=none){ localplayer=p; return; } } simulated function Tick(float deltatime){ local pawn p; if (localplayer==none) GetLocalPlayer(); if (!bactive){ if (bWasActive&&localplayer!=none) localplayer.desiredfov=OldFov; bWasActive=false; return; } if (!bWasActive){ if (localplayer!=none) OldFov=localplayer.desiredfov; bWasActive=true; } if (frand()<0.1) return; DeltaTime/=level.timedilation; if (bdec) DeltaTime*=-1; ZoomLevel += DeltaTime * AverageChange*fclamp(frand(),0.1,0.9); if (zoomlevelmaxfov){ zoomlevel=maxfov; bdec=true; } if (localplayer!=none) localplayer.desiredfov=zoomlevel; } function Trigger( actor Other, pawn EventInstigator ) { bActive=!bactive; } state() TriggerToggled { } state() OppositeWhileTriggered { function Trigger( actor Other, pawn EventInstigator ) { if (!bactive^^bInitiallyActive) global.Trigger(other,eventinstigator); } function UnTrigger( actor Other, pawn EventInstigator ) { if (bActive^^!bInitiallyActive) global.Trigger(other,eventinstigator); } } v>e3a&!LL> x>N3a&!L33> n>iQ oiqY@Y!] wV*VnVa!u ri Y!Nzq R HPower zq X+100WK qW Xp+SWR KX y>`~3a&!yL? Oz>|3%aV ?>L>H L{>2a!d ? |>g1r<6-49?%:+ ]w*a!H ? >pa!1? > ~>W0X<6-49?%:+ a!B > w>kPsRwY*_:Y,:Y Y?,zk h ,h {6h Yh &h h 6%!^6%k6 %Y6%S.@@ @?l~I0aM$a!}?= @5Ih5 5K$6-&I <-Ka&!QI a&!I D?tqb/N6- 4>+La&!gL>= }>@K vh]&]}@Q@}@]&qQ,0 Q,9hJ@]wh]h  G?A?_h.Ka$@7?a!Y333?=Ia!\333?= h L?F?kb .*a$@a!Y333?= C?s*Rxj_,T_a_&N_N_6\ %Ns*6T %Nr*6R %N@ >}mD 63$6-&} a&!} iL// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVEightball : This simply does a hack to stop locking on followers. // =============================================================== class TVEightball expands UT_Eightball; function Actor CheckTarget() { local Actor A; local pawn p; if (!Instigator.bIsPlayer&&Instigator.skill==0) return None; if (!Owner.IsA('PlayerPawn')) return Super.CheckTarget(); if (Owner.IsA('tvplayer')&&tvplayer(Owner).playermod==1) //no locking in cutscenes. return None; for (p=level.pawnlist;p!=none;p=p.nextpawn) if (p.bisplayer||p.Isa('nali')||p.Isa('cow')||p.Isa('bird1')||p.IsA('NaliRabbit')||(p.IsA('follower')&&Follower(p).IsFriend())) p.bProjTarget=!p.bProjTarget; A=Super.CheckTarget(); for (p=level.pawnlist;p!=none;p=p.nextpawn) if (p.bisplayer||p.Isa('nali')||p.Isa('cow')||p.Isa('bird1')||p.IsA('NaliRabbit')||(p.IsA('follower')&&Follower(p).IsFriend())) p.bProjTarget=!p.bProjTarget; return A; } function float SuggestAttackStyle() { local float EnemyDist; if (Pawn(Owner).Enemy==none) return -0.2; return Super.SuggestAttackStyle(); } //change scale around for teh hell of it ;p simulated function PostRender( canvas Canvas ) { local float XScale; bOwnsCrossHair = bLockedOn; if ( bOwnsCrossHair ) { // if locked on, draw special crosshair XScale = Canvas.ClipX/730.0; Canvas.SetPos(0.5 * (Canvas.ClipX - Texture'Crosshair6'.USize * XScale), 0.5 * (Canvas.ClipY - Texture'Crosshair6'.VSize * XScale)); Canvas.Style = ERenderStyle.STY_Normal; Canvas.DrawIcon(Texture'Crosshair6', XScale); } } //some bot/scriptedpawn crap: function Fire( float Value ) { local TournamentPlayer TP; bPointing=True; if ( AmmoType == None ) { // ammocheck GiveAmmo(Pawn(Owner)); } if ( AmmoType.UseAmmo(1) ) { TP = TournamentPlayer(Instigator); bCanClientFire = true; bInstantRocket = bAlwaysInstant || ( (TP != None) && TP.bInstantRocket ); if ( bInstantRocket ) { bFireLoad = True; RocketsLoaded = 1; GotoState(''); GotoState('FireRockets', 'Begin'); } else if ( !Instigator.IsA('playerpawn') && (Instigator.bIsPlayer || Instigator.skill>0 )) { if ( LockedTarget != None ) { bFireLoad = True; RocketsLoaded = 1; Instigator.bFire = 0; bPendingLock = true; GotoState(''); GotoState('FireRockets', 'Begin'); return; } else if ( (NewTarget != None) && !NewTarget.IsA('StationaryPawn') && (FRand() < 0.8) && (VSize(Instigator.Location - NewTarget.Location) > 400 + 400 * (1.25 - TimerCounter) + 1300 * FRand()) ) { Instigator.bFire = 0; bPendingLock = true; GotoState('Idle','PendingLock'); return; } else if ( (!Instigator.Isa('bot')||!Bot(Instigator).bNovice) && (FRand() < 0.7) && IsInState('Idle') && (Instigator.Enemy != None) && ((Instigator.Enemy == Instigator.Target) || (Instigator.Target == None)) && !Instigator.Enemy.IsA('StationaryPawn') && (VSize(Instigator.Location - Instigator.Enemy.Location) > 700 + 1300 * FRand()) && (VSize(Instigator.Location - Instigator.Enemy.Location) < 2000) ) { NewTarget = CheckTarget(); OldTarget = NewTarget; if ( NewTarget == Instigator.Enemy ) { if ( TimerCounter > 0.6 ) SetTimer(1.0, true); Instigator.bFire = 0; bPendingLock = true; GotoState('Idle','PendingLock'); return; } } bPendingLock = false; GotoState('NormalFire'); } else GotoState('NormalFire'); } } function SetSwitchPriority(pawn Other) //uses master priority { local int i; local name temp, carried; if ( PlayerPawn(Other) != None ) { for ( i=0; iE$T EPEE$U%U,6R UN?%!6R UNbUN{6T UNGUfG]EJ3UGwU%]3eE]J6\ UN6T UNU!]d d ] s>VDxJ ::$@W?vBP> Y> Y> Y> Y h?vu@CGY?Z?z.N5XOG- w*-t!SL$"   ^?Q?EI1+^a  #L?a<" @w^*^ ^A^ 6^ 6^ 6a $@a!u?= G`?H^< *vdH!h%6v6?-EH Hv Y// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // ConsoleCommandTrigger : I am very apprehensive about this, but nonetheless, here it is. // Do NOT do something stupid! // ============================================================ class ConsoleCommandTrigger expands Triggers; var () string Command; //the actual console command var () bool MessageResult; //if the command returns something, should it be shown to client. Note: only applies to native commands. function Trigger( actor Other, pawn EventInstigator ){ local string result; if (Command~="exit"||Command~="quit"||Command~="debug gpf"){ result="Warning: map author is a moron!"; MessageResult=true; } else result=EventInstigator.ConsoleCommand(Command); if (result==""||!MessageResult) return; if (Playerpawn(EventInstigator)!=none) EventInstigator.Clientmessage(result); else Broadcastmessage(result); } a?l6)a&!1> b?K'?(6- -'a^)$P    a!e _f?d!'a&!sL>_ V?QSqwV*Vn c?~e\a~~z~P.33Azj  ~E~~aj Y{epB##YeyeDj &~aDY{yYj j &YyY~A~eY`B#{~ aj ( _?~Ca @e?#=Ptt kkg?k'a!C  > j?Bmv&s%6-&BqI!_a!M>>qda!ta&!}Bqa&!B R X(@Q caX(rc* c-'c wf~ca/!yrf*fcc gffa/!0cl ek?i?O$&a!L̬?= l?ehD%X%6-&eVI!_a!M>>Va&!e m?|U$s%6-&|qI!_a!M>>qdw*a&!H |qa&!1| n?Am"%6-&A!B !C  -v!_a!M>>a&!BA o?cc!X%6-&cVI!_a!M>>Va&!gc r?]! &L> d?$t)gw.*@.G-G.G-U-'a r.A*r vC e . .A-='- ?'? p?g]c-xgg8a ggCC?%w.A* wV*Vng N)f!96- a!q>> q?SEv!w_*_ ES RSd S-Q(<. ?,<e e C<. ?,f @@:e &i?i--g .G-]&:. & i?%H?%w.A*w v--[Sa('~%.}Sa!ufS%%Z-xSS8a SSCCy**-'a!uQ SDKM/H!N-.-.-~S Mr.*w. *.a. .w.*%RS. D S@S.S$ SX:. ,FF  S$ g// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVSkaarjProjectile : So it can hit other skaarj. plus net fixes // ============================================================ class TVSkaarjProjectile expands olSkaarjProjectile; auto simulated state Flying { simulated function MakeSound() { PlaySound(ImpactSound); if (level.netmode!=nm_client) MakeNoise(1.0); } simulated function ProcessTouch (Actor Other, Vector HitLocation) { local vector momentum; if ( Other!=Instigator ) { if ( Role == ROLE_Authority ) { momentum = 10000.0 * Normal(Velocity); Other.TakeDamage(Damage, instigator, HitLocation, momentum, 'zapped'); } Destroy(); } } simulated function BeginState() { PlaySound(SpawnSound); SetTimer(0.20,False); if (role.G-G .)R.)wj.GCP.GAW.npjWj?, kWPSppppppYou=ber-l33t! Your time ( | ^W s) BEAT ber-Goal Time ( | ^P s) by  |^PW s!V?.GU..GT.PW?WjSppppppCONGRATULATIONS! Your time ( | ^W s) BEAT Goal Time ( | ^j s) by  |^jW s!V?.Gb..G_.jWWP?,SpppS Time was only  |^WP s away from ber-Goal!?fppNice Job! Your time was only  |^Wjs away from the Goal Time.!]' SpppS SDV Points Awarded!.) ,VS!]'6 ?,d  Y5aJ3D>?B( 6aj?% ?a?6} 6} 6} l arn?,a(} wl *a?l arn?,a(} wl * l arn?,a#??,a(} {rl * Dga&!L>a?6HCo$q!I!b m~?Y{sfRRYYի?Rba%!b !_k6L>k6>b6Yk6R?%(mk6Y6R6Yk6Y6Y6Rm6Y6Y6RmbY(' u// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TranslatorBook : A book that can do translator events :) Use the skin var to change color. // Use like any translator event. // This is designed mostly so that the event will move with the book.. // ============================================================ class TranslatorBook expands Book; // Human readable triggering message. var() localized string Message; var() localized string AltMessage; var() sound NewMessageSound; var() bool bTriggerAltMessage; var() float ReTriggerDelay; //minimum time before trigger can be triggered again var() localized String M_NewMessage; var() localized String M_TransMessage; var tvtranslatorevent trans; function PostBeginPlay(){ trans=spawn(class'tvtranslatorevent',,tag); trans.setbase(Self); trans.Message=Message; Trans.AltMessage=AltMessage; Trans.NewMessageSound=NewMessageSound; Trans.btriggerAltMessage=bTriggerAltMessage; Trans.ReTriggerDelay=RetriggerDelay; if (M_NewMessage!=default.M_NewMessage) Trans.M_NewMessage=M_newmessage; if (M_Transmessage!=default.M_Transmessage) Trans.M_Transmessage=M_Transmessage; } //delete message if book goes bye bye function Destroyed(){ Super.Destroyed(); trans.Destroy(); } C@Xf@'w * >a $ ' >w *a $ ' x?`| Ih ``L=?E`zT?-i$Mi$b&`b&`b&`b&`b&`b&`b&` b&`  b&`  b&`   }?G:oB2 @@h =}< E< E< E< E< E< E< E< E< E Md$>P]New Translator MessageQ]Translator Messagei?;K^O r* Vr.A*r v; ;f;)33s? ?%h?6;C??& ?6;C?&6;=,?6;$6;6;6;6;:6;,@.G-G.G-U;$;$;-'g.qrg*zgGame ?% ;atestyOz ;/;?,?,z ?,;a ';};;atestyOz ;*;?,z ?,;apBy:  ';B?,z ;/;?,?,z ?,;a';-(;i H// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVpawnshadow : this also adds support to bleeding :) Note that bleed times are controlled by health and current FPS // Also supports foot step sounds for humans, brues, // ============================================================ class TVpawnshadow expands olpawnshadow; var int initialhealth; var float lastbloodspawntime; var vector LastBloodloc; //For foot steps: var bool bSupportsFootStep; //a pawn that has dynamic texture foot steps var bool bNoReadsFootStep; //Non-followers must have footsteps set. var sound CurFootSound[5]; //array of 4 current sounds to play for foot steps var texture OldTexture; //only check for new sound on new texture. var byte NumSounds; //amount of sounds available for foot step simulated event PostBeginPlay(){ super.postbeginplay(); // log ("tvshadow spawned: Health: "$initialhealth); initialhealth=pawn(owner).health; bSupportsFootStep=(level.netmode==nm_standalone&&(owner.Isa('skaarj')||Owner.Isa('Brute'))); bNoReadsFootStep=bSupportsFootStep; if (!bSupportsFootStep) bSupportsFootStep=owner.Isa('follower'); } simulated function float Vsize2D(vector v){ //no sqrt! return v.x*v.x+v.y*v.y; } simulated event tick(float delta) { local actor a; if (pawn(owner)==none){ destroy(); return; } if (bSupportsFootStep) FootStepAttach(); else Super.Tick(delta); //decal update. if (initialhealth==0||pawn(owner).health<=0||pawn(owner).health>0.35*Initialhealth) return; lastbloodspawntime+=fmin(0.25*delta*initialhealth/pawn(owner).health,7*delta); //FPS affected: if (lastbloodspawntime>fclamp(30*delta,1.2,7)&&vsize2d(LastbloodLoc-Owner.Location)>325){ if (owner.IsA('scriptedpawn')&&scriptedpawn(owner).bGreenBlood) a=spawn(class'GreenBloodSplat'); else a=spawn(class'olBloodSplat'); } if (a!=none&&!a.bdeleteme){ lastbloodspawntime=0; LastBloodLoc=owner.location; } } simulated function FootStepAttach() { local Actor HitActor; local Vector HitNormal,HitLocation, ShadowStart; local bool oldfog; local texture T; //masked stuff if (!timing&&owner.style==STY_MASKED&&owner.default.style==STY_NORMAL &&(level.game==none||level.game.gamereplicationinfo.priarray[0]!=none &&(owner.isa('SkaarjWarrior'))&&!owner.IsInState('startup')&& (owner.bstasis||!owner.IsInState('waiting'))&&owner.PlayerCanSeeMe())&&CheckRender()){ timing=true; SetTimer(0.08,false); } if ( OldOwnerLocation == Owner.Location ) return; OldOwnerLocation = Owner.Location; DetachDecal(); if (owner.isa('skaarj')&&owner.AnimSequence == 'Death2') //feign death. return; ShadowStart = Owner.Location +/*offset+ */Owner.CollisionRadius * vect(0.1,0.1,0); HitActor = Trace(HitLocation, HitNormal, ShadowStart - vect(0,0,300), ShadowStart, false); if ( HitActor == None ){ SetCurSound(none); OldTexture=none; return; } SetLocation(HitLocation); SetRotation(rotator(HitNormal)); oldfog=region.zone.bfogzone; //ignore fog zone. region.zone.bfogzone=false; if (!Level.bHighDetailMode || Owner.Style == STY_Translucent || Owner.bhidden) //faster MultiDecalLevel=0; else MultiDecalLevel=default.MultiDecalLevel; T = AttachDecal(10, vect(0.1,0.1,0)); if (T!=OldTexture){ OldTexture=T; if (T==none) SetCurSound(none); else{ if (T.FootStepSound==none) SetFootSound(T); SetCurSound(T.FootStepSound); } } region.zone.bfogzone=oldfog; if (!Level.bHighDetailMode || Owner.Style == STY_Translucent || Owner.bhidden) DetachDecal(); } //this used to be static, but for some reason a fault crash would occasionally occur? and still does :/ function SetFootSound(texture T){ //else scan through case list: Switch (Caps(T.name)){ Case "TONNFLOOR": Case "XIPTH": Case "XPTH": Case "EBFLOOR3": Case "TONNFLOOR": Case "SWINDO2M": Case "MMCRATE3": Case "MFLOORZ": Case "FLOOR4": Case "MFLOORX": Case "MFLOORY": Case "MMCRATE2": Case "MCMETL": Case "RUSTPL2": Case "PIPE3": Case "IRNWALL2": Case "NONDETGR8": Case "INXGRID": Case "MTL-BMPS2": Case "RUSTEEL1": Case "FLRWKA": Case "WARN": Case "PBLOOD5": Case "WALLWKD": Case "BS_1": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_METAL_1",class'Sound')); return; Case "SHFLOOR01": Case "GROUND1": Case "DMGROUND1": Case "MORTER1": Case "MORTER2": Case "DIRTNEW": Case "DIRT_SU2": Case "DIRT1": Case "DIRT2": Case "MSROCK3": Case "VOLCANICGRPATH1": Case "VOLCANICGROUND1": Case "TRANSITION2": Case "BASIC1": Case "BASIC2": Case "ABASIC4": Case "DMGRAS2": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_GRAVEL_1",class'Sound')); return; Case "DMGRA": Case "EZGRASS": Case "DMGRAS": Case "GRASS": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_GRASS_1",class'Sound')); return; Case "QBS2": Case "SCARPET3": Case "GCLTH2": Case "GCLTH3": Case "GCLTH5": Case "RUG-BLU2": Case "RUG-BLU": Case "RUG-REND": Case "RUG-RUG": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_STUFF_1",class'Sound')); return; Case "OQ_WL2": Case "MUD2": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_MUD_1",class'Sound')); return; Case "AA_BS": Case "JEBWLG1": Case "JEBWLG2": Case "T-GRATE": Case "DMESH3M": Case "DMESH1M": Case "METAL4": Case "METWALL": Case "GRATE3-M": Case "RUST2": Case "BASEIRM3": Case "MIRONFX2": Case "MIRONFX": Case "MFLOOR": Case "GIRDERM3": Case "IRONWALX": Case "GIRDR2M": Case "MGR8MS3": Case "I-BEAM": Case "FENCE1": Case "TRIM1NEW": Case "BLOOD6": Case "HULLRIB1": Case "SLOTTED3": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_METAL2_1",class'Sound')); return; Case "WOOD1": Case "WOOD2A": Case "T-WOOD": Case "T-WOOD2": Case "WOODF2": Case "SKYWOODV": Case "ROTWOOD2": Case "U_BOX1": Case "WOODMAI3": Case "HASH-ICE-3": Case "DECKRF1": Case "DECKSM1": Case "BOARDS1B": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_ON-WOOD_1",class'Sound')); return; Case "OLDFLOR2": Case "COBBLE2": Case "CONCRETEBASE": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_CONCRETE_1",class'Sound')); return; Case "PAVEBASE": Case "SANDMRTR2": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_SAND_1",class'Sound')); return; Case "AZ-FLOOR": Case "FLOOR1": Case "FLOOR2": Case "FLOOR2B": Case "FLOOR2B2": Case "FLOOR2J2": Case "CHESSB1": Case "CHESSB2": Case "COBBLE2": Case "SFLOORA": Case "SFLOORA2": Case "SFLOORA3": Case "SFLOORB": Case "SFLOORB2": Case "SFLOORB3": Case "SFLOORC": Case "SFLOORC2": Case "SFLOORC3": Case "SFLOORC4": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.fs_stein_1",class'Sound')); } } function SetCurSound(sound NewCur){ //relies on teh format! Note: input MUST BE THE _1! local string CurBase; local byte i, j; if (NewCur==none){ NumSounds=0; for (i=0;i<5;i++) CurFootSound[i]=none; } else{ CurBase=string(NewCur); CurBase=left(Curbase,Len(Curbase)-1); CurFootSound[0]=NewCur; for (i=1;i<5;i++){ CurFootSound[i]=Sound(DynamicLoadObject(CurBase$string(i+1),class'Sound',true)); if (CurFootSound[i]==none) break; } NumSounds=i; } if (!bNoReadsFootStep) return; i=0; if (NumSounds>1){ i=rand(NumSounds); j=rand(Numsounds); if (j==i) j=(j+1)%NumSounds; } if (Owner.Isa('Brute')){ if (NumSounds==0){ Brute(Owner).FootStep=Brute(Owner).default.FootStep; Brute(Owner).FootStep2=Brute(Owner).default.FootStep2; return; } Brute(Owner).FootStep=CurFootSound[i]; Brute(Owner).FootStep2=CurFootSound[j]; return; } if (Owner.Isa('Skaarj')){ if (NumSounds==0){ Skaarj(Owner).FootStep=Skaarj(Owner).default.FootStep; Skaarj(Owner).FootStep2=Skaarj(Owner).default.FootStep2; return; } Skaarj(Owner).FootStep=CurFootSound[i]; Skaarj(Owner).FootStep2=CurFootSound[j]; return; } } D@Hb aM W$[ *-'(!L!q WA@G@L}sw.?*D.?-+?a/!.?#.?@@(r*-(' H@F@Bȶ{<L&-Q6 E$w.*.Imw*1app : MT8(app : MTm?,M?,%m?,#w*{{w*$+=,$ap : MTmMap : %m?,#-w*$$aMTa=,$aMTam)app : SMTm?,M?,%m?,#Pw*$e=,$ap : MTmMap : %m?,#w*$,=,$aSMTaSTr*a/!.-R r.` *qNobodyq.` m"apController: qMTm?,M?,%m?,#=,$aController: MTmMaController: %m?,#=,$aqMTaq$ i// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVFogWarning : detects for fog. // ============================================================ class TVFogWarning expands UWindowFramedWindow config; var UWindowMessageBox Box; var config bool bnofog; function created(){ super.created(); bStatusBar = False; //bleaveonscreen=true; bSizable = False; Box=MessageBox("WARNING","Operation: Na Pali has detected that fog is disabled. This mod places a high dependency on fog and for best gameplay/visuals, it is recommended that fog is enabled.\\nEnable fog?\\n Note: This message will not appear again.", MB_YesNo, MR_No, MR_None); box.bleaveonscreen=true; } function MessageBoxDone(UWindowMessageBox W, MessageBoxResult Result) //idiot wants to disable oldskool. { if(Result == MR_Yes) { switch(W) { case Box: GetPlayerOwner().ConsoleCommand("set ini:Engine.Engine.GameRenderDevice VolumetricLighting true"); close(); break; } } if (Result == MR_No){ switch(W) { case Box: bnofog=true; Saveconfig(); close(); } } } function Close(optional bool bByParent) //reset all this stuff { local UWindowWindow Child; Super.Close(bByParent); for(Child = root.LastChildWindow;Child != None;Child = Child.PrevSiblingWindow) { if(Child != self && Child.IsA('TvFogWarning')) //multiple warnings.. return; } Root.Console.bQuickKeyEnable = False; Root.Console.CloseUWindow(); } L@My// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TranslatorHistoryList : Stores translator message history. // ============================================================ class TranslatorHistoryList expands Actor; var TranslatorHistoryList next; //older history var TranslatorHistoryList Prev; //newer history. var string message; function Remove(){ //on any item (only removes from list.. not destroys) if (next!=none) Next.Prev=Prev; if (Prev!=none) Prev.next=next; Prev=none; } function TranslatorHistoryList Add(string newmessage){ //called only on front of list. prev=Spawn (class,owner); prev.next=self; prev.message=newmessage; return prev; } function TranslatorHistoryList Process(string newmessage){ //Called by HUD when the translator changes message by world. local translatorHistoryList hist; if (newmessage=="") return self; if (Prev!=none) //loop to front of list for checks. return Prev.Process(newmessage); for (hist=self;hist!=none;hist=hist.next) if (hist.message==newmessage) break; if (hist==self) //front return self; if (hist==none) //new message return Add(newmessage); Hist.Remove(); Hist.next=self; prev=Hist; return Hist; } d// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // WorkingTriggeredAmbientSound : Triggering changes the actor's ambientsound // ============================================================ class WorkingTriggeredAmbientSound expands Triggers; var () bool bInitiallyPlaying; //is the sound playing on default? var () sound TheSound; //the ambience. function PreBeginPlay(){ Super.PreBeginPlay(); if (bInitiallyPlaying) ambientsound=TheSound; } function Trigger( actor Other, pawn EventInstigator ) { if (AmbientSound!=None) AmbientSound=none; else AmbientSound=TheSound; } state() TriggerToggled { } state() OppositeWhileTriggered { function Trigger( actor Other, pawn EventInstigator ) { if (AmbientSound==none^^bInitiallyPlaying) global.Trigger(other,eventinstigator); } function UnTrigger( actor Other, pawn EventInstigator ) { if (AmbientSound!=none^^!bInitiallyPlaying) global.Trigger(other,eventinstigator); } } N@uCH @O@.EP g)I@R@l%) S@T@Q@bT ,,r*r* ,I_,Ik,r_*_9w_,Iq9q_-k%kkI_,I,I,I___6r_*_cr&I*%I,I,I*r%I*%I&I&I,I,I*r,I*_,I,I%I%I&I&I_nbk%k,rkI*n3K bnkIkI-8rkIV- vkd n P@g// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // PlayerMotionFreeze : Disables all input keys. cannot move, fire, switch weapons, or use items when active. // As this is exclusively for in-level cutscenes, the HUD is disabled. // ============================================================ class PlayerMotionFreeze expands Triggers; var () bool bFreezeAllPlayers; var () bool bHideFrozenPlayer; //should player be hidden? function PlayerFreeze (tvplayer p, bool Freeze){ if (!Freeze&&p.PlayerMod==1&&P.linfo.bCutscene){ //hack for cutscenes on intro. P.Linfo.bcutscene=false; P.linfo.ForceNoHud=false; } p.PlayerMod=byte(Freeze); if (bHideFrozenPlayer){ if (Freeze){ p.drawtype = DT_None; //nbspecials stops view if p.bhidden! p.Visibility = 0; } else{ p.drawtype = p.Default.DrawType; p.Visibility = p.Default.Visibility; } } } function SetFreeze(bool binv, pawn EventInstigator){ local pawn p; if (bFreezeAllPlayers){ for (p=level.pawnlist;p!=none;p=p.nextpawn) If (p.isa('tvplayer')) PlayerFreeze(tvplayer(p),binv); } else if (eventinstigator.Isa('tvplayer')) PlayerFreeze(tvplayer(eventinstigator),binv); } state() TriggerToggled { function Trigger( actor Other, pawn EventInstigator ) { if (eventinstigator.Isa('tvplayer')) SetFreeze(tvplayer(EventInstigator).playermod!=1,EventInstigator); } } state() FreezeWhileTriggered { function Trigger( actor Other, pawn EventInstigator ) { SetFreeze(true,EventInstigator); } function UnTrigger( actor Other, pawn EventInstigator ) { SetFreeze(false,EventInstigator); } } W@gCwX@FH+Ptttttfff oe// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // KeysInverter : When triggered, all player input keys will become inverted ;p // Note: if binvertallplayers is false and a scriptedpawn triggers this, nothing will occur. // Also scriptedpawns can only trigger this when in invertwhiletriggered state. // ============================================================ class KeysInverter expands Triggers; var () bool bInvertAllPlayers; //if false, only affects instigator. function SetInvert(bool binv, pawn EventInstigator){ local pawn p; local byte btemp; if (bInvertAllPlayers) for (p=level.pawnlist;p!=none;p=p.nextpawn) If (p.isa('tvplayer')){ tvplayer(p).PlayerMod=2*byte(binv); btemp=p.bfire; //called between input and prender, so invert fire keys :) p.bfire=p.baltfire; p.baltfire=btemp; } else if (eventinstigator.Isa('tvplayer')){ tvplayer(eventinstigator).PlayerMod=2*byte(binv); btemp=eventinstigator.bfire; //called between input and prender, so invert fire keys :) eventinstigator.bfire=eventinstigator.baltfire; eventinstigator.baltfire=btemp; } } state() TriggerToggled { function Trigger( actor Other, pawn EventInstigator ) { if (eventinstigator.Isa('tvplayer')) SetInvert(tvplayer(EventInstigator).playermod!=2,EventInstigator); } } state() InvertWhileTriggered { function Trigger( actor Other, pawn EventInstigator ) { SetInvert(true,EventInstigator); } function UnTrigger( actor Other, pawn EventInstigator ) { SetInvert(false,EventInstigator); } } V@Z@U@t~_}t 6tXt?9 ?qtXXt [@]@\@vg -g (b _@wm -g 'b `@w.`r^UIIw.4I I%SS%I  l5[,PG,L[, a@y_ {m}<y%yc .olextras.Main_00 oyc .y&  yc  @6gDaDCBptD A;X Q5eO(((xQڊ`ַe\% wuOw_3p' %? 7EGC P'OOA٢_6 Ɵ _(/vropޒGȌpcGl:wp`dE߆B{_ws0mR>kA gpJ0FP&PsͿ `q/P~D80 L' h|$'KI?LƗPȁh6%_F /Qo OpEhXX6:IR?Q us0ύvȳʠNNЏoRP(2b8T FFkg3$+@w?ڏ)17O5u(K@Öy: 4MI` .(4 [0p_ 57T5pƿ@ahq_ ɧ; z w M@tGNZ}'WCyHO@ؐǥ/yM<䤐G4wWG88HAsgȾ݄W@CH؀p G৆GQ _Q X찅E w GN Q4wJPRG V>۾O9hpS7 k,QS-Gߏ 8'`OV:?Ow޷& N0(I/هH~G֍G؆ѠN  0oe")ܴvG5~٣ ֯%\ew%"FO ; F _GNX1(@N?WYٲB(Zg0 mI@S&n}jh ڷ @?Jȋ Fm e(h<⹰ G$G  W9`}Qc@eն eŢ,1p E`gG䯍#O  vp}ݓAdម?TjvpހEwgFXڣKtp`9k\MꃀIrO@<)3g/1Xg&8}:1I`wM=O* L@pQMw;'P;@S h7Qv ,Ґl@G~OLj_ڏ76 i? a?~uFJ 2>?rp M ƨ OJ2QG(ኰ5><ڏodgSMJegMaPK;JwMh2o* I w6 $pO@{8 ޕyɏ㌸ f6K^(OsxNDߑ{?>)߇GBy2wלDž)"7 ᐨT{H/  jwU90@xn=݃WS( @F ?g X Q }eEQ W sTQ$dP_J vڽu?Jpch%GfSozFG'fNV8y_یNdž 7O8ހI7QM!NnNxG@Oa.wixD'i˚4003׸֟e\e+t%2fD/NNTw7 h/9N:H7TgMnx@5lwM }x(`e0P&t)x`G O LYh%Dh;X%O7xG   HI`Ps@w Ό|S⟒3DpD_R!߇ )N6 n;?ܔAxJ}(67SiyvG0 hgAٷ`s@,قh1h*n 镀?pqX@M:WDXRg-P&X0]? qH /7LJ >2AE(?hP^OK'!0t2 ~?4>XȠ~@ڞbGowu zWJqN}'\⃰ VMo NNΗO\/ . `X  EX+hqH=؏oiy_f MCpv3 # rHJFZ䩠AI9 ]υ_ 6h?20ި%G'g(tCHo(D qwǮ 888ϐy_}:FWpw֦92GऀVh:з/30{b9p"P|~t|܁wa>EoWO PO + eHԿ'hE  OL dP7uHgGICڻwx?s@kt`:F{iQ ME>G` <9I)gL/'M Ƙ倇HOx Q/~D*Ŋs!p2ȇR)wu%1tFac+ަIuAIP 0` hx?wF{wM(h(e ewt)ч)7X fj4x;OE@)   #XRbPА@~:a爄DBXR+߆ 8NF /ix6 n{Oۗ䈸i8WdOzs1 owgPrґx.~Lx8p`0_N(3GRX_2Pp/耯眀5RRGB A@~5xlY_ x@ '3KNЈ((FFv݆׸v W &9NyuGFlLpȱ8pSp'ю! ՟O8. ( ؆ ITk-*ar}|ؐ/goouLa g/u 2HPDgόȅ8IHCG q,6Fhy߷7QjOQ -qY ~ pWV PCHDXPw}IWXhpoֱI/1 H`VP:ߒpG/m8k(@~>v܃>m>XFWO )PO : Y֗hEч HL |E`P`(7H G CڻGxx8tpj̈xMۂnX%[FpMGGџF١ɍp&OLLEYBH  .ߊ4 ̎K !H!I1E*8ʆXtr݈HO(AfWw&Nr5¯~wIrG;_ oYN^P0U`@GxK 9@ Psw0't(ʗ* vc Ћ݈K, zw kEo|wW^xH > Q GXŨ G ( EaH<`7NM\ W* XW8 p|Wڙ?䛠KeSbro爏/ݏsrjէpN-ڒP6H0e~Qp8ϵŷ1iPSg58=p/蔿0? \giWK=?Vh}h P4X (4I_P/ܨw G_KBw: b_G/l88pqM _2 Aq9NL0 Ǝ Ok-`]P37ُ+Ǡ  N?N*tO6 G ([Ex F0S߈O=\huΏPٍʿ+L)nK1Oi0 !H'q[G PBfp0w'@׽/Z@K(T0{ߐ@眏q6ǦGx8*+~?v}ވyi_ ?X Q XHWj  P Q\`X3G 'χ۶yHR@Jt8)ЩpRa`GܐRzRX&f_jpxEX秇ٮyxֶ .'LUg PQIMK!7o @I #I# wLPJLQS3PF*eЃ4 ?H/2'xG WWGR6?ON o P>XD[o ǏFIe4wt0kw v XLM1MPkBTEwjo@U78` ؐ /} 萔L+NJڧ Y0@F)=LHIt> k1r'~۝oCXLa0v>oK3)Ǐ暟USr-P(޴H`O4hCܮv/p6`H/_ JVߋo/ _v;:p(|D 뉠T 74J_yhEG_ `Q iNPw:DwNi PA9?i^JAָ"' h,8p-hZ샨>َ'-?s0 AA<&pvN6i_hxPPhbOHPLT_x 0ׁr͐It7H&pGW^Om׿o/`CdwA_kFl_f<@LڨS0ލ'2l?7q'ψ8F7-0A|@u>ߏ@މGρ!X i0 |P FQX%+i.y =8N QQG@RG? :, )ܬ-8Ktu8ݸ>XX&uh,pxAC@y H7?C`PKG k/KfqKcI /"L SK.؉$q$&? p 4qG*e텘@~ݐ)A76ٶ'F^ߴįG~xr;/F?FY]H0` `CI/ 8I5e wt`hj4 aG x+wgOkE7`Ȇ_[H=   9KPR ȠQ M&ggS D)x|`S6F L Z *Cm_ۛW囐KcG:RgFo?ڇlQr)p-MH5ofڀs@5wrgP_5pJ锿I8; Zi V=@Z`|WGgF Vؓ v ^ȄƎ/ ݫ6 gCcNog/ kسаUA qAY8qڗK GJi-(\h@~}ڌ爏 ǐI )^tF( [w İ FQMoG =u ZhtˏPM欇{Ku (sn썸._?y ( E8'm~Z(fw׾7Ze@0U;叨xpw5xx8i,x?~8vP=ኯyFI E_P =XP N Xٷ  PM xQZ`QX1 %o۬78@tpb@܈qwXpf򑧫q@E8 HٯHixF6*RPI La ъ"49Ѷ IЈ$I$GP5}F*% ux3(=٧iRG_evxF=Naψb/(/E^Hs_AEP /`MH@;wwwX%,(6 %w% t(gܿo2R Ơ  _G j4GCX{XʽO =@$L `L.Pq SJK7b?͟R_ :pȻW' 3NL? WdGl;Oۗ7冨Jc0x oYxe0OvwټwPrM-h{Nh5/b@eVHSs_qK`OR5(0 mIꀟ :+ L_QG@?h>hi_U O (8 m6 HF8̈C֎wݐG3GJ* 5h?t?kLjh 0 iNGp(KL( ^  X` MqO-g \p{ڍ7ؒgogPNrL)x ~/׋~8PDe嶠EAׇ= qE*s@pWt3 Hw7oש_zJv(4VJMh7ʦ 008Qso=GE ePog~ױEHGHpW :8.&m7x +p@>xP<ᅧ~l~DO "P 2PX%-gIyE@ sP?xX!7 C۴wP8 t N`lwQUOQX*Z?+q?_G8ҟFڡoEÆICWE(IBه 1!&W*'Jx G#G#VK16wQEw(68ٵHֿ[e3/evW2=MMSg c/M5HM/gohF۾/fw( |h(%1v()uv02F_NGxLh$`;°DˬO *G XH_ w .P?wW 4h DX;Ww !L,N )xsn/ܕAtJk gSeq_x?e٪w>Pq@*~M0ij`N5h\SEHp9XO1;Zo` Aצ7%GᣠEUHh%zob6'~Xvh<>`~0o?DG P Pe1ӟj G aPv-}pW _^CۺP? r(;xF[wQCOQF1H / "ΊǘF !!LH5pc#P(73uW~ڡ07g\oevNwsO 0~:IEׄJT#H/UWNYxڰB#U_lx @&=8ox{Xj ?)׏s: ?d_S .A _ OݧMO i|wup~ݓa: ghtPv/Uژw-qkmx6* YM`O=RB3HT3˧'XO(<+X FI__ꮠ;?6(HwKݗBJ`I6WP'H7 Iא` $NָE`l0沆OlPևf'N/{7HLP6rhFM?je|^ H ~ )QNP'Pv6><ۏj盿pLgFOO ލQp 3L^@K;HJt0x* #HFۧ7p@u z0IދwMϪzvxP63`OrwC؅vz'>&7G7mq_׷כ'E_%7Qp{晨yo?iOU6kyhox}߃gS E ?EO _ Qٯ~W)) O ߐOdlpW _I DۼxP7o`m&xIw1OzF7ihXVNLyH_Gۋݐww-Nj;9!Y @GM:,9=x6t pP.X0g1PxW.y&WW&//6''x//,v>F/txoA$?w2!bQAu'5h#iq.ug0g3wut6Xv خp<'+'gv j`$`3~s013j `29x+t ѧ1;q;)2=>fʼnO30G.<.6s-whP7-i '8)^8.fx,0xq(0m(*)'.dȴx@p?` srM05 ^4!t.n)X n,6 6._fv G3wWۀ߮Ƞ& z7 7(GlD>sB!#!u!iֆ5/.?4/6 .P<,'f juX%x~0ju Xq60t _8P8(Xp;O/ 7(=o3 9Ϡ52(6 2, 6)kO j7f2, 0( gu &hq>,e?lxWЭ̀n9?Hsv4(n?=긴3t-,3ODpo3wPҀgćp;Gl=*mdH4z(.@OnH rgrM _81gtsٳu2n4,R6 //5f 6@.,Wphж2X wWۀȀ ez ,3(GA <AQި!iqھ4uȪO+܏su nϵv~n8<,fOv i5X$~s013i PI43o4 _5P5( n98fʼnO I6!5/.9o+?+?7(p,iq(׶1ݾs548q+Qhomyh>wҦ~(?&V A-j4(ȫ 77 pW4 v5B7>8%q4Bߠ>tDD,@3uAɞuEhu9X@(A E@r8f81e[Y.;4 pH.'&HW.ިyߦWOn ugo-&|f;VrnA G1; jw ,p~+ds%A,z58fŔf(Ⱥ+og*O%1-|@OحFOq pqd0p-FͰ 4po<."ӧ"+.`f `yiQa-X'-n0g_&'/; !,T=ƞ+*m&,#5.,oT'wtRp5ph vf"%ߨ@sGt Nߵ;؞@܏p3 hjփ`r(1!jUШ#Yf#im*B3ϰ3;HW~װl_;2Uw7'rj"s?@28F&3'.-= ?i`g<;`03 r , vij? i'&2 /( g ~('/?la/xOmh9Oh)wt&x ѾֆOq&V 4 Ai'm 8 7 h-Ǫ/4 &pArA$q9y?Ѱ@ 1oAXpD5=>w?/Dh19x<0?0Fn39UWk0u pH.gȱ7O.ިyצWOn _8 w$z5fp63Þ3ȮAP '2J'5k92Ы1l4+;l, ?Ri&@5pH'f1器vO.ިyfWOn _g o"yu&0nj+nA0 W;!o7 '/v!c3!"!n%xt8fŕǺخog*O?%}2SGp p'qd.qHn&FͰ4+9xkՇk_%!ݘ Ou\-U-Άf0f!wq) Am"Pp4V$*m#O6Pj&,_Up~_S8` &$%lh6Q@ou q58նi8,ܐ!`*ւ10!*Uu$&%hfm*Bȭ4-4;@h[ذ,!׫/,&P߶j@8rp( r閱'f/6OiHgt;+/͈%q"l 8i' i԰l /o( 'ou |t&h*;X xGh-H9wh) вy#o'j6@)&W)#Dk-i!wH`gŷ:G,=-es!-?. h &mqprL ^q q I g).&Af353_& 7$?rPgp6,8 wWہ.P& y@w P)#)W,3W 612:)s Y#h16'$ݿt v`6~.8,;ǧ+wgvh5 P$~(Xq7gX 8 9)GOt ҷi(i()i-)fʼnO,&Q')-7*wm* WP6`* * /o,fm)F%~,' r@ (Ԟ(gqU0 Ai8&ث?3 /x G `'$4 .)-4j18+a)+j0h*-I'Wi*~(-l+(j&(=(/('a2M!i!h pHfȱO.ިyfWO g/ ,!xV)&0 A,: qw 'o&c3 "w8fŕǺخog*O-#}2VرGpq/qd4q@/樭#FͰp467o+կG*#&"ޠ!OuW-RlΆf0f!w)% m0N(1m"+l!g70j#,gU}oT8h &$%,h2!2= 1uk6Զi@,ܐ `*ւxp *Uu$f%ifm*BP-3_2;p@h]״,*#?l"O6q@@p( 1^_&f/3OiXgt9+*8!15, 8j7h iڠ, /w( 'u {&hWj8 Sl xGh8n:wh) rzx4_ni3&n$ODH*i!wHhgqŧp:G,=֭e 5m<0h fjq2L ^13 1,&>#>v>7n44g& 7"GXgrv_*(. wWہ`xPw H)W-G. 5)r8  1&#iq6l"ܷu f2p@;ǧ+wgv h5 P$~(3P/3fh @&?_t ҏ)%i%)H)*h&fʼnOk"#W)_j?( WP6(-) * +,&+"# rk@0 (Ӟh_UH Ai84#w-k_3 ?x _ X-!/t ~&A)+@o+'(%i*p($&Pi!`#'&&) "I'(p"6Nii"x pHfO.ިyfWO g? o7m!x>p2&j'.A0p'-:q px ' pf-c7 .#w8fŕ (Ⱥخog*On#}V1-G0q_d4>8#FͰ?04+7O/k+#,&"ݠ oVmQmΆf0f!wA*& 9N0p1.n"+(!7p#,oTp}o74T`p &$%h3Yr> u6Զi@lܐs `*ւ@2*U$&%im*B-3ǭ2;H]4*w+""O6/k3?H2p( 1n&f/)4Oi`g92++xl"6 , 8k?h j'2۠, 0 ' {fh8+Rl xO-H:wh) ȧz4o3&in$i qD++i!wHhŗ:G,=e5;8h fi3qL5 ^sQq/&#?wnn44w& 78"O2Xrv*(. wWہnh& x'Xw x )O,G. 5I813 ar&#iruG"ܧ3 5͈.8l;ϧ+wg'v huP$3~sH1'sgx Hq&74o %)&)*('fʼnO "1$*w( WP6p-) ) //+.&&"N,$(8r+p@@ (ԞhW1UXt Aj(t"m+o Ox o `mOi"? h(>,?+(1i&H+︨%h(O"^)%.'k' j!#Gwh)1D8hT^.P pH.q`wO.ިyߦWO 5oG8$zvʶsl21.A0 o* GeH5zvnBǮP r3rpM@5 ^_q4"i505)Xw Vu06 6.Wxg` 05nwWۀ߮Ȑ& {G}(w 6(GlGn7<6T)> Io?VA7?u@n7C:,9=x6t pP.H g1PxW.z&WO&$/6''x//,v>F/t`/A$?w2!b Himo lW3p1( '6 ~7fwv;n,y_P0/7g 'tx6*W/'5= ɸ+ iw'?p;gD8s5)"wPӨ1gp;Ol>j nfuw6!@ x q7rMh^Pr (5)жw%`6 5v+6 6X11grcp G4.wWۀ.ȸ& Х|}07 8p;)G,H/>QAu'5h#iq.ug0out7Xv خ`<','gv j`%h3s(13j `29x+t ѧ1;q;)2=>fʼnO30G.<.6s-ohH7-i '8)^8.fx,0xq(0m(<`֨۶/&W A-j&nkg3o4 m w. v)O:/Dh26)"wPӘw;Gl>*_e5x6. B.` sr3MPu ^2 !'9u,v'^6 u-6 601_d` 5ȮwWۀ߮Ƞ& |t}( @:)GlL=4Aau&y5i#i5u0g5 N6Pv .X<,'gv jX%p~0j Pq39-t4 ѯ0;p;(=>fʼnO22F61q=42.o@7x. ) (+.0F.0xq+(ǰm(G<Hܐt hjփx!3H#U5$q$i'mjC333;xPS6|ȬNw73Z'l,3?HP tўo1*&/@ _6=t v8@45r ?7gw8kO j7fg30( gߵ u&h7s@`lpxW.8oש '񂸳w/.q@Q52+w-71D06!wPӀp;Gl=*7e(5yxvnFH t3rPM85 _ȱ?uY"Y㮵0)Xv >5gt15 6po/WpfH5nwWہ.ɀ& e{/} 7 hm7)GL<3A"ɴ#iq6u//܇sG 36`v n8<,g6 i5X%s~s013iu H100 ѿ.9n9(<<7U)u? Iw=H9AC?w@^vB8u@5AvCr8ew.9 pH.'&wW.ިyWO%oug'oė(|G6>^t0:뮲nA("?<2"h7 /0*c4 4q+{P8fŕf(Ⱥ+og*O%.r,{3LXrnG!odn0q-Fͯ7q"4pp>wo8%G%,1(!p&ii&uk^Gφ/f!wBA9+qVm@2**(?%5l1,oTG7tRp #%ߨC L/5 ߵ=ھ)@ܐ hjփ X3"jUе$$im*B5q5;HU'}g5װl:7q2UϷw2k%?@2Xh ؆g).Ȯ? W`=s`2;2 arH 8 O0j? j'fج0( g5 ~gu(/pA(jGlxO-Ő8oi `wH.n?29+0qDn4鸩!wHh'x1ŏ;G,=* e|(@F_0 sr2M _th39^1Ԗ*P7444of 6n,O2Xgj07.4`.wWہnh %z~( x0)OGn:@Y#i^t5+ܟ3/5 Ns/x~خ(;ϧ+wgg iP$3~8h @&q1't4 яl44(8l7fʼnO y25p28Ok)/. _@6o. ) 1,6r01>q1(rky(_-h=88 צOq&VH Ai.' G_t Ĉm2/ ?@ 78:o>2@)o@0D_=?^B19clxGhȭX9oi sx+,;.)*)D0i!wH`xqŧp:G,=e }nE( fq'rL5 _1/4 rVo.F(Go54g& 7l(GPm08 wWہXf zO8w j))O?_ 8=3 #hqvs5*'ܯ ֲx~(,;ǧ+wg7 hu P$}sH'3gx5 @1 -74g -*.)2*0fʼnOm,&--2!n, WH6p, ) G,No-+F, r߫ho0-h?(x ՞(WV8 Ai(4,ȫ/s ?8 Ot h*+' ֫7:%On3k5X9 )5Ƹ96,3AG56+921 l4 ;l, ?Ri&@5pH'f1器vO.ިyfWO. _g o"yu&0nj+ޠ.A0 W;!o7 '/v!c "!n%x8fŕǺخog*O?%|2QHp q'qd.qHn&FͰ4+9xkՇk_%ج!ޘ!Gub-Z,Ύf/f!wq) Am"Pp4V$*m#O6Pj&,_Up~_S8` &$%lh6Q@ou q58־)8,ܐ!`*ւ1h20!*Uu$&%hfm*Bȭ4-4;@h[4ذ,!׫/,&P߶ױj@8rp( r閱'f/6GiHgt;r+/͈%q(l 0i' iϘl /o( 'ou |4&h*;]+xGh09oh) ryx(W'j6@)&W)#Dk-i!wH`gŷ:G,=&es!~D- h &oײqprL ^q q I g).&Af353_& 7$?rPgp6, wWہ.P& z@w P)#)W,97 612:)s Y&#h16'$ݿt v`6~.8,;ǧ+wgvh5 P$~(Xq7gX 8 9)GOt ҷi(i()i-)fʼnO,&Q')-7*wm* WH6`* * /o,fm)F%~,' r@ (Ԟ(gqU04Ai8+oث?3 /x G P'$t .)-4j18+a)+j0h*-I'Wi*~(-l+(j&(=(/('a2M!i!h pHfȱO.ިyfWO g/ ,!yV)&0䐮 A,: pw 'o&c2 "w8fŕǺخog*O-#|2SȱHpq/qd4q@/樭#FͰp467o+կG*#&"ޠ!Gu]-WlΎf0f!w)% m0N(1m"+l!g70j#,gU}oT8h &$%,h2!2= 1uk6նi@,ܑ `*ւhr0 *Uu$f%ifm*BP-3_2;p@h]״4,*#?l"O6q@@ph 1^_&f/3GiXgt:r+*8!15" 60j7h iՈ /w( 'u {t&hWj8+Xk xGh .9oh) rzp$G.i3&n$ODH*i!wHhgqŧp:G,=&mes 5mAm0h flײq2L ^11,&>#>v>7n44g& 7"GXgqv_*. wWہ`zPw H)W3'. 5)r8  1&#iq6l"ܷu f2p@;ǧ+wgv h5 P$~(3P/3fh @&?_t ҏ)%i%)H)*h&fʼnOk"#W)_j?( WP6(-) * +,&+"# rk@0 (Ӟh_UH4 Ai84(g-k_3 ?x _ @-!/t ~&A)+@o+'(%i*p($&Pi!`#'&&) "I'(p"6Nii"x pHfO.ިyfWO g? o7m!y>p2&j'昮 A0p'-:q px ' pf-b/s .#w8fŕ (Ⱥخog*On#|T1-H0qWd4>8#FͰ?04+7O/k+#,&"ޠ!o[mVlΆf0f!wA*& 9N0p1.n"+(!7p#,oTp}o74T`p &$%h3Yr> u6նi@lܑ3 `*ւ@*U$&%im*B-3ǭ2;H]4*w+""O6/k3?H2p( 1n&f/)4Gi`g:++xl"6 ! 0k?h j'2ֈ 0 ' {fh8+Wk xO0n9wh) ȧвz4#Wn3&in$i qD++i!wHhŗ:G,=ƭeгum@8h fk2qL5 ^3Qq/&#?wnn44w& 78"O2Xqv*. wWہnh& y3Xw x )O2/. 5I813 ar&#iruG"ܧ3 5͈.8l;ϧ+wg'v huP$3~sH1'sfx Hq&7to %)&)*('fʼnO "1$*w( WP6p-) * //+.&&"N,$(8r+p@@ (ӞhW1UXt Aj(t'o-+o Ox o H-Oi"? h(>,?+(1i&H+︨%h(O"^)%.'k' j!#Gwh)178(TXy.H pH.qXwO.ިyߦWO 5oG8m$zʶ02ݸA/* Ogzpv`.BnP rsp@sL@5 [1WQ Q억1*U7 n5/416 50-WxiH 4XnwWۀ߮Ȑ& {G w-5(GlEn>C!4#i^u_-W36p 0<,'gv iuX%x~(i5 Pqt14 o7P7) /;:fʼnO35,44G/;w,.O-gh87- ) 2*Fu0F442(q+q(m(>H֨خ7q&Uh A-jt*k?s _ _6O u@7>_v84 5@ w=%BꈶC gu@'vAC58д?u@7E&4y|po5Wsp ⶥ 7uXeFG>ɧOh7]R!Q DX UiIhB%fec0 %Phu(3" LVG ~ fC.h}G%_ </ ׷g !!XфbN'I+VgA)}@ ~%/GN:`P 1Wh1 i/~l>:.װxHdO'ix(Ѝ 0 mO@.ID8sǯJ*0>cЯ[o| ?~8GEJtL? I H J/0/ϐG0u5xT!u `5ǎP~@?p6K*D?K9S7?ulG3 аH7ׯ-II  C ݮD . (@ ! (O$gK JR s'xx7>Cic > pO0 hI#_IpF3 DNwNaX ? 7gI7G`w;P'' ~/# B*<B)   ׾?F𣯹]7'U ;0I v`&ZE'bHZy ? H%߾;߼1o> <}͈{Nw| NG<z | p| !;t%5|poW＀J⮥ /Ye~G3IhO]R$ D ؏ip%gec(u eXht("@ @IWwNf/h=G% <`g P "QYcA7$7I)GA &A9} >WT$/;1Wh15i/>Fn8xwB>ߺ.0eDOgUix(`mO@.69/J(T/*0c\ | z ?~8OErMI xJ?E1?G(6 F h5NPPn~K,QDw/u #iS?lgs Upo/y WC n Xhϔ? 0O# J`R s'px7CicNE ~Iq@Kݘ " pwG COw؋NFa 0D ?hGw `g5 !}ψ;Mw| MG< {> | x t#6po5W3J⮥ 'uXeضJGsI'PgWK^}S'D Ojx&hOJec ePht(#8 hY?f0hG%O =HOxB &[9eAON!g'w ^AA "0 ׎;1Wh1׵i/FoHpVB>z.p'fGWFix((Nm/O@-D 6q3oJho*8c/\|': ?> 8WFJoMI CKG1G?Q G u6 Ɇup6/P> P֞~.''HTw7?ulO 0?V /1I1. x>'8W" K1t'htx?Cc0 Ͷ qPI!IpG AwwLNa 8 ? GiO `W<'sRJ~P}gGkPP"V9 `D8(ɮ k.wPC0>w% Y^ ew _fguȀo>πhxFקQ  / #e'R Q^C/Y=B_R  ~F񣯹`'Va <0IfD C>pfZ E'b[G 7 ׈ " λ</o )|=;Ҁ LwK?  <p< { !7poWs?J⮥ Xe G׉_Pg_K_=S*JD V(Pj x&@i Jecu ePhtwhs#@H IZ_f1hG%P =UM؏Wِ( )]YgO $ ǎAI(!0X;H1Wh15i7F'pP`B>:.ϰ'fDGCviOx(~HN0moO@-D 6ǯK +@~co\ |/ / 8OFmǃIKGE2Go G7`Ůɸp7G@> H~1u'+To?ls o3 QJV N^ oU?8! KQt'`xG~CcprPI pwGs @Nw Na؋8D GiG `O5=K ~)|@|3gOk!Vǹ&`8(ބ k/wHpא?weM Y'/†2y=(RC  ~?ycDK'W<(힖D.pfZ E'bA.I[9o / !! {<.g )< x{ KoJ7 {p <`< ; !7|pHo5Wx񼀊⮥ uXe FGs~oPgWK`B=TD+JE 0jIx&@iP(c ePhtwh#@H( ZǍgf1h}Ge =Nاoژ0 +^ai!ON#H. ŖAA(~!@0h'Ϻ.'gOCEx(~XN8mO@C.D 6K +@>c\I|7 z '> 8OFl7CIKGE2?DQ G57ľɰup 8O8> H~27/-Tg7?uHlO󷘳 4 YJf. n ?8!KSYt'`tp?G>CcrP  pG @w NaK'0D GjG `?=3K! ~)<8u|xfWLkFP!Vy.`0 k/wH@we IY9^n egt _fgu@o@hp A R08SwR"e'>GNG4C>@RD ?d!D 'XD< IFpfZ E'bA> [I' )7! ;<._ )< p{ KgJ/ {h <X< : #6z.p'eDOO>EiOx((m/O@- 6q3oJ`gT*8c/\ |' : ?~ 8WFp ύI KGE1GD7 G u6~up 6'P~ P֞H~ .yD''Tw7?ul 0/G G/11&E xNO6?8OP" K1 t'htx?Cc0E ͮIqP ޸!ljpG AwNwKNa P8 D GiO `Wwe IY^ ew _fguȀo>πhxFן  /!#e'> NV/Y=B _ ? ?F񣯹`C'VYD <0^ >pfZ E'b[G 7Iψ  # |/o> )}{Ҁ Lw< LG< > |p|  &4y|po5Wsp ⮥ 7uYeFG>ɧOh7]R!Q DX UiIhB%fec0 eXht(3" LVG ~ fC.h}G%_ </ ׷g !!XфbN'I+VgA)}@ ~%/GN:`P 1Wh1 i/~l>:.װxHdO'i(Ѝ 0 mO@.ID8sJ*0>cЯ[o| ?~8GEJtL? I H J/0/ϐG0u5xT!u `5ǎP~@?p6K*D?K9S7?ulG3 аH7ׯ-II  C ݮD . (@ ! (O$gK JR s'xx7>Cic > pO0 hI#_IpF3 DNwNaX ? 7gI7G`w;P'' ~/# B*<B)   ׾?F𣯹]7'U ;0I vpfZE'bHZy ? H%߾;߼1o> <}͈{Nw| NG<z | p| !;u'4qpo5Wsp⮥ 7uYe6 G >ɗh7\wB|RC!AJDHO Oi`%@fec0 eXht(3"߀ U?~׍ fC.h}G%W <'M קW H Xbq'+FAWր!Ҹ ~&/7:P 1Wh1 i/~FlNA>:.װpdDOUi( ʸN mO@/98AsI*0>cЯ[g | ?8GEu'MI 8C J/E0/DG0u5`!u X 5H@pG&)?K1S7?ul73 аU8G/ׯ-9ɉ  ݞ . 8Io! 䏏$_ JD s'xx7>CicD .p(X#OpF3 Dw NaP O /Ag7?T`w;'KR I~# !wւ)B~F𣯹\y/'UC ;0C fCpfZE'bZy 7IO%ර<1o~ |;̀Ow OG x~ p !{&4y|po5Wsp ⶥ 7uYeFG>ɧOh7]R!Q DX UiIhB%fec0 %Phu(3" LVG ~ fC.h}G%_ </ ׷g !!XфbN'I+VgA)}@ ~%/GN:`P 1Wh1 i/~l>:.װxHdO'ix(Ѝ 0 mO@.ID8sǯJ*0>cЯ[o| ?~8GEJtL? I H J/0/ϐG0u5xT!u `5ǎP~@?p6K*D?K9S7?ulG3 аH7ׯ-II  C ݮD . (@ ! (O$gK JR s'xx7>Cic > pO0 hI#_IpF3 DNwNaX ? 7gI7G`w;P'' ~/# B*<B)   ׾?F𣯹]7'U ;0I v`&ZE'bHZy ? H%߾;߼1o> <}͈{Nw| NG<z | p| !;(&0|no5Wsⶥ 7YeG >g7 \ R$Q F@ Og pB&eJec8 %Phu(3#@  V7 M f-h}G%G E' /!HHHBi U ZA )H..A GA޾@9CȂ >&5xF( 1Wh0 i/FjǦA>:-װDdOi(؍ XMmNH'D,sM*0>cЯ[gI|7~:GDtLI  I/0/F0uB@"u hI4`>`?}'Y75 ")S7?uGj? аh8ׯ/iIB ㆄ / @O G" 8AgO%G SAs'xx7~CicD In0ސ&GIpF3 CNxOdH 0 7f7 _oC؏'As I~|h|hKiF`%V~X0E k?-_XOA !| =;Р;Pw| PG|z ˜ #;P0u&+lHoe5W3 ⶥ 7Xe GI>Wf7\ R'aJI( xdx&dwȀ ec8 %Xht(3$@L IW' M f-h}AG%N،1PMW#xQ Pq+׈2߇@ 'A@I=( >x(;H S 1Wh0 i/ChNvA>:-װcDOϿ^Di( mMHsR*0>cЯZ_| /~;OC sLLI pI'E0'F0uP"ݾu x4x?D~{K$D 75 &)S7?ug/ а0U 8Gׯ0!B ^ / @ $@ P O&]sxtx7~CicŶD l8ȉ)/IpF3 BMzPFg0K @(D 7fI7T_oL'AsK~|p|hKh, %VV `80k?,__̯A;g%  Yx<^n e g&hAtn~ixP%9x$KQ$'%')&x "7ݖ"C F07)?~'F𣯹S9J'G7H ~C Ch&^E'a_HZy OIH &;3o~98ҸR RO|z Ǹ %;xP5&%ioe5W3ⶥ 7Xe G>Oe/K[ Q*yKHa쟈'@cg@ ec8 %Xht(3$ Lx0 Y f,h}(G%Y L<㷏$׸ DBK!CIN/6 @n@ a}@ >+0)A a!1Wh0 h/CfF>z-DcDOC .D iO( mMH Vx*0>coZO}'d/[ Q.JNNo^ 잘(@bOO ec8 %Xht(s$(hLPZ o f+o}HG%cHx G،o%IPDF3Y2H; (@F@ y` (>?)HNMnx!1Wh0 h/d>z-HbDWC?T" i( 0O lLP$ZPGS)0>coYG ~ω'=OAw sL*PL I(0HE0' 0F8um#^u 4_ ?}wK775_K -iSw>ϵb ذ,"$ϯ31J -B/ @ G'P%' qPQst7~CicNޖfȏHKP 1oFs @Ǎ} SFo `EP /Ad ?E_o]@'szG"~pu|hdON&V9IxXPvCk+Wgp?촿:g%MIXx]n d gfism~kx1O'Y$k(%?8P)%'@Y (1 #P>DQ&h?~7FCx1ц2` h&c`E'aY9 gG <'xG ꞻ4o~ip=|V UO P )ȿ̘%d'Z D|Q1 QTWO[램(@b7 ec@ %Xht(s%@X xI\L OMf+Bo}hG%ȟNn@RL  'X !D: $6AN 4@ }܀@0D(>S*@O'@ |8 1Wh0 h/a>z-D'aDW$Ǿ i( XO8N lKPH ဇ'_ S)0>coY7 ~=W? @oswL8 I(0GHE/'DF8u|H#6 u 4?Nо |nGu 77u?K 0Sw>ϵaO ذ;p#G)ϯ3 J7wB/ M@0S)p8H( {QHst7~CicfcЏX J 5ψ oFs @~ TFr؊ p` 7cI? x_ofO'sx#I~xu|ib`PN&V9hE`EFCk+OgpN 춷9o%'( X]n d gf~jsȀm~@lx QAF'O(i${%R)%'`y*A# ɅV@~7F6@J! /pv h&fHE'`A Y9h o' HJ ON( ` 잻4g<<(<W VO0 = X=*ȵ%b(oe5V3 ⮥ 7XeFGJ>oNcKZ D|P4U'?O X띸B)c 9Aeb@ %Xht(s%P H ^L'fC*Bo}AG%oyS]hX !(ܸ #"-H (:_Fg@ ޠH(>gP*@V2 1Wh05h/F_>z-'aW%І i( xp lJXC ")cR)0>boY/~>_? @o sgLF CJ((G/'DE8u# u 4N > (D{ >tGw7uK 2 Sw>ϵ_ ذJ($.3 9AWB/ @!*AL(O PIst7~Cic6H`Џ` J : oFs @ UFv x 7bGH_o5o'suP%!J~xu|jaFrN&U9HD݀xCj*OEop!췧F8w%/ 0X]n d _f~jFsȀm~@mxqA xF:X)zp$$f)%'?.+Pp#WF\pP I Q?'   #-I؞> p&i8E'`A Y9@ H apN( H {4g}8P Y WWz` } },@% =_0oe5V3؊⮥ 7XeG/>0Nc Y <P6iX1h' UB)dN Yeb@ %Xht(s%hL@ `f)Co}G%?# h0+!)( $% H+??LOLo }X((z+\X< 1Wh05h/]N =ߺ-D/H`W`S'Ni( Ř lIXC #8*gR )0boX'I~>_ ?otOS CJ(IG.'DE85# u 6  XDz0HGrKw7uJ 4qI Sw>^ ذY%p 4g2y  K/B/ @ 5+_ ) xst7~Cic ]Џp P ? oFs Ao Wz gOѐ? 7bIOS_o5w'ss `&%Y~xu|l_ &Uyېΐ Bj*WEop h"칗7D%?M@IXȹ]n d _f~kFr@m>@nx@A hMO)($`$yP)%'?B0+`(#P G a@ >G$$I@ %*In p&l(HE'_A! Y9HI 0 t(N(8G ;|4o<=h߀ Z XWz? Ƚ-zH@ %)]@Hne5V3J⮥ 7XeFG37J>McXB <OC8K\x;( Q(B)eߎ yeb@ %Xht(s%@@ 8cf(o}G%`*rK9!<0)pJ t؉$' "Ԁ,D'R/ YO*? =p@C(Q+c F 1Wh05h/>[ O@=ߺ-7__'(i( ĸ lȯH`#X*/lR?"(0boX >g ?o v?L`P xCJ( F./hE@5# u I7 9 ׈y8HFq w7uJ4 S>^ i& :G1KK V!W/ @ I0,q`(pXst7Cicև Z 렋 Eg oFs BW  X~ OEѨ? ?aWؒ_o5p'sp'(~u|m]퓀%Uy oڨEΨEBj)Wop #컏6DeGH Wȹ] d4 _f}Gkr@l>@ox ``)N$$)%'?V,oK#ȏ  "gK!޿>G9J&+PK&'I6p&nE'_'w Y9G  ( |4o쐼 [ Y_:? @> .zp@P%PZHne5V3󑿥⮥ 75XewG3?> dWB <OC9 _XE O8B)/h A JebH %Xht(%@ H J fof 'o}G%ߍ 0p{ F "N)Ȋb $(#-IX e/@6 !XC0X+jMPX H1Wh05h/>FY &'@=ߺ-0(?H__8)i(N  lȯG`L#y@ */ph#(0boXIw?o ?ow/LmK xCJ(A F-/%8E@58R# u  9 a? ܸxHdžp`!w7 4Y S>o^ xP&9 @//aA a+// ~@O" ]Q- A 1B(˷@ st?CicW X JG oFdz C?M YhJ ? GaI_E%_o5@'sn*(*J ~u{o[8$UyOЄθ Bj)Wop'M$콇6eGMX Wȹ] d4 _f}kr@l>πpȇxـPrh)#؏#N)%'iO,|" !!o ӐI$lۘ!x~O9'1p8 '%I>p&qE'^-OX9!  ' |4o>) \< Yg:? x~ @>/z툶%x}XXne5U3󑿥⮥ 75XeHoG3GJ>%p eKVD<N:i b@P!؎ L@C)7@j (JebH %X(th%LH jWf &'o}(BG%M6HKRH!_)SK#(`$PK.N_ _pAo I0Dh0*p Y N1Wh05h/>džCXN2=ߺ-0@G^_Ih*i(N O@ loG`p"b(/u@R %(0boXgI? ?oJyLx pCJ(A FE-7+E@5#%g v  ;  wP p"73 R>g_N p'F-  k߁4}@'_ o- 1 Q (я P st?Cc/~ WOK8P/owF E'MZX '  OAa g,p_ouN'sm ;p),I ~u{rY $Uǹ/*_j(_wp4 %wF5eGh Wй] d4 _f}lr@l>πpȇx@H)`#Đ"h(%'  )|(O,`K"@"+OA 8J%qO8M"PW9ذ(7PL'#~>p&sE'^4/X9%ȇ ` @ ' 4w~H Q~ ]| Zo< x~0{)@&[oeZp>縉 ⮥ X B w@~'ioZ/B /~RC@ b ]#@ Ox .?pMI ef5 %Xhtwh|o3* p qKfB)<Ge?ؑ 1JPXbP(` $X(p%./T_eo >xH> (B𒠽O+OqMXPKM0W+fFw^0p:w;z)0ЄGa'V(,.8( Op ooFx %o*g~P&)p}e/]H:D CIuI JPJ10`J#,AIB? p@ Dyu ( #4'<OO79esȰ( L3 rG< 8h.χ{.@K&W O!s(X4=B_F[N h WGrAsK8Z0~0J gN ph @dO7[?@M3 qKBH)3a }i;XsvZ8F"QGyGhX`2ρi,Bp7 $_8'eWLHYP9Zn _G _fOl(F)Pr(@m@/pP@Ќ(0 "`"'%h ,X X"2 @H%vOXK$$w~/搉)/0( )& GAGp&oEg^;\0 O Y%./|:=ٽx<b?<`  ?@>6:&ȼ\Goeu\`>` ⮥ ״ Xχ @o 7I~)`k7 Z FTOCAK cbhR# P8IX0s eg eXtw{_-W@ 8I teh*w|yGe'M 1P dL(Љix$'щ% . Wh/ |O?K ʸx@+ rY 0O*fw}߅O` `w>7?:o(bwZ,AxhXN0 pF؊%z +WsPp&)@fo__Hzg}G~ D OKu JLg228NK p#.hEL> 8@ Pzv鐈"gw@Q N?8ou džhM30h()HNG/ 7iKq v@?. (1GO.@A8%G@!s(HG}B)^p_^J Z_s7@3MWKZ} J / 0E(#O eID;xZ/  rȊEM)6J }i{Py ZFx "Q'_0  6Ai-B9P#'ׅ8eZ0Z ^7 _fl)r@mp(G?!I@ (!N"L'%hxyx+J! "4۠$yNJ$'? O>o~y).(( )&@p&oDg^>_]9 ?G  % #;=8`<ecG `?>Ƚ9W:%ȼYGoeuZxshJ⮥ XeG B P~-iWX NROCK fbR"X MxX/see  %Xhtwh}w,_ L  uK eB'B<yGeO7JW j(8h`#'$@ ./V/Gg?F |_J }* v( ^x81W,f=FB]P x?G;z*򎟇`B\h+P(8 n/EȂK$yJ*gs&(}e^gg=G> C_ | JIJgD15NIu#.صpE  8@XxGtJh "'J?IOW:ug p'MW7  vA@On X1`.@K&W H s(` җ=B_g\Zoq7B3Lg @[80J gN 8E0#O c ;[?h @oIN)5 }i;`ux Y8K"RW9o8((7i,D0> $w6ew Y{h[. `O _f?Gl0hq@lP~?qP I@/M(h!И"P'%h?+ $"4@و${(ޠ #)O? Wo>?(50( ($H_p&rEg](>o[@y$ WG yK8L%z $>}}@`<e<c;Gz h? > Ƚ:WA($}Vne5W37 󑿥⮥ uXe7 /FDsI>2 M hVGG<PA j`P! I뜨.sGNaec8 %Xhtwh~,@ XKi t ?LeB$'AGe ? @ _ p( )긊ep #'#-Tg ~|J? @Ő*gzMd İ 1W.ǵgwFǂYM@<+0^?C]*Wi(ЍƠ m/D"v( )s/PQ%'=c]H:F A ~ 8JH/׃7G 5ѐ"-uD7! v?FqWh!W=YQorHwF(!0!'%(ȿ + '"3טI$|xܠ!*~w9'>((8&!Xwp&vЇE']x=džYx* G g  ،% F$O|=}  eW c| X> ::@#xSXneU򑿥⮥ 7uXe oFsG >6pM gKT<OAiL l@Na ؎ G@J-7tN(JeaPu %X(th,A LH uWe C"'o)G%MCHKdHK!t ) f"'`"P -Tg _~Jo? I0h0)}Mi L1Wh0ug/FWwA@=:-0@G\D__h*)@ koD`p!x (3/@R %'0b/\ g z~G @o}L pK( G.79D@!.gB6 E @uPHFp !/J=R>5geNس p& K/6 v߁A}@0_,1QB&ޏIs4??Cc0/YK8 Z/n7F J']X ' D# O^ gWy 'CHI%I߁~p&yE'\>/GW.G ʗG a @% G %<>wHQ~ = e| do<  ð~ x :)@%YoeZp>蘒J⮥ Xe B  @~/jw Y7 /SDK ge" @ Mx쟐0uIef5 %Xhtwh|os.@ Kp  vNj e(<GeG7KX`k`(l#HG'a$./Wgio ~?L (}Š* Ww_X 0O+5f=B^0MpA?;)pa/B`0+7B8O(hN ooEp$}*_/ &(p}e_}H CK|  J@IK26hNI#0FM  p@xGu "wt/ A OO79i sȰ(yN9K xOB 8hN2G .@%W( !s(X}B_0B F]` [qwAsM8K[00 o ph% cWI>Q[75H@oKP)7Y }i;`3z X8 "QGyh``E9Ai,Bp@#_6'eWLYP9Zn _?4 _fWl()Pq(l@~/qPG!@ (8!h! '%h?؍+X&`"50H$|HK#+Ow >/9(40I(ָJ($OA@Gp&rEg]?[0# O Q %. %7<?}x<g?e{ ? @~ ;&ȼ[Goeu\`>` ⮥ ״ Xχ @o 7I~)Xk7 Z FTOCIK dch# P8IX0s eg eXtw{_-W@ 8I ueh*w|yGeM 1Q eL(Љh$'%0. Wh' |G?K ʸx8+ rY0O*fw}߅O` `w?/?:o(bw[,AxhXN0 pF%x +WsPh&)@fo__Hz_}GǾ D OKu JLg220NK h#/hEL 8@ Pzv"gw@Y N?8ou hM30h(1O?/ 7qq v@7. (1G.@0%?H "s(HG}B)^pW]J Z_s7@3MOKZ} J / 8E($O e;xZ/  rȊFM)6! }i{PyJZFp!Q'W0  7Ai-B:H#'ׅ8eZ0Z ^7 _fl)r@mp(G?!I@x (!"L'%hxyp+J!"5wڨ$yNJ$'? O>o~yH).((0 )&@p&oDg^>_]9 H7G  $ #;=8`<ecG `?>Ƚ:W:5&K bM]R#H N`B-o׍ ef  %Xhtwh}w)W@   !J pK fB(<yGe?Q 3 ȊR`J eh )` V#(K& /'T'e/ z?I}@C}O+qYX M0W,f]Hx<';:*DG`W8Q,P(M @ o/F$b8K*osǯ}&)}e\_߈g}DϾ B ~Ww J@Ig0/hI#,еp AѾ @Xyt װ#wJ8OW:ud3pؑ( LGo0 s=7n X.}0.&? 0OP!s(X җ=B`OFZOJKWWqwBIW H Z8~( W @0 O cD6[?PpKDP)2 }i`3vZ@F؋"RW9_@003j+B09L$w7ewLYh9[. `O _f?l0Fhr@@mX?pPI/(HM"x"('%h M,hJ `N#3w@ &uK$#?W>o~?0 *1 (h )% _p&pEg^(;_F[@  GG % z;9|=@<`b _ Gz `  =6WP8v&0=ZneuXs7J⮥ uXe''Ds>& !eXW O<O9Q a T(" MI져*j/qed0 %Xhth~%h   jK' f(B'Ge_Mh 4 R!b)JG #8 )( &.Qa ߾uF ~@P }XP+o@n` X 1W.ug}wZM6?i(؍ O moG #P )3vQ Q&)=d/YHIz?'? @{ wX  8J@{ȊG.+G u`#);'1 xH/qW #w?0JQw<5`?3 p`R(iJǯ) qog8 ~* vА. ('GIX !spXBa VhPLRGpD F pZp0J Ԑ cw.]WuMn?*,)K ~)G|p}r ZFX#T9D؈Eψ.AjO)E/p7 %76GDeX@|ȼ]_ Y|ȿ x 8>0㈶&x}[XneuV3K⮥ 7XeHoGG >p cX D<N6i ]@NGS!ߎ O@(7@f (ebHe %X(ths"HL dW g )'Co}(BG%ݷ 0H {IHK"TM*J# )`L%P.ML[ ^j=o I0Ah0>+iȍQ L1Wh05h/>FY*@=ߺ-@EGH__>h*i(~ @O lȯHhpM#XL)/o@%(0boWIg <? >oxoJ pCJ(|F-7$E@u# g 7  xPHp K#w7uJ.JS>g] |'D'  e./ N}@#_H d.1 QȌ(ˏ st?~Cic/~ U8K/oFs C'KYXJ ' ObIg$pR_o5'snK0p)(IK ~u|o \F$Uy/DЅЅ#_Bj)_Ewp+ %w7DeGhIWй] d4 _f}kr@l>@ox@Hw*`##hN)%' )p(,`"@"'O 8 &j8 #P?W9ΰ)1P (%~p&pE'_//GY9!I `@' 0wHQ~|Y Uo|: ~ x>,X06&9}^HneuV3⮥ 7XeG? > c'KY <O6ً Xx7( S0(/bN  eb@ %Xht(s# @P ` ׌gC*o}AG%`&nK5!90)ۈJg$(' K#ĸ-E/R/ 잿X?-?  P0>Q+_ B 1Wh05h/[/@=z- G`D_$( i(~ O lȯI`C@ $*gR?R")0>boW'I ϵG\׎ fS&Hd7[ P41KRȎ'ȔOY('a'OAAec@ %Xht(s$@X HI]L 7f,o}AG%ʏx0 \  ' Ї#")G(/N?wJo E_? =ݨ@P (>j)S00 1Wh0 h/_W>z-7bWC%ViO( ŀON lKXJ")`S)0>boX?II/ϵG^ ذLX# H5ϯ2K Q F/ wC/ @O%)@ЁN0(o䘉st7~Cic^h  < oFs A ~TFtЊ Ѐ GdIOh_omN'sv$")~x|k bFs8N%V9 Dވπk+_gpN!춯:%/8X]n d _f~jsȀm~@lx yF=O({#Ȑ#i(%'?1*Q"wP ؆Y(~?F"G!( )I#.xIV p&gHHE'`AYyX  d' X <1>@<`<V| To|:h Ƚ (;ŠĈ&7f? ] <R/MO X` 잘(a_Oec8 %Xht(3$( hX\ f.h}@G%fLH(($iG8)7N:HB.1 @ qX@ DB >FP'G(MqO1Wh0 h/dN@>z-/dOC ǮiO(8MlLHE#ZSʏ*0>coZW~?>~y775 /yHSw?ϵGb/ ذ2 /ׯ41 5_  / N@7 &H+&Jsisxt7~Cic veЏHPJ6HpFs CM|KRFm `EHD ?eIGS_o^'As|ߟ ~|p|keS$V9xPHk-_E_Fax=|T| Sg| H= &HH5',mo5Ws ee 7Ye FG>ןh?^R(iJIP eЉp'd ec8 %Xht(3$L IZM f/h}G%W S4MW!p Vi WA/38G׀ nA= > &< 0W@P1Wh0 i/FCi>:-װHeOi(mN@$iE&QsSS*0>cЯ[g }G~;WDw MI @J/1/F0uVXT Cu p5xx?})D 75K(9S7?uGh? а@%ׯ2!"BD / @O o"@ H%O `Esxx7~CicVl0K.IpF3 DzKPFgP 8 ? ?g?0T_oN'As R~|p|j i2$VfXD0 fC k?-gEXA=gD%Yx<^n e _&hAtn~ix#?P"Q"0Q&%'~$ !wn' G`<F ߾F𣯹Y! Mф88CBp&]E'b 7ZyH G 綾O%;2>)8ҸQ| PW|{ ư ؼ #';? hLIX 181Hfޯ _oƥRN?y௞:<;sWw#o- 7>ߎ uP:Xzc @:[%reiehhT?(v/ og @>}ЦO}cuBwp샰k%27} y{fW; ,z W~F _4ON>zo. Ay< `1DW dI;F'="W.Xgװhs2NP9rϸwף ?GhGPT05_ $'D '7_n? æHp冸 M|f{Cu:.IW: 6JH)@ X:N<'1G~&ra~~~k{п:^V&\O{c.rfp B{o?6F:=)1&߽f)'m@Vx- .?nV?GUEWmwA )h(``ԇ0= VF@MG~{(4^|8(xy{3ox< _7{U/ OW'WxB _= Wu M |?qi}'pڸ1Wh`$Nczzp;xNc99صܺ0oۣGKƥap֘0N,onozJxEirm2_枯3W6=7: ~6D@W G /g@o B9/y8D/d7wzp0i1@~`zX?^3XyϺ؈z? ;ԧ4=c|(d(CCwXY7<Y}V<``t#b " =k/a8i(ၨ}&ްgeOF/y೮/zs =;{O4x-y#~~ r>V:刘:8 o{p4|[%2ehehhU?(~o _: 0> }~Ύ?fuT'pDk%.tag ':| G>. _{7B)_LhW ^= C@}"W>1[o׵H36r^.< y8އכ~ ο~iGh> A'A@X85[  /9_n6P0劰 U|irsz0'ZG;]π7rvp @׻gFV:gnA}:,'m?^h- )?j;.9?^~>{S=OjA )h(PPח=6SF>ri/p Gl`x{__:z^AfHyܼ(oƼۦ/Y}0;bp׈0V,fgKh9E)so2`梷3;X:ubGt^<<}~_gx=3 鶾^=O ~W (@hwn9YϹ xG/\W_o0b5|&@8XGa3<_79GyF_{1Ho~^C{`c:x ׾1h1`[%Өehe`hU?(܆o o: X~}o>6i5TWw0G=k%3WBuf' +  W@OON;C  м9` 8~vy fHǼJ="WNq^'o8ع@ y>rf.< |׸Ᏽרn~iGh/xA_A8o[05rw5D 7~!Y]QvP<H@ O;O Jwz4 q b> _u0VXPri7p r吱Ot>}$=~NW ! 8W ~P[w  2WA{zyk:$xJ/r/o(yC<غBf XGd38pϹ:ٍy w<w>_'~ g"?BO|FG_%"' ?}(B"l z9&ްweT?yoxs/>C'`n }muTO0k%=}*wB'|t? 6{& " 1BWoT⊞{F|^C? ? <Jp :0i9 v~ U<]"W^qa78ؽ/$0>ivvnp x׻>i@Gh//`W0o_(5ކCK ??gnYςP0吠 _|q;2y?Ϻ:G"ecZaw܄ G G?| ^2v0:#}.B><2/,@(_AAP CP?/qN >57<W{^@7 )h((0sܟ>).vA]T0} |/μ =1H>~NP<[H W;|Oz To68. s gu0\8<. 1@?si?p r耱׼uH8 0b;: ;uX|~Bm'M&/߽ۯ7Zw}HfpXflfwRH9F)"su2ep3A8zu3>Wtn}63> wW2!E6E fl C Aj:oyZ*xN/G:o(߃@кfA!XGg3N}0׹:ّy$?<o'~<-H ԇB"ҷB W'*|ڿ&?$b f=`<_%1 &ް`VOy֯xs0M{Ow0Vua?>\h:Zx ~=LX*ǽruT0p~k%JDA{ KW{| 0~4 Jwp['6;{B B fApǠ}{ 8z (=y W~ iw<w_#_ne?2Ǘx?,i3C~{yAiGh=H0c(uޖ \OCoo?BV!P0咘 Z '~oup[> O~siOpx"߾XX:؀y Bo !~+ [@|Xeސ2iXhVG( Cy >Bx}A4}xuZv0 >k%V_=W_{_ [/<&=C?]G/e/޺'WBk1%|p{X '8 z<#_~hO2ϯxG4Y Ύغ䄿x@>i&xHhH@ @(og(uޣB kDOFo $H0唐 \x2&|7GU{ w|o 6] l ZGzOomgh1O^>1X}~1A0:v:y{}w;ܬ_ Y'?1??7;lg +h( s?)nܦudp|;>|o%<@XL<{&: 2y?Fw@/ F ou0[{6 dhtiWpp)|z@ew{p~F;P`;Au?4HW..)< ۹_jow򾶥znoHv0fzcX9H)(s}2mpsWP: u,q~ot'$gd׼c=:g%WEKq>'n: ߦ @ /Ba ߸ 4ظV/q(BC:n68:YGosᦦ py{ٛz:HKꟹFz<;tyu!<^;&< 9 *B<AQ?c-8&ް)twǺ xsB?}`W:xz{9p> ~cXڀ S8 ,~& =cHVe2iPhVG( X7 C=E>}?<{u]0~k%\o=R;O [7< #}@OWG~'CoG=:Ć WB eApa~8} z;#_ⵎ1k_2ԯxO<(A3~ 'іzyx&i*@Gh >IX  kuޡB jDW/Iw'H0啈 g| r|Q:Y{z_ vai߀ fZypO?X1GN@!h190:~:}޻ۧg2 0b?|<>熲ÞWz=}# n `:~ `pui_p`1|8^p>{X9zhxG4Py2.) olw򾶥po8~&pfziP9H),rހ2oذs^P:u&yot/][}2%W=EyF=k: #~ۖ @ e' &_G :xYoq ׂL^Av&=@zYGrxsᬦz{٣7z7HD:N}27mA m)2C;|V{,BB@Pjvy,0ᮨ<&ް-{.</z xs>OgOC7 Ϲ`7rXʨt8 7p}fX6 GnWzW=Ɩ&  #8 y 1Xwy s|s/#_(㺖qng2ׯ8WB8~13C73Ԧp{: >)GhDxn5ޙB aO_/Kwv)@0喈 w?}' rR}:\w< ;pw: vd^A xϺlzm_P14gf?? 2&XHPz:ۘ!o2 0kW)ǮgzJ$ nn}??CPCW@(- ax?K?n|ҶP?+{vgw +h( @)n߮}w|*63,=KPb~@|| pO;iG: ~zIx>O^1 uqpsnOuigpP8< xNVy;|Wt[6n#=slw󾾥H:q(0.fznH9I)/rރ2qа3bHzu~wt79L'H/ <%W >^: >Ҷy@ ?cQz Q߹>@x\o'Əq Wкn&B@YOup3᱾|:٬Oz)p?4@q|$1a7a=^#¨"(}G`@ y)0&ް,z</z xs;=fwᒟwHy19Yo~O ?zh97 :7˜=a`|Tep2iPhVG(/ : A(><=(~wC}~u`0k%\}>GB{ NW{| P>5 Cok߃{gV{ ώA 0@ 8 1oy G> no<l}#_(㺖qmgrէ8ODH13D73Ԧ;zՆA @*GhDHn5ޙ/ a _/Kwto)@0喀 ~o=7ro}Z<i: vd]g zwGzk?P1.= 2=O?u !hzz}f<۔!o2 0ko!`ǮgzL'~" n};??>=(- ^?L|>(=#yq׿ׁ +h(@)n~}x<$8<3 '=)(=KPdP0  t:H=B^1 ?~ uqy{H>uigpP8< xF?|;:{'B|Wta_6صnw}swk78~笨:q(0.fǺl@9H)/rނ2qp3`@zu>ot79 7=E=A>O}%W (W; g6@u? bpzq7]G@x\o¯q _Zz&@8YOuh3}حO$,g<$tWpBlx |w|G)gu&cPB$bWg\!$0᧠&ް'qnoǺ xs8>]wN9W?]>'D w|:9 6wpUhVe݀2hPhVG( z =x>8>&>>Wz5c0?=k%X/Dw K/| @KWtr=><|C1 m b<j`; :n@'z k?po>#_ⴆ1jW2Ο8GBX>93  '3і@ G^B Ɓ-@Gh`J  k5ޤk_ W/Hww?f&@0唈 ~7r}?T|/|h 6`g/;zkwX15A82s}h#X!p:{vx{ܝ_2 0c<$0~žWzDW~nB;?DHA@`. 0- _L?2[=$ϼpg;u *h(⧰?)n{n~(q0%пf}3f=#P=DH_/oH||0< ;׺ fzHG>N1 ? wupx8Hti_pX0W(xI}p}x: ʐ;8xG4f:2nO ojw>(mo00~&pff89H)+r2np3W8: u\ot/9 ~Ho>F?%W]>!o~~W 7VA~7 OC aG;{::xXo:p 'D Xz>B&70XGrp3}ئG'P/7}PO=/]8 M"B |ǿ}Y=п&W$~}A"(! &ް"i_yxs6U|L]g<:_؀wDwzй /V@=LhWeۈ2إhXhVG( 83>%68v5b700=k%T_>K_C< J|~ `HQwCz_h#_~gO2ɗ8?=PI3#OΎX :G9쟵۶fBi-@GhxL  g5ޭsOEo{#H0咐 xo'nCWf87HC@<8 ]I6~f8;X}(=hz*h( sৰ?)n^v(@iP}' oX>H W?\0g ; ^ߺE?y?F W? ouprH<@ ItiWph(0xMWptV ;@|7t?4cz.n~ ۻ_gwx=Xjo@0vpf_89G)(s{2jp3P0: u8Pgt_>N~M"g~%W5~!H>?X? ? ͗ `/W{z5xToD;p Rzf/(XGnx3n :ٟ7*3V=W}- 'X!WB/==_=W%"/@?K(m"1 @}&ް`}W֯xs3O>MO<㇗w9?\‡Gfx:xO !GȽK`Y%ژ2ieXhUG(枯 4X/}#?0/>ruVo0j>k%N=IB?O| J;O BOLWt]Of<.I xApu; ˈ(?[ jw=#_ne?2Ɨx?3(>a ~ i$Gh??C0c(uާm'EGBovB!P䑘 d=x;rZ7;EG|j_{ 6Y jmd'dG@p1>@5AnnHY(!onkܟW Rw"`nrp7z-ٰ.757DPA@h<_H Vp@~~a0+W<b7z'O*h(!(sާ?)nAn~c}$ؿ~}o>}09P{J~wh<P v;lz ezgupdV FsiG0x'}z8Q 0oPP{0q/4O:*/ ۵W`i/Xn0f[H9G)%sy2hp3L@zugtQP>&%W``^>[ ?~?@ 'C YVߺWODG:/xR/:p( Fкv,(XGks=(:ٗ'H@7JyB;`@FCl<l=;D%1hB#4~( vS%Iqȱh<&ްwe[Oo:xs1_}I߻yG+_hwX>BǾP`zy > ~=KPZ%٨ie`hUG(▯ Az -}-=#0>F(}oOv0`~k%IG=G_Ao M /< h8EBBkDUv{6 >3Ap y 8 $x l'{<#W^qb7ğػ7'~yDvnX;zՖihHh߾8P'8o`@uޜaG@onqA X䑠 Pl2~5zE;o 6V(a/AQO:G^w@8ax=>x樿`jzm<m_ܗ?A O K< ^2v0/z".G޻3/?17;_z'*h(1q8sܧ>.h=X<"H?|/ܾ|5X>H|&:/yu':;w/7 . gu0Q;.> D(?si?0rꈱ_&/<(ۯG^w7󽶥=x :h0hflfwX`yG)"sw2fp3JPzugtgV׼T},__I&a:  xgAǿ Q׹ G *O/Boq(_ 8:vA*0zXGis=8pyِz$=ߏֺN?|4Q؂1{|N@B(&`̨ I9$aq ȱ}@|&ްoeU;G෶o:s)<E{s7w&/x`gI=G`zy 2ox ~GP\%׸eie`(UG(ގo 3 #}$}}~ G=lL60x~k%B8W{ G  >(_ 5/B[CO|κf; & nAI}@ dp<"WN1_'῟ط/rf.8t5Ni P@Hh>)H@o\HuދQ7 ?=gnbo^ `䏨 Ho%_:A&;i 6S0P I/@_S1َ7qup}ώ>A?p:e:fi?܆G~ FhV2fzwpn=.0//.&X DP)Pr&ɦ)[zn~_A *h(Aq@sڟ>.~`Nf|0`p6OP| #s:87" &q _=_uG;䦽 7~ri70r阱Ok`N{og>ʠ@;Aj87y" w ۪?[_򽶥}lfx^lfgzSh9G)st2dq3F`:u~_ KgHW=!_+I1|Z': o hwO 7 F?9 y %L/g?q0 2znƀ&0:XGesn@pyٌy4ڏn<L1BLD䞻nhQ~[0MNAP:y0ၸ|&ްoeQn;?೮/s>;x';lϹ/ywKp:嶈zT?y W>?p[%2eiehhU?(~/ [z Ҏ>guJ'70@k%7߼Os 7_:; '~ G w>_L79 ow= SV<"W>1\ẇxش' 3F2^.|vޏ׮?iwGh>pHXHupB5 7:gnIo6@X0勰 J{G *h(XPsח=&X^L|~{ 46+h;27~ؼ|E{E_ ^':0/x  1 lW=WupH;І= >ri/p/|ih5{_b:h ;X<FAf;yܾ(/O<ۦ?Uwhzc0ېV,foNp9F)sp2aq梿3@h:Ot/o|*g;_H@ ҖF >~La? B 5+ +:9 xH/n/7zp0v߂0>!HzXGbs|Ppyzيy{׏G~>aC D,|(}~DF@0`5 3 G !ܶu6+Twv@JސW/+Wm φD3 喅A' m _GNu b`\eI@%d%~Phq)RgB2CׇH( n/NhB~W(E<oG( ׍ O,N"lMQhK%J I_)}ѷ 'H$L%0._6'G*YmgJX7%w' QGgF.Rb liX __ЃM v( Qd箨pt@HHI iG'kG/Kh .D& 'G ═v{=+Ĉ 3H]~Jn x w/ho/P4M hv8t >== Ao ^ ߋ8p K\wׁ.^PJ?hI JWHZ%'E䶦_4., ?p3 H y ~ `^3s^ 0?# 9x:FKg/bo?֗F~6?JAظ>/=.0A*6 MPf!x OPq HW!(XDy>Ox_&|g<,? =?%"OGWN Q@ w˨IJNHk.h8 K1p(E̯g%P6؋!'p4 ~W<2 HxfΊf掸I U8x&'(O dpJ@؆P0J/h8En8GHH®ۯRE,)Bs `I(Hx2 _{uU04tLfD 8|&/JEF֊h'A`oM WoF~-"PC; Iv ?g;$#?n ]?SP2i n`>?Q(GBC'MLe#O-C7MO RHHJ"&OVhFKw9D'<eL!gJhO, CJJ>pf!KC7[>89坏HId?_D'Iɧ z/?G  u $ /XJ7,f'6x7'765'm f\OCH_Q!Ў{ XPu k Uȥ,: !ee|hhu'u5kȊ0 @ \OWNp@w[xPG7&  w_ &L)0H!^,;n>ƅ<b'6"2%O_yBp G6{ 3 Y^Gw xki :(xx xL -J3p !)w wsO='@Fo so к' <@NF OFN 7(fhvvׅ#PE~hOKg8G`K8-/G?840 '؅ !HPԘ}Vcpݐ xMwwM#1pE/J7 FH!' h4 (;/.Qsy> PH WO8_5 kx B@WJHLgGL7I^WV# 'B xoM8 xW׼tH6MtqόnEGJEz)'cHi'@Zoo ڧ쭷.<&xLDhyTo1 R7;fdׇXF1 p@s0dH~TDW K?# e+-/9xIwseh"Nd('Y` M E?zG%g ]I$3XHVH\Hp)MPB_-a  ;z% Ej7O](Ejp 9q K((o QBM!9'4ϱGN)qN ="0F p:E 4JLL`C8)g g 1XQD!KC?w |7 pE R'7 65g~(0L/(?pְ. fE ^o  _?K*/oh(_ 'a _>gXr |NxG$wIA}jA0Z8 `E aKGIV$^4J WA{ w7K؆ z囯UE "I&ޯ +&ȥ3_k1(<$G "}XGNm wc'Eǹ!I g{pD#6FEք/x1ND?kf8:'H'H8"DG߷į׃C_DgEʏD$x>5>hg澥3]o%GHHUco7WA]F(pw1sP0O ] wbHU<4v1e{ph$u(1C F , cWsB1ǼVCJfϚ'6hO_! X?>>_ UwG' 冾 h@eh r3f #W*15g}Ap0L>Aw-O aoZ;-Ajhv@ 9&_  wJ*U8hhc2? 1RK&" # AfgHPoB '  BKaE?WC҇ h57f86u* 7 {)?Erg5o Y_@?s 4p0d?4[DE̸ Ɓ _  F?.-Cmh/$ w/u8B gc@x>~A*`op& 6^ .KhJ2X` <8S ٰD` uC F?CL+f3'}J`?$ }٢'n@GT uF?'Ty4FyȄmg>&C`BW.WE1 o%GX{8`eO3$7hFV0F1h)?zxk}OQFȿFB7AE&/+F0E+Х;75@hw)OE v@@I)@B#OC~?Byg'@2H >x9IEip<8_?E'GF''O@XAG/o 4{X=3{ ve[7WOHw0'D!Bw>*?_v@x54dP 7wQHV%ATX'e6e%~x()t7)ߋo@ hFu( GorT'RPW'yOFhE:O濂$]%} \0|XqHNF І3G}h(Phz<6vo (ŗ"/1'):qd:WN0 >:D+/1B ru/ǿ/= n)"J <+;tHNF=pQ0`d;0뗇5#(":8`%7DYHy׿Ϳ bG A!0@Kh>^>YV'@%3@gO:o} P"c ? r(]G~' [ ڸa ?~WLO @t% )_E7p ]-8=? }so)aIC 0)i_(W 3k>" X`<?Zֽ5hIo& hp"L1G7LJ'w?巃h=(ئܦ;&>>Hgp= M@ C CwA+_ɷ_=އ?=%8Wo!xܯ N6L $t,N3/VAg,gkc?&;^+}u <#-WE߸=#'?!1Q g8 q@z3~ 6AU4e9p~h+wj橯j10@D8AdqPv7tJh{ g,x<'^467+X_lcwt8",ɦVG1<7l}oy8.x)%(B!9(- )B'X'Qp%UwP)'+;4&)p>p0/*=F'hW9G>2'@ /{(yEPwjjg9^'&@p..;~v0?>y !H= dHFJMw$m×+7 Tlz 0t40-6r`;1kX<&h0#u6u2R ) V>1"Ⱥ _{-/-XGN'6H8'+8h!.07B,fw _EB!fhw-g/ ؾ5}3<9z H_~FWy ?B,+x?~0_30M>(@|/斧rX65i7o? nI1Tp;X=}0&6x5Py$%W$ԗ<qy*OWA ^ 3syl(fcQ}=)$`vuptBxw ?9w| '-84(g}83sA7m?pyH .j*G$~5a7#h0(@8+FO'xw/^)s!1+05/5q?,P N-lx\s߼ ~<Q@#/w0| 6췸y 7_ 77x z/07Z &01C32m(֍v۵7%'(h ?9$(7:G\sDZ^@8,:#=.l;G{0xs<h"@AC6:rezh,lGhf ({zs@ǯAvwz}7lGW-,6'Ѯ) $Ƈ&`p*22:o 6vn¶.'(s g(6h6tO9-A8)53/k(XWW4<H6/& 7Ow) xǴ?~{+x*&$4)-#+ǟ+OH'[220?p/|gv =2N#*o40)g8BPg' Dwv+ C_&y4{wt0W{&4 t3;:q54#:vO PyZ9 .uI:,oiGg'yaP6(K~7 P7(0N3>!u ר?8.*x+ްfi/5'|&X}&wxf:/PvS6/C'x5‡-.`h!3H 7gFG ~26 '(x(6U.*'< y6 8 w8tw4SW9_O4=)Q>91Dz 48|9'`w'sOO.z067V4:gz owO32, 6x0qqc43Xp(8%qW7 C'ץ7 w^q HGhA/=&iRx>$!Pp81ur> 2 9u/s .x5憹8w4^fB-@ Gt.+-厺#pr,4{/яs2%y2yk2u0h"?38:F1p~_&@#@N-ph6XX wy7 0*N2 O 4"ϴ § 2303sq"/ 5w#ʎo] '042>3Go);omԢgwد5v:GfH w$&7rc03O-#|-cwB9@wovf4PA=u6:rإxh,jd3"&$^s q>6lGG6b7JO6. u'~)%O' +3.43? |m~)rf 70ָ6v2Dx-5v)76.4g[/6/(.m!Dk g g3Wss*ưxj&׻%3 )-$,g,M`'[o0/)1{#*8n10)/w@wogs/ 67+ C2''~sO&z&/ 3~9~03y6/ `xV F9-wW"WS)ag0&}6{ p7H0>;32t# /u0ж,o6qe4'mN.@uPu߾/=65G./hh!(3` .7kRiF޴ ߻ :)5Op-Az ꏸ67 7{ȷxwV'xg's٦(ie2x1 40:^&R6)s?mt@v6P9/ m&3<Ԇ߈0xn0 u7 i2}pp(^7%p7v r2՟; o{]/`!UVO-w&i6Q>$!P8pv(<7 q 7p72 .~5nx8v4YfBl@4Gf.Ou.N#noа-(wz/Or3O%yrqG04Ou8"4 y/~Z&@ I/-pP0tU0"×v~6 5,&2޿p!"ʯsq Ç ·pr" g_$տ5fo^ ~:'042>3'(p{gmhԟeewخuߵ78( w$&rdg0g3M-#|-b7:By GFft8PAulGn;7bvIv.W'>6*5&/'n+333;~5 }n-⎭N*qf7v06wW2C_x-4v)76.ת1?&Z.5O(v.m!Bg+ 7!G37rn*xj&ҟ%3 )-G9%{-',M`'[h/0/eV1z#)00)w@w?7s89 5+ȳ C2p's/%׹&. 369N3X; ` 8V` ҾFyw-Gg'%"'8R)]_-}vo p7H0:31t# og.u0,v/pd4;(; l.Pv/=65./hh!~03@ .6+P) Χ; Pz)5Oh-=oeܞ _6v 73yGVhsf(eo1_1W 40z8'Qhv)rϫ-s@v6O9 mhv54:*V`8ɸ8 6u jgr}pp(w%߰v r0f՞z n\oP!RfR'f+ivQ>$"0/vo/p-'7/23%zrq5'3u8"p4~/}ϯZ&@ I/p00tU0"g~_6 u,2ߗ/!ѿ"ˇs`q _ hHrǯ" G?_$'o]p 0&042@3/+;w(՜7&kٱ6O65f/ x$'Gb3T(7-#<.eC8xg0HA>ص6:rХyh,k)zG(z{"*v$6:sh2?@oOw7f77Og6.%u'ɖ6*v%&H*1325 6֭-¶-)X g`5(xHwȰ6w2Hx-9v)w6/j.ZgO30. @G( (x vz+0xj&%3 )-ï$<-,MX'[110//_&~|26#*h.10)ww@'xs3w8/: ;W+8t C 3O&}t)?&0 3vz:39n{ot!u ̐Xx 6G91-#X85)[h+/'}߻ h7@0>37"  5/ w,ޯ^f/5'H&qV9/x5Q5/?7 96g2./`h! 3r .7O7*nq "v).6Px6.;& x6H o(x7ysUwfws۾<)b61q 42(~x'Wж(sku86Q9o mж639+uxy`tp hs0}hp(~w%/16 O36&֠G; q<]xq!QOP1i'7R@w>$!x0v`oq= q 84w׶ .5n84ZfBAHG3n."g5.n#,,/g2w;&{3'2qO03vu8"3h96p~'[&@!PK?mp65V!6 +62vO "31 s qPr 'p"Ou ꯴ѧt1$ַvĆ[` &01B30X|Ւr%۴׶*'9 x$(y^sg_[w,y#~}.jGF:?sNh9 HAA6:reyh,k/jm7f!0h#:.s3A6tgnȆ7kU-+_6'.7*$0&)2o28 uv.憮N)r hxw0^97vWNWy-?7)_861+"gX6tX@.n 9l ȠxG4|N+x*&ۧ<%4)-Wz$|,';,NP'[`r'/.7gy*?2;$)Ю30)xB0?4/9 Bu+ Cq&{4}/t.ߺ&2 3z:N154"H<!P YH tH,f&/_5(P '~w| X7003=! t =.'+vph/5%&<vy/Spv^/Bz6-.`h!33 g7GlI* 2u ַ|'P{(Sv./'⮻ g6w 8|xxxxO4Syb4V})V/$!puW>hx 2 90g7 f.58n4]fBA4Hh.)-#Fp+2'/32<&{26{72'7u0h"ӿ130~0~0]&@#Mgp 1W@1!owgw 6+ƶ2 շ3"wP W X2s2 8sȷ0" 75/5O#7Z &01C32m(֍v۵7%'(h ?9$(7:G\sDZ^@8,:#=.l;G{0xs<h!@AC6:reyh,lGhf ({zs@ǯAvwz}7lGW-,6'Ѯ) $Ƈ&`p*22:o 6vn¶.'(s g(6h6tO9-A8)53/k(XWW4<H6/& 7Ow) xǴ?~{+x*&$4)-#+ǟ+OH'[220?p/{gv =2N#)o40)g8BPg' Dwv+ C_&y4{wt0W{&4 t3;:q54#:vO PyZ9 .uI:,oiGg'yaP6(K~7 P7(0N3>!u ר?8.*x+ްfi/5'|&X}&wxf:/PvS6/C'x5‡-.`h!3H 7gFG ~26 '(x(6U.*'< y6 8 w8tw4SW9_O4=)Q>91Dz 48|9'`w'sOO.z867V4:gz owO32, 6x0qqc43~Xp(8%qW7 C'ץ7 w]q HGhA/=&iRx>$!Pp81ur> 2 9u/s .x5憹8w4^fB-@ Gt.+-厺#pr,4{/яs2%y2yk2u0h"?38:F1p~^&@#@N-ph6X` wy7 0*N2 O 4"ϴ § 2303sq"/ 5w# 1YX ХJ&P2.BxOzf$' ֺ6w&: z!2{3^w4}s'a9,{!&(n?D;8w~ qvغ2A42Nif'`f(ʟi5 h|-0=:9#f_s#XLwWm'<^2iϹTW9,+x%Ѷ9'hx$r(,315@ow wepp!^* qǠpqV2nS*B9'{3}ow4*5'~q$g԰'t~&)!` G<">)=)Ǩo Hx3o00hg j׿->>G/p)7_E g.7z'?G)u EPt׳'}~5;=#2/5^W9t)2`= G*`7 _P: .6O4. $&': d(_('g~8Lr-;!#.D8w" v (@.-*٦^ )3@>$v }|*$8]x-<_97}2/u.-ɲ*pOkv ڗ>, h'۞Pu*|{7 ׹%? y5uhd$&?ǻ. Ei)6 {#e0'wn4t/Qs3; hhoy1'޶zސz9ֳ!0gO/vz"׿rx ӧO =X!G'7n8R8i(q|2=x h A`6g3w +κ2;5>z1%1ȗG Mu:+%o8,^< F 3.:=,O2*O>"s'4vtחks4߸p4;u^sy2װ1/@?a0rŮ0ov *v90 !7u"ǵhs ȟu h·3_tW#w ?6G6$wx ~rUr| QY%+PHx`k$й87&1 W<7_[tl3G^:,A#r?>Jx|9 qHbId$Ir2=fEhsp X3:z#|au37ppNX87>-fzP*':$V$ p$g+@05ߗ8G ~8O$(`r@7:P^.gOS=(@G{%0ُo7w ~"!(mf&w 'g8:7!t65$ 'o= %W~&O04v23ghX*o(Ʀ^ p-% p-1V)7;؎~6, @bz޶U50[8x '_ _8*(@( g |o>Wq,Y)A #6 Vh;:/+*4 :m$90!^ ~&%^z+7./ 7q)(pi{Vx ߗ0`= 'ٞ3,0& o={60 z-> ::p7vryc.AR?g+ Qq(;Ƚ } c8'jϮ2930'q2<lF{/kVxx:h"e9W8 t5#ͬϽ}pp aq01H)PdpxS 90+1q'(742?jߵϴkϴ7 ,6'(׵6#Pfi6p!yh s80W9p *N-/9""w г ' 3 4uW$w v՗vԗ4&tnGLzl%uqD9"/ϻ2hsȣihɖuR4 ,w! 8'7>7z0ȷ.RWy%}-%w_:ϱz<'9Cp*-" g(rh's7ȇz: 6'&~-Hv0? /X5<73w"70 +.O)O5O8ȧ;0Af 6 n,m̶P>xtw w1yy:^1(O9.W7,x8>H@wHW41;@!, 6p`fHx Vv߲tR-si"|Q?$Η|)/{+(ysG:k=i{iN}0zz%Y0Jv a7s9 $/߇ ) q2W2[grO&4Y$~{;/x2!yV?38x ^fx6)h6.u->Gu z !q"yi;5'fs P2w..N#|5T2t$0n4uz637KAgH!`hc>0 W|zo7,F51%H&&: y7 w:lxz7z'\r><(8y2'p p_ n8+/*=jmc2(j90) h77-pit(|`n/OmAGi.v7)ǰg4 j2O ?{o q @pP$-oP7J@p]X2 q souVw3v8ʆ9;8$&0H3$w32>%¦.7 /;/'4;f{%a2_pQ`̯=Q/zѨ3>'9..- jgw?86tH/xO3'uv/v7/o#r$o0  Or o%7'&l`lq&LEQl~!DidVhRmG$Ag>o 7^ /ko2l!18p0s0EF0,Q O8an*-#d7;Ym"jɨa)_yj{r'&..x(.)O0B - 8绾έ/NJ+-c:=8A2H(GPlE8*NtN&(/-#8r |>/GkANAl!$1hfS0$u). Ll/> *`o7o4") 3)ct$z,6mKׯ-#0'Dk# DkD)Pq6ևq̫~ hF<_'j3Oo4 FqCp#e?$lo%u(q""~ϫ^O p=Xh1o>֧* inX't@(.l( xJ!ga ..72F?Et8mvA2/#`# OhϫyR^,;wk.lP&ߦq?5p`9(=ɦ- q!hl5.hv1 g!z)d.gE(GG/K-J'Pp0VlHZ>-:۞) pB0=ٯF6W*87mG:G%AkJ+W Ӧ ^h'q0NPgGF,Am͆ 7.72ǬFQoǏk$!@joH*O' i'ol$߯f 7b3*&/ L.'(ld9>&$+g*dnwG>!oV%7 RȪ.w')46P&'h3_6Pl_gFe7H*H!f7(Bj(h(a1v?,+(/d1$2(8%w67/iRf1;ˏ%<פG5|eQPK(E@(O-h#gkne~q'qhgDh&k$C@#,U}f W=;F8=A7>& v_% ;O,$6%#-*g쮧6'1'%Sv% g,.:2&?0-/,6cg^O@hMz'Ugpg)I$Jafndd '6d~h4&<(* `%J6f /E= f j(T &aj[_)e7& # ODN(~`CI'$)kШ0!%i_f4YA)d" (d%f Vj.|(4 &Q-3 l5gʮ7Mx*Gok" R*2@h^a'w_++j(%p/f1d2&Whg)`f/$7AhRf1;?%iؾ x$ ;k$ec@m*f>' 5%AdSpF%Ҩi?,.:ת0?./,6a'WY0(MT"hI!/JqFڏeO5_;'hw* meJ e N&> & u(T %A[)~7e '$g,!MlB HC 'Fg>)qh09%e5X1)!jI&VK1u q(``j46(*3g e''\_l'u&$u$U!f'/h+eG8c)})IVGf/ ) W,'p&ݛΤSe Go+,I#i5V#KYv8s(Uoj?'e6'k(fqf&HWfwhA?& Li '}$JO`,0hf,Y(RF*+o, 7'GtHJ$"(n'(d & Dw(h1)o$BfDe؆&g>i&z_6pk1f평&%H_k!)gdG_ H8g)n'%`'wJķgJO(NҟM'Q$ag&$Oo?YCl' E]BiبG&f@fwh d&xhG}f)hJ df _*pf`\f fg3$5)7&IY'+ȥʗfr gfH$P7g>Hf W5fޯ& _h3*&/ Lw.'(ld9?&$+g*dnwG>!oV%7 RȪ.w')4.P&'h3g-6Pl_gFe7Gh*H!f7(Bj(h(a1v?,+(/d1$2(8%w67'iRf1;ˏ%<ϤG5}eQXKD@(O-h#glne~q'phC(&+$C8#,U}f W=;F8=A7>& v_% ;O,$6%#-*g쮧6'2Rv% g,.:2&?0-/,6cg^O@(M{Tgpg)I$Jafndd '6d~h4&<(* aI6f /E= f j(T &aj\_)e7'# ODN(`CI'$)kШ0!%i_f4YA)<'UD`1wniI[41pj3þ ',([l's&#e7T8&)X*G/O$)uo)ILG Z1iW@eޠ R6&D+J7#ȩ5"L)xg7r(V*'v5'',(gpϞegHX%hAf N)nIJ)-(8,hQ))0l wgGtP$Ih#"xn'm( Ode Gj)$Biϧ@%!g%|Ϯ<5f!ߦKf'*/ldHk Ap(nw%^_(JgJhNMz'hK($Z%GN?LdCtNEUB`G'@G&f𡈨Gw&)}(K$ k7g_H&W,x)Ygg ./i7fIW)em@`h'8=pf02'fG#3*&/ M_'(ld9?&$+g*dnx7e>!oV%7 R*.w)4P'h3o-5X_gFe7E()H!f7(Bj(h(a1v7,+j( (/d11lg'8&o67hRf1;̏;dG(5PXJhD@hN-h#gmnevs'lpgA$#C0#,U}f O=;F8=A7>& v_% :O,$.%#h-*g쮧6'3Rw g,.:2&?0.,6cg^S@LgTgpgWiIIafndd '6d~h4;(* deI6f /E= f jhT &aj]?)%7 !Ǭ OEN(p'CI'$)l(0!%i_f4YA)=UE`g1yfiI\*42p2Ŷ ''Zl't"gT($'8h)fG/O$)uO)IOgG Z1iW@eޡ S6&D+J/#)5Ʀ"L)yg7r(V*'v5,''gpϞefHX%hAf N(p_IJ,(8,hQ))0l ggGtP$Jh#"`n',( Ode Gj)Aiϧ@%!g%|. <5f!ߦKf'*/ldHk >P''nw%^_(JgJwhNǦMz'hH"Wg$'N?M$CuNDUߨBc(G?G&fFw&)J+$ m7g_H&W,)Yg' .06ٷ&IW)eh`' &[g&8=pf&wg2'η(3*&/ MW'(ld9@#+g*dnx/e>!oV%7 S-x)4P'h3om5X_gFe7Dxh(H!f7(Bj(h(a1v/,+j( (/d11l&8&o67ߨR&1;͇;$G4%P`fJ(D@(N-h#gnnevs'jp@($ϫ#C(#,U}f G=;(G8=A7>& v_% :O,$.%#X)g쮧6'4פRw g,.:2&70.,6cg^THhL'TgpgGiIwIafndd '6dvh4;(* f%I6f /E= f khT &aj]/)%70 g!Ϭ OEN(pBI'$)l/!%i_f4YA)=UE`'1yfiI]32p2Ŷ ''Yl't"gT(g$&((eG0O(u?iIP'G Z1iW@eޡ S6&D+,J'#4"L)yg7r(V*'v5,'k'gpϞefHX%hAf N(pOIJi,(8,hQ))0l WgGtP$Kh#"X',( Wde Gj)Aiϧ@%!g%|n <5f!ߦKf'*/ldHk &$+g*dnwG>!oV%7 RȪ.w')46P&'h3_6Pl_gFe7H*H!f7(Bj(h(a1v?,+(/d1$2(8%w67/iRf1;ˏ%<פG5|eQPK(E@(O-h#gkne~q'qhgDh&k$C@#,U}f W=;F8=A7>& v_% ;O,$6%#-*g쮧6'1'%Sv% g,.:2&?0-/,6cg^O@hMz'Ugpg)I$Jafndd '6d~h4&<(* `%J6f /E= f j(T &aj[_)e7& # ODN(~`CI'$)kШ0!%i_f4YA)& v_% ?W#N%#d .*g쮧6',Sq% i-:2&~G0/,7cg^7gP[XgpgjH OJY&ndΤ'6d4䷦<( GeN6f /CW= f jS &QjWl)&e7('(!N,?VhmGI'd)fh4!%iW4Y9) 9U<84rvISh8(P6Χ 'ȟl)al'p&#`U%,0 /o&H.?)viH8gK Z1)W@eޛ%O6fG+IO"8"L)w7o(V*'†5w(`l)gpϞegHX%@f Ni+i$KH0(8,yhR!)1 ǧGtP$E&#n"n&g(6 O$% Gj)%Ciǧ@%!gƩ%}<5f!ߦK+f*'ldH K .nw%^W(/KghJ)N_'Nr'hVp)ep+Of@H_%Dn^x&JVO)BM(Kg'@G&fhKww)gxN$ f% 7g^H&Olx)YWg .$:/IW)e (he"s&58=pff&g 2'f/FH Xi),3*&a0 H."(ld)h7$+_*dfgpe@!oV%7 Ex*7rg)4(P#O37X"_gf7Rj3D7!&7(Bbhh(a)vz_,+++ (6e12()38#77jP~&2'<%>I/;.XZ%VZgLW'.x#^bgH(-R/?'@$,U}f h=<)F8=976& vW% DO#^%#dn)g쮧6'&&Tke zl׬-:*&yW+0-17cg^߫S0pg\gpg*GKYfn$Τ'6d4f=( ! R6f /A'> f iRz '9jSW(.e7:0(."Nl:VP@KI'Ƥ)Yh8!%aW4Y1)6U.g8l~IB(j= : 'П,+hl'lf#Z&V0h35`j4H-7$*wgjGN Z1)W@eޖ.%K>fK,+HW!;"L)u&7kj(V*'&6)*gpϞefGX%gi@& Ni-Wb%L?`)5(8,ihR%*1 'GtH$A&#."$߭(N O$% Gk )%Diǧ@%gi%?<5f!ߦJkf*ldG Tp4nw%^W(fL(JiMgNr'h`X/ni1P&AC%Eff' kХNViA/N'@G&fppOwg)zG'R^d `% 7g^H&Gl&h)YG .%X>ҟ'JW)ehg)>,&Me&8=pf@.&0g%x%2'Xh8xH1Έ.3*&I0 H.(ld!3$+_*d^gl&A!oV%7 ?X*8o)4N!_3l7l$_g~e8Ux5B_l!f)7(BZhh(a)vxgl*k+x6&e1d3.Pk78!%87N|2hh  S6f /?'> f ig+Qr' '!jNm'>e7Ip924#M4V@(LI')PH9%aO&5Y)i2T$&9eA:j>;& 'їl+i,'h#SgV9x*99 7OI,/*x*F gO R1hW@eޏ>%F>L*HGm 쇩<&#L)s.7j*(Vj'f6և-*m+gpϞe.)GX%?& O/[_L8H5(8,ahR%*2w, ׇGtH$<&($n!7"_'^ O$% Gki{eEiǧ@%gi%-<5f!ߦJkf*dF+ ZX+9nw%^W(WLoI_LhNr'xhgЪ4u05W'Q/A=gE^ng ZOWj@!gOG?G&f`PPvW*z8R6+e Xe /zg^H&Gl}&`)Y7 .dHi?hJW')e1R 7'0cX&28=pf-67g.2'02'>H`J,2+3"&9*0 Jo.(ld!.&%+_+dVgg&B!oV%7 =8j7m)4jMw3?5Ь%_g8WH.6A f)7hBZhh(a!'vwW)*h(66e1֤3, 2Hm9888lLz3<'@K';%[dxVG'MlpgX'.m#M%֧Nk8Y(4o*;H#,T}f 7WD8=976& vW% C"%#%~g쮧6'S] r(m,:*fyg/0l7cg^+S\hg kCKQfn$'6d4&?h @eS6f /=O(> i?lOj.' (K?.%F7U?98$LϬ-V(& 98fLI'd*K (9%YOf5Z!i/+S8^)A9i=:> gϏ*h׬&c#L)V@,<;.8gJ*/+zoD 'O R1hW8eވNeA>Kl*H;&#'L!q.'8j'Vj'6/)g.+gpϞe)FXe)?& Oy0S'M5 i5(0,QR'e*2_ GtH$6&h$ / Ϯ&v O$% GkhtwfFiǧ@%gi%lʟJW')exj8ai@7tPh<8=pf9*=E6B92'$H-B %\ڈ-3W+3"f 10 N(ld*f%+_+NbߦB!oV%7 =5k)4kK3k2 &_g8Y3@ )7hBZhh(a!'vx?(**W(5N%1$4, 68o88'&9:?-Jx&4/(=g&BL/:Ya%UE'Lkx'Wg.g($&DeC'm9\n4*9`",{wkS}f oi<>C8>17.& vW% Ak")%#/#~g쮧6RV r(nl,:*f{o//6c^k'S[hg$w,AhKQfn$+'6d4g@h* p%R6f /;= i-Mb6g (*Ig"V7^-B@m:G%J'V& 5XfKI'Τ*G7%YGƦ5Z!)-lQ7ViA(:;9N gw,*g%_#EjUF;>/6GJ(7,|+CX'N R1wO8eނ^ewf Oy)1OKM23(0,QR 'f*1W WGt@$1&$ $ Od% G(km&Giǧ@egi%G8(N/>?&fXp'Ou7&,r2(Qkt& I /zg]*H&?sfPiY!ާ-Hi=JWg)el;llD;B8=pfB@-@P17.& vW% >+"i%# ~g쮧6jQO%rho+:*f}o/-/l6c]k (RȧZh'>vJQfndث'6d(5GgAh* P6f /9ߨ= k-KZ6 (jIgn ^7g8p@Fo9%I!N& 3fJ&Ig$+C6%YG%֦5Z!i,,O6PA(;):7.V g_,)el%Z&$@*TM09B0q2(K&?d-~'A'M R2o,O8{fe8Ff I)Jwl9g#gL!n>g8m'UjWi(&77&'gpϞe&BXeO=wf Oy)1EM.h2(0-QRgf*1_l ͷGt@$,&$ m .?" Od% G(kgwGiǧ@egi%8epo07"3*f A*0f V,hld#%+_+N(YC%"gV%7 :2h)4-G(4+-m'_g%9a1,@l )7hBbhh(a!'vy'*)'h3n%1&4l @18o9@?nEtf5O(>&D(M'(9eW_eRDIlTg.^h$652Χp5cp/7(68n!wlP}f ;ϧ?'B8>9/$.f vW% <+"%#~g쮧6 +PJ%zho׬+:*fo/m.5c]߫P(QYh+-=IYfnd$ '6d(5g'Bh* O6f /8i= &l.IT> (!JGnf7q5%YG%5Z!i,mM f6KA(:866^ gOl(c,%W&$D~(M'8%W\QBIkgTΧ.[h$|>0-ΧH2e1-o'6(.!v?mO}f ǩ;'@G+B8>97$.f vW% ;+"%#`~g쮧6& /NFezhol+:*fo/-.5c]hPgYh.G;vHYfnd$ '6d(5ɇBh* O6f /77)= &ngGP> ()K.n7w39P4%H-N(~& -&I&Ig+:'5%YG%5Z),Kx&6GA(9)8)66f g?,(b$U&$97QY1K`2+oiK"Od.l?K Z&2(w,O@rn2F G)L+o)8}g#اL!kNg8nߪ'Uj?(g7ǧ#p$gpϞe+@Xe0:`qA8=pfYp9eh0>ep@2'78ްsaH-o$3*f Ij0f Y,hld!&&+W+N(TC%"gV%7 5p1f*4mD(4k)0&_gf9`8r'@o)7hBbh(a)'vxk'(2~%1F%5'l @,8&:DnBr&6o>7'E{7)M'8VZQ@hIj'T֧.Yh${>/+Χq1bq+o&4P umN}f ש;h@_A8=97$.f vW% :+"%#`~g쮧6&ME%zhol+:*fg/-l5c]xP'Yh0_:*H*Yfnd$ '6d~(5ǟ'Ch* eO6f /6W< &oFN> ()Jv7q6K82/.%HN(}& +H&Ig+7h'5%aG%5Z),?Jp&6EA(7p75>f g7'bw$T&$7,QT@/H2)iK!W.>K Z&1(w,O@qn1F Gk)Lkg7{&g#L)jNg8nת'Uj7(g7ǯ"G0#gpϞel?Xe2'+س73a٨p-$3*fIj0f Y+hld!%+W*N(SC%"gV%7 4`1e*4έCh4k'p&_gf9Z&@o)7hBbh(a)'vxk'(20Ne5'l 9+8&:EAqf6w>OgEyW)M8 VYQ@(IjS֧.Yh${>/,g(0\ر*%3n tM}f i;h@oA8=97$.f vW% :+"%#/~g쮧6&lME%zhp,+:*fg/-l5c]xP(Yh1g-:G*Yfnd$ '6d~4ůgCh* eO6f /6g< &oEO> ()Im~7e46Br1W$G'N(}& *H&Ig+5`4%aG%5Z),_Ih5EA(6`75>f g7'aw$T&$7ǬPK.A3(iK!_.l>K Z&1(w,O@qve1F Gk)Lkg7{&'#L)jVg8nת'Uj/))&g7!op"gpϞe&>XeGgEzO)M8VZQ@(IkSg.Z($|>1.g(r1X1+%2n u-N}f i;h@gA8=97$.f vW% :+"%#/~g쮧6&MF%zhp,+:*fg/-l5c]pP'Yh1g-:GYfnd$ '6d~4ƧgCh* O6f /6_< &o.FP> ()Hn~7_6>1_$G'N}& +H&Ig+6`4%YG%5Y),W.Jh&6FA(7`75>f g7'bw$T&$7PFs/=(iK!_.l>K Z&1(w,O@sne1F Gk)L+g7|&'#gL)jV'8nת'Uj7))g7/"w"gpϞe>Xe%5'l :r.89BnCr5g>D})M'8%W\QBhIkgTg.[h$}>2/g13^h,/'4p uW-O}f ϩ;'@OA8>97$.f vW% :+"%#/~g쮧6& ONG%zhol+:*fo/-5c]hPgYh.Om;ꎪHYfnd$ '6d4ɏBh* ߥO6f /6G< &nwnGQ> (!I.v7h8s9E14'n%H-N(~& -&I&Ig+9p'5%YG%5Z),nKp&6HA(8x)8)66f g?'b$U&$9WQM1B*iK"W.,?K R1w,O@tne2F Gk)L+g)8}'#gL!kNg8nߪ'Uj?(g7o#G#gpϞe?Xe0:hqA8=pfKr9Upp=U?2'W(q?!q/ep.0"3*f Aj0f Wlhld"f&+_+N(\WgC%"gV%7 <2i)4lH(4+/'_g%9q,B )7hCbh(a!'vz'j)/h3^%14l T28W9>Fv&5G=CG(M/(9eW`eRD((Jk'UƧ.]$~.( 1%/̸5r/0n)9!xwlQ}f )9/$.f vW% <+"%#~g쮧6 ?PGezho+:*fo/.,6c]׫XhQYh),>iJYfnd$ '6dh5OAh* O6f /8h=&kmJQ6 )!O?^7X1=do8Wm&JlFh& 2fI&Jg$+A5%YG%5Z!,'mNf6J)A(<866( ^&gW(c,%Wf$>GSl016Z1/hK%?-~?,AgL R2(o,O8sf4> H)L?,8#اL!n68n'UjOi(&7'/&w&gpϞeVkBXe_=wf Pi0kCM-h1(0-Y(Rg*/W Gt@$(% -."% Ode G(keGiǧ@egi%/+h* %P6f />(>&hkPR.+ ^"e8=p9?+&L.h & 8J&Jg$*Q07%YO5[i1*T#f7NvA(A:8& Ng)fl&Z&%OwhV8~Xl2͇'J+/d+y'EgM R3g,O8s^e6!I*P,9&$gL!uf9o'Uj'6)l*gpϞeFYei?wf Qqi/GWfM<()3(0.I(S g*+ ַGt@$-g& x 'm% Gde G(mx/Ehǧ@%gi%_+=h*X5f!ߦIɦ*ldF+ (3nw%^W('MI*LhNr'xj3X1gQG'B:&F:vg R`fMXG?M??&( gVgOvO*z(-Qjc. 8e /zg_H&7l HY/'!-dxiPi@ةB2'6$IrGj3"f%3& hm(md+'+g+^wG>%"gV%7 I7v'36P''h3 7_g.7g&Lo,!")8hCZhh(b!'vOl**+511+ wx+8'w67/iRf1;ˏ%<פGO:ȤW_x%U1/6& vW% GG#pi%#k"vg쮧6'1'%SGr(kl.;*f{7k01g7e['S[h)I$JQfnddk'6d&6&<h* 8%P6f /E= j(TRg.il/-&ޤ82%-W)!J,#h!f 8&LK'(\9%YW^f5\)`Pk5f!ߦI׫ɦ*wdG+ @)nw%^_(JhJhNMr'xh(f'f&ON?LdC;n' QXNUB`(O'@?&gLgQw&)z 8hSb% 7 /zg_*H&/pv&!@iYgg .=fIW)e(x4()(%38=pfŰ2142'xH PA 0gj6n5 θjVgv v/':g5 >Q Xw#V _g=^R燀y7 & (r0Y&+tx߁͸JЌcb1BX=PՏOPUT UP h͟ ވ F/NH&I @C1X0HN)p2(W7go>EWx굘8<{!39!For֗S-Hh؍~2ZUS?u M0ٻ_5}oqm'Jʨ Ԇ.g_뱇:RCB8YB HP\(6\d~FIo`օ_I6/ , Ox2w 50 r(AOiNaH^~p Ko F*wNk wHlص<VrRN`(8{8;W5C@n(/Lh FB ?G17Y߶aO(5 .)y7mtx/ pSMW"&D6Ea;p@߄ 2鏀멗M7C:$8i@:Vq W 9ee0%~@z~hHH@_XTdT/ mHa$(J$@q' J*^cB`H!)ݐ*.hP3`h̰6 gtȿI%vf(F藇;tH7JXA$ _@Ɏb8P`MiD _AKm iHsgvB LMi' ap3}(HQ)OU[ݐHR Еo "fME*%.8JIGGE~8T>Sh/pQv0O'6k>옯CX8-<#=цGrCw\EHȌX8 鷈y1Z`zpDxPh4~k0n/ ǐVk'IW BRGB`yYEChOUbShE֘6@IPݠY?_I85G-QOLgx46_È hVF_) _aG( 8GTXA3pp٘u8x5w~>GlYO2ZvFXx(x;Ǵ X@oNΧKFC ׂ3DOV?fw( 3)N{Wl<504zK[TQw+E,AE;Y?6q@A CHOR?HO*ߤ HfxU_Y+%Gc8P%P}(yP/fH 1GP_kD7H'! EhR. SOܯЎB ^?:X(雘TY3;.GϨeS E'kki@:G H OGxIlVD5 !` +#$ND`pJט&@K&Vht7w Fl 6Ysx ߦ%oYO 蕟Jsȏ嗑W X#7󋆃 ^4)YwQ@D K!8Hcشefhtiw P cKbC2/B HKfчOI8MPRoT؎: {Hy ׇ'>#n0J iHCa&U^G"Qgh1h4ϵo혿C @7 }D'{/G9!wrCC·SU쾐jp)񉸎NopZmȓ7sH@Եw0Pc0kW fgO鮟 1(ODD0k  X/B?HhTc. JX֠H@H樂IHw7 w OXg7Cϊ䷰PNiq\\/0 hp Nd8ۊtt7C*eS獀 07IpH Idz~M?GhЎL` V 2?Dc'u Z? w%y~O |PsuWKXI[gz%WF)8FQ9r?@E ߷NGG͠^p_/h4 &b`#|Au񑇁eoQ  NP[`1`@A7U4·QN IPޡoC vBHO: TWH-G6?&PFjBV_pOwHO4Il6D+ы"P ! %ڰL&.a^h p''&HD!/GL`aХVr`ԶegKFDOH}x/ UO"N@^PYKp`"$ NXi? >aCxI` eȥ@hh_(gΐ AJko?Ne(//9ϥsT-o-` @ Mญ$9#)FE&H3y /YXC<1B}]@ePB$Oh04k}X @/:'o7Qq_XN)~PMǨMhYOPProgד.[osψJȹր. jg V@E@h[gDBo!F8mFxƨH?  E!BF>󪯉ov  EJ Ug=5߇oK鴀80@P7/D# tHk.Ȋh HV "PSg䗐s'6[[HpLh ׉n v DIK0~   Df 0o`/ {Q7g?iJqiOг x0r7KExSUo$ /AJpA /L_" Ĉ] 9WOnbsoGkui!{@t~p8G?:A_ ;T} Ȕe8ְ~HVC*]0RYMgpޮώ@XEOyq"0VX6>H:~ha 7i@A&I^ 9 `J   qLeH h6 @9D#$9&|&?D+6_? !#'1C)9oyzDJ&澸3VrFkf%64I1<iXNILC$b?XTMap(@2A}x%ashQpr?pG)wep,gw<"f1H1lK x zK0(D('~kAWQK`FGKn{v)zI<@ x`M (#w4 bGgIPs7G0 iAgGqGDvhxI`T-#_2s/ {*TV=~󅷉㟉KD>_>C GHs)!F ʰ3`E<: ɺhB3/K CK,4Lȱ ưRI喀/6В Tsڨ qP7Zi:8xqJ{LF_xF`@NmGxtxGDM/e:\XwDOOsfwhaiw>p|?~AA' X(NfWh}6|9E8wYOQwƻF:6}y8ZV; -/zth&䴘2 L(q;X?Wf62 ?v B"q x  Xo;]^Cs +y`~C1HC[@&\8fhHၠ((f.ՠXA_5fByкF0 )%F 8' 98AQ;1+8 F E.FAڠyڱ;䐸~@pY,!CYo{7D84!3wx/7?_EaI1~s*#1> B  KPO8?:x{Vo/| ,0:AH X~ľ7 P>EHm'H?D0@0r y&& X w9PH[Hy;orHu ѷ 'p/ш-п{' joI9+!AwDzm)iHG1yX{#-0h;&h揰 :.j(ׯW? H D Wlx4'qJE p NK x>︾BҧTGF%N2-yq H+1'j90ppv777XlǼ]ozp/԰G$ׯ=W gFgU,-@w/:0*(=pg:_X:$( 'A h"6)%H:ب9+ &FzAQ59 V쟦x67)zl(2)zcD~{p (^=r/GU5O/D"48B?6CaN矞8מ߸ՈwٔFሞ8pxecxKDGޢ|כ0Gz@^&Ef?p_/@  Єx !D%0Etfx>C.y .xBUFCpP( 0J8(H0h(nYo. Ap/!~7p hHrQ5%iFo(- d>a JX=fywOAubo'_nAG"8Q/ 8?C4n_ES0H(o. */թ+ x@HjP4]n=  ky |o Dg1}JGw@`- 1+K(W<?o.xBsl/Op f:Wx}o<~W;W1,1&(+F@螨ڂ阸vb14!)~Bfxyq:)"nBN&Xm5QAx(ً)s(ↃrA hV;?3vC\<i9(RW|&~q4MxY,snƀMBPh_|0 _& p|_?fdh8t&E7T</ ߵ3A&+C ?N@YY)8i.!P%X%۩%'pgkCo'}0qaP$A$mPy/(,>#('>q!Z~'_ @0Yrr)2pϟ>Җos`7kq3/~@e"@&+Vh^J/{)Al~dz3 OI2#^! 'P?a~ ?K05r"&-݈) I+'w_* ?  AyC%8I`74oB>lǑ,(Ay+9<wxD$orxPD=5R.?Ϭp? ?ov/ P=pQh:*剁E08B.k!-o?A(h=_l51xsQ.(~"#u jgh;~HvWxC)Ͱm6?59~B;h-,zE q} X .|x0"~A@,D ;A#- '8L(ޘ<0A}ihvP+ G+ ܧx`8* jG8 91*z;D%A H}$p]v*^&@ w)]hD6낏@v;R`:0+1+0ڿ%zNƥq1y3("(" 09C>5=Ns)}h4 ? OVnՇ& ;5v(Q9w`8@:y.q:>v<W/.na .==0F pFo<8 /왘檨`*ۍ*v1yh{ͦ-e$Y<ϱY:'R|?;w~ k;.&) |`xqY x=&(&ŭufj;jnp E!9Pv)z(r4 siM;&A%X )"I({0yu)Zq*0uB3*}}|!, y%~<$,k98rQ2蟱?2a/;)#=&j.mL { o| ) ?.vTnm03^=? /y/0M+=/n! m9i; |Y i[7? RRo 떭כ-k)Q>*WV_*(B9Kmw9C 9h@Q9'"sB"1 ӯ>QY<ߪ@*Fg%(w)*!``ʿ? hZk㛈y$!6Nޮ%7pݏhOjc-qu/~vbq7A#d{*xi|Y;O|8~&ZQ?4'9-i{/8&"7jr f,GjhHvuaǼ-7(G y9Αv <%ߩ~x?!@ u Wi7p} 3XMzs_`}g@!y!͖籙 sݯ)G|/w/fi4k( h+ xsRG;.c4~\*$heʐ{hx2hϿ޾];u P\5:X4?9c4i0I*ə*9}0;( -+9Q=3 )3Q<( o$l1U2 3Y}C*_ )|Jy@B2Q*kp 8.%}+xp2Gs - uv/pNmzвo+l1'rP"/v8v"3{q&9h(l{(+so;_ !.f*Ј4O!qKr1q8.@+sp,x/Q629 2(ex%w A"(10*ns3*.72ESo= <1u'1,mD.搉1vq31$9u%o~k[/)xr7) (j/EfX..n84$O1"0>(4j64} 1 BwljNͬRYw*p1h2[د! jOsQotl8#`4 q1'-jh xvVy@Ў)z79? A0P,!mnݧ-njԽo(-2rľnm5P.Ј#p*{/IQx-03*/2x81=$j1G 4 *pt1P3)AkɁ3/((6"xr-ykOPlG1N~pĬ2@ `u4GYqY/0t(ԊӨ$U/k pns#.A=la//(42)!*سq4 ?l+ rO /G|Of3džH&Я1t+ u+( A)!gAcgn60kpir+H/-.xE1_,NԠ*4q,^u/pfpC(o_0lɪï0hkIt0i5*)Y/f/I.Q 539)=Q(S::911g/5MS_0LWobTw6rp Bis@p/+ k.s3/n+u1qljA4.h+5(_Qiަhհ&v4γ5gw݈a&޼sR 箕YԯhE<У'lGmkhn='kvo@x-7Ԉ*w(i%50Co..)/+@9 iO!Ak*Y+!i8*/׸R/Xq͝"PICq1 ,n8!Hq۟)mֶEi))Iy0)g "q(1 bkz+",02-j7SKnLQՆ:1iqkMQo4?%kIj$ɱ&%v3*k_+4ЪƯa+ gS*x+X+8 -4GJrwf/ɂY, j1Ն)'v689 !,.$)K*#i'#i9)b-"H+%+% &}r8Tak!Bvy,gFǪ j.)ؤAia)(߬7*!r+').(޻9&+&hlƏO7/1 4ö-)IgF7H*JFxphTPjjې%Oe!+och I1++-1φxF!ۨ+݌4)D*?HkqaJj,k!w(q_&~/)j) a'΂^|w"j() *OM8d WNv(?;W,#sdzkә,// *:-%)liҶҩn"m#.٨؜(ѱy(6.*eַ娢il׮(3/*anJu,趨֨5iت?(pV؉8gѥ(&׮& h,c@?%;j  )8K@X獇2#ih-(!!m/'̯n3oڝ뮐fԤ70h)+3!&+q(*OkIgԍpJQ&)Z6w٧!۹$٥0&z'iޒ {hj%R7AH9gVKhOo)(Cj;4"&#Щ)+xfgY)̗i >+fͫ/R>+*'A*^'.#,Q)g<hNVp'i) }`J&"fiv.l6*.,)4k\i'p"0(h8l)2'j+"f'&O-)Z%5)ЎѪ87I/)4gx!89+@p"*)%F &Z*f81*_gT_I<>*0:s~)[J) *(FG&I++jq+z =Q=Igݏ .$#yj-26rhKW-ƕmU LmiC_Ij**o:iGfi'00O9g `&Z&"h(29('Mh:e%̹g!y!ǩd-$J'B)rg#g %X8=h9TpJONK'1H)B&<)7#!,{e)yfSo!mͯ H'eАPihF mw-'U:L)isNq''^juȂ%e6([.j%1. 2_gb'qh" ؆8g3x(j-&!,')gl,M%<'Ѓh;?(Hoe%ih5uK9&'iEA"J(Ve.%$`f9*+n%R(]=D;a~[ڧ'?DOFfksq+y=;m9&lf,`  )0Z&t>mgO0imUj:j_fJm C`Ij-qi9}dd&2D' Gf%'&''5?i4~ #H. af1$ᓑ')s_ 09)jf,pw7ǰPi+kig,V+nj>``jweJiϪ,2,#_d('n.h䏮+UU*+?fˏ.XU6pk(F'ahk:0(g~1'_-a@g ͙e0'0ah4&3_$jcu hܾ4$_$+J[):&y(W(99Ǩ;hl ,'k'2r, ᗦNhOGh$ }kgV >jܿ&gA'f.fXfDc:v4|!)l!&k!)T9/O6.e6C_CT#)2O;Hd>) ֪h\mg'(lyul,hג噏*Aiiځ e&j&*?/xggB(BBi zq'&!9I!k /5+Q,dQ' h6;Oͨ혬ihF־7(3l!k")p2Q)rp(.h}-J!f(_):o(!e!%-(gzڧ';8k%_ 8G9GUKg)O|L(Bh!'x(Y*g7fOk)=D&;d_"(,'7EWfGN'Akuk)>A;oeoQf,P%!)0t^i'N(Gj?x&KwpCeq-!kt8(:vde&k2Jg P*'%+?5(5y"..1$ߢ'Gn'1l 0:iej,h0Oƶ`i+k',t(+>)hߗKh/jol,2+#jd(_-3'*YjO6ɒ>(\&7kgVk*lc<`+7٨g&fg e0)(0ȹh42V5kbi'ti4$f!%+JBh)*ϒf/!(9W(:(wǰxnxfF: '.&WfDd$;~e5ujedhNf67f64%6BgfCTe &94O;UY?|kծ0Q&.!G׫ k,/5)Ք%旙0k@@o׀f%%,)7-oALJ'Djq61':QI0+&?i53h,jA'#)hv2ץ̡g.nF 魒%?h3m)i+)2)sH',o*r٥TQ(r):xA  e,)g:grg&+0$ixj8T9oULgiOyS"a@Ci ;i7#)g!,-{Z?0,̯ Ig%%S뎨#~=h,Η$n!:hM롋g*'y)~kyjҪ%(g*F2AѤ2ިhi'|8"0g׃ϥ93+'`+,' !((z'W+(ϫ*a%3ϧh;gHe'ai&4|UT+A!rNÎҸ%`2&䒾Bȧj*_צF'i|!=C)/j;j(bB/'/FxG'Qxy=9e;xewb+9!i0zjcK-FNkfKiCiq+(:m/%j.gyk1Oyg (fXyf0Ii'.1'39gg5(5u,!+&A'2N%ܯ))(Ggf/$0: s+^e&żx)+*+|k=Phh1%LggW*2j!'O,7f([&a)j)$Ƙ^f8櫥0ȫf)A*7+fef+mХ/1/ع(4 g2P>䥫eQ'vi3#qQ*J"ivAi*Ђ&_*(~+vHB' g-PJ_'CX':}'f5phoe_hOf641&557A]Q#Y&+)e:Z99$pjԯ'I6o) kЪ,0%)Nԕ &? uh~lGe%j%_''-,hgh@G&Drq?)':UahڠPG46+j1g$'Nf-7&̟Χ>nvj=)&G(3kIi92 f)sp&*uѥ߲Xi(} :} Ah d+(zf:ߺ'$ (+$m7\8)9UL_iOsTy'!f'DH&;Ÿ)7h#1 i,U*&^ HqeeSf))h:Gl#+t%:+0Lk)b6ꟃ') z҂%emQ)3G$2 `6)h&~"g}8'3%Ґ++# %xe:''+'ا)g%1ϲh;xHO&)*3}X&(Xȫ@+!Jn%ְ%_"j.fD@j)[GgA)=A3:o^hbJ/gFGV賳Q xii= :zeyB*!!i0Jc_hJHeL/fK`Bkq(aj g9goepk0QAg \A3i&2754q).Q'2%ڸ)'&ch9+d/:jky'kXw"gfž*X) '+j<)!' %Lgh7l)2k!%':`ү&\f1jw*ϩ*'ş(`Ŧ7p,4jghD`%fƯjq8.h/3٦1PfݫcA'sA%3 g#vae*J(Ii*bfC(_98(;c@B*"(Ja,fH OOG+YFf% }m8y i>?$|@zheH2g,$?gAP9{_4hoeWL6'3/gf3+?_9#f+%"o8Na"; ouXh?J򑯥YK>@ugKЖȆGv>*K-HOl.I yy cȴ eHuo?3 ~M`K PWi0ES1HeڏH@@@` G%x !MQ o/  G$|L DqI FLAXP @@@2O4jo_?CaX  x#@:009Ih7߅Hz>Nhp̸0nSp`OI%wHH,bX׊/ :jnT׊z@ǃJ. @G5H x=ߍa8H& \IGw ϴ ߍ+J W' B5? p3ҰpP8o ? Af.K(n Hi`FHgNHK1t'H4?էDev]pNP 'Nq@w J3Qϋo O`PPX6F^N@dt @xzx H )GjXӖJ ^! o ,a XO EϵﵐиxJJ@iLǶ>N.xPthE pPwpPNtghtDgp^ \񏐋o` LRpMOhP`NNG&F e?Ifpf hP3xJpP) z`s q7ypPZJم(!AlpP巁GL󮸈Za.jwt  pwHk)x8qh?l8@y?OpPpPxPxPgA xPhPpPlIpPp!hg [ O> @FY Ng ?o d wx X0 Fge0v [0 GAM pPH EDx~B19_n_>ew!&NAe)J# rCoS3xx⾥WYevKGOI>w n~N+A-xf$)6E8Ke_5 %Hhvw(0K NiŮE0cy H%@P M9 (| K1!G77 @vJ v 'vBy E?Y>vn2Oh85k~񖏃_0 Xwn'C4p39GvHt񃈏p(qˈpjoRDg! )3o*8_ROR Y|J0A4!/BPKɸJ>p  o`w 5 ,I ZgwG57Np  A `~ﶌ| n9EQt?Di0.L\XЋ 7 mxw NS pMPxQhNgYF{. m 㦇h75 ?suP iW=( wxpO w\W!!iAF mGD0쯏G^ePXH@cm f ql0xp?mXD W eCD.nsٌ` XKvFW9=0kaN?xf X0 Fex YHz( GIG   - :ApVA I1A \f Z@ =  @g) * 0oeQKeegY%VOPs>xֆG,!-c AO( %^5eH(vw>D(NOPiHcCHQHxOH&GيI M >VI%tavy5x2O(95l'񖟃_pXwl&C'{4p-I}O7Dspp`i/R(Dhً!Q (/*`?^oQ׊~GP B\ϋ{KCJ@A6I A`6 Ǹ> n1ѶIKbw 5 .y[gH󱰳08I gI oBK9I~hnL}9owNRKtt?g?Dj&\K lxw OS pPxQ`9FzCt7JGh/ G3s9Jiw( vxpGu\o:n  YAG m@0D?쯏%Xh`cn!o& rl8Gi8xpmH`W %>p sK`V[NCMo 1 <` i~K_^h& Y( Fe^ Xh o7J ) H uA: pYi 9?a^nQ 9".a 2ioeTH` ee7Y%F'M ~xPwKOE0 ,XcIF}! %`4 eHhuw(WCpKxJPOOi`^^qHP0xPxP8K P"I7MJgK =>!ppC.E>P~nxPxPP2Oh6uk~׆oCa 0woV#B:20)HEPs)p(o˰0OkRe %3ϯPP+`PJ}WVA\KvxJ6q  FxPD0Pʐ`J>!AhpEP˖W cI_w 4 M4aIY?E5HGﴈP .DK.(FLPxj9gNPPaKthD)g]Ph nPw LOpPhPPgx~w nf5 xPst8KP! /= yPotZ7:N E9 lϿNpxPw/% LhIY = b.kw g& solGxPp?_mx8yWO PPPP% q PxxPIsxPrxPfbTV`/ K<IkVK^F?`& Y FeP.Z z(  /  Bwk6h?zɀ ~,>M@8%@Fm&Ɉub 쓷&t\_>K@3ׇ0~hsOJ랂זE$?; ,pgiBu8Xkt|gsn0JhYWǎhѦ|R9JݿOp`OhhppTJyQ IW J K;v  eaAhiBD4iCxhhp1+fϽ_Bh@ 8v;(q,i{_7񯇂pu~ XNkx@uPR[iqWhh.=i/SIGJĈi WIhGhH9EhQtpfK Րu` ?a [A8Ig9 gDPG78 s qpQ v/H !&K o0 hFLpi_p pJٌu(`t?ӧ=Ag]v L^8 p Lw`@ DO nLO OMMDnh['h﷧3{p p)}o|u`smKuHpPo>J 9 k/Ehg/fD We  ꤈`|XyZo^o# sOkh`y8s`GlH?9'7ppppPe (phh~ |qJhjIhqvkF]O9K8( =xGr ^K g X E(e A~d@ȇY pH@UV& a1ӱɾ y?w i t~u~ => ){A=1 iȨX5r3 |ޗϨƥh ٗo3ϳwBhA\^ C=H*HGvpK v5htir36۾EyHtwHҪWHg&:NhψHP NiNA j1vX>ef A<;HϮ0"5`;wԸ@f5y 1 *CgwBHϗk}F͍iaXҽΗxӀPT1q\aOHH3zqp`䆗Fȹ &GΞE LKE߂Eh2a g>`Hϥ ߸uP鮘ohӐHEIH-yF /9Ϻ_I*Av*htz=kQqNJa͟ }`75ϳ6gj0NhEMXܬFXAʞ^SwBHSgϻw?91y+zX3iFzEx.&vjﰐoo+d DؾPBjzRoPo4- uip+ h{x|i NFd *]yjχxLBϨxꑿ1I۽jb9OB.O}6|Ӹ VD*h qĿBχ HL.FNI1dq~Lƅ&?8E`hh+ vs8H=ؙ+ff?t w?% Ś?2s ;X;=cGG*/' )X<p<ŀػD{{؉@% r5(qfuus(w˘@ύ׽Ųf >68xPWH=== *r5!mHŋW; @$͖nֈύI HA,q@X===1%u%\_w<hг#߶ 78/@^#; vŌZ=ǫ(À=Ƅ0W;"щȍ3~/<<8q qn?ًʨx 7I'=@=?AH)6׀g=c@t е%(dX`sxwӎ3˲dH9nu٨~M( 1qr111ʵxxLj@Œr*?7JWͦ>wv? AY>hz%ɹ1qq1./j 77+YuGrPx') r$a?*85q{k|0qΐ`jZ2̲1|@ˏR5ut*r1qq7&p6ڎvנAItLG31H{C9==w9 /q|*1'<`w+v[1۠x&pgxp_8(s/557x'5'8w/q-$18 ~ױ&w7/=;Wÿ q)8ӗHq+61?@>1ʿwqʳw˨u)wɯs9kBr%{_wfqѡٰPRˑxx(-6f(uML5˨pİy߈:F/wq<w/qʽ9P5*xs1 v4Š/1rG4{513 IPy?Wh88Xv02qߟ4y>x*%*H˸wtuA(65),e)|vg9!4|`|oexO1111* 11q|!qHqn?v?vu}g!= 5ɾhE }㮼u%*ThBgH677Ʉp4§_y8x1`zڰn)'EB@)B1 oAB8Aƀ9y !xmm)u'`,pm㓧(e>5+Z%I.ڛt+h5H(m?r.1.9.g28,h8hxzp>v)6znݦ%J7.?f'Pi4o5O?1+߰hkxo*خidv1 жI&&h8h0iH(H(@(zJ7ؠءPϦHύ'^g߂'p7GwΘOBwXqӨ2'1q8(H(H(H(,O)3(Zn0H7$o$tq+1hm+Wp8hE/ƈ*.ܑ)7]iػi~*ؐHp'PXpNtN@oot,pW&@h@h4P/j.⍇n4 H,]gH(5E@5Q 7qOHhـu+8(Xg4v).Nww0qh pwpf$i-01,O# 5'pr'hu.1,8(٥hqV_1y_1/ pְؗW֋p3x@iO8(xYH(پk@(]wh,4*3˿;,@g%n߳,ׯlߜznؙ$o5.8Wje ,NXLlӡ17L_@h1o,H(ٻO5옴+@(ڨwgj,'q h,81zxnH(1o%oo pQpqtg`p&H(ǯGVGX+,u h2<߰20)!GfF|Gg1`-yyаqfqHv12@(@(@(@(H*(6w@(H(HhFGՠPHhx3Hhf7n7^o}'rPupkҾ(+(uCxm`975χp0fGT0B)d1eoքoomוp@(ٖNz&;_y^ٹ;X):i;Oκhy8خ{*é$ tH%=搲&, ,'W?nTr*Wf_~h?m+?, dng:~wj?qh.e di,d`!jܬ&]4+#R@:(Ds/HiO0ƭȧܲfiyԫWfoF 7EO<e d% d d d8e)1aomp$h:O^?N0 oW-H>qh $Ҕ d d d0FO'_oqxt! O1q10wǫ dݾnX<}d֏0)Fh(e֤(ԇ-Re1݋q-~/ d d4{o4S)W*԰1fVnUY dFK ojnj dp) dvXt' X'e]yFQ.`)煇y {4"+wQ)@!"2'l/$x-o0 d$?j늏5K+o#.Ḡ8$ߊp$O dHE $Һh dW/x<)o@O)?O./_x$ٛ`7ߋ u!,W.BooȨMnPhϱW$@*Q.Nk&g dJ?* dһ'1`+& d3({>-X5*x40m?u) $@W/~g#'ii$?iofX, dkmgf^ު&p PMo:G_r*g\r7*iX)<k{Hz,WjȬ0gǬ $ $ $ $[g?y .) $ $ dnA du d҆~~mov-ko Ϳ;qo=h~o,HYVDg>g{ / ,hl* $(6v ޯ‰o qÑ0 6/(~ K/w ti \0=9!i)d}HH#u*0ӎO$R&f.+\/gp$ˍjJ/WeЦw&͎cne=&%I$6&fjpCѣt.\1(ذ8hevpr')g[@$FHhK|W02'ү@$=u'ǫggPj 7DOdOff'fff`a0e4Bʤ_cԬ KjNj_^qgQ%]Qd䦀*fgЦЦf7(V:0)d_7cк.C0Ǭ8Cm%df@hCn%ƏLvاǨĽ'ɂ0Ug\ا/w*9ff7Hqm5Qh{gx>'phx#f/mF f6fȦc0'fžh㸱#(|7fW(Vqi$咨ἶ$ӑ%dԛ/1"1,(rQc_"@(ާ$01+-1fndd٢8'Q# 8翽Fϐ@h߁fx& &a%PÆ%Ѕdص$.ʃ$yl%V+ަ$H'`08r!e&հWDA&QViv۞8ȃ@8&ш@g 8'zHK$?%Fh\gߧC`Ţf@' &kgl4oyG)[)&ɦzfgTg%оf0'm. @'*o' e8X\ 1!yH1(v&ʆx@[d?9f8q' 9+s?)^%0@'$vi}`e`mP w_+H{?*1"'zech僨(H$d&&bШXhG&@@ @@ḫf''`ph@H'8'&i 8'Q8'aF֦@vew*iJ& hFݹۖ*ۇW&ȫcRXCg^nWnhӺܧ*py@E'l&( 8 p(X&:%@֥굧1&  'u)>3 PkFpx X7)ΏzO6d(Y?>kğ-H & /.Iae zs~Cb:+c1W@BGR~R'/` =qxoKn~/o{{N [ C`|h:5JA ) g PvFAD@A"~Dn OhJ>R&]A@yx C. CbO5hP_?䏌[H ?X J (p Hs/=iމLO-4\ _h56wE#r}LJdH(K~IP2GD(M rȸ%j!hV$oK8C D>G겉() F &ʗI퐸*4." #oi79iĞD `ANx-ALUf ;~Hj}6n^KJ<&I_H`ϷCE^B`DN$(E# R Ca~(*'iCE-1F}m@l@hs7#yxͱ>EA_P"8~aUGF(W*(M괷F GIL!GHK­PL`Z ( ~ωgMiԐElU"ةF/0k:0;IX'J(ϸ HI9$،?wۀF^@6A ` (Kjr:UITjIľ'LhGQP:?֓y р 9?{-JM L4iM/K" oE֏A@H:jG2Y00aƿOGؑ6/ ~(n5 ̌@ ӱLMs)&B m"̷h&JC-!嗨=8u.߯ x:o 䘊GI87IHsHy K>O 88Ѕ/ݽ1h@n=wMOp!Ȋ|øH# xGߋ7s"1| e0uAR9 px -e ɆN렐I܌!LM2R 8@<@wI8='BC3.b [gb`sP!άp;)'LP|@CX (Bi_K sHƐ"DPv3ϳLiHπ@Xא%o  )L HW7  o7d$pM/(oGPcHhC{X8h6h%amXBW8o9=GL oK) ĭr gضGxJ  ;_ϟ`C&dOnTϾ2IS72H:SE"ÞC(A ςK{k/4MЪ38sXJfx ΙL@Pt?FC\xA7 ? (( 1@U'hzљ<ά~l Qh X( ɯL=Pؘ5Io"'5$+HQωÜD EW{2##+FƟg?7͹K ;^av F7#k}ǃg1X"9y*ޗ ?KtH>ЉǾ]"so7.` Ѧ9XωTLjm҈ ˜-I /QIW975Ew'@WUPE:'GD8 M0NHM˙go]ï2G99`NіPB` _V`οhD`ƚ`L KxglEI@E`H'DgpD.  ϯZ6Է5_ϽPhיJp( Qx 8 q8Hy„6ɸ7 H:ȳ`xȐ&q  է8lHsTܕ<]7{&1_/}/WHJ$O'9; G;(ep+ȇ<iJ SGkP㧈N?C77{ߴP7|/o5xr}.6iqY9YD8dQ pęM? @`_ G8ׁ_09(x 7nPžlǶ˟.zןy/; I0L~XLA9Pg4ԃr<gy? HI]x`h¹8k)*x2E__o;#F0 $;woG"g`Q:[/ŹE,o}=$(}#{!CD p {~|@B(>޼7<(@v3h&T8[HC ~,9ʷh/' x5ǶP/܌9 NG QaCcLrZ1;QAԷ:0S:8̽}Vp X%o@A1{:BWWľ]XЍ7ԚHXpҳH0vW/,߾' 0 U'uAu$Wy  Bg@ g|'=m;ĨI0|̼|QD`G[0.NwѮj/. /{,3#i$ !!_X=R?XD':HɺI IQ9h pw+6N7@{SCWwMA'76AҰG0Xp/Gׅ_6Ȉǔ r8 {r8ǽH (I IDG<<(ɮn:UY` (WOtҩ22,CMIW4m?sxh1]~di/<+G4ǂ=͵ׅ4' L~S8WxANAD/ưYTHpFFE {7[?]QCPho@ yxDv0Bo}G_zO}1>s.bnDz0ê`~?EPg2!` KA 11?ouQfy^E~i}E:~9WpIǀo{' C$)9 QDdiN=Zo$}b(w`,?C?Z@U rq ",aŀ?{D؃zx܊G B h_0ڭ }$>g>wϘΠ(79/i{GjG>Gp'b5}̌0'Bο^sW0=O(2HC!ш0 OG'gA g@ϼ,xLȄi'zQ7y ! *pEii|a?`~b@f_<4v?˩)1, w{0ȯ<7h? C z:HzڥwCpEw>A؀/[NHT'Oa N} B,?%QKZ'B'n&<Z'(0= '=J;>z3E;3?ѿ(fIos6@xi )ǁBc};]+Hۚ} $zw{3 pHPgv=hcQbI' 7p? y2Ai22qi~h p}eH/+|4o@;Q:"QXZQlp<8<#7X}Qթ~Cá06ʿ ϱȗ{7P@P_U߼}g|1юw^@dddPA-9&~8vq+x֨_XIg3'98ҷi4ҧhv56 0:(i)hωؽ"YCi~A03I6^Q=8p5(s؋(@d;x0A<Y>?9ƙ:(>> (,]?~8$(\_8dlPs5߿D=m`H$'4|yӎ|OE<|e>€}ۼtz߻5kܮ?Ѷ̞-3دmw:.߶}T0@s:7GJt(l1y!z܏/Az=x{}h5o@u'*q}- +pȰI]wH 5 ෿Z?7L?>'s t[S( ?`[G}1C8&iy9T(?@>C aW@cꓰxZ=P{w'yf? :(>1!)~60A3hS@-0Po&/ϯ(~Oy[15rF1/H:wta.(sW1G=xACXhw'_(`wq07ȸ)qxz`҈6< {A}ר斐m9m`߻'54˰| r&r4G|7{/Fy9y9 ^3Bs>sQ>X .(pG# 7$}gHb(z#Xt&7hyP{/#1쎨8CyoɸZtl)߽bg@`x+t0l2?B' f7 8x*8-[*o߽m}C5Lǹ({(|~hnP7xohǀ딿*OF9,pLI3s=t'zY9޾'huxu(3hQ6#y@6xG{3o<>-EAy83G( )97 CF0Auq6^oO/2a]G.v9_>>,Y7t(.*Wu& 7+'1u /w!вb2>rH{0P{v9m5'kT9/'|2or%A0̧^`>IHϹ/{5Pg⸰mĈ;haG3!1F7 @;oz@/\6;0`dXsی2r=2_|:8hx']5'Zoy:ob<¿3TX<Hmi,8.|>?6r/h!yz 2Y ||xw {7U8]&7 yNGy/~?vr}*xrO7pt iP."ܘ;r 1=%rf 3=#5״7h .V(w"w*g9W&C@hXUH*H`i 1eP .x(+ o¸7`5!vlf 4iyXi.wȀkrt:+l~TZVI38 x_ lt :o3n`?$2H5, ym*-,%Bߨ ( )r i6#;A$ 8 s91q[#JX< +:+H4+| 4e5_8#a(й3orﳐXpq,q46QfZ h(e'77@9ut)(Ci/bH7.ap{09kzd<00Bg :8:(8I7%tȨ5 $j&e2'1,n5 81ob9s(05ohs%t(.n:?(s%͐(fh츬6';.V=7+#E7* (sXy7t''-aDI/@ïWB0 ڀm 3 2Dapmp" TC<(t'P?/gsmaq )`ok(0 x#v1ٷ*+xN?,00x 0hس.F)H@'O+'Yϧ T ?Pzhw+z07/xRq ?p .oL!!ݐt 7l Hup`Ltm::9<6,A^  QGxo~uX8.3 gwq-N,bk!^XmӖt=?vm,Pkwv zkG"hHz `x%h" nSN%~itQe9&@r.?69yq{ .[HPx(CH<8;uVNvvȼ|ؼuO77=O׵ )@6gh,Ng~0t;v" 1:O(8%PB')N-ظ(cj8"pX4wN"(hh8/4@rp_*^o MODI+80zȷ0a(F* TX /0&o ,0!:jl"اlP!/,3.(~,v0txx.֠ouq)7%ga!v s9/>/p5/P0_)k!?.,x.86*4sb0 p?!v-ptڰ(6k8oZ`pm0L$!0e]/G9(^G& (!B015b`&{X! 9+-5@&8 `, RW 8 ϠXj *'pr r)`p**çH7;KǺ^/ 575G.q7)~p'j&`v-Ik6&ƀ7$F@'X+?!Y6V)g|+n&#Y a3%_@+7oحlX/.w//"_-3p,dH/o7={t3uC( }!#r'&Q.eX(=!h9(8-`xgirg*gg;g"O6 tH9O4.o+@R}i?Rpm&*(C'cv}!#'%6m.)(3QGl!'h,LjB'?iw]W9/`x&Axom\dž/7353o4n2./%/+_/(! M%5ho'mBx&Uq61'_0//!).h5)5Wmjp&,/N01o;s)as%yش"K}'ư%? /w, ;+'!O$g/%O;9 ڈy Ξ Fx z796/>BGxzk2a|֯o >89k(Ř}BĖX8 i.-O x9o(j) ' I؀ km*$t3l/jW&L/*?10k2wQ/*ǾE~A?xY,/* k!/M/0-*k Kg |*G,#wo p#W7 ut 0'#x!6!Hvu >wnXgx!8 D+g(o#W3 0~wm_`gbh+>o($x=xPr& qx0 L0W+M1$&׫/wEl),/Cm,:ڠ_i6f9y2>1g|@Njr3N o5,)#'ln-u i 00G%NyAe8m59epVd) )Q%VFX)( 6p鸶7EB*/;1* ah.q>15t}v+(**R4%A0/㏱`,o' ?ðgn*,$#0,>.1h/p0'׷ q+0KwkW+Ng,j0Kgk;+2Im)AlgI`36w2&JnO:>g.x&& k.W:ge${'_؈y(('io)jv m))׺0%(*1`'H("<_/~3808Dql)* ?OOlo-yhkw.e,2wӯ4 OoX}1߯o'g0 ,pA4 r-Wҏ14N -dQlm,h6uoA#j4#s8ƿsOkȔ'q'?sk&$p+7W+e<1=dz grItgqmb!..]Gr{rzGsiROF'ο{p3u))Ѻ,sdi .;( jqg &)a(Fn [ww ǰ~&qi1 q&&[j\)eiаMg1'/ 7-00 ()'p'J(񺠥G1ˇg _o p +?n(76./'и`|qQa5 _I7mOBpki }/ w렩 ֖fikPh9Wk#8)w,&sp"Q6< g Gj8o/Opoˤe ̙65%ᇮȈجZPj-9m#p! xW=p)W7H4|_Fw*?8%$g`(v_uO(rPk$@0ݧp)x-Z$)2n0_ q1N8)Gf G"=pt8o2w('0 3$ǧ{8Ǩt)#>i/0hoih1'OjV,_'['(M'h hTh y+'y!Ƕ0ՅW2MPMOr 6-0Yf7ӿr[o%gp2P?,?O' )v(i_&qI( ૊#agg(s,-ziw)?)7e/gu`)(+oc`&g X1rqj4'' 827wl4N./ 1~() fyЩԞ/𨏭gq2v[Y6hjkΈol&g9+go+ѧ~9 '#jק2ڭgJ_*mo)e'*ݹf7.|_go':7Gq%/Ȩv얘8oyh g o:Hi/`g+ߡh)lY 41?.$o' 2g_UϭW3&$g+,ԨS1( /Glgk-X 0qOg)QiGg'h /.͟n7l*8op а]/랱&7Ǥ^?(gn uo0_n++9ޠ&kfkh'9OerLq&-qj (PPeG#k\5߮!/0 zժǤNߎۭҿ@ln3t×%/ӂXFv~n_xi/))*Xjrg1/O9<2>:pv)'C7&o?q I`lΪ걀0p)þp y\*G2 0j!p ſ^?oiS0-m2q('-~lii\1q!d"s#W?G-r Yp\Rgl `, 0oo(X) t"1qx/IXi@qP v(ifo燷Seϭj8_.& o'+K-0dKh i B񮑹,QFGP/n?yjh _+w$?&&we)gde* G/׮_⧮m(*֦ mrt)nױ-h h pf*F+, "ϩў嵇AѲgrmPemWj 骕eX+w+ 'h?` ./ )1g٦&˖௶f͞hۺAeAe z'> h)&6~$\OF&=DZf/+|-i8ؽ1 gi >0ݟbX(9,io21 W(iY !X gfG+ᆰCs醞ϥ)ĴPJh4m/-+DȲH+7(~g0p70ϭo. +&۬'~(0ɀo ._A&.g NO-h z/o-)ޞHlgkF-1`- t+QW[.)jAO/ 8m޴Oeڨ/ըP,Sq2gk&1/'󡾧,'n h/vk5(1gȥil7Yq37pEw+W80Pg20h 3_l g* to, ~gd(Piym k?XuKqW_j`0+ifP'"Y/Gj vfΞ'Nh -𛠨+@f wmM* q*h+m=?)r(7,+yg $O%~ftj }cPP Omo,&j|6l~_.yf0kry)yh1'*N*? ɭvWXzyng@f^*j 粝(Vg )XHk l,+ zig4i9%\f (gevfٹfЍMOw?&2,g&hX1ݞ1g 0>jjb.٨Qilqg/Wh% fh,8mhjk3^'w>Ρ0F7Om o nL@r(qg,Ah.(`ono۝&F*p p .9Ti'w֧&Hgh/e)oߠ)k'j hK-1])mԮujO0ooYm䆩p ojHGo p)wejफ़٭ڤ-K?o1f$‘n\X- /iggX@qmv((7,2s߬N>r6,_W>vg bO)o Mm)20<. ~q^ 3 Ɏ2>oOix- PoШ,2)"o g0pyh0mb-~j7ohqfX՘i,6A;o IP/4w ql(e * ~g, & ɞh`Lz!l0w'J8jʞ[촎j'3Z/ ڸkp v'.) +h+p'ХMj jHjO5*d_Vh0xjy+) !)ݯzGs'j ]nb&`䷬/lŷk(p(U'G'lq!f+qu)Y8n'gԢ~㵿(Xaxqle6 缠&>׬+ )iLЫ vlk tyD f.nee(vF(gVeҹŝ(%O(Vw>g&2,f&(qޝ誟0f * q=jت?/bn i,y)>tGoާpi h(-lhik 잩$4Nw>РX3Hh9Gm Wm L)g+h.0m/G.l 'گ⯖)'!pĸmqN.gvgHwhewn.+ި kjhJ1VAi0-.ְhu@@O0Vyio*J$G..wej޹(خ8ۥ@V'Gg)o.\` ?mqjg/[PЯ,ة)@+j0/r퀯KIVr5,aT>v' bgMfh02XXm pѱ&ٮl.)ί Wo ,w(g1-kΩ>ohfhfը)2!,/;Wp Il.8 o s f,  G &ʞaѨMiz8nYP}-I0Ͼ1Zk6ȩk(sZ f k~(. &hlpmo.eM 0*wn67jc)vl߀/qhx k 'ܷzWs/ \vb&`kk_k'j趀xS'E'k,ϯmfgnn^1vHk㠾lgֲhS+tɫfЦij 羟&ڨ?lk (iL ,kk w&@f)~9rNcV`fɦh䵨QKf&1 72wf1?kh0qܥ`+H g 0?xj*Wc(I)άn/qľ% fq)X vާiwk%Ƨ e~i̥G(6G g-힫K%0g,hheϰb_onmG.׫Җ(ܝnp6ih X!,Yqy$&&gfIome|m)⠸kgj(hJ-_!-nӳukP(op[mi *F_o0 *oe~kfڬ٥mKqG'/ကn\Pm ?q(ghY01O-)ik12u-RilN7_](t b(.>' c7iY/ NĎir; 1I^k 2rΞVo_/)m H/ϧlN-7a$oW҈.vhfߗl-b.+5(f)Hٸil809o0H+F/9r qk sc-  {w,  i v(`(M)z+runJ8jϦqZ*ǯЩisZدw 7ڠH .n(( -il(poȥM ި'n6igWi_ho0jyi ާ{Gs& jgF(b&`k _m,ϬgN鲄afRN',G1t(e?0u(Ii()?'Ң䶗Y1mz1-fiǪ &܀C )Kk άWk hgu'Phf&=fh>wVuΨ>.LWǦ.1'4t%/յHl/ hi oHPrhl 1h~`Eowp!f> ZQ'(q%vnj^'sFhޥ龬jɸ1:h5kώkV(2$8/h'(geܗqo/wO0g2n i,CY^#-'(.̠t٭Q-Ef&^g eLh_( [1pP0iqښ0gplph['%n08l i-ɱh{)!`(R(f6m Ʃ .%@o#'-ٹ_ew?Vn(/џ7 OgՆ0_ oRH-#Q$?/`j*v)z/W1(Oa) Ħ1?O+`P%(gWhmU*#zஸq:n*hn_j1/)䫮nOG6V l@Ă>-f-K;aŏ/#'߬' 0.h0%n+hpde`ix+N10 1EG.'L֎/0qYd((_o_ s0' ( P(E0%RqN_1LHjƶpbh nk_ '36^n%WppjnnffI1Pp֬2 %N ҷ"3hm(k܀.~G wefrfi('c` G2gwJ7r1nꥉ`}loo - e.k9/s.jk(g)(Dv,mQmrAY bHsꨠ笡oF'1Ilv +'\!'Qy1g(.&Yfhq(!$I_eV..%Bǧ"xf1Au('jplU%j2th&'1g"s2>qB*7Wf$ C&Oxj8xu,s*x$)'J$Gߥ&l0?`,1w(3w%4q:,,}-(.),ӆ!vkh9v]i <'/X*ƑltT%& R_;G30O)'^?1om,9'*H.ґv%mhW+&p jp'& @V`fwOsgq@įe6Ȓx* gjH/1i(Qph*m%j7*Zj@h'90W24])+P/P*6(>릥l Ac&W.i (ؚE'&fوXaO`5&ٛ>2/s:,' . G, G-~n%-\%2X*%q5v'Vg&'l&_2`&k~֮bh%۰hiaѬi$u4`!h8"'0rp1gg#swj#,h)8g>' 4ag5X'''[BհoHm/NP*.y!4hQ(&qqn(*)c/&Ш@(#FFfN'_@(fVkͼ/1Ne,7'(5x /Ơ,xl͞iweOq'Xk>d&G+GOp*(,^q)n7H|'>Udi&qff m#)$'$jk^%Cloj`瞤+!Og旫;eHkp0'w+ 'Xg2fNW%ꈶQ!eJyfg%.&yaf͞fFf–wm&Jw&"yp4q*g`m% j8؀+Z;z% Ad *&gp5jSǥ6#c 4i86F&|'}'$V駬X*PVw"^G!dP(0TШ3(1$?g촎&X(9ANi1|12l(ub- -Lf&-8,j+A/BU(.a7heH螳]i*c1iWV&јh /lzd,l'%)s('FX5.' $Q+IgH#hNʐ.^);NP&ӄlD^Kw( g7ܰeƦ^(fk<8N@*d7%6$f( ,`+,0he_qfרwfef=X?,=BWAnw->Fޫ癀vneB1jCa1) D^& gAAgǧEGaR1faf dh&>)V~jAi\%Lޫ*癪&xWo?eH.&w9'>g!EVengN6&2qe*%镩鳮eYɦæY>d>dKhfF!ypf4qjhX!j8٘kVX*) 2ec5|vfy>lopfhg褭`jh gM"Q!%Ч0N`(3*dg쪶f8hT7i2t/*75',@̦fFe.&}% CH*Xf!qIAe^^ dmfOPFo=)8a*CP8-ύ@vej0'c&6-j X*&d%XfpQpqgUO1>S.. &+*ɿ =xpņ鶖N!hK%–@(!kب!~i;'Afp&R%'7+5k=F性W?OԁROy lQO3֥nje$#MVf @.֏p.LH*Р8c^00ҨFWjUŦȫ%AqiLY)60c(i,!kP'>(xj+n'iIB6h -'(kdP((f()0deƦ nwXd-fg%il7)(@3ng' (Qg.A'!i%Mʨ.ri@NP+cEc(K꫎.t(d w/?$k1(Ц f6菪=hNHjd,$0Ϧ0lxklhe'&ץoo+xd_Cx+EpO+J,Fk'vedяG+8Bf)' <%'E.ܿfDKIgR&byf d(h G*֦ŧdhYg\ fkGj g](k;Gj&lA?kFg )g:fngC%s.f3i%-Y騮_f֧N~7e7蠸)fA!yxf4a*k8,H-$hH+NXdj;p$ #afQ d'7,fP&47$ 3%Ve5sfv~-x/(h*D&#Bgd"g1B2W"ϧf%07gTi3{<k9BV'm' $!f7@*%gÉ% $7֥%& >SIo?*;H`xύPqefH)ף&߱9Ԁ*껛>'z$eUJ NtJ%2%jL'/ e/+4)ߥf Ǎ{+ƉH%MP'FW&/’!g!6H"A%&Nؤ(:k.'9G=UTy%ުKhe5gd[p"A&& x֒G(*Nm+axQH0^k&T.$lzfMVyg^ c)[,p#1*PVNgolD"+G(L/ r(*lfh((ne"vo0^'fgӀ!8mqHd/c%'*ki)1%3gv' 0A'3AXd QeH͏CNPfjy_d$hDd(Lثmk(% kF@X$!neVv'x1(f =&MXjdO$*7*'`,+,(N?hfl(?_kp&a(+GjJO*OkKj'm֥[6&kJ+>?j 4^%'Egg@R!gV%gA8 fPhn +E7g dfAYXf檏0g&fhO6 EF,Ggk9fV'+!'1%wg9NjN:Q7ѥ'6%lif&4y|po5Wsp ⶥ 7uXeFG>ɧOh7]R!Q DX UiIhB%fec0 %Phu(3" LVG ~ fC.h}G%_ </ ׷g !!XфbN'I+VgA)}@ ~%/GN:`P 1Wh1 i/~l>:.װxHdO'ix(Ѝ 0 mO@.ID8sǯJ*0>cЯ[o| ?~8GEJtL? I H J/0/ϐG0u5xT!u `5ǎP~@?p6K*D?K9S7?ulG3 аH7ׯ-II  C ݮD . (@ ! (O$gK JR s'xx7>Cic > pO0 hI#_IpF3 DNwNaX ? 7gI7G`w;P'' ~/# B*<B)   ׾?F𣯹]7'U ;0I v`&ZE'bHZy ? H%߾;߼1o> <}͈{Nw| NG<z | p| !;؀@=?}w0GoXxee 7uYe FHI>m__>=WщHH UoH(B'?oOed05 eXhu(3%'AKt(LIXMf0h}@H% >0U? ߍ T ]YC?+I,B іA(DP~7%-g9 1Wh1 i/~'f7>.װ`'hOOvix( ǨMmP8CEFOaEsǯK+(~cЯbI':;J~ gMI APG6OPG(8 Ϯ >?0@@0D؇!I ?KT?uws (ׯ.A C f n M؎_T xhB$ J0+t'pp?7>CicE ։m؊J#pG3 PMb` p`'@ oj OO`w:/JWI~FyTD ? ']хA D .DpfXE'c/[ ? aO${'4~}"1p}"R R|> 8  %_{E0`X.a%wFo5XxLjee ?uYe~KHs>ud_/G0O u񛀃*|7E 8ed0u eXhu()d0 ȸ_/_e4'hE#G% C@O ޘI8QJe Ig5J3G& ~Bق*x!XCx#?)N91Wh1 i7~/b،>.߰pGoWÏfFN(Nm/Q0^A|sǯM?+(~clOк~?QJMMHAYg>wG0=TӖu8 NϏ0؄(  ^9i?/LpT?5Ǐ pЇ"OׯII^n rP n  ʨE(!'# K@?i t'x4p7>CidܞbNhJ)qwG cKKF`` F@ p #wP `w8(/3( H~g8%ǁF!P"1x"%e'D& %ɿ"_ vD> ;_  ~w? FyqAW'xJH.~pfTE'c[' OIIP$V|7'9.`518W/ W /03*{5Ic`3mȆoW3 ee GYeHs >7P~ i#~hg@H  y`x,_˸((Jed@ e`u(+AKg Őfoc;gCh0)G% P8U_ gOp;ALFq ^! A_?C F5* >" )ON=1Wh1u i7~F?hF>.p٘FoHx߄gCϕކ(M ̠MmoR0^KisǯVw+(cyωwJ:w@o^J׍MCHydHPG8uJFxYΐ 7H0xF0K29OWL T?5/ ǰ/HoHH GE rq WKWX.ǰ'# R8<)s(x?>Cidp^Jd4 pG p_ H\PK7P O{ , P `:(7IRȇ~<}zLq8FH#VϹJPExGՎ kEEPpPAMDŽ%Yx9^/ et _&Oetn~׀eh,AFQ!#xQ!9!R$e'/XG.S! R8H>pQ[ Ayjg (ti N.E~pfO E'bW Zy/ _H$~8 :؈<=߰BY X}&< I6@;=+W<݈4q]p=] o(6XsLjHe _uYeHs/>gP p/.>qM()Uz8ZX!)_x -edP ehu()` y xHmoNaCCh8,H%÷ fo(ηɯh!!Q)LO N%/x; .HF!@~$ؔ!_B,NE1_h1u i?>Ow7?.p@'oU؎( 8NܘMmoS0'2  sϯexSЧ+0c/ {  :rGCH pQ'GP_.@6`J_78L3nG}8Hg0׷_oݐT@5W3 ,=wo3E /  MGK 1P+P#L ^RɅt(?>Cidpv؎IhI@ qطG uW CȆW070G90 `u?? G~<~pHp#W׹ϊH0HFkR7FP8A?Y'%"Yz^/ et _&ctn~߀b@ 1A / IR H#e(X4 4o G CFH(q A΀y9wKh3YTHV ȶ~xfH E'bA#_JZ? g'Ii#厽Ͼ.W@ Ϩ @9L<JBًBPg~ M?> <L7>pM? }(N3AZSJAOX o@Ys@Hee ouYe' /H3/ >ŏP u_7E>wi G8) y(AH")G /eeX ehu(ϳ(Xp HmG_JDpX -H% cUM PG  A%?oRJU Ѧ ;C=h /y`H$P~ &>1_h25 iG>_ 7?.pG ÿOw'ݾO( Np noT0q  3ׯcx Ͽ +0d/G 8; 9wK򚯍ONH ȁw'XgP H`u[ FX6H ]OM8 2]HHyHB߷goLT@oϏ3 *0GF/o$!G '  P#J1P -" Y 8 t(G>CidpnG nJ  E rG߳ rOzp ?N0K8I 7_gJC_8 au90PGIw 󟨵~LoXF"Wy!o oHlZw P@pGOb_%& Z z^f4 _&`tn~@^؇2W ' B#e({H55ݧO g BXQa &A69BK(#9XH> نE~xfA E(cA*'[yOI gIGIGO#G= 7+@ B mO-Dž?mJ/_ y@,@ 'zOIH,}JedXѥ ehhu(s&K8 `M~ON_Bh}XȌ)G%*ܟQ 8 `0ك;JWINH 5wCO 5* *fIL@G#@G 8H1_h16 iG߆W8ȷ6D?.0G!GEo'ViO(s  m/U( Yo:0T +(cW( W@ :og WNG(m7Ng7 GX5`?Pvp L?^H2;h*Q sX'ߋCwgu?9Tw@_gO q՘G@oG/%H >   GJ[M-` + -C s(tG>Cid0Ɔ IupI`I =JqwGs cgNk ;Aߏ}IX B7C7J;O a5GsIG ~u} oPFP!Wy dOlQw P@0GYG%!LF Y^f _&H]Ftn>@YK/׆OR 0Sҧ!e(! .'0ORq" O5ٗ(* XHצE D>xf; EcA!wZ9W O/I8 gQ!/ N8Up580h8UǾ R =WO.P-.p.'G} N. sJ&R oeYHee WY%f Ilj>?w^?E[ъ  wV O{hH*0 ggO (sXJee@ue %`hu(3(LRgpa2Ch}$H%O7ɯ Nw_؈ 8A D&)@HA^^ ߋ%J$YH!NPڧQ1_h2 jGGyw?z/0G!7Hp7gZEiP(YN O m/W CHAs/ fG, d_: 7/AxG/HYGF;_g H85įU6 J 9g# Pnh6K0 7W5 ɈUwAG~ώس wV6/I퀊&σ `N0 R'$hK'WSۀDs4pGCid0E ƈdXJ0 0_ rwHs UoMZ@L 94KqXIn B*7הa'G V9 ~5~{qHX9He~l?P(pP/GH'E% [h9^f _&_[ vp>@U(߆rg_R%w$OK'\Rx ćA@&a ЧK CW >x&6 EdA\_'I V=>0W 7 "NGY~ XW~ |g //| 6y!W oeZx0ee WuY% IdzدI>xO WWGE醾S1  i' ߏ~/hc&oef0e %`hu(3h  M7mb+σh}"H%o?¿ N7CoP8I숁  ='=.BWB ? _I"TpJE >F>PO1_h3 jOFGvȍw~C@z/p Hh7_$T iwp(L  }n/X Dθs/? ?- d/g wJz߿ 6Av7K/NHCQWF3ogQJ05 4'NLߊS GlhWDW !U7Au7H|Nȳ Np4' g . xO / O_K!h%d7t4hGC)e͆ f]0 ,twH3 RSL 9F.@LOmHeB $/슧bG3@ 5x5|sHPX9?i}06l7FH ]/BE% \`y_g _&WZІ wq~S(҇J%FNOg`%ǧ! $2?N_o מBC (R~A @Ͽ X C>p&5 EeAO^9gI ՀIp>0? KWJZ> YG> <Kw 2< _#ZG oeZ3x8Iee WuY%IdzܧI>u WWO~S9K  =_O7iG&oeg0e %Xhu(3x M(J O7sb+Ch}G"H%WO_U o8׏@A Aw?=6W !"TT>SNBQ7/R1_h3 jOFGyچ@:/HiGg iu(K8O O {Nn/Y (ȁs/7 )w-d/o   5'y?K gHQg3w?J(5OoU 6 XmhOW ) V7Au?H_ȳ 0GUx5' JJgC .  / Ng!ψ%UϓtxthGC)e̎ nH]XJ-ItH3 U S 9F0/Omhd%?jbבO3X % p5uHuX?Hqh>Em8H0X /B/%\`y_g _&W[!wq~T(%F;אp'hoDϑ%×"o$UԞ  (/ @ ׹Ƀ ZD >p&7 EfAO^9އI ӈ\F/G /IYXO 1 KV G'[oeY3Iee W5Y%NIIsΈ>~O o \_C>X  AU88EAsF'tx ef0e %Xhu(XL  Vg| b1h}$H%_` Ɵ7@׏IH IMC_BnN &#UXX>n/OO_1_h3u jWFO ܶC@:/(/HoOgoSEix(U( O NnoYЀ3U0-d/w Jغ  4?WKGXWo9E'I(uPwD5J ?gNo"/ YHpXgP ׷WHV A5OH 0  08g 頊 v `Nxo&w$&['ΰsxthGC)eE f@PX2OsH \?M[ ;7 ?pgPA,WFpϓbQOs@J, I|pu~v@zXt(Gvl>H0ao '?I?%!L\Xy_gt _&g\!wq~V HЇG(APtORjH%Ư$w'Q/O^B8 ؄ "׹q C] C?p&: EeH]y 'I8 an=~-g@ "mDuUTg ǼH}+ W.G4U nuVsee _uY%' 'GIϳ > h_)g 'V PH,(##8,~(ec8ɥ e`hu(3" L@IbM`>h}*H%_V޷M/NjX h"C #y KILH $/H4H)\HQ8E>{'U7'1_h2 jO׆WX ?:/oH}WEoSЏ(rNloW s/ f+ c/o JO 6go LFB gWH/ F8u` N 4g*Tu@_ T7@u_3 pWV׈?/#ш I /w 7 N LהPJ..0+s(pGC)d߆F ~y֠< pH3 hlL =FFKOwt  7C8gFoaOȳI\/~|󜀵|_ s87QWgkElMH(pG'OGVW%( F Yhй^f _&_ uo~[ 0߆yבדRe.O/_R?w hRD7RA@"׹$ (^vE D>pf?؈ EdA?Zyg ?'xw=~+@ 75W55xJ5Q> N> _/,_.#7 6`*pI@P0 o0vX(ee oYe/ ?I'>wwC:fxEIHHO O~7!('B?m/ȉeeP5 ehu(s'/HKXШsO_M/p| .H%ïRh  xNߎʨ ?!C#_XZ̾ 6 [ >NK/q W#@8 B$3 Q1_h2 jWgLwD?{/0P ˿g'O(Mp` nV Pdz/[ůT +(do_ ϊ({ 7WF zGZ HPG  Hv( eO:j0M3YG{0HLB7guoiGUw@Hs `VK'H/(IC /G Ɉ H) 3 .!Nx C t(4OCid0~G J؈ Jq7Hs ||pK @FQ@@I WoHX a4pO3p_S5~3r@P"W9)oJj8l^P@''_fw%. Y<_f _&at@n`}3_R 1"e(Wx5^ 6˧'O DA>A  NB/^!  (  ^pV ֖E?xfBH Ec.' [O _IO o"G~W ( g8B?pKE FJF nM8k=? Ҹ2ATX2?P@ o@Yȳ0ee wYe 'K7I/>ŗvo9V?wYG@-O| ;!(Gv.IeeX5ѥ ehhu(s''PK`ϸqGN_LpL,H% e PNQʸ ")#?gVXo̮ 6C jBN  A(!! \pHF ֆ>xf@H EcA,J[ȹO gIOO"GO ) y0@@N G ^=4(8H9 :&qY.K0P oWee gY%GH >oKeGC$ξdA $ w {PH,#s1*z(JedHѥ %hhu(s"BKh[x7N`:h}

@X&p,׆?S!% *(,WN7 B  9oR%B ՗K(XF f>x&: EcAI[9W ?H G .w 7N.g+N,ϐ)U So~ <@'"o#) MQt_H"TG oeuYx0 ee OY%Iӯ>yP WKW/n~SD1 O }OV z-A^'/ 'nJef8ue %`(u(s`J/h b*h}x #H%o7 ׎?J0I AxA DM:/;GO o!"VJP!\&ֿ1_h2 jG?rM7f@z/0 h'E_5/)vX(M Џ nW(ذ/ JS, d~Wo:? 7q/ NjICQ?3O_ I8΃ J ///  RhkpֆW 7W5 UwAߵ/vs e7VhH2//o .E Nh'.'L" %lO| wsp?>Cid0~ fZJ *s7Hs L Sp 8. Wn@ iAI"FaOQ?8>/JsvKpXPXy Gh`F~x.l6o P `?P'G@% \h9^f!_&OYF wq>@R(O &߆YwWSoR%·J"o$@RdQ ۞x ڧ Rfg~̧ CTD >x&4 EeA OH]_IHx {&}o~3/@ _ M7K\o \7~ Ƨ _L5Ǽ  NL?#R0 oeuZxP ee OY%ƈI3ҧI>l ? T'CV~PDq  DOx/XwZ/&jJef8ue %`(u(swB| P D gb'h}"H%GmVM /O5h  9Eсg 8G9?B w!"RpHK&7BOR1Wh25 j?>7nM7^C@/0p HdEW' D)k(D0 unW0Po7 &- d{WJgJ: 8n}?NIM?0OE?J0^U )_KoR(h?Є wOu~K aIUwA'sOs )Ԡ0E/9 KG  n S!%Vw  Etp?>Cid0^ .HRPJȊ's7H׳ GML 6*pLj b FkOTb5?` !OJxst phyXyHjFF{8Hl3o PQG<%Ќ8 \h9^f4!_&GX wq>@P8%F<wrgK%I"$ϑNNnB XEGV_v@9 Sf f ~x&3 EeA ^oIHѰ_P!g~5'@ 'HJGI`o `7~ oO W: o\~H?D'R@G oeuYXee OY%I3ѧ>kW ?KTCVQD a P %׏x4w\ώG'jef85e %`(u(w{ H DMj b 'h}W $H%/GU׍ O/O`  )EgM7H9GB wF%G#RT  Q7O?1Wh25 j?>7mM7f?.pdEW& )j(DP O wnW8Ho,(~d{Og: 9l {IAN71GEI8:?Cv (gI!UȆhG wOu YIU@'tG3  ӠH0F/ ) W  o N~_ $&Mwsx?>Cid0fE 6HQ`J 's7H׳ F NL 6,ldITa5Q?p x~stKoplPXyHpE0~l3_ PO?OG=%@\p^f4!_&GW wq>@P@w'߆0cW_8%ÏG$g& ?QOH_~ PEQVA_n@9 DRnn ~x&40I EeA '] IӨIRP"g6' !q~Gao a7 o o; ?HLD(_oe5Xpee GY%H3˯>r? ? Ug&>PIK +OzHL?[&n ee85e %`(u(G~(JDMkMb C'h}x$H%/PǍg88 A "!*A 57ⶀ 'D'"cs0 1Wh25 j?>7n?.pcWS nD)o(K0 mW88o ߑ,(~cЯu7J_ 9@e xKWIALF0H8C'Uv 'N% hmhFO wOu9U@Hq_3 x-Fo   7 o OG%G&WgSsx??>Cidp>E FT` &rG׳ C T 93{؇xO Za57x~3q q`vWy7DEl17 PV/A9(K Q6 F ~x&9 I Ee']w 'H܈\|!7>5 C$}w!!GE_7> _= ?WG!/F9|ʟ"^&/?%pFoe5Xsee G5Y%.߆Hs·>O{?KVB 'EO! O I7 Ϗ|nC @ZT"sJed85e %Xhu(ApL E m d(Oh}3X"H%7uUҟMMKO ʨ A4 >AM1?H5V A㎀ &58(~6P1Wh1u i7>/oߎ?.p b߄WVixp(X `mV80o 0W,(~cЯmGG9w[JuNCI Ap J.߄ G8j'Uu `J '??&D @u0_ wG T@5Hn3 28H(OFoI  o ' '$MD#nO_wSDs??>Cidp fZHJPJ %HqG @G ]x >?H?؅/zIr`uw7J2y x}3m׋tPo WϹwH0F䎄l/E PeGA;% `[x|ȹ^/ ft!_&/]FvpπX 0D&ARP`Q%0"-$0OQN] NBqħ1EQ?9:у 'O ~x&A Ee/\_ ' HXI vwG<4 A$%!w\ \ {ط"G5?< B!ϻ1{oe5Wsee G5Ye~ ׆HsI>gs?W }OWDJ zǏ{ B !\/@ByX ed85 %Xhu(HL ֨ I' p e)'h}pXH%Gw hO̰ݘYDD OA .w2& ~fP sBDB (~k!FAw˧gQ1Wh1u i7~'p&?.pD HbDOC;/TVDi0P(fN ` mT8)A3ǯP +(~cЯe 7J8R t? ̯CI AX I.D G8UݖCu )g,$?pB}VGo aGT?5Hk3 io"o& pJ D o xW :Z  WK /لs?7>Cidp ՞Hb( J $pG @ g@ CK o As/ `u7 QGQ 9 ~ $5x? Xg= X7= @므/߻X2}PoeuWs ee ?uYedžHsI>m?KZB FP'" 0 OuhX#W_gO ~0ec85 %Xhu( G(L `IN7 vf+Ch}AH%O O  hH9AP[ M*/߇& gݞ}0X ~$ wP 1Wh1 i/~'oA>.߰@cOrvi(s0N  mR8 1(3ǯ y+(~cЯ`} >8KtoMI @C Ig/gG0 ؾ .|PG#A?K!T?5k3 ذo,(  D o Xp sT"W Ʉ sxx7>Cicp iOڸ #7pG A oLHFV pE@DO mIWWT `wP/8 wQ ~(xj+#YuGoe5WsXJee 7uYe& GI>i?\ DQ"i ?` mP$d ec0 %Xhu(3! (SG|׍f-h} H%_ '@U7 Я W8 !VDa(,HF_A΀8 ֐ ~%&WN, 1Wh1 i/~mA>:.װXDdOUi(| ؎PmP@C+A4Asǯ9 ߓ+0>cЯ]I|W~8gGtGI @C I?0?PG0u T! p3ʐ> X)!?Nj QS7?ul7O3 а姕`ׯ.YIC D / 8NPo @@ ק$g :H sxx7>Cic &oЏ(x#WpG3 CuKL^pK (D Oi?EW`w00/pKR ~( ^p&WEcZy 7$;1>0| X=޸ P| Po<{ >#7;&4y|po5Wsp ⮥ 7uYeFG>ɧOh7]R!Q DX UiIhB%fec0 eXht(3" LVG ~ fC.h}G%_ </ ׷g !!XфbN'I+VgA)}@ ~%/GN:`P 1Wh1 i/~l>:.װxHdO'i(Ѝ 0 mO@.ID8sJ*0>cЯ[o| ?~8GEJtL? I H J/0/ϐG0u5xT!u `5ǎP~@?p6K*D?K9S7?ulG3 аH7ׯ-II  C ݮD . (@ ! (O$gK JR s'xx7>Cic > pO0 hI#_IpF3 DNwNaX ? 7gI7G`w;P'' ~/# B*<B)   ׾?F𣯹]7'U ;0I vpfZE'bHZy ? H%߾;߼1o> <}͈{Nw| NG<z | p| !;=qy6:ha:TCpsp :_hgX$(OWM=N 9w؅8_wJ Kx99~jv3%Hroie?1= q[X0GXoc # ~ Fh׉"o#7#J'C==%@,p#OC- n:oGJi{`0?Pz,|X  8'.o3_'zCu<08WR?~|!î~mKXhY(Ih ~poM~|/p uG0`q9DbP .; ,Ww߇%oGp/__8GO(6~XE &}mhxi >t 7'Clj` 7$_nֈ6Ff ' >~ 7+"u2gMw0V?CD t(G(E  ~)HX0 ?FFb_ȁV6= W GώFr Њ ?P]@w " zg?xPrL\HBW+?/vnCذ>jﭰo '?B2$Gz Eh86K-E_ %kOY(xpupzoVȼ" 7?) ** -?*| '< L*ҏ( ~ @L Qɇ  z  A5*(!">^wpI CO*d@B n8 𑯃р ˷J,F:FRz.|H :-q /?wF83~!,CCp?p%0xppvl'&ᑧ- X$| {_%- W ?C%?!ϸֺFzX@ "/.@h;N5=TP%x8%ɥ%HhrW*fNB 4؂8? w=auF+r7o)W,,k/>9'X|($W?1| =|$q'Ou )<$)ˆ48 %G(D0.*]'v{w}:PH4!1w,2O8~m'~/::N)vxðiKpEH>{c Kxh&x:,o y?!KG!6(us(.M5YyJGAW.Dz!׻fp0"Gx2#vfgy~(ټ=^; Yo0{}ow-U(> B߯. u7'1"0/I,P= ={ ۸8cϸ!$!8dHA8NU/9}&=C4p?*|!w81_=I.y!F"h O? }~`!(' A@2@~4A >~y9L?.{Io)x7SE* y/&%;A P >C49| |8И>w&nw{8 o(xgGdZqè3 JA ϥU~Lpi!w|Px{X6o8HP8M=7y}D2G2ҏ2o5GlQA^<j21gD#0'#|!Dž9wqԿ? # @F#Nx=8 Bgg9 |x03 '@O p?74~ *6> |v9 Y"ٻ!=&}w#o8%%NH= W<%_&2$*$q<މ<]{qxgH0f@?ёXW|&Oj< <-NƵ Ew hz}"B+'>1X=9y}f7)LyZ8 h &a%rg( xS6Ppy#׻K?|b0P2'9}FwȄ"2{$G3Ϻ3O7s/Xr'$ )+hg~ To7Y7"*1/d/'= C{{ 9 ?8.O* [ouw#X "?133o/+{azG'd1#ĐZ(Phs~. Mwhv.`3*zǬ)b@);h2y0g| Tϻ Ѡs'zjy )?h{՗z67B8)8 > 'qH8<"${ <^!9#@ h|(whg}Hu#k) cw;88E +x;?H/#X.ǂ47dwjp:wr)7(H,i~K?kO8>A4!}<<?2Ɛ)wp)o62=,Jl3(0NX8z92#)(L<6:CPR; л a|Q;W%L)=1şpo7P~i~2yڋ0(&N?|X{}<7&7@{< +-oƸGx 0ܷuyvW%ʏ f<y8`1 JiAj P;Pj$tsϵN{Y}6ǹ~:߇::=値 Gmit:O8~G~+H_"#+6)$Q8I7?w?n4&yxi5+@}g2*w1%3H Dz Bwj8v(v ׼ o< 8n!C!>#u@%>&y*$ֹ(:)9"Gi$h~,g,:'~(f89<+H pjh,(p2; -h̃W_78(oo/n 4f7 &z%Ӯژ5%Ǽ0!M:2v&"OWMz!pP %x+ipYWgv9!myJ8s>_7#g!dpA;$FGʥ% |7gu%5t5:s H*+!I!'$ozier?"e'+*HO=*@)% Y8OXrܟzA~607u2(X7;-7 /i WzBкŸ-+-+on *6Y9Yg7 56ĸ8Xt@"9hx$mS.,.r(r+0.->7/lՈ vμ#^'J 77@m'~7^w7+} `{=0O-8;%5>'|+q=G1g鸮 s' tg zw7ǀr8Wj Oxe0kk g<:qu~wsȀdl&)&(kz,7s<'%0;!?>186/(w+Gh * 3tkR:86txlۅ/0k*mWn(g>.Ar&w' I9o*kˮwH-v3w4쥗ֵ @A(4) 7[_x+&s0t02_t_xsJ;$W57w= =>@#WV;)e&x>:G.7/m&x/ &(v j%\~9#Ϲx7m n!uk.'(:l%O2dR Bmk2'rg6:? h 迶? .'a=&n&!~,?ɿ).W)/u.v-<*!>*0i2)91Av+:,9=x6t pP.@ g1PxW.z&WO&*w/6''x//,>F/tPA$?w2!bjonfuv6!E x s'qMh^Pr (5)жw%`6 5v+6 6X11grcp G4.w_ۀ.ȸ& Х}}07 8p;)G,Nn>QAu'5h#iq.ug0out&7Xv خ`<','gv jX%h3s(13j `29x+t ѧ1;q;)2=>&ʼnW30G.<.6s-ohH7-i '8)^8.fx,0xq(0m(<`8֨۾/W B-j+mkg3o4 m?,"7se1<0 ]w kvu'sx/:j?i6uuت:k//l7 6W() p* z8iB;Jw,Gɶ%ǰ:$t6`k$x`k03ŷ(g s3rIp6i6&$&u\v4v+@(-1gHkS 7s3px,woik#QPzotrw q;-g?Iɶh"lӦ pvm /޷'s fꗷ sx B(4(!]6cXج30XXqsd` riv)tuq:;ȳ=_r>_-q v-96+;5G3,G((!`.`k#t'5#'δ%xu*j"+(Ծގθ%` Bmv8;mjP ` 7u /"O1<p5 K08/fw+)4uyy6A7;3w4Pv4HI3WIw;W8p4x+rv Ď$01G +p083?r/t)Hp%ȯ?)z+p@:B2ɲ$Iir(6iH xkv}k}GϳB+ vv/ump+uq=xg-mar|1:03s+7nl@50Xm!Ou(//9yw8l48*ֶhn(2@fb` BmuN7mUx5 !/:hV.&q*#')' 'Op*n)iqr%^9p%iap(ٖo.9Ys!i(kr;8 |0%(p#3W >.h؆,YW_0x:G-ay =WN5֮/&9&gW7ٷ 'p| P75 Y;qe"p*Х%h p*__kH(S6Jt ~dsDz(YEnٵo6"wz>v"5 20O7P o; sxWu/"f(Ch&+w(iq t @8GwD P0 /;-_-Ys}w|YP4'(0  mDL:) @`<#{`(Tp$gx<$]:)YXe0"H u,uz5U߷0'oo u`o41gu쥧8!O'&M< e2E?+9!ZQ)25~45Q: 8Rtv4o@ևu@"m=3 N1 W=6_."W*Z2 x+֦ߖ_x_-@v0د@*"vp \y BϭspvH/Tq 'wu ߴ=8 n~p# oA1 mfp `!>'0:O0"@r -n% V 1Y6>y2!DHqvgA o&|W/uׯg w{0Uo J7q7w8|%mA8W + 7<A8]X}e 52(eX ooRK8R::#jG; d75ѷ Fܟ/$7A>h$#;4y3z;Qz>48| sl>xvno#m'^n-;#24X W>F~u H}1'18<,XO6=$)A` Ox"k _?%i@oUhzrXuY 3lWooOG4M~394Ln$<e_< @v.t g y5O:=*)?=-0C(p$3'p 7{2  ;^~Rti'>ihvm2l/G;272 /F?=&/|/ADzo. 0{0Zop* q+IH0:G6cAi8 z>Wz7:jh{0( r!xߴ;׭?)'`K o{T#@#/FzV>>|a@=X=@< h; n566 L>߹o17g0 }5q"0vg8}h<w7ixs*Oq)c{Q}>,THX=.kx/G;4;+'%Ç?Q(i =- .pw\<T`ȩ,x708|8/S*) 8>|?AGB )!yv7@(8|1+"\u2H~,4s=v(  F0*o$?pfX Boxx9 ׁ;5h;y((:?;߭@x(;'\p@:߼X $_AX(@ؿYQ@@>8 O }+3?!0 Bv5XA wm򉟶%h0$S'AVxgB;/?u|w-io:w7}/ W13|/ _Pih5 ='/ /2c'@X()(z}:zw:W{ y;;C;=?Ǹ%G8=@6. `: -h;'N8 _w V7 Oy40: h zBv)6#hT BwkPǻfu?_ w/6Ƿ uQXutJF7@v "t8{٘#9NsȥP4_x{P)3W W w3wE{%R7ZW@ E?$IO'K(`?׻:0=oF%_(4%P(q[s| pO8cgd?-y0}F*虷,׆()˿)0 <<? `mH(? 1n:#z!.zy͈:ϯL7V` $韇& /- 7u^zwW>`66;&* q xC[O?큿-kh(ap voQ`>ژ{/swq Ѝ#u$3d8;Dh߄и O-_ -Xg+D  8#׿gMs26}ȴ Hh: PnpD@ iFp?ovtgu5t/AȲ80H G p DXE #|P(aJ3( _H3 +xPs=lHFB t "ǂi _ aDBVa AȀ Wo <'=r\J,py,x4 yQG ^3:/n hA@}#i?/(_8/GwfyDo<3o&m]#z=v<\CP=8|=G2J2 PK35Ӹek@;p; 4.$|hP#ɟ zB6~ %<v|:hfS Ch=f _  4 f "i ذNKϰ #gw}&,Q{ep@5 ^03 }x & XweFO7 oH} _ ]/A ;MI8M`p$~W|fteP(s/qJwJ s e.<ոGM(HS _K؋пW$0 ɿBQH 'G&7v? =+N# g0$0i!ud|7A^،(?6_!7φa7A i8puX MK sP!i 6@.f Qtw(z 5> ='gO "_G( DC,OL %&B ̀5PH&L} xCzF6w~ Fo7. g] hԘS#(G/p G On  g&> ܗ(;P Q uht >җ@*X0.FGa` G qPw65O oPJ\DC bGPgu0@'Ps w`P |j7;5P^_gX(J߸`8Nj(/ow<%_@{S?o Tw4 Gzcxiwro?c~GW''"8(G*ް/i=}P($@A-.C ? =}8Eo @a 4 hV8D/idX a8w GX)OV ,Gzػ`zXzOW N/y P}x; P;!y@IFH)y]HIO)=FoBGMzCş񲾆̽FH(=0 WaE1-_kXH hBGц =F}+{32p.$n^ Z a'}OX?y }+'4! (I' JI(w,J"3J.W oG H.M)gJ- Q61S_(2V*73T^ V>gCAY`1GM*ցG1_oFvwO!I"*8L|2v`KHCDx9h!1PM*CA-ybJG2 - QIgIwHgJ` "f_X/X%ׇI! 8J5g ?zIJxO߇I!^ FO mpEnNqJaK B$5Fv`HK"_K3  dGWN%!  ΈD(hKJ*~ir* Um8zoI ^a dVY d`FU'  GA26T_GwaE7_كk g*pF1Jix >p )/q$_L!cgڮ鷾nFJgH>#q@ ^H~_^0r`*k?k[0F! )"J#J*)I"o%%6xMK  H:&?\=,J$6$&>!HL0=,X?}0A7E'Ft eeH? hBR Im}} 6 ]R lZ ^%>Hj؅)UلH}H)EDGM 7ŧ f>ȽnH0 =@JwKbEJF*H_GıHk GwFE{+y`}3W2y~% n0 ^Z a?K}gXQJ;+7 4x!/0/ljJ K(?+J!4p-wI G _-(',"A 7X8 (0&*J7_}3Zƃ T>B@Z )&&I\o!oH!*`xX2w XF:H 1 )D%A0}C bGIoG1YAQ왏Hw_IxAJ!ֈfw PD/%gH hI6>Z  AEOEpH FwHnp~D s7qGA%5EC h!?.A! 8JeGG M%JÉHD(HF*x|u*Vmh {(oH U jYdFUO! Gm2HRwvwi^7 wA)Cl  G?*oqEl H? p -91ц%Q7 cw}gJp" A!OH|_Ho@?*}m?n ~\HID  )J""hJ*)H "oO$`$6xKI f}G@;x%gY+J $7#g%> HHL`+Z?}XgEDOu/mEIDi"IX m}m 6z_RlJ[%: z )KC G)'EGM CF@Ň EFĥF > NodOF)~H_?Jqk GlI(E :+v|32'~o ^Zp a'}_ Y` :+ 4 "GoHJF '*J(G 4H,o_g ,o (G+& 81^EH}w'/+I7x{3b R=AZwC )^@>KXV~! X*`u2wxH ׸AH~: 1 )C,AAp_ 3; bWHoF.MRw뚗GO7Hp@wI &G_ F D/K%A x6<  Fwn@ yA/qCQL%5 D @ ` '!8e %97ED (BP}*p>;xW|*@VEmhJ{o ׆ L rYeGCVWqH)%3QgƮE7NsD8H o@~am맗 =*nDn 8~ qw 2E4 'bN@?6Jh" !BHzD_0k=*pr=\HDH*`I!GH!JW}* aH_ !o?K##6HKH&HeH!W;$oVX+J#8Cw"G$ HMhW+\}hWuw]mIGg]E5~4:J_2lZG8b Gz )G)wEƖGMWD BOo&ÍGx >ehRI(fH^Il GfxE *uX;3O2F(V o^0GZDa }Zpм*4H "FJ ''*J4P+ /+'*'8aY|I'/+w7W;3f Q<@_[s (LVW>G!oF{*tP2w( 8I~:P1(~0/AЌL4P;B!b߇-9IRG GvJ A/J%gFH6:HJY0?xvD nC^ |q@7L%6(  A!(E  O$a"GeE % wE)XA|*l`>O;y{*'GVn {Fo`F G GD wYoeGV׉HGH4~P߄NMx>8{BmPEI G=*moQ{Io > q 4I6'9?Ib?x0HD/JD! f"vHyD`i@=*qs<]Cx'GG* (J|*I  G#X#6JK' MG#;p#U+J؇"8XCG"W# HM+]~O߃u0MGE Kzf_G%|2J_k[G;G z )1MD@ȇ)_E&GME GCf(@ůIGFĥG0 >HNdO)_gJyk GmiE`E :+w0|3'2Ƅ'oH^ZE aO} Y&J:+?I40 "?0/GJF '*JX 40, , (+%!I8I]h}'/G+'H7/|3a&C S?=A@ZxC )v@^KGX߄n~/!G * u(2wЉhJAH: 1 )D+AM 2< bwH󎏆.UIR뚷GwFWH@막 >Hއ G)/K%?Y 6<"IJGEHG fEGnhD xAWq? Cq'M%5 DŽ Eh  (!(XeGF %A gD ((C}*q >;w*@VmJ{0oG M qBYHdGCV(wHAH-I3QE_r7pI@ym맿 >*nɄ/n `~ p 14!'bf @g NJ﷐ " !BHzD_Xk>*B?AZ D o)^fAHG]Gώ!Lj!*y2wȊJ F: !1x)#A/H} bG1A%QGJA'!LR)/x%׿ ! 6ϊ>jiE򆟅7Ȉ NnE qBq_Iy%50F @!ė/)!HIxe oM% ÙI/DH(G*zG}t*' Vm zpo` G X hCY'dFU@GIIGuI2SʦǏf7JakH?L ?*p?E_k p ,i1%y c߿>P ~ϿJ H# &!CH|_p?*~lP?m`~G\X OE?J@J)8K""ȿJ*) /K"H%%6 K8n@;&Z=,J@J$6H/ $%W>!HL=,YX?}'H昀EGE讏u@7IomFM C i2 V Im}u F6J^ZlR\% h >&XnUP ⶥ OXe= GW>ɧOfׂ@$ Dh U|8 jB`/0DwPebP5 e`ht(3jHIr GNeCW/Ch G%w <?׷g M8+3S +747WGJOM5, 5" k8%/GN:`P 1_h0 i/~o}(Mw?->:-߰qozwG'* (x@  lO@5p ',,I*0~cدt/_ {w @g t ? H(L(zt7EϐEP5xT!NJ*06 J9HHFhD}j_mϊ*O5'HHS7>u\s 1M0G߯@ (W &o Ne !*O$ JR&H &s(?7~Cic?'OO}(Jl o7F3 >oLLF^ 7~ȅ DžEH/G_;P/J'~||3sq`O$VYCx 'k?VP0AM% 0HX|y^o d o&'HeFAtncHF"". R#O&e(g/# //  /Of _B@DŽ$ODHDN#g|IjP_N0 wed8u e`thsgjrwM eW `G%9(g؋KM$LX . 6S,7xK7' o7@ 0/7# k@O/7.H:$1_h.h?}wM0=,װpq7z(,hx h h mO5 )+ 0ϯHxR*dotJ:ُG ?t'WCH*z_EtG03@,gI,6 8 hD}jgm PI,7u PQ7<G\г 0+MH_Go@IK+K(. KMdG, F*䗌& HO#&K(s(4X}Ba)OWI}l0? pDs > oL^K O~PD/E/D/]o;03"~G5~ssq0F&TYCxDE7)kWVGE(?N@찟MCe YH9\. bo ofep)@tnc@o_''-*M+e(@N*w 'PI1 1; K *WODyC؉1 hL(.DЈ7K.1hfVXE'bhZ gtI (g)W$7E'H#υ)8).!#x#?,· g"+ G Eo%ouZ3ⶥ 5 Xe='C3 I@ fgJ߁@$ǃD P/ߎ |jA_g 0Pwef u e`th}s 0jq eW'< Ge881KXJ_ 7K&LP_ 28SG.6x9LG_HI:x 3/9h# k}w4_.LW9(&1W,5g=𙗂} w3/o L(F^hJ ~DGEGDEOH/'[W5:P s pOM(~);p5s'Kq&SWyY Cx,kV(W o@7M7CehZ{x[ `W4 ofGdF)h@t0oP>7c@'E)),-,e(@ÿ- W!2 G2:H"J@I,WE?9C3IhKh0C0'3OhfVE(b yH GtH(?D*%'$**.##P$߄-"G#7G- JGw%ou \p3@ǥⶥ 4 Xe=FׅA3  f @C嗂$_FC /N|kh_^ 0v gu e`th{sC ȉjȆqKWeXW| CGe8(3 ןI *Lp 4WG9SF/6;G;I5:p# XkPA}7-L 9J*1W+gw}_|Lp7o 6;w)p` qzO72/)M xhwHL poO4(I.*P5g/F)O)+@ft'I:ُ! X?Ws BHx.zgtK4 2 6W.u8'LpE _8C|(iWEl?HF.uJ 8OW8[7ذO6MXEgEȇH//+n d5x* + GL+% ,thXt GB_0G-O/|NkH_HsAs= ox L]'~P㇄ǟD/'ZG: $s (* }iX5ssJqȅ +Q/9Y7FȐ7I.jVO p#'@ׅMe p[HZn ^G4 of7Gdi @uo>cȿHϊ-Ȋ-,K10ehςxß 1##_3 H3: $J-? _CBC3hK2Cx13>hfV`Ehb] oGtG,wF 'C*&߅'%o*+.##X%-"OF$. JH$o \hx ǥⶥ t Xe=@ws HK!f߉O@GC/$7hC o, |k@B^_ 0XBvh e`th{w䯃PIjxq e@W| CGe8O1O x"և"G ,L749SE/6G;OF'?<P 6;" Bk `h 8g-!gJ!98K,0W*uf_}EG|@Lhw6;g:(0 qFz'o0F/)HMxwȋKpЯOh4/*6_soG''+(g/ tz/E! ?/ s$BH`/z7DtMLt 2N5Dž.صH 7ߋ C|GiDl.7J NO78w5 dž[04MDE/ h/ʧG,خ h LdG5(*H .OGX+%G,thP /B^pg-O| IkGs7@= o( LE]@Ǎ~ h7WDG/$Z?u:Ћ%g Jg +E}iPuxrg q J.QyYEh/j׾VD %@찯Me X[8Z׮ ^?t ofdi@uo=cπ_o/h/,`2O 3eh oL2'Ǎ#3 E3:#JX.C/xC4hKX2CXoG24=hfV G EhbȀG]97 g'tx_/? B*ݷ''%*X,.H$#%G-wG#$. JGw%ou \p3@ǥⶥ 4 Xe=FׅA3  f @C嗂$_FC /N|kh_^ 0v gu e`th{sC ȉjȆqKWeXW| CGe8(3 ןI *Lp 4WG9SF/6;G;I5:p# XkPA}7-L 9J*1W+gw}_|Lp7o 6;w)p` qzO72/)M xhwHL poO4(I.*P5g/F)O)+@ft'I:ُ! X?Ws BHx.zgtK4 2 6W.u8'LpE _8C|(iWEl?HF.uJ 8OW8[7ذO6MXEgEȇH//+n d5x* + GL+% ,thXt GB_0G-O/|NkH_HsAs= ox L]'~P㇄ǟD/'ZG: $s (* }iX5ssJqȅ +Q/9Y7FȐ7I.jVO p#'@ׅMe p[HZn ^G4 of7Gdi @uo>cȿHϊ-Ȋ-,K10ehςxß 1##_3 H3: $J-? _CBC3hK2Cx13>hfV`Ehb] oGtG,wF 'C*&߅'%o*+.##X%-"OF$. G Eo%ouZ3ⶥ 5 Xe='C3 I@ fgJ߁@$ǃD P/ߎ |jA_g 0Pwef u e`th}s 0jq eW'< Ge881KXJ_ 7K&LP_ 28SG.6x9LG_HI:x 3/9h# k}w4_.LW9(&1W,5g=𙗂} w3/o L(F^hJ ~DGEGDEOH/'[W5:P s pOM(~);p5s'Kq&SWyY Cx,kV(W o@7M7CehZ{x[ `W4 ofGdF)h@t0oP>7c@'E)),-,e(@ÿ- W!2 G2:H"J@I,WE?9C3IhKh0C0'3OhfVE(b yH GtH(?D*%'$**.##P$߄-"G#7G- A& o5X0ⶥ /Xe=HFE?>Of _B@DŽ$ODHDN#g|IjP_N0 wed8u e`thsgjrwM eW `G%9(g؋KM$LX . 6S,7xK7' o7@ 0/7# k@O/7.H:$1_h.h?}wM0=,װpq7z(,hx h h mO5 )+ 0ϯHxR*dotJ:ُG ?t'WCH*z_EtG03@,gI,6 8 hD}jgm PI,7u PQ7<G\г 0+MH_Go@IK+K(. KMdG, F*䗌& HO#&K(s(4X}Ba)OWI}l0? pDs > oL^K O~PD/E/D/]o;03"~G5~ssq0F&TYCxDE7)kWVGE(?N@찟MCe YH9\. bo ofep)@tnc@o_''-*M+e(@N*w 'PI1 1; K *WODyC؉1 hL(.DЈ7K.1hfVXE'bhZ gtI (g)W$7E'H#υ)8).!#x#?,· g"+ h >&XnUP ⶥ OXe= GW>ɧOfׂ@$ Dh U|8 jB`/0DwPebP5 e`ht(3jHIr GNeCW/Ch G%w <?׷g M8+3S +747WGJOM5, 5" k8%/GN:`P 1_h0 i/~o}(Mw?->:-߰qozwG'* (x@  lO@5p ',,I*0~cدt/_ {w @g t ? H(L(zt7EϐEP5xT!NJ*06 J9HHFhD}j_mϊ*O5'HHS7>u\s 1M0G߯@ (W &o Ne !*O$ JR&H &s(?7~Cic?'OO}(Jl o7F3 >oLLF^ 7~ȅ DžEH/G_;P/J'~||3sq`O$VYCx 'k?VP0AM% 0HX|y^o d o&'HeFAtncHF"". R#O&e(g/# //  /ɗlGKNF,g#3?pDX v``R`'H}XecHu e`hu(3fJk0 r ? gC^hG%_O ;'קM_ M Jg,_4T+857MG77 6-5# )D0S&3wE/7N:P!1_h0 i/z(->:.߰ )cG+GU+O(w0  m/Q8C5P (,-IS*(~cدZgJPHFC/ t/I(A )+oPFH5h!ϯJ+ v8jh8iGHxJ+7G5L(S7?׵^s 1UN/Hׯ(Ȍ)?&o dw!%K J&(&s(4/~Cic'L(O7} O8 lJp7F3 >oN^ /X`GHK^F7T_;/A3H~|5|suxp%VY9hg'k? X(0AF.E%Y^o e o&rGivohxP##.$G&e'xh#!wQK0 0F𣷹D8K0/ (Lp,B𢇌,_K0hfXE'dߊZ9 tJ%+W(MI"uH'!h*I(o$GI$2+|pX@$`I$K?) K1A oYxⶥ GYe= Ho>ɏO}w ^^Hzh DP ih2! aC9G pJeeHu e`u(s  k(Ir 7N jhaH%_ ;קW!M_-W 5T ,9 6/?/ 'M6- 6ty6QF LI(>&~/7:PP!1_h1 i/u .?:.߰61He?G+(w( n/S86HM(--IS+(~cدQO}ʾ Ge׋t'MI AL)HH55h"ϧ+88 *q  Gai?K +7GuL HT7?׵`N qO/ׯ )7 'o d o!&G O% JR' 't(4/~Cid(O7|hl rwG3 >oP^ 'GqG۶G mIV/`;O'Asw |u~s|/L}O%W9Y%))!_ (l?vX(0F%LI[9^o e o&hny@qox?##.R$G'e'CYGU$!o0J0<`K ) F G𣷹E00'(LhL-AH,O0hf\E'f\9 HtȊ&Gp  J{YI4yvLL  rJ  I ~[Y R Q oǸu `p~񖘊ǥⶥ Ye?__Dws @gO ڞ)n΅HE U@bC b׎f j4 eXtwh~g K j s Mjӎ|D Ge' <hwM'L w+L3R*6M4IGM4 + 4Zy E/a$F/`N;P1W.h}υ𖗂tL`w'+( +g.O~hf]E(fJa8y 7t # fGJч qHicvJ- qy iIAJ^Hr*8X(^pȥfȲ}xϥ YFE=28 ˧vgB )#SOD FH P_xx 2b PHn( ȥH(t_zrCPIfPHvLMg`GeO=7 ٷLgHX O%L.IJ&+M/OW _M/X& /@%BP AR71NGM<`0G)״eoyHK6N&: &G Bw߃OT%)Xz İ wOHA.L!#N&rKR .H|j0 Lgwй V& [wI7B H w"C'E5O U 7x_%u`<HQC @"huOP%vJNw5F`w h TGho7o pp"ϋ HJpm C8CLȋ u3 ~O|A[K"Ywg 'Jy>DzAJu PbJ  ꦃ 'EA8SY_t= yH'}):xyWihDNOb  !k8GPAoEgwe|EazXGZ gfyokxiw ?r0=o xBO0 OehB!Ё/P J* *>x B"f_'88*_ C0&;?L&'K*'`f_DcJf8xH ɯo' @'}.C"FD 1ـ(m!#D*(V)~(*6I"6Y*Qq*](m,PX7+ODoХP4f8XEץ g3YJ :7?`<̏ pC ǁ-H( (b  Cc0Cnp3 %ȥ@htOxqw!HhdX xKf@GB -!Ge/M> ! ڟONFhH ޷ )FI"(*ljW o ȗ +M! *B,/V)pB B2 / =@0?(''4c{W} u/!8#ox OS "H({KĈ xx/OH,@"(N!'oL/PknSFwy'-'T_yoK F gE OUps8X!pF>N0C-(E(B Xy!ߵo3 IL51tF`K@2SDnKKmpKqH _7&2C燍IMKu PO@iXo ]XFf(I / x;Cww P8Edg zh lX%7Dw0RX!?߾ `2P |y3"wdXJf FrB}(D Gj7}z/ 8@ЯM?e`IucȷW-W2 _f_jvH>sH(G cYFns"%Х@t?(w!!Gn uKe8 :c@D"GϥW>P"ۧGPG  K(Wx :(됟F ' ) K)>.7p!|D_0;2 G =@ 07h&bg?}Ȉp Ƨ8W"oC  )@(| Ǹ yPP9K/1OL0lQyÐx\.(MwG'g E@~ /b/ `/ W8P' 4 x" ۿ GLl  %H'HIi 'Ht' &όˇ (-x ʰ ֠.C2o =@07&Ws!agzzu"g 7!gI BJrWiK8h}PJ(X {0o Q\PSPMg1'/ L8?P1mP.SG}_E( g%Kq7@ D J)W ( Y8H֠3"@7/J2)h& CIO 5#2$7L!.'c ŀqސosX_W.Ȑ NJ'XGx M OPE#0DgKM Ou((@2| ο@)Ug73}EG uwu#9_1=v0ObPE똄 !.fW%? ƨȄ'N {i3&0#rwq`KGW6 >Dž (BH_ j; W>/ ' g)'좨f86 VWT' _fvjP`I$? u(JpNC!C%C$v u#hy?@C}J} #`\FD(ehH k xFG KWEN1.-V( 1EE.&C4L4^F01C5A)@F125 $c MB ,Hpk(HD%Y7?q7Kl' ޮn)$WE GW  tBg  nPr%%8t7hv$v8EaIe~ hGϥ=PH"  oKF AfK%h #_OEiF L" %2*DH  9&20I=p0/&"`׹>xX鰸t#uM7o ?/iW/=W9x0h |o S}Xh/ LO2m(.]EÐ7NH&φ"JDiGo 7 D(= F &E LY 7hj'Hs#4"H'ް$`CE |7I4$Or%᠅L".2Df8 X0W? ' p v/J(̈G*woO!  GL`  v(({ ?iTO OW G y( E𪘇Sv4$9q 9GvNPb/ E FSPW&>h '= `0g {wr'$mwЀx E5 B(Emg j; /`o o ෻WCІxh V'S1 _sgiB y |v(:'J Ǽ  م{p'%ezXE   ?Kk+'@ '{B7HȰi5 V-R1 _ug0! {zw9gH<P _WK P0p w㨥/(0$`F#w 0`?۰ DG NgF#8"ؿ' JKF  XXChgXGm( `AWGD%1m//WH(ň/.2H5/00G5g0(U/Rh0d7鯇#' PP'px2l0pȄ%1YG6 z̷JeQ.F (u 7FPPoωcx|n&e0t/hv%ȗ(TI/ e0>'D7,hFϥWJ=`"pwϊ@Gh0) /"Gʶ @  mX'OPEp Ψ 9M2/ =0/&#_/7vx@4$W76 ohF UYo} ǦJI(h0H ﯘI|n T}80n KO3@mr'H&GD_ׇ ? C pKn7eg Zq7r$9O%XfFo  W$q&5aM?#-o7Cp'H0" 39 9J G#IFL v(hG?S'/ .6pXIvP4%9!;yMb_ FP /;BOXO2(>؊| p &){OPr(0&a}@ DG .p h 'LkG/8(o J:B( jH@u VlR _uBg)!z{PxX9Wf0Jǂ7 00PLW 㨥/hJ ^@ W _ L  J?)pG  p? 3aF LIvK_XXDChh_n4 AXH7 C/G._,?%jF,0H+_/"1,W-?2$E+/,4֯ D@C#xppk@D%YG6pA̯d&gB O!CKD8 @J񂰁8uixDm&e0t/hvp&xxSIf>g 77`Fϥ?<X"X_H MQMKY LWF:L UfD!U`@yM2  = 0/&r$_rPF0$N7v DJ,|gf )I(h 0쯘| VмSYl1N߮ K3m-h/D_GDZG Ch ?y@7D Z7p}Ή$ A/$F DB(ry?t%&F`M't$-W2vp"/Ǐ4)>-S$ G܆wN*PEU LL Nu(hq: ?So > Hk0Hu@t%90">׆yNXBbȆ7 鼰oE9FX7(>o 鮟 A{)'@(p&^ D'5 1D^ k( NJߟz_7ȅԀi 7( VRw1 _o/i)!z| y(9'iN  J0 㨥/hF[P7 fVA>k9K xMGE?D4 KIHAq Pފ79XY`ChiHnt DOgD%I'ׇG#c% @"WPE('0G)'$%7*E$$ϗ+= ?X3(phk9%YO6̗e^6CwR!HCJo ({I@G{ BhDl1'e0t/hwo&Gh`/aGTIh=چAwd8Fץ <(@"0/G 9 8I IBJ?FfÞ5L ts0 AiAx'Mk?1 =@ 0/&$_8}'?m8($7 $)E6'~ )xI(hI뮐I| W JN37lmX}o JToG? BP J LY16Ѹ$DL`5B 1xǃو/%1'zM$-Gr|ø"/_ObFmj189I 7JFЇ.Z@ pB/KX ñu0hp: 7?S -.f qnIs0%9"DF{P bWxB;BOX'(> W C_ P!G{)78(x&Zo 0D &$/ % k: .<( o'֎AXi7 VRg _ilHA)!h}:yym;r ;ؗ J0㨥/h\Ё p؁ ǧ  wˆ >x ϹJM A B ~t j pFA mIy`[DChj;m PCuOtBak ]EgD?~>8E^bI-{~pXjpxD%oqY60o9 eɎB{' PCIPIxAzO} Dlq'e0t'hwW&W@ 9TOi=wPF< H"hg NN\BH\ƎG% mHq }H@"@xd72J/I= 0/&w2%^x|~jЅ$86 n3F_ )I(hpH|. WX:KK0. JO4wlЭRz6CMDQ'LJ B8 :B΁(LXpq6x6Ѩ2% QowCFX{A%q'{N$-'7Oè0#onϭo ?A= > ,0FH6 m@xAILIu0h`1xz w?S/ Jc蟠.Ҧs%9"H/F|FQc!OkI>OY2)>J7 pC鮯LQ{)v 2)`0'X?FIC 099B%a5kwz ܆| / G@HXBiv V,RO _g_n)"@:~:y:n0B{|xA;PJ 0㨥/ha@s ? L!G>! |@0> ZpFEՉU`\Chkx{l p@׃aIXxA CqHx@ im0Dσ ʟ _VC# / V DFH-v @p8rjиp%WYN6AyJf_D^NW@ @PYCIhxHY}~G搰k'e0(t'hw?p'߀9qTH킏i}׎@pwF =@h"؈Ho NO2]Ji\H7fH= mHk@ { hǀ2>hK0/'_r%^|>=j8s%eK8v Ϯ0QBG@N7G^H)H(h{Ȯ X0< LjKwn LPOW4lRCzvANoSW B < zJ XX7x6Јr%QoDQ(fF{WC93&'w{iFNs%-rBp#moq@Hu.lpꆀƈwi LH AJu0h@q` ˯?So  fc`.ynr4&:p#Io|xQcGAmAJBBY)?@K< ĸPGP{)Ƕ)Hp'X C4-@6$)Jk_ NP| ? ':AϾ0iȶtVlR7q _g'An@i" z~zyznȻy_{0 1 /L 㨥/h]0p   !?،p??=o4 Ex}`\CkXNmx4 `@ꢿCba 8 Bihop `@`0 WPB& CVD`X/p0jpp%GY7y_eg禿̆v@QD hQ(y@?{o~@k1(e0(t'hx7'o򪠄91R삇iX7rhF?P# ۏW OM:]ZHH]R.]Uu z` !8dW3X >XL0/'W%^}~}i%- 8w 0Fǀ~/<)(糈{Ȯ X(|K" o MO4l-S{ LoW'I B< ( XH9pHЀ%Qs B8E{?!s&1({FNϳ%-€#.ly~qهBYEFNohh诋Nu0h8H ˗?)S ~·chhD1)& rs&:o#LE}Pco !BAwnGw&OY)@ȋ< İ@CP){i)8'YCt&.7!B Y kG ~BP Kz@ iشWlS' _g?mi"z~ynBzO(L!2(g㨥7hat/NMG"G@ XM}AA_t G : E-IŇ`\CkHmht d' @r/Dvvn k7DEzQ , %&pX2l0p%WY7A7hdخ@ &nFLF`Jp w ,oCl1(e8(t'hx?'H_P:KLjHhXPFgBQX$܇JgY^B dZFiFaBGEȎuE XAy x8Q4@` 0/'_%^7}f@%M8 Ϯ>CM@>gŸF)(0G컸} W`Z"IwǮ PO4l-W|¨6%[Ia0J B; &C ZX1<`Ӡ2&U?GШh1|s&1(7sO׳%-GĘ#.@RjEErH H0@F꽖oQ8 PyHv8hPX: ˗?)So b꠨=qH~t&:w#X?(OeAE+WDGO~Z)A; 0pCﳿNIQE{i)H'YW( DtfE6IA@i -IkG &< :^ Ej64WlS/ _ll(i":}z8lBX{W(#4H 䰥7hۨDO §E'B !*ׄgt !FG rC(腇`[0CjPnp 77lHo oƇ WIG"G#IebWI!hxIg=QH!S#%Aph2ox0D%gYDO7pH9ge *fG;DHqA,@D w|o'e8(t/hyOp'Nx80iE~_ hAxU!GJE % 'K  YdrF]9UEӎEF#m#BRxQ |>6XX B 0/(or%_׿}b%8v ׮G f|~)`H(Hh؈خ VZn R5m\}6v#MOmOJgD ):F C ֖L]p? vڸ2&DYu1^1'0CC1t&'^Os%.2Ǩ#\NhqDqF׍ vFlh{ÖQe)F!f쿍 R(9Fv8h`h: ̯w?So EaAQG~wt&:p#fxO h؇ )iCnDWBZ)C 76A{)Ƕ )Xp'Y{D4n, 9)C k_ f ( MW .A m5WlS?q _tGj@i"P:}{8ϺkQ %N7h䰥7ha%)"  CDsf!XvEw4  "@e`\8D Cjr AG k0'uJFH #$"v &#_G#Y)Li 'R^K{F&",C2D" php9%oYfD? 7pHy ofӮB C11IQ mA+i[B!_yBp'e8(t/hy_0'k ` E)C|WIhx}~wC#GJFQ &h o_T ^E X aNʂDEC%E#YB$J18 TB7` CP0/(w2%_xaE%-F96 nEIr?<C¨)H(@ HGƠn V| SEp. SO5wnЭ\/|6J&T&O7rGEH D $bE ^C ^x@ ܸ2&[gGF#i)P&Y 4&'GSO3%.'2 Ȱp#Ta C ϭ_>E lPx #I/ S8O aw0hhqp w@T/ 6`>Fxt&:0#mwx OxiG4!Y e`A OZr)D M CG+C{)v()`p'Yx E ރ!/A Eloz F0( 7 w:n5W,SO1 _woj( i"p:~{k z!WA'& 88P䰥7h͙%i"G8 ߍ%‚ E` @,D"%C ʂ J>B-`]Cj;st ؄'eׂE< X#2$#%㹈&U*g(5 )'.iG,"I%'+TC0 ppq9%qYO 70'Xy  fD ]E.C+I xl.@Mv/)q'e8(t/hyg0'YX'CH|O h}~wa"GNJG & ķ RZZ҂9MEݾ]UFuD!"#I)8X I7p D0/(2%_x/=` t%=9 .FIBs_ A=ǧQC¨)(8xn V|LEp. TXgO5wnح\?{77F=D$Q't? D "r vX_A޸%^/9! (hւIC%'QBO$.7 oɸp#pS1 ~׭Ya:iEEE,0vPFͦ9"C' T@Iw0hpq 7@T E_(D`](Chj;t4 7?a((FBVF"(!҉G"+rF#I%<.(OG'%q,F+U !q$0P*ZH pـrq08%1YCg 7?p9 ҟfD@B ݅V)IPIl 4F7HQ0 qq'e8(t/hxw&SCh (CH|gIi}7!GץߊHh0 &8 G RU_COݾDDG=9"(NQD7  E 0/'$_8G=_E84%8 Iqro '=¨)0hHxH. V}JFDrF TO'57nm\W{OE1F6D#RGsOP 'Eл &ÞCH_qBв%0a7a 1'فBC7%q'~RO$.G wF"oHWA mWa7am,8EuXОaD!)C'WHTPOEw0h 7@T !v^D:Q͎y8%:"r_E Oj@ׇ?YADQb Z/(Ep{ pg'QC{)7@r)&Xy0 E ߆$@1 #1l: ~ `8/ ćM߯A&Anw0VSg _wkP )"~{{kȂ ;yCw ( : P䰥/hY"1 H ƧJF, 2C D>HBy`]HChjt (EW_D^C "n<~F!/E ٱG!2"r#4V'HG&$Ǒ+G*}F%"J*VbhA pبqаhX%Y^D 70w fB n-!I ImP7@JBwBXE r&e8t/hxp&YFFH*D|Ii}ހ!GץHpQ` &Lߗ GO QLcREE.}H" B"(1CSFC7LXLE0 0/'2$`o_X$]8v Ko &WȇD¨`0h `Ƹ VH=QG;Gpn T'5(n-[w{o78f=$Qrw OE;  >Ch_B( E2%P aF!'VCDWt%& Y CN74$.gB p"0/P] -X8腇xuE7!OHTxFw0hqz '@T'o "f^9z`t%:0"qG Oj`D?G.UaWB. NYOr(E ; +C{)/`(p&XFzXpE/5 ( 4 %YkC @ ķM ߺAN Em07X5VS1 _vBkp )"غ~@{{@yG;k (P ( :P 䰥/h#C   ǍD%jF 0^F@4 R >p&FG9`]hChjNs HLJ] Cх*C!)b!!+ "H$=G(PF&mHQF%G,*I z G'.D# p2qy%Y 7q9 fgEA&C MfC6HHKn2Z&! r(r&e8t7hw%lnD!-QDW}Ih x #GϥW HQJ& wOOF : ` T*G׎F]GjE$$ !CRP S^7L  Dh07&r#`G9`04$U 8 Jقn&ǿ~°؈0h G0/ Uш-  TPg4hxo\ |E 8K TN&PDp wE0  >փ_1B`R s$ ]H $D*AB.OF $2& dMgt#.2C '!HobI _:i $NHmExͦoE$C OTv0hȱg8@T7 $_pHE71vGz$9p!l OixH D8Zf!d&^Bf NYw'D 7 8104I{o72(%Yy@Egu ҆()A4!B "q>kzC}P/ M ;Av@@mp V-S1 _vk )!{}xzk `{)!?<OP(H:0 䰥/( &C#?Q ܝ' EyG@,~"$f u Ȉ r>`]Chj0|Gs X\? >I!Y&$%Y$Z&)'VG+h~)߽!(9/G-6 $P))Ι4ʄ)p3p00%'Y. 6Oq7 OM fEF^%VBEHxo @}.$" rhr%%@t?hv$~D$P+F E~WhX>Axg!&GץG %L ÿDaʋIr H V G EJe-J݉){т' E@98 p~ 6@ LC0?%'s"`ygcF4#}7_ G/?p//^Hx@h8J o UٙJ  '/ Sȏ3o8] }E ˀo$NE*L_n'MϾE< Q ?D^(2ARN`s# T߈)'uD-(VEDǴ#g2%W m Lt"-2o H p_A 7f=aJ6 8}ɖy!'uC#LjS ΑIv0(H;x@iTW . 6b 1 Fz#87q c@ O0g&~%6 ['Җ hW&C(< pP >AE{w2'$Zwx@Eu ~Q.QB , kG{C0po ?{GᎁBkص U7R1 gfw?j !x|;y9jXC QD%|'P9xQX䰥7(!*'ЇN_H*HEP9 xa"R'GvD$_u 2H H hy ?(C Hh[Dhiqh 7τWGHPG&b.%6G(*y(qG,II,/H-(tF+qY2c0=FJ)*t:1pӠnq(e rYϥ6/ e&AԎbfF,_IGx qNC'vJFa%Fȥr" `t_(uq"מD&(FII  f?f8Y(GeESHK$HO'%HM"K#!JR~ ƈ CV /0)0C(!XzГC#5M@A0Wh$aWz'hЇX 57w /(Qrg4v) `( }`S>L91_oQP2nn` x(n,GOmG@ EP L"g]? ?6J  F7 >i+E/8BC }_u!" hK?5 -gs' HqЯSGnc 4Ɉ `n i -G ɏ -a)1!%'?Q YKvH2|Ώ@TT~ i0An zh!8SG}H N d(IGJ0CǮ'nD#V VGs$BNW ǐ >F {)x`$"_Ou F_6 F A ` j&oO AeCiv U-Ro fzhBi Hz|wz n"i0 ˘KL zQؿ9Q$P!(WrO0zmeG8χ*CW+Bm?GM F`L-;D! Y< 'ר49 h+E-xR)'6s ?GJ.//rƀHT aGB +N $ PIJI/Tx)8$' OXQ/%u`h83з:@)V^L!IpȇJ ? y068orEow M ap''w#PovC T @@gƘg%|i 4!H2eWIrHOH(AC  #j|wpOD W %e9pUS' &}fȃxxtf E D)w> /" 4@Q%_h@. ,OR7 ~K,b) .A Q! #',nD+7( Xk%@X#r&{&X8 DOhep~^jgOF 9J'F4I-5gG+q5H.G7@ 4L2M1&H6,3X23U H#8PCh4XEo&05dX&e WX%fI:sG }f/IWA/ UgE/f AE@ w򛈁_!eM zH%mf &ϘthvrXJX_ M eX$_GON ?T_L pw_I3( :,6 ?Sn 6gG30 :/h8!<' `1N =P0&/udggvv-/8y #0 DtwE\? ?&+ h| L v/P0 *N0s/L .P%  H&HsHh/K62tWf?8ٸ G; 0mg 0? *.ĠJ(OJgiE#}xO#M*t`(3O@P|ztsloqPDЏ#KWxw ˆ 4O *j~5 hA@?E*B  H`xxVW׳ WeE>v>rdH~ $  10R #_(j@D((? !(34?L* i#o'jGD'8D'X1OXh .AF,0|W8 DO(c+d0xGG xO#7 P3m+&3x+42--V_6VH'--7p-lw 3A$`+Foeص [s> ee u X%&wGAs @>gfo|g5 wE(W`EO U {HvP `F`x%g e %΀ht(|ЗEpHm eBI < G ߐ&VHHE/biJ]@ WHO P%O gF-I&#E+2H%-%+H%%///H$$o-&4y|po5Wsp ⶥ 7uXeFG>ɧOh7]R!Q DX UiIhB%fec0 %Phu(3" LVG ~ fC.h}G%_ </ ׷g !!XфbN'I+VgA)}@ ~%/GN:`P 1Wh1 i/~l>:.װxHdO'ix(Ѝ 0 mO@.ID8sǯJ*0>cЯ[o| ?~8GEJtL? I H J/0/ϐG0u5xT!u `5ǎP~@?p6K*D?K9S7?ulG3 аH7ׯ-II  C ݮD . (@ ! (O$gK JR s'xx7>Cic > pO0 hI#_IpF3 DNwNaX ? 7gI7G`w;P'' ~/# B*<B)   ׾?F𣯹]7'U ;0I v`&ZE'bHZy ? H%߾;߼1o> <}͈{Nw| NG<z | p| !;%:sHoe5Ysp e⮥ 7uYeѦII>Oh'K[oS9E(OOl h%mO ee8 %Xhu(3$ IT i+h}G%/O (PMO H@ Ub9M/ouB)B >w'(X$#1Wh2 k/~Fp NA:/߰dwOix(M ˠ nRH/ :sǯB-0>dЯ^g~I'>;?? F n L K'2'PH0u$ u X 888pDȆHwK&79U7Aus/ а/U H^ׯ*!. 0@F! ($?K 8qsxx7>Cid~u8 8IrH3 CyPb8 E? /hI7Taw/'As~|h~3fn%X X0®n?._XA;_%\x<_o f _&jFAxq~j؇x?FwP#x%&P'%'~?#w!/ &68QAф?Ͼ> F𥯹ZI UC>8nEp&\E'e>]y 7珞xޏ&; |5_ <|pRg S7|: h < `< &z>x4$=Nf W_ DSEHnp#?ueg8 %Xhu(3&@RM m'h}G%$wLL  0 LQDW  g H j"΄"~A=B>W*@N?  &1Wh4 n7r N^'C:0߰cgOSniP(h ̀ oUH&у/sǯ6S0(>eЯ`WIк=Hx.I_C7W7BuGx ȰGT$0Gϯ$ H. 8$? 8A% !#Q sxx7~CieΈJ y8K  G tJ3 ?M{x SІc  E 'hwI/Ecw'As P|ha p'[6Jh@ !q?.W`AF9W%،^x$я"F+8 XϾ~(𧯹PKq @H|vp&_pE'h _y ?IoHX'垻 9?!|hVW Wz h~< `< +ߺ0t"=c SG |TDPS!  oxB"}_@ei8 %Phu(3& ؋ HRMg p#߂h}@ G%'NR* !K GHqAI  .,)Y} B>P- W)1Wh6 q7Fs 1E:1߰GaOWג!"i (MXNL pXPsǯ&#_2(>fЯa?Iк>? HWSK CS( MD3gOL8uחQ.!u h =/(X . }?i7?K Y7Du|N Ȱ(ɖϯXIH%>#. n s&? H &J O(A sxtx7~CifF#{`8JvK3 9Ǎ}8 VdxJGO(E h_'Rew #'As@ |h\rF )] xX0(t.?`pA츷6G%L`xy`o j _&χo#A}w~o x GN%'N*7-O*%' 9xg%o #O#9B - ƿ Ǿ~0𩷹E?Y AXIK(J&p&bHHE'kayp G 70H/(pG "g|;~9|hYG< [z p>| p| 0ؾs > =yHn5]s ee 7uYenwMlj >Ma P' oƼTq D˷&xpB!O@ej8 %Phu(3( pUMs h}@ G%M'Q/(Kw " v h@8C <GM& L4 3 2q8vo. "wW+1Wh8 s7tM/K5G:2߰`/DWC|Q$&'i ( pZX C3ǯ)50>gЯbIк}? H7 F  xCV(˸BND5M8u1馋'u p A >p 6K{ )C 7 a[7FuG ȰQ,ȠF~ϯi +( '. Ўa'? `% W,0sxtx?~Cig 'ʞ|O (K  xM3 3M~J Yd0(  hG  gwL&'sK|huY twK)_VԈp8=7L+v/'E hpW컗4/D% Lcxya/ k _&q&쀸y~q x  hzM%nj+ / +%'  Qf?&_"~*A %#i ~ @𫷹;  3ACBh / ,+p&dE'n~cy ( OH ( @f &'|>Q|<{h\/| _;z pȼ | 5:3@1zHn^s ee 7uYegOlj> a NWDVg ID0Q*q"?N el@ %Phu(+w  (H[Lw h} G%O2Jٟ "?JpWP X@37݆N +5C 65}@C(^O/o $ԿJ7+1_h: v?Fu q 6J:3Є`_Cu&))ihN(PM X q]`у3ǯO-70>hЯdHgк!_C~ IJp H zK 7 ]7HuoG pP.H6ϯ  7J.SG(. X x>U( ` uJ$IM.sxtp?~CihPw'} ̀ V zN3 /W \eI0($g h/I$iw ('s}Nx|huY vJ(a ט@p+y0Epp4D% exyb/ m _&Gt)샸|~tx@  PnO$K+/m *%'0aYo%!N .A (9D(~ >> H񭷹6I .CxP,#ON-p&g E'qKe9 OG {J' > +{B=Y⸼h a< d h| < ;W~x3EI=|n`see 7uYeFMOP>?Lb P7vYG D ,Mr& Ien@ %Phu(0? HKcLz!h} G%LO3X/! n' @5A:Y JX7\K8$M8"HC@JM-G@g %g  +1_h; x?vp7Lz4b_Cq&IM+i( ψ (rȯ`h"3/ :0iدfHOIz(}H~ JI8? `\((BS:oM Q8u 33,5 `KN~h n {7 x`7JuWG' pvO.О o ` J0iL*. L NLLg'? a j!g.sxtp?~Ciil?)f` (K|P3 .G ^FcX w0()7@ i _'jwK('s~G|hu\K xF|J&c> ڨH_L-|2xpLg5% 0 gxyc/ n _&w+솸~>vx 8Fd"/ *K.[ (%'1iQ/#GG&0 I) CN"O o>> XF񰷹:/BEIsύ.HW/p&iG E'tAg9 O󷷇XkJ% { 2I=aX; g k{ Wz P>ȼ p| B:Đ~XsKY} nǸasèee /uYeѦGR >7 eTF|]7 Dא,t èB,w? ep@ %Phu(6  ( H m}C$Bh} G%ɯ28 I oOЈ q;B 6KJ hN;`w ;/;(HX;׍* @'K%WJw)1_h= {Gx(ϋ:Nz5Dfgq%X.i(0 sȯbp 1 IA%3g0P <0jدi7z/N> L 7?X`(AV>7 !R8uiǍ1> 05 `PN` ˾"}97J b7Ku?N pi-P $o9 NJ3qK-. `LM I$ YAc  .aCsxtp?~Dijx,MJ ~Q3 .G `bFb0_ 00/?@ j(lw ('s`_Nx|huawK z؆n#e9ɞLEPNj06DpL'O8%h@Ijpyd/ p _&GyF.쉸@>@yGx @ (F_L s'jK,N %%'1iNO !O71 4L*%X# ' GwX񲷹A4FG1X 3p&lG E'vA/i9 O`" :w{PW aH n; r_ /@~`| Jyʈ@sPi=0nɸcsĨ ee /uYe 7Sdz>?hXD&<a' FLǐ, x uJƸ1_  A eq@ %Phu(; JG wNC(Bh} G%ͧ20 /twLhH"QBBM@ ~ "nw>]I=2?>.H@h6(K%W wJ(1_h? ~GFz '=Qz6igtP$a_M2i(K tȯep"'3?1 >(kدl/ z6ϼTg N߉9? Pc(ۘZoAw!T@u] 0C? 35 `VNX? D %J/ d7Mu7ø pd, K&oN'5uWK0. p/KO#ؿ YbJL-9sptpG~Dikp 0 "/L S3 1G PeFb WN 8E85 !_ l DO)nw·''sH hugwK |i/ "g9 XEO39Dp'G<%` PIlp9e/ r _&|F1싸@>@|Gx @A`Gl'K&`׋*K #% 1!iPwMg ?6 7 _*-8$~ #/ W`񴿹K /k\Dd HL,"pMxJɸ5WN  A es@ %Phu(? ~ C+Bh} G%ПN2 J' wg`@@#aIU  !' $vO@`>87 @1Hh8(?K%G gJ(1_hA GF{L ?Sz8 lgvP$jG3i(KLuȯhp$(3'N1 A(lدnH'Iz9|X_ Q׉ (o!FGQJ7{?1. KX O M# YeJ§ -IspthG~Dilp_1 #  W!U 37 P he G 8E89 %W o D)pwħ'' s@KoG huko k "j9 `E' 5@Gx! @Ac7nK&bNj*M #%1$iRoM_I/=8%O*5($> &~O`񶿹Q Ei K 7iwM8p&r E(|A#w#m9G GI _NJ F zEGZ'=)iٻ@ y |7; :8~ P| U Ȉ>@sOi}(nɸcsĨJee /5YeM7SsI>LgwW.`'G E P-p uJư0_N   eq@ %Phu(: }JFw C'h} G%˗3 JH q7Àx@$H S ^ #o @]I>2?-}H`:*%7GJ)1_h? ~GFwLϊ>Qz6EigqwP%b3iM(K  tȯep!%$)3/N1w!>0kدk' z3ϼSg NI8Pb(YoAw!T@uf1DK45 ` T=X L&~Ji7 d7Mu7Mø pgO-'oN߉6vK1. K` IW% YcK.y sptpG~Dikp7L1M#؍JGL!S .` dc(GN 084 g l )nwȟ ('s@K? |huf_ |m#g DX48Dp'G;%X Plpye/ rt _&|F1싸@>@{Gx ` q'h ,Nw$% 1 i?N/ /IN7? 8IO*70$ !/ W`񴿹Nف G!H 􈇌6aG7p&n E(yA?L#k9G GI_J"F z?OT7=$i||{@{ s w?; :8 <X O PsJa}} nǸas  ee /uYe^M?R >cSF<\/  DP-Ms Ĩ*w A eo@ %Phu(4  z (j }#h} G%Ǘ3( H! nð$ GQOA  n;g:5' <'=H@CPD - %7JO +1_h= {GtWK:Nz5egCp_&[GM/i( PLsȯbp)QC%.A(3o0o!<0jدh/z-M L6X_(X!V=/M!R8uwM3AL05 ` M`? f #{7J a7Ku?M pp.0֎J$oI SJ3tOK-. J/& YggJ! /!sptp?~Dijpzw -f~  ~Q3 + adHO 00.?@ j(lwշ('sH8 |hu__ z؆w%eV P_K05poL'O8%h@jxyd/ p _&GyF.숸@>xGx (FbK"})w .VOK'%1iO #I5_L4*:X#  Gw`񱷹J!JB F 2\3p&k E(vA i9 G(Ggg$ 8w{NW}a<< ;H; m; pW /@` Hy>x3EI={n`see 7uYeOFPI>7aP7n|XG 9 D'Q, q&? en@ %Phu(/? 8 x `^ߍLy!h} G%nj/3`/I" oA$iFCIݎJ>J\GN6f6+L7"@C@U /? %g ,1_h; x?r(MW5L:4bC_Cr'J *iN(P` Lrȯ_h/$39&3O/P 90>iدeGIк'=G> JI8/ `\( R9 P8u46w+u `GN}h Lz!7  _7IuO p~O/hE >oG`Q /l(. M>LPG( ` pw# /D sxtp?~Ciil ( |H JPNK|P3 -/ ^Fex o00(/? i w'jw('sP |'x |hu3Yo wІ'cKڰH'+|2xpw _F5% 0 gxyc/ n _&vF+솸~>ux 8FiK$'K+/ew)%'0aUM%7 !7N*/)ȼ h| A~3A1}yn5^s ee 7uYev gOlj>L`PO|Vg  D` ) p񻐂# el8 %Phu(+o hKx0  VMLv B h}@ G%'/1Jω"O sg (GH"FF &J 5A'J44y=@(i/g #wK,1_h9 u?FpXh 5I:3DGa_CwQ&_(i`N (Lʨ q\`/!4a$3ǯ O,70>hЯcHgIк!W=C IJ@O_hX(P6O8u3K)u h BN h Df za7 a]7GugW pǐ.ɰ ˞ϯGH6',LK'. xLKY( `{%׉o .Asxtp?~CihE 'Ҧ { K҈JzN3 0O~ [FeI0($_ π h7 /$hw''s`}ȇ|h3XuJ)`fK֠DEHh/ +y0 ppLwF4% (Iexyb/ l _&Gs(삸{~sx  Pso% , 0vL+%'(Y_&"N - Y ';qDPw?  H񭷹D0J)CBxDWM, -p&f E'pndy OG'( 6{ +CY|ѻ` a d{w `~< x ;Oz>s >wne5]s ee 7uYe wMI >?bNJR/B g<UD%Nn"׿ej8 %Phu((@ zKGQr" h} G% Q.WKJ"|!`hGDI@_涉I> 3w0./q=8C>/@M!ݧ ⯌+1Wh7 r7p 4G:2߰DGa7W$K&i ( M pYX.4 3ǯ('40>gЯa Iк@~ H?K' xCU(N5CM8ug1n%u p= (h? n{' 7 [7EuG|N Ȱ,Έϯ1H H (%. xniא( `&' +isxtx?~Cig & zO xL3 4M}( Xe00(D!? hOfw &'AsxK?0H|h3Y sﯿ *^J ҐpE@-G*v/' hpo A캗57% Ibxya/ k _&Gq%Ax~p x @  hW& ,N/7 ,%'? QowN'#?( B$;? @𫷹FIJYAhK+ζ*p&d E'm by0 O/)@^{ &'>}Iм;p{]' _׻ p>| < 5H";ټuo5[see 7uYeNKK >MdUOB wּTaDp O m﯀#vWeh8 %Xhu(3& K~LPP_ o%h}G%?NR) ! "ǠG x KIO ^ *F)%Y(>/-NM)1Wh5 p7Fo G.D:0߰DbWW"I i (XHN oVP-D5sǯ/PR!w10>fЯ`7Iк=> GWZK' CQ  M3K0u-6Hu p:O8~h n }G  77K 9Y7Dux ȰG(hF ϯ#8"I!. XNJ ' PM' O'Dsxx7~Cif!. x`O W vK3 :|` UeJW0(D hg'Rdw"'As|h3]KqF)\>΀`8V&s?.?`7A췯7GD%I`xfYgSCщENXOkxB$oef8 %Xhu(3%` ϨR M k)h}G%NT#L ǧ'!@ P XA 'tf箃&A@ >̏*%؎_M0%1Wh3 m/o$B:/߰coO&Gi`O( ʈN(M nSH-!6sǯ=8'.0>eЯ^WI~ к~CieFvO0 ( sI3 ?z RІd0D 'h /bw)'AsQ! ~|h3bߋnO(ZމhDH(p?.O`Aφ:W%  ]x<_o g _&kAys~lxO%'P))%'!%߷ #ɂ2>hο(𦯹RI P>HIp&^xE'gI ^y G ghӷN(G|7G> ){πU_ V'| €~| x| *:t&6|qo5Xsxee 7uYefH >gh/ \wBD<RC ) E8 UjЉh%@iOed0 %Xhu(3#߀LT_  hC-Bh}G%7O 4ؔho  AV_q I$7B^ 1} >S'@,hN2"1Wh2 j/~Fm?:.װdON i( ʰ0 mPH.A7AsǯG,0>dЯ\gI}I/:?EqK @ J/E1'DH0u*(#vDu ` 5ߎHHxGFH' 7T7@un73 аW(G7ׯ,1II>. N8O'"? 0G%G C sxx7>CidˆrO0XqG3 CNxKOb@ O(D /Ah7Eaw7'AK ~| x| $;p 7, A<^x*@냸H5x %\% 寥Ɗ򈇆'sP KJCOFN|9 K@W ?XBAmXJ &v@so' g@|LlM`2[Ng@BH%`VG  qBT!B]AQqM?KFƀXPDxC~?. ҏ?(}'nǽ?BPXf}^Bh?zuW0vJOgsq,q8-HZ6XC4qSg 8 ?U 1 2 DHdh{ ?*,7JQCB2R UCv X? q bOK817h  ߶|/uGIGmr / ͦNp (qO刀똁P{K `!E,^7~폏/ K@Hf-' "_Z`L@@DHLjߏŐOLo Տ4HQumȋgPɯiW|N,5GeqGyF ƨFDy?frWA!GD먯LIUhy.4gfk[7(m&@}u~Y0HHAG?7hЏXe 8P?oS/ǒ GC CQ?. ~woE/L s`y+Ip.dC>XЦ H8'mx׶E9跉H W7 {!}H0ȼZW7|o:И ;:Ӡhv# ;]`H*08HJϥ\o4e>?  M=>|:W&OV X?Gg@r&`x'v(thOhGo8kMH6 ah؂ O8}@☧ _#)Q^ s \~.fpC萠} ?PQ'}?m=씟Qg`>B huqgGBq0v-b(Hh73YBHb 7G ߳n  Ju {twLn@ݗ67 ~BVOxqrݞwŗP+S'qE,^hv`?'쏇ǯބO@K ._&bDM n8@D g@GH? PgvmK@Kɷ7 ɴѻYh*w@v@?hJ%\4%ŎH0>G OG ;w w ?'Ћ.wV 䏏VPI%Kh@wxx' "vt+ ?؇$ Ke X 9ߌghh}Pe֠W' X_ DX)sgGx> f>͸@.XP N'Q(}mg}E?BOgfhuk׆Eς6qH-y- k  7H Yh?^B2ˇ/4 T 1sRpW(Gw?-IW CAC:oogp7" U>C`!H7}~tpn`g.9g3ug (u|/Noop6!3GH׮ B VDOrNpH6 'hGP_6R&i,_??>쏇ݜ婾HQO ׈.`)_j IxWq'O"? ׀ AWH.Dr'Pv@vkH XKɷܪ?OXx%-6$NO dEGPp EH> x'~Bf`s GG%Tym3W&nGb(8pm&h|?t>?aXGhGAOFß RX`h`>R/ 8'( H Fw !~ G/gDK s+c!E+h쒾 X(U`gmE9'H7p G? <G({'=|<6: `@_G;03 noi <wfͨ2pG -YIQpt$ONfİCߏO% N2Pw(}m/GEMe gufOJ?Cw ql|PO-`spM6Y B:DWт2/>PT OT 1`r[wM~e07I[o B@Eg+oh,T6C 8#XMXDt(خ^q뷲|' ` ✟4{3PMm6#x( ȊDNoOH萀OK @xRy,8 ]v>'*֛o&RH ,xz o,q8MF` tDD@W"?A<LJo2`wu0viwӀ7*թ|M&,6&RbOp&hHՖDxǽ ooe2_@_ TXy mr'reȅ7 &0|t=e?8?EGH&xRXX((H>R? A #Q2 ?FW:"U!E'K s X)+ oX('[(mpއDGpIgG<;dkWh;:TO;ڠ{<ָr8|Px*h'v 5\eV_p=ʟ UJoD_=WC>U SH~xCRG@T_NX@Hf1"*vh'sOpZAhKY``Du/ igApǰN< ٯ_HBy9YF[wL)2A'wἰ8ۏ|,0 GN<`P7)|2m׼M@chN fW8t fEQ?q0k- j{ 5@YA2KBgO0HS S 2}qew}0po"o4`J7hB@RW9o 6xTN!G!}H>~t&_ ՗gp ߛO4zsFTku"`8 !Eoڰ.oDL!No~wT~xONJ K RqE,[5@>ǽ*ӛgGVhЉ!o)y/q0? xPiȊyW^׀<;WOr=/rHuiĀ 7kҩǻJз%)v%W bpOpOx0F8w+Wd`؇@챧Ee_ ~IT(ym룧evwghE78k'?|0u`?hF( 搷E0 RGX&2j@~xR yD< 4:WTo?<_﹯8B1J sK+DXXg0aGim(C@gG` F[OO$? `zXW~O~ u{H`;𩿼#P} )R0*%~xևi\O3eqGG ZWIQ7Sg}_߂㘋Fp V|P^7[N@He:(3v%sxh$՟g \MKg |LjP'A<̠oi¸gET )PWMHAA5T|ϋ2';v7 P<߹pᕐڏ 99P MEPzomDOR`(V"f8siWſCp-Ȩ$H0L3HoYA0HQ?ʿS S 380l?HH ?$o@9Hg ??CZ'B?C ` H5@6}xx(' ~wƅc?IIE? 0 ޚ3y?WFZ' h`tа8+7O/@J`(7O TQ),gY}kКpv\xI*/'07׋~T`ppp鷰mI>oqFO߾pسl 8K/lϩwG"&t"^d08Oow.hEDw/3bpoůG_#g$K@ Tzpmwz7jE7)'?|>u =gl@~>gH(9Xe;?>8Q' AF( 2EHW@bg?JWW_x< J sG.G΂}Xx&9eHGn?wCX8 _ pkWg&! ;Pڐz_W! ~A0g@0X㝈ۏp| 3@B  N0/jyl<A\(` > e8r7oEY'Tp)-P@ 4Z=qUABrq] ߓ 28og`: w_"_>nJ  pB??hZOA_  `uJHF~h6G0w<|&i1緲 ߘ4xschHtpU,/1P8WCDK/xNW> @wJ ],gYwؙ1Gf0xI.g'pw?7 Vu_pD꿨eǀCEG  O؏wqstQ( _שHX6!'t d h`"po'xHDv3GDBc/OG%/eg 8IT:G2&~mXE7'|8?u`}o0>摗E1PB QX%3g+=  g BDOX AQAO[_?CWw8NJ sV3CXx&1hG/n0C8PwG O F`?7>%? X{x:z?~7~ zϻ|X{ﯯ#xP{f*sxI)[Gf/4%7׽O fIOA o2|Y1VO 0e镰Hn玸e*ص#vs`h MA0 | [ wjh)X( 8  wH'QABAaEA㎗L4;7VV?@XCގS"wI HV`gx3 l?E'i@`Ƃd/yr0`DxFYWB/D pi N-M0(4 [P!j3ge  20} 0ow7I` Zs?DIvG8B?0@UG:WC PSx& ~(G;Ǎ<=`sI4D5 3 G ● x?tm itpшH&/p' &~DKP/H񍨎 H܇`~/f4,' YPwGoqքHr@8 .'87rH XEx 8`NG@1/O CPg3Vq37Њȏߩ{H'Htkm*nwxpE͘D~Dv/0WPc/ O@''ς_T08nos7fFp7 '|u}Ͽr~ǀ FP9K HX%+ӗkᘽ=7Mؗ A :W WI+G~/>D︯lYK sg oQD:΃ Xp&)jWknxχCG'H (Fp} x??zQ0y}}_?Ø i[ߴe?F_7 n_O ǃ U7*]P( o HB6y'%"uvsPh ҿ7@ PK dߌkH׼iO]px >Nǐ<bA{!E'M37G ~v { ؂}PT_O [*w״lO=E헇Bxh`wcyq_ \CvpO- PM8H4o\X_zف߿3qkHT _ 2poIXz 8/Y?K(C>x@#QD5( 0u WvC~FG <} ~PA%I斏wwyNip(H!p> B ~Ko0 _I~?KkpGi,(YXt~Ώ펇,ֈ0O`.'w So0 ZH{@70D@4?A ]W Gw\`q3͇yJǬ{H'rgs.n `Dxn v/cog@뺇F,W% S8wo/to'r7)'H@|uu @ XFWQ>HOxX"ӿ@NQ 6Y]ؑ jX 1~ Ͼ @ypK sg B@ >/~Xh l0n@ ?C7첇Hh +oKX0zH?==A:@hlg;xu":*e~Pu x  [ e7t G xKV? |U?JeO! y8(,'h5evs@(kt'Lp nO /k&B/a D?QDtDAύ77gznց. HC⠂`Ux !`8jwul}FM`8 c: q!핯cGB^EpX-x xĠ3ȯ^d ~ ߇t Oro T 1p7IH:~F? UO NC>.BQ5D# 5 ZPND}xpR }р @H/a叵? 떟vߵ ߇?hhxp !GwqOy!IK. @?WU1 poOa,(Y0 ο},_2E։J0 1 '4`g[~ ǏpDp  ?nGIE#aApPs KR'Il|G0u&{ y4pn_OJ8DDu7?2Gb/Pڇ@77%pLS/0u ft07'@|(uP~Oxh_>7 FBQS RXR_ ClɂbXR s#R׿# wK sgJ졶&gX`mn A B(9XЧH#P ;-|>~ {|:;r/ p߼-zH<8<P?{ݘ ,9*%~0u`x JG[' GIP aGO}ZgDLJl)W (8p 0*G % ves8(O5!WAYwǍk3`GOPi`#@ K ?QuلAg@<7 qfn&B y|x?ňC쐂&@7A\ (gwvl~O_ضCco{ qr 1nofp-hM3_^9vYO5ȿv8 ? 10~/tIg8z7<_ M'C>-V:+R bUN} H_OY~ 8G.J doNHv?Oh X0'G)'2 Xi * EJ.HN0OPW whSNyD,X4rn Q7_&0o?]FOP? ~'$*hPQp @o67-oG4& 0;nyo (DDņu:8boW@OEEe LHSH|@yp צ /Hv7'A|u>zI G@J8[p&XHQw&0ϒ oj q+86w ? 90L s'RЈ윖E6E~X`fmnljBp GI(H&X8<0~{P8;fW`|%_> = =@g;ȿ4;H*ȥ~2@؉7['6&K  WKjCE <^'DH dO "꿸,?@Ie%vs(ҟ@KH rg /j=C8X/] Ag-I fq~qDDw>Is.&ByP@}Q @O]`Qovwl}?BpM_ >c;pG t쨯BFpPO-HhXЌ3o_M) cq3k  20pG9 =:O_ 8xC>hiXWE=wD! h4WxUFE}@[W ЃH>J虗WiϿg J gvGGhX/0 槲Q$yCڎEJ.ḍJ PKl S>A,Xpη7/6 xJH6'J&@ ǵq򎠋YwKʈp? ',@!^QGp4iIg'߇ b)_ b ! ? y9 s{CRpVO~XX&g+oXB0y X AH<,> P d]G<):>0=@=?< { *%~4r8?Ӏ[w' K7FOvO 7>g t7&'Юm|>_  C>yB[ECOh 4L(UV|ZO0xCF_ _K@!o'"KA9ugWOg1/H AF@/ sGy vJm@J/ WaR&I ,hXs ~ϗW-os FJ0 :&`6!uOXT@mP hDH/'5Fg%SPoP ,wmF%1 %PPn%K8C)DHv?CBbӿo뵇YWEgT08r/oE7(}0u>?p(H?πPF4ERX%8 @~ 7R .HT0 J g)> @9sC K sbS6E>XP&`0Ho8AIC(woHxG!g{.w=ؽx;hh?|a{4zX}x}E?8QhB @F*&~سr?0i[ǧ!ow'? = wC.7"j7U (V (H A=?OO Xevpfsx(g6&*ЊgLohUG? &H`PpЉ!ȿ _Gp&( 8On 5 (Dv~Ihbo7'c_( @GT('7k70j(@}v`k؆?hEW)H:xRXX? P>Pч@Q N+J 1D P ?3 > ️9W/ rhG TGߊ=X &X'+ o!gC'GhG0'/5}{(""r{jo;CzHm}oQvX! 9F(*~`o'[*6f1!NjwWw=̿ ~o37.PphI/YG?kH 'p~gKOo7Bo ݰBڞwG>MEb`0?iި&2X FTH!v_g0hP70k(@}?v7f/x/E0GXӧX>`>/Q N@x =*> 9?  rȩ01S`DۊgXeRo)?CxG뛧x F={1z=׼P~&; x&{׻s?;Pہ` SR"\9h(# 9Gx*@82Ƙ֯e\3W5e:!oH_ z_31o$GEXw hG?zʸzvps$׿"20J\L~g@]?x=L/cȰയ?oiwEݨe;KxFTh񵯯"&9FeE7(l'8@}Xu}>bP~H??OEϗ'X$g(0/Q D6  >?o,>P_x2BJ r$PņϦى'=XMPo`(CXx՗O0 wFA_5@w| ('!j'~{vUs0!Fp E#ap @!xyE;*ʀַ\+ge2_gh} r7}?('|fC 1= @>pvH@&vs(jӷן )蕀` S v gRH"|(Bp" ސJ C6|J'{ϵkx8wU(T?!@/L@P'OTпxo 9D,`+[r쏟i/f{@I8O*Wl_NkFOȊ N0C G~ 7E'gv!,?rqx Q aɟ:Jx)8p/{wp82K֠&xBBdq맷^Wި%3 ` FTp /&1bp7X'H}u??_0X?7E QX(g0@~Qg C A,`Q >6O"~ﺗx6 r(+'!KhGn὆ۊg}X&KoDhxO딟hG OF6/-8o{%u<&vo:J:|(Oh=N}"XyпQ@: *)Ӂ@tsIַ\ǥ#We*J珧sн i?Jj_W?CH5O 7y(H@.7eώް t(x%3 Hv)s`ӧOW? JӈIog>w !(' M_Fa=UG ?5'A.h XS O"hgh|76mEp@,ᔈ-xpX p @ 6`]P y 㿳˿/ 1T 1x(pXr(y;9ϽHL?BA֐M?6wC (4v3 h8~ JC Gߵv 7{5׆ul0p᧕7_'0"vMnX ߉w?P̟1(P,k\h ?=폟 o  pNH% +5 Y/g0 DM (C׿qg&oW$7@s ɧ 7L`3* e/Kw@px؂xW4DXdhPLτ%+0T;hxW/4w&)FaE7'X@}u^ ?EP(OXX' ~'M NC $ f%>DǸG sPk6CDȇDኯ}X8fJg nHD질G/#_+G<̘=!H;8|!hG;a7yؾg=i8=HG맰9 |F*iۂ3>Iֿ\e7 %"ݾJs0 ^gXGBJ.x/ nHh XOؿrexxvis*ӏ gHKKX@GhWg+|8 Wx Nx7 NqDmɁ oM%g gA΀p<0؁@OTP Wh |5mOieg_z tpG_gwDq,-*iMN6q[a4㟳 o+XT O 1}pQmIy;/=>tLߏ/CA A7D(W'شH*/ԀC{GIxJ'YCwuq?w{eNm X1F#8vBFDNpo8 hNϘp G , a ,](t~}폟nd(PJ,dzENc CK7`H/>c?IEߧhw@tXxJwHɯ)Mp+ZWqpxVJXPDPDx~&e1__@OF9_D䨿"GT;ogto wF_07&p@}u(>\h8 @WGQHܟX%( 0~ wGNQ ނ1! 1 _V=G[ACwK sJ ;0}XhJxgn@fDyG?g_:z";ɐ@]_W׺'}}=Oy72 ;m*е t (Hֿe\e5 ǶJ?_s 7 w TK7B?O&ڧ cHI0BWM_`pe&vsjׇ xLh9bgǂ(Ѹ@e 7QPHK9YIq}gTA|θ?٨=  0G(|mg딧\ eAgO:tpR죷U|Dq,|-kb N؎0 6@rZȂ-H ϯ' ϔ 1=pqJhwI: *o4`ߌNCAA8wC۟ Hu wN>`@wl41֏5mو?{W oVmtoV! ~B^N(0H}(։O@ o~',] ?Ͻ폗nIWOΈ/,o27_ BFHu.VO 7uؐu0t x(KR0JɯiN,tPkop> 0 DCxeP2P٧@뢟+7D訷wLU>ؿW AXR >R>/9iK sY3vn_~XJgn8HEp_됏HP '{ '} н{ XYT;P}`}9y(IRm! jz`$hznx">俥3 ?eGposq xON {CPqwyPN _,'OSH䷃AW@h Byp)#8X" .)(7rQK@ njKLfYA F%M (- JK )(/LL%po▇̦ D ;$܈X ((>.ҏ ƿ GhQ5t=vυ0p"EQ:b0x/?Z7Cǂ-*E !VP+R`NHOz4OAȎ &ϟo(P%_$2@q5'wGx=F(E>HUF"md_^!.M%K'؆'8E"pXHvRJы75f   nOawORw ͨ9("G0@ ɾo LRInF*q@ L_ .H  ~wJ#Mw,"!8=i/1H.xH I h#n 1O XPLF CP k ̏_,BP$?uL?#`J~"p ͯO|* ,?JdIn_9ž8EPF0G#ކq/SB﨨F[8H?_F"ߧ #'_%nA( 'ωK'cv jH HH !LJm8CdH.Fq( ,?AD+1HWpFkhCH'݀D- E/Ux`_8]Xy|ceptP1F ץ&%-fes8Hx`7 `t:`7 vH)x=F&( ?TaS=XD>7 w> jo}j; M=q8A?(|.h1w Vcx& G) y$Alhе02 @ǩd ?7E HLXp_tM@Uu@ }MoM6NWc~xK% )z02{]H4G)W78(AiwrW}y@pgʗ>hAV- ITh稸7}oV+Ehe~`|}>jz}  *G*]I,$-' Ti|7,pF#?I7?@jJAB. < G 7T!AE PA6;#? /Q&c;h O?8ah 7  * @C9 1pV aK{ K :`<@[ z YȽ5x| A fQ`Eh9[+oc%°sapoe ǥ&Ї4%-Dgw3!ҟUEq߇Uh,?II P_QA jq|ވ|:ߥ8Ճ(( "kPIFY 7cY7ǥ C00 (OOϰ'Zk { 6G v9_cP&Fi AG#8HC0EV-pDMXxn!4Vw+OFd~i@e]P}}'>e} rF? &7h MFbx >-EGxH',@H%&C ayx(h\C,hEئOQ_h; QFUX _󭏇h |._J0C*O'T J CG&@b( &lH(8H-M,!8X#x -&4y|po5Wsp ⶥ 7uYeFG>ɧOh7]R!Q DX UiIhB%fec0 %Phu(3" LVG ~ fC.h}G%_ </ ׷g !!XфbN'I+VgA)}@ ~%/GN:`P 1Wh1 i/~l>:.װxHdO'ix(Ѝ 0 mO@.ID8sǯJ*0>cЯ[o| ?~8GEJtL? I H J/0/ϐG0u5xT!u `5ǎP~@?p6K*D?K9S7?ulG3 аH7ׯ-II  C ݮD . (@ ! (O$gK JR s'xx7>Cic > pO0 hI#_IpF3 DNwNaX ? 7gI7G`w;P'' ~/# B*<B)   ׾?F𣯹]7'U ;0I v`&ZE'bHZy ? H%߾;߼1o> <}͈{Nw| NG<z | p| !;&5yFo؍xwB>ߺ.xDeGix(~@N  mO@/ 7A$JPWT*0c[o| z?8G?EsLCI xJ71/' G(6T6 `I5P>@pDN4w/u4aHS?lWs XOG8J  OC D n M I (A" J s'px7CicF foK@ "pwGs C7NxLNaK O  7h 7E `g5ǀhx?g!`Q!/!Q$%'ƟR!_N4y=QEYW  ~9eQK'YI< I C~`&ZEb[G / HI P#G߾|1w ={ΈNw NO ; < x< !5&5y|poe5W3?p eⶥ 'uYeنJφGsIh? ^wS91 Ck `B%hO ec  %Phu("H XMWf0hG%= ؟_KՈ.i+N!K"H."7(WHAF)}Ѹ 0x';P1Wh1׵i/'uxMpf>z.0pHeG.ix(|ǘOOm/O8L(K13/K T *8c/\o|/:?~9GF q׌'NCI ِ 'J/1/ G u7hUfu`6P~@pf~ % "''AYJT7?uHl_ 0Ag/7  & ΠJw( K#t'htx?Cic0 Ύ oKPL!pG BGxPLNGa   7iI/ `_='s S, K ~Pu}g/kpP V9IHD ɮk._EH0>_%Y|^ ewt g&GguoπhxؿFQ/ O!%'>'W>"I%=P-)#R׾?E񣯹O9J& '= (<IV C>`&ZE'b[  H9L {1w> <΀{Ow| NO|  p !;u%5ipoWs?`Jⶥ 'XeמJG ~Pg7K_oBw<SC.N BH 0mp X&i0 ec5 %Phu(3#@LHYMf 1hG%?P>hO O8Q-H0%2G%o Bv!?а(~@1.ϰhfwD?CwVfix(yPmoO0`&.soL U ' +8~co\g |7 Ⱥ7 9?FwJnIP'K'E2'G8ǖDP7'H 8h~~oKO&wuOL4 To?Hl_3 p woH ^ MN>QG Lp #t'hx??~Cicpƅ ̶IqOKO IpwGs AGx N(`` C 'j'``O5=PQ S' ~ Q#S?~9 P*G '(=H D`fZ(E'bA[9I /IxO஻<1o~ |;x Oo NG p~ h !{~$4a/Q g'`goDT߃Q B`@ 8Po`IHB'?j@ec %Phu(#Mɸ ۠Z f 2ςh=G%gP>N POWp#"\)TU*O$>B FƖ=ȃР(1 =1Wh1ui7>g/`>z.XGgo7EOp(w8PxmO0rUK#ǯLXg+@c\W|?:'> 97?FgmLIGK3 G580Ķɸ5HI8/8> (?Xц~WhS!gL QTg7?5'HmWOs GOpRh ߃ ؆E . HNN7VпAwwLS~ht'`4pGCcE ΉsP8 ߉pG @GNxN8`P? jwIE`Gu>AKY~85|xsg/ lPhQV90&k/G8AG@GDeY^. eo4 gfhuo~ix@ 7ٿ R1S'Se'~ CH%?R Hο~E򣯹$ ' =H FD~`f[HE'b. [ OIQoϼ1_ |x{p; Og< O7< :h |`| ! ~$3Yoo5Wx?Xⶥ uXeԶJGs ~? g'a_gD|T׃HR BhP@p`IH'jP@@ec %Phuw(#8M(ǀ[Nf 2ςh}Ը@G%o>Ȗ !ho7 oT%U;%MW#HN NĞ CϠB(~18 O=0R1Wh1i7_F/X7B>Ϻ.XDgg7CEp(u8PmO0;P xLpUw+@~c\W|?z 9/?Ggl NCI8TL30RG58Hþɰu@I8/O0> (XЎ~WiPT7o 8Tgw?u'mW򶘳 _XS( C ׎ . ߰VOȿA燑LLt'`tp?G~Cc IuHH IpG @GyȌN@G`L AjwIE`?>3Sh~<8u|xg/lPVyI0E.k0G0OAGeY9^. egt gfhu@o@ip ?AGג 1?e'簾>S R@"? gXS>ȅp!L '\>Ȉ N`f[PE'bA. [ WI ᖻ|1W <p;h P_< O/ ` <X| ! ~t$1Qoo5Wx?XJⶥ uXeնGsI/ g/`go|TQBhH @p`PB'j@8 ec %Phuw(w#(Mè[Mf C2ׂhԸG%g> XO_O'8# R+ T"C, W#66 Ɩ ȃШ(U1( =R1Wh1i7g/0 X7B>.Xgo7Ep(t8mO0;%3L`Uo+@~c\W|7  :'?FoJlόI L3(Fu80Ķɰ@8/(> (?`Ж~_ k#7g T_w?u'm_ OŰҐC ~ n V?ȿAwQw LLt'`tpG~Cc uhOH߉px7G @Ox N@` jU`?>QsS~<0|pg7LlPpVy8DDk0GE8CG@ODe Y<9^n eg gfGhuȀoπiHp ??GٿR 1'e'~SO UpR'? gpTPS>9u' '_#> >`f[H E'b.I[ HOQwH ▻<2O {<h;` PWP' ` |X| " ~#0QpGouWx3`eⶥ XeնJGs g7_ow|TB`P0 HopX&?j8Jec %Phuw(w$ ʰ[ f 0hԸG%_>w 8?O-IN10)q4_I$B Ȇ Ѹ(1=1Wh1i7o/C` Pw>:.0hgwD?񾧖nE@p(t0PmO0Y`(7Q03LP WU +@c\W|7 ;FwlLI08O'LE3RFu8VŦɰHI8/ > (?hGО~o(w5_LxNT_?Hlo /WG`O^ n ܨNJWg Lf8P%t'XtpOCcE It80 px7G ?_wN8` C? i /`7>s 񯯓~|0|pf7 lXFHVǹ Hk/O8AGG?WeY|y^n eg gfhFAuo>ip 7؟0e'~ ~w0N,? &@~y-o '+>🞄 &>`f[@IE'b[9 G Qo <5? {<h;` ROR| X <X< %z 4#/YqoeuWx3heⶥ Xeն GIPg?K^BD޼TC QBX HPo h&?i0ec4 %Phuw(w%Ҁ [Mf /BhӸG%GP>x_  XK); I+ 'cx 1'g%wH nA B(@1<1Wh1i7>w'MPwfB>:.0pHf?VNEXp(uhmO8TM'- /3L0 7 +Hc\W |7  <FkLI) #L3 F8ǎɨH 7'> (?pDѦ}KhJ$w4WLiT_?l 0W  h 6 n ܘ@O> ?'O Lxb( #t'XpOCcE ̾tO8  ljpxwG3?oxN0`` ? h?p`7=`As@KS~0|pf?lh QVX(EͶk/WE8gA?>oeȌ Y|y^n eg gfh؆Auo>hp@ /wRh0גe'>ǧg nCl&> L% S?~>EyЊ*O 'z(L*>Hn ~`fZ0E'b [y׉ 7 _ <87~ {<h;X T?<U X X ) ؾt".YgO \T A C0 8ox&i(Jec4 %Phuw(o3&@LJ[gf -h=Ҹ@G%' =@/N 0J oχiH#7NoI&oA ^A =?؃؂0G 0PoO<1Wh15i7>'MPw&>z.0'eGO.E@p(wONmO@C,h'!sK  +Hc\_|/ =EkoIA L'E3' F7U~DȨH7~ (GҦ}KK4?LHTW?k3ϸ0ϖp @ ߀  n ۈpO6ٸ?A ' KH=t'XxOCcvE ͮItHP "IpxwG3>NxhN(Ga8 DgOEP `7=(AshOSIJ ~)(|hf? lp Vh8E~k?.g@77<eY^n eg gfh)uo~hp@ 'G7R0R0`!e'>o'V+>V S~yJ''A( =>D ~`fZ I E'b[y ' 0W O ;";'~ <hP{ V7Y{ P X -Ǻ ؾh!,Y|s(ouWx3Jⶥ Xe֮Hω>ʏfW [|TC AC  n 賂B%h(ec4 %Phuw(o3'LHϘIZ Of +Ch=ѰG% =V اN_ 'XHoGo (g F}?0>#0P/Oz.07dGCEp(yxpO0 m/O@C)H 7s/Kה+Hc]_|'J:= >Ek//IA L/2/ F7hfȨPI7O (DӮ}K74'LpTW?k30 H G( g n ؐO&JwUظ" K7t'XxO>CcFE Ξ tP`KĐ # pxwG3>y@N a !fI_' `75=KI~)(|h3fG l"VJȀP EFDk?.oEH'G;De(Y^n eg gfg)uo~hp Q  / G#e'~>' gRF>`NXJR 󣯹3P '3=I C~`fZ E'bH[y   x "7 ;&o>> <`H{ W/<[; H X 0z >Xt!*a|s0oWxsJⶥ XeצHI>Gf_ ZB DּS D om戀%?hߏ ec4 ePhuw(o3( x Ĉ Z_' f*/p=аG% <PWN x*GWN o)Wn oA 6|0>%@0@N;Q 1Wh15i7~'|HPΦA>z.0GHcOC򼿕Dp(|H P m/OHCG8 Is/JT+H>c]_I| : } ??EJl7MIA L/E27gQF6!NȨP 6 (Gծ|KMGt(TW?kO30?  PJGC n ΠNJ װAG$ KRLt'XxO>CcE φspKh#pxwG3>y NbK ED"Af o`75< h~)(|h3f?Ll8P$VJɈX(k?.wH'9eL8Y^n eg gfgF) uo~hGp ח""/R#%e'" '6C-=kh ?>>󣯹Y@K'Z=( `fZH E'bA[ywI / ($H ~{)_@~ ˸|`;H{ X'<] H> X 2: оP!&Yt@oeuWx3 eⶥ XeؖG>Of_ Y SCIElB%gǏ@ec4 %Phuw(o3(LpMhIY? M f)7Cp=аG%<`UwMM"h!!;hy"_"g*GHNG C0>7'/N;P"1Wh15i7>FvHNPn>z.0OcWCgDp(0 HO mOPCw_hH%sJ@GT+Hc]_ |!ǽ ?DJm?IA0 HK/27QF6#6ȰP5=(צH|Ku4GTW?j30 G G 8'C n NOIT#װ & J`qt'XxOCcD nqOpKPJ$wpxwG3>{ NcO "e wE`7gR%/"&`=pW8wK'<8 ~`fZ E'bZyO ?IH O' ~)W<A ˰`{@ Y'|]; :H |`| 3z оP"!Qs@HoeuWx3eⶥ XeنFGɗOg_ YB |SIEPUl %gO ec4 %Phuw(w' @X f*7pаG%O;Mח ?$I6hr _N#_+/H.A 'A <0S*@//:0P$1Wh1i7>CxHPw>>:.0OcDWȏp(  mOPCh8GP$3I+Hc\_|J=>>D n7!IA%XFK/27DϐF5H&DȰP5N(?Gٞ} oHw4 ؈T_?Gk 0w"h fD n xxO O%ذ? Ao(W Jet'`xOCc NIrxK $_pxwG3?wz NFbp !AewGT`7;OAs RI~0|pg'l`O(V Șh(EծCk-wEX'A9%@ Y|^n eg gfg Auo>hh@  &'.'*e'฾~Q'M$wC[HD>y/K'E:.0Oc_! p(x ¨N mOX ?3IS+Hc\WI|=Dq #CIg K/E17oFu5S(ȰHI40? ۆ} :`D w5 GT_w?߇kgO %8G0X BF n (@ (ڰ *I! t'`xOCc 6 v $?o7G A_w N`8   fIwE`7;sQ!И~|0|pgl*VǹƘ`E(юk-wXC':e@Y|y^n eg gfg uЀo>׀hh ?ρ G(@).p),e'߰~w)G &%` <Q<Q~9AX '-`=XIn N>`fZ E'bwHZ9_  _*LJ v{ W|:> Ӱ<XHU< X :P h , >&9Ϻ.Gd_$vH p(uMPNmOXoH*H>c[W|IȺϽ9> E tL'$I J/1/DPFu4HS*CȸH4 ~0 DnHNj.C 7gK  Tgw?uχlGO T'w  B . . ظMOW*߰ Ao+JI# HEt'`txO~CcD xpppp #o7G D?v N_O ? Agg`?; sȋQ#8 ~<8|xhl `+VyΉÈX EvCk-oE` '߆=e8 Y<9^. egt gfGg u@n@hp AǏ**-+-e'߰>~P+ό'BB ;GQ>޾(+'=`^ >C`fZx E'bAWZgIo pP׎, vg1~л߸|XP;O' O X p!zt*ko5W?pⶥ 'Xe G'Ni/bDƼPHHB@NW k %?eO x@ecu ePhu(s@LX QL|f5hܸ G%?:h& ##N)g ϟ gh+)(Ɔ(0-  9)1Wh15i7 h.>:.ϰx'ggwS&nO x(wHN@ mOXH폂ǯH*@~coYO {I:-? Fz %ICH'E/'F 4,ɶu@ 4O ~@ D. J0u/ ` So?nOs ߓ)`'GoGn  . P v,  -Hp%)t'h4xG~CicpD x0@x pGs I uhK NF_W ? k G`O5:pN"'3w% ~|H5|shj M-Vǹ h8k._hw"'CweLY|^ eo gfGg tЀn@hpA,O,-8-O/e'ా>G-(ǖ;B;G` >>0yX0 '? <`nC 6C`fZH E'b6ZygIG }'. ~;7`{ p;?5ƺ p>ߺY5*dGoW3PJⶥ /uYeG3I>WkJioW|LCw"WNf`!e hed( ePhu(@  K_yfCABh} G% 9(7($/$*PG4$gCH" *_ _bVA@^<(2v-H !8 +1Wh1ui/~vM7t>.0HDjogC﹇(v x({ȌɸM m/OXCz$l)3/GQ*8>cVOy z>>G Hg &CI A?D,G(u3.~C@6 (Q~h`ƇwK/J  T?5Gs p+ FHGX6D `> Q. A⿌.HO'vt'ptx?>Cic u  qG Sov NF` rw &/`gu9#'Ap&ՐG ~<`}ighF .Vǹ(k?/?h0#AL?D% Y|9^ et gfhAtnhx ?w-.,@O/ON1e'踾~G./)?OV`A:0綿~@yA'":` } FhfZ E'b Z/H g  pG'/O ˎ{ .!q  n<: ||.;R?!^oXs?(ⶥ ?uYefFHsI~_ mJmWBֶ<FG C $M`Hg/ `Iee@ eXhu( 0 |PKP ELuLgMwh G%8p*o(J%/J%+F(7O )G <xuv |P(~4f,X !"8 ,1_h1u i/FCi@ 7?~>.pDlOgQ*}D (8 XM H nOXC#(sǯFP!!*0coS?Iwz^ L7J7 I'wCI(">( H82P0^C50I: Pi@DЇF/@ǷGoJ ؅ T?5y3 ב-P Fo9H6>/ pH/"  K/w G(t'7CidpD ̖oX H oH rG _njx NboNЃ? z/ 0?`u9$/z0 (XG~x~3hf /VyHΰt6k/Ep$뮗FVCeZxhf\E'bև [y _G L0GĆ~{ ^A J{|< ;پA=3n;~y25|[xo5Zxⶥ OYeFHdzIK!noJlGBσۮ?C0& ]@'@i aXefX5 eXhu(3 j ?KsKhU?Bh H%7 8x,8%?I%K,xvq s]&_ ~@AK@| ( C B >5^,p!"7,1_h1v i'~_ 7fC?z.Cl/Dg+qi (  noO`Ci Ds/F؏""+(~dQ/t_ :F~ɾ?O H'gJ0>9$IH2O1NC6 ?/M fY~ (? DGƆ 9i߷_| ET @5w~s p/i  }nBnL 19  /FM)Bt'/~Cidn VHhM xJ7 tG iL| Ope  ڸ@ A8wga8K%73s )H|3gfF /W9hDͨWl0DxC0 %]CeW `[xy^ft ofLJixAvokp?/K//+M1' 3e' ' 1'*gM!{6KQA9X![AGN֮~ ~XF勞9oO'zC7PNv \hf]E'cG ]y WI0vs| ƾ  y) '; m;}aOai)=z^ Q 65 8 ZPou[3x ⾥ WYewFHI>J!n?j?"Cޮ|:8D&[ @B>kO a@8Ieghu eXhu(s`c(J<qGiXBh( H%K7ȏ,/I%ԗH%,h I w!Ρ #G >B1= @@  >5^,!W #7,1_h2 j'~FYw  ?z.pܘC_GjgO,kiH (@  oO`C뚹ǯE0#?"+ ~dO'Is?z~? R G'WK0Ay5!_LJP512Nv CL m9?DnJaق ouz FU @ug/ /?o(`p ox8vǎ1E  A/F)q9Dt'4'~C)dpdFE Hc @J  u7Gs pЉ O`gHM ݠ=?a8%7soL)P|5سeW f /Wy8ΈF l0DCK%gFa%'L~0H[xȹ^/f of~Gjhvpl`%?G/@/*`1g 3e'~ gL1w*!jFz 9 "~D Ҧ >`9AC'ID 7HIDT߾hf_pE'cۆ ^G O w9G G 1nr "; } 0 z{ l|ֺr> mY=r6 ) ,X| Y@o[x? ⾥ WYenoIϳIȾo!nh?$߮7C8CXwP'OZp 8F@ lM a Iegp5 eXhu(30` ;gpiCYh=/ H%gK7P-H(%/H%w,XF Bā|iD9CW!nF %N I A 6^@+h!#7h -1_h2v j'FV`L7 ] ?:.0ۀCGiDg_,hi (  XoP`E  ǯEȎ#N#+ doNIr/ TIG'WK03KP1HN2zNC6 IFL n!~Kٿ>nwwy U @5_GLs O0 o(QhD /p t VO2K "Ao/wFp *y t''C)dp_NEaHM G uG3 sW PXFhhG ߘ?H@'_O a8%73nJw)@w<sd'Jg h 0X9op x?& l0DJ%_bw%|\x|9^'/f o&~Gjhwpؾ@mP)?A/ 0*1J3e' > 1*W "aN)9P"EGMЦ> h'7@IAP>hf_XGE'cAn^9'G G _A 1f;u<}${ 3; } w}d| κy~ zI}|s{ ?"rp Y0o[x꫸ ⾥ _uYeOoI׳~'!nf?$w|5C C /'LZhI8N@ m aIehp eXhu(3J` ʠ:GpiZh4 He/7-H؇%%',@F ʡ}ia7 ^F >f = Q ȸ /M6V@+ "#7J-1_h2v j'FV@ D ?:.0p?hgO-gi (Jx 8oP`)  oE$#+ doMIr} U ?G'OK02KX12vF Hw m Q?wrCwwy Uw AWs O0 D/Hd /~@rL>2N % 0OF L*y t''C)e0]V` G և uwH u'  PPh@M DAD au8H &7A3nx/ * Gw𣰵3dg  0XGGhp;6 l/DO%AWcoe {\x<^'/ft of}Gk`wȀp~@mH+? 0xJ0* 23e'!  1*L"\V98"Ξ> hCwG'7@I?DO>hf`HF'dAV^9G G O1GI1f{yv||v>% 5; ~; s| a< ƺ{ 9}<tZtp Y0o[x?뫸I⾥ _uYeOgI׳~!n f7%w|5C (Zh8F m aIehp eXhu(3Ja ʐ:7 piCZh=5 A He7-H%χ% -0F ʁ}A9/LV Fn = I ȸ 6V@+J"H#7J-1_h2v j'FV8 D ?:/0p7Ghg-giL (Ȋp 0 oP` ǯEpN$w#+ doMq= U wI /G'OK02 KX1 3vF Ho mS?w qwwy Uw A5OG s 70۸ oGGc /8sȌ62N? & 0GF*a t''Ciep\N`  uH3 u x PPh8 Dሃ޿AD!bu80 &7A3nx *w𣰵3dg I0XGG`h;6 l/D?%WcgeK{\x|^'/ft of}Gk`wȀq~@mH+?gJ0`J0*xK23e'"  2*"[V8 # Ξ> hyo'D7@?N>hf`@F'dAV_9G GIOG gI1fzv<|n% ~5; ~y r< a ƺ|~ 1}<uz(`< Y8o5[xI⾥ WYefoIϳȾO!n g?$߮<6CC8 O'7LZpI8BF@ l a ehp5 eXhu(3 Jbȉ ɠF;OpiYBh}1 HeG7(-%%G -8 ܡ9A {O  fF &C #N I Ƹ W6V@+@ "H#7@J-1_h2v j'>򚟆WP7 eD ?:.pۀGig/O-hiL ( HKoP`DY ǯE$#+ >doNr'? T _'WCK03 KP12yF6 F m>Mѿ6kт w5y ȅU @5WGs w0 DoGNƂg /XuLF2L #A? 0_F@*}ADt'4?'Cidp^NEb0  uG3 t? PPFhXH7M D@D7 a8h &73nO *w<sdg 8I0X9_GpCp>& l/Do%_bwe |\x9^'/f of~Gk`wpπmP@)?Aӧ 0J0*K23e' ~ 1*7"_N8(" 'Ϟ> hFI'i7@@P΃~hf_PGE'd^^y GIWG I1f{v}~$ Ѽ4; } v c ƺz> }9=s;Q 65 8 ZPou[3x ⾥ WYewFHI>J!n?j?"Cޮ|:8D&[ @B>kO a@8Ighu eXhu(s`c(J<qGiXBh( HeK7ȏ,/I%ԗH%,h I w!Ρ #G >B1= @@  >5^,!W #7,1_h2 j'~FYw  ?z.pܘC_GjgO,kiH (@  oO`C뚹ǯE0#?"+ ~dO'Is?z~? R G'WK0Ay5!_LJP512N CL m9?DnJaق ouz FU @ug/ /?(`p ox8vǎ1E  A/F)q9Dt't'~CiddFE Hc @J  u7Gs pЉ O`gHM ݠ=?a8%7soL)P5سeW f /Wy8ΈF l0DxCK%gFae'L~0H[xȹ^of of~Gjhvpl`%?G/@/*`1g 3e'~ gL1w*!jFz 9 "~D Ҧ >`9AC'ID 7HIDT߾hf_pE'cۆ ^G O w9G G 1nr "; } 0 z{ l|ֺr> mY=r6 `2v<]oYx⾥ OuYeF HsljmmWB<D ID R"M^IH'h7N peX eXu(h0KưC?Lt?LgP_h}  Ge8( P#W#) ~ miD) 7 (G 0>be   8 2v,x  8L*1_h1v i'~^@7.?:.ClG_븧(x0 h00n/OX}D9Cs/FP* >dROv~ M'J%oJ0N=& HH2.~C6 @< Y~ 8G I9C w_~ T @5{3 pR+E"Q N-* !׋-G&Uit''>Cidy6E ͎hpJpH H rطG c|xJ Oe o &|3_`u9 #7t&0|~3hJfF Ћ-W9 _Hˈhl/Ep0"ꮏY׃e HZx9^et ofGiFuoؾjɿG7,0 -+X.gM0e'~ ~_.O(gVY :`m 7O~~PY'9 8PIZfD fhf]E'b[9G Wׇ?.Ğ>  jq} { Y <6={ H *iDIh*u,9hGo5W3x`ⶥ ?5XeFG3׉~jeo_|OCD7e X#fG ec@ eXhu( {hϸHO {w fC:hGeN: oLֿ_#A7ـ^D{ )%χu V! *._9X$1_h15 i'g >z.pPiwO/Ti@(` x mNHCGaD`IB3ǯH'*(~coXoIzغ~>#w Go~O? I(AF/.'PF854h%ރu X 5N p? `w/كwGwGS?p а"Fo* ƦD / o% (㏎'ߊ I(Q, t'tx/~Cicp npK(/pwF׳ Nx`KNb wO  7AnoI!S`u;/As}pK/H~xu}ih 'V9FI(DNDk.O`pφG7e،Yxy^/ e4 ofgtnh@O&&-Q'/)e'>~'#3;O! ? >~(fy 'g :@ ~hfZ`HE'bnZ GgqH(;6< Y )Ǽ|{ ~мn7 o%͹Tq% %"?X,'?}Ooo BO + J)uHnO(1e[% txoEJIǀB7Je7LkP^G PG(NQWO(H %p$K 'WM1? ˆF9? I@$ؼuD pϐ (S0w(gf_Ay0tt 9g '-i萧QרA)ӎMha Mm0W`  (/ >ު-P^ .zwh/) HG'E~ r C3`vArGJIHDx#BO OuJ IIL86q`7RPH G/ xڞ>HKK蘭~?)廀 t (ϕ`hWBi^ BpL뙨X"Og0>G4wbSpC(MGKDE w\;׃WGh@qpI}Ϻtpm}(ESQ7? !" aFjG~_/񜀯ޙE_ϥ+ \`xXw/\t w)oEyr=>mx#PS'Teg i2'O~I$( ? !7D" @Yw h Gށ@(5)+_C2 }釄2]C)JV(gXkl(5HJ⾥ Yǥ"?՚J ?߯Jׄ<M:P-HH N ixJp`&h+`u( 74_ `L NG\CޅH=HeϐտOWQ?P GM'. .'>@18 IK:KY&ZM*@Є  0>.vF Qկx1gh 3WkE/CXxP@{00H O87EhWVx-pxX~Z4$p*sS?pU6}n2 JŠ{ ! W C`"LG'w)Z86ihM w 7ޓ+|xB#D p0&7xu `VxBvo 0 l`KOޞ `fN MC&WC#· QM"vlȿ=CfoN"oMٓJhILxиI/MH2Ph  @F y} b RGAH5J)g<47 慨/TYǹ= 8aE Ѷm+/ (Fe!7hh|_Wh4 ofVF&pzx>N8X!ogGޏU)HU`e"`"VRS` *RPgX$MPv׮EE羚ysH,lX`)bv^瓧0f!ЉEhXA2l׊H ה> 'ۀ.x0004v@)k0A-d/C!&~8ouXG_+5 weծ</~[W ENEK(-{FiD7Y'YIp`򧸥"due`h u_|oJpLCЋG ώl {W=3PoPoW*OV8&P ّ Yݐ9Na u"H'o .H!E+Ώ/()92O+?bW7Cx~;7#ry쉟F pו%O㋘( \P;hXmIB䙏twUl'c jO zg o6gIhOБDJ8qG xGp 8|$`A7AvvGaLۍ7g R73O6 wU 4pg! (D^P2oG!CD(w !Ntt x?_ 5MsL[hGwFq񳏋OgGo ']/7A M⩯ yꙏ|} 4cKb8JzhVkc 'πop;WߋIZ`|YpYO:/&j)vn@k8f`T  ȕe!,kyB{ COF_ֶSݾ_ OJ 9B NHvvDhfuIC,bp [3!!_(M  ɀn@9 M7&BaNYM1 `'8[ȉh 9(8w0\%5嗥&M'FrGJ~GH7KBD};)/ H#C hjIZ8 `9!ЈlgPW(Gr߁|L`،$L T c ~%А!ڷ_ "_ "&K0D&)9)\ Eq/NNJs.CB>P0٧S, P&/h/mw|B?x8i9v0FtO HEDϔ!yrlx D80a@x @ oB 1&右/%>mDa' /;w+ ZO$/CQAE1/Ew 'F98  ր PkH~]Qu3b 򞧵}'M_hv GU$Ӏ JW ҶF4`&L/'؁BO*x&ȑ!&01̨8ɧ쏗i֜pۭ.A{P v {r/oO]H ?EkOhKJSsx]H! ɿթ=ژ  BT O*pzFو6y>/Cv_7'먗ݗ JXWhX?8 mdGU (@琁W' P)P) ),Xː)חM'/Q!F(Q1اozGߧ m(79&E(E YA r_o ؿ+ |(+@ ǘ~08.'~?=048A #+pxRHhJG+F3&حDvg}'HW :Gw|?Bh7oTN @` uhOW Qw vBh_ %o~8- ok͸7Rs4(@v hA_|ok_M8!!X!O!N&x D&%`!hG  7GV'H8A0<+' 0XN;&^3ng}zw2h : '#Vxe0X\< CunnN:P-vL 0P4KHr߱FR%(CP4T/Gu|i~)?O K$JX7g gFH3 S'8!PrhHކR췯ˏ2I }4fEH_ hw"t?#pK.7HM8JW{0s_S~ ' A`B?N*OIIP!H(m>'쏇-ʖ CNs H H o8{!y1rhJMhhrǍpX3 4/HO2 1LVR (IP ( $=0KxEykAhA52X-.}@[D`ݎx*_Tp% ^N%Wo:mwHt`y! `3C7O7׍(_?hև,qhk_1P|`s:xqRH%Gr㹇sgg0|!qxF zh(g9 Q/ %" C?pFqbX6P&O'#xAg>E]X"WCUGhqOB YsI3調R {ȵ$ ##(KQGrMY0MP&G'W"73&Đ  )'j؏ +hxw?3ҬW+# :`؉QW;9!V1+_I|Y@D ~ lp{Eڟ!W3EA iqaM}X=0·/O{^';('o'HL4(M)_ThF{|FD,l}L_Aiw9G t/ GIQ: /pr/xi~τh@7p%>y~qH|gkX=̠O@C g'@'N(*e&2W񴰘??(#p%o*p^@Ր!Ͼȏ 1rЩ C/G.d'0si ?TOGp' o_e L) @'& '%@H>}~>!h>#x% ?P}"P)w=$xH* hu 팈 ﲲ1_m8߆/< fGy/ 4@'A Y`X( %P =p=0D7yKA儐Ge,%v shgkϰȿf0+H 錇JjF/ ;`A왇'Le 8Y@K $F0K@EҠ IzOJDrA5BeP*aHo}qoL 83*sb? k4Ȱ"S#+8 Xq}p d( P&W'L@,I>&h@ )?z x,h [`@O=2woٷoD+.G!Ll؉\Lb)847_8  p`߯@!o;#? +C1qMs3JHo:ϲ§;J")@4"|OHTCM)PxDX`GD,hWQXdog=w@ kkQ Swp0R/pkn8D7i+z(sH!wH>s  8C/W.=Xp&+|E?3l8^oCط10F҇p ,x)# H'+ (% ~h谨>!p~#%~0"07ؽV*%퀀t  /0,4_͞ Gw=l @CI=JC0i &PN dwhU אhH % ves0hJg ]X(i/  kA o|ØA1Md!0S@! (L!%X&yD2qe闟 % r'EᎰ|!p,.O bHN/Li&{0n ho򖷅aa@6H$ _ qGHC vqN-XX L4o]`)S!tg4uvg4H}Hon GHpr_?F'aK.#B>?FC-?C,X H4^'CGH zF0G͎z_JyGS6] հLv uOzMi"$xƆ'L e:τK .pO '֠@AN*̏w!,(Zp3>=oaGu'֮w  (6sAM HJ`H 0cw>M>D*$mrr yPڇ MޢI((pg l> *?'9?e"/DcWwjpJS@;P8\224pgⅧFt87),P{s}@yP?@E `(Kx)Z)%,X'Ǡ?ڰ),h&Oam P(A.>?Z>B~8E8@a2 sgEiGXXz Grn@ ?Cpx&`G'H K'+F cw>8=h~Ő=/>lH>P&8(*|u p(o0l|? NFo~_UE/SHn'x*( @%GO 0 3%v%s(ܼ?0H $K0fM g jB''~Ęd!!EXM"g!P&hJB1ZalCLJA7?DDؠ=(p ,W@O" a'{_yj7>/'C] wv PE dF!p -P(ݨ` @ 2/c'6qr78tSۯS6Powy@:a  $(C=xDM3gF'x 5] 'z84Pc `? h_ /QZo9!g AG; /yOf #H$1 +KO9 ) ?FHI 0OM7T'̸A P*Jr"9,W>>2`v0 3 $uWP \(FpJïp/ wK(S! c AnKQ!/Q ?E$@r󅯌G4H*>OE@ߠf2g CaO?H+/@b`A۟|'Gt8oI𓯆/ߓ F o-ʰ( 3hk̈́X  `8\Dp"W4NxR.&0tи?3s gN $D mXGh3;'8sF k@VBeM_G{!/% ;ATz ?1q@#EO W4YGgۻvg(8 8Q0|87shǩj5#@y p~_?h?_E ׯ((0P)+s0fؗm}@(&GPp>8π  9! ol0^ЇfIN 甇}qgP -j [ G 9WOAG * ?cXL\|Q)gO>RH>L}o?A  tF=X اgR'*61WD|g/HH< s >?'gS pk[?E(?i OYqh+kxq}XW7'DG0 p  ap#? 'ӯJ7 g $ޯC**u(0A1GϏ_$o ~ 䇑*=_ $i#m@ s.\׺iHFAp@p;.\( ESA7) p0OuŇq0XQ%p=@׀HNFO J"J}#߅胯g;` &]7޼2&闀|G?MH#9!֧%Cwy!loE1Hr/"q0C?Egw0p8 /&@ @?(z7 -xAP$$X8}|ok6o P@js׵$O0H: )Ǎ| (A:''p?㨰Hw:l |(j8 ʘ (AotXArsҙύ>WFߚ&2& ŰR{"'0wF[6Ps`k~S ='? / N'`'(׎*(~( %WOKW4pA&a8'G;?,]*ʟkT,\XJ,ۍO|i1PשaH@󫟌P/F'Fٟ)ׄ }_>W}$%}" A~3W"}"?!1_߁A@貲frF ֿ [%e,G3GH (<o IDf'>E8EW mU?7G8` X~q`f1ӧhO4">A(` LvK_@;$ 7 h ŧJO %DޟC**u'3A1_wo6 wǽ$ n@ > g*6B  $ozvmP4fys@ۇEAR ,_Jsr‰K@`OH@J X(tK5) x0៳ !H!H=Uqu|ǐxC@x ÷J"N~#xE_\Q&JH3{π&ꇀ@uON`#'8w Xwywg#o'0x33 0ƀI0 R&B0@(m/ h @`$$83P}펧)o" pL G_ 4DP5 (ύz #3WBzw" `~ ȷi1ذKs(ow @ XwGwXpًGߨ%- V;맰xOow&+oUȃ:oph=/~L})?? 'O'p(Ϸ*kh >~O(g %G9H7& `X'җ6'7 _8*j@sT+P ܋O<󏨫*x \Pw`x7F7@E) G= ?ׯ}$ȧ%=" ?>1~ w="'~!/fAH;{ (꠵h4H%\% O4?Gr _p=Oi kW/[,IMWN khA+AcN i8HYX⟀πlgq̈́p_֗A`JA\oL a@'Eh|e !ϧ/!G!N&HB yDwMXJOKxEV= Bܘhw+LN&7h{m|fv Efwt0qgS!xh݀ C^muE8C!ʧo$X=k UiwHX>/J/MͿ $BOPO:W_|4R'ޞx xFz`@XxF GK娃ԗ6/eO'G6zt W~$LOOo& )E2"'P 'N*m #P!D& 4O=폏iÞ [N8L6ygOV ;HE4 'Bxg +/p?PJP!!ȷ)G;h egN*pW888ϸ~Gx>7WF@uNWOPw䨯w[(y'.w3_f|/GX@>x n@g@SH ?@E (g( P),(~~)o&'~h@Տ@?Ewx Iͧ l@r88 H񤦇닯}`9 gZ q8gGg XH ҏ+F '?|\ s=_)w~7=_YH>_=!~KiIXjhH@xwP \%/u嗥&Mgrv' ~GF/m\h$F)/ T[ B nhdIZ@ xy!АlgX0W(Orw#|xL`Ќ$L T b w ~Q%А!ڿ_ "_ "&KD#D8![m NJs.CB^@ CXlD8~٧S, P&//mw|ׂAXX{h9v'p(o/Eϔ!y rmp D@0aHx @ oBxC )% /%>mm l  = <.1'0IZO$7CPڰE'w~8 'F}I hPE"+EmxhH~OAusd  󞧵|5KGO8݀ GU$x J_ ҶFtPa&L''ZlpO*y&ȑ!&81˸xȧ쏗֜pۭ.BO~hP v /oO[` =DjG{@E(߃"9YSs0h ! ɿթ=ٸ9!( B WO*pzD6y~zC__{ۇW<{Ww'UF?@ lcOAQ (@l_B/ P)P) ),XH@]B)חM'/Q (Q1ا$. """gFFޯm871#8I&E(,C8 X q:wH ؿ+/ h'd0E-J0#N@$>h!:d%o@C&'G &C3!.Pl8F^8m("+8Q`x O+Fs&حF 'votχ'KOIbBZ$h7oTN UgPM ulHBi_09&n}@- ok͸7"sK4 : sg؁_|Wwk_M8!!P!O!N&pKD%D$`i/.O@"AdhJpBuC|+g0XN;&^'3mg}G5H Vxe0Xa tخoN9PmuL 0OtLGFR%(=CX4w ~w@;-*H%6GwKK$J`ׄgE`3 S'Bhy"{m1 wm>Lg ˗2  }4eGJg"?#hKv7HM8#G{8_TNԶH'`0DrC?N*gIIP!H(m7~'쏇-ʕfD>H CNxx @ 6nH!y1oJKxfsMPD '?!2L/W2,ehLxA x@x*7Tp% ^N%Wo9m~8Lr!4C?O7ŘSox և9'qp_0X{ `t9T&㸏gg0|  6pA,p#DOG WwH %" B ?h腯zXvP&`$w$s6Jm0 {knVXqWC YsI3ׄU7 y$ ## K0GrMY0 7'}'W1#9&_8rB  )'j؏ *f6?3Y);hIRA9y!V1+IxXP(  hB&A!/υ;iaM}~x5 R ·/W{\8(:86(oG_`4(M)^P8B,l}eo_AhwQt/HQzx /pr/xi~EfP7p%>y~qH|ofxE=rW@ g'@'N(*e&2_Nhd(#p%j&X^@Ո$ @!0q!X,C@*d'0nFj?4F8&0Woe L) }%_-9`)P`SpCD@RA"`H#H%K,A8AH)ShCc >r8* ~5 ﲲ1_mC8dž/< kGToUx$ZPX( %P \Gp@wߋzx xe,5 %v% spgj!e(+8 {wojk׿;[ 'e 8Y@K $F K`ҀI GoJ8YDe?2ӯ.~,iPOX }@#X+_ e`5 n%}12k=7D@/PLaA40x72hZD{ǁw B(pip-h p4/Y@8)ϲ/twWQ5 0 9,!#NG b 5"@?0~-X 5_&g@$~@|pDph4sECc(o}qwM 83*seg it0"S#+ 7q}` e G'B'LH-J#&cvx  )?z `H, Yx4HO=2vwcB)/MtI\LKE((x47߉^H( 7 HBA&G!7>+C1qMqs_ o:§;I(6#(P4"{oghCM)Ox(B,hWiXcgTkk S:p0Q7pk?mH7i+{ tH<nx}v_C H'Op(]()+Xe-RHh@w(3XK%q&(o0H /@$@! !㈈>r H,a-K*=Xx&+wG3m0='B08wӗo ,x)" ~?&c.=*T@WPIxDU"cX#P%O0A<X)YkHnؾ*%} 2 /0,~4_w'w=n Gn^P&/Mi &PN yHnA 8ύ (B0e ves8h'Jo P#KYNpc?Kjρw|c1Md!0S@! (L!%(CC*YD뗇H!Gƞ;~qT@8!p,A!bHN/Li&{0n hw򘇅Beh`Xv! _ Ȃt׃ ~pN-X(X xL4^PEtwtuvg4H}P 9CP/6&S' i׋.#B>?H/E,X Xt^'}40HF7 w(D *>/yn(wDebowotjh SH{p\22togFrPE7i-P{sux?}BE `(Kx)Z)%,X'Yo),h&NBm P . %0A##PA#0E871 r;GEFCOX`v  GrnW B%p' ӠK'+ `(lX1KH-]A ^!Q0KHg%r0&(VP8hE@؂-Z8FiHFKgp`*{83 pH o0l|8G Ng ~_߅_x&Gn'x*( xb@CO zX s%v%s0ܼ?0H' D$K(fM o i'~cXd!!EXM"g!P&hJB/YZQjOA7?DDm O؂}Cx> ,!W@O" a'{_yj7>7N\5 wv FC!p ,XhݨX @ 2oc&5ar?xtSگS6X' JйEP/B'cJ $0C<pDo'x(u] 'yXHc wD"2`w(O  3 #WP؊ \8FJ§DH(W#aq(S! c n8Q!/Q GD$P 4H*>OpDf' CaO/j_%S}(:[408o/u(7/P|@Asx@/@zHǁ ( )D)U*,X71UjPBߑ)M'73if >(@%9P#+B#`:aE r(Si]GXPm 7pPB Bp   +( X)l01RP.Y#]$M!Jqȃ&z@'Ё)V 6CB!C/We؄I\0~PF'H+8*Ӱ݇+?_h_O뢿N?/w _ oDb @"?^J@ pM HW0BNq 6 &12tpx+W-& XC hK yHswe |^ B H!oL!'%G@A?Y@daDlGM_/Ed`GAvhR+B, L:N&?- 3O9"l/Gt 'ߓ . omʪh3pk͇h  9ZAD#qB"_tNxR-&0 >+=pC$egN $D(xWEh;' PF sp 7Pu `?JCaG!/9&fɇTz ?q@#4ɆGL_4_ 9!I   ^.PM`?&e8vW*7 LP!a(,mP=?n~>GN슨 H qEOww"|XILW0ķX$kLJx dg&;_2ﰈ PA_;ihrE@KX @N*W{؁ Bm>Eg2ܻ &0Q07sh7ǩwi6#@w(oghE's_@ ׯ((0P)+t0fؗmNb(&GPI!B>>لA!;.` yl1plQ\ȇNI6 蔏qgQ -h YLF(ygGw,! * %dA.I*PX Y`"EDnxB#xA$&R/AٷC D%gSЌ Z' 7s s( OYh+kxq~X_76( ȁH !  axGbX? 'ӯJ7 g $4@12!D+.A6 ϏHWFFgI@ y=䇑* $i7$mgD񖷀0&H\׺iї@?q@1L;.`HJĘJEQD08OŇ0XQ%x=@סgXx= @':A kG(J"J}`,Ŀ gCg;h &\/޾в( w;v؁؄GIɂ(y!֧%Mwy!lEqH/"i=IqB7Dgw0pҐx /&ihy ?(|W -x0D+%X83|ok5ou Hj$W; +GʿMpA( ?x'p?r;w:mwP(j8 8A`o t'D XAsгҙύ>wB&2"Rػ1#'0G\7P1rpj/W=v8/? N'`'(׎*0Q@eH( %WOJOA+ ф,8@B887!C.ʟl90V+ ܍W|i40ש`X@󪟌P8?FF_ ٟ)߄ >!`@*E8&S]HGp8{ x"V3?@@)XHdG[貲4g˜ [%e,敇3'G 0<o OIB nӟC GPNWwo g hG[;@'.ws_f7GWH?x lfHRP ?mxBE (g( P),(G\)o&'~N9AՏ hA 3A( ?EnΧ mHRi7H񤦇닯`: gX pxwW a ҏ+ @#`X-Bx)I@ S">=0CfX"q#$L0D(`4(+a^Hk8xcexkH7=0ǥ ϥ&4%-Wfdz |?MdHW Cs g#H\ *8f[(Az PGވ토q:ߥ%0(փ(t$B`Kpz O ag7ǥ h ;@ oGNӈPXFAo %φD'7?ZG?tpT tAX|%Б#pO Ћ]i@} !B!U"($( \pq! !91`0!@ $8 JH;7E h?9B2x9O?<Q&c; P* \w pF GGFGM$ (`"0+lP(`h?ehTQA @A!"^<@IA(_WGDiPn0H*H`ux%\% 寥Ɗ/P IovG sxW K@W 7b nPBhhJ &vH*s o/3 0|plM`2[fHd( %`VG  aBR B]99lM?KFƀsX {D? ҏ?(}'nǽ/CRHe8}^Bh?zu_Ȉp7gsp-q0-HZ6X4iRo 8 ?U 1(r o og R$@1߉QAO 'FR UC |?@{q(S8)?i {7uG7m 5ز / ͦN (qOnXD P|  `!E,\5?~폗o L8xHf,' "_Z`L@HDHLi׏xE"D:`? Տ4HQt0uu gHɷiW|M+(5HߋhFpOyF (8FDx GeWA  Tp.4gfz'Z70m&@|u~V@H0?7hЏXf \r0oS/ǒ FC CI?@5Xn E7 s+`q/ p.dC>XЦ GH'mx׶D:II W?z8&W(#^xbRNtDXD0[Ѕ:CFC#f]Con*0h75HHϥ\te>wwH LoDzx( &OV bHo!DGgXCm&p7'v0spOhO2D(jMH6 ag_C @}kD ☧ _"P^nW \~.fy(^@ }`xB}wC ?PQ/}Gm=ES e9>B g9u(rFq8v-b(Hh6 sXB<[)r˯o* T 1sWJsJ;Y%GP5 U/CA@ C ݷwhU`I@G|HtG>HT77O o J {tχKm`3ݗ67 ~BVNqsxݞwuXŗP+S&qE, ]h?/쏏ϯބO -_&aCLm xD(OG OJ~υ Ћ.wV 䇏apH'Kr '0"(vs+ ?؏1Ke P 9ߌghp s e֠W' X_ DX!o gGx> f>AfB(BP=8XP N'Qh}mg}EWBQf(: fgusGE߂6qXmy- k  7X Yh?D^rˏo4 T 0sx xI<cC%OE8_ W CACφ gw" U>C8"I7O|CuhnU.1o/suw(u{wGM_nv!سG߮ B VDNrNq86 '~DGPgK6R&i,]G>쏇ݛ婾HQ ׈-x1)_i HVKpO D1H>ohDŽ 'Pu`t XKɷܩ?Nx%-v$NGhGPpp0D> x'~/ Bex _'%`HS: msW&G`87pm&h|t~O^x WAWFß RXh'hkBR/ 8'( H F'(CLpCABG7gDK s+cE08쒾 X(SxgmDygHp&hD#l؁q`B]08Ck0EIPU(`D#x Fm0FB}Xl(*i8?֏&\%_G RljԏȏE 60'V /`Hq-xOvHx'(Px$Ч!vis0kӗ7 pK] h>noh <{0wfͧ2pG -)IApqo$ONfmCAPT OT 1`r}ω}w m`C%XD<[oB@鱏 oE ,T6C #MXPD|wخW iDz|7X ✧4{3'Oߍlv#3 . DNoOHXDO @xRq,@ \~'*֛&S@xJ , o,pHKL(F`0spC:D ЃA'm w2`wtXrwx?jթ'|L8'+v&SJhXOp&(DՖDxϽ odr_@_S`9 mr'&?c7 &0@|t=b?0 EGH&xRX`((t0R? A #A2 ?FW/S(HUE/ s(+ X!/ wX ('YHhmpއCypIg'p&rh#szDhfxHs؄Q]BD#tЅAl*pg(788 \e3'VEx=ʟ VIGC _@AG >U ߎ`8r30CT_NPzf17#*vpgs)Op((D`KY`XDu/ i pCǯN< ٯM_HAI9QF[t)2A'w(s8Xh0 GN<`P?){2mEO( a9 N f_8twOp@k-({ 4PYȁ2KBoWpHS S 2} /P{u%`@׈`J7hB?G ' v6xTN~"P!8D_}8y&Y' ՟wJh ߛO4zsSo j"r( !Eڨ.oDL!Np~wT PCOJ K RiE,ZP>ǽjӛgGV(I!o)ع7q0? wPhJxODhBCFqOD O'=7qprH x ?kҩI7&(%XhOpWxpȃwE cxq؏@첿C eWS;P9 m룯eFf78'?|0t`?f0 ǀE0 RGX&2jz0 A R aD< 4 6YN8ﹷxB! r)K0DXXg0_Gim C9POX X(&{#z(0n`l(zWcx#PEwXEAn`*e}u3ևi[Ws?GG [7 @㐋Fp cr(A7Ȃ[:@3vesh$է0,ȃ \MKg |LiXG |`w·gET )PWMHA 5 FTy 2';v7 v@0P9P MEPzo2lτ_TL_P8V"f8sϠBz_ſCp)-$H0L3XZ0yHAO2S S 2@0/Ihzz%dEg ??p ` `u@6|v(' cC~|Pƅ^HAEG ޙ3yGYMgx08+7Oo@JX~A0g@vx pB N0/jyl<A] _@8> e8r?Ѡ~7BTpi-P8 3/ZA=iU1៲] ߓ 2=@0o ?I z%f0K׈nJ  pB?X'   pJHF|0wCd&c7!翲K ߘtxsawhhqpU,/1P8WCDK/pNW Bw ] ,gX4w=ؙ1GfЎpI.g&?7 UEtȊWCGxHLFw?D  O؏wp}( Q _ש;Gxv!& eJm"ho/xX`DvE BboOOC /_HSzxG2&Flh7'|8?u`m0p E1B QXe3o+~ pA  g B DOX AQ:`^QwxN rV8CXx&1fG/+n(Bx XW O &#~ȃrp@B̀~\@BgP#XEuHEB~{x*}u>)[Of7t%߇׽O g 7o?E )VO 0pHu@6me*#vsh , | [ wj p)X( 8  wH'9AiAay!w4;7VV@tB|SBI HV`gx3 l_7j M_8Ƃd7yq0ӘB/_B/D p N-M0(3/ [Pjsge  20}(0z vB%d(DQ vG8B>8@ GF 'E h5Sp& |`;Ǎ`BFj4D5 3 W ◗ wGtOGlMh(xH&7p& &~DKX/@N H܇C?f4,g Xt`wOwqքHr 0 .&P7H KWFxCDxXQxo Po3Vp@J7Ȋȗߩ{G(6&Xl q0*nwxPBXC~Dv/ Pb W@?_K@GS8nw?f?n7 '|?tpFh ׀ P9K HX%+ӗk{ȁp 7Mؗ A :W WA7`[OD︯8lI r oID>ȇ΃ Xp&)hWkmxχBGHH 8@&~C#|Cp@n0CBh{Y8e8#yphC*}5 ~i[eo_G? nG܏֏ )]P( zHux30x' B0I%"uvsXh ҿ((@K dߌǍjPB ׼ iO]px >Nǐ;a@zE37G ~voB00PTO [*wߴlW=EBzP_cyq_ոFEvpO- P 8H3Я\X_zɁ3qkHT _ 1p x p%`XV (C>x@#Ÿ ( @ WvC|v HFG[rJO9%A斗wxwh H!p> B ~Ko( _I  kpGi,(XxΏ펇,ֈ0O .&x So @ YXzH/0@Vx w\`oh͇yJǬ{G&tgKvx.n xBn u b0og@뻟%LhGS;wo7topE7)'H@|ts0 A XWQ>HOxX"ӿv@NQ 6X ]ؑ jX2WJ(8p rg F >7~Xp jPmȀ ?BIh AЂ&x#x@|l i@C`CBĈv@DTha8X#skC0*e}  H'[ e?t  vDgE~p ?JeO! vA0CB 05evsH(kt$DLh nO /jC /{D a D?QC rDA77gznց.Xi p 8CUx !`8jwul} _X7 c: qGB^Ep)P-x xĠ3]c}ߏ Oro T 1Ƚw hzh8$\]7J N>.B7 # u ZPND|5RpU08H| `L?떧vߵ 'H/gp !GwqOy!IJ. 8?WU8 pKoOa,(XH >ο},_2E։p ( 1 &7t`gZ} H: \Gxo #aAop R'Il|GH&}{E4pngOJBpCu7 bpPڇ@%` S;09/0 f'Hs@7'@|0tX_u_C? BQS RXphBR_ CkbXR r#R-S0E rNh졶&w>XhkHn A B8y`IoI#P `A(&r@#sPwXgcC@CpOЂ[C#oXg8DzxG*%|Xxx٘G[' ?G57P wܧ xЁ֧ LJl)W (00IvP,?Љ% ves@(O5  YwǍjB'wx GOPi`#@ K =AsфA?@<7 qfn&Be D&@\ (gvvl~Fg^Cco{ qr `?Cofp-hM3/^^1uQ_5v8 ? 18~/? JX`$W0dߊM&=,Ŀ F+R 5bUN{P5_OQ.J7KcMHvǶOg83 pp')'2 Xi ) EJ.@N(OC PgwhSMqD,W trn I7_%@o?\FGPD5Dby *hPQo@Jo67-wFt%03L(;nyo 0ܸ8ņuG 8aW@oGe  SP`p צ u7'A{t>wȇp @J8[p&XkЂxw&0ϒ nj qE+8'N@ 90 rgUH윖E6E~X`flnAljA9I(H&X@&k#nsb_ DC8lK8CWC#fF_EuP?8*ȥ|4s@P7['7&K }'_ mWF H dO "؏u# e%vs(ҟ`H rg 7iGo8D /] Ag,9 cY~qDDw>Is.&B{^ oQ @O]`Qwvwl}BX^ >b;pG BFp)HO-PhXЌ3^BM! ba53k  10ySX%K` 8>hao G ! xtWxUFE{pt [WHPH>JߊVaw/JouO/Hgp2p0 姲Q#yCڎEJ.ᰍJwX P l S>A,W3η7/6 pX H6'J%P ϵq򎘋XwK`)@DG`s@!^QGo2J3iIg-g |D~W _@A AYI]Hx HsA`B 0%0svs h зv$K(lM h@Bf ϗOS 6`gNXGyGA g) MOw EICr8V` hXh'FH NQQ+ uw8"lO^0b;ps?oϕFpݷ-8㓐 3_B3QDFWW a ȧ20>خ 7 9BC%=D]7 'C>qB E h tL(UV{3XZO{PD?DP_ 䇏 ?w/" @1: uGOgqoHAF@/ sFy vJ8J/m` WaR%A , hW0~Η=W-os FJ:%p5v!uOHT@mH `^GkgEo%SPo(r8,wmF%1E%PPm%K素0Cv?F Ba/ӿo뷧gŐS8xr/n7(|@t>o BP4ERX%[@pA7R .GT0 J 7C)x @9rB rbT6E~XP&_0+n@AIB0쬷0i'M#_0Aa8S`NmCwAY:Gxx%SxEMEFe*&|?Ѹi[ǧ!w'(G= { ʷuD Q 6U (V (8qh 8CGOx `evxfsx(gv&7gLwh/<] i7Ip@ *NG&qM`_\wJP6jN C0Pς; NFP/+wx#lx   BTn{@Yq5F"oJ7# Ї Ox$oK2/:!wwgg/ET?r9nEJm` &dCxC O Vp q,hWg펯l2J萘`AI%v#zPEd GOȃ \d 8'H`Po1!ȿ _F2%8XOn 5 PB`Dv~Oha/o7GOg(@S x('k78j(@|uhk?vEW)H:xRX`? RAgч@Q N)J 0D P)  ︗9U( rhFTߊ=X(&YЇ/+ o!gBηWGh/w@WB((B(%L(G8F_h>@*}3phHw'[*vf1!Nj䛷E_LJ=̿ y/Wn F@WE +)MU pABr  pvs8i/j%X h bwgςpVH o'N?U طMoh! 7DFgWYBρ.BbG <w1 GNPp1x/YG?k:G8&w~EOo7Bo ֐ڞwO>bpp?&2PSh!v_g0/hH78k(@|t?gF7n@B7@E0GXӧJ`HA/Q N@x G`A 9= rЩ/)DRxGDۊoXeSn)?BWgGp k HX(.p$O@QD>SB\p I*7؁|؂&HCF[>E*~hsPr ֯e\3_ue:!o__ u׉i' AH@D #GEXw oBzoh }H vps*$Ǵ"wJ\L~fH_|R %N5T PWMŀ`B#+9gYHnB w_HD` ph@'@ M3Oh$|6l'oKatgWztFwDEpЧ -~ ְL40^D%3WD  1x}PowI &Q?ׄ g Xs/}`Q'f`*CXB4 ݃I֏??8{5gNiqo?e?0$QG%ODLXK,7Ynh ?CD,@Y20쏗~J  DWI(HoyWqpHPU`  CpBVGZ7"5O?q10 ɇ)zIر(0z|D0OoxCKᱰH>x=~bയ?쬏|Ce; Sp񵯯"&9Fe70l'@|ht}~c8~jWEϗ'XdgGH\/Q D6   pAPgx1B r#O8ņϦى'}XN@nh(Bh윧0 Ff@ B(($K8@M@@h@:BMV{!E&3u&ID F[P>8*3pHַ\+we2_䖧p} nh? E@E 1= nABpoA xHHfvs0jӿן X`S v fAwPEpP,ᔀ-pP h @ 5h\Xydz˿/ 1T 10H+p%%DL?B@Ո'F   8tv 8l0؂ rωB Oy'7{5?skHذ᧕7_/0"vMnX ߉w^Cr ̟K1(P,k[(?}폟 o  pN H% *u Y/Ng EM NB8'KGY?W$7@s2 ɧ 7Ks* f7uXpϸHPx_|XdP'|C%+K8S;W/4w&)'a7&X@|ؿt?^p`P(OX`' LAbh'M NC $ /$`ADF' rX6CDGD኷X8fK nȀHC8HG?7vQpB(4xC$PSCD?XbHA K+(8&UOȅEc}*iۀ(u s>@Iֿ\eG %"ݾJ/s0 Z' oCooD ](_ .x/ sHo(CXNz`B qhvs*ӏ 0KX@Gh_fB|] _x Npp4i MiDk 7M%g gA΀j0OH ~hxP=OTP Wh |5moidggz tpygDgwDpl-*iMN6ر[a3㯳 ϯ+XT O 1}pz zI:؂%0`='tLߏ/CAx g 7 ' 5hH*/sHD6P{ IfI&QCwusgw{GcNl(3 p1xF#8vBFDMxo8 `Nex` g, Y ,\@}폟nd 0+ϳENc CKx/(xwE?G\oߧh@sx3hwHɯ);L+[O qEpxVJxx~~E dq__@w~"LT{8ogto g_07Ȭ&p@|t0>?\hGw׀_GQHܟX%(S0hAwGNQ ނ0 0 _/B#(GZ9Cw sJD =0XhJxHgmAfCIG앇Hg8a'B#V(Y0JXFxcnȁQ2B>p%\pTpDg?u* 6 (Ie\eu ǶJF_s oHw Qo s jE &ڧ j0oXLW m &vs׏xh9bf/C(bD e 7QHHH!YIaxwgTAoU }0}7  0O(|moE] dAgO:t؃tF_U|Dpl|-kbN؎0 6PYB,G ㏳ϯ' ϔ 1=xqt7t z Hx%:7`ߌNAA ۟ HwNy<~vG\G 31֟7/5n وG{_ Tl t 2oV! ~B^N00@~ ։Ok} o',\ 0Ͻ폗/nIWO؊Έ/,w27_ BFHt00?_D?uؐtP ~R0JɷiM+tPlop> 쪀8Cx>? dhrP٧@뤿?g pT R9h.79i sY6Hvng~XIgm8HCgI?PqC'O#[A_OK(Dm(zW(7PC @D$b_W(*c )Hh5x(J%\% 䯥Ɗ򈇆/wP KJCOFN|9 K@W 7]샐B kJ( &vHs(o/ g@}hlM`2[NfPB%`V?  IUA]1)q ?KFƀ(#  hE?. ҏ?(}'nǽ?BRd}^Bh?zu_F vJOgsp-q0-PZ6X5aTw 8 ?U 1(2 DHd{ ?*,7JQCA2R  UC8w[K nbOK9!?h J{7uGIGl05 H/ ͦNp OqHP{  `"E,\7~폗o L0 @f,' "_Zp@XDX jߏ p OLo Տ4HQt@5sJgHɷiW|L+(5GeHpOyF p 8H FDy?dOA!GD먯e Tx.4gfkZ(G78m&Ȁ}@uW8A?7hЏXf |oS/ǒ H DI?. ~o/ r+`i-p.dC>XЦ HhI'mx׶D:跉H߈ W? {!}i %_xZ`#GZW7|o:bM-/ȍ;:lM(J*fȆ)85Hȉϥ\te>?  M=>|:W &V ߏ^x0?GgPIop&x'v8sxOhOokM@6 ag O@h☧ _$S_ FBs \~.f #H  ?PQ/}Gm=픟Re>B g9u` qgGBpHv-c(@`6(sY=\2˯o* T 1Jj;o} 3?-߉U/CA@ y4Dݷ7hUwghq>Hb 8 O n  u {twLmpݗ67 ~BVNqshOݞw ƗP+S'i, ]h?'쏏ϯބOO  -_&b DMnX g@GH? Pgtsx8ɷ7|N!,KKgPp֦IE&xDeH3뤟F﨟%_LXGT<z._&mO^7h-&}0uPg[ HP gF?X䉨J S NEx I F.w~n~E?ypل r,e)E.PH}CrFXMmfD_w씏x !<-~ x@$l hL#Te bg| $o:n8: =xMF: x8'8J)ih)h@h%\'4%ŎH0>G OG ;w w ?'ȋ.wV 䇏]؄%KtJ'8"vs+ ?ؗ1$ ؋e PJ9ߌghxe֠W' X_"GXtgGx> f> "` ɰ P=.XP N'Qh}mg}E?BPMf0fhukEς6p`my- k 6` Y`@_Br˗o4 T 1= sRpW<(Gw?-IW CA:oogw"U>C8"8 7P t Xtn`g.)o/sug  u{/Nonv!sG߮ B VDNrq(6 'P GP_6R&a,]?>쏇ݛ婾HQp ׈-x)_iHV qO "? ׀ AWH.Dr'Pupq Pɷܪ?N%,v$NO hGPpxƐ> x'~e GG%S: msW&oFa`7xm&h}t?_ GAWFß RXh'hؘPJ0 R/ 9'( HFw !~ G7g r+c.G풾 X0Tgn@DyH7p ? <G#{z"ch{'=|<6:{ JhL(_G;'hV'I(lF)ixH?֏&\%gE/H= Q@7~'J60'V /\럀 ;@OΠxx'Xx$Ч!v is0+ӗ7?/K^xM` >noi < wfͨ2pG A0I9qt$ONf( ! XD |O% N2P(}3m/?EN8 dH:!gugGFJ?Cw p|@-hsp 6زZ;DXr/>HT OT 1`r[wM~e07I[g B@Eg+g ,T6C ȸ# M JwXGخ^YDz|' PJ✧4{3PMlv#3. DMoH@ O @xRi,@ \~'*֛&S8 JI, o,pXL8F`8Kt`@W"?A<LJw2`wthowp?jթ'|L8'+v&Ri Op&` 0ՖDxϽ oods_@_韋򘠆S`9 mr'rdF7 &0@}?ucX?0EGH&xRXh((Ч wR? A $12 @ FW:"U / r8+ X.G oX ('Z@HhnpއDyGpg'G<;dkW"p `!rLTO;LY \L< 9'ʈI'n*pgH7H>\e3'V_p=ʟ UJoD_=WC>U ߎ]h( RG@T_N@|X f17#*vxgsWpZAXZXXDu/ jAgAp` ǰN< ٯ_H1:I]wL)2A'wJ 8EC ,0 GN<`P?){2mNb9 N f_8t@fEQ?pHk-(j{ 4XZ2LwWpHS S 2ȱew}X{po"o4`J7hB@RW9o v6pTN~x"!L`z&_ qEէw`JߛW4zsFTwj"r I!Eڨ.oDL!No~wT OJ K RiE,Z P~jӛoGVNȉ!o)ع7q0? w PEh yWH^׀<;OO'=/qoIpK?kҩI7&( %W jЄOpWxw+Wcq؇@챧EeO@T;`y m룯evwg7@'}0?u`}?gG(E0 RGX&2j̳ʀ R Y< 5F:WTo?<_ﹷxC rK/@GDXXg0`in C yP_GXIF[OO$? @ "MK!W~O~ u{0gix#H' 'qP*e}v3HHևi[_seGG ZOIQ7Sg}_߂䐋Fp ` 뫸 ^7[NЇ e:H3v%sh$կ0gK] K_ |LjX'A|w¸gET )PWMH6V|ϋ2';v7 X @ވ 0<99P MEOzo2mDOS_X8V"f8sDiWſCp)N-$LH0L3`[A1qI1W2S S 3@0l7Hpz?$o@9Hg ??hCZ'B?C ` hu@6C|6I(' 0I8~ƅc7I1G' ޙ3yGWFZ' g18H+7W/8JXoqFO߾o4r8I뷿0K7lϩwG"&д"^l0Oox.ѐHhDw/3bů?@_E#g$؅Tmwz7jHE7)(}v gkF~`gHE(9Xe;GȻ0IQ'  F( 3EHW@bg?JWOgx= J rH2F΂}X&9dGowCp _ xFkWg&!!  PK_W! KpXKs|%X S'HI'u*%}츀֯[&sOVwE1Gw}݇ `QgJW=_CN e`G Y7@d_NH e206+v%shG*GaA iS7 kA_H<( ʿNP 1ꏍ?PH#FhyB݄' 5w>~A0g@ѐJ xE޸C 3@B N0/jyl|A\_H8> e8r?oEY'BTpi-P8 3/[>aV!B᧲] ߓ 2=H0og w_"_>nJ  pB?PZOA_  JHF|PI0wh 8x&iIDzJߘtxschpqpUH,/)P8WCDJ/pNWh ٠wJ ] E,gX4>w=ؙ1GfȎp.g&?7 VEt _eǀCEG  O؏wpyxIQ Kgש;Gv!& d oЄ"ho/xxD٘Dv3GDBboOG%/eWTzиG2&~mE7'}8u`nF0ߘE1PB QX%3o+Ѿh@  g BOX AQAO[_?CWwxO rW7HC=Xx&1g/+n(CXoG O F`?7>%?  "L !?~7~ zϻtxX#YHV'x (xE*}u>H)[Of?t%/H׽O fIOA o2|Y)VO 0kG( Hn(e*Х#vsph MA(K} ȸ\ wkBX)X( 8  o@)!DQbqE㎏ 4;7VVϸ !8 C |S"wJ HV`gx3 l?E'i_8Ƃd7yr0 xFYWB/D p N- 0(3/ \QkA'soe  20}00ow7Iz Zs?DIvG8B?0@BUG:WC p5Sp& |xv ;ĘpJ(s 45 3 G ◗ wGtm h8p&7p'I&~DKX/@N H܇Ő/f5,h Xt`wOwqքHrI0 .'X7H X xN@NG@1/O CPo3Vp7ȗߩ{G8&`kr*nwxD~Dv/0WPb O@''ς_KHT8nw?fFo7 '}ur8ǀ FP9K HX%+ӗkٽIp7Mؗ A ;yCW W9+G~/>D︷8mAD r oID=΃ Xx&)i0H_knx@χBG'H 0Fp} x??@" ! }}_?8 u y L^'Ƞ )|*}5 ~Hi[e?Fg? n_O ǃ U7*]P( sX6y'PI%"uȥvs`h ҿ7@ @ x dߌǍkXB׼iO]px >Nǐ=@d@{뢹M37G ~v "h D PT_O [*wߴlW=E헇By(M_wcyq_@\Cvp- P 8H3]XB_{3qkHT _ 2poI 8/Y?K(C>x@$QD5( P WvC|(6FG؄h~P1&9斗wwyNh!p> B ~Ko( _I kpGa,(XΏ펇,ֈ( .&x So XZh{X 7p 4?A ]O G\Xpȳ ͇qϬ׻Gе&rguX.n n v/b0o_@뺏F,W% xFS; wo7to'r(7)'H|u>t@ XWQ>HOxX"ӿIϘ@NQ 6Z]ؑ jX 1~ Ͼ 8p rhD >/~Xp kxn ?B9/첇Hyh +oK<Xp#P@"?==A:hsw،lg{ a( *H*e}  H'[ e?t ? xKV? |U?eO! {(자D,'x 85evsP(kt'xLh nO /j&B/=a D?QEuǍ77gznց. #H (Dx=Ux !`8jwul}F`_h7 c: qXE cGB^Ep)P-pĠ3]Bd~ߗ Wro T 1p7Ixz~F? UO NC>/yQ5D# 0u ZPND|5R؊EGH/a䟵?떧v ߇7gp G!GqOq!IJ. 8?WU  poPY,(XX >ο},g2E։x0 ( 1 &7t`g [~Ǐ@  ?n?IE#aAo R'Al|G`u&{ y4pngOJ@u72Gb0Pڇ@77%X S;H9/0 fth7'|8@t`Ow_7 BQS RX R_ ClbXR s#R׿#  rhK(H&gXhlHn B@y`ПH#P ;-|>~$xK#@Lr/ p߼-zpX uMP?{(f W(**%|x IO[' GIP aGO}ZgDLJl)W (0p*?ՠ8% vesH(O'5!WAKYwǍj3GOPi`#@ KH?)ug@<7 qfn&BH#8 XD&@7A\ (gvvl~OM^Ccw{ qr xE nofp-pM3/^_)w9Bg5Dzv8 ? 18/tIgh7<_ M'C=-V:+R 5bUN{p_O K@ .J doNvǶ?OgH 0')/2 Xa * EJ.@O@PWw`NiD,W0trn` I7_%Ho? ]GKGPȆ h ? ~'$*hPQoX8o67-wF4%83|;nyo h 0 ņu:8aW@OEE&  SXp צ /Hv7'|@tȾz0 G8J8[p&X0w&0ϒ oj q+86w ? 90 r( Qx휖E6E~X`fnnljB9 GI)H&X8<0~ % #fW`|%_LntX@g;RV(+0*Х|s@H7['7&K P W jCE <^'DHeO "؏Hx,?@Xevs0ҧ@X@ Hrg /iB=CGI/] AgG-!A fA@~iyDw>Is.&B$E DQ @O]`Qwvwl}?B( ^ >c;pO0 t쨯BFp)H-PhЍX3o^M dQB3k  2>8pG9 =:O_ 8C>hQBXWE=wD! tWxUFE{I[WL >J虗WYCw JovOGg20F0 寲QH$yCڎEJ.ᰍJJPKl S>9, W3η776 hO H6'J&X ϵqYxF F ? ',@!^QGo2I4aIg7uWA?P(SHX%''߇ b_ b ! ? Ey) r{CP(HVO~XX&hH+n`ABP Xٿ 9<,>%pp$y0Ld]G<): _Pe ? =(xI,|E)%|h4r8рH[w' K7FWvG 7>g t7&'_  C>a[ECOh (tL(UV{p ZO zxJ HG_ _K?Cw7"KA1ugWOg1/H 9@/ sGqH vJm(J/ WaR&9D ,(hW00~Η=W-ws FJ:%v!uOX TPFnX0 E /5Fo%SPo@2p,HwmF%1 zp%PPm%K `D Ƙ v?CBaӿo쵇YWEg0S@yr/o7(|@@u~?q`πPF4ERX%I`7R .HAT( JD g)> @9s rbCP6E>XP&aPn@IB@ooHx!g{.w=H&(Ms %jh?|a{4z@O ULE?@)8(z( -x)&|(r?0Hi[ǧ!'G = wC.7"j6U (V (pG{=?GO@`в%vfs(g6&* gLohAUG<i7Ip@ *NG)Y@NbAM\wJP6ފh &GP pC8P; NFP/+wx#m<B8 ^4cq٘ H'FpjִN,ۍHM‍h3o^*) ?ϲXH _2>.lg x`I?  BTn{`s Y@l0PD "oJK$CЏ Wx$?2y7:!wwFgT?r9nEJmX &8 `/KVp q,(Wg펯l2J萐H`AI&v#z PeK OO EJ>? &H`Po!Ǭ _F%@ x On 5 䰀 D H Dv~Ihao7@cg( S 8('7l7@j(@|uh>l?XEW)H:xRX`G H I ч@Q N*J 1ل P ?3 > ︗9V( rhFOߊ=X(&[G/+ n!gB Gh'0'/5}q 'z aЊ%ZKr{jo;Cz|K@EpQvK(jH-u@E)}>w'[*6f1!Njw_w=̿ ~o37.Pp󝸈/Q?k:GH&q~gKvOo?Bo 8C  ڞwO>MEb0?iި&2H S!v_g0hpE7@k(@|t7h/ /E0GXeӧv /Q NA@x =*> 9> rة0)M0DۊgXeUn)?BxO웧p ={1z=׼aJ'mLS%MH{׻s?;Pp2`7 \9nK(a-r)~`2ƨG֯e\3g5e:!oH_ z_31o#ɇEXw {n@G?z0(uxsϨ$Ǵ"2\L~fPA]?|h%5T PWMxP#y,;A LgYHnB wr&oP!/'@ M3Oh$|6l'7W a 4gWzt?HD⧟AEpkШ-װL4]DC&WD  1xPof|O8x$OY@BcMg hs/}rQ'YI} h4 ݘ֗G ?8{5Gwiq0?eG0$IG%ODKXL,7Ї?w CD,HY28쏗~J DWI(XoyWsI`Vp NP D(W '䇧 BF"5O?pp Fɏ)zIq(0yKt0Op8CK ͐ >x=K/bയ?oiwEݨe;KPESx0񵯯"&9Fe(78l'@@|htȽ>dx~H?OEϗ'X%gn!/Q DA6  >?o,>Hgx2тJ r$JņϦى'}XP`nh(BpՏO( FA_5@w|X`'c@I8 &D~{vUgX). aiL(aH-o`E) ַ\+e2_gp} r7}?('|fC)H= w@Go>pG~HȲ &us8jӿק )XX S v fRP6O"~﹟x6 r8+'FHGn὆ۊg}X&NGnCxW딟hG OF6/-8oVJ'_LG%AXvo:J:c&p*(XygG(hp,l))8s>ֿ\ǥ#o5e*珧sн i?Jj_W?C6O 7qGs .7eώ y%3 Xfu)spӧ_W?JӈIof(B>wP!(' M_FA9@=DTA? ?5'A.u &r0H S O"hgh|?6mEpX,ᔀ-pPh @ 5x[X qDBϳ/ 1T 18pXrX;9ϽHL?BAրM?6wC Htv(4 8~Wh y8 J Ov F7{5׆ukXp᧕E7_/0"vMnP ߉w̟1(H,k[(?}폟 o  pI@% *5 Y/Ni8E0N(8 E׿qg&oW$7@rH  ȯ 7K3* e/Ko@pϸ ϐD x_4DXcPLτ%+@FT;󉨸W/4w(Fa7'X|?t_HIFP(OX`' p ` 'M NCA$ f%>DϸG r`k6C@Dኯ}X8fL8g mHC8쯈G7#_+G( ֿ\eO %"ݾJs0 ^gXGBJ.x/ kzD YOueuis*ӗ g0KP@?hWf+|Wx Np`7Q NamgM%g gA΀{0K%x XX=OTP Wh |5mOidggz tpԠ _gwDp,O-*i N5qZY4㷳 ׯ+XT O 1}pQmI;/=>tLߏ/CAp A7D(W'   */ YJE vIxJ'Iwuq?w{eNl8 1p$8vBFDMo0MP @G , Y ,\P}폟ndH+ϳEeCL 7 hF />c?IEߧh@s3wȯ);L+ZOlpxVJh  @ x~&d2__@OF9_D䨿"LT{9ooto wF_`7Ȭ&p@|u0]8@_GQHܟX%(uJIwGNQ ނ1 B 1 _V}GE[1w rJ 9XpKHgmfC??g_:z"aK&`MRx$E0]_W׺'c*8 -L=OyepMV(}h+g)  ( e\e'u ǶJ?_s 7 w TK7B?O &ڧ dxWM_(ph e&u sj׏ x`9bgBǂ(H e 7QH L ZAIB}gTAK$}(   0O(|mo딧]dAgO:t0F R죷U|Dp,}-kbЎ( 6`Y-I ㏳ׯ' ϔ 1=xqJioIz *o4`ߌNCAAB8wC۟ H(vx wNM\H rl4!D֟7/5mG{_ oVl(t82oVG! ~B^N00@~O։O ȉo~',\ 0Ͻ폗nIW΀/,w27`BFHu8 F .VO ?uؐs`t {XR)ɷiL+tPhEop> հ Cx>dxrP٧@뢟+7D訷gL@T |9. ? gpG]Ȇ7&@|P@up>7Z X'AQ RX%(z`ؿW AXR >ER>79j  rZD3Xvn_~XfJgm8HD_I쐏P '{ '}g %aWK$GLYT;d-0` 9ysyI)"`8,`7]5@KqoO}"'mG_| ȏ7SxK^H^IM5xŸ/Q}VivؐA x sfo8v갨m՜_rL=*Lޙ8N[0 NwOqI/k9}W1_P'o|T!F䂉! 뿮뵞*3Iw!?'p 07VaWr^~#f'ꞷX굠x OV!_:b v/Mn Y `\ȳVh論 шuw!V&TcJ7K@|-JHڂ_DW ͯ FXB  Pvٟ3( ` mz'q7mY/#aW>)M !! o_0ǰshギ싇y)I M:ih1yxn~PkoQM{ / (| ?mޠHvg?n X߹nSF\QFP|x$]lHl0O?O!aFQJ&f_IݡJoڷ(( UC5 vU ~hȴ UG@ß ; NISqI;9Jse/ 4ψJP7-X`WH{Qg2< U׈hRnHt@jp@y BίVf2 KvV—S _T^)ꏔBI=H~I Ў ݦ SU-ȧtXxb] W븯y  Jʼ%%IMõٵ=֝Ɍ EHIE1$X9n7l@{O-zωStKH͞ mJ&I 3RϘGQz G :xOH t@~v+(ӝo0bO;(,0aX@ DP|Omv~/HWUKꑈaGiaO 鷎 ]R>q #.yyILB8TPb!h@G꛿V GN , '8A?6/{=1|RZ0QQ븈ePR J󊷺o'_3`J7ɘ=J-s IW EGByHI._:f7XLg6QN LYr^k!w<' 3g> !ou 4 w4 WPqfPz8i輖yߘ&ٌ1K 8WA@8ܮgp1 fwf>UQ쟐Y(*"F?ch@@ 1 vIl[Xi|pU3rpl@m p   0ާ. HJ!p! IJ u @|щ8prɌG^Fb z._P m` 0 п,MV hJ{]m -q * .[p .=Gdmt("=0 $9L$`HB aHA(F'@<1` 'l /y EWOmwL EInI"I7RorIh (~H]`Iyxw(m8rܞl {8;HNwMa?Pg(wG$hwWLN)Ly oϊ6>HNG&hH  ,։X=Pd,(9kDPNHJ9 95 _ ҎIgDIXtp]8~(y xLݱ74 W(?t[K}-] LMPEK JnO~(n}5Gfh#qPsJ~7)EiI8ZO0pw+9 ^wtDyNB_'xO_8YP J7 ώ9 WMAsru4ʎ F x '`;B)N}NR@cX~X( H= c gU߹1UCK/ ᮷O~h7h7Mo`0U/|ŶpP ) j6HG' V'Mp b0~@<ogs`8YgtG hHW`rpBm/Be0 @'$ 08W`mmȈ? Hы YNU H= X|! xOsq?^6?8.ZKz^PC w;h G+)  =(F 'nH)/) wMW(#p?$Ch=(H|HA GO &v HEv ?Pȿg … %);Yhx3I_QwH x$x8s,{gKvJ{MiǐeFJh l䴯3YQ3pyy~K o6iOHPp$1F( @Z2 'pT8d(j'7KPx>FK:G=:W4i[/Iv쭿?Jl^3}XQy Jpv)A /t%W?X&~8Qz/ EJ/6IYEwx0M}aӞ ;EG K9P󸰇Ft`N x? IgI J/9g  UGX{y-iK wANieGE7XZN g@H`OJhNBs{׿ru_t&oK>Bh  ~ C%_zKh aP{/xH(-~FKb?V=oX;}漷Mய>}$p$ek8=8VU{V QHKjv9 ɗU揂gn XMcx=oW2aow ['lIbXXBr8lX􈟂`0JopA(N0*W XX#h/1M'zYJ J׻YNt6 GK . Tzm^ (}LI頯 $I+׊H   G"X pE# f-oph ︆Ӏ:i =1=!oAX ?-wog/HG_'c^NeK /!B](i?NKcMx@xm>)PrG _NHhge@} ԻFY>)yQOA}N֌LYG J ^207Qx;p>~ 0TdHegm+ k@x쑇EJ(NH@!;?<;O4/O/II7Eן mP]s~xx:JVig1WꬷX%?t Jg tLȀ'v MNU A*NH[ON ~Ƚ"\Yg~#p <% upI t_ 怡yw 'S MW9 ;wJW8=%嘺8Kf _3E!qUwK9L9\Z' 89,Y(O B3̀} BgrgvMCx )N#E%yЎEahO~H J~Wƌ[KZI0_ u'* /~((}*b7Nh`Q`VWŦA#@kA?xVXP _` q/rc[Whd _IVȴ sPl]H XLqF CljU@c@B(Xnn> TQE 3TN1dqPϕ.!nK3- ~OQKz.` Cw0>   $@KE T)BBP.W5 ְ@E5k9 B-҉n@=(P}s | ̏o_k7QI@v ^rJ M֋DH(7T]~kR|yzw0"@~(-qgx .(N +AM[Qekn `/STxE'_T)!'OO&Q&Cga1BȚ`;Xld%7 i׀ogEQ!8g5w, 3'J>KEZ8suZ1HQ򨨐jLFqfiuBW%H@cJsMРrfN{n MM?g.(FNO^ f0 g@~H#?oퟹ `)huOo9g7OlэG9 3wx cx$֐$0SMRO1  `NhP{Qn G/gehHA |տqp/^nQKL >0">6+oPz(AcOQI D誎 7S7SxUC | p D歯1'󽀾()[dЇVЖQg|ه9 l. _wCFLXש'Ȋ[XP~ lWZ7[\g\pT8ulC\ AOD'J X[kGXX!و)E PY7VnO?V\a`I @ G٩F C_<@^zW(W2O.埿 4'8 H俕[_pLF{NOP9OM@ pM q揮L zF}Mvo#ko/nG X>P񈿒e@k&2T\8Z G5PWVo幾n4VnV0툡 G@8H F0UTlHcoWh'e ?FY8Np>Η 3/,'ꤶEZc01XP`Q^ wM<S'TW&T8N7sM .ĞLKA+WGNEJV8Qfb(LqFQu@JvƑkѓyz8g|I?z(oGwQz w$`hNvO6YP:쐆T86v ľO[I$WlWEy@ 8; oW4f'8.XxXM)!PF}о3w <{O> f@@I!˾ 0 >OXJ8[UDzlL֯XVoo$ ;%Ub`MJvQHlf8wVwJV׬w(X?f'uNZT ZR0 whmC\0 DJVHXf0;0(*۹A￱1E&T NPWTU>vM 0 pq$uI6ARLydPDޒ`} :: N"҅.JO!av$QeSy[;PZBʿspO:n&}W'K [ߎ}^P W)RZ RJhK)GNR獡G}Muk{j 0. `GyFxNCLG?ev@asw^ZPDhUW5'Y}oXO֐Q=%=1ތaaݗA' NPUdXb47;gb_뎟`贈7,g"yJ vMGFϚ8pX pP[p6 LH ,IYyd(Ẋ'`QPvUߍt OwNH?OOO#GN*i&`M_(.6;Xǒ Eܨv znQkMjnǼvw:Q~4K7 jY<?c^UHpHŶoqhnh-@`hCWn^]NSe)9ўRz%QwPz0< gP W $=Ǻ^iMѿ^Ov렷{:VWP`=PB@ J` el&6V'D ƎT.j Y8~]AgzXRoYxQ08Dxn [KDD  IZ(ؙ0G1㽹%V T|VZ@٦6O_}x/U"8 >^VnU/QHMxOud^>oNg 閇M7(͎-O'/Pʅ4"(ZN@U_P֒ ц"E&R!"Hn)_`:xغ _8 (=W ^~ P7^P־YTȓ#RJ HRو{Nt0q*/4M#Q@9HwdPPAi~_S?Uڏ(1#989W2QOц츆-TݑAH׏ Iڙ`& SȕZat>>hggiN麰$A : a .?ߧphQY.`Rx]6JЗsO ph?(U]Nwˠ0o &@Op(V7HO@fO#Spz V{0M^ohx0 oM-)]? c=$oty$? =7 [?zPS89/t O퐨Vg̉QlXV@o gm6Uo /VQpX"Q҆l/xP9x f8/R iJ/ _M%*>$^ G jpϷ_9vy^oaP -X;^ xK0 !Sk6V/OQoo /g [0>Qy1V70 ZWRqwnBZLߝ߄ wB H8'SGbOUrG 2+: HnIc9@:[X~`ȧs?#o~!K O`.f V9U'YSKKqH^S抡z0sP)m@ 0k烀/՜XtLw* 2GϒdƏA1}3_Qz2W?!Uc? WKRXPwXEoCZP8Iޟ 7H)5±ۻYI_Z`LiXe8WXW, >.w *X0y# & MPjP xc0_X~Nw Y !ߖ j8I%S=K7 H" -OZ iKc0:1ۀ:n9 |GO= 灿,| H7_N vOeSnNFQU#FG୎務 vNuy`xqӞh1o2b=)ՆN EgbpG pi~`Z@ۗXW_ZY N׽ԕ 1ےi  ۛB\&TV[bg2"ms7džcػ ]/oA'g@Sn@"x'S5 !G ǐϘ8h[$f 9I I~M96NP^oƉIm @ܱ9Wp't e:4&󶎎wx(x;)7#p9KbHQȊ~-L񳞎&ؗ>/'_(_x^@ п;/4 @y0x d_`p.I V 0K(mO8DO~ R7dȋ`@H^8GVmj W T`wEq@CσY0➟ Y=OpXġA W(W$^Pyc4! &UnO~ lTQP ! MyaE>Oi(ߎg`[6N3z ,rQb!F ` G 잦V"ى @b ;z~09|hM.+;' W?:W V_gV~M4L MU AHK9㓎?光 uvy83ӟovo;&ztp8MCO~'bG @ /bpGpUgX(1N%K!L"?9M} Ǎކ & q! )ݝ8+Q `gdo#= o/wψgZ{E9/ 5'XJLZE t8Q\r`Pq8H,b Ϻg0Ϗ,i0lxoN@NN$@'%GO0)N  Lhq b0[] hzLWG yوysW  ? ߼$~? F3O|KP8 $[ & 7 9ȎBL60틀O[pqpXNA04r q?v tn HO< zWm0P: Kaב FM8LWQ}%a8Sq 9`8b_?XT>H0X "Nn>x T/d ckvZ;XrOX VwDqwCZKOK0YL^Y+Ywp  /Z'HJ+].U>ugv }QQP4MA 8..KMpzpaEr/閟M+ "%sn)~$bI';:v*6+! )9IyGHVn.G`0=(30|Lom GzGL D8K PU_N4~JR` ZRA ╶nYwP xpn:sܠn {Oy Ίwo( P ?yRcxNhk쁿-b8 LLA$'$]щWOLMG IB.sIHܞ?H K8!qHd.(';nǀzgV`N|I;~ 9_S  _` 5^QPP|GFLIQ x Z+(AuxoWMx? $ICN/ؔWGO K @xzmZzNQ{\y{p s'}Ϻ{JJ׼8ogyظ+hJ5 Z6\&KvHO澍_ f)?rB4x0܇r/uQǦmm@M@VA'9Ok> `pp H6KN> V `UgD9QxܿK/z`__RV'= (HȈਉ0N nBLO힇JĦVO(_eнn4`9ZivJ[Xvp']X  DCJX\Hm0A8nn6WmF 1SP >whn}2J 43 "J6P?A/OLz`DN{=N׊/߈M? L"nJ$q֋).#*HG"H)*"&'9 Ή)U . 2Y><<zȌw Wg8݊F77 凕^M K6 iML (?RBXXߡ@ |Ȍy`$ (37-|v ~H >Pr7Rd@1I?m^RK TWʨ#N$HI!@IyaMVf- F)U y&G%񭙇w) G\>1=!oALG-wognOL؏? IGWJ/UaM&I֋t>OJ=)GȒZIHF޺ Q4` xm>)PrG耏 MCOnQg8J3 肏Ժ/S RF WM5 l`Nяc1 f̤.VCԩAH:чPٛpI` 9So8egm, k|GZ؍@@!F<<O^A,a6Vd OCx} x_sgwA]h|( ᨨ#FGpK_po踰⾸NAV[R_C ]K/X- /~ (}*\gd`[PWoKێۑXIگ(޵6lAܞ?xYߍYaX r/rd\Whsg Wȴ tPmxjHX\alj"W`0o(MnŸnllHX<̯'VM;@UvMMt3_1P-ֆ ϒOZ {.` C#/z(> 7L OK'kfĮQ! yGGPp!ߢ:sH=wx 7xnjg\K٘@oJ@Tf QYNCǙW )Ov( w"(-pxu  XLEm'kIg//жB=hǓVa T!|F&܃9vy؇1ޘ@18ZvK1`TS` d%w hgOZ(N !?7|54A YHGZԐrX[0{@lxQ@ qOvo2O%ehs??LKW 7 &p(FMȃ}  GvJjNzNRP e0 LދFGnTH/CԀ lȋF!1ࣷ>(8<*aߍo(GJ(Q;jG@ IyjէB X/|PJ\ lr[[~nUHvm p  σphN\X8!G٨GI.`?VEص 2ANL L  Q4I6ԵӐxl!azOdBOmh= LK;I8V# 7N "HI9O#B!&IGqP'aJ- Fx<-͸:a0AH1-7 w+Kݡ2/wI_Tk? Fޮ6J%O6@whAoPH v( qH$Ph-@nkOv3NXYGOonɦG??ryG1Ҵo-/XSwg+Mb "j ,N)wފJ%\F fI)HxK8c'_8eGo/EU=U 0G=*L!i'DkVoyY8.RP_5U0Q 7w6*x혷$hV5g'Ƞ -L"F ROHEKXCъ*/ 7OTTpz9ؙdF ۀ ywQ  I@IހKIv}NXy<&w8?Oy!ʐv? 7[Q0)-Fb.xjP) }0OGqL@ xAofg~KO0Q雐"q x 1 脐Y IkɈ90JNIfIoWG<?C@{KG,Q's➏%y&d_{. G|206I*E.h v7BGHV JWdM7YgOIsR 8wl@ǂtC @/W3@ X(w۳O@T?H +Q'7J 7 v X;iLpO. Y > H> J fp ywfB a`| h Iꯗ FiN 㶊*1'JWK!Z ֙Jo 'v&-I0.hKF*5bH;kpy\7@ 1?.x7ߨ#_x n 6 sN  =YwtD1Ȗ7삁 (u('ly P [Ƿև@oMEOrGo\ڲRYOX/UA J" bⰧ K5-Ht "!f h? @TW/PVbG b7?U糘V'GTA q /?YG 獰nyYl XR\ V Wx$W$@?S` ĸ  Y/ EIYJTO99.LKt7a kIq@Ɗw AhWq87/N./y߉7 57Yw@ySP3}e 壏vk)I 3 !L@mx8(ҷn't\/V.LQh렠 z;"鉠`o 7>6Z I7G-Uo7L痷Nݩ?oй!8!a ?W<'>E,ID.fρ/  TB۶S߬ IVȽػZW5=8XypQvk?ByIBQ_(XWP'wsa' ? ӡ#6G 8<a8! GI6^#损k`Kxw3dB ]8 ѯIO5pgNG#I&f i a ^%&&l& {qvQK+lMEr12I@:+``vɷq.~/m oHg@q𽮆އ !9GQyMFGVFщ PLtfqxhl霘,_I_"P.8eȎ EypDHb~1뱿Ho qAYKj/՞鿆5J|)*HnhYF8Pac/GW0z? Ǹ[oHW탯9Fꎀn~ Yp 켨^U(DQ qg:'9 $@V`s n w%hfK GHߓSwY%^ژ8 m9MqJ` G ɉW}_;#= wIO6P4YqK6O@ {jݎX| rJ O0 @x-XomWtT?9SX Mn`:_:u7鉸Nfn(> (fRxw%"vިow0p6Y 8FM13 Md H4?/ܞQ?- pƀW}p;O.zVHhR.tj/BJo_fo3!!J_S T U "^FF ϼOmāNI5G󫠧p` xoc_@L*?V H FGiKԩME - E {MU6x5Dȴ]*2`r1Z /pe?9hǯϺwF'= Dx(&#(? ڧEڿ[p3(vҟxDEweX<X& c04# gwxyH_70#9 {hgH6߽`dwG7 12h9e߾ 7@#`=6L)xXA;axjo>fIfu#Lطe5(7'@#G(UO1 lwoxMvuQr X7n7o?W9?5o9zmr`4h^8>>b Op55T6߯n &ǃ(I0WjW( x-7z$'|M=!6Hhuxr: kگP2P$y4 uB 9MxeF>T<2zrG1"l urXOGFO2!Hw 殽пq~`Vw欞8|/nЀN=OD$9I8'* 9/X34o슟. .=J@Ȉq`5no [|?x9H;i'_8k7_9%߸;z;x 1#?52qxA@ϩx4#vH3$F=\x'`u87}wrT?z 1 ?c8%o>@{Xpq l/pwqWx9@Pv@m73S`4C`s'9%%&')[( g(x-7A&#O@!zXBa/"x!7!欟ojyzW vl^)Po>`xo1Z GXz/(es.|a(?7:H?(ﷹ7x)@0y+ w'`py%9'G *%X8x1:/;1XE 8^0*xj@u^@p1ꨠ<&8eG%y,l:0s'L8 O׸#'@0 _Ew?a06xQHxl;('a!gwhjyȫ'il ~i08?> m= e/ 6e⥧~ + @G#=QCW{yt{Dδ񲦳wnt"p7HxLwb2('x0׽+?#~7ne0O虿U07-0,, w79 7㫯j8y-|@4jpa8s Q8YVi7m'm6x)(0Hr\=r|Pu _y.:%,w숾Ǝ{Av^D$=zM7'G{9!Q/x,h54OObw&T(@@˨=o.%f<D9T`;v?_`j7̟9&B:E DG*?uw<AHiGo!t#Lg` x0'B_.Ů}r`v}76vi2]z 50 ϲ8n we~Wpr oDW-{_&yz[y@mp2vrl q3Y4Fи3xȇ%x% &)[Whx.&#A9)C:Ag#x"x"nf { v@,_1z.zk6YwWZOhfPs{`X2 9:x}?(WE7+ y1_:, (:!79 9&+x'T+':?y=x/Bp,}Fе^*H*U681@f %w 83?j OzP?|x[848)> E/bx:0 6y]N8s'WxX(w@*x( 'p)!j0K z f'7>P%ճo>?Hg<#A80 Mqx~NOV3v~& x$8Mwa r0(g-~}=?#|7e7隇uYH& 1.1v'9 ?5gqvx- 3hlw=hX~[sR0t6QIO* I ?)/AaGvϻ vy/%2M,%j X07 X ˜?9165u2|HنĿC$DT9~'KH{/ptO0gwk~6]|:f5)p(H8`?a`xl79'? IzQg8 K*;@vy|oA?n8k!Qa~'F-6p8ȶ~7^ i_rgz `u3_2䭷z7 Ne0zV(q t(K TGf}w:_8? vX2mذ^Mh3o7%!(%3X&)[?# 94xoA&/#@({:?{7ݿ8%y#o#_,Y <: uHX;0x`v5WZXVgg26:[@ w颯}W?(xVp8,@:2,@ + ;"8:.H&9(d ,,p;yK;0O =ؼE!5ah9*`0Eޖߨj/%0:G؏U;eD7)9L8~ D߾e0:9ȵϸh\HzX{'Ex(!vXwhm 9"=i [w g6W0Ky&7R <-|淼g#`@yA;=ZI{|=Fz?tF3趲651Uhj@51('8 => 8}N@"|O(o cg8?^/m/')vOy u^vv0-1+@}P@PhUг-CAډǨϪ[*/63h<}0v y/:&7O= ( xEx4ڎzy50NP#^u(7? V$R6q9ybg; Q}u* h ǻ;* "_)_/7 X4 ۞x( ?P&jrA{ wC$RX:a8~'Ǻ]{.k 8wг/0鍇f*z f?P~ o V82?.z{MH8l?iupy'y!NyZ'8 0H L3|P|'A0ïiڜ|@yY0!Xo|d`7#>'DW,x5phwhq9ugx 3W=عTs qgH);'f7c@8= #1wnsc8[y%2ؿ%E&0(Z((1CHA& ؼ#w&LX4q< x%ظ# (#8D `z u J<30虦}&?YP('^ רhpr9 T@3 097_h'f0+.z2:-w 9к!0&0>&J(ux,:  H9^/_zX;C704g09*@55p鶠(c'Xef; ?xDZ?]{7i8Lv(Gy0Y !` kF5xtGm:g148*vupi3?9"ji}W= hP4go[8'=b;;@|_|#y|.)Cυǹ &4'dz&r!JB@wa6x41"(wL8<\"xi^pϷ4e08u, oi_ ttkH0*(~FX#y{4V7(zkhҧ+ o+pq7u 8/%<{U| C؀{ؕ'p%v]#˾uwAg ihy4`]8wHy>y j;=B'jFP ?)79i6"(#( X @?v _ر!ؿ'C$cq8@>'zlq-ju hoKfw!ɮpP?h|poF`8g4_S7x`?u`768'Wx!O\w ؂WZ73 <@h֐nj`8 G0#d'|j10>',_~: `6%cw_turڿ>G/ $oe/}ySp M-O&މh7:+'@xmiظ/3m77%A%T%(Y&2jDxVv@&#'Ž=[)<7%x#Pw#ww2 t<9~v$u /Yg0f8*j L2 x9y>' H8o 7+=1,3vLy*8xJy&U'ȷ+Ly 8(8ny/h9l:AE3k**0Hj(5Mw.;ז(y?qeW{ǯvk7Nص'8Ac ,D@qNp4H~wv z8:(v!0&4vui%'g!@pr i_/d7 ŏ۟}l8!p;C;|>#`>y|,!>|Ώ7} $+*74+.&X`L86 i +((϶U <e"u+͸\0衟7륿m>t0m)X w&"r /H%=?[8#a{2y)g`/uWB*n# y_<zt !.x%Bo[/x tBpכx 4g#;I' uXx?@8d5|xr)gO{(i&rg~|05$1!-Ѓ 07a(P'75$#Xx0&@$m{ ='Gv8Y-Hhj4r/g3k7%Ԗ:y>|@~%W;8g;}8Vw~|ȶ7&ط Og9\w ('c02ht!;0lӇn^!;е%m{nv9='l6z x8?w)`qz`n8po>2w x9R( .o(h&fҐlx79i)pw0l/2nprx `w@%J %]@%'(Y f;+OXbuw& (|#?4!e)|#8$!0""`a/ sP:?9v($?qYf9l`xlkq9H ŷ8x~%H'sv*G81)x,AYxx8DзQ(%\w'*W,75vx.p9|@G v*4.sPH;*'Gicg% g8.?t{7qg8P5'/ s AHD(~Ptpz6 z(2-P!(&,vuGhx!H?/~= i(wv꟯j7 _+=h-;P |P|?#89;GYϢ7: )wt&4&V ]`P@ n864(=p(7d>-<t>#rk֠*Zw/>xvv+n&kXuGgx tn7s j>/()ʸ}BHp\h7zEa )OOl@BB(.&o *7.&9%Q/l|+ 5A3 {ئ'/y2Xtz$6@v ;\ }P8EH8i o;y=^@_9#A ~x M!??u7[0"8Ao$s (>'ɯzh-Xho4 sп耇,"l .{?(|-z?w)NP;^7(Gv Xx& Xa/x =is`84!;@?,ہ.cv"@%|w|vvG>' _ uxu@v6w%^2y qp0?g .(}9R &*7fޛzs7:*(upiЯw/s}37%YX%mx&6(Yf3T`vf5&-p#'!=v@q<6/w$&@7"v" wRK9) tPRL#FOYf1t8ojrgzI x7y0>3'H8v)P04+Fuaxx=KwY8%c&6*_x2 7;v8.rzAB@s0*f0t338o'^+ |%<׸,_Gr |HvȾt>͎P98 5 t~0i|pxEH]M\9@pB%)ppx +-+ $a|2 xA0t9:گ:?#B$v6 l' ~`Fpxj97y | !@ly8#(qOP xy=@>av^ `$t87 $p>'{@6-` st@s/|mǮλ  =/7{ Dvc`{cwH0%O8 bze Lv }>' <'Y@7hv#Eȴ%=}wOP~'/&<pH߶]/ thp?ŗ87 Dϥ(h=Rq .lL駏yw: '`1tg/s~{6п%b%w@&?)Yf+'Rcv&4#pF58 Ԃ[aDg#%`!!wFgm <0Hz tP nzZvfvWY&)z8_iH z KPq %(9WzΧy};'q5)Qx08x+Ec<5L[$cw&P)a2H;X-rzB93@*&H60忪(?'m6?. :DzؾG yB5&O> ]DE~JtGqH6 "5t#&vev զ'y Pq>w ~ iش7Gg8>C;8^|"|/YxӅA?437dutTH nxvx0tHqQ(7wx=P}(#rk [_5>hu V1H5zgy ?5X8t>0Ш<  =G^t_y8o֭C/ @&p+ȯ>_|4 ( x-,@9$qw7H60 V7zG(#x0Z y>BO\1qƵզ7`.h?$q@{@ *~'g{ЀL9-hv sX3yl/^x|(< <7<F }ph8xp:/@x%৸mh9 X@~r |w4Ylꄇok5$H%HwU~'nϽ h5P]O3z HvXx _%9xQh G6. f&x;&s rgx/7tv3`!%i?&~&FH)Ye#G,Lv]06X&9# v\Yz؋8@qyO@7#"w!w!@8Io.A:3: tHIf0藆w7OY&!~9Gh2L (믺:.A?(!xh(N/89+?uax7(I(Yx$`%06)`.w7Hw0x-qHC.@y*f17p1`ݯ=AO9&/;70=_x }_:9%ɏzi iEP8?(zE8508@j :6s#%vv(+_0wؼ?a=Wj8u7x 0dH*~ D>b8} ";=!ravٙ8WNpx&fwL5Bwm6qPtPqY@(x}Ch#yF_1x쿠 4rV H5#zti0~Gx/ _xh6wt4Opb),|Xs $P,-p#_>;(!{ y8@iHvX?Wp%ײ%O|gyv2^0ʗ"od /!}:l q!|DQw9`m H?0_##mvp /';Z7.h(w`3_p|߬3op>0;M_Gh;lpxz wX$yW-lxs$I2%~7Z'-?0`uXθ_g uv/ wG %H}`Qop ;- vo;@x;&@tip?s09tp0wx(p%o&0&L)YeWF7Vx%=H#fvIxݔp)Z8A" @ !f)84 t@ha7qhz裖9g1Y&H'h s''L@0 )9:o:@Q;Fh?(#H^u(Ix/7 *8(6^x0pEhxU#[%v((]@y)727 8-qxzD$ H*&hp6/1ՏXgW& @oEя!ϸ z3 6%|q|8> y@EZp@Axxxdvze4@q" vevH(oG3$y<`49gϷ~jǸ 1a8w P 8DAȼh(!}`"&?Q3~73't~^zE0=Pkжkx4P1e(J#G0g''9wvΈ~~.9;7 >?qP5;g:52En=t)>0XмY F ^4hIs rq #+H+?? "x,.y#~A@ErJ o8z87x6Xy$gy|tz scw4#Ho(jHyQo//] px;Щ"u2m@qX95khGt 91Ȁ%xX&p&U)Y%_lAXwOv(%C# h.ބ!䟠fxO8"w 7 &xO30 t0h5x<㏷Yp,hsH~K(O{ϺK)N?(#W'F88/6H9*1p](*6CT8#X7%o8v(\&0.|(,^Xzn:E3 y &ԘmrwzjX'Wu'';AEt;7P?'~_ vWz+u$Ï r{z0 S(A@?098@V:L%{mǨk(#_`>0A{Wf`7 ȰQ`oj @D*P X}"!yAYu?_u~O6;8/bdPаAp(8j>1}u#ǫ0_6g'`ʦ;Ou >8/{y =yP=' q~ ۠ h SaYo77s '(W ϼǰ +P"w)JGu!d:z~P#zo|hOz Od!x@g,{Aem@n>E'N Y5@H6^;k/4_; 5mǿgG?}09\ `.]W5W}X?ip2k(2@4[@wsx@%ZH&o`&6(e,2 AЁ%*p#(A؈q|5GXw! wg 4 o攁tjpzvfܑG1X&q`y?,_3Gi9WCy91'HOu'8.')$0L8 v3xxH7#Mx$g6(KPy7n,K(:XXE 8f* k0 ?ިzO*XW'6ALz ky &#: fQa ~,) z157/Gh6:wxt*߈%]%Ղ'ol7"8ؽ+Ie8w @0?*ڿ f(D`6="4Iq Iq95 ˗~t>.;)56Xhv\408C(ɇ7N>}W#' 78h/2_u(~z?vCGuzoyo4ftiAg< ~ chkR5L! Zvu_C)00S)?>g|7+y"rŷ صD0r /:$]P*\C$~@:pTxYP9Eu9xZ=:i*&؄ Jxygy:Yz;|߈ph~FC#G`RX&gm(J4 #8۬* @q3>}g@Hǀ;yb,R7 Wp;\Xxpz'p6t(68#ooϻ^y+xkxZ 8* їA^ ?1i}w(~'R VAx ;l4: `5p+~0]rd_zu@=82rm02w(yJ hO@%: %NH&(ol!61X揁%8#@ԂQai)u '(o H7HG  : fف1t bX:|אp@e0yG`Dfl :59`' xJp&*7.x)u: @!@="CHw$`'8w`waw,8BFgsȸpoѐz_Y'h!/'/]߶_zGǾGo7 b8 #Pu#y SI G~z)t_?70vz0%x Q&˃Hh+'!9m=d5v H/7Wg B<"  2fqr2GxoՆ,Gzo<uvN0UX0B(w1xG=:P#kHjЪ V:I'6PG4's/q)ئ? Eh< о}eP4'u3A"6gRC+0V(;-o*!a7=? Fp3I3: ya9`C$"W>܈ [BP 8Q5(D擟\4?9߸G>?ÇC#6 B 7&M*I5(԰ԧ'|wf}o@(@9Y>* cww B|P{S ]x:׿evi"7f/W88C}7>~t(X7P (' O>v7 >'Z3 QAptt5os{z uȪ?ݯ溇y(p=_`u/W('o:m8?i,79?:w9Iy'FP&`- X((x 573": 7$Zе'&gT7,'y/9Gw (90(pĀַZ7*vg1"g'muy_~u|Z7x 5# =;-}w~}9"pt7lw+z:e&F(ćз/#8p9 Y?u/^4_ o w~ !`|_?"p(E2%Ov"^4+~mOdv1G" 0PvEOܟB(0<#ojZ7kOw턀H*6S5 \st9o8塿~~u*ԍ> Nif >@=*Dtv' .ŧ5߱3B-o|/=;-w*o!Q|/ 'J 3P!  C$ G1:FG3O8Iux9:A/=g8Vz'8]//9}x)?D 11 po5::D{|۱(>~1?#&74vO&0@i6"x1/o+1F?@p~(M> t6"nh(;HwIHo[`5շ7"w\QxBW8 $~/((=zş+p`0xiwO>'bs Ejvuropt +路>Ov_&2 (}xlx߱!g0bA@mro 膷`и(3,67?%%@&(peiXv5@%|#'"Kt &@"17$яvvw箇 ]u$z [j7v'I:<>Ӑ'H&J8Ws3>8yyyݿ'O8B8& -(_08!uw)x"17$Tȵ'8Gw,`xG2np8j*aig7pzZ/&4ߧ47:߀퓯xg4!8q}d?|vS7 t# *?mȹ(tݯ6V#kXpph:++O%׵%7(yEbYuX/`w} po;|>"9(,4)9%Iu/wZSW;)׹|u?5Lp3p7B('я ~#h%fwm6soP=9Z4 e ?Gxh,v> V R< ~{@0+:0*u2tPB./(sz;v*!B; tM2%y {g '$ǽ>1hz1(wDXuk'Ar+1v"7ԗv!q_Fٹhߴxf+ C #Y]7@ "!{(9g;7p(p/툟B#7+v׽&xx@w%+Էn70#{{G,ih&dg\='h 1'AfX4p6{t2fxgɘ7>p榧qǶf;v%4f9wX7Fl 2hn8q?T8r"P6qgw'?%G%w@&Ə( Ghv 5O@%/<#?9)$? 7'?/vovg糇 Iv(׿ W I*:ع^ݎҒ/=OO!_⇸鐗W'w=&-Ƿ(7!OuWwH")6$N' @8ݷo;w,9Gsk *?jh)WZ'&,t/2t7 y7]w|Pw `#8 *9}_܏~g twO/%fheIgI`kȍ/)%xмP ?=]Wo7} ѿW|?~"`9'E3$G!\1u*~KE_~麖ǻ@_v? NqB(60#b/6 l'7Wtg}-knXt bqu_978儗Cʶ=~lp8U@N P?y@6t&y-sOp}o.)m>/#7-w'&ug@v!"&!r.*g0~|Q(?h۠://p|#M_SX;<85hx?T[5ǯw"WOH7ׂv" >49)jpy@,i *o5]W77>'fr gȴ(pvt'3bؘ~'of3/}0y{nhm/"4&19U xJ8l rfm@爇P ($67w?%돿%@&׿(Whgv 5%|#>G!u w#Ϗȇ׶/6w籏 X#z `p0&4 :'u:A!q'(WtN~;}, | Li, .k U}R>'d1 k85us6>zsW3_g9 ߾wGlOf+=}/0n󡧯s&){yRxM(rcsj@M` +o%%A&(gh 6@6%|#ONۥV|ז/9PO I޽Pm?9z7yi:'诸:'ȷ.럸)u 6'8(##7%J(w75x-):GeOan 0;&Z%3"?8k2 7z>Ow JW @v%wy +q~D'Y:*PG66bfa@'dٍר%ϸ= 7}\O}X5| @%eW> P_|?#::Is3|w4t?_=n9nwۭ.6 7FvZ4@1'(?о}# Xwt!l_1wU;)p NR3 [g6xyǸ??m?PT = 3B1v ^! ï0C&8bW=mϻ Q8,_y#1o|eo P*yg qO9m C$;b/ y;7yIbڮ\?c6ŗt#i>z8@r6>$,ȸ<>'xz!XA:ɶ+@l8) 0s؇if>Hh W 9prs#4GT|::nZd6Ç#xEw:A/w4$H?J vx?#)=E.'N=P(~'bWq o0x.rw3[ O(/7梗ie#8x`..3&!wGR8NЬpdg0OM 0t5rw%'%PA&o)%o 0G&#zw5Wi/_w!7 W8p vڷ: oHu (:{ܖ&:GK36}Pn◹O:錏y z?'y9(Hx/y*86 y x$"0%I()x7w49.0G`a8z"!i@_ꩈ|&Zq&8h_1:(J<7 G 6&9~ؾ OEw?X;/?E?HcD8 'o*ϗ2%7y=yPݨ7}^}^yv 0-xe~ ܯ?7#84rѵtQ9An?? o~ ǼU76vᏮJha8u`q( (}?#wUs!lg1蕏uOx q2.QW Yg/s:y䘗zo@E+Y= @ ( 0>8GQg95gw $xCo#8 \k,#,xyL7cXWw|Tgs#jG|*=vY߱Iao  <6n,)HxFy- (nhަC$48yD@x''}?(7).Pq0p3)w 鰮}H8 }p|׼o")'Wx<< yApk?]xhX$8@>oo3$?t)q=A 0 P0IϽThx''` n?s0{x6xrW up?g2f߷%'~k/-qtS(yJm Ȳksh81DzO:t>7Wxo%w%A&)%g'wA&w#ye7W7" o Oa t(u&{w8lq|@?(Uݖ/9y <ۗ?(_8w)80*#9 vy$!&Hw*!9W3.SA@po"0Biot>ǃP .'xwnfwGp> =\!/3\߂7AxMD7%916?;.mG@x$CdOL*\A5{'?;FD60GŴtַH*&Q75G'd0h0O4_K6@nw 6$QBO9( CJC HF<ZN9V@N\aYK!-_2FDN_>@C185\%r$}gPMBE =?,GG/,_7vb@Aw "lX|"^VEsڤ@A%~"_0g oB 8@@-g?cH 30{X4 F8 8FT]ޕ'40x9G:Ѓ7~jH)zF'h? 8ThK77#E LCR5߃9? 7X!H |؇F'?gL%b(D'@D<[ t o_7M?wutG.H;'[o#|g $fn RE,: W r1?H<~7)&&HU ]: X"WMJhMJJ췍Mw4P =_G ?3V76HM/7Ay3:6G;.sG;`@$CloL*V؁5~( x*yܔ}iu|y߮oϯGh)$9G1f(׆p͇<1e6vf"6 iH )G"7?>:dGh/r0Q(!\G6w(l&w'wLFL K2P6v5L@/ ԖBEy0wOqb9?X^#h( K]OVI}@ 8!A%uf&ogoD4w eH>Ŵw@۟!r_0E'i #hEMr3{/E)"g9=Dtlf#P~ W;gX"gMJp J)JMI/q.8QG8q>}хK<U!Q>DBLp\+:/dA@'D0+:L)YAP%XWR"PFB0GD*CB3CL?8Mi@Q?CADU ULB08o?CnQ0|90F!0ߧ؅-ÞCpјo =_O ?B3T76/AM76S*B6G; /xG8P@$秂Cog*T5(=6(HwwXH8Gy̟Gh'@ -y(Bg +v'1e3ExC6XWK6;B_ :%0B'JC H/y.!BAz8 6zD< /G 87Ƕ16C*5WA%h$wMD1 <?ALGA_sYzrAFAv !q08它=U?~OϹƝ%D"0D B080L,Vw{ 3 -J1QкYD @!E'Э'Fx9_:84xxsg(7' Up;_"gMJ$p J4JMyO5,(<=<˗J`JH;v.ޱ4<;;wN4/JxHAHY78`љEH#Nx'0'+D1L)RXAP WR 8F? GD(CB/pL:McQCpV踱7.CF!w _u>֙rN$?~͜wL=`O!G2ROC6)M?6NA!L6@;.{5@@$BCt_L+R5'?r#ȵ39tGɇCGp%I(L_-/J2dAA3 DhC6v76EBP900BJC H;$ r,&:!$B*% f"&NCCJoC=6<4D(6V%d$@ hMAD;< ?LLGWd7x/r l0D]b}%"/ ŇB; 0+WI2*.Qpx^xD )E.'Z/Ǿß}OxP9WP:>X28vx(G'(BTKD#cE TXB;C_"_J/p J?NJ M|2+<<<׏K`JH;փ8qD F;)*h4IWBHG F#8(7 F)F@=o}2Y+ioC.*O0'/ć/D+WG' L(LPBWR F<G`D&pCB,8L6ȂM^P:XDC ADMUCXB!o>CrD?-Xv h!2ԭOf ,'˟>L=c_!O2M5LO6: X` 68<.}p/($oC|_+M5X'(P)40HX2~wGh$Iy] 0?2exx2xAAH6ˏ6RB@9; BJC׿ H09" RD i/* ^).LUEvBE/D#6R%^p?%?`PMCF<?WLGe?f/y77qЊ tP6A߄L_@gG&7!C/ CnB +H2ȉ1(+I_P 2D7AG[h9W:8.x~(O'zTCKJ"Xg E@=` ԩOE4w788 7OPHE?X@(I?L+REOӍH/L xGA՛"zL$x4RE1E,Ǿb9Y;D?W@es۪K #.IHCC1s0( *!H '.;`g@W".IB!rF5O(g &phA'LςET'Dw0 P6߽UL@`HNC(~C_Ht?3`&uE.K}OC^)sX @"x%.EugdD3 H wo ADO h/r9 "Xл=Aoyo!eQ8t-@D}wgf0D#w O8B;WB"WJ;` JKJMd@o?&<7h<KPJH;AqQ ;Fh4AI/H돁G 7C 8Kh.FGNEgH/YC+v_o6H1L@/7*SAxLׂ(@OBWCRF7CG@D HB$L-MRXP58DCA`DE8U?@EBo>Csx)s6, 8"/DNw~Ć27Dˡ~=e_"W2KC5pLW5I`H5(<.~P,$WBWL,Jp5@'/X`nt0}pGW˾gFh#|( Hn1G 3fptA2`>06Dӏ6ZQB89BBJC߷LH1աi q !f0 4DTMON-D 6P%ZX?%?PMCN< @_LGyjzg7p z;WTaWn'X@&W!/ wCڶFI}Ƣ*900à0L'I)@pu_8 ԁF ҇c`9O:3*hLj(W'_SCKNG"Q'" E@>X? D W4uG70M7P6XؐH>F F(R? -NEȃI8w( ?4B ='K%pG.H!x4?(f&mP'KBEVOAC06>\pL@uHwNCJ¡߃fD83e(vpE6K~׃vH0p@ "X%1Lwc2 @ o5_ AD_ e.>"R@x'@7ύ>!d`Bpr* {sofD# L B;WB"OJCPMJTJ MOο#<5PIY ;`4IGoAGF8zrԹ MPNӶLSȬZ+mBF8H;/?*?H!hLB(8O hW_RF3CG D0BK'PBMKP2 DCA HD?U=8EBo>Csp&h򹋰& C(" 0WB8Ӯ 7OD7ˡ~=f_H"O2J5P@LO5 c@5(R<.P,$GBW,Jh58'j)xlqyo7A͟>̼OFp#u@ @{ 3W 3f`As2P>(6E֏6\QB89EBJCLH !F yHJ!n4:fY4WfU.D 6P%YP?% HMACQ< @bGBt_}GO/oJ!u8!F[gP@&_!.'E oCMyаţ*6.ä0 &I(:`8 1 Fgf`9G:4$3߄ψ(gG':?SKOW"N$#E@<@? aW4t?7(M7YؐHnK0uF(X7L.NCE_pL@ǿHoNCׂ_=Xh)wp9Koώ5p8 x"P%&FRyb2H iuW Ao dׂ.ϯ"PXwwF!dXC>@q+ D{sCfD#> L;D_B"GJEPMJUJ"MMC#<5HCsp*1xw! 0".HP;?Ή8_D_͡w~L=fo"G1I5@LG5qbHK6(< /`+$7BB_,Ih58(#8uxuq}. @@Կ|λ?Fh#x0  IJ3o 3f`r1H=(6է6[B89C CJC߷ HyIH!7<&Z [X.D 6P%YP?%PMACP< @_G/y}BoGBpЊ!o6^j'P@&_E!.?E oCFN{p*8x 1 '(9 `H  Af`9GP:5"Pكψ(wG'/SKOW"N% E<( 1O3t77(M7pXH͞MصF([7.MCE:0@! SOZ1ٚL$ GI;ID`y L)!.o;7v; (h.G!zF5G(e&mH'߂KEW_F@/6O|^p@{PoNC؊Y7j׈)w5KG֮6o8 x"P% 'Ty?b2` hP5_ Aw dB.H #QH˗F!dX@0,@D|BuAwCf#o~ L;'D_"GJCPMJSJMTi#<5HCsD%(P! BgO=%ֶ7OОg~L=d_"?1KoC5HL75(!]XK60< /}. $7B_L,Mx5P( $x6lox}X/>Ҿ7FxH$ H}J3o 3gxt2PA?86ɷѯ6UBH := CJCؿGCAGE J!nG6v8 )!(O;9񍯻9׊'.J!w5W(g&o`A'ׂKEU?Aw0P6/:Xp@? x@wޕxByJW[8`5gH)u.K|і5rH @"h%Swπb2 h bxg@߄o e. #Lpx}?W}!fh?'hzXBp0Gg #_~ O(B;_"WJ76nMRJNKAC-5XA%g$h hMCA<?O،G{zfmGA7Aj g瀾T\0z@ !A%^Mufw3p Bxw@GC!lwB/O9 #E=pArH8ƒ:ۣ_!iC&sDsdjPD#P YX;_"gMJ2hMJBJMNį1G"(D)@CB-ȂK7PM^0P:8CAHDOUKA<o>BnYG w28彗*Cuwh> =ZG"2[6=L6D J 6@;.p@X$?Cl'L,`5F'n ڊq3^4GŸ/CGH$JR0 3mA7A3wAN6[6CQBX :'( C/ CGH 3fB.ц05 !㖆(.B;NA8NC65^%q$uXpM͟D6 <?DG_6kvfEe K ];2D]oWWԥ%τ"O/ ×QBGn5Qx* 0J1 (x+M 7)7<;ˏ8ߪOh9o9t7)'~ XSCK?$W'I EN` /58@ 7G?H[3o{ڏ'; ,cD(C<[ zF'fGHg,wgv/` _hg瞧#j$S`;b:E=q&?wPQ",!xV;~vC:<8©LhL#.HV;e4K'G6RB9i1x0 ҂oCa{ofn:/cpL(0 !I"F0*8O8J#.T!q(G5?(q%}؁&LwEN O16uD@w KόB< 'FpYH'i Kb}︾&8A!$kC?u?k74g 'Ç@ї'!u//t #p/X^A5Ϗ/8gtF"kЃvl8Y8_Blx"X~ c:7X"oMJ'p J8JMMP@縳<4q,CM;VG3pN4AI G`AG팑1 8H6l5<A;*5GTfD+^x^ȮF1 (0w,)1#L(`O.V`R9EHF/PD3`CB;KFLqPChBA'hC_XTSEAMHoKBj( `bpW*GGw𢶶H iGh> =W"A3d7O@LC7F #> 6G;.gH#WCa ,i4&M@"յx8K`zG'47G$J!H (5c $z#pPwMܧD,t>EE!f/My (+1 &h@)k*X<L zhL#̮G%H^;l4K6IB(F7"{ kB: X"wMJhMJ/JǍMuuE@BL=V"3l_B8^@AL7B)K(2 6?;._O#pBCY+p84|&c0}@bhCEPB5gHB$8#lDoMD"< @0ȌGN'FfGGAY 0@VH=W4㱨#O#0 QB[Nzu +Yn`1* /¹4 B'H욿=P9o9+Xj*|'h(TK6F%x 柳ExY;6g:7 7x.H} AՇ@&+(tpC68g4J'hH!G{q>F8lBSB+@vF~A>g0D*UoHͦC D/C+a .LB(NL0V)CRNhAEZpDFCDDARCK`8LXOSDB-A:Cx DT[A\nL8Bf`WEvpWGg,76woUߴ >L=W!4lgB8^pL7=J.- 67;._O#CXK+n84y&2?ҖC2qHC.ƙoG' !++)`1f8B57X5R2/6.xQB?9 JC'JCGɇ0JqaCFgqB1EL!#χ o1YvcvA^pCDXB5fPB$@#n DgPME = @+GDEf?E?A^ H'H9㰰$G#1 BzE bs+;fXJ2, 13 FH,IOwu얧t9H9g9 "`hG*z'p'CT0K5F%W ꧉ExXaC6w:7 7 )ؐH @ՅHG&/K'spC5HQ 4I1cPAK$y@L$nHc(D;p84 Ldž5;xB#CQЃhǂJgwǖP`L(h 1fY@Zs\ o.WXC ]05)x%P%?LܧFK"^?3P6y+`@G ḿHBCى+qȣzRU$U0KW{/IH $c^n_uσ5 ;ļ@Cǂ!ρ1aw*".cqwqq5_곁"g )hâo\Nh"p p:PB"gMJXMJ!J췍Mfx?Jp<^;JWJH;oA+M;9D_4BJ'BH!H;{FEF8RRFH*Y6i^ AlHe0*K?qH . D/C+ I4LB(OK`W(DRIxEZxDF?DCAQK_`LOSDB+A7ЂCwXTXEANFo70Bh@E_{xC o )'7&J_W57 p> =Y߇!4d8OxM75)4/67;.eH#C]*e5zF'ǿ1p}c@!XMlŨ3H(@ $1/(a 1g04OR5@pWK6(QBG9 CJC H)7iRiACOZIxISߊ!*Hdž5VeBNXC:H5a0$z$xXCgPMAE = @+ЌG=Td?_kJ!~ &ƂPz>osުx$o#707 B HHy`,dP2H. 3P= aO"qEW'/3h9W:Ѓh)zφ'T PK6$JE @R?K597 7?$H^D ~ֆ&7'L&kHDD.@<_A rE k'HQYF5s.ZY5x6U'W#t7L$vy(ARE@4 r0: YI7&DMHP '%H\;i4 L58BIׂS@фCe_z. YX(@!h7KX=gw4gLm/VP [05/L)tЂ%(B&gLFJ!W3P6*x@/ m`͊C g: X"WJ`MJJ췍M$h_?`Bp4h II#\xDlŘ3bqg}Ȇt,ܾD¯3[Mw ޠoQO2;?O^7fL)oF EЍwTE/b\8yHkw8q0'xja6w !Hih 5w r d;FF**MW 1xMM 4?N~@1)O3'svxՙR("1`L`B0 g!B QPh5A'5kGWOh乨sSG -{7 ӫĆvP*zȋx iȰAA.qeI1gmaSOS(x|ftH08"X.Ї$;G 0  8K}A@/TrRXTۆؐ9\8 !GGp,iG4ljeǶK74Et php`CQwٛo#9؆F׾Vڤݛ؊x'܏TPh^(O GbQ1Z,p{)O)-YfV[ ƀFhTsngv WDpP c@l7&_!GVEPs/5P>1kXGQHFd,yPpaOVȃ%O ZW;kh~`D^DoǼv8qܿ~{?DߥM_I틘Z;h8^'oKEhpol ?n>kH}i`0' 6 H0  dn'-;OX_  -R.%#PE$?S1lN&E>EծNА'`i'ǧ,Y\ 8ȅP rH+I0+H+=@$B@#2`E#.HGP%[F'+Y9B/w:`oT0voX lOƘ9.@ $!j BI}O x]ȳ-Uq4npIG ?I 4[(NOwHABu3k/Kxs ^S' 80qX-ް޼(jvvNnRLF8M4HE? >)C|̮h~W=Dgt,a5f 멨膈 5h߱ BGL`8C8FXkLW H&G!0F@3/W2MH/SGڀwgz2hA7 J80 i7HZCxiETs]q'EfW8b5ϧJwa GSX>GGwh' Șnj#88_ 'T1.'C/RO%`#F$gw3KЬDQG>T7G|}Q _xݿ>g87xqT(4hGJWN:EH &!o.wU7309I7TH Ԑ4yH (?CP_ qG9 KEtXGM vgI'񪈲RφUOK f e8zmL!]G(8 x0x@D?2HS Ƙޛץx$ ']. nSȄɇH%H#$o𽇹,ޮXDH^nL C&K 0%BTd0B~fy?LJWj oHEH+ 0*$ K" # %+&VH+K I!E ,HG!$5k(,vEu @|I%o`쁾ne H>Q+9)}xJ gWǷ6( @w*ǎ/Qg<06P&Xljf !C K K]8i=OfщoP0ߒ&xىA;?EXCR v .r #(" #@>x~ڿ gR?gZ/4ro~pB 恐WyLom`RGuw WMmAv+ZB`( g2LXɦXs⧏w:Lб@JX_ O-# I/WJ߷CA`b8BfgI b7R286 >LW %0 G"(LHH} 87 ((ɴus\Lzwd'u}/7MrחWGկg9`;΍Ҟp gM86VH .Io }$PdPq,57?Kgy.ڰKNQ(DKHpoKU(L3xJQN8Bh &!,̗O(? 5;?T ԇWhܯWqp6U+oE@w mG:葶II rV0GuG?R߆RoCW d@b@F`߉P|-'#/7I?O/@W8l g_'@w & ]0 o, &QG> XǮ?5_3hKuGuaw5,hv3__7o>PB` /W w(M'_" 4H O #^Pfpw6x?ϾR'*|N (XJx=8zl2o\8O0Q=pGw &!"1'U'7PB 熯IԎ/ȮGc8#GXv">ϊJ kz忆MDv@ZFsO>LGPs O_WKg!i`0p}/ڈ/K'baKo@m)|HzI?5HA7S hTܧS o)'?TPRaPEϒ'%GH#$z1臌``hF GXe GTikH VIGIHg H+@ 0*$J" ##x %.8&YH+ JH!I, @H/#ATh7p>@HO o%ԷtWcgEh'qFP=O?׈wHF.)<(OV؇ND7;M>a G 08&fȇH!Y @HVi'av%`s (NAٓpG@UjDWJ&FERO"3І"؆0I xP7ViNp}{$xKw:"!"PNqz__ GvDl\](+nLc |8KWrQЁǵ@Ɵ3ڱ7/T8X=;Qj/ H|._ $?IoA`mBvO qG% UGC@$gpI8I .YE/:0Ǧ2tKHn]'u3_Lw%3ͧZH\`_@Dr82"L8(7-I>G %PvZ+uXw>>a1_E7 bb=>!g_2 fJ?FWhKZMFP ٷH&G!*9~ ȶ MXRxԞǼd(G8w(NIPD? jzTC}xcE7qVG E_W`WWq]` Ӆ4_jSd,({`x}Q?G@EOx R kP1oW O2x@{E'Rg%G#$G7MD{ׄC%!O@gkkP%wGSybߧQ /R+$hI0*$"# .%9h'dG+G!T -&0JXMH9#LAh w65~xG2&dz㬟D^r{/IODŽTF:)f 4PNϟUN HwNImh<86%%1'`(ojpֿG!k`DiNJyG e';2GO_xUM0Pf`ąƪc*KO➀R/ ?";@R<շ !ON"(a@2o'}G5 )Hw8Iӄ@jw A~ "oXMR)|0} 擰O0RAРCB¼߲ݱ_"w1<8q#^O v ; H.$'B7Dɂ }oP%6(GA #tH+FI 880d քNGoCȘs_>`RO4GAK5%`!(FԆӂp^CBqq(7(LL:0HJW *KvȽOk׬q"fHH p(셀IFF [qJr8JIPa kQ[XG&G!5EDwn1#pP` YDը,{l 'L@(XOVC fG.]CmE>n7b7}׿Ejq{@Ux: {wzOo?%tw\X+!%Hypr<\X?>L_'Q   xX8(=돎 // lD㗆% #F$G9懈 )  z7Ztlip0ENx8Hw( x_(+2H0**$+" F#;G%G'qȆ+%(G !cH-7*HD#VM0+u52}lAfr꺟dRq<TO`F)F @M'UMX*`VXzGaȥL> hC)57*†7!~+ o8p hX?{?GOUMwM/!xBtJE5? !>= KP"+F[ H/ և!"X)ij37m8>/囨g ong$Pv'.@p JOhQyكݷ C٫p=/S"PC.?x,x.&$E'nG X H>_qޠwG/ #>0BNjgX +N{ȅ&oH,׊3o FRA/sOoqp.Up.8~צ- osp.gTYgP JAPNcpf$o |nxݹfBi@x#NLC0`z kptX&ߗ!O^_E_W1; g~PwG西٫?,ͦ{tSPpgd P ZvrDĆj|'ED$IFy(tmi7dqDpg$(?r0~fp/t=iX@ X $ $D'DX7 ( 6<8PViG&(#xE$w7PC `#l6Ao=dBtHz/,c@@0w H{`+R05@H+Fh$LhH#:E#8pGZ %eІ'+FH#/"(-fJbH Jc#x-hy o,oйG$0' ܻwFNrw=藐ݿOk). h 0y@GG GwzhFp L(!2HvH8 ݍ `"J0 9lpGhmwPX!@֯Q $YHqH&jH pI\ߌNЫٸBpH"PiwHC F!N`OV V9?te=wKmnA99/F 'VԂL Π-0,T`B J 7saTȧ!0JJ8Fp.@ %_?  BD`ψ'x8JUބӆxP b HI!Eb=ՑI!Gu 3oJ\B/NpPq 0FjW֭GS.I閂^P 6 Կs~X  cpш9PeSOZkױզ܁hI" K6HPM窠 t 큐Fp'"fuφTk3 YH/oH/Slܠ/Xr5`1Js(+8QT'Pك(k?Zpٟrwd0K?yPqidzpeգGqc (G7?Xw*0g 7 F  [FnޏS ` ODࡆXRY &? #3$ G( 8Q JP^nъ~xa,c-H184XЧGH@ 18,m1P8+\`%g`#Q#Qxs%}'+a< HG" .u@tMJl#$q ro/&5 'LWc4 ψg~w/v)m!Kvx,,PQ,GoG(/` x3g${%Ok4I"pKJGzL q=ub-Gk/؎PO FIJ)y Noۯ5(/_G|"\Xt (P x!`xQ,0k Z?kU7veo>FgP apEP?;I2X˷G fwr'0O8ЎP#ЭU`Nqrzᗕ 8?.S /N %n 7M+X C@~y ǧH.P4d 'G{JNI!Sx lȇџ57 Ix7WO Χd o)lԽ~ًZyK]YFN0m8誸茟K@IʟLz {y )pKHx>G]_-s2LG~׋Ր؉F9K򑇊*5jW趀}wOHGF, I'p"s.l_ePhIeJ뙯KPs(1 zF>Zw ׍pX-pIhQ Qw׆y&B w0~gu xe`F7qe`??GB40S M8 ^p (l GmgGz(g * P 7SQLm@/p#G&K$?0$EzI5LoXfaNT H>cą?m`I^mc_08:? ᧉZ)hRWgsp)ׯhAJs82P(~O)GGF9`srɅfٹW5H"@x+!uLMphϽrt,p.NPOw %nyKK Щ KܳJW5gry"Y0q~`>-( X!bH-m`R skkhWFLg5 ?]; _Gs8ȏG _u{A۳NM ,RHj ׵~hU!8.KyP/K %k +0 h@?P9H0(R05jx OɂhII!OX j̷ҙ7~ ǿW tوojgw_׎kro0xDԗ2tJKيgDcWKp葧} Iȑ_ }[QL 3R4p~߾t7?ẌՓN뺰I,/5ķPLz 7 GxF)I'P"pg~2w nȑ_Am0 W98؞KJ9H.B8 %bݧ (Ў C g-P5kVt߆ʇ`節 uo섀I!Gc(0GGKӏ?{!9%K"!m8GGqወ1ϯIڏ6 A FD[ .h L{?/upQ}xG2VP4݅('W9Go֒8HIp~'6PO7$O t  F!'"hw10UO'lXqXܔߧm;YHs5 r'pX?hQhg: ؄X؅t??Zh׀ٯ7' (GP}䥗weE@)Hq@h88*H O a + wş, \(Gp ( p?(1n1 H/`&AX#5$ 7S/0xMGX,RŇW~y!ЊhHg as55H GH*2p,o1Rp+^%i#S#SuH%'+c> IG"8 .\` W0I[#p28&p3~)X%&wG,eڱEuv!_}oPzoo}b)ķ ac.PNkF@F?r(IP"62$z(*"_w) "( V׌k<_؇)m"FNN Ȇ( CB9BK v.VWh"H``pCȽ+@ F!X8#fh } c$kx t.X;_3 hF ͌j¯TxhŖHو0 =JP8E%YWoxPTߏ# ~28/֑_ _ 0=@.6$VWL!H XFhw& Q4gxU;'͜3aߍx !<Z􂏊ԃ׈ !ϸ&@:"fGMHឨ-2!GCoxLUi`u  O wD @Pji݉ȽW}}W,C نMH H\J{6&0kpx@F0'!^7lw,T'(fPO3݈@w,7oLq假JhD: fϹ g|h`EsjpEd,xퟠK< :/%'e,O{XPjp @h?>w7!8 JR ]H 'WRfHw "O /R3 hQ (8&6#*H$Xy! ' hjA =ކȊb€k^L_ >0:,F/HG%`(,c1F+S(%]0I#HP#H8j%t'+WHI3p?X"-MELIRP#e;pk@Dx2~@Ϧ!9ʇuA:/KܨE^/OlLjqGWP) UhN%_87( @q fx_X#Xرנ嵂+)O/?%!xI| FE}?LhG;RXX& d8 <'Q /1?/f@GKm7IOGNȝ~nC\"<VhxB =# E!OOxN]PH-Lj{/dJtxVLoz A7 oМkš8f`È0SEIH) _ooS%@}M.ڂ/ȇ.)H$H_KIH>8AG/x7x_OEмsxL7Mj .P{(P v/Hy8v"W nSwFphp%s/Hس#a ׋ٲ 0/ \i` Jn@MkX}ЏP*'o&q009hsb״! xa(|mv&!RoaE"Sw$\ o@rzч8%gz1oq _H1P ]w8\ sXDp7O___D[AR; yx?p(z[W@Fq`ثo?itHF8k?(Q BQ U R h㸙$F8Z  ߏDY^PQYQ`&*`#E$Ox>:10̍Ǽ$uxR$[`$M9"8ßG8P x}+V08H+H$OH#=E#;G]h%h '@+IH&2"p-A;%>Ae >b@?bpA_b pA@_&pAPDAZb?pA\N&>ppAYt #?ppAu = W?ppAf\?ppAHpAppAMpAq@}@GpAjpA1>b@?bpAiAIAJAS'AJ'A~'AB< >F@?FpAC mF >F@?FpALFAsPAgPAkmQ>b@?bpAH e>b@?bpAKypAhbpAyAdpA^ pAC;@6gDaDCBptDC;RC1DTCR#C)D@CUTC!DKCWjC!DFCUUC)DFCS?C0DMCR!C)DPCVUC@!DUCWRC@!DXC@U!C@)DWCQmC'CC@RmCBCRmCC@SmC}CSmC{CgmC{~CpmCyhClmCwhCSmCvCRmCCQmC'CC@RmCBCRmCC@SmCxCSmCyCgmC{~CpmCyhClmCwhCSmCuCRmCCRC@.DCSC@0DCSC@2DCSC3D CSC4D CSC2DCSC@.DCSC.DCRC@.DCRC@-DCRC+D CRC@*D$CRC(D'CRC'D*CRC%D,CRC@#D/CSC@!D3CSC@D7CSC@D9CSC@D;CSC@D:CSCD8CSCD6CSC@D4CSCD8CSC@D:CSCDD Co>D@ C@m>D Cf>D Cb>D Cn>D C}>D C}>DC}>DC}>DCb>DCb>DCb>DCb>DCb>DCb>DCb>DCb>DCb>DCb>DCb>D@C@X/C@2DC@YOC.DNCVGC/D\CRC6DCPC@DCNTCCEC@O*CCXC Tx@ DKCWC@!@~&D BPC@#~:DiCb@>DC-[HDC@6_HD C5[IDC@4@]IDC4@^ID@CR@D@DnC@S@DDFCS@ DD$CR DD CRDDCUCCCXNCDtCWyCC&CWCCGCSQCBC^ICC f{DCeDC& DCCm@1vQDDC C@)DC@CDC@<CCC:DXCCY1@DCCQC CC@RCCCMCmCXCZD'C\D C@\CC TCBTCBTCBVC$C]CCkCC@ iC@C@@cCCRC@.DCSC.DwCSC/DCSC0DCSC0DCSC1DCSCHDCSC3D"CSC1DCSC/DCSC@/D!CSC2DCSC3DCSC1DCSCHDACSC@2DCSC0DCSC-DCSC@-D"CSC-DCSC-DFCSC.DKCSC.D/CSC@.DCYCDhCZ@ DCC \]CnCvCcUCCCQlC'CCY[C<CTJDCQ$CpCS CtBCSCCC@TCC]CTCD,C(@gDDC@)gDCC)0gDCC@)E@gDCC)*gDCC)gD@DCRC@.DzCRC@DCRC@DCRCDCRC@ DCRCDCRC@DCRC@DCRC@.DzCRC-DuCRC-DYC@RD@,DQCRD@&DcCSCDCSCDCSCDCSC DCSCDCSCDCSCDCSD@DOC@SDD5C@S@DD5CS@D D>CSDD'CS`DD'CS4DD8CS4DD3CS8DD/CS8D@D1CS8DD4D@QDC@"@H@DSDCJCUDC@ D-CWDkC@2@DYD6C08HD[DC7&@YD]DC@6E[D`DC@5K[DaD*C#6@ZD@`D$C/4PD^D;C>DD@[D8CE ;D@YD'CDN8D@WD)C7A7DUD(C@@:8!DSD;C FDQDVC@J@DODDCQC4CCSC+CC@T.C!CCVTCCCXmC CCTCCCU`C CC@TCCCCR3CCCQC!CCQC(CCR0C%CC@TDC CCVTCCCWmCCCTCCCT_C CC@TFCCCR2CCCQC)CCNCDC7CDCDDCDDC DDC@D@DC*C@DC3D@DC/@DDC@!CDC@@CDCCDCCDC,CDC@CCDC@ZC+DCjuC@5DCzxC=DC}mC>DCu^C:DCeNC5DC@]qC/DC@[C+DC`C@,DCyM D6DCC=DCs|C;DCwC8DCoC@4DC@eC/DC(AEDHAhACDApBDB݋AD:BADB@֭GD2BABDAZ@DA@@?D@A^ADXA8AD@@B-D B>C@@ B[C` TBFCAC` DyC  \C@HB*C8AB\>DXA8ADHAA'D8ABTD ABC?XB^MCAC` DyC  \C@ FB):C`@@BCBMD B.NDABODzASPDtAPDA]bODB MDB LDBMDBPMD`"BjLD*BQKD.B/JD2B JD?6B]ID@:BIDPABB'HDXAJB˩GD`ANB7FDATB^CDARB6BDANBRDDAHB0EDABBJGDANB@CDARB6BDAVBCDXATBDD@ATBFD@ALBpsHD@.BJD@B^sLD@BMD]0)Drj%D:Dxo DH_+D@A_&'2DXA`D2DX_(*t/DjQ*D.߼#DFDVq)'D].DZ/DBRHa.DtB^KDB}GDA?D8AY4D>YA1-DJ@AC D:*B-DBBgC8BC4BC:BC>B1CBBgC@XA6 D@@ϜD~B8ApDBAFDC <A#DC >AdDC;ADC7AmDC6A(uDC <A#DCCADCBB`DC BBǗDC@B:DC1BC+DC,RB D C(ZB)!D C%HBu"D C"8BN#D C`!6B$D C!>B#D C$LB#D C,VBY D C@9BvDC: BW7Dn0BODnOD(ASDbBTDpAFD\D3DPAAާ4D?@ؙ>D(A@b;D6B v1?DB>DTBPeMDB5¾>OD&B5OD*B6IYPD(B@6~,uPD@B@DApB 4;DpA(BtD @B?%DB CDTB:HD8BoLDXBLMDT,BIDPj8AruHD -_HD@+3GD0APEDxA*FDAEDAdEDAFDAl8AGDpAR.B]NIDAh:BTJD?BKDAHD`AֳFDA߼FDHB~.FDB({ED&BHEDn,BVrGDB-9DB:@w&6DPA@VcPDBMD@BPODllBRDTpB TDD0BUD 8 B޾VDDFB VD JB[UDRrBUD\BUTDjB1_SD|(BARD>BS QDTBODdBfNDrBMD@zBsLD`~BEDA~BsCDB xBADAtB=DAtBM ;D(A"tBN9DA$xB8DpA zB8:DAtB=DB`BnDD>BJDID.B$MVDB2UDVxED@F,>D6B~ʜ>D>BJ¥3?DA`>DjGFD0s>D+=Dg>D8AO=DLBaID@`@?D@)=D`Ak>DxA(By>DXBtJD@ A?DAv=DAh?D8B?DABGIDTBIJDPjBUlKD@HBxKD@AHD0AAFDxA@FDAAa*FDA*BEDArBȺEDAjB.YGDhARBKD@hBzKD?~^B2LD@B(HDAFDA FDX BOFDJBEDBuEDlBGDB"B>JD@XA>IDn JD@:ID@APIDA GDA>HDAHDAxAHDA^AHIHDpAL B1nIDAdAi+ID?z@ID@HD`P|SHD/GDPGDGDrpAJGDVAHD0@sDDBHBMDBbBIDAlBqODjAvBjRDTBACUQDPABKD(CB8\bD#CBpD CBbDCBǬZDCB KDCB`@PWDCjBAnZDCB`@]D'CB9^DCpBHUDlBLB?QJD8AABODAAXOaDBD@zBUDVBD DB~ DpxA D@?" D`AD@BD,BDhAfBMDB|BzDDBHBDTB@&B0D4B B DA@A[c DPA@pA D0ABmDHA2BD(AZB\DB)D3>D`XP^DYD(O=O=O >A@?e   ! '(+35)788: =>??//244 @M  O?"]_88f2Z &<5,82AR/C 9%%*MM <})=f@] Z//sKv,0 S ]7> 'DD&& -%IP6} N EVPcY - j% cFFYt6KGCs|IdyHH:3\:[N0 oooB!!xPZu N  &UOONVh&/>s=>?n   @ATA@d =jj[36t7\\  MM%%Q1 ggh 1V +22, ,PYyxYx.XmXqII''yqp pmrn!%s+rU.B?  z45t76[BT}}u GoGo~~lc/lca**8)9;e:9^i|i|HHKK4f<<e(b]$$__]  v-#"{{C# ``^abF0DWWEE0C$"#Sz RR)(  DF:8"kJJ5LL3;fwwd- SQZ!!vkxO:m yY /x56x/6/57756u5/5u 760f707fuf0uu[0[0[f0fBuBsZZ6BuBsbgb:gy7A(A'(]('K]']KdKd@d  g' g'Kg'KdKdd1\\FE\FEFE@]\(]\F]\FFSlS:bm}}}}LL}tRRR==L=LL::  OOOE}}233tt!!tt!y   0u/00ufuufsBs[[ZZ[ZPPP]2PP2:l]SlY b:gg 3DDsGsGsGJKFKrsrsrs...9qpqvpqpv\v\K\EGqGqvGqKv\vKpHHpHHII.98899>)2rr23 +,43?*??PP>)r)x5xx[D[[(A(sT::YOO}ttEEE_JO XXX6e kW eej WW z;z ;;jWWzz<z;<;G<GW GTq6  UHJH7?~4?}~4LC4~LCDCLDcDc|>c|}{~|xz~IL~{ILDLIDcDcx|cxewhSS-S-->C4CSCS-SSS^J_RRvQQRtRRR===www  RRvWehiixrprmpmrriiVVpmi  jollhW j ejj G;;!#<<qdkOkOOhkkh^NSN^ JHI{XYY$oonon%Zn%$%&nn&%n&''cNMcNM#MN##ZcNcNoNoo!M#!!M!! ""#Gq<jPT&ejbedW{WXy||XXya|ywaeawjjkk{`{XcYcc4..?4.qG PPPvQtt YYj..ee6X0/u t   !"$%&'()*,-./(2+45 8#:;<=>?@A-/)EFFHIJGLMNOP=R8:=WZDE"^$%abZhiglmopkrtKefyzx|{~9;^`D5cR9<:}]_a&'YZY GP001(0c),DFRnUgQ VX j>>@ Iv> 7KKT db "''>*ABuu~3L6*9R|}LLE;ML' 2RV 0'`bj0:wxh]bvv2Ru{LYj?CXO'$FGW:. !XW u0*TUde7c hic :-.\[X\jK3DOt:YY,/()(yEQwo'["m,m;r<(0+6:G 0 > ,P }V ,  : Y Z w , @ ɺ } ' N w .QoR}V!O,mz,@ɺ̴ẍ́GiIR'NwΟ,PY,ŭN;rɺ0> >!6!:!": ")"#6#$0$%y7&ڛ'0e'ɺ(&d(ŭ())*=e*g*+/F+Y++,:,V-...Y.Y/ڛ0.0)01G1K12Z23}V3+3Q3!454Q4!556+78m8r9m9m9`9r:a:;a;s<e<,<4<ŭ<==>?m?a?s@mAmAmA`ArBB̴CCΟD̈́EF"GAHIIjJ5KYK!L6LM$N"O'O-O.O˜P:PVPQeQR,SrT*UfVWYWYW,WXxXyY'Y*Z[\: \]CI],P]^0^0 ^_GU_`abebR@c'cc*derffyEgegR@hij kU5lZmNm;rmzn*o)0o߲p+pڦq[r&dr@rŭrsCttuIuav|vwxwׂxׂẍ́yzzG{*{Z||}$~Zۀ)0߲+ڦxyZ4O"m,@ˆ:>=egպ,Oz'f8U5ԗ|٘ޙX&ԝ*য়䚠=áf!Тaӣޤ/)(2 : f "XO,m,rįİ:z'=eպTUc"Xxׂ৺䚻[x1b I}O"m!<0+1y70eɺ.Jxxx2xf  x >h[X&Z@<0+((O<q(v6NRD >/)(̦1Cyyj̦{f.u    Ry . (yyuDw%3="> !%3"=#">$%M?? >c@Rahh-H?%w.A*w vR$ I I%zjM#?,Mz>zL>M?&?,zM?,?,zR- (R>?RM?RMR$r?* r?R"?a/!w?a/!L o::$RUV? Merc .nalitRl :NaliCow HCrossNali iNali1Rl :.? ,R:.? &RR*?a/!d?a/!tRk?a/!Z?a/!VRR"?a/!kR"?a/!Y ?a/!{?a/!i?a/!mR"G?-R"?a/!0+?a/!.?#R"?a/!S?a/!f?a/!N?a/!UR"RUIc OrU*U_ IarU*I%R&aUMMBBR- 'R$R Y@SC@ g@x^Pttttttttttttt si@zn@LjZT?Mr*wL* bLMVLb?c-[LvrLm'rL-LLL-L &L a(rrL--L-L-L`rL-?,Lq!O'L-L &Lq!v;L ,L- 'L q!Z!s;+L ,L- (L q!Z!s;Lq!Z' f@Ph P? WUd PWP? WPUCY, d#}@HNSJ$$/w* o:B-Sq!Hd# B(Om@-\ P*rP* -E-P-@-PB6--'--$-$b(B66-Cb6-Cb6-Cb-a6LR-Q--'@-KR-'@-3R-a6'--(-i 6 rV*V---'-$- -#P?,?, -a6 '--(-iu,u{6u!6u-Ax--aTLPh -ff@P-A'B] -uDRVzB)6u!u-=- -R-a6u(-$apB6uLRRL=PRRHJ@Pu( -A-?xR- y// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // RebelSkaarjTrooper : A following skaarj trooper. // ============================================================ class RebelSkaarjTrooper expands RebelSkaarj; var (SkaarjTrooper) class WeaponType; var Weapon myWeapon; var float duckTime; function bool DoTravel(tvplayer Traveler, int ArrayNum){ //weapon support if (Super.DoTravel(Traveler,ArrayNum)){ Traveler.Friendlies[ArrayNum]*=10; Traveler.friendlies[ArrayNum]+=(weapon.inventorygroup%10)*10; return true; } } function PreGreeting(){ Super.PreGreeting(); bfire=0; baltfire=0; if ( Weapon != None ) Weapon.Tick(0.001); } function PreBeginPlay() { Super.PreBeginPlay(); if ( TimeBetweenAttacks == Default.TimeBetweenAttacks ) TimeBetweenAttacks = TimeBetweenAttacks + (3 - Skill) * 0.3; bHasRangedAttack = false; bMovingRangedAttack = false; } function ChangedWeapon() { Super.ChangedWeapon(); bIsPlayer = false; bMovingRangedAttack = true; bHasRangedAttack = true; Weapon.AimError += 200; Weapon.FireOffset = Weapon.FireOffset * 1.5 * DrawScale; Weapon.PlayerViewOffset = Weapon.PlayerViewOffset * 1.5 * DrawScale; //Weapon.SetHand(0); } function TossWeapon() { if ( Weapon == None ) return; Weapon.FireOffset = Weapon.Default.FireOffset; Weapon.PlayerViewOffset = Weapon.Default.PlayerViewOffset; Super.TossWeapon(); } function Died(pawn Killer, name damageType, vector HitLocation) { bIsPlayer = false; Super.Died(Killer, damageType, HitLocation); } function PlayTakeHit(float tweentime, vector HitLoc, int damage) { if ( GetAnimGroup(AnimSequence) == 'Shielded' ) TweenAnim('ShldLand', 0.5); else Super.PlayTakeHit(tweentime, HitLoc, damage); } auto state Startup { function BeginState() { Super.BeginState(); bIsPlayer = true; // temporarily, till have weapon if ( WeaponType != None ) { bIsPlayer = true; myWeapon = Spawn(WeaponType); if ( myWeapon != None ) myWeapon.ReSpawnTime = 0.0; } } function SetHome() { Super.SetHome(); if ( myWeapon != None ) myWeapon.Touch(self); } } function Shield() { bFire = 0; bAltFire = 0; PlayAnim('ShldUp', 2.0, 0.1); GotoState('RangedAttack', 'Shieldup'); } function WarnTarget(Pawn shooter, float projSpeed, vector FireDir) { local float MaxSpeed, enemyDist; local eAttitude att; local vector X,Y,Z, enemyDir; att = AttitudeTo(shooter); if ( (att == ATTITUDE_Ignore) || (att == ATTITUDE_Threaten) ) { if ( intelligence >= BRAINS_Mammal ) damageAttitudeTo(shooter); if (att == ATTITUDE_Ignore) return; } // AI controlled creatures may duck if not falling if ( (Enemy == None) || (Physics == PHYS_Falling) || (FRand() > 0.4 + 0.2 * skill) ) return; // and projectile time is long enough enemyDist = VSize(shooter.Location - Location); duckTime = enemyDist/projSpeed; if (duckTime < 0.1 + 0.15 * FRand()) //FIXME - pick right value return; // only if tight FOV GetAxes(Rotation,X,Y,Z); enemyDir = (shooter.Location - Location)/enemyDist; if ((enemyDir Dot X) < 0.8) return; if ( (FireDir Dot Y) > 0 ) { Y *= -1; TryToDuck(Y, true); } else TryToDuck(Y, false); } function TryToDuck(vector duckDir, bool bReversed) { local vector HitLocation, HitNormal, Extent; local bool duckLeft; local actor HitActor; local float decision; if ( (FRand() < 0.4) || (VSize(Velocity) < 50) ) { Shield(); return; } duckDir.Z = 0; duckLeft = !bReversed; Extent.X = CollisionRadius; Extent.Y = CollisionRadius; Extent.Z = CollisionHeight; HitActor = Trace(HitLocation, HitNormal, Location + 200 * duckDir, Location, false, Extent); if (HitActor != None) { duckLeft = !duckLeft; duckDir *= -1; HitActor = Trace(HitLocation, HitNormal, Location + 200 * duckDir, Location, false, Extent); } if (HitActor != None) { Shield(); return; } HitActor = Trace(HitLocation, HitNormal, Location + 200 * duckDir - MaxStepHeight * vect(0,0,1), Location + 200 * duckDir, false, Extent); if (HitActor == None) { Shield(); return; } SetFall(); if ( duckLeft ) PlayAnim('LeftDodge', 1.35); else PlayAnim('RightDodge', 1.35); Velocity = duckDir * GroundSpeed; Velocity.Z = 200; SetPhysics(PHYS_Falling); GotoState('FallingState','Ducking'); } function bool CanFireAtEnemy() { local vector HitLocation, HitNormal,X,Y,Z, projStart, EnemyDir, EnemyUp; local actor HitActor; local float EnemyDist; EnemyDir = Enemy.Location - Location; EnemyDist = VSize(EnemyDir); EnemyUp = Enemy.CollisionHeight * vect(0,0,0.8); if ( EnemyDist > 300 ) { EnemyDir = 300 * EnemyDir/EnemyDist; EnemyUp = 300 * EnemyUp/EnemyDist; } if ( Weapon == None ) return false; GetAxes(Rotation,X,Y,Z); projStart = Location + Weapon.CalcDrawOffset() + Weapon.FireOffset.X * X + 1.2 * Weapon.FireOffset.Y * Y + Weapon.FireOffset.Z * Z; if ( Weapon.bInstantHit) //instant hit HitActor = Trace(HitLocation, HitNormal, Enemy.Location + EnemyUp, projStart, true); else HitActor = Trace(HitLocation, HitNormal, projStart + EnemyDir + EnemyUp, projStart, true); if ( HitActor == Enemy ) return true; if ( (HitActor != None) && (VSize(HitLocation - Location) < 200) ) return false; if ( (Pawn(HitActor) != None) && (AttitudeTo(Pawn(HitActor)) > ATTITUDE_Ignore) ) return false; return true; } function PlayCock() { if ( Weapon != None ) { if ( Weapon.CockingSound != None ) PlaySound(Weapon.CockingSound, SLOT_Interact,,,700); else if ( Weapon.SelectSound != None ) PlaySound(Weapon.CockingSound, SLOT_Interact,,,700); } } //Skaarj animations function PlayPatrolStop() { local float decision; if (Region.Zone.bWaterZone) { PlaySwimming(); return; } if ( bButtonPusher ) { PushButtons(); return; } SetAlertness(0.2); LoopAnim('Breath', 0.3 + 0.6 * FRand()); } function PlayChallenge() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } if ( TryToCrouch() ) { TweenAnim('Duck', 0.12); return; } PlayThreateningSound(); PlayAnim('Fighter', 0.8 + 0.5 * FRand(), 0.1); } function PlayRunning() { local float strafeMag; local vector Focus2D, Loc2D, Dest2D; local vector lookDir, moveDir, Y; bFire = 0; bAltFire = 0; DesiredSpeed = MaxDesiredSpeed; if (Region.Zone.bWaterZone) { PlaySwimming(); return; } if (Focus == Destination) { LoopAnim('Jog', -0.9/GroundSpeed,, 0.5); return; } Focus2D = Focus; Focus2D.Z = 0; Loc2D = Location; Loc2D.Z = 0; Dest2D = Destination; Dest2D.Z = 0; lookDir = Normal(Focus2D - Loc2D); moveDir = Normal(Dest2D - Loc2D); strafeMag = lookDir dot moveDir; if (strafeMag > 0.8) LoopAnim('Jog', -1.0/GroundSpeed,, 0.5); else if (strafeMag < -0.8) LoopAnim('Jog', -1.0/GroundSpeed,, 0.5); else { Y = (lookDir Cross vect(0,0,1)); if ((Y Dot (Dest2D - Loc2D)) > 0) { if ( (AnimSequence == 'StrafeRight') || (AnimSequence == 'StrafeRightFr') ) LoopAnim('StrafeRight', -2.5/GroundSpeed,, 1.0); else LoopAnim('StrafeRight', -2.5/GroundSpeed,0.1, 1.0); } else { if ( (AnimSequence == 'StrafeLeft') || (AnimSequence == 'StrafeLeftFr') ) LoopAnim('StrafeLeft', -2.5/GroundSpeed,, 1.0); else LoopAnim('StrafeLeft', -2.5/GroundSpeed,0.1, 1.0); } } } function PlayMovingAttack() { local float strafeMag; local vector Focus2D, Loc2D, Dest2D; local vector lookDir, moveDir, Y; local int bUseAltMode; if (Weapon != None) { if ( Weapon.AmmoType != None ) Weapon.AmmoType.AmmoAmount = Weapon.AmmoType.Default.AmmoAmount; Weapon.RateSelf(bUseAltMode); ViewRotation = Rotation; if ( bUseAltMode == 0 ) { bFire = 1; bAltFire = 0; Weapon.Fire(1.0); } else { bFire = 0; bAltFire = 1; Weapon.AltFire(1.0); } } else { PlayRunning(); return; } if (Region.Zone.bWaterZone) { PlaySwimming(); return; } DesiredSpeed = MaxDesiredSpeed; if (Focus == Destination) { LoopAnim('JogFire', -0.9/GroundSpeed,, 0.4); return; } Focus2D = Focus; Focus2D.Z = 0; Loc2D = Location; Loc2D.Z = 0; Dest2D = Destination; Dest2D.Z = 0; lookDir = Normal(Focus2D - Loc2D); moveDir = Normal(Dest2D - Loc2D); strafeMag = lookDir dot moveDir; if (strafeMag > 0.8) LoopAnim('JogFire', -1.0/GroundSpeed,, 0.4); else if (strafeMag < -0.8) LoopAnim('JogFire', -1.0/GroundSpeed,, 0.4); else { MoveTimer += 0.2; DesiredSpeed = 0.6; Y = (lookDir Cross vect(0,0,1)); if ((Y Dot (Dest2D - Loc2D)) > 0) { if ( (AnimSequence == 'StrafeRight') || (AnimSequence == 'StrafeRightFr') ) LoopAnim('StrafeRightFr', -2.5/GroundSpeed,, 1.0); else LoopAnim('StrafeRightFr', -2.5/GroundSpeed,0.1, 1.0); } else { if ( (AnimSequence == 'StrafeLeft') || (AnimSequence == 'StrafeLeftFr') ) LoopAnim('StrafeLeftFr', -2.5/GroundSpeed,, 1.0); else LoopAnim('StrafeLeftFr', -2.5/GroundSpeed,0.1, 1.0); } } } function PlayThreatening() { local float decision, animspeed; if (Region.Zone.bWaterZone) { PlaySwimming(); return; } decision = FRand(); animspeed = 0.4 + 0.6 * FRand(); if ( decision < 0.7 ) PlayAnim('Breath2', animspeed, 0.3); else { PlayThreateningSound(); PlayAnim('Fighter', animspeed, 0.3); } } function PlayRangedAttack() { PlayFiring(); } function PlayFiring() { TweenAnim('Firing', 0.2); if ( (Weapon != None) && (Weapon.AmmoType != None) ) Weapon.AmmoType.AmmoAmount = Weapon.AmmoType.Default.AmmoAmount; } function PlayVictoryDance() { PlayAnim('Shield', 0.6, 0.1); } function PlayLanded(float impactVel) { if ( GetAnimGroup(AnimSequence) == 'Shielded' ) TweenAnim('ShldLand', 0.1); else if (impactVel > 1.7 * JumpZ) PlayAnim('Landed',1.0,0.1); else TweenAnim('Land', 0.1); } state TakeHit { ignores seeplayer, hearnoise, bump, hitwall; function BeginState() { bFire = 0; bAltFire = 0; Super.BeginState(); } } state Retreating { ignores SeePlayer, EnemyNotVisible, HearNoise; function EndState() { bFire = 0; bAltFire = 0; Super.EndState(); } } state Charging { ignores SeePlayer, HearNoise; function EndState() { bFire = 0; bAltFire = 0; Super.EndState(); } } state TacticalMove { ignores SeePlayer, HearNoise; function EndState() { bFire = 0; bAltFire = 0; Super.EndState(); } } state Hunting { ignores EnemyNotVisible; function EndState() { bFire = 0; bAltFire = 0; if ( !Region.Zone.bWaterZone ) bCanSwim = false; Super.EndState(); } } state MeleeAttack { ignores SeePlayer, HearNoise, Bump; ShieldDown: DesiredRotation = Rotator(Enemy.Location - Location); FinishAnim(); Goto('Begin'); } state RangedAttack { ignores SeePlayer, HearNoise; function TakeDamage( int Damage, Pawn instigatedBy, Vector hitlocation, Vector momentum, name damageType) { if ( (GetAnimGroup(AnimSequence) == 'Shielded') && (AnimSequence != 'ShldFire') && ((Vector(Rotation) Dot Momentum) < -0.6) ) Damage *= 0.2; Super.TakeDamage(Damage, instigatedBy, hitlocation, momentum, damageType); } function Bump (Actor Other) { if ( (GetAnimGroup(AnimSequence) == 'Shielded') && (Other == Enemy) ) { PlayAnim('ShldDown'); GotoState('MeleeAttack', 'ShieldDown'); return; } if ( AttackSuccess || (AnimSequence != 'Lunge') ) { Disable('Bump'); return; } else LungeDamageTarget(); if (!AttackSuccess && Pawn(Other) != None) //always add momentum Pawn(Other).AddVelocity((60000.0 * (Normal(Other.Location - Location)))/Other.Mass); } function PlayRangedAttack() { local float dist; if ( GetAnimGroup(AnimSequence) == 'Shielded' ) { TweenAnim('ShldFire', 0.05); FireWeapon(); return; } dist = VSize(Target.Location - Location + vect(0,0,1) * (CollisionHeight - Target.CollisionHeight)); if ( (FRand() < 0.2) && (dist < 150 + CollisionRadius + Target.CollisionRadius) && (Region.Zone.bWaterZone || !Target.Region.Zone.bWaterZone) ) { PlaySound(Lunge, SLOT_Interact); Velocity = 500 * (Target.Location - Location)/dist; //instant acceleration in that direction Velocity.Z += 1.5 * dist; if (Physics != PHYS_Swimming) SetPhysics(PHYS_Falling); Enable('Bump'); PlayAnim('Lunge'); } else { Disable('Bump'); FireWeapon(); } } function TryToDuck(vector duckDir, bool bReversed) { if ( FRand() < 0.5 ) return; bFire = 0; bAltFire = 0; if ( AnimSequence == 'ShldFire' ) { TweenAnim('HoldShield', 0.15); GotoState('RangedAttack', 'Shieldup'); return; } if ( GetAnimGroup(AnimSequence) == 'Shielded' ) { if (FRand() < 0.75) GotoState('RangedAttack', 'ShieldUp'); return; } Shield(); } function KeepAttacking() { if ( bFiringPaused ) return; if ( (FRand() > ReFireRate) || (Enemy == None) || (Enemy.Health <= 0) || !CanFireAtEnemy() ) { if ( GetAnimGroup(AnimSequence) == 'Shielded' ) { PlayAnim('ShldDown'); GotoState('RangedAttack', 'ShieldDown'); } else GotoState('Attacking'); } } function AnimEnd() { if ( (AnimSequence == 'Lunge') || (FRand() < 0.5) || ((bFire == 0) && (bAltFire == 0)) ) GotoState('RangedAttack', 'DoneFiring'); else TweenAnim('Firing', 0.5); } function EndState() { bFire = 0; bAltFire = 0; Super.EndState(); } ShieldDown: Disable('AnimEnd'); FinishAnim(); GotoState('Attacking'); Challenge: Disable('AnimEnd'); Acceleration = vect(0,0,0); //stop DesiredRotation = Rotator(Enemy.Location - Location); PlayChallenge(); FinishAnim(); TweenToFighter(0.1); Goto('FaceTarget'); ShieldUp: Disable('AnimEnd'); Acceleration = vect(0,0,0); //stop FinishAnim(); TweenAnim('HoldShield', 0.1); DesiredRotation = Rotator(Enemy.Location - Location); Sleep(duckTime + FRand()); if (NeedToTurn(Enemy.Location)) TurnToward(Enemy); Goto('CheckDist'); Begin: Acceleration = vect(0,0,0); //stop DesiredRotation = Rotator(Enemy.Location - Location); TweenToFighter(0.15); FaceTarget: Disable('AnimEnd'); if (NeedToTurn(Enemy.Location)) { PlayTurning(); TurnToward(Enemy); TweenToFighter(0.1); } FinishAnim(); CheckDist: if (VSize(Location - Enemy.Location) < 0.9 * MeleeRange + CollisionRadius + Enemy.CollisionRadius) GotoState('MeleeAttack', 'ReadyToAttack'); ReadyToAttack: if (!bHasRangedAttack) GotoState('Attacking'); DesiredRotation = Rotator(Enemy.Location - Location); PlayRangedAttack(); Enable('AnimEnd'); Firing: TurnToward(Enemy); Goto('Firing'); DoneFiring: Disable('AnimEnd'); KeepAttacking(); Goto('FaceTarget'); } t@C)V9R}y8VC)OL-7O>dLLO?X-'P q!%'( Zu@{Z!O-(/w**q!%Dw*q!%]!Lq!Lv!tq!t!Lq!L!W{! 33>q{s(H  v@.Nu!-'u!   |@KVN3$$-6-  ~// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // GunFireSensorZone : A specialized zone that calls an event when a player fires his weapon. // ============================================================ class GunFireSensorZone expands ZoneInfo; var () bool bActive; //active? Triggering changes this property. var () float EventCallDelay; //delay until events are called var () bool bCallEventOnceOnly; //only trigger other actors once? var () bool bTriggerOnceOnly; //be triggered once only? //internal: var bool bTriggered; var bool bCalledEvent; var bool bInTimer; function Trigger( actor Other, pawn EventInstigator ) { if (!btriggered) bActive=!bactive; if (bTriggeronceonly) btriggered=true; } function GunFired(pawn p){ if (!bactive||bInTimer||bCalledEvent) return; bInTimer=true; Instigator=p; if (EventCallDelay!=0) SetTimer(EventCallDelay, false); else Timer(); } function Timer(){ local actor a; if (bCallEventOnceOnly) bCalledEvent=true; bInTimer=false; if (event!='') foreach AllActors(class'actor',a,event) a.Trigger(self,Instigator); } w@y@Bj$C(MkCAC(A> ACib-'P q!% 's@QKSq@@[?j[@{?G.@aaI.{a@ a({  .K$$  ZXZ?I-(/w**q!%Dw*q!%]!Lq!Lv!tq!t!Lq!L!WX! 33>qXy'H HA@AB_KAa^~@M] K"-6K !^6K !y rw6 K *o6 K l6 K o=,lh4xx0rMo$t[Mpl: tYMt?Y6K !y Mo$M=,$pl:  j[l=Mr*%;!%!Z!!  !-::$q!Y!} ::$-q!R j/:j:$q!d  :j:$q!@ 5:j:$ -q!K0Z!! hbw*:/:$ b^^e!t b q!tc-@ ?Xq?Xq!QcS- ::$%q!OcZ!!E w*j --a(---`- @q!O q!Z  LAGA%|Gl[>w*% bq!ZYSw*q!KYH }\ KAKw1$$  t@-0r*q!%   ;w*- 333?=q!O MAIAv1a !GW !Jm>-(Zr*%q!%6 --q!Z!s- - q!Z!s ::$P   b::$ b-'B>Xa}--(qba}q!Z!so-(-(Laq!Z!s- '!v!q!O<  @-'a o2-  b?, #?6 6 #?6 6?%'a%!m!m=aP-'a o- ?X   !Oq!%- q!Oa= ף< !Jm=#r-'a !J 'OemRG2J*i_ , QAJ>/46-o$22::$o$ FAP @kG-P EP P kpp(> G_P akD.}P 5WG?G}?&P ak( PAn*,avw.n*-V.nq!Ottw. *-  . ] ?%a?(nXn?&z n6z An 6AAAXz Afff?66z 66z nHCv! KT+$$  SAOAd /N6YhD7y -  w r*% `pa%!]a!g q!O!cwq!%  UAt*dH NAoBysoEooaTESTX,SX S?,?,B X ?,ooio?WoXa X #X #? ? o$o o?oba X ?,#X ?,#? ? o [Ay{O*#-y-y AXAE y&A#r4 4 Z@r4 4 enr4  r4 4 wr4 4 r4 4 ow4*La4wL*L wL*L:   ZA .o%. -'$-|$,-B' TAF.v-[-F. \AL$cAVAl*_AeS^ Wb!^jUwj*mja/!2.jPSS,U,>>j-ja/!r$w*w *! sjS-ebjSb-e>jS!^(jj  bAKe%$$  UJ6PG// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // ONPLevelInfo : This actor should be added to all levels. It defines critical options for levels. // If not added, the gameinfo will spawn one itself and use default properties. // Note This actor's Event is triggered at level start. // ============================================================ class ONPLevelInfo expands Info; var (Inventory) class DefaultInventory[20]; //inventory that the player will be given, if he doesn't already have them, at start of level or co-op restart. var (Inventory) class InventoryToDestroy[8]; //inventory to be destroyed when entering level. do not use an item listed above! Set the 0 element to inventory to remove all. var (Inventory) bool bAkimboEnforcers; //whether enforcer should be forced into akimbo mode (if added) var (Inventory) enum ENetType { Used_All, Used_SPOnly, Used_CoopOnly, Used_None } NetOptions[28]; //for each inventory default and delete. default=0-19. destroy=20-27 var (Inventory) class TriggeredInv[8]; //items that will be added to defaults when this triggered (co-op) var (Inventory) ENetType DefaultWeapon; //whether default weapon (pistol, can be mutated) is used. var (PlayerMod) bool bCutScene; //is this level a cutscene (fade in begins at 1/4&default motion freeze) Note: FadeinTime should probably be reduced to 2. var (PlayerMod) bool bJet; //Should the player be a jet? var (PlayerMod) bool RespawnPlayer; //on death should the player respawn? var (PlayerMod) float FadeInTime; //how long should the fade-in take (seconds)? Includes Title/Author time. var (PlayerMod) bool bVrikersTypeStart; //where the player "awakes" var (PlayerMod) int MaxHealth; //the maximum health a player can have when entering a level. var (PlayerMod) bool ForceNoHUD; //forces no hud. don't that if player is frozen (w/ actor or bcutscene, this is auto-true :)) var (PlayerMod) bool FollowersCanLeave; //can followes leave the level? var (SpeedRun) float GoalTime; //high goal time. beat this to start having bonuses var (SpeedRun) int GoalPoints; //how many points are given for beating the goal? var (SpeedRun) float GoalMult; //how much to multiply additional bonus seconds by. var (SpeedRun) float UberGoalTime; //Low goal time (done with secrets). beat this to start having uber-bonuses var (SpeedRun) int UberGoalPoints; //how many points are given for beating the uber-goal? var (SpeedRun) float UberGoalMult; //how much to multiply additional bonus seconds by. //internal: var int ItemCount; replication{ Reliable if (Role==role_authority) //send no hud info.. ForceNoHUD; } //when triggered, items can be added to default inv. function Trigger( actor Other, pawn EventInstigator ) { local int i; if (TriggeredInv[0]==none||Itemcount==20) return; DefaultInventory[ItemCount]=TriggeredInv[0]; ItemCount++; for (i=0;i<7;i++) TriggeredInv[i]=TriggeredInv[i+1]; } //fix mapper glitches: function PreBeginPlay(){ local byte i; bhidden=true; for (i=0;i<20;i++){ if (DefaultInventory[i]==none) break; //use case statements? else if (DefaultInventory[i]==class'ShockRifle') DefaultInventory[i]=class'OsShockRifle'; else if (DefaultInventory[i]==class'PulseGun'||DefaultInventory[i]==class'OSPulseGun') DefaultInventory[i]=class'TVPulseGun'; else if (DefaultInventory[i]==class'Enforcer') DefaultInventory[i]=class'SpEnf'; else if (DefaultInventory[i]==class'UT_EightBall') DefaultInventory[i]=class'TVEightball'; else if (DefaultInventory[i]==class'Translator') DefaultInventory[i]=class'TVTranslator'; else if (DefaultInventory[i]==class'FlashLight') DefaultInventory[i]=class'TVFlashLight'; else if (DefaultInventory[i]==class'SearchLight') DefaultInventory[i]=class'TVSearchLight'; } ItemCount=i; if (level.defaultgametype!=none&&Level.defaultGameType.name=='MovieInfo'){ //UMS detection FadeInTime=0.1; bCutScene=true; } if (level.netmode!=nm_standalone) //hack bCutScene=false; if (bJet) ForceNoHUD=true; if (bCutScene) ForceNoHUD=true; Super.PreBeginPlay(); } simulated function PostNetBeginPlay(){ //register on clients local tvplayer p; foreach AllActors (class'tvplayer',p) if (viewport(p.player)!=none) p.Linfo=self; } -]$c-'u!a-3- L??{.>q!O lA^AZi%d'S6Vx632Y'a%!]a&!a L=H V #?JL>"V?,96- 6 -a}$? V6?V8::$o$u!a!TWv!H nU'x$H C.iAvb5@jAI S8pQwp*p-/a0 xPOx%pq!pa'((p-(pxpo$p?pp- 'w*pO::$p-'Ow.p*.p f x10 pk// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // RebelSkaarj : A following skaarjwarrior. // ============================================================ class RebelSkaarj expands Follower; //----------------------------------------------------------------------------- // Skaarj variables. // Attack damage. var(Skaarj) byte LungeDamage, // Basic damage done by lunge. SpinDamage, // Basic damage done by spin. ClawDamage; // Basic damage done by each claw. var bool AttackSuccess; var(Skaarj) bool bButtonPusher; var(Skaarj) bool bFakeDeath; var(Sounds) sound hitsound3; var(Sounds) sound hitsound4; var(Sounds) sound syllable1; var(Sounds) sound syllable2; var(Sounds) sound syllable3; var(Sounds) sound syllable4; var(Sounds) sound syllable5; var(Sounds) sound syllable6; var(Sounds) sound spin; var(Sounds) sound claw; var(Sounds) sound slice; var(Sounds) sound lunge; var(Sounds) sound hairflip; var(Sounds) sound Die2; var(Sounds) sound Blade; var(Sounds) sound Footstep; var(Sounds) sound Footstep2; var name phrase; var byte phrasesyllable; var float voicePitch; function PreBeginPlay() { Super.PreBeginPlay(); bCanSpeak = true; voicePitch = Default.voicePitch + 0.6 * Default.voicePitch * FRand(); if ( CombatStyle == Default.CombatStyle) CombatStyle = CombatStyle + 0.3 * FRand() - 0.15; if ( bFakeDeath ) { AnimSequence = 'Death2'; AnimFrame = 0.92; SimAnim.X = 9200; } if ( skill > 2 ) ProjectileSpeed *= 1.1; } function PostBeginPlay() { Super.PostBeginPlay(); if ( skill == 3 ) { SpinDamage = 20; ClawDamage = 17; } } simulated function RunStep() { // local sound toplay; if (level.netmode==nm_dedicatedserver) return; /* ToPlay=GetTexSound(); if (ToPlay!=none){ PlaySound(ToPlay, SLOT_Interact,0.8,,900); return; } */ if (TvPawnShadow(Shadow)!=none&&TvPawnShadow(Shadow).NumSounds!=0){ PlaySound(TvPawnShadow(Shadow).CurFootSound[rand(TVPawnshadow(shadow).NumSounds)], SLOT_Interact,1.76,,900); return; } if (FRand() < 0.6) PlaySound(FootStep, SLOT_Interact,0.8,,900); else PlaySound(FootStep2, SLOT_Interact,0.8,,900); } simulated function WalkStep() { // local sound toplay; if (level.netmode==nm_dedicatedserver) return; /* ToPlay=GetTexSound(); if (ToPlay!=none){ PlaySound(ToPlay, SLOT_Interact,0.2,,500); return; } */ if (TvPawnShadow(Shadow)!=none&&TvPawnShadow(Shadow).NumSounds!=0){ PlaySound(TvPawnShadow(Shadow).CurFootSound[rand(TVPawnshadow(shadow).NumSounds)], SLOT_Interact,0.44,,,500); return; } if (FRand() < 0.6) PlaySound(FootStep, SLOT_Interact,0.2,,500); else PlaySound(FootStep2, SLOT_Interact,0.2,,500); } function ZoneChange(ZoneInfo newZone) { bCanSwim = newZone.bWaterZone; //only when it must if ( newZone.bWaterZone ) CombatStyle = 1.0; //always charges when in the water else if (Physics == PHYS_Swimming) CombatStyle = Default.CombatStyle; Super.ZoneChange(newZone); } /* PreSetMovement() */ function PreSetMovement() { MaxDesiredSpeed = 0.7 + 0.1 * skill; bCanJump = true; bCanWalk = true; bCanSwim = false; bCanFly = false; MinHitWall = -0.6; bCanOpenDoors = true; if ( Intelligence > BRAINS_Mammal ) bCanDoSpecial = true; bCanDuck = true; } function SetMovementPhysics() { if ( Region.Zone.bWaterZone ) SetPhysics(PHYS_Swimming); else if (Physics != PHYS_Walking) SetPhysics(PHYS_Walking); } //========================================================================================= // Speech function SpeechTimer() { //last syllable expired. Decide whether to keep the floor or quit if (FRand() < 0.3) { bIsSpeaking = false; if (TeamLeader != None) TeamLeader.bTeamSpeaking = false; } else Speak(); } function SpeakOrderTo(ScriptedPawn TeamMember) { phrase = ''; if ( !TeamMember.bCanSpeak || (FRand() < 0.5) ) Speak(); else { if (RebelSkaarj(TeamMember) != None) RebelSkaarj(TeamMember).phrase = ''; TeamMember.Speak(); } } function SpeakTo(ScriptedPawn Other) { if (Other.bIsSpeaking || ((TeamLeader != None) && TeamLeader.bTeamSpeaking) ) return; phrase = ''; Speak(); } function Speak() { local float decision, inflection, pitch; //if (phrase != '') // SpeakPhrase(); bIsSpeaking = true; if ( FRand() < 0.65) { inflection = 0.6 + 0.5 * FRand(); pitch = voicePitch + 0.4 * FRand(); } else { inflection = 1.3 + 0.5 * FRand(); pitch = voicePitch + 0.8 * FRand(); } decision = FRand(); if (TeamLeader != None) TeamLeader.bTeamSpeaking = true; if (decision < 0.167) PlaySound(Syllable1,SLOT_Talk,inflection,,, pitch); else if (decision < 0.333) PlaySound(Syllable2,SLOT_Talk,inflection,,, pitch); else if (decision < 0.5) PlaySound(Syllable3,SLOT_Talk,inflection,,, pitch); else if (decision < 0.667) PlaySound(Syllable4,SLOT_Talk,inflection,,, pitch); else if (decision < 0.833) PlaySound(Syllable5,SLOT_Talk,inflection,,, pitch); else PlaySound(Syllable6,SLOT_Talk,inflection,,, pitch); SpeechTime = 0.1 + 0.3 * FRand(); } function PlayAcquisitionSound() { if ( bCanSpeak && (TeamLeader != None) && !TeamLeader.bTeamSpeaking ) { phrase = 'Acquisition'; phrasesyllable = 0; Speak(); return; } Super.PlayAcquisitionSound(); } function PlayFearSound() { if ( bCanSpeak && (TeamLeader != None) && !TeamLeader.bTeamSpeaking ) { phrase = 'Fear'; phrasesyllable = 0; Speak(); return; } Super.PlayFearSound(); } function PlayRoamingSound() { if ( bCanSpeak && (TeamLeader != None) && !TeamLeader.bTeamSpeaking && (FRand() < 0.5) ) { phrase = ''; Speak(); return; } Super.PlayRoamingSound(); } function PlayThreateningSound() { if ( bCanSpeak && (FRand() < 0.6) && ((TeamLeader == None) || !TeamLeader.bTeamSpeaking) ) { phrase = 'Threaten'; phrasesyllable = 0; Speak(); return; } Super.PlayThreateningSound(); } function PushButtons() { local float decision, animspeed; SetAlertness(-0.7); animspeed = 0.4 + 0.6 * FRand(); decision = FRand(); if (decision < 0.2) LoopAnim('Breath2', animspeed, 1.0); else if (decision < 0.3) { SetAlertness(0.2); LoopAnim('Breath', animspeed, 1.0); } else if (decision < 0.4) LoopAnim('MButton1', animspeed); else if (decision < 0.5) LoopAnim('MButton2', animspeed); else if (decision < 0.6) LoopAnim('MButton3', animspeed); else if (decision < 0.7) LoopAnim('MButton4', animspeed); else if (decision < 0.76) LoopAnim('Button1', animspeed); else if (decision < 0.82) LoopAnim('Button2', animspeed); else if (decision < 0.88) LoopAnim('Button3', animspeed); else if (decision < 0.94) LoopAnim('Button4', animspeed); else LoopAnim('Button5', animspeed); return; } function PlayWaiting() { local float decision; local float animspeed; if (Region.Zone.bWaterZone) { PlaySwimming(); return; } if ( bFakeDeath ) return; if ( bButtonPusher ) { PushButtons(); return; } animspeed = 0.3 + 0.6 * FRand(); //vary speed decision = FRand(); if (AnimSequence == 'Breath') { SetAlertness(0.0); if (decision < 0.15) { PlayAnim('gunfix', AnimSpeed, 0.7); if ( !bQuiet ) PlaySound(Roam, SLOT_Talk); } else if ( decision < 0.28 ) { if ( IsA('RebelSkaarjTrooper') ) PlayAnim('Stretch', AnimSpeed); else PlayAnim('ShldTest', AnimSpeed); } else LoopAnim('Breath2', AnimSpeed); return; } else if ( AnimSequence == 'Breath2' ) { if (decision < 0.2) { SetAlertness(0.3); LoopAnim('Breath', 0.2 + 0.5 * FRand()); } else LoopAnim('Breath2', AnimSpeed); return; } else if ( AnimSequence == 'gunfix' ) { SetAlertness(-0.3); if (decision < 0.25) { PlayCock(); LoopAnim('guncheck', animspeed); } else if (decision < 0.37) PlayAnim('headup', animspeed); else LoopAnim('gunfix', animspeed); return; } else if ( AnimSequence == 'Looking' ) { if (decision < 0.7) { SetAlertness(-0.3); LoopAnim('gunfix', animspeed); } else if (decision < 0.85) { SetAlertness(0.0); PlayAnim('Breath2', AnimSpeed, 0.7); } else { SetAlertness(0.5); LoopAnim('Looking', AnimSpeed); } return; } else if ( AnimSequence == 'Headup' ) { if (decision < 0.1) { SetAlertness(0.0); PlayAnim('Breath2', AnimSpeed, 0.7); } else { SetAlertness(0.6); LoopAnim('Looking', AnimSpeed); if ( !bQuiet ) PlaySound(Roam, SLOT_Talk); } return; } else if ( AnimSequence == 'guncheck' ) { SetAlertness(-0.4); if (decision < 0.87) LoopAnim('gunfix', AnimSpeed); else { PlayCock(); LoopAnim('guncheck', AnimSpeed); } return; } else { SetAlertness(-0.3); PlayAnim('gunfix', animspeed, 0.6); return; } } function PlayWaitingAmbush() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } if ( bFakeDeath ) return; if ( bButtonPusher ) { PushButtons(); return; } if (FRand() < 0.8) LoopAnim('Breath2', 0.3 + 0.6 * FRand()); else LoopAnim('Breath', 0.3 + 0.6 * FRand()); } function PlayDive() { TweenToSwimming(0.2); } function TweenToWaiting(float tweentime) { if ( bFakeDeath ) return; if (Region.Zone.bWaterZone) { TweenToSwimming(tweentime); return; } TweenAnim('gunfix', tweentime); } function TweenToFighter(float tweentime) { bButtonPusher = false; bFakeDeath = false; if (Region.Zone.bWaterZone) { TweenToSwimming(tweentime); return; } if ( (AnimSequence == 'Death2') && (AnimFrame > 0.8) ) { SetFall(); GotoState('FallingState', 'RiseUp'); } else TweenAnim('Fighter', tweentime); } function TweenToRunning(float tweentime) { bButtonPusher = false; bFakeDeath = false; if (Region.Zone.bWaterZone) { TweenToSwimming(tweentime); return; } if ( (AnimSequence == 'Death2') && (AnimFrame > 0.8) ) { SetFall(); GotoState('FallingState', 'RiseUp'); } else if ( ((AnimSequence != 'Jog') && (AnimSequence != 'JogFire')) || !bAnimLoop ) TweenAnim('Jog', tweentime); } function TweenToWalking(float tweentime) { if (Region.Zone.bWaterZone) { TweenToSwimming(tweentime); return; } TweenAnim('Walk', tweentime); } function TweenToPatrolStop(float tweentime) { if ( bFakeDeath ) return; if (Region.Zone.bWaterZone) { TweenToSwimming(tweentime); return; } TweenAnim('Breath', tweentime); } function PlayWalking() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } LoopAnim('Walk', 0.88); } function TweenToSwimming(float tweentime) { if ( (AnimSequence != 'Swim') || !bAnimLoop ) TweenAnim('Swim', tweentime); } function PlaySwimming() { LoopAnim('Swim', -1.0/WaterSpeed,, 0.5); } function PlayTurning() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } if ( (AnimSequence == 'Death2') && (AnimFrame > 0.8) ) { SetFall(); GotoState('FallingState', 'RiseUp'); } else TweenAnim('Walk', 0.3); } function PlayBigDeath(name DamageType) { if ( FRand() < 0.35 ) PlayAnim('Death',0.7,0.1); else PlayAnim('Death2',0.7,0.1); PlaySound(Die2, SLOT_Talk, 4.5 * TransientSoundVolume); } function PlayHeadDeath(name DamageType) { local carcass carc; if ( ((DamageType == 'Decapitated') || ((Health < -20) && (FRand() < 0.5))) && !Level.Game.bVeryLowGore ) { carc = Spawn(class 'CreatureChunks',,, Location + CollisionHeight * vect(0,0,0.8), Rotation + rot(3000,0,16384) ); if (carc != None) { carc.Mesh = mesh'SkaarjHead'; carc.Initfor(self); carc.Velocity = Velocity + VSize(Velocity) * VRand(); carc.Velocity.Z = FMax(carc.Velocity.Z, Velocity.Z); } PlayAnim('Death5',0.7,0.1); if ( !IsA('RebelSkaarjTrooper') && (Velocity.Z < 120) ) { Velocity = GroundSpeed * vector(Rotation); Velocity.Z = 150; } } else if ( FRand() < 0.5 ) PlayAnim('Death',0.7,0.1); else PlayAnim('Death4',0.7,0.1); PlaySound(Die, SLOT_Talk, 4.5 * TransientSoundVolume); } function PlayLeftDeath(name DamageType) { if ( FRand() < 0.5 ) PlayAnim('Death',0.7,0.1); else PlayAnim('Death4',0.7,0.1); PlaySound(Die, SLOT_Talk, 4.5 * TransientSoundVolume); } function PlayRightDeath(name DamageType) { if ( FRand() < 0.3 ) PlayAnim('Death3',0.7,0.1); else PlayAnim('Death4',0.7,0.1); PlaySound(Die, SLOT_Talk, 4.5 * TransientSoundVolume); } function PlayGutDeath(name DamageType) { PlayAnim('Death3',0.7, 0.1); PlaySound(Die, SLOT_Talk, 4.5 * TransientSoundVolume); } function PlayTakeHitSound(int Damage, name damageType, int Mult) { local float decision; if ( Level.TimeSeconds - LastPainSound < 0.25 ) return; LastPainSound = Level.TimeSeconds; decision = FRand(); //FIXME - modify based on damage if (decision < 0.25) PlaySound(HitSound1, SLOT_Pain, 2.0 * Mult); else if (decision < 0.5) PlaySound(HitSound2, SLOT_Pain, 2.0 * Mult); else if (decision < 0.75) PlaySound(HitSound3, SLOT_Pain, 2.0 * Mult); else PlaySound(HitSound4, SLOT_Pain, 2.0 * Mult); } function TweenToFalling() { if ( FRand() < 0.5 ) TweenAnim('Jog', 0.2); else PlayAnim('Jump',0.7,0.1); } function PlayInAir() { if ( AnimSequence == 'Jog' ) PlayAnim('Jog', 0.4); else if ( AnimSequence == 'JogFire' ) PlayAnim('JogFire', 0.4); else TweenAnim('InAir',0.4); } function PlayOutOfWater() { TweenAnim('Landed', 0.8); } function PlayLanded(float impactVel) { if (impactVel > 1.7 * JumpZ) TweenAnim('Landed',0.1); else TweenAnim('Land', 0.1); } function PlayTakeHit(float tweentime, vector HitLoc, int damage) { if ( (Velocity.Z > 120) && (Health < 0.4 * Default.Health) && (FRand() < 0.33) ) PlayAnim('Death2',0.7); else if ( (AnimSequence != 'Spin') && (AnimSequence != 'Lunge') && (AnimSequence != 'Death2') ) Super.PlayTakeHit(tweentime, HitLoc, damage); } function SpinDamageTarget() { if (MeleeDamageTarget(SpinDamage, (SpinDamage * 1000 * Normal(Target.Location - Location))) ) PlaySound(slice, SLOT_Interact); } function ClawDamageTarget() { if ( MeleeDamageTarget(ClawDamage, (ClawDamage * 900 * Normal(Target.Location - Location))) ) PlaySound(slice, SLOT_Interact); } function PlayMeleeAttack() { local int hitdamage; local float TargetDist, decision; decision = FRand(); if (AnimSequence == 'Spin') decision += 0.2; else if (AnimSequence == 'Claw') decision -= 0.2; AttackSuccess = false; //log("Start Melee Attack"); if ( Region.Zone.bWaterZone || (decision < 0.5) ) { Acceleration = AccelRate * Normal(Target.Location - Location); PlayAnim('Spin'); PlaySound(Spin, SLOT_Interact); } else { PlayAnim('Claw'); PlaySound(Claw, SLOT_Interact); } } //warrior only! function PlayRangedAttack() { if (Region.Zone.bWaterZone) { LoopAnim('SwimFire', -1.0/WaterSpeed,, 0.4); return; } PlayAnim('Firing', 1.5); } state TakeHit { ignores seeplayer, hearnoise, bump, hitwall; function Landed(vector HitNormal) { local float landVol; if ( AnimSequence == 'Death2' ) { landVol = 0.75 + Velocity.Z * 0.004; LandVol = Mass * landVol * landVol * 0.01; PlaySound(sound'thump', SLOT_Interact, landVol); GotoState('FallingState', 'RiseUp'); } else Super.Landed(HitNormal); } function PlayTakeHit(float tweentime, vector HitLoc, int damage) { if ( AnimSequence != 'Death2' ) Global.PlayTakeHit(tweentime, HitLoc, damage); } function BeginState() { Super.BeginState(); If ( AnimSequence == 'Death2' ) GotoState('FallingState'); } } state FallingState { ignores Bump, Hitwall, HearNoise, WarnTarget; function Landed(vector HitNormal) { local float landVol; if ( AnimSequence == 'Death2' ) { landVol = 0.75 + Velocity.Z * 0.004; LandVol = Mass * landVol * landVol * 0.01; PlaySound(sound'Thump', SLOT_Interact, landVol); GotoState('FallingState', 'RiseUp'); } else if ( (AnimSequence == 'LeftDodge') || (AnimSequence == 'RightDodge') ) { landVol = Velocity.Z/JumpZ; landVol = 0.008 * Mass * landVol * landVol; if ( !FootRegion.Zone.bWaterZone ) PlaySound(Land, SLOT_Interact, FMin(20, landVol)); GotoState('FallingState', 'FinishDodge'); } else Super.Landed(HitNormal); } function PlayTakeHit(float tweentime, vector HitLoc, int damage) { if ( AnimSequence != 'Death2' ) Global.PlayTakeHit(tweentime, HitLoc, damage); } LongFall: if ( AnimSequence == 'Death2' ) { Sleep(1.5); Goto('RiseUp'); } if ( bCanFly ) { SetPhysics(PHYS_Flying); Goto('Done'); } Sleep(0.7); TweenToFighter(0.2); if ( bHasRangedAttack && (Enemy != None) ) { TurnToward(Enemy); FinishAnim(); if ( CanFireAtEnemy() ) { PlayRangedAttack(); FinishAnim(); } PlayChallenge(); FinishAnim(); } TweenToFalling(); if ( Velocity.Z > -150 ) //stuck { SetPhysics(PHYS_Falling); if ( Enemy != None ) Velocity = groundspeed * normal(Enemy.Location - Location); else Velocity = groundspeed * VRand(); Velocity.Z = FMax(JumpZ, 250); } Goto('LongFall'); RiseUp: FinishAnim(); bCanDuck = false; DesiredRotation = Rotation; Acceleration = vect(0,0,0); if ( !bFakeDeath ) Sleep(1.0 + 6 * FRand()); PlayAnim('GetUp', 0.7); FinishDodge: FinishAnim(); bCanDuck = true; Goto('Done'); } state Hunting { ignores EnemyNotVisible; function BeginState() { bCanSwim = true; Super.BeginState(); } function EndState() { if ( !Region.Zone.bWaterZone ) bCanSwim = false; Super.EndState(); } } state RangedAttack { ignores SeePlayer, HearNoise; function Bump (Actor Other) { if ( AttackSuccess || (AnimSequence != 'Lunge') ) { Disable('Bump'); return; } else LungeDamageTarget(); if (!AttackSuccess && Pawn(Other) != None) //always add momentum Pawn(Other).AddVelocity((60000.0 * (Normal(Other.Location - Location)))/Other.Mass); } function LungeDamageTarget() { If (MeleeDamageTarget(LungeDamage, (LungeDamage * 2000 * Normal(Target.Location - Location)))) { AttackSuccess = true; disable('Bump'); PlaySound(Slice, SLOT_Interact); } } function PlayRangedAttack() { local float dist; dist = VSize(Target.Location - Location + vect(0,0,1) * (CollisionHeight - Target.CollisionHeight)); if ( (FRand() < 0.7) && (dist < 180 + CollisionRadius + Target.CollisionRadius) && (Region.Zone.bWaterZone || !Target.Region.Zone.bWaterZone) ) { PlaySound(Lunge, SLOT_Interact); Velocity = 500 * (Target.Location - Location)/dist; //instant acceleration in that direction Velocity.Z += 1.5 * dist; if (Physics != PHYS_Swimming) SetPhysics(PHYS_Falling); Enable('Bump'); PlayAnim('Lunge'); } else { Disable('Bump'); PlayAnim('Firing', 1.5); } } } function PlayGreetAnim(){ PlayAnim(greetanim, 0.4 + 0.6 * FRand(), 0.2); if (greetanim=='hairflip') PlaySound(HairFlip, SLOT_Talk); else speak(); } function SpawnTwoShots() { local rotator FireRotation; local vector X,Y,Z, projStart; GetAxes(Rotation,X,Y,Z); MakeNoise(1.0); projStart = Location + 0.9 * CollisionRadius * X + 0.9 * CollisionRadius * Y + 0.4 * CollisionHeight * Z; FireRotation = AdjustAim(ProjectileSpeed, projStart, 400, bLeadTarget, bWarnTarget); If (!FireBad(vector(firerotation),projstart)) spawn(RangedProjectile,self,'',projStart, FireRotation); projStart = projStart - 1.8 * CollisionRadius * Y; FireRotation.Yaw += 400; If (FireBad(vector(firerotation),projstart)) return; spawn(RangedProjectile,self,'',projStart, FireRotation); } ///warrior only functions: function TryToDuck(vector duckDir, bool bReversed) { local vector HitLocation, HitNormal, Extent; local bool duckLeft, bSuccess; local actor HitActor; local float decision; //log("duck"); duckDir.Z = 0; duckLeft = !bReversed; Extent.X = CollisionRadius; Extent.Y = CollisionRadius; Extent.Z = CollisionHeight; HitActor = Trace(HitLocation, HitNormal, Location + 200 * duckDir, Location, false, Extent); bSuccess = ( (HitActor == None) || (VSize(HitLocation - Location) > 150) ); if ( !bSuccess ) { duckLeft = !duckLeft; duckDir *= -1; HitActor = Trace(HitLocation, HitNormal, Location + 200 * duckDir, Location, false, Extent); bSuccess = ( (HitActor == None) || (VSize(HitLocation - Location) > 150) ); } if ( !bSuccess ) return; if ( HitActor == None ) HitLocation = Location + 200 * duckDir; HitActor = Trace(HitLocation, HitNormal, HitLocation - MaxStepHeight * vect(0,0,1), HitLocation, false, Extent); if (HitActor == None) return; //log("good duck"); SetFall(); if ( duckLeft ) PlayAnim('LeftDodge', 1.35); else PlayAnim('RightDodge', 1.35); Velocity = duckDir * GroundSpeed; Velocity.Z = 200; SetPhysics(PHYS_Falling); GotoState('FallingState','Ducking'); } function bool CanFireAtEnemy() { local vector HitLocation, HitNormal,X,Y,Z, projStart, EnemyDir, EnemyUp; local actor HitActor1, HitActor2; local float EnemyDist; EnemyDir = Enemy.Location - Location; EnemyDist = VSize(EnemyDir); EnemyUp = Enemy.CollisionHeight * vect(0,0,0.9); if ( EnemyDist > 300 ) { EnemyDir = 300 * EnemyDir/EnemyDist; EnemyUp = 300 * EnemyUp/EnemyDist; } GetAxes(Rotation,X,Y,Z); projStart = Location + 0.9 * CollisionRadius * X + CollisionRadius * Y + 0.4 * CollisionHeight * Z; HitActor1 = Trace(HitLocation, HitNormal, projStart + EnemyDir + EnemyUp, projStart, true); if ( (HitActor1 != Enemy) && (Pawn(HitActor1) != None) && (AttitudeTo(Pawn(HitActor1)) > ATTITUDE_Ignore) ) return false; projStart = Location + 0.9 * CollisionRadius * X - CollisionRadius * Y + 0.4 * CollisionHeight * Z; HitActor2 = Trace(HitLocation, HitNormal, projStart + EnemyDir + EnemyUp, projStart, true); if ( (HitActor2 != Enemy) && (Pawn(HitActor2) != None) && (AttitudeTo(Pawn(HitActor2)) > ATTITUDE_Ignore) ) return false; if ( (HitActor2 == None) || (HitActor2 == Enemy) || (HitActor1 == None) || (HitActor1 == Enemy) || (Pawn(HitActor2) != None) || (Pawn(HitActor1) != None) ) return true; HitActor2 = Trace(HitLocation, HitNormal, projStart + EnemyDir, projStart , true); return ( (HitActor2 == None) || (HitActor2 == Enemy) || ((Pawn(HitActor2) != None) && (AttitudeTo(Pawn(HitActor2)) <= ATTITUDE_Ignore)) ); } function PlayCock() { PlaySound(Blade, SLOT_Interact,,,800); } function PlayPatrolStop() { local float decision; if (Region.Zone.bWaterZone) { PlaySwimming(); return; } if ( bButtonPusher ) { PushButtons(); return; } decision = FRand(); if (decision < 0.05) { SetAlertness(-0.5); PlaySound(HairFlip, SLOT_Talk); PlayAnim('HairFlip', 0.4 + 0.3 * FRand()); } else { SetAlertness(0.2); LoopAnim('Breath', 0.3 + 0.6 * FRand()); } } function PlayChallenge() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } PlayThreateningSound(); PlayAnim('Fighter', 0.8 + 0.5 * FRand(), 0.1); } function PlayRunning() { local float strafeMag; local vector Focus2D, Loc2D, Dest2D; local vector lookDir, moveDir, Y; DesiredSpeed = MaxDesiredSpeed; if (Region.Zone.bWaterZone) { PlaySwimming(); return; } if (Focus == Destination) { LoopAnim('Jog', -1.0/GroundSpeed,, 0.5); return; } Focus2D = Focus; Focus2D.Z = 0; Loc2D = Location; Loc2D.Z = 0; Dest2D = Destination; Dest2D.Z = 0; lookDir = Normal(Focus2D - Loc2D); moveDir = Normal(Dest2D - Loc2D); strafeMag = lookDir dot moveDir; if (strafeMag > 0.8) LoopAnim('Jog', -1.0/GroundSpeed,, 0.5); else if (strafeMag < -0.8) LoopAnim('Jog', -1.0/GroundSpeed,, 0.5); else { Y = (lookDir Cross vect(0,0,1)); if ((Y Dot (Dest2D - Loc2D)) > 0) { if ( (AnimSequence == 'StrafeRight') || (AnimSequence == 'StrafeRightFr') ) LoopAnim('StrafeRight', -2.5/GroundSpeed,, 1.0); else LoopAnim('StrafeRight', -2.5/GroundSpeed,0.1, 1.0); } else { if ( (AnimSequence == 'StrafeLeft') || (AnimSequence == 'StrafeLeftFr') ) LoopAnim('StrafeLeft', -2.5/GroundSpeed,, 1.0); else LoopAnim('StrafeLeft', -2.5/GroundSpeed,0.1, 1.0); } } } function PlayMovingAttack() { local float strafeMag; local vector Focus2D, Loc2D, Dest2D; local vector lookDir, moveDir, Y; if (Region.Zone.bWaterZone) { LoopAnim('SwimFire', -1.0/WaterSpeed,, 0.4); return; } DesiredSpeed = MaxDesiredSpeed; if (Focus == Destination) { LoopAnim('JogFire', -1.0/GroundSpeed,, 0.4); return; } Focus2D = Focus; Focus2D.Z = 0; Loc2D = Location; Loc2D.Z = 0; Dest2D = Destination; Dest2D.Z = 0; lookDir = Normal(Focus2D - Loc2D); moveDir = Normal(Dest2D - Loc2D); strafeMag = lookDir dot moveDir; if (strafeMag > 0.8) LoopAnim('JogFire', -1.0/GroundSpeed,, 0.4); else if (strafeMag < -0.8) LoopAnim('JogFire', -1.0/GroundSpeed,, 0.4); else { MoveTimer += 0.2; DesiredSpeed = 0.6; Y = (lookDir Cross vect(0,0,1)); if ((Y Dot (Dest2D - Loc2D)) > 0) { if ( (AnimSequence == 'StrafeRight') || (AnimSequence == 'StrafeRightFr') ) LoopAnim('StrafeRightFr', -2.5/GroundSpeed,, 1.0); else LoopAnim('StrafeRightFr', -2.5/GroundSpeed,0.1, 1.0); } else { if ( (AnimSequence == 'StrafeLeft') || (AnimSequence == 'StrafeLeftFr') ) LoopAnim('StrafeLeftFr', -2.5/GroundSpeed,, 1.0); else LoopAnim('StrafeLeftFr', -2.5/GroundSpeed,0.1, 1.0); } } } function PlayThreatening() { local float decision, animspeed; if (Region.Zone.bWaterZone) { PlaySwimming(); return; } decision = FRand(); animspeed = 0.4 + 0.6 * FRand(); if ( decision < 0.7 ) PlayAnim('Breath2', animspeed, 0.3); else if ( decision < 0.9 ) { PlayThreateningSound(); PlayAnim('Fighter', animspeed, 0.3); } else { PlaySound(HairFlip, SLOT_Talk); PlayAnim('HairFlip', animspeed, 0.3); } } function PlayVictoryDance() { PlaySound(HairFlip, SLOT_Talk); PlayAnim('HairFlip', 0.6, 0.1); } _fAO' v!;#P tao- 6-aL?- (c= !br*q!%#P c>v!; j lac=a -q!%P xu!;[r*q!%aav!;Y !b ~ f`IobZ |hAnA@u@C.[hW8[tGrt*t-ta/!0 owo*oott!oo[ott!t!/a0 [t[tt10t* Rtta p// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // PatrolKillPoint : Kills the guy who touches it (when on a patrol that is) // Note: doesn't work :(. DON'T USE! // ============================================================ class PatrolKillPoint expands PatrolPoint; var () pawn ClassToKill; //if not function Touch (actor other){ local pawn otherpawn; local scriptedpawn p; p=scriptedpawn(other); if ((p==none)||!p.IsInState('patrolling')||p.orderobject!=self) return; //kill this d00d for (otherpawn=level.pawnlist;otherpawn!=none;otherpawn=otherpawn.nextpawn) OtherPawn.Killed(p, p, ''); level.game.Killed(p, p, ''); if( p.Event != '' ) foreach AllActors( class 'Actor', other, p.Event ) other.Trigger( p, P.Instigator ); p.Weapon = None; Level.Game.DiscardInventory(p); p.Destroy(); } xAoAh Ww*Nw*H_W ~6- k mAsA[@tA},- '8Q,LwL*{L-La/!0.LR -T,LL( Q,J// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvMercRocket : use new explosion // =============================================================== class TvMercRocket expands MercRocket; auto simulated state Flying { simulated function BlowUp(vector HitLocation) { local int mult; PlaySound(ImpactSound); if (level.netmode==nm_client) return; if (instigator!=none) mult=instigator.skill*45; HurtRadius(damage, 50 + mult, 'exploded', MomentumTransfer, HitLocation); MakeNoise(1.0); } simulated function Explode(vector HitLocation, vector HitNormal) { local UT_SpriteBallExplosion s; BlowUp(HitLocation); s = spawn(class 'UT_SpriteBallExplosion',,'',HitLocation+HitNormal*10 ); s.RemoteRole = ROLE_None; Destroy(); } Begin: Sleep(7.0); //self destruct after 7.0 seconds Explode(Location,vect(0,0,0)); } PpAr1E wAkF"/"/ttt"/"/ԝX"/"/"/ {AvA`sVC |CG#L?|?,C?,C|G?,G|r*(Z?^jrh 6 ^ի?6 j6 r-  :%-- R aPa Gh'R aPahCGh'rR '%wR *P?,(Rw.R *:/.R :$(' YX>=::$Y;- Y* rY*a/!Xw*YY.Af- Y* yAI: \Z-xIa/!2"::$ -I.I A~%{e-(~%@&N& zA}A)0::$ -x -ZwZ*Za/!2.ZtY.Zn $=,$ZZ:H.A.rH* HtY.Zn $=,$.-a(((v!v!: A.BB] -8P a ! c( AB^nO r*       g"// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // WaterToggleZone : Triggering causes this zone to toggle between water and land // ============================================================ class WaterToggleZone expands ZoneInfo; var () bool bTriggerOnceOnly; //only trigger once? var bool RepWater; //replicated for client swaps replication{ reliable if (role==role_authority) RepWater; } function PreBeginPlay(){ Super.PreBeginPlay(); if (bwaterzone){ //setup other options EntrySound=Sound'UnrealShare.DSplash'; ExitSound=Sound'UnrealShare.WtrExit1'; EntryActor=Class'UnrealShare.WaterImpact'; ExitActor=Class'UnrealShare.WaterImpact'; ViewFlash=vect(-0.078000,-0.078000,-0.078000); ViewFog=vect(0.128900,0.195300,0.175780); RepWater=true; } } simulated function Trigger( actor A, pawn EventInstigator ) { If (bTriggerOnceOnly) Disable('trigger'); bWaterZone=!bwaterzone; if (bWaterZone){ //become water EntrySound=Sound'UnrealShare.DSplash'; ExitSound=Sound'UnrealShare.WtrExit1'; EntryActor=Class'UnrealShare.WaterImpact'; ExitActor=Class'UnrealShare.WaterImpact'; ViewFlash=vect(-0.078000,-0.078000,-0.078000); ViewFog=vect(0.128900,0.195300,0.175780); } else { //become air EntrySound=None; ExitSound=None; EntryActor=None; ExitActor=None; ViewFlash=vect(0,0,0); ViewFog=vect(0,0,0); } RepWater=bWaterZone; A=none; //update: ForEach ZoneActors (class'actor',A) if (A.role>=role_autonomousproxy||level.netmode==nm_standalone){ if (A.IsA('pawn')){ If (pawn(A).footregion.zone==self) pawn(A).FootZoneChange(self); If (pawn(A).Headregion.zone==self) pawn(A).HeadZoneChange(self); if (A.Region.Zone==Self) A.ZoneChange(self); } else A.ZoneChange(self); } } simulated function Tick(float delta){ if (level.netmode!=nm_client) disable('tick'); If (repwater!=bwaterzone) Trigger(self,none); } NBt  -(-'-' ?,  ?  ?Z? p$IBY6Qq-ty:NMK-m*y-.y-y.y U>o i ~<)~o G-}'R-} o Go zz-} o Go o   CBFB\w\*t!>\t\a/!.\O*.\~\\ GB\@BJ3M  ::$@`2 HB*L1ԝXԝXttttԝXԝXԝX GSB]6Z,@.M $"a/!K a JBLBb$._ X@. MBSOBN~4rN-' q!% w.N*i.NV.N-'dq!Z!s ?%a?(-w.N*r*-z.N?&O6O[ N 6[ [ [ O[ L?r.N*Y?[ N66O66OCv!  RBBJR 6B-O -5-B?6l 6l 6l paC^?,B(l wp*-O -O B?paP^?,B(l \wp*/]C]P-O -O B?:CPY]C?  gCPCB?&C?,BraP^C?X#C(l * gO-O B6HCo$q!I!b  K+$$  d j$Iv?-|d IsIa/!+Ia/!g.I-|wI$:I:$wI$$ UBQBv ,| WBY-7| $$5w* o:  g6a6d y+_AVB#'  -|(_ $uBFn&{6- FD>?aF333?a!QD>yXa!gD> N4Ma)N-|-R'-(-( }DBiV=%ii iNiN  K&U+a6- E>?UU@?UU?=a!zE?a!E? B!"U>a!tE?U>a!kE?a!qE? U?Pr*-a!M E B!"U?a!S Ea!T E ! U>a!xEaC$$! U>a!zEa!E-u( f'hB]B64ffB.`TR-B-F -w D?, @?-'K Ka$* ogGG&BKKgQ!/a0 qaQfaGG10a   `Bd37 * bB{a : *}SBDSG]}DW]Dp0D].}Dt::$ C!/a0 <{CL{e]~L%c]FppFL]DLL],]~L%c{epFLFL{Q ]~L%c]FppFL]DLL],]~L%c^{Q pFL10 aB~// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // SuperAmmoShockRifle : This is a normal SSR, only it uses ammo! // ============================================================ class SuperAmmoShockRifle expands SuperShockRifle; function PostBeginPlay(){ Super.PostBeginPlay(); if (level.game.class==class'MonsterSmash') PickUpAmmoCount=3; } function AltFire( float Value ) { if ( (AmmoType == None) && (AmmoName != None) ) { // ammocheck GiveAmmo(Pawn(Owner)); } if (AmmoType.UseAmmo(1)) Super.AltFire(Value); } function Fire( float Value ) { if ( (AmmoType == None) && (AmmoName != None) ) { // ammocheck GiveAmmo(Pawn(Owner)); } if (AmmoType.UseAmmo(1)) Super.Fire(Value); } function SetSwitchPriority(pawn Other) //uses master priority { local int i; local name temp, carried; if ( PlayerPawn(Other) != None ) { for ( i=0; i Y> Y> Y> Y> Y> Y> Y> YѸBѸB5 pwB_BOacBjBZ9-H-H7-H::$J kBiBrJ`eI-z(r%Gr,=wr*:rr  sB;<]ja!] -B'-'@? $F- ' $a!Chq!% lB^:g#P-H-z^a/!2r..^* ewi*ai$^ #..^-'..^V5..^- ..^K*r.W..^ WHCHC-z'r V%// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // SpeedSwapper : A cool little actor that when triggered will change the gamespeed/pause. FUN. // The actors event is used for when speed swaps are complete (for pauses, when it becomes unpaused again) // Note that bNet is false on default (for obvious reasons) // WARNING! Be careful to not have two of these running at once! // ============================================================ class SpeedSwapper expands Triggers; var () float Speed; //what gamespeed should it become? (0=default speed) N/A if Pause is true. var () float Time; //how long should swap take. if pause: how long is pause? (no infinite for obvious reasons :) ). //Time is absolute. INDEPENDENT of gamespeed. var () bool Pause; //pause all action? var () bool TriggerOnceOnly; //internal: var float SpeedAccel; //"acceleration" of gamespeed (increment/seconds) var float timey; //counter var pawn Instigator; //the d00d who triggered this function PreBeginPlay(){ Super.PreBeginPlay(); if (Speed==0) //default it. Speed=level.timedilation; } function TriggerOthers(){ local actor A; if (event!='') ForEach AllActors (class'actor',A,event) A.Trigger(self,Instigator); } function Timer(){ level.bPlayersOnly=false; TriggerOthers(); } function Trigger(actor Other, pawn EventInstigator) { Instigator=EventInstigator; if (Pause){ level.bplayersonly=true; SetTimer(time/level.timedilation,false); } else{ if (Time==0){ Level.TimeDilation=Speed; level.game.GameSpeed = Speed; level.game.SetTimer(Speed,true); TriggerOthers(); } else{ Enable('tick'); SpeedAccel=(Speed-level.TimeDilation)/Time*level.timedilation; timey=0; } } if (TriggerOnceOnly) Disable('trigger'); } event tick(float deltatime){ //speed stuff if (SpeedAccel==0||level.pauser!="") return; deltatime=min(deltatime,time-timey); //don't go over timey+=deltatime; //counter Level.TimeDilation+=SpeedAccel*deltatime/*Time*/; level.game.GameSpeed = Level.TimeDilation; if (timey>=time){ SpeedAccel=0; level.game.SetTimer(Level.TimeDilation,true); //gameinfo timer TriggerOthers(); } } nBYb wvYg xGnxGYI,C'ZwP*aP$k-V-H(YH,C'w`*a`$ pB@$rBJ] qB}-c  -H 5-}-\2-V-H(@\M,\!/a0 ]\w]] F,10 }$vBLhM w*Nw* `DD%$$ D?$$ B?W 6- #a!_fff > J6JJ 6J Z6ZEJJ BZJ LEBLL?a!_ > LLa!_ > L>?CE#?CZJ ?%!L !a!  ?a! =? !v !ra!r  ? a!r =? w$v6PW7$$:6- ea!zfff ? O6ON 6N j6jMON zjN PMzPL?a!z ?5HPLa!z ?5{M#?{jN ?%!L !a!L  ?a!L =?5!v !ra!v  ?5a!v =? }BmBe ^X#a!] 33?)\=aa !W  W %@yBosZ a$zBC'*EYZ8*C'x&q&u%y%,% X!'!%!q!' |F(oFX6|F(D(`&4% -q!% I B,F+GEPU?%oKB,UHU?%oI@oo  {BqH:FKp?%[IqpCq?%[?[  ~BxBU |Z-E"'#@j laa&!k=aB!"}?a!k?a!q?a> !S?a!kfff?a!qfff?a-'q!% SBmqPVB--F  -B D?%KBa!e  v-E" :R,R=:R&q!U q!Z!s  BCBxMS-B33?"B?r-B -w^@?,Trr@?t 6-a!|BL> b?33> ~a!UBL>k X%ar"$a!WBL> x Mf(&x ?%x  @C\N=;!/a0 \:\ R10 HCUBDRB@R:t!?:t! aB&$ AC-!f- (N CCEC&RD,A-G,- 'aw(w?%x x  ax 'Nu!Qx wN-E,v! D,s${6x6SdU6- 0-a ^ L>a!>? DCp<%Q?%{ p?DpDwNNpQpNwQa'N KCTl6J\9!a6\ ,X}a-6\X,X}6\,XXj9\T?jw*6T6 ?Fq@j TX& X, X,hgl$!Wa !ի?hիL>?X>ga !ի?hի=?X=g!aXrF* [-t wF*F-:/.F:$ -a x* @j ?, Pj  rFa  @j ?, Pj wF wFF*, @@Fj!Ka  @j ?,  _7D {%w \ h*X,y. V,UO,-F'y~Hq!M +UM:8-+z8wz*za/!2.z =:$:@-Uwzzzzw!!b a/!2.b  =:$:@-Uwb b b b wzz `CTk Eb?TSV(իfff?Tի>S\~- - ~9\ -o::$   O.a!\"wO*OHB- wO*O?.O OO 9O 6O -O ? UoBGCt@MCOPԝX Q$>T$L>jLCJCPCI%@QC"k97Oa/!2M:.O ,O ONCOCWCl3UC,LM'~+ ~+ICB7MTCXCX1M(j* j*h_i*bw Vs-Q:b &bG-GbG-G(bG-](b @-Q-k*-Qb $b $b b b b  B // ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TDChest : destroys when touched // ============================================================ class TDChest expands Chest; function Bump( actor Other ) { local float speed, oldZ; if (other.isa('pawn')&&pawn(other).bisplayer){ Instigator = pawn(other); TakeDamage( 1000, Instigator, Location, Vect(0,0,1)*900,'exploded' ); PlaySound (Sound(DynamicloadObject("AmbAncient.tilehit4",class'Sound')),SLOT_Interact); } else super.Bump(Other); } \)\CZISl-i*U iwU *RU a/!2w .U -ZU U aa/!2w .a-Z fCRoAr*(!?%(@L>=( ?UP Rf D?6U?6f   f (kL?UP ի?,> Rf D?6U?6kf > f (wa\)F) R(*(' i_CdCI.$@eC+86sa/!2I:.s &s s nCbC`=_  p_ n#fff?p?,_ ?,_ pn?,npgfA)Aիfff?gի?fSaihA_ nA'QrS* rS)w.S*:/.S:$'SaihA_ A'rS* rS)w.S*:/.S:$ cCkCi<#iC5I'{- {-y// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVPulseGun : New projectiles. // only made a new weapon however for the new skin. (no other way do to replication) // =============================================================== class TVPulseGun expands OSPulseGun; #exec TEXTURE IMPORT NAME=TVPulseGunSkin FILE=Pulse\JPulseGun_02.pcx GROUP=Skins LODSET=2 #exec TEXTURE IMPORT NAME=TVMuzzyPulse FILE=Pulse\MuzzyPulse.PCX GROUP=Skins simulated event RenderOverlays( canvas Canvas ) { multiskins[1]=texture'Botpack.Ammocount.Ammoled'; //swap skin so it is displayed only in 1st person Super.RenderOverlays(Canvas); multiskins[1]=default.MultiSkins[1]; } function float SuggestAttackStyle() { local float EnemyDist; if (Pawn(Owner).Enemy==none) return 0; return Super.SuggestAttackStyle(); } hClCX:I(D/ D/AN7E X#A!we *e :  oCut6<}-d?"d?uE!Y uL>aC&$nu>a!Sd{a!Y d }Cl;?+?a%$a!L?==a!ZL?> wM -wj L$zCmCl\H sCw-ItCyCv *`w-v-!^%#r*-w8v-x- FQ7iwm *m - {m b  -F(p&-Hq!rm *m .5 \ 5 |+z$*[?Bd,B{ B{BBz$:z,:z_a N:z_bz:z_BBz[V  vCg*X&'%w*-w8g*f* }R7a%cA 9"a%!]a&!f ?7}a%_$h% S7t-V B% d |+@B{ Ba+pB^w*a> a=@PV.B{{B6lB"FB6lt-y-6l,z Br$:r,D :r_BPD :r_vP:r_ a c \ Bd :r_ qd :r_ j lr $ $6d ? $6d ? r  AD|C_{:*a!u333?=a $@ `Ck|`exit|`quit|`debug gpfZWarning: map author is a moron!-t'ZN @`zZ -t w.N*N ZwZ N CD@Dk|9*a!w333?=a$@  EDBDjva9*a!f333?=a $@ B {Cksb*-Wv u>u>?Gpk?Gckkk@\?%.G6,% -}vvaYqv@pk-}' ?%G6,% -}vvaqv@pk-}' qvpk-}(B?%qBck?d{?%qBck?dqBck:%K D?K ?,kD:%K D?,kB k  GDo$Ea6V,o$!h ?-Ca  #L?a<" @wC*C CAC 6C 6C 6a!a333?=X%>a!w333?=a$@  IDFDhY6*a!Y333?=a $@  ]CT:}BHDD_ DԝXt JDlO5.6- a&!1> KDQn5c36- QD?>aQ>a!D>Qff>a!xD>XQff&?a&!g>QY?a!tD>a!kD>  PDh#0D-B -w>@?,W DTe6-a!| >L>w* ? ~a%!ma!ka!k?L=X%ar"$a%!ma![ a![ ?L= y$?-T -DA<y=::$v! LDGw ;/a0 G87w.G*hG0 10 MDH(AKrh*w P-T F-Q wh*h` -Q( -Qzwh*` h-Q'= H-zH?AH<u-=fff?A<yA<y-z(**A<H A<H -z'Iwh*hA ]DNDQ/a&!y= i5`({p.`(\?,- -\ |-G-UV?\Successfully bound level information!3 TDC/INZUDZDv ^C/e*U%#-T -D8e*d* ^a(De^%U^,0^D %U?^D ?,  bY U x?Y `  @Y _  @@Y t @Y  @Y g @Y f @Y k AY Y  rY ^D ,^D ?, ?^D ?,   [  ? [ Z @ [ e @@ [  @ [  +@ [ w J@ [  i@ [  A [  A [ o ]T r]*NOT ENOUGH PLAYERSTARTS TO SPAWN INCOMING FRIENDLY CREATURES!!!!!!!!3(FaY !p] ] +wF*-}'Fa/!g^D ?, ?^D ?,  .F4  ?.F4 Z @.F4 e +@@.F4  O@.F4  s@.F4 w @.F4  @.F4  A.F4  A.F4 o K^D , %F^D , Fa/!H.FFm^Dn{^DnF^Dn{FFF  FIFV^D `?%F^D `:^Da%F^Da稨pppFollowerF (VY) spawned withSFhealth.!3r AF OD(F-G'KFailed to spawnVY!3^^%^,^D %^\ [ Z-} WDb*XZ[%#-T -D8b*a* NDDV{)}BV[VV V u[U} `^uUQQU ?, QU D<?, ?, ' fD`/a&!yL? 4DC4B߆D@ =00t8pQpP4#p!H4X4PP4֨pS| O4a_4W4`00*`| W]PO~v@ 8Hzv 8WF(iW/T< ttE =>AZ =4DC4B߆D =4DC4B߆D0>>>??0    ,T( -/ &)'## , (')0+!&** %%$ $.   " T2C7@?A?"A"?=?>="KA@A>?@>QR"Q"=Q=SG"G2G2MHLHIKFA3'64353D5D36D5D634NE4N45'3 33 K'PKPFK6'K"JKJ66J5MN5M;8<:;<2TO2OB2BC"GJ:278:7N29N9<2NMN<E;:8!>F=0= F'=F 111 E7=00AF>E87<8E4E%RS  $.7.7/&(/(+ /+ +-.#& -&-(CO,*)U  !#$ & ()*+,( '.898;80>>@>B37=HI"L2B'QTU/0C@STEbl44^ܜRS_&,0@`aJR_&>Mn&, w 3 4^ h > YNL|lhiI=?kl J=?lJ q5!r3"#WN$N%%&\&'s(([)Ws*jV+h,3-;.1/iW@0?? >e `D {w{*e !>{e {a/!a.U{-U#'-c*.{!r{*{q!{{ aD{i// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TDSmallWoodBox : balh // ============================================================ class TDSmallWoodBox expands TDWoodenBox; P8sFnO,s%s,~sEACTIVATETRANSLATOR{{vvpv,s vs ~sENEXTWEAPON{mmpm,s ms y~sEPREVWEAPON_{llpl,s yls so%~Hp%. @Vpppppp,Uv%Yl,Ym, Y-F'm .5 \ 5l~Hq!u /a0 <E !{kE  k10 `7z+BUz B[ n[M[ [y$w:y,M:y_ c Uy>D BH H  BM?z+B{ B lDiDeO/a&!OL> `*hDFDw*-{+a/!:g :$.-G(.-R(-v.z a/!2.\z q!K-.O*.-R'.-G:g :$q! z kDN/a&!O33> GbD{BjDkOGY a"j"y$?c$?D$hAF$PAZ$AnD.a!d > yK4k7Z 5H w * F- ::$o-,K$?'D?w*:%b=<e- ::$ w*l6Aw w* o$ pDF'&R.+)!d -a&!dF' ~vDg-.6- a!1L? A9~sDgwg*gv+ga/!H.FgP~$x+'w+gI!.FgEI!zV (-u+S %wS *S a/!2.S PV~S S {gw.FgL*Oa j O.gIO VO.FgLO@@~gg tDge// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TDMedWoodBox : balh // ============================================================ class TDMedWoodBox expands TDWoodenBox; wDW,k?*6- Ua!B > a!Bn > yD]!m ,3$6-&]! a&!]! GuD~BxDjGY a"j"y$?c$333?D$ffAF$AZ$AzDUh +K$6-&U <-sa&!M U a&!U {Dk!U`*3$6-&k! a&!1k! |Dn!mE)g-Q(-l(-s(<6-&n! e!B -a&!Bn! }Du!cT(K-Q(-l(-s(<6-&u! a&!gu! ~D] ( &L> Dtx&r6- 7e a&!I = X^?a!t333?L>pa!k333?L> @Efs&+ K&SmL&-u'+ N // ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TDWoodenBox : destroys when touched // ============================================================ class TDWoodenBox expands WoodenBox; function Bump( actor Other ) { local float speed, oldZ; if (other.isa('pawn')&&pawn(other).bisplayer){ Instigator = pawn(other); TakeDamage( 1000, Instigator, Location, Vect(0,0,1)*900,'exploded' ); PlaySound (Sound(DynamicloadObject("AmbAncient.tilehit4",class'Sound')),SLOT_Interact); } else super.Bump(Other); } CEI "p-'I ,w*-'aI  +>af%$>?, |XI ~>ad%$>?, |XI ?ac%$>?, |XI *?ab%$>?, |X5I }?U?a`%$>?, |Xa^%$>?, |=>  GEZ%zH5Z%-w*- B!" e$ * DEFE$ek-JY#eeQ Q Y#N/a3 Tgfw.T*.Tm10w.f"*.f"m f" HEq[pB!6q- ?"n_w.Uq*.UqB!q"  a$];3>-(0w*-(9" LE|$N," -B|$Y$K% EEKEX4(&w.`#*.`#m' `#NEs  % w-B[-F 6-6%Ku-B? D?D?%$@?,?,T? JEF:;sFa/!0 &ze Hv!Nv!N-}(|?%uI| Iw..F*~..FVr~* -}~-U ' ~-Z '2-}.F Z"K.F c"~ i e-}'aK$ TETb $- (-( $@-B(`6- MEPEE] `^w~*<I=~n^~-Z (~-U ( UEM 4a@G# $n.s xa !::$ Fw*m#D?,-HB?m#!a?n.b? [EL%PB k!``@?6o;``` #<a $`q!I!\ !B  !G `6`o<``6-a $A`q!I!c L% @$Kb -B L@?%D@?,@`D?,q!e   REr#G Fsr#z#a  !r#s-?, z#$a |7VE]EM 4a@G# $r-s xa !::$ Fw*o!D?,-HB?o!!a?r-b? ~7NB ^EJt 46-o$22::$o$  ZEuG Fsuka  !up-?, k$a  `Ex'Al5 Ah  x'?-B ?%h = }eET%cA&$!`8cT%Q%O% dE[$BbL An[$?-B ?%n= gEM(4a@G# $X )a '::$b? bEb[l_]wbZ::$G$@Fb *Do-G$!ua fEJ{T \-J-6J-?OO::$J  Y%P@xk!` @?6o;    #<a $ q!I!\v Y% NlEMFh -'|?@?NH-F -F  @?&--F |--L>>-33? cE._a aL>(!::$ Jw.*.9 iEM4a@@G# $n-G[$::$ ?b?F$a  n-o.?, F$$a |// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // ScriptedHuman : A Scripted Pawn human. Can be follower, or enemy (evil=true) // =============================================================== class ScriptedHuman expands WeaponHolder abstract; //variables: //mapper: var () texture FollowerIcon; var () class Voice; var () texture SpeechFaces[6]; var () float SpeechFaceTime; //internal: var float SpeechTimeCur; var texture NoSpeakFace; var int numSpeechFaces; var int CurFace; var float CanSpeakTime; var string DefaultSkinName; var string DefaultPackage; //mapper can set these sounds: var(Sounds) sound drown; var(Sounds) sound Footstep1; var(Sounds) sound Footstep2; var(Sounds) sound Footstep3; var(Sounds) sound HitSound3; var(Sounds) sound HitSound4; var(Sounds) Sound Deaths[6]; var(Sounds) sound UWHit1; var(Sounds) sound UWHit2; var(Sounds) sound LandGrunt; var(Sounds) sound JumpSound; //insane method of copying over skins and texture. bah and pah function bool DoTravel(tvplayer Traveler, int ArrayNum){ if (Super.DoTravel(Traveler,ArrayNum)){ Traveler.friendlynames[ArrayNum]=Myname$chr(17)$string(mesh)$ chr(17)$string(multiskins[0])$chr(17)$string(multiskins[1])$chr(17)$string(multiskins[2]) $chr(17)$string(multiskins[3])$chr(17)$string(FollowerIcon)$chr(17)$string(Voice); return true; } } function CutInfo(out string Info, out int i){ Info=mid(Info,i+1); i=instr(Info,chr(17)); } //decodes the following thing set above: function ParseSkinInfo(string Info){ local int i, j; i=instr(Info,chr(17)); MenuName=left(Info,i); CutInfo(Info,i); mesh=Mesh(DynamicLoadObject(left(Info,i),class'mesh')); for (j=0;j<4;j++){ CutInfo(Info,i); Multiskins[j]=Texture(DynamicLoadObject(left(info,i),class'Texture',true)); } CutInfo(Info,i); FollowerIcon=Texture(DynamicLoadObject(left(info,i),class'Texture')); CutInfo(Info,i); Voice=class(DynamicLoadObject(info,class'class')); } //AI/speech stuff function PostBeginPlay(){ Super.PostBeginPlay(); while (Speechfaces[numSpeechFaces]!=none) numSpeechFaces++; if (Voice==none) Voice=default.Voice; NoSpeakFace=multiskins[3]; SpeechTimeCur=SpeechFaceTime; } //voice pack play control: 0=taunt, 1=friendly fire, 2=other function PlayVoice(int Mode, int Num, optional bool bImportant){ local sound ToPlay; if (!bImportant&&CanSpeakTime>level.timeseconds) return; if (Num==-1){ if (Mode==0) Num=rand(Voice.default.numTaunts); else if (mode==1) Num=rand(Voice.default.numFFires); else Num=rand(17); } if (Mode==0) ToPlay=voice.default.TauntSound[Num]; else if (mode==1) ToPlay=voice.default.FFireSound[Num]; else ToPlay=voice.default.OtherSound[Num]; PlaySound(ToPlay, SLOT_Talk); if (level.netmode!=nm_standalone) //replication would screw up return; CanSpeakTime=GetSoundDuration(ToPlay)+level.timeseconds; SpeechTimeCur=SpeechFaceTime; SpeechTimer(); //move mouth now } function Scream ( sound InScream, optional ESoundSlot Slot, optional float Volume, optional bool bNoOverride, optional float Radius, optional float Pitch ){ CanSpeakTime=level.timeseconds+GetSoundDuration(InScream); SpeechTimer(); speechtime=GetSoundDuration(InScream); if (Volume==0) Volume=16; if (Radius==0) Radius=1600; PlaySound(InScream, Slot,Volume); if (Pitch>0) PlaySound(InScream, Slot,Volume, bNoOverride,Radius,Pitch); else // PlaySound(InScream, Slot,Volume, bNoOverride,Radius); PlaySound(InScream, Slot,Volume); } //controls face altering: function SpeechTimer() { local float i; if (NumSpeechFaces==0) return; if (CanSpeakTime<=level.timeseconds) multiskins[3]=NoSpeakFace; else{ if (numSpeechFaces!=1){ i=frand()*(NumSpeechFaces-1); if (i>CurFace) i+=1; CurFace=int(i); } multiskins[3]=SpeechFaces[CurFace]; SpeechTime=SpeechTimeCur; } } //for ducking: simulated function bool AdjustHitLocation(out vector HitLocation, vector TraceDir) { local float adjZ, maxZ; TraceDir = Normal(TraceDir); HitLocation = HitLocation + 0.5 * CollisionRadius * TraceDir; if ( BaseEyeHeight == Default.BaseEyeHeight ) return true; maxZ = Location.Z + BaseEyeHeight + 0.25 * CollisionHeight; if ( HitLocation.Z > maxZ ) { if ( TraceDir.Z >= 0 ) return false; adjZ = (maxZ - HitLocation.Z)/TraceDir.Z; HitLocation.Z = maxZ; HitLocation.X = HitLocation.X + TraceDir.X * adjZ; HitLocation.Y = HitLocation.Y + TraceDir.Y * adjZ; if ( VSize(HitLocation - Location) > CollisionRadius ) return false; } return true; } //Animations and sounds: function PlayDodge(bool bDuckLeft){ if ( bDuckLeft ) TweenAnim('DodgeL', 0.25); else TweenAnim('DodgeR', 0.25); } function PlayWaiting() { local name newAnim; if ( Physics == PHYS_Swimming ) { BaseEyeHeight = 0.7 * Default.BaseEyeHeight; if ( (Weapon == None) || (Weapon.Mass < 20) ) LoopAnim('TreadSM'); else LoopAnim('TreadLG'); } else { BaseEyeHeight = Default.BaseEyeHeight; if ( (Weapon != None) && Weapon.bPointing ) { if ( Weapon.bRapidFire && ((bFire != 0) || (bAltFire != 0)) ) LoopAnim('StillFRRP'); else if ( Weapon.Mass < 20 ) TweenAnim('StillSMFR', 0.3); else TweenAnim('StillFRRP', 0.3); } else { if ( FRand() < 0.1 ) { if ( (Weapon == None) || (Weapon.Mass < 20) ) PlayAnim('CockGun', 0.5 + 0.5 * FRand(), 0.3); else PlayAnim('CockGunL', 0.5 + 0.5 * FRand(), 0.3); } else { if ( (Weapon == None) || (Weapon.Mass < 20) ) { if ( (FRand() < 0.75) && ((AnimSequence == 'Breath1') || (AnimSequence == 'Breath2')) ) newAnim = AnimSequence; else if ( FRand() < 0.5 ) newAnim = 'Breath1'; else newAnim = 'Breath2'; } else { if ( (FRand() < 0.75) && ((AnimSequence == 'Breath1L') || (AnimSequence == 'Breath2L')) ) newAnim = AnimSequence; else if ( FRand() < 0.5 ) newAnim = 'Breath1L'; else newAnim = 'Breath2L'; } if ( AnimSequence == newAnim ) LoopAnim(newAnim, 0.4 + 0.4 * FRand()); else PlayAnim(newAnim, 0.4 + 0.4 * FRand(), 0.25); } } } } function PlayLookAround() { PlayAnim('Look', 0.3 + 0.7 * FRand(), 0.1); } function PlayPatrolStop() { PlayLookAround(); } simulated function PlayFootStep() { local sound step; local float decision; if ( FootRegion.Zone.bWaterZone ) { PlaySound(sound 'LSplash', SLOT_Interact, 1, false, 1500.0, 1.0); return; } // step=GetTexSound(); if (TvPawnShadow(Shadow)!=none&&TvPawnShadow(Shadow).NumSounds!=0) Step=TvPawnShadow(Shadow).CurFootSound[rand(TVPawnshadow(shadow).NumSounds)]; if (step==none){ decision = FRand(); if ( decision < 0.34 ) step = Footstep1; else if (decision < 0.67 ) step = Footstep2; else step = Footstep3; } PlaySound(step, SLOT_Interact, 2.2, false, 1000.0); } function PlayWaitingAmbush() { PlayWaiting(); } function PlayDive() { TweenToSwimming(0.2); } function TweenToPatrolStop(float tweentime) { TweenToWaiting(tweentime); } function TweenToFighter(float tweentime) { TweenToWaiting(tweentime); } function TweenToWalking(float tweentime) { if ( Physics == PHYS_Swimming ) { if ( (vector(Rotation) Dot Acceleration) > 0 ) TweenToSwimming(tweentime); else TweenToWaiting(tweentime); } BaseEyeHeight = Default.BaseEyeHeight; if (Weapon == None) TweenAnim('Walk', tweentime); else if ( Weapon.bPointing ) { if (Weapon.Mass < 20) TweenAnim('WalkSMFR', tweentime); else TweenAnim('WalkLGFR', tweentime); } else { if (Weapon.Mass < 20) TweenAnim('WalkSM', tweentime); else TweenAnim('WalkLG', tweentime); } } function TweenToRunning(float tweentime) { local name newAnim; if ( Physics == PHYS_Swimming ) { if ( (vector(Rotation) Dot Acceleration) > 0 ) TweenToSwimming(tweentime); else TweenToWaiting(tweentime); return; } BaseEyeHeight = Default.BaseEyeHeight; if (Weapon == None) newAnim = 'RunSM'; else if ( Weapon.bPointing ) { if (Weapon.Mass < 20) newAnim = 'RunSMFR'; else newAnim = 'RunLGFR'; } else { if (Weapon.Mass < 20) newAnim = 'RunSM'; else newAnim = 'RunLG'; } if ( (newAnim == AnimSequence) && (Acceleration != vect(0,0,0)) && IsAnimating() ) return; TweenAnim(newAnim, tweentime); } function PlayWalking() { if ( Physics == PHYS_Swimming ) { if ( (vector(Rotation) Dot Acceleration) > 0 ) PlaySwimming(); else PlayWaiting(); return; } BaseEyeHeight = Default.BaseEyeHeight; if (Weapon == None) LoopAnim('Walk'); else if ( Weapon.bPointing ) { if (Weapon.Mass < 20) LoopAnim('WalkSMFR'); else LoopAnim('WalkLGFR'); } else { if (Weapon.Mass < 20) LoopAnim('WalkSM'); else LoopAnim('WalkLG'); } } function PlayMovingAttackAnim(){ PlayRunning(); } function PlayFiring() { // switch animation sequence mid-stream if needed if ( GetAnimGroup(AnimSequence) == 'MovingFire' ) return; else if (AnimSequence == 'RunLG') AnimSequence = 'RunLGFR'; else if (AnimSequence == 'RunSM') AnimSequence = 'RunSMFR'; else if (AnimSequence == 'WalkLG') AnimSequence = 'WalkLGFR'; else if (AnimSequence == 'WalkSM') AnimSequence = 'WalkSMFR'; else if ( AnimSequence == 'JumpSMFR' ) TweenAnim('JumpSMFR', 0.03); else if ( AnimSequence == 'JumpLGFR' ) TweenAnim('JumpLGFR', 0.03); else if ( (GetAnimGroup(AnimSequence) == 'Waiting') || (GetAnimGroup(AnimSequence) == 'Gesture') && (AnimSequence != 'TreadLG') && (AnimSequence != 'TreadSM') ) { if ( Weapon.Mass < 20 ) TweenAnim('StillSMFR', 0.02); else if ( !Weapon.bRapidFire || (AnimSequence != 'StillFRRP') ) TweenAnim('StillFRRP', 0.02); else if ( !IsAnimating() ) LoopAnim('StillFRRP'); } } function PlayFlip() { PlayAnim('Flip', 1.35 * FMax(0.35, Region.Zone.ZoneGravity.Z/Region.Zone.Default.ZoneGravity.Z), 0.06); } function PlayRunning() { local float strafeMag; local vector Focus2D, Loc2D, Dest2D; local vector lookDir, moveDir, Y; local name NewAnim; if ( Physics == PHYS_Swimming ) { if ( (vector(Rotation) Dot Acceleration) > 0 ) PlaySwimming(); else PlayWaiting(); return; } BaseEyeHeight = Default.BaseEyeHeight; if ( Focus != Destination ) { // check for strafe or backup Focus2D = Focus; Focus2D.Z = 0; Loc2D = Location; Loc2D.Z = 0; Dest2D = Destination; Dest2D.Z = 0; lookDir = Normal(Focus2D - Loc2D); moveDir = Normal(Dest2D - Loc2D); strafeMag = lookDir dot moveDir; if ( strafeMag < 0.75 ) { if ( strafeMag < -0.75 ) LoopAnim('BackRun'); else { Y = (lookDir Cross vect(0,0,1)); if ((Y Dot (Dest2D - Loc2D)) > 0) LoopAnim('StrafeL'); else LoopAnim('StrafeR'); } return; } } if (Weapon == None) newAnim = 'RunSM'; else if ( Weapon.bPointing ) { if (Weapon.Mass < 20) newAnim = 'RunSMFR'; else newAnim = 'RunLGFR'; } else { if (Weapon.Mass < 20) newAnim = 'RunSM'; else newAnim = 'RunLG'; } if ( (newAnim == AnimSequence) && IsAnimating() ) return; LoopAnim(NewAnim); } function TweenToWaiting(float tweentime) { if ( Physics == PHYS_Swimming ) { BaseEyeHeight = 0.7 * Default.BaseEyeHeight; if ( (Weapon == None) || (Weapon.Mass < 20) ) TweenAnim('TreadSM', tweentime); else TweenAnim('TreadLG', tweentime); } else { BaseEyeHeight = Default.BaseEyeHeight; if ( Enemy != None ) ViewRotation = Rotator(Enemy.Location - Location); else { if ( GetAnimGroup(AnimSequence) == 'Waiting' ) return; ViewRotation.Pitch = 0; } ViewRotation.Pitch = ViewRotation.Pitch & 65535; If ( (ViewRotation.Pitch > RotationRate.Pitch) && (ViewRotation.Pitch < 65536 - RotationRate.Pitch) ) { If (ViewRotation.Pitch < 32768) { if ( (Weapon == None) || (Weapon.Mass < 20) ) TweenAnim('AimUpSm', 0.3); else TweenAnim('AimUpLg', 0.3); } else { if ( (Weapon == None) || (Weapon.Mass < 20) ) TweenAnim('AimDnSm', 0.3); else TweenAnim('AimDnLg', 0.3); } } else if ( (Weapon == None) || (Weapon.Mass < 20) ) TweenAnim('StillSMFR', tweentime); else TweenAnim('StillFRRP', tweentime); } } function PlayChallenge() { if (Region.Zone.bWaterZone || FRand() < 0.3 ) PlayWaiting(); else TweenToFighter(0.1); } function PlayVictoryDance(){ local float Decision; local name Sequence; if (ScriptedPawn(Target)==none||!ScriptedPawn(Target).bIsBoss) PlayVoice(0,-1); else PlayVoice(2,16,true); Decision=frand(); if (Decision<0.34) Sequence='victory1'; else if (Decision<0.67) Sequence='taunt1'; else Sequence='thrust'; PlayAnim(Sequence, 0.7); } function PlaySwimming() { BaseEyeHeight = 0.7 * Default.BaseEyeHeight; if ((Weapon == None) || (Weapon.Mass < 20) ) LoopAnim('SwimSM'); else LoopAnim('SwimLG'); } function TweenToSwimming(float tweentime) { BaseEyeHeight = 0.7 * Default.BaseEyeHeight; if ((Weapon == None) || (Weapon.Mass < 20) ) TweenAnim('SwimSM',tweentime); else TweenAnim('SwimLG',tweentime); } function PlayGreetAnim(){ if (greetanim=='Wave'&&weapon!=none&&weapon.mass>19&&hasanim('WaveL')) //allow large weapon holding wave anim! Playanim ('WaveL',0.5+0.4*frand(),0.2); else Playanim (greetanim,0.5+0.4*frand(),0.2); if (bShouldWait) PlayVoice(2,9,true); //got point else if (frand()<0.5) PlayVoice(2,3,true); //got back else PlayVoice(2,15,true); //got covered } function PlayOutOfWater() { PlayDuck(); } function PlayDuck() { BaseEyeHeight = 0; if ( (Weapon == None) || (Weapon.Mass < 20) ) TweenAnim('DuckWlkS', 0.25); else TweenAnim('DuckWlkL', 0.25); } function TweenToFalling() { if ( (Velocity.Z > 300) && (MoveTarget != None) && ((FRand() < 0.13) || ((Region.Zone.ZoneGravity.Z > Region.Zone.Default.ZoneGravity.Z) && (FRand() < 0.2))) && (VSize(Destination - Location) > 160) && ((Vector(Rotation) Dot (Destination - Location)) > 0) ) PlayFlip(); } function PlayInAir() { local float TweenTime; BaseEyeHeight = 0.7 * Default.BaseEyeHeight; if ( GetAnimGroup(AnimSequence) == 'Jumping' ) { if ( (Weapon == None) || (Weapon.Mass < 20) ) TweenAnim('DuckWlkS', 2); else TweenAnim('DuckWlkL', 2); return; } else if ( GetAnimGroup(AnimSequence) == 'Ducking' ) TweenTime = 2; else TweenTime = 0.7; if ( (Weapon == None) || (Weapon.Mass < 20) ) TweenAnim('JumpSMFR', TweenTime); else TweenAnim('JumpLGFR', TweenTime); } function PlayLanded(float impactVel) { impactVel = impactVel/JumpZ; impactVel = 0.1 * impactVel * impactVel; BaseEyeHeight = Default.BaseEyeHeight; if ( !FootRegion.Zone.bWaterZone && (impactVel > 0.01) ) Scream(Land, SLOT_Interact, FClamp(4 * impactVel,0.2,4.5), false,1600, 1.0); if ( impactVel > 0.17 ) Scream(LandGrunt, SLOT_Talk, FMin(4, 5 * impactVel),false,1600,FRand()*0.4+0.8); if ( (impactVel > 0.06) || (GetAnimGroup(AnimSequence) == 'Jumping') ) { if ( (Weapon == None) || (Weapon.Mass < 20) ) TweenAnim('LandSMFR', 0.12); else TweenAnim('LandLGFR', 0.12); } else if ( !IsAnimating() ) { if ( GetAnimGroup(AnimSequence) == 'TakeHit' ) AnimEnd(); else { if ( (Weapon == None) || (Weapon.Mass < 20) ) TweenAnim('LandSMFR', 0.12); else TweenAnim('LandLGFR', 0.12); } } } function PlayThreatening() //um.. probably never even used { PlayWaiting(); } function PlayAcquisitionSound() { PlayVoice(2,14,true); //incoming/take down } function PlayFearSound() { PlayVoice(2,13); //need backup } function PlayRoamingSound() { Scream(Roam,Slot_talk,,true); } function PlayThreateningSound() { PlayAcquisitionSound(); } function damageAttitudeTo(pawn Other) //overload for FF stuff. { if ( other.bisplayer && IsFriend() && Level.TimeSeconds - LastPainSound >= 0.25 && frand()<0.5*float(enemy==none)+0.2){ PlayVoice(1,-1,true); LastPainSound = CanSpeakTime; } Super.DamageAttitudeTo(other); } function PlayTakeHitSound(int damage, name damageType, int Mult) { if ( Level.TimeSeconds - LastPainSound < 0.25 ) return; LastPainSound = Level.TimeSeconds; if ( HeadRegion.Zone.bWaterZone ) { if ( damageType == 'Drowned' ) Scream(drown, SLOT_Pain, 12); else if ( FRand() < 0.5 ) Scream(UWHit1, SLOT_Pain,16,,,Frand()*0.15+0.9); else Scream(UWHit2, SLOT_Pain,16,,,Frand()*0.15+0.9); return; } damage *= FRand(); if (frand()<0.2){ if ((enemy!=none&&oldenemy!=none)||damage>20) PlayVoice(1,6); //heavy attack else PlayVoice(1,4); //I'm hit LastPainSound=CanSpeakTime; } if (damage < 8) Scream(HitSound1, SLOT_Pain,16,,,Frand()*0.2+0.9); else if (damage < 25) { if (FRand() < 0.5) Scream(HitSound2, SLOT_Pain,16,,,Frand()*0.15+0.9); else Scream(HitSound3, SLOT_Pain,16,,,Frand()*0.15+0.9); } else Scream(HitSound4, SLOT_Pain,16,,,Frand()*0.15+0.9); } function PlayDyingSound() { local int rnd; if ( HeadRegion.Zone.bWaterZone ) { if ( FRand() < 0.5 ) Scream(UWHit1, SLOT_Pain,16,,,Frand()*0.2+0.9); else Scream(UWHit2, SLOT_Pain,16,,,Frand()*0.2+0.9); return; } rnd = Rand(6); Scream(Deaths[rnd], SLOT_Talk, 16); Scream(Deaths[rnd], SLOT_Pain, 16); } state TakeHit { ignores seeplayer, hearnoise, bump, hitwall; function Timer() { bReadyToAttack = true; } } J8t;B@R:A?:A aO$ OnE|>O" w#G KHC!a?w#i#a  w#i#$a | sEY9A| -BT i#mEuEM%i4a@G# $K$[;9r.K$* wK$Gt.# UJF`a4:,`a/!a`a/!r(U` qF. u! rE.Nu -)\=+>a C::$ 9C> { W)*- (  vE{EN,K+b:MwbK::$b-Y?b ]::$ ::$a  @*- (ba/!0.b ]!ya "xE|E*'@o$l-66333?  }E~El-W8AFhj5!> EfE>a$@?DE?a $@?DE@?aT'$@?DaO'$@?D N8sE// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TVHUDConfig : Configures the operation: Na Pali HUD (in normal preferences menu under HUD) // =============================================================== class TVHUDConfig expands oldskoolHUDConfig; var uwindowcheckbox ShowHUD; function Created() { local int ControlWidth, ControlLeft, ControlRight, controloffset; local int CenterWidth, CenterPos; local int I, S; Super(umenupagewindow).Created(); ControlWidth = WinWidth/2.5; ControlLeft = (WinWidth/2 - ControlWidth)/2; ControlRight = WinWidth/2 + ControlLeft; CenterWidth = (WinWidth/4)*3; CenterPos = (WinWidth - CenterWidth)/2; DesiredWidth = 220; controloffset=50; //TalkTexture showtalktex = UWindowCheckBox(CreateControl(class'UWindowCheckBox', CenterPos, controloffset, centerwidth, 1)); showtalktex.SetText("Show talktexture"); showtalktex.SethelpText("If checked, the talktexture of players will appear in the HUD, when messages are sent."); showtalktex.SetFont(F_Normal); showtalktex.bChecked = oldskoolbasehud(GetPlayerOwner().myHUD).showtalkface; controloffset+=25; //Hide HUD ShowHUD = UWindowCheckBox(CreateControl(class'UWindowCheckBox', CenterPos, controloffset, centerwidth, 1)); ShowHUD.SetText(class'UTChallengeHUDConfig'.default.ShowHUDText); ShowHUD.SethelpText(class'UTChallengeHUDConfig'.default.ShowHUDHelp); ShowHUD.SetFont(F_Normal); ShowHUD.bChecked = !TVHUD(GetPlayerOwner().myHUD).bHideHUD; controloffset+=25; // Crosshair CrosshairSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', CenterPos, controloffset, CenterWidth, 1)); CrosshairSlider.SetRange(0, class'ChallengeHUD'.default.CrossHairCount, 1); CrosshairSlider.SetValue(TVHUD(Root.Console.ViewPort.Actor.myHUD).tvCrosshair); CrosshairSlider.SetText(CrosshairText); CrosshairSlider.SetHelpText(CrosshairHelp); CrosshairSlider.SetFont(F_Normal); controloffset+=25; DesiredHeight = ControlOffset + 70; } function BeforePaint(Canvas C, float X, float Y) { local int ControlWidth, ControlLeft, ControlRight; local int CenterWidth, CenterPos; ControlWidth = WinWidth/2.5; ControlLeft = (WinWidth/2 - ControlWidth)/2; ControlRight = WinWidth/2 + ControlLeft; CenterWidth = (WinWidth/4)*3; CenterPos = (WinWidth - CenterWidth)/2; CrosshairSlider.SetSize(CenterWidth, 1); CrosshairSlider.SliderWidth = 90; CrosshairSlider.WinLeft = CenterPos; CenterWidth = (WinWidth/4)*3; CenterPos = (WinWidth - CenterWidth)/2; ShowHUD.WinLeft = CenterPos; showtalktex.WinLeft = CenterPos; } function Paint(Canvas C, float X, float Y) //Draw UT HUD crosshair preview { local int ControlWidth, ControlLeft, ControlRight; local int CenterWidth, CenterPos, CrosshairX; local TVHUD H; local Texture CrossHair; ControlWidth = WinWidth/2.5; ControlLeft = (WinWidth/2 - ControlWidth)/2; ControlRight = WinWidth/2 + ControlLeft; CenterWidth = (WinWidth/4)*3; CenterPos = (WinWidth - CenterWidth)/2; Super(umenupagewindow).Paint(C, X, Y); H = TVHUD(GetPlayerOwner().MyHUD); if (H==none){ ClipText(C, ShowHUD.WinLeft, CrosshairSlider.WinTop + 20, "Operation: Na Pali no longer active! Changes will not be saved!", false); return; } CrossHair = H.CrosshairTextures[H.tvCrosshair]; if(CrossHair == None) CrossHair = H.LoadCrosshair(H.tvCrosshair); CrosshairX = (WinWidth - Crosshair.USize) / 2; DrawUpBevel(C, CrosshairX - 3, CrosshairSlider.WinTop + 20 - 3, CrossHair.USize + 6, CrossHair.VSize + 6, GetLookAndFeelTexture()); DrawStretchedTexture(C, CrosshairX, CrosshairSlider.WinTop + 20, CrossHair.USize, CrossHair.VSize, Texture'BlackTexture'); C.DrawColor = H.WhiteColor; DrawClippedTexture(C, CrosshairX, CrosshairSlider.WinTop + 20, CrossHair); } function CrosshairChanged() //ol crosshair stuff..... { if (TVHUD(GetPlayerOwner().Myhud)!=none) TVHUD(GetPlayerOwner().myHUD).tvCrosshair = int(CrosshairSlider.Value); } function Notify(UWindowDialogControl C, byte E) { super.notify(c,e); switch(E) { case DE_Change: switch(C) { case ShowHUD: if (TvHUD(GetPlayerOwner().myHUD)!=none) TvHUD(GetPlayerOwner().myHUD).bHideHud=!ShowHUD.bchecked; } } } IF  " " ""*(*"4w0=@                                                     #  #    #        #     #        #    b       00Q^        0QQ7^      88||  00QQ7      8888|  dHHHH 0-Q7d3^      88R888|| ^3Hhd7^ #0QQdH&      8RRR88|| ^7dBG_d7377& A.d.hBH&       |88R?RR8||| b._GGGG_77733^bAQ7dBB&       8R???RR||| bbbbIKGG%K_.-T-Q7&Hhh&       R?????8AI2%%%(%2K@@6OgW0^&BhH       |8R???~~"">Ob&HBB&    AAA   |8??warqNNJJ!g@@2%55"55555(("OOOgOO>==O# HBH&     AAT}A    8R~qnp:n1=>>>"555"=5"=$$>= 11$!b &BhBH       AA++++TT}  }!Q7H     A+zEE<~~~~????RT+J14uk[׷[[S5>6!..d      AT+zEEwww~ww?wwqN144uyധZZZƻſٕtP"2O77    A++O!3      AT+TTCCO@I7   00-+WWWgOiqqEaqpuyԓff;*)v'\ìS4=OO6I_.d    000QWg@O===iqqqiǞf϶*)),4 >O6K_d #0QQI662 % "1ni Fm٨fϡ**v*ì ">26d#bbQ.6222%(P( F]٨f/)),MD 5"26K__b^^33._II62%%55Pe{٨f/*ìXSD ("2K.7  3337d77.I62IO"(f'/),[FlD (56@b      &337._.g%oԵ;/*\mUtDP5O@!    &H33332cV]f*),mUtP=>g-|      && ^b^^.GocV]'v'\D==zT||||| |         #3oV]'v*s]t41NRR}88|8||||||      oV;v*s]]tD1NRR8|||||| |        _Go{;v'sІVt zT8||||        BGo;vv;\{VxP5>g-A|       bBGos'v),Zٰc͜("6!Q      ##^_oLc{s'v*sţ]VV(2I_ #bbbILjc{;/v;eco9%K_d^ #bbQ69LjeV{˹,*/s֕xcL9GKd Q!6LxeVV{;/;Z啭ejL(%_7b   0Q!g!O5xV{ȹ\;v/s]ejL9%2.   AAWgWWO(xe*v;VecL(%KI^  |AA---6%((Pxcƽs/*sՠ{Vcj9%2Ib   062%(9Ljc;)),ZޣVjL(%@.^   | #b._I2%9Lje޻\')v'\ɣVeL9%2b  ####7.I29Lxe{Zs;/v*,]ej(26b  #dK9Lx]՛,'*v)'seejL(%2_^       &_K99LZs;*)v/*;]xL(G6.b      d99tFZ\,'//)//****''((%2I.3     dG%%(PSSuXkZs,;;;,s,,ѫt("66K_7^hGK25PPlMlMuXɠ۫ϙUSP"6@.^  &_I6> :::::4FmֿϙϡXS5>!^b7_6>"n11114SF﨔ԨfXY"@bb!O==11$1=4SU[m[ԓffl@b-WO$$$JJJ$$$=4DU[[yl@Qb !WW-WWJ$14SUmmUFFuXyԮkug0Q---JDtUFSYYlX[yu+ ##Q-$= DtFFFFlD 4lX[[kqC  ##  #b^g>=4DSYSDP"==MXykpa~  ###  ##^Q@$= 4D >Og$1ǘpawA  #  #0g$=1"gQqp``ppaT## A++zJNJW g0bHB  AA ?an1OO%5"==(5>O>=$Q# HB    ++T} nul 44DD 4SD$ BB   A+zz&&  +E<~~?~z4XŦF56.7  A+6.7 0-@O"1iiuk)4=6K_ b3K6%5 )/l 5K. 337_IO9ԩ),t 5@  & ^3GoV)*俭x=gA|  dV/)ʣ]F C88|||   &//{et=gA|  7c/'Vj6 #boc'v\]jL_ 0!@xV{/*ҷ(K7 AW+6(esvv\cL%I^  K29c''V96 #.%LV;//Vj%.b  dG9,/)v))/(K2DMXXfk>6_^7K"n4Ymʙfϵk @^#QO=J=1S[[y4b-Q--g1tmmlFy[Y #bQ$ SlY 1lkkn}   ## b$1 >J:p< # AzNppN TbWi:iT  A#Eriz    A#NiNA   #TN<} bCC}#}        |     |        @@=@    #  b  B&   R82I-3B A }n4=5 1 g &H  +6zA3+![Kj>551ZOIPD$cH;0,cc3#E4;+L<'%J1%zxZS;.E:ul|]Ru'8* bRJmc=*H@4,rvoQ] `VPA sUJVS~Yggay{~GB"R]M~GK~fZf]kTVϨgXtj»,W`ogGFFF  " " ""*'*">w0 0>@                               "  ""   "   ""   """  "     ."      "         " ..       "          """         "".           m==.           i(z!=       #  (+cu=" #DD       # #'++:u #D55D   .....  ##i#i#'#''FF%::$ !  #D55D#      ........  D5D#''''++FKKqqTTG$ (  DDD    .... ..  D55D''+++FKK[qXX@X$ ( #D       ....  ...  L #5SSF:%%qdRR>EB@@@G$ ((i D          ....  ..  i5HSHFFFF%%JJIqRR<9BNN@G3 ((('           ...  .. #5See[[KJJJJd>9>9<oVV^b6_03L  .&!uFKKKKKdRdڥyyggs^{f1_O@3(    =SKSee[ڄo}h^Ê1rߢ43 " """HSHHSSSHHSeedR|QQP-6_@3(   """""Lm'5H55H55D55SS[[R|9ajW1//61ȗ@T (   "mqd>BaOjWn-6/61-OX:(   ""+J>BaOOOjjWअ6////f61-󖖖ιNIcm   &z%IEBBBBBNBBatӽ--------̡jE%("   .2 TIEEXXXXXEEBaW{ФЊ˝䝈naXu="    ?2 TTIT::TTIIXBaWnԙܾܙ\Z興䮝j@;*&"     ?22zu:  :%TIEBjW֛֧^^^̘N3;?&"   &?=+'++F%IIBajnWP```Ǒs~AMY2?"      m''F%BajWWlttlPǓVgkkhs~pA7,&"   &  " '+%>ajWtt<999llta>EqI9lks鍻yo||9BNwxpAAM,) """"& m+%IEaa<<>IT%:%9>d%F%>Qhgghh}9dJ++$T@00AMMY,*&"" ""L===&  L!c:TIXJF++++JqR}}}}Q<9I%cuc$4MMMM7YC?="  """=&  *zT%%JK'''+FJd|<<9EIT cU37MM77Y82*="  ""    2u+'i'KJJT$$8;!z;UY777YU;2?&" "" "   ? m mmu;;;; zmm!*8U773UU;*   """" " ..   "&*222;zmL=*;UY33U8*="   " "   .    "2222222*!LLL=!2;8U3U;*="   "   .    &???????2*!!mL""L=!*;UU8;*="   "  .   "&???*!L" "L!*;;8;;*&"      ..  &?!=L"""L!2;z*=       .    =""""=*22**&"       . .   . ==&"" "??22**&&"     ....  ..... &&" ""&????&      ..  .....&&  "&&&    ..  .....&&"  "&&&     .  ..  & &&     .          ..  .      .  "                                "           " "             """"           " "                                                                                              @>@@    "    "  " "  "    L&      iuz=" #    i'F( D5  ....  DD''+FKqIX$ D .. . #SSFF%qR>B04u    . . 5[Jq>QQtOx03 c+      . ,,,)+Kڴ/r@ &!HK[[oys{ffѢGum ""'HHSS5Sed|l^-64m "m##5[>t{/1A$( q9W6f@c  "!JEa{-66666ۖW%    ? IITIXBüv䝘Bz  ??+c%IaWnP``bn֘xY?"   m'JBjWlQQǓg}hP~p0C""" F>tt>IJ9kVVydE0xA4,&"""&& L+TEJ+%Rky}9%++40MY&""  2 F++FR>TU77U2&" """  &"L=z2;m*;Y38*   ."***2*L!U8     ?="L=2;;z      = "&?2*&"   .  &&  &      &                   "     "         @@*D>@   "      #i'%$ # . "5Fq>a0+   ,,:kԾMmi  .)@Pbf/0+" &>Z/fp0! ,C3s/1@u"  ,7OZ6! ?;3t]1ر! !FJd1  "Lii5D5d/m O1//fXL :%BԷ`*   L'I99}QxM  zT+R9% 4U=  =2!L*U;  .  ="=2*""         :E>@   (L +R± L  bf/GuCWvf&:y/fwL i@JU  66Uk6f8"$t$  E>~"ȢE>??E>?@  " * 3"; !D 3< ")"L+ +;R C C$ ;!"K3 J)#R%[# JB+3K""285d40)S3/[^.-S#"C5){$TB6)*1&s,60b@=i8/p%%; S1(k[3+Z d,"c&dc $33\>8kB;{KA7*+{ k*"[%$KM=J@/'b+*K{!o}mYLsc=3zbSK(r}C4?3DE<>2@3 +RH3%FEr'kH<>3C8BqE@s=-;+9,IL B ;JHB,!j, SbY r,+CzkP?SDf[ [ZJodSD9XmIE}]Tg ;WZo\zoTKUJSX"4"c`Sm[KVz]GH@                     "##  #!#  ( #!;;  ;( #!$$(;   ;;   ;$$(    ##;;   #$"##! #!gg  #!#!  !g"j  #! #'/AAAAhAj  #!!! ;L%V +ichhc))//"  #!!!#   'YmBB*<<---nnn]n??1F1F3  AcciQQ_UNMwfffwYH[[:::DD---???F1lllF3   hciiQQUUNMff|fH\\\\\DD111ll~1?  jciQQQXXU@G^f{{||seeee`ySl~S1F    AhciQXX@@@Ywf|ڵ̵ΚF?   AcqiQXXPPPaYwڵDzΊl.    "jhcqQ_X@PTTYYۻu֨ݖF.    j)h+qqE_PT^ww׽bbbݖl3   hcc++E5EIa}^fu24ZZZ8842Д΍lF.    jiiiqq5*BNG>>u2Z82РS3    hQQEq5*BNM>џ28αl3    "jcQQEE5ImMwџ28FF]   AirXXUIYY{ş28S?."     hrPGY>ԟ22l]." j   jirppp@GYf{bZSF]." jj  "hrpppPGMwu44αlF?]. crrpp@NwSF?3. "ArpppP@Imu44y1F?L.  hrpppP@HHfȅ~11LL'//  Aip@GGMw44⚍~~1?LL//  "/AirrPPaYfubZZݖ~<-L'K/""" "/)cXPTz>>{24#`y[DLLV//"    0) qXzz={ێ4Ztd`,=CCCCC孭uuuuȭ{fRH[[[\\H\[[1O&OOvv   "0'%<*B:B::D:\N>,=====,,,,=CžǽԽԲؐҵ|H[**<***[*D-?WO&&&Og66( '%9*****<<-1-:M^,,>>YYYa^T,=CJJ˶{J{|RHB<9%%99<9-.vO&&&&&gg6( "'%9*9<<-n]]??1:N^GNNIIIaT,=CC==,,>>fCfRH:<%% +9 'g&&&&777g(;; 60VV%%%%V]]33-::BB**595BG},====,,}^YY^f=CC>Mm*9 )))/($777777(((;;# 60'V'V6vvv3nn.%%9 95_Na^>>>}z}aTGaa}kk=>Mm*9 )))" ##$7777(( (;;;;##  0'gggvOv]g0)K) 95INYY^^TTPP@@aTz>GmB9 )/ #!$$7(( ##  ((g&ggv6( "/) 9*BmNNNP@@UXUXUPTz}GIE++A"  #$$((    " ( ; (g&ggg( K 9*BmBBUU___EEQ_@TzzTGIE+)j  #;$(;;   " (gg( 0%%<*55Eq+ ++++q_UPaT@I5 /";(($;;       ((  V%%9+ )/K/K))+5EUIIE9)"  ;;;;;   ((((  #(0)//0KV%%LV0   ;;;;;     ;(((;;;  !;$(   g''0  ; ;     ;;((;  ##;# ;g6      #;;  ###;g         ###  #$g        # ;$        # #(          # ;      ;((      ;((      ;;       ;;    ;                       3>@@    #   ## #!; ; $ #;  $g ### (V)hAhA"#!!  9I_q ) ) ! ")*NG@E9++ ']g  j)qBYYm*<9nLLn3?3   AcQXwfw\[[D??F~~? jcQXUaw{ڶy16 hqX@YfݖF hcqE^fł24422ƔÖF]    jiqq*G>тZZ2S  hX_NwZF3   iPGZZ籣.6j  ArpY22l3'  cpPmwy1L" jY22y1n0 )QPT,߻8ZteD-00  06%kĄ2ɤ|e~1:n.g$#  6.nnDNkJ2ɦeySFWO7!!#  '.n@    (  j# VE K!  c_wY:<-1FcXʲΖ~ AqIf4Z82]   XY88F j@n c}ZZ:0 ':kķd?O! 'n-}Z8d\1O7!#"/5=ZR*   /VmCĮ2882ssR36 V*<,>,Dzظ<*-&g 6.' I^T^+!(    9 )EI); ;   (     S>@  V) cM~ jIZZ Q880'GdDO#"%JZZs.0L:NN'7 (' >@m U44]84tg <: Ÿ>՟>$$g&>7@ #+ 3  " + 3 +; 3 ;; ; #,CB DB 3 B3[ :#![+K+ U'kbC4&[ JJJ.(Z)"K$kC%#b+$m #'cK;B4+#R, S*sRB-'c$s/)S6';0{+|cSS!S:.4'3-wC832e5%(S!"8$=.5*o7.s L;-%z=7{5&dIA@;I=3Zk KK92.[1&z!S`V$l RIRJz;B6sk96s;*SJUK=-71cWH#h`{[K.VLJTD2##;:+C6MC c{B5"WHE0/+^U %[20pgA:SbXsi^SQDD5M:KCneXK3#LA56GA]YMXOoekTYuk]{mBQN?f\N=2#H^7 oxlIM[hp|dQL\G\^UfbX<2uQBR\wm@:zYLTuljf[{4#Hi}]Kmef[wIIIXZPKg`XOSdepPlVj|my\;Ank[sQbnO:WnZcg]{Wd t!cv/;-ca/!rwc$d c |QFPF  " " ""* *"l0>@%%%%%%%%%%%%%%%%%%%%% %%%%% %%%% %.%  %%%. %%%%%%%%%% %.%%% %%%%%%%%%%%%%% %%..%.%%% %%..%%%%%%% % %%%. %%   %. - % %% - %  % 88() % - %% 88( )  % - %% +(   % * - % +"  %% **   (," % --*-    ("22' %%% **-- % "2!2&t%% --#*-  !!?Bt..--##-*. % 1yB' %. -###* %% !1&%% *####* % "II!!   % *##3#* .%  ICCc %%%. *333**.%%  4)'"c/I",  %. *#333**.%  )44ICʹsI,(  %%%.*#333#*..%  ))4'c/Es@,   ..*#3553#.. ))<)<4'cCTEPE>6$8  %. *3555#*.% )<<TSxiq>$+88 ..*33555#*.  4BB&"f@:Nq$++888-**#55553*..   t1&""f6ASNTG$+++8#33VV55#*.   12",6A;任wSLG6==H5VVV53*..)  )) 2"6A;wwxS:>k^VVVgV5#*.  4) 0"f$6A;aaaaQx;kpggV5*.. )) "ff=A;awuu_UgV3*. )  4))"c0f666A;a͍m~UgV# .)  )[<>TSQ۽уm5*.) )[[tt""@ICESxxuѩۃzzvmp5 .  [RR<',@CEETS;Sѩzmlg .  )[R[Rt' (fIsEE:T;;_Ҡommg*...%%%   RRRt'(@ITx;;mҪ`{zo~U^3#* .....%% imvܪ`{ڊo~UgVV53#**... .  )<[R[[[y&IC>Ti䶖zn`{{YYooάggVV5333#8 t!B %%%%%% ydeJN\ݜnZZZnjߞZhKYbbm_TEEE/91!!( %%%%%%%"cFMr}}\諿؅ߞnjߞоZhKKK⁁iPP|7X//C068-* %%%%%%%%% ""!cIcC7\؅ߞnnjjоZhhKKK㣰vvuQQQqqq|XXs>G=H3--* % %%%%%,!!ccCCX7de\¡ݜjnnnjjоZhKovwwwNNJq||E:AG^HH#---- %%%%%%  ',!Ic9/9]eŚ\Ģ¡؅ؗ޵޵nnZ{hKYbbbbmmmuuuuQQNNJJq||xTkAG^HH#---- %%%%%%''t'"!c9/9X7򼭚\¡ؗ׵```````hKob~ΐiqqqdqPʎT:kL^^HH#---- % %%%% 'ttt"2!!!c///9Or}aݜϵ``KYάUUkkk:TTEEXXXXss>AGG^HH---- %%%%% '>>AALL^==60!" % 'DFOO7]]]]dWdeeeed]7X|JJNNiT>TEPqNS>@$( 8($6@GLG^^H==f0"" &21DOOOX]]]]]77F9?9FWJJqPEscCsiJJiT@+(  $f66=GHHHHf"" %21DF9////779!2F]WJJʹ/cIs|WJqs@$  ,f=HHH+,"" %21DDDD!IIIcC/9/cc1F7WdW|9c!0IXWW|@, ++,(  221?1?"f00@I/c@f,2?777FF22"/]d7@,(88+(( 8  %''222",,,6@cI0,$!99DD&&&?O]9I" 88+ 8   't'+$$0", !/99?y&t''&֘F! -8+   ''' (((+$$f",( fc!!Bt'By 8(,     ' ((++$$$(  000"t 'B֕! 8(((       ''  (+++  % ($ff"'B?DDD1&%%  ((8       +(( % 88+$11?DBB%%  ( (   %    (((((    +++(  "!1B&'%   %%   %%% ( 8 % 8+8  %% ,0!2  % %  %% (  -888 %%%((,""%  %%%%%%%%   %  888 %% 8+,"    %%%%%%    888-  %% 88+  %%%  % 88 %% 8++ %%%%%%% 8  % ((   %%% 8 %% 8   %%%%%% %    %% %%%%%% %% ( %%%%%%%%% %% %%%%%%%% %% %%% %% % %  %%%%%% %%   %%%   %    %  %     %%%%%%  %       %   %%%    %%%%  %%%%% %%%%%%%%%%%%%%%%%%%%%%%%%>@@%%%%%%%%%.%% %% % %8( %  8  -  "'% -- !& -* %-#*.  c%-## %)4cC"  % #3#. )4cE>$ %.#53- )<&@Sq+8 *35#. "f:5V5*%  ) f:uxSLgV3.  )"f6:aUV*%  )R[t@A~V- ) [40CE˩z^.  RR'(@ES;ҩ㨯V*.%% )R[["@siuvzދhY~gV3**-ty֘FXPQZhh{hYUpA=f"t 1M\؅瞾jZhKYm9$8 .%%!cc7ŚjnߞhKvuQJ|TGH8- %% ',c/97ݗ׵ZhbJJq|Sk^H-- .%%%t'&2!11!Der`pAL>C//C6HH-- %4't'BtFd}az~_kGf,(8- .%%<7M՚恁~UUl~lSA@ %% %%%%% @%%      % 2-- 'c" #%)s$ 3* A^5% )@:ͧͯ3R',T;ҝ3@%. !f # @*<Qg#{X 2ru_S"!c9, +    >@ 'U W;+%, 7>I8i:J>%( Z> @ #+3 ;  #  + C K # +#  3 3+ S ; # ;+ Z ; C  333;$#*CB+ K#KC;,+*3KR243;!B;[!c(j#S+);ZWr`_sT))--&\ J$"3 k;\;:C$[!!%ih{1.Sb-#s54+t*%SB@Z D:3d R`^{ k214;9KQOk3*{(|KJS&"3QNrK,)Kc,*Cedh>4'$C k93kLIcDBcmeYV|31J6+ tVMB;zG<1%YYcsrz75S;3r/"\V;3{G81*jiitdZNDIC{IIK?1}u [E:nmywSL& R~z$KCc1#/.;utorht?2jjkz"KD^^hD<~}HAsoiYY\*~wq&C7`WYNib'&3/,LFOF  " " ""* *"-0B?@                                                                                   &           &         l &   lll       l &   UUl       Fl $$&   UU     T $F&   lUl     ^ FF"-&m   l     $FF(!-           $ T^ $FI">!           mmm   ^l $$$$"(K!>m             m  $ ^^TFF$$$((55>-            m..m FFT^^(("((>W5qq>-?-   ^        m..&-"T^4K5(>>>5q,q/,-*.  ^TFF$$F$     %cccccO*?WKK4Uy4KK55WW,/ZZM/'?*?.#   F^U^I(""       csssssAA;/bff4q5q,,7,ZMMJ8+*O%#  TzzDyKK5("    mcsshGPPJVdM/,,,//o8JJuP:E*=c%%%    (KfDzfy455"    sshhrVM8/8ZuuurVJPQAASsNm  >5yfDyy4K""       .O=h36ax``jtrPJVrrrrYPQAhN%m &WqRyy4444"$$     &*CAS9at`X``xtt``taYYHQhsGGG  ?)'W/qW55KKF$           &';Prt`̌eX6vShhGnGN%  mmm?)W5!""FTT F    &-':uV`kkkkkkkeB2GnGN%m !>"$$$ $    --WoZjȎppppp|]2{nnnni #m mm#m &&"$$    &',/dǰkӔ{n{nG #m #######m$$    mm.*)1+:/Mjp~~G####%%%%%%#m    ...OOO=AE0MVjp~ـ_nN#### %##      m..*Oc=AgQHH9Yrtjו֫ɿɾ廬µ ### NNNN%#       m.OO=sgQH39vYax`Ǹp~ɿ\@@\ònN NNN ##m      .OO==g0399vXǸ~ګ\@<<@϶ԇŵ NNN #     ?*OC=gQ39Y6aXӔ~ګ\\@<<<<@ԇnNNNN #      ?)1CC;E0P9va`Ӕ~֫\@Ҩ<<<<@ϾwՇiNN %##    ?)*1C=E0099at`Ӕ~֫\\Ҩ<<<<ϾwՇi #     ?))++=;QP099a`~ɿ\@<<<<@Li##     )'17;;E8PP9rjpɿ\@@<\}Lw劽i #     &777+:Z8uJkתɿ\@\LLwՇi     &,,,o:88MJV쎎ek|~īɾ[[Lwi      &W/4/bZ8ZddVjtx˛]][[۠wwi     &-WbbRRRRVVPYrx2~[}LLi       -!54ffDDZZ:uPY9v2_[}}}Lwi     (KyfDDDDzzzDfDDyK44/,o:PP6Bp_[}}Li      $FIyDDzzD^(I57o09Y2]||_[}}Lwi      $F^UUUUTFFT>>':09B]]pُLLi      $T^^^^^^l^lUl^ll TF>1EQH333Bת[[[[wwGN     $Fl^TF FT(5)1AQShhh33H36B|寘߽n.     FF()*O=Agg==AA=Q3B||___ߧ{Gc.   $F">>''*OOCCC***1*ASv2ߊ{=   )***.*?)CQB]2ޭ߬ޣO?&  &-?)**??&&&&*QB3ޭ§]C)   &?)???&?=3266H3S3v]e]{ޚ|eB6H;)   -)? &?=h3669QEEQHv2]eeeB62B]e낛2vQ;    && -.Og3YH;C1;PYXXXXtaaxBeBQ+   & *CsSSH1')'JtX`VJYa`X]9E*     &   *=ggQE;7W8JjȖdMuV``BBB6H=*-&    &&   1;QQA;'>!>,ZJdRZdt˜9gC)-     +:;1->,8MRRRdVra2vHgO)&  &*;;:+--,ZʹdRRfRdJYa69SAO-   ?OC+7> !W/dVVMZb4444bbuJY6v3Q;*-  .**1!,RMMuuu://KKK4q/ZPP93SE;)  .??" !W/ZZ888:oqqIIKIW,:HH9HQA+'   m.?-57,o+::;oo,WII((>W+EQ0H0Q:+   m& !'111++oo7W5KTFF!';E00Q:7)!   m -))''17775IT$$$!'+:8o'-   m  -))')))(($$$F">'+:88:7'!          -?>>"F$"!7o:8:+7!         &->!"$$"!77oo+7'>!        &&&!"$$!''7+7'!       &&&-!"$"!')!-      &&-$-     &----&   &-&&&      & &&                                                                                                                                                            R?@@                    &U   F&  l    $T!       F$"(!     ...T^I((5W,!?  $    cccC74fyKWW/ZZ** K("   cs3JVM//8JJ0;s  5fDf4($ ?A3a`tartaYQs#  ,45KT$  -'X̌G mmm?>!F  &WZkӉnnNm#   ..C;8~~N#%#m   .O=QH9aǟp֝\\%NNN#m   O=Q3ˎӳڝ\<@LŵNNN#   )CE09xX@<<<@}N  )';EP9jӳ\<Ҷ}wi%   -,+8ZVיګLwi  -bRbdaB[۠Li (yDDDDDy/:PYកف}i  F^T(E9BۏLiF^^ T5'ESvB|[[ۯn     F('*C=CC=]G? )*?--)H2B6޺|Ԭ) -)g66HS3B]2ޛS)   & ?=SH11P`XXtre]E   )Ag;>8ZtC-  );:8RRdY6HO&  O'7dJZ,K4/J3E'-   .!/:8:,5I57EHQ;'  ''+75F+o   -))($>78:7!     -&&"$!'+7   &")-  &--&                              @@V?@        $    "  KK5,7.m^$  .hajVJ9Em qyI &ojeGm mm-$ .OQ~_#%#  OQaҨԵm  +p~@#  !yd9ۏLUU(+3|$***]? &&SHQXe)  -EdH-  ),Z/K,H;-  )'5$87   -!'!          W?@     TT>   *`X6% -( Can# &bXį Sc  EPx)  +5; -   1X?@ Fx#(M  &8: PX? YQScX?&sX?@ # *  2  #  ;" C" K ++3": S "**, 3 3"!$ +##)"< ;33CJ**R($S;B=k2.S S B:5cB"S0,[ L!C$!<:,&"CIDx; k&!J 342A-)R D-%b J(b.-14-'Z)%Kb,)K ;b.%lCJB4.b$ZPJ|S~yC:93j[$#2(kTM c(%D-*D989<2g] Z;9G JulK6.j(&;?6{( \84]?7u \ |DAYe^5+z|[T+>9e[c_JJLk}tkkp3+s^TVRwSJLBrlled`~}uG;(!R||yrLHgSLE?skaL61[1.Lbbe wUTgsknkPLr/#{Crruss~r224gZ,"r\Wsoy[[]~^WJIXDCG/]OD:ƾ/#D=yVJ@1QEoc~t^]hSRUkc8),+9dvq!Agc]T+@9mlk{ ZVO1*[CBJ<:R-#ldcj:4aD?k&{TO{!s%\RC?cvrKJR~{b^~85SOJp1$yqTQbuk88AWLPLsEA[\W{218)me>:\OG Z* l' [( dRINB~{pgĽ6({qZNoh3*s/(bd^?>LysQBtTJnwuy9*`^redsKB}X_Ylc1#=/PPUH8yz}|t^^fF9lgH=?1{RF  " " ""* *"0ɠ?@                             %    %    '% $$  5%  $$    5&'% $$    55r'  $$$L     55&3'  $<<L     :rc    $<<{<60*S ((())++||ffz}8  ))++2291d111{{,#ya.Kaa911dҙbbd{###Q\DW/8  )("!yy2am0adҀ4tbJ**yyyQDMW/) v)))!!22>Ha0.BBB.JJE[[g;gt1199y6eA^^^MWk-(   :vvv88-F>>Ha0BqIEEgsss4bJKdd9.qIBeDk+   :NG--QHH66Oq^VV[[44YhhhgtKҀEIooB|"$   5:RNNGG@@/-||fleA^ZZYYYı~4JJҘooooo.l2$    5:R7P@Pxuu=z?DDWVZ`룱;JbbboEB2$  %''r_uii^Zӯղ׸gtb;444b6HC$$  %'&&377xxuMqYh~ײ֫Ôst;;;44oyC$ 3333c3r77G@x󗥃qh~׺TTTTTsss;;;o.>1CCC%    U &&'&&cRn@γjOBb4s~朓TTs;;;;bIE.K>QQQQ++:  Up ''&3&&r7ڹD0.t;TǾTޭ;ttt;E..kkk}-+)8$$$ $   U  ' %''&c7x_XkmJ4TǾTş;tt;g[[VV^qeWX==(",$$SL     'ccx_X}fKJ4TTTTƭs;t;sg^BeM/!##C,C<{>!#!)GP&'  RNGGGG=_خwБY[.Q>!!!))N@@r&'  :v:RRG_ui⿿ӣhB6fQF+G@P7r'  $:5:55:RGPuγii̛줜YqOl|}/=PxP7&% 5%'rn@__wwZVZі϶ٖZM\z}/=P@nr&    &77G_jqqV`ݲ`A\z==_P7r&%  nnGXjjAAAABe^䛋嶶`qDz=@@@n'    3rnRNXk\00Awϯяe?@G7r'% &rR8}ll6mmfHleԨM=Nnnnr'   '&:v+FHfHH>22|\M`߽/:&''  %%5:(!y92y#C,"FlD`ZVV`w^lF5 :(##1CC+|l^qV`ߛ`^F "CC*{$$ (FfWAAOO^`ѝZq0Q(",{ +}DMMAO\60A^Z.H(  ,,,$L )-kWWWemflBIVVIa!  $,$   zDDj\QQQf6[IE6>  $$  )}kkzQ!!FH0qIE0H"  $$L  (-??z}F(""2mOqBm!   $$$$ "+-}}|-+("26eAAB6>    $$$  ,#FFF-F!C>0eAB0>#   $$  C#2!22!yfWea!   %  $,C###!" $,Q\eWD-"     ${{,C##" !zDWj}!    L{,{""" (/XjW?+     ,"(vȻjD?-(   $: %:=Xj?})   L %:8/???    L$%}z?/(    L$vȻ=8   L$ 8//8   $$v8//-)(  $ %(8+!""  %% ()!,,  '%  "",  5'% ,,,  5% $      $       $$$        L$ L      L L                ٰ?@@       % ' $$$  5& $L 3   $<{ea     ,#!!,lW(   {," Fjj-  j}  $8z) L= $!  %"" %      $     @@?@    %    L*<'p  dy U  !*$9.9 ()F+   (>dbCf N|qZY詘oO,  3PM;tC '_6;Tŭ;ZW( ci^h[Ou: @uܕÑ.F8 P`q/@'r/`rC"qV`+$$ zlQa    #+H "( /  %(    ?@   5LCy"8fB;Bl3@es.rw.= j`W$-eO $}   I?@  kR`$m h? FH{?  ? @ #+2 + ; # #   3 + C ; K  3+  : 33;#C + B SC<;$ ;K CCJ+ K4$S<7[$[61[ 3!CSURj C1-T cR$!; JZXj%%c&"D,$ckD>s>9b44-jEAc#Kb)%KIFk63H.*DC;{\:5d r'!K S\SN{<4s-$je`XSUPs3,ckNG{(r^X,)KMJcZ'%:>7k+%R]Zrjg7,{5-q0(d0)Z.)S ZJFcdIDsRb`sSPa)zJ^U z =+$\+(!S)!Ztqd`{A>\R>4| S0%zB=k%kMC J ktl!61a41RMFB@T-mj{lgqj8+=:QDBZ |ibd_3-[]X{G= t=2FAl1-Lysrp1$~|@5'%C|y8,[PMkD:/%q( b`Vjf,*=UKWKwr"Y)TKod2)j0!~e_85O|rmH<~*sjaphPJstmkaXP|tws%+}s /-C2"~^Y8*KANCĻBi bFY~ϋPi F!g&by#yիfff?i ի>F!or*(Y#Y9H   yN-tHy?&b$Hy9HyY>Hy333?' @kF Os3Q݁&n 6(ؚ k(:Kʈ5 *du{ qux 8impeckfmrl,I`\di \YIWSE_\s5QTTO2"hVW[X]aLC3H=PSHEH(pMK N >A@3*(#~mSA@:"EG=;87520+) wqV<2-G M83721/-+))'%$##"""" !~{xvkW%> &!{yrnkhfa^ZWTQNK H E B @ > ; 9 7 4 2 0.+($#!   6 @ x!/5 "!#%'NY8u{o}Bu[u @GtO0mETd(G;Vz&g7ϏP z -Clzqtsx immm q egil})`[\b^goX\WUTSN]>` QUSMGH;9)C2/SY HE-'lLGO AA@0"|vN8<9;8860*(%&ysXVQK 0B 5833421,#"! h`YTMKF74.;81/1./.-,+('&%$"! ~yvqmjieb]ZWTQMJ I E C @ ? < ; 9 7 5 2 /,*)&%"!   /*32,*@mVq3S܅ݗ0FqV':Gx &S԰qw ;iecn tj`]ef YWV\]a y1SVQTONF=6WMKHB=/QV f&]EHJB(% sGMP ^CA?>31,+("!}oEJ R=<9984-|uqmge6>@=A 476425231/20-/,,*%#{tqbXVL/2/10.,-,+*)'&&%$$#"! ~yvspnmjgeb_]ZYWUSPNK H G D C @ ? = : 8 6 5 3 1.,+)&$    WFB}wH ?¬,BZ"F,BgwH A ,Bgw6,66 ?,a*}Bn a**r*^#_ ~ 6 ?,^ի66 6n n ~ ի66 ?6n n #n _ m^6r6Ba,r6B,,aBr @PsJl /T-;%pٗ9M(5Ɍ j z(tow 4nlikt uGchfbage{(a`]^\c`ac g YXX\_VTQMNW\ YLKOB<7T0S I aHJEHE?0JLPA>B@40)'# ~GCJ>:;=:9;835/*(!v=[3862435.,,'##!!|re_[6o10/,,))(%%#"" !}yvqoljfca_\YVUSPNMK I F E B A ? < : 8 7 5 3 0 /+)&%#    Q jF_8jP3K!?a!w333?=3a!@ 333?=a$@ @kFX:h݆FvY.=ڙ*Kh8(̈Mx 9}} (axuqx :Imioq ej:^a`ci qy*Y\[V[]_c UQTVUWZ[cKNOTV R N JRIGIFFB<IJGLIA>A?-CFC8=<;<:87343.-')&@#85633/./,+**(+&&#!" !v'1//-*)(('&%$$##! ~}zwtrnmjgec`_\YVURPMJ I G E C A > < ; 9 6 4 3 1.,*)'%#    C // ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TDBarrel: destroys when touched // ============================================================ class TDBarrel expands Barrel; function Bump( actor Other ) { local float speed, oldZ; if (other.isa('pawn')&&pawn(other).bisplayer){ Instigator = pawn(other); TakeDamage( 1000, Instigator, Location, Vect(0,0,1)*900,'exploded' ); PlaySound (Sound(DynamicloadObject("AmbAncient.tilehit4",class'Sound')),SLOT_Interact); } else super.Bump(Other); } `i[T Daf\i'wD*wD  %ID- rD$D- D-1r.D*.D{fi::$ wD-Da/!H.D-r9*9?9=DH*D9f?i99w9D9*D99 i?9?i9999D9Q 9Ga>ADa/!W  Q=9 BDH*D9f?i99::$wDDa/!H\iD-w*a r*-a  f?,\ M$ a/!Vaa  f?,\ M$ a f?,\rDDa/!H-U 6-6-(a fP\6--U rDDa/!HL:L,%wDDa/!Hw*a* ::$w9*`?*9*D99 i?9?i999*Y`?*8::$r*-a  կ?,i f$8a/!Vaa  կ?,i f$8a կ?,iVw*a* wD*#rDDa/!Hiի?,i\\ii`f:  w*a*`fi: `fi r*a g fPi  &.g99 .gz ifQ   _Fy2@BaF CԝXt hFd} -' d// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // RealTimeLight: A light that is affected by the computers current time. // Note: I have no idea what the hell the calulations to compute brightness are. // Give me "official" calculations or live with this linear, non-day based crap :P // Note that it is based on client's side // ============================================================ class RealTimeLight expands Light; var () byte NightBrightness; var () byte NoonBrightness; simulated function prebeginplay(){ timer(); } simulated function timer(){ local float hourz; local byte brightness; hourz=level.Hour+float(level.minute)/60.0; brightness=min((11-abs(hourz-12))*(noonbrightness/11),nightbrightness); //too lazy to simplify log ("realtimelight has brightness"@brightness@"at"@hourz); //VolumeBrightness=brightness; LightBrightness=brightness; } cFOIx dFY%8x. jiGL(// ============================================================ // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // CodeConsoleWindow. This uwindow is the input consolewindow for the codeconsole. // Painted as a translator area. // note that it will not accept any key other than a number. This includes backspaces as well (for it is meant to emulate a code system, and backspaces are not allowed) // ============================================================ class CodeConsoleWindow expands UWindowWindow; var codeconsole CC; //the code console var string TypedCode; //code being typed. //draw like a translator window function Paint(Canvas Canvas, float X, float Y) { local float tempx, tempy; local byte oldstyle; if (root.buwindowactive||!bAcceptsFocus) return; Canvas.bCenter = false; Canvas.Font = Canvas.MedFont; Canvas.SetClip(Root.RealWidth,Root.RealHeight); TempX = Canvas.CurX; TempY = Canvas.CurY; oldstyle=canvas.style; Canvas.Style = 2; Canvas.DrawColor.g = 255; Canvas.DrawColor.r = 255; Canvas.DrawColor.b = 255; Canvas.SetPos(Root.RealWidth/2-128, Root.RealHeight/2-68); Canvas.DrawIcon(texture'TranslatorHUD3', 1.0); Canvas.SetPos(Root.RealWidth/2-110,Root.RealHeight/2-52); Canvas.Style = 1; Canvas.DrawText(CC.SecurityPrompt, False); Canvas.SetPos(Root.RealWidth/2-110,Root.RealHeight/2-42); Canvas.DrawText("(> "$TypedCode$"_", False); Canvas.CurX = TempX; Canvas.CurY = TempY; Canvas.Style=OldStyle; } function KeyDown( int Key, float MouseX, float MouseY ) { if( Key>=0x30 && Key<=0x39 ) //numberic only { // log ("key is "$key$" which is in ASC"@chr(key); typedcode=typedcode$chr(key); if (len(typedcode)==CC.digits){ // log ("code test"); CC.TestCode(tvplayer(getplayerowner()),int(typedcode)); close(); //done so close this. } else if (CC.KeyEnterSound!=none) //sound CC.PlaySound(CC.KeyEnterSound, SLOT_Misc); } } function created(){ //hack to hide mouse. // log ("CREATING code console window"); root.console.bquickkeyenable=false; SetAcceptsFocus(); //very important :D } //closing menu stuff: function Close(optional bool bByParent) { //log ("closing code console window"); CC.bActive=false; bwindowvisible=true; bleaveonscreen=false; CancelAcceptsFocus(); HideWindow(); Root.Console.CloseUWindow(); } function NotifyBeforeLevelChange(){ //if new level, remove window close(); } S`Foz poa m.a+PB$`o`LoL[B$a- oF*V S}0r* r***%(n-  - 6* -(*-r.**r.**(-D r*-S(x/*-D r*'3*-  !*-S'':x:$L- ($w***%*-:*: #*$:/*:/*-S'[/:x:[S:x:[@*   bm-a/!0*a/!0Zq*LZL>qZ a!Q?,-S(j-S'*-S'*:x:$-S'*:x:$*-  !*-S'- (w***%:/*:${*-#(-S'*-.*w.**r.*f-S Kc-- !u*- :x:$*-S `)*yz8*`) ~(z(m(,% w  w * %:/ :$-BV !'!%!q!'% w*q!%  j8P&E5H0iP&!h ?-ra  #L?a<" @wr*r rAr 6r 6r 6a!y333?=fa/!x6?,x96C?a!w333?=a!@ 333?=a$@ mFnF AGiF||Fi8}{w * a/!|!. ,-F(p&-Hq! @ɐݨUu 7*3.{R& 7ln,Q Hs(ךw ˉ(:K5M d{*u{ qux 8imfNpd8kmrl,I\!U_N-s(iCei \Y2WR\t5QSO2#k )>0W[S_L3HD;OHH(8 ,OK N B@3)(#qSIA9 +:" }c3F:7750+(~mV; 5 ("- !G M210)(&$"! ~{wWU-O< > {yrnkga^ZWTQNK H E A > ; 9 7 4 2 0.+($#!   10 @ x!4 "#%'uFtE` @bІGtѥO0*mE@Td|(G;Vzi&g6t/Pΐ p@z -Cizj3drn.cx imhnm q egHci}+`[P]goZTa ;UQTSO*MGH:'A821-SY HE*kfW=LGO AA@0($"|J5!v<982,*&yqYUQ 0 $2C 85334213$ liaWTKD = 9 7.4;81/0./.-,+((%$#! ~xqmjieb]ZWTQMJ I E C @ ; 9 7 5 2 /,*)&%"!   /3A2*,wFd VO,. V,U-F'T~Hq!`  @|ًmٓ]jb)p8GS2ۃܗFIls%e,UEn"=/I:(N:Oxh&T԰qMv i:id7han lt]`$] f XV&k2K]a z0QTPPK?6X1[MKJ@<R4QV f&IFD,($slDB (MP ^D@>5300*!}Y? &EJ R<986-&${ujfaSB 6 3 1 .6A 76435625301-/qnKIEA > = *% )/21/0.-,+)(&$#!~yvqmjfb^YVQNK H G D C @ ? = : 8 6 5 3 1.,+)&$    |8M s -F(. TO%.  V%U ,d @ɦۯ}f8 sn/Q]߂5pٗ.|cLtKʍ}- Cnj [ *{vo-spw mifhdk'[t C uGdaea)fK&1u;{(]`\3 c g 2YXXRM\_N@  QUNW\ )YLKOC>d0/ $9T1S aIHEB1'"}]N?<2JLPDA64$nI4 CJ9=:=70**&%vriRFC '#[=43^VI ; 8 4o10/,**%%#"" {vqmjfb^YVTPMK I E B A = : 8 7 5 0 /+)&%#    s8g,.6- a!1Ga? @kFڳX:Vi݆Fvmo:X6m)k5f٘'3ˊ(Kwt  {x (:aqD9yRr/iix q|-9Hi^&Xlhq ?eebJC]`]X=Ncai e ry+/J3WQ_c SP5Q- VXbML? !HTP QGG?6X ( !:LK?,i< / & %A_F9=;86753.--('# ytaMA 8 )#451,&#!!T-,)(%#! }zvrmjeb^YVTRN I G E B > ; 8 7 5 3 0.-*)'%"    pF{FU\// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // CodeConsole. Used to allow the player to input a "security" code. // Code Randomly generated at start and can bind to a translator event which will tell the player what the code is. // When security code is correct, it triggers actors of 'event' // if wrong, it will trigger actors with the failure tag. // Triggering this actor causes it to swap benabled. // ============================================================ class CodeConsole expands Triggers; //Level designer configurable: var () int MinNumber; //smallest number allowed var () int MaxNumber; //largest number allowed // Tag of the translator which will have a code inserted in it. supports both the message and altmessage // The macro %c has the random number inserted into it. var () name TranslatorTag; var () string ClearenceMessage; //message to give if code inputted is correct var () sound ClearenceSound; //sound to play if correct code var () string FailureMessage; //message to give if code inputted is incorrect. var () sound FailureSound; //sound to play if incorrect code var () string SecurityPrompt; //Message shown in console. var () sound PromptSound; //sound when touched var () sound KeyEnterSound; //sound to play when a key is pressed in the console var () name FailureEvent; //triggers actors with the tag of failure trigger if code is wrong (i.e. alarms) var () bool bEnabled; //is it on and working? var () name MessageType; //what msg types are they? var () name LinkedTag; //for linked consoles. Only 1 will generate the code. Only 1 console should have translatortag. var () bool DisableOnCorrect; //disable on correct code? //Internal: var int MyCode; //the all important code :D var int digits; //digits to decide how long code can be to enter. var bool bActive; //being used? //net: must replicate EVERYTHING! replication{ reliable if (role==role_authority) MyCode, bEnabled, digits, ClearenceMessage, ClearenceSound, FailureMessage, FailureSound, SecurityPrompt, PromptSound, KeyEnterSound, MessageType, DisableOnCorrect; } function postbeginplay(){ //generate random number here. local codeconsole cc; if (mycode==-1){ Mycode=rand(1+MaxNumber-MinNumber)+MinNumber; //generate code if (LinkedTag!='') foreach AllActors(class'codeconsole',CC,linkedTag) CC.MyCode=Mycode; //1 will be me, but no big deal. } SetupTrans(); } simulated function PostNetBeginPlay(){ Texture=none; } function SetupTrans(){ //done on client as well local Tvtranslatorevent trans; //message manipulation: local int pos; local string outstr, ins, code; Texture=none; digits=len(string(MaxNumber)); //count digits to test input. code=string(mycode); for (pos=len(code);pos` d}a/!]?,+. L>` . ` l? @? 6l?,x6l>6l?X::$l ի47:L }ll իo:L }l::$6 ?%llիRI9L }lm 6B 6Hկ?6?,J}b$l# Amll# A B HJJPlm6JD?6J}` @?L C6J6 C  CGlC6J6  6J6  w*JP  J  Ja+J(J a+JE   B HJ-66?666-6666Aa/!Sa/!iE a#`A@ a/!a/!C E a#B a  E 6B 6H6JB HJ[B @  W&~FRyGGj'*u8*j'M{'g([),% pr* wM*:/M:$-BVMw* !'w* r*!%!-S!!!6!eq!' CGP// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // This is a shadow for playerpawns used for several purposes // 1) Spawns blood when player low on health // 2) Reads ground texture to then get footstep sound // 3) Attempted code for mp3s. (deprecated though and does not work) // ============================================================ class TVShadow expands PlayerShadow; var float Mp3duration; //length of MP3. var sound Mp3; var byte Mp3volume; var byte Mp3pitch; var float lastbloodspawntime; var vector LastBloodloc; var actor LastL; //footstep sounds: (add an array of old textures to reduce DLO's?) var sound CurFootSound[5]; //current sounds to play for foot steps. 4 possible ones var texture OldTexture; //only check for new sound on new texture. var byte NumSounds; //amount the array goes up to... simulated function float Vsize2D(vector v){ //no sqrt! return v.x*v.x+v.y*v.y; } event tick (float delta){ local actor a; super.tick(delta); if (playerpawn(owner)!=none&&pawn(owner).weapon==none&&pawn(owner).health>0 &&(viewport(playerpawn(owner).player)==none||pawn(owner).bbehindview)) //force to show if no weapon Update(none); else if (playerpawn(owner)!=none&&!pawn(owner).bbehindview&&playerpawn(owner).viewtarget==none) Update(owner); //owner is flag to ensure decal not stay /* Mp3duration-=delta; if (Mp3duration<=0&&Mp3!=none&&viewport(playerpawn(owner).player)!=none) Tvplayer(owner).ClientSetMP3(MP3,Mp3volume,Mp3pitch); //reset */ if (pawn(owner).health<=0||pawn(owner).health>35) return; lastbloodspawntime+=fmin(25*delta*1/pawn(owner).health,7*delta); //FPS affected: if (lastbloodspawntime>fclamp(30*delta,1.2,7)&&vsize2D(LastbloodLoc-Owner.Location)>325){ if( class'GameInfo'.Default.bVeryLowGore ) a=spawn(class'GreenBloodSplat',,,owner.location); else a=spawn(class'olBloodSplat',,,owner.location); } if (a!=none&&!a.bdeleteme){ lastbloodspawntime=0; LastBloodLoc=owner.location; } } event Update(Actor L) { local Actor HitActor; local Vector HitNormal,HitLocation, ShadowStart, ShadowDir; local bool oldfog; local bool OldNoDecal; //ensure user's decal options stay local texture T; SetTimer(0.08, false); if ( OldOwnerLocation == Owner.Location && LastL==L) return; OldOwnerLocation = Owner.Location; LastL=L; //detect real/fake attaches. DetachDecal(); ShadowDir = vect(0.1,0.1,0); ShadowStart = Owner.Location + Owner.CollisionRadius * ShadowDir; HitActor = Trace(HitLocation, HitNormal, ShadowStart - vect(0,0,300), ShadowStart, false); if ( HitActor == None ){ // Setlocation(owner.location); SetCurSound(none); OldTexture=none; return; } SetLocation(HitLocation); SetRotation(rotator(HitNormal)); oldfog=region.zone.bfogzone; //ignore fog zone. region.zone.bfogzone=false; if (L==owner || !Level.bHighDetailMode || Owner.Style == STY_Translucent || Owner.bhidden) //faster MultiDecalLevel=0; else MultiDecalLevel=default.MultiDecalLevel; T=AttachDecal(10, ShadowDir); if (T!=OldTexture){ //Pawn(Owner).ClientMessage("New texture is "$CAPS(T)); OldTexture=T; if (T==none) SetCurSound(none); else{ if (T.FootStepSound==none) SetFootSound(T); SetCurSound(T.FootStepSound); } } region.zone.bfogzone=oldfog; if (L==owner || !Level.bHighDetailMode || Owner.Style == STY_Translucent || Owner.bhidden) DetachDecal(); } function SetCurSound(sound NewCur){ //relies on teh format! Note: input MUST BE THE _1! local string CurBase; local byte i; if (NewCur==none){ for (i=0;i<5;i++) CurFootSound[i]=none; NumSounds=0; return; } CurBase=string(NewCur); CurBase=left(Curbase,Len(Curbase)-1); CurFootSound[0]=NewCur; for (i=1;i<5;i++){ CurFootSound[i]=Sound(DynamicLoadObject(CurBase$string(i+1),class'Sound',true)); if (CurFootSound[i]==none) break; } NumSounds=i; } /* static function String GetStaticItemName( string FullName ) { local int pos; pos = InStr(FullName, "."); While ( pos != -1 ) { FullName = Right(FullName, Len(FullName) - pos - 1); pos = InStr(FullName, "."); } return FullName; } static function string NoGroupName (coerce string T){ local string tmp; tmp=left(T,instr(T,".")); tmp=CAPS(tmp$GetStaticItemName(T)); return tmp; } */ //Sets foot sound for a texture! 1337 ' function SetFootSound(texture T){ //else scan through case list: Switch (Caps(T.name)){ Case "TONNFLOOR": Case "XIPTH": Case "XPTH": Case "EBFLOOR3": Case "TONNFLOOR": Case "SWINDO2M": Case "MMCRATE3": Case "MFLOORZ": Case "FLOOR4": Case "MFLOORX": Case "MFLOORY": Case "MMCRATE2": Case "MCMETL": Case "RUSTPL2": Case "PIPE3": Case "IRNWALL2": Case "NONDETGR8": Case "INXGRID": Case "MTL-BMPS2": Case "RUSTEEL1": Case "FLRWKA": Case "WARN": Case "PBLOOD5": Case "WALLWKD": Case "BS_1": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_METAL_1",class'Sound')); return; Case "SHFLOOR01": Case "GROUND1": Case "DMGROUND1": Case "MORTER1": Case "MORTER2": Case "DIRTNEW": Case "DIRT_SU2": Case "DIRT1": Case "DIRT2": Case "MSROCK3": Case "VOLCANICGRPATH1": Case "VOLCANICGROUND1": Case "TRANSITION2": Case "BASIC1": Case "BASIC2": Case "ABASIC4": Case "DMGRAS2": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_GRAVEL_1",class'Sound')); return; Case "DMGRA": Case "EZGRASS": Case "DMGRAS": Case "GRASS": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_GRASS_1",class'Sound')); return; Case "QBS2": Case "SCARPET3": Case "GCLTH2": Case "GCLTH3": Case "GCLTH5": Case "RUG-BLU2": Case "RUG-BLU": Case "RUG-REND": Case "RUG-RUG": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_STUFF_1",class'Sound')); return; Case "OQ_WL2": Case "MUD2": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_MUD_1",class'Sound')); return; Case "AA_BS": Case "JEBWLG1": Case "JEBWLG2": Case "T-GRATE": Case "DMESH3M": Case "DMESH1M": Case "METAL4": Case "METWALL": Case "GRATE3-M": Case "RUST2": Case "BASEIRM3": Case "MIRONFX2": Case "MIRONFX": Case "MFLOOR": Case "GIRDERM3": Case "IRONWALX": Case "GIRDR2M": Case "MGR8MS3": Case "I-BEAM": Case "FENCE1": Case "TRIM1NEW": Case "BLOOD6": Case "HULLRIB1": Case "SLOTTED3": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_METAL2_1",class'Sound')); return; Case "WOOD1": Case "WOOD2A": Case "T-WOOD": Case "T-WOOD2": Case "WOODF2": Case "SKYWOODV": Case "ROTWOOD2": Case "U_BOX1": Case "WOODMAI3": Case "HASH-ICE-3": Case "DECKRF1": Case "DECKSM1": Case "BOARDS1B": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_ON-WOOD_1",class'Sound')); return; Case "OLDFLOR2": Case "COBBLE2": Case "CONCRETEBASE": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_CONCRETE_1",class'Sound')); return; Case "PAVEBASE": Case "SANDMRTR2": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.FS_SAND_1",class'Sound')); return; Case "AZ-FLOOR": Case "FLOOR1": Case "FLOOR2": Case "FLOOR2B": Case "FLOOR2B2": Case "FLOOR2J2": Case "CHESSB1": Case "CHESSB2": Case "COBBLE2": Case "SFLOORA": Case "SFLOORA2": Case "SFLOORA3": Case "SFLOORB": Case "SFLOORB2": Case "SFLOORB3": Case "SFLOORC": Case "SFLOORC2": Case "SFLOORC3": Case "SFLOORC4": T.FootStepSound=Sound(DynamicLoadObject("ONPFootSteps.fs_stein_1",class'Sound')); } } DGFGN?u x$t-R x$U%  L$HG@u@_{// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. //TvScoreboard. merely shows that keeling mercs is bad :P // ============================================================ class TVScoreBoard expands OldSkoolScoreBoard; var float rYL; var string Uber, Goal; function ShowScores( canvas Canvas ) { local int i, row; local float temp; local color Yellow, Red, White; local tvscorekeeper scoreholder; scoreholder = tvscorekeeper(Instigator.FindInventoryType(class 'tvscorekeeper')); if (scoreholder != None) { White.G = 255; White.A = 200; Yellow.R = 255; Yellow.G = 255; Yellow.B = 0; Yellow.A = 200; Red.R = 200; Red.G = 10; Red.B = 20; // Display the scoreboard. if (OldSkoolBaseHUD(Canvas.viewport.actor.myhud)!=none&&OldSkoolBaseHUD(Canvas.viewport.actor.myhud).myfonts!=none) Canvas.Font = OldSkoolBaseHUD(Canvas.viewport.actor.myhud).myfonts.GetSmallFont(Canvas.ClipX); else Canvas.Font = Canvas.MedFont; Canvas.DrawColor = Red; Canvas.StrLen("t",temp,rYL); rYL*=1.1; Canvas.SetPos(0.2 * Canvas.ClipX, 0.1 * Canvas.ClipY ); Canvas.DrawText("Creatures", False); Canvas.SetPos(0.6 * Canvas.ClipX, 0.1 * Canvas.ClipY ); Canvas.DrawText("Number Killed", False); Canvas.DrawColor = White; row = 1; if (scoreholder.Brutes > 0) DrawBodyCount("Brutes", scoreholder.Brutes, Canvas, row++); if (scoreholder.Gasbags > 0) DrawBodyCount("Gasbag", scoreholder.Gasbags, Canvas, row++); if (scoreholder.Krall > 0) DrawBodyCount("Krall", scoreholder.Krall, Canvas, row++); if (scoreholder.blobs > 0) DrawBodyCount("Skaarj Eggs", scoreholder.blobs, Canvas, row++); //blobs=eggs :p Note: this don't work anyway! if (scoreholder.Sliths > 0) DrawBodyCount("Sliths", scoreholder.Sliths, Canvas, row++); if (scoreholder.flies > 0) DrawBodyCount("Flies", scoreholder.flies, Canvas, row++); //not used in ONP! don't save value! if (scoreholder.tentacles > 0) DrawBodyCount("Tentacles", scoreholder.tentacles, Canvas, row++); if (scoreholder.pupae > 0) DrawBodyCount("Pupae", scoreholder.pupae, Canvas, row++); if (scoreholder.mantas > 0) DrawBodyCount("Mantas", scoreholder.mantas, Canvas, row++); if (scoreholder.fish > 0) DrawBodyCount("Fish", scoreholder.Fish, Canvas, row++); if (scoreholder.Titans > 0) DrawBodyCount("Titans", scoreholder.Titans, Canvas, row++); if (scoreholder.Skaarjw > 0) DrawBodyCount("Skaarj Warriors", scoreholder.Skaarjw, Canvas, row++); if (scoreholder.Skaarjt > 0) DrawBodyCount("Skaarj Troopers", scoreholder.Skaarjt, Canvas, row++); if (scoreholder.hugeguys > 0) DrawBodyCount("Skaarj Leaders", scoreholder.hugeguys, Canvas, row++); if (scoreholder.Mercs > 0){ canvas.DrawColor = Red; DrawBodyCount("Mercenaries", scoreholder.Mercs, Canvas, row++); Canvas.DrawColor = White; } if (scoreholder.Humans > 0){ canvas.DrawColor = Red; DrawBodyCount("Terrans", scoreholder.Humans, Canvas, row++); Canvas.DrawColor = White; } if (scoreholder.Nali > 0){ Canvas.DrawColor = Red; DrawBodyCount("Nali", scoreholder.Nali, Canvas, row++); Canvas.DrawColor = White; } if (scoreholder.ENali > 0) DrawBodyCount("'Evil' Nali", scoreholder.ENali, Canvas, row++); if (scoreholder.animals > 0){ Canvas.DrawColor = Red; DrawBodyCount("Harmless Critters", scoreholder.animals, Canvas, row++); Canvas.DrawColor = White; } row++; if (scoreholder.DamageInstigated>0) //damage/kill stats DrawBodyCount("Damage Inflicted on enemies", scoreholder.DamageInstigated, Canvas, row++); if (scoreholder.FriendlyDamage>0){ Canvas.DrawColor = Red; DrawBodyCount("Damage Inflicted on allies", scoreholder.FriendlyDamage, Canvas, row++); Canvas.DrawColor = White; } if (scoreholder.DamageTaken>0){ Canvas.DrawColor = Red; DrawBodyCount("Damage Taken", scoreholder.DamageTaken, Canvas, row++); Canvas.DrawColor = White; } DrawBodyCount("Your Enemy Kills", scoreholder.killtotal, Canvas, row++); if (scoreholder.KilledByFollowers>0) DrawBodyCount("Kills by Allies", scoreholder.KilledByFollowers, Canvas, row++); if (scoreholder.KilledFollowers>0){ Canvas.DrawColor = Red; DrawBodyCount("Allies Dead", scoreholder.KilledFollowers, Canvas, row++); Canvas.DrawColor = White; } row++; if (level.game.SecretGoals!=0) DrawdiffCount("Secrets Found", string(Instigator.SecretCount)$"/"$string(level.game.SecretGoals), Canvas, row++); DrawdiffCount(class'UnrealCoopGameOptions'.default.MenuList[3], class'UnrealCoopGameOptions'.default.Difficulties[Level.Game.Difficulty], Canvas, row++); DrawBodyCount("Score", scoreholder.score, Canvas, row++); if (level.game!=none&&Level.Game.class==class'tvsp') DrawDiffCount("Accumulated Play time", parseTime(scoreholder.AccumTime+TvPlayer(Canvas.viewport.actor).mytime), Canvas, row++); row++; DrawdiffCount("Map Title", level.title, Canvas, row++); //kinda mirror DM.... DrawdiffCount("Author", level.author, Canvas, row++); } else { Canvas.Font = Canvas.MedFont; Canvas.SetPos(0.2 * Canvas.ClipX, 0.2 * Canvas.ClipY ); Canvas.DrawText("Score Keeper inventory not found!!! Please stop ]-[4xx1ng the code!", False); } DrawTimes(canvas); } function DrawBodyCount(string thingy, int amount, canvas Canvas, int row) { Canvas.SetPos(0.2 * Canvas.ClipX, 0.1 * Canvas.ClipY + rYL * row ); Canvas.DrawText(thingy, False); Canvas.SetPos(0.6 * Canvas.ClipX, 0.1 * Canvas.ClipY + rYL * row ); Canvas.DrawText(amount, False); } function DrawdiffCount(string thingy, string amount, canvas Canvas, int row) //just for the difficulties... { Canvas.SetPos(0.2 * Canvas.ClipX, 0.1 * Canvas.ClipY + ryl * row ); Canvas.DrawText(thingy, False); Canvas.SetPos(0.6 * Canvas.ClipX, 0.1 * Canvas.ClipY + ryl * row ); Canvas.DrawText(amount, False); } static function string parseTime( float time ) { local int hour, min, sec, ms; local string hourstr, minStr, secStr, msStr; hour = int (time / 3600); min = int(time / 60)%60; sec = int(time) % 60; ms = int((time - int(time)) * 100); if (hour>0) hourstr = string(hour)$":"; minStr = string(min); if(min >= 10||hour==0) minStr = string(min); // If sec is one digit, add a zero else minstr = "0"$string(min); if(sec >= 10) secStr = string(sec); // If sec is one digit, add a zero else secStr = "0"$string(sec); if(ms >= 10) msStr = string(ms); // If ms is one digit, add a zero else msStr = "0"$string(ms); return hourstr$minStr$":"$secStr$"."$msStr; } //render times :) function DrawTimes(canvas canvas){ local TvPlayer P; local float YUp; P=TvPlayer(Canvas.viewport.actor); if (P==none||P.Linfo.bCutScene) return; if (Uber==""&&P.Linfo.UberGoalTime>0) Uber="ber-Goal Time:"@ParseTime(P.Linfo.UberGoalTime); if (Goal==""&&P.Linfo.GoalTime>0) Goal="Goal Time:"@ParseTime(P.Linfo.GoalTime); Canvas.bCenter=true; Yup=Canvas.ClipY-rYL; Canvas.SetPos(0,Yup); if (Uber!=""){ Canvas.DrawText(Uber); Yup-=rYL; Canvas.SetPos(0,Yup); } if (Goal!=""){ Canvas.DrawText(Goal); Yup-=rYL; Canvas.SetPos(0,Yup); } Canvas.DrawText(class'TournamentScoreBoard'.default.ElapsedTime@ParseTime(P.myTime)); Canvas.bCenter=false; } w8Xcg(x-a (-h(46-&X i!` L?gq!I!\va&!gX WGKgm u!U @   $ , 4 #"#(< +3++0 D  +33"K;KC 3K;C;9;(UcBCS@ SK \"k b[*\[k&s;S[TL*cJ"Hk, Z.S, sz)Lg=%%P!z3d_Wd = )|"s.j3q$cB1s {k { FN  l1 i/"ufs{,{ 5/#M\l[1rUt/Y:8_ .8(S-F gJ1"Z0zyvs= s*xmmJ,Q*^:DK >12: +;W,/,80q/nI'+(CuZ4e_h^7N"4B(C!& M"j["[8#3@~rDV&1@!)U8P|9OGSG  " " ""**"w$?0@@                 5   5 555 < %%%%5 55   5 5%%g&&#&#&&%%55   %%%%&&&D*****##&;9%55  %%&&***2#;;;955 %g&&D**EX3X3XXaaa22##;9%5  %&&D*7X 33$$$3b33aXaaaa222;%5 %D*3$$++$b$$333Xaaa2222222;%5   &D3$+CCC`+$$$3b33Xaaa222222002##%555 %D $+CAAACC++$$$333XXaaa22)002#;%5  5 &*7$CAyyACCC$$$33X))#;9 5%&*7$+yyyyACC!$!$ ):99   5%& CyyyyyAA.!$!$ E02:8,    %X$CCAyyyKyAHC..!$! E:0))::, 55%#*X$++CCAPyKKKHH(..!!$ E7:)'//')": 559;a3++++CCAKPPKKccH((..!! :)'@^')"8,  99;2Xb++++CCHAKPPPKKcH(H(..! #:"6'@N')J8  9 2bbb+++CHHKPPPPPPqcccHH!$XXa28""6>@??N^@0"8; ,8"0ǜbbbb++HHcPq[[[[[qqqPKcH$$3X28:"6>>kk?NN'"8; 8:)/^`b+++HcK[___h___[[PKKA+b3a2:88J=6>@kk??^':; ,8"'m444`+CCCHHK[hiiiiihhh__[Pyy``bǝ:JJ=F>>>k@k@@:#9 9,:)/^444j4``CAHKP[hoooooiih_[Py+ǝ)===FTT>>>@>///;95 ,J)^4444S4AP[_hoᾍoiiɐ{{b/>TllTTT>6666'0:;9 "6MM4U4jSSQ{{{[iooɐ{mM?llFF6=6)66'//0": 5,8'MMMM4jSjQxxޏ̌xjUnL~llF=="=))6'//)8, 9 :"'^NNMM44jQxβŏӼӏʴ]L~lFII"J"66'@@'):, 9,:)'^^?^NM44jxϿR\~lFIIJ="6>>@?N/'"8   :)/?^NM4jQԣtttv͚~TFFFTT>kk?zNnN@6"1-  ,8"'^???^NMUjұrrrtv~~kfzLssUn?k6IYY1------    8J6@Nz????NNnUj〘GGGGrt|VB~LLL]]\ZZZsfkTIIIYYY----   -J=@MnzzzfzzzsUZ}ϵۡGeeeGrWvvVBBBBR}\LlFIIYY1--   -1JTkzUUsssLsss]\}ص١GewweGtdWW||”VVVRRRZsFIYYY---  ---Y=>?nZ\\\]]]]BBVv󞡎WddtGewwwGքdWW|”VVVVRR\slFIY11-  --1YF@fsZZZBBBBBBvƞWeweGtքdWWƙvVVVRZslFYY---   --1Y=?sZZZBB\BB|WdְtrwweGtքdW|vvVVVRRZsflFIYY--   -1Y=>fnZZ\\BBBBB™|WWdewweGrڰքddWнvvvVVRRRRZsFIYYY1--   --Y=>knU\\\]]]™|WddtGewweGrtWٵvRRRRRR}}ZsFIIYY1---  --J6@zUUsssLLL|rGeeeGrtҵϿ}}}ZZZZUzkTFIYYY1---   -1=>?nUsszLff~~~١trGGGGrtݣQjUUU\UU\Uz?TFYY111--   8J6@Nnnzzffk~~۱trrrݣԤjS4MMMnMMN@'"1-  8J6>Mnz?kk@>TTFlll~L\ԣӺéݣxQj44mMNN^m'"8,   8"'@NN??k>>T6FI=FFlfnjxβӼȼxSS4mm^^^^):,  ,8J6@^@>>6=6=II==F>@?MS{貍ʴQQS4MMm^^8; ,:"'/@''6="=JYYJI6'/b`[i፧o茌xQQS44Mm895 9:"0/@''6="JJJ1JJ")0abA[_ioᾬh__ɐxxQQj444 9:)//''66""JJ-88:: K[_hܭܭPPyy{xxxQQjSjm0" 59,0///'66""J:-8,7 HKP[hhhcHA{{QQQQQSSm0:, 59:)//'')"":8,,;;*E!HcPq[OO(HCA{QSQS^/):, 59;:"0//'')":8;;;#D7 !HcqqqOO((CC`{SSS"8, ;:/'')):;;9%&*E !.HHcOOO(C``^)8 9 59,:'))::#;;%&&D*7E !.((OOOOOOOOOOO(.+````08, 95900";;&&D*7Euu!!..(((OOO(((.+++`b2,,9 59#;;&&7EEpuuu(((O(O(+$Xa9995592#;;&&&D*77Eppuuu((((($#;99555;;####*77EEppuu..(.((!E&%%55555;;####**777Eppp uu!...(! E&%55555 5%;;***77EEppuuu !!!..H! Eāg   %%;#7 !!!$!uE7g<  %##* $$$$.!pE7g <   %#*aaX 33 $$!!!upEā<  %;#22aaXX 33$$$! EE7āg<<  %;aaXX3 3! pE77āgg<<  %%;&#*aXEE7āDgg<<  %%;&#*777*DDg<<<  5%&&&DDDDDg<<<<<<<  %%%&&g < <<<<<< <   <<<<< < <         ɼ@@@    %&&&#% 5 &D*7a22##;5 &D3$$$3XXaa22% D3+A++$33Xa2200%5 &7$AyC!$39  CyyA.!! 0:, 5X++CKKKcH.!!''" 92b++CHKPKcHH 2:"@N'8 8)b+CHc[[_[qPHC3a8"6>?N:9,:/44`+K_oh[Kb"JFT>@@/;,"^444S{[_᧧oim@lF66600:,,)^NM4Qx貍ΗslIJ")'/), :'^MjQBlI=6>?N"  ,"/N??NUtGrt졽V~L\ZnkII11-  >Nnzfzs}ϵtGeGWƽVRZfFIY-  -IkZZ]BBBVОdGww֖dƙVR}fFY-  -IkZZBBBWdրeGtdvVVR}fFYY-  -1>nssLWdGeG֎}}ZfTIY--  =?nzf~~trGңjjMUU?61--  "@N?k>TFFsոQ4m^^08  866=6I==m{o茗xQ4m^,9:0/'6"J8a$K_oh[xxQ4^0,5//)":8c[hOH{QQS),9:0/)):;;D7 .HqqqOO(C+S:, 90);&Eu!.(O(+``, 5;&Epu((((#95;#*7Epuu..( &%5 %7u !! ċ  %# $$.pċ  %#aaX $$ 7<  %#*77g<<  &&&D&gg<<<<  @@@@  D*#5 *3+$3a2#5 &3yA$,9a+AKc!:',)m`C[hh[C:=>,/MS{ѧSF6'0,,MBTzn=-  =UL]ed|V͆I  =Z]dervR}Y-  JNzl]jMNJ ,''6="b__x4,/);.qS09#DEu((+a5#7Eu. &5 $!E< %**D<   @@  Da;#+H!2)`{=6nv]z-  z׵Z? )"KS:9E.9 #9@@39MR>>N5*pX@U@@Nk@9559{@5PGTG  " " ""**"!$?0A@,, ,,,              "          ,        ---        -&-    9      &     9     &&      9       +   /      "++    ?$##      "+++   - ?#     "++!"  $ #     ""++!"+  $#     """"+!""" $ 5 5$#    """"!!"+  $$$ 5$#      """"!!!"+ $ $ ? 5 . $    "!++++ $ ??555...  $  9   !+77- ????5566.. $     !+77&&-)ee-???O?O??5566...        !+&&2kkkkXO@5@66..        +712BX@@4566.  $$       +7BEEEEllllll[;;46565 $$$$     ,!7&w]TTggggaattlGd;;45555 $$         !!+7BKTc{{ppppxtVGd;;@555 $$$$ 9     ,,!!7&TcxxVVddX;O55 $$         ,!&2]cyyyILPVGG[XX?5$$##    9 ,, (2wTc㣣ʼnSUILPVtG[XO?$##       ,,!31w]qqqnbbYUILxtllXO?$##     ,,!3sKc~ٯnnbWYUILtlXO5##  9  ,,!sCȭWYSULtl[O5.#''   9   , sFiਈ漊WYLtlX@*':     ,,!(sFHRRR߾ܼnbWSt[;5.''/  9       ""+71CFH^ӒЛbbSULtd@6.**:/  9  9   "&wKHM`nWSIPGd@.%''/  9  9   ekhMڳ`|nWSLV<;46*''    9   9  $ eEc^\`__JJ_nYLVd;6.''        9  #?g{Mo|_rrJbYUPVG;@.##      9 '#5OltRMo`JN888rJbYULVGX@5     9 /'#5@[tqĈoN88NbYUIxl[O? $      /'*.@dGPIYb`8QQQ8NnbtE?  "      '#.@;GxLWƼJrNQ}}QNJnypaEe  "   9   /''.6;dVLUYѰJNQ}}Q8r_|qypgEk- ""     '#6@dGPIW_r8Q}}QNJ`qgfk- ""   9  /*.6;dVPUˠ88Q}}}J_|`{Efk- ""    /'*64;GVPUˠ88QQQrRǣ{gEfk- """"    /'*64;ZDmvjz۳oo\^HFss33333(!    ///:::A%0=4>ZDmujܾoo\M̋HF3(((((!!   9 ////::%0=4>ZZZZZDmmuIUSq~շ^hHF3!阘"""++   9'AA*%0=44ZZZZ<;dGa{{hhiFC1( -  9##'*'****%%00=4444;XllagccHKFs3(!    ,9###***%%%%00=0=64@;ElggcHHwC13(!    9######**%%%00000.6@OXEETTTii]FC13(!    ,9 /#######%%0000%0.5OfT]TFws17(!"    9#######%00%%0?eek]KKKFs1((!"""""  ,9/'######00%% ee-e-kkBwwwwC13((((+!""""""  9 '##$%%%# - -)))2C2Cs17(+(+++!"""+     9/'#$.%$ - --)))222s237(+(7+++  9/#.##$$ --&&2212s17++77++   9//#.$#$$$  -&&&1212177+77+     9//'.$##$$$ -&&&&12s1&7+77  99/'$#$$-&&&&&&211&&7&&&   9//''$$ -&&&&1&2221&&&&&&  9/:'#$$- &&&&&22222&&&))&-   99/## --&&)&2&222w2&&&&)))--   999/ ---&)))22)BBB))-)))- ,99   -)))k)B2BBBk)------  9    --))))k)BBBBk-   9   -)---))))&  "    &, "+++",  """""" ,, 阘,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,A@@          -         9        "    "+"  $   ++" $  $   !+ ?5.. $  +&-ke??OO56.     !7BEEX;.. $$    !+2Tcg{ptG;@5$  ,((&TcyLVdXO$  9 !3wqSULt[O?$#  s]~ͭįYULlX5# CR쩆bSl@' 9   "2FhMꛆYIG@'/9   ef^M|__ܫYxd6'     #?p\rNѫYxd5   9#5[xS_rܯSLl?     #.;xUѺNQ}ʾpEf    '@GI蠡}Qr{Ek    A.4VvN{Ek    /:.>Dv8r_\ޔ  9 /:%0>Z>G{hiF3(   ''***%0==;[gHKC3(  9####%%00.5OT]C3(!" '###%%%eeekBww3(!""" 9# -)&2C1!7+"  9##$ )&217++  9#$&&&12+& 9'#- &&&22&)&  9/- &)2B2&))- 9 -)))BB-  ))" """,,,,,,,,,,,,,,,,,,@@A@        " #   +  $  +)fO6.    2c{x;5$ 9 3~bUtO#  "1bx.  ?|JWG.  .xNba   *;N`E  /%ZΤo) /:%>vzMi3(! 9:%>mR!" 'A%4ZxhC!9'#%063! '#% k21(+"  ##&1+ $)&2) 9 -)  ",,,,, A@   " Ba[  !ީI 9 ʺ$ 96ɡc /=^!'0[cK ' )7  )) OA@  "?  *h *7 nA &Xd& A  A UG  " " ""* *"$?0XA@                                                                                                                                                                                                                                                                     ]             ]]]]           ] ]]           ]]] ]]         ] /]]         ]] ]] / ,      ] /// ]] //      ^ ^^ ^ ^] ///]] //!!       ^^^^^   ^  ////]]]//!!!!!       ^^^^^^^  ]/ ]]] /!!!!!       ^^^^^   ! ]]] /!!&&&!!         ^^^^^ G#G## #] /!! ]//&&&&&&&!!/         ^^ ^^ GG$$$### /!!///&66&/         ^^ ^^ GG(((((((*$*# !&&!!6666&/ ]        ^ ^^   GG((-(---'---QP11**,&&!!6LLLLL6&/        ^ ^^ G$((--'''0'000'''QQ1SbX.==&&&6"|||"L6&/]         ^ ^ # $$(((--''0055555555{{H77Om4vv666L"|++++"L6&/]           ^  GG$(---''0055CC888888xxZZII<<"vLLL|+2222+|" ]           ^ #G$((-'''055CC88MMBBBMBFF@w9Ey+|++2flffy"L&/ ]]      ^  $((-''055CC88MBB??UUUUU?`WTVKa222f_l2y6,/ ]]]]]]]       ^ G$(-'005588MMBB?UUDDsq__ll=,/ ]      ^ $((--'05C88MB??UÏ\ΘKa>>>ertpuVd9E3>kkkn>ehcgVK9a3rhtgVKaE3erhctgKaE3<44=,,   %bbSOZ@TT`sj\)RJoooJ)))iz}errcеpgVKa3~~~~~ziiii[ӟ\qqWT@mOOXX        ,.A4;nkӟ\js`T@@YZ7:SSb         ,.4NN339dKgЫe>nkkkkƄ䟟\jssWTFFZ{77S1**%         /,,,.4NN<39dKgўe>>nnkn>Րjjs`T@YH7QS1*#%       / /,,,.44N<3EKKgўn>ehܟ\\\\jjqsTT@YY{H7QP**##     / // ,..4<3aagڕŞ㯯rhĊ\\DDDDDsss``TT@YZH7:P1*##     / / / /,==4nknܜjWFYH:*%   /,,.43Kţh\\Dj`T@Z7P*#   ,=ya_졎jD?M`WT@Z7S*%   ] /=vy2lf알TTxx{ZSS%   //!"""+2laVZ{{-QP1:SSb   ]//&"+2+3;:1$ %%%   /!&&&||=4AOb*##    ]/!!!",^^^     //!//6&!   ]//]]]&!//]   /]]/&!//]]]     /!/ ]      ! ] ]     ] ]                                                 @@mA@                    ]  ^ ]/]   ^ G$#!/&&!   ^ ('007A6""!    ('CMsgl_y=    $-5?gE4, STjRRcK<,   XI}[)Rzĥ;X     N9>kៃWZS   ,4aۜDsW@71  ]!&+2Y{H7S%  "+mS1#    /!!&     /]&]    !                       nA@        ]! ^ -8a+1E,  mܤX  _`F%  ]6v  !]         anA@    Q.  3ʪ   nA (=yPnA nANGRG  " " ""**"$?0A@                                                                    J    h**      *h*****KhhJ      hKKK&KqhKK&KKhJ      JhAviiiiivvvvvvvAhG++++      JGATe44N44N4444eeiAGH++HJGJJ++       JCCAT4};mmmmmmm0BTACCCCCCCCGG++          HCA-TT00}m;lllllyT<<<w>)szzl㧑aaaaj7oS>ROO1ggg'     $#5)srsr))))rr`aaj7oo.fROO1gg'     ,2drrrrrSSSS[XaxŵҡooMM]FbROOgg'       $W85Yr[[[[[XQ\^jaȕ֯ooMMM=fRRO1ggg'   !,2dS[[X[XQQ__kxMMM.]@RR11!'   $,W#@)XXXQQQ__kńDnnnDD{MMM.]@RRO1!    $,W2dS_.k{DDnUUUEnDMMM.=Yb8OO1!     $$((#5)Xkkko{DEUUn////UE˱MM..=Fb8WO!    :("%2wr\\\\oo{nU/VVUU˱MM..=Fb8W1     H:("%#6)[^o^^7Ω{U/VUEձϷM..__=Fb8RW1!'    ::(%5s\^773nEU/VVV/Uܱٲ...__Y@8R,1!'     H:((%5r\7333ﯩ{nUUVVV/UEϷ.==_=Q>@W1!!     :("%#5r\73{nEUU///UUUUϷ_===fb1,!!     ::("%#5r\33{DnEEEDnDϷ==]]]S]SY@8R!     :("%#5)\73ͨDDDDȄ{ٷ=]]]]fSSf>O!'       $:(%225)Xk7ᄄޫQ]]ffffFSFYb8R1g'   :,(%#65>[o7333ȵxjk=]fffFFFFF)Y>O'   $((%#26d)Xk77773xjSFYYYYY@8Rg'    $,("826>r\^77xxԦr)bbbb>>>Y)Yd@W!'    $,,""#25)[^^^jaxxӧ̙s5@@@@@dddd>68W'     $$,,"#6ds\^~jʚ׭wI66@@5dd62,!   $,("%6wr~~~jayL22822666@#W!'    $,("%IsuuuuÈmL###2#2268,!    $$:("tIz`upp;}9t%%###2W,!      :::(-t9Lz`Ěp;|}0t%%%%W$!      H:(<-t9Lyp?;|40t%",!          +:C<<--0yzlpp;|}ett($       ++HCC&s^x@btT6uE68*5 x.8#1JG$(QjHM4nT_MG('U@2 n!joamlGy$:@ #$*  +#! 2+3*3 +< 3  : D23K;0"L;D;8 cS C'T;[C("kK)\cL&s@[* r RZ\B<. J/*{)jBdc{#H,SOSZK3 Bsk( ")}oC ~$.c  Z(lSL  Jo!{_j'QG~0ktX"0 bT: pp 5Q(./wbCl$ )<  & 8 24-  0s> \ ~^;2wcaSsY(8$ffF 4{xK drVYJ,$<< =+H? *F2`3-.Wh eU8.O8, >E9Pt?AJ+L:7VJ3AoQjw3 XRLVF/R5rZ3DoA`c[Gi!U]Jm>1-S w*Oi!|v!U<8Ui! XGYG\GV`O(k Q-w.V*r*-z.Vqq- rV"w.V*nrV]Va/!.V#V ?%.V-v!q!!e  ]GH<Bi~w.H* wH/Ha/!.H#krH-'V.Hw.H*`H ?%a?(v! _G.4h/*- (# `G^GP/uho$ dG;&gJ- r*Bw*j q!!NH+ J"U*YO^-g6-6-(U*T*6--g z8gDq@bG;PtttXXtXtXXXtt go// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // PlayerAlterZone : This zone is made for Tonnberry. // For use with altering jumpsounds and jumpz // =============================================================== class PlayerAlterZone expands ZoneInfo; var () float JumpZ; var () Sound JumpSounds[3]; simulated event ActorEntered( actor Other ) { local byte i; Super.ActorEntered(Other); if (Other.bIsPawn&&Other.Role>Role_SimulatedProxy&&Pawn(Other).bIsPlayer){ if (Other.Role==Role_Authority) Pawn(Other).JumpZ=JumpZ; if (Other.IsA('tvplayer')) for (i=0;i<3;i++) tvPlayer(Other).Jumpsounds[i]=JumpSounds[i]; } } simulated event ActorLeaving( actor Other ) { local byte i; Super.ActorLeaving(Other); if (Other.bIsPawn&&Other.Role>Role_SimulatedProxy&&Pawn(Other).bIsPlayer){ if (Other.Role==Role_Authority) Pawn(Other).JumpZ=Pawn(Other).default.JumpZ; if (Other.IsA('tvplayer')) for (i=0;i<3;i++) tvPlayer(Other).Jumpsounds[i]=tvPlayer(Other).default.JumpSounds[i]; } } k$*f7r*k$W(|(M)Q) aGh.(e-v! -J"a+Pjsrq-J"'::$d,\!, ,d , ,, , d,?|,,?d?,?%|?Xh.qjsrqjxsMrx?\!?XM?d ?|Xa xsMrj W$W.S hGLGk0nJ-'W  v!-aL>-(u!u!-aL> !v!U@?,2lah>-(r*"66a+a>+::$o$!xw*j Jlah>x::$o$u! N"EE}I vef'gseIw*GGw*!6B)!eq!I mGNHMY-'LbbIr* TW A8// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. //SPMinigunCannon: Cannon for SP // Sets teams differently and blows up :P // myteam=0 means enemy myteam=1 means friend. // ============================================================ class SPMinigunCannon expands MinigunCannon; function bool IsEnemy(pawn p){ //is this a potential enemy? If (p==self||p.health<=0||(!p.bisplayer&&p.attitudetoplayer==ATTITUDE_Ignore&&p.target==none)) return false; //don't shoot enemies who are doing nothing. If (p.bisplayer||p.attitudetoplayer>=ATTITUDE_Friendly||(p.IsA('cow')||p.isa('nali'))) return (myteam==0); else if (p.attitudetoplayer==ATTITUDE_Ignore&&p.target==none) //don't shoot enemies who do nothing. return false; else return (myteam==1); } auto state Idle { ignores EnemyNotVisible; function SeePlayer(Actor SeenPlayer) { if ( myteam==0&&pawn(seenplayer)!=none&&pawn(seenplayer).bisplayer ) { Enemy = Pawn(SeenPlayer); GotoState('ActiveCannon'); } } function BeginState() { Enemy = None; settimer(1,true); } function timer(){ local pawn apawn; local pawn temp; for (aPawn=level.pawnlist;apawn!=none;apawn=apawn.nextpawn) { if (IsEnemy(apawn)&&cansee(aPawn)) { temp=apawn; if (apawn.target!=none){ enemy=apawn; // Set him as enemy gotostate('ActiveCannon'); // ATTACK! return; } } } enemy=temp; if (enemy!=none) GotoState('ActiveCannon'); } } //blow up on damage take function TakeDamage( int NDamage, Pawn instigatedBy, Vector hitlocation, Vector momentum, name damageType) { MakeNoise(1.0); Health -= NDamage; if (Health <0) { PlaySound(DeActivateSound, SLOT_None,5.0); skinnedFrag(class'Fragment1',texture'JCannon1', Momentum,1.0,17); //ripped from cannon spawn(class'UT_SpriteBallExplosion'); Destroy(); } else if ( instigatedBy == None ) return; else if ( (Enemy == None) && IsEnemy(instigatedby) ) { Enemy = instigatedBy; GotoState('ActiveCannon'); } } //wipe deathmatch plus check function ProcessTraceHit(Actor Other, Vector HitLocation, Vector HitNormal, Vector X, Vector Y, Vector Z) { local int rndDam; local UT_Shellcase s; s = Spawn(class'UT_ShellCase',, '', PrePivot + Location + 20 * X + 10 * Y + 30 * Z); if ( s != None ) s.Eject(((FRand()*0.3+0.4)*X + (FRand()*0.2+0.2)*Y + (FRand()*0.3+1.0) * Z)*160); if (Other == Level) Spawn(class'UT_LightWallHitEffect',,, HitLocation+HitNormal, Rotator(HitNormal)); else if ( (Other!=self) && (Other != None) ) { if ( !Other.bIsPawn && !Other.IsA('Carcass') ) spawn(class'UT_SpriteSmokePuff',,,HitLocation+HitNormal*9); rndDam = 5 + Rand(6); rnddam *= (0.4 + 0.2 * Level.game.Difficulty); Other.TakeDamage(rndDam, self, HitLocation, rndDam*500.0*X, 'shot'); } } function skinnedFrag(class FragType, texture FragSkin, vector Momentum, float DSize, int NumFrags) { local int i; local actor A, Toucher; local Fragment s; if (Event!='') foreach AllActors( class 'Actor', A, Event ) A.Trigger( Toucher, pawn(Toucher) ); for (i=0 ; i=ATTITUDE_Friendly||(p.IsA('cow')||p.isa('nali'))) return (myteam==0); else if (p.attitudetoplayer==ATTITUDE_Ignore&&p.target==none) //don't shoot enemies who do nothing. return false; else return (myteam==1); } auto state Idle { ignores EnemyNotVisible; function SeePlayer(Actor SeenPlayer) { if ( myteam==0&&pawn(seenplayer)!=none&&pawn(seenplayer).bisplayer ) { Enemy = Pawn(SeenPlayer); GotoState('ActiveCannon'); } } function BeginState() { Enemy = None; settimer(1,true); } function timer(){ local pawn apawn; local pawn temp; for (aPawn=level.pawnlist;apawn!=none;apawn=apawn.nextpawn) { if (IsEnemy(apawn)&&cansee(aPawn)) { temp=apawn; if (apawn.target!=none){ enemy=apawn; // Set him as enemy gotostate('ActiveCannon'); // ATTACK! return; } } } enemy=temp; if (enemy!=none) GotoState('ActiveCannon'); } } //blow up on damage take function TakeDamage( int NDamage, Pawn instigatedBy, Vector hitlocation, Vector momentum, name damageType) { MakeNoise(1.0); Health -= NDamage; if (Health <0) { PlaySound(DeActivateSound, SLOT_None,5.0); skinnedFrag(class'Fragment1',texture'JCannon1', Momentum,1.0,17); //ripped from cannon spawn(class'UT_SpriteBallExplosion'); Destroy(); } else if ( instigatedBy == None ) return; else if ( (Enemy == None) && IsEnemy(instigatedby) ) { Enemy = instigatedBy; GotoState('ActiveCannon'); } } //from decoration function skinnedFrag(class FragType, texture FragSkin, vector Momentum, float DSize, int NumFrags) { local int i; local actor A, Toucher; local Fragment s; if (Event!='') foreach AllActors( class 'Actor', A, Event ) A.Trigger( Toucher, pawn(Toucher) ); for (i=0 ; irealindex) realindex=eventindex; ProcessEvent(); } } } function SendPlayer( PlayerPawn aPlayer, string URL ){ //no followers/items aPlayer.ClientTravel("NP01eVOLVE?Game=olextras.tvsp?Difficulty="$difficulty, TRAVEL_Relative, false ); } function SetGameSpeed (float i){ //force it at 1. super.SetGameSpeed(1); } function TutorialSound( int i ) //sound play { local sound MySound; eventtimer=9; if (dm[i]=="") return; MySound = sound( DynamicLoadObject(Dm[i], class'Sound') ); EventTimer = GetSoundDuration( MySound )+2 ; //see how long sound lasts. theplayer.PlaySound(MySound, SLOT_Interface, 2.0); } function LoadKeyBindings(PlayerPawn P, bool Check) //keyz { local int i; local string k; local byte keyset; for (i=0; i<255; i++) { k = P.ConsoleCommand( "KEYNAME "$i ); KeyAlias[i] = Caps(P.ConsoleCommand( "KEYBINDING "$k )); if (Check){ if (keyset!=1&&instr(KeyAlias[i],"SPEECH 2 3 0") !=-1) keyset+=1; if (keyset!=2&&instr(KeyAlias[i],"SPEECH 2 1 0") !=-1) keyset+=2; } } if (Check&&keyset!=3){ //generate window class'KeyBinderOpener'.static.OpenBinder(P); bRecheckBindings=true; } } function advance (int i){ //advance event! //if (i>eventindex||(eventtimer==0&&i==eventindex)){ eventindex=i; IF (EVENTindex>realindex) realindex=eventindex; ProcessEvent(); } //} //events: function TutEvent0(){ theplayer.ProgressTimeOut = Level.TimeSeconds; // LoadKeyBindings(Trainee); bleaveon=false; TournamentConsole(theplayer.Player.Console).ShowMessage(); TutorialSound(0); TournamentConsole(theplayer.Player.Console).AddMessage(TutMessage[0]); theplayer.Health = 100; } function TutEvent1(){ //new one TutorialSound(7); TournamentConsole(theplayer.Player.Console).AddMessage(TutMessage[7]); bleaveon=true; //wait until pistol is picked up. if (eventindex==realindex) GotoState('WaitPistol'); } state WaitPistol //Await dpistol pickup { function tick(float delta){ if (theplayer.weapon!=none&&theplayer.weapon.IsA('oldpistol')&&OLDPISTOL(theplayer.weapon).powerlevel==2){ bleaveon=false; eventtimer=1; timer(); realindex++; gotostate(''); } } function beginstate(){ enable('tick'); //? } } function TutEvent2(){ bleaveon=false; TutorialSound(1); TournamentConsole(theplayer.Player.Console).AddMessage(TutMessage[1]); invcheck=5; //flag to wait for next MSG. } function TutEvent3(){ local int i; local string Transkey; local string NextKey, PrevKey; local tvtranslatorevent tr; TutorialSound(2); for (i=0; i<255; i++){ //find transkey if (instr(KeyAlias[i],"ACTIVATETRANSLATOR") !=-1) { if (Transkey != "") Transkey = Transkey$","@class'UMenuCustomizeClientWindow'.default.LocalizedKeyName[i]; else Transkey = class'UMenuCustomizeClientWindow'.default.LocalizedKeyName[i]; } if (instr(KeyAlias[i],"NEXTWEAPON") !=-1) { if (NextKey != "") NextKey = NextKey$","@class'UMenuCustomizeClientWindow'.default.LocalizedKeyName[i]; else NextKey = class'UMenuCustomizeClientWindow'.default.LocalizedKeyName[i]; } if (instr(KeyAlias[i],"PREVWEAPON") !=-1) { if (PrevKey != "") PrevKey = PrevKey$","@class'UMenuCustomizeClientWindow'.default.LocalizedKeyName[i]; else PrevKey = class'UMenuCustomizeClientWindow'.default.LocalizedKeyName[i]; } } invcheck=0; //reset if (eventindex==realindex) eventtimer=0; TournamentConsole(theplayer.Player.Console).AddMessage(TutMessage[2]$transkey$ExtraMessage[0]$prevkey$ExtraMessage[8]$nextkey$ExtraMessage[9]); bleaveon=true; //leave on until player activates translator trans=tvtranslator(theplayer.findinventorytype(class'tvtranslator')); if (eventindex==realindex){ gotostate('WaitRead'); foreach allactors(class'tvtranslatorevent',tr,'r2trans'){ //allows TransEvent to show message now. tr.trigger(self,theplayer); break; } }} state WaitRead //Await translator reading. { function tick(float delta){ if (trans!=none&&trans.bActive&&trans.GetMessage()!=class'translator'.default.NewMessage){ bleaveon=false; eventtimer=1; timer(); realindex++; gotostate(''); //disable('tick'); //log("Ending Tut 2"); } else if (trans==none) trans=Tvtranslator(theplayer.findinventorytype(class'Tvtranslator')); } function beginstate(){ enable('tick'); //? //log ("Waiting for translator to be checked trans is "$trans); } } function TutEvent4(){ //log ("Trying Tut 3"); if (theplayer.findinventorytype(class'tvsearchlight')!=none) //already grabbed. skip to next MSG. advance(5); else{ TournamentConsole(theplayer.Player.Console).AddMessage(TutMessage[3]); TutorialSound(3); bleaveon=true; //leave on until player gets INV if (eventindex==realindex) gotostate('waitgrab'); }} state waitgrab{ function tick(float delta){ //wait for light pickup if (theplayer.findinventorytype(class'tvSearchLight')!=none){ gotostate(''); realindex++; Advance(5); }}} function TutEvent5(){ local int i; local string Nextkey, PrevKey, UseKey; for (i=0; i<255; i++){ //find keys if (instr(KeyAlias[i],"INVENTORYNEXT") !=-1) { if (Nextkey != "") Nextkey = Nextkey$","@class'UMenuCustomizeClientWindow'.default.LocalizedKeyName[i]; else Nextkey = class'UMenuCustomizeClientWindow'.default.LocalizedKeyName[i]; } if (instr(KeyAlias[i],"INVENTORYPREVIOUS") !=-1) { if (Prevkey != "") Prevkey = Prevkey$","@class'UMenuCustomizeClientWindow'.default.LocalizedKeyName[i]; else Prevkey = class'UMenuCustomizeClientWindow'.default.LocalizedKeyName[i]; } if (instr(KeyAlias[i],"INVENTORYACTIVATE") !=-1) { if (Usekey != "") Usekey = Usekey$","@class'UMenuCustomizeClientWindow'.default.LocalizedKeyName[i]; else Usekey = class'UMenuCustomizeClientWindow'.default.LocalizedKeyName[i]; } } TutorialSound(4); TournamentConsole(theplayer.Player.Console).AddMessage(TutMessage[4]$nextkey$ExtraMessage[1]$prevkey$ExtraMessage[2]$usekey$ExtraMessage[3]); if (eventindex==realindex) eventtimer=0; // a wait. bleaveon=true; //leave on until player messes with INV. if (eventindex==realindex) gotostate('WaitINV'); } state WaitINV{ //wait for inventory use and swaps. function tick(float delta){ if (theplayer.selecteditem!=firstselected){ if (invcheck!=2) invcheck+=2; oldcopies=pickup(theplayer.selecteditem).numcopies; //update firstselected=theplayer.selecteditem; } if (invcheck!=1&&(pickup(theplayer.selecteditem).numcopies 0) && (Level.TimeSeconds - LastTauntTime > 3) ) { LastTauntTime = Level.TimeSeconds; NextTaunt = Rand(class(Killer.PlayerReplicationInfo.VoiceType).Default.NumTaunts); for ( i=0; i<4; i++ ) //keeps taunts unique..... { if ( NextTaunt == LastTaunt[i] ) NextTaunt = Rand(class(Killer.PlayerReplicationInfo.VoiceType).Default.NumTaunts); if ( i > 0 ) LastTaunt[i-1] = LastTaunt[i]; } LastTaunt[3] = NextTaunt; killer.SendGlobalMessage(None, 'AUTOTAUNT', NextTaunt, 5); } } /* function ScoreKill(pawn Killer, pawn Other); //no scorekeeper. change later? function ScoreDamage(int Damage, Pawn Victim, Pawn Damager); */ BHD`:jw.D* wD/Da/!.D#i.DV.D-'dq!% ?%a?(-w.D*r*-z.D- rD"rDDDa/!D ?%.D---c w*a/!Hw.*Uw*a/!H w.*q!6!-c'v! ssr*a/!Hr.*-c(v!\q!6!e ZhZ?&NZ6NID 6IIIhNIL?66N66NZC-( SMHj%&: `j% H$// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // SmokeAttachMover. A smoke generator on the mover. // defaults ripped from Heiko's old one. // ============================================================ class SmokeAttachMover expands Mover; var(Smoke) float SmokeDelay; // pause between drips var(Smoke) float SizeVariance; // how different each drip is var(Smoke) float BasePuffSize; var(Smoke) float RisingVelocity; var(Smoke) class GenerationType; //var(Smoke) Vector OffSet; var(Smoke) Vector OffSet[4]; var(Smoke) byte Trails; //amount of trails var float i; //var bool nosmoke; var(AttachMover) name AttachTag; replication{ //needed, I assume reliable if (role==Role_Authority) SmokeDelay, SizeVariance, BasePuffSize, RisingVelocity, GenerationType, Offset, Trails; } simulated function Tick(float delta) //timer is already used :( { local Effects d; local byte j; super.tick(delta); i+=delta; if (i>rotation)); d.DrawScale = BasePuffSize+FRand()*SizeVariance; if (SpriteSmokePuff(d)!=None) SpriteSmokePuff(d).RisingRate = RisingVelocity; if (UT_SpriteSmokePuff(D)!=none) UT_SpriteSmokePuff(d).RisingRate = RisingVelocity; d.remoterole=role_none; //client side spawned. } } function postbeginplay(){ local Actor Act; local Mover Mov; super.postbeginplay(); Trails=min(4,Trails); if (level.netmode==nm_standalone) i=smokedelay; if (level.netmode==NM_dedicatedserver) //don't spawn smoke on dedicated servrs. disable('tick'); // Initialize all slaves. if ( AttachTag != '' ) foreach AllActors( class 'Actor', Act, AttachTag ) { Mov = Mover(Act); if (Mov == None) { Act.SetBase( Self ); } else if (Mov.bSlave) { Mov.GotoState(''); Mov.SetBase( Self ); } } } G]k Ej]]a ] Qwa+] [w\- DHAJHKHEHW@uV--W -W*41MTwr*r @-W  NHGHY@4::$ 4-c-c(u!q!6!eGL Aa/!H.AM-'?%q!6!g bq!6!_  OHK}3 q!B cPHLUw2,r*OLL   Hu2 p~ol18H ZKA H,a_KbO:K/:$rK*KKU  U"8+w.U*.U-  U M^ m+G  ?Vm+? W9XM]U- ?r*-p!DW$"  vTHo+Ay=,D? o+?V WH$!Z1v%h.ambmodern.elec4a M ZH^4Ma^]aL=aL=_A_,_%]w*_hw*s R?#?vsQ?L&)w.*.%a ss\9^ Os\TZ^TOT^ PsOws9a"?6^ @r\s\ջZ^r\T\^ P\a+^ iNGa v6Ri6RN6RG[i^  | SHK #r\*\YOr\*temp is none! Doing roam!!3H}j\ la\ |aw*% O\\*-Sq!q!6a+a #< !o o X)XnRp--Rbp Xp _a!K \*Upr\* Xp NJ::$ w.*:.k%a:.k.v$ @ Daq$ D aHsCHt7I  ::$ @ bHпyrүԝXyrүyrүyrүG aIG H$L=_$@I$@`$CHVtXO{bw*O* JVG a9e "'-'Cff&?g??GU >ogff??GU L?e w*-'e  +>aN'$g Gqe ~>aL'$g Gq e ?aJ'$g Gq3e *?aI'$g Gq[e }?U?a&$g Gqav&$g G=> h9y &;r|*|* FP|F P  T_(LOE: & _( i+b_ &-V-M(Y- z$w.b*D.b-+ba/!.b# $w.b*:.b:$ $abR*'  pHuMu ]-qHN m 7_ N  #-Q*-M'k!/a0 ujuN N 10N a/!Xr.N .N * I({YvF8{I(-H(-' CtHxHD -V-V yHMwH{IN Mwx*.a MzH|HGO  }Hv{HHAR%  @I^-~HBI~Ue -o AI$Y '1%hM CIj`6 @-V9-V7wr*rar* ljlL=lL=_z_,_%w*_hS#S9-oI [Sj uHZJ.aG=w*} ,:D_w*aub%b,d*o$-' ^D/a1 GG-'G $G a(10%.GenIn.gship1 &. xfx.chinese ?} S::$d?}  -'aBBo#-p( $d=,-l (u!Y::$- DI[I |{ sqwa[c+QS*xa  [?,Sx Mx$ 9 PIGI !-@'Qq!U   PdD-P $ JI-64r.*:. &b> m9o 1Th Lh , {h mgh mrh Z-Ry  v9^{n \-^-6^-?OO::$^ e+M- NIy-y? ?pB|=D?, y?, :P*, :e+稨realtimelight has brightnessR|atUy| UEU(ZEE v!U bIIIU !aQaZ -@'a!133? 6X?,d6X?,d?6X6X?6X6X6Q6Q6X6Q6Q6XaQaQ-@(q!6  ~$n$a('::$ ~ A?,C!a@Fd l@@ SIV-V-<::$r a ~wr *r sr 33?r pv! y9{ b wF *.F *@wx *.x *`wO *.O *  aIRIQq!U  X] _IUZI*  [I\I]I^IYIA--'?,d!p Aa  #??,"@A?,d>? >a U~U+!Z~~  sIVI6-@(JHCa!133? aqD6Z 6oD6Z 6lD6Z 6q o l !Bq, o, l, !1 !Ca!T333? aZq!GbHCa!1ff? aZq!G+a@q!G u1EBe'GdI-Nm-'G::$G-'kAG(' cI_+"8-::$ r*v! l :l :l =l D<?,_+=l ,n  UIJlrP* wF J rP*|iJ|W?JHC|_?JB|a.LadderFonts.UTLadder22 |Gb| Eg'|i* 0rJF Ja Y9| lJqrJx J&aa4CSPE mbrJO J&aa4CSPG mb  mIK N|WY/a7 K VUwK * wK  bK K VK q!%V10 T`B4CA~BA CsBOg>Eܯ`>>Pg E gϿ>$`l`$ȿ$?E`7ȿE: ?1;?D`??'?ggoW@ x???7%h?E'?ɷGg?E0$ P$x~~j'?'? ` >` @ 9`gIO?D?8?>go>g??ggj?F?7`D`?( ?)?1 ?6@f`?WBKIDPBD'G?G?GGϿ`>G@C `H)@?6@7 $(OgGC/We??WWPP//A/E(F(AD(wA??* g'g?h l`?@e@'+@ɷEl`lxlx@@'~7+@DoDhx)WDPg@xA `@8@? A$/@///a(@b(R(S(Cg7g$`/oπ'gH D`$pA+ $Ȁw pܯ (80`G1@?$~?S?D_>X> W$Pg`ɇ'?ȄDG xD@?7?@K@DGo?lh?Jg?b`?G?wp@g@o?eh?ȃ'Dx77g7`7 I/8(>1 ?σ1@wA97pFAF؇?oExW7P/A77(AgS`7xooDhFhi(?8χ?xևɇ7χ?_Dhfx/ (1?*Ͽbȿ XD~?1?1?DD>~%@@@ `@Ƈ?:?g/7(և*@ax@Rx7x >Ͽ+ȿ sB>AR A:sBT`B4CA~BA ChsB@:T`B4CA~BA C??@4B??O    ( 3 /+<>>$7(0 ;+-MMMNN 2.*,\FF- HH(+<<jk??jrsr\7"zzz/WS##6 d+h! \0; Bv-3;;00*<(v 4BB,cg B$$$@o$_Q5{zOQ)"\/7's ruj4w~y 5zu44JK/daekFHmEG1`7hL"bf>x_ID*+cg.:2<VZ0;, &%[ EG:C]38LLM9)'N:<) X /snoo 7ts&R|t]D8|&6z8Z=,zB"4B)"85[II<[HaZ8[g'K'fgHf[LFGG  FXa/X/Y@<@bbD]>)4:~>*~)5)i=23*E2E,3qq7h6:h%%sv  Ite5 WkCd NdICkYYuuvZLJ"/iM-`-LU^zih_h^zUL_y+_]#]^yx+_w`-#wx u:Rmrmff$w$r'Qw%%\;0'0Vn A!0A !M1WGG!1ZF27McB}&J  &bcFbWKDEE  DT T323U?!1?pAaa;\<.09}<}(1(e;.;.J.yTqpp6Rd"9d  >$${#H|X54`jOc4NcHOj7,,mk~xP}~V K (n go+r m6TPygVSVPpPAS(Xe==\jnkrl> jlRQ9 QC9:S*`W#|t{suxBl@OvvSClQ{{NO@?q*o\+NJKeU^-M?iYX 'gQ?%%ghaaPHPEO T?T(@??_11XTSTST?T?[[slqjRVu[rZr]00&\oo&tkZRRZf&,//]QQ]kQ1RRQ&\&\/P)t"t6fww8!k"k,")(!VRDig*giCC1+22+f g f&2&f1C1'DD}u66H|GG|.-{--.G.H++H,xQx$,Qt66t"$",$xt$x$Q5swwusuwyvzywvsu*uVuttRRt.R1R*vjjjk--. j ..* jXj1iWQPVOO1j.. - -. #T LTh""7689688)oqrn;5cRRKcQKccc#$IJg#%%MNJH  "" "    %N%NJ%#J%MNdg_gfeef``fhhf42::2&vob-xl{xoyw1 1 1ovvb(l% * %VVU ++ % pVp UrrUq__^rnrna    jsssmuu au`aa`ssj jgE`f`HENE@L=L '(^^AA ?SO>S===/ \ /SSbS=Sbb= 11: /``/_5;c(c1<0[<`)N%)8Z8%g!i003TT!![[~i%NN%Z%Z!l!l4<<3/9/}8!dc|QyB6dd6AA/00ede0e/A/BBY2/SYY44Z;F;1:EE,10+++,E,F>>F?pp#l44l#!!#p#lp#3kookmmqoSSnmk/cz}~ "/hhh|~i}-{wywx- UUwUQ)) -'-JGSDLGSFIIWZXBYZAXP\wKBY^bDDb@bbbt}ty }}FGHH  tt}<F86r:}~y ezz-]+]M+_Oc \DMEg@<?gQ@M<@QPP***d\M?9\*D@]:?<H-4]  XWXlx||LzK35ll4JICo>v;:K{Y[{O('ZyNCC)M7GE;e ' ]&]EgE((h? 34:]LDCQ|Q{b|b{{]a]{]]FFJ  h((32 &3,3.35.q((M' l ' o&+M,3,,dVWVSVW ~RVPc )%dM\P`5h!@,& &&0o&8=)()/-v  !"#$%&( * ,-./12345789:;<=?ABCDEFGH-0KLMNOPIRSTUVWXYZ[\]^_6abcdef"jklnoqrstuvwxyz{|}~mtxy=`dU\W[ >Cjkp349   *2*abd !%(+,-9/<12345679:;W?@ CDEFHAJKLMN/PQ1+T-.WXprs%&(efh.cdefghij"lnoqrstuvwpyq{|}~$ }Y34g "'VV=?{*,  # &yz')"#%&'(+01!m4n6789:;su>?ABCD9F=HIJKBDPQRTU;<[?]GK`ab^_ef_`ijk mnrZ[vzw|xywz10TU*,#$02^`7j]i('EGv}~dkdef2823olst') klLNI!#'()*$&-SVX256834;7=>@ABC?@BHJNOPRSQRTYZ\X^[`bcdfiRkmlolqpsutwtyx{}~~y @D7;nq?C .1Y[  cdQR]_g:=?Kmoutghirz~!#TPOyzghHMN HK/0%'!$&@A)*01{|3n5v9:LMK>$@:;&%NZZ1G U>AY^K+*lmpqs| .yz{Q  56hi%|}Nbc  BCGmnuv  ^DfaKN$'EJm np   +*Qlq`d]_+.:<25vkU?RRSip0R6h6=Qd{5kL9SdߚoڵlU+15Cp9R{535dkUP2U??sLQl9goѭ0dt5 = g  l ? pd Ce re l f b 2 k+ 1 U? c h l  l T, 15 C ojUP2L9?sLRll?Cdcdpdkelf2k+1L9SSlKl?IcJdJCRrel2UIddt Kdj2\cdO\\d%?rIqJsJsalfKlUHRRcstӇ [cfhqqӃ[Ӈё?rIlJqJCRs`llf2Kdj2IcJdJCRldl T l ۽ f b d!=!l!!"0"Q"""6"#9#;#]#|#$d$d$q$z${$$$l$y$$F%j%U%P8%R%&k&U&P8&Q&'R'['f'%(S((ij(3(d)>)l))*[*c*h*l* *+S+l+۽+e+a+d,S,S,\, --Ĵ-4.cJ.qJ.ld.[/Q/l/m/x00V0e0g0Q0Q0d1$1tK1cd1Ce2dJ2qJ2re2Z3H33u33334#4H4,44445355556R6v665667R7l7x8l8U8'9l9U9':Q:g;;l;V;e;f;Q;Q;e<\<c<d<f<h<q<<Ӄ<Ӈ<ij<=Z=h=j=q=>la>d>Ӄ>ё>ܘ>>ڽ>>(?\b?d?h?t?ɽ??(@kL@Ӄ@Ӈ@2@A\bAdAA(BdBdBhBBBBlBzBBFCRCfDJDDET+EeEREQFVFlFfFSFdGT+GeGPGQHVHlHeHfHPHdIKIIJKJrdJ0KKKrdK0LdL MRM[bMfMkMtMMMM(NQNlaNqNrNtNNN(OZLOfO2OPRPlbPP(QkKQqQqQ2QRQR[aRRScdSpdSkeSRTdJTsKT[U?U~WUlV?VrIVlJVqJVlWcdWpdWreWRXcJXlJX[Y?Y~XYlZ?ZrIZqJZsJZl[c[h[l[\S\\\¼\\`]S]d]^\^__ü_O`$`lJ`Cd`cdaTaeafa[blbfbfbdccAdldmd۴dbdeeOefe[flfffefdgg?hlh۴hehaicididiqisijqjqjsjӃjijjj`khkkkkLlqllijl^mdmqmӃmmOnUHntn o[Loho2opkbpdppqsqӃqqVrdrtrrsdsdstsstuuvóvvĴv`wwwOxdxdxxyaycylzQzzz{R{S{{{|}Q}}~c~`~lQ5sKpdP܁lKpdP܂]w6|^vЭ7{l۽l۴bʇdʈlmdʉl۽l۴aȊaʋlaȌ??lōk+8L:k+8M:Sd¼PǐQǐeȐQPǑQǑdȑRjlQ’jlklQ”klQǖRȖQۗQǗPȗPܘlR[dfó^ý|ҜҜllfž kwll kvllSckޣfgqӃӇ20LpýôĴ]ڧ=ҧۨYgHʩSU~ѬSUflddlFݰSSޱpdrelhl<hl<ݶy{ӇlcsѭfnlddjlFݺkKӃӇ2kLjzl<zl<ݾLjLq2dЭlylylylylxlxlxlxS6hhmi?}Ll?}MlwlkLf2[Mq{>|>lQ~`lflQ~alf>lQSýz>QwRwlRS Sd dtidqijô],VUUegfe10LollPjdidߚڵ\L2<A<?Rdhr[fg+'3Ofq:tbwY~d:Xa*qK K lvmeffZdf[M h  ü O md pd md oe e T e QlluljV^^PRQQoJldpJmdSqqijlve^^ddyul sW !sW!"T"c"ij"#$%f%e&d&f'l'`(l(a)k)Ӈ)ё)ܘ))ڽ*[*+,,V-K-.J.l./k/ʳ/]0˽1J12K2l23ʳ3T4˽5[5h67pR7l8A9?:J:l:;l;<J<l<=l=>l>?l?@mAlB3B3BBCmJCpJDmJDodEpJEmKFnJFoeGT{GHUHIdIPJcJPK\LpSMjnMgN4tNNOZOӇOёP^Q^RcRdRhSRSSTTTdU[UsUV|VVWWXYl+YqeZl+Zre[Q[a\R\a]\^S^d__z_`l`alabfqbGubcJcdcdyde&f[fg[h[hiQ~iijPjjkfkkktklclmmdmn&o?p>qdqlqrdrlrsz8tz0tWuӇuΐuёuvy8wz0wXx[xfy\zqzrztz{z8|l|`}l}a~S~c~kSSvwuՃwքoIoIgͽV@t{Ҋz>U?ΐƊ@ @? >B// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // purely for orders of mercenary follow/wait. // ============================================================ class TVbindings expands OSAExtraKeyBindings; iIJjI~5Q?i@v Q]Operation: Na Pali_ ]Friendly Order Follow_ Friendly Order WaitJ] Speech 2 3 0J Speech 2 1 0EJQ$OjW np, zQ$N$ u.Q$N$ pDu?, au$@ @                              lw l.o/a7 llkwl* wl blwl*lVlq!%l10 dD Gwd*dKK>wK*KddK* nId.J ?KaKdKJd.K HJ  "@ "@ "@"@*"0BB@@Uվ5j./ml2i>G4nYYn9nn9//Dh[8smUѲlgNN(AAlmnoI\Zʒ||JvPS);=?OPv])lIlAz;=-E`]3;zq6νd}xffVBZZkZa6qZʶz+Y#Z-FhhkFGFhZ-Fa ˰xjh=dj̈́4g|~Aλ|xDD,AiiAiiQdKN+00 *u !M{&}QQN}u g'%$"" &}"%"'vyke{UiU&$%$$%%ш0YȢ lFf4Fk6CqXqf÷✄:_RRN0'$pR_whHZJ^L+ ăй_L^22kL˲YY˯0^LJaIJ΃g%uZxY=N&эLb攁$ыgc" ĨβPmY$4V@}zkZnl}xW>3:Sqkh7yww$Ωy]][iytuҍ>dt0ʲ΋+yKpkdЍD?$NΈҢpEYmƖYYɧYGS>Ym ũ1q::ki7U)h=֭}wgggPрzŪȀ' ,cѭ_~΃#0,lMfد,ׯѶD@@UoIIs zI.wK*K s Inrwn*[znJIrnnd5rnrn*J InD ndKnn MJgIG(w Nq!6 nUN// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TutMSGWin. based on Legacy fakewindow // allows tutorial question // ============================================================ class TutMSGWin expands UWindowFramedWindow; function created(){ super.created(); bSizable = false; SetSize(150, 160); WinLeft = (Root.WinWidth - WinWidth) / 2; WinTop = (Root.WinHeight - WinHeight) / 2; } 7%n44_,VNPCredits2.unr?Game=olextras.tvsp$( vI^  wIyIWQn *' @"""###$$$%%%&&&((())),,,///111777999@@@DDDHHHJJJOOOSSSTTTZZZ^^^JII544>==?>>.--322&%%('' -++FBB &##1++RGG  7 4('+/'&.!@:9"  ,,+00/&&% ""  VWV?@?CDC343787'('deeBCC<==hjj-..  IJK 025!"$.05'(+#$'BDJ #JLS)*.()-QS[ !%'(.OPX>?F78?FGPMMNWWY%%&''( !XX\##%**-559  ++/,,0KKR" 77=##'77>--3##(!/.4?>C"!&659103)(+DBH " *)+SQU&%' !! "%#'>=>  %#$\+7 -( DC?,?,\+..J)= @?,$?,A 7 Y,-'HCBQ |IX+u QX+W+ I  "@ "@ "@"@*"B0B@@+0llɼº½ĉ|VFbaac02H#&][<ӓޣTݓC՟c-10/1!G IWZMK馧ݦ٘ڠ׌Pd_1.2! R߬BDUUTKӠڝՠԈ=崑S \ (0 ܪ@Ԏ9ľϽɉo6xASD" ]&bب еp~fhT֦))+/3eoǺotygtglnmUŜ'++*. kxsrxw|_VV`V``d"RHJ:@@@9-/03579=BP,,1]^b5689:<=?@gyCEIUY\^_beehkmpssux{=8^ O Fc .5FLe A2FIJc7Q:=?WCEHNru0X]e 7ozABOQSkorv? I F ? Q Y /K C E Y [ ? I S A A L V X 0F S `?K Y 5A C Q T <P ] AU a d g 9MN_ P +AEZ p 1Ka c | j m t "b e f k m %&({ +35 c 4 M X P .S C e *^ i b []s ; R T do h)b,_ jR 5X &K M c f i wn ` d #$d g &W *r~j *st' !#  : }I@ F#?C  @JZ+Q"o?C?D?, D]?6  6  C?D?,2x Z+]?,?,?,?, @wm 3 wD?,w .%a!va $ G&a!| a $ a,a!Za $ {,a!Va $ + AJ[+v/H).N. v[+  H:J:od  ? 7 R,-'HCBQ FJI*u QI*H* @%%% 665--, !! $$        120$%##$"8:6$&"%'# "   "         %*!" $ .2+"& '! "     !361*-(:B5#%-  0<(#%0 !#.* ) ',$6=229.#!")!    !    '0"%!. ]_\CEB,.+"$! !% $*0'   %)5#!+  %$    &   "' "  473'*&"!'  #*!   !    jlj)*)!"!"#""  "'#      !$&()     &'- "   ) ('1 &+*.  @000n(e0"9) ?*#sZP%#"6540/..-,*)(<:8'%#C?;USPLJGFDA863:852/*rngFECJIG@?=BA?DCA764986('% ĽWUPPOLUTQKJGLKHNMJGFCHGDIHEƾ98565243010-21.+*',+()(%#"mlhrqmºYXTDC?wul32.yxscb]WVQrqk_^X]\TŻFFE776ppnuus--,//.[[Yddb''&rro!! BB@jjg;;9>>ZZV))'<<9>>;''%MMI}##!,,)&&#$$!}qrnvws}~zdeaEFB?@ ;M[ՐL+5{YPLI EM[U?&+:ᚗ{ݐݤv߹caqbħpn՟@@UCJn Vh 0Jm a@q!G  KJT-d.@).j. dT- SJ  "@ "@ "@"@*"$fg04C@@^^m taz+rq Ԁ9avUd(m6QZ')/5;=C]sƵ |7ǾApiq8Ȏjf)}|(ܒ2[&&q4rϹ0 m*su񘘗띕-U} oۉ蟞93j! ۿԈq_`~猑-u\]gxhlwz$#e!i-{rcWX[b[PWO!i!{TRBLNbMJGi 1VJYXWO*,璂K:kHSn y.{>TK;RI9G?1ZP>g\GSJ9OF6i]Gzg{fwblcQwmYukWXP@zoYu^f]JmcO{pYoePj`Lpi_Je[GncMrgPYP>g]HpeNodMxlSbME5sXVM;YP=i^H{nTpdLeZD~_RI7]S>xkP|nRuhMxY_T>qdJreJwiM{lOqcGsRwhJ^zjIX~uaʦkcQծg_MaYH~fofRpgSsjUyamdPx`egofQyoXƝTM=mdOx_gRK;siS~s[v]w]~czoWx^VN=qgP{pW}agbYEJC4kaKy]dk`WCmcL}qWe^UAi_IynTfQI8qfNtiP~rWz]}_~`hvkQvZ~`HA1qfMdZQ=f\ElaI{]ejıncJodK{oSdhmbIvjOrUascYBrfL|\rj_FylPwXy{XO:f[CrfK{nQsU{Zal~\ocH}[_tcfrxpuTVL6yVg[h{UtL|iٵzr]̦̤wnXl[TCv^kΣ˻bZGneOƶxɜt_WCsiQlhu{˺ŗ\T@”[S?e\Fm{ѿMF5mcKx[kʸϽvYiIJ`kkujO}qTiIJxY~]lfjðow}bX@hjl\YҪnfOk˹@  )3&#  ( E,    @.;*   W:M2 , -#%." E2- oLdC3"#q ":. 4(2&) kNrR]R>H=)>3' P? H8#  # yYgK 3+UG,%+$ B7 5,!  [I$dLT; <+sN60"*%3-)#2*)"q['fR#yTYKC. $ +&:3"+&1+81?7"E<%"J?$YL+4,yc*hKwowoY)&:5& ($=7&93# %!VM2,'.) )$yi9aS-lWVA 2.!GA-"!QI.s4ҥ84%B=+&#]U6 TO9 -* )&e]:  L zC96(=:*  zrJ ld==;.53'@=+ #" ZWALI2X*)|hplH10$76(:9*caG}ZCB0GF100+ AA322&%%==.$$PP; MM8QQ:UU= \\@ffCEF6?@1;<-GH69:0+,"BD135*%&!@C5BE6<>9PQOCDB<=;/0.CEA795UXR!#15- 9>5/4++0' fjcX\UPTMKOHHLE=A:>B;/3,-1*)-&'+$%)"#' !%#   ;?98<6! &$"  UZSINGFKDGLEDIBEJCAF?;@9=B;6;449227005.).'*/( @C?9<8-0,17/% 7;6!%   =>=IKI-/-?B?hii344=>>-.. 44599:**+   !DCDFEF&%& $).&7 n`-(C C?,?, GEI+iL I\J]J^JES-4+H-S-d ewd *Nwd d a/!o  d d  -(_ \:  " "@ ""@*"0GC@!Py^lZtYgd??P4*477`=$$,,22,*4A* (kP^\m~<<^==VbY^ (@ΟpUwPdwoh^kzkppk5|J@|jlo =оOV`dfTVZpplhkjn=k<@25z- *z)O_^f|zxISJÈ{IkkLzIcd-# =ӅELxj@}OJ@{LFIK:KO/K{x|{JLcffw\-P7C}p{3Oj}K0%J1NKFF:%LzJO|J9OggffqwZ__+*+P]C||LK;6Vx9|/1N00/NKF{|O{8wigĮqP\qm^`VpVbVELHk{=X7 ,IJ{NN/FS&NF/FxL9OFL{H\gqfgZo^m]Ry;QapILz=;ISJz}:F.F|Ouz/FFL{giydfR~qgyokk^DCCO} R2|LOJIJ|OLFOx/JPPmRwXfPy~[iƋUpho~aDSkX; O{}9S9NF|OFLHO{q[iXqfPm`j@lhn~щR\ :|z{FKF|S9KKF/JLݽmw_T]yg\TpZqZ{Gnllхe)v] OJKKKOJNN0N:KOFEFNNqnRmTXletTMcGJCCK$O }O}0%KKKK:NJJFNN؁pp`anTljpG@zhþw2 V:FOS}~~OSSJJF::JL10N/KSloXZ`zH|z|C܆Bj>3@jjz|zIOLJxJz|ONON10KKKKƌżyƮϯLL||WN1%9pk}LuOSJLOK0ONKN{||{p̫|NoJ|1/{ILLJLF/F.N0FOLrǕ|GBNE|O.0Oz{9K/NNNKKN//F{>OO}EsJNNF|S0FSKO:99S}S'SKS/̾Ɋ:BBSKNBΈ}s!./.9"9F֗cǰzǸsǭψǿ@_JG7 F`- (-(CrWARNINGpOperation: Na Pali has detected that Decals are disabled. Not only are decals a critical part of a Single Player experience.  Furthermore, if decals are disabled, you will NOT be able to HEAR DYNAMIC foot step sounds!\nEnable Decals?\n Note: This message will not appear again.$$$C-' EcJyR m:o:$y jC9@set ini:Engine.Engine.ViewportManager Decals true4m :o:$y C-] 'b4  bJq\&o  r*()V$d$(IP \&sD?6I?6s  s(' G7 d- (-(CrWARNINGOperation: Na Pali has detected that Dynamic Lighting is disabled. Without Dynamic Lighting, Operation: Na Pali WILL NOT BE PLAYABLE! \nEnable Dynamic Lighting?\n Note: This message will not appear again.$$$C-' EgJnR iw:d:$n tCC@set ini:Engine.Engine.ViewportManager NoDynamicLights false4w :d:$n C-] 'b4  [JvL mJEq#?   N // ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // Mp3Event: makes use of support of MP3's which galaxy can handle already. // Note that transition, song, and songsection mean nothing! // ============================================================ class MP3Event expands MusicEvent; var (MusicEvent) sound MP3; var (MusicEvent) bool bAllowTouch; //can be all simulated. // When gameplay starts. simulated function BeginPlay() //fixme: coop { if (level.netmode==NM_client){ //no ginfo MP3 = Level.ambientsound; if( bSilence ) MP3=none; return;} if( MP3==None &&level.game.isa('tvsp')) { if (level.ambientsound!=none) //no idea if gameinfo or level is spaned first???? MP3 = Level.ambientsound; else MP3 = TVSP(Level.game).MP3; } if( bSilence ) { MP3=none; } } simulated function touch(actor other){ //can be client-side if (bAllowTouch&&other.isa('TvPlayer')&&(level.netmode!=NM_client||!baffectAllPlayers)) trigger(other,pawn(other)); } // When triggered. simulated function Trigger( actor Other, pawn EventInstigator ) { local TvPlayer P; local Pawn A; if (roleF?.I ( A[%z,?z,F nJG=q#?333> zJFq#?333?> b:  " "@ ""@*"70wC@=#1P(((ǹy¬oo_tF?)3333%G%%"""L:/"%L33%"""/&'':P 7#XIIXYgU#9 YԹy³}}aV!//!!&&''#&''9=.7;CDM mk5wiO Ma~Õ}y÷_VV0fll*l* hhM$NNmqnix+Eu+EuEu]xxΉ|ɻʰи~~aa`a`m>kkniixx׃锔+̥k$i+>v++xz>ikqķY}}}P}`}ȧbbЉЧ' . Ug 66.==, ,,.(@.=.7; UCC UUUjMee >r{|RONjCۨǨ{{֓{Նc|ȧ|||c|||ȗ||G-/ //22/22//K8//!!8B::&'::(((9#t`W_Y#.7.=, ֨dž{҄{ȧ˯cccc?????44LLLLLL%%GGG-GL-. 4?433LLLLG----2222/8!HSP. SQSp ((d'tƴ᩟˵njֻɨBB!&'KKBBKKBBBBKKGT82/ /8888&K&':dZXX`7T#_XX`t 99촟+ӜʰD@@@MjgDD CDñM 7;DD@Mjeeehh skw{N*h$ӿznɻ; DjC777666 CDѫl; eeh *lrkx^[nnv$$$iՄڜqɦ閺D Dg;CC CCCgDг 77767CCjeee0mLrOL?LL|rH&sOdwO*?Oa/ a/O|D?|?33>!>! s|D?|?&w* O|Ok Ls|Ds |BwO* wOmO TL`w *i k #k %wO* wOmOR?|k sL_\-z!o ?|k sL!?||DwO* wOmO{Osk _ab? @v[Mx>C=TN$ fa0%#US:}N(',+ZY?fasq:65MM;DD4\\CVV>nnL33DD$refC<=&DE*^`7RT.-.TV5PR279%W[2:=891HJ924#JM3)+LP-jnR?B-HM*=B$;?)V\A2E._eRY_L#&5:+(, "!238,ziEL;W`J-2&S\FiuYMVAPZB=E29B-m@K1 FR5&-&.6A&$,"*rzhltb.2)sc?F6n\gN:A1#BK7!@I5;D0WdFLX=l>H1'.8B+oUZkE;F-XiC4>'DR2)2/9"'0&/:!%.W\QQVKuCH=em\[cREK>GN?;A4BI:05*cnV(!9F+]~reytpP9[RlGM\~YYHaappL~\\\„YNĀpq{MM```sO޽Io몤qžǰ}~უ򸜢Ōj(iQ̰ϤimYo( ,mPqԦIQQxeճ׵ה·ʫYqj6)oonÿJꏭbm[פ٠ݻŋŦŋǡ^ۻo```a패$ʮ]^^  #+cٱjcReeryc䇺[Wfͬ^]`LiGGGGLr< .  #cxcږӒzRFU|ѮͦG`P HY޺_cz C!!4A';geyӕֳߚeeW_maF6lB_{x'+1VVV:=swڕxڳҪ_{rOIu5栐EuD"=zyӱ@ 9x^>]3V'.OĞĞNNęaL:&Ax;1:&0r[Y]'<26}dv1=0R߂&*'L~aapY|r%mfg]]^3*wQis IOIm@DK  " "@ ""@*"ڕH04C@,;LO9,A;;QB8Q; -:O9(!87[B8>< I4I॰ǑWALA*1*>/;'++4a D. {..4.篁GT3Ļ;LD'*'0= "55o K$ 5ho $54yԇĕTT[Ų?VNZP>0220K%\#`3IEERگ˹`::߲WXE%c)F<<01dgؘ#4##F$dh꾱χEX-̵{ۇꮦ#Z-cΓ٩{p#ޜ*>1 )'(1㒺ɲՊʳ;@(!7?@(F,ɲ-CӱȹȹԨՇۆ ,W;TVUGT`Ԯް{H8> 08(!ӱߌɻc؝`2ڮѰzэ릍zwԲ"#6::Russtsvoȴ ڤz,Gg"}zo񰦜{|ڢd%gj SA76 mlmkltڂfw{w{ќڙdwڟ؝ڵnԹ۬иہDXZHST7IDvmssm`ڿԮ۵م鑟ؘϮhԨ cӎۮ¯ָ͸͒զ릅W,::HH;;/4ףݣޝȬ,#₦ѮxFeffoo휦ozޮw:Z7[[Z/%ࢌɧɢߨعԵԒනڨϦc˸ڵ n͂rzoт ѥ,;[JJSg$͊Ӫ~ެõյۨxӤςވχѤW;CH7TTڇ뵾އϮ޿۬Ԩ%[cϦozn툈އѬqW,7LGXվͯǼ˒ȴϤϬx"ޜo낈{XWERJLUWDڛwoќ뒞ǥ̦ѮFzXW3I7LUTDoqii{{ڸõˎo㬵Ә. :XE:VUT DԫioԦϽϤ㇤ZX-VON$wѫс:XNU ڦ㮤т~haW,VG- D|hчςz oWZ-,VL,"ۮρޤψnφ««;SSXAAJۮ뮮އϤ|hWJ/[SQQ:¦ohSSRI[QQZe` hIPHH8B3R%F*H/00633%.F|~|6`24DՅ\22\ ~ۤ)\wo@CKEs H % ra*('E%'as  $,@ a@a=,q Eq %aaa*(:_:$an ?an ?an >@??q ?p ' EKv J7*v _7r vv =,[:v ,a?oa?a>@??q ?p a:v s aG:v s aaan a @  0//211&%%" %""+1,<763*(>:9#"YVU 5/-(" .'$1'#&4)'&$"!-)'#I1$G)*%"=,"+QNL?<:@6//& - /+(72.%!2*$J=3P8&E?:VKB+#$8(F#bN;G8*987963!xmb:3,6/(MC9+%o^L%f^Uu@3%\H22.)B;2`UHwctfTMJFHEA?;5?90,)$ .-***)553%%# I}A,$R  7)8+!   125 '(-$%*  (" ""# "--0EEJ&&)44899> )).#" 44>&&.!%""*#))4  "!!-IHQ!/.5A?K!);9@" %CBD$#% &#)758)'*a`a989<:>>EEEJJJYYY*))"!!311966IEE=88%!!G55ZJI^NL%`=8/   7-(-*()&$0,)PMJ^K7)%WF++*(  e[D/'JA*_^[0/,#"=8  $#PPO;;:..-//.&&%TTR::8220441&&"44.%%//$;<*"#14-/ 9:4[\W>?:)*%HK=beY02*+/" lpc (+"57202-NUC {*-&1:&?D9JPC 0 ) { Other.SetCollision(true,true,true); Other.bhidden=false; Other.SetPhysics(PHYS_Falling); Other.AmbientSound = None; if ( Other.IsA('PlayerPawn') ) Other.GotoState('PlayerWalking'); } } } } ~JwnIGw.*.ID JKD@t}DOO x$D ueuw.*.-g e-    MKbne )xvwb \:b:$ bpMalcom$v bI%H%F%  NK[I[ p([0!~ !ia&!i[YL?a&!~[Ya&!i[ SK\q Q h'[0!J !Ga&!i\YL?a&!J\Ya&!G\ l:  " "@ ""@*"Uc0@C@ zgF{Y$hgeXUIc wv{z9iUcb~..4.5ћ&^h:+>XVXH*vVuEHZ܇h2<BRy\}J}ykM_$?*i6rV=d}y`AxSN!_+"M҅APtOAsx%;,޽";2aaRwQxxAPOop9*sb}T{##K3BTd\[0;1*k V[b[3z|czfu~VUzWfeeD|{c\}<$@|:  "@ "@ "@"@*"Z0D@@tuvwxwtx}|vz~y{~zɽϽȯį@@T7u. CC-' .  T.yN-T .= ?,8?,@BA.= ?,j?,@BA ( QK\I) `\pppppp?Game=M-?Difficulty=S.  '?Mutator=  4  '4  R'4_V\$( UKc{G b&[0!S !Fa&!icYL?a&!ScYa&!Fc YKQ_ 7 %wL!i !Y<?a&!JQIa&!~Quh?a&!iQua&!DQ ]7 ;].y]gn  VKyo WKyx rO .]8wO *f.  X fO fO O .O Urt, S%StyS  Ozyf.  uywf*fD  \fpUnknown map in Map List: yS b  ZKNW' 1#a!f =::$Na  #L?a<" @wN*NAN$N 6N 6N 6 [KQ^e0Q!\a!D = ]Q!h -W y>a!Y = 6?, @??a!i =a!O = Q!K Q!ua!G = i6J&6333? -Y?Wga!F = 6- ?a!u =a!D = `KMQ{=MMM=MMM{.>ll? zN$@@M(D>L? kM$@@M(D>L?Y6- M #< $@M?@(zD?Mu=a%!Fa%!br*?,a&!d=a&!J=;;aa%!'o$;;.r*?,a&!d=;a&!J= _KQHvaKTpL  w*O`? `? `]T T` ]::$V-:%-:%------ :%------  :%---]ow*N`w*--::$:,9 ` N33s?I.o--::$:,9 ` N33s?IOT`? `? ` `V-:%-:%---- :%----  :%-- w*-:% :%-(- (/a0 QwQQ #Q-yQ y?%Q y?%Q QQ)oQ ?D10Y T&o~r* aB?X94<@---a r?%a ar*O*wI*HCI?gL=I #???W iD6g,iD6g,iD6g,I-W ,@I-W , I-W ,W :IJ=:=6,, -- - r  ?, --- ----J6,6,CHW  w*a r wM a!g;] q!g w w*q!*-( q!c iKs'h/-s'Z'P' fKbKDlH::$- ?- Kjj- _ IKV6_ dKNtԝXԝXtԝXԝXԝXԝXԝXԝX GFhKeK]S gK_  kKcKy  iE(f {E(::$ B %yB ,bwB Q*B iB QoB i%B "  nKjKy V7l.  A AC?l$l( l[&l.  C AB?l$l (Datel[&l. C A\B?l$l (Scorel[&l. C A@B?l$l(, l[&l. C AXB?l$l(Play Timel[&%, @.  A?,,#C?@(VA.  C?,,#B?{E A(E A(06/04/2002 10:00:00u. C?,,#\B?u(SoW. C?,,#@B?[. C?,,#XB?^{|c}|&W((J|c  [(X |cW!(D??,  [(0:00.00u .= C?,,#HBAu (Statisticsu OAClick here to see a detailed list of enemies killed, weapons used, etc.u -o%w .= C?,,#XBAw (Map Timesw HAClick here to see a list of time per-level in Operation: Na Paliw -o%[$W$u$ _// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // Light Attachmover. Allows attachment of lights in Multiplay. // NOTE THAT CLIENT-SIDE IT WILL ONLY ATTACH LIGHTS. NOTHING ELSE! // NOTE THAT ATTACHING LIGHTS WILL INCREASE ILLUM TIMES LIKE MAD! KEEP THIS IN LOW-POLY AREAS! // ============================================================ class LightAttachMover expands Mover; var(Attachment) name AttachTag; replication{ reliable if (role==role_Authority) AttachTag; } //simulated so it attaches non-replicated actors. i.e lights simulated function PostBeginPlay() { local Actor Act; local Mover Mov; local light Light; Super.PostBeginPlay(); if (role==role_authority||( AttachTag == '' )){ // Initialize all slaves. if ( AttachTag != '' ) foreach AllActors( class 'Actor', Act, AttachTag ) { Mov = Mover(Act); if (Mov == None) { Act.SetBase( Self ); } else if (Mov.bSlave) { Mov.GotoState(''); Mov.SetBase( Self ); } } return; } //client-side checks: foreach AllActors( class 'light', Light, AttachTag ) //attach lights only Light.SetBase( Self ); } tKYP0r* % 0rf*fXw*Q fY!^w.*.PYXf .mK}7^  ::$ @oKX'yrүԝXyrүyrүyrү%8x. lK`.X U` |^LC`.  D*  "@ "@ "@"@**";08D@@@@@pKZCZ-Fn}Zn,ppZn,.Zn,  xKmg HRPm mmm c -S( un@e sKJAcD?YUJf~UJ.pYfYf&,  zKIQ Se"I,X & X ,YrwY*[Ya/!w.Y*.Y-SX &wY*[[(Ya!'Ya!IX &Y!.Y!I %Y!6[KX &Y q!!I [Yq!6YY;}- NX &NL>C nMdWatch this Area!N>C x;dStay here!$N?C NdDon't move!\NL?C hOdHold this position!C iOdWait here until I say you can leave!-NL?NL>C n<dCome to me! N>C [<dFollow me!CN?C u;dLet's work together.qNL?C b<dCover me!C y;dGet your ass over here NOW!w*aC$AaC$AaC$AaC$AYwY*Y-Ya/!rw*w * qYd!^'Ym d!^'Ym d!^'YY'cEa cwE*ERIX d( Y@KLR M>R wR *ER a!6Q ,&%R a/!w.R *Q ,,%R R  uwKP+bkk,kP+k&VkVk&E kE k&okok&|k|k&J kJ k&` k` k  D;  "@ "@ "@"@**"[0OD@@ÿ@@w4// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // SPEnf. Simply an enforcer travel hack, which will allow the doubles to be set up properitly. // ============================================================ class SPEnf expands enforcer; var travel bool HasTwoEnf; function SetSwitchPriority(pawn Other) //allows use of ENF properties { local int i; local name temp, carried; if ( PlayerPawn(Other) != None ) { for ( i=0; ij, 4'jo>jRj,   bjjVO+jo'v jE 'j|pA'Q R'V%^V,$V'c ?%^j` ppj` AV'c ,VjJ pppppppppppppppppppppppppppppppppppppppppppppppppS' ,S' ,S' ,S' ,S'y,S' ,S' ,S' ,S',S' ,S' ,S' ,S' ,S' ,S' ,S' ,S'~,S' ,S'A ,S'| ,S'H ,S'x,S'P ,S'w/S'R,V%hV, jJ ppppjJ AB6s!V'`R 'Q ,AB?6FV'`R ?'H '| ,V   F// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // FollowerStooper. This function causes creatures to leave the following state, so they will not continue to next level. // place the follower's TAG in FollowerTag. Note that traveled followers all have the tag "traveled" // Use ALL to stop all followers. // Set ballowtouch to make this a simple touched based trigger // NOTE THAT THIS SHOULD ONLY BE CALLED AT END OF GAME OR WHEN FOLLOWER CANNOT SEE PLAYER. OTHER-WISE THE FOLLOWER WILL JUST ENTER STATE AGAIN. (SUPPORT FOR CO-OP) // ============================================================ class FollowerStopper expands Triggers; var() name FollowerTag; var () bool bAllowTouch; function Touch( actor Other ) { if (bAllowTouch&&other.bispawn&&pawn(other).bisplayer) trigger(other,pawn(other)); } function Trigger( actor Other, pawn EventInstigator ) { local pawn p; for (p=level.pawnlist;p!=none;p=p.nextpawn) if (FollowerTag=='ALL'||p.tag==FollowerTag) if (p.isa('Follower')){ Follower(p).Setpa(none); Follower(P).DoRoam(); } } @ĺ}vjmbS *$   ZRA5. QJ8 GB/+%?5<8( # u2qc!NE60\R)& 0/EB -- :;57" %(!%$ ).+2 !$+")$.#+ + 5M (0%((= #-%0&$/#!4B%&2'4)6 +7 +;1+!+).@ # 0D" 0/e 3I%"2%':#<5M('* +%507R,-*=#.F%'=!4 1J):W0)!:M8L2)A"$:4+-D'!4*D#1.02+.1. "b*B%%: 6025J241&A!550K,2N./2678:3'?$*D'!7*I& 923R0-I*2-M*1#? =<7Y5+G)/P-$="": &A$5%E#"C ?"=!6869\8#C"!B NoN*K*#@#%G%: A !D!U // ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // TvPlayer. // The purpose of this playerpawn is to allow several features. // 1. Ducking that affects collision. Note that this IS possible with an inv item, but unfortunately, there is no way to stop the player from getting stuck then // 2. Anti-telefrag: This is easily the best way to handle it. // 3. The ship mode. Player flying a ship. fun.. // ============================================================ class TVPlayer expands TournamentPlayer; //order imports: #exec AUDIO IMPORT FILE="Sounds\LetsWork.WAV" NAME="FOwork" #exec AUDIO IMPORT FILE="Sounds\watcharea.WAV" NAME="WAwatch" #exec AUDIO IMPORT FILE="Sounds\Get.WAV" NAME="FOASShere" #exec AUDIO IMPORT FILE="Sounds\stayhere.WAV" NAME="WAStayhere" #exec AUDIO IMPORT FILE="Sounds\follow.WAV" NAME="FOFollowme" #exec AUDIO IMPORT FILE="Sounds\dontmove.WAV" NAME="WAnomove" #exec AUDIO IMPORT FILE="Sounds\coverme.WAV" NAME="FOcoverMe" #exec AUDIO IMPORT FILE="Sounds\come2me.WAV" NAME="FOcome" #exec AUDIO IMPORT FILE="Sounds\wait.WAV" NAME="WAwait" #exec AUDIO IMPORT FILE="Sounds\HoldPosition.WAV" NAME="WAHold" #exec AUDIO IMPORT FILE="Sounds\jump1.WAV" NAME="OLJUMP1" #exec AUDIO IMPORT FILE="Sounds\jump2.WAV" NAME="OLJUMP2" #exec AUDIO IMPORT FILE="Sounds\jump3.WAV" NAME="OLJUMP3" //#exec AUDIO IMPORT FILE="Sounds\fall3.WAV" NAME="OLFALL3" #exec AUDIO IMPORT FILE="Sounds\fall1.WAV" NAME="OLFALL1" #exec AUDIO IMPORT FILE="Sounds\fall2.WAV" NAME="OLFALL2" //#exec AUDIO IMPORT FILE="Sounds\fall4.WAV" NAME="OLFALL4" //ship model: #exec mesh import mesh=shuttle anivfile=Models\shuttle_a.3d datafile=Models\shuttle_d.3d x=0 y=0 z=0 #exec mesh origin mesh=shuttle x=0 y=0 z=0 Yaw=192 ROLL=0 PITCH=0 #exec mesh sequence mesh=shuttle seq=All startframe=0 numframes=1 #exec meshmap new meshmap=shuttle mesh=shuttle //#exec meshmap scale meshmap=shuttle x=0.50195 y=0.50195 z=1.00391 #exec meshmap scale meshmap=shuttle x=0.13 y=0.13 z=0.26 var bool checkwall; var (Ship) int MaxSpeed, MinSpeed; var float SmokeRate; //smoke stuff var bool bForceDuck; //ya, Deus Exy. if player cannot stand up because of too small an area. var(Sounds) sound JumpSounds[3]; //for jump altering //Friendly traveling: var travel int Friendlies[8]; //this is the health of friendlies. The last digit (ones) is the type var travel string friendlynames[8]; //the menu name of each friendly. var /*travel */int FriendlySpeeds[8]; //groundspeed. not much is lost... (no longer used.. not deleting as dangerous w/ bin compatibility) var /*travel */int FriendlyMaxStepHeights[8]; //max step heights. again little is lost with conversion. (not used anymore) var travel float FriendlyDrawScales[8]; //size of friendly. var travel byte FriendlyFatness[8]; //fatness //follower special arrays: // 0=Mercenary // 1=1337 Mercenary // 2=Nali Trooper // 3=Rebel Skaarj // 4=Rebel Skaarj Trooper // If it is a nali/skaarj trooper then the second to last digit (tens) is a code for weapon // 1=Dpistol 2=enf 3=bio 4=shock 5=pulse 6=rip 7=mini 8=flak 9=eightball 0=rifle var Follower Follower[8]; var string FollowerInfo[8]; //rep'd string. tells name&type. var int FollowerHealth[8]; //rep'd health updated each tick. var ONPLevelInfo LInfo; //info for some options. set on server, but client must get it manually..... var int OldHealth; //used for playership... var bool sdump; var float realspeed; //rep has problems var bool bFlipped; //for support of flipping with eulers (not enough time to transfer jet to vehicle class that has quaternion support) var vector oldvelocity; //hack for zonevelocity stuff. var bool bDidJump; /*var enum EPlayerMovement{ 0: //normal movement 1: //complete freeze of motion. HUD is disabled in this case. 2: //keys are inverted. } */ var byte PlayerMod; //player vehical thing: var TVVehicle Vehicle; //var sound MP3; //backed up for no replication. var float MyTime; //current level time. var TVScoreKeeper ScoreHolder; //scoring (sp only) //STATE PLAYERSHIP: This is a state which simulates the player flying a ship. replication{ reliable if (role==role_authority&&bnetowner) //server -> client functions & varz dointerpolate, ClientSetMP3, FollowerInfo, FollowerHealth, PlayerMod, Vehicle, minspeed; reliable if (role==role_authority&&!bdemorecording) //only in net game.. not demo TouchTrans; reliable if ( (!bDemoRecording || (bClientDemoRecording && bClientDemoNetFunc) || (Level.NetMode==NM_Standalone)) && Role == ROLE_Authority ) SayMessage; //new say. reliable if (role server functions. FollowOrder, smovedump, CodeSend; //ordering followers: debug stuff; console stuff respectfully. unreliable if (role Shadow; local leetpalm Tree; Super.Possess(); if (level.NetMode==NM_DedicatedServer) return; if (!Player.Isa('WindowsViewport')){ log ("WARNING: Tree Shadows not supported on Non-Windows systems.",'ONP'); return; } if (level.EngineVersion!="432"&&Level.EngineVersion !="436"){ log ("WARNING: Tree Shadows not supported on versions other than 432 and 436",'ONP'); return; } Shadow=Class(DynamicLoadObject("PalmShadow.TreeShadow",Class'class',true)); if (Shadow==none){ log ("WARNING: Could not locate valid PalmShadow.U package!",'ONP'); return; } log ("Generating shadows for trees.",'ONP'); ForEach AllActors(class'leetpalm',Tree) Tree.SpawnShadow(Shadow); } */ //HACK for weapon power-ups function Inventory FindInventoryType( class DesiredClass ) { if (DesiredClass==class'OldPistol') DesiredClass=class'NoAmmoDPistol'; return Super.FindInventoryType(DesiredClass); } event UpdateEyeHeight(float DeltaTime){ //update follower info on server local int i; Super.UpdateEyeheight(deltatime); if (role(DynamicLoadObject("Botpack.TBoss",class'Class')); b3DSound = bool(ConsoleCommand("get ini:Engine.Engine.AudioDevice Use3dHardware")); } simulated function FootStepping() { if ( FootRegion.Zone.bWaterZone ) { PlaySound(WaterStep, SLOT_Interact, 1, false, 1000.0, 1.0); return; } if (TvShadow(shadow)!=none&&tvshadow(shadow).NumSounds!=0) PlaySound(TVshadow(shadow).CurFootSound[rand(TVshadow(shadow).NumSounds)], SLOT_Interact, 2.2, false, 1000.0, 1.0); else Super.FootStepping(); } event TravelPostAccept(){ //followers (needed here for co-op) super.TravelPostAccept(); if (level.game==none) return; if (level.game.isa('TVsp')) TVSp(level.game).LoadFriendlies(self); else if (level.game.isa('tvcoop')) TvCoop(level.game).LoadFriendlies(self); } simulated function timer(){ //smoke timer local ut_SpriteSmokePuff b; local vector X, Y, Z; if (!bcanfly){ if (role==role_simulatedproxy) SetTimer(0.3,false); //try again later if other playerpawn. return; } if ( Region.Zone.bWaterZone ) { SetTimer(0.3, false); Return; } if (shadow!=none){ shadow.destroy(); shadow=none; } GetAxes(rotation,X,Y,Z); X=location-X*(0.8*collisionradius-collisionheight*airspeed/350); Y*=collisionradius/7; //offset of engines. Z*=collisionheight/7; if ( Level.bHighDetailMode ) { if ( Level.bDropDetail ){ Spawn(class'LightSmokeTrail',,,X+Y-Z); Spawn(class'LightSmokeTrail',,,X-Y-Z); } else{ Spawn(class'UTSmokeTrail',,,X+Y-Z); Spawn(class'UTSmokeTrail',,,X-Y-Z); } SmokeRate = 70/AirSpeed; } else { SmokeRate = 0.1; b = Spawn(class'ut_SpriteSmokePuff',,,X+Y-Z); b.RemoteRole = ROLE_None; b = Spawn(class'ut_SpriteSmokePuff',,,X-Y-Z); b.RemoteRole = ROLE_None; } SetTimer(SmokeRate, false); } function TouchTrans(TvTranslatorEvent Trans,optional bool bUnTouch){ if (Trans==none) return; if (bUnTouch) Trans.UnTouch(self); else Trans.Touch(self); } //invert stuff: event PlayerInput( float DeltaTime ) { local byte btemp; if (PlayerMod==2){ aBaseY*=-1; aBaseX*=-1; aStrafe*=-1; aMouseX*=-1; aMouseY*=-1; aTurn*=-1; bpressedjump=(aup<0&&!bDidJump); //special jump/duck stuff... bDidJump=(aup<0); bduck=byte(aup>0); aUp*=-1; //now invert it :) btemp=bfire; bfire=baltfire; baltfire=btemp; } Super.PlayerInput(deltatime); if (Level.Pauser!=""||level.netmode!=nm_standalone||PlayerMod==1||Health==0||IsInState('GameEnded')) return; //time stuff is here as easiest place to get delta MyTime+=deltatime; if (ScoreHolder==none) return; if (IsInState('CheatFlying')) ScoreHolder.AddPoints(-400*deltatime); //cheater punishing. if (Health>0&&Weapon!=none){ if (Weapon.IsA('Translocator')) bTemp=10; else if (Weapon.IsA('SuperShockRifle')) bTemp=11; else bTemp=Weapon.InventoryGroup%10; ScoreHolder.Weapons[btemp].TimeHeld+=deltatime; } } exec function Summon( string ClassName ) { if (ScoreHolder!=none) ScoreHolder.AddPoints(-10000); //cheater punishing. Super.Summon (ClassName); } exec function CheatView( class aClass ) { Super.CheatView(aClass); if (ScoreHolder!=none) ScoreHolder.AddPoints(-3000); //cheater punishing. } exec function Amphibious() { Super.Amphibious(); if (ScoreHolder!=none) ScoreHolder.AddPoints(-5200); //cheater punishing. } exec function AllAmmo() { Super.AllAmmo(); if (ScoreHolder!=none) ScoreHolder.AddPoints(-8900*(rand(5)+10)); //cheater punishing. } exec function KillAll(class aClass) { Super.KillAll(aClass); if (ScoreHolder!=none) ScoreHolder.AddPoints(-12000*(rand(2)+5)); } exec function KillPawns() { Super.KillPawns(); if (ScoreHolder!=none) ScoreHolder.AddPoints(-12000*(rand(2)+5)); } simulated function postnetbeginplay(){ //client smoke timer for non-autonomous proxies. super.postnetbeginplay(); if (role==role_simulatedproxy) SetTimer(0.3,false); //smoke crap } exec function smovedump() //testing { sdump=!sdump; } //hack to detect player talk time. simulated function ClientPlaySound(sound ASound, optional bool bInterrupt, optional bool bVolumeControl ) { local actor SoundPlayer; local float vol; vol=16.0; LastPlaySound = Level.TimeSeconds; // so voice messages won't overlap if (!bInterrupt){ if (Health<=0) return; LastPlaySound+=GetSoundDuration(Asound); if (bVolumeControl) vol=32.0; } if ( ViewTarget != None ) SoundPlayer = ViewTarget; else SoundPlayer = self; SoundPlayer.PlaySound(ASound, SLOT_None, vol, bInterrupt); SoundPlayer.PlaySound(ASound, SLOT_Interface, vol, bInterrupt); SoundPlayer.PlaySound(ASound, SLOT_Misc, vol, bInterrupt); SoundPlayer.PlaySound(ASound, SLOT_Talk, vol, bInterrupt); } //Player Jumped function DoJump( optional float F ) { if ( CarriedDecoration != None ) return; if ( !bIsCrouching && (Physics == PHYS_Walking) ) { if ( !bUpdating&&lastplaysound 0) ) MakeNoise(0.1 * Level.Game.Difficulty); PlayInAir(); if ( bCountJumps && (Role == ROLE_Authority) && (Inventory != None) ) Inventory.OwnerJumped(); Velocity.Z = JumpZ; if ( (Base != Level) && (Base != None) ) Velocity += Base.Velocity; SetPhysics(PHYS_Falling); } } //used in playerjet state: function ServerJetMove ( float TimeStamp, vector InAccel, vector ClientLoc, int Speed, bool bIsFlipped, optional byte OldTimeDelta, optional int OldAccel ); //int based static final operator(18) int mod ( int A, int B ) { if( (A % B) >= 0 ) return A % B ; else return (A % B ) + B ; } final static function Approach (out int value, float toAdd, int Approach){ if (value>Approach){ value-=toAdd; if (valueApproach) value=Approach; } } //also used: (for acceleration) (returns goal as a delta!!!!!!!) rate MUST be positive! static function ApproachAngle (out int Angle, out int Goal, float Rate){ local int oldangle; OldAngle=Angle; Goal=SetAngleDifference(Goal,Angle); Approach(angle,Rate,Goal); Goal=Angle-OldAngle; Angle=Angle mod 65536; } static function int SetAngleDifference(int Angle1, int Angle2){ //sets up subtraction local bool bUp; if (((Angle1-Angle2) mod 65536) <32768) bUp=true; if (bUp&&Angle1Angle2) Angle1-=65536; return Angle1; } static function int AngleDifference(int Angle1, int Angle2){ //actual subtractor Angle1=SetAngleDifference(Angle1,Angle2); //note angle1=goal, angle2=current return Angle1-Angle2; } //various cutscene disablers: simulated event renderoverlays(canvas canvas){ if (PlayerMod!=1) super.RenderOverlays(canvas); } exec function Fire( optional float F ){ if (PlayerMod==1) return; if (TVHUD(myHud)!=none) TVHUD(myHud).DeActivateTranslator(); if (PlayerMod==2){ PlayerMod=0; AltFire(F); PlayerMod=2; } else super.fire(f); } exec function AltFire( optional float F ){ if (PlayerMod==1) return; if (TVHUD(myHud)!=none) TVHUD(myHud).DeActivateTranslator(); if (PlayerMod==2){ PlayerMod=0; Fire(F); PlayerMod=2; } else super.altfire(f); } exec function PrevWeapon(){ //no weapon/INV changes in cutscenes if (PlayerMod==1) return; if (PlayerMod==2){ PlayerMod=0; NextWeapon(); PlayerMod=2; } super.PrevWeapon(); } exec function NextWeapon(){ if (PlayerMod==1) return; if (PlayerMod==2){ PlayerMod=0; PrevWeapon(); PlayerMod=2; } super.NextWeapon(); } exec function SwitchWeapon (byte F ){ if (PlayerMod==1) return; if (PlayerMod==2) F=10-F; super.SwitchWeapon(f); } exec function GetWeapon(class NewWeaponClass ){ if (PlayerMod!=1) Super.GetWeapon(NewWeaponClass); } exec function PrevItem(){ if (PlayerMod==1) return; if (PlayerMod==2){ PlayerMod=0; NextItem(); PlayerMod=2; } else Super.PrevItem(); } exec function NextItem(){ if (PlayerMod==1) return; if (PlayerMod==2){ PlayerMod=0; PrevItem(); PlayerMod=2; } else Super.NextItem(); } exec function bool SwitchToBestWeapon(){ if (PlayerMod!=1) return super.SwitchToBestWeapon(); } exec function ActivateItem(){ //no item activation in scenez if (PlayerMod!=1) Super.ActivateItem(); } exec function ActivateTranslator(){ //no translator in scenez if (PlayerMod!=1) super.ActivateTranslator(); } exec function ThrowWeapon(){ //no throwing in scenez if (PlayerMod!=1) super.ThrowWeapon(); } exec function Jump(optional float f){ if (PlayerMod!=1) super.Jump(f); } state PlayerShip { ignores SeePlayer, HearNoise; //we want bump called exec function ViewClass( class aClass, optional bool bQuiet ) { Global.ViewClass(aClass,bQuiet); bBehindView=true; } function BeginState() { local int i; local Effects E; if (level.game!=none) minspeed=30*level.game.difficulty+580; //600 easy, 800 unreal EyeHeight = BaseEyeHeight; if (shadow!=none) shadow.destroy(); if (OldHealth<=0) OldHealth=Health; Health=100; shadow=none; SetPhysics(PHYS_Flying); bcanfly=true; //mesh=LodMesh'botpack.fighter2M'; mesh=Mesh'shuttle'; foreach ChildActors (class'Effects',E){ E.bhidden=true; E.drawtype=DT_None; E.SetTimer(0.0,false); } // drawscale=0.6; // Playanim('sway'); MultiSkins[0]=Texture(DynamicLoadObject("GenIn.gship1",class'Texture')); // MultiSkins[1]=Texture(DynamicLoadObject("Skaarj.Ebfloor4",class'Texture')); MultiSkins[1]=FireTexture(DynamicLoadObject("xfx.chinese",class'FireTexture')); //new texture for engines. AirSpeed=minspeed; //speed me up! if (role 0 ) NewRot.Roll = Min(12000, RollMag); else NewRot.Roll = Max(53535, 65536 + RollMag);*/ //smoothly change rotation if (NewRot.Roll > 32768) { if (OldRoll < 32768) OldRoll += 65536; } else if (OldRoll > 32768) OldRoll -= 65536; SmoothRoll = FMin(1.2, 6.0 * deltaTime); // NewRot.Roll = class'tvvehicle'.static.normalizeangle(32768*int(bFlipped)+NewRot.Roll * SmoothRoll + OldRoll * (1 - SmoothRoll)); NewRot.Roll= (NewRot.Roll * SmoothRoll + OldRoll * (1 - SmoothRoll))*abs(Cos(NewRot.Pitch/10430)); //cos is a hack because of gimble lock /* RollMag = (Y Dot (Velocity - OldVelocity))/DeltaTime; // rollmag=rotator((velocity-oldvelocity)/deltatime).yaw; if (rollmag>32768) rollmag-=65536; rollmag/=abs(rollmag); //- or + Newrot.Roll=10430*atan(Rollmag*vsize(velocity-oldvelocity)/(-1*region.zone.zonegravity.z*deltatime)); //10430=rad/UD factor. velocity-old/deltatime=accel. */ // ClientMessage ("Roll is"@Newrot.Roll); SetRotation(NewRot); // setrotation(rotator(velocity)); oldvelocity=velocity; //to check zoneveloc. } event PlayerTick( float DeltaTime ) { if ( bUpdatePosition ) ClientUpdatePosition(); PlayerMove(DeltaTime); } function PlayerMove(float DeltaTime) { local rotator newRotation; local vector Y,Z; if (role 0) && (P.Velocity Dot Dir > 0) ) { // if other pawn moving away from player, push it away if its close // since the client-side position is behind the server side position if ( VSize(P.Location - Location) < P.CollisionRadius + CollisionRadius + NewMove.Delta * airSpeed ) P.MoveSmooth(P.Velocity * 0.5 * PlayerReplicationInfo.Ping); } } // Simulate the movement locally. ProcessMove(NewMove.Delta, NewMove.Acceleration, dodge_none, rot(0,0,0)); //AutonomousPhysics(NewMove.Delta); //log("Role "$Role$" repmove at "$Level.TimeSeconds$" Move time "$100 * DeltaTime$" ("$Level.TimeDilation$")"); // Decide whether to hold off on move // send if dodge, jump, or fire unless really too soon, or if newmove.delta big enough // on client side, save extra buffered time in LastUpdateTime if ( PendingMove == None ) PendingMove = NewMove; else { NewMove.NextMove = FreeMoves; FreeMoves = NewMove; FreeMoves.Clear(); Freemoves.mass=0; //fake clear NewMove = PendingMove; } NetMoveDelta = FMax(64.0/Player.CurrentNetSpeed, 0.011); if ( PendingMove.Delta < NetMoveDelta - ClientUpdateTime) { // save as pending move return; } else if ( (ClientUpdateTime < 0) && (PendingMove.Delta < NetMoveDelta - ClientUpdateTime) ) return; else { ClientUpdateTime = PendingMove.Delta - NetMoveDelta; if ( SavedMoves == None ) SavedMoves = PendingMove; else LastMove.NextMove = PendingMove; PendingMove = None; } // check if need to redundantly send previous move if ( OldMove != None ) { // log("Redundant send timestamp "$OldMove.TimeStamp$" accel "$OldMove.Acceleration$" at "$Level.Timeseconds$" New accel "$NewAccel); // old move important to replicate redundantly OldTimeDelta = FMin(255, (Level.TimeSeconds - OldMove.TimeStamp) * 500); BuildAccel = 153.6 * normal(OldMove.Acceleration) + vect(0.5, 0.5, 0.5); //allows it to be as accurate as possible. 0.05*3072 OldAccel = (CompressAccel(BuildAccel.X) << 23) + (CompressAccel(BuildAccel.Y) << 15) + (CompressAccel(BuildAccel.Z) << 7); //pack in the speed as well. OldAccel += ((vsize(oldmove.acceleration) - 800 / 8) << 24); } //else // log("No redundant timestamp at "$Level.TimeSeconds$" with accel "$NewAccel); // Send to the server ServerJetMove ( NewMove.TimeStamp, normal(NewMove.Acceleration) * 30720, //close to max vect size. Location, vsize(newmove.acceleration)*10, //airspeed bFlipped, OldTimeDelta, OldAccel ); //log("Replicated "$self$" stamp "$NewMove.TimeStamp$" location "$Location$" dodge "$NewMove.DodgeMove$" to "$DodgeDir); } //REPLICATED JET MOVE. //Needed so that airspeed is sent rather than view. (no need for view as rotation(acceleration) is the view) //I removed a lot of the input as it wasn't needed. function ServerJetMove ( float TimeStamp, vector InAccel, vector ClientLoc, int Speed, bool bIsFlipped, optional byte OldTimeDelta, optional int OldAccel ) { local float DeltaTime, clientErr, OldTimeStamp; local rotator Rot; local vector Accel, LocDiff; local actor OldBase; // If this move is outdated, discard it. if ( CurrentTimeStamp >= TimeStamp ) return; // if OldTimeDelta corresponds to a lost packet, process it first if ( OldTimeDelta != 0 ) { OldTimeStamp = TimeStamp - float(OldTimeDelta)/500 - 0.001; if ( CurrentTimeStamp < OldTimeStamp - 0.001 ) { // split out components of lost move (approx) Accel.X = OldAccel >>> 23; if ( Accel.X > 127 ) Accel.X = -1 * (Accel.X - 128); Accel.Y = (OldAccel >>> 15) & 255; if ( Accel.Y > 127 ) Accel.Y = -1 * (Accel.Y - 128); Accel.Z = (OldAccel >>> 7) & 255; if ( Accel.Z > 127 ) Accel.Z = -1 * (Accel.Z - 128); // Accel *= 20; airspeed=(OldAccel >> 24) * 8; //thx DB for this calc! (store with OldAccel += ((Val - 800) / 8) <<< 24) //Now processes it: Processmove(OldTimeStamp - CurrentTimeStamp, Accel, Dodge_None, rot(0,0,0)); CurrentTimeStamp = OldTimeStamp; } } accel=inaccel; bFlipped=bIsFlipped; // Make acceleration. viewrotation=rotator(accel); //this always holds. // Save move parameters. DeltaTime = TimeStamp - CurrentTimeStamp; if ( ServerTimeStamp > 0 ) { // allow 1% error TimeMargin += DeltaTime - 1.01 * (Level.TimeSeconds - ServerTimeStamp); if ( TimeMargin > MaxTimeMargin ) { // player is too far ahead TimeMargin -= DeltaTime; if ( TimeMargin < 0.5 ) MaxTimeMargin = Default.MaxTimeMargin; else MaxTimeMargin = 0.5; DeltaTime = 0; } } CurrentTimeStamp = TimeStamp; ServerTimeStamp = Level.TimeSeconds; // rot=viewrotation; if (!bflipped) ViewRotation.Roll = 0; else viewrotation.roll = 32768; // SetRotation(Rot); OldBase = Base; airspeed=fclamp(speed/10,minspeed,maxspeed); //clamp ensures no speed cheating :P if (sdump) //testing clientmessage("Accel:"@accel@"Speed:"@airspeed); // Perform actual movement. if ( (Level.Pauser == "") && (DeltaTime > 0) ) //MoveAutonomous(DeltaTime, NewbRun, NewbDuck, NewbPressedJump, DodgeMove, Accel, DeltaRot); Processmove(DeltaTime,Accel,DODGE_NONE,rot(0,0,0)); //just process it. // Accumulate movement error. if ( Level.TimeSeconds - LastUpdateTime > 0.3 ) ClientErr = 10000; else if ( Level.TimeSeconds - LastUpdateTime > 0.07) { LocDiff = Location - ClientLoc; ClientErr = LocDiff Dot LocDiff; } // If client has accumulated a noticeable positional error, correct him. if ( ClientErr > 500 ) { ClientLoc = Location; //log("Client Error at "$TimeStamp$" is "$ClientErr$" with acceleration "$Accel$" LocDiff "$LocDiff$" Physics "$Physics); LastUpdateTime = Level.TimeSeconds; ClientAdjustPosition ( TimeStamp, GetStateName(), Physics, //I really don't need this, but not about to change ClientLoc.X, ClientLoc.Y, ClientLoc.Z, Velocity.X, Velocity.Y, Velocity.Z, Base ); } //log("Server "$Role$" moved "$self$" stamp "$TimeStamp$" location "$Location$" Acceleration "$Acceleration$" Velocity "$Velocity); } exec function walk(){ //cheat :P playerrestartstate='playerwalking'; super.walk(); } //check for network state errors! function ServerMove ( float TimeStamp, vector InAccel, vector ClientLoc, bool NewbRun, bool NewbDuck, bool NewbJumpStatus, bool bFired, bool bAltFired, bool bForceFire, bool bForceAltFire, eDodgeDir DodgeMove, byte ClientRoll, int View, optional byte OldTimeDelta, optional int OldAccel ) { ClientAdjustPosition //shouldn't be calling: adjust so state is set. ( TimeStamp, 'PlayerShip', Physics, location.X, location.Y, location.Z, Velocity.X, Velocity.Y, Velocity.Z, Base ); } //STOPPED EXEC's exec function Fire( optional float F ); //FIRING now wiped (only button checks used) exec function AltFire( optional float F ); exec function PrevWeapon(); //no weapon/INV changes exec function NextWeapon(); exec function SwitchWeapon (byte F ); exec function GetWeapon(class NewWeaponClass ); exec function PrevItem(); exec function NextItem(); exec function bool SwitchToBestWeapon(); exec function ActivateItem(); //no item activation exec function ActivateTranslator(); //no translator in ship exec function ThrowWeapon(); //no throwing //based on deathview: event PlayerCalcView(out actor ViewActor, out vector CameraLocation, out rotator CameraRotation ) { local vector X, Y, Z; if ( ViewTarget != None ){ Global.PlayerCalcview(ViewActor,CameraLocation,CameraRotation); return; } CameraRotation = ViewRotation; // View rotation. DesiredFOV = 125; ViewActor = self; CameraLocation = Location; if( bBehindView ){ //camerarotation.pitch=fclamp(viewrotation.pitch+500*(viewrotation.pitch/abs(viewrotation.pitch)),viewrotation.pitch+5461,viewrotation.pitch-5461); //maybe a retarded way, but it works :P //CameraLocation.Z -= camerarotation.pitch/8192-50; //kinda starfoxy with loc. GetAxes (ViewRotation, X, Y, Z); // CameraLocation.Z+=50; CAmeraLocation+=Z*50; CalcBehindView(CameraLocation, CameraRotation, 160); // if (viewrotation.pitch<=32768) /* camerarotation.pitch=32768-class'TvVehicle'.static.normalizeangle(CameraRotation.pitch); camerarotation.pitch=class'TvVehicle'.static.normalizeangle(viewrotation.pitch/2); //stays steady */ // else // camerarotation.pitch=-0.5*(viewrotation.pitch-32786); //make sure negative rule } else CameraLocation.Z += Default.BaseEyeHeight; } function bump(actor other){ //immeditately die! if (!other.bispawn&&!other.isa('decoration')) return; Died( self, 'Suicided', Location ); //die if hit something :D } function HitWall(vector hitloc,actor hitwall) { Died( self, 'Suicided', hitloc ); //die if hit wall } function TakeDamage( int Damage, Pawn instigatedBy, Vector hitlocation, Vector momentum, name damageType) { local int actualDamage; local bool bAlreadyDead; if ( Role < ROLE_Authority ) { log(self$" client damage type "$damageType$" by "$instigatedBy); return; } //log(self@"take damage in state"@GetStateName()); bAlreadyDead = (Health <= 0); if (Physics == PHYS_None) SetMovementPhysics(); if (Physics == PHYS_Walking) momentum.Z = FMax(momentum.Z, 0.4 * VSize(momentum)); if ( instigatedBy == self ) momentum *= 0.6; momentum = momentum/Mass; actualDamage = Level.Game.ReduceDamage(Damage, DamageType, self, instigatedBy); if (ReducedDamageType == 'All') //God mode actualDamage = 0; if ( Level.Game.DamageMutator != None ) Level.Game.DamageMutator.MutatorTakeDamage( ActualDamage, Self, InstigatedBy, HitLocation, Momentum, DamageType ); AddVelocity( momentum ); Health -= actualDamage; if ( HitLocation == vect(0,0,0) ) HitLocation = Location; if (Health > 0) { if ( (instigatedBy != None) && (instigatedBy != Self) ) damageAttitudeTo(instigatedBy); PlayHit(actualDamage, hitLocation, damageType, Momentum); } else if ( !bAlreadyDead ) { //log(self$" died"); NextState = ''; PlayDeathHit(actualDamage, hitLocation, damageType, Momentum); if ( actualDamage > mass ) Health = -1 * actualDamage; if ( (instigatedBy != None) && (instigatedBy != Self) ) damageAttitudeTo(instigatedBy); Died(instigatedBy, damageType, HitLocation); } else { //Warn(self$" took regular damage "$damagetype$" from "$instigator$" while already dead"); // SpawnGibbedCarcass(); if ( bIsPlayer ) { HidePlayer(); GotoState('Dying'); } else Destroy(); } MakeNoise(1.0); oldvelocity=velocity; //check damage case. } function ClientAdjustPosition ( float TimeStamp, name newState, EPhysics newPhysics, float NewLocX, float NewLocY, float NewLocZ, float NewVelX, float NewVelY, float NewVelZ, Actor NewBase ) { global.ClientAdjustPosition(TimeStamp,newState,newPhysics,NewLocX,NewLocY,NewLocZ,NewVelX,NewVelY,NewVelZ,NewBase); oldvelocity=velocity; //check damage case. } function ClientDying(name DamageType, vector HitLocation) { GotoState('Dying'); } //custom died: function Died(pawn Killer, name damageType, vector HitLocation) { local pawn OtherPawn; local actor A; local explosionchain ex; // mutator hook to prevent deaths // WARNING - don't prevent bot suicides - they suicide when really needed if ( Level.Game.BaseMutator.PreventDeath(self, Killer, damageType, HitLocation) ) { Health = max(Health, 1); //mutator should set this higher return; } if ( bDeleteMe ) return; //already destroyed Health = Min(0, Health); for ( OtherPawn=Level.PawnList; OtherPawn!=None; OtherPawn=OtherPawn.nextPawn ) OtherPawn.Killed(Killer, self, damageType); if ( CarriedDecoration != None ) DropDecoration(); level.game.Killed(Killer, self, damageType); //log(class$" dying"); if( Event != '' ) foreach AllActors( class 'Actor', A, Event ) A.Trigger( Self, Killer ); // Level.Game.DiscardInventory(self); keep inv for restart. if ( Level.Game.bGameEnded ) return; if ( RemoteRole == ROLE_AutonomousProxy ) ClientDying(DamageType, HitLocation); //immeditately die! ex=spawn(class'TVExplosionChain',,,hitlocation); //effects if (ex!=none){ ex.size=500; ex.trigger(none,self); } mesh=none; spawn(class'UT_SpriteBallExplosion'); GotoState('Dying'); } function UpdateRotation(float DeltaTime, float maxPitch) //update so pitch actually changes :P { local rotator SwapRoll; if (bFlipped){ ALookUp*=-1; aTurn*=-1; } // DesiredRotation = ViewRotation; //save old rotation ViewRotation.Pitch += 32.0 * DeltaTime * aLookUp; ViewRotation.Pitch = ViewRotation.Pitch & 65535; //Do flipping.. If ((ViewRotation.Pitch > 16384) && (ViewRotation.Pitch < 49152)) { ViewRotation.Pitch = class'TvVehicle'.static.normalizeangle(32768-viewrotation.pitch); ViewRotation.Yaw=class'TvVehicle'.static.normalizeangle(ViewRotation.yaw+32768); bFlipped=!bFlipped; // SwapRoll=Rotation; // SwapRoll.roll=class'TvVehicle'.static.normalizeangle(Rotation.roll+32768); viewrotation.roll=class'TvVehicle'.static.normalizeangle(ViewRotation.roll+32768); // SetRotation(SwapRoll); } ViewRotation.Yaw += 32.0 * DeltaTime * aTurn; // ViewShake(deltaTime); //too lazy to support..... ViewFlash(deltaTime); ViewRotation=normalize(ViewRotation); // setRotation(viewrotation); implamented in processmove } } //end state State VehicleControl{ //state used for controlling vehicles (cars?) function BeginState() { local int i; SetPhysics(PHYS_None); SetCollision(false,false,false); bcanfly=true; bhidden=true; bBehindview=true; bProjTarget=false; viewtarget=Vehicle; } function EndState() { local int i; SetPhysics(PHYS_Falling); SetCollision(true,true,true); bcanfly=false; bhidden=false; bBehindview=false; bProjTarget=true; if (Vehicle!=none){ Vehicle.Controller=none; Vehicle.SetOwner(none); Vehicle=none; } viewtarget=none; } simulated function FootStepping(); //hack :) event PlayerCalcView(out actor ViewActor, out vector CameraLocation, out rotator CameraRotation ) { if ( Vehicle==none||(ViewTarget != None &&ViewTarget!=Vehicle)){ Global.PlayerCalcview(ViewActor,CameraLocation,CameraRotation); return; } Vehicle.VehicleCalcView(ViewActor,CameraLocation,CameraRotation); } //vehicles process all damage. event TakeDamage( int Damage, Pawn EventInstigator, vector HitLocation, vector Momentum, name DamageType){ if (Vehicle!=none) Vehicle.TakeDamage(Damage,EventInstigator,HitLocation,Momentum,DamageType); } //STOPPED EXEC's exec function Fire( optional float F ); //FIRING now wiped (only button checks used) exec function AltFire( optional float F ); exec function PrevWeapon(); //no weapon/INV changes exec function NextWeapon(); exec function SwitchWeapon (byte F ); exec function GetWeapon(class NewWeaponClass ); exec function PrevItem(); exec function NextItem(); exec function bool SwitchToBestWeapon(); exec function ActivateItem(); //no item activation exec function ActivateTranslator(); //no translator in ship exec function ThrowWeapon(); //no throwing event PlayerTick( float DeltaTime ) { local byte oldmod; if ( bUpdatePosition ) ClientUpdatePosition(); if ( Vehicle != None ) Vehicle.VehicleTick(deltatime); else{ Oldmod=playermod; playermod=1; Global.PlayerTick(DeltaTime); playermod=oldmod; } } event PlayerInput (float deltaTime){ if (Vehicle==none||!Vehicle.KeyInput(deltatime)) Global.PlayerInput(deltatime); } simulated event RenderOverlays( canvas Canvas ) //do not render weapon. { if ( myHUD != None ) myHUD.RenderOverlays(Canvas); } function AnimEnd(); event PostRender( canvas Canvas ) //don't use HUD but vehicle :) { //Super.PostREnder(canvas); if (UnrealHUD(myHUD)!=none) UnrealHUD(myHUD).DrawTypingPrompt( Canvas, player.console); if ( Vehicle != None ) Vehicle.PostRender(Canvas); } } //pong debug: exec function PongPos(float NewOff){ if (Pong(Vehicle)!=none) Pong(Vehicle).YPos=NewOff; } //exec commands for Vehicle: ////// exec function SetMass(float newv){ if (Vehicle!=none&&newv>0) Vehicle.Mass=newv; else ClientMessage("ERROR: Vehicle mass must be greater than 0"); } exec function SetMaxThrust(int newv){ if (Vehicle!=none&&newv>0) Vehicle.MaxForce=newv; else ClientMessage("ERROR: Maximum Thrust must be greater than 0"); } exec function SetMaxBreak(int newv){ if (Vehicle!=none&&newv>0) Vehicle.MinForce=-1*newv; else ClientMessage("ERROR: Maximum Reverse thrust force must be greater than 0"); } /* exec function SetGravity(float newv){ if (Vehicle!=none&&newv>0) Vehicle.Gravity=newv*43; else ClientMessage("ERROR: Gravity must be greater than 0"); } */ exec function SetMeiu(float newv){ if (Vehicle!=none&&newv>=0) Vehicle.Meiu=newv; else ClientMessage("ERROR: Coefficient of Friction must be greater than or equal to 0"); } exec function SetAirResistance(float newv){ if (Vehicle!=none&&newv>=0) Vehicle.Arcoef=newv; else ClientMessage("ERROR: Coefficient of Resistance must be greater than or equal to 0"); } exec function SetRotationalAirResistance(float newv){ if (Vehicle!=none&&newv>=0) Vehicle.ARRotCoef=newv; else ClientMessage("ERROR: Coefficient of Rotational Air Resistance must be greater than or equal to 0"); } exec function SetEngineRate(int newv){ if (Vehicle!=none&&newv>0) Vehicle.EngineRate=newv; else ClientMessage("ERROR: Rate must be greater than 0"); } exec function SetHUDRefresh(float newv){ if (Vehicle!=none&&newv>=0){ if (newv==0) newv=0.01; Vehicle.RefreshTime=newv; } else ClientMessage("ERROR: Time must be greater or equal to 0"); } exec function SetEnergyLoss (float newv){ newv/=100; newv=1-newv; if (Vehicle!=none&&newv>=0&&newv<=1) Vehicle.EnergyLoss=SQRT(newv); //energy loss. sqrt :) else ClientMessage("ERROR: Percentage must be between 0 and 100!"); } //end EXECS//// function Carcass SpawnCarcass() { if (mesh==none){ hideplayer(); return none; } else return super.spawncarcass(); } exec function ship(){ gotostate('PlayerShip'); } event bool EncroachingOn( actor Other ) //no telefrags... { if ( Other.bIsPawn) { return true; } return Super.EncroachingOn(Other); } //debug for translator: function bool IsEnemy(pawn P){ return (!p.bisplayer&&p.health>0&&p.attitudetoplayer<4&&((p.isa('scriptedpawn')&&!P.IsA('nali')&&!P.IsA('cow'))||p.isa('ParentBlob')||P.IsA('teamcannon'))); } exec function CheckEnemies(){ local pawn p; if (level.netmode==nm_client) return; /* for (p=level.pawnlist;p!=none;p=p.nextpawn) if (p.enemy==self&&IsEnemy(p)){ ClientMEssage("Enemy is"@p.menuname@"("$p$")"); return; } */ for (p=level.pawnlist;p!=none;p=p.nextpawn) if (IsEnemy(p)&&P.ActorReachable(self)){ ClientMEssage("Enemy is"@p.menuname@"("$p$")"); return; } clientmessage("no enemies!"); } exec function FollowerDebug(){ //Universal debugger local pawn temp; if (level.netmode==nm_client) return; if (UnrealHUD(myhud).IdentifyFadeTime != 0.0&&UnrealHUD(myhud).identifytarget.Isa('Follower')) temp=UnrealHUD(myhud).identifytarget; else{ for (temp=level.pawnlist;temp!=none;temp=temp.nextpawn) if (temp.isa('Follower')) break; } clientmessage(temp.menuname@"("$temp.class$") Animation :"$temp.animsequence$" is at frame "$temp.animframe$" Playing at "$temp.AnimRate$" . Done? "$temp.bAnimFinished); log("Follower Animation :"$temp.animsequence$" is at frame "$temp.animframe$" Playing at "$temp.AnimRate$" . Done? "$temp.bAnimFinished); clientmessage("Follower Attitude:"$temp.attitudetoplayer@"Follower Enemy"@temp.enemy.menuname@"Follower HATED:"@scriptedpawn(temp).hated@" Follower shadow"@temp.shadow); log("Follower Attitude:"$temp.attitudetoplayer); clientmessage("Follower state :"$temp.getstatename()$" And physics: "$temp.physics,'pickup'); log("Follower state :"$temp.getstatename()$" And physics: "$temp.physics); clientmessage("Follower nextanim : "$scriptedpawn(temp).nextanim$" And nextstate: "$temp.nextstate,'criticalevent'); log("Follower nextanim :"$scriptedpawn(temp).nextanim$" And nextstate: "$temp.nextstate); } //with ducking fixes: function CheckBob(float DeltaTime, float Speed2D, vector Y) { local float OldBobTime; local int m,n; OldBobTime = BobTime; if ( Speed2D < 10 ) BobTime += 0.2 * DeltaTime; else BobTime += DeltaTime * (0.3 + 0.7 * Speed2D/GroundSpeed); WalkBob = Y * 0.4 * Bob * Speed2D * sin(8 * BobTime); AppliedBob = AppliedBob * (1 - FMin(1, 16 * deltatime)); if ( Speed2D < 10 ) WalkBob.Z = AppliedBob; else WalkBob.Z = AppliedBob + 0.3 * Bob * Speed2D * sin(16 * BobTime); if ( LandBob > 0.01 ) { AppliedBob += FMin(1, 16 * deltatime) * LandBob; LandBob *= (1 - 8*Deltatime); } if ( bBehindView || (Speed2D < 10) ) return; m = int(0.5 * Pi + 9.0 * OldBobTime/Pi); n = int(0.5 * Pi + 9.0 * BobTime/Pi); if ( (m != n) && !bIsWalking&&!bforceduck ) FootStepping(); } // ---------------------------------------------------------------------- // state PlayerWalking // ---------------------------------------------------------------------- state PlayerWalking { function EndState(){ //reset col. cylinder (in case swim and such) Super.EndState(); if (SetDuck(default.collisionheight)) bForceDuck=false; } function Dodge(eDodgeDir DodgeMove) //soundz { local vector X,Y,Z; if ( bIsCrouching || (Physics != PHYS_Walking) ) return; GetAxes(Rotation,X,Y,Z); if (DodgeMove == DODGE_Forward) Velocity = 1.5*GroundSpeed*X + (Velocity Dot Y)*Y; else if (DodgeMove == DODGE_Back) Velocity = -1.5*GroundSpeed*X + (Velocity Dot Y)*Y; else if (DodgeMove == DODGE_Left) Velocity = 1.5*GroundSpeed*Y + (Velocity Dot X)*X; else if (DodgeMove == DODGE_Right) Velocity = -1.5*GroundSpeed*Y + (Velocity Dot X)*X; Velocity.Z = 160; if (lastplaysound0||(baltfire>0&&!weapon.IsA('sniperrifle')))&&headregion.zone.IsA('GunFireSensorZone')) GunFireSensorZone(headregion.zone).GunFired(self); OldAccel = Acceleration; Acceleration = NewAccel; bIsTurning = ( Abs(DeltaRot.Yaw/DeltaTime) > 5000 ); if ( (DodgeMove == DODGE_Active) && (Physics == PHYS_Falling) ) DodgeDir = DODGE_Active; else if ( (DodgeMove != DODGE_None) && (DodgeMove < DODGE_Active) ) Dodge(DodgeMove); if ( bPressedJump ) DoJump(); if ( (Physics == PHYS_Walking) && (GetAnimGroup(AnimSequence) != 'Dodge') ) { //changes so duck collision changes if (bIsCrouching || bForceDuck) { Setduck(default.CollisionHeight/2); //biscrouching=true; //can't hurt. // check to see if we could stand up if we wanted to checkpoint = Location; // check normal standing height checkpoint.Z = checkpoint.Z - CollisionHeight + 2 * Default.CollisionHeight; traceSize.X = CollisionRadius; traceSize.Y = CollisionRadius; traceSize.Z = 1; HitActor = Trace(HitLocation, HitNormal, checkpoint, Location, True, traceSize); bforceduck=(Hitactor!=none); } if (!bIsCrouching&&!bforceduck) { if (bDuck != 0) { bIsCrouching = true; PlayDuck(); } } else if (bDuck == 0&&!bforceduck) { setduck(default.collisionheight); OldAccel = vect(0,0,0); bIsCrouching = false; TweenToRunning(0.1); } if ( !bIsCrouching&&!bForceDuck) { if ( (!bAnimTransition || (AnimFrame > 0)) && (GetAnimGroup(AnimSequence) != 'Landing') ) { if ( Acceleration != vect(0,0,0) ) { if ( (GetAnimGroup(AnimSequence) == 'Waiting') || (GetAnimGroup(AnimSequence) == 'Gesture') || (GetAnimGroup(AnimSequence) == 'TakeHit') ) { bAnimTransition = true; TweenToRunning(0.1); } } else if ( (Velocity.X * Velocity.X + Velocity.Y * Velocity.Y < 1000) && (GetAnimGroup(AnimSequence) != 'Gesture') ) { if ( GetAnimGroup(AnimSequence) == 'Waiting' ) { if ( bIsTurning && (AnimFrame >= 0) ) { bAnimTransition = true; PlayTurning(); } } else if ( !bIsTurning ) { bAnimTransition = true; TweenToWaiting(0.2); } } } } else { if ( (OldAccel == vect(0,0,0)) && (Acceleration != vect(0,0,0)) ) PlayCrawling(); else if ( !bIsTurning && (Acceleration == vect(0,0,0)) && (AnimFrame > 0.1) ) PlayDuck(); } } else if (Setduck(default.collisionheight)) bForceDuck=false; } function PlayDuck() //changes for baseeyeheight (as we want it at collision center, due to change). { BaseEyeHeight = 0.5*default.collisionheight; if ( (Weapon == None) || (Weapon.Mass < 20) ) TweenAnim('DuckWlkS', 0.25); else TweenAnim('DuckWlkL', 0.25); } function PlayCrawling() { //log("Play duck"); BaseEyeHeight = 0.5*default.collisionheight; if ( (Weapon == None) || (Weapon.Mass < 20) ) LoopAnim('DuckWlkS'); else LoopAnim('DuckWlkL'); } //attempt at eyehieight bug fix0r event UpdateEyeHeight(float DeltaTime) { local float smooth, bound; local int i; if (role==role_authority) for (i=0;i<8;i++){ if (follower[i]!=none) Followerhealth[i]=Follower[i].health; else Followerhealth[i]=0; } // smooth up/down stairs If( (Physics==PHYS_Walking) && !bJustLanded ) { smooth = FMin(1.0, 10.0 * DeltaTime/Level.TimeDilation); EyeHeight = (EyeHeight - Location.Z + OldLocation.Z) * (1 - smooth) + ( ShakeVert + BaseEyeHeight) * smooth; bound = -0.5 * default.CollisionHeight; if (EyeHeight < bound) EyeHeight = bound; else { bound = default.CollisionHeight + FClamp((OldLocation.Z - Location.Z), 0.0, MaxStepHeight); if ( EyeHeight > bound ) EyeHeight = bound; } } else { smooth = FClamp(10.0 * DeltaTime/Level.TimeDilation, 0.35,1.0); bJustLanded = false; EyeHeight = EyeHeight * ( 1 - smooth) + (BaseEyeHeight + ShakeVert) * smooth; } // teleporters affect your FOV, so adjust it back down if ( FOVAngle != DesiredFOV ) { if ( FOVAngle > DesiredFOV ) FOVAngle = FOVAngle - FMax(7, 0.9 * DeltaTime * (FOVAngle - DesiredFOV)); else FOVAngle = FOVAngle - FMin(-7, 0.9 * DeltaTime * (FOVAngle - DesiredFOV)); if ( Abs(FOVAngle - DesiredFOV) <= 10 ) FOVAngle = DesiredFOV; } // adjust FOV for weapon zooming if ( bZooming ) { ZoomLevel += DeltaTime * 1.0; if (ZoomLevel > 0.9) ZoomLevel = 0.9; DesiredFOV = FClamp(90.0 - (ZoomLevel * 88.0), 1, 170); } } } //is it unethical to rip stuff from Deus Ex? oops... :D I never actually knew about prepivot.... interesting what you can learn.. function bool Setduck(float newHeight) { local Effects E; local float oldHeight; local bool bSuccess; local vector centerDelta; local float deltaEyeHeight; if (newHeight < 0) newHeight = 0; oldHeight = CollisionHeight; if ((oldHeight == newHeight)) return true; deltaEyeHeight = default.collisionheight - Default.BaseEyeHeight; centerDelta = vect(0, 0, 1)*(newHeight-oldHeight); if ((newHeight <= CollisionHeight)) // shrink { SetCollisionSize(collisionradius, newHeight); if (Move(centerDelta)) bSuccess = true; else SetCollisionSize(collisionradius, oldHeight); } else { if (Move(centerDelta)) { // log ("stopped ducking.. reseting collision"); SetCollisionSize(collisionradius, newHeight); bSuccess = true; } } if (bsuccess){ PrePivot-= centerDelta; // BaseEyeHeight = newHeight - deltaEyeHeight-centerdelta.z; // if (newheight==default.collisionheight) EyeHeight-= centerDelta.Z; foreach childactors(class'effects',E) //fix belts if (E.isa('shieldbelteffect')||E.IsA('UT_ShieldBeltEffect')) E.prepivot=Prepivot; } return (bSuccess); } //CO-OP INTERPOLATION: function dointerpolate(InterpolationPoint i){ Target =i; SetPhysics(PHYS_Interpolating); PhysRate = 1.0; PhysAlpha = 0.0; bInterpolating = true; gotostate(''); //null interpolation state } //MP3 support (replicated so only clients manage it). function ClientSetMP3(sound inMP3,byte volume,byte pitch){ //to be fix0red later :P //shadow.ambientsound=inMP3; /*if (inMp3!=none){ tvshadow(shadow).mp3=inmp3; tvshadow(shadow).mp3volume=volume; tvshadow(shadow).mp3pitch=pitch; playsound(inMp3,slot_ambient,volume,true,300,pitch); tvshadow(shadow).mp3duration=getsoundduration(inMP3); log ("Setting Mp3 music to"@inMP3@"("$getsoundduration(inMP3)@"seconds)"); } else{ tvshadow(shadow).mp3=inmp3; tvshadow(shadow).mp3volume=0; tvshadow(shadow).mp3pitch=0; playsound(none,slot_ambient,volume,true,300,pitch); tvshadow(shadow).mp3duration=-1; } */ } /*listen server mp3 hacks event UpdateEyeHeight(float DeltaTime) { super.updateeyeheight(deltatime); if (level.netmode==nm_listenserver&&mp3!=none) ambientsound=mp3; } event postrender(canvas canvas){ super.postrender(canvas); if (level.netmode==nm_listenserver&&mp3!=none) ambientsound=none; } */ //follower orderS: exec function FollowOrder(){ local pawn p; for (p=level.pawnlist;p!=none;p=p.nextpawn){ if (p.getstatename()=='Following'){ //make him wait speech(2,1,0); break; } else if (p.isa('Follower')&&Follower(p).pa!=none){ speech(2,3,0); break; } } } //voice stuff for mercs and nali: // Send a voice message of a certain type to a certain player. exec function Speech( int Type, int Index, int Callsign ) { local VoicePack V; local pawn p; local string outmessage; local sound outsound; local float rand; if (type==2&&(index==1||index==3)){ for (p=level.pawnlist;p!=none;p=p.nextpawn) if (p.isa('Follower')&&Follower(p).pa!=none){ Follower(p).bShouldWait=(index==1); //if (index==1&&!p.isinstate('waiting')) if(P.Enemy!=none) Continue; else if (P.IsInState('TakeHit')||P.IsInState('FallingState')){ //don't change state! if (index==1){ p.nextstate='Waiting'; scriptedpawn(p).NextLabel='OrderChange'; } else P.NextState='Following'; } else if (index==1) p.gotostate('waiting','OrderChange'); //else if (index==3&&!p.isinstate('following')) else p.GotoState('Following'); } if (bNoVoices) return; //soundz checks bNoMatureLanguage due to all the bad wordz :P rand=frand(); if (index==1){ if (rand<0.2){ outsound=Sound'WAwatch'; outmessage="Watch this Area!"; } else if (rand<0.4){ outsound=Sound'WAStayhere'; outmessage="Stay here!"; } else if (rand<0.6){ outsound=Sound'WAnomove'; outmessage="Don't move!"; } else if (rand<0.8){ outsound=Sound'WAHold'; outmessage="Hold this position!"; } else{ outsound=Sound'WAWait'; outmessage="Wait here until I say you can leave!"; } } else{ if (bNoMatureLanguage) //Last uses A-word :p rand*=0.8; if (rand<0.2){ outsound=Sound'FOcome'; outmessage="Come to me!"; } else if (rand<0.4){ outsound=Sound'FOFollowMe'; outmessage="Follow me!"; } else if (rand<0.6){ outsound=Sound'FOwork'; outmessage="Let's work together."; } else if (rand<0.8){ outsound=Sound'FOcoverMe'; outmessage="Cover me!"; } else{ outsound=Sound'FOASShere'; outmessage="Get your ass over here NOW!"; } } if (lastplaysound 3072 ) NewAccel = 3072 * Normal(NewAccel); TotalTime = PendingMove.Delta + DeltaTime; PendingMove.Acceleration = (DeltaTime * NewAccel + PendingMove.Delta * PendingMove.Acceleration)/TotalTime; // Set this move's data. if ( PendingMove.DodgeMove == DODGE_None ) PendingMove.DodgeMove = DodgeMove; PendingMove.bRun = (bRun > 0); PendingMove.bDuck = (bDuck > 0); PendingMove.bPressedJump = bPressedJump || PendingMove.bPressedJump; PendingMove.bFire = PendingMove.bFire || bJustFired || (bFire != 0); PendingMove.bForceFire = PendingMove.bForceFire || bJustFired; PendingMove.bAltFire = PendingMove.bAltFire || bJustAltFired || (bAltFire != 0); PendingMove.bForceAltFire = PendingMove.bForceAltFire || bJustFired; PendingMove.Delta = TotalTime; } if ( SavedMoves != None ) { NewMove = SavedMoves; AccelNorm = Normal(NewAccel); while ( NewMove.NextMove != None ) { // find most recent interesting move to send redundantly if ( NewMove.bPressedJump || ((NewMove.DodgeMove != Dodge_NONE) && (NewMove.DodgeMove < 5)) || ((NewMove.Acceleration != NewAccel) && ((normal(NewMove.Acceleration) Dot AccelNorm) < 0.95)) ) OldMove = NewMove; NewMove = NewMove.NextMove; } if ( NewMove.bPressedJump || ((NewMove.DodgeMove != Dodge_NONE) && (NewMove.DodgeMove < 5)) || ((NewMove.Acceleration != NewAccel) && ((normal(NewMove.Acceleration) Dot AccelNorm) < 0.95)) ) OldMove = NewMove; } LastMove = NewMove; NewMove = GetFreeMove(); NewMove.Delta = DeltaTime; if ( VSize(NewAccel) > 3072 ) NewAccel = 3072 * Normal(NewAccel); NewMove.Acceleration = NewAccel; // Set this move's data. NewMove.DodgeMove = DodgeMove; NewMove.TimeStamp = Level.TimeSeconds; NewMove.bRun = (bRun > 0); NewMove.bDuck = (bDuck > 0); NewMove.bPressedJump = bPressedJump; NewMove.bFire = (bJustFired || (bFire != 0)); NewMove.bForceFire = bJustFired; NewMove.bAltFire = (bJustAltFired || (bAltFire != 0)); NewMove.bForceAltFire = bJustAltFired; if ( Weapon != None ) // approximate pointing so don't have to replicate Weapon.bPointing = ((bFire != 0) || (bAltFire != 0)); bJustFired = false; bJustAltFired = false; // adjust radius of nearby players with uncertain location ForEach AllActors(class'Pawn', P) if ( (P != self) && (P.Velocity != vect(0,0,0)) && P.bBlockPlayers ) { Dir = Normal(P.Location - Location); if ( (Velocity Dot Dir > 0) && (P.Velocity Dot Dir > 0) ) { // if other pawn moving away from player, push it away if its close // since the client-side position is behind the server side position if ( VSize(P.Location - Location) < P.CollisionRadius + CollisionRadius + NewMove.Delta * GroundSpeed ) P.MoveSmooth(P.Velocity * PlayerReplicationInfo.Ping/2000.0); } } // Simulate the movement locally. ProcessMove(NewMove.Delta, NewMove.Acceleration, NewMove.DodgeMove, DeltaRot); AutonomousPhysics(NewMove.Delta); //log("Role "$Role$" repmove at "$Level.TimeSeconds$" Move time "$100 * DeltaTime$" ("$Level.TimeDilation$")"); // Decide whether to hold off on move // send if dodge, jump, or fire unless really too soon, or if newmove.delta big enough // on client side, save extra buffered time in LastUpdateTime if ( PendingMove == None ) PendingMove = NewMove; else { NewMove.NextMove = FreeMoves; FreeMoves = NewMove; FreeMoves.Clear(); NewMove = PendingMove; } NetMoveDelta = FMax(64.0/Player.CurrentNetSpeed, 0.011); if ( !PendingMove.bForceFire && !PendingMove.bForceAltFire && !PendingMove.bPressedJump && (PendingMove.Delta < NetMoveDelta - ClientUpdateTime) ) { // save as pending move return; } else if ( (ClientUpdateTime < 0) && (PendingMove.Delta < NetMoveDelta - ClientUpdateTime) ) return; else { ClientUpdateTime = PendingMove.Delta - NetMoveDelta; if ( SavedMoves == None ) SavedMoves = PendingMove; else LastMove.NextMove = PendingMove; PendingMove = None; } // check if need to redundantly send previous move if ( OldMove != None ) { // log("Redundant send timestamp "$OldMove.TimeStamp$" accel "$OldMove.Acceleration$" at "$Level.Timeseconds$" New accel "$NewAccel); // old move important to replicate redundantly OldTimeDelta = FMin(255, (Level.TimeSeconds - OldMove.TimeStamp) * 500); BuildAccel = 0.05 * OldMove.Acceleration + vect(0.5, 0.5, 0.5); OldAccel = (CompressAccel(BuildAccel.X) << 23) + (CompressAccel(BuildAccel.Y) << 15) + (CompressAccel(BuildAccel.Z) << 7); if ( OldMove.bRun ) OldAccel += 64; if ( OldMove.bDuck ) OldAccel += 32; if ( OldMove.bPressedJump ) OldAccel += 16; OldAccel += OldMove.DodgeMove; } //else // log("No redundant timestamp at "$Level.TimeSeconds$" with accel "$NewAccel); // Send to the server ClientRoll = (Rotation.Roll >> 8) & 255; if ( NewMove.bPressedJump ) bJumpStatus = !bJumpStatus; ServerMove ( NewMove.TimeStamp, NewMove.Acceleration * 10, Location, NewMove.bRun, NewMove.bDuck, bJumpStatus, NewMove.bFire, NewMove.bAltFire, NewMove.bForceFire, NewMove.bForceAltFire, NewMove.DodgeMove, ClientRoll, (32767 & (ViewRotation.Pitch/2)) * 32768 + (32767 & (ViewRotation.Yaw/2)), OldTimeDelta, OldAccel ); if ( (Weapon != None) && !Weapon.IsAnimating() ) { if ( (Weapon == ClientPending) || (Weapon != OldClientWeapon) ) { if ( Weapon.IsInState('ClientActive') ) AnimEnd(); else Weapon.GotoState('ClientActive'); if ( (Weapon != OldClientWeapon) && (OldClientWeapon != None) ) OldClientWeapon.GotoState(''); ClientPending = None; bNeedActivate = false; } else { Weapon.GotoState(''); Weapon.TweenToStill(); } } OldClientWeapon = Weapon; //log("Replicated "$self$" stamp "$NewMove.TimeStamp$" location "$Location$" dodge "$NewMove.DodgeMove$" to "$DodgeDir); } /////////////////////////////////// //ANIM FUNCTIONS //DELETE THESE LATER!!!!!!!!!!!!!! //USE DPMS! //////////////////////////////////// //debatable: OSA soundz function PlayLanded(float impactVel) { local float rand; impactVel = impactVel/JumpZ; impactVel = 0.1 * impactVel * impactVel; BaseEyeHeight = Default.BaseEyeHeight; if ( impactVel > 0.17 && lastplaysound 0.01) &&lastplaysound 0.06) || (GetAnimGroup(AnimSequence) == 'Jumping') || (GetAnimGroup(AnimSequence) == 'Ducking') ) { if ( (Weapon == None) || (Weapon.Mass < 20) ) TweenAnim('LandSMFR', 0.12); else TweenAnim('LandLGFR', 0.12); } else if ( !IsAnimating() ) { if ( GetAnimGroup(AnimSequence) == 'TakeHit' ) { SetPhysics(PHYS_Walking); AnimEnd(); } else { if ( (Weapon == None) || (Weapon.Mass < 20) ) TweenAnim('LandSMFR', 0.12); else TweenAnim('LandLGFR', 0.12); } } } function PlayDying(name DamageType, vector HitLoc) { BaseEyeHeight = Default.BaseEyeHeight; PlayDyingSound(); if ( DamageType == 'Suicided' ) { PlayAnim('Dead8',, 0.1); return; } // check for head hit if ( (DamageType == 'Decapitated') && !class'GameInfo'.Default.bVeryLowGore ) { PlayDecap(); return; } if ( FRand() < 0.15 ) { PlayAnim('Dead2',,0.1); return; } // check for big hit if ( (Velocity.Z > 250) && (FRand() < 0.75) ) { if ( FRand() < 0.5 ) PlayAnim('Dead1',,0.1); else PlayAnim('Dead11',, 0.1); return; } // check for repeater death if ( (Health > -10) && ((DamageType == 'shot') || (DamageType == 'zapped')) ) { PlayAnim('Dead9',, 0.1); return; } if ( (HitLoc.Z - Location.Z > 0.7 * CollisionHeight) && !class'GameInfo'.Default.bVeryLowGore ) { if ( FRand() < 0.5 ) PlayDecap(); else PlayAnim('Dead7',, 0.1); return; } if ( Region.Zone.bWaterZone || (FRand() < 0.5) ) //then hit in front or back PlayAnim('Dead3',, 0.1); else PlayAnim('Dead8',, 0.1); } function PlayDecap() { local carcass carc; PlayAnim('Dead4',, 0.1); if ( Level.NetMode != NM_Client ) { carc = Spawn(class 'UT_HeadMale',,, Location + CollisionHeight * vect(0,0,0.8), Rotation + rot(3000,0,16384) ); if (carc != None) { carc.Initfor(self); carc.remoterole=ROLE_Simulatedproxy; carc.Velocity = Velocity + VSize(Velocity) * VRand(); carc.Velocity.Z = FMax(carc.Velocity.Z, Velocity.Z); } } } function PlayGutHit(float tweentime) { if ( (AnimSequence == 'GutHit') || (AnimSequence == 'Dead2') ) { if (FRand() < 0.5) TweenAnim('LeftHit', tweentime); else TweenAnim('RightHit', tweentime); } else if ( FRand() < 0.6 ) TweenAnim('GutHit', tweentime); else TweenAnim('Dead8', tweentime); } function PlayHeadHit(float tweentime) { if ( (AnimSequence == 'HeadHit') || (AnimSequence == 'Dead7') ) TweenAnim('GutHit', tweentime); else if ( FRand() < 0.6 ) TweenAnim('HeadHit', tweentime); else TweenAnim('Dead7', tweentime); } function PlayLeftHit(float tweentime) { if ( (AnimSequence == 'LeftHit') || (AnimSequence == 'Dead9') ) TweenAnim('GutHit', tweentime); else if ( FRand() < 0.6 ) TweenAnim('LeftHit', tweentime); else TweenAnim('Dead9', tweentime); } function PlayRightHit(float tweentime) { if ( (AnimSequence == 'RightHit') || (AnimSequence == 'Dead1') ) TweenAnim('GutHit', tweentime); else if ( FRand() < 0.6 ) TweenAnim('RightHit', tweentime); else TweenAnim('Dead1', tweentime); } static function SetMultiSkin(Actor SkinActor, string SkinName, string FaceName, byte TeamNum) { //FIX LATER! if (skinactor.mesh!=LodMesh'botpack.fighter2M'){ if (skinactor.level.netmode==nm_standalone) super.setmultiskin(skinactor,default.defaultskinname,default.DefaultPackage$"Malcom",1); else super.setmultiskin(skinactor,SkinName,FaceName,TeamNum); } } Kov 2b , op0Sb GoSb b , oppo/0Sb oppo/Sb oppo/Sbb , oppo 0Sb oppo Sb Xb, oppo:0Sbyoppo:Sbb , oppo:0Sb oppo:Sb   aL// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // SpecialerEvent: an ENHANCED SpecialEvent // USAGE: // always use as you would a normal special event. // INTERLOPATION: SET UP AS YOU WOULD NORMALLY, AGAIN BEING SURE ITS INITIALSTATE IS "PLAYERPATH" // VAPRIZEINSTIGATOR STATE: Acts like the alarm point bKillMe. Instigator will be removed without a trace (no blood/carcass). will only work on non-players! // MyMESSAGETYPES: Legal types are SAY, CRITICALEVENT, EVENT, DEATHMESSAGE, AND PICKUP. // Criticalevent is the normal central blue, event is a message in the speech area, say can be used to make the player // (on local computer) appear to say something. Deathmesasge looks like a message and pickup is a pickup message // NOTE: new.. added support for // ============================================================ class SpecialerEvent expands SpecialEvent; var () name MyMessageType; var () bool DoubleVolume; //should sounds for playerplaysound be double normal volume? event BroadcastSayMessage( coerce string Msg, float time, pawn EventInstigator) { local Pawn P; local bool bBeep; local name Type; Type = 'Say'; for( P=Level.PawnList; P!=None; P=P.nextPawn ){ if (P.IsA('tvplayer')) tvplayer(P).SayMessage(Msg,time,EventInstigator.PlayerReplicationInfo); else if( P.bIsPlayer || P.IsA('MessagingSpectator') ) { if ( (Level.Game != None) && (Level.Game.MessageMutator != None) ) { if ( Level.Game.MessageMutator.MutatorBroadcastMessage(Self, P, Msg, bBeep, Type) ) P.ClientMessage( Msg, Type, bBeep ); } else P.ClientMessage( Msg, 'Say', false ); } } } function Trigger( actor Other, pawn EventInstigator ) { local pawn P; if (Message=="") return; if (MyMessageType=='Say'&&Sound!=none){ if( bBroadcast){ BroadcastSayMessage(Message, GetSoundDuration(Sound), EventInstigator); // Broadcast message to all players. return; } else if( tvplayer(EventInstigator)!=None) { // Send message to instigator only. tvplayer(EventInstigator).SayMessage( Message,GetSoundDuration(Sound) ); return; } } if( bBroadcast ) BroadcastMessage(Message, true, MyMessageType); // Broadcast message to all players. else if( EventInstigator!=None && len(Message)!=0 ) { // Send message to instigator only. EventInstigator.ClientMessage( Message,MyMessageType ); } } // Send the player on a spline path through the level. UsAaR33: edited so that there is no level.netmode check state() PlayerPath { function Trigger( actor Other, pawn EventInstigator ) { local InterpolationPoint i; Global.Trigger( Self, EventInstigator ); if( EventInstigator!=None && EventInstigator.bIsPlayer) { foreach AllActors( class 'InterpolationPoint', i, Event ) { if( i.Position == 0 ) { EventInstigator.GotoState(''); //in netplay, client adjustposition will fix the state problems :P EventInstigator.SetCollision(True,false,false); EventInstigator.bCollideWorld = False; EventInstigator.Target = i; EventInstigator.SetPhysics(PHYS_Interpolating); EventInstigator.PhysRate = 1.0; EventInstigator.PhysAlpha = 0.0; EventInstigator.bInterpolating = true; if (AmbientSound!=none) //don't try to change music :P EventInstigator.AmbientSound = AmbientSound; if (level.netmode!=nm_standalone){ EventInstigator.bhidden=true; if (tvplayer(EventInstigator)!=none) tvplayer(EventInstigator).dointerpolate(i);} //tell client to interpolate. } } } } } state() VaporizeInstigator //kill instigator without a trace :) { function Trigger( actor Other, pawn p ) { local pawn otherpawn; Global.Trigger(other,p); if (p==none||p.bisplayer||p.IsA('playerpawn')) return; for (otherpawn=level.pawnlist;otherpawn!=none;otherpawn=otherpawn.nextpawn) OtherPawn.Killed(p, p, ''); level.game.Killed(p, p, ''); if( p.Event != '' ) foreach AllActors( class 'Actor', other, p.Event ) other.Trigger( p, P.Instigator ); p.Weapon = None; Level.Game.DiscardInventory(p); p.Destroy(); } } // Play a sound. state() PlayersPlaySoundEffect { function Trigger( actor Other, pawn EventInstigator ) { local pawn P; bBroadcast=true; //hack Global.Trigger( Self, EventInstigator ); for ( P=Level.PawnList; P!=None; P=P.NextPawn ) if ( P.bIsPlayer && P.IsA('PlayerPawn') ) PlayerPawn(P).ClientPlaySound(Sound,,DoubleVolume); } } ELrAv @28FL2S'Lttt> YttttttttԝXtttttttttttttttttttt=$:ettt AeDLd@od`m:`,h%mh, rdhw _hw - r.v  v A AHCHC  brrvh`  crdhu hu - e.u  u A AHCHC  beedhJ mh$ {KHLU8// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. //loopattach. Simply allows this loop mover to attach to something. // Also can smoke // ============================================================ class LoopAttach expands Mover; var(Attachment) name AttachTag; var(Smoke) bool bSmoke; //smoke or not? var(Smoke) float SmokeDelay; // pause between drips var(Smoke) float SizeVariance; // how different each drip is var(Smoke) float BasePuffSize; var(Smoke) float RisingVelocity; var(Smoke) class GenerationType; var(Smoke) Vector OffSet[4]; var(Smoke) byte Trails; //amount of trails replication{ //needed, I assume reliable if (role==Role_Authority) bSmoke, SmokeDelay, SizeVariance, BasePuffSize, RisingVelocity, GenerationType, Offset, Trails; } var float i; var int NextKeyNum; function BeginPlay() { KeyNum = 0; Super.BeginPlay(); } function DoOpen() { // Move to the next keyframe. // bOpening = true; bDelaying = false; InterpolateTo( NextKeyNum, MoveTime ); PlaySound( OpeningSound ); AmbientSound = MoveAmbientSound; } state() LoopMove { function Trigger( actor Other, pawn EventInstigator ) { SavedTrigger = Other; Instigator = EventInstigator; SavedTrigger.BeginEvent(); GotoState( 'LoopMove', 'Open' ); } function UnTrigger( actor Other, pawn EventInstigator ) { Enable( 'Trigger' ); SavedTrigger = Other; Instigator = EventInstigator; GotoState( 'LoopMove', 'InactiveState' ); } function InterpolateEnd(actor Other) { } function BeginState() { bOpening = false; } Open: Disable ('Trigger'); NextKeyNum = KeyNum + 1; if( NextKeyNum >= NumKeys ) NextKeyNum = 0; DoOpen(); FinishInterpolation(); FinishedOpening(); // Loop forever GotoState( 'LoopMove', 'Open' ); InactiveState: FinishInterpolation(); FinishedOpening(); Stop; } // Immediately after mover enters gameplay. function PostBeginPlay() { local Actor Act; local Mover Mov; Super.PostBeginPlay(); if (bSmoke&&level.netmode==nm_standalone){ i=smokedelay; // bstasis=true; // bforcestasis=true; } if (!bsmoke||trails==0||level.netmode==NM_dedicatedserver) //don't spawn smoke on dedicated servrs. disable('tick'); // Initialize all slaves. if ( AttachTag != '' ) foreach AllActors( class 'Actor', Act, AttachTag ) { Mov = Mover(Act); if (Mov == None) { Act.SetBase( Self ); } else if (Mov.bSlave) { Mov.GotoState(''); Mov.SetBase( Self ); } } } simulated function Tick(float delta) //timer is already used :( { local Effects d; local byte j; super.tick(delta); if (!bsmoke) return; i+=delta; if (i>rotation)); d.DrawScale = BasePuffSize+FRand()*SizeVariance; if (SpriteSmokePuff(d)!=None) SpriteSmokePuff(d).RisingRate = RisingVelocity; if (UT_SpriteSmokePuff(D)!=none) UT_SpriteSmokePuff(d).RisingRate = RisingVelocity; d.remoterole=role_none; //client side spawned. } } LLILt- OLh)f 7h)o$?- 'q! {iv! (vvw&w~v, YLN wMGN ?%N z3zN 'Z$K #?N zN aN a K -t'aza K aN -t'>-tK 6K /a1 {=<{a/!f{a/!b{ 10-t |%RLU f l::$M %lM ,UwM Q*M iM QbM i%M n::$ -M ? AU 66 ?&M M N "N N kN 6 6kN N M  AU 33>?-(?&M M m@fff?U Lfff?U m?, - U ? fff? fff?B B?*C NLxvrP~%p~,$!xP?P ~i JX xP~ SLYJ?@r*?,a!uHa!j TLoT?Er*?,a&!u>Ra&!j> VLL(Y<2|!: &# ::$ w*0:%":%a/!6a/!B.k6j xQ(-?6c(L(?:K:$ ::$$00:K:$ :K:$DK?-Z d::$a%!D--kw?,H6H6H?,6F6F6F? ai(b(H'F-kw *O- -kL:%-'o:% -kwx#-(m=- -k-  ?%a%!fE#Ba%!a%!pa%!'- 'm=6666?a%!pa%!- ?%- 'l-- 'hL>a&x##Yaa-# =ozzw-k( QLG-| GXm`!].-m.Gm?,cX'G@cX'-| c`!?, WL^.>1-k ->< XLc D- ::$ J C t'p:c :$ի?J C C *:c :$իJ C C *:c :$ի?C J J **:c :$իC J J 6 Ct,K$?'HD?Oc $o$ K w-k( ZLPLC [Lu PL!.r ?, L>u Vu >333?r  w&>r A?&?Au r ?, 6 6 >r AD  #<?Au   ?&?,u ^- r ?,  J!D?I@AL!I@} D?I@AI@J!}  - -k`  _L@`Ѹ::$ v. .a/!@.@w@*@a/!@@ppppppppp@(V@) Animation :W@ is at frame U@ Playing at U@ . Done? T@- pppppppFollower Animation :W@ is at frame U@ Playing at U@ . Done? T@- pFollower Attitude:R@Follower Enemy@Follower HATED:V.@ Follower shadowV@pFollower Attitude:R@pppFollower state :W@a And physics: R@!NpppFollower state :W@a And physics: R@pppFollower nextanim : W.@ And nextstate: W@!]pppFollower nextanim :W.@ And nextstate: W@ ULXF*XK-w 6X$6X$6X$X&(w @[%[,$z[i XppS[&. [ P u)w X[iw '[w ?,  yJt%^ >Z-v @t% EM  "@ "@ "@"@*BH,*"90E@@ޯڮsJڮY1"2ŷ|\rX\XdXX\}xssdXXXXXS70'H7":W5'}w}wwtwtwwtsXXdtstXXD502Ƕ|\XX\XNXXYwddNXXNXdY\d1&  WW'xwtI10ķ|d]WXXXX\\tXIIXNsxwx<RI"75"x|wwttswstwtwx|wdssdtXI>1<˷|sXXX\XXXXssd|twd 1W:""IstddXXXXX]dX]d\X\XXNI756ǯ|d\XNXXXs}|wsWdsdI&5& 77s\r\XX\XX\r\XdXXdXXXI<00˷|dXISXtw\sdsdssXds\dtX"&" 5"Xd]Xd\sXXd\d]XdY\XdXI<"2ַ}wssx}}ttsX\sstvtX\sdd\sd5" XXddsXs\ssdsdd]ddX\dX<12ǵ}wdNds\\XdXII<7stsd\ddX" XdYd\Xsdsdd]d]sdXdddN<701Эt\XdXsN7Xa5>tdssXYdsX & MssXsXdssss\sssds\rdXI101ҷs\XsXdXsX"&R>:wR\dsXsdssssdsstttd\dXJ702˭zssttss\tssR1 &dbIs\ds\ssoI&wM1wsdttXdststtswstssdXI702ˮ}s]swssdtdXds<WovRIssssX\odXWwD1wtstdXststsdswts\sdXI75Ҭ|sX\tsd]tXdXd]0:RR57ssd\wϼdx<"<1dts\sXsttwsttwsd]s\X>2"2Ү|ssXXXstdI\dXsM"'R7d]\̞§o7 7d\sdststwswtssd]dNI<"2ٵzs\X\Xs\XW\sdss"XRXsX̤o5 "&$"HIsttstdtswtws\dXI56ٵ\sdXX\XdXs\s\r7WWddX͖7":,''''&:Xwtwtwswwssd]XI<"2\dXXXNnXtsdsd\\"&WR\sWH "%/Q/'-'/)$Iwwtttws]dsdXD512ַǐsdI\dtv\ssdss\dI:IXtoj& &':/QQ:,Q8:-'Itsossts\ss\I66ѷťddsXs\X]sds]Xd]s5"7rdbW"&'/-::ai`:QVQ7-#CwwsstwY\\XI55ַǦtXsXsX\s]dsdXsdsN"1XdQ" '-,/`eha`8:-#-tswtssdXXI116ַd]dd\r\ss\d\dss\s<Nj$&" &''-QfhaQ/-'ItsoswssXI<02ַǭ]ds\s\\sssXs]sdsss"Mj""" &'/:;`fjaHQQ'Iststs\XI116ַsstrMsXs\X\sd]tsttIao;`7Qjϑmcpc-7:dԛjjbfXI<12swΧS5:͹H'-W[.&Cbwԣh_aN750~T "RaaaQ'-VR^) -՜ajX<12{T0 :aga`-:HH::WjF@B*-úgX<52|Y0 $R/ahm`-'-8:/' &A &Wjqjd<1"2r7  &/Q:'8VH''-:H-&&":^  &aJ710Y6"&-5-'&"&'$':/HQ'"$& &FL+)  qI<710s5&':abQIQH-"""/H//-''--+()C*)))7D<100v>-;Wb-" &:eb9! "-HVLL[LEC(5ddCNR<12|R';`jͼȗhH&'Qh: 'CWkp[[F+&$  "'55DIXNID12M&'':hಱfPb`&" .[l^O8-'XXNRJI7101ƪa-'&#_fQbb/ -LKLK+-($&$ IJI'c[L& ;wX\XXdr\X<12ƭ{S9I;-:H:HH7'&"$:QQH;H-  3IaonbdX\X\dXII10ѴgQ:7'/H---:'&$'7:QHH:&  w ocXXXXXXd\N<1"2ƽvW#"7-':--HQ-'&" """"  ?1HdxXWsdYXR<10ƶR'"----:H;WgRQ5"" 1jr5- avodNXWXI<50Ƕƽa:::-/7':>RbjgW>'5"  0 07:adjhXXMI<00ƩjW>::& &"'5:Raa>:7::1   6v>:>HRda`WW>II610ojfR:55" ""515"#5>R="  003 3Suu=1"" 111" R># "553"   3=?S0 jR      03   S>600000000000064006@@aLfa::$ fwf*KffbppEnemy isf(Vf) ff-no enemies! cLiKi-i%:i,nia/!]ia/!Sia/!fia/!j ia/!S dLx!t"x!-'x! fLq $ q!u gLeLSr*H * hLb db ?,db ?b \w$* b ?% b ?&$@ b ERROR: Percentage must be between 0 and 100! iLSbzGw$* S?%0S?%S #<$QSxERROR: Time must be greater or equal to 0 jLO"c\0w$* O"%$p?O"ZERROR: Rate must be greater than 0 kLT"g80w$* T"?%$hT"ERROR: Coefficient of Rotational Air Resistance must be greater than or equal to 0 lLW"eb}0w$* W"?%$[W"{ERROR: Coefficient of Resistance must be greater than or equal to 0 mLg"f{0w$* g"?%$mg"yERROR: Coefficient of Friction must be greater than or equal to 0 nLi"Qs*z6w$* i"%$qi"xERROR: Maximum Reverse thrust force must be greater than 0 oLD#Rm{f0w$* D#%$a?D#dERROR: Maximum Thrust must be greater than 0 pLF#SgѬd0w$* F#?%$F#bERROR: Vehicle mass must be greater than 0 pMD%TbI+)w.L$*.L$aD% rLO#EYoX7w.*.@O#Vw$*$ EO#  sL;T z!tLA%RQ!w* RA%  u$uL_#V K31r$*$ A _#8V _# vLf#^ >Ҩ\-v 1w$*$ sf#Ze#  $8^ f# e# TwLB9w sxLa8? CzLZ7 \~LyL{6 JLD8b ::$ @ {L^ԿyrүG aIGɏԝXyrүyrүyrүԝX H$L=_$@I$@`$CHVq!7%&w ,w ,w ,w ,w ,w ,w ,w , w %w  |Lw!2 (ww#&#~w, @Lf5 pCMy4 }Ld8y ! q! ! w! ! y! ! {! ! |! ! }! ! @" ! B" ! Q" ! V" ! X" ! h" ! C# ! E# ! I# ! N# ! Q# ! S# ! [# ! a# ! g# ! j# ! l# ! q# V %V , ! V A p JC %! V @ p JC %V B {// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // NaliTrooper. By UsAaR33 // A Friendly Nali that follows the player and has a weapon. // ============================================================ class NaliTrooper expands WeaponHolder; //UsAaR33: model is the normal nali, yet with a weapon poly added. //thanks to James Green for sending me the source model #exec MESH IMPORT MESH=nalit ANIVFILE=MODELS\naliX_a.3D DATAFILE=MODELS\nali_good3_d.3D ZEROTEX=1 UNMIRROR=1 LODPARAMS=8 #exec MESH ORIGIN MESH=Nalit X=00 Y=-130 Z=30 YAW=64 ROLL=-64 #exec MESH SEQUENCE MESH=nalit SEQ=All STARTFRAME=0 NUMFRAMES=447 #exec MESH SEQUENCE MESH=nalit SEQ=Backup STARTFRAME=0 NUMFRAMES=10 RATE=15 #exec MESH SEQUENCE MESH=nalit SEQ=Bowing STARTFRAME=10 NUMFRAMES=20 RATE=15 Group=Ducking #exec MESH SEQUENCE MESH=nalit SEQ=Breath STARTFRAME=30 NUMFRAMES=8 RATE=6 Group=Waiting #exec MESH SEQUENCE MESH=nalit SEQ=Cough STARTFRAME=38 NUMFRAMES=25 RATE=15 Group=Waiting #exec MESH SEQUENCE MESH=nalit SEQ=Landed STARTFRAME=68 NUMFRAMES=1 #exec MESH SEQUENCE MESH=nalit SEQ=Cringe STARTFRAME=63 NUMFRAMES=15 RATE=15 Group=Ducking #exec MESH SEQUENCE MESH=nalit SEQ=Dead STARTFRAME=78 NUMFRAMES=38 RATE=15 #exec MESH SEQUENCE MESH=nalit SEQ=Dead2 STARTFRAME=116 NUMFRAMES=16 RATE=15 #exec MESH SEQUENCE MESH=nalit SEQ=Dead3 STARTFRAME=132 NUMFRAMES=13 RATE=15 #exec MESH SEQUENCE MESH=nalit SEQ=Dead4 STARTFRAME=145 NUMFRAMES=21 RATE=15 #exec MESH SEQUENCE MESH=nalit SEQ=Follow STARTFRAME=166 NUMFRAMES=23 RATE=15 #exec MESH SEQUENCE MESH=nalit SEQ=GetDown STARTFRAME=189 NUMFRAMES=5 RATE=15 #exec MESH SEQUENCE MESH=nalit SEQ=GetUp STARTFRAME=194 NUMFRAMES=8 RATE=15 #exec MESH SEQUENCE MESH=nalit SEQ=levitate STARTFRAME=202 NUMFRAMES=6 RATE=6 Group=Waiting #exec MESH SEQUENCE MESH=nalit SEQ=pray STARTFRAME=208 NUMFRAMES=8 RATE=6 Group=Waiting #exec MESH SEQUENCE MESH=nalit SEQ=spell STARTFRAME=216 NUMFRAMES=28 RATE=15 Group=Waiting #exec MESH SEQUENCE MESH=nalit SEQ=Sweat STARTFRAME=244 NUMFRAMES=18 RATE=15 Group=Waiting #exec MESH SEQUENCE MESH=nalit SEQ=walk STARTFRAME=262 NUMFRAMES=20 RATE=15 #exec MESH SEQUENCE MESH=nalit SEQ=GutHit STARTFRAME=282 NUMFRAMES=1 #exec MESH SEQUENCE MESH=nalit SEQ=AimDown STARTFRAME=283 NUMFRAMES=1 #exec MESH SEQUENCE MESH=nalit SEQ=AimUp STARTFRAME=284 NUMFRAMES=1 #exec MESH SEQUENCE MESH=nali1 SEQ=Bow2 STARTFRAME=285 NUMFRAMES=28 RATE=15 #exec MESH SEQUENCE MESH=nalit SEQ=HeadHit STARTFRAME=245 NUMFRAMES=1 Group=TakeHit #exec MESH SEQUENCE MESH=nalit SEQ=LeftHit STARTFRAME=246 NUMFRAMES=1 Group=TakeHit #exec MESH SEQUENCE MESH=nalit SEQ=RightHit STARTFRAME=247 NUMFRAMES=1 Group=TakeHit #exec MESH SEQUENCE MESH=nalit SEQ=Run STARTFRAME=316 NUMFRAMES=10 RATE=15 #exec MESH SEQUENCE MESH=nalit SEQ=RunFire STARTFRAME=326 NUMFRAMES=10 RATE=15 Group=MovingAttack #exec MESH SEQUENCE MESH=nalit SEQ=jump STARTFRAME=326 NUMFRAMES=1 #exec MESH SEQUENCE MESH=nalit SEQ=StillFire STARTFRAME=336 NUMFRAMES=1 group=waiting #exec MESH SEQUENCE MESH=nalit SEQ=fighter STARTFRAME=336 NUMFRAMES=1 #exec MESH SEQUENCE MESH=nalit SEQ=WalkFire STARTFRAME=337 NUMFRAMES=20 RATE=15 Group=MovingAttack #exec MESH SEQUENCE MESH=nalit SEQ=WalkTool STARTFRAME=357 NUMFRAMES=20 RATE=15 #exec MESH SEQUENCE MESH=nalit SEQ=Drowning STARTFRAME=377 NUMFRAMES=20 RATE=15 //usaar33: from unreali nali2 #exec MESH SEQUENCE MESH=nalit SEQ=Duckwalk STARTFRAME=397 NUMFRAMES=20 RATE=15 Group=Ducking #exec MESH SEQUENCE MESH=nalit SEQ=Land STARTFRAME=397 NUMFRAMES=1 #exec MESH SEQUENCE MESH=nalit SEQ=Swim STARTFRAME=417 NUMFRAMES=15 RATE=15 #exec MESH SEQUENCE MESH=nalit SEQ=Tread STARTFRAME=432 NUMFRAMES=15 RATE=15 #exec MESHMAP SCALE MESHMAP=nalit X=0.069 Y=0.069 Z=0.138 #exec MESHMAP SETTEXTURE MESHMAP=nalit NUM=0 TEXTURE=Jnali1 #exec MESH NOTIFY MESH=Nalit SEQ=Dead TIME=0.46 FUNCTION=LandThump #exec MESH NOTIFY MESH=Nalit SEQ=Dead2 TIME=0.64 FUNCTION=LandThump #exec MESH NOTIFY MESH=Nalit SEQ=Dead3 TIME=0.84 FUNCTION=LandThump #exec MESH NOTIFY MESH=Nalit SEQ=Dead4 TIME=0.51 FUNCTION=LandThump #exec MESH NOTIFY MESH=Nalit SEQ=Backup TIME=0.25 FUNCTION=PlayWalkStep #exec MESH NOTIFY MESH=Nalit SEQ=Backup TIME=0.75 FUNCTION=PlayWalkStep #exec MESH NOTIFY MESH=Nalit SEQ=Walk TIME=0.25 FUNCTION=PlayWalkStep #exec MESH NOTIFY MESH=Nalit SEQ=Walk TIME=0.75 FUNCTION=PlayWalkStep #exec MESH NOTIFY MESH=Nalit SEQ=WalkFire TIME=0.25 FUNCTION=PlayWalkStep #exec MESH NOTIFY MESH=Nalit SEQ=WalkFire TIME=0.75 FUNCTION=PlayWalkStep #exec MESH NOTIFY MESH=Nalit SEQ=WalkTool TIME=0.25 FUNCTION=PlayWalkStep #exec MESH NOTIFY MESH=Nalit SEQ=WalkTool TIME=0.75 FUNCTION=PlayWalkStep #exec MESH NOTIFY MESH=Nalit SEQ=Run TIME=0.25 FUNCTION=PlayStep #exec MESH NOTIFY MESH=Nalit SEQ=Run TIME=0.75 FUNCTION=PlayStep #exec MESH NOTIFY MESH=Nalit SEQ=RunFire TIME=0.25 FUNCTION=PlayStep #exec MESH NOTIFY MESH=Nalit SEQ=RunFire TIME=0.75 FUNCTION=PlayStep var bool bGesture; var(Sounds) sound syllable1; var(Sounds) sound syllable2; var(Sounds) sound syllable3; var(Sounds) sound syllable4; var(Sounds) sound syllable5; var(Sounds) sound syllable6; var(Sounds) sound urgefollow; var(Sounds) sound cringe; var(Sounds) sound cough; var(Sounds) sound sweat; var(Sounds) sound bowing; var(Sounds) sound backup; var(Sounds) sound pray; var(Sounds) sound breath; function PostBeginPlay() { Super.PostBeginPlay(); bCanSpeak = true; if ( Orders == 'Ambushing' ) AnimSequence = 'Levitate'; } function SpeakPrayer() { PlaySound(Pray); } function PlayFearSound() { if ( (Threaten != None) && (FRand() < 0.4) ) { PlaySound(Threaten, SLOT_Talk,, true); return; } if (Fear != None) PlaySound(Fear, SLOT_Talk,, true); } function bool AdjustHitLocation(out vector HitLocation, vector TraceDir) { local float adjZ, maxZ; TraceDir = Normal(TraceDir); HitLocation = HitLocation + 0.5 * CollisionRadius * TraceDir; if ( (GetAnimGroup(AnimSequence) == 'Ducking') && (AnimFrame > -0.03) ) { if ( AnimSequence == 'Bowing' ) maxZ = Location.Z - 0.2 * CollisionHeight; else maxZ = Location.Z + 0.25 * CollisionHeight; if ( HitLocation.Z > maxZ ) { if ( TraceDir.Z >= 0 ) return false; adjZ = (maxZ - HitLocation.Z)/TraceDir.Z; HitLocation.Z = maxZ; HitLocation.X = HitLocation.X + TraceDir.X * adjZ; HitLocation.Y = HitLocation.Y + TraceDir.Y * adjZ; if ( VSize(HitLocation - Location) > CollisionRadius ) return false; } } return true; } simulated function PlayStep() { // local sound ToPlay; if (level.netmode==nm_dedicatedserver) return; /* ToPlay=GetTexSound(); if (ToPlay!=none){ PlaySound(ToPlay, SLOT_Interact,2.2,,,1500); return; } */ if (TvPawnShadow(Shadow)!=none&&TvPawnShadow(Shadow).NumSounds!=0) PlaySound(TvPawnShadow(Shadow).CurFootSound[rand(TVPawnshadow(shadow).NumSounds)], SLOT_Interact,2.0,,1000); else PlaySound(footstep1, SLOT_Interact,0.5,,1000); } simulated function PlayWalkStep() { WalkStep(); } function PlayWaiting() { local float decision; local float animspeed; if (region.zone.bwaterzone) { LoopAnim('Tread'); } animspeed = 0.4 + 0.6 * FRand(); decision = FRand(); if ( AnimSequence == 'Breath' ) { if (!bQuiet && (decision < 0.12) ) { PlaySound(Cough,Slot_Talk,1.0,,800); LoopAnim('Cough', 0.85); return; } else if (decision < 0.24) { PlaySound(Sweat,Slot_Talk,0.3,,300); LoopAnim('Sweat', animspeed); return; } else if (!bQuiet && (decision < 0.34) ) { PlayAnim('Pray', animspeed, 0.3); return; } } else if ( AnimSequence == 'Pray' ) { if (decision < 0.3) PlayAnim('Breath', animspeed, 0.3); else { SpeakPrayer(); PlayAnim('Pray', animspeed); } return; } PlaySound(Breath,SLOT_Talk,0.5,true,500,animspeed * 1.5); LoopAnim('Breath', animspeed); } function PlayPatrolStop() { PlayWaiting(); } function PlayWaitingAmbush() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } LoopAnim('Levitate', 0.4 + 0.3 * FRand()); } function PlayDive() { TweenToSwimming(0.2); } function TweenToFighter(float tweentime) { if (Region.Zone.bWaterZone) TweenToSwimming(tweentime); else if (AnimSequence == 'Bowing') PlayAnim('GetUp', 0.4, 0.15); else TweenAnim('Fighter', tweentime); } function TweenToRunning(float tweentime) { if (Region.Zone.bWaterZone) TweenToSwimming(tweentime); else if ( ((AnimSequence != 'Run') && (AnimSequence != 'RunFire')) || !bAnimLoop) { if (AnimSequence == 'Bowing') PlayAnim('GetUp', 0.4, 0.15); else TweenAnim('Run', tweentime); } } function TweenToWalking(float tweentime) { if (Region.Zone.bWaterZone) TweenToSwimming(tweentime); else if (AnimSequence == 'Bowing') PlayAnim('GetUp', 0.4, 0.15); else if ( Weapon != None ) TweenAnim('WalkTool', tweentime); else TweenAnim('Walk', tweentime); } function TweenToWaiting(float tweentime) { if (Region.Zone.bWaterZone) TweenToSwimming(tweentime); else if (AnimSequence == 'Bowing') PlayAnim('GetUp', 0.4, 0.15); else TweenAnim('Breath', tweentime); } function PlayDodge(bool bDuckLeft){ PlayAnim('jump', 1.35,0.1); } function TweenToPatrolStop(float tweentime) { if (Region.Zone.bWaterZone) TweenToSwimming(tweentime); else if (AnimSequence == 'Bowing') PlayAnim('GetUp', 0.4, 0.15); else if ( IsInState('Guarding')) TweenAnim('Pray', tweentime); else TweenAnim('Breath', tweentime); } function PlayMovingAttackAnim(){ LoopAnim('Runfire', -1.0/GroundSpeed,,0.4); } function PlayFiring(){ TweenAnim('stillFire', 0.2); Super.PlayFiring(); } function PlayRetreating() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } bAvoidLedges = true; PlaySound(Backup, SLOT_Talk); DesiredRotation = Rotator(Enemy.Location - Location); DesiredSpeed = WalkingSpeed; Acceleration = AccelRate * Normal(Location - Enemy.Location); LoopAnim('Backup'); } function PlayTurning() { TweenAnim('Walk', 0.3); } function PlayDying(name DamageType, vector HitLoc) { //first check for head hit if ( ((DamageType == 'Decapitated') || (HitLoc.Z - Location.Z > 0.5 * CollisionHeight)) && !Level.Game.bVeryLowGore ) { PlayHeadDeath(DamageType); return; } Super.PlayDying(DamageType, HitLoc); } function PlayHeadDeath(name DamageType) { local carcass carc; carc = Spawn(class 'CreatureChunks',,, Location + CollisionHeight * vect(0,0,0.8), Rotation + rot(3000,0,16384) ); if (carc != None) { carc.Mesh = mesh'NaliHead'; carc.Initfor(self); carc.Velocity = Velocity + VSize(Velocity) * VRand(); carc.Velocity.Z = FMax(carc.Velocity.Z, Velocity.Z); } PlaySound(sound'Death2n', SLOT_Talk, 4 * TransientSoundVolume); PlayAnim('Dead3',0.5, 0.1); } function PlayBigDeath(name DamageType) { PlaySound(Die, SLOT_Talk, 4 * TransientSoundVolume); PlayAnim('Dead4',0.7, 0.1); } function PlayLeftDeath(name DamageType) { PlaySound(sound'Death2n', SLOT_Talk, 4 * TransientSoundVolume); PlayAnim('Dead',0.7, 0.1); } function PlayRightDeath(name DamageType) { PlaySound(Die, SLOT_Talk, 4 * TransientSoundVolume); PlayAnim('Dead2',0.7, 0.1); } function PlayGutDeath(name DamageType) { PlaySound(Die, SLOT_Talk, 4 * TransientSoundVolume); if ( FRand() < 0.5 ) PlayAnim('Dead2',0.7, 0.1); else PlayAnim('Dead',0.7, 0.1); } function PlayChallenge() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } if ( FRand() < 0.3 ) PlayWaiting(); else tweenAnim('Fighter',0.2+0.1*frand()); } function PlayVictoryDance() //based on player nali { PlaySound(pray, SLOT_Talk); PlayAnim('pray', 1.0, 0.1); } //this nali can swim :P function playrunning(){ if ( region.zone.bwaterzone) { if ( (vector(Rotation) Dot Acceleration) > 0 ) PlaySwimming(); else PlayWaiting(); return; } LoopAnim('Run', -1.0/GroundSpeed,,0.4); } function playwalking(){ if (region.zone.bwaterzone) { if ( (vector(Rotation) Dot Acceleration) > 0 ) PlaySwimming(); else PlayWaiting(); return; } if ( Weapon != None ) LoopAnim('WalkTool', 1.5,,0.4); else LoopAnim('Walk', 1.5,,0.4); } function PlaySwimming() { LoopAnim('Swim', -1.0/WaterSpeed,, 0.5); } function PlayGreetAnim(){ Playanim (greetanim,0.5+0.4*frand(),0.2); SpeakPrayer(); } function PlayOutOfWater() { TweenAnim('Land', 0.8); } function TweenToFalling() { TweenAnim('Jump', 0.35); } function PlayInAir() { TweenAnim('Jump', 0.2); } function PlayLanded(float impactVel) { TweenAnim('Land', 0.1); } function PlayThreatening() //this nali ain't a coward { local float decision, animspeed; if (Region.Zone.bWaterZone) { PlaySwimming(); return; } decision = FRand(); animspeed = 0.6 + 0.4 * FRand(); if ( decision < 0.3 ) PlayAnim('Breath', animspeed, 0.25); else if ( decision < 0.45 ) PlayAnim('follow', animspeed, 0.25); else { PlayThreateningSound(); if ( decision < 0.65 ) PlayAnim('spell', animspeed, 0.25); else PlayAnim('cough', animspeed, 0.25); } } function TweenToSwimming(float TweenTime) { if (AnimSequence != 'Swim' || !bAnimLoop) TweenAnim('Swim', tweentime); } state AlarmPaused { ignores HearNoise, Bump; function PlayWaiting() { if ( !bGesture || (FRand() < 0.3) ) //pick first waiting animation { bGesture = true; PlaySound(UrgeFollow, SLOT_Talk); NextAnim = 'Follow'; LoopAnim(NextAnim, 0.4 + 0.6 * FRand()); } else Global.PlayWaiting(); } function PlayWaitAround() { if ( (AnimSequence == 'Bowing') || (AnimSequence == 'GetDown') ) PlayAnim('Bowing', 0.75, 0.1); else PlayAnim('GetDown', 0.7, 0.25); } function BeginState() { bGesture = false; Super.BeginState(); } } state Guarding { function PlayPatrolStop() { local float decision; local float animspeed; animspeed = 0.2 + 0.6 * FRand(); decision = FRand(); if ( AnimSequence == 'Breath' ) { if (!bQuiet && (decision < 0.12) ) { PlaySound(Cough,Slot_Talk,1.0,,800); LoopAnim('Cough', 0.85); return; } else if (decision < 0.24) { PlaySound(Sweat,Slot_Talk,0.3,,300); LoopAnim('Sweat', animspeed); return; } else if (!bQuiet && (decision < 0.65) ) { PlayAnim('Pray', animspeed, 0.3); return; } else if ( decision < 0.8 ) { PlayAnim('GetDown', 0.4, 0.1); return; } } else if ( AnimSequence == 'Pray' ) { if (decision < 0.2) PlayAnim('Breath', animspeed, 0.3); else if ( decision < 0.35 ) PlayAnim('GetDown', 0.4, 0.1); else { SpeakPrayer(); PlayAnim('Pray', animspeed); } return; } else if ( AnimSequence == 'GetDown') { PlaySound(Bowing, SLOT_Talk); LoopAnim('Bowing', animspeed, 0.1); return; } else if ( AnimSequence == 'GetUp' ) PlayAnim('Pray', animspeed, 0.1); else if ( AnimSequence == 'Bowing' ) { if ( decision < 0.15 ) PlayAnim('GetUp', 0.4); else { PlaySound(Bowing, SLOT_Talk); LoopAnim('Bowing', animspeed); } return; } PlaySound(Breath,SLOT_Talk,0.5,true,500,animspeed * 1.5); LoopAnim('Breath', animspeed); } } function eAttitude AttitudeTo(Pawn Other) { if (Other.bIsPlayer) { if ( !cananger ) return ATTITUDE_Friendly; else if ( (Intelligence > BRAINS_None) && ((AttitudeToPlayer == ATTITUDE_Hate) || (AttitudeToPlayer == ATTITUDE_Threaten) || (AttitudeToPlayer == ATTITUDE_Fear)) ) //check if afraid { if (RelativeStrength(Other) > Aggressiveness) AttitudeToPlayer = AttitudeWithFear(); else if (AttitudeToPlayer == ATTITUDE_Fear) AttitudeToPlayer = ATTITUDE_Hate; } return AttitudeToPlayer; } else if (Hated == Other) { if (RelativeStrength(Other) >= Aggressiveness) return AttitudeWithFear(); else return ATTITUDE_Hate; } else if ( (TeamTag != '') && (ScriptedPawn(Other) != None) && (TeamTag == ScriptedPawn(Other).TeamTag) ) return ATTITUDE_Friendly; else return AttitudeToCreature(Other); } N GMBME 3| @M@/u Im!Gyy̌??J+I@@/(.-G.IG?,m!( @ ! !! % /!!!)15!!)!!!)!!)))!)))!1!1!9%5 1))1)9 11!!!)!)!)!)!!))))!)119911191)1!1)!11!61&J!B!J)9)9!)B)B)J1919!19)1B1B1B!1B)1J999999!99)9919B9B9B!9B)9B19J9J9J)9J19RB9B=BB!BF BJ!BJ)JBJB!JB)JJ!RJ!JJ)BRBR!JR!BR)JR)BZ!JZ)BB1BJ1BR1JB1JJ1JR1JZ1BB9BR9JJ9JR9JZ9JRBJZBRJ)RR!ZR!RR)ZR)cR)RR1ZR1RR9ZR9ZZ!RZ)ZZ)cZ)kZ)RZ1RZ9Rc)Rc9Rk)ZZ1ZZ9Zc1cZ1cc)Zk1Zs-kZ1cc1kc1ck1mk1RRBVZBZc9cZ9cc9RcBZcBck9ZZJc^BZcJ]kDZgRcgJceTckZcs9kc9kk9gpEkkRksRkkZksZscBsk9skB{q9ssBspO{sBsJc{9k9s{Bs{Nksck{cssZsw^~{DyR{{Zs{cw=H~URsc{{c{ccccs{ksk{{o{k{skss{RWeisUeajz}ŗ֧FIMFM]2A i;  "@ "@ "@"@*9)"qQK0BF@@                 `          8      N譅p[     WGFGܿJ      ~r]pSC/ܿ,       N}r٣^t      裣_ؽK  NЇ_  ӕ_GS[FC^K  8VL10MrG0)Wftv }mrJ'K1   ح⭣f> -٣i   3޽ؾ,   NЭܿ) УݺؽU ӭжݽ ҭԳݾJ ȫȶ˷ ȳϳ   ̳Ş   Şś}  ś}~}eWtur VjǟkcVOj{kkeVVWtv\*J  M)9}{cO:NN:NNLTTfxU+#0 GXQ1bm`:0500-59JJJTftfKBP@)~DYQ&+6`jmic`:8-*66JJVT,&@@#)8`.+Y[Q'---  ')$#@@#)ۑO/1+CB@    "@&"$),ɒ|iJ1.##  ,FTax}i~a:0  *JTUzL-bgi990'  ,11-z8 NN -   :- 9   0   0~`  -  -iiO?-  -9NM6VT   99ci՚`-+Q_Q( %&(#Lzxx]s  -Wxzzh1GG[[[[QQA&)/Jgr|w^  9wwwgճoh131F/FGGGF/)).-Vxrt-axx]Mznnoh------9czzL601DS]:VgwxrW.Nʱęnioooh=>>>3--00),DSZۻrrrӍ||'kųpl]xzikih<  ))))+D'ؙwrr 3ɫpSGLrlMWMaaa9- +fJүVWx k瞞˱SG11M|c1100.  ,tt]\^lg18ksŨwLLF0Fg||N-  1GDG]^l]d0xxLWkc{VŔjk8Ly|c-  FFK]MrlrrL18`N}g~k8Nyk9  6W]tЯwӤL68-`L}~:9Oi9  Vxٕrwr1rgVş}`>88L9  Fs|zӥWxg11 5rMr˓88ii95-3  83/KWrfx诫VdxxwyV0Md 1V0gx|c--63  4;<2 .KMWW]WҳwVgMdrML60rV1L*c}wMGLlrF-190  ;74 /LMMMSMMO3*LLJLL*110cz}rFF/CFF/.) ;2.LMMMMMgw||V'.-6LV0y06d{}rMF1///)   ;;7.LVVVMV-9LN:- 0g1 0Lb~{gcVVL1.0  =?;09aaaec ----  'Md*.VN`{{ecjkjN985- ??;.9Ockkk 0VLJg9c{~~kejkzjO:0-- ??;39>Ockk 0M6LJckmmccjj9--    ?;9>N>>:O2-2  91IVjie``bkj:.  2;439O>973872  ,ZVccc`N9:3-    -39O88>`272  ,\Ucjc`N8-     0883?n872  DUZbik`N8- 2  -7  ,SUMcc`95     4@@~JM@1 p!RMI0 DMF@B*A*6$6$6$&("&CreaturesNumber Killed"%(BrutesQ""GasbagV""KrallX""SlithsC#"Tentacles}!"Pupae@""MantasN#"FishI#"TitansE#"Skaarj Warriorsq!"Skaarj Troopersw!"Skaarj Leadersy!"Mercenariesh""TerransQ#"Nali{!"'Evil' Nali|!"Harmless CrittersB"""&(Damage Inflicted on enemiesg#"Damage Inflicted on alliesa#"Damage Taken[#"Your Enemy KillsS#"Kills by Alliesl#"Allies Deadj#""Secrets Foundq#""WeaponDamage Caused"%(W&W, WwW@ "W%w%@ " , @ "Other, @ ""&(WeaponPlay Time Held"%(W& W, WwWA "W%w%A " , A " , A "?,  A O// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // just tia's code.... fun for me (UsAaR33) to try out as my merc was a tad screwed a while ago. now it is heck of better :P) // ============================================================ class WarLordguard expands WarLord; var actor pa; // used in seeplayer() in 'bumpedinto' and 'following' states var bool bumped; // used in 'bumpedinto' and 'following' states var vector MyPos; // used in bump() in 'bumpedinto' and 'following' states var int x,y,z; // For finding distance to player on different axes var vector Calc; // Scratch vector // We want to change what happens when the Bodyguard sees the player so we write // our own function for it that will run instead of the Warlord's Global // SeePlayer() function in the ScriptedPawn class. function SeePlayer(actor SeenPlayer) { LastSeenPos = SeenPlayer.Location; // Update the last known position // of the player. LastSeenPos is declared globally in the pawn class AttitudeToPlayer = ATTITUDE_Friendly; // Hey we're all buddy-buddy here. // Just in case you did something to piss him off and you ran far enough away // to get him out of the attacking state and you return, he'll be your friend // again. I thought about having him let you shoot him without retaliating but // it just did not fit his demeanor. If you want to be free from worry that you // may knick your bodyguard with a razorjack or eightball in a firefight and // bring his fury upon yourself then copy either his 'attacking' state or // his TakeDamage() function here and add the code to make his attitude to you // remain friendly no matter what happens. gotostate('greetplayer'); // This sends us into our custom states } //******************************************************************************* state GreetPlayer { ignores SeePlayer; // If we don't ignore this it will continually loop // us through the above function and we won't ever get to the meat of this state function myGreet() // We don't want this guy constantly jumping up and // down and waving at us, so to make it a little more special, 4 out of every // 20 myGreet's he will do a little something different. { local int i; i = Frand()*20; switch(i) { case 0: LoopAnim('Twirl'); // You find these PlaySound(sound'DeathCry1WL', SLOT_Talk); // animations and sounds in break; // the script for the // Warlord class. case 1: LoopAnim('Laugh'); PlaySound(sound'laugh1WL', SLOT_Talk); break; case 2: LoopAnim('Munch'); PlaySound(sound'breath1WL', SLOT_Talk); break; case 3: LoopAnim('Point'); PlaySound(sound'threat1WL', SLOT_Talk); break; default: playwaiting(); // default animation routine } } //------------------------------------------------------------------------------- Begin: SetMovementPhysics(); // Initialize myGreet(); // See what animation is in order sleep(2); // Wait approx. 2 seconds to build tension gotostate('sic_em'); // He sees you so he better get to work before you // fire him } //******************************************************************************* state sic_em { ignores SeePlayer; // Time to kick ass not dance for the player function myProtectMaster() // This function looks at all visible scripted // pawns to see if any are targeting the player or himself. If they are, // the bodyguard gets them. { local scriptedpawn aScriptedPawn; foreach VisibleActors( class 'scriptedpawn' , aScriptedPawn ) { if ( (aScriptedPawn != None) && (aScriptedPawn !=self) && (LineOfSightTo(aScriptedPawn)) && (aScriptedPawn.target != None)) { Hated = aScriptedPawn; // Hate him SetEnemy(aScriptedPawn); // Set him as enemy gotostate('attacking'); // ATTACK! break; } } } function myNextKill() // This function looks at all visible scripted // pawns just to pick a fight with one { local scriptedpawn aScriptedPawn; foreach VisibleActors( class 'scriptedpawn' , aScriptedPawn ) { if ( (aScriptedPawn != None) && (aScriptedPawn !=self) && (LineOfSightTo(aScriptedPawn))) // I don't like the way you look boy { Hated = aScriptedPawn; // I hate you SetEnemy(aScriptedPawn); // You are my enemy gotostate('attacking'); // Bartender, call an ambulance break; } } } Begin: myProtectMaster(); // First is anyone targeting the boss? myNextKill(); // If not is anyone around to pick on? gotostate('following'); // Let's make sure we stay near the player } //******************************************************************************* state following { function SeePlayer(actor SeenPlayer) // Now we use SeePlayer() to keep track // of the player's location. { local vector position; pa = SeenPlayer; // Global store our player LastSeenPos = SeenPlayer.Location; // Update the last known position // of the player } function Bump(actor Other) // We can use our own version of Bump() to // steer our bodyguard into another custom state { MyPos = Location; // Global Where am I? gotostate('bumpedinto'); } //--------------------------------------------------------------------------------- Begin: Bumped = False; // Bumped flag reset SetMovementPhysics(); // Initialize GroundSpeed = 200; // Standard walk speed LoopAnim('walk',1.4,,); // Play walk animation Moving: TurnTo(LastSeenPos); // Look at player x = abs(pa.location.x - location.x); // How far away is he? y = abs(pa.location.y - location.y); z = abs(pa.location.z - location.z); if((x > 500) || (y >500) || (z >500)) // This far? goto ('run'); else if((x > 200) || (y >200) || (z >200)) // This far? goto('Walk'); else goto('hang'); // He's close enough Run: // Running GroundSpeed = 400; LoopAnim('fly',0.7,,); MoveToward(pa, GroundSpeed); gotostate ('sic_em'); // Check for prey Walk: // Walking WaitForLanding(); GroundSpeed = 200; LoopAnim('walk',1.3,,); MoveToward(pa, GroundSpeed); gotostate ('sic_em'); // Check for prey Hang: // Hangin' out PlayWaiting(); sleep(2); gotostate ('sic_em'); // Check for prey } //******************************************************************************* state bumpedinto { function SeePlayer(actor SeenPlayer) // We just want to see the player one { // time and get his position pa = SeenPlayer; // Then ignore SeePlayer() LastSeenPos = SeenPlayer.Location;// for the remainder of this state Disable('Seeplayer'); // with this line } function Bump(actor Other) // This time we hijack Bump() so that { Bumped = True; // we can set the bumped flag MyPos = Location; gotostate('bumpedinto'); } //--------------------------------------------------------------------------------- Begin: MoveTo(MyPos); // Stay put TurnTo(pa.location); // Turn to player if(bumped == True) // If a bump has occurred { LoopAnim('walk',1.4,,); // Back off some random amount calc.x = Frand()*100; // Pick random amount calc.y = Frand()*100; if(Frand() > 0.5) calc.x = 0 - calc.x; if(Frand() > 0.5) calc.y = 0 - calc.y; MyPos.x = MyPos.x + calc.x; MyPos.y = MyPos.y + calc.y; MoveTo(MyPos); // Back off by that amount TurnTo(MyPos); // Turn to player bumped = false; // Set flag back } gotostate('following'); } @!!!!!!!!!))))))))!1111111!999999BGD ROB9BJR9B!9!!!!!!!!)!)!!!!%%!))1!1!1)9% 9)1)119)B!B!B)B)J!M$ R) 91B.J1 J)R1 N-O6R=))!1)!))))1!11!)1-11)19)9)!91%99!H3!99)F;'R9%PD')191112<7999B51??39B=BB9HC5JJ9RB1RJ1BFBJJFFRFJTPZ g Z!d"Z1\+c1e.Z1Z9^1g7ZBZ=ZF!gAZ?+WJ1VN9ZR9c9!g=#cG&cN3VNBTVF^Z=`TDWWS`^N]c]^cgw s3 {9w9%uGoF sD+{F)sRqR)mT9uT3kTDp`Bp[KpcT ?MR1[/}`B^H}cX-Oe"b<$'Z!YBomNln`~oRwZckkkkkwscscZssckskskmxps{ks{s{{k{su5nJu\qV{eygnqy/EybgNmƝU|ck{{s{{{{{{{{{{{{{{{{ղƮn; LMQI`B6 OM('Fg ZԝXԝXԝXԝXԝXԝX"/ԝXx \// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // tvcoop. The co-op gameinfo for ONP // ============================================================ class tvcoop expands coopgame2; var bool storedfollowers; //info on one ppawn only! var ONPLevelInfo LInfo; //info for some options //highly modified to use level actor :) function AddDefaultInventory(pawn PlayerPawn ){ local inventory inv; local int i; local byte PlayerHas[20]; local bool bKilledSelected; //uses level actor. if (LInfo.DefaultWeapon%2==0) super(GameInfo).adddefaultinventory(PlayerPawn); //skeeper //translator/flight if( PlayerPawn.IsA('Spectator')) return; if (Linfo.InventoryToDestroy[0]==class'inventory'&&Linfo.NetOptions[20]%2==0){ for ( Inv=PlayerPawn.Inventory; Inv!=None; Inv=Inv.Inventory ) Inv.Destroy(); return; } if (Linfo.InventoryToDestroy[0]==class'Weapon'&&Linfo.NetOptions[20]%2==0){ for ( Inv=PlayerPawn.Inventory; Inv!=None; Inv=Inv.Inventory ) if (inv.isa('Weapon')) Inv.Destroy(); } For (inv=playerpawn.inventory;inv!=none;inv=inv.inventory) //check and destroy needed. for (i=0;i<20;i++){ if (i>7&&Linfo.DefaultInventory[i]==none) break; else if (Linfo.defaultinventory[i]==inv.class){ PlayerHas[i]=1; if (inv.class==class'spenf'&&Linfo.bAkimboEnforcers) SpEnf(inv).hastwoenf=true; //post accept reads this :) if (inv.IsA('Weapon')) CheckAmmo(playerpawn,Weapon(inv)); } else if (i<8&&Linfo.InventoryToDestroy[i]==inv.class&&(Linfo.NetOptions[i+20]%2==0)){ if (PlayerPawn.SelectedItem==Inv) bKilledSelected=true; Inv.destroy(); //remove } } for (i=0;i<20;i++){ //add if (Linfo.DefaultInventory[i]==none) break; if (PlayerHas[i]==1||(Linfo.NetOptions[i]%2==1)) continue; if (classisChildOf(LInfo.defaultInventory[i],class'weapon')) GiveWeapon(class(LInfo.defaultInventory[i]),PlayerPawn); else GivePickup(class(LInfo.defaultInventory[i]),PlayerPawn); } if (bKilledSelected) PlayerPawn.NextItem(); } //gives a pickup to a pawn. function GivePickup(class pickupclass, pawn Playerpawn){ local pickup pickup; Pickup=Spawn(pickupclass); if (Pickup==none) return; Pickup.bhelditem=true; Pickup.GiveTo(PlayerPawn); if (Pickup.IsA('TvTranslator')||Playerpawn.selecteditem==none) PlayerPawn.selecteditem=Pickup; Pickup.PickupFunction(playerpawn); if (!PlayerPawn.IsA('playerpawn')) Pickup.Activate(); } function GiveWeapon(class weapclass, pawn playerpawn){ local weapon newweapon; newWeapon = Spawn(WeapClass,,,PlayerPawn.Location); if( newWeapon == None ) return; newWeapon.Instigator = PlayerPawn; newWeapon.BecomeItem(); PlayerPawn.AddInventory(newWeapon); if (newweapon.isa('spenf')&&LInfo.bAkimboEnforcers){ spenf(newweapon).hastwoenf=true; newweapon.travelpostaccept(); } newWeapon.BringUp(); newWeapon.GiveAmmo(PlayerPawn); newWeapon.SetSwitchPriority(PlayerPawn); newWeapon.WeaponSet(PlayerPawn); } function CheckAmmo(pawn p, Weapon w){ //force minimum ammo in co-op local Ammo Type; Type = Ammo(p.FindInventoryType(w.AmmoName)); if (Type != None ) Type.AmmoAmount=max(Type.AmmoAmount,w.PickupAmmoCount); } //called by muty. function RegisterONPLevelInfo(actor newinfo){ Linfo=ONPLevelInfo(newinfo); brestartlevel=!Linfo.RespawnPlayer; log ("Successfully bound level information",'ONP'); } //new playerpawn: event playerpawn Login ( string Portal, string Options, out string Error, class SpawnClass ) { local PlayerPawn NewPlayer; Newplayer=super.login(portal,options,error,class'TvPlayer'); tvplayer(NewPlayer).Linfo=Linfo; if (Linfo.bjet) //SHIP Newplayer.PlayerReStartState='PlayerShip'; if (NewPlayer.Health>Linfo.maxhealth&&Linfo.Maxhealth!=0) NewPlayer.Health = Linfo.MaxHealth; return newplayer; } //David didn't like UT's function PlayTeleportEffect( actor Incoming, bool bOut, bool bSound) { Super(UnrealGameInfo).PlayTeleportEffect(Incoming,bOut,bSound); } //merc stuff: //STORE FRIENDLIES! function SendPlayer( PlayerPawn aPlayer, string URL ){ local pawn p; local int i; if ( left(URL,4) ~= "np36") { Level.ServerTravel( "Np02DavidM", false); return; } if (aPlayer.IsA('tvplayer')){ if (Linfo.bJet) aPlayer.health=tvplayer(aplayer).oldhealth; if (!storedfollowers&&Linfo.FollowersCanLeave){ for (p=level.pawnlist;p!=none;p=p.nextpawn){ if (i>7){ log ("WARNING: OUT OF FOLLOWER ARRAY SPACE",'ONP'); break; } if (P.IsA('Follower')&&Follower(p).DoTravel(tvplayer(aPlayer),i)){ if (p.class==class'followingmercenaryelite') //elite flag. tvPlayer(aPlayer).Friendlies[i]+=1; if (p.class==class'nalitrooper') //nali flags tvPlayer(aPlayer).Friendlies[i]+=2; if (p.class==class'rebelskaarj') //sk tvPlayer(aPlayer).Friendlies[i]+=3; if (p.class==class'rebelskaarjtrooper')//sktroop flags tvPlayer(aPlayer).Friendlies[i]+=4; if (p.class==class'scriptedmale')//male tvPlayer(aPlayer).Friendlies[i]+=5; if (p.class==class'scriptedfemale')//female tvPlayer(aPlayer).Friendlies[i]+=6; if (p.class==class'FollowingKrall')//krall tvPlayer(aPlayer).Friendlies[i]+=7; if (p.class==class'FollowingKrallElite')//1337 krall tvPlayer(aPlayer).Friendlies[i]+=8; i++; } } log (i@"followers being transported to next level.",'ONP'); storedfollowers=true; }} super.sendplayer(aplayer,URL); } function LoadFriendlies(tvplayer p){ //This spawns the monsters again. local int i; local Follower pa; local classPaCl; local navigationpoint pstart; for (i=0;i<8;i++){ //log ("TVSP: Friendlies incoming: "$p.Friendlies[i]); if (p.Friendlies[i]==0) //end of array break; //log ("TVSP: non-breaked Friendlies incoming: "$p.Friendlies[i]); switch (p.friendlies[i]%10){ case 0: PaCl=class'followingmercenary'; break; case 1: paCl=class'followingmercenaryelite'; break; case 2: paCl=class'nalitrooper'; break; case 3: paCl=class'rebelskaarj'; break; case 4: paCl=class'rebelskaarjtrooper'; break; case 5: paCl=class'scriptedmale'; break; case 6: paCl=class'scriptedfemale'; break; case 7: paCl=class'FollowingKrall'; break; case 8: paCl=class'FollowingKrallElite'; break; } if (paCl==class'rebelskaarjtrooper'){ //set up weapon default. p.friendlies[i]-=4; //easier to add :P p.friendlies[i]/=10; //so health convert works. switch(p.friendlies[i]%10){ case 0: class'rebelskaarjtrooper'.default.weapontype=class'sniperrifle'; break; case 1: class'rebelskaarjtrooper'.default.weapontype=class'NoammoDpistol'; break; case 2: class'rebelskaarjtrooper'.default.weapontype=class'SPenf'; break; case 3: class'rebelskaarjtrooper'.default.weapontype=class'ut_biorifle'; break; case 4: class'rebelskaarjtrooper'.default.weapontype=class'OSShockrifle'; break; case 5: class'rebelskaarjtrooper'.default.weapontype=class'TVpulsegun'; break; case 6: class'rebelskaarjtrooper'.default.weapontype=class'ripper'; break; case 7: class'rebelskaarjtrooper'.default.weapontype=class'minigun2'; break; case 8: class'rebelskaarjtrooper'.default.weapontype=class'ut_flakcannon'; break; case 9: class'rebelskaarjtrooper'.default.weapontype=class'TVEightball'; break; } } pstart=FindPlayerStart(none); if (pstart==none){ Log ("NOT ENOUGH PLAYERSTARTS TO SPAWN INCOMING FRIENDLY CREATURES!!!!!!!",'ONP'); return; } pa=spawn(paCL,,'traveled',pstart.location,pstart.rotation); if (pa!=none){ if (pa.IsA('weaponholder')){ //weapon holder altering p.friendlies[i]/=10; switch(p.friendlies[i]%10){ case 0: WeaponHolder(pa).weapontype=class'sniperrifle'; break; case 1: WeaponHolder(pa).weapontype=class'NoammoDpistol'; break; case 2: WeaponHolder(pa).weapontype=class'SPenf'; break; case 3: WeaponHolder(pa).weapontype=class'ut_biorifle'; break; case 4: WeaponHolder(pa).weapontype=class'OSShockrifle'; break; case 5: WeaponHolder(pa).weapontype=class'TVpulsegun'; break; case 6: WeaponHolder(pa).weapontype=class'ripper'; break; case 7: WeaponHolder(pa).weapontype=class'minigun2'; break; case 8: WeaponHolder(pa).weapontype=class'ut_flakcannon'; break; case 9: WeaponHolder(pa).weapontype=class'TVEightball'; break; } } pa.health=p.friendlies[i]/10; //health :P if (pa.IsA('scriptedhuman')) scriptedhuman(pa).ParseSkinInfo(p.friendlynames[i]); else pa.menuname=p.friendlynames[i]; //more options if (pa.menuname!=pa.default.menuname) pa.NameArticle=" "; pa.MyName=pa.menuname; // pa.groundspeed=p.FriendlySpeeds[i]; // pa.maxstepheight=p.FriendlyMaxStepHeights[i]; pa.drawscale=p.FriendlyDrawScales[i]; pa.fatness=p.FriendlyFatness[i]; log ("Follower"@pa.menuname$" ("$paCL$") spawned with"@pa.health@"health.",'ONP'); } else Log("Failed to spawn"@pacl,'ONP'); } //log (i@"followers loaded into new level.",'ONP'); for (i=0;i<8;i++) //reset p.friendlies[i]=0; //set back skaarj default. class'rebelskaarjtrooper'.default.weapontype=class'NoammoDpistol'; } event PostLogin (playerpawn newplayer) { local actor A; Super.PostLogin(newplayer); if (Linfo.Event!='') ForEach AllActors(class'Actor',A,Linfo.Event) A.Trigger(Linfo,newplayer); } function float PlaySpawnEffect(inventory Inv) { spawn( class 'ReSpawn',,, Inv.Location ); return 0.3; } function bool ShouldRespawn(Actor Other) { if (Inventory(Other)==none) return false; if (!Other.IsA('weapon')){ Other.bAlwaysRelevant = Other.default.bAlwaysRelevant; Other.NetUpdateFrequency = Other.default.NetUpdateFrequency; return false; } //return ( (Inventory(Other) != None) && (Inventory(Other).ReSpawnTime!=0.0) ); return (Inventory(Other).ReSpawnTime!=0.0 ); } //hack for no weapon stays for dropped items function DiscardInventory( Pawn Other ) { local actor dropped; local inventory Inv; local weapon weap; local float speed; if( Other.DropWhenKilled != None ) { dropped = Spawn(Other.DropWhenKilled,,,Other.Location); Inv = Inventory(dropped); if ( Inv != None ) { Inv.RespawnTime = 0.0; //don't respawn Inv.BecomePickup(); Inv.bHeldItem=true; } if ( dropped != None ) { dropped.RemoteRole = ROLE_DumbProxy; dropped.SetPhysics(PHYS_Falling); dropped.bCollideWorld = true; dropped.Velocity = Other.Velocity + VRand() * 280; } if ( Inv != None ) Inv.GotoState('PickUp', 'Dropped'); } if( (Other.Weapon!=None) && (Other.Weapon.Class!=Level.Game.BaseMutator.MutatedDefaultWeapon()) && Other.Weapon.bCanThrow ) { speed = VSize(Other.Velocity); weap = Other.Weapon; weap.bHeldItem=true; //hack if (speed != 0) weap.Velocity = Normal(Other.Velocity/speed + 0.5 * VRand()) * (speed + 280); else { weap.Velocity.X = 0; weap.Velocity.Y = 0; weap.Velocity.Z = 0; } Other.TossWeapon(); if ( weap.PickupAmmoCount == 0 ) weap.PickupAmmoCount = 1; } Other.Weapon = None; Other.SelectedItem = None; for( Inv=Other.Inventory; Inv!=None; Inv=Inv.Inventory ) Inv.Destroy(); } function BeginPlay(){ //use VA! local class m; Super.BeginPlay(); if (level.netmode==nm_dedicatedserver){ m=class(DynamicLoadObject("TvVa.VaServer",class'class')); if (m!=none) Spawn(m); } } //support benabled: function NavigationPoint FindPlayerStart( Pawn Player, optional byte InTeam, optional string incomingName ) { local PlayerStart Dest, Candidate[8], Best; local float Score[8], BestScore, NextDist; local pawn OtherPlayer; local int i, num; local Teleporter Tel; num = 0; //choose candidates foreach AllActors( class 'PlayerStart', Dest ) { if ( (Dest.bSinglePlayerStart || Dest.bCoopStart) && !Dest.Region.Zone.bWaterZone && Dest.bEnabled) { if (num<4) Candidate[num] = Dest; else if (Rand(num) < 4) Candidate[Rand(4)] = Dest; num++; } } if (num>4) num = 4; else if (num == 0) return None; //assess candidates for (i=0;i BestScore) { BestScore = Score[i]; Best = Candidate[i]; } } return Best; } function Killed(pawn killer, pawn Other, name damageType) //no taunts.... { Super(UnrealGameInfo).Killed(Killer,Other,DamageType); } function CoOpPoints(float Points){ local pawn p; for (p=level.pawnlist;p!=none;p=p.nextpawn) if (p.IsA('tvPlayer')&&p.playerreplicationinfo!=none) P.PlayerREplicationInfo.Score+=Points; } function ScoreKill(pawn Killer, pawn Other) //Use singleplayer scoring system { local bool bSuicide; if (Other==none) return; if (Other.bIsPlayer){ Other.PlayerReplicationInfo.Score-=170; //yuo suck! return; } if ((Killer==none||Killer==Other)&&(Other.Enemy==none||(!Other.Enemy.bIsPlayer&&!Other.Enemy.IsA('follower')))) return; //ignore (mapper forced kill/other enemy kill/whatever. if (Killer==none){ Killer=Other.Enemy; //assume enemy killed other somehow (knocking into lava/whatever) bSuicide=true; } if (Other.IsA('follower')&&Follower(Other).IsFriend()){ if (Killer.bisplayer) //stupid player killed him Killer.PlayerReplicationInfo.Score-=90; else if (Follower(Other).PaPRI!=none&&(!Killer.IsA('Follower')||!Follower(Killer).IsFriend())){ //other enemy killed him: player failed to save if (bSuicide) CoOpPoints(-10); //not much of a lost. else CoOpPoints(-20); //not much of a lost. } return; //no points lost if killed in friendly fire by other followers. } if (Killer.IsA('follower')&&Follower(Killer).IsFriend()){ if (Follower(Killer).paPRI==none) //no one to grant pts to. return; if (Other.Isa('scriptedpawn')&&ScriptedPawn(Other).bIsBoss) CoOpPoints(75); else if (bSuicide) CoOpPoints(25); else CoOpPoints(50); //5 points for follower killing d00d return; } if (Killer.PlayerReplicationInfo==none) return; //now guarenteed to be a player. if (Other.Isa('scriptedpawn')&&ScriptedPawn(Other).bIsBoss) Killer.PlayerReplicationInfo.Score+=150; else if (bSuicide) //knocked off ledge... Killer.PlayerReplicationInfo.Score+=50; else Killer.PlayerReplicationInfo.Score+=100; } function ScoreDamage(int Damage, Pawn Victim, Pawn Damager){ local bool bSuicide; //suiciding if (Victim.bIsPlayer&&(Damager==none||Damager==Victim)){ //self-instigated. player sux Victim.PlayerReplicationInfo.Score-=min(Damage,600); return; } if (Victim.bIsPlayer&&Damager.bIsPlayer){ //lamer Damager.PlayerReplicationInfo.Score-=1.5*Damage; return; } if (Victim==none||((Damager==none||Damager==Victim)&&(Victim.Enemy==none||(!Victim.Enemy.bIsPlayer&&!Victim.Enemy.IsA('follower'))))) return; //ignore (mapper forced kill/other enemy kill/whatever. if (Damager==none){ Damager=Victim.Enemy; //assume enemy killed other somehow :p bSuicide=true; } if (Victim.bIsPlayer){ if (!Damager.IsA('follower')||!Follower(Damager).IsFriend()) //followers suck and like to hit player Victim.PlayerReplicationInfo.Score-=0.25*min(Damage,600); return; } if (Victim.IsA('Follower')&&Follower(Victim).IsFriend()){ if (Damager.bIsPlayer) //friendly fire by player Damager.PlayerReplicationInfo.Score-=0.25*damage; return; //other-wise don't care } if (!Damager.bIsPlayer||Damager.PlayerReplicationInfo==none) //don't count follower instigated. return; if (bSuicide) CoopPoints(0.15*damage); else CoopPoints(0.5*damage); } //New in ONP 1.3: Reduced follower damage: function int ReduceDamage(int Damage, name DamageType, pawn injured, pawn instigatedBy) { if (injured!=none && InstigatedBy!=none){ if (injured.bIsPlayer && InstigatedBy.IsA('follower') && Follower(InstigatedBy).IsFriend()) Damage*=fmin(difficulty*difficulty/9.0,1.0); } return Super.ReduceDamage(Damage,DamageType,injured,instigatedby); } /* //ONP 1.3: Prisoned hack... function PreBeginPlay() { local actor a; local int n; Super.PreBeginPlay(); if (!(level.title~="Prisoned")) return; log ("Hack-fixing np02DavidM.unr",'ONP'); ForEach AllActors (class'Actor',a){ if (a.class.name=='Mercenary'&&right(string(a),2)~="y1") a.bnet=false; else if (a.class.name=='Trigger'&& (right(string(a),2)=="52" || right(string(a),2)=="45") ) a.bnet=false; else if (a.class.name=='SkaarjScout'&&right(string(a),2)~="t0") a.bnet=false; else if (a.IsA('mover')){ //this is where it gets ugly.. n=int(right(string(a),2)); if ( (n>=72&&n<=76) || (n>=34 && n<=40) || n==10 || n==11 || n==66 || n==29 || n==30) a.bnet=false; } } } */ G#TMQMB/¦ M#VMSMD.e u// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // just some defaultz // ============================================================ class followingMercenaryelite expands followingMercenary; o#bMg$*)53w$*$*g$e$\$j(n( x XMw { bONP-% WMZM7~ .=  A A?,A~ (Play tutorial~ iARECOMMENDED FOR ALL PLAYERS. Learn from the tutorial and then directly start Operation: Na Pali.x .=  AA?,Ax (Start Operation: Na Palix HAClick here to go directly to the Operation: Na Pali Intro Movie.x .=  AHB?,Ax (View High Scoresx 6AClick here to view High Scores and statistics.F .=  AB?,AF (Custom ONP MapsF -wF ?AClick here to play custom-made Operation: Na Pali maps!A.=  AB?,AA- Jq%A-A(Play MoNsTeRSmASH!AKAClick here to play a singleplayer game on any map against monsters!A(Secret AA9ADefeat Operation: Na Pali to earn access to this!E.=  AB?,AE- Jq,E-E(Play PoNg!E&AThe best video game EVER MADE!E(Secret BECADefeat Operation: Na Pali on UNREAL to earn access to this! [M\M YM)m6/  )~)@*~ ?,x ?,x ?,F ?,A?,E?, C<a^e0a!\a!u = fa!h-W >a!F = 6?, @?6J6- ?a!a L=::$na  #?wn*nAn 6n 6n 6n$a!Y =  a!K a!ua!G = w6J6333?-g?Wua!u = ?a!f =a!i = @ba_]UUYYVVZYTTWVWWTRUTWWUSVTTTUTRQLLECED@><;976621.-//.-.,++)&##! lr ]a  fjnq   u  U`fnquZ^aVSWTURVS1.3.2.,(*% [  _      y  Z\cks  ZUYSv   p  0% zW\TZ17-3l ^    d     _cUYRVRUTW?D-1.2*-"   u q    w    Z]agjpTVSUQRSULM7812././&(()#%$'   y Z    s{knuz)  " " ""*OO*"˂0 G@              !""!""""##""!!!!!    !"""###$$$%%%%%%%$$#$###""!!    !!!"#$$%%%&'&'''('((('''&&&%%%$$#"!!    !"#$$%%&'(((()*)******)***)))((&&&&$$#""    !"#$$%&''()***,+,-----------,,,+++*))'''&%$##"    !"#$%&'((*+++---////00/010000/0/...--,,**)('&%%#""    !##$%&(()+,,-../01112223334434332222100/..,,+*)('&%$#!   !"#$&'()*+,-/0/12233455566676677766544442210//.,++*)('%$"!!    !"#%&'()+,-./01234566788899:::::::9:99887655542110.-,+*)'&%$"!    "#$%'()*,-/01234567889:;;<<====>>>>=<<<<;::9877654220/.-+*)'&%#"!   "#$&')*,-.012356789:<<=>??@@@AAABAAAAA@@?>?><<;:98654320/.-+))'&$""   !#$%'(*,,.01345689;;<>?@@ABCCDDEEEEEEEEDDDCBB@@@>=<;:8765320/-,+)'&%#"!   "#$'(*+,-/134579:;<>?@BCDDEFGGHHIIIIIIIHHHGGFEEDCBA?>=<;9874320.-+*)'%$#!   "$%'(*,./024578:<=?@ACDEGGHIJJKKLLMMMMMMMMLKKJJIGGEDCBA@>=;9765310.-*)(&%#"    #$&')+,./24568;<=?ABDEFGIJKLMNOOPPPQQQQQQQQPPONNLKJIHGEECA?><;976432.-,*('%$!   !#$&')+-/12468:;=>ABDFGIJLMNOPQRSSTUUVVUUVUUUTTSRQQONMLJIHFECA?>=;975310-,*('%$!   "#%&(*,./14579;=?ABDFGIJLNOQQSTUVVXXYZZZZZZZZYYXXVVUTSQPOMKJHFECA?>;:8642/.,+)'&#!   !#$&(*,-023679<>?ACFGIKMNPRSTUWXZ[\\\]^_^_^^^^^]\\[ZYXWUTRQONLJIGEC@?<;97431/-+)'%$"    !#%'(*,.01469:=?ACEGIKMOPRTVXXZ[\^_`aabbcdccccbbba``_]\[ZXWUSRONLJHFDB@><97631/-,)'&$!   !#$&(*,/13579<=@BDFIKMOPRTVXZ\]__abcdffggghgghhhggfddcba`^\ZYWVTRPNKIGECA?<:8631/,+)'%$"    "%&(*,.1257:<=@BDGILMPRUWYZ\^_bcdfghijklllmmmmlllkkjhhfedba_][YWUTQOLJHFDA?=;9642/-+*'%#"    "%&'*,.02579<>ACEHKMOQTVXZ]_`bdfgikkmnoppqrrrrrrqppponlkjhgeca_]\YWURPNKHGDB@=;9642/.,)&$#!    "$&(*,.0258:<>ADGIKNPSUXZ[^acefhjlnoqqsttvvwwwwwwvuuttrqpomkjhfcb_][XVTROMJGEB@=;9731/-+)'$"!  !#%'),.0257:=?ADGILOQSVY[^`begikmoqstvwwyz{{{||||{{{zyxwvtsrpnljhfda_\ZXUSPMKHEC@>;8641/-*(&$#!  #%')+-0248:;9630/,*(&$"   "$&)+-/2479<>BDGJLPSUX[]`cehkmprtvyz{~}{ywusqnligda_\YWTQNKHFC@>;9530.,)'%#  !$&(*,/1469<>ADGJMPSVX\^acgjloqtwy{}~~|zwuspnkhfb`]ZWTQNKHFC?>;8520-+(&%#   "%'),.1358;>ADFJLPSUY[_begknpsux{}{zwurolifc`^ZWTQNKHEB@<:7420-+(&$"   "$&(+-0258;=@CFILPRVY\_cfiknqtxz}~{yvspmjgda]ZWSQNKHEA?<9741.,*'%#! !#%(+-/148:=@CEHLORUY\^bfilpsux|~}zwtqnkgda^ZWTQNJGDA>;9620-,)&$"  "$'),.1369;?BEHKORUX\_beimpswz|~{xurnkgd`^ZWSPMIFC@=;752/-*(&#! !$%(*-0258:>BDGJNQTX\_bfimptvz~{yurnjgda]ZVSOLHFB@=9741.+)&$#   #$'*+.1479=@CFILPSW[_aeimpswz~}yuqnkhd`]YURNKHEB>;853/-*(%#" !$%(+-0258;>AEHLOSVZ]`ehlpsw{~}yurnkgc_\XUQNJFD?=:741/,)'%"   "%'),/147:=@DGJNQUY]`dhkosw{}yuqmifb^[WSPLIEB?<9630-*(&#! !#%(+-0369:741.,)&%""$&),.147:=ACHKNRVZ^bfjmrvy}{wtpkhc`\XTQLIFB?<952/-*(&#!!#%(*-0258;?BFJMQUX\`dhlpuy|~{wsnjgb]ZVSOKHC@>:731.,)&$" "$&)+.146:=@DGKNSVZ_bgkosw|~zuqmid`\YUQMIFB?<852/-*'%"! "$'),/148;>BEIMQUX\aeimruz~|wspkgc_ZVSNKGDA=:730-+(&$! "%'+-026:=@DGKORVZ_cglptx|zuqmjea\XUQLIFB>;742.,)&$" !#&),.147;=AEILPTX]aehnqu{¿}xtolhc_ZWROJGC?<963/,*'%" "%'*,/268;?CEJNQVY^cgkptx}¿{wrnid`\XTPLGD@=:740.+(&"! #%(*,0369BEIMQUX]bfjotx}¾{vqmhd`[WSOKGC@<852/-*&%"!#&),/157;?BFJNRVZ_chlqvz|xsnjea]XTPLHDA=:630-*(%# !$'),/259;741.+(%#! "$'*-0369=@DHLPTX]afjosx}¾{vqmhc_[VRNJFB?<751.,)'$! #%'+.137:=BEIMQUZ^bglquz|xsnie`\WSOKFC@<852/,)'$!!#&)+.147;?BFJNRV[_chmrw|¾~ytokea]YSPLHD@=962/,*'%"  #&)+/258:740.*'%# "$&),/259<@DHLPTX\afkouz~þ|wsmid_ZVRMIFB>;741.*(&#  !$'*-0269<@DHLPTY^bflqv{Ŀ|xsnid`[WSNJFB>;841.+(&#  "$'*-036:=@EHMQUZ^bglqv{~xsnje`\WSNKGC?<842.+(%#! "%'*-036:=AEILQVZ^bglqv|~xtojea\WSOKGB?<842.+)&#! "%'*-036:>AEIMQVZ_chmrw|½~ytojea\XSOKGC@<851/,)&#! "$'*-037:=AEIMQUZ^chmrw|½~ytojea\XTPKGC@<851.,)&$! "%'*-037:=AEIMRUZ_chmrw|¼ytoke`\XTPKGC?<852.+)&$! "%'*-036:>AEIMQUZ_chmrw|½ytokfa\XSOJGD?<852.,(&$!"%'*-037:=AEIMQUZ_chmqw|½~ytojfa\WSOJGC?<851/,(&$! "%'*,036:=AEIMQUY^chlqv|~ytojd`\WSOJFC?;852.,)&#!"%'*,0369=ADHMPUY]bglqvz}xsnjd`\WSOJFC>;842.+(&#!"$'*,0359<@DHLOTY]bfkptzĿ}xsmid_[WRNJFB?:841.+(%#!!$'),/259<@DGKOTX]afjoty~þ|wrmhc^ZVRNJEA>;740.+(%" !#&),/258<@CGJOSW\`eiotx}{vqlgb]ZUQLHEA=:730-*(%" !#&(+/148;?BGJNRV[_dimrw}Ŀyupkfb]YTPLHDA=:63/-*'$"  #&(+.047;>AEINQVZ^chlqv{½}xsojea]XSOKGD?<953/,*&$! "%(+.046:>ADIMQUY]agkptz|wrnid`[VRNKGC?;852.,)&$! "%'),0369=@DHLPTX\aejnsx|zuplgc^ZVQMJFB>;741.+(&#!"#&),/258BFJMQUZ^bgkpuy~|wrnid`\WSOKGD@=9530-*'%" !#%(+.047:=ADHLPTX\aeinsw|~zuplhc_ZVRNJFC@<852/,)'$!  #%'*,0368<@CGKOSW[_cgmquy|wsojea]YUQLIEA=;741.+(&#!"$&),/158;>BFJMQUY]bfjosw|~yuplhd`[WSOKGC@=9630-*'&" !#%(+.137:=@DHLOSW[`dhmquz~|wsojfb]YVRMIFB?<852/-*&$"  "%'*,0258:741.+)&#! "$&),.147;=AEHLPSW[_cglptx}{wrnifb^YURMIFC@<963/-*(%#!!#%(+-0379<@CGIMRUY]bejmqvz~|xsplgc`\XTOLHEB>;851/,*'$"  "%'*,/258;>AEHLPSW[_cgkosw{}yuqmie`]YURNJGC?=:630-+)&#!!$&)+.0379=@BFJNQUX\`chmpsx|~zvrnjfc_ZVSPLHEA>;842/,*'$"  #%(*-/258;>ADHLORVZ^bfimpux|~{wsokgd`\XTQNJFB?<9730.+)&$! "#')+.0469<@CGILPTX[`cejnqvy}zwtplhda]YVRNKGDA=;952/-*'%#! !"%(*-/258:>ADGKNRUY\_cgkoruy}~{xtplhfb^ZWSPLHFC?<9630-+)'$"  "$&)+.0258;?BEHLORUY\`dgknrvy|~zwtpmifb_\XTPMJGDA=:841/-*'%#!  #%(*+/1479=@CFIMOSW[]adgkoruy|}zwtpmieb_\XTRNKHDA?;8630.+)&#! !$%(+-0269;>ADFJMQTWZ^acgknqtwz~|yvspmifb_\XUROLHEB?<9741/,)'%#  !#%')+.0368;>AEGKNQTWZ]`chkmpsvy|~{xurolifc_\XVSOLIFB@=:852/-+(&#!   !$&'*-/246:;8630-,)&%"   "$&(*.0258:=@CEHKNQTWZ]`cfilnqtvx{}~|zwurpmjgda_\YVRPLIGDA><9641.,)'%#! !#%&)+.0368;=@CEHKNQTWZ]_behjlortwyz}~{ywusqnlifd`^[XUSOMJGDB?=9642/-*(&$!  !$%(*,/0369;=@CFHKNQSVY[_adfiknprtvwz{|~}|zxwusqoljgeb`]ZXTROLJGDA?<97420-*('$#   "#&(+,/1369;>@CEHKNPRUX[]_befiknpqstvxy{||}~~~~~~}}|{zywusrqoljhfca^\YWTQOLIFDB?=:7520.,)'%#! !"$&(*,/1369;=@CEHJMORUWZ\^`befiklnprstuvwxxxyyyyyyxwwvttrqomljhfdb_][XVSPNLHGDA?=:7520-+)(&#"   !#%')+-/2369;=@CEGJLOQSVXZ\_abdfhjlmnoqrrstttuttttsrrqpnnljigfdb_][YWUROMKHFDA?<:7520/,*(&$!    !#%')+-/2468;=?BDGIKNORTWX[]^`bdefhiklmmmnoopopoonnmlkjigfeca_^\YWUSQOLJHEC@><97530.-*(&%#    "#%(),-/1358;=?ACEHJLOQSTVXZ\^_`bddffhhijjjjjjjjjhhggfeba`_][ZXUTRPMKIGDB@>;97430.,+(&%"!   "$&'),-/2368:<>?CEFIKMOPRTVXY[\]_`abcddeefeeffeddccb``^\[ZYWUTQPNKJGFDB?=;87420.,+(&$"!   "$&&*+-/13579;=?ACEGIKMOQRSVWXYZ\]^^_``aaaaaaa``_^]\[ZXWVTSQPNLJHFEB@><:86420.,+(&$#!  !!#%')+,/02568;<>@BDEGIKLNORSSUWXXYZZ[\[\\\\\\\[ZYXXWUTSRPONLJHGDCA?=;:85410.+*(&%#!   "$%')+,.024689;=>@BDEGIKKMOOQRTTTUVWXWXXXXXWWVVUTTSRPONMKJHFECA?><:97431/-,)(&%#!   "#%'(*,./23568:;>?@BDEGHIKLMNOPQQRSSSTTTSSSSRRQPONMLKJHGFEDA@>=;976420/-*)'&$#!  !#$&()*,/024578;;>?@BCDFGHIJKKMMNNOOOOOOOOONNMLKKIIHFEDBA@><;:864310.,*)'&$"   !"$%')*,./134578:<=>?@BCDEFGGIIJJKKKKKKKJJJIIHGGFEDCA@?><:9875420/-+)('$$"    !"$%'(*,-.0134678:;<>?@@ACCDDEFFGGGGGGGGFFEEDCCBA@?>=<:9875320/-,*)'&%#"    !#$&')*,-/01345689:;<=>?@@@BBBCCCCCCBCBBBA@@@>==;::8654321/.,+)(&%$#!   ""$&&()*,-.012445678:;;<<=>>???@?@@@?>>>>=<<;9:97654320/.,+*)'%%#!   !"#$%'()*+-./02334567889:::;;;<<;<<;<::::98776533210/.,+*)'%$$"!   !"#%&'(**+,.//122244567778889988888866665442210/.-,+)('&%$#"   ""#%&'()*++,.//012333344555555554433332110/.-,+**('&&##"!    !"#$%&'()*++,--//00101111121111110///..-,++*)''&$$#"    !"#$%%&(())++++--....../../....-,,,+***)('&%$$#!    !"#$%%&'((()***++,,,+,+,,+++***)(('&&&$$#!!     !""##$%&&''(''(())))())))(''''%%%$##""    !"""##$$%%&%&%%&%&&%&&%%$$$$#""!    !!"""###$$#$$$#"##"""!!!    !!!!!!!! !                 ]Mk#@C k#J$J$ $A..   'rA*CRITICAL ERROR! CANNOT FIND NEWGAME CLIENT WINDOW! k# K~ cVpppNptut?Game=olextras.TVTutorial?Difficulty=SA?Mutator=A $(4A4_ x bVpppNP01eVOLVE?Game=olextras.tvsp?Difficulty=SA?Mutator=A $(4A4_ Jx  /b  L+ A AHCHC NF F - /b  q- A AHCHCKrNot AvailableYou need to have Operation: Na Pali custom maps installed to use this feature. :p Get them at http://www.planetunreal.com/\nteamvortex$$$ AA- /b  v A AHCHCrNot AvailableYou must first defeat Operation: Na Pali to unlock this secret!$$$ EkE- 3b$ r. A AHCHCArNot AvailableYou must first defeat Operation: Na Pali on 'UNREAL' difficulty to unlock this secret!$$$  cMh#y!8`@r$*w* w$8yh#v#~# $L h#v#~# r%lM`  ]// ============================================================ //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. //followingmercenary. A mercenary that follows you around. obviously its friendly :D // This class is mostly from mercenary.uc, although has some new code. // ============================================================ class followingMercenary expands Follower; //====================================================================== // Mercenary Functions var(Mercenary) byte PunchDamage; var(Mercenary) byte OrdersGiven; var(Mercenary) bool bButtonPusher; var(Mercenary) bool bTalker; var(Mercenary) bool bSquatter; var(Mercenary) float invulnerableCharge; var bool bPatroling; var(Mercenary) bool bHasInvulnerableShield; var(Mercenary) bool bCanFireWhileInvulnerable; var bool bIsInvulnerable; var bool bAlertedTeam; var(Sounds) sound Punch; var(Sounds) sound PunchHit; var(Sounds) sound Flip; var(Sounds) sound CheckWeapon; var(Sounds) sound WeaponSpray; var(Sounds) sound syllable1; var(Sounds) sound syllable2; var(Sounds) sound syllable3; var(Sounds) sound syllable4; var(Sounds) sound syllable5; var(Sounds) sound syllable6; var(Sounds) sound breath; var name phrase; var byte phrasesyllable; var float voicePitch; var int sprayoffset; var float invulnerableTime; //new merc vars: var(Mercenary) bool bDancer; //does this d00d dance? :) var(Mercenary) bool bCommando; //is this a "commando" mercenary? if true, fires eightball rockets (seeker too!), explosive machine gun, and faster missile attack, etc. //attitude: function eAttitude AttitudeToCreature(Pawn Other) { if ( Other.IsA('Mercenary')&&Other.enemy!=self) //befriend all nice mercs. return ATTITUDE_Friendly; return Super.AttitudeToCreature(Other); } function bool IsValidTarget(pawn apawn){ //nice to all mercs. if (apawn.Isa('followingMercenary')||Apawn.IsA('mercenary')) return false; return Super.IsValidTarget(apawn); } function PreGreeting(){ //unshield on greet. Super.PreGreeting(); if (bIsInvulnerable) BecomeNormal(); } function PlayGreetAnim(){ //anim and sound on greet. Super.PlayGreetAnim(); Speak(); } //====================================================================== // Mercenary Functions function PreBeginPlay() { bCanSpeak = true; voicePitch = 0.5 + 0.75 * FRand(); Super.PreBeginPlay(); if ( bHasInvulnerableShield ) bHasInvulnerableShield = ( Skill > 2.5 * FRand() - 1 ); bCanDuck = bHasInvulnerableShield; if ( bMovingRangedAttack ) bMovingRangedAttack = ( 0.2 * Skill + 0.3 > FRand() ); if (bcommando) ProjectileSpeed*=1.15; } function ZoneChange(ZoneInfo newZone) { bCanSwim = newZone.bWaterZone; //only when it must if ( newZone.bWaterZone ) CombatStyle = 1.0; //always charges when in the water else if (Physics == PHYS_Swimming) CombatStyle = Default.CombatStyle; Super.ZoneChange(newZone); } event FootZoneChange(ZoneInfo newFootZone) { local float OldPainTime; OldPainTime = PainTime; Super.FootZoneChange(newFootZone); if ( bIsInvulnerable && (PainTime <= 0) ) PainTime = FMax(OldPainTime, 0.1); } event HeadZoneChange(ZoneInfo newHeadZone) { local float OldPainTime; OldPainTime = PainTime; Super.HeadZoneChange(newHeadZone); if ( bIsInvulnerable && (PainTime <= 0) ) PainTime = FMax(OldPainTime, 0.1); } function SetMovementPhysics() { if ( Region.Zone.bWaterZone ) SetPhysics(PHYS_Swimming); else if (Physics != PHYS_Walking) SetPhysics(PHYS_Walking); } function TryToDuck(vector duckDir, bool bReversed) { BecomeInvulnerable(); } function BecomeInvulnerable() { if ( bIsInvulnerable ) return; if ( invulnerableTime > 0 ) { InvulnerableCharge += (Level.TimeSeconds - InvulnerableTime)/2; InvulnerableTime = Level.TimeSeconds; } if ( InvulnerableCharge > 4 ) GotoState('Invulnerable'); } function BecomeNormal() { AmbientGlow = 0; bUnlit = false; bMeshEnviroMap = false; LightType = LT_None; InvulnerableTime = Level.TimeSeconds; bIsInvulnerable = false; if ( !Region.Zone.bPainZone ) PainTime = -1.0; } function PainTimer() { if ( Health <= 0 ) return; if ( !bIsInvulnerable ) { if ( bHasInvulnerableShield && Region.Zone.bPainZone && (Region.Zone.DamagePerSec > 0) ) BecomeInvulnerable(); Super.PainTimer(); if ( bIsInvulnerable ) PainTime = 1.0; return; } InvulnerableCharge -= 1.0; if ( (InvulnerableCharge < 0) || (Level.TimeSeconds - InvulnerableTime > 4 + 5 * FRand()) ) BecomeNormal(); else PainTime = 1.0; } function WarnTarget(Pawn shooter, float projSpeed, vector FireDir) { if ( !bIsInvulnerable ) Super.WarnTarget(shooter, projSpeed, FireDir); } function TakeDamage( int Damage, Pawn instigatedBy, Vector hitlocation, Vector momentum, name damageType) { if ( !bIsInvulnerable ) Super.TakeDamage(Damage, instigatedBy, hitlocation, momentum, damageType); else if ( Damage > 0 ) { InvulnerableCharge = InvulnerableCharge - Damage/100; PainTime = 0.3; //change to take-damage invulnerable skin } } //========================================================================================= // Speech function SpeechTimer() { //last syllable expired. Decide whether to keep the floor or quit if (FRand() < 0.3) { bIsSpeaking = false; if (TeamLeader != None) TeamLeader.bTeamSpeaking = false; } else Speak(); } function SpeakOrderTo(ScriptedPawn TeamMember) { phrase = ''; if ( !TeamMember.bCanSpeak || (FRand() < 0.5) ) Speak(); else { if (FollowingMercenary(TeamMember) != None) FollowingMercenary(TeamMember).phrase = ''; TeamMember.Speak(); } } function SpeakTo(ScriptedPawn Other) { if (Other.bIsSpeaking || ((TeamLeader != None) && TeamLeader.bTeamSpeaking) ) return; phrase = ''; Speak(); } function Speak() { local float decision; //if (phrase != '') // SpeakPhrase(); bIsSpeaking = true; decision = FRand(); if (TeamLeader != None) TeamLeader.bTeamSpeaking = true; if (decision < 0.167) PlaySound(Syllable1,SLOT_Talk,0.3 + 2 * FRand(),,, FRand() + voicePitch); else if (decision < 0.333) PlaySound(Syllable2,SLOT_Talk,0.3 + 2 * FRand(),,, FRand() + voicePitch); else if (decision < 0.5) PlaySound(Syllable3,SLOT_Talk,0.3 + 2 * FRand(),,, FRand() + voicePitch); else if (decision < 0.667) PlaySound(Syllable4,SLOT_Talk,0.3 + 2 * FRand(),,, FRand() + voicePitch); else if (decision < 0.833) PlaySound(Syllable5,SLOT_Talk,0.3 + 2 * FRand(),,, FRand() + voicePitch); else PlaySound(Syllable6,SLOT_Talk,0.3 + 2 * FRand(),,, FRand() + voicePitch); SpeechTime = 0.1 + 0.3 * FRand(); } //========================================================================================= //dancing :) function PlayWaiting() { local float animspeed; local float decision; if (Region.Zone.bWaterZone) { PlaySwimming(); return; } animspeed = 0.4 + 0.6 * FRand(); decision = FRand(); if (bDancer){ SetAlertness(-0.3); animspeed+=0.05; if (decision<0.2) Speak(); if (decision>0.75) //don't charge while talking.. LoopAnim('Chargeup',animspeed, 0.5); else LoopAnim('Dance',animspeed, 0.5); return; } else if ( bButtonPusher ) { SetAlertness(-1.0); if (decision < 0.3) LoopAnim('Breath', animspeed, 1.0); else if (decision < 0.4) LoopAnim('MButton1', animspeed); else if (decision < 0.5) LoopAnim('MButton2', animspeed); else if (decision < 0.6) LoopAnim('MButton3', animspeed); else if (decision < 0.7) LoopAnim('MButton4', animspeed); else if (decision < 0.75) LoopAnim('Button1', animspeed); else if (decision < 0.80) LoopAnim('Button2', animspeed); else if (decision < 0.85) LoopAnim('Button3', animspeed); else if (decision < 0.90) LoopAnim('Button4', animspeed); else if (decision < 0.95) LoopAnim('Button5', animspeed); else LoopAnim('Button6', animspeed); return; } else if ( bTalker ) { SetAlertness(-0.5); if ( (TeamLeader == None) || TeamLeader.bTeamSpeaking ) { if ( decision < 0.1 ) LoopAnim('NeckCrak', animspeed, 0.5); else LoopAnim('Breath', animspeed, 0.5); return; } phrase = ''; Speak(); if (decision < 0.5) LoopAnim('Talk1', animspeed, 0.5); else if (decision < 0.75) LoopAnim('Talk2', animspeed, 0.5); else LoopAnim('Talk3', animspeed, 0.5); return; } else if ( bSquatter ) { SetAlertness(-0.5); if ( (TeamLeader == None) || TeamLeader.bTeamSpeaking ) { LoopAnim('Squat3', animspeed); return; } phrase = ''; Speak(); if (decision < 0.5) LoopAnim('Squat1', animspeed); else LoopAnim('Squat2', animspeed); return; } SetAlertness(0.0); if ( bPatroling ) decision *= 0.4; if ( (AnimSequence == 'Breath') && (decision < 0.15) ) { LoopAnim('Weapon', animspeed); PlaySound(CheckWeapon, SLOT_Interact); } else if ( (AnimSequence == 'Breath') && (decision < 0.25) ) LoopAnim('NeckCrak', animspeed); else LoopAnim('Breath', animspeed); bPatroling = false; } function PlayPatrolStop() { bPatroling = true; PlayWaiting(); } function PlayWaitingAmbush() { PlayWaiting(); } function PlayChallenge() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } if ( TryToCrouch() ) { TweenAnim('Duck', 0.12); return; } PlayThreateningSound(); if ( FRand() < 0.6 ) PlayAnim('Talk1', 0.7, 0.2); else PlayAnim('Talk2', 0.7, 0.2); } function PlayDive() { TweenToSwimming(0.2); } function TweenToFighter(float tweentime) { bButtonPusher = false; bTalker = false; bSquatter = false; if (Region.Zone.bWaterZone) { TweenToSwimming(tweentime); return; } TweenAnim('Fighter', tweentime); } function TweenToRunning(float tweentime) { bButtonPusher = false; bTalker = false; bSquatter = false; if (Region.Zone.bWaterZone) { TweenToSwimming(tweentime); return; } if (AnimSequence != 'Run' || !bAnimLoop) TweenAnim('Run', tweentime); } function TweenToWalking(float tweentime) { if (Region.Zone.bWaterZone) { TweenToSwimming(tweentime); return; } TweenAnim('Walk', tweentime); } function TweenToWaiting(float tweentime) { if (Region.Zone.bWaterZone) { TweenToSwimming(tweentime); return; } if ( bSquatter ) { TweenAnim('Squat3', tweentime); return; } TweenAnim('Breath', tweentime); } function TweenToPatrolStop(float tweentime) { if (Region.Zone.bWaterZone) { TweenToSwimming(tweentime); return; } TweenAnim('Breath', tweentime); } function PlayRunning() { DesiredSpeed = 1.0; if (Region.Zone.bWaterZone) { PlaySwimming(); return; } if (Focus == Destination) { LoopAnim('Run', -1.0/GroundSpeed,, 0.4); return; } LoopAnim('Run', StrafeAdjust(),,0.3); } function PlayWalking() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } LoopAnim('Walk', 0.8); } function TweenToSwimming(float tweentime) { if (AnimSequence != 'Swim' || !bAnimLoop) TweenAnim('Swim', tweentime); } function PlaySwimming() { LoopAnim('Swim', -1.0/GroundSpeed,,0.3); } function TweenToFalling() { TweenAnim('Jump2', 0.35); } function PlayInAir() { TweenAnim('Jump2', 0.2); } function PlayOutOfWater() { TweenAnim('Land', 0.8); } function PlayLanded(float impactVel) { TweenAnim('Land', 0.1); } //ff stuff function PlayMovingAttack() { if ( bIsInvulnerable && !bCanFireWhileInvulnerable ) { if ( Level.TimeSeconds - InvulnerableTime < 4 ) { PlayRunning(); return; } else BecomeNormal(); } if (Region.Zone.bWaterZone) { PlayAnim('SwimFire'); return; } DesiredSpeed = 0.4; MoveTimer += 0.2; if ( RangedProjectile!=none&&FRand() < 0.5 &&!FireBad()) { if ( GetAnimGroup(AnimSequence) == 'MovingAttack' ) PlayAnim('WalkFire'); else PlayAnim('WalkFire', 1.0, 0.05); } else { sprayoffset = 0; PlaySound(WeaponSpray, SLOT_Interact); if ( GetAnimGroup(AnimSequence) == 'MovingAttack' ) PlayAnim('WalkSpray'); else PlayAnim('WalkSpray', 1.0, 0.05); } } function PlayThreatening() { local float decision, animspeed; if (Region.Zone.bWaterZone) { PlaySwimming(); return; } decision = FRand(); animspeed = 0.6 + 0.4 * FRand(); if ( decision < 0.3 ) PlayAnim('Breath', animspeed, 0.25); else if ( decision < 0.45 ) PlayAnim('Weapon', animspeed, 0.25); else { PlayThreateningSound(); if ( decision < 0.65 ) TweenAnim('Fighter', 0.3); else if ( decision < 0.85 ) PlayAnim('Talk1', animspeed, 0.25); else PlayAnim('Talk2', animspeed, 0.25); } } function PlayTurning() { if (Region.Zone.bWaterZone) { PlaySwimming(); return; } TweenAnim('Walk', 0.3); } function PlayBigDeath(name DamageType) { PlayAnim('Dead2',0.7,0.1); PlaySound(sound'Death3mr', SLOT_Talk, 4 * TransientSoundVolume); } function PlayHeadDeath(name DamageType) { local carcass carc; if ( ((DamageType == 'Decapitated') || ((Health < -20) && (FRand() < 0.5))) && !Level.Game.bVeryLowGore ) { carc = Spawn(class 'CreatureChunks',,, Location + CollisionHeight * vect(0,0,0.8), Rotation + rot(3000,0,16384) ); if (carc != None) { carc.Mesh = mesh'MercHead'; carc.Initfor(self); carc.Velocity = Velocity + VSize(Velocity) * VRand(); carc.Velocity.Z = FMax(carc.Velocity.Z, Velocity.Z); } PlayAnim('Dead5',0.7,0.1); SprayOffset = 0; } else PlayAnim('Death',0.7,0.1); PlaySound(Die, SLOT_Talk, 4 * TransientSoundVolume); } function PlayLeftDeath(name DamageType) { PlayAnim('Dead4',0.7,0.1); PlaySound(sound'Death2mr', SLOT_Talk, 4 * TransientSoundVolume); } function PlayRightDeath(name DamageType) { PlayAnim('Death',0.7,0.1); PlaySound(Die, SLOT_Talk, 4 * TransientSoundVolume); } function PlayGutDeath(name DamageType) { PlayAnim('Dead3',0.7,0.1); PlaySound(sound'Death2mr', SLOT_Talk, 4 * TransientSoundVolume); } function PlayVictoryDance() //added big dance :D { if ( FRand() < 0.5 ) { PlaySound(Flip, SLOT_Interact); PlayAnim('Jump', 1.0, 0.1); } else{ // PlaySound(Flip, SLOT_Interact); PlayAnim('bigDance', 0.8, 0.25); //hehe ! } } function PlayMeleeAttack() { local float decision; local float rate; if (bCommando) rate=1.2; else rate=1.0; decision = FRand(); if (AnimSequence == 'Swat') decision -= 0.2; PlaySound(Punch, SLOT_Interact); If (decision < 0.3) PlayAnim('Punch',rate); else PlayAnim('Swat',rate); } function bool CanFireAtEnemy() { local vector HitLocation, HitNormal,X,Y,Z, projStart, EnemyDir, EnemyUp; local actor HitActor; local float EnemyDist; EnemyDir = Enemy.Location - Location; EnemyDist = VSize(EnemyDir); EnemyUp = Enemy.CollisionHeight * vect(0,0,0.9); if ( EnemyDist > 300 ) { EnemyDir = 300 * EnemyDir/EnemyDist; EnemyUp = 300 * EnemyUp/EnemyDist; } GetAxes(Rotation,X,Y,Z); projStart = Location + 0.9 * CollisionRadius * X - 0.6 * CollisionRadius * Y; HitActor = Trace(HitLocation, HitNormal, projStart + EnemyDir + EnemyUp, projStart, true); if ( (HitActor == None) || (HitActor == Enemy) || ((Pawn(HitActor) != None) && (AttitudeTo(Pawn(HitActor)) <= ATTITUDE_Ignore)) ) return true; HitActor = Trace(HitLocation, HitNormal, projStart + EnemyDir, projStart , true); return ( (HitActor == None) || (HitActor == Enemy) || ((Pawn(HitActor) != None) && (AttitudeTo(Pawn(HitActor)) <= ATTITUDE_Ignore)) ); } //ripped from eightball function bool CheckTarget(vector Start) { local Vector X,Y,Z; local float bestDist, bestAim; local rotator AimRot; local int diff; if (Enemy == None ) return false; else if (Skill==0) return false; else if (frand()>0.2+0.1*skill) return false; else if ( VSize(Enemy.Location - Location) < 2000 ) { AimRot = rotator(Enemy.Location - Start); diff = abs((AimRot.Yaw & 65535) - (Rotation.Yaw & 65535)); if ( (diff > 7200) && (diff < 58335) ) return false; // check if can hold lock if (frand()<0.8) //random thingy { AimRot = rotator(Enemy.Location + (3 - Skill) * 0.3 * Enemy.Velocity - Start); diff = abs((AimRot.Yaw & 65535) - (Rotation.Yaw & 65535)); if ( (diff > 16000) && (diff < 49535) ) return false; } // check line of sight if (Trace(X,Y, Enemy.Location, Start, false)!=none) return false; return True; } } //check for FF. thus don't use fireprojectile function. function SpawnRocket() { local vector X,Y,Z, projStart; local projectile proj; local rotator firerot; MakeNoise(1.0); GetAxes(Rotation,X,Y,Z); projStart = Location + 0.9 * CollisionRadius * X -0.4 * CollisionRadius * Y; firerot=AdjustAim(ProjectileSpeed, projStart, 400, bLeadTarget, bWarnTarget); If (FireBad(vector(firerot))) return; //seems I would hit him? if (bcommando){ if (CheckTarget(projstart)){ if (level.netmode==nm_standalone) RangedProjectile=class'OSSeekingRocket'; else RangedProjectile=class'UT_SeekingRocket'; } else RangedProjectile=class'OSRocket'; } proj=projectile(spawn(RangedProjectile ,self,'',projStart,firerot)); if (proj!=none) proj.damage=50; //:) if (bCommando&&proj!=none){ proj.damage*=1.2; rocket(proj).seeking=Enemy; proj.speed=projectilespeed; proj.Velocity = projectilespeed*vector(proj.rotation); if (proj.Region.Zone.bWaterZone) proj.velocity*=0.6; } } //DECALS&FF check: function SprayTarget() { local vector EndTrace, fireDir; local vector HitNormal, HitLocation; local actor HitActor; local rotator AdjRot; local vector X,Y,Z; AdjRot = Rotation; if ( AnimSequence == 'Dead5' ) AdjRot.Yaw += 3000 * (2 - sprayOffset); else if (bCommando) AdjRot.Yaw += 600 * (3 - sprayOffset); else AdjRot.Yaw += 1000 * (3 - sprayOffset); sprayoffset++; fireDir = vector(AdjRot); //moved here: EndTrace = Location + 2000 * fireDir; if (Target!=none) EndTrace.Z = Target.Location.Z + Target.CollisionHeight * 0.6; HitActor = TraceShot(HitLocation,HitNormal,EndTrace,Location); if ( (sprayoffset == 1) || (sprayoffset == 3) || (sprayoffset == 5) ) { GetAxes(Rotation,X,Y,Z); if ( AnimSequence == 'Spray' ) spawn(class'MercFlare', self, '', Location + 1.25 * CollisionRadius * X - CollisionRadius * (0.2 * sprayoffset - 0.3) * Y); else spawn(class'MercFlare', self, '', Location + 1.25 * CollisionRadius * X - CollisionRadius * (0.1 * sprayoffset - 0.1) * Y); } if ( AnimSequence == 'Dead5' ) sprayoffset++; if (HitActor==none) return; if (bCheckFriendlyFire&&hitactor!=none&&HitActor.bispawn&&AttitudeTo(Pawn(HitActor)) > ATTITUDE_Ignore) return; //abort! if (bCommando){ //commandos get explosion gun :) Spawn(class'MercExplosion',,, HitLocation+HitNormal*9, Rotator(HitNormal)); return; } if (HitActor == Level) // Hit a wall { /* spawn(class'SmallSpark2',,,HitLocation+HitNormal*5,rotator(HitNormal*2+VRand())); spawn(class'SpriteSmokePuff',,,HitLocation+HitNormal*9); if (level.netmode!=NM_dedicatedserver&&level.bhighdetailmode&&!Level.bDropDetail ) Spawn(class'Pock',,,HitLocation+HitNormal*9, Rotator(HitNormal)); //try decal. pretty crappy way I'm doing this (netplay b0rkde) */ spawn(class'OSWallHitEffect',,,HitLocation+HitNormal*9,rotator(hitnormal)); //some different effects..who cares. :) } else if (HitActor != self && (HitActor != Owner)) { HitActor.TakeDamage(10, self, HitLocation, 10000.0*fireDir, 'shot'); spawn(class'SpriteSmokePuff',,,HitLocation+HitNormal*9); } } function HitDamageTarget() { if (MeleeDamageTarget(PunchDamage, (PunchDamage * 1000 * Normal(Target.Location - Location)))) PlaySound(PunchHit, SLOT_Interact); } function PlayRangedAttack() { //FIXME - if going to ranged attack need to // TweenAnim('StillFire', 0.2); //What I need is a tween into time for the PlayAnim() local float rate; //UsAaR33: I did this, but er.. it correct? if (bCommando) rate=1.15; else rate=1.0; if ( bIsInvulnerable && !bCanFireWhileInvulnerable ) { if ( Level.TimeSeconds - InvulnerableTime > 3 ) BecomeNormal(); else if ( FRand() < 0.75 ) { PlayChallenge(); return; } } if (Region.Zone.bWaterZone) { PlayAnim('SwimFire',rate,0.2); return; } MakeNoise(1.0); if (FRand() < 0.35 &&!FireBad()) { PlayAnim('Shoot',rate,0.2); SpawnRocket(); } else { sprayoffset = 0; PlaySound(WeaponSpray, SLOT_Interact); PlayAnim('Spray',rate,0.2); } } function ChooseLeaderAttack() { if ( bReadyToAttack && bHasInvulnerableShield && !bIsInvulnerable && (InvulnerableCharge > 0) ) { BecomeInvulnerable(); if ( IsInState('Invulnerable') ) return; } if ( !bAlertedTeam && (OrdersGiven < 2) ) { OrdersGiven = OrdersGiven + 1; GotoState('SpeakOrders'); } else GotoState('TacticalMove', 'NoCharge'); } state SpeakOrders { ignores SeePlayer, HearNoise, Bump; function Killed(pawn Killer, pawn Other, name damageType) { Super.Killed(Killer, Other, damageType); if ( (Health > 0) && !bTeamLeader ) GotoState('Attacking'); } function TakeDamage( int Damage, Pawn instigatedBy, Vector hitlocation, Vector momentum, name damageType) { Global.TakeDamage(Damage, instigatedBy, hitlocation, momentum, damageType); if ( health <= 0 ) return; if (NextState == 'TakeHit') { NextState = 'Attacking'; NextLabel = 'Begin'; GotoState('TakeHit'); } } function EnemyNotVisible() { } Begin: bAlertedTeam = true; Acceleration = vect(0,0,0); if (NeedToTurn(enemy.Location)) { PlayTurning(); TurnToward(Enemy); } TweenAnim('Talk2', 0.1); FinishAnim(); phrase = ''; Speak(); if (FRand() < 0.5) PlayAnim('Talk2', 0.6); else PlayAnim('Talk3', 0.6); FinishAnim(); if (FRand() < 0.3) Goto('Done'); if (FRand() < 0.5) PlayAnim('Talk2', 0.9); else PlayAnim('Talk3', 0.9); FinishAnim(); Done: bReadyToAttack = true; GotoState('Attacking'); } state Invulnerable { ignores SeePlayer, HearNoise, Bump; function TryToDuck(vector duckDir, bool bReversed) { } function AnimEnd() { if (AnimSequence == 'Stealth1') { bIsInvulnerable = true; bMeshEnviroMap = true; invulnerableTime = Level.TimeSeconds; PainTime = 1.0; AmbientGlow = 70; bUnlit = true; LightType=LT_Pulse; PlayAnim('Stealth2'); } else GotoState('Attacking'); } Begin: Acceleration = vect(0,0,0); PlayAnim('Stealth1', 1.4, 0.07); KeepTurning: TurnToward(Enemy); Sleep(0.0); Goto('KeepTurning'); } state RangedAttack { ignores SeePlayer, HearNoise; function TryToDuck(vector duckDir, bool bReversed) { if ( bCanFireWhileInvulnerable || (FRand() < 0.5) ) BecomeInvulnerable(); } function BeginState() { Super.BeginState(); if ( !bIsInvulnerable && bHasInvulnerableShield && bCanFireWhileInvulnerable && (InvulnerableCharge > 4) && (FRand() > 0.75) ) { bReadyToAttack = true; BecomeInvulnerable(); } } } //following wait stuff :) state following { function PlayWaiting() //custom when following..... { local float decision; local float animspeed; if (Region.Zone.bWaterZone) { PlaySwimming(); return; } animspeed = 0.4 + 0.6 * FRand(); decision = FRand(); if ( decision>0.75 ) { decision = FRand(); SetAlertness(-0.5); if ( decision>0.5) { if ( FRand() < 0.1 ) LoopAnim('NeckCrak', animspeed, 0.5); else LoopAnim('Breath', animspeed, 0.5); return; } phrase = ''; Speak(); if (decision < 0.25) LoopAnim('Talk1', animspeed, 0.5); else if (decision < 0.375) LoopAnim('Talk2', animspeed, 0.5); else LoopAnim('Talk3', animspeed, 0.5); return; } else if ( decision>0.5) { if ( (TeamLeader == None) || TeamLeader.bTeamSpeaking ) { LoopAnim('Squat3', animspeed); return; } phrase = ''; Speak(); if (decision < 0.5) LoopAnim('Squat1', animspeed); else LoopAnim('Squat2', animspeed); return; } if ( (AnimSequence == 'Breath') && (decision < 0.15) ) { LoopAnim('Weapon', animspeed); PlaySound(CheckWeapon, SLOT_Interact); } else if ( (AnimSequence == 'Breath') && (decision < 0.25) ) LoopAnim('NeckCrak', animspeed); else LoopAnim('Breath', animspeed); bPatroling = false; } } o#// ============================================================ // ducksize. alllows the collision size to change if the owner has ducked..... //This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // DEPRECATED. DO NOT USE // ============================================================ class ducksize expands TournamentPickup; var bool lastduck; function tick(float deltathy){ //tick for universal duck code..... if (owner!=none&&owner.isa('playerpawn')) { if(playerpawn(owner).biscrouching && !lastduck) Setduck(Owner.default.CollisionHeight/2); if(!playerpawn(owner).biscrouching && lastduck) Setduck(Owner.default.CollisionHeight); //keep player from sinking :D lastduck=playerpawn(owner).biscrouching; } else if (owner!=none){ //owner would equal none when first spawned log ("somehow a non-playerpawn got the duckenabler!"); destroy(); } } //is it unethical to rip stuff from Deus Ex? oops... :D I never actually knew about prepivot.... interesting what you can learn.. function bool Setduck(float newHeight) { local playerpawn other; local float oldHeight; local bool bSuccess; local vector centerDelta; local float deltaEyeHeight; other=playerpawn(owner); if (newHeight < 0) newHeight = 0; oldHeight = other.CollisionHeight; if ((oldHeight == newHeight)) return true; deltaEyeHeight = other.default.collisionheight - other.Default.BaseEyeHeight; centerDelta = vect(0, 0, 1)*(newHeight-oldHeight); bSuccess = false; if ((newHeight <= other.CollisionHeight)) // shrink { other.SetCollisionSize(other.default.collisionradius, newHeight); // if (other.Move(centerDelta)) bSuccess = true; // else // other.SetCollisionSize(other.default.collisionradius, oldHeight); } else { // if (other.Move(centerDelta)) // { log ("stopped ducking.. reseting collision"); other.SetCollisionSize(other.default.collisionradius, newHeight); bSuccess = true; // } } if (bsuccess){ other.PrePivot -= centerDelta; other.BaseEyeHeight = newHeight - deltaEyeHeight; other.EyeHeight -= centerDelta.Z; return (bSuccess); } } eML7s2gM(]Xu6> Y> Y> Y> Y> Y> Y> Y> Y> Y> Y> YԝX> YԝX> YԝX> Y5 k]'&You weren't supposed to pick this up!n] duckenablermf?// ============================================================ // fadeoutteleporter. A teleporter that is a fadeviewtrigger and teleporter in one // also notifies HUD and such (scoreing entry point) // ============================================================ class fadeoutTeleporter expands Teleporter; var(ZoneLight) vector ViewFlash, ViewFog; var() vector TargetFlash; var() float FadeSeconds; var(Teleporter) string CoOpURL; //a different URL in co-op mode. (To skip cutscenes). var bool doflash; var vector OldViewFlash; var actor actorbackup; event BeginPlay() { Super.BeginPlay(); Disable('Tick'); enable('touch'); } event Tick(float DeltaTime) { local float X, Y, Z; local bool bXDone, bYDone, bZDone; if (doflash) { bXDone = False; bYDone = False; bZDone = False; X = Region.Zone.ViewFlash.X; Y = Region.Zone.ViewFlash.Y; Z = Region.Zone.ViewFlash.Z; X = X - (OldViewFlash.X - TargetFlash.X)*(DeltaTime / FadeSeconds); Y = Y - (OldViewFlash.Y - TargetFlash.Y)*(DeltaTime / FadeSeconds); Z = Z - (OldViewFlash.Z - TargetFlash.Z)*(DeltaTime / FadeSeconds); if( X < TargetFlash.X ) { X = TargetFlash.X; bXDone = True; } if( Y < TargetFlash.Y ) { Y = TargetFlash.Y; bYDone = True; } if( Z < TargetFlash.Z ) { Z = TargetFlash.Z; bZDone = True; } Region.Zone.ViewFlash.X = X; Region.Zone.ViewFlash.Y = Y; Region.Zone.ViewFlash.Z = Z; //Enable ('tick'); //ensure it stays..... if(bXDone && bYDone && bZDone) tele(actorbackup); } } function touch (actor Other){ //log ("someone touched a fade out tele! defaults set to other.bispawn="$other.bispawn$" and pawn(other).bisplayer="$(pawn(other)!=none&&pawn(other).bisplayer)); if ( !bEnabled ) return; IF (!other.bispawn||!pawn(other).bisplayer) return; if (level.netmode!=nm_standalone){ //screw this, just teleport if (CoopURL!="") URL=CoopURL; super.touch(other); return; } //log ("activating fade-out teleporter"); actorbackup=Other; //so tick can call it OldViewFlash = Region.Zone.ViewFlash; doflash=true; if (playerpawn(other)!=none){ playerpawn(other).clientsetmusic(music(DynamicLoadObject("olroot.null",class'music')),0,255,MTRAN_SlowFade); if (TvHUD(PlayerPawn(other).myhud)!=none) TVHUD(PlayerPawn(other).myhud).TelePorting(FadeSeconds); } Enable('Tick'); } function tele( actor Other ) { local Teleporter Dest; local int i; local Actor A; if ( !bEnabled ) return; Disable ('tick'); if( Other.bCanTeleport && Other.PreTeleport(Self)==false ) { if( (InStr( URL, "/" ) >= 0) || (InStr( URL, "#" ) >= 0) ) { // Teleport to a level on the net. if( PlayerPawn(Other) != None ) { //do this the hard way :( // playerpawn(other).player.console.bnodrawworld=true; //will not draw the freaken world now! Level.Game.SendPlayer(PlayerPawn(Other), URL); //moves player? ought to fix... } } else { // Teleport to a random teleporter in this local level, if more than one pick random. foreach AllActors( class 'Teleporter', Dest ) if( string(Dest.tag)~=URL && Dest!=Self ) i++; i = rand(i); foreach AllActors( class 'Teleporter', Dest ) if( string(Dest.tag)~=URL && Dest!=Self && i-- == 0 ) break; if( Dest != None ) { // Teleport the actor into the other teleporter. // if ( Other.IsA('Pawn') ) // PlayTeleportEffect( Pawn(Other), false); Dest.Accept( Other, self ); if( (Event != '') && (Other.IsA('Pawn')) ) foreach AllActors( class 'Actor', A, Event ) A.Trigger( Other, Other.Instigator ); } else if ( Role == ROLE_Authority ) Pawn(Other).ClientMessage( "Teleport destination for "$self$" not found!" ); } } } function PlayTeleportEffect(actor Incoming, bool bOut); //no effect. hMg7d @ @iM}UQEx8ԝXԝXEx8Ex8Ex8ԝXԝXԝXtԝXt1> Y> Y> Y3ۗ111111 m :R x$@rSm// ============================================================ // olextras.tvmutator: Handles various tricks... // ============================================================ class tvmutator expands spoldskool; //the following takes in damage. Passes to coop game or sp function MutatorTakeDamage( out int ActualDamage, Pawn Victim, Pawn InstigatedBy, out Vector HitLocation, out Vector Momentum, name DamageType) { if (level.game.IsA('tvsp')) TVSP(level.game).ScoreDamage(ActualDamage,Victim,InstigatedBy); else if (level.game.IsA('tvcoop')) tvcoop(level.game).ScoreDamage(ActualDamage,Victim,InstigatedBy); } function prebeginplay(){ //disable all swaps (cannot use always keep do to icons bBioRifle=false; oBioRifle=false; basmd=false; //all to UI weapons (sktrooper swapping) bstingy=false; brazor=false; bflak=false; bmini=false; beball=false; brifle=false; bmag=false; bdamage=false; bmed=false; bjump=false; bdamage=false; bpad=false; bmegahealth=false; barmor=false; bshield=false; Super.PreBeginPlay(); class'olKraalBolt'.default.maxspeed=10000; class'ol1337krallBolt'.default.maxspeed=10000; //hacks to access projectiles: class'olslithprojectile'.default.bGameRelevant=false; class'ExplosionChain'.default.bGameRelevant=false; } /* function bool PreventDeath(Pawn Killed, Pawn Killer, name damageType, vector HitLocation) { if (damageType == 'Gibbed' && Killer != NONE ) { //reset health..... if (Killed.Health < -999) //telefrag sets health to -1000 Killed.Health = Killed.Default.Health; log ("Player tried to telefrag a baddie"); return true; } //next mutator if ( NextMutator != None ) return NextMutator.PreventDeath(Killed,Killer, damageType,HitLocation); return false; } */ //For setting heads to green. Assumes only 1 unique texture has been set! function MinipulateSkin (actor Other, actor In){ local int i, j; for (i=0;i<8;i++) if (in.multiskins[i]!=none){ for (j=0;j<8;j++) Other.multiskins[j]=in.multiskins[i]; Other.Skin=in.multiskins[i]; return; } if (in.skin==none) return; other.skin=in.skin; for (j=0;j<8;j++) Other.multiskins[j]=in.skin; } //convert explosion chains to the UT style one function actor ReplaceNonInv(Actor other,class NewC){ local actor A; if ( (level.game.Difficulty==0 && !Other.bDifficulty0 ) //filters || (level.game.Difficulty==1 && !Other.bDifficulty1 ) || (level.game.Difficulty==2 && !Other.bDifficulty2 ) || (level.game.Difficulty==3 && !Other.bDifficulty3 ) || (!Other.bSinglePlayer && (Level.NetMode==NM_Standalone) ) || (!Other.bNet && (Level.NetMode == NM_DedicatedServer || Level.NetMode == NM_ListenServer )) ) return none; if( FRand() > Other.OddsOfAppearing ) return none; A = Spawn(NewC,other.owner,Other.tag,Other.Location, Other.Rotation); if ( A != None ) { A.event = Other.event; A.tag = Other.tag; A.SetCollision(Other.bCollideActors,Other.bBlockActors,Other.bBlockPlayers); A.bCollideWorld=Other.bCollideWorld; A.bProjTarget=Other.bProjTarget; A.SetCollisionSize(Other.CollisionRadius,Other.CollisionHeight); } return A; } function ReplaceExploChain(ExplosionChain other){ local TVExplosionChain A; A=TVExplosionChain(ReplaceNonInv(Other,class'TvExplosionChain')); if (A==none) return; A.MomentumTransfer = Other.MomentumTransfer; A.Damage = Other.Damage; A.Size = Other.Size; A.Delaytime = Other.Delaytime; A.bOnlyTriggerable = Other.bOnlyTriggerable; } function ReplaceTransEvent(TranslatorEvent other){ local TvTranslatorEvent A; A=TvTranslatorEvent(ReplaceNonInv(Other,class'TvTranslatorEvent')); if (A==none) return; A.Message=Other.Message; A.AltMessage=Other.AltMessage; A.NewMessageSound=Other.NewMessageSound; A.bTriggerAltMessage=Other.bTriggerAltMessage; A.ReTriggerDelay=Other.ReTriggerDelay; } //ENFORCER REPLACEMENT! function bool CheckReplacement(Actor Other, out byte bSuperRelevant) { local bool bRetVal; local float Dif; local spawnnotify sn; if (other.class==class'ONPLevelInfo'){ //found level info! if (level.game.IsA('tvsp')) tvsp(level.game).RegisterONPLevelInfo(other); else if (level.game.Isa('tvcoop')) tvcoop(level.game).RegisterONPLevelInfo(other); return true; } if (other.class==class'enforcer'){ //replace ENF bmini=true; //so ammo works right... ReplaceWith(Other, "olextras.SPEnf"); bmini=false; return false; //always remove ENF } if (other.class==class'dispersionpistol'||other.class==class'oldpistol'){ //replace pistol ReplaceWith(Other, "olextras.NoammoDpistol"); return false; //always remove ENF } if (other.class==class'ExplosionChain'){ ReplaceExploChain(ExplosionChain(other)); return false; } if (other.class==class'TranslatorEvent'){ //for co-op translator ReplaceTransEvent(TranslatorEvent(other)); return false; } if (Other.class==class'PulseGun'||Other.class==class'ospulsegun'){ //hack to swap projectiles here ReplaceWith(Other, "olextras.TVPulsegun"); return false; } if (Other.class==class'ut_eightball'){ ReplaceWith(Other, "olextras.TVEightball"); return false; } //for co-op supportive inv items: if (Other.class==class'translator'){ ReplaceWith(Other, "olextras.TVtranslator"); return false; } if (Other.class==class'flashlight'){ ReplaceWith(Other, "olextras.TvFlashlight"); return false; } if (Other.class==class'searchlight'){ ReplaceWith(Other, "olextras.TVSearchLight"); return false; } if (Other.IsA('WarHeadLauncher')||Other.IsA('uDamage')){ ReplaceWith(Other,"olextras.SuperAmmoShockRifle"); return false; } if (Other.IsA('ImpactHammer')||Other.IsA('ChainSaw')||Other.IsA('UT_Invisibility')||Other.IsA('UT_JumpBoots')){ ReplaceWith(Other,"olWeapons.osDispersionpowerup"); return false; } if (Other.class==class'UT_ShieldBelt'){ ReplaceWith(Other,"olWeapons.ospowershield"); return false; } if (Level.Game.class==class'MonsterSmash'){ if (Other.IsA('Trigger')&&Trigger(Other).TriggerType==0) //let pawns use triggers and movers Trigger(Other).TriggerType=TT_PawnProximity; if (Other.IsA('Mover')&&Mover(Other).BumpType==0) Mover(Other).BumpType=BT_PawnBump; if (Other.IsA('ControlPoint')||Other.Isa('FlagBase')) MonsterSmash(level.game).bTranslocator=true; if (Other.IsA('FortStandard')){ FortStandard(Other).FallBackFort=''; FortStandard(Other).DestroyFort(none); } if (Other.Isa('TeamCannon')&&TeamCannon(Other).Deactivatesound!=Sound'UnrealI.CannonExplode') return false; } if (Level.NetMode!=nm_standalone&&(Other.Isa('PlayerMotionFreeze')||Other.IsA('ViewSpot')||Other.IsA('ViewSpotStop'))) return false; //no cutscenes in co-op! //if (other.isa('pickup')&&!other.isa('ammo')&&!other.isa('amplifier')) //no pickup options //return true; if (other.Isa('MoviePawn')) //UMS movie hack pawn(other).Shadow = Spawn(class'TVpawnShadow',other,,other.location); if (other.isa('scriptedpawn')){ if (other.style==STY_NORMAL&&(other.isa('skaarjwarrior')||other.isa('krall')||other.isa('warlord')||other.isa('Slith')||other.isa('manta'))) other.style=STY_MASKED; //fix up masking bug on pawns if (class'olweapons.uiweapons'.default.busedecals){ if (!other.isa('tentacle')) //no decal for them. scriptedpawn(other).Shadow = Spawn(class'TVpawnShadow',other,,other.location); if (scriptedpawn(other).RangedProjectile==Class'UnrealShare.BruteProjectile') scriptedpawn(other).RangedProjectile=Class'TvBruteProjectile'; if (scriptedpawn(other).RangedProjectile==Class'Unreali.mercrocket') scriptedpawn(other).RangedProjectile=Class'Tvmercrocket'; else if (scriptedpawn(other).RangedProjectile==Class'UnrealI.GasBagBelch') scriptedpawn(other).RangedProjectile=Class'TvGasBagBelch'; else if (scriptedpawn(other).RangedProjectile==Class'UnrealI.KraalBolt') scriptedpawn(other).RangedProjectile=Class'oldskool.olkraalbolt'; else if (scriptedpawn(other).RangedProjectile==Class'UnrealI.EliteKrallBolt') scriptedpawn(other).RangedProjectile=Class'oldskool.ol1337krallbolt'; else if (scriptedpawn(other).RangedProjectile==Class'Unrealshare.skaarjprojectile') //no slith thankz to the hitwall not being simulated (and me too lazy to redo it ;) scriptedpawn(other).RangedProjectile=Class'olextras.TVSkaarjProjectile'; else if (scriptedpawn(other).RangedProjectile==Class'Unreali.queenprojectile') scriptedpawn(other).RangedProjectile=Class'oldskool.olqueenprojectile'; else if (scriptedpawn(other).RangedProjectile==Class'Unrealshare.tentacleprojectile') scriptedpawn(other).RangedProjectile=Class'oldskool.oltentacleprojectile'; else if (scriptedpawn(other).RangedProjectile==Class'SlithProjectile') scriptedpawn(other).RangedProjectile=Class'olSlithProjectile'; else if (scriptedpawn(other).RangedProjectile==Class'Unreali.warlordrocket') scriptedpawn(other).RangedProjectile=Class'Tvwarlordrocket'; } if (ClassIsChildOf(scriptedpawn(other).carcasstype,class'CreatureCarcass')){ if (other.style!=STY_Translucent) scriptedpawn(other).carcasstype=class'olCreatureCarcass'; else{ scriptedpawn(other).carcasstype=class'TranslucentCreatureCarcass'; scriptedpawn(other).bGreenBlood=true; //for MClane's green skaarj. Will affect all translucent creatures however! } } if (!Other.Isa('follower')){ //projectile speed thing Dif=FClamp(pawn(other).Skill+level.game.Difficulty, 0, 3); if (Dif>1.0) scriptedpawn(other).projectilespeed*=0.9+0.1*Dif; } if (Other.Isa('Nali')&&Other.bShadowCast==true){ if (TVSP(level.game)!=none) TVSP(level.game).GivePickup(class'Tvflashlight',pawn(other)); if (TvCoop(level.game)!=none) TvCoop(level.game).GivePickup(class'Tvflashlight',pawn(other)); } //Skaarj weapontype swaps. Use case statements??? if ( Other.IsA('skaarjtrooper')){ if (skaarjtrooper(Other).weapontype==Class'unreali.Stinger') skaarjtrooper(Other).weapontype=Class'olweapons.TVPulsegun'; else if ( skaarjtrooper(Other).weapontype==Class'unreali.Rifle') skaarjtrooper(Other).weapontype=Class'botpack.SniperRifle'; else if (skaarjtrooper(Other).weapontype==Class'unreali.Razorjack') skaarjtrooper(Other).weapontype=Class'botpack.ripper'; else if ( skaarjtrooper(Other).weapontype==Class'unreali.Minigun') skaarjtrooper(Other).weapontype=Class'botpack.Minigun2'; else if ( skaarjtrooper(Other).weapontype==Class'unreali.automag'||skaarjtrooper(Other).weapontype==Class'enforcer') //no special mags allowed in SP...... skaarjtrooper(Other).weapontype=Class'spEnf'; else if ( skaarjtrooper(Other).weapontype==Class'Eightball' || skaarjtrooper(Other).weapontype==Class'UT_Eightball') skaarjtrooper(Other).weapontype=Class'TVEightball'; else if (skaarjtrooper(Other).weapontype==Class'FlakCannon') skaarjtrooper(Other).weapontype=Class'botpack.UT_flakcannon'; else if ( skaarjtrooper(Other).weapontype==Class'unreali.ASMD') skaarjtrooper(Other).weapontype=Class'olweapons.osShockRifle'; else if ( skaarjtrooper(Other).weapontype==Class'GesBioRifle') skaarjtrooper(Other).weapontype=Class'botpack.UT_BioRifle'; else if ( skaarjtrooper(Other).weapontype==Class'dispersionpistol'||SkaarjTrooper(Other).WeaponType==class'oldpistol') //always change...... skaarjtrooper(Other).weapontype=Class'NoammoDpistol'; else if ( skaarjtrooper(Other).weapontype==Class'shockrifle') skaarjtrooper(Other).weapontype=Class'olweapons.osshockrifle'; else if ( skaarjtrooper(Other).weapontype==Class'pulsegun'||skaarjtrooper(Other).weapontype==Class'OsPulsegun') skaarjtrooper(Other).weapontype=Class'olweapons.TVPulsegun'; } return true; } else if (other.class==class'tree5'||other.class==class'tree6'){ //replace palm trees w/ new mesh other.mesh=class'leetpalm'.default.mesh; other.prepivot.z-=16*other.drawscale; other.MultiSkins[0]=Texture'Jdmisgay12'; // other.MultiSkins[0].DrawScale=0.96; if (other.class==class'tree5') other.drawscale*=3.3; else other.drawscale*=3.85; other.SetCollisionSize(0.8*other.collisionradius,other.collisionheight); } else if ((other.Isa('SlithProjectile')||Other.Isa('bruteprojectile'))&&scriptedpawn(other.instigator)!=none){ //projectile speed isn't used? Dif=FClamp(other.instigator.Skill+level.game.Difficulty, 0, 3); if (Dif>1.0) Projectile(other).speed*=0.9+0.1*Dif; Projectile(other).maxspeed=10000; } //various hacks: else if (Other.IsA('CreatureChunks')&&other.Instigator!=none&&Other.Instigator.Style==STY_Translucent){ Other.Style=STY_Translucent; CreatureChunks(Other).bGreenBlood=true; MinipulateSkin(Other,Other.Instigator); //go greeb } else if (Other.IsA('olCreatureCarcass')&&Other.Instigator!=none){ if (Other.Instigator.IsA('Follower')) Carcass(Other).Rats=byte(Follower(Other.Instigator).IsFriend()); else if (Other.Instigator.IsA('Nali')||Other.Instigator.IsA('cow')) Carcass(Other).Rats=2; } bretval=super.checkreplacement(other,bsuperrelevant); //very important :D if (Other.Isa('inventory')) //set all messages! Inventory(Other).PickupMessageClass=class'pickupmessageplus'; return bRetVal; } //overloaded simply for new notify function SetUpCurrent(){ if (level.netmode!=NM_standalone||bUseDecals) //in co-op, always spawn the notify to allow effect swapping client-side. spawn(class'bloodnotify'); if (level.netmode!=NM_standalone||PermaDecals) spawn(class'decalnotify'); if (level.netmode!=NM_standalone){ spawn(class'TvEveryThingNotify'); return; } oBioRifle=bBiorifle; oASMD=basmd; //old options ostingy=bstingy; oRazor=brazor; oFlak=bflak; omini=bmini; oEball=beball; oRifle=brifle; odamage=bdamage; opad=bpad; oarmor=barmor; omag=bmag; oshield=bshield; NewVersion=true; //OSA 2.25+ save } EGfRIFF2WAVEfmt "V"Vfactn2datan2~~~~}~~~~}~~~}~~}w{ywwrpywqh}xpsuzytsz~yy|~}}~~|~{}~}~~~}}~}|~~}|}~~}||~}~~~~~~}{{{~}|~}}z||~~}~~}~}|{{|}}|{|}~~~}|||}~~~~}}}~}}vv{|{}}||vkemuf_cjmoy{ywu}|xqp~{~~{qmortuy~}sigoy}~|{x~{ta[yxs~yfhyrekw|qZZk}{yndbesxkhjmt{}zurtz~|}{z}xw|vlh{Ͱ{P79Oh}fSJEAKhcUTWe}}ru~zpzȡŶr`auy\OQRU]fh`PDEIFEM^puk\URQYk}|ӷǵzfYhaI;9Hapsi[JD>9>L\dhe\SQQ\pyuuxĶtV=Ch΍A+GIOe~y\HFC63RkISwl_yֹž~dB.*+*48>A:,!#/?JHEHOXbir{׬ʯymk`bnvxmV6$#5KNC)$DbnbL9,.:ESl}wƸν[" 3i [zNANR>DxެW/YvXwƴ޸żˤ{nP/ BSR\[;&HQI(/7Nj~rñڼҵwqX@&%(7IRM;/:6.!.H`xoRH\ί̹ofo|tcX[bo{^ wa M4h}P]VLu 4?={нʜzܸ_W[ijM, bh9ne@0RshEIәgx̬ʧ־d^kx|hhq[;"+.BM?1/&+;66L_e`N>C`zǺoddks{|voh[D1,=iŠk0  2b#2HO\xv;-ȪХѤl]SdcOHOM4!((&*DU\YI?ET_vйnfjork[ND<536سݷ̪y[bJ>!68&h/ߒXuy!  j[%)5;?HB?JQbi4"4^ĶeB:S}A0R\gnfXICMat}bF?WԴut~ú{vmUIGO[R7!/;DZsvpaPWmįoXNLKG>9>KX``[[ajtz|{vpryϻtV?." $$9%SЩ{biĮo?/=YwhD 4VcW7 2_µïջsPBEMTH:0+2>PapsleO6  ?g U"&ir?x1 7lG K­}b]< s඙\ToƶP:@NP2  Ms|tefeWNYwީsxm7 5_M F{jKC`⻎qoX$ )]ɴgGCRow_MCK`dVA$&Nwwpx{ħn^^kuxvocX>!;\sjUPd~sٹ׾}^JK\snSA?Rj|t\B+L}~vgcfV@CSX_WQ]nӷ{slcadaaipzziV?3019EKQUbu̾D HPX`ivtqqqpi_XTRUY`jxİtgagnom\I>978:BP^kouwyyonmrvupfYTW\emt||ri`^fq}rgfmvytg[SOMLIE@>CKSURMKN[qzrrx}{sg[SV]dfgjpuy̾{~~~zzx|~umcZ^ehnnovysqkif]STTUPFFQ_ipsz~~}}xqlquy}{sommnrttmfchmpquz|wmgflorqpnlfdgikiimrrmd_]ajv|}}|~Ʒ~ywz||woqssld^_blz~l]U[^cgq{~zkaXVX``YE4-3Wa[T_{ndhmi`[_hligkt}}~}vporrmgflsustz|uqonkihknpru{~|yxwvplllhc\YSG?GatlVOkϰ̬|pO>BMN?26M`dhs´~oYVdmeXWfx}tmu{xvrkfeghebcku{~zqjfc`\[]cjptz|yvpjkry|z{{z{zustxzzz}{xxyyuonoqojfjlhaWUKA>LoygOVĭl`a]L3+/@@A@@@?>>A@@>=@BBAA@@ABCCCBBDDDBBEGGEDDFHHGGIHHHJKLLJJJKLMMKMNNMKNOOPPPOOPQRSSSSSUUTTSUWWVUUVUVXXYXXYXYZZ\\[ZZ\]\\]]\\[[]^^]\\\]]^_^]]]^^^^]]^__^]^__^^^]^_^_^]\]_`_][\]^___^^^_^]^_a`^]^^`a``_^_aa````baaa`bcbaabbbbcddcbcddeddeddddefgfeeeggggfffghigffghhihhhiihhijjjkkkjjlllmmllmnnmnoppoprqppqsssrrrtuuuuuvwwwxxxy{|{zy{{||}||||~~}}~~~~~~~~~~~~~~~~~~~}}}}~~}}|}}~}}}|||~~~}}}||||}}}|{{{{{{{zzzz||{zz{{{{{{{{{{{{zz{{{zzzzzzzzyyzzzzxyzzzyyyyzyyyyzzyxxxyzzyyxwxxyyxxwwwwwwwwxxxwwwwyyyxwxxyxxxxwwwwwwxxwwwxxxxxxxxxxxyyxxxyyyyxyyxyyyyxyyyyxxyyxxxyyyyyyyyyyzzzyyyyy{{{zzz{zyyz{zzyyzzyzzyxz{{zyyyyyzzzyxyyzyzzyyxuq{|syvxzxw}w{zv{uwtwxvwuwvxuuttvvwvusutvvtvtvvvtjw~yvstx{zzytwx|wwwvyswvzx{vrruyyxyzxxwxx|xvtwvtxstx}yvux|{~{{}x{y|z|zzw{y|{yxwwtvxxxzwvrsuyytvrvsxvuuuvrtrurrrtsqroonpqqqpnnnqrsqpopqstsutvuusvxxxvyx{yzy||{}{~}~}~~~~}}}}~~~~~~~{~~~|}~}~{|||~{{y{xz{xyswxvvvussnolmppqokgjijjggkqqpkjlqtsqrux{zz~{y{~~~}~~}ywwxyyzy{{zxttvyyxvx{{{zz{{yxxy}~|{{||||}|~~}||||||||z{~~}}}}~~}~~~|{yx}{zzyz{zywtssrpnje_ZZ^enqi_QHLU]bcdfghfgnstqljr~|}{vtvz}}xofabiptspoonmllnnmlnrx~}xusuy|vrqsvz|}}zwutrrqruy|}zz|~}~~{yyywwwxzzzyvsolihilljf^WNEGQhwrY<5D[d^X]kri`dy{hgztgjrurqx|iVPZhnkfgkldjrnsrkintx~z|{upmmrx|zsnmopnifkrvvyx|}{y|||~~|yvw{}}zyxusppt{~{xqnpqqmg`]\YTQ[r~^;2Ihsjaj~}kkquzi`jy~xsw~wdSR`nussuurpty{wsv}~xromlnt{}ztnmorttqqrt{~~{z|{ttx~~zxxwvqjbdb`^_q~dC:Llypbdxqm}suqdmxx}zl]Yerwtrsvvuy~ysu~ytqpqsvyyywuttuxywuv|{z|}yof_[[Y_rfE6Eetoedtwswyvejz|~{n_\gsyxtvxyz~{y~~upmouz||{yyyz{}|{z{~wuskdZOMSf}xQ8BPisght}vfZUXakty~~xof`agt~yvvuttx|wtxrvxnqut}~xurqw|{vxw{}zzzwsqllfT@(*ThC+'6SuѿoTWvǼ|une]clutf[[gqshXI?@NhyoqȽ|zyww|tg^[_dgea]`hqz}~~|zy~wldcglnhemtyytmnu{xy{zxurqu|}yvvokfc^TF1*.Krx\E;Sl~}uf[PVgsԴ~snr{[C:?INT[hswnc^\ahpx|uv}~kWG@AM^qth^Z]j||xvtqonnnnkg^iqyupmnsyz}~|~|{~||zqm`O@.#$6Li~xfROS]u˹}mhvuaTOMLLT`jokfefjosytkinw|k]QJJO\k{wpnqy}slgfjqy~z|rrsmu~~~~~~~~~z{yvutsqph\L5%$1B[m{j_VQ\yʵzgfnyzk`UKDHSbjiffhlpqv}qgdgnw~~ti]XY]cioyzphc`cfmy|}~~~{z{|~~|||~~~zurpjgd[QD84;EQ]fxxpfbk̸uttw{|qg]RNS\dfeehjjhhnx}skikmpty}~ztokigefjqx|}}rjhiotw~~}|}xrpnnsxz{zxupkaXL<527BNUdxtor}xw{|zvsqnib`chkiggiie_]aiu|vronnprrqqqqrqpqtwyzzz{{|}}wzz~|xutspooqrrnkg_RF<:@EKRbs|ux|uqpmha`djmmlmonhb^`dhmwyusttutrpnlklmnpsvy{yxxxxwx{~|}}}zwtrqqstuwwwvsng^QD;9>EMSap{tt|ytsqmfdhnsrnmppld^]afinv}|}|ytojihhikqvz{zzzxtppsx}~~{{|}{zxxyxyyz||{{zxxutssolg^WNKLPUXbm|zsjgmy~{xqljmqsqprrqjc_^`agnx~{voihiklmptxywtrplheglsz}{wrqnlorv}}{{{{{|~}|zyyxyz}~|xsmeZPHGKNSWbnz}|xvvpjfkw|xqootusolkgb\YY\agpz}{~}}zuolmoonnpqpligffgkqz~}|yurrrqutx~}}|}~|{zzyyzy{z{{{yzyvxwxyywvtlh_WQNOR\biqvz|xolhfgkq~ztsrusqkheb_^`emsy~{wvvvy}xsonnnnlllljjjlpsvx{|}}|||~zuqppqrsqtvuxwv{~|zxzz}~|yywyy{~}|xvngaVRNKRY`joqutoha]_flvzvqmnprplihgfeehmpqrrssstywsqqrtwz|zvspmjggimpsvx{}~}|}|vrommpsx{z}|z~||~{wsrsu{|}}~~}|{wrld]ZTY`eopnnje_XY^htysvy{zrjfaadjptvxywvssvz~wojikpv{ztokhimt|}zyyxxwvutssuwz~|~~|~|z|}}~~{wrnkd`^XYWYbhnnjgc]ZV[es}}}tu}|m`YX_gpy~~zqic`bfnw~|wqlihilptwxwurppruzytrrtw{~~}{xvtsux{~{}}|}~|vvsssrrpnjda\VZ]jwzxnf_\\`k|uqz~yolmosw||yrmifdcglsx{zzyz{~}}{tmihjpv||wrnmnrx}}|{zywusqppqsux{}~|{yxyz}}}}|~~~|xvtsrrspqjf[RU_wn`YXYXbq{{yxpxz{{xz~|xpqqrlfejruwuwwvpnqw}yvrprvxxwvvusonoruwz|~|zz|{vsrtvxz|||zxwvwxy{~~}}~}~|}zzyxxuuvvstom^QOahA7Oq|~~oqy~wpskpsbdo~|rin}|nmpwuqu}yw}z|~{wyyportrqt{~yvy{{ww}}}~|wuvyzzz{}~|{{{{zyz~{yy}xvw|}zy}{~}}|wzz{}}|}|xzvz~}zt^LUpX0:_|z|das}}hopdn|naix{omytglx}tim|~}~zsry|{z~~xyzrqttqs{}trvzzvx}{}~zuvz}~yuux|~~~~~}~~~|{|~|z{~~}~~~~~}}}~}{zz{{|~}{|~~~}x~|{}}~~|{z{y{|}}zz{z|zyzz~}~~}|zwxxxxttcMSnc35]|~rxlS`w{lsqVZrt_Zfsxuyncl}|rv{szzop{|phjt{{vuz}zsnosusu{}wu{~||yy{|{zz{~}ytqpoprw||zwvx{~}|||~|yvuuvy{}|{{||zxxy|~}{zz|}}}~}{yz|}~~|{|}~}|{|~~~{{~}~~{|~~}|{~~{{vyuuusgDBYuI?buk^nfkytzfrw`blk`_pxljgdes{{wsw{shaclw}~~woloxyy{{tooquwz}~||||}~}{|}~~zvuvwwwx{}}{|}}{yy{}~}zyy{||{|}|zz{{zyz||{|}~}}|}~~|{{{|{{}~||||||}~}}}}|}~~~~~|{z|}|}~~~}zz}~~|yx~}|}}~|zywuuuxzzyumXEUsqdm~sce~}lVWh|rfdiwyqoprtyxsppsy~~}zzzy{|xxyywwyz{zz|~}}}}||{zxwy|~}}}~~{z{}~|{z}~||}}}|||~}zz{}}||}~||}~~~~}~~}}}|{{}~~~~~}}}}}~~~}||~~~~~~~~~~}}~}~~~|{|}}|zy{|{{xp`Vd|us|zqyuy~z|vponosyzww|zwz}~~}yy}|wtuz~~~}|}~||}}|}}}}{zz{}~~~}||}}}~~~}||}~~}}~~}}}~~~~~}~~}~~~}}}~}}}}~~}||}~~~~}}~}}}}}}}}~~~~~~~~~~~~~}}}~~~~~~~~}~~}~}}}~~}}~~~~~~~~~~}}~~~~~~y~}~||~~~|zzzz{z{{zz{{||yvpcV`vx~tuxrjkyyw}z{yw~zw|~wy~{}~vqsz}~~}}vtwz{{}~~||}}{{}~}~~}}~~~~}}}~~~~}~~~~~~|}}}}~~~~}||||||}|{yyyyy{|~~~~~}}|{{{|}~}}||||}~~~}}}}}~~~mM.8o$a(((-'-'-'-($ rHqLg ^  w;  "@ " "@"*jjj*",0H@anpppppppppppppppppppppppppppod61;;;<;;;;<;;;;<;;;;;;;;;;;;;<;;:60) ,EMLLLMMLLLMLLLMMLLLMMLLLMMLLLMMLLLLKB$Cjmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmml_*(u~q2Hefggfffgffffgffffgfffggfffggfffgffffgffff`#&9>>>>>>>?>>>>?>>>>?>>>>>>>>>>>>>?>>>>?>>>>? EOPPPPPPPQPPPPQPPPPQPPPPPPPPPPPPPQPPPPQPPPPQI4vwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwu#wU\[[[\\[[[\[[[[\[[[[\[[[\\[[[\\[[[\[[[[\[[[[\[>>>>>>>>?>>>>?>>>>?>>>>>>>>>>>>>?>>>>?>>>>??KPPPPPPPPPQPPPPQPPPPQPPPPPPPPPPPPPQPPPPQPPPPQQ!pwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwy#|V\[[[\\[[[\[[[[\[[[[\[[[\\[[[\\[[[\[[[[\[[[[\\=BAAABBAAABBAAABAAABBAAABBAAABBAAABBAAABAAABBBTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV#|#|NSSSSSSSSSTSSSSTSSSSTSSSSSSSSSSSSSTSSSSTSSSSTT@EEEEEEEEEFEEEEFEEEEFEEEEEEEEEEEEEFEEEEFEEEEFFX^]]]^^]]]^]]]]^]]]]^]]]^^]]]^^]]]^]]]]^]]]]^^#|#|AGFFFGGFFFGGFFFGFFFGGFFFGGFFFGGFFFGGFFFGFFFGGGCIIIIIIIIIJIIIIJIIIIJIIIIIIIIIIIIIJIIIIJIIIIJJbfeeeffeeefeeeefeeeefeeeffeeeffeeefeeeefeeeeff#| msssssssssssssssssssssssssssssssssssssssssssst 5;;;;;;;;;<;;;;<;;;;<;;;;;;;;;;;;;<;;;;<;;;;<<HMLLLMMLLLMMLLLMLLLMMLLLMMLLLMMLLLMMLLLMLLLMMMhmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmn#|cgfffggfffgffffgffffgfffggfffggfffgffffgffffgh :>>>>>>>>>?>>>>?>>>>?>>>>>>>>>>>>>?>>>>?>>>>??KPPPPPPPPPQPPPPQPPPPQPPPPPPPPPPPPPQPPPPQPPPPQQ!pwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwy#|V\[[[\\[[[\[[[[\[[[[\[[[\\[[[\\[[[\[[[[\[[[[\\=BAAABBAAABBAAABAAABBAAABBAAABBAAABBAAABAAABBBTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV#|#{NSSSSSSSSSTSSSSTSSSSTSSSSSSSSSSSSSTSSSSTSSSSTTAEEEEEEEEEFEEEEFEEEEFEEEEEEEEEEEEEFEEEEFEEEEFFX^]]]^^]]]^]]]]^]]]]^]]]^^]]]^^]]]^]]]]^]]]]^^#|#|AGFFFGGFFFGGFFFGFFFGGFFFGGFFFGGFFFGGFFFGFFFGGGDIIIIIIIIIJIIIIJIIIIJIIIIIIIIIIIIIJIIIIJIIIIJJbfeeeffeeefeeeefeeeefeeeffeeeffeeefeeeefeeeeff#| msssssssssssssssssssssssssssssssssssssssssssst 5;;;;;;;;;<;;;;<;;;;<;;;;;;;;;;;;;<;;;;<;;;;<<GMLLLMMLLLMMLLLMLLLMMLLLMMLLLMMLLLMMLLLMLLLMMMhmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmn#|bgfffggfffgffffgffffgfffggfffggfffgffffgffffgh :>>>>>>>>>?>>>>?>>>>?>>>>>>>>>>>>>?>>>>?>>>>??KPPPPPPPPPQPPPPQPPPPQPPPPPPPPPPPPPQPPPPQPPPPQQ!pwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwy#{W\[[[\\[[[\[[[[\[[[[\[[[\\[[[\\[[[\[[[[\[[[[\\=BAAABBAAABBAAABAAABBAAABBAAABBAAABBAAABAAABBBTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV#|#|NSSSSSSSSSTSSSSTSSSSTSSSSSSSSSSSSSTSSSSTSSSSTT@EEEEEEEEEFEEEEFEEEEFEEEEEEEEEEEEEFEEEEFEEEEFFY^]]]^^]]]^]]]]^]]]]^]]]^^]]]^^]]]^]]]]^]]]]^^#|#|BGFFFGGFFFGGFFFGFFFGGFFFGGFFFGGFFFGGFFFGFFFGGGDIIIIIIIIIJIIIIJIIIIJIIIIIIIIIIIIIJIIIIJIIIIJJafeeeffeeefeeeefeeeefeeeffeeeffeeefeeeefeeeeff#| msssssssssssssssssssssssssssssssssssssssssssst 6;;;;;;;;;<;;;;<;;;;<;;;;;;;;;;;;;<;;;;<;;;;<<GMLLLMMLLLMMLLLMLLLMMLLLMMLLLMMLLLMMLLLMLLLMMMhmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmn#|cgfffggfffgffffgffffgfffggfffggfffgffffgffffgh :>>>>>>>>>?>>>>?>>>>?>>>>>>>>>>>>>?>>>>?>>>>??KPPPPPPPPPQPPPPQPPPPQPPPPPPPPPPPPPQPPPPQPPPPQQ!pwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwy#{V\[[[\\[[[\[[[[\[[[[\[[[\\[[[\\[[[\[[[[\[[[[\\=BAAABBAAABBAAABAAABBAAABBAAABBAAABBAAABAAABBBTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV#{#zLSSSSSSSSSTSSSSTSSSSTSSSSSSSSSSSSSTSSSSTSSSSTS@EEEEEEEEEFEEEEFEEEEFEEEEEEEEEEEEEFEEEEFEEEEFFX^]]]^^]]]^]]]]^]]]]^]]]^^]]]^^]]]^]]]]^]]]]^^#|#|BGFFFGGFFFGGFFFGFFFGGFFFGGFFFGGFFFGGFFFGFFFGGGDIIIIIIIIIJIIIIJIIIIJIIIIIIIIIIIIIJIIIIJIIIIJJafeeeffeeefeeeefeeeefeeeffeeeffeeefeeeefeeeeff#| msssssssssssssssssssssssssssssssssssssssssssst 7;;;;;;;;;<;;;;<;;;;<;;;;;;;;;;;;;<;;;;<;;;;<<GMLLLMMLLLMMLLLMLLLMMLLLMMLLLMMLLLMMLLLMLLLMMMhmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmn#|cgfffggfffgffffgffffgfffggfffggfffgffffgffffgh :>>>>>>>>>?>>>>?>>>>?>>>>>>>>>>>>>?>>>>?>>>>??LPPPPPPPPPQPPPPQPPPPQPPPPPPPPPPPPPQPPPPQPPPPQQ!qwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwy#|V\[[[\\[[[\[[[[\[[[[\[[[\\[[[\\[[[\[[[[\[[[[\\=BAAABBAAABBAAABAAABBAAABBAAABBAAABBAAABAAABBBTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV#|#|NSSSSSSSSSTSSSSTSSSSTSSSSSSSSSSSSSTSSSSTSSSSTT>EEEEEEEEEFEEEEFEEEEFEEEEEEEEEEEEEFEEEEFEEEEFEX^]]]^^]]]^]]]]^]]]]^]]]^^]]]^^]]]^]]]]^]]]]^^#|#|AGFFFGGFFFGGFFFGFFFGGFFFGGFFFGGFFFGGFFFGFFFGGGDIIIIIIIIIJIIIIJIIIIJIIIIIIIIIIIIIJIIIIJIIIIJJbfeeeffeeefeeeefeeeefeeeffeeeffeeefeeeefeeeeff#| msssssssssssssssssssssssssssssssssssssssssssst 5;;;;;;;;;<;;;;<;;;;<;;;;;;;;;;;;;<;;;;<;;;;<<HMLLLMMLLLMMLLLMLLLMMLLLMMLLLMMLLLMMLLLMLLLMMMhmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmn#|cgfffggfffgffffgffffgfffggfffggfffgffffgffffgh :>>>>>>>>>?>>>>?>>>>?>>>>>>>>>>>>>?>>>>?>>>>??KPPPPPPPPPQPPPPQPPPPQPPPPPPPPPPPPPQPPPPQPPPPQQ!pwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwy#|V\[[[\\[[[\[[[[\[[[[\[[[\\[[[\\[[[\[[[[\[[[[\\=BAAABBAAABBAAABAAABBAAABBAAABBAAABBAAABAAABBBTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV#|#|NSSSSSSSSSTSSSSTSSSSTSSSSSSSSSSSSSTSSSSTSSSSTTAEEEEEEEEEFEEEEFEEEEFEEEEEEEEEEEEEFEEEEFEEEEFFX^]]]^^]]]^]]]]^]]]]^]]]^^]]]^^]]]^]]]]^]]]]^^#|#|AGFFFGGFFFGGFFFGFFFGGFFFGGFFFGGFFFGGFFFGFFFGGGDIIIIIIIIIJIIIIJIIIIJIIIIIIIIIIIIIJIIIIJIIIIJJafeeeffeeefeeeefeeeefeeeffeeeffeeefeeeefeeeeff#| msssssssssssssssssssssssssssssssssssssssssssst 6;;;;;;;;;<;;;;<;;;;<;;;;;;;;;;;;;<;;;;<;;;;<<GMLLLMMLLLMMLLLMLLLMMLLLMMLLLMMLLLMMLLLMLLLMMMhmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmn#|cgfffggfffgffffgffffgfffggfffggfffgffffgffffgh :>>>>>>>>>?>>>>?>>>>?>>>>>>>>>>>>>?>>>>?>>>>??KPPPPPPPPPQPPPPQPPPPQPPPPPPPPPPPPPQPPPPQPPPPQQ!pwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwy#{W\[[[\\[[[\[[[[\[[[[\[[[\\[[[\\[[[\[[[[\[[[[\\=BAAABBAAABBAAABAAABBAAABBAAABBAAABBAAABAAABBBTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV#|#|NSSSSSSSSSTSSSSTSSSSTSSSSSSSSSSSSSTSSSSTSSSSTT@EEEEEEEEEFEEEEFEEEEFEEEEEEEEEEEEEFEEEEFEEEEFFY^]]]^^]]]^]]]]^]]]]^]]]^^]]]^^]]]^]]]]^]]]]^^#|#|AGFFFGGFFFGGFFFGFFFGGFFFGGFFFGGFFFGGFFFGFFFGGGDIIIIIIIIIJIIIIJIIIIJIIIIIIIIIIIIIJIIIIJIIIIJJafeeeffeeefeeeefeeeefeeeffeeeffeeefeeeefeeeeff#| msssssssssssssssssssssssssssssssssssssssssssst 6;;;;;;;;;<;;;;<;;;;<;;;;;;;;;;;;;<;;;;<;;;;<<GMLLLMMLLLMMLLLMLLLMMLLLMMLLLMMLLLMMLLLMLLLMMMhmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmn#|cgfffggfffgffffgffffgfffggfffggfffgffffgffffgh :>>>>>>>>>?>>>>?>>>>?>>>>>>>>>>>>>?>>>>?>>>>??KPPPPPPPPPQPPPPQPPPPQPPPPPPPPPPPPPQPPPPQPPPPQQ!pwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwy#|V\[[[\\[[[\[[[[\[[[[\[[[\\[[[\\[[[\[[[[\[[[[\\=BAAABBAAABBAAABAAABBAAABBAAABBAAABBAAABAAABBBTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV#|#|NSSSSSSSSSTSSSSTSSSSTSSSSSSSSSSSSSTSSSSTSSSSTT@EEEEEEEEEFEEEEFEEEEFEEEEEEEEEEEEEFEEEEFEEEEFFX^]]]^^]]]^]]]]^]]]]^]]]^^]]]^^]]]^]]]]^]]]]^^#|#|BGFFFGGFFFGGFFFGFFFGGFFFGGFFFGGFFFGGFFFGFFFGGGCIIIIIIIIIJIIIIJIIIIJIIIIIIIIIIIIIJIIIIJIIIIJJafeeeffeeefeeeefeeeefeeeffeeeffeeefeeeefeeeeff#| msssssssssssssssssssssssssssssssssssssssssssst 6;;;;;;;;;<;;;;<;;;;<;;;;;;;;;;;;;<;;;;<;;;;<<GMLLLMMLLLMMLLLMLLLMMLLLMMLLLMMLLLMMLLLMLLLMMMhmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmn#|cgfffggfffgffffgffffgfffggfffggfffgffffgffffgh :>>>>>>>>>?>>>>?>>>>?>>>>>>>>>>>>>?>>>>?>>>>??LPPPPPPPPPQPPPPQPPPPQPPPPPPPPPPPPPQPPPPQPPPPQQ!qwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwy#|V\[[[\\[[[\[[[[\[[[[\[[[\\[[[\\[[[\[[[[\[[[[\\=BAAABBAAABBAAABAAABBAAABBAAABBAAABBAAABAAABBBTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV#|#|NSSSSSSSSSTSSSSTSSSSTSSSSSSSSSSSSSTSSSSTSSSSTT@EEEEEEEEEFEEEEFEEEEFEEEEEEEEEEEEEFEEEEFEEEEFFW^]]]^^]]]^]]]]^]]]]^]]]^^]]]^^]]]^]]]]^]]]]^^"xr~/FFFFGGFFFGGFFFGFFFGGFFFGGFFFGGFFFGGFFFGFFFGGEAIIIIIIIIJIIIIJIIIIJIIIIIIIIIIIIIJIIIIJIIIIJGJdeeffeeefeeeefeeeefeeeffeeeffeeefeeeefeeeef[-y|'SqssssssssssssssssssssssssssssssssssssssssW .7;;;;;<;;;;<;;;;<;;;;;;;;;;;;;<;;;;<;;;8 +GLLLLMMLLLMLLLMMLLLMMLLLMMLLLMMLLLMLLA 3_jllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlkZ%?Ui{}vb9@@666<66:33 7213.,# 853 /+( %#!_ZUB>:92* YUPD=4   F@8<6.4.&    ;95751@<4>:2.*"$ 972<7+?=7;93c`W75/A>60-%     <;7;9175-!  [ZUSRMdc]gf`YXRKJC :9.GF987)'&$#WWV443::9997 &&$__Z773995]]W ,,(OOI==7??9//*993;;5FF?VVN771CC<33-55/AA:??7;;3==5991$$77/\\P++$55- 22*//' --%==3;;1 77- )) //%  ""@@2 22&==.!!     ..        :;+AB645)=?457, ?A7-/%!   =?79;357/#& 9<1.1'[]W571  "  >B9.2)231(*& 8;5+/'  4<-8=46:3280 8>7%  "3834<4   .2/##$QQU sM|MRk6]#-p??6DBR666@66D jG?66D j?6-p-p6D j?66DBRCR |)tg8p g tgmwf*fFS vjwS*SFS vz rM  "@ " "@"**"}0AH@FDDDh^SDDDSSDDDDHSHhDSS^wDHDD2[HDDHDDDD^HSqwDDH^SaEH[DDDDD^DDD^DD^^DSHDhDw^DHHH^DHHH[F^DDEahEnvnnenpvĔuC!Q?!u0rgnJ0pxEha 7ҚIIK,Iҧҧ,I#I#IIIIҗ~ʎEhJ"8ݧIK-IIҟIIIK-IIi+ågg0IIIIѐ!aNĻi୭ ēgk'"iīĪkyƜIÊ6ѕ}Zvr{Z) ûI(yPRK7t/{I#yI{dĻMyvC˗y×cfn{rjAk.ǝ£t˜gl{p<"xҀyƃۤb{~WpƄ›frqlɌrfinjyɔrrztrmɓvv~ɝўrmɘ˜pЖɔt˜tɞqqrjq>ɑqq.rɔҐqtqjrǜtr<b¡rrǣ֡m(jrrjbLrjbfžjbt9Ǵ”y.Kt†r.~զyɞ.bv6Mrtr֮9vMɛt.~jtMrtrMɛqqt~Ԫvjqr֪tɞc"ɨҐvM“ĞqƑ"ltœÑt<'t˜j.vǝÛǛ@rfyv.'Lqpf(=vvDŽ@vv杜vɥOryiɛtiáɘOtvÌMr"O/ɔ›t~ա9/OҗqtۮgJÔ]cz©gJlR rW۰ÞEa)!!ÞƀWףaaa+BɻI.T頣ÛHHgl}iHhDxÌF^[g yܔi~mGF^hI#uxcnGGG[wlRIxӝcngaE[[HDDDHHhF^D^HHEHwHEh^[^GFF)ɠL-ªiŽɎ44?11<22=&//:00; ((2--8$++6 (%%/##-))4--9..: "",,,800=)''3++8"**7((5))6$  (%%2 ##0&&&4  %)!!.((7( - ,&&5"$$3 )""1##2,!!0 / % $. 1 (,/-  $  *)"(+' &   $)   "&% $ #" !           00<77A{M~"@No{Drop^& O- %y wy *y oopy y qw *i oop!/a0 J#J# o109- W::$w p^}a } ^w}*} C}**a q!y @NNNOOOOOOPPPEEECCCRRRAAASSSUUUVVVWWW:::}MBNMw b q!y y)S@SI"I" $S 48i ^S vzJS[  fJf[ ,f F8 vjJf[   $S B /b  y.BB  GNx%uqE8ux%s%q%n%e%\%X%V%S%R%o B]LP @Z5::$do;Y:%?D?P } t:%?D?P } t::$dQ=Q=kP ?f(w(::$pP $"3YP $" ANiZS -M g8p g tg D-K"7 CBK"D @G"D?,?K",G+D?,?G"eD?,,~!D?e,g.} }rg*Error: TVMonstersMaps without TVMonsterclient parent.8.= ?~!HB?e?8e '8( 8A 8[%8t (Pg-M' f(o#JNO&*l#D::$ppppV client damage type W|  by Ve -]"%g::$J::$6R6R>RreR?RRgrO&| e!>g%_w* Ogew R| TRgw #w %we* wemeR?gw | Rr-]"!o ?gw | R7?ggZwe* weme{e| w -H q!yab?o @                                   #!"%##!'!$#"% "%'!"&%$)" !'($ .*$! #!#( $""*(!'!$"$'"0'" &#"%#%(#*". ,%%%'$$)$,#'%'/".!)%$(&%+% '&))&&/$+&"*''!0#)((,'$/& )(+2%0!0,('/("#2$,))7$-*&+*,3' 0)$+*/.*).+*,,-$5&9&5#51+'5)#.,1/-,&7'0.-7+$3.)0.21/.7-'4/+)9*20/2038.)60,61.B*$+<,522425;0);,;528830745=2,-?.658:52>/>868<72A5-:890C1@2@?82;9:<:8?6@3E3=;;F72=<>4H5?==C<6@=@@@=7K7A@BL6LCB>L?7EBDGEE:R?NE>IGHJHKRGCOLOQNRbNAUTT^PIWVV]W[lTM]\^eYV]Zlb_`cbcscYnfgkitqkkqprvuzxx|~z MN[&Yd'{!\[& |)ENE+P/M bONP-%8rtM|MR!y{t8u t}t,ttbONP-t&R!t68b 8o 8 m E+'% yN+  "@ "@ "@"@* *"0XI@@$%%$%%%%%%%%%%%%#%%!!%%# "%%A%%" %%Qg^MK6%%%$>``````[: $%%# xӘ1O``]2 #%%" }gA``K "% %$U`r=T`U $% "% U`I  I`U %"%K`II`K%$% 1`TәU`1%$"* [`wo`[ % 9IH4:`AA`: %!CWQ&[``["%KWL`OO`%&PWD8`1/`: %0TW= H``K%8WV7R` `W%" 9OQ-[`33`^#>98>$[`33``-QP9 "%R``W7VW8%H``K =WT0% :`//`:DWP&%`OO`KWK% [``[%PWC!% :`AA`:4HJ9 % [`6`[ *!$%1`TYT`1%$%O`II`P%"%Y`I Aӡ I`Y%" %$U`TdӾm`U $% %" K``A} "%%# 2]``M/ӰR #%%$ :[``````ȍ($%%%6MO`nТU%% "%%#`%%" #%%  %%#%%%%%%%%%%%%%%%%@@ONh!^kA.h!-h!a/!W  {!\ [// ============================================================ // olextras.TVHUD: An entirely new HUD. based on features from the unreal and UT HUDS // Unique Features: // handles friendly name drawing. // Fade stuff // Pickup displaying // translator new line stuff // Adds support for client-side inventory items (they are a little b0rked though when it comes to switching items :( ) // Used for coop and SP // ============================================================ class TVHUD expands oldskoolHUD; ///////////////////////////////// //// NEW HUD GRAPHICS /////////// ///////////////////////////////// //Items (64x64 images): #exec TEXTURE IMPORT NAME=ArmorI FILE=hud_gfx\items_icon\armor.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=AsbestosI FILE=hud_gfx2\items_icon\asbestor.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=FlareI FILE=hud_gfx2\items_icon\flares.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=ArmorI FILE=hud_gfx2\items_icon\armor.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=FlashLightI FILE=hud_gfx2\items_icon\flashlight.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=KevlarI FILE=hud_gfx2\items_icon\kevlarSuit.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=seedsI FILE=hud_gfx2\items_icon\nalifruitseeds.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=SearchLightI FILE=hud_gfx2\items_icon\SearchLight.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=ShieldBeltI FILE=hud_gfx2\items_icon\shieldbelt.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=ThighPadsI FILE=hud_gfx2\items_icon\ThighPads.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=ToxinI FILE=hud_gfx2\items_icon\ToxinSuit.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=TranslatorI FILE=hud_gfx2\items_icon\Translator.pcx GROUP="Icons" MIPS=OFF FLAGS=2 //Weapon Pictures (HUD Base w/ all weapons shown) //128x64 #exec TEXTURE IMPORT NAME=BioRifleW FILE=hud_gfx2\weapon_pics\biorifle.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=DPistolW FILE=hud_gfx2\weapon_pics\dispersionpistol.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=EnforcerW FILE=hud_gfx2\weapon_pics\Enforcer.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=FlakCannonW FILE=hud_gfx2\weapon_pics\FlakCannon.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=MinigunW FILE=hud_gfx2\weapon_pics\Minigun.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=PulseGunW FILE=hud_gfx2\weapon_pics\Pulsegun.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=RipperW FILE=hud_gfx2\weapon_pics\ripper.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=EightballW FILE=hud_gfx2\weapon_pics\RocketLauncher.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=ASMDW FILE=hud_gfx2\weapon_pics\shockrifle.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=SniperW FILE=hud_gfx2\weapon_pics\sniperrifle.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=SuperShockW FILE=hud_gfx2\weapon_pics\supershockrifle.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=TranslocatorW FILE=hud_gfx2\weapon_pics\translocator.pcx GROUP="Icons" MIPS=OFF FLAGS=2 //Weapon Icons (just picked up) (64x64) #exec TEXTURE IMPORT NAME=BioRifleP FILE=hud_gfx2\weapon_icon\biorifle.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=DPistolP FILE=hud_gfx2\weapon_icon\dispersionpistol.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=EnforcerP FILE=hud_gfx2\weapon_icon\Enforcer.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=FlakCannonP FILE=hud_gfx2\weapon_icon\Flak.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=MinigunP FILE=hud_gfx2\weapon_icon\Minigun.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=PulseGunP FILE=hud_gfx2\weapon_icon\Pulsegun.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=RipperP FILE=hud_gfx2\weapon_icon\ripper.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=EightballP FILE=hud_gfx2\weapon_icon\eightball.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=ASMDP FILE=hud_gfx2\weapon_icon\shock.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=SniperP FILE=hud_gfx2\weapon_icon\sniperrifle.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=SuperShockP FILE=hud_gfx2\weapon_icon\supershockrifle.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=TranslocatorP FILE=hud_gfx2\weapon_icon\translocator.pcx GROUP="Icons" MIPS=OFF FLAGS=2 //Ammo Icons (used in current ammotype and just picked up) (128x128 as in larger area) #exec TEXTURE IMPORT NAME=BioRifleA FILE=hud_gfx2\ammo_icon\biorifle.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=DPistolA FILE=hud_gfx2\ammo_icon\dispersionpistol.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=EnfMiniA FILE=hud_gfx2\ammo_icon\Enforcer_minigun.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=FlakCannonA FILE=hud_gfx2\ammo_icon\Flak.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=PulseGunA FILE=hud_gfx2\ammo_icon\Pulsegun.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=RipperA FILE=hud_gfx2\ammo_icon\ripper.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=EightballA FILE=hud_gfx2\ammo_icon\rockets.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=ASMDA FILE=hud_gfx2\ammo_icon\shockrifle.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=SniperA FILE=hud_gfx2\ammo_icon\sniperrifle.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=SuperShockA FILE=hud_gfx2\ammo_icon\supershockrifle.pcx GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=TranslocatorA FILE=hud_gfx2\ammo_icon\translocator.pcx GROUP="Icons" MIPS=OFF FLAGS=2 //follower icons: (64x64) #exec TEXTURE IMPORT NAME=FNali FILE=TEXTURES\npnali.pcx GROUP="Icons" MIPS=OFF #exec TEXTURE IMPORT NAME=FnMerc FILE=TEXTURES\npmerc.pcx GROUP="Icons" MIPS=OFF #exec TEXTURE IMPORT NAME=FeMerc FILE=TEXTURES\np1337merc.pcx GROUP="Icons" MIPS=OFF #exec TEXTURE IMPORT NAME=FSkaarjW FILE=TEXTURES\npskaarj.PCX GROUP="Icons" MIPS=OFF #exec TEXTURE IMPORT NAME=FSkaarjT FILE=TEXTURES\npskaarjt.PCX GROUP="Icons" MIPS=OFF #exec TEXTURE IMPORT NAME=FnKrall FILE=TEXTURES\npkrall.pcx GROUP="Icons" MIPS=OFF #exec TEXTURE IMPORT NAME=FeKrall FILE=TEXTURES\np1337krall.pcx GROUP="Icons" MIPS=OFF //Misc: (varying size) #exec TEXTURE IMPORT NAME=ChatArea FILE=hud_gfx2\chat_area.PCX GROUP="Panel" MIPS=OFF FLAGS=2 //256x256 image #exec TEXTURE IMPORT NAME=HealthCross FILE=hud_gfx2\cross.PCX GROUP="Icons" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=IconGlass FILE=hud_gfx2\small_glass.PCX GROUP="Panel" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=IconPipe FILE=hud_gfx2\small_pipe.PCX GROUP="Panel" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=IconGlowTex FILE=hud_gfx2\glow.PCX GROUP="Panel" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=GreyBar FILE=hud_gfx2\status_grey2.PCX GROUP="Panel" MIPS=OFF FLAGS=2 //generic bar #exec TEXTURE IMPORT NAME=StatusBorder FILE=hud_gfx2\statusbar.PCX GROUP="Panel" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=WeaponGlass FILE=hud_gfx2\weapon_glass.PCX GROUP="Panel" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=WeaponPipe FILE=hud_gfx2\weapon_pipe.PCX GROUP="Panel" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=WeaponGlowTex FILE=hud_gfx2\glow2.PCX GROUP="Panel" MIPS=OFF FLAGS=2 #exec TEXTURE IMPORT NAME=TVHudLine FILE=hud_gfx2\HUDLine.PCX GROUP="Icons" MIPS=OFF //grey version #exec TEXTURE IMPORT NAME=NewTrans FILE=TEXTURES\newtvhud3.PCX GROUP="Icons" MIPS=OFF FLAGS=2 //large trans area //CrossHair: #exec OBJ LOAD FILE=..\Textures\ONPCrossHairs.utx PACKAGE=olextras.CrossHair var bool blackout; //force black. var TranslatorHistoryList TList; //MOVED!!!! translator message history. var float TransFlashTime; //because the counter sux var TVTranslator TVTranslator; //used for pickup system struct PickupInfo{ var texture Icon; //icon of pickup var string text; //text of pickup var float ExpireTime; //time that message will expire }; var PickupInfo Pickups[5]; //array of picked up items var float Scale; //for multiple resolutions=stay constant HUD size. var float PickupTime; //for stupid pickup thingy. var actor Hit; //so only 1 trace a hit var texture CrossHairTextures[21]; //loaded crosshairs var bool bSSLRaised; //if SSL is present, would interfere with pickup messages... var float InvRightClip; //amount clip can be on right. (inv/pickups can block) //var float MessageFadeTime; //controls speech area fading. var byte OldPlayerMod; //controls HUD fade-in/out. //HUD fade controls: var float HUDFadeTime; //current fade-out time var float HUDFadeMult; //multiply deltatime incrememnts by this. var ERenderStyle NormalStyle; //translucent when fading. //HUD config: var globalconfig int TvCrosshair; //crosshair for ONP var globalconfig bool bHideHUD; //hack for UMS: var HUD RealHUD; //test: var bool NoZBufHack; //FPS saving variables (pre-multiplied on resolution change): var float M3, M4, M5, M9, M11, M64, M113, M128, M245; ///////////////////////////////////////////////// // Icon grabbing functions: ///////////////////////////////////////////////// static simulated function Texture FindItemIcon (class inv){ //get actual icon for class. //others: Switch (inv){ case class'thighpads': return Texture'ThighPadsI'; case class'armor2': Case class'Armor': return Texture'ArmorI'; Case class'AsbestosSuit': return Texture'AsbestosI'; Case class'Flare': return Texture'FlareI'; Case class'Flashlight': return Texture'FlashLightI'; Case class'KevlarSuit': return Texture'KevlarI'; Case class'Seeds': return Texture'SeedsI'; Case class'SearchLight': return Texture'SearchLightI'; Case class'ToxinSuit': return Texture'ToxinI'; Case class'Translator': return Texture'TranslatorI'; } if (ClassIsChildOf(inv,class'Shieldbelt')||ClassIsChildOf(inv,class'ut_Shieldbelt')) return Texture'ShieldBeltI'; } static simulated function texture FindPkupicon(class inv){ //get icon for just-pickup area. If (ClassIsChildOf(Inv,class'Ammo')){ //only here and on per-weapon basis switch inv{ case class'rocketpack': return Texture'EightballA'; case class'pammo': return Texture'PulseGunA'; case class'bladehopper': return Texture'RipperA'; case class'bioammo': return Texture'BioRifleA'; case class'shockcore': return Texture'ASMDA'; case class'SuperShockCore': return Texture'SuperShockA'; } if (classischildof(inv,class'miniammo')) return Texture'EnfMiniA'; if (classischildof(inv,class'flakammo')) return Texture'FlakCannonA'; if (classischildof(inv,class'BulletBox')) return Texture'SniperA'; return Texture'DPistolA'; } if (!ClassIsChildOf(inv,class'Weapon')) return FindItemIcon(inv); //all else is the same if (ClassIsChildOf(inv,class'UT_biorifle')) return Texture'BioRifleP'; if (ClassIsChildOf(inv,class'Translocator')) return Texture'TranslocatorP'; if (ClassIsChildOf(inv,class'SniperRifle')) return Texture'SniperP'; if (ClassIsChildOf(inv,class'Enforcer')) return Texture'EnforcerP'; if (ClassIsChildOf(inv,class'Minigun2')) return Texture'MinigunP'; if (ClassIsChildOf(inv,class'Pulsegun')) return Texture'PulseGunP'; if (ClassIsChildOf(inv,class'Ripper')) return Texture'RipperP'; if (ClassIsChildOf(inv,class'UT_Eightball')) return Texture'EightballP'; if (ClassIsChildOf(inv,class'UT_FlakCannon')) return Texture'FlakCannonP'; if (ClassIsChildOf(inv,class'SuperShockRifle')) return Texture'SuperShockP'; if (ClassIsChildOf(inv,class'ShockRifle')) return Texture'ASMDP'; return Texture'DPistolP'; //default } static simulated function Texture GetWeaponIcon (Class inv){ //get weapon icon for weapon area if (ClassIsChildOf(inv,class'UT_biorifle')) return Texture'BioRifleW'; if (ClassIsChildOf(inv,class'Translocator')) return Texture'TranslocatorW'; if (ClassIsChildOf(inv,class'SniperRifle')) return Texture'SniperW'; if (ClassIsChildOf(inv,class'Enforcer')) return Texture'EnforcerW'; if (ClassIsChildOf(inv,class'Minigun2')) return Texture'MinigunW'; if (ClassIsChildOf(inv,class'Pulsegun')) return Texture'PulseGunW'; if (ClassIsChildOf(inv,class'Ripper')) return Texture'RipperW'; if (ClassIsChildOf(inv,class'UT_Eightball')) return Texture'EightballW'; if (ClassIsChildOf(inv,class'UT_FlakCannon')) return Texture'FlakCannonW'; if (ClassIsChildOf(inv,class'SuperShockRifle')) return Texture'SuperShockW'; if (ClassIsChildOf(inv,class'ShockRifle')) return Texture'ASMDW'; if (ClassIsChildOf(inv,class'OldPistol')) return Texture'DPistolW'; } static simulated function Texture GetAmmoIcon (Class W){ //get ammo icon on a per-weapon basis if (ClassIsChildOf(W,class'UT_biorifle')) return Texture'BioRifleA'; if (ClassIsChildOf(W,class'Translocator')) return Texture'TranslocatorA'; if (ClassIsChildOf(W,class'SniperRifle')) return Texture'SniperA'; if (ClassIsChildOf(W,class'Enforcer')||ClassIsChildOf(W,class'Minigun2')) return Texture'EnfMiniA'; if (ClassIsChildOf(W,class'Pulsegun')) return Texture'PulseGunA'; if (ClassIsChildOf(W,class'Ripper')) return Texture'RipperA'; if (ClassIsChildOf(W,class'UT_Eightball')) return Texture'EightballA'; if (ClassIsChildOf(W,class'UT_FlakCannon')) return Texture'FlakCannonA'; if (ClassIsChildOf(W,class'SuperShockRifle')) return Texture'SuperShockA'; if (ClassIsChildOf(W,class'ShockRifle')) return Texture'ASMDA'; return Texture'DPistolA'; //default } ///////////////////////////////////////////// // Drawing Functions: ///////////////////////////////////////////// simulated function DrawONPIconValue(Canvas Canvas, int Amount) { local float TempX,TempY; local float Xl, Yl; TempX = Canvas.CurX; TempY = Canvas.CurY; Amount++; Canvas.Font = MyFonts.GetSmallFont(Canvas.ClipX); Canvas.StrLen(Amount,Xl,Yl); Canvas.SetPos(fmax(Canvas.CurX-Xl+60*scale,Canvas.CurX),Canvas.Cury-M4-Yl+M64); Canvas.DrawText(Amount,False); Canvas.Font = Canvas.LargeFont; Canvas.CurX = TempX; Canvas.CurY = TempY; } //Draw Weapon function Modes: // 0=normal // 1=raised // 2=selected (selected always lowest) simulated function DrawWeaponIcon(Canvas Canvas, texture Icon, int Pos, byte Mode, float Ammo, optional bool Pending){ local float Xl, Yl; local bool bCannotUse; if (Mode==1&&Pos>2) bSSLRaised=true; bCannotUse = (Ammo==0.0); Ammo=Fclamp(Ammo,0,1); Canvas.SetPos(Pos*M128,canvas.clipy-M64*(Mode%2+1)); Xl=Canvas.CurX; Yl=Canvas.CurY; if (Mode==2){ Canvas.Style=ERenderStyle.STY_Translucent; Canvas.DrawColor = GoldColor; Canvas.DrawRect(Texture'WeaponGlowTex',M128,M64); //selected glows. } Canvas.Style=NormalStyle; Canvas.SetPos(Xl,Yl); Canvas.DrawColor = WhiteColor; Canvas.DrawRect(Texture'WeaponPipe',M128,M64); Canvas.SetPos(Xl,Yl); if (Level.bHighDetailMode||Mode==2||Pending) Canvas.Style=ERenderStyle.STY_Translucent; Canvas.DrawRect(Texture'WeaponGlass',M128,M64); If (Level.bHighDetailMode&&Mode!=2&&!Pending) Canvas.Style=ERenderStyle.STY_Translucent; else Canvas.Style=NormalStyle; Canvas.SetPos(Xl,Yl); if (Icon!=none) Canvas.DrawRect(Icon,M128,M64); Pos=Pos%10; Canvas.Style=NormalStyle; Canvas.Font=MyFonts.GetMediumFont(Canvas.ClipX); Canvas.SetPos(Xl+M9,Yl+M5); if (bCannotUse) Canvas.DrawColor=FaceColor; Canvas.DrawText(Pos); if (Ammo==0){ Canvas.DrawColor=WhiteColor; return; } Canvas.SetPos(Xl+M11,Yl+M3); Canvas.StrLen(Pos,Xl,Yl); Canvas.DrawColor.G=Ammo*GreenColor.G; Canvas.DrawColor.R=RedColor.R-Canvas.DrawColor.G; if (Canvas.DrawColor.G<48) //prevents excessive green.. Canvas.DrawColor.G=max(0,2*Canvas.DrawColor.G-48); Canvas.DrawColor.B=0; Canvas.DrawTile(Texture'TvHudLine',fmin(98*scale*Ammo,M113-Xl),M9-scale,0,0.5,32.0,2.0); Canvas.DrawColor = WhiteColor; } //for ammo,armor, inv, etc. simulated function DrawONPIcon(canvas canvas, texture Icon, float X, float Y, optional bool bGlow){ Canvas.SetPos(X,Y); if (icon==none) DrawPipeIcon(canvas,Icon,M64,M64,true,bGlow); else DrawPipeIcon(canvas,Icon,Icon.Usize*scale,Icon.Vsize*scale,true,bGlow); Canvas.SetPos(X,Y); } //universal: simulated function DrawPipeIcon(canvas canvas, texture Icon, float Xl, float Yl, optional bool bTranslucent, optional bool bGlow){ local float X,Y; local Color OldCol; OldCol=Canvas.DrawColor; Canvas.Style=ERenderStyle.STY_Masked; X=Canvas.CurX; Y=Canvas.CurY; if (bGlow){ Canvas.Style=ERenderStyle.STY_Translucent; Canvas.DrawRect(Texture'IconGlowTex',XL,YL); Canvas.Style=NormalStyle; } Canvas.SetPos(X,Y); Canvas.DrawColor=WhiteColor; Canvas.DrawRect(Texture'IconPipe',XL,YL); if (bGlow||(bTranslucent&&Level.bHighDetailMode)) Canvas.Style=ERenderStyle.STY_Translucent; Canvas.SetPos(X,Y); Canvas.DrawColor=OldCol; Canvas.DrawRect(Texture'IconGlass',XL,YL); Canvas.Style=NormalStyle; Canvas.SetPos(X,Y); if (icon!=none) Canvas.DrawRect(Icon,XL,YL); } //used for armor and inv: simulated function DrawChargeIcon(Canvas Canvas, float X, float Y, Inventory Item, optional bool bActivated) { local texture icon; local float Ammo; if (Item.StatusIcon==Item.default.StatusIcon&&!Item.IsA('TvPickup')) Item.StatusIcon=FindItemIcon(Item.Class); if (bActivated) Canvas.DrawColor=RedColor; Canvas.SetPos(X,Y); DrawPipeIcon(canvas,Item.StatusIcon,M64,M64,true,Item==PawnOwner.SelectedItem); Canvas.SetPos(X,Y); Canvas.DrawColor=WhiteColor; if (Item.IsA('Pickup')&&Pickup(Item).bCanHaveMultipleCopies) DrawONPIconValue(Canvas,Pickup(Item).NumCopies); else if (item.charge>0){ Ammo=fmin(float(Item.Charge)/float(Item.Default.Charge),1); Canvas.CurX += M4; Canvas.CurY += 56*scale; Canvas.DrawColor.G=Ammo*GreenColor.G; Canvas.DrawColor.R=RedColor.R-Canvas.DrawColor.G; if (Canvas.DrawColor.G<48) //prevents excessive green.. Canvas.DrawColor.G=max(0,2*Canvas.DrawColor.G-48); Canvas.DrawColor.B=0; Canvas.DrawTile(Texture'TvHudLine',scale*54.0*Ammo,M4,0,0,32.0,2.0); } Canvas.DrawColor=WhiteColor; } simulated function DrawStatusBar (Canvas Canvas, float X, float Y, float BarLength){ BarLength=Fclamp(BarLength,0,1); Canvas.SetPos(X,Y); Canvas.DrawRect(Texture'StatusBorder',M64,2*M128); Canvas.SetPos(X,Y+5.5*scale+M245*(1-BarLength)); if (BarLength>0){ Canvas.DrawColor.G=BarLength*GreenColor.G; Canvas.DrawColor.R=max(RedColor.R-Canvas.DrawColor.G,0); if (Canvas.DrawColor.G<48) //prevents excessive green.. Canvas.DrawColor.G=max(0,2*Canvas.DrawColor.G-48); Canvas.DrawColor.B=0; if (Level.bHighDetailMode) Canvas.Style=ERenderStyle.STY_Translucent; Canvas.DrawTile(Texture'Greybar',M64, BarLength*M245,0, 5.5+(1-BarLength)*245,64, BarLength*245); //variable size bar } Canvas.DrawColor=WhiteColor; Canvas.Style=NormalStyle; } simulated function HudSetup (Canvas Canvas){ Super.HudSetup(Canvas); if (breschanged){ //cache multipliers here Scale=Canvas.ClipX/1536; //lower icons are 1536 pixels long M3=3*scale; M4=4*scale; M5=5*scale; M9=9*scale; M11=11*scale; M64=64*scale; M113=113*scale; M128=128*scale; M245=245*scale; } HudMode=0; //no HUD modes in ONP=force } simulated function float GetAmmo(Weapon W){ if (W.AmmoType==None) return -1; else return float(W.AmmoType.AmmoAmount)/float(W.AmmoType.MaxAmmo); } simulated function DrawArmor(Canvas Canvas, int X, int Y, bool bDrawOne){ //Now used for armor and weapon icons! local byte bTrans, bSSL; //weapon bytes: 0=not found, 1=spot drawn, 2=found, 3=already drawn, 4=all done (top and bottom), 5=found: raised local Weapon Trans,SSL; //to read later local int ArmorAmount; //local texture Icon; local float xl, yl; local inventory Inv; local byte raise; local int loops; if (PawnOwner.Weapon!=none){ if (PawnOwner.Weapon.StatusIcon==PawnOwner.Weapon.default.StatusIcon) PawnOwner.Weapon.StatusIcon=GetWeaponIcon(PawnOwner.Weapon.class); DrawWeaponIcon(Canvas,PawnOwner.Weapon.StatusIcon,PawnOwner.Weapon.InventoryGroup,2,GetAmmo(PawnOwner.Weapon)); if (PawnOwner.Weapon.IsA('Translocator')) bTrans=3; else if (PawnOwner.Weapon.IsA('SuperShockRifle')) bSSL=3; else if (PawnOwner.Weapon.IsA('OldPistol')) bTrans=1; else if (PawnOwner.Weapon.IsA('ShockRifle')) bSSL=1; } armoroffset=0; for( Inv=pawnOwner.Inventory; Inv!=None; Inv=Inv.Inventory ){ loops++; if (loops>1000) //infinite iterator! break; if ( TVTranslator(Inv) != None ) //grab it here. TVTranslator = TVTranslator(Inv); if (Inv.bIsAnArmor&&Inv.Charge>0){ ArmorAmount+=Inv.Charge; DrawChargeIcon(Canvas,ArmorOffset,0,Inv); ArmorOffset+= M64; } else if (Inv.IsA('Weapon')){ if (inv==PawnOwner.Weapon) Continue; if (Inv.StatusIcon==Inv.default.StatusIcon) Inv.StatusIcon=GetWeaponIcon(class(Inv.class)); if (Inv.StatusIcon==none) Continue; if (Inv.IsA('translocator')){ if (btrans==2||btrans==3||btrans==5) //error? Continue; else if (btrans==0){ btrans=2; trans=Weapon(inv); } else if (btrans==1){ btrans=4; DrawWeaponIcon(Canvas,Inv.StatusIcon,1,1,0); } } else if (Inv.IsA('SuperShockRifle')){ if (bSSL==2||bSSL==3||bSSL==5) //error? Continue; else if (bSSL==0){ SSL=Weapon(inv); bSSL=2; } else if (bSSL==1){ bSSL=4; DrawWeaponIcon(Canvas,Inv.StatusIcon,4,1,GetAmmo(Weapon(Inv))); } } else{ if (Inv.IsA('OldPistol')){ if (bTrans==4) Continue; Raise=byte(btrans==3); if (btrans==0) bTrans=1; else if (btrans==2) btrans=5; } else if (Inv.IsA('ShockRifle')){ if (bSSL==4) Continue; Raise=byte(bSSL==3); if (bSSL==0) bSSL=1; else if (bSSL==2) bSSL=5; } else Raise=0; DrawWeaponIcon(Canvas,Inv.StatusIcon,Inv.InventoryGroup,Raise,GetAmmo(Weapon(Inv)),((level.netmode!=nm_client&&Inv==PawnOwner.PendingWeapon)||(level.netmode==nm_client&&playerowner==pawnowner&&Inv==tvplayer(playerowner).ClientPending))); } } } if (btrans==2||btrans==5) DrawWeaponIcon(Canvas,Trans.StatusIcon,1,byte(btrans==5),-1,((level.netmode!=nm_client&&Trans==PawnOwner.PendingWeapon)||(level.netmode==nm_client&&playerowner==pawnowner&&Trans==tvplayer(playerowner).ClientPending))); if (bSSL==2||bSSL==5) DrawWeaponIcon(Canvas,SSL.statusIcon,4,byte(bSSL==5),GetAmmo(SSL),((level.netmode!=nm_client&&SSL==PawnOwner.PendingWeapon)||(level.netmode==nm_client&&playerowner==pawnowner&&SSL==tvplayer(playerowner).ClientPending))); if (ArmorAmount>0){ Canvas.SetPos(ArmorOffset,0); Canvas.Font=MyFonts.GetHugeFont(Canvas.ClipX); Canvas.StrLen(ArmorAmount,Xl,Yl); ArmorOffset+=Xl; Canvas.CurY+=(M64-Yl)/2; Canvas.DrawColor=TurqColor; Canvas.DrawText(ArmorAmount); Canvas.DrawColor=WhiteColor; } } simulated function DrawHealth(Canvas Canvas, int X, int Y) { local float Xf, Yf; DrawONPIcon (Canvas,Texture'HealthCross',0 ,canvas.clipy-M128,pawnowner.health>pawnowner.default.health); Canvas.Font=Myfonts.GetBigFont(Canvas.ClipX); Canvas.StrLen(PawnOwner.Health,Xf,Yf); Canvas.SetPos(M64-Xf/2, Canvas.clipy-M64-Yf/2); Canvas.DrawText(Max(0,PawnOwner.Health),False); DrawStatusBar (Canvas, 0, canvas.clipy-(384)*scale, float(PawnOwner.Health)/float(PawnOwner.Default.Health)); } simulated function DrawAmmo(Canvas Canvas, int X, int Y) { local texture foundicon; local float Xf, Yf; if (PawnOwner.Weapon==none) return; FoundIcon=GetAmmoIcon(PawnOwner.Weapon.Class); DrawONPIcon (Canvas,FoundIcon,canvas.clipx-M128 ,canvas.clipy-M128); if (PawnOwner.Weapon.AmmoType==none) return; Canvas.Font=Myfonts.GetBigFont(Canvas.ClipX); Canvas.StrLen(PawnOwner.Weapon.AmmoType.AmmoAmount,Xf,Yf); Canvas.SetPos(Canvas.clipx-M64-Xf/2, Canvas.clipy-M64-Yf/2); Canvas.DrawText(PawnOwner.Weapon.AmmoType.AmmoAmount,False); DrawStatusBar (Canvas, canvas.clipx-M64, canvas.clipy-(FoundIcon.vsize+256)*scale, float(PawnOwner.Weapon.AmmoType.AmmoAmount)/float(PawnOwner.Weapon.AmmoType.MaxAmmo)); } //follower info displaying: function DrawFollowers (Canvas Canvas) { local inventory inv; local texture icon; local float Y, Xl, Yl; local int i, j; local string FollowName; Canvas.Style=1; if (ArmorOffset>0) Y=M64; Canvas.Font=Myfonts.GetSmallFont(Canvas.ClipX); //change? //draw info: for (i=0;i<8;i++){ if (tvplayer(playerowner).FollowerInfo[i]=="") return; canvas.SetPos(0,y); icon=none; switch (left(tvplayer(playerowner).FollowerInfo[i],1)){ case "0": icon=texture'FnMerc'; break; case "1": icon=texture'FeMerc'; break; case "2": icon=texture'Fnali'; break; case "3": icon=texture'FSkaarjW'; break; case "4": icon=texture'FSkaarjT'; break; case "5": //human: must DLO icon (I hate this system) break; case "6": icon=texture'FnKrall'; break; default: //7 icon=texture'FeKrall'; break; } if (icon!=none) FollowName=mid(tvplayer(playerowner).FollowerInfo[i],1); else{ j=instr(tvplayer(playerowner).FollowerInfo[i],chr(16)); FollowName=mid(tvplayer(playerowner).FollowerInfo[i],1,j-1); icon=Texture(DynamicLoadObject(mid(tvplayer(playerowner).FollowerInfo[i],j+1),class'Texture',true)); } Canvas.DrawRect(icon,M64,M64); FollowName=FollowName$"->"$tvplayer(playerowner).FollowerHealth[i]@"H"; Canvas.StrLen(followname,XL,YL); Canvas.CurY+=(M64-Yl)/2; Canvas.DrawText(followname); if (XL+M64>armoroffset) //fixme: update for chat area size. Armoroffset=XL+M64; Y+=M64; } } //used for pickup icon system: simulated function LocalizedMessage( class lMessage, optional int Switch, optional PlayerReplicationInfo RelatedPRI_1, optional PlayerReplicationInfo RelatedPRI_2, optional Object OptionalObject, optional String CriticalString ) { local texture icon; local string text; super.LocalizedMessage(lmessage,Switch,RelatedPRI_1,RelatedPRI_2,OptionalObject,CriticalString); if (!classischildof(lmessage,class'PickupMessagePlus')||class(optionalobject)==none) return; //who cares! if (lmessage==class'PickupMessageHealthPlus'){ icon=Texture'HealthCross'; text="+"$Class(OptionalObject).Default.HealingAmount; } else text=class(OptionalObject).default.itemname; if (class(OptionalObject)!=none) return; if (text=="") text=GetItemName(string(OptionalObject)); if (class(OptionalObject)!=none) icon=class(OptionalObject).default.StatusIcon; if (icon==none) icon=FindPkupIcon(class(OptionalObject)); // if (icon!=none) AddPickup(icon,text); } //entry point for U1 health simulated function Message( PlayerReplicationInfo PRI, coerce string Msg, name MsgType ) { local string text; local int Health; super.Message(PRI,Msg,MsgType); // if (Msg!=""&&MsgType!='CriticalEvent'&&MsgType!='Pickup') // MessageFadeTime=1.0; if (MsgType=='CriticalEvent'&&tvtranslator!=none) tvtranslator.ForceDeactivate(); if (pawnowner.isinstate('PlayerShip')) return; if (PRI==playerowner.playerreplicationinfo&&MsgType=='pickup'){ //check if matches health (in this case it MUST be a U1 health) if (Msg==class'OSDispersionPowerUp'.default.pickupmessage){ //one exception AddPickup(Texture'DPistolA',"Power"); return; } if (Msg==class'SuperHealth'.default.pickupmessage) Text="+100"; else{ Health=FindHealthAmount(Msg); if (Health==-1) //not a real health message. return; Text="+"$Health; } AddPickup(Texture'HealthCross',text); } } simulated function SayMessage(coerce string Msg, float Time, PlayerReplicationInfo PRI){ local int I; local float PickupColor; if (pri.talktexture!=none||facetime-1;i--){ //move events down. if (shortmessages[i].contents!="") copyolmessage(shortmessages[i+1],shortmessages[i]); } shortmessages[0].type='Say'; //setup new message. shortmessages[0].contents=msg; shortmessages[0].PRI=PRI; shortmessages[0].lifetime=fmax(Time,3)+level.timeseconds; } simulated function int FindHealthAmount(string Msg){ //parses health pickup string to return health amount local int GoodNumber; local int test; local int i; GoodNumber=-1; for (i=1;i=0x30&&test<=0x39) //numeric GoodNumber=int(right(msg,i)); else return GoodNumber; } return GoodNumber; } simulated function AddPickup (texture icon, string text){ local int i; PickupTime=Level.TimeSeconds; //crosshair for (i=3;i>-1;i--) CopyPickup(Pickups[i+1],Pickups[i]); Pickups[0].icon=icon; Pickups[0].Text=Text; Pickups[0].ExpireTime=level.timeseconds+4.3; } simulated function CopyPickup(out PickupInfo P1, PickupInfo P2) //copying. { P1.Icon = P2.Icon; P1.Text = P2.Text; P1.ExpireTime = P2.ExpireTime; } simulated function ClearPickup(out PickupInfo Pick) //clearing. { Pick.Icon = none; Pick.Text = ""; Pick.ExpireTime=0; } //translator history moving (good thing execs are checked here first :) exec function NextWeapon(){ if (Tvtranslator!=none&&TVTranslator.bActive) TvTranslator.PrevHistory(); else playerowner.NextWeapon(); } exec function PrevWeapon(){ if (TVTranslator!=none&&TVTranslator.bActive) TVTranslator.NextHistory(); else playerowner.PrevWeapon(); } //Client-side item stuff: exec function ActivateItem() { if( Level.Pauser!=""||tvPlayer(Owner).PlayerMod==1) return; if (TvPickup(PlayerOwner.SelectedItem)==None||!TvPickup(PlayerOwner.SelectedItem).ClientActivate()) PlayerOwner.ActivateItem(); } exec function ActivateTranslator() { if (tvPlayer(Owner).PlayerMod!=1&&TvTranslator!=none) TvTranslator.ClientActivate(); } //actual pickup drawing: (positions ripped from Legacy) simulated function DrawInventory(Canvas Canvas, int X, int Y, bool bDrawOne) { local float Xf, Yf; local inventory inv; local int messages, i; local float TempX, Tempy; local string tmp; // List Translator messages if activated if (TvTranslator!=None ) { if(TvTranslator.bActive ) { Canvas.bCenter = false; Canvas.Font = MyFonts.GetSmallFont(Canvas.ClipX); TempX = Canvas.ClipX; TempY = Canvas.ClipY; CurrentMessage = TvTranslator.GetMessage(); Canvas.Style = 2; Canvas.SetPos(Canvas.ClipX/2-256*scale, Canvas.ClipY/2-256*scale); Canvas.DrawIcon(texture'Newtrans', 2.0*scale); Canvas.DrawColor=GreenColor; Canvas.SetOrigin(Canvas.ClipX/2-220*scale,Canvas.ClipY/2-224*scale); Canvas.SetClip(450*scale,440*scale); Canvas.SetPos(0,0); Canvas.Style = 1; Canvas.StrLen("a",Xf,Yf); //get vertical offset. tmp=CurrentMessage; while (tmp!=""){ i=instr(tmp,chr(13)); if (i!=-1) CurrentMessage=left(tmp,i); else CurrentMessage=tmp; Canvas.DrawText(CurrentMessage, False); if (i==-1) break; tmp=mid(tmp,i+1); Canvas.CurX=0; //reset cursor. preserve curY. } Canvas.ClipX = TempX; Canvas.ClipY = TempY; HUDSetup(canvas); // CurrentMessage = Translator.NewMessage; } else bFlashTranslator = (TvTranslator.bNewMessage || TvTranslator.bNotNewMessage ); } if (TransFlashTime<=Level.TimeSeconds-0.75) //translator timer TransFlashTime=Level.TimeSeconds+0.25; Canvas.Style=2; DrawMainInventory(canvas); //main ONP inv stuff. DrawFollowers(canvas); //draw teh followers. Canvas.Style=2; for (i=0;i<5;i++){ if (Pickups[i].expireTime!=0&&Pickups[i].ExpireTime<=level.timeseconds) ClearPickup(Pickups[i]); else if (Pickups[i].Text!="") messages++; else break; } messages--; TempX=Canvas.ClipX; Yf=M64; //playerpawn(owner).clientmessage("message count is"@messages); for (i=messages;i>=0;i--){ TempX-=M64; DrawPickIcon(Canvas, TempX, Yf, pickups[i].icon, pickups[i].text); } if (tempxlim){ //scale txt down while (test<=lim){ str=mid(text,Width,1); Width++; Canvas.StrLen(str,Xl,Yl); test+=Xl; } text=left(text,width-1); Xl=test-Xl; } Canvas.SetPos(X+fmax(0,lim-Xl),Y+fmax(0,56*scale-Yl)); Canvas.DrawText(text,False); } //other HUD stuff: simulated function PostBeginPlay() //set to 5... { FaceAreaOffset = -64; if(tvplayer(owner)!=none&&(tvplayer(owner).linfo.bcutscene||tvplayer(owner).linfo.bjet)) //verify the gametypes and set accordingly.. nohud=true; MyFonts = spawn(Class'Botpack.FontInfo'); //load fonts... if (tvsp(level.game)==none||level.game.class==class'MonsterSmash'){ //coop MOTDFadeouttime = 255; return; } OldPlayerMod=tvplayer(owner).PlayerMod; if (tvsp(level.game).bloadingsave) //this vaid? MOTDFadeOutTime = 0.1; //has to be a number to call it.... but no biggie.. else if (nohud) MOTDFadeOutTime=0.55; else /* if ( nohud) //this designates the map as a intermission (i.e flyby) MOTDFadeOutTime = 1.1; else*/ // MOTDFadeOutTime = 5.5; } MOTDFadeOutTime=1; } function PreRender( Canvas Canvas ) { // if (playerpawn(owner).player==none||playerpawn(owner).player.console==none||!playerpawn(owner).player.console.bnodrawworld) // return; //useless // if (windowconsole(playerpawn(owner).player.console).bUWindowActive||MOTDFadeOutTime==0) //no switch off. if (blackout){ canvas.setpos(0,0); Canvas.DrawTile( texture'BlackTexture', Canvas.ClipX, Canvas.ClipY, 0, 0, 256, 256 ); } if (motdfadeouttime>0&&tvsp(level.game)!=none&&tvtranslator!=none) //force trans off. tvTranslator.ForceDeactivate(); // else // switch off! // playerpawn(owner).player.console.bnodrawworld=false; Super(HUD).PreRender(Canvas); } simulated function postrender(canvas canvas){ //Ship speed. local byte btemp; if (RealHUD!=none){ RealHUD.PostRender(Canvas); return; } HudSetup(canvas); InvRightClip=Canvas.ClipX; //reset stuff bSSLRaised=false; //detect playermod changes: if (tvplayer(owner).playermod%2!=oldplayermod){ oldplayermod=tvplayer(owner).playermod%2; HUDFadeMult=3; if (oldplayermod==1) HUDFadeTime=1; //fade out else HUDFadeTime=-1.0; //fade in } nohud=(bHideHUD||tvplayer(owner).linfo.ForceNoHUD||(tvplayer(owner).PlayerMod==1&&HUDFadeTime==0) ||(MOTDFadeOutTime>0&&tvsp(level.game)!=none&&level.game.class!=class'MonsterSmash')); if (!nohud){ if (!NoZBufHack) Canvas.DrawActor( self, false, true); //clears z buffer, so no weapons overlap HUD GetHit(); } else{ ArmorOffset=0; if ( PlayerPawn(Owner).ProgressTimeOut > Level.TimeSeconds ) //oldskool glitch DisplayProgressMessage(Canvas); if (pawnowner.isinstate('PlayerShip')) DrawHealth(canvas,0,0); } if (blackout){ canvas.setpos(0,0); Canvas.DrawTile( texture'BlackTexture', Canvas.ClipX, Canvas.ClipY, 0, 0, 256, 256 ); Tlist=none; nohud=true; } if (pawnowner.isinstate('PlayerShip')) //render it here message(pawnowner.playerreplicationinfo,int(pawnowner.airspeed)@"KM/H",'pickup'); //show message w/out console. if ( nohud&&PlayerPawn(Owner).bShowScores ) { if ( PlayerPawn(Owner).bShowMenu ) //will end up going to uwindow (only called in sp mode).. { DisplayMenu(Canvas); return; } if ( (PlayerPawn(Owner).Scoring == None) && (PlayerPawn(Owner).ScoringType != None) ) PlayerPawn(Owner).Scoring = Spawn(PlayerPawn(Owner).ScoringType, PlayerPawn(Owner)); if ( PlayerPawn(Owner).Scoring != None ) { armoroffset=0; hudsetup(canvas); PlayerOwner.Scoring.OwnerHUD = self; PlayerPawn(Owner).Scoring.ShowScores(Canvas); DrawTypingPrompt(Canvas, playerpawn(owner).player.Console); //allow typing to show. Canvas.Style=ERenderStyle.STY_Masked; return; } } /* if (nohud){ //hack if ( showtalkface && !PlayerOwner.bShowScores) bDrawFaceArea = (FaceTexture != None) && (FaceTime > Level.TimeSeconds); if ( bDrawFaceArea ){ DrawTalkFace( Canvas, 0 ); } else { facemsgset=0; //ensure it is 0....... faceareaoffset=-64; } } */ super.postrender(canvas); //set keys to old values if (tvplayer(playerowner).playermod==2){ btemp=playerowner.bfire; playerowner.bfire=playerowner.baltfire; playerowner.baltfire=btemp; } hudmode=default.hudmode; //configuration stuff... Canvas.Style=ERenderStyle.STY_Masked; } //swaps as motd tick is changed...... simulated function Tick(float DeltaTime) { if (playerowner!=none&&playerowner.myhud!=self&&playerowner.myhud!=none){ if (playerowner.myhud.IsA('tvhud')&&!playerowner.myhud.bdeleteme){ destroy(); return; } RealHUD=playerowner.myhud; playerowner.myhud=self; } if (tvsp(level.game)==none||level.game.class==class'MonsterSmash'){ super.tick(deltatime); return; } IdentifyFadeTime -= DeltaTime; if (IdentifyFadeTime < 0.0) IdentifyFadeTime = 0.0; if (MOTDFadeOutTime > 0.0){ MOTDFadeOutTime -= DeltaTime/tvplayer(owner).linfo.Fadeintime; if (MOTDFadeOutTime <=0.0){ HUDFadeTime=-1.1; //start HUD fade-in HUDFadeMult=1.1/tvplayer(owner).linfo.Fadeintime; MOTDFadeOutTime = 0.0; } } if (HUDFadeTime > 0.0){ //teleporting out HUDFadeTime -= DeltaTime*HUDFadeMult; SetHUDColors(HUDFadeTime); if (HUDFadeTime < 0.0) HUDFadeTime = 0.0; } else if (HUDFadeTime < 0.0){ //HUD fade-in HUDFadeTime += DeltaTime*HUDFadeMult; SetHUDColors(1.0 + HUDFadeTime); if (HUDFadeTime > 0.0) HUDFadeTime = 0.0; } if ( bDrawFaceArea ) //face stuff..... { if ( FaceAreaOffset < 0 ) FaceAreaOffset += DeltaTime * 600; if ( FaceAreaOffset > 0 ) FaceAreaOffset = 0.0; } else if ( FaceAreaOffset > MinFaceAreaOffset ) FaceAreaOffset = FMax(FaceAreaOffset - DeltaTime * 600, MinFaceAreaOffset ); // if (MessageFadeTime>0) // MessageFadeTime-=0.7*deltatime; } function TelePorting(float TimeToTele){ //when fade-out tele activated. Sp only: local string Temp; local float Goal, UberGoal, Time, pts; if (level.netmode!=nm_standalone) return; HUDFadeTime=1.0; HUDFadeMult=1/TimeToTele; // tvplayer(owner).playermod=1; // OldPlayerMod=1; tvsp(level.game).bGODModeAllowed=true; PlayerOwner.ReducedDamageType='All'; if (tvplayer(owner).Linfo.bCutScene) return; //score dumping: tvplayer(owner).ScoreHolder.TotalLevelSecrets+=Level.Game.SecretGoals; tvplayer(owner).ScoreHolder.TotalSecretsFound+=playerowner.SecretCount; //handle goal time information: Goal=tvplayer(owner).Linfo.GoalTime; UberGoal=tvplayer(owner).Linfo.UberGoalTime; Time=tvplayer(owner).MyTime; if (Goal<=0.0||Time>Goal+20) return; //don't even handle. if (Time<=UberGoal){ Temp="You=ber-l33t! Your time ("$class'tvscoreboard'.static.parseTime(Time)$" s) BEAT ber-Goal Time ("$class'tvscoreboard'.static.parseTime(UberGoal)$" s) by "$class'tvscoreboard'.static.parseTime(UberGoal-Time)$" s!"; pts=tvplayer(owner).Linfo.UberGoalPoints+tvplayer(owner).Linfo.UberGoalMult*(UberGoal-Time); } else if (Time<=Goal){ Temp="CONGRATULATIONS! Your time ("$class'tvscoreboard'.static.parseTime(Time)$" s) BEAT Goal Time ("$class'tvscoreboard'.static.parseTime(Goal)$" s) by "$class'tvscoreboard'.static.parseTime(Goal-Time)$" s!"; pts=tvplayer(owner).Linfo.GoalPoints+tvplayer(owner).Linfo.GoalMult*(Goal-Time); if (time<=UberGoal+20) Temp=Temp$" Time was only "$class'tvscoreboard'.static.parseTime(Time-UberGoal)$" s away from ber-Goal!"; } else{ playerowner.clientMessage("Nice Job! Your time was only "$class'tvscoreboard'.static.parseTime(Time-Goal)$"s away from the Goal Time.",'criticalevent',true); return; } Temp=Temp$" "$string(int(pts))$" Points Awarded!"; //handle high-score saving: tvplayer(owner).ScoreHolder.AddPoints(pts); playerowner.clientMessage(temp,'criticalevent',true); CriticalMessage.lifetime+=100; //stay on even as level loads. } simulated function SetHUDColors(float ColorMult){ //sets color properties to emulate fading ColorMult=fclamp(ColorMult,0.05,1.0); if (ColorMult<0.83&&level.bHighDetailMode) //translucency control NormalStyle=ERenderStyle.STY_Translucent; else NormalStyle=ERenderStyle.STY_Normal; WhiteColor=ColorMult*default.WhiteColor; RedColor=ColorMult*default.RedColor; GreenColor=ColorMult*default.GreenColor; CyanColor=ColorMult*default.CyanColor; BlueColor=ColorMult*default.BlueColor; GoldColor=ColorMult*default.GoldColor; PurpleColor=ColorMult*default.PurpleColor; TurqColor=ColorMult*default.TurqColor; GrayColor=ColorMult*default.GrayColor; FaceColor=ColorMult*default.FaceColor; } simulated function DrawMOTD(Canvas Canvas) { local GameReplicationInfo GRI; local float XL, YL; if(Owner == None) return; if (tvsp(level.game)==none||level.game.class==class'MonsterSmash'){ super.DrawMOTD(canvas); return; } Canvas.Font = MyFonts.GetHugeFont( Canvas.ClipX ); //use botpack fontinfo's // if ((MOTDFadeOutTime<=5.25)&&(MOTDFadeOutTime>0)){ //color stuff..... if ((MOTDFadeOutTime<0.95)&&(MOTDFadeOutTime>0)){ // if (MOTDFadeOutTime>=5.0) //fade in // Canvas.DrawColor.R = -1020*MoTDFadeOutTime+5355; //another of UsAaR33's stupid formula's :D if (MOTDFadeOutTime>=0.91) Canvas.DrawColor.R = -6375*MoTDFadeOutTime+6056; // else if (MOTDFadeOutTime<=3) //fade out.... // Canvas.DrawColor.R = 85*MoTDFadeOutTime; //another of UsAaR33's stupid formula's :D else if (MOTDFadeOutTime<0.55) Canvas.DrawColor.R = 465*MoTDFadeOutTime; else //force it to show.... Canvas.DrawColor.R = 255; } else Canvas.DrawColor.R = 0; Canvas.DrawColor.G = Canvas.DrawColor.R; //white always. Canvas.DrawColor.B = Canvas.DrawColor.R; if (Canvas.DrawColor.R<200&&(tvplayer(Owner).Linfo.bCutScene||tvplayer(Owner).Linfo.bJet)) Canvas.Style=ERenderStyle.STY_Translucent; else Canvas.Style = 1; Canvas.bCenter = true; GRI = PlayerPawn(Owner).GameReplicationInfo; if ( (GRI == None) || (GRI.GameName == "Game") || (MOTDFadeOutTime <= 0) ) return; Canvas.StrLen("testy", XL, YL); Canvas.SetPos(0.0, Canvas.ClipY/2 - 4*(YL/2)); Canvas.DrawText(Level.Title, true); Canvas.Font = MyFonts.GetBigFont( Canvas.ClipX ); Canvas.StrLen("testy", XL, YL); Canvas.SetPos(0.0, Canvas.Clipy/2 - (YL/2)); Canvas.DrawText("By: "$Level.Author, true); Canvas.SetPos(0.0, 32 + 4*YL); Canvas.SetPos(0.0, Canvas.ClipY/2 + 5*(YL/2)); Canvas.DrawText(Level.LevelEnterText, true); //in case David wants it..... Canvas.bCenter = false; Canvas.Style=NormalStyle; } //Check the last trace. simulated function bool TraceIdentify(canvas Canvas) { if ( Pawn(Hit)!=none && ((Pawn(Hit).bIsPlayer) ||(Hit.isa('follower')&&Follower(Hit).IsFriend()))) { IdentifyTarget = Pawn(Hit); IdentifyFadeTime = 3.0; } if ( IdentifyFadeTime == 0.0 ) return false; if ( (IdentifyTarget == None) /*|| (!IdentifyTarget.bIsPlayer) */|| (IdentifyTarget.bHidden) /*|| (IdentifyTarget.PlayerReplicationInfo == None )*/) return false; return true; } //FOLLOWER INFO: simulated function DrawIdentifyInfo(canvas Canvas, float PosX, float PosY) { local float XL, YL, XOffset; local string Following; if (!TraceIdentify(Canvas)||(bSSLRaised&¤tpickup.lifetime>level.timeseconds)) return; Canvas.Font = MyFonts.GetSmallFont(Canvas.ClipX); Canvas.Style = 3; if (Follower(identifytarget)!=none) IdentifyTarget.MenuName=Follower(IdentifyTarget).MyName; XOffset = 0.0; if (identifytarget.playerreplicationinfo!=none) Canvas.StrLen(IdentifyName$": "$IdentifyTarget.PlayerReplicationInfo.PlayerName, XL, YL); else Canvas.StrLen(IdentifyName$": "$IdentifyTarget.MenuName, XL, YL); XOffset = Canvas.ClipX/2 - XL/2; Canvas.SetPos(XOffset, Canvas.ClipY - 188*scale); if((identifytarget.playerreplicationinfo!=none&&IdentifyTarget.PlayerReplicationInfo.PlayerName != "")||IdentifyTarget.menuname!="") { if (identifytarget.playerreplicationinfo!=none) SetDrawColor(Canvas,IdentifyTarget.PlayerReplicationInfo.Team,2,IdentifyFadeTime); else SetDrawColor(Canvas,255,2,IdentifyFadeTime); Canvas.StrLen(IdentifyName$": ", XL, YL); XOffset += XL; Canvas.DrawText(IdentifyName$": "); Canvas.SetPos(XOffset, Canvas.ClipY - 188*scale); if (identifytarget.playerreplicationinfo!=none){ SetDrawColor(Canvas,IdentifyTarget.PlayerReplicationInfo.Team,1,IdentifyFadeTime); Canvas.StrLen(IdentifyTarget.PlayerReplicationInfo.PlayerName, XL, YL); Canvas.DrawText(IdentifyTarget.PlayerReplicationInfo.PlayerName); } else{ SetDrawColor(Canvas,255,1,IdentifyFadeTime); Canvas.StrLen(IdentifyTarget.menuname, XL, YL); Canvas.DrawText(IdentifyTarget.menuname); } } XOffset = 0.0; Canvas.StrLen(IdentifyHealth$": "$IdentifyTarget.Health, XL, YL); XOffset = Canvas.ClipX/2 - XL/2; Canvas.SetPos(XOffset, Canvas.ClipY - 168*scale); if (identifytarget.playerreplicationinfo!=none) SetDrawColor(Canvas,IdentifyTarget.PlayerReplicationInfo.Team,2,IdentifyFadeTime); else SetDrawColor(Canvas,255,2,IdentifyFadeTime); Canvas.StrLen(IdentifyHealth$": ", XL, YL); XOffset += XL; Canvas.DrawText(IdentifyHealth$": "); Canvas.SetPos(XOffset, Canvas.ClipY - 168*scale); if (identifytarget.playerreplicationinfo!=none) SetDrawColor(Canvas,IdentifyTarget.PlayerReplicationInfo.Team,1,IdentifyFadeTime); else SetDrawColor(Canvas,255,1,IdentifyFadeTime); Canvas.StrLen(IdentifyTarget.Health, XL, YL); Canvas.DrawText(IdentifyTarget.Health); if (identifytarget.playerreplicationinfo==none){ //orders :) if (!IdentifyTarget.IsA('Follower')||Follower(IdentifyTarget).bcoward) return; IF (Follower(IdentifyTarget).PaPRI==none) Following="Nobody"; else Following=Follower(IdentifyTarget).PaPRI.playername; XOffset = 0.0; Canvas.StrLen("Controller: "$Following, XL, YL); XOffset = Canvas.ClipX/2 - XL/2; Canvas.SetPos(XOffset, Canvas.ClipY - 148*scale); SetDrawColor(Canvas,255,2,IdentifyFadeTime); Canvas.StrLen("Controller: ", XL, YL); XOffset += XL; Canvas.DrawText("Controller: "); Canvas.SetPos(XOffset, Canvas.ClipY - 148*scale); SetDrawColor(Canvas,255,1,IdentifyFadeTime); Canvas.StrLen(Following, XL, YL); Canvas.DrawText(Following); } Canvas.Style = 2; Canvas.DrawColor = WhiteColor; } //coop support: simulated function DrawFragCount(Canvas Canvas, int X, int Y) //to make better use of scoring #'s... { /* //no frag counter currently. local color oldcol; if (tvsp(level.game)!=none){ super.drawfragcount(canvas,x,y); return;} Canvas.SetPos(X,Y); if (realicons) { Canvas.DrawIcon(Texture'Realskull', 1.0); oldcol=canvas.drawcolor; canvas.drawcolor=redcolor; } else Canvas.DrawIcon(Texture'IconSkull', 1.0); Canvas.CurX -= 31; Canvas.CurY += 23; if ( PawnOwner.PlayerReplicationInfo == None ) return; Canvas.Font = Font'TinyWhiteFont'; if (PawnOwner.PlayerReplicationInfo.score<10000) Canvas.CurX+=6; if (PawnOwner.PlayerReplicationInfo.score<1000) Canvas.CurX+=6; if (PawnOwner.PlayerReplicationInfo.score<100) Canvas.CurX+=6; if (PawnOwner.PlayerReplicationInfo.score<10) Canvas.CurX+=6; if (PawnOwner.PlayerReplicationInfo.score<0) Canvas.CurX-=6; if (PawnOwner.PlayerReplicationInfo.score<-9) Canvas.CurX-=6; if (PawnOwner.PlayerReplicationInfo.score<-90) Canvas.CurX-=6; if (PawnOwner.PlayerReplicationInfo.score<-900) Canvas.CurX-=6; if (PawnOwner.PlayerReplicationInfo.score<-9000) Canvas.CurX-=6; Canvas.DrawText(int(PawnOwner.PlayerReplicationInfo.score),False); if (realicons) canvas.drawcolor=oldcol; */ } simulated function DrawMainInventory(Canvas Canvas) { local inventory inv, items[5]; //0,1=next ; 2=selected ; 3,4=previous local int cnt, loops; local float XPos; if ( pawnOwner.Inventory==None||PawnOwner.SelectedItem==none) Return; items[2]=PawnOwner.SelectedItem; inv=items[2].Inventory; cnt=2; if (inv==none) inv=PawnOwner.Inventory; While (inv!=items[2]){ if (loops>1000) //infinite iterator! break; loops++; if (Inv.bActivatable){ if (cnt>0){ cnt--; Items[cnt]=inv; } else{ items[4]=items[3]; items[3]=inv; } } inv=inv.inventory; if (inv==none) inv=pawnowner.inventory; } if (items[1]==none){ items[0]=items[2]; items[2]=none; } else if (items[0]==none){ items[0]=items[1]; items[1]=items[2]; items[2]=none; } else if (items[3]==none){ inv=items[2]; items[2]=items[0]; items[0]=items[1]; items[1]=inv; } XPos=Canvas.ClipX; for (cnt=0;cnt<5;cnt++){ if (items[cnt]==none) break; XPos-=M64; DrawChargeIcon(Canvas,XPos,0,Items[cnt],(Items[cnt].bActive ||(Items[cnt]==TvTranslator&&bFlashTranslator&&TransFlashTime>=Level.TimeSeconds))); } InvRightClip=Xpos; } simulated function GetHit(){ //called always to ensure trace local vector Start, End; Start=PawnOwner.Location; Start.Z += PawnOwner.BaseEyeHeight; End=Start+2048*vector(PawnOwner.viewrotation); //seemed like not too long of a trace Hit=PlayerOwner.TraceShot(Start,End,End,Start); } //Special HUD config stuff: exec function GrowHUD() { bHideHUD=false; saveconfig(); } exec function ShrinkHUD() { bHideHUD=true; saveconfig(); } simulated function ChangeCrosshair(int d) { TvCrosshair = TvCrosshair + d; if ( TvCrosshair > class'ChallengeHUD'.default.CrossHairCount) TvCrosshair = 0; else if ( Crosshair < 0 ) TvCrosshair = class'ChallengeHUD'.default.CrossHairCount; } simulated function Texture LoadCrosshair(int c) { if (c==0) CrossHairTextures[c] = Texture(DynamicLoadObject("olextras.Main_00", class'Texture')); //onp crosshair. else CrossHairTextures[c] = Texture(DynamicLoadObject(class'ChallengeHUD'.default.CrossHairs[c-1], class'Texture')); return CrossHairTextures[c]; } //UT crosshair :) (code mostly challenge hud -> to have pickup effect) simulated function DrawCrossHair( canvas Canvas, int StartX, int StartY ) { local float PickDiff; local float XLength; local texture Cross; if (nohud||(motdfadeouttime>0&&tvsp(level.game)!=none&&level.game.class!=class'MonsterSmash')){ Canvas.Style=2; return; } if (tvCrosshair>class'challengeHUD'.default.CrosshairCount) tvCrosshair=0; PickDiff = Level.TimeSeconds - PickupTime; XLength = Scale * 77; if ( PickDiff < 0.4 ) { if ( PickDiff < 0.2 ) XLength *= (1 + 5 * PickDiff); else XLength *= (3 - 5 * PickDiff); } Canvas.bNoSmooth = False; Canvas.SetPos(0.5 * (Canvas.ClipX - XLength), 0.5 * (Canvas.ClipY - XLength)); //only center hand use. Canvas.Style = ERenderStyle.STY_Translucent; if (Hit==none||Hit==Level) //nothing Canvas.DrawColor = WhiteColor; else if (Hit.IsA('CreatureCarcass')){ //still draw for corpses if (Hit.IsA('olCreatureCarcass')){ //mutator sets this to correct thing. if (level.netmode==nm_client){ //use mesh.. some glitches occur Canvas.DrawColor = RedColor; switch GetItemName(string(Hit.mesh)){ Case "Merc": Case "nalit": Canvas.DrawColor = CyanColor; break; Case "NaliCow": Case "CrossNali": Case "Nali1": Canvas.DrawColor = GreenColor; break; } } else{ if (Carcass(Hit).rats==2) Canvas.DrawColor = GreenColor; else if (Carcass(Hit).rats==1) Canvas.DrawColor = CyanColor; else Canvas.DrawColor = RedColor; } } else{ //placed by map author if (Hit.IsA('MercCarcass')||Hit.IsA('HumanCarcass')) //considered combatent ally Canvas.DrawColor = CyanColor; else if (Hit.IsA('NaliCarcass')||Hit.IsA('CowCarcass')) //considered neutral Canvas.DrawColor = GreenColor; else //considered enemy carcass Canvas.DrawColor = RedColor; } } else if (Hit.IsA('UTHumanCarcass')) Canvas.DrawColor = CyanColor; else if ((Hit.IsA('projectile')&&!Hit.Isa('TranslocatorTarget'))||Hit.IsA('SludgeBarrel')||Hit.IsA('TarydiumBarrel')) //non-combatent explosives. Canvas.DrawColor = GoldColor; else if (!Hit.bIsPawn) Canvas.DrawColor = WhiteColor; else if (Hit.Isa('playerpawn')||(Hit.IsA('Follower')&&Follower(Hit).IsFriend())) //combatent allies Canvas.DrawColor = CyanColor; else if (Hit.IsA('Nali')||Hit.IsA('Cow')||Hit.IsA('Bird1')||Hit.IsA('NaliRabbit')) //neutrals Canvas.DrawColor = GreenColor; else //enemies Canvas.DrawColor = RedColor; Cross = CrossHairTextures[tvCrosshair]; if( Cross == None ) Cross = LoadCrosshair(tvCrosshair); if (cross == none) tvCrossHair=0; Canvas.DrawTile(Cross, XLength, XLength, 0, 0, 64, 64); Canvas.bNoSmooth = True; Canvas.Style = 2; Canvas.DrawColor = WhiteColor; } //render the speech texture and set all clips simulated function DrawSpeechArea(Canvas Canvas, float YL){ local float XStretch; // local float XScale, YScale; // Canvas.Style = ERenderStyle.STY_Translucent; // Canvas.DrawColor = default.WhiteColor * MessageFadeTime; Canvas.SetPos(ArmorOffset+facemsgset+M4,0); Xstretch=InvRightClip-Canvas.CurX-M4; // XScale=XStretch/256; // YScale=Yl/200; // Canvas.DrawRect(Texture'ChatArea',XStretch,256*YScale); // Canvas.SetOrigin(ArmorOffset+facemsgset+8*XScale,29*YScale); // Canvas.SetClip(XScale*239,Yl); Canvas.SetOrigin(ArmorOffset+facemsgset+M4,0); Canvas.SetClip(XStretch,256*Yl); // Canvas.Style = NormalStyle; } //for unreal style criticalevents, pickups, events, speech, and deathmessages (TvHUD changes position/font) simulated function drawunrealmessages(canvas canvas){ local float XL, YL, YPos, BaseY; local float OldClipY; local int I; local float PickupColor; local console Console; local inventory Inv; local string str; local bool bDrewSpeech; Console = PlayerOwner.Player.Console; if (Console==none) return; Canvas.Font = MyFonts.GetSmallFont(Canvas.ClipX); if ( !Console.Viewport.Actor.bShowMenu ) DrawTypingPrompt(Canvas, Console); if ( currentpickup.lifetime>level.timeseconds) //pickup message { Canvas.bCenter = true; if ( Level.bHighDetailMode ) Canvas.Style = ERenderStyle.STY_Translucent; else Canvas.Style = ERenderStyle.STY_Normal; PickupColor = 42.0 * (currentpickup.lifetime-level.timeseconds); Canvas.DrawColor.r = PickupColor; Canvas.DrawColor.g = PickupColor; Canvas.DrawColor.b = PickupColor; Canvas.StrLen(currentpickup.contents,Xl,Yl); if (bSSLRaised||playerowner.bShowScores) Canvas.SetPos(4, Canvas.ClipY - M128 - Yl); else Canvas.SetPos(4, Canvas.ClipY - M64 - Yl); Canvas.DrawText( currentpickup.contents, true ); Canvas.bCenter = false; Canvas.Style = NormalStyle; } // Display critical message: if (criticalmessage.lifetime>=level.timeseconds&&(tvtranslator==none||!tvtranslator.bActive)){ Canvas.bCenter = true; Canvas.Style = ERenderStyle.STY_Translucent; Canvas.DrawColor = default.TurqColor; Canvas.SetPos(0, Console.FrameY/2 - 32); canvas.DrawText( criticalmessage.contents, true ); Canvas.bCenter = false; Canvas.Style = NormalStyle; } /*if (MessageFadeTime>0){ OldClipY=Canvas.ClipY; Canvas.StrLen("T", XL, BaseY ); DrawSpeechArea(Canvas, 4.2*BaseY); }*/ for (i=3;i>-1;i--) //go in backwards. { if (shortmessages[i].contents!=""&&shortmessages[i].lifetime>=level.timeseconds) //thx to setup order this always works :P { if (!bdrewSpeech){ OldClipY=Canvas.ClipY; Canvas.StrLen("T", XL, BaseY ); DrawSpeechArea(Canvas, 4.2*BaseY); bDrewSpeech=true; } // MessageFadeTime=1.0; str=Draw1337erMessageHeader(Canvas, ShortMessages[I], int(YPos)); if (str==""){ if (ShortMessages[I].Type == 'DeathMessage') Canvas.DrawColor = RedColor; else Canvas.DrawColor= GrayColor; Canvas.SetPos(0, YPos); } Canvas.DrawText(shortmessages[I].contents, false ); Canvas.StrLen(str$shortmessages[i].contents, XL, YL ); YPos += 0.05 * BaseY + YL; if (YPos>3.17*BaseY) //message out of area! break; } } if (/*MessageFadeTime>0*/bDrewSpeech){ Canvas.SetClip(OldClipX,OldClipY); HudSetup(Canvas); } } simulated function float DrawNextMessagePart( Canvas Canvas, coerce string MString, float XOffset, int YPos ) { local float XL, YL; Canvas.SetPos(XOffset, YPos); Canvas.StrLen( MString, XL, YL ); XOffset += XL; Canvas.DrawText( MString, false ); return XOffset; } simulated function string Draw1337erMessageHeader(Canvas Canvas, somemessage ShortMessage, int YPos) { local float XOffset; local string strPlayerName; local byte Team; if ((ShortMessage.Type != 'Say') && (ShortMessage.Type != 'TeamSay')) return ""; if (ShortMessage.PRI != none) { Team = ShortMessage.PRI.Team; strPlayerName = ShortMessage.PRI.PlayerName; } else { Team = 255; strPlayerName = "h4xx0r"; } SetDrawColor(Canvas,Team,1); XOffset = DrawNextMessagePart(Canvas, strPlayerName$": ", XOffset, YPos); Canvas.SetPos(XOffset, YPos); if (ShortMessage.Type == 'TeamSay') { // Message text is team color for TeamSay SetDrawColor(Canvas,Team,2); } else { // ...otherwise green SetDrawColor(Canvas,255,2); } return strPlayerName$": "; } simulated function DrawTypingPrompt( canvas Canvas, console Console ) { local string TypingPrompt; local float XL, YL; if ( Console.bTyping ) { Canvas.Font = MyFonts.GetSmallFont(Canvas.ClipX); Canvas.DrawColor = default.GoldColor; TypingPrompt = "(> "$Console.TypedStr$"_"; Canvas.StrLen( TypingPrompt, XL, YL ); Canvas.SetPos( M4, Console.FrameY - Console.ConsoleLines - YL - 1 ); Canvas.DrawText( TypingPrompt, false ); } } function DrawTalkFace(Canvas Canvas, float YPos) { local float Xl, Yl; Canvas.Font = MyFonts.GetSmallFont(Canvas.ClipX); Canvas.StrLen("TEST", XL, YL); YPos = FMax(YL*4 + 8, 70); facemsgset=Ypos+7+faceareaoffset; Canvas.DrawColor = WhiteColor; Canvas.Style = NormalStyle; Canvas.SetPos(armoroffset, M4); Canvas.DrawTile(FaceTexture, Ypos-scale+faceareaoffset, YPos - Scale, -faceareaoffset, 0, FaceTexture.USize+faceareaoffset, FaceTexture.VSize); Canvas.Style = ERenderStyle.STY_Translucent; Canvas.DrawColor = FaceColor; Canvas.SetPos(armoroffset, 0); Canvas.DrawTile(texture'botpack.LadrStatic.Static_a00',Ypos + 7*scale+faceareaoffset, YPos + 7*scale, -faceareaoffset, 0, texture'botpack.LadrStatic.Static_a00'.USize+faceareaoffset, texture'botpack.LadrStatic.Static_a00'.VSize); Canvas.DrawColor = WhiteColor; } //debug (z buffer hack): exec function ZBuffer(bool newb){ NoZBufHack=!newb; } UNS!yC"w*8yS!l K KBS!l -|&{&_!l _!?,2l l K C6l  y)KNRNmKQ!D @O!D?,?Q!,B+D?,?O!JD?,,H!D?J,8?J?8?H!8C SNTNQ!TVNB= sXNa<ʆ cN+  "@ "@ "@"@* *"l%0J@@ $8< $%%$(;LVR?%%%%%%%%%% +;MWWWQ?!%%#;VWWO>+%%" 9NO=(6KM^^MK6%%%*<$ 8[``````````[: $%%# 2]``O11O``]j? #%%" K``AA`5"% %$U`T!& $% "% U`I PӾ%"%K`Iӳ%$% 1`TӘ%$% [`Yx%!% :`Aѱ %!%"[`ÝsM0`["%%`OEO`%% 8`1/`: %%H``K%"%R` `W%"$%[``^%%$%[```%%"%R``W%"%H``K%% :`//`: %%`OO`%% [`0A`:`[ %!% ӼA`: %!%fg`[ %$%T`1%$% әI`P%"%%I I`Y%" %$@T`U $% %"Zӡ`AA``K "%%# O]``M//M``]2 #%%$ :[``````````[: #<*%%%6MO``OM6(=NN9 "%%+>OWWV;#%% >QWWWM;+ %%%%%%%%%%?RVL;(%%%%<8$ @@CZNZ; \[NYN{:m @]Nf9A XE!b E!,E!Gw ,  olextras.Main_00  ,G,G pfNy8$ @\NjFLXpYou beat Operation: Na Pali for the first time onj  !\n\nYou have just won:\nj Jqj JqXpXb Jq&s _NEF$ E[.@+E&(6E$6E$6E$EX6E=,6E=,6E=, v// ============================================================ // olextras.TVSP: fade in and restart states.... // ============================================================ class TVSP expands singleplayer2; var (zonelight) vector ViewFlash, ViewFog; //following ripped from fadeviewtrigger and edited to reverse the effect.... var vector TargetFlash; var float FadeSeconds, timey; var vector OldViewFlash; var TvPlayer theplayer; var sound MP3; var ONPLevelInfo LInfo; //info for some options var zoneinfo fadezone; //in case player swaps zones :) var bool bGODModeAllowed; //is god mode allowed? //highly modified to use level actor :) function AddDefaultInventory(pawn PlayerPawn ){ local inventory inv; local int i; local byte PlayerHas[20]; local tvscorekeeper scoreholder; local bool bKilledSelected; if( PlayerPawn.IsA('Spectator')||bLoadingSave) return; scoreholder=tvscorekeeper(playerpawn.FindInventoryType(class'tvscorekeeper')); if (scoreholder == None ){ scoreholder = Spawn(class'tvscorekeeper',,, Location); scoreholder.bHeldItem = true; scoreholder.GiveTo(playerpawn); } tvPlayer(playerpawn).ScoreHolder=ScoreHolder; if (class!=class'TVSP') return; //uses level actor. if (LInfo.DefaultWeapon<2) super(GameInfo).adddefaultinventory(PlayerPawn); //add dpistol //translator/flight if (Linfo.InventoryToDestroy[0]==class'inventory'&&Linfo.NetOptions[20]<2){ for ( Inv=PlayerPawn.Inventory; Inv!=None; Inv=Inv.Inventory ) if (!inv.isa('scorekeeper')) Inv.Destroy(); return; } if (Linfo.InventoryToDestroy[0]==class'Weapon'&&Linfo.NetOptions[20]<2){ for ( Inv=PlayerPawn.Inventory; Inv!=None; Inv=Inv.Inventory ) if (inv.isa('Weapon')) Inv.Destroy(); } For (inv=playerpawn.inventory;inv!=none;inv=inv.inventory) //check and destroy needed. for (i=0;i<20;i++){ if (i>7&&Linfo.DefaultInventory[i]==none) break; else if (Linfo.defaultinventory[i]==inv.class){ PlayerHas[i]=1; if (inv.class==class'spenf'&&Linfo.bAkimboEnforcers) SpEnf(inv).hastwoenf=true; //post accept reads this :) } else if (i<8&&Linfo.InventoryToDestroy[i]==inv.class&&Linfo.NetOptions[i+20]<2){ if (PlayerPawn.SelectedItem==Inv) bKilledSelected=true; Inv.destroy(); //remove } } for (i=0;i<20;i++){ //add if (Linfo.DefaultInventory[i]==none) break; if (PlayerHas[i]==1||Linfo.NetOptions[i]>1) continue; if (classisChildOf(LInfo.defaultInventory[i],class'weapon')) GiveWeapon(class(LInfo.defaultInventory[i]),PlayerPawn); else GivePickup(class(LInfo.defaultInventory[i]),PlayerPawn); } if (bKilledSelected) PlayerPawn.NextItem(); } //gives a pickup to a pawn. function GivePickup(class pickupclass, pawn Playerpawn){ local pickup pickup; Pickup=Spawn(pickupclass); if (Pickup==none) return; Pickup.bhelditem=true; Pickup.GiveTo(PlayerPawn); if (Pickup.IsA('TvTranslator')||Playerpawn.selecteditem==none) PlayerPawn.selecteditem=Pickup; Pickup.PickupFunction(playerpawn); if (!PlayerPawn.IsA('playerpawn')) Pickup.Activate(); } function GiveWeapon(class weapclass, pawn playerpawn){ local weapon newweapon; newWeapon = Spawn(WeapClass,,,PlayerPawn.Location); if( newWeapon == None ) return; newWeapon.Instigator = PlayerPawn; newWeapon.BecomeItem(); PlayerPawn.AddInventory(newWeapon); if (newweapon.isa('spenf')&&LInfo.bAkimboEnforcers){ spenf(newweapon).hastwoenf=true; newweapon.travelpostaccept(); } newWeapon.BringUp(); newWeapon.GiveAmmo(PlayerPawn); newWeapon.SetSwitchPriority(PlayerPawn); newWeapon.WeaponSet(PlayerPawn); } //called by muty. function RegisterONPLevelInfo(actor newinfo){ Linfo=ONPLevelInfo(newinfo); Linfo.fadeintime/=2; brestartlevel=!Linfo.RespawnPlayer; if (Linfo.bcutscene||Linfo.bjet) //this designates the map as a intermission (i.e flyby) timey=0.5*Linfo.fadeintime; log ("Successfully bound level information",'ONP'); } //STORE FRIENDLIES! //(this will need to be redone somehow for co-op!) function SendPlayer( PlayerPawn aPlayer, string URL ){ local pawn p; local int i; //URL=URL$"?Difficulty="$difficulty; //hack!!!!!!!!!!!!! if (TvHUD(aPlayer.myhud)!=none) TVHUD(aPlayer.myhud).BlackOut=true; if (aPlayer.Isa('tvplayer')){ if (Linfo.bJet) aPlayer.health=tvplayer(aplayer).oldhealth; tvplayer(aPlayer).ScoreHolder.AccumTime+=tvplayer(aPlayer).MyTime; } //append to level times if (!Linfo.bCutScene){ for (i=0;i<36;i++) if (tvplayer(aPlayer).ScoreHolder.Times[i]<=0){ tvplayer(aPlayer).ScoreHolder.Times[i]=tvplayer(aPlayer).MyTime; break; } } if (!Linfo.FollowersCanLeave){ aPlayer.ClientTravel( URL, TRAVEL_Relative, true ); return; } i=0; for (p=level.pawnlist;p!=none;p=p.nextpawn){ if (i>7){ log ("WARNING: OUT OF FOLLOWER ARRAY SPACE",'ONP'); break; } if (P.IsA('Follower')&&Follower(p).DoTravel(tvplayer(aPlayer),i)){ if (p.class==class'followingmercenaryelite') //elite flag. tvPlayer(aPlayer).Friendlies[i]+=1; if (p.class==class'nalitrooper') //nali flags tvPlayer(aPlayer).Friendlies[i]+=2; if (p.class==class'rebelskaarj') //sk tvPlayer(aPlayer).Friendlies[i]+=3; if (p.class==class'rebelskaarjtrooper')//sktroop flags tvPlayer(aPlayer).Friendlies[i]+=4; if (p.class==class'scriptedmale')//male tvPlayer(aPlayer).Friendlies[i]+=5; if (p.class==class'scriptedfemale')//female tvPlayer(aPlayer).Friendlies[i]+=6; if (p.class==class'FollowingKrall')//krall tvPlayer(aPlayer).Friendlies[i]+=7; if (p.class==class'FollowingKrallElite')//1337 krall tvPlayer(aPlayer).Friendlies[i]+=8; i++; } } log (i@"followers being transported to next level.",'ONP'); aPlayer.ClientTravel( URL, TRAVEL_Relative, true ); } function bool LoadFriendlies(tvplayer p){ //This spawns the monsters again. local int i; local bool bSuccess; local Follower pa; local classPaCl; local navigationpoint pstart; for (i=0;i<8;i++){ //log ("TVSP: Friendlies incoming: "$p.Friendlies[i]); if (p.Friendlies[i]==0) //end of array break; //log ("TVSP: non-breaked Friendlies incoming: "$p.Friendlies[i]); switch (p.friendlies[i]%10){ case 0: PaCl=class'followingmercenary'; break; case 1: paCl=class'followingmercenaryelite'; break; case 2: paCl=class'nalitrooper'; break; case 3: paCl=class'rebelskaarj'; break; case 4: paCl=class'rebelskaarjtrooper'; break; case 5: paCl=class'scriptedmale'; break; case 6: paCl=class'scriptedfemale'; break; case 7: paCl=class'FollowingKrall'; break; case 8: paCl=class'FollowingKrallElite'; break; } if (paCl==class'rebelskaarjtrooper'){ //set up weapon default. p.friendlies[i]-=4; //easier to add :P p.friendlies[i]/=10; //so health convert works. switch(p.friendlies[i]%10){ case 0: class'rebelskaarjtrooper'.default.weapontype=class'sniperrifle'; break; case 1: class'rebelskaarjtrooper'.default.weapontype=class'NoammoDpistol'; break; case 2: class'rebelskaarjtrooper'.default.weapontype=class'SPenf'; break; case 3: class'rebelskaarjtrooper'.default.weapontype=class'ut_biorifle'; break; case 4: class'rebelskaarjtrooper'.default.weapontype=class'OSShockrifle'; break; case 5: class'rebelskaarjtrooper'.default.weapontype=class'TVpulsegun'; break; case 6: class'rebelskaarjtrooper'.default.weapontype=class'ripper'; break; case 7: class'rebelskaarjtrooper'.default.weapontype=class'minigun2'; break; case 8: class'rebelskaarjtrooper'.default.weapontype=class'ut_flakcannon'; break; case 9: class'rebelskaarjtrooper'.default.weapontype=class'TVEightball'; break; } } pstart=FindFriendlyStart(); if (pstart==none){ Log ("NOT ENOUGH PLAYERSTARTS TO SPAWN INCOMING FRIENDLY CREATURES!!!!!!!",'ONP'); return false; } pa=spawn(paCL,,'traveled',pstart.location,pstart.rotation); if (pa!=none){ bSuccess=true; if (pa.IsA('weaponholder')){ //weapon holder altering p.friendlies[i]/=10; switch(p.friendlies[i]%10){ case 0: WeaponHolder(pa).weapontype=class'sniperrifle'; break; case 1: WeaponHolder(pa).weapontype=class'NoammoDpistol'; break; case 2: WeaponHolder(pa).weapontype=class'SPenf'; break; case 3: WeaponHolder(pa).weapontype=class'ut_biorifle'; break; case 4: WeaponHolder(pa).weapontype=class'OSShockrifle'; break; case 5: WeaponHolder(pa).weapontype=class'TVpulsegun'; break; case 6: WeaponHolder(pa).weapontype=class'ripper'; break; case 7: WeaponHolder(pa).weapontype=class'minigun2'; break; case 8: WeaponHolder(pa).weapontype=class'ut_flakcannon'; break; case 9: WeaponHolder(pa).weapontype=class'TVEightball'; break; } } if (p.friendlies[i]/10>0) pa.health=p.friendlies[i]/10; //health :P if (pa.IsA('scriptedhuman')) scriptedhuman(pa).ParseSkinInfo(p.friendlynames[i]); else if (p.friendlynames[i]!="") pa.menuname=p.friendlynames[i]; //more options if (pa.menuname!=pa.default.menuname) pa.NameArticle=" "; pa.MyName=pa.menuname; // pa.groundspeed=p.FriendlySpeeds[i]; // pa.maxstepheight=p.FriendlyMaxStepHeights[i]; if (p.FriendlyDrawScales[i]>0) pa.drawscale=p.FriendlyDrawScales[i]; if (p.FriendlyFatness[i]>0) pa.fatness=p.FriendlyFatness[i]; log ("Follower"@pa.menuname$" ("$paCL$") spawned with"@pa.health@"health.",'ONP'); if (class==class'TvSP') //hack for monster mash pa.Setpa(p); //only in SP! else pa.OnlyAttackWhenControlled=true; } else Log("Failed to spawn"@pacl,'ONP'); } //log (i@"followers loaded into new level.",'ONP'); for (i=0;i<8;i++) //reset p.friendlies[i]=0; //set back skaarj default. class'rebelskaarjtrooper'.default.weapontype=class'NoammoDpistol'; return bSuccess; } //Find a suitable start for friendly creatures. This uses the co-op algorithm. function NavigationPoint FindFriendlyStart() { local PlayerStart Dest, Candidate[8], Best; local float Score[8], BestScore, NextDist; local pawn OtherPlayer; local int i, num; local Teleporter Tel; num = 0; //choose candidates foreach AllActors( class 'PlayerStart', Dest ) { if ( (Dest.bSinglePlayerStart || Dest.bCoopStart) && !Dest.Region.Zone.bWaterZone && (class!=class'TVSP'||Dest.bEnabled)) { if (num<4) Candidate[num] = Dest; else if (Rand(num) < 4) Candidate[Rand(4)] = Dest; num++; } } if (num>4) num = 4; else if (num == 0) return None; //assess candidates for (i=0;i BestScore) { BestScore = Score[i]; Best = Candidate[i]; } } return Best; } event PostLogin (playerpawn newplayer) { local actor A; Pause=class'SinglePlayer2'.default.Pause; //hack-fix Super.PostLogin(newplayer); if (!bool(newplayer.ConsoleCommand("get ini:Engine.Engine.GameRenderDevice VolumetricLighting"))&&!(class'TVFogWarning'.default.bnofog)){ newplayer.setpause(true); //fog alerts :P WindowConsole(newplayer.Player.Console).bQuickKeyEnable = true; //ensures it will then close..... WindowConsole(newplayer.Player.Console).LaunchUWindow(); //open window..... if (!WindowConsole(newPlayer.player.console).bcreatedroot) WindowConsole(newPlayer.player.console).CreateRootWindow(none); WindowConsole(newplayer.Player.Console).Root.CreateWindow(class'TVFogWarning', 100, 100, 100, 100); } if (!bool(newplayer.ConsoleCommand("get ini:Engine.Engine.ViewportManager Decals"))&&!(class'TVDecalsWarning'.default.bnofog)){ newplayer.setpause(true); //fog alerts :P WindowConsole(newplayer.Player.Console).bQuickKeyEnable = true; //ensures it will then close..... WindowConsole(newplayer.Player.Console).LaunchUWindow(); //open window..... if (!WindowConsole(newPlayer.player.console).bcreatedroot) WindowConsole(newPlayer.player.console).CreateRootWindow(none); WindowConsole(newplayer.Player.Console).Root.CreateWindow(class'TVDecalsWarning', 100, 100, 100, 100); } if (bool(newplayer.ConsoleCommand("get ini:Engine.Engine.ViewportManager NoDynamicLights"))&&!(class'TVDynLightWarning'.default.bnofog)){ newplayer.setpause(true); //fog alerts :P WindowConsole(newplayer.Player.Console).bQuickKeyEnable = true; //ensures it will then close..... WindowConsole(newplayer.Player.Console).LaunchUWindow(); //open window..... if (!WindowConsole(newPlayer.player.console).bcreatedroot) WindowConsole(newPlayer.player.console).CreateRootWindow(none); WindowConsole(newplayer.Player.Console).Root.CreateWindow(class'TVDynLightWarning', 100, 100, 100, 100); } //USE FADE IN TIME WITH VORTEX MODE! NOT FOR CO-OP! if (NewPlayer.PlayerRestartState == 'PlayerWaking'&& !bloadingsave) NewPlayer.SetTimer(fmax(2*Linfo.FadeInTime-2.5,1.5*Linfo.FadeInTime),false); if (Linfo.Event!='' && !bLoadingSave) ForEach AllActors(class'Actor',A,Linfo.Event) A.Trigger(Linfo,newplayer); if (/*bLoadingSave&&*/newPlayer.IsInState('PlayerShip')) //hack NewPlayer.BeginState(); } event Tick(float DeltaTime) { local float X, Y, Z; local bool bXDone, bYDone, bZDone; timey+=deltatime; if (timey>Linfo.FadeInTime){ if (!linfo.bcutscene&&theplayer.Region.Zone.ViewFlash.X == TargetFlash.X) theplayer.PlayerMod=0; //unfreeze bXDone = False; bYDone = False; bZDone = False; X = fadezone.Viewflash.X; Y = fadezone.ViewFlash.Y; Z = fadezone.ViewFlash.Z; X = X - (TargetFlash.X - OldViewFlash.X)*(DeltaTime / Linfo.FadeInTime); Y = Y - (TargetFlash.Y - OldViewFlash.Y)*(DeltaTime / Linfo.FadeInTime); Z = Z - (TargetFlash.Z - OldViewFlash.Z)*(DeltaTime / Linfo.FadeInTime); if( X > OldViewFlash.X ) { X = OldViewFlash.X; bXDone = True; } if( Y > OldViewFlash.Y ) { Y = OldViewFlash.Y; bYDone = True; } if( Z > OldViewFlash.Z ) { Z = OldViewFlash.Z; bZDone = True; } fadezone.ViewFlash.X = X; fadezone.ViewFlash.Y = Y; fadezone.ViewFlash.Z = Z; if(bXDone && bYDone && bZDone) disable('tick'); } } function CheckPlayerStarts(){ //force singleplayer start... local NavigationPoint Np; local PlayerStart Last; for (NP = Level.NavigationPointList; NP != None; NP = NP.NextNavigationPoint) if (NP.IsA('playerStart')){ Last=PlayerStart(Np); if (Last.bSinglePlayerStart) return; } Last.bSinglePlayerStart=true; } //new playerpawn: event playerpawn Login ( string Portal, string Options, out string Error, class SpawnClass ) { local PlayerPawn NewPlayer; local codeconsole cc; if (Linfo==none){ //check for info presence Log("No ONPLevelInfo placed in level! Using default options.",'ONP'); spawn(class'ONPLevelInfo'); //muty will add to ginfo } CheckPlayerStarts(); Newplayer=super.login(portal,options,error,class'TvPlayer'); tvplayer(NewPlayer).Linfo=Linfo; if (Linfo.bjet) //SHIP Newplayer.PlayerReStartState='PlayerShip'; theplayer = tvplayer(newplayer); //SP holder if (MP3!=none) //MP3 support tvplayer(NewPlayer).ClientSetMp3(MP3,soundvolume,soundpitch); //fade stuff moved here: if (!bloadingsave){ //save h4ck tvplayer(newplayer).playermod=1; //freeze player on start! OldViewFlash = Region.Zone.ViewFlash; //back up // newplayer.GroundSpeed = 0.01; // newplayer.JumpZ = 0.01; fadezone=newplayer.region.zone; fadezone.ViewFlash.X = TargetFlash.X; //make dark fadezone.ViewFlash.Y =TargetFlash.Y; fadezone.ViewFlash.Z = TargetFlash.Z; //only when not loading save level options if (NewPlayer.Health>Linfo.maxhealth&&Linfo.Maxhealth!=0) NewPlayer.Health = Linfo.MaxHealth; if (LInfo.bVrikersTypeStart){ NewPlayer.PlayerRestartState = 'PlayerWaking'; NewPlayer.ViewRotation.Pitch = 16384; } else foreach AllActors(class'codeconsole',cc) cc.CheckTouching(); } return newplayer; } function prebeginplay(){ //designed for MP3's MP3=level.ambientsound; level.ambientsound=none; //not needed. SoundVolume=level.soundvolume; SoundPitch=level.SoundPitch; super.prebeginplay(); bnomonsters=false; } //oops with OSA function bool RestartPlayer(pawn aPlayer) { return super(gameinfo).restartplayer(aPlayer); } //moved scoring to scorekill! function Killed(pawn killer, pawn Other, name damageType) { local tvscorekeeper scoreholder; local int NextTaunt, i; local bool bAutoTaunt; super(GameInfo).Killed(killer, Other, damageType); } function ScoreKill(pawn Killer, pawn Other) //does not affect PRI stuff. { local TvScoreKeeper ScoreHolder; local bool bSuicide; scoreholder = theplayer.ScoreHolder; if (Other!=none&&Other.bIsPlayer&&!bRestartLevel){ //for jet blow ups...... scoreholder.AddPoints(-198); return; } if (Other==none||Other.bIsPlayer||((Killer==none||Killer==Other)&&(Other.Enemy==none||(!Other.Enemy.bIsPlayer&&!Other.Enemy.IsA('follower'))))) return; //ignore (mapper forced kill/other enemy kill/whatever. if (Killer==none){ Killer=Other.Enemy; //assume enemy killed other somehow (knocking into lava/whatever) bSuicide=true; } scoreholder.scoreit(Other); //count as thing dead. if ((theplayer.ReducedDamageType=='All'&&!bGODModeAllowed)||theplayer.IsInState('cheatflying')) Scoreholder.AddPoints(-200); //cheater! if ((Other.IsA('follower')&&Follower(Other).IsFriend())||Other.IsA('nalirabbit')||Other.IsA('cow')||Other.IsA('nali')){ scoreholder.KilledFollowers++; if (Killer.bisplayer) //stupid player killed him scoreholder.AddPoints(-90); else if (!Killer.IsA('Follower')||!Follower(Killer).IsFriend()){ //other enemy killed him: player failed to save if (bSuicide) scoreholder.AddPoints(-10); //not much of a lost. else scoreholder.AddPoints(-20); //not much of a lost. } return; //no points lost if killed in friendly fire by other followers. } if (Killer.IsA('follower')&&Follower(Killer).IsFriend()){ ScoreHolder.KilledByFollowers++; if (Other.Isa('scriptedpawn')&&ScriptedPawn(Other).bIsBoss) ScoreHolder.AddPoints(75); else if (bSuicide) ScoreHolder.AddPoints(25); else ScoreHolder.AddPoints(50); //5 points for follower killing d00d return; } ScoreHolder.killtotal++; //normal player killing enemies. if (Other.Isa('scriptedpawn')&&ScriptedPawn(Other).bIsBoss) ScoreHolder.AddPoints(150); else if (bSuicide) //knocked off ledge... ScoreHolder.AddPoints(50); else ScoreHolder.AddPoints(100); } function ScoreDamage(int Damage, Pawn Victim, Pawn Damager){ local TvScoreKeeper ScoreHolder; local bool bSuicide; //suiciding local byte bTemp; local int RealDamage; if (theplayer.Weapon==none) bTemp=12; else if (theplayer.Weapon.IsA('Translocator')) //translocator cannot instigate damage. set this to "other" (rocket fired?) bTemp=11; else if (theplayer.Weapon.IsA('SuperShockRifle')) bTemp=10; else bTemp=theplayer.Weapon.InventoryGroup%10; scoreholder = theplayer.ScoreHolder; if ((theplayer.ReducedDamageType=='All'&&!bGODModeAllowed)||theplayer.IsInState('cheatflying')){ //cheat punishing Damage=max(damage,1); Scoreholder.AddPoints(-13*Damage); //cheater! } if (Victim.bIsPlayer&&(Damager==none||Damager==Victim)){ //self-instigated. player sux ScoreHolder.DamageTaken+=min(Damage,600); ScoreHolder.AddPoints(-0.5*min(Damage,600)); return; } if (Victim==none||((Damager==none||Damager==Victim)&&(Victim.Enemy==none||(!Victim.Enemy.bIsPlayer&&!Victim.Enemy.IsA('follower'))))) return; //ignore (mapper forced kill/other enemy kill/whatever. RealDamage=Victim.health-max(Victim.Health-damage,0); //limits damage to total health (so weapons like flak don't record extra damage) if (Damager==none){ Damager=Victim.Enemy; //assume enemy killed other somehow :p bSuicide=true; bTemp=11; //"other" damage } if (bTemp==10) Damage=RealDamage; //or else too much points from SSL... if (Victim.bIsPlayer){ ScoreHolder.DamageTaken+=min(Damage,600); if (!Damager.IsA('follower')||!Follower(Damager).IsFriend()) //followers suck and like to hit player ScoreHolder.AddPoints(-0.25*min(Damage,600)); return; } if ((Victim.IsA('follower')&&Follower(Victim).IsFriend())||Victim.IsA('nalirabbit')||Victim.IsA('cow')||Victim.IsA('nali')){ if (Damager.bIsPlayer){ //friendly fire by player ScoreHolder.FriendlyDamage+=RealDamage; if (bTemp<12) ScoreHolder.Weapons[btemp].DamageInstigated+=RealDamage; ScoreHolder.AddPoints(-0.25*damage); } return; //other-wise don't care } if (!Damager.bIsPlayer) //don't count follower instigated. return; ScoreHolder.DamageInstigated+=RealDamage; if (bTemp<12) ScoreHolder.Weapons[btemp].DamageInstigated+=RealDamage; if (bSuicide) ScoreHolder.AddPoints(0.15*damage); else ScoreHolder.AddPoints(0.5*damage); } //David didn't like UT's function PlayTeleportEffect( actor Incoming, bool bOut, bool bSound) { Super(UnrealGameInfo).PlayTeleportEffect(Incoming,bOut,bSound); } //New in ONP 1.3: Reduced follower damage: function int ReduceDamage(int Damage, name DamageType, pawn injured, pawn instigatedBy) { if (injured!=none && InstigatedBy!=none){ if (injured.bIsPlayer && InstigatedBy.IsA('follower') && Follower(InstigatedBy).IsFriend()) Damage*=fmin(difficulty*difficulty/9.0,1.0); } return Super.ReduceDamage(Damage,DamageType,injured,instigatedby); } O<+  "@ "@ "@"@* *".0wJ@@0$%%$ )=L>'%%%%%%%%%%%"8MWWK2!%%#4GVWWL:%%" HWWP=&6KM^^MK6%%CPC- 8[``````````[: $%%172]``O11O``]2 #%%" K``AA``K "% %$U`TT`| $% "% U`I L5%"%K`IZӵ%$% 1`T r%$% [`l%!% :`AӖ %!%"[`0"%%`O&Ӯ%% 8`1PdTTTTqw %%H``K%"%R` `W%"$%[``^%%$%[```%%"%R``W%"%H``K%% wqTTTTTM/`: %%IO`%% ,ӡ`[ %!% #A`: %!%!s`[ %$%Ӽ T`1%$%NI`P%"%bӸI I`Y%" %$j`TT`U $% %" K``AA``K "%%# 2]``M//M``]271%%$ :[``````````[: .CPC%%6MO``OM6&=PWWG "%%:LWWVH4#%% 2LWWM8"%%%%%%%%%%%'>M=* %%%%0@@U<+  "@ "@ "@"@* *"Uf0ɛJ@@$%%$%%%%%%%%%%%%#%%!!%%# "%%%%" %%6KM^^MK6%%%$ 8[``````````[: $% %# 2]``O11O``]2 #%4HC0 K``AA``K "% GWP7q`TT`U $% :VWCHӸI I`U %")MWP-CI`K%>WW>ӴU`1%$0LWL%$Y`[ %?L; A`: %!&4Co`["%%O`%% vrTTTTgE/`: %%H``K%"%R` `W%"$%[`ff`^%%$%[`ff``%%"%R``W%"%H``K%% :`/#PTTTTTqw %%`O\ӓ%% [`2&!% :`A2Ӎ;L?% [`%LWL0$%1`Tx=WW>%O`Ia-PWM)"%Y`I LOCWV: %$U`TT`s7PWG %" K``AA``K 0CH4%# 2]``M//M``]2 #% %$ :[``````````[: $%%%6MO``OM6%% "%%%%" #%%  %%#%%%%%%%%%%%%%%%%@@R// ============================================================ // olextras.TVCreditsCW: Credits: by UsAaR33 (like everything else in the pack ;)) // so many level designers that we have two columns of them... // DEPRECATED // ============================================================ class TVCreditsCW expands UTCreditsCW; N hN`NE 7 FiNgN]6̅ ~jN@5 p!rNI4l QS/-L' lNU-L( mN7 |* ^Q| F Q]@!.. %Q333? &Q? ,Qff? ,Q?Q-M 'Q333?  nNZ.47B'-Z.|*Qa H<+  "@ "@ "@"@* *"0J@@ 97/& $9PWTPKC9%%%%%>PWWWWWI!#%%!"-9>EKPG*# "%%A %1%%" %%Qg^MK6%%%$>``````[: $%%# xӘ1O``]2 #%%" }gA``K "% %$U`r=T`U $% "% U`I  I`U %"%K`II`K%$% 1`TәU`1%$% [`wo`[ %!% :`AA`: %!%"[``["%%`OO`%% 8`1/`: %%H``K%"%R` `W%"$%[`33`^%%$%[`33``%%"%R``W%"%H``K%% :`//`: %%`OO`%% [``[ %!% :`AA`: %!% [`6`[ %$%1`TYT`1%$%O`II`P%"%Y`I Aӡ I`Y%" %$U`TdӾm`U $% %" K``A} "%%# 2]``M/ӰR #%%$ :[``````ȍ($%%%6MO`nТU%% "%%0% #`%%" #*GPKE>9+" %%#!IWWWWWP>%%%%%9CKPTWP9% '079 @@oNgF?>gg| Eg G#xNkNB3M tNqN_E=_rQ*4 Q-\#-L { m-L { -b (-O( -b -O-b Q b_Q `_7-m :QT%.Game Over-m 'a/!Z.T:QT&.p@!(You:SQE  Computer:SQG )  uN^B ` B ^@-,,^,(-b '@@^,&-O' M#mOvND2 ~N+  "@ "@ "@"@* *"0"J@@$%%$%%%%%%%%%%%%#%%!!%%# "%%*M%%" %%0eӻK6%%%$bӒ```[: $%%# 2]!1O``]2 #%%" K``FӊA``K "% %$U`T:T`U $% "% U`I 6Ӽ I`U %"%K`I\lI`K%$% 1`TU`1%$% [`l`[ %!% :`AA`: %!,86 [``["%$IPE`OO`%)RWB 8`1/`: %.TW>H``K2) 3VW9R` `W-KJ7 7WW5[`&&`^0UW::WU0[`&&``5WW7 7JK-R``W9WV3 *2H``K>WT.% :`//`: BWR)%`OO`DPI$% [``[ 58-!% :`AA`: %!% [`T`[ %$%1`TY=T`1%$%O`I.I`P%"%Y`I Ӽ I`Y%" %$U`TdӰT`U $% %" K``AӝD``K "%%# 2]``M/3ө]2 #%%$ :[```P$%%%6MǬX %% "%%g=%%" #%%  %%#%%%%%%%%%%%%%%%%@@E:JDRIFF,WAVEfmt "V"Vfact,data,»ĽžżȾʿƾǿ¿Ԣκ׹ع⎃݋Ɏўݵ盛ΣӨǾĤ®ǒʨŽèڿ¿ٟր~ڍ\oaݹͳΓsiX{wmxjwۛek߂^ןPIr@N·¼ొ~sbZVko`^n£p\LWΜsmisJee:Pg˼Գ;IrŵoV`A6%   ;akɿ¾ٽī~mN $?HWkZnУx2 ClvI-GnnVC:U[9!$2?TxȈaL9C.0:_w^," 9Xqҳwlo̺BJeB[fds\  3߭ohurPI|CtѩO+RlDP@  2@4Ce{qV  )֕ʻH 8*&9jƼ|W=2:VĢw\MZtƵpSLV`ђ[ KM8!,fnW+  G۲w꿒tF   Ch|msZC>4<3 ?mѳtxzn`H/$"0@_k"cPAױkVYI/Aɤ\M縦xhwud4 ,Tqj?  )Ɵ}\Zԭ|G  $%@i෣øuN?CML=),Gc}l[[jj)   9LWWN7*NuƭiINlʍP  $EYh\TKSdmO) "Jxҟ{^A:@Uhkbclp[C*1G\huø`@$XЮN nI3f|vidzȱu{nNXoA( )402?MYbu従pZ[ihR=>SbSFOsZ#:quQ%QǺkQLlcSQhwmVA-,58FNPX`qrdd{|givyh 46 IoWrrDMaFڃ6I]~ԭ߇lk   )WA  @쿭ֶ`gvA3adgxU/ -Wwfz޾}eY^kx˹bcnf1 +h~V+5~TOc_JQpˮҊC1d΃N34( & #*0Wșvuu^MHHID) )roJ".=*)LǥrbZ`wv{|t]F2!*768C_}Y   &_aB57p|;^M  -%LË\ 7/45d`5&&,!MxܵH- <]}wP9/7DLTXcwȽ~cSQg}{x_E   "Px6]9(mgDkdzafa@ ,^aLFKN[_du_&  &;:E[ٻb<%)6MR7 Jnx{tn|nfWL@>BMp~xʯvl^]kڨɷg[TJ0  JpƌRCrwⴞZK" Ee( lڐ?+NUD(0Mla8 +tλwcMLSeytJ Cc`? L^Ngʷ][|ssAJָ֦ߺ\G-5=9!  #$NI2!Am|e]K_s{_QQ^e`N+ '024,''Ep}j[`ww{|s\I=67DY_UGZ鹰ǯu\TOK*$,3)EMM?/J[pWLHOYWel~yi\UA "OelZ<%._ѶgPPf~ukku|kA+.CR^]K:=dɩx\2-DHC2/%"$5Wb[Q\kugRE.,>IIQlsifhlsupgbeeefkqgUB;=;;@Pbkmnqqvൣomuypiw{~`PNRUKTSPA4LLICQkrbRHO_zn^M<8?P`juŷv{yzoaTY[koysp}k\J2*16;596DKXQRRU`Y[C7!9?QJK>;G_u||rtniXWY_eixzskoqslhfhoquoj_]jڽzruolnu{tmejchyr]JFG<- "%'+9;-#"0>B683>48CPwsppgH.#0BHICIdz|eXOYerx{og_WKKQgysosʹtogb]esyxphbgoxtcWROOORURULOLNJ8/$15;<=LTYQQX[TDBBKYn~yusqr{~pg[Y\goqi^TQS\l}}}mWNKUahpp~~|z||rilzqcXVVRRXdhilpwuocZQIEJZlwul_XX\elqmaQ@4-/.68;=80%L\esyolv|rleZHA>FJNQXenzypd]Zcjjdbenrpqvvuvxxvw{~wttvx}zsklmnhegksxvbSPSZhx~uofaXTROLGGMSRC3$!3KWWSVdu{x{~xpigjostpkebgsxsw}|ysqx~rjea_fq~{skhp~wmloqhXF7/+-5CQZYMB=GS`hq}}tu~}wnjo|zwupllw}}{qd^YRJFN^sͿ|i^^mzqhnvg\OHN\ly{tneR@;>>8:GWadeklhdgmnknw}{~~wvwzz{~{wtuz}oaVRYev|rnprrswyuolnruzyvz~~|wsnjvzgTOTamyiYGCTm}{tjZLISblsw{vl_WRMKKONIECEEGM[hosw||xuy}tkinstwyxrmnu|}}~~~~}}}}yxz}~|~|wpoqrpproeVG9/*5Mk}ynoxm``enzxxzxwwvm`Y[__^cjqu{zwuvz|wsnmpv{}~|tkcZROT\acfjoopuzzrmki_RHB;0,6I[hy{wpov}}wrplgflx~pd\VU]jt|zsjfehkpx|~|||}}zvofZK>9>CJMUbq}xw}~yvy|}|}}wx~xrv||}zmgbVHBEHEDN[a`bmz~y{}wmilolhkqrkdba^[^hswwupdTGCDB>=AGMVg{|wsnlouuk_XWVX^gmjdcfihggea\_kw}{wrmgeiqvsmkov~~xspjaZWVQG=;>GTf{|xw{~qjjox{rh^[`lvtgcjuvlhjpzzrlgghmrx|zvqoqvy{ztkecfkqxvle`\^eorstz|yxww{yqi^UOLGC@BGIOXbfdccb\WX^eipz}wqopnjgfgfdekrv{zvtqqty{{xtnidbbdeimpsuz~|xvvuvvwwtqkgbbcfkpvz~yvuux{~|yurqqsyxnd\X]luqu{}~}|yqiimpprx{zwzznkpvx|~zzvnkljfedeb]VPH?=BP`q~~~}}{zyz}wpkjlnnljgfgikkf^UQT]jy~~~zwwvtqlhdachntupjc`cmx|vqqtx{|zvpklqvxtmga\^djoryxsrux{}}|{zwtpmieccc`\XVV[dr{zz|zwvtsuy{ytrplhglqwztokkt}vqquz}{vsquy{}}zrjdbcc`\WOGA>BLZk|{vrptxogfikjkkkhefhjjigd`_cmy}}|xvsrolihfc__`bejmoopuz~~|xvsojilpsvxunbYW[dr}zsrrux|}vpljkrz|umf`]]]]_afks{}uomnu||uonnrvxyywuspnnpu{~ytsrsrrrsrpqsvx{}~}{yvtrru{zutrokf^RD:43:EVfuzspppomkhedhpw{{zywroljgdabgo{|wspnpqplgfeffinrw|~{xvtrsy~~{xwx{ztnllorvzzwvyzutvyyyz{{{{{zyz}yusuy{}~|zzz{||ywxz|}}}|zyx{zuporx{vstx~}~~~}zxx|{snqx~wssvz||ytoorvyzwrmhfefeegmw|zy{||zz|}unlotxzzxwutvx{{ywvvwy{zwvw{zwwz|~~|wrmlmoqqnjfdflt|{upmmoppoonmnortwz}{wtqooqtutqlhgjpw}zussuwyxvrprw}~{}~yqmnqw|~ytrsttsrrtvz~|{xtpopu|{xtngb^\\akx~{}yqmmqw~~{yxz~|wspoqv{}zww{|uojhjnty~~}~~~~}~ynd]\bq{xxz{{xustw}zxzysqsx|{|~xqkhhlt}wrnnpuy{yupllpx~xtru{|uqqwwrprvz|}|{wustw}~{wuttuwvrmhfhoy~|{ywvvurolhdbbcfnx}||}{zwtromlmptx{|zvroot|}xttvxwsmfacm|wqqu|~|zz}{yxz|}zwvx{|upmnt{~~|ywx|}||~~|xrommorx|yy{~~|zvroouyttvz~vplkms|{xy|wpjfdegjnrw{~zwusqpquy|}~}{{{{|||}}|{{|~}{{|~~}zvsrsw||xttw~}siefmw{z{}{urrtx}|{{|~}wpkggkqy~zwsonpv}~zxuuvwyz{|}}}|yvtstvy|~|vqpty~{{||z|~{xx{}z{~zuuy~}}}{{|~}~|}}}~}}~~~{z{yrlkntz~~}~Ž}zxwwxz}}|z{~~~~~~~~~~~~~~~~~~}}}}}}|}~~}}}}}}}}}~~~}||}}}}}}}}||||{{{{|{{|||||||||{{||||||{{zzz{{{{|||{zzzzzzz{{zzzzzzzz{{zzzzz{zzzzzzzzzyyyyz{{zzzzzzzzz{{{z{zzzzzzzzyyxyyyyzyyyxyyyzzyyyyyyyyyyyxxxyyxxxxxxxyyyyzzyyxxxxxxxxwxxxxxxwxxxwvvwxxxwwwwwwxwxwwwwvvwwwwvvvvuvvvwwwwwwvvvvvvvwwvvvvvvvvvvvvvvvvvutuvwwwwvvvvvwwvvvvvvvvwvvuuvvvvvvvvvuuuvvvuttuuuuuvwwvuvuuvvwwwvvvuvvwwvuuuuvvvvuttttuvvvvuuuuuvwwvvuuuuuvuuuuttuuuuvvuuuuvvuvvuutuuvvvuuutuuvvvvvutttttttttttttuuuuuuuutttuuttttuuuuuuuttttttttsssststtttttttuuuutttuuuuvuuuuuutuuttttuuuuuuttttuuuttttuuuvvvuuutuuuuttssrstttttttttuwN[gh3 B[}*w),[,(-b (@@[,&-O( \<+  "@ "@ "@"@* *" 0J@@$%%$%%%%%%%%%%%%#%%!!%%# "%%I*%%" %%6Ne, %%%$ 8[```P$%%# 2]``O1/ӣ]2 #%%" K``AӡD``K "% %$U`TMӼT`U $% "% U`I & I`U %"%K`III`K%$% 1`T.oU`1%$% [`s`[ %!% :`AA`: %!%"[``[ 68,%`OO`EPI$% 8`1/`: BWR) )2H``K>WT. 7JK-R` `W9WV3:WU0[``^5WW77WW5[```0UW:3VW9R``W-KJ7 .TW>H``K2* )RWB :`//`: %$IPC`OO`%.85 [``[ %!% :`AA`: %!% [`d`[ %$%1`TMET`1%$%O`I=ӎI`P%"%Y`I # I`Y%" %$U`TPT`U $% %" K``FӖA``K "%%# 2_$/M``]2 #%%$_Ӑ```[: $%%%$[ӴM6%% "%%Al%%" #%%  %%#%%%%%%%%%%%%%%%%@@}N+  "@ "@ "@"@* "0(K@@$%%$%%%%%%%%%%%%#%%!!%%# "%%%%" %%ӽ%%%$ 8[}y[: $%%# 2]``OӒO``]2 #%%" K``A#A``K "% %$U`TTT`U $% "% U`I ө I`U %"%K`Ig.I`K%$% 1`TU`1%$% [`E`[ %!% :`AA`: %!%"[``["%%`OO`%6@E;8`1/`:;E@66WW9H``K9WW66WW7R` `W7WW66WW6[``^6WW66WW6[```6WW66WW7R``W7WW66WW9H``K9WW66@E;:`//`:;E@6%`OO`%% [``[ %!% :`AA`: %!% [`E`[ %$%1`TT`1%$%O`Ig.I`P%"%Y`I ө I`Y%" %$U`TTT`U $% %" K``A#A``K "%%# 2]``MӑM``]2 #%%$ :[}y[: $%%%Ǹ%% "%%%%" #%%  %%#%%%%%%%%%%%%%%%%@@EzKdRIFFjWAVEfmt "V"Vdatawj~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}|||}}}|||||||}}}}|||}}}}}}}}}}}~~~~~~~~~~~~~~~~~~}{|xyxv~||z|~~~|}|z}~~}~~~}}~~}||||}~}}~~}xwy~~~~~{|zwwxyxsokfb[ND?Ic|z[A;Lgyzrmpw}}xux}}umd\XX^hqwxrkebelu{~|{yxxwvrmhdbbejouyzyvtuwz}~|zyxwvvuuvwwvtqnklrw~|y||}zxuusmid`bcb\K:29Us}gVTbsyz{{wuvtme]ZZ[^dlttmaZ[cnw}}wuvwvrmigghjlmligdehnv~{zz{{yvronnnooomllmqw}}zyxwwutrppprtvxxyz|}}zyxvsrnkjhhhhhffgjouy|}}{zyy|~~{uk`URVfyuheipstvvwupry|{~|}yqjfceiqy}|wsruy}|zz}~|{|~}wpjhhkqv{}|||~~|}}|zyyy|~}yvsrsuy|~|zwwxy|~{xvsolihilptuurqpruwxwwwx|~{wsniaSIFL^mqkbbnxru}}zw|~vppqssty~~yogceggffjpuz}vnighknpqstvxz|~~~|z{}}zxxz}~}zywvvuuuuuvx||ywusstuwwwx{}zyxz{zwsliiimswz||}~xusssurmf[PGDFQ]b`VQYmshehjgc`bffecgox}|wsqt{{uvz~~yrnklortsokjkmoqv~|zyz{{wpjhjnruvwz|~{wtqponqsv{{~~zxvsrqqqrsuvvwwxwwwz}|wtohaXL@88DVbc[TZnxlhihb[VX\_]\`iv~yvx~{{{wnd][_elooonqstttuy~}}~zwsqqswwupllpuwvtqqsvz}}zyxwvuvwwuronlntx{yxvvspljijnquwyyyyy|~~~{upmljf_VLFDGPVZYX[gv}yvtng`\ZYXUV[eovxy{wpkkkkheccfimorx||wrmjiklnooqtx}~zvsqponmmkmps{{wurpnlllmmnopqsttttvy|}}|{ytne[OHDGPVVQLP`uukdbba\UTX`hkkms~{{{xslfefgfdachntxz|zwvtspliijkmoqtx|~~}{zxwwuuttuwyz|~}zxwusqonljiihhiiiiknquwy{{|}}~}zvog^UMLS\a\PIQf}yz~z|ypljigc`adec`ahs}~~|z{yspooonlkihgimsx}}{z{|~{yxxxxxvurpqtx|~~~}zywutsssttrqppqsuwwvvuvxyyywvtspmg_XTW^ff_UQ[m~xw{~slmrwvrkfegjmprtw|}|~}{z{|}|{zyzzxuqopuy{{yy|~}{{}~}}~~}|{zwusstvwwvvux{}~}{yvqi`[]dlmdVPXl{{y}}ut{zojmrutpoqvz||}{}}~}ywxz}}yvtv{~}{yz|~~}|{{{{{zyxxyz{zywuuvwxxvuspmga_biqpfZT\oytz}z{{rqy{qlnrtrolkmnnopsx}~}||||{ywwwxyywspnpty{yvsuz}zz}{z{~~~~~}}~{zz{{ywutuuvwwxxxwwvwwwvuspib\]dmrl^TUdy}uv}y|zsu~wux|}{vsssrqppruw{~~{wwz~|wuw}}zwvvwxyyyxxwwwwwwwvqleaelrtl`Z_n~{w|~yz}|}{{zzxwwxyz|}}z{~~~~}|{{|{{yyywrjcdjswob\aq~ysw{y|{w{~~|z~}wx}|~}{z|~~ywz{z}~}}~~~}|~~~~~~~}{zz{}~}|{|~}wk`_hv}q^RWjyxngkv}~}~}y~}xrqxskr}wz}{z{~zwx}{ww~yx~{xxxyyxurqqstutrrtw|~}yvw}yuv{|xutuwz{{ywvx{~}|z|~~zxy|~~{vtux{|zxvvwz||{ywwy{|{yvuuwzywutuwyywvvwz|}|zyy{}}|zxwwxyyxvtttvvtsrruvwuodWS\mys^NM^prkbclpqqrvwssyxlipxzvqlkgdis|xj^^jx}ypjinuyyvrqsttssssssuvtqmmqw{zuoklqx{wohgkptrmhfgjnnmkjjjlmoponnortronosvvspmlotvuqmlnqtttrqqruwxxvutuwxyxussuwwusrsuvutrrstuvtsrrsuvuusrrsuwxwussuyzywvvxzzzywwwwwwvvwwvutuvxz{ztgZXdxyeVWgtvrmorqqsw|zww{~wstx{xvuvupmpy~sigp|{rmpw}|zxutx}{vtw{~|yxz~{xy|~~{ywvwyyxvtstuvxyywtrty~}xssw||ywxz|}|{zyyz|~}|{|~~~~}~xorxms}~~~~~~~~~~~}~~~~~~~}~}}}}|||||||||{|||{{{{{{{zzzzzzzyxxxyzzzyxxxwxyyxxvvvwxxxwvvvvvvvuuuuuuvuuuuuuuuuuutttttttttttssssssrrrrrrrrrrrsssrrqrrsssssrrrsssssssrrsrrqppqqqqqqppppqqppooopppppppppppppppppqppppqqqqrrrrrrrrssssrrqqqrrqqqqqqqqqqqppppppppoooppppppooppqqqqqqqqrrrrqqrrrsrrrrrsssssssssttuuutssssstuutsrrrssssrrrrsssttsssstttssssstttuttttttuuuttttuuuuuuuuuvvvvvvvwwwwwwwwwxxxxxxxxxxxxxxxxxxwxxxxyxxxyyyyxxxwwxxxxwwxxxxwwwwwxxxyyyxxyyzzzzzzzzzz{{z{{{{{{{{{{{{|{{{{||||||||{{||||||||||||||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}||}}}}}}||||||||||||||||{{{{{{{{{zzz{z{{zzzzzz{{{zzzzzzzzzzzzyzzyyyxyyyyyyxxxxyyxxxwxxxxwwwwwwwwwwwwwwwwwwvvwwwwwwvvvvvvvvvvvvvvvvvvvwwvwvvwwwvwvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvwvvuuuuuvvvuuuuuuvvvvvvvvvvwwwwwwwvvvvwwwwwvvvvvvvvvuuvvvwvvvvvvvvvvvvvvvvwwwvvvvvvvvvwvvvwwwwwwvvwwwwwwwwwwwwwxxwwwwwxwwwwwwwwvwwvvvvvwwvvvvvvvvvuuuttuututtttttttttssstttttttttttttttttttuuuuuuuuuuuutttttuuttttttttttttsssttttssssssssssssssttttsssstttttttttuuutttuuvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvwwwutssuuvvvutssstuutsrqqsttutsrqrssttsrrrsttuutsrrssttttssttuwwwvutttuuuuttttuvvvutsrrssttttssstttssrrrsstttsssstttttsssssttuuuuuuvvvuuuuuvwwwwwwwwxxxxxxwwxxyyyyyyyyyyxxxxxxxyyyxxxxxxxxxxwwwxxxxxxxxxxxxxxwwwxxxxxwwwwwwwwwwwwwwwwwwvvvwwvvuttuvwxxwvuuuuvvvvutssttttssrrrrqrqqqpqqqqpppppqpppooooopppooooppppoonnooooooooooppppppppppppoppppqppppqqrqpppppqqqqqqppqqrrrqqqqqrrrrrrrrsssssrrssssrsrssssstsssrrrssstsssssttuuututuuuuuuvuuuuvvvvuuuuuuvuututuvuvuvuvuvuvvwwvvuuuvvvvvvvvvwvwvwvvvuvvwvwvwwwwwwvwvwvwwvwvwwwwwvwvwwvvtrmhglt{zsnouywqnrwzwrnoswyzz{zvsruz|yqnqwzxssw{{wstwyywuuvvttw{}{vrtx|{xuuvvustvxyxvuuuuuwyyxurrtwxxwvvwwwwwxxwwwvuuvwxxxwwwxyzyxwvvwxyyyxxxxyyzz{zyxxwxxyyyyxxxxyzzyxxxxxxxxxxxxxxxxyyyxxwwwxyyxxxxxxyyyyyyyyyzzyyyzzzzz{{{{zzz{|||{{{{||}}~}||||||||||{{{{|}}||zzyyyz{{{zzz{|}}}|||{{{{||||||}}}~~~~~~~~~~~~~{vuz||}|ywzzutx|~}}zwy|{}~~}zxxz|~~}||}~~|{}~}vtw~}{||ywx}{sorx}}}~{wx~{}~|wx~|}{ttzyx}~}~}|~}||}~~}}zvx~}||}{vvz}zz~}|{}}}~|zz}~~~~|zyz{||}}|{yy|~~~~~~~}||||||}}}}|}~~zvuvz~}zxwxz}}xuuwz|~~}zvsuy~}|}~~||}|}~~}~~}~~}}}}~~~|||}}~~}}}}~}yuuw|~zxvxy{}{wttw{~~{wtsv{}}}}~}~~~}}~~~~~~~~yvvz|xwy{~}xuvz}xvw{~}~zxy}}zz{}ywx}|xxz}}||}~|xqjc[XY]cec__fp{~{wropsxyvsrw~~~{{}~|ywwy|~~}~~|}~~|||~~}|zzxxxwvtsttvwy{|~}|{{xtmcZOIHMW\XPJL\n|~xu{~xuurmhfipusmilv{tsz{xy~wrqtyzxtqsx|}{z{~xvw{}|~~}|{{{zywxzyyutrruwyyyz{}~}{{{xti\LDEQ`f^M@DZtrkswu{|{zzwogekv|xkbeuwlnyytxxrsx~ztptzzvyups{yvz}|||{ywvx{{xtpprvxxvuwz~~{|{{zvnfZPKLR[_\RJLYky|uqt}{~{xurnmosusmhisvmls}xstzyuvx{{xurruyzywx|{tqsx~{vsv|}|zzyxwvvwz{yuollnrspnmmrvx{{~|yyz{}{xtokd\RIHMW_YMAARhxzmdguzs|{z|zywrlggkppjbaiu}{qgfny|rlmt|}yy|xwxyzxtporvxwtsv{~|vposy|ytopw~~}||{zyvvuuvtttrqommnnpomnorwxyyz}~}}}||ywvsogZMFHS_aWE:AWoyrc\f|{lk}}os|wqmlostnd^an|zkadq~ymglw}uosy}|}~|zxvvwxxwvx}|soqy{rlow}yy|yy|~}ywvvvwutsqqssttsvw|}}}}|}~ytj_VQU]ef\LEK^szsc^i|}ml}pt|wuvz|ytkgku{pimx|pkp{wor}y~|}}{y{zx{xtw}zy~~~~}zz}}zxyz{yvttvz{z{xz~}zxxundXQT[eh_TJN]nxtjdjy|oozst}yxz||ztmilu~|slls{{rlntyyrmox{vy~{zz}}zxz~xttx}~{wux}~zx{}z||{|}~~}~~zvstvwvtqqqsvwxxx{|~~~~~~{ywxxwwsrrqroh`WUX_ecYMIO^kmg]\gw~sjn~zrv~|zz|}{vohgkquuoiehovvqkinuwtmjmvzrns~|}~|wtv{~}zwuwy}~}zussvwvsppruvsposzzvuy{y||{}~{{|~}{z{~~|xwwy||{xvuuwxyxxvvwwxxyz{|}}|{{|~{xvuwwtpic_YYZ^ba\VRXcmqlggoz|totws{}z{}|wrnlnruvuromoswwsporuvsonry~~ysrx}{}~~yx{~{y{|}{yxxyyyxvuuvwvuux{~~{xx||{}~}~|xvvwxwwuuwxxxxxz{}|{|{|}}~~}}||||}}}}||}||{ywrohcaafgc]UU[emlgdfpz}ztqyxv}zvtuwxxvsppswywtqqtwvsonqvxvrmou}|y||{z{{yxvvxz{ywvx|}|}~{wutssrqppprrstuwyz|{}}|~~~}||zzzyzxwvqnighlomg_\^goqledisyytoq{yvz~|xvwyzywspnoruuspopstspmorwwsokou{|xurv{}{{~}{~~|~}}{{zyxwxyyxvttuy{|ywvw{}}|{{|~~|{{}~~||}}~}{zyxwutrsstttsstuwxyz{||~~~~}}}|||zzxvtqoooqqnlhimqusqpqv{||xx|~||~~~|{yyxz{{xwtuwvxtssswvxtsuw|~}{z}~~~~~~~}~~~~~~~~}|{zyyzz{zyxx|~}~~~}|{zwvtstuuspopswyxwwy~}|y{z|{xzxz|||{}|~~}}|{{zywvuttttsrqqsuwxwwwz|~|{y|{|yvwtxxxxvwwz{y|xz{|}}||~}~~}}~~~}|||}~}}{{{{|||{zz{|{|{{|}~~~}~~~~}~}|||||}}}|}||}}}}}}|}}}}}}~~~~~~}}}{{zzzyyxwwvwutrpppqqomlmorrqppsvyzyyz|~~~{zzz}yzwuxvwututxvwvtxwyzxyxzzz|y||}}~}~~~~}}}}~}}|{||}|{{z{{{{{{{{{{{z{|}}|}|}~~}}~}~~~~~||{zzxxwwwwvuuuvwxyyyz{}~~~~~~|~~}~{{z|}|}z{|{~}}}|~~~}~~~~~~}~~~~}}|||||}}}~}~}~~~~}}}||{zyxwwvuttstttuuvwxyz{|}~~}|{z{{zzzzz{||}|||}}}}}|||||{{z{{z{{zz{||}}~~~~}}}}}}}}}}~~~~~}}}}}}}}}}}~~~~~}}|||||{{zzzzzywutssttrpmkmpsrpmmpuyywuvz}{|}~}}}~{}{xxz{zwuttuusrqqstutttuwxzzzzz{|~~~}|}~~}|}}}~~~~}}~~|zyy{{zxvvwxyxwvvwxxxwwxyzzyyyy{{|{{{{||||||}}}}}}}}}~}}|{{{||{zyyzz{zyyyyzzyyyyzzzyyyyzz{zzzz{z|{|}|~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}~}}}|}}}}}}}}}}}}}|}}|}||}|}||||}|}||||||||{{{{{{{zzzzzzzyyyyxvuuvwvurqruwwurruy{zxwx||{|}|~~|||z{~}zyz}~}{xyz{|zyxyz{{zxxy{||{{{{|}~~~}}}~~~}}}~~~||}~~|}~~}~}}~}||}~~}|{|}~~}||}~~~}}~~~}|{{|}|{xxz|}|{zz}~}~~~~~}~~~~~~~~~}}}}}~~}~}}}}}}}}}}||||||||||{|{|{{|{|{{{{|{{{zzzzzzyyyyyxwwwyyxvtuvxywutvxzzxwvy{}}{zy{~~|z{|~~|zyz|}}{xxy{|{yxxy{{zxwwyzzxwwxyyyxxxyz{{zzzz{{{{{{{{{{{{{||||{z{{{|||{{{{|}}|{{|}}}|{{|}}||{||||{{{{|||{{{{||||{{||}}}|||}}}}}}}}}}|}|}}}}|||||||{{{|}}}||||||}}|||||||{{|{|{{{{{{{{{{{{{{{{{{||||{|{{{{{z{{{{{{zz{{{{{zz{z{{{{{{{|||||||||||||||||}}~~~~~~~~~~}~~}~}~}~~}}{|{{|{{zyzz{{yyxwxxxxwvuutvtutststttstqqqprqqrppqpqpopnopopomonopmmllmmmlllkkljkjjkkmkkjijjklkkiiijjjkijihjiijhiihiiijjijiijhihiihihhhggggghgggghggfggffffhgffefeggggegffgffgghfgfdgefhegfefdegfgffgfggfffeggehefgfhgffeffffggfgeegfhhghddhhmnllihiikkikhhihjikjikiikiljikijiijkkjjklklklkkkkllljkkklklkkjjjmlllilklmkllkllkmklkjljkkjkkkljjkillmmkkkmlmlkllkmljmlnolllmmonlmlmmmmlnnmnmlmmmmnmnnnonnnmnnnmnlmmlomnmmmnmnllllononmlmlonmmllmnnnmmmmnommlmnnnnmnnnnnnmnmnmnnnononnnoooonmmooqqolnnorpqooppqrpqqorpprqrrppnorqssqqppqrqrppqpqrpsqqqoqqrsrsrrsqsqsssrrqqsstqrppqqrsrqpqsrrqpqqrqrrqsqqqorqqrqpqppqqrpqooppqprpqoppqrppqnqpprpqqnpoprpponopoqonpmnqnpnnoopnomnnnnllllmnlmklllllijkilhjjhkikkijfhhgjhihggggggfefdeeefefcddddedbcbcccbbcabaabbcba`a_ba`a_^a`bc`a`^`_a``a_a_``_`__aaca_a^a_aa_a`ab`aa_c`bd`c_acbfcbbcbeeddcdfeedddeedfdegdededeefgefeefhghfefeggffefghggffffgfghgghfhggifhgfhfgghhfgfghggffgfghhjghhggggegfhjhhgfjiikfjhhkjjkhijglhiihjkjjigjjkkhjjkllnnkolmnlokomnpmpmoposqppmoqpsqqppprssursrstuuvuvvuuvwwzwyxx{xzyxyy{{|{z{{{}}}~|~~~}~~}|~~|}}~~~}~~~~~|~~}~}{|~}|~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}}}}}}}}}}||||||||||||||||}|||||||||||||||||{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{zzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzz{{{{zzzz{{{{zzzzzzzzzzzzzzzz{zzzz{{{{{{{{{{{{{{{{zzzzzzzzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|||{{{{|||||||||||{{{{{{{{{{{{{{{{{|||{{||{||||||{|||{{{||||||||||||||||||||||||||||||||||||||||||||||||||||||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}~~~~~~~~~~~~~}~~}}}}}}}}}}}}}~}}}}}}}}}}}}~~~~~~~~~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}~}}~~~~~~~~~~~~~~}~~~~}~}~}~}}~}~}}~}~}}~}~}}~}~}}~}~}~~}~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}|}||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||}}}}}}}}}}}}}}}}|||}}}}}}}}}}}}}}}}}|}}|}||||||}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|NcFj!- - c-(ccc"  Y cX cV cc$6c=,6c=,6c=,c6 ?,?, ?,?,Dc ?c6 ?,?,n ?,?,4c$caK,(c6 ?,?,n ?,?,*capp(> y _(cY cX cV  @ // ============================================================ // olextras.tvCreditsWindow: This is actually a hack so that it will load the credits map. // ============================================================ class tvCreditsWindow expands UTCreditsWindow; function created(){ close(); ownerwindow.ParentWindow.Close(); //ownerwindow is botmatch parent Root.Console.CloseUWindow(); GetPlayerOwner().ClientTravel( "NPCredits2.unr?Game=olextras.tvsp", TRAVEL_Absolute, False ); } function ShowWindow(); //do nothing function bool WaitModal() //less accessed nones { hidewindow(); //for window to hide parentwindow=none; //may give error but must do this. return true; } DOY @OEOFO AOZB +ZZ,0 Z,9y py Zq}y b .Jy 4wq*aq$ GOKOHO7:a"-( LONO4B$ G-z(-'-(n _ MOYK 4 t)H -t)-s)ha l,V RO+  "@ "@ "@"@* *"0KK@@$%%$%%%%%%%%%%%%#%%!!%%# "%%%%" %%6KM^^MK6%&27%$ 8[``````````[: >LT8%# 2]``O11O``]2 9SWR4 %" K``AA``K ;UWN- %$U`TT`U?VWH("% U`I I`U "DWV9%K`II`K)IG,$% 1`TU`111$% [``]P%!% :`AF %!%"[`"%%`O&P%% 8`16Ӄ %% H`Mӧ%"%T l%"$%2ϒAY%%$% s`6%%"%g$`%"%o`K%% I/`: %%nӹ&O`%% ?ӥ`[ %!% ӣDA`: %!%W[``[ %$1/1`TT`1%$+GI(O`II`P%9VWD"Y`I I`Y%")HWV>U`TT`U $% .NWU; K``AA``K "% 4RWS9 2]``M//M``]2 #%8TM? :[``````````[: $%72'%6MO``OM6%% "%%%%" #%%  %%#%%%%%%%%%%%%%%%%@@d<+  "@ "@ "@"@* *"0K@@$%%$%%%%%%%%%%%%#%%!!%%#  "%%%%)85%%6KM^^MK6%DRQ6%$ 8[``````````[: @UWQ6%# 2]``O11O``]2?UWQ6%" K``AA``K =UWQ5 %$U`TT`U?UR9 "% U`I I`U ?D)%K`II`K$%$% 1`TU`1%$% [``[ %!% :`AA`: %!%"[``["%%{OO%% ӕӷ %%YdӺ%"%ӭ.:ӽ%"$%ӃӾ%%$%Ӵ=I%%"%Yd%"%o z%% ӕ& %%uOO%% [``[ %!% :`AA`: %!% [``[ %$%1`TT`1%$%$O`II`P%)D?Y`I I`Y%" 9RU>U`TT`U $% 5QWU= K``AA``K "%6QWU?2]``M//M``]2 #%6QWU@ :[``````````[: $%6QRD%6MO``OM6%%59)%%%%"  #%%  %%#%%%%%%%%%%%%%%%%@@f<+  "@ "@ "@"@* *"1 0K@@$%%$ %%%%%%%%%%%%11#%%!!%9LP:  "%%@UWVE- %%6KM^^MK6:PWWO7%$ 8[``````````[: /FVWP3%# 2]``O11O``]2 >RH'%" K``AA``K 48% %$U`TT`U $% "% U`I I`U %"%^z`II`K%$% kU`1%$%3Ӿ`[ %!% ӝA`: %!%" z`["%%]PO`%% ./`: %%̒`K%"%lɥY: `W%"$%d`ss`^%%$%[`ss`n%%"%R`#Ms:%"%H`z%% :`/sӓ %%`OF%% [` %!% :`Aӊ %!% [`#3%$%1`Ttѻ%$%O`II`i%"%Y`I I`Y%" %$ U`TT`U $% %74 K``AA``K "%'HR> 2]``M//M``]2 #%3PWVF. :[``````````[: $%7OWWP:6MO``OM6%% -DVWU@%%"  :PL9%  %%#11%%%%%%%%%%%% %%%%@@IOVO  " " ""*6RL"9Q0EL@bboaoooooooo|||o|o|||||}}}z}}}}}sssssssiiihhhhkkj\\\^^llUȜǜǜų̨̨̜̈̀zz}~~~~~~~~~~~~~~bbbccceeddYffZihhh[jjjjjjRjjSSSS̨̨ި}}}{{{{{{{nnaaaaaaaabbbccddgggYYYfZZZPPPoaoaaaann{{{{{{{{{{{{{{{{{{}}zzzzިކކzz}}}uuuqppqqݮgggggffZihkjj\껻껻^^^^^^^^^^^T򇇈bbbb||||||}}}}}}}}ssrrrrrrsfiiih[kj󻻻^^^llll_VVVȡȡȡȆĘ̨̨̨̨̨̜̑zzzz}~~~|ooobbccccccceedddYfiihhhkkjjj\\\\\S\\\\SSS̨޲}}}{{{{{{{znnnnnnnaaobbbbccedggfffZZhhhhܧbbooo|||||||{{{{}}z}}}zzzzz}}}}}}}}}}}}}}}}}}}}}}}}uuqqq鮮gggiihkj󻻻^^^lUcpҊppppp~~~~~~~~~~ssrssssssiithhkkkjj\^ll_________Vnzzzzzzzzzzިި̨̨̨̨̨̨̨zzzz}~~~~~ccceedgfihhkj\\SSSS̨}}}}}}{{{{{{{{{{{{{{nnnnaaooobbbceeddgfZihhhhhhhh[[[[[ܧo~~~~~~uuuuuurrrrrrfihv󻻻lllllllllll򇇇ppp⌳⌳ussssttthhkkkjw󻻻xll__mm__V_VVVn{{{{{{{{{{{{}}}}޲޲}}޲޲}ިިިzz}zz~~~~~~~~~~~~~~~~~pppppeeed֮ggfiith湹kkjj\\]]]]]̨̨ި}z}zzzzzzn{{n{{{oooooobbbbcceeݮ֮ggggfiiihhhhhh[kk[bbb~uuuuuuuuuuurrsssssttt칹vvv󻻻^llll__lpqⳳuuu~vvvvvvw󻻻xxlll_ÚÚmmmm_VVVnnnnnn{{{||||}}ިzz}zz}{{||||||||||~~ppppqqݳݮrrsssstith湹kkvvj\\^]]]̨̨zzz}z}zިިި̨̨̨̨ކކކzzn{{{ooooopppqqݮgggiiiiiiihhhh[kjjjQpppp~~~~~uuu鷷ssssttt칹vvww󻻻x^^ll___qݮuuuuusvvwwww󻻻xxxllll__Úmmmmmmmmooooooo|||||||}}}}޲}zz}}z}zz{{{|||~~~~pppqqݳrrrrssst칹vvkvvjj\\\\\]]]]]]]]]]]]]zzzzzzzzzzzzz}z޲޲}}}޲ި̨̨̨̨̨̨zzn{{{{oooppqqݮgrgrrffiihhhhhh[[k[[ppppppⳳ||||||||||||o|||~~~pⳳuursssttttt칹vvvvww󻻻^^^^llllllll鷷ss~~~~~~~~~~~~~ⳳusssvvvwwwwww󻻻xxlllll__mmmmmmmmmmmmmo~~~}}}}}}}}}}zzzzzzzzzzzzzzކ{o||ppppqݳrrsst칹kkkkkjjjjjj\\껻]]^zzzzzzzކ޲޲}}}}}}}}}}޲ިި̨̨̨̨n{oooopceqݮggggggfffffZZhhh[[jjqu{{{{{{{{{{{{{{{{oo|~pppⳮuurssssiittit칹vvww󻻻󻻻]]]]^^^^^^llsssss퀀˜˜˜|~~pⳳuu鷷sssttvvvvvvww󻻻xx^^򔔔llllll___mmmmmmmm~~~~~~~~~~~~~}}}}}}zި̨̨̨̆nn{ooppppppqqqqݮrstthk[[jjjj\\]]n{nn{n{{zzzzzz}}}ި̨̆nnoooobbcceݮgggffffffZZZZZP[uuuuuuuuuuu{{{{{{{{{{n{n{{ooooopqursssssssstt칹kvvj󻻻]]]]]]]TT^^^^˜™~~||||||o||pⳮrsst칹vvvvw󻻻xlllV__mm~~~~~~~~~~~~}}}}}}}zzިިިި̨̜ȆȆȡnnoopppqqݮݮgrgrrfsiitithh湹kkkkkk[[[[[[[jjSSS]n{{{{{~pepި̜nnaoobbcceddddgggNOOZPPPPQqݳquuuuuuK=7#,"#",,,,9E\995~{{nnnnnnnnnnoocppqݮrssiii칹kkkvjjjjjjjj\\\\\]]TTsssss™”[MC,& ''''''''*$1x=+&k|||||||||||||||||ooooooo|oobbppqݳrst칹vvvvw󻻻]TT^UV~E<&"!! !KF '!ܪ̨̨̨̜ȡnnnnaaobcpݦ5:IɛfgrgfffZiZZZZiihhhQ[QRjRSSSS塡n{{{{{{7&   !kk޲ިb/!'  ?A̜ȡnnnaoE/--+CJcccccccXeXeXբբddYYYYNNԠOZPPPPPإPqݳuuu+#(;  3    - {}z}z}zzzzzzzznnnnoaooobbbcceeݮgrf%-&*5hhhhhh[[[[[[Q[[RSS\]]ssss—_  ™H$. ||||||||||||||||o|oo|ooooooooobpcqdݮgfiik?  ',6jjj\\\\\SS]]]TUUUUUUUUUb~mm  D8W,' Έި̨̨̜̜̜ȡnnnnnaaʃ`υbbbcc ''+ddYfffNOZPQR塡{{{{{r鳱u !#N~F*={7*-  ΟGGGGGG7<.997G  ~j     ~h|D {n  ooooooooaoM  ybbbbb   ףddddщ  !    JNOOOOOJJJJJȡnnnn{{o||{{{{{{{{{{{{{{ 3o}zz{W   ֨ b!3ǟ3  ̥  ȡnnn ͧbbbbb  !  ˝LLʝʞccccceqݳuu鷷uuuuU򎎳 ׌r2 p3Pbbbѣ?ccceܬK  fffffffOy>   WJJPJJJJRӣӣgffst켾ww”lkA0tquݳݮݮ i[ [k[[[QW% RRRRRRKKSbppppⳳuuuu⌌ps~~~뉉߬|||||ۮYfSRoooeooaooooooobYӉ܇cceeeeWYYYYYН= ?NNNNNOJJJJJQQӥnnnnnnnnnnno|o||oo{{{{{{{{{{{{{{{zzzzzިҨodШ̧̜nˢnnnnaaaabˇbbb``(+ΣLLMʠNʠeeqݳݳur鷷鷷uuuuuu~~~~q~ccpeddd֮֮ggggfZfffѠѥϠNNOJPQӣR٣ffiit칼s^]suuuuuuuu鷷rrrrrrrssstt칹hhkkkkkkkkk[[QPPPPK?襥QRRRKSSSSccccppppqqqppp~~~~~||||bbbpceqddg֮YYYYТНННJMMMMNNOJJJJJQRӄaaaooo{{{{{{{{{{{{{{{{{{{{zzzzzzކ̨nnnnnaaobbbbbbbbbbb`bbb```````````````````LNNedݮ鮳uⳳuu⌌p~ppppppppppppcpcpcppqݮgrsssfMYNʠʠOOJPQQQRR٣KKKiiiiiiit칹tt퀀usssssssssssssitit칹kvvvk[PPPQܥܥPܥQQRRRRSSTTcpqqqqqqqqppppppppp⌊p~~~~~~~ppppcqݮggggggggggdբբТТНННННMMNOOJJPQQRRRRRaaaaaaaaaaaaaaaoaoonnnnnnn{{{{{zzzzzzz{{{{nnnnnnnnnnnaooobbbbbbbbbbbbbbbbb````````````LMʠNJPP֮֮ݮqqqpppqqppppppppc@9gqݳqqqqݮssfffffNNNNNNNOPإEEECC:9+=RRRKShhhtNCCCOttsssss퀼퀀sss&- ^tttttttt칹kvvvvvvkkkkwjk[[[[[[QPPQܥRRSy/"'' %S*-˯TTUUUedqeeeqeeqeec@&,$"*7dpp~~~~~~~~pD "pppppqqqppqqqqݮO**&**"AfO,*&*,#(fYYYYMР,*&**"+,,**,7NNNOOK??ɥI "$RRSSSoaoaoaaoaaoaa. nnnnnnzzzzG<C-  y߯$  ׬S]TThhhhhhhA ! ׹ti64? Uts8-$ 1 %  42 #4!! 3Vk&'!!w4w2 %;5 #4!\\$!SD& !"31!0T  UUUVVVVVVddddddeeq=!!4dcc5!P(! ׉ 0X Pg2!31(!Q(!4$!49'# [s;!s(! ?r51[=Zi; (!4ZZZ$!2,*(3ׯ W;!R;!߯W)!3嬬]Tooa:4a7!!4a+!4ɧ)W8"69 ?n7!W4 " Q/!4Ko!4܇"3J!݇$!4Y$!4ه/N =We3 N"!3WdբM$!  JJ4 F8PN=?(! PPܥQQQQRRRYYgYgY֮֮Aqq/!! 3W$!4p2 ( 11 p5!R?/+#4q(!4r$!4!!3ss!4]t(! t(!4i5?2$1//+!3[[[R$!>ˬ06/+?;!S2!4꯯T[kkhhhWtii/(!4A! !Tt2!D*42! vvw(!^ wwT!m(!3(!32 !$^I*"! ^^!בy8&$1 ߴTU)!$ VVVmmmmmYYgddP%ce# $!4p:!R֊5!qppB-!4q(!4Uus$!4R3[!!%3(!4s$!4Uit5 kC-&%!3[[[[$![R.-(1;!߯S2!4ꬬ]TTbbbbbbbbbbb; aba+!4Ӥn8(1 cnnnbnn+!Wo'$!4Ӥ+!4o!4Q N K$!4e$!4ccce7ee3g"'׬(!3gYYO$!N: ߴ6!ץ=ߣP(! QPܥܥQQRgggggS?%K9 % >$!e,! 3 q#f5! ݳZg, d2r$!ﹰ sF 4]t(!3tt(!itt,ﹹkk   # jjjj\$!\S2! = !U) $3]]ﯯTTUU[[k[kkkkk%)RZB* i(!hE\FJ9#>+% ;k\/8$ %;;6FJvQ#%w w,j#j#1w󻻻hC;U?3_ 5/# lll" 1Ullll1(/+1U= %1+  0VVVVVmmmmmddddd3,*( 3c$!*#% c2%F+)%Aqg3%r)16$% %3 :9( SD+) K+) %itit$)% %ﹹ3v\%%˻]$2)%US%;(2%A$)%%]꯯TTb````y3 Ƣa+!333ˢnb343 NMWoo43 43YX3 3d33Ӈ?ef֮33gg3 3iR 3 4 WQQQQQRRYYYdˉed$!3?δZӰ߉hiׯf񰯺hU׉׉׉hκjs׉װ칹׉k>>VߑTTTTUUhPhhhhhhhhhhhhhhhkiii(!3꯯vjj칹UUwvvU]kv^Vw𻻻^xxl_llm__mÚm_mmmmmmmmmmmmmmmmmmmmmmdբբdeeXeeec,%yccccccpeqqqqqqqqqqݮ鮮ݮrggggggrggggstiit湹湹kkj\󻻻^T^^TTTTTTTTTTT蟟aaaaaaaaaaa@*( $:nnnnnnnaaoooooaoaoaaoaooooooooooobbbbbbbbbbbccceeeeqdd֮ggggffffiihhhhhhhh[[[[[k[RRRRRRRRRRRНdddddddddeXe 33  ccccceeqݮݮݮrrrrrrggrrrfiih湹kkkkvw󻻻^^llllUUllUUZPhhhhhiiiii??ffffiit칹칹vkvvvvvvkkkvkkkkkkkkkvvvjj󻻻xllll___ÚmmmmmmmmmXXXdeXXXOOOOԠЇccccccceeqeqݮݮݮݮݮݮggggffiiii칹kkkkkkk󻻻lllllllllllllUUUUT``aaaaaaannnnnaaaaoaoaoaoooooobbbbbbbbbbbbcceed֮ggggffiiiihhhhhhkkjjjjjjS\S\SSSRRRRНբdYYYdddբXccccccc͇ccceeݮݮd֮ggrrggggggi湹kkkkv󻻻^llllll_lllUUPPPPhhhhhZiffffffffffiiiih칹kv빹kkkvvvj󻻻xxllll_ÚÚmmmmmmmmmmТТdddddddբXXcccccccceeeeeeeddd֮֮d֮ggggggrgggggffiih湹kkkkkvw󻻻xxxlllll___llllllUlUUT```````b`````````aaaaaaaaaaaaaaaaaaaaoabbbbbbbbcccceqd֮gggfittithhkkvjjjj\\\\\\\\RRRRYdբXXcccccccXeeeeeed֮d֮ggg֮ggfffiihh湹kkvww󻻻lllllllllll_________lllllUUUTTQQQ[hhhhhZZZfZihhhh湹湹[kkkkjjjj󻻻xllÚÚÚÚmmmmmmmmmmmmmmmmmmmmmmYYYYMMYYYYYdբբբբXXXXXeeeeeddddddddd֮֮grfffiith칹kkvwwww󻻻xxlllllllllllUTTTT螅`````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaobbbbbbbcceeed֮ggftitt칹kkkkkkkkkkjjjjRRRYYYddբdddddբXXXXXXXXXXdddddddddddddddddddggggfffffZih湹vjww󻻻llllllllllllllllllllTTTTTTTTT[[QQQ[[[QPPPPPhPhZZZZhhhhhhhhhhhhhhhhhhhkkkjjjjjj\󻻻lllll_ÚmmmmVVVYMMТբdddddբXXXբXXXeXXXeedddddddddddgggfffffffiihkkkvw󻻻xxxxxlllllllllllllllllllllUUTTTTﯯ``````````aaaaaaaaaaaaaabbbbbbbcceedd֮ggggffftth湹[[kkjjjjjjjjjjjjRQQQQӥܥYYMdddբdddբXXdddddddYfffZhhkkkk󻻻xx^^lllllll^TTTTﯯQQQQQQQQQQPPPPhhPPhhhhhhhhhhhhhhhhhh[[[kjjj󻻻llÚÚÚÚÚÚÚÚÚmmmmmmmmmVYMMMТТdddddddXXXXXdddddYgffffffZihkkjw󻻻xxxx^^llTTTTﯯ````````````b`bbb``b``aaaaaaaa`bbbbbbbccedd֮gggfftthhhhhhhhhhhhhhhhh[[[RRRRQQQQJJJJNMТddddբXҢҢXբXXXXXdբdddffffhhhhkjj󻻻]]]]]]]]]]]]]^^^^^T^TTT^TTTﯯﯯﯯQQQQQQQPPPPPPPP[Q[[[[hPZZPPhhh[[jj\\\^lll___________________mmmVVVVVVVVUUNNMMMННННYYYYYYYYYYYYYYdddբբXXXXXXXdYYffZiiZiiZiiZiihhhhhh[k󻻻x]]]]]]]]ﯯﯯﯯ`````````````bb`b`aaaaaaab`b`bbcccXXXeddggiiiiiiZZZZZPPPPPPPPܥQQܥQQQQQQQQQQJJJMMMMMMНННMYMYYYYYYYYYYYdddТТddXL͢LLddddYffZiihhhhhhhhhhhkjj\\\\\\\\]\]]]꯯]]ܥܥܥܥPPPPPQ[[Q[[[QPPPPhZZZh[[jj\껻]ﻻ]ll______________lVVVVVUMMMMMMMMMMYТТТТdТXբdMYYYffZhhhhhhh[jj\\\\\\\\\\]]]]]]]SSSSSꬬSS꬯ꬬ````````b```a```b``bb`cccXeeeddddYgfffffZZZPPPPPPPPPPJMʝMMMNMYMYYYYYբLLXdYffffZhhhhh[kjjjj\\\\\\\\]]]SSSSSSSSSSSSSꬬSSKKKQQQQQQRRRR[[[[[[[QQPPPPPPQ[jjjj\\\\^^^^^^^^lllllllllllllll__________VUUUUUUUUUUUUUUUUUUUUUUUUUUU贴UNNNNNNNNOOONNNNYYYТТMYYYYfZZZhh[kjjj\\\\\\\]]]]]SSSK٦٦͞L͞c`````````````ccccXҢXddYggYggffffZZZZZZPPPPPOOϠϠOJJJJJJJJJJJNNNNNNNNNYYYТNffffZZZZZZZZZZhh[kjjjjjjjjjjjj\SS\\\\\\SS\SSSSRRӣӣӣRKKKKyyRRRRRjRRR[[QQQQ[Q[Q[QQPPPPP[[[jjj\\\\\\]]^^^llllllllUUT误WU贴NNNNNNNNNNOOOZOZOOONNNMMMMMYNZZZZhhh[jj\jjjjj\\\\\S\\ꬬSSSS٣٣RӣӣӣӣKKLL͞```````ccXXXXXXddYffffffffffffffNOOZZZOZPOOOJJJJӥӥӥNNѠNNNNNNNNNNԠONNNNNMMYYMMMMMMMYNNNfffOZZhh[[jjjjjjjjjjjjjjjjjSSSSSSSSSSSSSRRRRRRRӣRӣK٦yyy@ .d? OFݥNn3LZ"|.6Ў-hsM5# K1 σp_ Ֆ|_׸iP[H"Ҫ|Iq_7ěof+(D>$yrL  v{a_cM|ysIVDar_ QfZ|eypczrD|Xmi\|Dld|le\T|L|tFtlOWWV;%%6KM^^MK6(=NN9%$ 8[``````````[: #<*%%# RX]``O11O``]2 #%%"DХ`AA``K "% %$1T`U $% "%= I`U %"%ӆI`K%$% U`1%$%E`[ %!% #ӎA`: %!%"[`3Pw `["%%`OIO`%% 8`1/`: %%H``K%"%R` `W%"$%[`YY`^%%$%[`YY``%%"%R``W%"%H``K%% :`//`: %%`OO`%% [`Mǩ\=,`[ %!% :`Aѯ %!% [`zT%$%1`T*Ӊ%$%O`Iӯ%"%Y`I \%" %$U`T%3 $% %" K``AA`H"%%# 2]``M//M``]^i #%%*<$ :[``````````[: $%9NO=(6MO``OM6%%;VWWO>+%%" +;MWWWQ> %%#(;LVR?%%%%%%%%%% $8< %%%%@@B// ============================================================ // olextras.teamvortex: Operation: Na Pali Info for OSA // ============================================================ class teamvortex expands mappack; //#exec TEXTURE IMPORT NAME=TVShot FILE=..\olextras\textures\napali][.pcx MIPS=OFF #exec TEXTURE IMPORT NAME=TVShot FILE=textures\TvShot.pcx MIPS=OFF var () string MapTitles[36]; //titles of map. file name is arraynum +1 TOYOh!// ============================================================ // olextras.TVTranslocator: special one bounces off enemies, as no telefrags are allowed. // ============================================================ class TVTranslocator expands Translocator; var int transpriority; function ThrowTarget() { local Vector Start, X,Y,Z; if (Level.Game.LocalLog != None) Level.Game.LocalLog.LogSpecialEvent("throw_translocator", Pawn(Owner).PlayerReplicationInfo.PlayerID); if (Level.Game.WorldLog != None) Level.Game.WorldLog.LogSpecialEvent("throw_translocator", Pawn(Owner).PlayerReplicationInfo.PlayerID); if ( Owner.IsA('Bot') ) bBotMoveFire = true; Start = Owner.Location + CalcDrawOffset() + FireOffset.X * X + FireOffset.Y * Y + FireOffset.Z * Z; Pawn(Owner).ViewRotation = Pawn(Owner).AdjustToss(TossForce, Start, 0, true, true); GetAxes(Pawn(owner).ViewRotation,X,Y,Z); TTarget = Spawn(class'TVTranslocatorTarget',,, Start); if (TTarget!=None) { bTTargetOut = true; TTarget.Master = self; if ( Owner.IsA('Bot') ) TTarget.SetCollisionSize(0,0); TTarget.Throw(Pawn(Owner), MaxTossForce, Start); } else GotoState('Idle'); } function SetSwitchPriority(pawn Other) //uses master priority { local int i; local name temp, carried; if ( PlayerPawn(Other) != None ) { for ( i=0; i%%%$b[``````````[:  $%%# `O11O``]2 #%%" A``K "% %$<:T`U $% "%SY I`U %"%xzI`K%$% ]әU`1%$% [`#Yӹ`[ %!% :`A&s A`: %!%"[`A`["%%`OO`%% 8`1/`: %%H``K%"%R` `W%"$%[`MM`^%%$%[`MM``%%"%R``W%"%H``K%% :`//`: %%`OO`%% [`#`[ %!% :`APϒI A`: %!% [`*̎A`[ %$%1`T̩`%$%O`IG%"%Y`I >%" %$U`TT+ $% %" K``A5ӳ"%%# 2]``M//Mdӛ #%%$  :[``````````[t$%%%>9#6MO``OM6#%% +IVM@1 %%" "JWWWTJ?* %%#1=LUWWM5%%%%%%%%"3ANC#%%%%&*@@ lO}I.!~a&!i},a&!~} O [,aO *w[*[O  ZO^OJ pJ,GJ *w[*[J  _OaObO0F p E,-'[p p [8a [[CCp ap GWp ?,_p ?,dPd[*-( cOE>MtRIFFZWAVEfmt "V"VdataZ~~~~~~~~~~~~~~~~~}~}|}~~~~}}~~~~~~~~~~}||}~~|{|}~~~~~~~~|{{}~|}}}~|zz|~}zy{}~~~}|}{yxy|}|zyxy{{{zz{||zxwy{}~|yvvwxxwussttttvx|~~~}{xutrpmg]RKMXabWJGVoóyljnqmf_]`ejnrx}|urssqoopsvy}~~~}{|}~~|{|~~|xocWPS]e_M92B_w~sfiīygWOOSWY[]_ciqzwqnopppnmoty}xvvwwuuw|}{xwuuuvx{}}~~}shcforjWD?MesqbW^vȴ{ngeec_\YWWZahnrv}|zwuvx{|yxx|~|{z{}zxvvwxxxxyz{||zukc`djgZG;>Qbf\MJZt}rlhd_XPIEEKRVWX]gpw{}~}{zyxwvvusqppsuwxz}}|}~~~}zwvvvvvvvuvwxxwxxtlb^cjlbO@@Pag^NGTj|}¶{xuofZPLMQSROOU^fjkpz~~~~{ywuttsrqqruuuuw|}{{}~}}{ywuuuuuvvwxxxxyz{zxpgbdlpiXIEQbkdTKQey{w{}|yqg]Y[`ba\Z^elnnowzyyyxtpnoponmnquwvvx}~~~}}~|{||{yxxxyxxxyyxxwxyxvqjeflqnaSNTblj]QP]nxunnvypklproieeinomknu{{wux~|xwy{zwsqqsutrprtvvuuwz}}||}}|}}|zxxy{|||}}{zyy{zywwwxyyy{|||{yyyyyvnfcekkbTIIS^_VJFM]hjfekvxmffkpoicchnpolmsxzwtty}|xuuxz{yvttwz||zz||wsrsrojgeeffeddegiklmoqtvxy{}~~~~~|yxxxxvtsstttsrstuuuvy{}}~~}|||{{{{zz{{zzzzzyxxxwvutsrqponkhe_ZY[^]UJDIU__VLLWgqrljoy|{}}vnkovzxqjinsusnkklnmkiijkjihilprrppsx~}{}|{||yvrqooljhijkkihiloqqonoruvusqppqrqommmmmmnoprrstux{||||}~|zyyyxvtssuvwxy{}~|zyxwwvuuuutsstuvtsrsuuutrrrstrpomljf`\\_a]TKIQ]b_VPTanutons{~zz~}wsrtvvsnjijnomkjknpppruxyyyz}~~|zy{}}{yxxyz{{{{{zzz{||{yxxxyzzyxxwxz{{{zyz{|}}||{{{||||||||}~~~~~~~}}}}||{{z{|{|||||}}~~~}}|{zxvtsstsrpnoqrtsrrsuvwvvwxyyxxxxyyzyxxyz||{{|~~~}}}}}}}}}}~~~~~~~~}}}}|||||||||||||||||||}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}}|||||||||||||}}}}}~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}~~~~~~}}~}}~~~~~~~~~}}}~~~}}}}}}||||}}}}}}}}}}}}{{~|{|}}}}|||||||}}|}||}|}}}}}}}}}~}}~}}~}~~}}}}}}}}}}}}}~}}}}}}}}}}}|}}}}||||||||||||||{{{{{{{{||{|||}|}}}}}}|}}||||{{|{{{{{{{{|||||{|||}}}{}~~~~}|{yw~~x{|~}}|~~~}|}~{{~|{~|{}|{}{|z~~}}{}{}~~|}}~}}~~~|}~~~|~}~yw~~{}~|y}~~}||}}~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}||||}~~~~~~~}|}}|}}}}}~~~~}|}}|||}}||||||{zzyxxwurldaiwzmbdrvlinx~{}~yyxw~}tpruwwvvvwwuuvz~~yrnpw|yz~~xuux|~|xvvz}~}zyyxxxy{}}~}~}}~~|{{}~}|~}wj\[gz~k[^ryjgn{wzzz~tprtutuxzzwttxzokp{}}vtw|~{z|~~}{zxwwz~~|zz|~~~~}~~~}}}~~||}~~~}{z{|}~~}}}}}}|yrjhqrio}{sqv~zy~y{xvwxxwx{~{wvw{}wsuz}~}yxz|~~~}}|{zzzz{{yxx{~~}}~}}~~}|||{{z{{||}}~~}||~~~~~~~~~}}}}}~}~}}|z{~}~~}~}|{{|}}~~}}~}}}~~}{yyxyyxwwvxy{zzzz{|||||}~~~~~}|{{zyxwwwwwvvwwwwvricfusfgr}~{vopv~}|}y}wuyzy|}yvwwussx}~ztpqvz{yuqqu{~|{||||~|{|}|}}{z{|}}~~~|ywvwyzzwuvwz||{yxxxxyyzz{{{|}~|{{}~~}~}|zzyzz{{{zyyz{{zxwwwxxyzzzzz{{z{{{zyyz|}}||||||}|{zzxxz~|z|}}{}~}||~}|{{{{{{zyxwxx{}~|{zz|~~}|{{|}~~~~~~}|{{{|}}|{zzyz{zyxxxyzzzzyxyzzz{zzzzzz|||{zzz{{{zywqlmvyoks{~yvrrvz|{||xzzwz~~}}}zyy}zwwz~}zxxz|~}|~}~~}~~~{x{||}||||}~|z~}z~~|~{|~~~y}}~yx|}{~x~}x~|}z~z~~}y}|}}}}zzq~}wx{xyz|~xvv|yzx{|xr|}q{wo~v~t{x|tsxsnvr~u{syu|x{rz|wvwz~}{w|q}dytw~yu|}ru{|~y~sy|wsuxvr||wxt|}uwj|}rl|}z||rt}zm}kky{{~r{t}yy{zx~|~vsx}rxp{wlv{{~u}yj~{}||}{xxyxv||}r}~}zruzu~yxxyxxyuxut}xy|oop}zt{|{wujrxyy|y|xu~t|v}{~vty~y{l~w}y}{}ly}zq{w|ju}yq{x{}~~o}}{~y}~|w}v||}|ht}d|uh~so|||xi{os~{jfvusgp}z~pv|tt~wz|zs|w~~~t{yw{s~lzltzpql~}vt{|~w}~z{|v~s|zu{vp}xzvssmw{y}v{w~{y}}|~~{{}||}}}}}~}{}zw|~yty|xvyz{yvwwyyzyyywwwyvxwvwuvtuvuvsuvwvttuwwwxtttuwwvuttuuvvuvursuuvvssqrtuvutqrtsvvutooorvwtpmnoqstsqommopqppnmlmmnoonlkjjmnlkhhjjjjjhggffghgfdcdegfedceeddbcddbccccaabccbaaa`a_ab``_^]]``^_^^____^`^^_^_^^^]]_^]][\]^]\[[[\\[[ZZ[[[ZYZZZZYYYYZYXYYXWWXXXWUVWXWVUUVVXVUTTUVVUTSUUTUTUUTTSTUUTTTSTTSTTTTRSTTTSSSSUUUSSTUVVTUTUUUVWVUUVVVWWVUUVWXWVVVXXXXWXXXYYYYYYYXZZ[YYYY[ZZYXZZ[ZZZZ[\[[[\]]\[\]]]\\\\^]\\]^^]]^^^]]_^_^\_`_____^_````_```a``a```aaaaaababcbbbbccdccccdccdddddddeeeddffffeffffffggggfghhhgghhihhhiiihijijjiijkjjjjkkkkkklllllmmmmmmonnnnopoooppppppqpqqqqppqqqqqqrrrrrstsrsstsssttttttstuttttvuutuvutttuuuuuuuuuvvuuvvvvvvwvvvvwwvvvwwwvvwwwwwwxxwwwwwwwxxxxxxyxxxxyyyyxyyyyxyyzzyyyzzzzzz{{{{z|||{{|}}}|}~~}}}~~~}}}~~~~~~}yxw|~{xtttvusttwurljotwuogcimqolgdginojieejkkgdachjhc^]^cefd][[`fgg_Z[ailjb^_dlmjd`dimlhdfjmnjggiloopplhghmrsnifktzyrmlrz~|tprxyrrv|vwz~{{}{}}|z~yy|zwx}~|yzxyxvvwz|}{vsrw|}|wttw{||{xwwwzzyvvwxyxwvx{{zvttvz|}{wvz{}~}~~~~~}}}}~~}}|||}|||||{zzyxyz{zxwvwyyxurqruvusonnprspmkjlmlihghhhhfefhgeb``ccba`__```_]\[YYXXXVTRPONIDBGQ[\SHDL[ff\QMS`ilifhnstqprwzxsnmqx~~yroosvuqlhfgijjjiiihfdegjjgdbdjorqnlmptutssstuwxz{|{zyyyzzzywvvxyzzyxyyyxwwxyyyyz{}~}~~~}~~~}}{|{z}zxuplhedhnstqmknty{yuqpty~~~|zvqmkmu}zogivtkmy{|~|xvtsv{{spu~xpou|}~~||}~|zz}|yy|~~~||zz|||||z{~zzy{~~yuxy|}zvwxyzyxvxxxyyzzzz{||{{|}}||{}~~}}~}}|}}~~|||~}{}}}zz}}|yyz}}yyz}}ywx|~yvy{{zy{yx{|zwy}{xxz~{vy{{vt~}{y{{|wx~xx}vu|~t{xvy{tvxxru~xpxyxyuv{wwsw|txvzvrvv{wuxvuyuuysxyrusvyvuuvtuvvvwsrxvxsuxsxtsvtyvrtvwtusvxuvrqxwstrqvvtvusstuwuruvttuvvtuvuwurvwvvuwwtvxwwtvvxyqwyxsuwr|wsxvxvstyv{ur{wxus{yxwqt{zwurwzvtuwvzuovxxuqsvuxuqtvtrtrvtqvpuwpttxorxnvvpsrxxopvvutovsxwqtsxpzvsvrx|xjuzz{lwyuuwwo~wmxuozzokl{prmpk}mexyuuhsopptxrrskt~qmptpvufpytmnnsxkqponlswtdqspwljuwmmmnytnhkvsroiuvklrrqpmqrrmnqqqsnkqppqmorkkptpkmnurflqproilrrolprpnmrsqqmiwsrtkpqupunmvmmz{jktpzvopo}lozk|vguq|ipuyvmuwxuolxxtomnqr{}owtsm}~trmrsys|zojyspyns}xuyqttzsxluvmyvuoq|{xurp~ouusuvzwst}szuryqmm~k}htynz}ppvrtmvsiymknyioizfroqjwu{ikrjzjr|vnqxjswquvktthwnpsmqs}ohwrowrqylkyytnppw{novstxrpvpvtsvqvop}{qmpzyyxjt|xtp~vr}rty|tmyt{qqws}vtvuvury|w~wy{zxlz~}~rxku~ywz{|xyvy~yw{n{yvz~rzvv~ssy|zw~zxztx~q|t|z{zr}rqpo}uw{yoxno|tmrsmswpdw|ik{ois~uhqrhmuw|xrnkwyqkpx|xpktuursvv~wvpq~zqs|~{oq}mlzawihzphxfi~qhvumpo|{tjow~tuvz{ss}y~upysrx|ps}jzypy~mxzvs}vrzvqd~kn~tlyxlu~pqtzjvwnov}|vttuyupx{wspsswtmusouuponrvskluqmkkrpidfjknsnmlinrsqpqopqrxzzxwxy}yw{~yuy~|zz|{{yz~wy|z}{z}|yyuw{||{{wv}{zxv{zzxyzz~y}{v{}}~yty|~zwxz}~}xz~~{~~~}~{~z{}~}}yu|~|vvwyyw|}yyzwvvruwrolmnomjhe`YW[esui[TZkxvmb]cksxz{}|wzxz~~|{zxx{wnikt~xqmqz~~~zzzwwx{~|~yy~~yvw{{{}{}~}~}}~wz}{{}{vw}~upqsyytnifba_ULFPeuv`H@Pny_GH[vyvyyx}}z}~yx}{l\V_q~}o`^iz}phjpuuuy{{w~~}}vrv~|pikqwxsnlov{~}zxwwwxy|~||}}~~}}|xyz}{wuvz~wpha_[QA8Dfq@$6nj4&Hsvoo|ʹok|uu~yrv}|lTGQpbWd|ljt}}w}|y}}xx|{sryqcakz||~~}{xyxunfcdaWIDUyg5!@pB@j~|ϵz©mjzxy{xqmq{~ucYdrag~wx|~vqu~~y}}yurtx~}vldcehaL72Jyn3>o60aűrphηlt{_[lunnqqjcbkuufWYqu__s{}z{~vrrstvx|yogemz}z|~zwuw}~|}~}{||}~}|zywvvvuuwxwwtonprqqojgggc[SNVhxzlYNTgx~vkfjs}wx~ywvuvy||yrlhgilopnlklptxzzwutvz}zxwwxyxvtsrrsstsqpoquz}~{yxz}|}~}~~}}}~|{~}{~|}}ywx}~yvvz|{ywuuuspoopqqnkiikosuwz|~~|yy{}|}|{|}~~|ywvwz~~|}~~~|}{|~{{~z}~~y~y{~}}{zx}|}~}}y||y}||yux}zwz~||zz}{~x~}~~z}~~||}x{vr}|~|xvxwz}}~}|}rtuxz}vx{xtw~{q}~hlv|xwjfrxyxld}}qswypyq`n|~~}zrhqwvznr|km{osz{rhnsrx~onwpusjuxtnqxzuksztxukoux{xqvtluw}xnru{}xrrqzzqmvyv|uyyqtpnv}uuw|vo|{{mgpne~vp|prr}pmyr|z~}zzwrqxvzxy~zt|uynmp~vnhyz{|ovxns~wnpkvwtptsovslrrhqoio|nqqce|xobdzzqicmrxyjittlox{}yf`y}vzocfxwrlpxxzoef{wywirult{tkmr{{~utrqvw~rw|qsxvvphgt~phio{zzph{nkwzy~nioux}xuos|}pmyx}mho|}kf{}tvu}zpfsvb^yydi{r{vqxni|yxszsjozrtnyvxwz{}}q|}{|ux{|x{{t}}n{t|sq~r|~{w{xz|yysrunx{|z}~{|xz}zvuv}~stw{~|sq|xrrxuy|w|}xrznyxtzdoyw}wyvwt~{|z~{~|}y}vokyqzyy|xyduydmsrz|uv{v}zl}|zszy|z||}y}wxyr~~}zu{yuqs~ztuxyyy~}vvruwy}vw~xnnnq}|oegpx{vimtrtrmjjouwssrlkinvuttmgjnqwxqidhmuuojglsvlbforrnhefmqnlkechppkhfcemjijhcdffjjmja`fggkkiffjg``ejlkhd`bdbejkgcaabbeihdbdedebacgjjf`_a^cnqlga^`chmnjifbceimmkhfgiiggkmmnkebdhosrldafjknnlhfhjkjlmljgfikmmmkggjljilkklkhghikjgefhjhfedcgihhea`abfihhb\^aacfeb`]___^]^__^][XWZ]^_]YSQSWYRG<;H\mm^J;8CUcgaWQRW]djic[WW\fnpmfa^_`^^^^]]\\ZXUQPPOONLKLOQPMKIIIIKORTSRQRRSUTSRSUWXXXWUSQPPQQPNLLKKLKIFCBCDDFEDDCCBCDEEEFFHIIIIJJJJKLLNNMMMNNNNLKJLMMKKIHHIIHJJHGFFILNOOMKIKMPSTUTTSSTUVVVUTTUWXWVUSRQQQRQQPOOONMLJIJKLLLLKJIIIJKLMLLJJIJLMNKIFCA<4.4F]kdN4&)_zysy|fW_}{p]Zil_^cccbiv}vf][ixwvxzty~wqllr{|sjeflt{~{uomouz~}y|~~{}~~wtoqvx{{ywupnlnsyxqrouzz}xxxxzqgQDH_GCrxiH>Zƨz][o|hW]ynTRas{uqt}yfSO`x|iabo{usykp|yzxvuythbgrvjejszulkvwx}~}}{urx}|rnory}zvqnlnszxmfgltyyul[JAOzP7hgzhG>bתnJIcxqrw|kOQnsZ[k|~tmp|zgVWhqb\ctzxyww~k`m}yuv~thfn{tlkr|~~}yrotsnt}{|wonsy{vonlpw|{tqlikijbX\kw4!cͲ|UVlwjV_Q?U}~ttyaTcmal|kcl|}lafwncbo~wtw~sku~|xkjt|spptz}}}}}wrs|xx~~|ustu{}~|vqnklstz|vuleb[XZ]r{ARľhWbkkbhČWBT|tsyzb[itfhu|yqmtzjcix|meivyvy~}rq~xtztkn}|qlov}~wrpt{yw{}~|trtrwy|}}{tofdgkvy{yoi^RKK^~\(3s|`^gg``|͡gDHo}vsw{e\izhfpyyrmq{zmacp~{mddp~~wrqtzyssuqyuptxpnrx~yropt{{vsuz}|}z||{pqv~ypjlptwvvwuoh`_itvdTFCKZ}`! ^̺RAJX`e|̡\-1_ϻpfgrm[XihZ_oz{vrv{yna\fv}n_`n}}rhfoxztsvwos~|zxy~{mhnzzwtpprw~}xtrsv{~~}|}zy|y~}yy}}}yqkimszxtofijjojknmng^RHHVr`# `Ӿ|A,=bze:5`۹f^i|oeiyk`cp~~slmsyvndbjtytmmqy{ujadr~oijr~xrr{~vuz~yvux}yrpsx}~{xxyzxustw{~|zzyxxz~yy~zxyz|{wtomnptvtsqonkfefluxrfUE@Mkm+ OƆ?+ZsQE`ԳXUp{}|ussroots\OVlve_chjmt|j]_o{wx{}~}z{zpmrz}{zxtpqw~wtty|}}|}|~}|xuwyyxtrsuwwspnmnonnnmlje^YX_ncA/:_wM7@\z~uqpmhho}yqqx~{zy{|qjlv~tmmorux||tkhlt|~zvtsuwx{}}}{xwxyz{|||}~}|zz{}~~}}|}~~~||~~}|}}~}|}~~}~~~~}}}|}~~}|{zyxxxyyyxwvutsstuutsqpqrtuusrrstvvvvvvvwxyyzzyxxyz|}~}||{{{|~}||~}}~~}|{|}~|{{|}~~~~~|{{}~|{|~}}~~}||}}}}}}}|{{||}~~~}}}~~~~~~~}}}~~~~~~~~~x~ogysfp}~{zx~zvw{|}}}{yz{~{z{||z|~}zz~|xz~~yvx|xxzzwy~|xz}}{xy|wuty}}ysorvz~~{vonryzxtuxyzywxxxzwvvuxxvvttxzzxtsrtvxywuvutrrvxzxtqqrvyyvrqsuwwvsrtttsrtvwwtppruwxvsrsuvwywsrsvyzyxvttttux{zvpmotz{{xsqprvxz{zwvtuxy{zywx{|{xwy{|||||{{yvvz~|xwvz|}}}}|zwvx|~~{ywy|}|yvx|~xttwz|sllv|nilv~{trsvwtrsx~~vpnqwyxussuuuvsttqrsuz{zvmimw|qffoy~}upoosrqrsuwtpllnqrqolllmmjihilklkjjgecdgjkhd``bcdedca]ZZZ]acc^ZWX^dea[WUZ_db\XX\bb`\Z]``_^^aba^[[]_`^ZWVY^^[TRTZ]ZTRU]`\TMMV_b\SMMSXXVWX\^XRNPZdicXOOYceb][_``ZTU[bed_ZWUUVXZ_de^RJLWchaTJKS\^YPMRX\XQNRX\XRNQZb`XTSW^bb]VQRX\_ZWY[\YTTW\_^YUUZ]\XVTY^`a^\[Z]]_ba`_]\[\_cebYTUZche]TQU]efaZUTWY]`^\[[[Z\]\\YZ\_dc]YTW^dhf^XUW_eed```_^_aeijighijlligghkmmjd`^binpnkheeejmqtrnifgmtywrmlouwvvwxzzz~{y{~}zyy{{zxx{}|xtv{}}xsrx~ww{{{}}{z{||}{xx|~|zy{|~}||wrpqwzvogdku{zpgdjt|~{wvy}xk^\nX'?yU)$Gp{qnrridg{zx~|}~|{ywvxvyrU9$=% FhOeo,"pڶuIEgqx·dO]ururjchxs_QTbr|rigimpqt{wsy}zutsssuvusg^TL>6\L1аM8YWO_I*qųgV[k{Ͳ}bYh|tqldWR\nnWEAI\ryj\WV[bjuue]bs{sryzz{{~|~|y|vne_abbT>2?fk^>RH@Uj.![Ǫg[bwor״os`Vd~{pjfb]\ajw~~ubODGZryjb`abadrl`atyrwxt{~x{}wyka\ainqgU?3=Zj+$q`'$DUTQaf=+=ilag{w{Ǫpsvferticbcglonmlmmh^UU_p|}thcekonnr}{qlp|~y||yxu{~z{trollegdVI9=[FRN&$:GEDVW)!=oŮeV\uh[mƝymq{e[^lzvj_[_beeemw}xgUNUgv{xtuxxqgbhxxrrv|{|zpqxtiir~ymfgszpnvuqqtzyvskg_Z[XL@7@dq)!jiC8FMA21R]92Ei÷}igtи^OeǶwheu~gWSXfv}nc]YYWV_pwcSR^jpqps~~uicju}xx}vpv|vpmp{raY^jugcelt}sot}zy{~~ysjeaahikg[SKIE;6>SzzIE{k^_[J73M}rUNUtƲvoyཌfZieONZps]MIP^iosy}yjVFH\txsrqmjny}ww}~{wz~vqrv{|ztpmlnpuusroruvuqqu{|z~{{{}~}xsplllmolqokla\[[__aUD>=Qua<$,K`hor}mPAB[uijwűlai~{oc\eut_PNXbmwxurld^YW^myvmknty{{}yx|xqmkmsyzslgehpz|vrpqv}~~ywwy~yrnmpttwvttmhcbcbb\VLFLWn{tbJBGTZSYh{b\`hsz|~}~}xpkgfinqrngdeggfeglpolihlsx{~~|zz|}~ztrv{ulffhmquvvsnjhgilpsvxxwuuw{{ywx}zyz~{|~~|zwrnkgimmomida[UTQIBBG]vyl[LO^`PHOj|vwvnw|vvxsrompsqjechqqkecgmngejt{xwwxwyyzyqpvz{ywvvsnigjorqolkkkknqvy{zxwwx{~~|zywvvuvvtrqqqqqopnmrty|zw{~|xwvusnkijkjiihijgffgjmmmlnlmlihdWOR]t~tpvkMH]{ner{xv{xqot{xokpx|raX^mwvnnw|nfhpx}}yz}vw}|wx|}xplouyytpoqqqpqtx|{xuvy|~}~~~~}{xwwxz{yxwwxxwvvx{|}|{{zxwxz|~~}~}zvtrpprrstttsqnmlosuxzz{|ywvuuvvutqd[[br}vmmxrWN]ust}sw}~|yuyslrtlnw|womt~||~z|yux}~{urtxzywwz}}|{}~|{{{{{|||{{{|}}||~~|{||zxwwy{{zzzyyxyz{|}~~~|yzywoc[Zdqvpim|s]Tas{vpuzx|ymip|{spvzpkntz}~}yy}~{xxzzxutvy|~~~|{|}~~~}~}{}~}}}}}}~~~}~~{|{zwusnjebdfhijqw|yuxyxww}~{xwxxvsrsttrpqtx{{z{|}|yxwvuvy{}}{zzzzzz|~~}}}~~~~~}}~~~}{ywvsqolkmorrsvy}}}}}|~~{yxxvtrsvxzzz{|~~~~~~}}}}{yxwvvwy|~}|||}~~~~~~~~~}}|||{{zzzz{{||}}~~~~}}|}}~~~~~~~~~~}|{zyyxyy{|~~}{yvtplhecdghikpw}~|}~~zxy|}}~~}||||{wrpopponmosvwy{||{zzzzyzz|}}}}||||{z{|}~}|{{{{{|}~~~}}~~~~~~~~~~~~~~~~~}||}}~~~}||zywtplkllkggkrxyy{~~|zyxy{~~~~|zzz{{ywutuvxwussuuutstvwxy{}}{ywvtsstuvvvwxxwwwxyz{{{{|}~~~~~~}}}}}}}}}}}|{{zzyxxyz{{||}}~~~~~~~~~~~~}}|{{{{{{{||}}}|||||||||||}}~~~~~~~~~~~~~~~~~~~~}}||{zz{{{|||}}}||{{{{{{{||}}~~~~~~~~~~~~~~~}}||||||}}~}}||{{{{{|||||||}}~~~~~~~~~~~~}}}}}}}}~~~~}}}~}}}}}}}~~~~~~~~~~~~~~~}||||||}~~~~~~~~~}}|||{{yupkikmmkkpy|{~~{wssuy~}|~}{z{{{zwutuvvspopsuwxy|~}~}}}}}|{{{{{zyxxxyyxxxxxxwwxy{}~~~~|{zyz{|}}|||||{{{{{|||||{||}}~~}}~}|{{{{{{|}~~~}}}}}}}}}~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}}~~~~~~}}}}}~~~~}}}~~|{z{}~}|{|}~}||{{||}}}||zwusrqrstof\X`kusmp{sehr|}wz~~~~~}wuurmjlrwyvpkmqrqpptz~}{|{{~~yvttrrtwz{{xvsqrsvwyz{~~~|zyyz}~|zxvttwz}~}|{|}~~}|{yxwx{}~~}|||}~~~~}||{zz{|}}~~~~}}~~~~~}zvi[RXpykmz~oWK]~|xv|}wy|}{|xljqxytoosvxzzwwwxzvv~~}zwvw{ysqrsuwz~~~~}||}~~~~|zyyy{}~~}}}}}}~~~~~~}~~}|}~}zrcSLXxnH@Wwwnu{wy}sfbit}|zvrrx}~{}xwy|~zxvtsv{}zy{}~~|{z{}}}||}}|z{|~~~~}|~~}~~}}}}|~}}|zyzyz{{ztjedm|tjimqrot|~x{{x}|}}yutvy|~}~~{wrrv{~~~}|}~|zz{{{z{}~{yyz{{{|~~}|}~~}}~~~~~~~~}}}~~~~~~~~~~~~}}|||}}~~}|{{{||}}}|}}||}}}}|zzz{|||{{zyxy{|}{{{{zyyz{|{yxyz|}~~}{z{|}~~~}}}~~~~~~~~~~~~~~~~}}|||}~~|{{||}~~~}}}~~}}~~~~~~~}||}}}}||}}|}}}}}}|}~~}}}~~~~~~~}||||}}}}{zyyz|~}|{zyy{|}}|||}~~~~}~~}||}~}|{{|}}~~}|||}}|}~~}~~~~~~~}~~~~~~~~}}|||}}~}}}}}~~~~}}}}~~~~}}}~~~~~~~}}~~~~~~~~~~~~~~}~~~~~~}}}}|}}|{||||{|{{{{{{{{zzzzzzzzzzzzyyzyyzyyzzzzzzyyzzzzywvwwy{}~~~~~~~~}}}}||}}}~~}~}}}~~}}}}}}}}~~~}}}}~~~~~~~~~~~~~~z{}zywsz~r|}xzz~~}}}}{~zĽ{wuusrnjf`]\XVRQRSVWVUUUUUTQQSX\^`_`adgggda__`^\\]^`_^\ZXYYXVSRRUVWXZ[[[[[Z[[\\[ZXYZ\[]\YYXXXURQQQQQQNNONNLIFDDCDB?===>==;:98731.-,*)(&" $(%!$')+-05;BINNKGECCB?:4.)%#""%&''&%%'),.00/027[]ODIWdjhvpKKr¾zpxjH>H]jic`^]ZTRYdeYHBPm~oknw{rx{rjeekmjaZap{xhXSV]gmrw~xy|vvy{x}}vmgjmqpqog[G)Q6zY38[x{loyϪlY\p~l\]kz{mVJN\mssuwjvvxxpp{}xtrlib_cafbUB W?(ХqisIpۉ[tԘvn~hB:]Z=QxqG4Irqnqlxz{odfpodWUcyo[T`qzz}|xtyz{}}yvvyzyxxtokggcba[]UF& :PwɹgujHXnmϦr}ѾnQMnd83Rlo\LVok[Zfrvwzxvmlu}{pc`cge]X[gv~{qhhmuy}}yxzytsw|{pmpsuqkc_\ZSPNF<+xf WՓ\OnhLO{eűƖtuxg7'Gun]_cbVJLYky}{tqwxij|rgdp{zldbhnjb[ao{}volortxyxz~zxuoljjja^]YO)'CĪIq82]m^cǚeaºͫsfW`bRYfnibbkuzuh[Xaq{|}{lm}sgiw~~xogfmv~~xsrrtw~~~||zurqyxvnbNEXm #zLjI=Posdij]w{o~ufk|yw~~o`^hv}~}|{vneehvuov~~wru{}~zusu||~~yplory|wpeOGX|k+ 4{C7Mnzzuday}wv|spxsr{}oghrz|{wplilpsuyzpimx~z}}zxxz|}zwwy}}xsqu{|yz}}zy~~~|}~~}{wsrsxywsnjhkptrnh_SWmU-0dbCMj|y{uouyw~tkwyoq}~xsszurx~}xsrv{~wpqu{~|zz|{xuvz}}xvw|~|}|yy{}}~~}zz~{zy{~|{{|~|yz|~~|zz}}yvuvx{}~{xutuy}{vuw|~|z{|}}|}~}|}~}{yz}|{yxwyz{{ywtuwz{yxuvuwywwuwxyzwxvwxvwxzz{ywtru|}qjn{xpqw~|z{}~~|y{~{|}|}}~~}{z{}~zyz|~~}}}}~~}}~~}}}~||~~}~~}~~~~~~}|||||}}}}||{|}}}}~~~~{z~|}~~}|}~|{z{{{{{yyyvuvxyzxvvuwwwwuuswz}|vurv{~}zxwz{}~}~||{{~~}}~~~}~{zz{}~~|zwwy|}|wtux|~{wwwyz{{{~{{zz{}}|zy|}|wtux||}ypkkuwmhnw}zwvxzywwx{~~}||}~|zy{}xy|~}~~}}zyz~||~~{xx{}~{yxxyzzzzz{zxvux{~~{xwxy{{||}}|{yz{|}~~~~}}}|{{|~|{{|}}~~~~|{z{}~~}{zzz{{|{{{{{yxxz|}}|{z{}}||||}}}}|}}}}|{z{|}~~||{{{z{{{{||}}|{yyy{}~}{ywz|}zz|~}~|||~~||{|}}|zyz|~~|ywwz|}|zxwxzzzzyyzzzyyz{|{{z{{}}{{{}~}}~~~~~}~~|}~~~~~}}~}~}~|zz{}{xvw}mdi{ujlu}zssz}y{~}{~~yx|~|z|~yx{}~~|{}~~~~~~~}{~~~||}~}|{{}}~|zzz{}}~}|}||{z{{}~{yz|~|z|~}||~~}{}~~}}|~}||~~~}||}~}}}}}~~~}}~~~|}}}~}|||~~}}xplqkTTm{pqusiepo^]k{vuvwzuim}}y|~tsy|{~{vw}yvx~|xy}|z{~~|}|y{~~{z}~}~|{}}|~~~}||}xtsyulny{sqy{{~|}~~{}~~~~{~}|{}|}}~~~~~~}~~~~~}}~~}}|~~~}}~{wvx|~}}}}}~~|{zzz}~~~}}}~~~}~~~}}{{{}~}~}}}~~~~~~}~}|}}}~}}~~~}}}}}}}~~~~~~}~}}~~~~zvwz}}}z}~~}||~}}}|||z{~~{{~~}~~~~~~}}~~~~~~~~~~~}~~~~~~}~~~~~~~~~}~}|~|ywusuwy{yxyyyz{{{}~}||~~}|{{{{{yxvtoibaejpppqqsvx{}}}{zzzz}|zzz{|||}~~~}}}||||}}}|{|}~~|{{||}}||||}~~~~~~~}}~~~~|||}}~~~~~{tmmt~{wxzxx|wssvz}}}|yvvz|zy||z|{{~~}}~~~~}}}|zz{|~~|{{|}~}||}~~}|{{{}~~~~}~}}}~~~~}||{|}~~~}|||{{|~~}}||~~~~~}~}}}}~}|}}~~|vonu}}vqrvwwy~{sqtz~zvvwwy{~|zy{~~||~}|}~~~}{{}}{{|~~}{zyz{||zyxyyz||{zyy{}~~|{z{|~~~}{{{|}~~}}}}~~}}}~~~}}}~~~~~~~}}}}~}}|{{{||}||{{{||||zzzzz{{{{zyyz{zxwwxz{{zyyyyz{|{zzyy{}}|{||}~~~~~~}||||||{zyzzz||{zzz{|}}{vpmnv}}ysqsvwy|~|uqsy~{vtuxy{}}{ywy}}|}~}~}||}}||}~}|||}~~}{yyz|}}|{{{{|~~~}||||}}}||||}~~~}~~~~~~~~~~~~~~}||}}}}}|||||}}}|||||{|{{{{zyxyz{{{zzzzzyz||}||||}}|}~~~~~~~~}|}}}|{{{}}|{z{||}~{tnmt}|tnpvyyz}}wqpv~|uruz{{{}}{yy}}}~}~~~~}}~}}}~~~}|zyz|}~||||}~~}}}~~~~~}}~~~~}}}~~}}}}}~~}}}}}|}||||||||{zzz{||{{{{}}|||z{|}~~~}||~~~~~}||{{{}~}|{{{|}}|}zsmmu~zrlouyy{|{uoqyzrrw{|yy{}|yy|~}~}}~}}}}~~}|}~}|||||}{zyy{||||{||||}~~}||||}}}}}||}~~~~}}}}~~~~~~~~}}~}}||{{zzzz{||{{{|}}~~~}}}~~~~~~~~~~~|wsrx~~wrsx|~~|xvw|zww{}{y{}|~~~}}}}}}}}}||}~~~}|}~~~}||{|}~~~~~~~~~~}}}}}}|{{{|}}}}||}}~~~}}}}~~~~~~~}~~~~~}}}}}~}}}}|zwutw{|zvttvy|}|yusvz|{xvwyzzz|~~}|~~||~~~~~~~~}}}}}}}|||}}~~~~~~~~~~}}}~~~~~~~~}~}}||||||||{ywvwy{{zwuuwz}}|yvuvx{}}{wtsuy~{wuvz~~zwx{~|}~~}}}}~~}}}}~~~~~~~~}}}}}||i\ar||rhhovwssqljjlnrx||{}zuw~ywx{}xrnosvwuuz|vsux|~yvyzy|~~}}~~|z{}}yspsz}||~~}~||}{{{{|ytusuxtsonqrqsk_[[pze[fv~qotw}|}}t{z~}nio{}wsruw{{xuw|}vooyzy~z|}z|~{z|~|xvx~{soqx}{|~~}~|}}~}}|xvuttsqtsqolmnqplh_RNVs~ZDNj~ws|yszxr}t|zsr{xgdqrjilmmpw~vi_euyswvt~~~}}~xst|}smnu}~zyywtrtzxuy{|~zy}|{xtyyxxpmljmeRSd`1$Mseqyuh]nzprkvy}lamspx}qkqz{pikx{g]g|xux{|zzxr}wsxytw}~{y|yssz~xz~~|~~{y|ywxy|ytpdVXjc1!NuWZjpicue_knv}|{ouihw}{{rko{|ngprhkz|uw~}xs|}xw}}wu{yy~~}}ywtuvwxsa[dn=$HyNKbtxpu|c^ilpxvwgm|ru||wuz~rimyunq|yplsvv~}{yy}~{}~~xvyzx|}yy}{z{~|~zy}~}{|~yy~~}{xwxwxxuvvtsnlme_gvpI-A|OAUo|u{zkelwnmspwt~ukruknzzw|vmo{{rqxzqnt}oks}{vw~}x{}|z~~~zz~}}||~{y}~|}~~~|z}~~~xuwx~zwrgdm}T5HXGYv|z}vopxqrurro~x|{sw{zus{xv{{wzzonxyx|}yy}}~~~|}}}}||y|}|}{yzxxyunlsnSLhrXXlwtyysrz|ty}txxntz}~usyxx~{uu}xqqw}yy|~ztpszwqqw}~|yy}}yvw|~zz|~~}~}yy~}|~~{z}}}~~}{{||yxz|~}|||}|{yxy}}zxxz|}}~}{zz|~}zz~|{z~~||~|{|}}|{{|{zz{}~|yvvxz}|{zxyzxyz{}}zxxx{}}|zyy{||zxxyxy}|qlozvmnv~|yyy{zz{}|y{~{}{x{~|~~yx}{|~~|{|yx{~|~~|{||{}}}~}}}}}~~||~~~~~~~}~~~~}}~~~~~}zx}z|~~{z|}{|}~|||}}~~~~}}~~~}}~~}~~yy}|yz}}||}~~~~~~~~}zww{reeuwecryuw|}zwvz}yy}{z}uv{{|{}z{~}zx{|yz||~~|yx{}z{}~~~}{|~}}~}~~}~~}}~~}}~{}~~~||}|z{}~~|||}}}|||}~~}||{|}}~~~~}}}}~~}|}~}}||~~~~~~~~~}}~~~~}}}~~~~~~||}}wuzxvx~~~~}|{|~}zy{||}|{|}|}~~~|{|}||}~}}~~~}~~}~~~~|{z|~wtv}|zz||{z}yuw}~}||}}{y{~}}~|z|~}}~~~}|}~}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}~~~~~~~~~~~~~~}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~}~~}}}}}}}||||{{{~~~|zzz|}||{|}}|{{{|}~~}|{||~~~~}}~~~}}|}~}}|}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}}}}~~~~}}}~~~}~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~}}~~}~~~}}~~~~~~~~~~~~~}~~~~~~~~~~~~~}}~}}}|}~~}{|}~}}}|~}~}}}}~~~||||}~}{||}}}}}}{}~~~}|||}~~|||||}}}||{|}|~|}|{||~|}|{|{||||{{||}}{{z{{}|||{{|{|}}}|{|||{||z|{{||||{{z|{}||}z|{z|}~}|{{{}}}}{z{z{}|}|{zz{|}}|z{z|}|~{|{|||~{~{||{~}}}|{{|}~||{z||}||}{}||}|}|}}|}|}|||||}|}|{|{|{~}}}z|{}}~~|{zz|~~}|{||}}~}}{z{|}~}||z|||~|||{|}}}~{{|{}}|}|||||}|}~|||{|{}||{z{{||}|||{|||||}||}{|||||}|}{{{{}{~}{|z{{}}}}{{{|~}~~{||{}~}}||||}}~||{{||}|||{||}}}}|}|||}}}~}~}|}}~}}~}}|||}~~~}|}}}~~~~}}}~~~~~~~~~~~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~}~~}}}~~~~}}}}}~~~~}}}}~}~~~~}~}~~~~}~}}}}}}|}~}~}}}}}}}}}{{|}}}~}}}|||}}}|||||}}|||||||}|{zz{{||}}}||||}||||{||{{{|||||||}||}|}}||||}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~}~~~~~}~~~~}}}}~}}}}}}}}}}}}}}|||}}~~~~~~~~~}~}}}}}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}|||||||||||||||||||||||||||||||||||||||||||||{||{|{{{|||||||||||||||||||||||||||||||{|||||||{{{{{{{{{{{{||||||||{||{|{{{{{{{{{{{|||||||||||||||||||||||||||||{{{||||||||||||||||||}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|||}}|||||||||||||||||||||||}|||||}|||{||||||{|{|}||{{{||{|{||||{||}|||||{|||{||||||||{||||{|{{|||||||||||||||{||||{{{{{|{|{{{{{{{{{{||{{{||||||{|{{{||||{{|{{|||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{|{||{|{|||{{|||||||||||{|{{{{|{{{{|{{{|||||||||||||||||||||||||||||||||||||||||||||}}}}}|}}}}}}}}}}}}}||||||}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}~~~~~~~}~~}~~~~~~}}}}}}}}~~~}}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nOtI [0!~ !ia&!itYL?a&!~tYa&!it EG$@FD"lF $Es9D$XBZ$?D\$ j&r%* n=,brL*L.fcommandoskins.cMDo5Ivana \ oO[(r #Xu[(!u666666 Bp<rq v| [0!J !Ga&!irYL?a&!JrYa&!Gr rO1 !C BIV// =============================================================== // This package is for use with the Partial Conversion, Operation: Na Pali, by Team Vortex. // BruteShieldBeltEffect : Used with the brute to fix up a low texture problem. // =============================================================== class BruteShieldBeltEffect expands UT_ShieldBeltEffect; var Texture RepLowDetailTexture; var float BaseScaleGlow; replication{ reliable if (Role==role_authority) RepLowDetailTexture, BaseScaleGlow; } simulated function Timer() { local int TeamNum; bHidden = true; if ( Level.NetMode == NM_Client ) { Owner.Texture = RepLowDetailTexture; Owner.bMeshEnviromap = true; } else Owner.SetDisplayProperties(Owner.Style, RepLowDetailTexture, false, true); } simulated function Tick(float DeltaTime) { local int IdealFatness; if ( bHidden || (Level.NetMode == NM_DedicatedServer) || (Owner == None) ) { Disable('Tick'); return; } IdealFatness = Owner.Fatness; // Convert to int for safety. IdealFatness += FatnessOffset; if ( Fatness > IdealFatness ) Fatness = Max(IdealFatness, Fatness - 130 * DeltaTime); else{ Fatness = Min(IdealFatness, 255); ScaleGlow=BaseScaleGlow; } } c'{Ok :u :q%d<q?o:do:6I?_,6I?,6I6I?,6I?D?_,,6I?,6I6I?,6I?D?_,,96I?,6I6I?,?_,?,YdI$"dIq(-p-o(PIv 9 ?%v G? 9v #?.?v  r-p6%6](?p(, ?} ?t-SAccel:XISpeed:Uz v ?%Yv I$"K >P@F )\=TJPTTP?J ua6J6J6J666 BGoz!CNi)R _!w* Ri)  t<T_ \ wL!i !D<?a&!JTIa&!~Tuh?a&!iTua&!DT TwOx,}Oz*~"iaz*F+].a uOcp%avvw*S$c cv S$w*T}vCwT*,T vT }33s?e TTTT vT }33s?e TR$TTTcT vT/a0 GwGG #G-EG E?%G E?%G GTG)oG ??10YTT $"Jr*TTT TDB?X94<D _?%D _DDr*XR$*:we *oCe ?wCe  #???{iD6w,iD6w,iD6w,{De  ? ,,k TT ?xDT ?, -pCo{ O// ============================================================ // olextras.TVTranslocatorTarget: bounces off collidable actors instead of just walls. // ============================================================ class TVTranslocatorTarget expands TranslocatorTarget; simulated function Destroyed() //ensure that it returns { Master.TTarget = None; Master.bTTargetOut = false; Super.Destroyed(); } auto state Pickup { singular simulated function Touch( Actor Other ) { local vector NewPos; if ( Other != Instigator ){ if ( (Physics == PHYS_Falling) && Other.bBlockPlayers) HitWall(-1 * Normal(Velocity), Other); return; } if (roleAMAeNlCCC@DC@Di}qCN8elCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DlCCC@DeC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qCC@Di}qC~eL>L>>?~"'*+''+"1!4457'*55>>-:!7GG21Q*T7V7Y@[@^`b1fd2j:-omrttuwxyx5nnxvu}{zy~A\?HW85,6~trqoD/*mF<&$ljO4QihfK'w.;( # 3 e2    d@bB`^M]:I[Y"X1G>-VTS7nm uwtutux|{yzxvyxwyv5}>>}@@}[[}GG}77}VV}!!}++}**}44}5rsmqopm-mnCB-'-.)(':'lED::;%$"#jk"2"iNM2123PO1d1hfgddeJI&twv mm---''': ::  " ""2 221  11d dd            bc>5>?`a@>@A^_[@[]LKG[G\987G7HYZV7VX !V!W0/+!+F=<*+*,TU4*4SQR5456~ !#$%&()*+,'./0"3!46789';<=>?>ABCDEF7HIJKLMNOPQRSTU7WXYZ@\]^_`abc1efghijklnopqrsttvuxxz{|5~)}d~d4x<xWoyN cF d WY c @YY22  > !I!F$")K#!I$!I%!&d'q(>)p*+r,p-.p/>0p1q 2D"3p465d607,|8>9!:D;!<p= >ƒ?d@AϘBpCD!E>F>GFH>IdJ0KpL>MpN>O PpQdR0S T0U V,LW!IX!Y!IZ![r\p]^p_`aϘbϘcdde0f g0h i>j!Ik>l>mȓnoϘpqϘrdsϘtuvwxYyYz2{2|2}~d~1eA?? >m;  " " ""* *v"Q\0 P@Prkxx+q+ Cwqowqq[0[[4trqokׁąZq}Z[qqׁÎ[lKK,r[st-sqsx}xxxskkq-00qk9t[Ā00Zstq s MZ-0x}rttxxr+tkCrqtss+htp+olqqqq}xtC[[Z[tlqk+lqrr;+Hsxkqlq.+{qq{tt[ZstskrqqttqPÀxCC[rP0-{9w,wo9ttҀsqxxxxpssfsk..Cqqtq+l+q-Zs}-M--+x MCZZx\YrPxtrrfxsqkttsksxklkqqtׁqlqP0C+sxсqk+C}C[r؀+Pqqqt_p{xxrl r+rZCtt[P94txxtrlspPÀxqq+qqqlPqsxtklro/YtktC}qqtspxxpxsxlqkkkq9/ZZZMxstCZ.P+-ZC000x Y\{PZ}lklqtpk+ststssqx.ktqqqrCCs[}q+}0}[}[qH&vsoksxl++q.flk.Zq.-ׁ4YPP؀sksxqPM0xPktqk+}kkho.[C--P-xpxxsxxssktltqtrqrk/Yt0C}s}Z4C-0x-[0M0}Y[[ookslrtk+tkqtqxs-l}kkqtkqqr00CҀsZqCrr+0-x[C.Cl.PqswqlHxslkqqlqlqPZtÅppx}}qkrҀ-rqC0-qpsh]}qqrkC0xxxsxxxssklkkrqrtrq}}rw\l-]sPsoP--Cׁo-00ltsPwhCPqrtfq}+qttqlfksqkqtlPsfk+-0}[+,{sVpqpptq+qkqr q9+r׎C.Z}/spsks}kqqCsCPZ[q9r+Pqkss[ZtPqrksxsxxpppxxqx+f4qqtlҁYY 4-C0Zqxs+t+ttCCMZ[P[ZxsM[x-{r{oklrrqqkklx9rqtxt +.rlqtql00tׁP[.PCsZZ0sā}ZrP{wkL~LvpHvLLLvvvvHvLL_;;;_:|5L_<___L_Lބ||:|uӇLL;^__ބ_______________5;LLuLLvv;u:u____L__u_____;vv;;H^vH]Hpv7~gԆz~RdRdFFROWWVWOdWe###nRRR#de#cccO#c#ddcceccccecc#cddddOQ>RV##cceccdc#cdOINUAUU~g`WЖͪ=bGϚa=ܭܭ21Ϯ2E2@ֲڮ=ըG))88?ۭ֭֜۱8ۡj1EyE1a=SGS@@Sᓲ֫"GSSSS)bbbϵEiyyE73jܴ֭E"G=EiEGGⲯG֣1GGb>$Vc gz`Ф1鏧٢֨bܱ=2֭8ܷܷ֘@8ܜۭܱۭۨܡ=2="@2@?֫ȼɫ?⸼=ȟ՘ܱ⨲ȭը?ۨWW`Vccǟ~W'Ea٬۫ȸȯ=bb1=ܱܷ2ܭկֱ88ܱۭۭ۫ۨ=2ܘ"Gb3ָ)2۷ַ8ܱȼ֘ȷ㨨֘֘2㭱ܱ󨘫㫘֘ۜܲկɸ?1WVeƧIaiֹȫֲ3G88288ַ288ۭۨ88ܱ֘bb?)G)Gּۯ88?ȼ۱@ɷ2֣?22G"㨘⨜2֭8ܫ㕘2ۨ֯28ϯɷ8?"WWVEz >Gۡ)ڨָ=շ2bڟ82ɨȨ 28""8ܱ8ۭըܱ?G@㘫Gb3ɼܘֲ8Gɱ@8ɽȭɼ"??@=㷘?bb㫣ɡָܱܱ֘ۢܭ֨շ?"=`W#E'բ⨣"E?bGήܱ֕88?828?8ܱܭܱ㯨֭8G)ϯbbܱ毯ⷼGϷܱ⸸8۷S")"ۨϹ۫ܭ888ܫիַۣ֣22?۸٪(VW ̤a2ۘգTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTɹ```V觪1 gະȨ֘|uuՓa%z6aWփ)⧩%aƞ>ڪIQИa3b(`΢TT33ڹzaաKW3aڷz`a`ϫ͓Ͱ@zI٨Ʃ3GưژTऩ>1=ivdzHƬڲm|>Ɲ⌌ƩmvVG֬IͩwWGܧaK%bQBGbǮ܌T=ȋT? K=ݷTQֲ񚭭=?TȫիTFQeɲTIᣨT̞1T6I2TT~IG⌋ʖiTb֋zꠣT|azV!T~~a T̔~~T~Ԕڋ~TOگTzDF̂:nږT~Qa݋|nTJETUQگ~VTzIگՋӉTUJ=QŇTJ1EQ~7ET|JQTQGU|iTFηDTFϵD˞ETD|DVTU٢ކT<~|abbǩWvvppTTTTKKK]QbbР`:pHHx;hktHsk-kfY qx\}]Z /Y\\BXYxxMM]Hs;L+TBY4.x0/\  f,\Y\\X.txx9-sÅYXKh+P^Msspxssppfk- qxskskkpHHkffxk+  .- PHxw\Ysx psfxH^Z  MMM]pH]]TTTTKKr<%SaaVFvvvpw9l9tt9Ko+t+4.lqlloMYBKY\Y\rPqĒYwPHH9K\4lr,YY949 C.X /\KY…{k\XBP0CqPZ[qr++߁.r9r9xPk+hroqq  hl [Ā{wZZ0+ Cq-]00…oXBKhKwLO%%ƖbӋ`ږЏVFvvHp+9rl9lpksrwwltr4 4lqPrrtBX}\\Y[trqZ[lp[ \[]]KX9rw,q9Y4\ 4\Y9rqClo{{X/.0trqqqrqro+/4qX Plqq[Ctqrqtrl+ׁqC4l/ tÒhZMM-s0Z0Ē}00CZMZ[\qYXKKoLQW`НWWaaǙ蝞ЍLHqkk.qxsqlrwqkq 4/qqlqkkxPXX9 P\\qZMZ}.qxHB/M]0YXY.9,rq 4//4{ +l lqҀ.wwrq{ -qqqqqtqlqlq9.+.YwPqqtq[Pt+qkq.P4/Y+}Z[.++[CMā+M[ZMZ[00MMCtM0Y+qYXKhvNV*``a?(D͠VQ|vlqs.-tpp+qtkoo ,+sąstspsāY/40/9}M]MpspLX]^M4Y4s+ss+4.0P4-[0[.ssx}ss,ossstsk+txxsk-Pxktssqwqssttssstxxp}tppxt+xss[[Pss+MM-sMMs]CPsMMMMC0 M]Zks}MM]YsttYPv&%a'ԉWW`vvH]vHHvHvH;vvHHHs vH]  ]]^HHHHvvv0MM HH^^v;L;vvL^L; M HHH vH vH]]] Hv]M Hv^^;vvv^;pHHHvHvHHHHHHvHHvHpHHHvHpvHv;L;px-pHvHHvpvHHvv;HvvvL;vHHHHHHHHHM]MM]^H]];vH00H^^^ Hv;;vHvHvH^;^^ ^pH^^;;vvpv^^;^M]HvH;^QV>a`eG37 V>VVV#####VVnc###V`'$eV$OV##V####V#cVVVccc####V#VVVVWW#VVVVVVWVVccccdceV#3>VWVV$Wee#``$$$VVccVWV#>a喿ڬԋ袓ծ1iGٟ!)ڟE!***!Ey!!''(3(!bbϮ1)"a۵%1((!3(''a(3!Ea%(7%b'Eլ!Eڟծa33((11E!!E=՟γ%ڬ3b'3bGbSݟbSa!bbS3b3()b*(bb3(3ղگaQܣըϣ㨨ֱ?⭷2"bbb2Ϭ)"2)?22"G㘨))2)b2"bbG)=㨲b822㜨⨜֯?))?"֕"?㨨2)=?@))?@S=ܨɷ2)))G)"۱֘8!|ܢmՕ2 )ab"㨯ab)G"֫==ܡ)2⨨=ɸɯ㲨)֨3(@?㫣b2?ܭ㫨ɸ2֕՚a3))=)ښbɱɼ㫨ᯯ"֨3a뭯=2㘫G!"㘘=㫘b۲="?2֨㨘ɼ)"")2㨨"""֘֨)""3(?)㨨㭨G2⣨ۨ֘?ڬ?GE@")"1ȽϕַȲ⨷?ɼ"۸ȱ28SQ=ᨕ2֨@=G)G2ϘbG)"֨"ɼ22")G2"2֫)"))!ȫb)2֘۸⯨)=2?ڢ2)))")?ȼ֨ȷ?@))"?@2㜨ڨ22"1)2㨯2"8?")۫Gɽ")bG)֫)""=!"8֫b"2㨨֫2֯"))"G=3=2"=2 @@ɸ8ɨ?G228ܱۭփᨣ2۫!⨕ָ8ɱ)Gɼ"abG")2)֨8֨b)"֨֨2⨲)"@=)۫2)2֫@@ɽּ@Ƚ?))Ƚ"ܭC@xDSC?SND PB((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7((Y^qAʴ`?/?/$/ƏFLgq9~cNӏ>~ӝN`( 8q9'?>1GȰ8@(.cю֎07D׼h @I^YIvYvI^Yiҡҡi^TҡYTiաաI^YI6Y6I^Yiըըi^ըYiҨҨȰ800000(00((.(((ȰȰ(Ȱ֙֙֙֙00֙֙707777/(.?//?/8$/88֙֙֙֙77֙֙I^YI^I^YYYiҡiաաiըҡաը֙00֙֙7P>AMA3PC@xDSC?SNDaPeC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDC@xDeSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDSC?SNDe==L>?Z       " "&&+.-/25469<;=@CBDHHKMPOTSHZI_b OOOSSS ZZII~0E@    #"}{Kywv+' &&( %()#)usqon l!jigfda_J][Y* $$%XVRTPeN89CEFG5712<>?@.0@      !  "!!~}I|{zIyHJIxZwZvH u&*& &%  %'%"$"$'("$" "(tSsSrqpSoOnSmOl " Okj   # ihgf edbca_`I^I]IGH\Z[HYZX)&&&%%%' ##$'$$#(#(#WSVTUSQSPSROMONd # KLO467768@ABBCDBDEEDFEFF234456-/00/10119:;;<=;=>>=?+,--./Z       " ")*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNMPQROTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Z;;6q  6 q VV|E7ةɩ7ةɩ|VV !"#$|%|l&|7'|(|)|*|+`z, z-`t. z/ t0`p1 p2`t3 t4`p5 t6 p7`k8 k9 p:`p; t<`p=`t> z?`z@ kA`kB pC`kD`pE tF`tGcH;I;/JcKZL5ZMZN2O52P Q2R2S5 T5UVW X|YcZ; [c\g]m/^c_;c`m/amcbm/c;cde/fgh/i/jZk5ZlZm2n2o2p q5rs tu|vcwgxcyczm/{;c|m/}m/~mc;c/// k`k p`k`k`p k z`z z`t`z z tVVVf?? >o<o<eo<5e<]e<0e<{7eeh:eeev4e<|o<xo<8e<{)S>O#S>[ T=R4e<}7T>y4exeq4e<^;R>Z3G=O2ey e} T=A!G=qS>P0eT>DT=Te<|9U>s=o<N ee<V>ae~!em2T=H-eFT>cel!eZe| ezel5S>E$W>U<eN;eM+eN:S>P4T=C6T>HE=d6T>d=T>cee;e<\=W>LS>T*W>sW>M<W>I(S>Z,eE<eK,eq5S>@!V>4T>Ho<S eEe<^S>v1e<]$eY<E=\+W>a6S>cS>k S>gej e}!S=ne^(S>c5e9e<]4S>ES=ne<{~(G=)E=},U>O"V>F5owW>`6oD-S>pE=heZV>}S>|eM,E=eV%T>DW>s/eieEeFe<^4T>~emW>LS>D6T=B6e<eT-eF)S>^E=$T>xeyE=7T=S2eO T>QW>OS>^'T=J1R>t;T>_(T>Der e<]&eS3T>u!T>a0e<]'U>G$e<=T>e=o<F;e<{W>j5E=O-T>g;T=B6S>R"U>t=o<~&T=[$T>F#er eJV>JT>q)S>t!V>v:S>v#e<`#S>WeGW>eT>]2T=]=T=B0e]3T>m0er!U>W!e|3S=P#T>DU>r R>V<E=MT>f=U>C0U>{2U>rS>F>S>C(T>R$e!F=QS>E<W>n2U>L,oCeBekT>1U>g"T>C2T=],e<}=U>I,T>S e~ e<@>ef$e<~=ej-U>Q,T=G%ej%e{ T>`e\!U>eT>X2eHK"E=KS>|y"es!U>i5S>J/U>E.T>V-S>O<en+S=]g,S=P1R>fE=-S>^=S>i-S=Q1U>~E={e}'F=ZW>N1W>OS>["T>sE=:S>~+eW$T>D,eqS>e,T=G6S>dS<E=HFS=|W<V>](F=lU>/{'T>QT>K)V>zS>i:ew*eN+T>_=el3T>]C1E=%T>o2S=7Q e<S>c!E=$W>~ S>H%V>p|'eRx!eT1S=SF=phT>Q#V>a~%E=u V>mWU>eT=a%^;kD=t+T>s-o<vE={U>G1E=$S>de] eN"T>H/S=kV>F#R>GS=LB,F=MU>Q!T=Q$W>S0o~*E=*@E=XT>fo^S>m T>n eW$U>X-T>f-eP=S>k&U>ed*F=CU>I3R>]X3T>o E=XE=Ne}O S>{ e^s/T>f T>z)ec1S>l5E=dV>Y*elU>g-el.W>H(U>_$U>w$U>pS> n(T=]%E=4S>l&en!E=x,T>~U>QW>HE=&E=eE=NE=]E=nE=cE=fE=mefW>y2E=WV>q=E=`E=gU>H6E=SV>^E=lT>Z2T>Z+E={U>I(T>R1T>E0E=}1eFU>M<U>c(S>` e<\3U>H(U>j,V>P"U>uE=%{S>|$V>qS>7^;U>B%T>r)W>\T>^-U>BV>a"E=t T>jU>mE=^V>x6E=lF=ZU>K$E=KE=]S>]D#e<['e}e$eXe{&T>He"^;js&eK(F=Ied"E=q.V>^*V>h#G=kA!T>CE=.T>IV>]*V>\*V>[*V>eW'V>^V>`=\=|_V>Z*E=.V>~W>v,E=KV>W*eSE=aKV>U*S>p(V>FS>|#e<\)E=h!U>Q"E=xV>V*E=J\=IeX*T>N/U>E"T>Z"V>H#E=`S>|y#E=E=tU>B U>RO'F=YE=Jeh)F=jS>u=e/l.e/g-T=q%S>` U>Ye\,T=y*S>mT>nT=O)E=c6S>~'S=~3T>v*U>7f#S>p;V>F-\=@S>|ek6en5V>u,S=^z#R>m;V>yU>pU>J,\=B4\=b S>e e_*U>tE=-ep` S=RM S=R^ S=@7ef)E=nU>j"F=yS=d&R>S"V>I-E=;T>kec"|2lW>tT>}ze<~U>bE=HE=GV>1v$T>]T>U0en0ec^U>X&E=z|L;ocP\=tU>dg<F=R\=QE=B eS+S>2PE="S>2^E=oej^;vo;L4\=a E={eg%E=~1S>p=F=KW>Y3eV1U>v!S>}T=3V>b"T>[+U>f5E=UeD;F=@V>B"U>F6S>y^;M eE,S>[ D=k{!eM\=N,^;NF=ZE={U>tE=PE=xF=|E=xS>(v\=gU>d2T>U#U>\$S>Se=f,eDe}:E=RS>EU>a$E=AT>A6S>L!E=E=[co<DE=E=KE=.E=rew E=^U>})U>g5U>`$E=qE eaU>mE=Ze_!S>X#U>Z1T>h3E=IU>yE=$U>TE=LS=o$E=6GT>}P%U>x$U>Q U>yE=E=a.U>CS=hS=1~,F=}MF=}UE=MU>w,U>v/E=lE=1o<^;xOE=%-T>e1U>H1E=aT>x E=*T>F$E=[re<`4oeT>y-^;VaE=Mem5^;KYE=ZE=xS>b(E=ME=6sr:kE=m{E=oE=xE=fr:heNH"E=]E=BF=ME=KE=.E=$F=ME=dU>de<9U>g&E="_E=@T>U0T=Q'U>c*U>eG0E=E="peeV'eo,E="recE=WT>r(W>n4F=7[e[0S>fT>y+U>X)e<_'eW)U>Y)U>U)U>V)T=GE=oU>O U>T)V>b$E=BE=@E="Y E=DE=AT>c0W>W,W>@"E=E U>E-E=epE=vE=gE=KS>T:E=UE=EE=7F=lF=LS=&Y#E=yS=&z1T>LU>A4c:{E)E=gS>j!e<{{(F=7vo<oe<_#^;jr&^;jw&E=Y^;jp&ecu^;jy&^;jt&E=\^;jK;S>|x#E=f eA6U>LFE=^ T>`(S><F=N^;8M^;8RE=jE= ZS=$Ve<`&E=eE=hE=` V>x"^;Yp^;YE(r:B)E=^ek$E=hU>NM"T>f;V>@;U>N$U>NV>w/oc(W>[I/E=Pesy!U>k)U>j)S>NN"E=M-U>f*S>g=E=IU>[)F=lE=SW>S,T>q.V>h=ev.E=BU>b<U>H,S>GT>y!E=sE=^; F'E=L:e<^#S>}#E= {E=A$E= RE=V E=gE=f S=aQ4eh;U>W%ef&E=UE=l1E=r/S>^0e<~6T=d!ei S>\T>RU#U>g*E=RE=hE=T7ez,eo0et5e<{%E=OU\=p}%R>Uc,E=Ze<|%U>K5E=~E=U>A"U>E+E=FS>Q;S>q!U>uS>iF2E=~-U>n%S>Y/E=[E=_,\=dS>p!U>}C E=a-E=R0E=y,E={,e^;8I^;8LU>m!E=asei%^;Yo^;YnE=E^;Yq'E=LcE=_E=_ E=CE={E=Q U>nT>dE=^U>x2^;_E=VS=ed,S=nD=Oog0eI1T>G"|(^;Y`'|{|zen"^;E T>#s$S>$K0T>F0r:`U>`!V>$l/U>w!S=VE= Yez e]-ec$E=^;8E&T>`S=s$U>P+E=eP^;8KE=cGE=xe`S=^/^;8PeU,S>A|mCS=F3|_E=}*E=|7e<$ee#J"R>u^;-B |z(E=LT>{ S>T:S=p^;YcE=C-|2jeN<E=S>C/R>2J^;YsE=pUE= D^;Y'^;KD^;YF(U>]S>}.E=x/E=-^;KU^;KUU>|!E=vU>j$E=/DS>a,^;YdE=/Meps(F=] E=:E=[F=BE=/T>X0ei&T>QT>L/E=/YE=EF=tepH0E=$o<@(e{$ed-S>_"U>P/E=PE=PF=yT>w(E=W^;YwE=lE=ef&e<\%S=e%U>I,E=KE=R E=tevE=iHeh<E=*U>T"E=dP U>dG(S=$s"r:J V>\E=IE=q E={^;e(^;H V>$A!V>$o"efbE=HV>G#S>t1S>r1E=DV>A!T=jT>dx%E=:e<_%n:A(V>o"V>l/r:Bez%E=w ez'T>d`<S>pE6U>o3e<_&e8bU>sT=|=eh&oI-U>j&\=m&r:N'T=l r:F7U>c2e1^$V>1z4S>1J$S>1H$e<[%U>^2U>pB E=uou%E=vE=Ge~#eVet#E=n$E=|I|D(E=dgoI$U>B-S>|}"^; u9^;ju&^; G'^; H'^; I'^; C'r:g^; K'^; L'^;jv&^; A'^; D'^; E'^; B'eT,E=7S=@u(S=@v(E=U>te|E=]S>MU>9e)eW3E=BU>`2E=U E=keP3eaE=[E=E=YE=U>jr:ke<])e<`)e<^)e<_)F=z E=m$E=X;E=XME=XYE=dE=RE=r e<_+^;VV U>N!E=N^;VIS>E;^;VhE=D ^;V}eP,|2iU>k5gc1E=S$E=S[E=WE=MlU>L"E=ek;E="oE=BE=fE=eo^;WE=F^;Kq^;KA^;K[^;KP^;Kj^;KxS=a;e`%U>c#|TE=aU>e)U>o5E=)E=cEE=AE=ek/E=]U>B7S>j6^;VWE=ecE=e;U>S*^;V~E="GE="c^;VgT>cU>[;E=W7E=B^;VAS>eE="zU>T0ed)|L5^;VrU>Z)E=eGU>i)^;VU>m'^;V{|B+E=Rn|g#^;KQU>@*E=XE=]V>G-E=oE=%PT>A3U>[,W>t/U>K/S>O%S=iVT=Z$E=X U>J%E=rT>@&^;KlU>s*U>r*U>q*U>p*U>o*U>n*U>m*U>l*U>k*U>j*U>i*U>h*^;Knet*E=@E=*T=q(E=[E=kE=SE=qE=gV>y.E=-E=$E=IS=ip3E=`eW-E=m|m}E=ver0E=w2`@c n-C^kQl|rohh5Wm/ec's g:AAQ2Oc]XQl@P! } e* I@R: V0K4ctxv q g:g@.u\. CLmP0C4 } J JAd.]gOk[G zKg:A 9y4 O `5 [ n @jh  j4 h  k4u  i4 C KC P u7 \ j.i 9g: y y4 F H=R \g:` e* n A{ E%CI U5L 1g:Z ^(h  C w |OD Y/S K  a E: m Tz ~yxJ r+ B n- O 9C$\ 'D< k g: x g:E lRS D3e `*s N%A g4 O XI9\ r5e lt L!D g:R m/` d.n md. | x!I \BW 0] Y ,Xf d5t ^%C ? {+ Q z ^  m/k &g:y ye G @.l \Ez y n7M 0v \ {+i D>w TE W D3U 0S4c `5 q | O ~ D3K mY ! R!h g:v {+D U MR i6_ ^7 m 0u z q4G R U d a A=n n-| " `5 J k! W < n-d NOr C( A  |4N qk\  b,G AQpU _7 E  `5 R W `5 _ n-l `5 z EuG LR| ~ N 9 t4[ `5 i Z:v Y:D ! `5 R {+^ LD3l H^ { wBY f2 [ x-h vg:v lg:D L!R d+ ` okm @-X Cz f jr a@ g:N 0r \ `5 i _5 v e*C `5 Q #F,^ F>l g: z g4G zj5U jOc SI7r zn4A ;`5 O h: \ `5 i D `5u g:C 9O$Q 9t#_ xqn z9 _ `5 l `5 y o+E ` S x n-` r {+ n iG+{ x z+I g W o T3e n{+s V,A a1O A1 ] 0R% i ! {+v ~V+D n-S I8a Ug:o  a/ } '{+ I n F,V n a2d | r Z/ n-M {: [ e2 h t3u ~g:C }9 Q L>^ Uu)n O; } \5J ~S- X {+e H8s A #e*O 9H] 0%l 5L1z  {+H T V ~ c [2p B^  [2] g:l P! z `5 G D3T o: b h `5 n R!{ vP$I v% W `5 d Q+q 2{+ j5M |[ cp" j p- w Z5 C n4P OD3^ Tg:m  h4{ `5 I A-V #`5 d i `+ q # ]~ `5 L 0Y  `+ g {+t b.B #O  Q q+ ^ qd(k z+y A-G H z U }/ a D3n J)| `5 K z W ^mkc H ^%N Mz \ n-h fI!v G: D MR Q q  ^ rk d(y {+H s V {+c P- q c+ ~ aSK `5 ^ b5 k ; b5 x w E KR n- ` zm _`5 { W5H R~4V s.e Gs {+A 0T4O n4^ @-l  kz gQI S- Z c.g ]{+v q: D P n-Q ;S- _ rq<l g2 z Z' G a tT g:H Q3 V C sc  d;V q4d B> r g: am M {+z {+ H o l)U n= d } pq W 0a ~`5 o  Q| 9D$K z/Z #n6h  jv #a2D {+R c ` D0q R: @ x(M k+[ `5 i P7 v L!B P0P {+^ k+l L!z c`5H R V _5 c K`5 o AR2{ Q+I z W Sp5 c n-p }Q+~ n-L Hq  Z Ss  f Av' r X7 CR M U^0Z !u<i In4 w aD `5 R I!_ @Jm Z. w G- D dG*Q k. X U- d F q D `5 M `5 Z z+g 1`5 u SJ7 B YBO __5 Q im ] t~ l e;x H4UG Zn\ <B>J `5 X n-e aQ=s K#A Q+O q4] s4k L!y TG ( `, V -c %p- q H)~ e0L U- [ n-h ~"v |_3 D Oo/Q {R%_ < n4 m R%z u3H n-V A: d V4 q [1~ |n4 M KZ {+ h y4u v4 C ]( P u6 ] 5 Nj n-x NF h(T {+b {+p +H ~ 4KK Q+Y z. g w+t I _5 B g n- N SL7[ T(i p- w J|< D R Q Z<^ O l p- y t7 E DhR # u6z 9 w4H z" V  Q+c g:q ;K g:M \/[  j ( Q+w J E g:R @` r3n ct6~ +4 L n- X r+e o m) s V+@ R% O X r+\ Mij @AS R%T 1s$ b @0o / ~ ! o4K N Y 2 s$ f I> s Op/ @ Z7M Om/[ `5 i I+v s7D n-R J> ` 'B< m K#z \d+ H ~W: U g:a <Q o {+  q+ L A%Y !{+g | `5 u [OA _m.P o x^ ]. V ch c g. K ~XcX Am { cv4I `=W 0\ e s.r `5 @ M!M u6\ `5 j |1w G E SK7 R eU1 _ } k n-x ^- F SC7S ia D& o  a/ { y( H qrU qFd n-t ;V+B o`5 Q s{+ ^ &u' k ix |8F l: ~ }6 K |)W g4 e p4r p- A l M S z Z s4f d+ t _6 A `5 M [<Y Y g it n-B S- P  m4 ] 1n-j n/ x }|)E ik- S {3_ Vm h~ { \c+ G `5 T a~ a mu/ m 4iz ^iH JF# V 4J c o7p i~ _4 L J Y in-f  L!t  n-B # C#P # R^ `5 l P$y Jy< G V+T Ec 0Y r G   B L `5 Y y4e K#s p4A  O=P  P$_ ) n4 m 8 b5 z q4G jU n0 c `5 p V4 | b5 I vV z {+ d {+ q }~ \KL n4W  ie H R s j+ @ |,M ]0 [ ~Eh n& w ^% C n O  P F# ] I Q)j I `5 x n-E '{+ T e*a -o ) n-} q4 L  ^3 Y D _5 f w@s ;F# s W. @ B>M t2 [  0h s4 v n-C i3 Q k3] m q4 m m l= z p- G Q+T i 0b n-p {~ g:L _4 Z Rg L O w h n-D E l)R y4 a v4 n ^ `5 {  v6H 0W4 V P0c 0X4 r 1a   pJK Jz< Y gu/ f {/ s {+ @ 4n-M  [  d4 h  p- u v9 B 5 n6 N t [ 5p h P u \P! B s O a h+ \ q4 i y4 v 2 a  Ct< O v4 [4A h a u4LB'F/ P~0 \b/ i+R v`: C2g:O`5 ]l0 jt wQ+DA3R g:`I+ nb! {s4H V#VC- d K#q N5J@=M r. [J<gQv g4Dc+ R X.^YJlA3vX5D@-R n-`SH7nq4|Sn-J n& XO4db%r |,@p5 NBR [SG7gFcu L!Dv" Rv+ _u$lNg:{<nIxL!W2D>ews{+ B L!Ow- ]T\ j A3w C#E`"S@6CaKn4 dL>qC#Ay/O\a: _G+lT6zvDpR( tN( A#b2 MG8 Y ]7 fI+rO R @L! L A3Yigp- u$ K6 B* R OV6 \ Ki b-w b,E$ N6 Sy4 ` M=m|S$|W&JY-pz0 ]oSj u6}v5WKK= bL= ocy4|j1 J|5ZWJx< qQj5 ~O R Kx5QWOHhVpT/~ M4 L R YVe5 0sp- AD {" ND |" Z Ug C#up- CTg4 P s1] `- kkjlx T d]5qD g1  y4L n-ZV5 hUaMuFBo x)Pj-^p"m{Gu6Il)WGW#e= Vs7 VAy |" Ob\# Uj^^%x p- Fg/ Sh/ `c mi/z~r+Ip- Wj/ da4q r; o6 N{" [|" g [7 t cA N=Oes  ^k7 jy0 ws0D c t P! A|" M |( Zc igv0 urn- Bq7Or7]Kw7k0U4 y0N4 F@8S|0 b}0 oA1|r S$Kqe6 Y4G f@`5 rp D2~ w L>[Y5q hX uKA w Oc[ikiJ{< T `5 a V= mX;zx9 Hy9U{9 ck' pa1} Q  K `5 X Edeo( sN)txN\A>\`5 jaVwTp4E g1 S n- `Y' mfKz `5 HW4UY= dO\"pX, ~ s2 Kq0Xp0 f G> sp- @O`"M~/ [`5 h~2 u[:A|9Oa Hy4Uj0 cv4pA ~'C< KFg:Xz f2x;r1E<@ R O1c+ \ q4iB`w&g6 W wdKtt BD#NP- \n-hA v`5 DO0P`5 ^}2 jgwxn-F z2 T t2 ``5 m0zg: H s2 US R bm I!oH* }#t2 I#s2 V G+cnS$ qS ~ 6 K`5 WQ0 cVon- }#r2 JTWm M> e#s4 r&t' B>L_0ZS\"iS`"wV- EQ+Ru6`|( nxC#z z Hol2 TMn- axUn\0 |`"I\-W[ e r;E\"N\"\`0jk- xSQ D`5 Py {" ]aqiJB ZJs/gR= vn-CQ QJ~0]{" lE>yp- Gw- TZ0 a}- nA-{}Iv- Ww# dD# q|-~ <Lqu6[q4iqY wJ0 G\/Td0 c|z+o|_4 }I0J v4X y4fw t}~Am N> |-K c<Y^/ he uu4B I8Q|w``5 nH> {On/ H E -Ug( BW" O}- \r~iR/gEu4u_ Cro$ QUQ  ^j-j o! y@-E|/ S W= `P! m_4 yx1F(F/ Vk- bM(nm: |HWH=@-_ _2 mh2yp- GApbT\2v. j5 Dn4Q`. _a.le. z+ n4Ga( Uj: bA[1 o };d|b: ` B3 mvI yvL3 F~F# SV`G, oP g4 {p- H}+ TR azn g4|{ Jcq1 Wacco1 qce;~/ n4 L/ T- Y$ h5fi1 t% X3A {3O n4 ] T- j \2w h5Ed SJ [`qyo nh Q Vx _2 bc @-nI n-||`3 JX(dWP2 {|z. H d  TV; ` `;m Q | a" H b3 U V/ bj n- n j5{ c3 J e3 Ws3d V/ tz3@ s' Pr= \h V/ hf Vt {+ B V/ O0Y4 [ j3h j3v5 p- D l4 Q5 q4 ^j k3 t4 y6 t4 F9 x4S9 m4 a}6 n u$ zGX GixTiv'ba P! pXK|YTG `5 [{0 hx0 uqw B  N<d[<v kw0 xqM;E _5 TB>a6 E5 o"`5 {Z Hh0 UB!b_5 q S#~;I  M;`5 Y p+f d5tn-Bn-PSM7^1o; ld# y1\ E n-R `5 ``5 m d5yZ eG}H* l P  xY5 E[ R$W`ly4 wlq4 Dg4 QL$^n4l1[ zA> G|( Tlc+ `ld+ mj5 z n4G j5U n4c j5qQ7 T# MUY UgT# un4A? z O= j [j5i n4w7 j En6 S j5`$`5n n4| j5 J. n4W  e w ru6}+ Mz. Z b,g `5uaj C* z QJ y4]NE<kJ \z`k- I_a- UJk- aQ X m bz X! H>O  T-g:aw9 o e6 |]}+ I1x. V p"cdX! qcs6}cb,KQn4 Yj f \7 tT; AP b N zp n- E T# R^_4 ^ u6kSMy\:G_5 UFlCaFA ~dxu6bj5 pGj}up- LF{* Y4wfOQ tFO @L! MR Zk. fU~7 s# T# @p7Lfg:Zb7hi`5vn- D5_4 Qc7^xT# l4cJxbX BQ Op" [%b,hQ+vg7DQ RR _]Kk` v|{+Czn- QdK+ ^ r k Mw R< GG+TG+ bxQ+o_; }VIJ0 WEXd9k- rw v;~ I# L [. X{+eS snn-@! O  Nn4 [I+hdXvsR%Nr \]X3 in-uK  CAO\(d]y4Aq4Ob! ]r6jNl< xyEf(SOn-aE>od~ D% bI0oG+ }F` JR Ws1db;t Q< BhOi; ^>` k kxQ/ Gw Q S mb>g:q1t: 1Y, K<p- XM1ea4 sY0 @ {+ Mp- Z<M/ g<tt<MB1d+ S T< `<y;m3D  | I- HLUxc qr[!cn- qN~_F LE# YffM# tG!@f O[. \ f1immnws;e;a s^1 @p- Ms4ZC>iP! wZCqWSRq4ei2 s ^ @`L* Zj2 gAo,s=]!_^% mb5z S'InWkx: eR: r$ n4w-Mj3 [u5khc+ Sk- `$ q5 l$ F5 yk= FE ^"S$ 4 ak- n$ I6 z$ J6 Gh5T$ L6 cy3 p_4 }k- J^: V~c$ M6 qf:~e:L]< [ R'hj3 v$ P6 C$ Q6 P^< ]$ O6 i} va Ct Or' \C= i$ R6 vJ ] BA'O|*vL0F_5 Tb1a_Bo^3 qy' ~d+ Jy4 W@-dxr}*@[6 N Q+[ r i\vI+D^6 R_6 _T  kQ+x I+Fx' TJ^aw' pk0 }]6 J\6 WZ K+ dw- qAB~t-@o{+Nu \;G iJ~<vk R%E d5S;V a[/ nu n-{s4I q4Wjl6 e~4rR: @IMT5 [[Mh;Buu- D `5 Q } ^f. kz-xAB FAP2 R^1 _t lR,yr$ Hr$ Uq- bT@-or$ }p- Jva: VV bG{+oy4 }}* J `5 W;s0ds4tPB M5PZ^` O5 ~aK~4 YpR fS( rcq6~ n- L+N2 Yn e+wrQ@.N w6 \hk- iOi< vvH C"VPOd: a and y4|aw" Ja"W6 je y4 saS@z NSZM v0 htk<tn-DJ2R"`_R nw" {SHt-V"dw" r0 MU\' ZID3g6 vH: Cn4 O D1 \r n-hC: v}6 C Q+O w<] I+k~9yvK3 H {+ U x' bk- o:D  {vN3 GgE1 T y' ` T# lI= yU= E~BQOv4 ` e m w' zOy4 G0k- TOq4 `k- mN( yk- EB1 Qt9 ^@1 ks9 x[/ E q4 RSN7_ T/m p- {^ q4 HSO7 U4la4Sp4 r4 4 p- K5 Q+Xp q fp FrC @~V L y( Y|" fa!so K  A# No U3[4SiS7wJ0 E WR a/ `p- mI0zp- H4ITb b f4 nus { V$G `6V s1dMK+ r s4 BM\\oj V z? R G|" TNa= So= "}7 SK Y. Y g4 e7 "r7 w" @0[4 Mi  ZqK!gLIu= w" ~ {3K e4Y0t gM`t=R: T iCa# v4d# y4r# q4@# I+N, {+ \# Q+iQs4 w I+C@4QL V_}3m L({%T(I `, WD~4 d t0qDs4@ g3 N f3 Zjug9u# \D f1h8 R'v| # Di7 Qup- ^s4kmsnz ah Q+v0Z4 Db1Q_6 _c ]!lk- zk- F G R|Q+_ {+m u$ { B>H y4V UVde7z]U$ Hh7U%q4c4k- q=O  }\; JkVj7 sg@ `= P ~4 \ U7 i y4 v t Cf7 Pu]p- k Aw V7 U|: aq# n@ {r# G 0 K8Tk- Lu.OXX" g R7 t C;AqtOqA;] `,kO  y q4F%`, T v4a.i6o.T( }q# J} W Gd3k- Br# Nq|[* p- l|" xq# E2t R$R7 _5k- l2y4 xk- E2U7 Q7k- ^2~4 j2`= wqy6 Cxq4PJ^q}nxI+I-M3 R [P-gqq4uqy4CA8Qqv4_qxmxy4~7 }L7 y4 ZB8g~4uP-DF8 Rqz_xv4p= }~= y4 L ] .0YN4MYI[/bun4p~4~P-M4^[4Pi4Tw j<E>b TR7au}do~4Sqrbs4rR rA4Is7qBq8LsM(^b,MC9L[g {FCy4Iu4 W`= dqJ;pLJ~Tc+ H}T OU7cqpZ q4jD: x?n- D C# Q9 ^B, k`= xUY DB: Q@: ^\/kg:yk- GSdSk- ac+ m I+z q4H y4V v4dBurP7 gF: sU\ @Ud+ M6 Zq4 gP;t[k- BA$ NUc+ [\Kg`5 uD& AUK+ M}Zy4 ha}uNc+ Ca}Oay4]fJk_a4u}Cy4QM4 _P} kR x\O: En. QLF^l-dIFr\f xEEfq4 c~-pf<~}hLlKtfQ: B `,Nfy4 \j-icq4x@k" FF\ S O  `FQ+m {/{ k+jGf" xcp6ElQ: S>d+ `lz*mRG{ yB I+R Q+`Q:nvq4 h\ uDp- Dv PA _Nlvy4 z4 GyJSr# ]K jb xD F4n4 S~q4 `~y4 m1F" z2 x. Gg: T4k" aLn`5 |J0 HI0UJ}<cjm6 r ~CLZ Zn4 fssLAd+ _p- ld f6 yi0FNMAT d< U{ac+  a! KoX}  ff0sB-B-s: oO3 {^: GT Sd5 ` Zhm]: Un4 b^: o]: {#DHn4LZ6 ZY6 gX6 tW6 AON{. lg) xJ q4DD#RJ v4`}+ nU6 {T6 H meU _<zyeJO3 o\<|a-J 4xOwA k- Fb, R k- __xk@ k- c`7 o\ |o:Ik- Cq4 Oy4 \a7 ik- vn-BZ-PY, }n4In6 Wv4d- n4rX3 @n4 Mq:Zn4h_}v` Dd+ Q_ ^I+ k__xy4Fq4TZ; b_jo__}r- Kd7 XZ; e Q+r I+@ q4N y4\AK _?ju4IG+Wcn-e_ sd+ @t My4Zq4hI+vQ+Dc;R]d5` g4 n d3 {`@  Hn. Tp an.qk- oC> Kk X]Q+e[@s`5 sT D`= LcXo| f w= sw @@GMm3 Tkae5 o! B, |h. IJ! U#u2 bAlog4 [vhI8w[3ET2SU2 a[5 mE 1zK>kE Hyp- AAGX N y4f v4tg) BZ= N@3 [\ hY u g4 B q, Ov3\n-j n4x s,FB$ T+M2 a+T' nn4 { lHeW_4 eq;r^@  Aq4M{g4 [~hI2v F8 D WQn4_n-mvX' { n4 HvN U w= b q, ov[ |vM3 H n4U s,c'G+q `,U7 Mr+ Zg& f;B!r X= @;HM+k]vJ3 k;`x`5 Hy4U;Vc{" tw o@V$ N u [B. h JuiQ Dr# P I5c ]q# @(@$ M(Y!Z(J5h( p- v(} I+ C(p E2P(O3 ^(o o) k(T- x(o n) E( nR(7k- a(t {+m(v4 {(`= H( y7T("Hb(o Cr(o b,A("`O(o `,_(Tm(n- {(n4 H("B! U(:k- b( T- n(D\' {(;k- H(ZQ T(IG`(F g( g) t(M u0 @(z M(<k- \(<z; h(U* u(#n-B(V* P( R/](S L(x0 Y(W* f({" s(cp1 (~ L(a4 Y(X* e(cn1 r(S n-(} M( n4 Z(r# g(W T2t(u4 B( L< O(q# \(8 Q+i(8 I+w(8 g) E()F/ R(8 L!^(Y* l(P {= y( U/ E(*F/ Q( >$a](Z* ~(+F/ K(^ W(% ~4d(<Pr(iB5 @( >Z-M(@ z(>sF(iA5 d(W U2 q(^"l s|}(i@5y(<Q G( G+ T(mV3 a(EG+n(,F/ |([* H(-F/ U( }4 a(b p- n(9 ]" z(9 Q/ F( Q+S( I+a(^ Q+o(^ [!}(K( B, Y(> I+f(> Q+t(> [! B( L!O(`1](_1k( ^%y(4 z.G( n4 U(k1 b(y q# o(5 [!|(y r# J(! Q W(5o$c(\* q(.F/ ~(]* J(/F/ W(Bgc(a4 J(h# V(|n4c(n _2 q(c O  }(DgJ(^* q(1g: ~( q+ K(w0 X( F,e(_* s( @-@(]0N(| @$ \( `=i(eN'w(Eg4 E)D r# Q)y0 ^)0\4 k) p- x)D q# D)4p- Q)JG+ ])z0 j) p) w) g4 D) H0Q)5B/ A)5p- N)v0 [)bY!h)md5 v){0 C)as4P)|0 _)RQ l)0q x)*:E) C )J= K)UQ+X)f q4f)f y4t)f v4 B)bbO)mQ+]) C k)h g4 w)Ud5D) v4R) y4`)? n4n)ba! |)=`5 I) J#U)#_2 x)[/E){S)_1a) q4o)id5})ck+ K) g) X)A]| e)au4a)rn-o)l-})n4 j)C w)c+ D)H \/P)k`5 ^)~-k)[. y) P< F) 4JGR)IY)c/ g) _4 p)Il+ })U/ J)`Y V)VQ+d) }$ r)4W,)b,k) X" y)*`F) z+f) 4``t)KT)VG+b)v4p)VO  ~)4O-K) p. x)pND)O  R)v4 _)d/l) ^,|)_4 J)4Q-W) p- D)! _4 P)4SZ\) k+v)V aD)4tPe)4WDu)n-y) O  G)! Q+S)`/ a)Ip+n) 4hj|) b,f)4nbt) k- V)3g: c)p- p)4l6})0D/ s)5 I+)|, M)_4 Z), g)U- t)! @-A)Ir6 O)SI+\) [j)Q+ ~)_O  K) Q+ W)_b,d)Z- r)S/ )_k- L)G+ Y)~. f) _4 s)w. @)eI+M)Cn- [)^ I+h)O/ v)4',C)Po)! k+})lK)k- Y)Af)t)fB)W/ P)i])^ p- k)O  x)y R; D)n- P)O  ])>U,i)b,U)o. c)q3 p)k- })m-J)` cY)C5 |)p- I)k+U){ q  c) q  o)V- {)_4 H)| p- T)4QJa)f yk) ^,d){z+r)r @){_4 N) l+ [)Gh)Sv) r6D) v4R) X" `)U$Jlm)O  Y)V$f)b, t)+I A)zg: J* u W*{Q+ d*O  q*_4 ~*h$K*s.Y*cm1g*{- u*"p"B*"_S* I-c*0k- P*an- \* k+i*b,w*VE*4QS* r, a*4Nn*_4 |* _4 H* I!T* Q+b*4p*;I~*AN*v4\*Tj*Qx*w1F*x1T*y1c*Sq*"H*NR*"I`*Q+p*;_~*4^N*[ G+ \* @-i*4Pw*y4E*@-S*^ {+a*q4o*y4}*q4K* _- Y* G+ f*4ls* n-A* G+ O* n-\*O  j*Q w*_4 F*.k- R* L^*;p"l*4A}*4K*;HY*4fl*S( Bz*4i|*4|J*Q X*ld*p Cr*p G2@*4~N* x"\*5b, ~* p,K* G+ Y* l,f*_4 v*iC*Tk+Q*f_*T{ m*k+z*AH*V*} d*k  q*t( xEQ*>_4 V*6Vc*Ay*tIG*OP*O  ^*Q+k*0p- y*NF*PT*jk- b* p,n*+j|*+AJ*O  X*v4 e*kk- r*u^! ~* r, J*^A,W*@l" e*{+ q*Q+~* l,L*ES \*E[j*',x*@-d*c- r*R *O  M*n-Z*p- h*z+u*d_C*5g" b*5^,n*P n- }* F  J*p- V* O c* b,q*z$ *k+L*s.Z*U H3 h*]/ u*{ A*1 k- N*v4Z*@-h*W2v*y4F* m.T*V- b*i T+o*A. ~*mAK*0a4 L*Y2 X*A_b e*I+ G*{-T*R+ b*l" o*y4|*k+J*k" X*Q+e*Vk+s* g: A* X1g N*_4 u5V_4 A5t. M5Q Z5Y-g5a mu54l" b5Vn5||5z+J5v4 X5~e5Ps5k+A5^O5Q+]5T k5Q+y5} G5 s$ U5v4a5{  o53A|5k- J5Ac|V5y4R5z+`5 AY Fn5H Z% t5H W; A5H j; N5_4 [5k+g5_S!u5 t`V5 s$ v5_4 B5R!N5_+D\5N S`5oz+s5on-A5o_4 O5gc\5X V$5|( M5_4 Z5q4f5Dft5_eZ5] s$ h5O  t5 z6A5S.PQ5R.ba6Q.srC7 v4v8 l+ D8_HQ8 `5_8g: m8,+z8,@, H8,C, U8r\a88 c+ }8=_4 I8m y4 V88 d+ c88 t p8A0 }8N0 I8  V8RXc8y4 {8y s4G8 9mSU8{Ch9| E3 k99Ptx9D s# l9]q4 y9]s4F9]y4 T9Ky4 `9Kq4 m9t8Lz9yCF;T- I;y4 U;q4 b;`= o;~4 {;R!H;P8KAV;~4 a;l= n;y4 {;mn- H;iU; cc; Y"q;D8A;C;O;I+];m= k;%y4w;<`5 E;%v4Q; J<`_; I<`= H<`_>2 t ?Q>K?gi^ Y?n; w@G+ A@n-N@l; \@G+ i@n-v@G+ D@n-Q@ew_@oV@G+ d@]; q@ fC~@|: A@l Y N@d v4[@X+i@ ]@T@t T@Ka@j5o@|+}@L- K@ n4X@rMf@L1s@t B@kO@q5 ]@q4 j@F5 w@Tp4 D@y4 Q@Tj5 ]@s# j@Ts4 w@Tn4 D@E3 Q@d+ ^@s# k@L9Hx@G @@DC N@F[@]ci@p8LL@^5 XBP# eBR, rB{" Bs# LBe/ YBS8KAeB`= pB~4 |B}`= IB}~4 UB}p- bB~4 nBS- {B }"GBq4 UB2 q4 bBep- oBn<DX|BM@CtOCFI+ ]Cha! jCjwCQ FCE8TCnbC G/ pC^Z% }C^W; JC^j; WCQ+dCR|7rCO  @C A<dMC @<dqD^%UF Y7cF hqqFw w; bFw u;oFw p}Fw sKF R3 YF$p- fFusFSeAFq4 PFG+ ]F's jFt wFo j!CFy4 QFUs^FG+ QFU;^FG+lFG0zFq{HFqqXFS z+hFqyvFS _4 FFqI;SF n4 aFcI+nFcQ+|FsG+JFP z+XF]T fFy: sF]G+@F}YNF p  gFTd+ tF-c+ AFl I+NF"I+ \F9 p- iFR-ZvFWj PM Y!zML GHMBp- OM6 T- [M3 T- hMS\uM5 W2QMk#aMU_oM* n4NM T+\MZ(kMCGSMT_ZM% {+yM5LGM c4 SM j5`M Y2 nM@<{M Z% wM W; DM j; QMvF^Mm m= dM~1qMNDbM +fM @, tM C, AM j5 MMq ZMy4 gMq4 sM4 @M `iMMnjvM97z `MbZMy8LhMx8LtOw8L@Qv8LLSu8LXUq4 dW D3qW}L W}X KW y4 [WW8KAhWs# sX q4 @Xe/ MXS- ZXyr`fXTp- FXhbSXdaX a<oXC8XOz7MXp- [X m hX ~ FXKQ+fX F<`tXp- TY G<`aYI+A[Q+O[ ~;d][}swA\ ;dx\NW \]{ z+s]{ n-A^{ _4 O^{k+[^z u i^iQ+v^cQ+D^]I+R^vtG`^ZQ+g^UI+u^p- C^uP^n-_^6m^G+ c^SDp^c _4 ~^G+ K^SCX^S; f^D_s^vR^~: H^|G+U^G4OZc^|r^Nd+ n^ by{^Yw: t^>\ @^ {4M^>c+ [^F4izg^N WP_ p- g_< [3s_-B_k: o_K|_r< J_- j5W_T e_wr_x@_{5_N_ n4m_ l${_ QgI_e/ p_q4 |_P> I_c+ V_y s# b_mo_C= }_r8LJ_Vas# daoo$ qa g4 ~am(VKa2 y4 adT- nd{C{dx3~d u* Ld \' Ydx)fdRQ+tdiI+Bd u* Pd \' ]dxZjdhY!DdrQ+ Rd M_dgmd!p4 {dd q4GdA`Ud]: udn4Bd' n4Pdy4 ^dvU: kdlS: xdDu* Eds8LRd@t^f)RfG+ {fdAHfwZ:If a54~Cf OCAfwR9Dg ^C}g Y1AX@g b6 Aga54UNgDQchkLtha54_&@h0a54|_h|qz[j`eUja54RGzj b6 Lk a54QYk T# jk ZvkrPkBQBk $=SkZ:PkmLJkgpVk j-Fk? b6sk {6 Ak b6NkKe]k' s$ BkLROk b6 ak MBnk|Akpk _4 [k Q+gk9a54zouk|kolOCZl|^Q]luFnl Btl s$ Rl a54{ ^l TYl a54u*mlR YblDY Alej,ZmgpFm s$ vmeU ]Cm `5 `mxGlm-\sm b6Om l^mEslmU k_mo Jm\1Wm|D S#emmz@xm]1xm b6 Fm0\`Rm T# rm b6 ~m0/Jmiuym b6 nm0zlzmja54Xfm {#~mFa54t Lmdk@ml-km b6 Xmc yemmeo^mUl2Mn b6 yn0| pFn a54h vn n-^n b6 lnSuyn5nWnn, a54[En G+`n$tnnMobnU"5$/Qnw9@nmC dyn( a54t]n YAQo0} DRoxcVo( b6yo~ a54aGo dKhoa54Rso0I4Eo9 b6 Lo0$&Xo 0{/~o0-amo0`WNo a54Meom@hro0bxZo< b6RoC b `o0H lBovinox\WozXsp C4LKp f .ZWr ouqr f K6fr D4O\r: a54bkrc{1Mr~I~rm c+ Gr' b6 SrMH_r s$ grr otr E4Ocr k+rrvSv@r b6 vr ;FBrS a+ HrI$v]RTrC.PMfrz gvovoA]0J4 ^c b6 hS ^+ tiO)Aua54hP>N-x])R DeNCZ s$ Q b6]s yl}a54eeb s$ J>]`VR BvmrRUva54O g a54u#v9 P qki:~\9 gpZh a54rJva54j| b* f9 W1 rx8~mbVvvYf L @, rwD5~w:PLt b6 \R Hha54Zfp s$ Jq a54jWm]f A b6 gmq|smo,oR M[6 P-zf a54`g6 \ FG XM W+e \  seh D@va54CD6 ybGB $V i| s$ @-L| b6 Z a54kf exdQRJuZ N 1n- M G5c Z b6 } H5f J ~Cpeghs X8[ DCSB [rVmQ H =Y;byV;X BO5o8Q U+ IoyV N;O K]mX`{^\/[V Ui .~m\PZ^x+j FCy b6 |\"5Z:I0?2C h {uU a54L'pp M*| M>f[1d n-rp 9@ b6 yp tEmRI yt, B b6NUS\ b6 ot, {WG^"5sG^ T- ejir0aZ[ b6 u b6 AeIM a54iVKty{soynPngmZ6U_4 KMlW, ECCEFpK b6 {w9G b6 @mp^Lmj b6 W5b6c5i sY b6 LgCXKt[e*Ohf]eCa54~R , P b6 ] d7j5K ha5h dI<a54@*mha54PmmY `}G+ ]n-jEv@xC a54Ixg cA n`d d1 D~DQmc.U_a54tCb6wO)t@ELM'Em_N lx\z b6V x+d5Kosm{cb b6Ew5)S b6 |JH|GV xj]5n ;Gt7Bb6 yy5)F5u ;o5q Ij b6 sz5_@cM_SMl b6 y$GFv&MX  FbU=hcXe]&}tYcf`|Sp\l%U-Lb6y+q G{YxzRQXfcv_Ia54mhdXU "@m zSm [o@ ]LoX" { b6 HT:Ua54^ OmGb mp a54w.O JEF{aKc b6lp- {oYGf |`A \_ p- z_ b6 G0pSSTCWbWd b6 y\"Z:FO|5@c$SuAMSHa[UaK| Y)G0dfpm d+ VR cV ou b6nh6|i6 Jw a54iWd vK@b6 KfuW d#Lh>oXm a54r| b6 nX& z K.G ;cu XeXclY}vWmV X" CcUkO lYz IS p- \ K#hY :Cv y4y v4G s<U `5 cG& Jp ao n-P X4^cb6RM' l` *hLh$OGtCz{ T- uYGA|KCHS Q  K a54UXS ]+ m K-z n-g G+ u $!BK-ciCPu .,_J*Kb6 u b6 A]%',MMg: y{%QjFC%l.pKb6 ^dcj\9MIb6 Ftx"R$>t[ n-r b6 @i tMb6 A C n_Mv$tdlb6 PR ]lti^ b6 ]^$Wqjb6 [ b6 h>lOuiX*Dc$`IninwF?ea b6 dSBq >x(NtgUA[ a54A \f<] b6 Y .!fgwCG a54j:J .Xt F1 LgYXT- q{2}S{Go ^RviO lH u t t @AvMQA| YDRb6 V IYb F.f { a54__a~ w@u ,wS}gc b6J E%CXv|  [$aZ v-uh +]ick,>JS[hH R p-a4 |4GhHO4|Rp( G WBGSLU Y'a54mon a54L"[ `5 g€\ P t€"$|D̀}a54g @Ѐa54c.g܀ 0 .&J}c6p"ZfSY@6 ANY[r6 g$vt[p+j6 B;xW&4ITsMSE`G6 bxga54l5_;eK;$OpN# O, L 4tjY .#C4zMf4`)s4eY\4NHu_4 } Z  Jt NW_4 e$/qV,}e` .!E\vp}fb6c 4_Aq-yrB sV k-]AO  ^ *kQ+H 4k`V_4 vBgBkF i&a54nok+]_4 k[lw W]c‚wc)@Ă SCcT- f 4h`r%R/R 4lc`42CGLau.h6V4&CK`8LNS5ZJa54Git"Cpb8LsVCc8LBj(CNd8KAQB#C\e8KA_L#Cjf8KAmX$Cxg8KA{X>CFh8RAIJ#C[Q+^Y>Clj8RAoj#CAk8KADi"CO a54l R G+ ~LKa#CWn8RAZo8KAlU Cw*OzS CIWyLu"CE-QH|CY.*\gCFa54l4IAg'ua54M \nCiUSlDCh-B CoK rYC T- BLCNz8LQMC]{8OA`bCo|8OArHCA}8OADgCS+?VdU8OAc\p;rb6 mECyA9OA|NCKB a54F#NLCTo`5 Woe*dD9Sr]CEE9SHvC[P*^G.VHog& ^RCjJ.`mI.vMI9SC+j ^VJ9StICGK9SJ+-X]ooNuM9SCC [ _Vh't'uEuR\a54[nq9RAIAC[P9NAjQ9RAxR9RAJS9RA\T9RAnTb6@ G"NW9RApX9RABY9RATZ9RAf[9RAxAO)J]9RAY^9RAk_9RA}T- OF(m\^(+mCIK.`Ld9RAle9RA~f9RAPg9RAbh9RAti9RAFM.vXAb~ Nl9RALAx ^n9RAk(.`}f ,]5a54X3Izb6 aZ-nAc.[a54y6IN.XB>a54I;Z{bcb6 Ea54JyR b6 \WFi^Eo\$mt8-"a'',C a54Loej{P se6 a54X$XArRphuBnmEwX"| _`^v)~X&gd'MGa54T tn!HR @iQmif nVeEDIb6 I` kVPa54}ALb6 ~L ^KV miOb6 VDPcVa54D sRb6 wx zDtf~Nbdo[F`"aO|~C„&\AńWT ]Ƅca54MHqӄLU~lZShRmWSl RRW ~d_dubkk"WF LyglEmnqUA_c&`…m&FÅzVlÅa54EBɅ]&Gf!mT^N _4 lS"xr 8Z+qReO?CK aBˆa54Ccʈ}b6 fb6 sa54S5? T- RvK^{`lD KL ]PWPdgčsTKǍa54p _ˍR{OٍmEJ܍|^Oߍ!9mb6 f]OrwcAq4 dy4 qY ~a54xKa54wDCb6 zݐA}^Fސ`  dM  q^  ~ a54atKO\lՑb6HבfJVבa54p.`ۑq4 Py4 ]_/GjN)SmqW^qLuq4 Ay4 N_t-[ .'HsWoP~FSa54ZDD3^a54i lS)+dU _Y-y_& .@yb6 ya54A#F: q  GӔ_e)SӔ_N)|ӔQ peԔ_`)UؔO_|=~ؔL_3{ٔ_gsnڔ_W]aܔPU~ݔ_l6ShOI_tYX_4 q[ }K EI __`Nb6 n_4 { _kAG_4 HRLTm=`a54tL] _jAQaER_4 W _hAcb;d_4 _@OlIO{Z|J•aDFĕN JŕxnIӕq4 wՕy4 D֕Y Q֕XX^֕ _ELvוD3Bە_^pPەa54d@ݕ _l(d_KsL__d-Q1leq]a qNk_k4_mpsA@hc^! Ke_O/W_h[F_Uoa_m}P_c\M_]&i$qO]j@_fGjEU q a54rF_b!xcY_FS|} ~O JzMȖb6 GΖk b6 TΖ_{K`Ζa54@kҖ_XTk| ^ or]K_ Oa54Tn_H#B_$8e_Z]LWkg:Bb6 PBI\a54te i Y m fUa54Dsa54owӘH [f_PAlOg:nq4 |y4 IT gU_l|a54rJw\|'a54pX_AH_V~rd_fV_idv'rw'Y`\@P(\_ uDb0VDy#b6 Oap\@ xL&J- D&K- Q^! ^,b6 jj_vh JUd#HR_{&q3b6 @\nMa54E{=Vz@Z=Zrz =./l =K>[<Z0 Y+a54If<Y0 o<R%|1D3Jj$=eXQ-}[^j .,HZAZqtB-ejb6 R>b6 _GS lgb6 y] nEH[r s %ze LK._Fb6 ML-HZvo b JEQ@CVQQYQK-j d -W YxD t&|Bzb{5\A[E ]Q b6n [.>|v)z p6cL$l-q q6^^ Pl cK.| b,j q4xa54[GFc-kaZ-Ld' x\y n-UU'lx!c {+ Dv-Qh[~in-Y4a54wgOa^@,C.mJkqM4 uwa54{A h{|[-wrEdsn-i a54Uwxb6 LE kY `MDXlQ:`}{2]xO|n-G] PU ^Rea54r"w t [ip$Q-D:Rqi DCMGn-TG+bM IpZ-yM8f4^n-RG+ `Ssm J^`b6~ K-Ld vbyv-[| YDH d -Lb6 y_#,E$n|qb6 mNM:yb6 sV5@K&+suf'6,h.aTq$nuX" c qd#oqa vRK#Ha54IV@$J7_CPVO-fqHSn-[G+ iqJRv ;hHq:Zpa54a%JX" kqb QwK#H@$JVqc t}$hn sw$WPae rqoca$*TA|oBUFZWHWqU mHmFu xi{M9dNF]UMc--pK]n-hs$S]vuSlj HD vr'Mhk ogi! Vtacd% D'I,QC}n-@v4N'l,\%Hn-mM,{X'gn-N R \ n hS\uw \Ca54M _b6 lIGyo`@b6 `b6 lI,yBen-g `_ui,T%@n-ewa54DsX'wn-^AE 6l tblUaM0vL$l-fw n-Sw G+ aI+nv ,Yw-5EF GzS$nAX9o}cGhSV xo_4 g _AsJtn-~_4 L kAX_4 Y jAeB SsQ f Ebw_4 Y hAe }nf l;TnRO hza$H[w Hcq  k\wQ*S{+ }A{_J n-i G+ wI+Dv ,oC/5[b6 PAex]X7UNS{8Lu}dD`)hV.PQuan-VG+d*a54trFufSB_[$|( ze)GHp'n-xN)FG{Lo2{$V7 mZ Yz&Vok(VEl(R[Z>VmuCCM'CFP'CIJCLÎ_. OӎcUJ\ӎQ fԎ`"rԎ\"@Վ`]NՎbk؎.AMێI+ N܎P$[܎;M܎ YYLގq]eߎEa54zB*=| Oy$&HqngN_ NZma54L8G FFSa54H8Y rEaGufa54H [J Ec K4h d-\X) gvIR%p NMQ+[b6 i WCuO  xb6 E^ \R^ b6 nKx7 z] L! G []Ta54Bq `R sS %E"a54S$j W0 } k gI V0p’ I+~’Rb6 LÒL!YÒQ+gÒI+ uÒ @[BĒ Yo]Œ K#LȒc U;oȒ Hjɒ~!GʒA jhʒ CR̒MG6U͒4XfKΒb6 qϒvA7}ϒ;W+tВb6 Bђ$YOђNhҒ Kxvْ nMnݒ\b6 {ߒJOGT V{-cImqb6 ^{/jb6 Yb6eb6 sb6 ;b6K^. Z 4"_gy EFb6 Kb6 Wb6 c L/o _ y^u,W1b6 C]- m \O2{1kp/\ )j7n-S7G+ aM {4nM G#b;Q+E;b6 Sv A#_>O  B>b6 O^- ~$\Ab6 @ $5L DA2.{E I o@In- oH x+| Q/K d+z-Beo Yg4{a@M!a-]BUQU7_OU pVVn- F $vS @I{fI b)o&XX}U,uX*aY{ ~Y@-KYQ+YYk+gY_4 uX-^AaI- _UbU2lO6o^t-jMc|, wtZClh]sN_ER Kdja54MoՕJO|ڕOkKޕvCvߕsw pyUD PiUJ HyM8KAAob6LUs tZOGFNrb6Ta54Yc 7t| ^pÖ W*NĖxb6 xĖR CDŖ 7VGՖv7<]זvu -YؖO8KAFٖc CQ v@ 9TvQZMB, gm Jsvv9} o(vu7<^uu -Zh CGMCJė u@ 9MԗuQZF՗Q8KA`ؗOn Okud9zR8KAsv70~ܘvQqnݘvu -_ZCLT!CO 7qRF7TCF4LWICc7dfE`5 J2+Wi! td% Av4Ny4\4QjY8L{q4GG_7lUE_R eAb6 foUsG7_HER og2vVE4ta54Y h!7C AӚG4DݚF4xݚ\8LlޚM~xߛ2Kxv 2;n`5 Kd5 X!mods4Sq4 ay4 n2Yo {*k jz=CU{IX{5a!FDVb6 Z]8Lf^8Lrs l~J|jy=Cf$Cii#Cl. oǞ: l,OȞa54~{Ȟ!wQyמ!@zJٞ nvD۞Ibzܞq b\ޞa8L~ߞi8KAJ}7mU}I_B{bak C_ zP 7DJ yN xRlWF~^yDQm}j-jƠA/ yƠ`5 FǠ{-SǠpQ aǠh=ra4 oDr{_yma4 fF]sG+ R__y-}f xj y-bJ7bOa54jqP_[^PzJX 2Jl8RA|b6 NJCTZg Ynb6 Gb+ TJAKaQ \lb6 HMTU 4 iJbcvm8RAYea54B5kJno ma54Q\h"CmT ppa54a `Jv JAӬa54lLK٬v H wJ@r X,q X/;a54`8Mt mf HMb6 U!9bwO[|%f zjvqdYVUo`kYKKcV^LyDHEK1MC-~Pbk`EMFcR2^ 1u~8OAfanu!b6 cKoo#b6 ^t7jq "a&b6CS6QdWGbC^ciagYJeJcfHmQGuRs|SqoT9`pEYY p;rz!pR6Ou$pV BEp^ ZGTpBaspaCpZ]:b6 {\p{Gbnf7IT!9]@pfVppytd^R_a54GpCh$wN pE EYdfC}Ga4 @ʱFp]Mʱ@9HAlʱ~p@tp!pIRF_pOa54[OhCjoY' mó `fzóma54h`ƳRa4 HG#pBTTa4 sM#pD a54@^o#p*>^ w7\Wb6 S 7p_Y`5 OY^3 \YA=i  m^w^eUf/CzF9S} @`Ppy`pr%p` Pa54inga54z#Wӻl`5 Qsu]ia54q?Rd [Ca54y^U.pWpKgGo`5 nH.dzp.F^g ,dG9SPKCcu@/ fu|. s2k_@| I" _9tMkH9SxHCKy q4 Ny y4 [2{RhQ+ zMCG_4 J2w &W9@v}2uIs2@M|9iYID-U 7Ybm${o#2*KIKCTY W 2Y*d|)U PBN`9RAP2Nba54gp2yPWI" gy)U mkss4^q4 ly4 yT2BFs2adU9RABC2ZTb6 r\2{~@2f]bD{p2yb6 ]FBih$kFtyAa54BmV9RAo\9RAAv a54]SN 2E pa4 OF2]\~2@{p!2IYa4 w S(C U(k 7lS 49r9RAx FIJG#2BSq4 ry4  UKa4 ` B OlM#2D{a9RAZT.Nl gOzw- Ic9RAUb9KAgL.nrn.`Ftn a54K bq4 my4 zo- Gl-Tj-b B Xql. ID" VC" c75o4Qde/ uY!A Habj9RACk9RAUm9RAgg- y[=IFN COo9RARa54Mdh- qi. ~9 a54s!Kp9RA~ I>P[Q Wx,~5c2pMX a54Zelmm)rmlr,@8YK<Q|;R{;Sm<TO9YAUG-nY+oN9pn#ql7KrB9S}A7OPj_J`

6?gnx(? x{W?^|<(p>ȳ?We&=gk> ?[ڋ=ie>4I?=H_>Ɂ?޷5Y>Y>p?'kҽ>"S>?%-,?L>H?G|?E>?$?6&?>-?wl$@|8>z,Ĩ;P*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?Q>!>>O>Z?d>Ԣ>>\Z? >;>m>ZZ?>ܚ>R>`l]?Ү>hD>10>aa?ڬ>><>`e?^>i>=yh?> ]>=^j?(>ħY>ΧZ=`k?p>]>cd>2am>s<#u>c<}h?>Q>Ϋf=pc?N>J>W>Y?>1>M5>~S?+>B>L>nQ?[>>7d]>~P?>>oh>P?>>o>R?>O>!t>S?>fc>z>$U?"ƫ>L>h >W?O>զ> >LY?&=A2 ?L*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?;ﲗ`2^qA?'?>A 2p=?+?̱9?%0?p1u7?G2?;2;Θ1mJ7?2?j1c$QB7?f2?~2+3I7?z2?%ȱ* 7?:2?182By2/8?j1?k3XC39?0?,q39?U0?+22w9?M 0?bBֲQaŲ9?@ 0?cֲ<8?v1?V2 K6?Ի3?0h2ݭ|5?4?Æoщ2tL6?3?2ͦ1A^7?2?93}B28?sS1?%U1 :?/?þCH2c;?;.?E&35=?ߎ,?hб32>?*?Lq"@?'9)??B)25t6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?QC!>if>??ף>s{>~?:|>~> ?v-8->H>i5 ?7>0{> ?87s>>>b ?E7Of>*W>3t?7d(>K>7?r#7>>w?67V>>m> >@7[>>77Ƭ>R>d>L7̆>y>* >)7#|>4>>7g>6>> 9L`>>>S>:`g>8>ZV>;>V>=<}>V>>)?!>.C>>Te@>Ȯ>,>nA>/֟>#>)ABә>>?VB?>ջ> ?!Bꅶs(*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?Tns=a?Ag_@J@aS-tY[%0}?/@4h~6٨3tW2jp?B@3ߵ .3@(3Tù9@6N-p?MYA|>d7>1R0X?8A*6],5y1=F1\?8AFY4t60@TLҰ[?l5W>iB?^># ?1AR@\~Aq7ͭz $=C>Uq&z!Q=6OoRcyX=[(ͽdxF=g*w$ =%suJ*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?5?,r2| 5? b9ْp%k|d{%Veep޽rVEIrc (s;4rel#8PȚ` 5uP~/4`R4j Y$'ix=8p*[Z: 2}==Huݚ /?mtA&Ìg_սLG _#KN7X9KGKWX<#g^ )Y5S؋NBD"1 Kx8 48Sj,FѓuZ[UʾGai=cxV fo _@{Amϕ@6Aw{#@WAUi*@EAt?1@DAK7@"A<>@fAQ4D@A4{K@6A}QR@?A؄W@pAl[@GA(]@A^"\@ЋAKօZ@pAeǘU@ABP@AwI@E4A-C@A3!c=@@ˉAMkt 6@»Aі#.@|A<%@ɼA3@2A*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?'Iz3nE?"?d"ZX2I??(2,P?:?L5Tƒ3&Mf?>9<\]??+3pAIL?m?aMcuZ3?I?Q16?*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?(JBM>=Y?z0B>׾d?}s4=ԴGm?_d޽2=r?= S5D z?78yZH5zx?ӽ =s/*A~?({=U>0>~?_=.A~?Jۈ<=,b~?]Q2=Z~?`5h=w@~?=Աp0?{ʼUbiV$?89a<>?s<7~~?jka?F'p b!>>d\?}B~`8uP6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?2Oy?l1L?2ëL3]J?|2!02 I|?M32F'!?c22uC+$?A|1#2x@(?;31R@(?|Q31?k)?*C2*?O#(N.2,e>l!+?2 2>>%L+??3j3ۉ8.n1?0e2_7?@#72?lݱEg33@36?O1m4X5?z2155?ƃ2\:63?g2E#3;-?2}'2B6B&?R,2 I|?Ϋx3j/^{Mפ?AAヺ*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?D 12āCA8e5 6Cs#Q,c=+JZO=FEi!vj)=)8A0 X+"Wp^!\~ezT<˾Kj#d:q=6'n? ~qRO=R>IFr =z>GRsw^=>љSrJj=N>'[F'kv<>,SV J=CB>λHr>)bCiz>aq#ˈh-4F>6y-_,~?N4>_v=,&irʬ>`~A`$enU=py4@:4{U@ڋ|~Z@֕ ~`@rN:[@ =P@يv@ؾo@ %#,@׊@!@yB@1#-h@hQ@v_f@d݋+@+F'襁@Y~}~@7Ɍ|:K@{@\{@]|z R@z@YƌYizw@+z@ L*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?1´D2B?K?1(:0::?/?D k(Q?e?a83V? ?툱NpU? ?ϛ;1Y9Q?e??!k3_L??qͲzU>J??uCfSI??u2h2G? ?M+15P2$D?$? 22KQ+?X:>?lvB@m_6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu? Y=7|?=_@*}?D=Z9=/`Q?7>LroHN?ka>\8'K?xr>A2۽i mK?N>F bQ?>ܾ`?=P2}?*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?O 7}155?b[1*54?z0ײP54?X>u54? 2q"5F4?T2e15 4?}DёD363?q? 90?0򢓲@Q(?tM?mIDV$?h/VGqJ ?T32nL?K߱F-QlQʿ?!SOK?ØF(CNq?lx.2LLPM?HӲW3FcJ? %Eo"?~ZrU.A'?J>qM?s)?Vֲ#<,?w229l0?ns&$81? ;}6o3?AAt('*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?[o-=?CA}55?0  !"#$%&'()*+,-./055?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?55?L?@!B'@DBN(@BM4@6WB3yO@Bs@ WBB@5Bc,s@BO@8B@GBL@B*@#ξBL?@!Bp@@BM@@XB^4A@I@BiA@6B릇A@^BȎA@kBQA@UBj9jA@wB5A@iBJ@@Bs@@ B*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?>?? ?>s2<mx 3}?|?ρE.h;"0'|?(%;B-C|?΢;&5|?d޼eq;y|?䦅;aE&}?%NM;R ]}?Y-(;* u}?%õ:O k}?[96G}?ἵKp@}?ⵛ!ٱ |?7m. 5%H|?MlI`'x|?;7wf&N|?\<oC"f|?x[*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?}Y >8i`L"kx?=ʄ;tcw? P=Ŧ )@혼Cd@t@׻@2i7㻣@霼z:ڻ&@mҿ(@oǘ̙+2@Q [09@q;@_dWT:@95@L :.@mS";%&@Gsl;.@H瞼G;*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?.Y5>a-=<{?z>C=^k<}?Bp=h<#&/ =aP<}?1UA=yp*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?.U3t4 /?P203L?\ӱMt2<?I3+!y(^=?C3c=~?>̾2]δ>}? 1ad>9&}?%MZ“#>|?~2N͗,>hV|?a#-E3> |? Ȑ2 7>r{?%1Y:>{?oU):>{?d58>{?Jr[CR24>O|?~h1nF'.>@E|?&>|?e7>}?4a/δ)>Is}?2ǰ=~?'^=z~?Ru14[H=ұ?De);J? 2˱3>!?,Agu6aA X|A<ќx@Aq5ǘA5%A,ї̴ėA(s&AHX\AԓN5DARP_61Aƹ$A]QL5A""F b(Awॶ>A^06^Aԓ :6|A1pAWyA(5JA!-Aj~ 5AKo16A܌uG5eAE: *==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?̴i>}?Fϲôh >ҝ}?\>rI}?⅘ Jߴ#>|?7 0^&>=|?ƿf3e}->P|?ӵU1>!|?818YG3>_|?-Xf?5>{?)ޯ7>{?\`-|9>{?9Xg9>{?8:>{?d1d"9>{?mvM7>{?͇2 J5>{?2o 3>||?lf/>h7|?i 2bU贛a(>|?+!1Zʹ> |?sk>?}?Hq2y! >}?j.@锻Q-@!%6-@)%6T,@Fq,6+@1b2+@w"5*@Kv 5*@*p،5*@泃*@ˏu*@RȏN/6]*@dgX*@E]j*@\xk3*@ҏ *@ &*@|+4+@琻"4+@ufL7,@30Y5-@Tw µ-@SΓEaR6*==>*>UUU>>UU>>>UU>>UU? ?*?UU5?@?J?UUU?`?j?UUu?պ81R>^l?\1=r?ti ֻ=w?)={?ڽD5+>X彍 x?]]>XL*>c$s?gU>_3>#j9o?\t>E-0>\Am?٫>G/ ><1.p?9`>%>^t?'>$=ǽz?$=8k=)T}?e=/r*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?E \-?iA4T5$e=El; [=~E!G =;Eソ =tEʽM*C<vۺPF*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?2>qkS=&b?M>>^?،>@aXq>*`Y?Jm> >#T?E6>B>SIO?6> ¾0Ʌ>K?N>BѾ"{>EJ?P >w)a>K?v>?BT>Q?=*i>Z3Z?0վ>M|^?Y5b>Yj]?x6^l>T?CRf崾">RK?;[Ⱦh=¾Q?ϋ޾=Z?㽨hj=qm`?4Z,=2x=i`?S+>M%>\?ͭ>vξ>"W?>Ќ5q>`X?>+DjK>v[?/>v>{^?g<>9\=`?$=A6w6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?+ 2I2V#?D? 35 6?d3?K{v@?(?22W.>?Z^+?CK2hE17?42?;s2U<3/?:?+1m %?B?D~22~?`-K?t e?T?/"3N>H^?3 >h?p2>ߩo?`'2>{v??<3_Ei>Dy?*2=f>ky? [01q>x?@2{2*>z0w??!I3U>ŏt?Ǭ2%2^>2l?k :0>:b?w41ie~#?L[?2Ų T ?V? 52eE?P?Q?)K??B)6ʕ6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?/?}o9?+?˖0Z׳( 7?(?uoѽћ4?()?aOͽW5?U+?1p6?*.? /^?8?/?}o9?&0?:PS{9?/?q=ET/?=?"a_*???V:(?c8?giaDž<0?/?}o9?-?+q;,n:?-?~qp~ :?X.?8q*:?/?pWn9?!B,6R*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?N5{;T?m?>g_@C 3Y}gJĽI~?4@Hz6r;ccJ2 2޽zz~?B@':{L6^ Xa0H۰?@nID59Ō=pqd?NYA|>{7|:Y>wcv?8AX733,|x?8A5JZD2װBĦ1?[?Di*5Gw;>k >r?=}>E>3r?=݌>>Br?=`>?r(>q?˱>=">1>p?Z(> >:>7o?E>m_b>>s?>;>?=w?:~=->"ѡ=z?׺=I=3=5}?=,_=. <к~?c7; {?dgd>5t J<|?sb>פּ<_}?0>>ǣ<>}?n<-> <"|?^s=0G>$<ޗx?>x>5<*v?c=>喀=u?n6=S+> =t?eA/W'$@*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?55?b BC8>)>?$^E.{8~?E_^!?p͵D_"?PyCZb"?B)B U"?G"?\=hA )K!?X;=pKA+τ!?n=>BAO-7!?7=tIA`- ? ǜ=\Aq, ?'=xA* ?/ƭ=A.(ɵ ?=ڤAo' ?Ū=CA[(1J!?1m=օA%)!!?h[=сAm(!?nR%=Ac&."?C<*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?ؑ>{27?K ? >Dk1?ճ?ݣ>k.+? ?>XM$?"?`ξnz>?"?9ܾV>?U)?oK6> ?5,3?s>u>c??-޾>)>>K?G?پ=U>T?AӾYv=C>C[?оM=>f]?6Ѿⲻ=x>[? IԾ=܎>pV?׾oj=">ҍM?Pھ/=+>QB?Xپt^ >c[ ?6?\QӾ*>?,?!ƾP>`|?%?)}>'??,ӛݕ>-?`?B>3?I?tCHeE> 8? ?'=AĦm%*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?n/2eecz>b?413>o d?!8?3z>e?N[^2;>4g?ݬ2Gp>vUh?Xv#8l>p|i?Aq0ZG/>9j?as3VU> k?ظ2>l?ʞC(E>wm?qY͞{>6n?՘l#2>sn?27>&o?sj&>o?L>T>rn?8g1|>m?q51,&I>׀l?9\~Z>zk?(_22> ^j?È1itP>-i?zC22jRT>g?.2ÉӲ@F>!f? h0U>Ee?v~82131>c?@B5ҵ*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?UZl ? R6`=m&&> ?-QGU=z1> ? >PX=#2>2 ?OO+=<->7 ?01O*=g{#> ?O=8V>=%?INt=>V?OC=)=?mTO[ީ=q=͂?oP==T?3WQj9%=p=?%nRN<;T?OS2;~?1(T|O"??DUlG ?OUgF: ?VA}:,*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?Tˆqs=W?:g_@1@Zt 2X[%0}?2@66A%2⃺lp?B@;5_sR42|F0e0@k'K,!69ù9A6M-p?OYA}>7>@_UQ0X?8A4q6LW(/\?8A=X67xP1)K2[?n)>iB?^># ?/A R@W~AD B>c0U>t$x>}`>i;^ң>]>Rί>ɧZv>iy> JW>-*>kS'>!Ǟi{>TB>XPڢ>UŇ>Q2پT>~Tq>1پZ>WHY>S^ھݴw>Y$B>ھc>@\3&+>ھ$O>Ŋ^ux>M}ھ|y;>`I=ȅ׾Bc>DM^> ԾL>͍[!>Pо">_X4>̾@Ϋ>TG>AuǾD>3P. Y> .>DU$q>0M>;Y>> \>e(#>_c_,>l9>a>5A'&~*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?5?j915? i96~r1 b«|t0)rt׽wlmLA'־Yqr-x:p&UqT0! s:Й⇾JA\?Z@jk4/Byٞ~b aCboͽlCftxb"NE>6_[v+CAJElXEBLV׊AԠS A4,MEཟrA"3Uʽ4^R$NWUO쾊&[PqϾ&bGHT2չgm=mi얾n+l17rs_o %7N("_@Alz@^AIҋ@njA;1Z/@%Aµz@}kAC}@_A |@$~A{@_2A>|`X@fA}@AP@AV6@A ɀ[#@جA[־@A¾@AL@Aۼ@3Aչ@@ߊAYU@A}ځ.@/2A}+@bA/@A@oA:.x@aA*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu? E39?q40?qi3b7?2?  q2;?.?26Z??tLs2sY?,?612u5S?>?3(K?W?$20D?J#?{{w2;?1-?-23 k3 P2?7?l3G 2U)?O??Z3:X3<"?E?.̳21f?oQH?f3"z0?Ls9??2@G?d ?>7,aH2M?i1?:˲ 30S??ɢq3Q??t3]N??ģ2Kz۱J?d ?X豺91íG?{3 ?uG2}1PD?HN$?lt1(@?Y(?1QZR=?CQ,?kvBOa5*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?fH>0Z:T?.=߾b?2[=񉵾l?*=68m?z%=5 q?#ȯ*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?23۸2Oy?Ā/3Ge2L?Ȼ3o2\J?ˉ293 I|?Q3q2F'!?22>HhB*?) c9,e>l!+?k0t>>%L+?U83b܉8-n1?`Ze2_7?R.F3;36?'AJ1H(33A36?M3B3m4X5?2 M255?%3VF363?e2:v3;-?xZuGB7B&?j3[0 I|?#g2 3{Mפ?AA*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?c2(2@CA5<3DB >=J=wI=>*F-= ">qB7-b=X">,*n:_`N=DZ">Jds= >V[= =|^==Ӿ3fT{=>PuDll=8>ZW(q:V=$>J*it_6= 3>Wu+wN =4?>M½; zvVmzH;M><'0s2~>i]Ne/ >%[NO =I>67:Nڤ=y>'1ͼ=T>31b+=$>C7'=0na>E;>&5=v,:>?$J=W>[@fܲ@@>EJ@: L@Ê05ֺ@쩊ڂI@'e@yu@RF9@˝k@ -O@Q[;r@C@㊌̈́KK@=ƌ+b@҂D@8z!!@VP~F@AJV`@/468@`AjB@̌xk@rhBd@Fа@ *==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?41O2 E?AO?x3mU?5?4?AQ wM?Ŵ??3߬23N? ,?<ؚ2O?B?0;/N? E?'N2)K?0?7҄2-H??k2D?#?EO3A?+(?Mպ1\a=?g,?/29?:0?bg 3~jl5?A4?1/0?9?P!ʣ11?1)8?۹2Q?p?<5۲`R??N@=2M?Cq?/1;G? ?#>2k3@?lo(?e'=~/j9??0?¥cmdF1?8?htಱ(?@?83*}-2t?>FH?kvB15-6*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?U!$?ŊU;&ß ?L<ĺ3X+J|?R:1Ժv?(ջ o?{-^ܾ f?\ +hD^?,p4X[?%bҽ@|Y?/%LĺX?tBX?C![vXX?ϼF.X?9&j+]? !uԾBe?ٯ~=*m?ɣ=]ڕq?=.=&t?J=^aXv?_= 7Iy?<|=1_z?E*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?#|#255?FIJE*54?U@2P54?Rr1v54?AuW!5F4? XH;5 4?{(ɐC363?$19)81?2f=:,?0mIDV$?1J,?kSmO?ز;ƲlQʿ?+eҲOJ?fe&h 2(CNq?yKPM? 2 FcJ?/w2RDL$?&p3V.A'?&]Te@(?ѕD9>Q+?5'6q6;.?̩S7ز$81?W_g50,4?AAڇ5*==>*>UUU>>UU>>>UU>>? ?UU? ?*?UU5?@?J?UUU?`?j?UUu?آp1?CAHZ=0==Z%3k%3?TxSBuC>?? ?>6|6Z5}?AKE7Vr1E5vӈ}v?^,@mP-em沽²>;?IWA&|4JIJי5RҾZgi?AٕNF湴OY0T{2 :?8@e`wG:,Ez>$>i?ߋ@>6ݴ.W1Jsg1?jA3G>>1>?.6a;P@a1>Q#zD?$=A`7r6*- 1Xr? O?>Bw6'2QuK=V>zSHRA!B!.7~gRt7J.X?i?=g_@4hjx2uV7KXeY}?8Ah`4Ϟ6T3]:{?8A4̩5BZ]2V?[?5ę)=Ƿ=}?eAW'$@5 zk15?b B:>i>B`7>?삘66;P_'>><_?#=A16\53Y?J?@B.*7(dFc;M>WR?!Bv6 Trs=G?Gg_@H@EH3)2W[%0}?@s߶)ضm!Kulp?B@ű!6~6,3u@@466fùk9A6N-p?LYA|>\7>n X?8A#q26F+6h3 \?8Aq5,N1101[? 5>iB?^># ?0AR@U~A>=t7=3A&Ҝ~5?2b15? 48VoMꮁbt@vAR2u3>Rw?kvBعXӗ6`=ҥo>s?}BZ`5~= =7 Zp?AAԲ6l˱CA5IKԾV~f<\>@<뮁4u@gLeO/v8>A{?lvBsֶδJfF#6~z?}B ^sͲf55?AA6/˫ K2佫?CA|m54-65=0)5B4B4?L?mSC>?> ?>@5o 65;5J2@з?ASժ7O뫹'=aq~?Z@ⰼVɺN=̙>u?u@A\S32*?cA웻*Yr{~/=z~?0@]B6կ=O.>PLz?ɋ@93η13Q1?jAoNp6plA>JŨϛ;P@CнfνD-NY?$=AQH1T/?:?@BG/c}eu]Y5!Bp5Q>7U2z?G?Ng_@CDHDza5e=~?5@m7765.qּ?B@H)Hm1E/&?@T6|I6<ߏ=f2qz?KYA|>ِ7ya1Rֽ~?8A85506 6+2:{?8A!A6P861"1s?[?$6Zꕶfd%5>M=c?eA2W'n$@5o5󯉲5?b B8> >e4ZG0?Hs n$;P=H?w>0H?&=AS6LAb0>r??Bt6Jl>rC;?!B~?ߵTos=f?%g_@B@EW[%0}?I@r+6%s6Li2h,2lp?B@ S26)6R1@{6ù9@6M-p?MYA5}>s7>b=X?8A m6 4W)2b\?8A@UoU#12 b1[?sV>iB?^>" ?3A R@U~AlD|=3A&͜~5?#35? 8gsim"IB9?rAA&n3;j?)\?hvBE&X.6={i$w?}BP Պ'2ݟ355?AAXj7d`3ը{3CArJ6p=}*==Is%o?hvBiX$x2AqJ̽9h?}Bz661C55?AAHWt22~v+?CAf5W=0ϿY=zZl=D,|;?$@)C->#3 7i F< C;tι~?هA`Q6Ӿ&pe=v99e\ ~?@ǯp!; :>/Iq?ԋ@h6z˔4DQST0w1?aAF 7& '=p7U>l5b;P@>>¾U]>xl>?&=AOQ6D^c26>+n??BO&6A4{p@6+>߽!B:6% X&f vJ><>4?[g_@<3PuVA7233PY}?8AX6#(tK13K2:{?8Au쪯.@01?\?)H6|>><=j?eA7W'$@5)2Hr5?b B 9>}>|>~'On/>e;P.>ǘ>.W>m?'=A0\4?Զ$s2ۓD?ح#?@BԶ5'vV0@d>=>!BB5,6Tls=M?Dg_@P@QX[%0}?.@9RlxO)2-kp?B@ l7zt77>ޱʝX?8AF@7qQSͮ\?8A)|AM ]ɨ1[?26>iB?\># ?2A R@R~APwrruii=4A"&~5?k:!05? }:*]Guul4.^>(@zA*k2?7?jvBzL5/&{w=c~?}Bo6%67̗3>*?AA 2cCA2S5p+NBA`5<=r_@|&.3C3EQ?r?hvB*U굴-=T!=}?}BCӶG 2PhQ954?AA40z0.?CA{p6 @0  !"#$%&'()*+,-./0x9t0?=+?B)&?DO#?eE#?D4#?AC$?HCGA%?FB%?A''?@cn(? ?)?pq>+?0M=V,??<}-?;.?];ſ.?9/?8&1?7r2?F63?55?L?lX@PCL?h@CL?31ACL?4 9AxCL??A][CL? 7A?CL?ʤ/ACL?+ACK?R$Ap CK?]A/CK?K AoUCK?@tCK?@CL?@RCM?K@J CL?@CL?8@ CL?J:@nCL?y@CL?.R@CL?+@fCL?@C=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@>?? ?>l2:h6;ֿ~b?ZY;;uQ?Ə; <@>@?.;5+~?;k<7 S~?tl;y;4ýW~?)6O5Ž~?f/%1~?fq+ʺ| ~? Mļ2Eɳ ~?/悔?Nͼ@.&"?N8B?6 C݀N<8]?06?5Z†q?AR_W8=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@AA0<2;Y<?ϯ<Ѯ;@񋯼vJ;@O;@&I;@lE#;ނ@vN:nւ@Ӈ:ς@Qw}͂@Em)#΂@Ρ/ς@LTЂ@O_~ς@Ԯ_΂@GP̂@`˂@jDPUP=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@Ţ:9RDI>{?D;*:->P|?I.<_P>}?Bd|?\/=&>l|?t'{=Iz'>{?= =.>sL{?p=v2k!2>z?D =cH>'8>qz?ǽ=iAI>my?$= Px?{D=Ƽ3n>Mw?"<۰u?1aQX>&t?$ڼDR<đ>Iu?cz(ߡXv?Z<;>jw?=6=Td>x?N\wS<Ŝa>=y?\loy?:7 (xy?03Yf>Qpy?FEA[8GA@ȲY 9rIA 9}IAҴP: IA ;sHA{E;GA]y;GA)39X;HGA$;EAJB5;*CAk;@AK;->AßH:a>>??333?L?gff??̌??gf?33????gf?43?@gf@=fV[y?Ǧ=R lZ{y?^o= 2TZֽx?>X%kYw?VP*>IJXev?H>0Wt?Qc>}GU}s?)!l>NNUKr?g>{JUJs?LZ>X?6Vt?R>8Vlt??A>)UWOu?=ռYa0x? ƻ _:bv[ z?ֽU1<2Zx?M<\Y%w?S>>??333?L?gff??̌??gf?33????gf?43?@gf@w;#!9R=U?DHE=?r.=Ԏ:<=?*=*:==]?D!=݃:?=#?̌=|~:@=&?=i:xC=j.?Ҳj VL=G?+Ӽe-G=^@? t̼u'H=A?T)K=F?Wّ:M=K?̃GІ)P=]Q?ey»ͅQ=U?1f\BhQ=:V?2@*0k82@z2E82@ 29j2@dr92@r3ϻ92@92@nju 92@pg92@p92@<892@M92@˿92@U92@!ʭz2@ J!M2@{z2@W헻,r2@#V2@l-2@F]_2@!=h2@/q3=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@+%:sy}?| =^ >|?$==1h<>|?|q=Rڼ~>|?_=>IS|?=>{?=e>{?Q >{G=*>dz? ,;j>fs=f^}?&%>_/4y?SĮ1=r[n?c Ͼ g?j$Mcؽoj?f½L͟n?$KoK9t?[?7J_f"z? ȕ_]|?3(YpR}?0ʽ xX Pw_~?C TM;e;?‹@i54=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@pu/,?-J/0?gABʹP4w2_>q<߇=%˞>$<1:8|>&<>!;5En>B9ڼs>}8?cУ>p7 j>m6o\OC q>-K7SV>>3:M:>T=8 >< &ռ>;:ZY=%R>Q9[=% \>ܖ9ٻ=x&@Qh><8T=f,M>3:4gY=>/N>>1 f=)SJW>3P6= |>5h@:@1x@ Bn+@둿 @98ȿU@=?5=L@#?V}? @( J??9@HC?+?b@+?PѺ?@5 ?I?uw@#>3Q?߂@i;>>@2<7;P@=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@ A*J:R?)ny+V$=V?S1?)EzV?'ofQ?T &NI?Ŏ<L1#@?E)=*;X7?a=ݾO1?I=Pܾ1?y==(d춾5};?x>>??333?L?gff??̌??gf?33????gf?43?@gf@2$f>8k?-^95>Fm?g03Ŏ>ڛm?mB2 >dk?f:Z3>Ii?3B:>jf?nV2҇29#>c?d2+~>,Db?Ș2VD1>7b?1'3>3c?^]1F>6h?=C,38/>Soo?0l2?]>|Uv?Kٱ@$3BQ>z?"12Etj>3y?VT̮ >Vw?x23\>Ku?om2Gs2LI>Kr?Fe2 8x>Rx?[2™3OoA>d{?/B2->Qv?92@q.2>S_j?>BwG6on=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@4?q<Ž|;w)???;ҽvS2G(?VB?q%?@D?Ec񁵼`#?C?*Y\z$?e??O޽J}%?B40'?,"I?>;?Q?# kA~ ?EJ? 3&?>>??333?L?gff??̌??gf?33????gf?43?@gf@39KH>e?a9ZH>P?9xةXI>?/u9L8J>?-8 qL>?ȕ8N N>?h8QDsN>r?8EP>3n?9xةUI>?A8v$>?F\YR>u?Dk~qL>a_?}?uJ&>k?9i~:>M ?8'B>N ?q8UpD>?59cc^F>?9yةWI>?9 %?I>'?9xةXI>?9xةYI>?$??g_@?=L>>>??333?L?gff??̌??gf?33????gf?43?gf@Ӳ{3JĽI~?B@F6vS})7=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@l12G{?8A6. 6BE?ڲi-gM|?8Ap @/( 3" êz1?[?w5}++:>I p?[xua$>Fq[t?I >ww?H>γ4w?:G.= \x?dF'=oB x?!E=oýy?C_=Ƚ;Ly?!E=oýy?dF(=nB x?9G.= \x?H>γ4w?b_`=sv?7s|h=t?F=,Zǽ&Bs?1=ͽ [q?Lm4>оZp?fb>3o?=#>Ho?꠾˙2>"1n?A>%_8m?<^P>Y=hh-l?eA3W'$@=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@5_f#05?b B9>>"?E`<"=$?1N;=x%?!<:[=G(?+.8 >#2+?yp$Z,6_>.?To3>0?'0>e1?K/>x1?ݞ/O>b{1?-]&10P]>0?Q'Ԛ0|q>/?T"-ǰ1 >+?tXIh4t=2#?a26)<?؝6mHVhp?a6c?WAp77nV ?`e8e ?FM9f?%:I<?/ջ;v/=5n!?5s{B<=gN>w> 5>a?<??GP?Ѥ?:΀?z @?=$@+?L8@u=?Oi?@?;@j?h1@xA?u ,@?@S9??Y\霛L7#C\ Jڿ95ICaӿ]c+՗ `ww#0[OQ;~6ɾIQC7QX;P=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@ >l>mj5>I?>>u>JN?%>ڒ>b>R?L>>q>S?3>N>t>%U?->%:>^ K>~U?1'>2%>4$>V? >>r2>GU?%>ӓ>d>SV?P>>>>"X?\>#9>=X?>9>cfZ=KU?>.>b8<;Q? x>`q>O?k>>iR?>U4>hU?>#>ZK 3V?8>> V?9a>>ȽKU?>5c>A𼢇Q?C>B>.=]DK?؅?>="C?%=Aԁ4]6=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@'f ( >{/g?gDE1?>Ûk?TK>sn?)2{[>Um?a Z?3mw>ɏk?*1K"²G>Hh?}2Ͱ2>e?#12>Drd?I 2i3N>d?ײP.O>jh?Ӳ!;>^Em?VTT%a>rr?#T}>T`v?)21)2ė>~t?H2p;3>q?|02-!1>>o?h+2N޸>n?ֲ22>El?P*1 2 >Zj?T1H3S>!g?jg1NX2ܗ>}e?22>Cb?BBȈe96=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@π9Ĉ>[/=(?,[Fe><1?/kQÊt>F:?x SQ>I7,-?Q#># ?4PpF >p?Ph=$Ƽ?PՁ= ~?,#R m=̼?*UQC@<^? On03? QTFl}?\NR2QS/>\Rm=.9>S4Q>8+7?+Of ?K>+>>??333?L?gff??̌??gf?33????gf?43?@gf@Tos=S?Kg_@F@ҲW[%0}?7@5!685z4Q3@~lp?B@MN*5LY,3볲J{@5$4ù9?6N-p?KYA|>̑7>X?8A1 ~Y6tb23\?8Ax{*pT2D{1[?I5<>iB?_># ?*AR@]~A%zrFs=X**}s7=/us=32ntsw|=8wvftdi=\=^-CtJR=DBVYet7=VD@]Rt/=KF ds9=HDjXs=4KS>qrd=A6MwrZ4y=bOE~r^=BQt`qҊD=S )q/*=%U҈p[=NW#p<Lj px==A≾oq|==O6ňrVwa=+r= rvs=2A&~=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@5?.X=5? 59r jΆI%s3Ej~'a+ jF !Gi@> <%2yi$U M)'ubdi ; (gUUip(Pj EiY([Fir\(Qai%2i doJi[󳾞,j&x9j] , fj1z?j5wA>k[ B1k2ֽ:jfkK߽Yl=kpMStB kxG³tjP @օ'@AE@ܫA#g/@LdAYd-@ A꧂g@˪Ar@?A["@A^0P#@FAՀ$@,AFP*@,AN!3@A*'=<@ATiE@UA^C{P@sA*a@lAUk@,As@AUx@ߊAFa@4A-F@wANvʠ*@ދA @rA=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@KЌ2M>4^?{^">__?2W&3k>E`? U2'3>"a?UT1Or3ˮ>(a?k2Q3/>@#b?)%2H3h>|b?|?2>9b?T8Ūt2ؔ>2b?ĕ2>b?2&+т> c?1o=@3%>v c?=$"1>b?G22/2g>Xb?ば92>a?B2ڧ!>вa?b|:3>[[a?mm>`?ez2r>ڏ_?zD>^?q?2T >i]? 1151H?\?gvB 6 6=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@3<Ș=܋Ly?0bY=n=JCYx?U=>4:Vx?/={ >$r3x?S= >0x?={l >/gx?f=>./b y?ա=!>Q0Ty?=yA>1y?Ŕ=p>2/y?=<>b 5KBy?~{=v=6Zy?a= =8qy?$E=ZE=};y?R)=_=fP>fy?=s=?Ѝy? ==2!Ay?[r>>??333?L?gff??̌??gf?33????gf?43?@gf@,z255?AA7< 2ԇ2CA`0ҵF|s;Z>0'>2:r|zQ>)>˙Y_bqJ>P&>gpHH>B#>hpNH>>f6q5H>wE>aqxI>G>^ q|I>׎>B[grJ>;>SNr_L>z>ЅJowrP>s>BrCT>Y>F:rX>>:3 nr*^>?#>(-r3i>W%>k rp>&>=qw>L~&>g q=>'>yrHz>R&>YI6stYs>7&>8sk>^%>ֽ;tw%>S{@S`%@Bya0@ɉ:@oD@pӉM@Ї-hU@B!cY@-o\@XΆ(wN`@M^@12w_[@Px-W@z^|P@jiK1@ǫ@sq@kzs?όfX?D?sA%@5R@l=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@61>Ԣh? & 2A>iaf?53֍/3>d?oεV3>d?=1 j3;A>'e?u533>e?̜1{3.>ģf?\2M&2b> g?1g1 >dg?*3cd#>+ah?wR3$Ⲏ>Vi?CK2J[1v#>6j?#1 >Yj?Y2"2>$k? s0>Gk?'eı3!^>^k?JP2Eg2K>bk?4C1i)2/>Kk??TE>,k?E3*>k?~2>2k?62m\U>Pj?kvBL*=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@MM-WHp?Yxp?Gּq7tߚЊo?}B"76=L>>>??333?L?gff??̌??gf?33????gf?43?@gf@55?AAj5ː*62?CA2z X>0  !"#$%&'()*+,-./0 55?<72?:%/?;-?+:/?j6;3?#5*4? 7[2?E;Z-?=ڑ+?:N,/? N?}@( CN?C@sCN?Ă@CN?I@rCN? "@CN?xh@[CN?NT@6CN?̈́@JCN?ZD@CCN?@CN?~@C ===>*>L>n>>>>>?? ?>A3 z<3d3I~?<?<46?Ў*>L>n>>>> >ٸ+ <|? >::W=|? >*;]=Nx|?N >S;>=;O|?| >*;UEN=|? >;:(*ٸ" <|?S>%{:Ǥ<|? >z9;x>1=.|? >z;!d=`r|? >T;5=J|? ˂@ll+;Â@f;F@Uj;@誼v-;@;Ƃ@?;˂@\ow;ǂ@Kݶ;+@~;@J7;:@v; ===>*>L>n>>>> >=|> u?_>=&O>w?m>,< >%y?B>Q< >vz? >p i_y?x>C=a>v?>=|> u?F>7=k>W>?w?1>6<>8z?>Y<={[{?>e <*-&>ǎy? @A~Uf;DAݶ͢;HAߤ;JA ޭh;GA8!;BAࢼ ;@AyTk;CAi);IA9rv;LA2&;&HAAc; ===>*>L>n>>>> xݐ5RҾ[gi?bg 5پg?5%ᾂe?AR)25=|`e?sr2rN5ە߾Lf?0c2u5־lh?a9/5RҾ[gi?T%Q2[ٚ5nپg?:p1ߨ5>|_e?1}5v꾈c?3<5H{ᾉe? AO$3#AqbHx1`AD@nxAs*>L>n>>>> 32YQ#=? 5@= +4 Ҽ(;às?P <,<t?/E(s=oP=v9t?ɐ= n=?t?B0f=L=t?1c6<!t?򋘾*'>t?&<ͺ]wt?H= G=s?2 Q>}ʡ=("s?ו3=MX=Ts?֋@-6_3 ===>*>L>n>>>>^:a[j11?hA99.60 mD3>+>O=>)>\G>X(Mp> beL>U'>!KE>m({K>u9>Z*>oD3>+><>f!*> beL>U'><-T>3&A@>H>>E(>5|%;P@ ===>*>L>n>>>> '9>8>չH? >%=G?ƙ=t yVx=D? >LC*="D?k>kfT=&F?@.>e=H?#:>`>H?,<>ɘ>UH?G]8>'E=F?5>Z=8E?(6> Y=.G?#=A(m#,S7 ===>*>L>n>>>> 2Ro>o?LF2RL2T>`?*2 ?7?X?}B6? \?" rVR>pc?'u3o㉲>k?u_3|Q>ho?e 8>a l?4B2:2[~>d?GqC*z> a?2I<2?>af?@Bj62? ===>*>L>n>>>> Dc;?wvc]>I1+x.GE>.ϼKx7 O>ܮxm޽0c>}!\w!y>P9vP>d;;9w=S{>08:{w%5-g>Ɔ"x$w[>򝀼սw@Խ<k>jUڻ!B&HB6 ===>*>L>n>>>>J| w>>S?sg_@:j1ZuVs7 2yY}?8AĶ.F3|:{?8Att6R7Ҍy0m0@_?\?vH6F쟶H =<={?eA1W'$@5vvٱ5?b B8>> ?1> ?~w0ʪ>?G/j>m?)qn.j>i-?D|`/B:>?t 1d>?1>B$?7a0kG>m?*qn.j>1{?P ?->?~/諰> A6k;P ===>*>L>n>>>> ۚ>{>l>]?b<>q>e>Z`?;a>e>RS>Ab?>|>%b>vac?8>e>~Is>Pa?`>͕>1>^?#>{ɜ>>c]?>l>>;_?o>'>ۇ>y&b?{>݀>J>{c?g>/>P2>ua?$=AU'5&$6 ===>*>L>n>>>> xu2NJ?I?i24#?:E?:)&?imB?ި30 U%?sC? 1vQ@A"?(E?˱/3N?i;H?a3n?dI?@2e֍PC?;J?y92|'2i$?3PI?Sղ*>L>n>>>> Wd=="?nW >e>Y?amWX>dS%>)>WL>>Q>W>>{?kW==? Wh=="?sW==?>WOq >n>3?W>ީ>K>JW5 >y >el?!Bz5 ===>*>L>n>>>>Tos=b?Bg_@Q@r24Y[%0}?(@X1232 3kp?B@76L6F12 "@ 5wd5=ù9B6M-p?NYAy|>7>x2SX?8A6k }Nh29o2\?8A %6Fj3rϲ\$$[?>iB?^># ?1AR@_~A">{ <=2A&~5?|15? Š8_ 1h^Lщ0Svh cGh2c ṾBhm%=uh&a ݿ!gm<p *>L>n>>>> @ 42S?\?ٛ4h#`?ԉ[?2}k3?kZ?c9rj2h?ZY?2v,3 ?{ZZ?r=3 3 ?f[?$1^#ԕ?0\?!8`3?\?"23?Ҳ\?y20?\?+,^?\?hvB㮶P6 ===>*>L>n>>>> :2=Wx?.K<=0Z×x?;y=q=].x?`=R=^w?p<=+ \Vx?$zC<1=UWx?*>L>n>>>>z 155?AA62DҾACA7r8 ]#sc> %>SsH^>0,>"rX>h2>4(r&V>H5>#yrY>1>%S0*>vss%a>%>s^>%!)>QS+arHY>.>1Fr-W>1>ǵ!Ar [> -> _uP[j@#WO[@YF_z5L@~53TE@- N;N@.8TȄ"`@K_uL[j@#WAc@Oz+V@@MɞN@.8y Y@C ===>*>L>n>>>> Xj3B,>4j?92UY>@h?I119ޱ>|f?u=3W p>Ze?=3|>Df? 3O?C>MFh?s37>yi?uP>;h?a1n>g?"z1I>Nf?-2>mh?kvB_0څ ===>*>L>n>>>> VϼYz: o?/6DMo?e$z;2o?~)*>L>n>>>>A55?AA\š(?CAJUE>0  !"#$%&'()*+,-./0 R=Q,?5Ei#?IC?AG ?BCB&?x@(?p>z+?CM?"@" C ===>*>L>n>>>>>>>? ?>ퟲ <'L~?(<.AAq?4*>L>n>>>>> 7>*7DWi}?>8h<^}?!=pM=B=-}?I>BhfY=n|?.:>mx=F@{?q>>$.%=o4z?\9>.:>&y?H5>/VP=?Cz?zq0>#2y=m{?+>؂=<{?Go%>?䀹=z|?>ٸ <|? Ђ@?L;Ƃ@;彂@;&@$>;@H`*>L>n>>>>> lJJ>0+=P!>Ovw?.5>3.=CJ>v?0> =h> 2u?Y>c0=p>ˆr?lM>G=^p^>ץp?.ʌ>\@==>=s?%>5=h="u? =>2=m=zqu?변>0=^>wiu?hr>/=uM*>At?8b>0=M9U>1s?8-T>`0=2{>3r? WHA-nj A< OAĞD*>L>n>>>>> 2ɢ\5?"u?22ow5Bƾk?15v꾇c?5숖5pƾl?175¾l?dE5[b m?D^0ň50m?MY5|l?^525 þl?{2 5{ľ7fl?r'45 ž+l?=55qƾl? AƂ2A/[A65A>\,U6A2^k6yA_n6|A`7A_)&A^K4A]5Al-\ 3A .\R4 ===>*>L>n>>>>> 18"2= q?Y.*=?2_vj==]?xqZw=vc?琲]ފ=i??2`q,=n?N2U+2= q? 3@tlzp4@ `\4 6@Cm13@7Xr2)2@O@e>52@e622@IF~2@P2@3p2@=2@TP43@fe$ ===>*>L>n>>>>> Q{ҾC< zIi?2˾=-;,@j?Ǿ>:i? ־|>N\_?S;74>A W?!!K>X?F/꾽{M>\?n1>ٌc_?߾ >QF:c?@ؾ=*f?ξp~=`ji?ľ*>L>n>>>>>bG~{ 0v?iAOb6! QbE>X>\>Q>t7>>1ޱ>c=>78>bcA>q8>~>@C8>X f~>J8:đ>J>.8Q>mj>+7E>4D>7~S>s7>ܛ7->c=>78>.6;P@ ===>*>L>n>>>>> =y!>v`?Ō<Ѿ+>f??AWK j=Q?J>Y=N?i,>C>J?'=ADP ===>*>L>n>>>>> Oa3YIJ?mM?$(0O?e?3Gjf?>=2ΰ1T??<3M@042{?*L?v;Ү1Q> ?vW?<~>db?Sl2&SEý>m?AB84{4 ===>*>L>n>>>>> Jf&)D>>[x=ʣ=:Vb=#=ižm ={=rUsA7>/=˕qx`]>z= olLt>e="7m坂>'Esl"9?pDJ>3Drj}z>K!BoĶh, ===>*>L>n>>>>>J} w>>b?Rg_@9El1 3uV>7u2t/Y}?8A,`V592:{?8AX 6$6ɛP̮9/? \?5ݶ/3G =<={?eA9W'$@5o[1?5?b B9>> !?V$50>1?3̾4ǎ>>?񾘶3a$>?W?QѾh5C>?3(>??32>C?2_N6>?孳2F<>?a2gE>S?'bU1wO>#?'K0X> ?E0Oa>_;P ===>*>L>n>>>>> P.>P>7>xT?>Ӊ_>>@R?>S>>zN?8>>>I?> Z=>>D?>@>>F?&I>>ɨH?SX>e>lz> I?u>>԰> J?Kݿ>l>&`> 'K?k>Ğ>h>VL?Ź>>H>M?%=A45x ===>*>L>n>>>>> 뗲3_D?#?`16’M?C?z2CMR?3?3J??7s2WoA?'? Z6HYA?N'?[Kq25{D?u$?6Ξs$256F?>"?vƲw2 F?e!?2P-F?K*>L>n>>>> !wdݠ=ً>>M[\I>Y>E0>Uy>ٶ> >=Z]HC>eQ>ԝ>ewdM=Vc>>ne_Ƭ=X=:>ec==r>>WdB=a=o>Dzc =c=>ca<><>_^f<:(> ]c;m,мB>!B6X6 ===>*>L>n>>>>>Tˆks=]?.g_@3@1xֲY[%0}?1@\LQ1^3ip?B@Y6k6 b烲Hx@̵|ù߃9@6M-p?MYAN}>7>Q׊1kX?8A*|5ADY2B2\?8ApGߵP+1]0e[?$>iB?]>" ?0AR@U~A"?{ <=3A&~5?*5? :  Yeg_x s1gÉ ¾Mf_ y;~qdztSԾ-#c {qվv"c N4 Ծ΍c ]оYdN P̾1^eN k EǾtfJ c ,N¾l}gu Yha |@UA2@[NjAm!@΋AB/2@ӋA5s@֋A/W@-ԋA $@}ϋA @ʋAX \_@ƋA*@A]@*A݆@@BA ===>*>L>n>>>>> NQ>2?hZ?2?X?r ?KZV? v3M?QT?K2?lT?!<6?T?P12g ?FU?[B2J:37 ?V? 838 ?]9X?ig2%^\?9Y?53?W[?ЄU)Q2%?s\?ivBⷺ6+µ ===>*>L>n>>>>> ʃA===\w?='>_yv?= >`^=u? =&h>Sv?]-=="K`x?1ď=b=*>L>n>>>>> G2\255?AA ˙5۷111CA.4""l6 m4u>-!> dasVH >)>t4p>Œ,>+eKpmC>/)>_Mp>Q%>惾[tqW/ >Z$>}]xsbr`>$#>md's>3!>}gMTt|>r>{4u>$>v#>)>Zw1 *>> 3c@(Oy\@4GǼU@!@P@~:nUT@$?5lX@Cބm9]@}Ha;a@`Mf@KRbuR[j@$W ===>*>L>n>>>>> UT 1>e?0lGݱ>`?`U!3fm}?[?o;16`?E22’>Qd?h0T>g?#Ʊb!>qj?kvB@ĵu ===>*>L>n>>>>> D<6=|;n?d)]5o?v<&p?:Ȼpfo?;c"v@n?&䘦8On?#*x+צXm?qOk0Tlm?q.5S1m?8y*937m?5*>L>n>>>>>ty31>i55?AA)ȫ ?CA݋5'>0  !"#$%&'()*+,-./0 6#;Z27?Uz{ukz 80?L:G81?fc:T63?q958-4?55? N?V6@]-CN?wg@c-CL?@i-CK?@O-CK?%@i-CK?@q-CK?'@t-CK?ߘ@s-CM?vr@p-CM?iL@l-CN?~'@j-CN?@i-C ===>*>L>n>>>>> ),)8OOO(K@KitVl-(5 +O4O%%nnllǓUk6Wchh >z.4 4 ===>*>L>n>>>>> p`;Sc?B<;=k\?F<] R?( 艽h? އAJR{ȯAR^fӫARvARJxAPRXƃA R|lARA8R'kLJAR0ׇARm%ARC}WAyRi7 ===>*>L>n>>>>> (t/*>L>n>>>>> _L;MF>|?JDV< >r}?xa=/vZ}?[=^< >}? 6=n<9 >:}?X<_<3} >b}?;@}}?Y< >t}?N?<6>e9}?S;gF>|?ѽ:S:9>n(|? <> o{? JAD6<^JA4-vJAȩ:|JA0T;JAdWy:JA̗:JAZ~L9JAJ3zJA}hJA'0 ycJAsWiMJAP<f ===>*>L>n>>>>>ް4߽y~?ŜAZ\5 2m=a~?1@Z 2=UD;|Jy?W=i=p){?>:BI Klc<w?ߋ@lR{4 ===>*>L>n>>>>>g:/f?hAK $ ߁Խ@C]>B4ڽ]?_>߽f? a>`h?d>I'G뽚/? f>t>';h>fDO>Tj>WS:>tml>HD>tn>$9.3>p>(իB=r>J =t>m;P@ ===>*>L>n>>>>> =VxӾR>B?ףV?&̄=IѾ>V?Ķ;> شv>kS?;h>>U>U?N|*>>-X??>$v>fX? >i3>R?!>FdZ>=*G?sT@>FD?0?$)>HCj?6/?3=Ͼ)(?>?%=A^4 ӵ ===>*>L>n>>>>> ܜ2kl>r?^EHP?H?7ʏBѤ0?rK?52i?X? 1{Ժ#i ?W?ɏ2粌q ?`U?xTp"t?X?a>e?22>eu?v1BB :?2&!:?ֲB[> z?@BT4x ===>*>L>n>>>>> |MoRCv:>w5=ik.ggMق>b"Ch%@> iv>?k%Z>0Bnb v>}x5p;M>3ؚp½>>E<ܢlSl=>F=^nc'=I>=e[-0=>7"3>coJ>j>!Ba QN7 ===>*>L>n>>>>>eNGd8>ξ??;g_@8!= 3D2D=?)@uеGԲ˲~?B@k6y@E7`!ѱ112?@A&cDO~9 um?MYA|> 7 S !Nԗ0|t?8ArնkUC?3Cf2wm?8AEJ7*6MF/p0?[?[~׼ N===|?L==E=O{? /= >_=y?>eB>=w?H>XrM>m=v?v)>IX>Uk=8u?ۏ;>c>0=s?/M>n>=vr?~{_>{y>j=Bp?Iq>Z>=v`n? ?>&/> E=5q? L >>y=U`s?eA6W'$@ ===>*>L>n>>>>>5d)ñ5?b B~:>> R,?aD%8, ;'?m7z;'?m7g6?k=,+_4?Vx'D05m [/?)6k*>L>n>>>>> T”l ?>QW9?N?/?a$?ecFH?eM??>QS ?J ??QY?? ?6 >?E?ZQ(>Ee?A$?5>?w )?Lg>܉?d+?2b>_: ?!.?Pj>?'5?$D?Kޢ>I?$=AVUXiA6 ===>*>L>n>>>>> k3y2">f?\:<&A>zl?j71pd2z>#t?2&>’|?X~3+;>3{?E3[Mp'l>ky?w2M>K@w?'32u}x>Tx?<3d@JS>}z?Z2tD6>t{? }3Ήi?>@y{?HI_2u>lf?@B,75 ===>*>L>n>>>>> oOG.?FF_>>>8">>>>=PZ>^>V>nCP;>N>>5I >c>+?&M=>?O:=l_> ? O1O<>?M B=F?J#GֽT<1?>KX(c?!B|5 ===>*>L>n>>>>>Tjs=2?Ng_@P@432T[%0}?.@S1˶T/0*"kp?B@)66N8v1s@Y5ù9A6N-p?KYA|>7>n1gX?8Ah/6I, 7\?8AQ@5616ղԺ[? Z6>iB?_># ?+AR@[~A ĽO<{}N= =i|2N=\{X=4P%<> >8x#=ww{@>=x0=4 B>Ιw=D>ivI=2-F>v털=DFH>u=MO=T{xEW=_]R<zgU=3A&Ȝ~ ===>*>L>n>>>>>5?^1.5? Ÿ87 𤽾gZQ?že%E"tʾb*q3`.Qžq(cD)S}dLem|peD BA4kfcr;4캾_g>O1e Dh' )xi,wy9i!h(u쵾Oj; LQC @[A@1fA$&@ګAk܎ֶ@&Aݏ @xՍAL@oAS @AqF @UAΌf @A|8@A1i@\A @RÉA ===>*>L>n>>>>> y4wh2]?Z?01r?{uY?eVok?X?1*2 j#?pX?㰱2?vY?͓1W2?*>L>n>>>>> #)޼J=T4Yy?Q]a=Oy?5򓽉\=#L߉y?b`A=LO:y? i=grRty?ϼ!=ySdy??=$pTQy?R09=HUq>y?/}=VE-y?EŻ[=Vy?)3h= GW y?*; +=Wx?}B۵b; ===>*>L>n>>>>>2L55?AA 371/1CAe¬P5 ½Buj>>̯ɕvqb>Q>~ɢwX>2=AܽwC>SI>kַv:>c>}\t U>+!>C;rs>",>pg>L4>ɞVqأ>54>Dnrh>&2>;E8rEx>0>k׽Tbsq>8f/> @OY@ǣj%@^8|&@qz`$@%>{."@$/At|@tȊz~K@~x @D8ʁ/"@ V@ƍ}7@l ===>*>L>n>>>>> s.X13=>il?9 nZ>Om?*}sYH>A,n?cq1A2>kl?)0Q@>k?HZW>j?Wɲ>(j?"/F"L>j?ACCf28>j?2)2nt>"k?o8Ʇ>Mk? 8&A3#>2kk?kvB֑46 ===>*>L>n>>>>> ;k9/o?-n9ٞo?$F8Fp?>x4qp??`?60 ELp?\.9ꑾnq?)<*,q?H<,t+3q?G*>L>n>>>>>A55?AA8#1+4ξ<{?CA˸3I=055?N?@PC>?? ?>s2ێ<*Һ[?AxR9=#<*,?Ȃ@ b;6>=#>&y?JA:-c;jٲ5B|_e?wA4O=k?ɋ@4"Z6 M5-01?oA<"#22i_>7A2H7>:p;P@sx Ӟ=E?%=AR5}'7*u2썷>n?@Bc66-6KZu%^c>=!By6յ -}ܾaa>n ?:?lg_@; ײ-1JĽI~?,@h4IEp3d9?B@+㵊60Vl1:E8?@Rn5D69-.ֽ~?NYA|>^7H7'j3þ^l?8A653ޠ|x?8AބLX$P1՜1?\?Xֵd_<5+==t|?eA>:?Zʻ+o>[ 㧝;Pf>Ө>h=6X?$=A 6'c7WΌ2KZ??@B14dh6T)t?!B̵KTos=R?7>b"-3y2X?8A[>|2\?8AA.67:N1辰0[?].4W>iB?^># ?1A R@P~AIAOw!d"w2=2A&~5?o}8`M05? 8\nBkc ?xA7Ps>En?ivBDE4 6=j=ս |?}B6v6 w2o355?AA%10`i0CAԛ4We6&v:sZe> >х<@g#= 1+ >Kq?hvBx>s޶P:=eSVx?}Bl5RD55?AAKCΪς&?CAJf=0>>,L+?N? EqC>?> ?>w-:xɍ艽da?APR@7Y<˩=z~?׭@xݱݶE5=tE>3y?GFA331~4~?AhT5W1G=2?2@Ɨ]l80=Ͻm}?⋼@F];6I6. 1?nA|&5k,4 123N>f<7*;P@73>>yP?%=Az=2}>zj?@B&B69hoc<6;V> >!Bk71+#? w6q=?y?Rg_@232܎[`?F@۶ ݢꀲ޽zz~?B@7jRG1<0S?@:7:娴h9Q3kܾg?MYA|>̎7fC3ymڱLԗ0|t?8Aإ >z6YhQތ2wm?8AF625ZZa&?[? 7txaE>fP>nHֽ4Bt?eAPW'$@51Pa15?b B^7>8>xK0?"Ն6=,V7n;P6pJ (>Ǖ>4N?#=Ar~ )ݲ6!?_mF?@BM0k4?!BH\5m7Tos=$?7g_@N@脲V[%0}?*@x6` 7; {3V2lp?B@dT{!2 2@l}V6B:L6fùo9@6M-p?MYA$}>7>ֲX?8Al 7n92|lJ\?8A 6@1ˉܝ2<\?~n4SN56>iB?^># ?*AR@^~A3!Bt=Kzx=1A&ǜ~5?(C5? :%HwH@̽}ll@YAͱ$2>>.ߝ>ņs?ivBF6`&>]>nx?}BaG5c6[2155?AAŶ12hBCAR]5_ޏ6(t.>X >%@" k>>M}?kvB:@=(Hy?}B5QB670155?AAuP)/'!?CA z=0M+?gB@@ C>?? ?>qdo>:iT艽e?ARJ7߼2a9φ<? ɂ@񴼮j΀&_ >f{?JA1>]";P@Ɇ%=W,><*9?$=A{ʵf+5$2j>8o?@BVM6'6xyW=;5>=!BO6\5Fʾ[R>w:?~?g_@G2p=D/V?@,7T;621cw>Mex?B@5c5\ϱ ?@djz9?vcv?NYA/}>7 3W91T?8A57jA5ʍ(r3wm?8A55SыX{2`0?[?μB&h=p<=z~}?eA2W'o$@5xײ0T5?b B9>>V%^~>Kx?m '7R$;P|=?>շB?%=AZdݹ53&'A1'>n??Btj06aa~/>!BG7?6Tis=ԑ7>@1(0X?8AFm Ϩ5`,2\?8A6F/7VX6βn[?R $[>iB?^>" ?,A R@_~AҽDy]}R=4A&~5?E+1k25? 8 nӂh2 >@ҏAC2 3">Ol?hvBH696>=z Ly?}Bt6_36EVt3 255?AA_3+ ;2T2CA#4B4Ͼd.n>i>/>d5v@㒏2sI>p?ivB赼js6>k%ؽ<(v?}B&6hc5z,55?AArb5X4 *e/c*?CAd)<5=0BDB&?L?wA|C>?? ?>)n6D5[†q?A S7~x04~3?ۂ@Vش\zdN"uP>z?DA歼Q#5(29>5N o <=[P*;P@\ܾ b{>0?#=A@4ah57%90v07?P?=B,q5Bߣ51t>5u"X>!B<Nj67=dAF7Z2kܾg?8A$ 3A̞0jr?8Ab+h 9/|U?[?L5>03>>4 ?l;2=nq;PE>U9>??#=Az#%2S2G>hc?=BQ]h}A6P<=iτ?!Bc766Tls=E?2g_@F@Z3V[%0}?/@6~$W6k 5lp?B@Y3z14 @v57ù 9?6M-p?LYA}>7>!*2 2X?8A56k2\?8Aˮ4 2ðk1*0[?; 5>iB?_># ?*A R@U~AAsx*C=2A&Ϝ~5? ̂1߭!25? D9śo*@rAK)1ls>Dn?ivBҶf+j4=j=ս|?}BQ56u2R'55?AA^6T,h{c CA1y4_5 kr+v>>@k3yײ >Kq?hvBNĶO:=cSVx?}B>O٥Գ55?AAժ`H#+x *?CA57>0  !"#$%&'()*+,-./04d5?4d5?4d5?L?@Q CL?@CL?@(C=L>CC((vff**{>%8=L>¶?`4+27?變qD;JyR??AHQ)ҿAHRχAR|=L>;0?=h?u?ּҬ<,?Xf^<[;?߂@Hל9oւ@鴼{R͂@ FJv=L>(>T<='}?= ;=e}?B=H;*@><}?zPAK];MAO;KA+_Y;=L>L\t}5}2]p?AAo;5|-3Ei0+=SS?2@ZpB {7>Ry?r9s=~?rO7=^?ۋ@J3H5=L>@/&0ϐ?jA6*K(>\> T>#>Y>R>~> Z>hHR>)26";P@=L>8r5>#9?Jc[v?)+?p 4 ?&t!?#=A5<&7=L>2>Th?13F>r?E*2 3ϐ>u?AB956=L>ɂo wk&>@?[x*: d >E\{ӽ>!BJ'.6=L>J| w>>_?Bg_@?ULKܲuV2Ų{9~?B@4¤5Ob 1?@ ^6057]װ2Y}?8A n&^20:{?8AC5~'2K*Տ0?[?/.!꩑b8=6=W}?Z==D}?d< ,=T=|?eA4W'$@=L>5l7215?b BZ9>q>?:@EȈ2> ?0#?s4>d?m::y6>6=;P=L>2>g>kQ? ?R>G??I>r<;?&=AW3%F7=L>ϫ1Î 3K??㲼 a?M?\?r#)IN?G?ABE=L>Jō>03d>>'=~>JƦ>?0TOc>'>^ ?!B966=L>Tqs=a?=g_@*@Fl2Y[%0}?.@+ڪl2jp?B@t65觗2܄@;ù9?6N-p?LYA|>7>G$ĺX?8A_55I0BM1\?8A.6C 1|߮[?>5.05>iB?^># ?0A R@M~A6jF6uvcz=c;z5?ۄ 25? 8Nk^2y˽Oe߾d_P`xfN0$SG@A0"eSB@A?=@0A=L>t1#3lM?v]?&2J3H>_f?ky1=%C3>Ti?ivB%|6=L><贽,}= ~}?eG3㈼Hh==~?#뇻DCFv?}B&D6$ٶ=L>R2; .?\aб7GJ ?_%2*2.Q=R,?AAH=L>ff[8B2j2CA5ӣ5B־Lg8=H7-}Lq&=!8뼪о_iz;.=q;La'@ %@+?=L>g,=2T8>sk?^.]է2>Ϫr?t2*] ?MK?ivBa6՛=L><}< >?}C ar264?`E1A)(?QSi+SH]?AAxV5=L>o@,b.Ĭ?CA5!?0  !"#$%&'()*+,-./0 6K3?X73?¹7E2?72? 6K3?J @P C5@' C}+-A@F CP'A@$$ CJ @P C=L>>>CC'FF66cduuCC>Q3=L>>>|\ ~?M3W]Bn~?* ,=V~?K1 9 UD=He~?|\ ~??AQҿ'&A@Q⿬>A Q~?=)AQ??AQҿ=L>>>ӹ];=D @?v;?x|7|?N_;x?ڹ];=H @?߂@| d9߂@}u=ނ@h8f߂@kT߂@{d9=L>>>Y8bAѷ=5?,~N+ =o+?}ɼo;==?_~=)?Y8bAӷ=5??PA`PA 1:PAcZ PA#*#mI?PAbnQ=L>>>2#r5 \p?ڠAG!|?6?4=;D+>)#|?=<9&>0{?7A=|?;>ż}/>G!|?㋼@d@=L>>>l$s/Q1?gAړ5HZ5µS>Q>KS> 5;P@! ?/,?h^o ?C-?kY?-?ǽH?-?Dd?#?$=AZ5f5=L>>>r2!>Qp?,[t3$>!m?3آA>h?E3:ƴͼ>w?@Bv5=L>>>^zG$=T6> u yGԗ=>`>k<]wgpa=~>]=+x^c%=r>L=p#>/u><>!B5=L>>>j01!U7=-3?S?bg_@@i1j2~?7@N C+ / tke?B@\7-&u0'>1?@g5|6 =<ءq?MYA{>7Bj3n)誾Pq?8AmE7_\5X K>׳]?8AK"H1z0hb?[?X6o.5=K=O>N)=*Yx?D=8>s> -y?Ѥ=">;>7y?l="q5>>y?v=9H>)>Dx?eA3W'v$@=L>>>52 5?b BL9>z>ka ?\mCDP]>?S找5?]>8P?و$=^>R?ʼn?Q]>ja ?\mCDP]>ZP6C;;P=L>>>!=m>u> A?=>>=?a$=F>Y>:?٢u= :>p>QC?}.=>#a>MD?%=AXav5}ζ=L>>>@2n_>Wa?B25F>Fb?/592>.b?òNIl ?pV? B3g>_?BB{ 6Z=L>>>R\J)M?Vd<ɽК?-P% ؽ~ ?DKYʽB۽#+?T\J)L?!B=L>>>Tes=Z?Dg_@#@Q3Y[%0}?7@96t$K nl3lp?B@65h7)@a66ùF9@6N-p?OYA|>Ѝ7>Hױ-ߣX?8A=U'\?8Av5\1Π3[?u6>iB?^># ?+A R@U~A=={t=N=>z=5=/x>R =yO=n#F{=KO{}=3A&~=L>>>5?~X25? 8sn_ٽRC+Œa>b49־g- =yn~;sn_ٽTCF@/6AԔ T@졊A@Cyn6@iA_'q-@^AF@/6A=L>>>t2M?Q?C153A*?8>?0t2+>Sj?ְ (>d?Q`2À2M?R?gvBW6%=L>>>ϵTbV=v}?u[A;|?p,G4#m>?u84Csz?ϵ]}V=v}?}BbY6"=L>>>3'b; .?_l2)H|zF!?E 3G69v3?U.202O.90?3'b; .?AAyik=L>>>#31c&3CA,5Sl4־h =QY$o[f=BH>>e.>rk?} 2a4W>+c?A?W2m9K?ĭ?YI+314+?S>?J1,92>rk?lvB6$Y=L>>>j<}<0>?A ?}B 66=L>>>OI64?ڲ2 90?Ӳ=<-?26Dm$? =2s64?AA—=L>>>q4,w?CAi5D 933s?0  !"#$%&'()*+,-./0/8>N'>'ݍ9? >@2>&8? W1>D>u%C7?O>hf>t?#0N5?>z>B/?L]>{> $?> >_?hA??T޾>q?"?gc>4"?&4?2?\t>L)?F%Ѿ?_>> ?_>Ă>3;>S?i/> >k'?9Ij==*?=o}It;־ <.I+?;>L+?>>L?@u?CL?@>ECL?@XLCL?@ϮRCL?@XCL?@\`CK?@ygCK?@ fCL?@ RCL?@5CM?@J#CL?@mCK?@DCK?@ CK?@_CL?@VBL?@BL?@.BL?@CL==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?>>? ?>ⲉ6=W*52}?A@K%9>gŻcnov?=/;ΰ.7{?=YmDs?7#=O+/J+/}?ë=ӡͼ ˼~?=&0a7oz?$=fq_n?Y=ƼU-p?>Żenov? @㳛w;+F@d;<@5 ݍ; @N;L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?=Kw?Tږo?<%;>q?xXL<%:A>wv?T-u?5;<⡺;T=~?8YF< +>:|?4=]1<{=~?6j=K<<?[=S< =8?=KAաo : >AOS9NAY :aAc :jAƭ?9joA9coA9fA.糼B9i[Aӣ:BOAٛx:GAƲ:rNAamn;VAkb,;HTA%^sO;OA/Nl;L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff? U 4Ƀ?}?d4ǃ?}?o124&}?~0!2j4ȃ?}?{&G1y4N,?^fn>4MH?/j57O{?h2ѻc5˖t?5Kj~5y?2874˃@}? %AxAܗ +53AwoOe6#A鄗42AIĚEõA›(5AJ5!A^Wg6Apt.;^$AOW ? ??ff&?333?@?L?Y?fff?b3y@=y~?yg>=y~?H}=<~?o2}0@=y~? 2a_=N?q$׳ܥ<?21d-ٌZ=?Ȳ?ՎD=y~?0@˖r]60@bͥ\0@ia S4z0@-䖻ܵ3@|46@n'44@^q'a6r0@?Z76?ff&?333?@?L?Y?fff?9:FV*>!x?|0j> z?Rབ">Zz?нEL<->Mz?Zн>Վ_u=}?)T<^/r?zܬ=Cᗾts?='=Tă,v?=<_u?= 4k?x K=>:o?9:JV*>!x?@H6՚6L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?J;0 gư&m:2?iA&趠T* >E+=>E+=}5.>ߐE ;=>E+=yX ӹ=Ez; = G>=WE'ۡ7>{K}==\ u>L"p;T>J>>E+= o5H*;P@ ? ??ff&?333?@?L?Y?fff?,>jƽ?q* 1 ?K+E?`>D)~?7_A? >~`L,??]>?1<.?>4>=S*j?!2?=> Ia??a?iUг??J>t?"$?v>I>>7H?L>s>>R?!$>q%~>>>rl? <ݽQ~D1^~r?>ٶOU>XMM]?eۇC?+xU+RU?㞽mPKc5j?ۺ= >͖m?Zw>,iU>V?&=A16Y6L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?/؎2}1?K?(ir?R?71O}2?hZ? Ds^=2w>Quh?S3d!>>+p?p1=n0k>k?3"Ic>|Kb?.o*3>ٱ4>?$\Y? 0G ?U?q,1/3 ?MY?(_1j~>Vo?%"EGE>p?H1(>2}>Vo?٤MC2{>o?$ޱA1V>l?9(_z2 ?W?-1 &?jRB?`SB2J?_Q?jb 2>g?BBi76.L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?;O%?7̽7V=fUA?!BzgX(qKh松=M z??Eg_@=sT2N21w?,@&^%߰ r?B@ZS26~_0%"/?@ oc!F9-;?NYA|>7r?1rشwFZ?8A958ܱGK,1׳]?8A6+d2(0%0?[?7j5$>>F>urE=O?]>Ϭ>G=mE?:>7k?=>:?+>y>Ҏ=CC?,$>cR>7>K?|>l>^1>JRR?>>B}>.T?>>3>\?q>>'>4c?l >w>Dx>n?/~<|H>Z>t?mYx>=pu?:P:> #;o?Ù>, j?曾M>c?N) .>j?*V>sl?=1>SL>>>33>>ff>? ??ff&?333?@?L?Y?fff?58Z1Ų5?b B8> > W}%?'CW=V}%?#CW=񁳺^?%?`F3=;W}%?%CW=퀳(?p#*;z(?|?Fq/FrJ=V}%?&CW=€X96,;P ? ??ff&?333?@?L?Y?fff?)L>?B?A6r>4>X? ф>{n>a?4Q>>H:?9*>C>Q?;>X>&?S[T>̎,?g>:"> 9?O>J1ϲ>P_?;Y>E 45B>j>?>F 45B>j><>>;&>/?0c">T"=UE\?"<>I@m?~>>萾a? =}>SDj?=>!4>c?'LF<>>nlc?[0>>NJ='a?$=A;55L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?R24&02gC?{S?/H?-P?2uE28?N??̲(ղ#?uJ?έ2?L?1)k?[?j2A>wkj?nxʱ)2>m?%A3V1ZD?xN?{1V)uKO?X?ѣ;S0KO?W?,1)*&O?nt?3 2KO?W?U`$S?(?ܿ2ꭔ3L? y?Er?#iP?Ʊ1 c>حo?>b?43*3=)?@?AB,527L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?PH>^> ?!Bb25Tos=e?Xg_@=@f52 U[%0}?,@|6Zw6V@22lp?B@ Ld ߱ws2tlԯ@jZ6ù~9@6M-p?NYA|>7>12X?8A@o26F0t\?8A($26割[?"66>iB?]># ?-A R@Z~A> >ʾiF=ey>g=Ёœ>d+h=.袾> `=]&۸>I]>Nb>uZPF,>ھ??Q>ͧN>7H;>o;>O;$>ZǾ0>[V:=T;>>B%eZ=?1>"lK ={i=rg<Nsv}rh$B)Ĵjվ 3l1qM]i|Ks22fśyFqKwļ6 }߽2z 3A&ʜ~L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?5?񣱣c5? „8&=}.]n>WwVr>DD>0#rrNq#Y>%rýz^>hvl`>Y'|jX~'5~ENȸ 6{м%ƽCsf7̽DȾ9j<:ʽ8uprb+0POh־gfRiv;hRU*Tླ?doὦ;]GJx^׽ջ5 P2Ž!D򚾽eż5__i_@{AL==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?Zތuq2>g?Hgi!>= u?!0&-26>{?Y^ a>mw?5'IȺ>O[n?2߲>d?V2z_C ?2W?\aVȴ0<?rH?z W0?:9?%??]*?1k')I8?^1?,.y&2"? ,F?>ou 3SE?O?׷Z3gs>9Ze?ݱ3>o?:32<?iM?F$OJ?/G?O1iQ43q8?A1?8n ?GU?fvBjo6ؤ4L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?Ԥ" >&|?f(˽d&= |?IIνjS|>v?ؽvλ>{?ʹܽ!ػR=W)~?ӽ+;"n=f/~?ɽxϕ|?ѺJNI=K'>&{?Ďy\=;>?z?ZS3=}?%l^ v?6SKY<:?xHiz02vs)x?xTދmPx?|s[IBѾX y?}BA 2+L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff?T3p1DG#?Լ;1DG#? 22B3&?32dN3@̭(?$ȥ2P3'C$?ce3؉35F4?ړ2x2Nf7y2?Ø22_7e2?AAy?ff&?333?@?L?Y?fff?yHk@ ECAz6P(4Jl^@fϻ3|Y (VX>z*};b ނ>cw;DeK>zx' =`~oIpFpqC~/HʺSj_zOC.=Vb>*yT<+z=_y+tV*= |,j(j<ά#t|(z&L>>>33>>ff>? ??ff&?333?@?L?Y?fff?AX 2 5?4?Q.E 2@>skr?36*ƲF>#{?įls >y|?ug8"I>az?] /i߲>1p?1mVò?݌\?5@3 *?E_??~5G?n!?7ؼ1TU?^ ?I1W>]?s/ >.p?h@22v>-v?1 #,>*d?cDZ|?[Z?FF?)???ݲ3M3vI?J?r :2MD?$?72$oP??kvBlQ64L==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff? z;Y<~>}? 8`; =>_>Oy?Oa. =:9>;{?Q_usy=X{0>{?C8K=>|?u2<}=?a;Ec){??=E;="~?==󲓻NP[hy? =<94Ͼ)i?*+<<̾j?d;<;Oj?)rF=f,g;y?bk<.?}Bʢ !WL==>L>>>33>>ff>? ??ff&?333?@?L?Y?fff? ږ 55?|\Jw"55?22G\?q *?ԓف1 I|?b_[d2_7?-2{ 2_&7?==2s3_WM ? 3ֲ50okC>h02<Ta?PZ ˲55?AA0 ? ??ff&?333?@?L?Y?fff?v'0?CA!6"4=0.K?mS C>?? ?>)3?E1p;U@Mi?ASɕHtH=ܘ=;~?@\hƹDw|=Ϡ=t}?MA I Y5 |-L|?AtlC3HL ?;@,>N1s?ʋ@-5A*ع22Н/?hA̴ٷkz>UD¶ ;P@X=ħP?%=Azخ7L2,#?AE?=B.i#\6ujwN[>oO =!Bf6[H5C*=?g?g_@@(d 2uV6W/9\/?@?4Y^w=M=PpSJ?LYA|>27 2k{~3X?8A\I6R5];j:{?8Ap6߯ !gW14N2?[?FU:xF4 u>#Go?eA5W'$@5jG=M/5?b B 9> >4=z%/?)H5`;P ?&>4?%=Ae56hd 2\`e>t?AB(ɮ4f4JFc>MB?!BmCTis=U?4g_@8@6 2W[%0}?(@^5:)mp?B@'K]66쓲t4%D@"7Mù9@6M-p?IYA%}>H7>212X?8A H3$\?8AH6ye-1[?!*5d>iB?\># ?.AQ@T~AG|ǽՁL<}ھ=2A&ʜ~5?w 2ي25? 89mjĽs'=DR@OA1;1V>;Oz?ivBU4p =>X=ڔq?}B5A65òtWRO?AAQ%ӵ%3CA5O: 1qxg,l>%}=Mq72p/>2p?lvB 4 5,R<.6=p?}BtA,66ZeV255?AArGU6Ȫ?CA575=00P(FR?"A @[B C>> ? ?>C5\6P"=p=ہ0M~?=AS b@wH({?@Z=eO*`=oy?MA봼f;Y25`iNþz?}A A4.2r3m(?8@5K&>iS=-Ry?싼@|$5pL`5_-1LS1?kA{i65<Ê@>Џ >ZER;P@T+0r p=U?#=A$4ҊW},] 3YO?AX??BJHߵH4[¾<8^ˮ!BɶlDB0~=?|?Qg_@:o20(3uV72QI3Y}?8Adx)%X1:{?8A W;e}1 S1?\?G65G =<={?eA5W'o$@5"*35?b B~9>>mN1y">9E?ؙnPJ;PjW9?yvn ?#=AHՎOX6 ?wZ?@Bdg*\5>,d0?!Bv54+Tss=N?Lg_@D@ִ3q2V[%0}?)@5*H1lp?B@t%5< 6$a\ñ,m@%7w5ù|9A6M-p?MYA}>7>)rMU2X?8A3U6Zd6!Ҳ\?8Ahӵg5PO}M2{-[?ᱴ6>jB?^>" ?0AR@U~A#>{<=2A&~5?!+Z=15? 9*3vŬ_=lݼ4vXg=Ai12H>l?hvB]6.#54>q-<,Owv?}BFA6R255?AAZIߌԵ1CALp57bB~nII>SH@s`KK/]P>z?ivBC? 3L>I7*?j>Y> 2 ?m>:´>^++?>f>$y?Mj>D>sV"?5v>>\6)?.d>>=Dc>+ 3?\տ>>}N6?}>>*I7?\տ>>}N6?w>c>+ 3?-d>>>C>\6)?Lj>E>sU"?>f>$y?m>;´>_+*?j>Y> 2 ?Ő= I@iBŐ= I@hTBŐ= I@~BŐ= I@&BŐ= I@TBŐ= I@|/BŐ= I@BŐ= I@ĤBŐ= I@?BŐ= I@BŐ= I@դBŐ= I@hBŐ= I@tBŐ= I@BŐ= I@BŐ= I@BŐ= I@dBŐ= I@BL==>L>>>33>>ff>? ??ff&?333?@?L?Y?>>? ?>ӿ꣈5 k 6JI5U†q?A~S$7T䁔H=|?ѽs,=~?%ku<$<}?7>jMp<(=K{?I>=<$7=!{??e>*;=R<}?o="ب[QGǢ< ?F(Ͻ y =@~?โ@(h@SNLł@<4rNu˂@jς@ Dт@ G:͂@?JkT;Ƃ@揼;V@?;@W0 <0@%L>>>33>>ff>? ??ff&?333?@?L?Y?>=B>sfw?==s9>z?)8:7<.>)|?_Qg#>& |?pA(>!z?Ԗ4GlV>~x? AK#ǽG>4v?M%8y">Ju?=I.>u?*꽞4> w?\̽cNĽ1>y?ļc)>{?nq=GG&u>Y|?{>A;>z?;>=>x?I>g=>>=w? <>=o#$>_w?E#>n=Q4>w?DA~d>;EFA'8;GA0HAE 6MIAlGHA3穼T+HA^2FAEAL,#ﻵEAûFAoXuGA| FEIA8>;IA;IAxbSbL>>>33>>ff>? ??ff&?333?@?L?Y?k3-4U}?)ACzd5\^ra =z?(5@{g 2ZOq&(>c|?A<䡜{?2[=:=V>y?n=c=ԡl>7w?W'=*6=^}>"t?NF>.5=I>s?+=m=7v>`u?l=L=V>x?O;С=4>d{?+>="$>'|?룽 E{?}`V-8&y?K~I0g>5Jv?16>Js?^6O>r?J#XP>s?چali>0w?ICđH>Qz?Ӌ@u65L==>L>>>33>>ff>? ??ff&?333?@?L?Y?y"13/?hAj> E52=61;P@v w>(#?u ?n{>89)?\' ?5>]V/?;?`~>UC۾6?>;>׎Ͼ\;|>*[¾ @?>8S>ZA?N? >";A?* ?H[=p9??1?m=^ =? ?R{=3—HF6?|1"?[=!m-?,?H>vs2?O(?zU>\6?6"?w>e/?"%?>򉾖,?$?}>㭾z)??!y>`ԾMY'?~?&=A̶!0L==>L>>>33>>ff>? ??ff&?333?@?L?Y?43Kj,e>?n?.2B>mo?,q?uV3K l>r?A2bg3>s?]n9!>Rt??3>Fu?~0P2h >w]u?v'2m3n]>ft?82Ws>[r? b0;>\j? 2D>b?|$3>ARl? ]x31>5q?oñ?3a#>j?11~%>?g?D2xܸ2U>2}h?43R>ak?@BӵM6L==>L>>>33>>ff>? ??ff&?333?@?L?Y?qY3A>z1nQD>a4glq>g7j >PVi#>q\щj<8>l L~nƆf>g;(s֠&퍃>=AvTӽ[>>Mwۄ 1>0>w_v>I>vͽ0 >`>rХLO8>o> o92&Љe>>)@oau>7Vr>ocO"o>H:> qԱ2È>=1=oq93͍>w<!BD5L==>L>>>33>>ff>? ??ff&?333?@?L?Y?J| w>>y?8g_@F¬HԱuV7Ҭu7Y}?8AȐj6e2:{?8A 6ڶI? \?)5Q6'>c]>VA>|h?S>:>S>( h?x>@>4e>Wbg?U>=1bv>Bf?޼>d&=>u*a?>>OS>[?>B=ߛ>`?>Ҕ= >se?ʮ>:=ە>i?z> <O>m?1>01=j> k?>G=O>*h?n>/<= >e?>L=9v>>b?>Bx>">d?8U>N>W>Df?>o)>hs>Lg?x>C>Z> h?eA>W']$@L==>L>>>33>>ff>? ??ff&?333?@?L?Y?51/xV5?b B9>>?cjE72=%6$r;P>u> >Ci?_1>m>`>!f? >x>`=$Dd?L>L׵>=ha?P>ܺ>?= `?>@=>p=W]_?>Wj>q=_?d>2>[=A`?#>W>=b?>bL#>=c?>>V=Yf?>!>UZ>Mj?~>~F>c)>n?ex:>s>UN>n?82>χ>#j>Μk?>>~>i>j?YW>dW>O>4i?^s>C!>+>ki?(=AeQ63L==>L>>>33>>ff>? ??ff&?333?@?L?Y?A?Hݞ]??RV\@^?>_aR2p_?6>o3'Բ`?>k4!a?D> 0^,Ma?e>Yo'{2&c_?>Ͳ[??Zj䱃'x,X?Z ?U]2)T?x?^BA-1oS??a,.5=|U?G ?z2R[? ? D M_?>1P2%3j`?Z>ұ2_?j>0j27 _?K>s]/n2U]? >>Bq6L==>L>>>33>>ff>? ??ff&?333?@?L?Y?LJ=a> ~?I1=>?xI%=:>W?I޴= >?V*H=6l>?F=u߰>hx?4C2_=c>L?=kP=>N>88=ml>j>13)=V?>3=y)?,>$9=B> ?|F=Ƭ>?MF/=km>̪ ?EN?=_>= ?BNct=ّf>j ?RM_=kzy>U ?'Kf=>Xr ?!Bkb6L==>L>>>33>>ff>? ??ff&?333?@?L?Y?J2?R>\#)?]?Lg_@5@B938.U}?)@Pki5ȵ12(x@?B@zI#6@;2$=0@$=5"K9,[_?NYA|>7>1ðqqd?8A!6)6'>1kܾg?8AOa6p1"S0[?5$6>iB?]># ?/AR@Y~A\U:nx׳=L>>>33>>ff>? ??ff&?333?@?L?Y?5?ӌ!5? —9Bk>z EF==}:a/|q'˽I,)pP>ay9ޑr|P>=y(8ҽ?>;>y&zF.<@qAL==>L>>>33>>ff>? ??ff&?333?@?L?Y?$-3K36޾>m?s2jㇲ >n?K2G2:0>"oo?l˫>wq?$ ]?p>x?33P$>|?ee;3."&>|?I0ZH>P {?(1|!j>I.y? ý0 r>x?01n<>={?12=~?s̲42N*t=u?3Em>}?vO0G> v?Jw1 C>/s?K6/i>q?U2m2n>o?jvB6r~L==>L>>>33>>ff>? ??ff&?333?@?L?Y?btov?u?=Hi?1qu ?lV?2rۼeSe@?H?SB,=3 ?ҥU?I_εe>&e?Y>f??W>e?j, >d?Ͻ~Ox$>[Pe?k`ԽѼ >3i? ؽD>>!n?Tڽ;>qt?ƻp.>R|?wr[D1=&#?]pLG=?.<>Ψ}?7KNz?}B{opL==>L>>>33>>ff>? ??ff&?333?@?L?Y? h2255?H1lk70$9?K2 |29B&B?,PR35;3$! F?)w#R3$! F?S2].3V#$tD?߰3q &L+>>?KX2.<282&7?<3W 355?=255?AAT5 L==>>>33>>ff>Y?V2ng1i}2CA C|{4=%<}=eBU=MA~|=5<=+|=V9<8n@>yN=> xL=ǜ