home *** CD-ROM | disk | FTP | other *** search
/ GameStar Special 2004 September / GSSH0904CD2.iso / UT2004 / Mutator / UT2004RPG.ut4mod < prev    next >
INI File  |  2004-03-22  |  1MB  |  16,184 lines

  1. [Setup]
  2. Product=UT2004RPG
  3. Version=10
  4. Archive=UT2004RPG.ut4mod
  5. SrcPath=.
  6. MasterPath=..
  7. Requires=UT20043186Requirement
  8. Group=SetupGroup
  9. Group=UT2004RPGGroup
  10.  
  11. [UT20043186Requirement]
  12. Product=UT2004
  13. Version=3186
  14.  
  15. [SetupGroup]
  16. Copy=(Src=System\Manifest.ini,Master=System\Manifest.ini,Size=3754,Flags=3)
  17. Copy=(Src=System\Manifest.int,Master=System\Manifest.int,Size=473,Flags=3)
  18.  
  19. [UT2004RPGGroup]
  20. File=(Src=Help\UT2004RPG_Readme.txt,Size=8547)
  21. File=(Src=System\UT2004RPG.u,Size=492251)
  22. File=(Src=System\UT2004RPG.int,Size=275)
  23. File=(Src=UT2004RPG\Classes\RegenInv.uc,Size=314)
  24. File=(Src=UT2004RPG\Classes\RPGAbility.uc,Size=5244)
  25. File=(Src=UT2004RPG\Classes\AbilityAdrenalineRegen.uc,Size=1095)
  26. File=(Src=UT2004RPG\Classes\AbilityAdrenalineSurge.uc,Size=2066)
  27. File=(Src=UT2004RPG\Classes\AbilityAirControl.uc,Size=1113)
  28. File=(Src=UT2004RPG\Classes\AbilityAmmoRegen.uc,Size=1035)
  29. File=(Src=UT2004RPG\Classes\AbilityAwareness.uc,Size=1470)
  30. File=(Src=UT2004RPG\Classes\AbilityCounterShove.uc,Size=1218)
  31. File=(Src=UT2004RPG\Classes\AbilityFastWeaponSwitch.uc,Size=1762)
  32. File=(Src=UT2004RPG\Classes\AbilityGhost.uc,Size=2759)
  33. File=(Src=UT2004RPG\Classes\AbilityHoarding.uc,Size=1703)
  34. File=(Src=UT2004RPG\Classes\AbilityJumpZ.uc,Size=736)
  35. File=(Src=UT2004RPG\Classes\AbilityNoWeaponDrop.uc,Size=3423)
  36. File=(Src=UT2004RPG\Classes\AbilityReduceFallDamage.uc,Size=830)
  37. File=(Src=UT2004RPG\Classes\AbilityReduceSelfDamage.uc,Size=1166)
  38. File=(Src=UT2004RPG\Classes\AbilityRegen.uc,Size=1075)
  39. File=(Src=UT2004RPG\Classes\AbilityRetaliate.uc,Size=1140)
  40. File=(Src=UT2004RPG\Classes\AbilityShieldStrength.uc,Size=703)
  41. File=(Src=UT2004RPG\Classes\AbilitySmartHealing.uc,Size=1050)
  42. File=(Src=UT2004RPG\Classes\AbilitySpeed.uc,Size=922)
  43. File=(Src=UT2004RPG\Classes\AbilityUltima.uc,Size=1783)
  44. File=(Src=UT2004RPG\Classes\AbilityVampire.uc,Size=1151)
  45. File=(Src=UT2004RPG\Classes\AdrenRegenInv.uc,Size=535)
  46. File=(Src=UT2004RPG\Classes\AmmoRegenInv.uc,Size=1136)
  47. File=(Src=UT2004RPG\Classes\ArtifactFlight.uc,Size=1348)
  48. File=(Src=UT2004RPG\Classes\ArtifactFlightPickup.uc,Size=291)
  49. File=(Src=UT2004RPG\Classes\ArtifactInvulnerability.uc,Size=1235)
  50. File=(Src=UT2004RPG\Classes\ArtifactInvulnerabilityPickup.uc,Size=465)
  51. File=(Src=UT2004RPG\Classes\ArtifactLightningRod.uc,Size=1985)
  52. File=(Src=UT2004RPG\Classes\ArtifactLightningRodPickup.uc,Size=382)
  53. File=(Src=UT2004RPG\Classes\ArtifactTeleport.uc,Size=2471)
  54. File=(Src=UT2004RPG\Classes\ArtifactTeleportPickup.uc,Size=397)
  55. File=(Src=UT2004RPG\Classes\ArtifactTripleDamage.uc,Size=1444)
  56. File=(Src=UT2004RPG\Classes\ArtifactTripleDamagePickup.uc,Size=397)
  57. File=(Src=UT2004RPG\Classes\DamTypeLightningRod.uc,Size=616)
  58. File=(Src=UT2004RPG\Classes\DamTypePoison.uc,Size=261)
  59. File=(Src=UT2004RPG\Classes\DamTypeRetaliation.uc,Size=155)
  60. File=(Src=UT2004RPG\Classes\DamTypeUltima.uc,Size=322)
  61. File=(Src=UT2004RPG\Classes\GhostInv.uc,Size=6257)
  62. File=(Src=UT2004RPG\Classes\KillMarker.uc,Size=212)
  63. File=(Src=UT2004RPG\Classes\OldWeaponHolder.uc,Size=546)
  64. File=(Src=UT2004RPG\Classes\PoisonInv.uc,Size=1511)
  65. File=(Src=UT2004RPG\Classes\ProjectileSpeedChanger.uc,Size=1298)
  66. File=(Src=UT2004RPG\Classes\UltimaChargeEmitter.uc,Size=1272)
  67. File=(Src=UT2004RPG\Classes\UltimaCharger.uc,Size=2899)
  68. File=(Src=UT2004RPG\Classes\UltimaExplosion.uc,Size=15956)
  69. File=(Src=UT2004RPG\Classes\RPGArtifact.uc,Size=3587)
  70. File=(Src=UT2004RPG\Classes\RPGArtifactPickup.uc,Size=1502)
  71. File=(Src=UT2004RPG\Classes\RPGWeapon.uc,Size=34095)
  72. File=(Src=UT2004RPG\Classes\RW_Damage.uc,Size=407)
  73. File=(Src=UT2004RPG\Classes\RW_Energy.uc,Size=1324)
  74. File=(Src=UT2004RPG\Classes\RW_Force.uc,Size=1898)
  75. File=(Src=UT2004RPG\Classes\RW_Infinity.uc,Size=960)
  76. File=(Src=UT2004RPG\Classes\RW_Luck.uc,Size=3790)
  77. File=(Src=UT2004RPG\Classes\RW_NoMomentum.uc,Size=455)
  78. File=(Src=UT2004RPG\Classes\RW_Penetrating.uc,Size=2024)
  79. File=(Src=UT2004RPG\Classes\RW_Piercing.uc,Size=1104)
  80. File=(Src=UT2004RPG\Classes\RW_Poison.uc,Size=829)
  81. File=(Src=UT2004RPG\Classes\RW_Protection.uc,Size=533)
  82. File=(Src=Textures\UTRPGTextures.utx,Size=299007)
  83. File=(Src=StaticMeshes\UTRPGStatics.usx,Size=191976)
  84. File=(Src=UT2004RPG\Classes\MonsterInv.uc,Size=3850)
  85. File=(Src=UT2004RPG\Classes\AbilityMonsterSummon.uc,Size=1920)
  86. File=(Src=UT2004RPG\Classes\ArtifactMonsterSummon.uc,Size=4915)
  87. File=(Src=UT2004RPG\Classes\ArtifactMonsterSummonPickup.uc,Size=446)
  88.  
  89. [Setup]
  90. LocalProduct=UT2004RPG
  91. ReadMe=Help\UT2004RPG_Readme.txt
  92. SetupWindowTitle=UT2004RPG Setup
  93. AutoplayWindowTitle=UT2004RPG Options
  94. ProductURL=http://www.error691.com/mysterial/UTRPG/
  95. VersionURL=http://www.error691.com/mysterial/UTRPG/
  96. Developer=Mysterial
  97. DeveloperURL=mailto:mysterial@comcast.net
  98.  
  99. [UT20043186Requirement]
  100. LocalProduct=UT2004
  101. ProductURL=http://www.unrealtournament.com
  102. VersionURL=
  103. Developer=Epic
  104. DeveloperURL=http://unreal.epicgames.com
  105. UT2004RPG v1.0
  106. Mutator for UT2004
  107. Created by Mysterial (mysterial@comcast.net)
  108. Special thanks to:
  109. Erik: artifact models and skins
  110. Lordtarac a.k.a John Malm: UT2004RPG website
  111. [LIMB]LightBringer and all the players on his server: testing beta releases
  112. 3/22/04
  113.  
  114. To install the .ut2mod version, open UT2004RPG.ut2mod, which should open the UT2004 installer.
  115. To install the manual .zip version, extract it to your UT2004\System folder. By default that's C:\UT2004\System.
  116.  
  117. This mutator adds a persistent levelup system to UT2004. Frags will give you EXP towards a levelup. After a levelup, you get a (configurable) number of points to use on statistics such as weapon speed, health, adrenaline, and damage modifiers, as well as special abilities. Bonus EXP is given for killing players of higher level than you, multikills, sprees, winning a match, and (in properly setup gametypes) scoring game objectives. Everything is saved to .ini and reloaded in future games when that player joins.
  118.  
  119. The stats are Weapon Speed (%), Starting Health, Max Adrenaline, Damage Bonus (%), Damage Reduction (%), and Max Ammo. There are also 21 special abilities (it may be possible to download more from the Internet)
  120.  
  121. Bots are supported and will choose certain stats more than others depending on their tendencies (e.g. aggressive bots choose attack-oriented stats most often). They will go for abilities sometimes too.
  122.  
  123. As if all this wasn't enough, UT2004RPG features magical weapons and artifacts. Any weapon you pick up has a chance of being magical and having special modifiers, such as increased damage. Additionally, artifacts are special pickups placed randomly throughout the level which can be activated to give an ability or bonus. Artifacts consume your Adrenaline when in use.
  124.  
  125. Online play is fully supported. Player data is protected by unique PlayerID (tied to CD keys) so data stealing and/or impersonation won't happen.
  126.  
  127. If you use this mutator with Invasion, EXP gained for kills of monsters is equal to the number of points you get for killing them. Monsters are given a level equal to the Wave times two, and all their points are always evenly distributed between Damage Bonus and Damage Reduction.
  128.  
  129. Vehicles are fully supported. They will take on the advantages of your stats when you enter them. In Assault, unmanned turrets that fire back (for example, the turrets in AS-Mothership) are given a level equal to the lowest level player in the game.
  130.  
  131. There is a configuration menu for UT2004RPG where you can change many game settings. To access it, go to the Mutator tab, add UT2004RPG to your mutator list, and click the Configure Mutator button. Hover your mouse over any option to get detailed information about what it does.
  132.  
  133. The source to the abilities, magic weapons, and artifacts has been included in UT2004\UT2004RPG\Classes\ so coders can make their own. All you need to do is create a package with your new ability classes and then add the class names to the bottom of UT2004RPG.ini like has been done for the included abilities.
  134.  
  135. FAQ
  136. Q: What's the max level? Max stats?
  137. -OR-
  138. Q: UT2004RPG.ini only contains info for 18 levels in the .ini! Is the max level that low?
  139. A: UT2004RPG has no max level or max stat limit. You can go as high as you want. In the .ini, all levels above the highest level listed will require the EXP for that highest level listed.
  140.  
  141. Q: Why don't I get EXP for scoring in CTF, Double Domination, or Bombing Run?
  142. A: UT2004RPG requires gametypes to use the ScoreObjective() function in order for it to be able to detect scoring events. Unfortunately, CTF, DDOM, and BR were not coded to use that function. Onslaught and Assault do, and so may custom gametypes.
  143.  
  144. Q: Do players get EXP for teamkills?
  145. A: No.
  146.  
  147. Q: All of the abilities say "Can't Buy"! WTF?
  148. A: The abilities have requirements, such as being above a certain level or a stat being above a certain number. You can find out any requirements an ability has by clicking the Info button.
  149.  
  150. Q: I get hitches while playing with UT2004RPG that I don't get when playing the standard game.
  151. A: This is probably caused by autosaving, since it writes to disk. You can try turning autosaving off (set it to 0), but be warned that if you have autosaving off, exiting UT2004 directly from the midgame menu will not save data. This is a UT2004 bug. When autosaving is off always quit to the main menu first, then quit the game from there.
  152.  
  153. Q: Can I use my save data from UT2003RPG with UT2004RPG?
  154. A: Sorry, no. UT2004RPG saves data differently. The new way is faster and more extendable, but it is not compatible with the old version.
  155.  
  156. KNOWN ISSUES:
  157. -When you hit someone with a Penetrating weapon, it may appear to spawn two beams, one that hits the target and one that goes through it. It may also appear that the two beams' aims are different. This is a bug in the xEmitter system DE used for most of the weapon effects. Regardless of how it looks, your weapon is always firing exactly where it's supposed to.
  158. -A couple of the options in the mutator configuration menu require the first UT2004 patch to be editable.
  159.  
  160. You can find the latest version of UT2003RPG and the rest of my mods at http://www.error691.com/mysterial/UTMods.htm
  161.  
  162. Feel free to discuss this mod on my forums at http://www.error691.com/mysterial/cgi-bin/forum/index.php or email me.
  163.  
  164. MAGIC WEAPON LIST:
  165. -Damage: A weapon with no text, only a + rating (e.g. "Rocket Launcher +3") does 10% more damage for each + (so a Bio Rifle +3 is 30% more damage)
  166. -Protection: you take 10% less damage for each + while holding this weapon.
  167. -Force: Projectiles shot by this weapon are 20% faster for each +
  168. -Piercing: Damage from this weapon ignores shields
  169. -Penetrating: Hitscan shots fired by this weapon go through any players they hit (like the zoom instagib beam does)
  170. -Infinity: This weapon has infinite ammo
  171. -Sturdy: Enemy fire can't push you around while holding this weapon
  172. -Luck: While holding this weapon, fortune smiles upon you. Useful pickups seem to materialize out of thin air in front of you!
  173. -Misfortune: You aren't so lucky with this weapon. For some reason, pickups seem to spontaneously combust right before you get to them
  174. -Poison: This weapon poisons those hit with it, causing additional damage to them over time
  175. -Energy/Draining: This weapon gives/takes adrenaline equal to 2% of the damage caused by it for each +/-
  176.  
  177. ARTIFACT LIST: (By default, press the bracket keys to switch artifacts and U to use one. Artifacts consume adrenaline while in use)
  178. -Globe of Invulnerability: God mode on command. But watch out - it uses your adrenaline fast!
  179. -Triple Damage: This fabled artifact is the big brother to the double damage
  180. -Boots of Flight: Fly, fly away!
  181. -Lightning Rod: This artifact will strike at your enemies with weak but fast firing lightning bolts so long as they are in your sight. The amount of adrenaline used is proportional to the number of targets in range
  182. -Teleporter: This cousin to the translocator will warp you to a random point
  183. -Summoning Charm: This artifact will summon a monster to aid you. It will follow you around and attack any enemies it sees. The amount of adrenaline used depends on the monster summoned (which is chosen at random)
  184.  
  185.  
  186. Changes from UT2003RPG v4.0
  187. -Fixed exchanged fire modes weapon setting not working on magic weapons
  188. -Fixed Denial level 2 not working properly with the minigun if Magical Starting Weapons option was on
  189. -Fixed Damage magic weapon (those with only a plus/minus rating) changing the weapon's damage by the wrong amount
  190. -Fixed RW_Infinity Accessed None
  191. -Fixed Weapons of Evil's PIC having broken zoom if it was magical
  192. -Fixed infinite recursion crashes with Arena mutator and Mutant gametype
  193. -Fixed Rocket Launcher couldn't do homing if it was magical
  194. -Fixed Cautiousness ability could heal you in an instant action game if you were playing at a low bot skill level
  195. -Summoning Charm limited to 4 simultaneous monsters
  196. -Artifacts now display a message when you try to use one without sufficient Adrenaline
  197. -EXP is now awarded for First Blood
  198. -Fixed some hacks that are no longer necessary due to changes from UT2003 to UT2004
  199. -Bonus experience from multikills is now capped to 100 per kill
  200. -Weapon Speed stat capped to 1000 by default for performance reasons
  201. -Damage Bonus and Damage Reduction now only give 0.5% per point instead of 1% per point
  202. -Adjusted experience table to account for the additional EXP bonuses that are now available┴â*₧╛@ü■<ÿßÑ:tuδV╢H▒ź0ⁿàƒ╛NoneMinMaxRange
  203. UT2004RPGColorCoreRelativeTimeSystemEngineX RangeVectorZYWinTopcostWinLeft    WinWidthRelativeSizeCaptionVectorGiveToTickFindInventoryType DescriptionPropsDescTextStartingCost    MaxLevel AbilityNamePropsDisplayTextTimer
  204. WinHeight ModifyPawnPostBeginPlayCostAddPerLevel__OnClick__DelegateRelativeVelocityInternalOnKeyEvent__OnKeyEvent__Delegate    Activate
  205. FontNamesLifetimeRange ColorScaleUseColorScaleAutomaticInitialSpawningInitialParticlesPerSecond    IdentifySetOverlayMaterialStartSizeRangeGetStatsInvForTextureReceiveLocalizedMessageRespawnDeadParticlesMaxAmmo UniformSizeSecondsBeforeInactiveMaxParticlesAIRatingBonusAddAmmo RemoteRole    MovementUser LightColorChance__OnCreateComponent__DelegateGetHumanReadableNameInternalOnCreateComponent GetTeamNumUseRegularSizeScaleCheckLevelUp
  206. CollisionForce    Lighting WeaponClass    XWeaponsKarma AmmoAmount    DropFrom
  207. DestroyedUseSizeScaleMessage
  208. SizeScale GetFireMode StaticMeshFadeOutStartTimeFadeInEndTime    XPickupsAdjustTargetDamage BeginStateFadeIn BotConsiderStartLocationShape GetAIRatingFadeOutConsoleCommand
  209. ScoreKillStartVelocityRange XInterface PickupClassHandlePickupQuery
  210. DrawScaleChangedWeaponPickupMessage    DrawType
  211. ActivatedAwardAdrenaline    DoDamageStatPlusClick
  212. IniOptionCaptionWidthInventoryTypeSetText
  213. bReadOnlyInitialDelayRangeModifyVehicleSyncUpAmmoChargesHandleDamageSphereRadiusRange TakeDamage CloseClick    KeyLabelValuebGameRelevant    StatCapsPreventDeath    EndState AmbientGlow OwnerEventBotBuyChanceAbilityIsAllowedAliasGetVelocityDirectionFrom    ItemNameIconMaterial PickupSoundModifierOverlay PickupForce MaxModifier
  214. CloseMenu AllowedForSetModifiedWeapon    DoEffectRemoveReference    RateSelfNoArtifactsActive    MaxValue    MinValue WeaponTick__OnDeActivate__DelegateValidateValue CostPerSec bIsSection    ImgStyleFonts
  215. GetStringPickup ChangeEnemy    InvasionMenuStateChangeDeleteInventoryFocusOnLeaderAdjustPlayerDamage
  216. StartFire SameTeamAsModifyWeaponUseDirectionAsAnnouncePickupAllocateObjectSpawnMonsterImages
  217. BotChance FreeObjectTopPageOverridePickupQueryUnModifyVehicleStartVelocityRadialRange    TeamLinkInitFor
  218. PrefixPos SetRespawn    SaveDataRevolutionsPerSecondRangebBoundToParentUniformMeshScale    GenerateHasAmmoGUI2K4 HolderDied SetContentbCanHaveZeroModifierBorderOffsets GetViewAxes PostfixPosDestroyModifiedWeaponUseRevolutionMeshScaleRange DeactivateGetRandomWeaponModifier    EmittersVelocityLossRange    OpenMenuCreateDataStructMeshSpawningStaticMesh AutoDestroy
  219. DrawColorUseVelocityScaleVelocityScale
  220. AmmoMaxed EyePositionWeaponCentered bNeverFocusbReplicateInstigator
  221. bNoDeleteStyleCanPickupArtifactRelativeRevolutionRPGAbilityDescMenuMonster ConsumeAmmo    IsFiringbBlockNonZeroExtentTracesKillDetachFromPawnbBlockZeroExtentTracesDisablePlusButtons
  222. MyOnCloseProcessPlayerLevelGetLocalPlayerController    GetSpreeStartSpinRangePutDownPhysicsPreventSeverAdjustFireRate DeathStringFindStatsInvAdjustMaxAmmo
  223. CanAttackPossessFemaleSuicideReplaceWithActor GiveHealthPosY    LifetimeUpdateLinkColor MaleSuicidebFadeMessagebIsConsoleMessage
  224. bIsUniqueAmmoPickupClassAddRPGPlayerLevelsMenuFillPlayInfoInitComponent BotLevelUpDetourWeight
  225. DrawStyle
  226. OwnerDiedDiedPostNetBeginPlayUpdateAbilityButtonsSpawnArtifact SetOffsetsFindNewEnemy
  227. SetMaster
  228. StyleNameFillToInitialAmmoMinActivationTimeCheckPlayerViewShake    NeedAmmoRotatorbNetTemporaryBringUpGetConsoleColor ValidTouchbAllowedAsLast    GiveAmmoBotFire    BestModeUseParticleColorbHiddenGetPropertiesFrom InitializeCreateMonsterSkinsGetLocalStringCreateGhostSkinsInternalOnClick
  229. TextAlignBotDesireabilityArtifactIsAllowedbScaleToParentSetHolderStatsInvUseRotationFrom ReadyToFireConstructItemNameSetWeaponInfoKeyNamePendingClientWeaponSetGetLinkVehicle FontColors
  230. SpawnCopy MinModifierClientReceiveStatCap
  231. NetDamageInitFromDataStructClientModifyVehicleClientUnModifyVehicle    SleepingbAcceptsInput GetHealMaxClientReceiveAllowedAbilityClientReceiveAbilityInfoMaxDesireabilityLinkGunClientResetDataInCurrentComboFlyingPathNode    NextItemModifyPlayerServerResetDataCheckOutOfAmmoClientWeaponSetSpinParticles    bVisibleGetEffectStartClientSendPlayerLevelRevolutionScaleAllowRPGWeapon    ReselectUseRevolutionScale    FallbackServerRequestPlayerLevelsBeginbTrailerSameRotationWanderOrCamp    SetEnemyEnemyVisibleWhatToDoNextStartLocationOffset    EOLDelayCoordinateSystemCollisionRadius
  232. CharDelayChoosePickupClassNotifyLevelChange
  233. GetObject    TextFontHitL    ControlsbReplicateMovementInitDroppedPickupFor RefireRateSetBrightnessCenteredEffectStartAttachToPawnShouldFireWithoutTargetGetDamageRadiusRotationRate    PlayIdleIncrementFlashCountZeroFlashCount    CanThrowClientWeaponThrownDisplayDebug
  234. OutOfAmmoRecommendLongRangedAttack MaxOutAmmoRegisterStyle StopBerserkStartBerserkSetWeaponStay
  235. ScaleGlowClientReInitMenuClientReceive bIsSpecial LevelsClickEnablePlusButtonsGetFireStartCanHeal bArmorStops mLifeRange mRegenRange mSpeedRange mSizeRange mColorRangeMyScrollTextbDelayedDamagePreDrawFPWeapon ResetClickSetPlayerDefaultsClientAddAbilityServerAddAbilityRenderWeightFollowMasterTouch    SetTimerRemoveInteractionDoTraceIsLocallyControlledRecommendWeaponAnimEndWantsZoomFadeFire RemoveLink
  236. TextColorASVehicle_SpaceFighter ModeDoFire
  237. AdjustAimSetFireRateModifierMaterialVSizeMaterialUSizeRenderTwoSidedMessageClass CloseButton WindowNameGetViewRotation InitializedGetDescriptionTextSetVisibilityClientStopFireNewDrawWeaponInfoGetDamageTypeBroadcastLocalized
  238. TeamColorAddLinkValidateDataAddInteractionShowAbilityDesc BuyAbilityRPGScoreKillClientUpdateStatMenuPawnUnpossessed ChangeNameLinkedConsumeAmmoAltFirebAlwaysRelevantSetHandServerAddPointToBaseSpectatingRenderOverlaysClientAdjustMaxAmmoLoadedbOnlyRelevantToOwnerGetShieldStrengthMaxFriendlyMonsterControllerUsedUp
  239. ChargeBarGetAmmoCountDrawWeaponInfoRangedAttackTimeRecommendRangedAttackSuperMaxOutAmmoFireOnRelease    FireHackSplashDamageRecommendSplashDamage SetAITargetSuggestAttackStyleSkinsSuggestDefenseStyle SplashJumpClientAdjustFireRateDoReflectEffectCheckReflect IsRapidFireFindPickupBase    LinkedToSaveDuringGameIntervalBlueTeamTint RedTeamTintStartingLevelbOnlyReplicateHiddenbAmbientGlowPointsPerLevel EXPBarColor AmmoStatusLevelsLevelDiffExpGainDivMaxLevelupEffectStacking
  240. EXPForWinBotBonusLevels
  241. Abilities WhiteColorWeaponModifierChanceWeaponModifierXGamebDefaultArtifactBindingsbDefaultBindingsHealthBarMaterialRW_LuckRPGLinkAttachment MonsterInvFriendlyMonsterSkinnerWeaponModifiersFriendlyMonsterKillMarkerVersionArtifactMonsterSummonPickupEnableUDamageDisableUDamagebAutoAdjustInvasionLevelInvasionAutoAdjustFactor PropsExtras    GetColorUltimaExplosionUltimaCharger    FontSizeUltimaChargeEmitterActivateItem    PrevItemTeleportChargeEffectTransientSoundRadiusSTY_ResetButton ToggleZoomSTY_AbilityList StartleBotsRW_ProtectionStartMonitoring
  242. RW_PoisonGetMoveTargetFor RW_PiercingRW_PenetratingRW_NoMomentumGetHitEffectsKDamageImpulsebCauseConvulsions RW_InfinitybKUseOwnDeathVelDamageOverlayMaterialDamageOverlayTime
  243. KDeathVelKDeathUpKick    RW_Force
  244. RW_Energy
  245. RW_DamageArtifactMonsterSummon
  246. RPGWeaponRPGWeaponPickupRPGWeaponLockerRPGShockProjFireRPGShockProjectile    RPGRulesAbilityMonsterSummonRPGResetConfirmPagemStartParticlesRPGPainterFireRPGPainterBeamEffectRPGNameMessageUT2004RPGKeyBindingRPGLinkGunPickup RPGLinkGun RPGLinkFireRPGInteractionRPGDamageConditionMessage RPGStatsInvRPGStatsMenuRPGArtifactManagermMaxParticles    RegenInv mSpawnVecBmAirResistanceProjectileSpeedChanger
  247. PoisonInvOldWeaponHolderRPGPlayerDataObjectLevelUpHUDMessageLevelUpEffect KillMarkerIdentifyMessageMutUT2004RPGAmountMesh    GhostInvbDisplayableInvGainLevelMessageFlightEffectFakeMonsterWeaponExperiencePickup
  248. ArtifactsEmptyMessageDamTypeUltimaDamTypeRetaliationDamTypePoisonDamTypeLightningRodAwarenessInteractionAwarenessEnemyListProjectileClassArtifactTripleDamagePickupArtifactTripleDamageArtifactTeleportPickupArtifactTeleportbCanHaveMultipleCopiesbActivatableExpireMessageArtifactLightningRodPickupFireModeClassArtifactLightningRodArtifactInvulnerabilityPickupArtifactInvulnerabilityRPGArtifactPickupArtifactFlightPickup RPGArtifactArtifactFlightAmmoRegenInvAdrenRegenInvAbilityVampireAbilityUltimaAbilitySpeedAbilitySmartHealingAbilityShieldStrengthAbilityRetaliateAbilityRegenAbilityReduceSelfDamageAbilityReduceFallDamageAbilityNoWeaponDropAbilityListFontAbilityJumpZAbilityHoardingAbilityGhostAbilityFastWeaponSwitchAbilityCounterShoveAbilityAwarenessAbilityAmmoRegen    SVehicleFriendlyNameAbilityAirControlAbilityAdrenalineSurge RPGAbilityAbilityAdrenalineRegenPawn LevelStringIdentifyStringPickupStringLevelUpStringPressLStringPoisonMessage ASGameInfoImposterString MaxMonstersNoNameChangeStringArtifactDelayMomentumTransferMaxArtifactsGetCollisionExtent WaitForAnim SkaarjPack ScalingTypeDamageRadius DropShadow
  249. FontScaleMatchStarting
  250. StackMode
  251. PreRenderKeyData PickupQuery DefaultText bNoTeletypeNotEnoughAdrenalineMessagebRenderWorldCheckRelevanceMassSpecialEventmParticleTypemSpawningTypemPosDev bNetNotifymPosRelativeRespawnEffect__OnClose__Delegate CalcMaxLenAddText RespawnTimeIsFirstPersonAttachmentClassPriorityObjectiveSetMovementPhysicsbRequire640x480bUseTextHeight HasUDamage    GameplayClientSetBehindView    KeyEventClientGotoStateClientSwitchToBestWeaponWeaponPreference    Disabled RateWeapon    SetValuebVisibleWhenEmptyStartLocationPolarRangeFireWeaponAtNotifyAddInventoryPendingStasisTossArtifactbActiveCheckReplacementEffectOverlaybAcceptsProjectorsTargetRadiusDamagePerHitRotationOffsetSpinsPerSecondRangeTransientSoundVolumeSpawnAdjustDesireForAutoImageRenderStyle    GetExtrabFixedRotationDirHiddenTooManyMonstersMessageRPGPlayerDataAllowRepeatPickupHandleRestartGameAddGameRulesOldRPGWeaponInfoPlayerFlying STAT_WSpeedSTAT_HealthBonusScoreObjectiveNotifyKilledGetServerDetailsPickupFunctionCalcDrawOffsetGetText    MaxRangeSTAT_AdrenalineMax ImageStyle STAT_AttackCleanOutSavedMovesReadyToPickupGibPerterbationSTAT_DefenseMayFallClear
  252. SeePlayerSTAT_AmmoMaxSwitchToBestWeaponbCollideWorldPlayTeleportEffectFluidSurfaceInfoSpawnLockerWeapon AddCustomerClientPlayForceFeedbackLockerPickup    BallAmmo
  253. BallShootPainter PainterZoom    RedeemerRedeemerAmmo SniperZoom
  254. TransAmmoHitEmitterClassPaintWaitForComboServerSetTightSpreadSetComboTargetMeshSpawningbDirectional IsLinkableAquired
  255. CancelledIsHumanControlled
  256. TransFirebStaticCollisionHeightSomeoneStringDoTranslocateOutGetTipLocation    Jump_MidDamagerfootlfoot
  257. HearNoiseSpawnProjectileDoCombo
  258. GroupName
  259. PrefixNeg PostfixNeg DamageTypeClientDelayedAnnouncementNamedAddWeaponKill SCannonAmmo YellowColorGetSquadLedByExecuteWhatToDoNextChooseAttackModeDoWaitForLanding    ChargingmovingPlayerControllerRoaming
  260. CelebrateRestFormation NeedWeaponShouldStrafeTo
  261. FaceActor ChangeAmmoChaosWeaponOption ReloadMeNowFinishReloadingFindBestPathTowardServerForceUpdateImagebAddToServerPackages GhostColorFontArrayNamesHint GhostSoundStatDisplayControlsOffsetButtonControlsOffsetAmtControlsOffsetNumButtonControlsTriggerEvent    StopFire    SoakStopPostNetReceive SetWalking
  262. BeginPlayTurnOffNotifyLogoutWaitingForMatchSetInitialStateGetVehicleBaseServerStartFire
  263. adrenalin PostRenderKDriverLeaveClientStartFireClientSetViewTarget
  264. CUTSRZoom HeliosZoomLongrifleZoomPICZoomSCannonDriverLeftVehicleDriverEnteredVehicleMeleeSwordFirebSuperPickupbRemoteControlled bStationaryOldControllerLinkHealMult BringUpTime UnrealPawnWeaponBerserkbNoAmmoInstancesMinReloadPct PutDownTimebDelayedSpawn"DelayedDamageInstigatorControllerInstigatorController    HudColorSuperHealthMaxGetPlayerIDHash    OverlaysAimDirbResetNetUpdateTime    bDriving bKeyVehicle AmmoChargeResetCountDownLastPawnWeaponbEjectDriverCurrentLevelLFOwnerYScaleAttackXScaleGameObjective
  265. bDeleteMeClipYClipX
  266. bNetDirty DeathMatch
  267. TimerRateUnrealTeamInfoOverlayMaterialZoneDestroyableObjective    TeamGameLastRenderTimeRegion InstigatorRepSkin
  268. DMMutator bHurtEntrybPendingDeleteUnrealPlayerbIgnoreOutOfWorldPendingTouch    ADR_Kill CombatStyleAggressiveness bNetInitialDamageCapacity
  269. bNetOwnerADR_MajorKill
  270. ShieldGunSquadMoveToGoalWithEnemybScriptInitializedStringMessagePlus    HoldSpotSquadAITeamAIUnrealMPGameInfo SquadLeaderSquadObjectiveSquadMembersEnemies    NewEnemy
  271. BestEnemyO
  272. EnemyList bFirstBloodFriendlyFireScaleGOSpree
  273. bDisabledMultiKillLevel
  274. bHasFiredbEnemyIsVisible    AccuracyStrafingAbilityTacticsFavoriteWeapon GoalStringNextSquadMember GoalScriptChooseAttackTimeChooseAttackCounterEnemyVisibilityTimeVisibleEnemy SeenPlayer
  275. enemyDistbClean
  276. bCanceledTPRI LastWeapon MultiKillsInterfaceContentShockProjectileTurretControllerMasterViewportOwnerEpicParticlesFlares
  277. SoftFlareIconsBeamsXGameShadersPlayerShieldSh PlayerTransLightningHitPlayerShadersPlayerTransRedLinkHit Smokepuff2Smoke BurnFlare1FlameGradientWhiteStreak01aw
  278. SmokepuffSharpstreaks2SkinAWeapons    AWGlobalFogFlare01awRocketExplosion
  279. GoopSmoke    HitFlame    HitSmoke
  280. LightningLightningBoltLinkMuzFlashProj3rdPainterBeamSpotFlakTrailTexWeaponSoundsMiscGeneralAmbienceLinksLinkMuzProjGreenFB XEffectMatSpriteEmitter0SpriteEmitter1ParticleMeshesSimpleComplexParticleSphere3ExplosionRingExplosionSphereSpriteEmitter2SpriteEmitter3MeshEmitter1SpriteEmitter4SpriteEmitter5SpriteEmitter6MeshEmitter2MeshEmitter0LinkGunPickupLinkMuzProjYellowFB BExplosion3BaseImpactAndExplosionsTranslocatorModuleRegenerationRocketLauncher ShockRifle SniperRifleTranslocatorDeltaredeemer_explosionsoundSniperRiflePickup
  281. texture19 XPickups_rcAdrenalinePack HealthPackMiniHealthPack ShieldPack UDamagePack    BoneNameHealingAmountTournamentHealthShieldPickupAdrenalinePickupTournamentPickUpAdrenalineAmountPickupSoundsAdrenelinPickupUDamagePickup
  282. E_PickupsTripleDamage StartEffect AttachmentxWeaponAttachmentxPawnOther xWeaponBase
  283. DeltaTimeEventInstigator
  284. HitNormal HitLocation    MomentumSpawnLocationShieldStrengthMaxSpawnRotation    LoudnessEffectbInvisPrevLocation WeaponTypeWeaponLockerPlayersGUIPageTargets
  285. LinkColor
  286. IonCannonStartProjSpawnOffset MinigunFire    LinkFire PainterFirePainterBeamEffectDir TraceRangeRelatedPRI_1RelatedPRI_2OptionalObjectShieldAltFireVictims damageScaledistProjectileFireGRIShockBeamFireYL TransRecall
  287. MarkSoundBarrelRotationsPerSecYPosXLTransMaterialsFullyChargedTimeAmmoRegenTimeTAGFireForce ComboRadiusRoundsPerRotationSpot
  288. EventNamematShockProjFire ShieldFire ShieldAmmo
  289. bOverridePbResult    myMarkerLinkAttachmentDamTypeSniperHeadShot TransBeacon
  290. EInputKeyEInputActionUTWeaponPickup InstantFire    MuzFlashLinking LeaderPawn StartTracesanity
  291. EndEffectMarkLocationbTightSpread ComboTargetbWaitForCombochargeEmitterFearMaxRollSpeedGun hitEmitter LockedPawnbFeedbackDeath    EndTraceStarterLG bValidMarkbInitialMarkbAlreadyMarked    MarkTime
  292. EffectNumBeamDir TargetState WeaponEntryDataComboDamageType
  293. ExtraAmmoGUIControllerLocalInteractionsinstigatedByKeyScoreFX_WeaponLockerbSentinelProtected
  294. bTeamGame bGameEndedOnClose NumPlayers BaseMutatorGUIMultiComponentGUIComponentGUIGUIFont
  295. GUIButtonGUINumericEdit
  296. GUIBorder    GUILabelGUIListGUIScrollTextBox GUIListBoxGameRulesModifiers ServerStateMPRI TextBufferIndexPCObjectEnumExitingInvKiller KilledPawninjured    FunctionOriginalDamageMaxActiveParticlesInitialDelay
  297. ParticlesbAllowPickupSwitchStatePackageSenderClassWinnerEventTeamScorer NextMutatorTagRole aClassNameaClassSoundbSuperRelevant
  298. TeamIndex SoundGroupYawCount InteractionbIsSpectatorbBotKills TimeSeconds mSpawnVecA
  299. moEditBoxNetModeScreenX
  300. myEmitterMyControllerMyOwnerGameMyLabelNavigationPointListControllerListQuitBackground
  301. YesButton    NoButtonstattmp    InfoTextGUIUserKeyBindingUVictimAction ResetButtonStructNamemyHUD InAimError
  302. GUIHeader AmmoPerFire    2K4Menus
  303. AmmoClassFloatingImage PlayerNames bNowWaiting NewControlsSectionHeaderBase    Display1
  304. bIsFiringbFireOnReleaseScoringValueNextFireTime MaxHoldTimeMonsterControllerbCanFlybAvoidLedges NumMonstersbStopAtLedges
  305. bShotAnimbCanSeeNewEnemybCanPickupInventoryASVehicleFactorybShowScoreBoard
  306. HealthPctVehicleHealthVehicleLinkHealMult ONSVehicleONSWeaponPawn
  307. ONSWeapon
  308. PawnOwner PlayerOwnerbThrownSTY2RoundButton GUI2StylesbNoTeamBeaconFloatingWindow FlashCount MeleeRanget_WindowTitle LargeWindowFloatingFrameBackground    TitleBarRW
  309. OnslaughtUT2k4AssaultCopydesire AlreadyHasBot    bDroppedPendingWeaponSelectedItemInteractionsDrain
  310. AmmoDrain
  311. RefNormalWPbJustSpawnedbPossiblySwitchHitDamageTypeInHand
  312. bFinished
  313. oldRating RecommendedbLeaderFiringCurAmmoPrimaryMaxAmmoPrimaryExchangeFireModes ClientStateEffectOffsetbPendingSwitchbForceSwitchbMatchWeaponsbShowChargingBarBotMode    FireModeDeActivateSound
  314. NumCopies
  315. AmmoToAddShieldStrengthbAmountNeededIsMaxActorInfoFCameraLocationStartLocationCameraRotation IconCoordsThirdPersonActorPlayerViewOffsetChargeReplicationInfo GroupOffsetTossVelLink
  316. OldWeaponHealMax FiringModeDriverdtParentFactoryNewWeaponClasshandDrivenVehicleShakeRotTime ShakeRotMaxShakeOffsetMaxnextNavigationPointbNeverSwitchOnPickupParticleEmitterrating PathWeight NoiseMaker markedItem    BestDist Adrenaline
  317. RouteGoalEnemyFocus FocalPoint MoveTargetnextController bHuntPlayer    bSoakingbPreparingMove    bGodMode    PriorityVictemHealth HitEffectsbSuperWeapon
  318. bIsPlayerbAdrenalineEnabledAdrenalineMaxSetDrawColorTeamBeaconMaxDistSetViewTargetListSetPosGetCameraLocation FontScaleY FontScaleX PointRegionInventoryGroupInitialAmountAccelerationSelectAnimRatePutDownAnimRate    AIRatingCurrentRating    BarUSize    BarVSizeAbilityLevel HealthScaleBarLocRPGMut
  319. bCanThrow DisplayFOV    StatsInvLastLevelMessageTimeLevelMessagePointThreshold    MaterialLandMovementStateDamageScalingloadXLSmallYLSmallMonsterOwnerMonsterSkinsHealth
  320. HealthMax
  321. EyeHeightMaxFallSpeed WalkingPctInfiniteReqEXPOpInfiniteReqEXPValue AirControlJumpZ    AirSpeed WaterSpeed GroundSpeedAddToNavigationRemovedAbilities    RedColorbNoUnidentified GreenColor
  322. BlueColor
  323. GoldColorTotalModifierChance    bCanJumpbHasInteractionbMagicalStartingWeaponsSpeed    MaxSpeedBotSpendAmountHighestLevelPlayerNameHighestLevelPlayerLevelCurrentLowestLevelPlayer    XEffectsFireAnimRate DataObject    FireRateStartingWeaponsStartingWeaponClass MagicWeapon
  324. DefHealthDefLinkHealMultTimeDilationWhiteSquareTexture TotalPointsbAllowedAbilityKillZWSpeedChanceHealthBonusChanceAdrenalineMaxChanceAttackChanceDefenseChanceAmmoMaxChanceAbilityChanceTotalAbilityChance bHasAbility bAddAbility UnrealGame MessagePRIVehicleSpriteEmitter    AvgLevelSkeletalMesh    PlayInfoLocalMessagefell
  325. GameRules bWeaponStay ObjectPool PlayerNamebAwardedFirstBloodSetDrawScalebMustBeOwner KillerData KilledDataMonsterScoreLevelDifferenceNextInv InjuredDataInstigatedDataInjuredStatsInvInstigatedStatsInvMonsterLevelbAlreadyPreventedKilledControllerSetStaticMesh SetDrawTypeMaxHeldArtifactsCurrentArtifacts
  326. PathNodes
  327. bTryAgain AlphaBlendAPickupPickedMonsterCurrentMonster    bKillNowPlayerSkinnerGetBoneCoords
  328. NewMasterbThisIsNeverUsed    LinkMesh ServerInfoActivatedTimeWorldToScreenEmitterbOrientOnSlopebStasis MeshEmitter MinHitWall FlightTrail    Modifier FinalBlend    LifeSpanAdrenalineUsed SoundRadius MonsterListChosenMonsterSummonedMonstersShader    BestDestOwnerID Experience WeaponSpeed HealthBonusDefenseAmmoMaxPointsAvailable
  329. NeededExpAbilityLevelsBotAbilityGoalBotGoalAbilityCurrentLevelColorModifierWeaponPickup    bOnlyEXPKeyValuePairAllAbilities
  330. StatsMenubGotInstigatorbSentInitialDataKilledModifiedClassOldRPGWeaponsBotMultiKillLevelBotLastKillTime
  331. EStatTypeParticleColorScaleGeneral PickUpBaseLevelInteractionMasterBaseGUIController bProjTargetPlayerString__ProcessPlayerLevel__DelegateFontBeamSizeChannel PrevWeaponCanvas BrightnessAbility    bAllowedAI    bLevelUpRealNextFireTimeServerResponseLineShakeScalingCoronas    Viewport    PathNodeNavigationPointMutator AvoidMarkerWeaponAttachmentNEditorOVItemLModeModifiedWeaponTexPropSphereRadius    TeamInfo StrPropertyCapDestTargetGetPerObjectNames    PropName bIdentified ReferencesSniperZoomModeHolderStatsInvLastAmmoChargePrimary ScriptTextForcedWeaponA
  332. bIdentifyBStructPropertyCiArrayPropertyt ControllerSClassPropertyMyInfoWOriginXAxisYAxisZAxisAdrenalineBonusLastFlashCountModifiedDamageTypeNextEffectTime ChosenClassG Potentials RegenAmountOwnerAbilityLevelOldInstigatorSkinsOldInstigatorRepSkin GhostSkinsOwnerController RevivePointR    LocationTestLocation
  333. RandNavPt    RotationOldInstigator    Velocity bNearOwnerDroppedWeaponbRealWeaponStay ReturnValueVbRemoveReferenceArtifactManagerGetPropertyTextNumArtifactsPlayerDriver AmmoAmountsModifiedProjectile ChargeTimeDelegatePropertyWeaponSpeedBoxHealthBonusBoxAdrenalineMaxBox
  334. AttackBox DefenseBox AmmoMaxBoxPointsAvailableBoxAIController AmmunitionTimeDynamicLoadObject
  335. InventoryTempDataObjectNameProperty SenderIndex    PowerupsCoordsAmmo    xEmitter xPickUpBaseObjectPropertyFloatPropertyBoolPropertyWeapon IntProperty WeaponFireAmbientSound
  336. LevelInfoBytePropertybOwnedByInstigatorbOwnedByKiller MomentumMod    GameInfo Projectile    ZoneInfoInventorySpotHUDPlayerReplicationInfoTeamPlayerReplicationInfoGameReplicationInfoUTRPGTexturesInvulnerabilityShaderTripleDamageIconInvulnerabilityIconInvulnerabilityOverlayTeleporterIconLightningIcon FlightIconSummoningCharmIconUTRPGStatics WingedBoots MonsterCoin ButtonCloseWeaponSpeedSelectHealthBonusSelectAdrenalineMaxSelectAttackSelectDefenseSelectMaxAmmoSelectPointsAvailableSelectWeaponSpeedButtonHealthBonusButtonAdrenalineMaxButtonAttackButtonDefenseButtonAmmoMaxButtonLevelsButton AbilityListAbilityDescButtonAbilityBuyButtonWeaponSpeedAmtHealthBonusAmtAdrenalineMaxAmt
  337. AttackAmt DefenseAmt MaxAmmoAmt
  338. ResetDesc ResetDesc2AbilityMenuFontî{cs                  `┘¬ïîs7bQîI àÄhgi)╙@é-╟Ü9:╜9:$û9:╜9:$Ü9:╜9:$Ü9:╜9:$GÇ          2f░N5╗Äâ@qΘì╣L{!µ>!á╧µ>!á╧δ÷m²8Γ╣Ç▄Θδ÷m²8ñ¡╢Äñ¡╢Äì╣L{!`┘¬ïÑ`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ïÑ`┘¬ïÑÑ`┘¬ïÑÑ`┘¬ïÑÑÑÑ`┘¬ïÑÑÑ`┘¬ïÑ`┘¬ïÑÑÑÑ`┘¬ï`┘¬ïÑ`┘¬ïÑÑ`┘¬ïâ█╧ì#É┌▄0I₧Y╪cÉ┌▄0I₧Y╪cÑ`┘¬ïÑÑÉ┌▄0Iåe*┼åe*┼åe*┼Äâ@qΘ░N5╗`┘¬ï░N5╗`┘¬ïÄâ@qΘåe*┼b∩(];Ao`┘¬ï(];Aoâ█╧ì#û╕ò_╜û╕ò_╜û╕ò_╜û╕ò_╜É┌▄0Iâ█╧ì#â█╧ì#åe*┼ì╣L{!â█╧ì#â█╧ì#à⌠·i|â█╧ì#à⌠·i|Ü¿KiÜ¿KiÜ¿KiÜ¿KiÜ¿KiÉ┌▄0IÜ¿KiÜ¿KiÜ¿KiÜ¿KiÜ¿KiÜ¿KiÜ¿KiÜ¿KiÜ¿KiÉ┌▄0IÜ¿KiÜ¿KiÜ¿KiÜ¿Ki`┘¬ï`┘¬ï`┘¬ï`┘¬ïÉ┌▄0Iì╣L{!â█╧ì#ì╣L{!â█╧ì#â█╧ì#â█╧ì#åe*┼â█╧ì#åe*┼(];AoÑÑ`┘¬ï`┘¬ïì╣L{!`┘¬ï`┘¬ïì╣L{!`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ïì╣L{!`┘¬ïâ█╧ì#ì╣L{!â█╧ì#`┘¬ïâ█╧ì#â█╧ì#åe*┼â█╧ì#åe*┼É┌▄0Iâ█╧ì#â█╧ì#åe*┼(];Ao`┘¬ïÑÑ`┘¬ïÑ`┘¬ï`┘¬ï`┘¬ïÑÑ`┘¬ïÑ`┘¬ï`┘¬ï`┘¬ïâ█╧ì#ÑÑ`┘¬ïÑ`┘¬ï`┘¬ï`┘¬ïâ█╧ì#â█╧ì#åe*┼ÑÑ`┘¬ïÑ`┘¬ï`┘¬ï`┘¬ïÑÑ`┘¬ïÑ`┘¬ï`┘¬ï`┘¬ïÑÑ`┘¬ïÑ`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ïb∩â█╧ì#â█╧ì#â█╧ì#ñ¡╢Äâ█╧ì#â█╧ì#â█╧ì#É┌▄0Iâ█╧ì#Äâ@qΘªn▐BJªn▐BJªn▐BJªn▐BJªn▐BJªn▐BJÄâ@qΘâ█╧ì#â█╧ì#à⌠·i|à⌠·i|╢╕╡╢╕╡╢╕╡╢╕╡╢╕╡╢╕╡╢╕╡╢╕╡╢╕╡╢╕╡╢╕╡╢╕╡╢╕╡╢╕╡Ü¿KiÜ¿KiÜ¿Ki╞f▄x⌠╞f▄x⌠Ü¿KiÜ¿KiÜ¿KiÜ¿KiÜ¿KiÜ¿KiÜ¿KiÜ¿KiÜ¿KiÜ¿KiÜ¿KiÜ¿Kiì╣L{!â█╧ì#â█╧ì#É┌▄0Iâ█╧ì#åe*┼É┌▄0I≥WÆ≈δâ█╧ì#â█╧ì#ß½╣[δâ█╧ì#ß½╣[δÉ┌▄0Iεê=Z?â█╧ì#`┘¬ïÑâ█╧ì#É┌▄0Iâ█╧ì#┼ò⌠@w⌠PoO╕⌠PoO╕â█╧ì#É┌▄0IÑÑÑ    îS╙àIYW╒1éé-≡ -╟Ü9:╜9:$û9:╜9:$G└          6└Jb∩à⌠·i|â█╧ì#â█╧ì#û╕ò_╜à⌠·i|â█╧ì#û╕ò_╜à⌠·i|ìöφ╕║gà⌠·i|É┌▄0Iâ█╧ì#â█╧ì#â█╧ì#û╕ò_╜â█╧ì#â█╧ì#â█╧ì#â█╧ì#û╕ò_╜â█╧ì#â█╧ì#â█╧ì#â█╧ì#û╕ò_╜â█╧ì#â█╧ì#â█╧ì#â█╧ì#û╕ò_╜â█╧ì#à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|ìªn▐BJ░N5╗ªn▐BJªn▐BJ░N5╗à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|ìªn▐BJ░N5╗à⌠·i|à⌠·i|ìªn▐BJ░N5╗ªn▐BJªn▐BJªn▐BJ░N5╗ªn▐BJªn▐BJªn▐BJ░N5╗à⌠·i|░N5╗à⌠·i|à⌠·i|à⌠·i|à⌠·i|ªn▐BJªn▐BJªn▐BJªn▐BJÉ┌▄0Iφ╥ílJà⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|É┌▄0Iªn▐BJÉ┌▄0IÜ¿Kiöφ╕║göφ╕║gâ█╧ì#┤▌çAâ█╧ì#Äâ@qΘb∩à⌠·i|à⌠·i|┤▌çAªn▐BJªn▐BJ┤▌çAà⌠·i|à⌠·i|Äâ@qΘâ█╧ì#â█╧ì#à⌠·i|░N5╗░N5╗à⌠·i|ä≤ñ)√à⌠·i|à⌠·i|ä≤ñ)√à⌠·i|à⌠·i|à⌠·i|öφ╕║gà⌠·i|öφ╕║g├ΩcZDöφ╕║gà⌠·i|öφ╕║gà⌠·i|Äâ@qΘà⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|Ü¿Kiâ█╧ì#åe*┼â█╧ì#û╕ò_╜ ╔GτÜ¿KiÜ¿KiÉ┌▄0IÜ¿Ki ╔Gτ ╔Gτ ╔Gτà⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|â█╧ì#Äâ@qΘb∩b∩b∩à⌠·i|à⌠·i|b∩à⌠·i|à⌠·i|b∩à⌠·i|à⌠·i|b∩b∩à⌠·i|É┌▄0IÄâ@qΘà⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|â█╧ì#à⌠·i|â█╧ì#à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|Ü¿KiÜ¿KiÜ¿KiÜ¿Kià⌠·i|É┌▄0Iâ█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#à⌠·i|â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#û╕ò_╜â█╧ì#â█╧ì#à⌠·i|â█╧ì#â█╧ì#à⌠·i|â█╧ì#à⌠·i|â█╧ì#â█╧ì#à⌠·i|â█╧ì#åe*┼Äâ@qΘÄâ@qΘâ█╧ì#â█╧ì#à⌠·i|Ü¿KiÜ¿KiÜ¿Kiâ█╧ì#Äâ@qΘb∩b∩à⌠·i|à⌠·i|b∩à⌠·i|b∩Äâ@qΘà⌠·i|â█╧ì#Äâ@qΘÄâ@qΘà⌠·i|b∩Äâ@qΘÄâ@qΘÄâ@qΘâ█╧ì#â█╧ì#åe*┼à⌠·i|à⌠·i|à⌠·i|à⌠·i|Ü¿Kià⌠·i|â█╧ì#â█╧ì#à⌠·i|â█╧ì#à⌠·i|â█╧ì#É┌▄0Iâ█╧ì#û╕ò_╜à⌠·i|â█╧ì#û╕ò_╜à⌠·i|ìöφ╕║gà⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|â█╧ì#â█╧ì#åe*┼à⌠·i|ªn▐BJªn▐BJà⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|â█╧ì#â█╧ì#åe*┼Äâ@qΘô¥≥ô¥≥ô¥≥ô¥≥ô¥≥à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|ä≤ñ)√à⌠·i|à⌠·i|à⌠·i|à⌠·i|b∩à⌠·i|b∩à⌠·i|b∩à⌠·i|à⌠·i|à⌠·i|â█╧ì#â█╧ì#û╕ò_╜à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|Ü¿KiÜ¿KiÜ¿KiÜ¿KiÜ¿KiÜ¿Kib∩    îbAz╙  @~    îso r                      3╣L{!îs7bQîj"┘EKx        Ç          6PÑ┘╡º ╚╙╨▓í╙╨▓í╙╨▓í╙╨▓í╙╨▓í╙╨▓í╙╨▓í╙╨▓í╙╨▓í╙╨▓í╙╨▓í╙╨▓í╙╨▓í╙╨▓í╙╨▓í╙╨▓í╙╨▓í╙╨▓íìMo⌐%É┌▄0Iåe*┼åe*┼åe*┼Äâ@qΘ░N5╗`┘¬ïÄâ@qΘåe*┼ìMo⌐%ìMo⌐%É┌▄0I₧Y╪c`┘¬ïÉ┌▄0IÉ┌▄0Iû╕ò_╜Ñuφ*F╠£kû╕ò_╜û╕ò_╜Ñuφ*Fû╕ò_╜Ñuφ*F╨;▐ö.û╕ò_╜Ñuφ*F╨;▐ö.ì╣L{!É┌▄0Iì╣L{!É┌▄0Iåe*┼Äâ@qΘÄâ@qΘ░N5╗░N5╗É┌▄0Iåe*┼åe*┼åe*┼Äâ@qΘ░N5╗`┘¬ï`┘¬ï░N5╗Äâ@qΘåe*┼ìb∩`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ïá°±ùá°±ùåe*┼á°±ùåe*┼â█╧ì#á°±ùåe*┼s±~α╤á°±ùåe*┼â█╧ì#s±~α╤s±~α╤`┘¬ï`┘¬ï`┘¬ïÉ┌▄0I₧Y╪c`┘¬ï`┘¬ï`┘¬ïì╣L{!`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ïì╣L{!`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï£ü{%>£ü{%>£ü{%>£ü{%>£ü{%>£ü{%>£ü{%>£ü{%>£ü{%>`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ïì╣L{!`┘¬ï`┘¬ïì╣L{!`┘¬ï`┘¬ïì╣L{!`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ïì╣L{!`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ïì╣L{!`┘¬ï`┘¬ï`┘¬ï`┘¬ïì╣L{!`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ïì╣L{!`┘¬ï`┘¬ï`┘¬ïì╣L{!`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ïâ█╧ì#â█╧ì#åe*┼Äâ@qΘÄâ@qΘâ█╧ì#░N5╗░N5╗â█╧ì#ñ¡╢ÄÄâ@qΘÄâ@qΘñ¡╢Äâ█╧ì#ñ¡╢Ä9¿¥ñ¡╢Äñ¡╢Äåe*┼Äâ@qΘÄâ@qΘâ█╧ì#ñ¡╢Äñ¡╢IJ5M7<ñ¡╢IJ5M7<ñ¡╢Äñ¡╢Äñ¡╢Äñ¡╢Äñ¡╢Ä░N5╗ñ¡╢Äñ¡╢Äñ¡╢Äñ¡╢Ä░N5╗░N5╗â█╧ì#â█╧ì#Äâ@qΘÄâ@qΘâ█╧ì#ñ¡╢Äâ█╧ì#9¿¥â█╧ì#â█╧ì#åe*┼â█╧ì#░N5╗░N5╗░N5╗ì╣L{!░N5╗░N5╗â█╧ì#åe*┼Äâ@qΘÄâ@qΘ░N5╗â█╧ì#á°±ù`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ïâ█╧ì#`┘¬ïâ█╧ì#û╕ò_╜`┘¬ïâ█╧ì#â█╧ì#û╕ò_╜`┘¬ïâ█╧ì#`┘¬ïâ█╧ì#â█╧ì#û╕ò_╜É┌▄0I₧Y╪câ█╧ì#â█╧ì#á°±ù`┘¬ïâ█╧ì#á°±ùÉ┌▄0I₧Y╪câ█╧ì#`┘¬ïâ█╧ì#â█╧ì#`┘¬ï`┘¬ï`┘¬ï`┘¬ïâ█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼Äâ@qΘÄâ@qΘÄâ@qΘÄâ@qΘ░N5╗`┘¬ï░N5╗░N5╗░N5╗â█╧ì#Äâ@qΘÄâ@qΘà⌠·i|à⌠·i|b∩b∩b∩â█╧ì#åe*┼â█╧ì#â█╧ì#`┘¬ïâ█╧ì#â█╧ì#`┘¬ïâ█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#åe*┼`┘¬ï`┘¬ï`┘¬ïì╣L{!`┘¬ïä≤ñ)√ä≤ñ)√ä≤ñ)√ä≤ñ)√ä≤ñ)√öφ╕║göφ╕║gδç╠{⌡öφ╕║göφ╕║gä≤ñ)√ä≤ñ)√ä≤ñ)√ä≤ñ)√öφ╕║gä≤ñ)√öφ╕║gä≤ñ)√ä≤ñ)√ä≤ñ)√ä≤ñ)√ªn▐BJ^╓E
  339. ºä≤ñ)√^╓E
  340. º^╓E
  341. º╣²■Γ^╓E
  342. º╣²■Γ^╓E
  343. º^╓E
  344. º^╓E
  345. ºä≤ñ)√A«╣╤éA«╣╤éA«╣╤éä≤ñ)√┼;╫≈╗┼;╫≈╗à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|ä≤ñ)√â█╧ì#â█╧ì#r    1F▒┴ìMo⌐%ìMo⌐%ìMo⌐%åe*┼L3ª┐<L3ª┐<L3ª┐<É┌▄0I₧Y╪cÉ┌▄0I₧Y╪cÉ┌▄0I₧Y╪c╥o>+⌠ì`┘¬ï`┘¬ïöφ╕║göφ╕║göφ╕║g    î<FH>KGS"V"Y"\Yu#(-27<AFKPUZ_dinsx}éçîæû]$└?^"_"
  346. `"{"Φ{ó    {ó    {ó    {ó    {ó    aY+KJyf[Dm~_YnYsDh y Hw{@c$?mYy
  347. IR?"I^?"IV?"IX?"I\?"If?"I[?"I`?"Im?"IT?"o"
  348. s╙t$ÜÖÖ>]Autosave Interval (seconds)═Starting Level▌Stat Points per Level▌ Divisor to EXP from Level Diff▌EXP for Winning▌ Extra Bot Levelups After Match▌Reset Player Data Next Game▌Magic Weapon Chance▌Magical Starting Weapons▌    No Unidentified Items▌$
  349. #Auto Adjust Invasion Monster Level▌ Monster Adjustment Factor▌ Max Levelup Effects at Once▌
  350. Stat Caps▌! Infinite Required EXP Operation▌Infinite Required EXP Value▌EXP Required for Each Level▌Allowed Abilities]CADuring the game, all data will be saved every this many seconds.▌"!New players start at this Level.▌21The number of stat points earned from a levelup.▌?>Lower values = more exp when killing someone of higher level.▌%$The EXP gained for winning a match.▌QOExtra levels bots gain after a match because individual bots don't play often.▌FDIf checked, player data will be reset before the next match begins.▌76Chance of any given weapon having magical properties.▌TRIf checked, weapons given to players when they spawn can have magical properties.▌8    7If checked, magical weapons will always be identified.▌Z
  351. XIf checked, Invasion monsters' level will be adjusted based on the lowest level player.▌[ YInvasion monsters will be adjusted based on this fraction of the weakest player's level.▌] [The maximum number of levelup particle effects that can be spawned on a character at once.▌╗yLimit on how high stats can go. Values less than 0 mean no limit. The stats are: 1: Weapon Speed 2: Health Bonus 3: Max Adrenaline 4: Damage Bonus 5: Damage Reduction 6: Max Ammo Bonus▌òSAllows you to make the EXP required for the next level always increase, no matter how high a level you get. This option controls how it increases.▌¼jAllows you to make the EXP required for the next level always increase, no matter how high a level you get. This option is the value for the previous option's operation.▌rpChange the EXP required for each level. Levels after the last in your list will use the last value in the list.▌76Change the list of abilities players can choose from.u]/.0;Add Specified Value;1;Add Specified Percentd ╙H ]RPGo    = UT2004 RPG]RPUT2004 with a persistent experience level system, magic weapons, and artifacts.s╙;tÇuÇôAE@╩mt|        Bô          d»SR<╩╞τ,ùâ█╧ì#ä≤ñ)√ä≤ñ)√δç╠{⌡â█╧ì#â█╧ì#â█╧ì#â█╧ì#åe*┼åe*┼á°±ùmqεy╠åe*┼â█╧ì#â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼åe*┼á°±ùåe*┼â█╧ì#É┌▄0IÉ┌▄0I«=╒Iâ█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#åe*┼É┌▄0IÉ┌▄0IÉ┌▄0Iâ█╧ì#â█╧ì#â█╧ì#åe*┼åe*┼â█╧ì#╩╞τ,ùâ█╧ì#åe*┼â█╧ì#â█╧ì#åe*┼åe*┼â█╧ì#â█╧ì#»SR<â█╧ì#åe*┼â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#É┌▄0Iåe*┼åe*┼»SR<åe*┼åe*┼â█╧ì#â█╧ì#åe*┼åe*┼åe*┼â█╧ì#â█╧ì#åe*┼åe*┼åe*┼á°±ùá°±ùåe*┼á°±ùâ█╧ì#á°±ùá°±ùá°±ùåe*┼á°±ùá°±ùâ█╧ì#â█╧ì#á°±ù╟╔J╕Æmqεy╠á°±ù╟╔J╕ÆÉ┌▄0Imqεy╠D
  352. f
  353.     î=#@euƒ+&ûM P Æ\ÉXM (% G!ÇâE %@@hrÇmåÜ$⌐oi
  354. X    ╚û9:╜9:$GÇ          2'9¿¥⌐Fƒö╝â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#É┌▄0Iâ█╧ì#åe*┼É┌▄0Iâ█╧ì#â█╧ì#ä≤ñ)√â█╧ì#â█╧ì#åe*┼â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#öφ╕║göφ╕║göφ╕║gÄâ@qΘöφ╕║gìÄâ@qΘöφ╕║göφ╕║gÄâ@qΘâ█╧ì#Äâ@qΘ9¿¥Äâ@qΘâ█╧ì#    îK$@P
  355. ]>=You do not have enough adrenaline to activate this artifact.N    ╙O    ╙P    ]Your adrenaline has run out.|╙S╙\σ7@fÇ@─x    oÇä&@[
  356.  âg@@zP"Çå4Çå_@@x?k@@g@J╙j]j                  2 j(];Ao╙ΓmA╨;▐ö.╨;▐ö.[∞ÖΩ6αnLδⁿ░N5╗Φ¿û&╔'%Ñ
  357. Φ¿û&╔'%Ñ
  358. ╨;▐ö.╨;▐ö.n=w
  359. ╢°mlpì╣L{!╨;▐ö.n=w
  360. ╢φK▀G▐ì╣L{!Φ¿û&╔'%Ñ
  361. ░N5╗αnLδⁿαnLδⁿαnLδⁿπ0τÅ¢░N5╗π0τÅ¢π0τÅ¢░N5╗π0τÅ¢░N5╗αnLδⁿ░N5╗π0τÅ¢░N5╗╟édd░N5╗╟édd░N5╗╟édd░N5╗╟édd░N5╗╟édd░N5╗╟édd░N5╗╟édd░N5╗░N5╗░N5╗╟édd░N5╗αnLδⁿαnLδⁿ░N5╗É┌▄0IΣjï`┘¬ï░N5╗Φ¿û&╔'%Ñ
  362. ░N5╗░N5╗░N5╗░N5╗░N5╗░N5╗░N5╗ì╣L{!Φ¿û&╔'%Ñ
  363. ░N5╗ì╣L{!░N5╗░N5╗ì╣L{!Φ¿û&╔'%Ñ
  364. ░N5╗ì╣L{!░N5╗Φ¿û&╔'%Ñ
  365. ░N5╗ì╣L{!░N5╗░N5╗É┌▄0IΣjï╨;▐ö.░N5╗╨;▐ö.d╠╜└ì░N5╗░N5╗╨;▐ö.aî=i "j "    k "l "Q
  366. ╙S╙[
  367. W(a\Y7rx@BDNUVXZkpwBEQZ]behrvxz~L $═╠L>$ÜÖ?$Ç?F ÇUÇôh£äyer        Ç          ,┼ⁿnZä≤ñ)√à⌠·i|    îX╙;5@YÇâO    ömåRo A@YT@@Ç@eÜD@a{DÇ╙FÇñBsÇåI.Çâ-@FÇ@eÇa@gÇ@F£HQÄ[câ≤mmk        Ç          6%Mo⌐%≤╫┐e]╙╨▓í╙╨▓í╙╨▓íÉ┌▄0I₧Y╪cÉ┌▄0I₧Y╪cÉ┌▄0Iåe*┼åe*┼åe*┼â█╧ì#åe*┼åe*┼â█╧ì#9¿¥åe*┼åe*┼ì9¿¥Σ¿,Nöφ╕║göφ╕║göφ╕║göφ╕║göφ╕║göφ╕║g9¿¥ì9¿¥É┌▄0IÉ┌▄0I╚ñn╙╚ñn╙╚ñn╙    î<FH>KG    "A
  368. "A    YB l a
  369. A h
  370. s ]Max Artifacts▌Artifact Spawn Delay▌! Max Artifacts a Player Can Hold]32Maximum number of artifacts in the level at once.▌,+Spawn an artifact every this many seconds.▌NLThe maximum number of artifacts a player can carry at once (0 for infinity)_S\Sz    ä_┴QÇâj@iÇâÄDÇâuàw àJÇâ|
  371. åi@Rå=3@vb[    äc    Ç£h    ^ J £åK@ì@@tl@@uJ(H@\YÇ@~    Ç@~    MÄpÇåehgBÄσk]V            ÇÇ          2    z>╩SWσ░Wâ█╧ì#â█╧ì#Mo⌐%â█╧ì#Äâ@qΘÄâ@qΘMo⌐%V    îs$≡Ax$└?hÇàÄT qQ ÇäL
  372. I@bYHÇì»wT~ -ò G!N @|x
  373. ^åπÇì┤Câv ÇåvZÄK ÄL    @ÇåqVyÇ'MÄ,Yer╣MCY        ÇÇ          2#^╓E
  374. º╣²■Γâ█╧ì#â█╧ì#û╕ò_╜╘>¡6n╘>¡6nâ█╧ì#Äâ@qΘÄâ@qΘb∩à⌠·i|Äâ@qΘà⌠·i|É┌▄0I₧Y╪cà⌠·i|à⌠·i|ìà⌠·i|Äâ@qΘâ█╧ì#░N5╗░N5╗░N5╗░N5╗b∩░N5╗Ñb∩b∩b∩ÑÄâ@qΘb∩J    î| Sa SMÄ ┴R]} aÄâÄlIn        Ç          2gi┌tÄâ@qΘâ█╧ì#â█╧ì#    î;ñ@ÄeXk        Ç          2Aj╔#ê╘Äâ@qΘì«=╒Iì«=╒IÉ┌▄0I╚ñn╙╚ñn╙â█╧ì#ì«=╒I╚ñn╙â█╧ì#╚ñn╙â█╧ì#åe*┼╚ñn╙â█╧ì#╚ñn╙â█╧ì#╚ñn╙ì«=╒I╚ñn╙â█╧ì#ì«=╒Iâ█╧ì#«=╒I«=╒Iåe*┼»SR<»SR<â█╧ì#â█╧ì#åe*┼Äâ@qΘÄâ@qΘâ█╧ì#░N5╗░N5╗ì╣L{!░N5╗»SR<»SR<»SR<Äâ@qΘÄâ@qΘÄâ@qΘÄâ@qΘâ█╧ì#â█╧ì#â█╧ì#É┌▄0Iåe*┼»SR<»SR<â█╧ì#åe*┼ì«=╒Iì╧ôsí    îB~├oÄL£}@Gvjl
  375. âÄzF@RgHlCåÄHt{Aé-╟Ü9:╜9:$GÇ          2l}'sAÄâ@qΘâ█╧ì#É┌▄0Iâ█╧ì#É┌▄0IΣjïâ█╧ì#â█╧ì#à⌠·i|â█╧ì#à⌠·i|ä≤ñ)√â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#åe*┼åe*┼â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#É┌▄0I₧Y╪câ█╧ì#â█╧ì#â█╧ì#à⌠·i|â█╧ì#à⌠·i|ä≤ñ)√â█╧ì#â█╧ì#É┌▄0IΣjïδi0Bâ█╧ì#δi0Bδi0Bδi0Bâ█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#à⌠·i|â█╧ì#åe*┼╚ñn╙â█╧ì#╚ñn╙â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#û╕ò_╜åe*┼â█╧ì#åe*┼û╕ò_╜û╕ò_╜û╕ò_╜û╕ò_╜â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#É┌▄0Iâ█╧ì#â█╧ì#â█╧ì#à⌠·i|â█╧ì#à⌠·i|ä≤ñ)√    îe *   @h ÷    zSs╙S╙z@FΦ,E½^B
  376. ¬_@NC  âCǃkÇìywT    lP dSàVp]ÉfÄ~ Äwqäé-·Ü9:╜9:$GÇ          2X╝="|Äâ@qΘåe*┼â█╧ì#â█╧ì#â█╧ì#É┌▄0Iâ█╧ì#â█╧ì#â█╧ì#â█╧ì#û╕ò_╜â█╧ì#â█╧ì#    îzSrAävkp    τé-·Ü9:╜9:$GÇ          \4Θπä≤ñ)√┴ôá╜ç┴ôá╜ç┴ôá╜ç┴ôá╜ç┴ôá╜çÉ┌▄0I    îX╙O╙;z╙wvƒ\ûU ÄM|öHÇxÇá█ wg S°MI¡är%¼* r&¼*%Öû,¼¼▓▓└└Ñ#╠╠ΩééÜ9:╜9:$-÷¢q%▄s2w. *ç¢ g ç¢ Sg  G    {àQ
  377. töRÇGbÄ` Äe y Ä6Ç@XÇö@ÄQÇmUKûvÇlÇöGÇâDû@╚o    ÇâQ@Z╚≈LEX            ÇÇ          2gA«╣╤é≈P╖Övâ█╧ì#åe*┼â█╧ì#Äâ@qΘÄâ@qΘb∩à⌠·i|Äâ@qΘâ█╧ì#åe*┼à⌠·i|à⌠·i|à⌠·i|à⌠·i|ìöφ╕║gà⌠·i|à⌠·i|â█╧ì#åe*┼â█╧ì#à⌠·i|â█╧ì#â█╧ì#à⌠·i|â█╧ì#Äâ@qΘÄâ@qΘb∩à⌠·i|Äâ@qΘà⌠·i|â█╧ì#αΩ┬*â█╧ì#à⌠·i|ìà⌠·i|b∩Äâ@qΘb∩â█╧ì#░N5╗░N5╗░N5╗░N5╗b∩░N5╗Ñb∩b∩b∩ÑÄâ@qΘb∩b∩b∩à⌠·i|b∩b∩b∩b∩ä≤ñ)√b∩ä≤ñ)√b∩ì┤▌çAì┤▌çAì┤▌çAì┤▌çAì┤▌çAì┤▌çAì┤▌çAì┤▌çAì┤▌çAì┤▌çAì┤▌çAìà⌠·i|É┌▄0I₧Y╪cδç╠{⌡╧É"&╒δç╠{⌡╧É"&╒╧É"&╒É┌▄0I₧Y╪c┘╡º ╚┘╡º ╚J    îWSz╙\VZ  «q Ms▐~qàI@bLWÇâK╚@da    YǃzƒdÇöcXEWIǃf@vJ╚e«{Çñg@@wBÇaÇâeƒ]Äeåt @@uGìösÇâoZ^ GX
  378. ÄOåbDi        └          6└-mdgwRb∩â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#Äâ@qΘà⌠·i|à⌠·i|à⌠·i|à⌠·i|Äâ@qΘâ█╧ì#â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#öφ╕║göφ╕║gä≤ñ)√ä≤ñ)√öφ╕║göφ╕║göφ╕║g┤▌çAöφ╕║göφ╕║göφ╕║gâ█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#▄¼áà"≈+╠╥üöφ╕║göφ╕║göφ╕║gmdgwRmdgwR    îm"    I"9$═╠╠<r]Lucky J M of MisfortunehàHåp    }j    ñrûñ`ÇOLX    Çâ@ƒtì«]┘vn« @@NÇñyTƒYåE    ÇôNÇâUGKI@SZªAÇ\    @fC|ÇâX_]WïY GÄyO[            Ç          2    Wƒε_Äâ@qΘâ█╧ì#â█╧ì#â█╧ì#â█╧ì#ñ¡╢Äâ█╧ì#åe*┼    î`hÄ]ÇâDAJOÄxSZ            Ç          2 ^5⌐╤sÄâ@qΘâ█╧ì#â█╧ì#Äâ@qΘà⌠·i|à⌠·i|à⌠·i|ìªn▐BJà⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|ìªn▐BJà⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|ìªn▐BJªn▐BJÄâ@qΘÄâ@qΘÄâ@qΘÄâ@qΘªn▐BJªn▐BJÄâ@qΘ    îÄtBm        Ç          2_[&▓âÄâ@qΘâ█╧ì#â█╧ì#â█╧ì#    îT
  379. MXÄâbNz@xä^^H            Ç          g"ÿ"¿ä≤ñ)√û╕ò_╜û╕ò_╜â█╧ì#û╕ò_╜û╕ò_╜ñ¡╢Äû╕ò_╜â█╧ì#â█╧ì#û╕ò_╜ñ¡╢Äâ█╧ì#É┌▄0I    îX╙;z╙_S\S`@[{ÇìàyÇâY ö h~l LÜ9:╜9:$GÇ          6 mqεy╠ ,]¡╬É┌▄0IΣjï«=╒I«=╒IÉ┌▄0IΣjïδi0Bδi0B«=╒I«=╒I    î<FH>KGg*áá  g¬ áá z╙┼pZX                  6 n=w
  380. ╢┼z;╨;▐ö.zaî=An]l^]    AbilityS╙u}_├@]u        @Ç           s±~α╤├σÑ╪▄╦Wπó=╦Wπó=╦Wπó=╦Wπó=É┌▄0I╦Wπó=╦Wπó=╦Wπó=É┌▄0I    îFYbK╙TSM╙]Sg
  381. ;U$╚A_S\SZw
  382. ÇåQNƒCÄatÇânÄÄåYÇ컡]]G                      OA▄3Y¡\    ïg"ÿ"¿╠£kÑuφ*Fû╕ò_╜Ñuφ*Fû╕ò_╜â█╧ì#g"ÿ"¿g"ÿ"¿â█╧ì#╧ôsíô¥≥â█╧ì#ô¥≥â█╧ì#ô¥≥â█╧ì#Ñuφ*Fû╕ò_╜â█╧ì#â█╧ì#â█╧ì#â█╧ì#Ñuφ*Fû╕ò_╜â█╧ì#Ñuφ*Fû╕ò_╜â█╧ì#â█╧ì#ô¥≥â█╧ì#â█╧ì#â█╧ì#ô¥≥â█╧ì#â█╧ì#â█╧ì#ô¥≥ô¥≥â█╧ì#â█╧ì#ô¥≥â█╧ì#â█╧ì#â█╧ì#â█╧ì#ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥â█╧ì#ô¥≥ì═ìT7_ô¥≥ô¥≥â█╧ì#╧ôsíô¥≥ì═ìT7_ô¥≥ì═ìT7_ô¥≥ì═ìT7_ô¥≥πûß|;πûß|;Ñuφ*Fû╕ò_╜    îh u
  383. SC╙vÇâR    yδb'jδ┼┬é-Σwçæ*Sé-╔▒ÿ┌«L
  384. M
  385. q!┬┬ü-╔ª▒çæΣ½9?@M
  386. L
  387. ÿ┌q!h┬çε&**╞ Gx@»SD            Ç          3Gⁿ╦=*»╧═ßp    îj]'&%k's strike back was too much for %o.K$ Ä` TV
  388. ╬╥Qx\        Ç          2HL3ª┐<╥o>+⌠ÑÉ┌▄0I₧Y╪cÉ┌▄0I₧Y╪cφ╥ílJÉ┌▄0Iåe*┼åe*┼åe*┼á°±ùÉ┌▄0I₧Y╪cφ╥ílJ░N5╗`┘¬ïÑÑ░N5╗åe*┼åe*┼É┌▄0I₧Y╪cφ╥ílJÉ┌▄0I₧Y╪cφ╥ílJá°±ùÉ┌▄0I₧Y╪cφ╥ílJá°±ù░N5╗`┘¬ïÑÑ░N5╗É┌▄0I₧Y╪cφ╥ílJÉ┌▄0I₧Y╪cφ╥ílJá°±ùÑÉ┌▄0Iåe*┼Ñ░N5╗`┘¬ï░N5╗`┘¬ïÑ░N5╗Ñ░N5╗åe*┼É┌▄0I₧Y╪cÉ┌▄0Iåe*┼åe*┼åe*┼Äâ@qΘÄâ@qΘÄâ@qΘ░N5╗Äâ@qΘåe*┼â█╧ì#â█╧ì#░N5╗░N5╗ì╣L{!░N5╗â█╧ì#â█╧ì#â█╧ì#â█╧ì#ñ¡╢Äâ█╧ì#ñ¡╢Äåe*┼░N5╗░N5╗ì╣L{!░N5╗░N5╗»SR<gi┌t»SR<gi┌tâ█╧ì#gi┌tgi┌tâ█╧ì#É┌▄0IÉ┌▄0I█O▓å.åe*┼â█╧ì#»SR<É┌▄0I₧Y╪c╥o>+⌠â█╧ì#åe*┼ß½╣[δß½╣[δgi┌tâ█╧ì#gi┌tgi┌tâ█╧ì#åe*┼â█╧ì#â█╧ì#├ΩcZD├ΩcZD░N5╗░N5╗░N5╗ì╣L{!░N5╗â█╧ì#â█╧ì#â█╧ì#»SR<»SR<â█╧ì#»SR<â█╧ì#É┌▄0I■'ïì»╧═ßpâ█╧ì#â█╧ì#â█╧ì#░N5╗â█╧ì#░N5╗É┌▄0I₧Y╪cÉ┌▄0I₧Y╪cÑÑÑÑ`┘¬ïÑÑÑ`┘¬ïâ█╧ì#â█╧ì#É┌▄0IΣjï`┘¬ï`┘¬ï`┘¬ï`┘¬ïâ█╧ì#â█╧ì#É┌▄0IΣjï`┘¬ï`┘¬ï`┘¬ï`┘¬ïâ█╧ì#â█╧ì#`┘¬ïÑâ█╧ì#`┘¬ï`┘¬ïâ█╧ì#â█╧ì#b∩`┘¬ï`┘¬ïì╣L{!`┘¬ïÉ┌▄0IΣjï`┘¬ï`┘¬ïì╣L{!`┘¬ïÉ┌▄0IΣjïá°±ùá°±ù░N5╗`┘¬ïÑ░N5╗åe*┼åe*┼â█╧ì#Äâ@qΘåe*┼â█╧ì#åe*┼â█╧ì#Äâ@qΘåe*┼â█╧ì#åe*┼â█╧ì#Äâ@qΘåe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼åe*┼â█╧ì#åe*┼â█╧ì#░N5╗`┘¬ï`┘¬ïì╣L{!`┘¬ï`┘¬ïÑåe*┼åe*┼åe*┼åe*┼åe*┼á°±ùåe*┼åe*┼á°±ùåe*┼á°±ùåe*┼░N5╗åe*┼░N5╗`┘¬ï`┘¬ïì╣L{!`┘¬ï`┘¬ï`┘¬ïì╣L{!`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï∙X╔D`┘¬ï∙X╔Dåe*┼åe*┼â█╧ì#åe*┼â█╧ì#Äâ@qΘåe*┼åe*┼â█╧ì#`┘¬ïåe*┼â█╧ì#åe*┼åe*┼â█╧ì#`┘¬ïåe*┼â█╧ì#åe*┼åe*┼ß½╣[δ`┘¬ï`┘¬ï`┘¬ïÑåe*┼åe*┼Äâ@qΘÄâ@qΘÄâ@qΘåe*┼åe*┼Äâ@qΘåe*┼ñ¡╢ÄÄâ@qΘåe*┼åe*┼â█╧ì#Äâ@qΘÄâ@qΘåe*┼åe*┼Äâ@qΘåe*┼ñ¡╢ÄÉ┌▄0IÉ┌▄0I₧Y╪c╪7ß>    î<FH>KGlîs    Ä┘MÄ╚oìxcÄa ÇöWå°uÇ╙fgsƒîZÇâir╙å^Qπq@UÇtñÄb mÇJÇáq    âft_    @─{φW    Ç╙wsAS╒rÇâBB    @sQAPìp @F@Hâw╚FJtA      G B Çâ@ ßxeƒz KÇâRCÇâDǃS⌠╙Uh^                  2 [∞ÖΩ6╙ΓmA(];Ao░N5╗û╕ò_╜╨;▐ö.╨;▐ö.╨;▐ö.aî=c
  389. S\Y CEMP Q $└>$Ç>XÇâ}å^Ç@â[ÇìYÇâaÇö8kÇÄCuv        Ç          2i\wòÄâ@qΘ    î;dk    µOÇâu    fK"' G A
  390. `
  391. L7ÿ:r`
  392. *a `
  393. g7-dç*. Gh g
  394. äÇpÇì»HÇÇ`Çπ┴±aQaº▒^+aQRSTU GUÇx n~ CkƒìàG∩jÇo═k ì(yZÄ]_c ÇânàU]ÇöÄÇuJÇàP jƒCä┼Vg{                  6 d╠╜└ì┼z;φK▀G▐φK▀G▐φK▀G▐╨;▐ö.φK▀G▐zaî=At]rN
  395. ]('Receiving Player Levels from Server...^]Players' LevelsS╙$═╠╠=$═╠L?`qA0' G ìöw@hÇäi╗RÇâT@SÉlÇmÇVÇâ½aIe        └          6└Ap Q$½±┐Vâ█╧ì#£ü{%>╗└≤┼`£ü{%>╗└≤┼`╪7ß>£ü{%>£ü{%>╗└≤┼`£ü{%>£ü{%>ä≤ñ)√£ü{%>£ü{%>╗└≤┼`╪7ß>£ü{%>â█╧ì#Ü¿Ki£ü{%>£ü{%>£ü{%>£ü{%>╗└≤┼`åe*┼£ü{%>╗└≤┼`£ü{%>£ü{%>â█╧ì#ñ¡╢Ĭ*─`└ñ¡╢Äñ¡╢Äñ¡╢Ä£ü{%>£ü{%>£ü{%>â█╧ì#â█╧ì#¬*─`└â█╧ì#£ü{%>╗└≤┼`£ü{%>╗└≤┼`åe*┼£ü{%>╗└≤┼`åe*┼â█╧ì#£ü{%>╗└≤┼`åe*┼â█╧ì#£ü{%>╗└≤┼`åe*┼â█╧ì#b∩£ü{%>╗└≤┼`â█╧ì#ñ¡╢Ĭ*─`└ñ¡╢Äñ¡╢Äñ¡╢Ä£ü{%>£ü{%>â█╧ì#£ü{%>ä≤ñ)√¬*─`└£ü{%>ñ¡╢Ä£ü{%>£ü{%>╗└≤┼`£ü{%>▐ç(╜╕£ü{%>▐ç(╜╕▐ç(╜╕â█╧ì#▐ç(╜╕¬*─`└£ü{%>â█╧ì#â█╧ì#£ü{%>╗└≤┼`£ü{%>╗└≤┼`åe*┼£ü{%>╗└≤┼`â█╧ì#â█╧ì#ñ¡╢Ä£ü{%>ñ¡╢Ä£ü{%>╗└≤┼`åe*┼â█╧ì#â█╧ì#à⌠·i|â█╧ì#â█╧ì#â█╧ì#b∩£ü{%>╗└≤┼`åe*┼â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#¬*─`└â█╧ì#£ü{%>â█╧ì#â█╧ì#á°±ùâ█╧ì#á°±ù┌╘▀'α╕ît╩â█╧ì#â█╧ì#åe*┼╗└≤┼`£ü{%>£ü{%>£ü{%>£ü{%>â█╧ì#£ü{%>â█╧ì#£ü{%>â█╧ì#b∩£ü{%>â█╧ì#à⌠·i|£ü{%>â█╧ì#â█╧ì#£ü{%>£ü{%>£ü{%>¬*─`└¬*─`└â█╧ì#¬*─`└â█╧ì#¬*─`└â█╧ì#b∩â█╧ì#â█╧ì#á°±ùÉ┌▄0Iåe*┼åe*┼åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#½±┐Våe*┼â█╧ì#½±┐Våe*┼â█╧ì#åe*┼â█╧ì#b∩åe*┼â█╧ì#b∩½±┐Våe*┼â█╧ì#b∩½±┐Våe*┼J    î=R    òWbS`
  396. c{ @d∩^} W|P╩( G tZÇVÉîÇì»{^ÇdÇâƒÉîC    Ç@Ç@@    àPÇSÇì»G    V    W_ @cÇP    ìöGƒ@\ F@@@sÄÇyƒìäTìà}Çâ~ÇÇ@
  397. Çâ@ ╬y
  398. Çì»t
  399. ƒ╤Dlw        Ç          2f    '$ñU╤òF╙▌b∩b∩b∩ì═ìT7_b∩    î<FH>KGv    ]Your weapon is aw    ] You got thex╙v╙r$═╠L?}Çâ├ΓTl    ƒ^ÇsÇ_àMj        └          6└r    1F▒┴à⌠·i|É┌▄0I₧Y╪c╥o>+⌠â█╧ì#    îz╙ÄRt    ^qR
  400. Ç{    c\~ÇäLF Çâ]ÇsHx)qq"wH*HnƺôÆU
  401. &[
  402. [
  403. ÑG
  404. "ää¢%-O
  405. ùG
  406. Φ GxÇåF
  407. Ç»YE            Ç          3E
  408. ┐╓ê[»╧═ßp    îj]/.%o couldn't find an antidote for %k's poison.o]%o poisoned herself.u]%o poisoned himself.{SB╙FÇâ`Çâ»RC            Ç          3I
  409. ßlq»╧═ßp    îj]32%o was PULVERIZED by the power of %k's vengeance!o]%o was PULVERIZED!u]%o was PULVERIZED!{SN╙B╙Q$DR$DEÇN
  410. ÇM
  411. X|Çâ2SÇ@Rì»[ÇÇP
  412. Ç@`OLÇâ╘nzc2τ┬rz▌╞+-╙Ñ╦ÿû-╒owzú*▌·▌zú▌ô▌·▌z▌▌ÿ(zf.â║zs'╧rú*(ú cz G@ÇU
  413. Z
  414. Ç^
  415. ƒJƒÇñdÇàn|K            Ç          2a
  416. ⁿ6Φ9¿¥â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#â█╧ì#à⌠·i|â█╧ì#åe*┼â█╧ì#â█╧ì#åe*┼â█╧ì#åe*┼    îV"bkE≥ D]Triple DamageuÇñoπΩEe
  417. \}4 *Üe
  418. &XΩe
  419. EC G EÉÇñc
  420. @YpKM            Ç          23h
  421. .S╟9¿¥├σÑ╪▄├σÑ╪▄├σÑ╪▄â█╧ì#åe*┼â█╧ì#â█╧ì#╚ñn╙╧ôsíâ█╧ì#â█╧ì#á°±ùâ█╧ì#á°±ù╟╔J╕Æâ█╧ì#ì╟Aô╚â█╧ì#â█╧ì#åe*┼â█╧ì#â█╧ì#├σÑ╪▄â█╧ì#â█╧ì#á°±ùâ█╧ì#á°±ù╟╔J╕Æ├σÑ╪▄╦Wπó=├σÑ╪▄╦Wπó=ì═ìT7_â█╧ì#â█╧ì#â█╧ì#â█╧ì#£ü{%>â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼    îV"K$Ç?bqE± D= TeleporterΩd
  422. Bà∞ wt-╔╣çæΣ½B9?@t▓çæΣçæΣ} G╤Iy}        Ç          2j
  423. ╤¢K╤òF╙▌á°±ùì═ìT7_    î<FH>KGu    M is now Level ~ ]
  424.  someone vSL*  wÇâ@ÇvÇì╬AÇπzǃ|ƒr
  425. ƒs
  426. ƒwÇÇå@vÉáÇb    Ç@d    ǃ~
  427. ǃPsTS            Ç          2.A 2"ƒL9¿¥â█╧ì#É┌▄0Iåe*┼åe*┼åe*┼åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#â█╧ì#åe*┼â█╧ì#â█╧ì#â█╧ì#åe*┼â█╧ì#â█╧ì#╬ⁿ┐Båe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#â█╧ì#åe*┼â█╧ì#åe*┼    îy
  428. $·Dz
  429. "p ╞    V"buE≡ D]Lightning RoduXU            Ç          2B "¢╬«9¿¥â█╧ì#â█╧ì#â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#â█╧ì#åe*┼â█╧ì#åe*┼    îw
  430. ε V" bAE∩ D]Globe of Invulnerability`    ÇF ╟O ╟╤zt        Ç          2G zå3╤òF╙▌    î<FH>KGx    ]%$You have stat points to distribute!y    ]
  431. (Press L)O *   x╙wSv╙s"L* á J
  432. r$═╠╠=y"ÇZ    ÇK ╚L ƒ RÇäV ╟hÇ@}Çöâ[r    iÇX ╟` ╟U    J    å[ qÇ] ÇN@i ╟IÇäPM    @c /Çd @I    cÉO╟Z`Çäw_Y            Ç          2l «ù e9¿¥â█╧ì#â█╧ì#â█╧ì#â█╧ì#åe*┼â█╧ì#├σÑ╪▄â█╧ì#â█╧ì#åe*┼â█╧ì#â█╧ì#â█╧ì#åe*┼ä≤ñ)√â█╧ì#â█╧ì#åe*┼â█╧ì#åe*┼ä≤ñ)√â█╧ì#â█╧ì#â█╧ì#åe*┼ä≤ñ)√â█╧ì#â█╧ì#â█╧ì#    îV"bLE∞ D]Boots of FlightnÇm ÇbfmdΓ( G m@fÇäÇf gÇ@Pu ì{B]                      3y µα3£╣L{!åe*┼åe*┼åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼i\wòåe*┼â█╧ì#â█╧ì#πZ¿■eâ█╧ì#â█╧ì#â█╧ì#Ió╣`┘¬ï`┘¬ï`┘¬ïî]UltimamτeThis ability causes your body to release energy when you die. The energy will collect at a single point which will then cause a Redeemer-like nuclear explosion. Level 2 of this ability causes the energy to collect for the explosion in half the time. The ability will only trigger if you have killed at least one enemy during your life. You need to have a Damage Bonus stat of at least 250 to purchase this ability. You can't have both Ultima and Ghost at the same time. (Max Level: 2)""Tƒg@z ƒMR_E¡  G | ƒs BÇì»@ ÇA ÇRÇäQÇyǃÇp hǃG LÇwÇ]@dÇâ\Çâ~ÇV ÇâÇfHÉö]ÇzÇlÇ~ }+] ~ÇFÇ╨AÇUÇÇG Ei                      3h L_æD╣L{!â█╧ì#â█╧ì#â█╧ì#πZ¿■eâ█╧ì#â█╧ì#â█╧ì#ñ¡╢Äâ█╧ì#â█╧ì#ñ¡╢Äñ¡╢Äñ¡╢Äñ¡╢Äâ█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#ñ¡╢Äâ█╧ì#}'sA}'sA`┘¬ï`┘¬ï`┘¬ï`┘¬ïî]GhostmEC    The first time each spawn that you take damage that would kill you, instead of dying you will become non-corporeal and move to a new location, where you will continue your life. At level 1 you will move slowly as a ghost and return with a health of 1. At level 2 you will move somewhat more quickly and will return with 100 health. At level 3 you will move fastest and will return with your normal starting health. You need to have at least 200 Health Bonus and 100 Damage Reduction to purchase this ability. You can't have both Ghost and Ultima at the same time. (Max Level: 3)"""
  433. "pΓ@mr { Ç\ÇÄ∩JÇx L M U W [ _ j H[V        Ç          2>s yS:S9¿¥É┌▄0I╚ñn╙╚ñn╙â█╧ì#ì«=╒I╚ñn╙â█╧ì#╚ñn╙╚ñn╙ì«=╒I╚ñn╙â█╧ì#ì«=╒Iâ█╧ì#«=╒I«=╒Iåe*┼»SR<»SR<â█╧ì#â█╧ì#åe*┼Äâ@qΘÄâ@qΘâ█╧ì#░N5╗░N5╗ì╣L{!░N5╗»SR<»SR<»SR<Äâ@qΘÄâ@qΘÄâ@qΘÄâ@qΘâ█╧ì#åe*┼â█╧ì#åe*┼ì«=╒Iì«=╒I«=╒Iâ█╧ì#â█╧ì#â█╧ì#â█╧ì#åe*┼â█╧ì#åe*┼ì«=╒Iì╧ôsí    î}    "E ]FDThe Summoning Charm cannot support any more monsters in this world.V"K$Ç>bSE≤ D]Summoning Charm╪o ÇOÉTEJ KÄ\_ÇdÇâ9bÇBƒÇuƒZÇσ r}bVüW b} GQÇâMÇG
  434. Çär{x        Ç          Ió╣ä≤ñ)√â█╧ì#°╧Tºq°╧Tºq╬ⁿ┐B°╧Tºq╬ⁿ┐BÉ┌▄0Iåe*┼ä≤ñ)√ä≤ñ)√É┌▄0IÉ┌▄0I■'ïâ█╧ì#â█╧ì#åe*┼ä≤ñ)√ä≤ñ)√â█╧ì#ä≤ñ)√ä≤ñ)√ä≤ñ)√ä≤ñ)√    îB $zCF
  435. $·DK I
  436. @
  437. $PCHg}
  438. $Ç?~$@£EEÇXÇ├u}        @Ç          L~╙ ╕├σÑ╪▄    îFYcK╙TSO╙;wÇτv                   N~küτ%╕f┼zaî=h] ResetButton(= UT2IRCFont(╜ UT2IRCFont(╜ UT2IRCFont(╜ UT2IRCFont(╜ UT2IRCFont(╜ UT2IRCFont(╜ UT2IRCFont(╜ UT2IRCFont(╜ UT2IRCFont(╜     UT2IRCFont(╜
  439. UT2IRCFont(╜ UT2IRCFont(╜ UT2IRCFont(╜ UT2IRCFont(╜ UT2IRCFont├qw        @Ç          O⌠ ¬7├σÑ╪▄    îFY
  440. defghijklmK╙TSO╙;Uv ╙ΦyA                   P7╪╗╓Φ∩yï┐zaî=h] AbilityListY{Yò{Yò{Yò{Yò{k*├  k¬    k¬└└└ i±iò±iò±iò±iò±XXüXüXüXü~"~ó~ó~óÇzsC        └          6└RL2╥╘b∩    îG≈    I"9$
  441. ╫#=@M of Protectionzop        ÇÇ          2SíΣ)íz>╩SWV    îns f]You got the Summoning Charm!F╬H] TranslocatorModuleRegenerationgSⁿ d$Ç>~Ç|kE        └          6└Tü╦g₧b∩â█╧ì#X╝="|X╝="|X╝="|X╝="|    îG∙    I"9$
  442. ף<r]
  443. Poisoned ~Ç}iG        └          6└V╦p╟╞b∩ì»╧═ßpâ█╧ì#ì»╧═ßpì»╧═ßpâ█╧ì#â█╧ì#£ü{%>â█╧ì#à⌠·i|à⌠·i|    îG═9$ÜÖ>r]
  444. Piercing }╙nÇ@UH        └          6└X¡┐Db∩╘═6╖ëâ█╧ì#â█╧ì#â█╧ì#ìΓ∩∙╬ìΓ∩∙╬ìΓ∩∙╬╘═6╖ëä≤ñ)√╘═6╖ëâ█╧ì#â█╧ì#ä≤ñ)√â█╧ì#â█╧ì#ìà⌠·i|    îG═9$
  445. ╫ú=r]Penetrating }╙ÇXÇâAGI        └          6└[╞┴Γb∩    î9$333?r]    Sturdy }╙BEM        └          6└\┴τêb∩ìà⌠·i|ìà⌠·i|ìÜ¿Kiìà⌠·i|ìÜ¿Kiìªn▐BJ    î9$═╠L=@] of Infinity}╙_Çì»DuS        └          6└^e├S╙b∩╔│e[╩â█╧ì#┴ôá╜ç┴ôá╜ç┴ôá╜ç┴ôá╜ç┴ôá╜ç┴ôá╜ç┴ôá╜ç┴ôá╜çÉ┌▄0I┴ôá╜ç┴ôá╜ç\4Θπ\4Θπ\4Θπ┴ôá╜ç\4Θπ┴ôá╜ç\4Θπ┴ôá╜ç\4Θπ╔│e[╩ìà⌠·i|    îG┌ I"9$
  446. ף<@]
  447.  of ForceAÇEeT        └          6└`#2nb∩â█╧ì#â█╧ì#â█╧ì#â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#â█╧ì#∙X╔Dâ█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#â█╧ì#åe*┼    îG╠m"■   I"9$
  448. ╫ú<@=  of EnergyI ]
  449. Draining WÇfÇτdTj        Ç          c£Lê╩τ·tMâ█╧ì#â█╧ì#â█╧ì#½±┐Vâ█╧ì#â█╧ì#b∩â█╧ì#b∩½±┐V╒╞SΘÇ╒╞SΘÇJe    îÇLƒF[U        └          6└fI╟ì═b∩    îm"²   I"9$Å┬⌡<Çì»gǃhǃiÇân ƒÉöp `b&└ GlÇâi ΓsΓrÇâVÉöΓWÇVÇ╩    TÇOÇ₧ΓNLZ                  x≤┼üéΓ∩∙╬⌠,UWJ    îI    |GÇâ@ΓAÇ≈OP[        #Ç          | Ñ'2≈$ïΣâ█╧ì#â█╧ì#â█╧ì#â█╧ì#b∩â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#⌠,UWâ█╧ì#b∩â█╧ì#b∩⌠,UWâ█╧ì#b∩⌠,UWâ█╧ì#à⌠·i|â█╧ì#â█╧ì#b∩J    î{ǃ}Çì»SÇR\]                  3@l¡╡Z╣L{!â█╧ì#â█╧ì#â█╧ì#åe*┼â█╧ì#j╔#ê╘j╔#ê╘»SR<â█╧ì#j╔#ê╘j╔#ê╘â█╧ì#j╔#ê╘j╔#ê╘`┘¬ï`┘¬ïîMMonster Tonguem5sWith this ability, you can convince monsters to come to your aid. A monster will appear and follow you around, attacking any enemies it sees, and if it dies, another will eventually come to take its place. You will get the score and EXP for any of its kills. The level of the ability determines the type of monster that will assist you. Additionally, the monster will have the benefits of all of your stats and abilities except those which act on your death. You must have at least 75 Damage Bonus and 75 Damage Reduction to purchase this ability. (Max Level: 8)""""Q ÇbƒBƒ~ÇåaP@≡WQ`                  Gd¢r≡ÑΣƒà⌠·i|É┌▄0Iâ█╧ì#â█╧ì#åe*┼â█╧ì#åe*┼â█╧ì#åe*┼┬Jn-Φâ█╧ì#åe*┼J    îZÉöHÇâLÇì»╒YSa        BÇ          #Kö╢A╒≡ÿ╓╧â█╧ì#É┌▄0Iâ█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#à⌠·i|â█╧ì#â█╧ì#à⌠·i|â█╧ì#â█╧ì#â█╧ì#â█╧ì#à⌠·i|â█╧ì#â█╧ì#┬Jn-Φâ█╧ì#â█╧ì#b∩â█╧ì#b∩┬Jn-Φ╧ôsíÉ┌▄0I╒╣╗Zƒ╒╣╗Zƒâ█╧ì#â█╧ì#â█╧ì#─    }=╪HJ    îNÇ╤Zeb        Ç          2M\¡R╤òF╙▌ì═ìT7_    î<FH>KG|    ]JHSorry, that name is already in use by someone who plays on this server.~    ]87Sorry, you can only change your name when you're dead.vSL*  ÇNÇk@_ÇÇp δ^d        ÇÇ          2S-í╫╗δ∩y√J    înp@yÇǬbHf                  0WåáC$¬*─`└â█╧ì#Äâ@qΘb∩b∩Äâ@qΘ½±┐V¬*─`└½±┐Vâ█╧ì#Äâ@qΘb∩b∩Äâ@qΘ½±┐V¬*─`└½±┐Vä≤ñ)√ä≤ñ)√â█╧ì#â█╧ì#à⌠·i|â█╧ì#â█╧ì#b∩à⌠·i|â█╧ì#â█╧ì#â█╧ì#â█╧ì#b∩½±┐V¬*─`└¬*─`└¬*─`└¬*─`└â█╧ì#¬*─`└â█╧ì#¬*─`└â█╧ì#b∩½±┐VÉ┌▄0I₧Y╪câ█╧ì#â█╧ì#J    îFx d\ÇâfÇVÇYÇ╤ioh        Ç          2]≥(■╤òF╙▌    î<FH>KGz    ]You are poisioned!x╙wSv╙s"L*  r$@?\ÇâaMG G_ÉábÇlÇ`ÉákÇâÇ@eÇ@DÇpÇlÇxÇtÇI ÇmÇì»Ç@LM Gc    Çánǃe    ÇAÇì╬uxÇìÇv{ÇÇìÇ~ÇÇFÇ_ÇJÇÇaÉáKÇCÉáGÇìàYÇâ├Lb~Ké-╟Ü9:╜9:$G@└          Hzô├σÑ╪▄É┌▄0Iâ█╧ì#╦Wπó=â█╧ì#â█╧ì#╦Wπó=â█╧ì#â█╧ì#É┌▄0I╦Wπó=╦Wπó=É┌▄0I    îFY`aK╙TSM╙S╙]Sg
  450. ;_S\SX
  451. ╙ǃƒnÇâ|ÇPÇì»rÇåhWÇUÇ[TÇ@O
  452. Ç@@qaA' G ╤QHB            Ç          2Vª¼÷n╤òF╙▌    î<FH>KGwSpÇÇ@NÇv    ÇÇâm    ƒLÇ|    ÉöJÇ@ÇÇJ
  453. ÇoÇ@PÇ^Çâ»ZSF            Ç          3f4π²»╧═ßp    îj],+%o was electrocuted by %k's lightning rod.o]$#%o had an electrifying experience.u]$#%o had an electrifying experience.L╙O╠P$Ç?Z $Ç>▐ gΓjǃOÇ∩z_J            ÇÇ          2km┐tz>╩SWV    îna
  454. f]You got the Triple Damage!Fδ    H]UDamagePickupgS√ d$fff?~■s$ÜÖ?U    ]Close$333?$═╠╠>$═╠L>#'nw&Wl%ÇåV$
  455. ╫#;S$
  456. ╫#;@'nB$ÜÖÖ>$=
  457. W>$ßz?$«╟>R╙Ç@PnÇzoL            ÇÇ          2q$|zz>╩SWV    înh
  458. f]You got the Teleporter!F╬H] TranslocatorModuleRegenerationz· d$@~Ç]Close$═╠L?$═╠╠>$═╠L>#'dw&Wr%z
  459. ÉO
  460. ╙V$
  461. ╫#;S$_@'tB$33>$ff&?v╙b╙R╙zqQ            ÇÇ          2uxgiÇz>╩SWV    înA f]You got the Lightning Rod!F┘ H]SniperRiflePickupgS∙ d$Ç>~ÇÇÇ]Close$fff?$═╠ ?$═╠L>#W(w&Wx%ÇôUÇ|ÇôÇX    @─XφwÇCÇ╨p╙m$ffF?]Weapon Speed Bonus (%)@'@Bl]
  462. @INTERNAL$öê≡=$Ç>$ÜÖ╣>$
  463. ╫#=ztT            ÇÇ          2AΣ4╬σz>╩SWV    înB f]'&You got the Globe of Invulnerability!F∞    H= ShieldPackgS· x
  464. Sd$ÜÖÖ=JY° ~ p╙m$ffF?]Health Bonus@'BBl]
  465. @INTERNAL$╧/J>$Ç>$ÜÖ╣>$
  466. ╫#=êαp╙m$ffF?MMax Adrenaline@'DBl]
  467. @INTERNAL$¬Ä>$Ç>$ÜÖ╣>$
  468. ╫#=lÇ@AÇY    ƒKÇ@PÇO os                      3    J≡dv╣L{!â█╧ì#â█╧ì#Äâ@qΘâ█╧ì#Wƒε_Wƒε_`┘¬ïî]Adrenal Drip]▀]Gives 1 adrenaline per 5 seconds per level. Does not give adrenaline while performing a combo. You must have spent 25 points in your Adrenaline Max stat for each level of this ability you want to purchase. (Max Level: 3)""""Ç@PzvW            ÇÇ          2L╚íµ⌠z>╩SWV    înl XSf]You got the Boots of Flight!gS÷ d$ÜÖÖ=TÇûp╙m$ffF?]Damage Bonus (0.5%)@'NBl]
  469. @INTERNAL$m╖>$Ç>$ÜÖ╣>$
  470. ╫#=[Çì»PǃQǃRÇâWÉp╙m$ffF?]Damage Reduction (0.5%)@'UBl]
  471. @INTERNAL$/∙▀>$Ç>$ÜÖ╣>$
  472. ╫#=p╙m$ffF?]Max Ammo Bonus (%)@'VBl]
  473. @INTERNAL$yw?$Ç>$ÜÖ╣>$
  474. ╫#=\Éáp╙m$ffF?]Stat Points Available@'XBl]
  475. @INTERNAL$Z≥?$Ç>$ÜÖ╣>$
  476. ╫#=zK\                      3Yj╜╣L{!â█╧ì#â█╧ì#`┘¬ïî]
  477. VampirismmDBWhenever you damage another player, you are healed for 5% of the damage per level (up to your starting health amount + 50). You can't gain health from self-damage and you can't gain health from damage caused by the Retaliation ability. You must have a Damage Bonus of at least 50 to purchase this ability. (Max Level: 10)"
  478. """
  479. ]+$║ü>$═╠<?$
  480. ╫#=#W(k&WZ%VÇì»A    ÉáK    ÇnÇäÇäeÉÇu_hYä( G dÇeÉfÇ╨êαnÇ@Piǃjǃ_ǃ]+$@mT>$═╠<?$
  481. ╫#=#W(k&Wk%É|r^                      3    m∩    ∞⌡╣L{!â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#â█╧ì#`┘¬ïî]
  482. Quickfoot]ΘgIncreases your speed in all environments by 5% per level. The Speed adrenaline combo will stack with this effect. You must be a Level equal to ten times the ability level you wish to have before you can purchase it. (Max Level: 4)"
  483. """PΓ:Ç]+$b,ô>$═╠<?$
  484. ╫#=#W(k&Wp%═ \Z\KW!fü-2\cCÜU
  485. %«\`c«\½`9? GWÇì»}g_                      3    sÖ·╠╠╣L{!■k■eùâ█╧ì#■k■eùâ█╧ì#■k■eù`┘¬ï`┘¬ïî]Smart Healing]╛|Causes healing items to heal you an addition 25% per level. You need to have a Health Bonus stat of at least 50 and a Max Ammo stat of at least 25 to purchase this ability. (Max Level: 4)""""EAd1Q G!ÇuÇà]+$%"╝>$═╠<?$
  486. ╫#=#W(k&Ww%OÇìàÇì»KÇä|ÇE ǃ|Çâ~``                      3~└░╣L{!╧ôsí╧ôsí`┘¬ïî] Shields Up!]ÅMIncreases your maximum shield by 25 per level. You must have a Health Bonus stat of 100 before you can purchase this ability. (Max Level: 4)""""}ÇÇÇ]+$τσ>$═╠<?$
  487. ╫#=#W(k&WB%ÇôTa                      3DJu≡Ω╣L{!â█╧ì#â█╧ì#`┘¬ïî] RetaliationmZXWhenever you are damaged by another player, 5% of the damage per level is also done to the player that hurt you. Your Damage Bonus stat and your oponent's Damage Reduction stat are applied to this extra damage. You can't retaliate to retaliation damage. You must have a Damage Reduction of at least 50 to purchase this ability. (Max Level: 10)"
  488. """
  489. ]+$╒?$═╠<?$
  490. ╫#=#W(k&WE%ÇOÇIǃJǃǃ@ Kb                      3    K#╫=╣L{!â█╧ì#â█╧ì#Äâ@qΘâ█╧ì#_[&▓â_[&▓â`┘¬ïî]Regeneration]╘RHeals 1 health per second per level. Does not heal past starting health amount. You must have a Health Bonus stat equal to 30 times the ability level you wish to have before you can purchase it. (Max Level: 5)""""rÇìàÇMÇà{ÇÇ]See Player Levels$fff?$fff>$Ç>#W(w&WQ%ÇxÉy@$3$ùO{%a!% G Ç@`ǃnÉaA c                      3Y *╣L{!â█╧ì#â█╧ì#â█╧ì#`┘¬ï`┘¬ïî]Cautiousness]ºeReduces self damage by 15% per level. Your Health Bonus stat must be at least 50 and your Damage Reduction stat at least 25 to purchase this ability. (Max Level: 5)""""o
  491. ╙@'ZBI] AbilityListg ]<;These are the abilities you can purchase with stat points.$333?$÷(\>$R╕▐>$ÜÖ>#W(DB xd                      3[∞▀├⌡╣L{!â█╧ì#â█╧ì#`┘¬ïî]
  492. Iron Legs]▐\Increases the distance you can safely fall by 25% per level and reduces fall damage for distances still beyond your capacity to handle. Your Health Bonus stat must be at least 50 to purchase this ability. (Max Level: 4)"
  493. ""j""X]Info$333?$═╠,?$═╠╠=#W(k&W]%\Ç@C pe                      32_NtÉq╣L{!â█╧ì#â█╧ì#,┼ⁿnZâ█╧ì#,┼ⁿnZà⌠·i|,┼ⁿnZà⌠·i|,┼ⁿnZ,┼ⁿnZà⌠·i|,┼ⁿnZà⌠·i|,┼ⁿnZ,┼ⁿnZà⌠·i|,┼ⁿnZ,┼ⁿnZâ█╧ì#â█╧ì#â█╧ì#åe*┼â█╧ì#à⌠·i|â█╧ì#à⌠·i|â█╧ì#â█╧ì#,┼ⁿnZâ█╧ì#â█╧ì#â█╧ì#,┼ⁿnZà⌠·i|â█╧ì#,┼ⁿnZ,┼ⁿnZb∩à⌠·i|â█╧ì#,┼ⁿnZ,┼ⁿnZà⌠·i|,┼ⁿnZ,┼ⁿnZà⌠·i|â█╧ì#`┘¬ïî]Denialm!_The first level of this ability simply prevents you from dropping a weapon when you die (but you don't get it either). The second level allows you to respawn with the weapon and ammo you were using when you died. You need to be at least Level 25 to purchase this ability. (Max Level: 2)""X Ç┤gÇ@P]Buy$)\O?$═╠,?$═╠╠=#W(l&Wb%┼D f                      2 c#π¬┼╪,╟░aî=h]AbilityListFontf YlUT2003Fonts.FontSmallTextUT2003Fonts.FontNeuzeit9UT2003Fonts.FontNeuzeit11UT2003Fonts.FontNeuzeit14PÇäy]5R"Q"$öê≡=$╕%?$
  494. ╫ú=T'eUE `g                      3f╧¢3ª╣L{!â█╧ì#â█╧ì#`┘¬ïî= Power Jump]▀]Increases your jumping height by 10% per level. The Speed adrenaline combo will stack with this effect. You must be a Level equal to ten times the ability level you wish to have before you can purchase it. (Max Level: 3)""""Ç@Py]5R"Q"$╧/J>$╕%?$
  495. ╫ú=T'hUEÇÉàBÇÉfêαF Uh                      3ní"ÇΦ╣L{!â█╧ì#■k■eùâ█╧ì#â█╧ì#öφ╕║göφ╕║gâ█╧ì#öφ╕║gªn▐BJªn▐BJªn▐BJ`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï₧Y╪cî]
  496.     Hoarding]òSAllows you to pick up items even if you don't need them. You need to have at least 5 points in every stat to purchase this ability. (Max Level: 1)""""ÇcÉÇy]5R"Q"$¬Ä>$╕%?$
  497. ╫ú=T'rUêαsÇ╨ƒy]5R"Q"$m╖>$╕%?$
  498. ╫ú=T'vUH qj                      3$w█ΘτΓ╣L{!à⌠·i|â█╧ì#b∩à⌠·i|b∩à⌠·i|b∩à⌠·i|b∩à⌠·i|b∩à⌠·i|b∩à⌠·i|b∩à⌠·i|b∩à⌠·i|b∩à⌠·i|b∩à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|à⌠·i|`┘¬ïÑîMSpeed Switcher]á^For each level of this ability, you switch weapons 50% faster. You need to have at least 50 Weapon Speed before you can purchase this ability. (Max Level: 2)"""j""y]5R"Q"$/∙▀>$╕%?$
  499. ╫ú=T'xUI `k                      3yô╘╨°╣L{!â█╧ì#â█╧ì#â█╧ì#`┘¬ïî]CounterShovem    GWhenever you are damaged by another player, 25% of the momentum per level (or 150% at level 5) is also done to the player who hurt you. Will not CounterShove a CounterShove. You must have a Damage Reduction of at least 50 to purchase this ability. (Max Level: 5)""y]5R"Q"$yw?$╕%?$
  500. ╫ú=T'zUJ Vl                      3{⌠~Åô╣L{!â█╧ì#É┌▄0Iâ█╧ì#û╕ò_╜Ñuφ*Fû╕ò_╜Ñuφ*Fû╕ò_╜Ñuφ*Fû╕ò_╜Ñuφ*F╠£kû╕ò_╜A▄3Y`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ï`┘¬ïî]
  501. AwarenessmYInforms you of your enemies' health with a display over their heads. At level 1 you get a colored indicator (green, yellow, or red). At level 2 you get a colored health bar and a shield bar. You need to have at least 5 points in every stat to purchase this ability. (Max Level: 2)"""j""KêαqÇ]ResetH
  502. I] ResetButton$═╠L=$fff>$╕à=$═╠╠<#W(D&W~%K Mm                      3    g8═>╣L{!â█╧ì#â█╧ì#Äâ@qΘâ█╧ì#^5⌐╤s^5⌐╤s`┘¬ïî]
  503.     Resupply]╤OAdds 1 ammo per level to each ammo type you own every 3 seconds. Does not give ammo to superweapons or the translocator. You must have a Max Ammo stat of at least 50 to purchase this ability. (Max Level: 4)""""ÇaǃmÇI]
  504. SquareBar$Ç?v╙b╙tSR╙&WC%M Fp                      3D┌≡y╣L{!â█╧ì#â█╧ì#ì╙2éτ`┘¬ïî]
  505. Airmaster]ñbIncreases your air control by 50% per level. You must be a Level equal to ten times the ability level you wish to have before you can purchase it. (Max Level: 4)"
  506. ""j""]YES$@?$>$═╠L>v╙#'[^&WE%ÇâÇâN xq                      31H╩Ñ=W╣L{!åe*┼É┌▄0I₧Y╪cåe*┼åe*┼â█╧ì#åe*┼åe*┼â█╧ì#åe*┼É┌▄0I₧Y╪cåe*┼åe*┼åe*┼á°±ùåe*┼á°±ù∙X╔Dåe*┼åe*┼É┌▄0I≥WÆ≈δåe*┼åe*┼═╫╕èïåe*┼åe*┼É┌▄0I≥WÆ≈δåe*┼á°±ùåe*┼åe*┼ß½╣[δåe*┼åe*┼É┌▄0I≥WÆ≈δåe*┼åe*┼åe*┼åe*┼É┌▄0I≥WÆ≈δ`┘¬ï`┘¬ïî]Adrenal Surge]µdFor each level of this ability, you gain 50% more adrenaline from all kill related adrenaline bonuses. You must have a Damage Bonus of at least 50 and an Adrenaline Max stat at least 150 to purchase this ability. (Max Level: 2)""""╔
  507. gJZÖ?]#ZJK-L GKÇLÇcÉ-NO$@?$ff&?$═╠L>v╙#'[^&WM%Ç_Ç╬sz        @Ç          P6+┘╬ⁿ┐B    îU
  508. V
  509. _"l"d|$═╠L>|ñ═╠L>}$HB}ñHBW
  510. :á@á@á@n:pBÅ┬u?~$H┬~ñH┬Y
  511. ╙o$$AñÇA@*-▄- @¬A·A gJY├    UC ╙e:NÇ>RÇSÇâTǃUǃÇì»OǃVǃÇⁿ \XP╢╓_ PX G≤ Yf╗ `f G╙ ZWO└Ü`"OWVO G═ ]p▒à_p G╧ Fq¼:_q GÇÇ╩ [NN┼a NN G╧
  512. I^y₧»] w*y( G╔ `Uc═£a ┼-÷j%┼ûj,╗érU▌j└wj└*sÖj▄j'Uf.â║:.├U±jUs'Ñj√r╞U▌ cUrú*(ú cU GÇjÇÇ╫bGb≡wd+ bG╠╠ G╨ kePö╜\P G± fF^÷°d ^F GÇφ hC/√ue,}éééwI*-2wCI ▒`9?%/C`'zw.╔╠*╠/C`')╞äärI*    ü-2 ▒`9?%/C`-B)█░`9?%-B'/I$tI-B)w.╔╠*╠/I$tI-B GΓ li[Åt\ G≈ ogƒXmr* σσj▒╓9?%a╓(    a( GÇ└jAM└hπäü-µ    üy ja%`ûa,Va¼-≡n aÑa'ia∞ Awi*i^i σσÑoùç▒%.┤i-Ω 'tçúwt*■ééw.t*    wt-r.t╞╞yw%▓*%.┤iⁿ&ó%▓·&┼éw&▓*w%▓&▓ó&▓·&&.┤iⁿ&%▓*&▓*%▓*&▓*ttúΘa(nwç*Sw*@.ç  ^çç_╥w@*6MH╞6EH7@9@9HÑoAααri*a GσpBe`:X eB Gß E@c[▄W c@ G    ÇΘsA| 9qT?eÜAu    A¼-≡'`çæa/!V .ûçæ@ 11w. *ÖÜA&. -⌠(11ä&¼-≡!▒&¼√ÿ┌/é▒&¼╩9?%ü. -⌠. -⌠'. s  ΘA G▌ t@l*╣Rúl@%îû@,@¼@¼@▓@▓@└@└Ñ@╠╠ GfXs^P`q%▄Xçú]wX*c.XFééééwc*    wcc-÷wc*(rc╞╞%c▄%▄&c▄&▄cqqc└»ÿ┌9?&XXú* G■njW{o(■%Ü9:ÿ╫9:$A G┬  ╩
  513. uf :ap'÷-÷'r%└U└U%k▒ÿ└    ╧Ç?U▄U╠╠ûU▄UU▄∙UÆU▄f └»ÿ┌9?&s'"wU▓*U▓ :f ( G┘ xqr≡ïL rq G╪ AoRδDL Ro GDz    vnvMr╧p-÷.w%└*%▄%héw&└*w%└&└&▄&s ₧w%▓*%▓·%▓≤╠w&▓*&▓·&▓≤ G     zCç÷sC G┴
  514. {_ 5îLt_G-÷9D½9? _ «Ç?½
  515. ╫#<9?6`R@ _  Gd ÇÇ┬
  516. |Jöu▌J-÷üw%└*%▄·%▄9D½9?%└╨«Ç?½
  517. ╫#<9?6`R@ éw&└*w%└&└&▄·&▄9D½9?&└╨«Ç?½
  518. ╫#<9?6`R@s┌qw%▓*%▓··%▓·9D½9?%▓╨«Ç?½
  519. ╫#<9?6`R@┌w&▓*&▓··&▓·9D½9?&▓╨«Ç?½
  520. ╫#<9?6`R@ G─
  521. kL⌐Zx Lk G╒ D}f▀6Kn-d fP▒╓9?%a╓(    a(σσ-d  GÇ┼
  522. @iO«╣x Oi G╘ GjP╥!Je PjN▒╓9?%a╓(    a(σσ GÇ╨
  523. CdM│y°Ä-÷'r%└d└d%:rd└*(░9?d▄½9?d└╨«Ç?½
  524. ╫#<9?6`R@≤wd▓*░9?d▓·½9?d▓╨«Ç?½
  525. ╫#<9?6`R@( G┴ OY A=┬72ç.â║-√ -Y >ärç*    r*q!i gcl%'ûl,Θwlß*Θärl¼*Téééwl¼π*    ü-÷rl▓*ùl¼° %q!i l¼╫çl¼╘ÿÑlQσ$σσq!D {äÜ9:ÿ╫9:$üçz  ╙ärç¢rçΘ╦wçΘ*çe╤P éwçΘ*çΘ-╚
  526.  <rç¢*çΘçe//-Y ééw.ûçæ*.ûçæ-▐ ΣwçΘ*ß▒OçΘOçΘç¢f//▒Oç¢OçΘç¢f G┬  Ç╤
  527. F@─τzw*@ G╪
  528. IKe╩]{e GÇì»╞ JMQ╧╖{Q GÇΣ    Ldz╘ | zd G\~c,±5╝~çæú\w~*R.~EwR* ~~úR.ç  ╣rR*ΦpCouldn't find RPGStatsInv for çA GÇπ    NRc┘e|c GÇα    Qo▐╞|o GS] ΣS}▐█w.ûçæ*ç¢.ûçæ^ChangeAmmoç¢%¼%¼&¼&¼%▓%▓&▓&▓╠╠ G┬#T^ ⌠dqnw.ûçæ*ç¢.ûçæ^ChaosWeaponOptionç¢ G┬#U_ ╥Çkhw.ûçæ*ç¢.ûçæ^ReloadMeNowç¢ G┬#V`
  529. ╚üolw.ûçæ*ç¢.ûçæ^FinishReloadingç¢ G┬#Wb ┐é└»ÿ┌9?& G┬#╔XZi#╒äG          ⌡ }8â┤▒éwç*w.ûçæ*X-2.ûçæ f    & ▒▒w∞*.ûçæ.∞ε% ∞ GVW W╔Yü-2.W ·&9D½9?W «Ç?½═╠╠=9?▌V«Ç?½═╠╠=9? G  _vTz3iTv`-X féé-÷wv¼π*4äÜv%'wv¼π%¼π`-X zçú]wz*C.zFéééwC*    wCC-÷(rC╞╞C:v▄vCs]zzúÖfs G^ÇäVǃ√fS ├Ä*╣çS çS uçúα'Öäru╞╞*éw.u*ü.uGH.àuαÑH▓ùHΦα╔ruú*αuuú3brH*uúú*aç7wçæ*çær
  530. -_'a║-q'H~~üHy-q'ærV *-q'H%ûH,wH¼*H¼╫çHTH.┤V -_ÑHÿHéwç¢*ç¢-q(uwç¢HH A-q"rçæÿc╔-2.ûçæ f    & ""w∞*.ûçæ.∞ε% ∞cyü-_H%sûH,H▓*H▓*ÑH:a╢H%╢ûH,H▓H▓ÑHÇ GÇì»sbKè83éwO æ*O æ-╚'( G O ÇìàÇÇVaI W₧ûr.âh* #ü-2.^ùI .âh▒o9?.âh▒ko9?I ╢o½
  531. ╫ú<9?Déééw.∙çæ*1░çæΣçæ°8│«çæΣoçæ°üç{.∙çæL !y $çæΣ⌠«çæΣoçæ° G∩ gci╢t) û%(i G├k{▒)){ GiǃjǃoÇì»Σ lRh¼π( hR Gß oPgºé( gP GuH NL    ùFuN-MCéw.╦%¼*w.╦&¼*╢`└? Gǃα tnDó( D GsmLKëC%>û,4w╦Lß*'Ñ( G ÇƒsÇâÇ▀ vqa¥╗' a GfpGSérdééÜ9:╜9:$    wç*/är.╔╠*¢H 9:.╔╠╞/çaA ┴OHC87éérOçç┤OßOß┤O┘O┘▌ü-2.╢Oß«Ç?½═╠L>9?╢O┘«Ç?½═╠L>9?▌O σ«Ç?½═╠L>9?7¢9:ÿ╫9:$_a \ O ÖO █7w_*_I_`O_a*O&wO√*_√O√_ΦOΦ7_-°
  532. '10dw.╔╠*H 9:.╔╠╞fG G    ▌ wHÿO'!HIJ G▄ xFtÆ└&"└F t└ G█ zCìj&C GsiKîìêääai ∩
  533. ai ┬`ééw%iß*w%ißπ*'û%ißπ≤,(' G ╫ FCwê& wC G    |ÇâÇEyAb2#éü-2Ü9:╜9:$.EA GÇÇI}AZ╖ü-2.' GBÇCÇDÇÇf@@S!nf@ G╓ H~Qé░%Q GFa╥Fü-2.E #F}|E y G╘ IH}a%H GJ~At┐$D~%*û~,~¼*Ñ~Aw*a G╤LNi┤#A╤ GÇ╥Qzmdb# mz GsxK    áC}%>û},4w╘}xß*'Ñ}( G ÇPÇâ}Ç╥ TNL_#L GuMvLlFuv-uCéw.╘%¼*w.╘&¼*╢`ÜÖÖ? GÇ╤ XSKZ╗"K GVRVW╗K┘R# W%HûW,>éw.╘W¼*!r.╘W¼ⁿ
  534. rxü-2.╡éw.Γ
  535. W¼*w.ûçæ*T╫ç Öç P~ | z T╫T╘~ 6  Γ ┬_üQT╫╫T╘╒└| 6╦ Γ ┬╘z 6≥ Γ ┬.╘W¼?M╫R╘╘Γ╪RTC ∩9?,9P╪RT<.╘W¼sM╫R╘╘Γ╪R╫ç Öç PC ∩9?,9P╪R╫ç Öç P ÑW  GC ÇÇ╧ qWIU_"I GrǃÇÇ╦ ^[O@b büy╩└Y6rçæ*Y╩çæ m
  536. ╩ GÇ╟
  537. `U[/⌠░d-÷ rU└*>r%└U└U%¼9?U▄9?U~rU▓*¡¼9?U▓·9?U▓≤ Gǃ⌡ hhy*à" yhij Gq|b\    ör_éw.£çæ*+▒.£çæ╡╪9?%«\`\ GÇVadW≈qnééw.âq *▒.âq ╪9?%z- Rü-2.z- (|z Gq Çv Çgǃzǃ▌lcU#╞?-v U-cd╓╓-v  GfcaS1#w|*|- '|*fa GÇV}W
  538. ≥är[ E
  539.     ÿ}% c.â^wc*Jü-2.V.Xc  XùwV*╕V⌡9?ƺæ},
  540. &Va Xc "VC V cV⌡9?ƺæ},
  541. & G 
  542. mjVAV G■
  543. q_H■ H_ Goǃ[ǃD    Çà√
  544. r{O ▒/ärç*rçæ*{└Z{«Oçæ k
  545. ¼wú*D    ú O@    ¼éwD    *▒@    {{@    D     G∙
  546. tEk≥å─Eδ 9=, 9=, 9=, Ea╤RPGWEAPON╕PE    E└Ç@PEa╤pModifiedWeapon: 9V╕PE    E└Ç@PkEE    P GFF    a╥Sü-2.óF    9D½9?F    ½═╠╠=9?FF    SRQP G≥
  547. vyφy GÇ≡
  548. xuDΦ╟D GÇφ
  549. {w_πz_ GÇA
  550. Fzx    ìÑA
  551. zTéw.mz*▒.mzF9?%F.mzFó~ù%F¼9?ƺ,,9?Æ&óF¼«á?½├á?9?Åô& G∞
  552. ~yd▐*d Gfze S~!fe û9:╜9:$ ╣Fe ▓F9?%Gü-2.░û%/çaA ö/ûCêçé/ Y r.╣/*ya ┬     / Ö    wy*y╓$y-a °     ½ @/π
  553.  /ß
  554. uéééü/-⌡w.┤/*.┤/-ⁿ╡/╩/q!sä/sê10F¼«á?½├á?9?Åô&O    WY    ╫ç Ö╘99ç █ç╔Vwç aP    GY    ç Ö*αP    ╘99ç █9?,(/aO     P    k/aO     Y    xr/* ñw.▄/*ƒ.▄/▐9?,══w.≈/*╢.≈/σ    9?,/╩/-⌡'/q!sF¼9?ƺ,,9?Æ& GÇδ
  555. R }G┘╧G GÇσ
  556. BIE╧1 EI GÇΣ
  557. FF`╩╒ `-F GÇ|EW]¬    mL░9?ç▒ç╪ÑGq Φ    ÑGq ▄╨¢░9?ç▒«ç╪9?,dÑGq ▄ÑGq ▄╨░ç╪ç{ÑGq µ    }çú╦w}*n.à}¢wn*TnM%hny%Qwh*ÑGqh¢¢nM&hny&¢wh*ÑGqhÑx
  558. ┤ùx
  559. Φ╦}}úΣ≤░├½Å┬u<9?ÑGq ─\äÜG%Géwçæ*1░çæΣçæ°ÑGq ≈ºGq GqÇìöα
  560. ICm┼gm GìöÇ▀
  561. KHB└B GÇ┌
  562. LJA╗¿A GσM{
  563. »Bykéé■{
  564. !e    wI*-2/I$tI(kw.╔╠*╠/I$tI(σ{
  565.  G╒
  566. P{d¬Φd{| G╛u
  567. !`aá@'╛ G∞Nc─╡&ärç*ÿç▒%a cçæxérc*wç╨*cç╨æêrc*a ▓üç{ci9?u
  568.  G╘
  569. Qy@ÑÇ @y G╞
  570. Uk
  571. ₧╨8k
  572. w5w%└*k
  573. 9?% G╛x!_a@@'╛ G∞R_∩y&ärç*ÿç▒%a _çúvw_*Z.à_ówZ*ƒéééééZ-÷w%Z└*Ö%Z└≤,üZa/!l üZa/!j üZa/!BZ.:ÉxÆ&æ%Z└≤,d%ƒéw%Z└&Z└w&Z└*Z.:ÉxÆ&æ&Z└≤,d&_M.ª__éééééwM*ÖM≤,ü_a/!m ü_a/!h ü_a/!o ü_a/!N M":ÉxÆ&æM≤,d__ú: GÇ≥    VT~ÖN~ GVNÉ╒ªoÿo%a GÇì»WǃπXǃZÇäδ[ÇÇ`n    Gé e`éér╞n    ╞(r╞n    ╞Ön    (' Gafw▓£>ù%╩p¿ppT
  574. ╩P
  575. +9SÖwû%╩¿ppS╩T9SÖ╩ppT
  576. ╩P
  577.  Gc.j£éÜ%    ü-O
  578.  -2'ftéwç*w.ûçæ*.ûçæ f    % Ör∞ */IÇ┐' Gεwe5╟εe^%rç*-v' c
  579. ç∩ç∩*Érçæ*ç(v&*ç Ö# » ╝wç¢*ç¢{Ñ|    Tçæb∞rT*½éTa/!|üç-√    Y^╫T Ö# Bl    ß╪^ç Ö╝äé░l    9?ÿ:,ä▒l    9?Φüb$^ç ÖÜ|    áå2ärT*Ü|    áåm    ╫ç Ö╘ⁿ9?╨2rç0a^\m    ç Ö'ç B
  580. *^m    Hçæw.ûçæ*ç╓$.ûHX Hò*çæ*Hq!v.ûHi
  581. !v!.ûH ╬
  582. ç.ûH } ç.ûHg
  583. ']çæs
  584. çæò*çæ*ç-Ω'ça(ç-┴(çoé$ç▒'╧w.ñç*ç-╚'ç σ╘Γ╪^ç Ö«ç┬½¼ç┬9?,9?ôw&ç√g─¢9:ÿ╫9:$]ç°o─éwç¢*wç¢╠*ç¢╠-╟' GuPgIª⌐çça║╩╩╥╥≤≤≡≡██±±⌠⌠∙ ∙··╩ ╩- - -■-■-µ-µ└└-÷-÷┴┴u        P%ªûP,P¼P¼P▓P▓P└P└£äääääP¼a/!n P¼a/!k P¼a/!~ P¼a/! P¼a/!@P¼a/!Au    PÑP GÇdÇâeÇìàh_
  585. r╟CXw_
  586. *n_
  587.  G┬%ib
  588. n╛dWor║b
  589. açu%lûu76u6nb
  590. u67Ñu Gnf
  591. q╢÷Vwf
  592. *rf
  593.  G┬%ΘbCi╣ û9:╜9:$a═╠╠=' GΣjlMoa GǃkL]vlαg
  594. ç°L%▌ûL7ç°Lo.δÿ▌ g δLo∙Lç°Lo-═'Lo-╠'Lo≤hÑL Gq^r₧çTgr║ça^l.µ^ùwl*{%öû{7lΩ{lΩ X«Ç?½
  595. ╫#<9?6zÑ{9k    .Γ^τwk    *k    ▄  X«Ç?½
  596. ╫#<9?6zw^¢*i^¢{%dû{76{6r^{67Ñ{ G∞mäƒrç* -vD 0Ü7o%]ç°oÜéwç¢*wç¢╠*ç¢╠-╟'  GΩo|òi4 -v ├▒ß╪ç Ö^½ßç σ|ç σ╘Γ╪^ç Ö«ç┬½¼ç┬9?,9?ôw&┴ça![ça![ ═╠╠= Σr.ûH*H-α(H nçç-Ω(ç√*ç σ#ça'''ç-┴'çoé$Æw.ñç*ç-╚ç-╚w
  597. ░&ç▒& 
  598. ╒,ç▒ç▒ 
  599. ⁿ,ç▒9Dç╪ 
  600.   ÿ░ Eçv!-v'D Gs}nöºS}I~ G┬%pkD┴@$Ü9:╜9:$ç∩c
  601.  ¢9:ÿ╫9:$ç°g
  602. ⌐¢7o%k%íûk7oÿ▌kkoÑkd7o% éwç¢*wç¢╠*ç¢╠-╟( GwzvÄßRzA{ G┬%╪rN╙:¢7o%D╪ GΣvMÄa Gǃxv
  603. wê;R/v
  604. 6wv
  605. 67x G┬%yzéùQ76%767% G┬%|qPJoléw *ù  ]y
  606. b*9Wⁿ  y
  607.   ]É iô ]&A,d/ù7  ]& ] ûf¢ w%╛Ü g%&Æô7 & É wô ô7 &c&ô7 & c    ô7 &cûc     ]í&9D¼½9?&9? w╚BÑc    û&ô7 &  I(·éwç*ùç▒%ÿ░ Eç!eÿ░f j
  608. 6Lqf| T    9Wⁿ F% bz G┬╛o!≈1╛%wç*oçæaÇ?' Gεz]    ╧Nro*o]    ∞S çε]    H]    çS  G~oEGICj bo G┬%S Éö@DK4RGΘr * Dÿ═µwD*╧D-╧YDú╧wY*h.Y╕wh*Epp9Whⁿ: 9Sh YYúRDD╠! G┬∞{'²'¥Ü9:╜9:$ r║*a Lérç*    wo*çoòH∞oH4vÉC ,çH Ö# E
  609. $é¢9:ÿ╫9:$    wH*Ha ╔    $éHNw.ûHæ*.ûHæ  ]% G╪CjNE┬iÜ9:╜9:$j%aûj79Ww6Ej9*6Ej9NÑj79%äwn*n*n*╣w*▓Ü9:╜9:$b*╪ G╛W ![aÇ?'╛ G∞AºM&ärç*ÿç▒%a çqW 9Dç╪ GDt¬Dwn*nq G┬%FtL Cût.ûçæ&rt* r¼ßt α9?LT▓r9?& ▐t αr▐t τr▐t ≡r Gj ÇΩKE╖Å:₧┘Ü9:ÿ╫9:$╧éwç*wçæ*L╠ü-Jçæ°9?6GZ%─ûZ76Z6 çZ67ÑZv-J'╫-J( wç*Lwç¢*%8ç¢R$&8ç¢R$,éé%8-≡ü%8-Γü%8-πZ%,é░«%8√%8▀ÿ┌ûZ'e«%8√%8▀%8V%8√eÑZìéé&8-≡ü&8-Γü&8-πZ%é░«&8√&8▀ÿ┌ûZ'e«&8√&8▀&8V&8√eÑZw¢ä¢E6S¢ 6Lwù 6L-j ' I'¢-j t GΣZ HM≥a GǃΩGJ9Sa.â║Mwa*a▒J    aBZ G    a GaÇLbFïr5┼ºÜ9:ÿ╫9:$x    V%rûV76hrV6bxVrÑV+ñÜx    x76x67%x6bÑx67ó6=[ºwç*b çx67Mwç¢*b$dç¢x67ºéwçæ* w.ñçæò*r.ñçæò┬wn*nq G┬%MJGTU/-r(k%[ûk7 #Qrk #J-r'[Ñkhü-r B    k%ûk7rkJYJk%äÿY%ùY BkÑkzÜÜB    YJ %oäÿY%ùY B7B%%BJÑB%óYB6JÑB676=≥wç*J çB%ÿwç¢*J(dç¢B%≥éwçæ* w.ñçæò*r.ñçæòFJY G┬Okn.╬+-Ü9:ÿ╫9:$R
  610. 9$í6zk■
  611. V$í6HÉ,k■
  612. ░$í6Gk¡éwç*wçæ*╕çæ°9?k■
  613. ╔$í6Uk■
  614. Γ$í6Xk■
  615. √$í6`k■
  616.   ó6=k*wn*nq G┬%ì«Q)u≈z#ÿû) F
  617. ┐$ÄéÖ% %(ûô% a))ô% aía)6zaW
  618. Å$4éÖ& %,ûô& 3É),)æô& 3,í3É,)6H3îwç*╕ç╪9?É,)W
  619. q$ éÖ, %)ûô, A))ô, AíA)6GAnéwç*wçæ*╕çæ°9?)W
  620. $ßéÖ, %)ûô, -))ô, -í-)6U-W
  621. │$ééÖ, %)ûô, 5))ô, 5í5)6X5W
  622. T$#éÖ, %)ûô, T))ô, TíT)6`TW
  623.   ó)6=n)F  G┬╛l_! ╩â╛/┼ î_vuééw«_*w_ «$w«_╥ ╧╥7GG«_10a A' GTdAΣ%!╤d%Qûd79Gw6Ed9*6Ed9NÑd79%╬wç*^çæ╢ér^*wç╨*^ç╨æç_a^ GεPIQ▒εIHZÿ═ºwZ*W.ZÉééwW*wW*rWçæ_W ZZ╠$h' GǃΣUSM┌m 52éwç*wçæ*açæ GVx╘≡/,éÜ9:ÿ╫9:$    wç*l GB2YOl┬G «Ç?½9?6`
  624. ╫#<OçúwO*╙w.ªO*.ªO≤9D½9?.ªO≤G ╙ù.ªO·.ªO≤.ªO·.ªO≤ÑK ∞ùK ΦOOú4 G∞R*îS<äärç*ÿç▒%rçæ*a Iw_* h( GWR hB{5~º7GÑqääÜ~G╫l'éÜl,ù~G╫,ùqΦ½ùqΦíùl%ªlh-R  ½l,  ä-R UPCG}ÿ■üw}*Zß╪} Öç Öjé░ZU"▒Z½~G∩9?,@}Uß╪} Öç Ö}}∙╙q%@çæbÑqïäé▒ß╪@ Öç Ö9?Φ"üb$@ Öç ÖùqΦgw@*y╫@ Ö╒»~G─@─#Ç?áy╫ç Ö╒~G─#└?6╨N6╨9P╪yç Ö~a~G yN⌠r~* w~æ*~æaGa  yNG n~GHçænçæú┼wn*o.n«wo*┼nnúà∩ro*o.ç  δwo*~%jû~76o@~6o@$ ~~67o@Ñ~òrGú*GúoΦnGú╘wnú*nnú⌐núo'τpWARNING: Couldn't find RPGStatsInv for çA_G G∞Z╡Fwç*lx G[M«t85éwç*wç¢*iç¢ G┬%\`iÅ╓╜%`R$&`R$┼w.╢%*T«Ç?½
  625. ╫#<9?6z.╢%≈½.╢%≈T.╢%▀¼Ç?½9?.╢%▀.╢%≈.╢%Θ½ÇG.╢%≈.╢&≈½.╢&≈T.╢&▀¼Ç?½9?.╢&▀.╢&≈.╢&Θ½ÇG.╢&≈eeééü%a/!{ ü%a/!i ü%a/!ET«Ç?½
  626. ╫#<9?6zuw.╞%*.╞%ε¼.╞%εT%▀¼%▀T%▄½%▄T%▌¼%▌T&▀¼&▀T&▄½&▄T&▌¼&▌TJ%║ûJ76J6d`J67ÑJl Gσ^^hÖ╒Oéé■^!e    wç*wç¢*iç¢M╟╟■^!m¼░»ÿ┌q 9?,çæ"i.≥ÿ░┬%w.ßç█*çD.ßç█▐9=&%ùD%êôD&.ßç█▐9=&ÑD.εÿ░)T
  627. ç█pmultikill_9SDíE9D┬9?D Eç█│D%q ÿ┌σ^ G\Ç∩_[c\ⁿ T-\∩[Jäw.├[*éü-\w.┤[*a═╠╠=(-\ Gεmq<l    ₧εqr!eVç  ┼ÉwV*Z.⌠.┼VR$ÉwZ*ZKZ±
  628. '¢ü-~ wçæÿcS%ûS76wSS6S67ÑS─S%WûS7 #vSS #ÑSS%ôûS,nSS ÑS^-~ ' GÇ@x ìdqp5ε├ 6LqE6Sq&6Bq6=qa6zq36HqA6Gq-6Uq56XqT6`q6q%67q G~    pI" ╬6Lp 6SpE6Bp&6=pK-Y 6zpa6Hp36GpA6Up-6Xp56`pT6p67p% Gìì╚W|! Ωk╛|ÿ░╟hw|*Qw.|*W.|h||≥# G±pPa,)MPÿ░·)oPPçjihg GΘiC╨!ΘÜ9: 9:$-ß( GkQ!├U/a6 ╧╤╚BQδ╤δ·╤╔q!a═╠╠=(Q10 G∞l.≈G·φ=╤-═    q!u ·-Γ    'Dq!@  G╟mr;└--ⁿé-Cÿ░-╤ GnJY@D-CJ-ⁿr├J├▌J▌╩J╩═J═╥J╥╒J ╗Ü9: 9:$╙J╥╧╠ Jµ °J°┘J╫╒½ÜÖÖ?à▌╥ G√rn$9#εnlç¢ Gεom ^U\.m w\*ε\Y┤\∞R\éé\-2w\I*w\╠*╙\╠╥╒\╠ a+a<█"Ç-ß(/\I$tI'εm  G├w{ √ GÇ├qBls█ Qwú*úaDwR*MRUM╞AA-ⁿw.B  Aww*o%Aûo7w97r6Mow9▌M6Eow9rM*Aw9o&ªo7UM╞Aw9o&-e 'AÑo~prU*UWEà▌BSaUB ".S xM.SbL.àa▌B "äéé-⌡    wM*M-2W-qS BH-e MNS GsÇSÇÄσzue═( GÇxÇä╥|ymå( GÇπ C{x W G┬  ╤tNñD#wR*RN╤ G╞}X░&bnXú┤wn*äärn╞▌6éw.n*$r.n╞▌Y.àn┤Ñ` ¥ù` Φ┤nnúΦéwY*ä-ⁿùYL%%Dé.αXæa
  629. 2ä▒X¢╥?▒c 9?ɼà▌╥c  GÇÉYÇ@Ç▌FBU( Gǃ┼~{`╧iª{«╒{æ
  630. a{ú┌wa*¬ära╞▌6éw.a*$r.a╞▌g.àa┌ÑU ├ùU Φ┌aaú:wg*{æ-▀üG Ké░╩9?,
  631. ä-╟gO%kgO%½Ç>{ùgL%%fgy%½rf*═╠L=■⌡½Ç>{½f╒⌠Ç?¼½ÜÖ>9?g%9?gL%═╠L=Yé{æ-▀-░½╒}?U?»{¢╥═╠╠=¥är{¢*░{¢╥?½@{{ G└DM╚a GgÇ\ Ç┘
  632. KHVöI+.£çæ'r+*$fééäéw.▐+µ∙*1+µ∙p+Cbéér+µ∙*w.▐+▌*(+▌p+CO░ß╪+µ∙ Ö+ò Ö&¼T (är+╡*ü+P$ó`r+╩+µ╓ò$h+µ j+Θrh*h.ñ+Φrh+▌$íééééwh*8░ß╪ç Öh Ö.¬&¼ß!░9?h▒h╪▒h≥9?%+bh$╕r+╡*$\ ß╪+╡ Öç Ö    ▒\ .¬&¼ß$$ GGÇΩ
  633. MJ\rY¥G.£çæ*rG*╥*ééw.ûGµ╓*$wGµ╓ò*¼äw.½Gµ╓ò¢*véw.Gµ╓ò¢*@w.½.Gµ╓ò¢*ÜÖÖ?sGµ jG▐éééws*?░ß╪ç Ös Ö½└?.¬&¼ß!░9?s▒s╪▒s≥9?%ÜÖÖ?Ééééw.ñGα*rG╡*H░ß╪ç ÖGα Ö½└?.¬&¼ß-.ñGαpGCÜÖÖ?F.▐Gµ∙xéééééwF*rG╡*FpGCûF≥F≈?░ß╪ç ÖF Ö½═╠î?.¬&¼ßGbFÜÖÖ?½╥⌠.â║▄└? GpÇ▌
  634. QL `Cδ    ∙p.£çæ&rp*(qw.ûpµ╓*Lpµ╓òjpµ jpwj*Lj-L éé░9?L▒L╪▒j≥9?%&ärp╡*j-▀    QrL*Lpµ╓òQrL*(ôéü-L 1ärL¢*üL¢(⌠äw.ñL*½éäw.½L¢*@éw.L¢*%w.½.L¢*L░█99pµ╓ █Γ╪ç ÖL Öfff?b╫ç Öç P⌠░ß╪L Öb.¬&¼ßcaCBL Öb'⌠rcLp╩c'( GiÇ╛E!ô8╛/a9 Ma102wa*aE(5a GOjV┐╠1ra*°j°j°(Gÿap %'Hjú¡wH*}w.H*Ñs Ñ ûù Φ¡HHú[╟Ös ap (' G∩TOb&Γ5&ééÜ9:╜9:$w.ûçæ* w.┌ç█▐*i.┌ç█▐▀P çæ&wi*J 99çæ █iiß&wi*éééér.Ωi▌*wiò*väw.½iò¢*Réw.iò¢*.w.½.iò¢*#iò¢`'8░█J Γ╪iò Öç Öfff?i╩çi q
  635. çiiπ╨∩O GHÇjÇσnZ
  636. ╙╖éé-µ
  637. w.¬&¼ε*ïäw.½.¬&¼ε¢*`éw..¬&¼ε¢*5w.½..¬&¼ε¢*'╣ééwç*wç█*wç█▐*jÿ═╣wj*óéwjò*wjò¢*╨éw.½jò¢*(.½jò¢R.½jò¢qnm-lóóééw.jò¢*.w.½.jò¢*6.½.jò¢R.½.jò¢qnm-ljj╠ σnm-l G_W\Mx     ⌐tPCG\ÿ■╟w\*wß╪\ Öç Ö░é░wt▒w½z∩9?,J\tß╪\ Öç Ö\\∙wJ*^╫J Ö╒»z─J─#Ç?K^╫ç Ö╒z─#└?6╨s6╨9P╪^ç Ö]az ^sÖr]* ┬w]æ*]æada  ^sd n]dHçæeçæújwe*a.eSwa*jeeú*öra*a.ç  ìwa*R%ûR76a@R6a@$ ]R67a@ÑRª:rdú*dúaìedúyweú*eeúNeúa7ZZ]q! G╧PY4'VY¼╒\$ Gi
  638. Xr a∩_8r ╣t½r 9?@\▓t9?%╣çæΣttM G╒|XOa¬|º7fÑ{ä│çæΣ9?É|f╫,
  639. ù{'tù{'q! z|f-╔'t9?Éz╫,
  640.  GÇ╬V^`<É V^╒ GΩ_Uh«∩G          Ç≤Z^[KçG!          ╩k RF&&ü╩k (V.âk  GÇ@Çd
  641. bh \Ax+Üh ,ed
  642. h c` G Ed[',F╢-╔E [%rû[7Zhär[Z*ÿ[Z▒%AZ[&ª[Ñ[ïû7ZfE││wç*çε,**╞ G╛g Q!
  643. öf╛Qÿ░╟cwQ*I    .QLwI    *cQQ≥# GjjZ $₧ -╔ ¢éééé░«9?ç▒ç╪9?,dwçæ╡*%▒çæΣ9?É,@
  644. ░├ÜÖ>P' G╧cfz    ╒ GgÇâhÇÇ╬ed`┼*!dæ-▀╒ G╛uN!z╛/┼ îNvuééw«N*wN «$w«N╥ ╧╥7ff«N10 GÇ╤    im\"¡p├9Sg  G nÉoÉápÉáÇ@≤lr[9íG!          ╒    a J,ZºñRa I.âa H.I  JrH* íHEg I    "EHI█fIs GÇsÇ₧Uftam.)r▀SkaarjPack.Invasion ì'*(' G «├S    kl6wú*úaW.k   wW*P% ûP7W9r6MPW9▌X6EPW9═rX*AW9P&ªPEX╞AW9P&-P ' ÑPH:rE*ES    Eà▌kbaEk ".b xX.bbL.àa▌k "äéé-⌡    wX*X-2S    -qb k-P XNb Gì«bÇÄφ{}/m:/wç*╖ç▄└?çr-╔( G╒X'ó4╢ç▄└?ç q$tI-╔' GΩ~zh6εG          ÇY
  645. R cΩ6Y
  646. R '1éw.─R *-╔'( GEB'h*!éü-╔çe
  647.  E GΩwA:°o╒-╟ D%WûD7²╕╒6╙D²╥ÑDd v!-α' GDÇjEZie"░çæΣ9?, åé-╔Närçæ╡*/üçæbçæ╡'bbéééééééü-╔wçæ╡*wç¢*▒ç¢╥?%ùçæ╡▒,F-çæbçæ╡P
  648. ░├333?' G╪@Dg yⁿ G           ╬ N JP½pmRN f.âN òéw.ûfæ*%w.▀ .ûfæ╦*òéwΦ*üΦ-╟Φ s ≡Aºû9:╜9:$ ╣üe f m δfS%bûS7²▌6╙S²R*Vfú»wV*ÿärV╞6╙S²Aéw.V*/r.V╞6╙S²R.àV»VVú╠wR*RJXXÿ░ M
  649. fR.àlfXwR*R Q fXù6╫S²%R:6╫S²%ÑS╤ff GàφG}Kÿ"wm*ma-╔( GpHJ M5╘L.wm*ma**m]m*J çæbK ç Öç a ╫J  Ö# B»w.╧ç*.╧ç  K éwç█*wç█▐*L ç█▐÷ç /L  ╟─ Ç?(çb ((q! Gi
  650. IH %éT8H ╣~½H 9?@Q▓~9?%╣çæΣ~M G╒CXama Lç ç Öç █ma*çééwç█*wç█▐*$Üç█▐÷&C%ûC7%m┴·6┬C%m┴· ═φÑCú-╔'~9?@ GτD v$~\érd    ╨ w.`    ¢*.`    ¢WD 
  651. ~
  652. d    τD `    
  653. ~
  654. d     GΩpFhOßG          jmZÇ -╔ ²ééä░«9?ç▒ç╪9?,F9éw.£çæ*.£çæZ Närçæ╡*/üçæbçæ╡0ä▒çæΣ9?É,@P' GφN}8ôa(-╔( G╒OX2Ha?'-╔' G∞\%╥ßç σ9?%@@ \ÿ═°w\*ßéééééw\ò*w\òçù\ò▒% ü\cçæ1░ß╪\ò Öç Öy)b$\ò Öç Öb    au ç Ö9P╪\ò Öç ÖÅwb    *b     ⌠\ò Ö\ò9vvç\ò Ö# fÑ|
  655. \\╠9@Æ@É|
  656. , G▄JQr %╒G          ╟ Rt╘öääär∞*∞-┬    rç*[ér.⌠ç¢*@är.ç¢*%r.⌠.ç¢*q! ╤ä▓ß╪∞ ÖÖ«½?²
  657. ∞∩"▓█σ╪∞ ÖÖ9?%+w.⌠ç¢*.⌠ç¢G ╚╚éw.⌠.ç¢*,.⌠.ç¢-φ.⌠.ç¢-φ(ç¢b%q!  GÇ÷
  658. s    ┬■8éÜ9:╜9:$ärç*rçæ*a åÜ9:ÿ╫9:$δ╫ç Ö╒ç╔#Ç? £rç*a δOéç_
  659. wç¢*≤ç¢Qa ç Ö£ç¢t
  660. s
  661. r
  662. a ╫╫╫╫ç Öç R ç¢╒6 Ωt
  663. ╒½ç¢└6╦Ωs
  664. ╒6≥Ωr
  665. ┌w.┬ç¢*┌.┬ç¢ ▐LLéw.ç¢*%w.┬.ç¢*┌.┬.ç¢ ▐|.╧ç⌡    ░éw|*$░»ÿ┌|ε 9?&a | @ a ╫╫ç Ö╒ç╔#Ç?╘Γ╪┌ç Ö╚AÜ9:╜9:$δÖe    Γ╪┌Öa+9Pe    ⌠┌nwµ*µa ╪┌╘e     A┐Ü9:≡9:$ò┤Γ Ba├ `⌡⌠«Γ½s╚BzC╚B╩` BΣÜ9:≡9:$q!x √√Ü9:≡9:$q!y  GΩUMh;└G          jyZ    º,"░çæΣ9?, åé-╔Närçæ╡*/üçæbçæ╡'))éééééü-╔wçæ╡*%ûçæ╡▒,F-çæbçæ╡P
  666. ░├333?' GφW}·^Swç*ç/p
  667. Ç┐'Swçæ*çæ-≡(-╔( G╒X7Zçæ-≡'ç,/p
  668. ¼çæΣ9?@'-╔' GΩYVh$┼G          jp
  669. Zq"░çæΣ9?, åé-╔Närçæ╡*/üçæbçæ╡'éééééü-╔wçæ╡*ûç▒,F-çæbçæ╡P
  670. ░├333?' Gφ\}bÅjéwç*wçæ*çoé$jw.ûçæ*çæqç└
  671. -╔(îwi    *i    ] Gâ╒XNj5w.ûçæ*çæq!K Cçoé$-╔'i    ça Hç G╛h! ís╛`ÿc2w`*a@'pΦAwarenessEnemyList spawned with no local PlayerController! G∞]t▒G7h%=är`ò*ÿ`ò▒% xw.ñ`ò*l
  672. .ñ`òΩ/a9 âtCBéééwt`òwtl
  673. 9äÜtC, !¢tC`C>är.ñt*,é.ñt-■rtw *7hht10 GΩ`Zh&ÿG          ji    ZeK┐ééü-╔A▒»6≥çæα Ö9?,d6≥ç Öb▒çæΣ¼½9?,ß╪çæα Öç Öç┬'HHéé-╔A░»6≥çæα Ö9?,d6≥ç Ö1üb$╫ç Ö#H├ç Ö' GÇ@╪f}`H2w.â║*'çε%**╞║
  674. a╓$ G╛X!
  675. ≥aÇ?'╛ G∞c># är.å║*    rX*a G╤dN¥ wX*Xa╤ GΣgIMX╜-╔q!ΣI GY
  676. ]
  677. t
  678. OI█ç}σ99çæ _σ╫╘σ«█ç σσ9?⌠#HCσç █]
  679. ^
  680. JM╪╫ç Ö╒½═╠L?ç∩]
  681. ╒½?ç∩^
  682.  G┬╛I!m+"Ü9:ÿ╫9:$a A(╛ GΩhj±°#Ü9:╜9:$r`*a ââr`*;ÜI% /aA ┴`HCut┤`┘`┘u10âr`* ▌` σ«Ç?½═╠L>9?I╢`ß«Ç?½═╠L>9?I╢`┘«Ç?½═╠L>9?Ia G    Ç∞i2Äa GÇkÇjmP$kçúzwk*Jéw.k*.k-╔(ÑX
  683. cùX
  684. Φzkkú' GσUS
  685. Ä>0é■S
  686. !ew.αçæ*ZσS
  687.  GÇpÇ₧╪    \ ╙%Nò-ⁿéwΦ*/ä¢9:Φ╧9:$üΦa/![ GKYjGk6érç*w.å║*ç.å║òA-≥ -≥'/a8 äNYÖ_^ééééwNwNçÜ9:N╜9:$üNa/!c ÿäääär.âN*r.■ÿ░*"▒.■ÿ░Θ9?%r.âNæ**ü.âNæc.å║c╪N ÖÖ{    ⌡Ç?ßcc╓c{    z    »Ç?⌡¼»{    N∩hΦw.âN*.âN┼Q
  688. Nmv9D½z    Oç╪N Ö╒½?«N─N∩c╒½z    RcQ
  689. 10-≥( G╞ vrJ╫ú┴` b9w.δΦ*Φ.δΦ Fa÷Φ\ Ç? ΦQ$â-╫    o STUCK IN FALLBACK!ΦpΦ STUCK IN FALLBACK! U     L  G        ¿╙ X─τô╡*ò-ⁿ(ò-⌠    'ò-≤    'òq '╕╨    ÜÖ>Ééw*wò*DòzD G≥wuY ═╓G          ╟}N╕ 7w╖*╖a.wm*ma╟ G[Çå╛s!6é0'¢9:ÿ╫9:$Ka P╛ G╤yN>& wK*Ka╤ GzT FÆQ$éwç*ùç▒%a[a °[ahHC[BaV
  690. a O-╟'åwK*KabÇ?a ·    j½h>a?j½hÜÖÖ>a═╠L>j½h33≤>a═╠L>j½hff&?a═╠L>j½h33S?a═╠L>jh:w[*[aa L  G        @▐
  691. }    w ¿úé}    a/!t    }    -Φ K.â}    ΦärK¢*géüK¢a/!yFär.K¢*+ü.K¢a/!yµw.ñK*Kp╫C(C.½K¢3rC*C.½.K¢E.¬CR$eéééwE*wEε*wEεK
  692. ûB
  693. ,▓rEε╫(C.½Eε¢?rC*1w.Eε¢*C.½.Eε¢?rC*eE.¬CR$ÑB
  694. Oé╘░-╞!ÜKC╫C( G╬ C
  695. O ¡üA"ärC
  696. rC
  697. X >r[╡╡*G GKÇ@IûGää▒ß╪ò Öò Ö9?ΦL▒ßò σ½òτ    ò╔übòΦpFollow Master ╖⌡a ò(ò-±    w╡*q!Jq!W  ΦpWander or Camp at 9Uÿ┌N' G╥ AQ q│╫-╟ (ΦpWhatToDoNext at 9Uÿ┌erò*ΦpA WhatToDoNext with no pawn ¼é-▐    .«ò-└ ò Θ #q!C
  698.  ╘Ü9:ò╧9:$òb
  699. ·éÜ9:ò╧9:$S  8éw╡*(äÿ╡▒%r╡æ*╡*Vär╡*    üPGjw╡*R ╘öéw*wò*I╘ΦpWhatToDoNext Wander or Camp at 9Uÿ┌N' G╠ E    ^ e{ äKéér╡*$äû╚ ,╡╦ ÿ┌ O    Q$ür╡    ╔ ╡─ ÿ┌-┼ ' GÇä≤
  700. |D
  701. h3(% éwε*    ü-π,rεF
  702. ( yεú─wy*aw.½y*─¡¡éw.y*w.½.y*y.y─yyú@ wy*.¬.½yR$hD
  703. F
  704. í.½y°D
  705.  (' GBÇ╤ GDE aP  GyÇ≡Ka\Wò
  706. ╛≡a-a╗ééw.╩aæ*r.aæ*6äraæ╡ò
  707. ░├?.╩aæ%\òaæbò G⌠
  708. CK
  709. ST⌐    éwε*    ü-πwεN
  710. |εú┐w|*\w.½|*┐¿¿éw.|*w.½.|*|.|┐||ú;w|*.¬.½|R$SK
  711. N
  712. ó.½|°K
  713.  Gw    ÇIÉ┬ N[O;BªJääär[*ÿ[▒%r[æ*r[╡(╩éw*oäéwò*r[ò?éw.[æ*$r.[æ(√ä[æ c üb[(r╡*\[b['w    ß╪╡ Öò Ö[░w    òε    (í▒w    ½ÜÖ┘?ß╪[ Öò Ö\[b['( Gε
  714. iF ZD═
  715. ijQéw.⌠┴*    wD*.⌠┴t .≈DD GpÇ├ PMG$ñ|q    PCG_ÿ═Mw_*6ééééééw_    w_w_ò*-är._*w._ü_ c1░ß╪_ò Öò Öq    b_òp_òq    ß╪_ò Öò Ö__╠^rp╡(wwp*\p''( GDÇ┴mH    εîmëéw╖*w╖▐*╖a á╖⌡¿p╖⌡'sòA╖-⌠'╖-▄'╖▐╖▐╖╓$ò█╖ò-╚'ëû╖▐÷,ma mòmZ 9=╖▐÷ë¢9:ÿ╫9:$m G≤Vq '∩G          └ q
  716. W│╛¬w.£╫æ*╫æ╩*[-≈
  717. ╫æ α⌡
  718. å╫æ α.┬┴ ·
  719. 9P╪╫æ αq
  720. ╗8Wq
  721. z G╬n
  722. Jù+%n
  723.  ╟    (ùº,v&n
  724.  ╚     G ╒ t]%╤éwç*wç¢*_w.½ç¢*.½ç¢ tß╤╤éw.ç¢*%w.½.ç¢*.½.ç¢ tß"w╚*ß
  725. $%╚° ╪ "
  726. $
  727.   %╚° ╠    " GÇ∩╚ RXUz╦
  728. *lÜ9:┴╜9:$<r±*±~
  729.  K-┼ '-╫
  730. (▄
  731. ╘┌KÇ>'f ┴  GÇY    @─X∞    @─Xτ}[w
  732. ⁿJ(' G\êαÇΩ^W!|WT%┴-└ƒ%┴√╫7%┴┴%┴√v! G`ZÆ'Ü9:ÿ╫9:$⌡└@ÅÅ▒╫Ç?╢6² 6÷%┴■╫╢6■ 6÷%┴■╫╢%┴τ ╫ G}
  733.     @─{τΘCù(Θ%Ü9:ÿ╫9:$Z Gµs} 2/µC-s't |}
  734.  G∞c:%a G÷h]1ñ3÷-M '0Ü9:ÿ╫9:$a@@( Gaew╥ⁿJ(' GfêαÇd_    b<j+z_    -s't |}
  735. gK-st |_    _t ]
  736. _    -s( GiF*ûêça!A %┴ ²╪6≈ç 0╦!D ç Ö&┴ ²╪6≈ç 0╦!C ç Ö G▐ jp ""&-M ]##wç*F G╛k!YH╛E¢9:ÿ╫9:$%┴ⁿ├&┴ⁿ├ G╚M r ¡9╚rç*a66¢9:ÿ╫9:$F GÇ@╠nEaûG^E
  737.  MaxArtifacts%C    
  738. :ArtifactDelay&C    
  739. XMaxHeldArtifacts,C    
  740.    G ╬ov|ìûα╬vv;b└UT2004RPGMaxArtifactsÑW    B    $$
  741. Text2;0:25v=b└UT2004RPGArtifactDelayÑW    B    $$
  742. Text3;1:100v?b└UT2004RPGMaxHeldArtifactsÑW    B    $$
  743. Text2;0:99 G pN    E^ƒJäÿ░a/!]R    9Jÿ░▐NumMonsters\ÿR    7l \ ºR    |ÿ═Yw|*Bééw|ò*|òa/!Yü|a/!|;Ö[ \ 8r.|òú*CaN    mC|òYBÑ[ ||╠}\wC*üwC*7llCGcaN    m∞ º7@@ Ö╟rc* cZ
  744. c╩c▄    c-⌡'cúaN    m7ll.cú G∞ql2(#P%EûP7l;rPl*AlP&ªPÑPWÖ7lF âÖ7l7mlº7mEl  ûb ,·lº7mP%÷ûP7l∞rPl╞lm-L    'P7lÑPñü-L    El -L    (Ñb â Gτ rI
  745. *╡a9?G' G╛GO!│╛K%uûK7mkärKm*&üKmaÿ░AmK&ªKÑKééùG%    ùF%
  746. ù7m%Oÿ■wO*∙éw.ΣO*üOa/!|7@@.ΣOOO∙»a GΣì├e}╦½├efE .╟,╓F .╟,╓O .╟,╓V .╟,╓X .╟,╓` .╟,╓i .╟,╓A.Φ,╓ GÇΦ}wH ▌╨B1tΦ Gvzw ÇⁿJ(' G{êαÇyla6å1"w*n** -l G∞C0₧ù9┐╔ÿ░-╥
  747. ?w.╟ÿ░╚╬*0ÿ═<w0*%éw0╖*:r0╖▐ÿ░╚╬b0%wb*íbE1k1"Eb0╖00╠Z╜╜éw.áÿ░╚╬*7w.å.áÿ░╚╬║*b.å.áÿ░╚╬║╜wb*íbE1k19Eb.áÿ░╚╬τpp¿.áÿ░╚╬⌡won the match, awarded 9S1k EXP0ÿ═╜w0*ªw.£0*b0ªwb*v%ûv1TíbEb&1Eb*Ñv1~.£0b00╠╤a(╝╝Üÿ░╨,0ÿ═╝w0*Ñ0-╧m0úÑwm*Äééw.m*wm║0wm║*.mAÑmmú,00╠√ G|wA.nⁿ%HUT2004RPG.RPGPlayerLevelsMenuEj .dⁿlDbK' G@êαÇ~oqNαeonE o9S6z@F o9S6H@O o9S6G@V o9S6U@X o9S6X@` o9S6`@i o9S6=@9ÿ6=@%`?x:%εû:,ΣéÖ:I%:Ö9J.╟ÆO:╓S :IÆ[:╓b(Æ:╓b(Ñ:Fm.ÿ▌ g mp@A└] :%1û:7A]    {%û{76@√r:A{6@]{{76@Ñ{åÜ]    v%=v]67@πÖv:AP A└jzppp¿:A`(Current Level: 9Sv [MAX]):A9S}'}:Amváÿ}%A└ozppp¿:A`(Current Level: 9Sv, Can't Buy):A9S}'A└uzpppp¿:A`(Current Level: 9Sv, Cost: 9S}):A9S}Ñ:[DAÿ▌ km GeÇσENhïÿ7▄╛wNæ*NNæ'╛wN*e%╛ûe76N@┤e6N@3hNB A @ e67N@'ÑeAσNB A @  G]ǵGQ|@G.╩-]µQQ@YLwQæ*Q棣éwQ╨*wQ╨æ*Q╨æ╣w*A'éwA*hü-Φ
  748. O%hûO76A@^O6A@9|QQ@YO67A@-]-]'ÑO▀éü-]AAì-]'4éw.Q*w.Q*ya gQyZ .QyJ    Q▒yG    @y Y'┼w.Qæ*äw.█ÿ░*Ñ.█ÿ░╩ ┼ééwQ*wQQQ-╧Vw.QæQÿ░·_QQæR.ßQ╖VwR*ÑR▀R M @ya gQyJ    Q▒yG    @y YQæa'( GbÇτJcm& *1wcæ*bcæwb*Öw.├Y*.├Y±9D½9?.├Y±«Ç?¼9?6`b@╚Be%ûe76b@e6b@.mcYa e67b@'ÑeáτcYa  G^ÇA|kÅ╥¥i[NûiÆ[BDri╓|tiNÑi ót[`/u9J.πÆt╓²9=t' G├Lqo▓'mnääär@*    r.*r@æ*r.æ*├q6@.YICw.@æéww*ww*╫rw.æ6qwc.æƒ6.■ÿ░Θ┴ääC-─Ö6ΦVéééw.«@*r.@æ*w.«.*r..æ*├q6@.YIC ÿ6%6├q6@.YIC ÿ6%6d.æEwd*Rdj@æ~wj*^j+ärR*    r^*Zÿ░a/!]]Æ9Jÿ░▐WaveNum&Wéé1-M    ù71F%w1x*í]·%9D½9?ô1x ,1_ òÄw1x*]1x ò]&`érR*Däéw.«.*r..æ*w.┘.æ*R.ÿ▌ g R-Éæ],RR5R-R ]+ér^*Däéw.«@*r.@æ*w.┘@æ*^.ÿ▌ g ^-Éæ],R^5^-^ ]ÆrR*τpInstigatedData not found for .A├q6@.YIC÷r^*τpInjuredData not found for @A├q6@.YICDérC τ
  749.     wd*ÑRE1ER.█í69D»½9?6«Ç?½9?R-
  750. ╫ú;½9?6«Ç?½9?^5
  751. ╫ú;»û6&6&■w..¢*..¢W6@YICéwd*b%ûb7RbR4t6@.IC'bR%Ñbƒÿ▌ kR#wj*b% ûb7^b^4t6@.IC(b^%Ñb▒@ÿ▌ k^├q6@.YIC GiÇΣMoN ₧¼₧ïéwo*wo║*E.åo║ïwE*íEEJ1EEoΣoJ GπQ!_3~Åπ!"╕w"ò*p"òú╕wp*y pú¬w.p*y99"ò _y╫╘y«█"ò σy9?⌠#HC▀y╘ⁿ9?Æ,dº,·p σy"ò(σ"ò █@BupkM╪╫"ò Ö╒½═╠L?"ò∩@╒½?"ò∩Bpy A╥är!*    r"* éw"ò*"òa/!Yw 9J"ò▐ScoringValueK!wK*4KY%╩ûY74Y4%_!"'Y4%ÑYjí4Ew 1E4!╖ └ääär!"ü"-╧ü!-╧|éééw!╖*w!╖▐*w"╖*1r!╖▐"╖▐ K! rK*τpKillerData not found for !A 4KK"lrK*τpKilledData not found for "A YKY%τûY74Y4%_!"'Y4%ÑYçY%NûY7YYY%_!"(YY%ÑYεT·%ôY 4 ¥ùT%T9D¼9?ÉTTk /éùôY 4 %6ùTÉôY 4 Y&TÉôY 4 Y&í4EÆT&óéw.∙!*ù.∙!╥%í4E∙9D┬9?.∙!╥,dééw.α!*w!ò*w!òú*!òú !mÇéw!ò*&┤¡9?!òd9?,9?%í4E9D┬9?Ææ!òd,&σéw"ò*ù"òd,í4EæÉ"òd,,jééü-r w.ß!╖*.ß!╖-▌í4EÉ,·ôY 4 &-r '1E4!╖ GIr`ísEr[BûrÆ[Br╓^$Ñr  GVÇN]x⌐-][Bû]Æ[B]╓^$Ñ] ]û]ÆB.π]╓≥ 6=@.π]╓\
  752. 
  753. ù9J.π]╓²6=@.π]╓n
  754. 6=@Ñ]M GUL1)╧VLúτwV*╨éw.V*Æäääü-v rV║LrV║LòHéw.ñLò*-rV║.ñLòΩ.VVVú╩wLò*VLò  ╩éwV*Æäääü-v rV║LrV║LòHéw.ñLò*-rV║.ñLòΩ.V* GPSD╣izO9JA└B aäÿO%ùO6=@,╓^$u,╓^$' GTêαOÇ╛1t ! ╥Zaÿ╠
  755. 'Qÿ░a/!{    /a0 ╪t Pt ≤%10╛ GRWk╞ó┐SA└Yⁿ$HUT2004RPG.RPGAbilityDescMenu.nⁿlΣ ÷ S`.nⁿl}|S^' GXêαSÇÇ@V[l╨K`,╓^$#GA└Y' G\êαÇZ^D┘°Rⁿ%HUT2004RPG.RPGResetConfirmPage.[ⁿlT' G_êαÇYÉî├Tt}ε├tsE⌠ Da G`ÉábÉáam^ûxcrm&╓b ⁿTc,╖ⁿJ(b J(sⁿJ(' G∩jpZêÜp%ag G b ÇÇΓdla ╘T* -l GgÇáⁿaiQÖ ═√ G Ç@kÉîlÉámÉá∩UWZ    sÜW%U G Ç@rÇ₧sÇÇpÉîM ÇtÉáÇvÉáOÇ£∩QSZ╟$ÜS%¿w g!w  G ÇΓÇ{ÉáÇâÇ}ÉáBÇàÇtDr6?     G!EÇñÇCGn:Θ     G!HÇñÇ@ÉKÇLÇâMÇâNǃOÇì»PÇÇ∙w Ivπ    n G SÇåTÇåUÇÇÇ@XÇâYÇåZÇì»[ǃ\Ç]ÇÇyÉá`ÇâaÇbÇcÇì»dÇÇ^ÉágÇâhÇöiÇjÇÇn ô<(ûn AÆ,dÉ,Æm &%9n m  G!∩q`Z,e.yfBÜ`%p¿H.y╩!bp¿K.y╩. G ÇΓÇEkZ ëó¢9:Z╜9:$ V    Z  WLwV    *V    aK    Za WZ "K    u
  756. ]K     Z G!mÇáⁿrpQE ═√ G ²HMuAMJéw.A    *w.A    *²MTW\A     G Q    Ç@^    ôE1äû^    A,ûû^    -,2%B^    ~ G!sÉîuÉáÇ} t>_ucü-p ▒éésÿ░a/!]wsò*sòa/!Y>>i½½9Lsò▐ScoringValue?9?n güäüsÿ░-╞êéééééw>*w>s    ws*w>╖*ws╖*1w>╖▐s╖▐ ╓éw.∙>*ù.∙>╥%>;i½½.≥>ÿ░┬?9?nXéw.═sò*!ù.═sò∩,>;i½½.≥>ÿ░┬?9?n÷ééÜ>╖▀&w.ß>╖*.ß>╖-▌>;i½½.≥>ÿ░┬?9?n`é>-╧s-╧>;i½½.≥>ÿ░÷?9?n G ∩|sZLKrz
  757. *Q    o-Q    z
  758. ⌡pppQ    c9Ss. G ÇΓzÇáⁿc{QF ═√ G \
  759. Ä8$û\
  760.  É,
  761. ÆZ
  762. &%5\
  763. Z
  764.  G!Éî~ÉáÇT}B@½;6ùbJ
  765. %*ûJ
  766. &a3ôa&8% G bÇ£ÉáCÉÇEAH
  767.  ƒR¢9:H
  768. ╜9:$ H
  769. Ω    ½ ╙⌡«Ç?½?9?` G!DÇû²Gu» G @
  770. ì.û@
  771. T,2%+@
  772. ] G!Ç@╠N_aⁿ▒å$_
  773. *SaveDuringGameInterval%F
  774. DStartingLevel&F
  775. `PointsPerLevel,F
  776. üLevelDiffExpGainDiv,F
  777. ÿEXPForWin,F
  778. ┤BotBonusLevels,F
  779. ╚bReset,F
  780. ΩWeaponModifierChance,F
  781. bMagicalStartingWeapons,F
  782. ,bNoUnidentified,    F
  783. RbAutoAdjustInvasionLevel,
  784. F
  785. xInvasionAutoAdjustFactor, F
  786. ₧MaxLevelupEffectStacking, F
  787. ┤StatCaps,F
  788. ╥InfiniteReqEXPOp,F
  789. ≤InfiniteReqEXPValue,F
  790. Levels,F
  791. Abilities,F
  792.    G ÇEI` aó¢9:`╜9:$ t    `  ^Lwt    *t    av    `a ^` "v    xZv     ` G!╬O;|αI}#╬;;Fb└UT2004RPGSaveDuringGameIntervalÑDB$$
  793. Text3;0:999;<b└UT2004RPGStartingLevelÑDB$$
  794. Text2;1:99;=b└UT2004RPGPointsPerLevelÑDB$$
  795. Text2;1:99;Lb└UT2004RPGLevelDiffExpGainDivÑDB$$
  796. Text5;0.001:100.0 ';9b└UT2004RPGEXPForWinÑDB$
  797. $
  798. Text3;0:999;=b└UT2004RPGBotBonusLevelsÑDB$$
  799. Text2;0:99;.b└UT2004RPGbResetÑDB$$
  800. Check;Fb└UT2004RPGWeaponModifierChanceÑDB$2$
  801. Text4;0.0:1.0;?b└UT2004RPGbMagicalStartingWeaponsÑDB$$
  802. Check;7b└UT2004RPGbNoUnidentifiedÑDB$$
  803. Check;@b└UT2004RPGbAutoAdjustInvasionLevelÑDB$$
  804. Check;Kb└UT2004RPGInvasionAutoAdjustFactorÑDB$$
  805. Text4;0.01:3.0;Jb└UT2004RPGMaxLevelupEffectStackingÑDB$$
  806. Text2;1:10 ';3b└UT2004RPGStatCapsÑDB$$Text ';Ab└UT2004RPGInfiniteReqEXPOpÑDB$$ Selectg ';Fb└UT2004RPGInfiniteReqEXPValueÑDB$$Text3;0:999 ';1b└UT2004RPGLevelsÑDB$$ Text ';4b└UT2004RPGAbilitiesÑDB$$Text ' M |; G ΓPN╓─|t7F%Γ G⌡QP Å@sF⌡76┼76┼Æ&6α6┼UT2004RPG Version6┘Ñ6┼ppp9Sæf ,
  807. .9S9D¡9?f 9?,
  808. 76┼Æ&6α6┼Starting Level6┘Ñ6┼9S]76┼Æ&6α6┼Stat Points Per Level6┘Ñ6┼9Sifÿ═ wf*⌠f-╧efú⌠we*▌w.e*╕q9?.e Ñx    eeúûff╠e*ùx    %q¼q9?x    76┼Æ&6α6┼Current Avg. Level6┘Ñ6┼p9UqùF%76┼Æ&6α6┼Highest Level Player6┘Ñ6┼pp¿T    (9SF)76┼Æ&6α6┼Magic Weapon Chance6┘Ñ6┼p9S9D½g9?,d%76┼Æ&6α6┼Magical Starting Weapons6┘Ñ6┼9T-c 76┼Æ&6α6┼Artifacts6┘Ñ6┼9Téù MF%ù MG%Cÿ░a/!]76┼Æ&6α6┼Auto Adjust Invasion Monster Level6┘Ñ6┼9T-M    C-M    76┼Æ&6α6┼Monster Adjustment Factor6┘Ñ6┼9U_  GSrtäKr6r%3ûr7FrFbÑr Guìíìäääääûua,ûu3,ûuA,iûu-,ûu5,ûuT,%₧uQ G!∞W}r    t GxÇÇERW
  809.  °L$Ü9:W
  810. ÿ╫9:$ |.ûW
  811. æJr|* D%╨ûD7|╦╠╞w.AD|╦╠*y.AD|╦╠╨ÑDQ5ry*y.A|╦▄4jUT2004RPG.AwarenessInteraction|╦y} L G!ΩXTM┌lBéü-d ¢9:ÿ╫9:$xÿcwx*x╦▄.jUT2004RPG.RPGInteractionx╦w.╨x╦²*.╨x╦² o P.╨x╦² o N-d 'v!?Ü9:╜9:$K%┬ûK7#drK#*A#K&ªK╕╕üK#Aÿ░7__K#A#K&ªKÑK-K%5ûK7_+K_Aÿ░7##K_A_K&ªKÑK╔bv! G∞ZNt &∙h╞rNúTwr*M.r=wM*TrrúarM* s    MMaO%╞ûO7F╝rOFs    AFO&╞ÑOê╫ws    x x*lÿ═├wl*¼l-╧rlú¼wr*òéw.r*:ärx*-û.r x x.rrrú#ll╠≥ GpÇì[FEµfƒû░├gp    ºt p%ûûp7góp    6u pgîéûp    %%6x pgKFG6x pgÑp   G]CEπMa±ÑéÖCEC&ûw'ÑwÑC íCióCEC&╗ù7C C&C gI¢w%Üg%C&Æô7&ÉwôC ô7&FíC&9D¼½9?C&9?w╚BgC&ô7&]we*]ééÿwPw.åe║* w.åe║ò*x.åe║ò$a s.åe║òx;┘¼.åe║ò∩x∩xZóùC FT    9WCⁿFC bεéùw%    we*ÿ░f j
  812. C e Gm
  813. É.ûm
  814. 5,2%+m
  815. @ G!^f~ ^I1 hw    k*Tù    k        K     [    '%╛û'7    ┤r'        k['╛Ñ'fΓÜ[    [7    ó        k        K[        kÑ[    %    k* t,e,c&b,M,v&z,╤▒fΘÇ>ít,íb,ív,■░fε9?%ÑtÑMív,rfΦ ■    ít,U▒f╬fff?íe,íc,íM,╢ï▒f╬═╠╠>íe,íc,íM,╢╢▒f╬9?%ÑeÑcÑMπ░fµ9?%ÑeÑcíM,░fδ9?%íe,íc,íM,==▒fδ9?%íb,Ñv\û     ,ªz╧J%'%¿û'7    %íJ'    %Ñ'j╧ûJæô     ,,
  816. Ñz²Ö    T,2v·9D¼9?v└?&Ö    A,»ác└?NéÖ%%Ö    a%t%~éÖ&%Ö    3&e%░éÖ,%Ö    A,c%ΓéÖ,%Ö    -,b%éÖ,%Ö    5,M%FéÖ,%Ö    T,v%SºÆÆÆÆÆÆtecbMvz-j    (╝ûStí    a∙    ND■ûSÆteí    3É∙    N,DCûSÆÆtecí    A∙    NDÅûSÆÆÆtecbí    -∙    NDΓûSÆÆÆÆtecbMí    5∙    ND<ûSÆÆÆÆÆtecbMví    T∙    ND-j    'wü-j    ó    ∙    N. V%'%~û'7#-r(J%BûJ7    8r'#J    -r'íV'#$@f    J    %J7    ÑJñtü-ríV'#@f    %Ñ'àïÜV% SºVV%'%l
  817. û'7#-r(J%║    ûJ7    ░    r'#J    -r'íV'#$@f    J    %¢    ûSV    k'#    KJ    %[JJ7    ÑJ┼P
  818. ü-ríV'#@f    %P
  819. ûSV    k'#    K%[7    [    %%b
  820. ûSVl
  821. Ñ'ª. ÿ    k        K    ó        k        K[        kÑ[    %    k* Gciτ█@
  822. 3Ö%%a∙a%fÖ&%3∙3&¢Ö,%A∙A,╨Ö,%-∙-,Ö,%5∙5,:Ö,%T∙T,írÆÆÆa-5Tíræ3,írôA,dv%╔ûv7-h    (g%2ûg7#(rvg#-h    'g7#Ñgα£-h    g%Öûgv%írvgÑgB┐g%ûgv%ívgÑgúτp¿¿¿Ability9Vvwas in9Wⁿ's data but is not an available ability - removed (stat points refunded)Av&A%v&ªvÑv╕ír¢rÉô &iíôÉô &irτppppppppp9Wⁿ had 9Sr total stat points at Level 9S , should be 9SÉô &i, PointsAvailable changed by 9SôÉô &ir to compensate GÇM\at│▒:äää-mrn Grg    }    r}* _ûI ,Z    ⌐½Ç>9?I jZ    └┐};v%g    } Ö╘╘rg    █
  823. Z     G G g    Ç°e@C║N;qwNæ*WNæúqwW*M.WZwM*qWWú1¢rM*M.N  ╤wM*M n@M r@ΦpCouldn't find RPGStatsInv for NAW@úawW*Jw.W*7LL.WWWúI%εûI7L░rIL@┌N┌IL@_ILIL NÑIh°@N G≈g<Dh4-qw<æ*N<æúqwN*Z.NZwZ*qNNú1¢rZ*Z.F  ²wZ*w.²<─*A.²<─╓ a    .²<─╫ .A<▒a    <≥@ ¼9?<▒<╪<╪9?ÆA6HZ@<▒9D½@ <╪<≥½a    ¼<╪9?AZ r<Z q<0ΦpCouldn't find RPGStatsInv for FANFúìwN*vw.N*7PP.NNNúDQ%ûQ7P▄rQPF┌<┌QPF_QPQP <ÑQö≈<F Gà∞k~∞g!╫    ∞@äræ*üæ-╧ ?.  ⁿw?*≈w?ç*$%≈û$76?@$6?@- ?ç$67?@Ñ$à YIæúYwI*?.IBw?*YIIú{w?*?*█⌡  çÜ % ]Éiô]&A,d$ù7]&]°¢w%}Üg%&Æô7&Éwô ô7&⌡&ô7&$ô7&⌡û$]í&9D¼½9?&9?w╚BÑ$¬&ô7&^w.ûæ*.ûæ╪rBot7FF∙äéw.ûæ*0ü|.ûæ╪1éw.£æ*{BotEw.ûæ*.ûæ  M%ÿ░9pæp█⌡_Imposter'∞|9Wⁿ█⌡ÿ░pæ9SºΦ²'~ 7FFi¼éù%w.£æ*$%~.£æÑ$Lääÿ%wk*ù$Φσärx*û x x½r?*?a  "Oræú*æú?½IæúùwIú*IIúlIú??I?@(? ? ▓▒g9?%$%Iú¥wI*méw.àI*r.I*7QQ.àIÑ$åù$Φ¥IIú)$%Üû$7Q\    $Q╞$Qa-c TaE\     ";Ta  "Tx*T(La\     "-qT Ñ$ñæj
  824. ▒Æ▒3╪«╪9?3┬«╪»┬╪æ°9?A$%╘    û$7$ $%Ñ$z     GdÇäejAÅ▓jg9?%(' G jÇ₧rp├|πzQ *[    ä▀Q  ìzw[    *da[    ║· Ö █ôa/![fw.ö·*.ö·φ.ödNw.öd*.öd·.ö·d@a ╫d Ö╒»d──#Ç?.ö·*ôôda/![.öd╩▐wd*dδδd··d* GÇiU 1.ûU a,2%+U i G!}ÇnÇÇtm{dü{çN D«Ç?½?9?hw.{fww*w╥¼w╥Dw╧¼w╧Dw╓¼w╓Dw╞½w╞Dw╒½w╒D{╥¼{╥D{╧¼{╧D{╓¼{╓D{╞½{╞D{╒½{╒D G!┌tv
  825. pê!;éw.ª*r.┬ *.ª≤τ;▒g9?%Æéw.╣*r.^*D.^pUT2004RPG.RPGWeaponLockeréwD*Da  ÖDS    D².╣²D-╨.╣-╨}%éû}7D²xr6╙}D² ½6╙}D² pÑ}q!l
  826. 3éw.┤*r.A*[.ApUT2004RPG.RPGWeaponPickup1w[*[W[Q[Y┤╞(yw.┼*yr.┼² ½.┼² p;w.à*}%;û}.à,∩r}.àß Γ}.àß x11r}.àß ≡}.àß GÑ}É│a/!Y.â╪9?.â▒T a r     "T .âéééw.å*ù MG%ù MF%ù7 Mm%.å-╚'' G@╛Xw!6π
  827. wa Lw1wRiwk Fârÿ░·*ÿ░·w⌐ÿ░· I w)-{ U     ┌ UT2004RPG @BO%ûO7U    Y *OU      Y bÑO▀-{ (bO%aûO7gít 6u OgÑO0a Mà▒9?N a9?N 'Üû]&]&bNÉi,/a9 öl éél-π ül-Γ üR
  828. lla10╛ GXhÜî.äûh3,╚ûh5,d%K%xûK7hnrKh y %ÑK5hU G!ììKÇuvW|F≡6░6≥W Ö6█W Σ╨(üäWa/!U1éwW╨*W╨a/!U(/äW-∩    Wa/!n    u.ñW-éééwu*üu-├
  829. üu-╧    wuΩ*uΩBD~}(p.}W  }[wp*(ÿwW╨*W▒&W╨{ 'pWa }W "pw{p W' G ÇΩ}BYwB* G╤@LN9ÿUL%DûL7~ÿ▌kL~ÑL7~%╤ GCJ[$└τ╨Ü7~%-┬ 7~7B°J%╨ûJ7B°J~.δÿ▌ g δJ~≤9:Z zJ~∙JB°ÑJ4B°~ GBÇpÇ─Dv 9─v! G╛B!»'╛B.«║$rB*a Gb{yh>¢1[ .}y  },w[ *(' G δHÇIÇJÇì»KÇ[ Ç┌NX╟~k@éw *w n* nw* *hwS*StS*b╓L GewAçwa/!](' G ┼    R
  830. z oN╨
  831. îäär╕╝ò*$ÿ╕╝ò▒%Aéw╕╝√*"╕╝√-√ ¥r *k¬r * ╔wQ*
  832. █Q
  833. τ¼
  834. ⌠9?
  835. ≡¼
  836. ▄9?
  837. a╓Level:uhu½C
  838. τ
  839. ≈$
  840. Θo
  841. C└»»
  842. ⌠u9?&»½
  843. ▄@?½hp@
  844. Æa╥ ┌¼½u9?6S @9?6B @½@A
  845. ≡QDπC¼½┴├9?6S @9?6B @Bτäär╕╝╖*$r╕╝╖▐*-¢╕╝╖▐÷%
  846. Θs√
  847. Θp
  848. C└»»
  849. ⌠u9?&»½
  850. ▄@?½hp@
  851. 6a╥ ┌u½@A
  852. ≡QDπC┴├B
  853. Θi 
  854. C└»»
  855. ⌠u9?&»½
  856. ▄@?½hp@
  857. 6a╥ ┌u½33KA
  858. ≡QDÇ╧C┴├B
  859. ≈$
  860. Θi 
  861. C└»»
  862. ⌠u9?&»½
  863. ▄@?½há@
  864. #a╤pLevel: 9S6L @╢
  865. τ?╢
  866. ≡?
  867. >a╓pp9S6S @/9S6B @^ ] 
  868. x└»»
  869. ⌠½u?½^ ?»«»½
  870. ▄@?½hp@½33KA
  871. ≡½] ?
  872. 4a╤pp9S6S @/9S6B @╢
  873. τ9?,╢
  874. ≡9?,á-x
  875. -a╓Press L for stats/levelup menuuh
  876. C└»»
  877. ⌠u9?&»½
  878. ▄@?½há?
  879. #a╤Press L for stats/levelup menugéù6= @/│╕╝ÿ┌«PÇ?╕╝  G %P╕╝ÿ┌¥¥û6= @6= @m7éù6= @/│╕╝ÿ┌«PÇ?╕╝  G &P╕╝ÿ┌mmû6= @6= @ô
  880. w.╕╝ò┌*
  881. .└»½
  882. ▄@?½há@
  883. ,a╤╕╝ò┌╩)
  884. w╕╝ò┌█*
  885. .└»½
  886. ▄@?½hp@
  887. ╢a╥╕╝ò┌█½h9?,½h9?,9?╕╝ò┌█Z9?╕╝ò┌█Yô
  888. -Q
  889. .└»½
  890. ▄@?½há?
  891. !a╤U to use, brackets to switch
  892. τ
  893. τ
  894. ≡
  895. ≡ GPÇÇMyíìäääääûya,ûy3,ûyA,iûy-,ûy5,ûyT,%₧yv G!WPkc] _P╕╝ú\wP* .PEw * PPú GOÇÇo Qim{Öäéw.■s**Öi▒.■s ui2éw.ß    s* ┤i╪i{s fiss'w.├s*kis▌éwk*)Ü.ªk·.ªk≤ó.ªk·&( G SÇ·[\h
  896. /¢9:u9:$(~ü-xO╕╝^¿KEYNAME9R\O╕╝^¿KEYBINDINGOPä|Orpgstatsmenué-xÜ9:\9:$L─r *k╤r *(╕²HUT2004RPG.RPGStatsMenu.(.╨╕²l q 6= @'-QåÜ9:\9:$U╕╝{'│Ü9:\9:$█╕╝|'Ü9:\9:$▌w╕╝ò*╕╝ò}'( GYÇZÇkÇ█Sb`≈¢R¢9:╕╝ÿ╫9:$/╕╝a9 SQQ10b$jû9:b9:$■r╕╝^¿KEYNAME9Rbr╕╝^¿KEYBINDINGrε|rrpgstatsmenu-x(::ää|ractivateitem|rnextitem|rprevitem-Q(Uéü-x    ü-Qjb9=Æ9:b&ZQ.═▀UT2003Fonts.jFontSmall ═ Gl ë8$ûl  É,
  897. Æ{ &%5l {  G!┌^X]K&]a]*╓L G²a*K
  898. ÇGär╕╝ò*$ÿ╕╝ò▒% U%ûU7]hU]h╨äär*ÿ▒%'éw.╧*.╧-≡     *┘Tn ░█Γ╪ ÖT99n 9?% K6 * ╞ Öfä░K9?%▒K*⌠ z ß╪ ÖT╩▒z ½╕╝Γ÷½
  899. ╫#=∩Ç?@@ \üüb$╫ Ö╒─#Ç?╫╕╝ò Ö╒╕╝ò╔#Ç? σ9P╪ ÖTeLkC*W ╞╪╫ Ö╒«─¼d9?,#Ç?╒∩L\¼»6 *W ╞╫╫ Ö╒«─¼d9?,#Ç?╒∩L6 CQJ⌠½ÜÖ>\?*└6 C6╦C*≈$I¼9?▒╪Tù} &«▒I?6∩*Θ9=√9D½9?, »Ç?¼»╪½»╪9?▒9?,╪%, 6ε*Θ9=, 6φ*Θ$6≤*Θ9=, #6∩*Θ9=, 6ε*Θ9=√9D½9?, ½@I%, 6φ*Θ$6≤*Θ9=, *;a╥f½½Q\I½dJQdQé▒╪9?%w.╧**Θ ═ß╖J9?,*/└6 C»6╦C½d«J═╠L=*Ya╥f¼½½Q\╪.╧╤½dJQd â░IÇ>*Θ ═°╧▓░I?*Θ ═ß╧*Θ ═±*4a╥f½Q\½dJQdÑUN GÇE\|  ?7| ≥½| ≥«Ç?½═╠╠=9?d G!█]` QQ9?fZd9?fY]╕╝a g GL9class RW_Luck extends RPGWeapon
  900.     HideDropDown
  901.     CacheExempt;
  902.  
  903. var float NextEffectTime;
  904.  
  905. function Generate(RPGWeapon ForcedWeapon)
  906. {
  907.     Super.Generate(ForcedWeapon);
  908.  
  909.     if (RW_Luck(ForcedWeapon) != None && RW_Luck(ForcedWeapon).NextEffectTime > 0)
  910.         NextEffectTime = RW_Luck(ForcedWeapon).NextEffectTime;
  911.     else if (Modifier > 0)
  912.         NextEffectTime = float(Rand(15) + 25) / (Modifier + 1);
  913.     else
  914.         NextEffectTime = (1.25 + FRand() * 1.25) / -(Modifier - 1);
  915. }
  916.  
  917. simulated function WeaponTick(float dt)
  918. {
  919.     local Pickup P;
  920.     local class<Pickup> ChosenClass;
  921.     local vector HitLocation, HitNormal, EndTrace;
  922.     local Actor A;
  923.  
  924.     Super.WeaponTick(dt);
  925.  
  926.     if (Role < ROLE_Authority)
  927.         return;
  928.  
  929.     NextEffectTime -= dt;
  930.     if (NextEffectTime <= 0)
  931.     {
  932.         if (!bIdentified)
  933.             Identify();
  934.  
  935.         if (Modifier < 0)
  936.         {
  937.             foreach Instigator.CollidingActors(class'Pickup', P, 300)
  938.                 if ( P.ReadyToPickup(0) && WeaponLocker(P) == None )
  939.                 {
  940.                     A = spawn(class'RocketExplosion',,, P.Location);
  941.                     if (A != None)
  942.                     {
  943.                         A.RemoteRole = ROLE_SimulatedProxy;
  944.                         A.PlaySound(sound'WeaponSounds.BExplosion3',,2.5*P.TransientSoundVolume,,P.TransientSoundRadius);
  945.                     }
  946.                     if (!P.bDropped && WeaponPickup(P) != None && WeaponPickup(P).bWeaponStay && P.RespawnTime != 0.0)
  947.                         P.GotoState('Sleeping');
  948.                     else
  949.                         P.SetRespawn();
  950.                     break;
  951.                 }
  952.             NextEffectTime = (1.25 + FRand() * 1.25) / -(Modifier - 1);
  953.         }
  954.         else
  955.         {
  956.             ChosenClass = ChoosePickupClass();
  957.             EndTrace = Instigator.Location + vector(Instigator.Rotation) * Instigator.GroundSpeed;
  958.             if (Instigator.Trace(HitLocation, HitNormal, EndTrace, Instigator.Location) != None)
  959.             {
  960.                 HitLocation -= vector(Instigator.Rotation) * 40;
  961.                 P = spawn(ChosenClass,,, HitLocation);
  962.             }
  963.             else
  964.                 P = spawn(ChosenClass,,, EndTrace);
  965.  
  966.             if (P == None)
  967.                 return;
  968.  
  969.             if (MiniHealthPack(P) != None)
  970.                 MiniHealthPack(P).HealingAmount *= 2;
  971.             else if (AdrenalinePickup(P) != None)
  972.                 AdrenalinePickup(P).AdrenalineAmount *= 2;
  973.             P.RespawnTime = 0.0;
  974.             P.bDropped = true;
  975.             P.GotoState('Sleeping');
  976.  
  977.             NextEffectTime = float(Rand(15) + 25) / (Modifier + 1);
  978.         }
  979.     }
  980. }
  981.  
  982. //choose a pickup to spawn, favoring those that are most useful to Instigator
  983. function class<Pickup> ChoosePickupClass()
  984. {
  985.     local array<class<Pickup> > Potentials;
  986.     local Inventory Inv;
  987.     local Weapon W;
  988.     local class<Pickup> AmmoPickupClass;
  989.     local int i, Count;
  990.  
  991.     if (Instigator.Health < Instigator.HealthMax)
  992.     {
  993.         Potentials[i++] = class'HealthPack';
  994.         Potentials[i++] = class'MiniHealthPack';
  995.     }
  996.     else
  997.     {
  998.         if (Instigator.Health < Instigator.HealthMax + 100)
  999.         {
  1000.             Potentials[i++] = class'MiniHealthPack';
  1001.             Potentials[i++] = class'MiniHealthPack';
  1002.         }
  1003.         if (Instigator.ShieldStrength < Instigator.GetShieldStrengthMax())
  1004.             Potentials[i++] = class'ShieldPack';
  1005.     }
  1006.     for (Inv = Instigator.Inventory; Inv != None; Inv = Inv.Inventory)
  1007.     {
  1008.         W = Weapon(Inv);
  1009.         if (W != None)
  1010.         {
  1011.             if (W.NeedAmmo(0))
  1012.             {
  1013.                 AmmoPickupClass = W.AmmoPickupClass(0);
  1014.                 if (AmmoPickupClass != None)
  1015.                     Potentials[i++] = AmmoPickupClass;
  1016.             }
  1017.             else if (W.NeedAmmo(1))
  1018.             {
  1019.                 AmmoPickupClass = W.AmmoPickupClass(1);
  1020.                 if (AmmoPickupClass != None)
  1021.                     Potentials[i++] = AmmoPickupClass;
  1022.             }
  1023.         }
  1024.         Count++;
  1025.         if (Count > 1000)
  1026.             break;
  1027.     }
  1028.     if (FRand() < 0.015 * Modifier)
  1029.         Potentials[i++] = class'UDamagePack';
  1030.     if (i == 0 || (Instigator.Controller != None && Instigator.Controller.Adrenaline < Instigator.Controller.AdrenalineMax))
  1031.         Potentials[i++] = class'AdrenalinePickup';
  1032.  
  1033.     return Potentials[Rand(i)];
  1034. }
  1035.  
  1036.  É.û  ,%+ b G!a class RPGLinkAttachment extends LinkAttachment;
  1037.  
  1038. simulated function UpdateLinkColor()
  1039. {
  1040.     if (Instigator != None && Instigator.Weapon != None)
  1041.     {
  1042.         if (LinkGun(Instigator.Weapon) != None)
  1043.             LinkGun(Instigator.Weapon).UpdateLinkColor(LinkColor);
  1044.         else if (RPGWeapon(Instigator.Weapon) != None && LinkGun(RPGWeapon(Instigator.Weapon).ModifiedWeapon) != None)
  1045.             LinkGun(RPGWeapon(Instigator.Weapon).ModifiedWeapon).UpdateLinkColor(LinkColor);
  1046.     }
  1047.  
  1048.     if (MuzFlash != None)
  1049.     {
  1050.         switch (LinkColor)
  1051.         {
  1052.             case LC_Gold:
  1053.                 MuzFlash.Skins[0] = FinalBlend'XEffectMat.LinkMuzProjYellowFB';
  1054.                 break;
  1055.             case LC_Green:
  1056.             default:
  1057.                 MuzFlash.Skins[0] = FinalBlend'XEffectMat.LinkMuzProjGreenFB';
  1058.                 break;
  1059.         }
  1060.     }
  1061. }
  1062. K<class MonsterInv extends Inventory;
  1063.  
  1064. var int AbilityLevel;
  1065. var array<class<Monster> > MonsterList;
  1066. var FriendlyMonsterController CurrentMonster;
  1067.  
  1068. function PostBeginPlay()
  1069. {
  1070.     local Object O;
  1071.  
  1072.     Super.PostBeginPlay();
  1073.  
  1074.     foreach AllObjects(class'Object', O)
  1075.         if (class<Monster>(O) != None && O != class'Monster' && class<Monster>(O).default.Mesh != class'xPawn'.default.Mesh)
  1076.             MonsterList[MonsterList.length] = class<Monster>(O);
  1077.  
  1078.     SetTimer(10.0, true);
  1079. }
  1080.  
  1081. function GiveTo(Pawn Other, optional Pickup Pickup)
  1082. {
  1083.     local Controller C;
  1084.     local FriendlyMonsterController F;
  1085.  
  1086.     Super.GiveTo(Other, Pickup);
  1087.  
  1088.     for (C = Level.ControllerList; C != None; C = C.NextController)
  1089.     {
  1090.         F = FriendlyMonsterController(C);
  1091.         if (F != None && F.Master != None && F.Master == Instigator.Controller)
  1092.         {
  1093.             CurrentMonster = F;
  1094.             return;
  1095.         }
  1096.     }
  1097.  
  1098.     SpawnMonster(true);
  1099. }
  1100.  
  1101. function Timer()
  1102. {
  1103.     if (Instigator == None || Instigator.Health <= 0 || Instigator.Controller == None)
  1104.     {
  1105.         Destroy();
  1106.         return;
  1107.     }
  1108.  
  1109.     if (CurrentMonster != None)
  1110.         return;
  1111.  
  1112.     SpawnMonster(false);
  1113. }
  1114.  
  1115. function SpawnMonster(bool bNearOwner)
  1116. {
  1117.     local int x, Count;
  1118.     local NavigationPoint N, BestDest;
  1119.     local float Dist, BestDist;
  1120.     local vector SpawnLocation;
  1121.     local rotator SpawnRotation;
  1122.     local FriendlyMonsterController C;
  1123.     local Monster P;
  1124.     local Inventory Inv;
  1125.     local RPGStatsInv StatsInv;
  1126.  
  1127.     do
  1128.     {
  1129.         x = Rand(MonsterList.length);
  1130.         Count++;
  1131.     } until ( MonsterList[x].default.ScoringValue == AbilityLevel
  1132.           || (AbilityLevel == 8 && MonsterList[x].default.ScoringValue > 8) || Count > 1000)
  1133.  
  1134.     if (Count > 1000)
  1135.     {
  1136.         if (AbilityLevel > 0)
  1137.         {
  1138.             AbilityLevel--;
  1139.             SpawnMonster(bNearOwner);
  1140.             return;
  1141.         }
  1142.         else
  1143.         {
  1144.             AbilityLevel = 12;
  1145.             return;
  1146.         }
  1147.     }
  1148.  
  1149.     if (bNearOwner)
  1150.     {
  1151.         BestDist = 50000.f;
  1152.         for (N = Level.NavigationPointList; N != None; N = N.NextNavigationPoint)
  1153.         {
  1154.             Dist = VSize(N.Location - Instigator.Location);
  1155.             if (Dist < BestDist && Dist > MonsterList[x].default.CollisionRadius * 2)
  1156.             {
  1157.                 BestDest = N;
  1158.                 BestDist = VSize(N.Location - Instigator.Location);
  1159.             }
  1160.         }
  1161.     }
  1162.     else
  1163.     {
  1164.         Count = 0;
  1165.         do
  1166.         {
  1167.             BestDest = Instigator.Controller.FindRandomDest();
  1168.             Count++;
  1169.         } until ( (VSize(BestDest.Location - Instigator.Location) > 1000 && !FastTrace(BestDest.Location, Instigator.Location))
  1170.               || Count > 1000 )
  1171.     }
  1172.  
  1173.     if (BestDest != None)
  1174.         SpawnLocation = BestDest.Location + (MonsterList[x].default.CollisionHeight - BestDest.CollisionHeight) * vect(0,0,1);
  1175.     else
  1176.         SpawnLocation = Instigator.Location + MonsterList[x].default.CollisionHeight * vect(0,0,1.5);
  1177.     SpawnRotation.Yaw = rotator(SpawnLocation - Instigator.Location).Yaw;
  1178.  
  1179.     P = spawn(MonsterList[x],,, SpawnLocation, SpawnRotation);
  1180.     if (P == None)
  1181.     {
  1182.         //try again later
  1183.         return;
  1184.     }
  1185.     if (P.Controller != None)
  1186.         P.Controller.Destroy();
  1187.     C = spawn(class'FriendlyMonsterController',,, SpawnLocation, SpawnRotation);
  1188.     C.Possess(P);
  1189.     C.SetMaster(Instigator.Controller);
  1190.     //allow Instigator's abilities to affect the monster
  1191.     for (Inv = Instigator.Controller.Inventory; Inv != None; Inv = Inv.Inventory)
  1192.     {
  1193.         StatsInv = RPGStatsInv(Inv);
  1194.         if (StatsInv != None)
  1195.             break;
  1196.     }
  1197.     if (StatsInv == None) //fallback, should never happen
  1198.         StatsInv = RPGStatsInv(Instigator.FindInventoryType(class'RPGStatsInv'));
  1199.     if (StatsInv != None)
  1200.     {
  1201.         for (x = 0; x < StatsInv.Data.Abilities.length; x++)
  1202.             StatsInv.Data.Abilities[x].static.ModifyPawn(P, StatsInv.Data.AbilityLevels[x]);
  1203.         if (C.Inventory == None)
  1204.             C.Inventory = StatsInv;
  1205.         else
  1206.         {
  1207.             for (Inv = C.Inventory; Inv.Inventory != None; Inv = Inv.Inventory)
  1208.             {}
  1209.             Inv.Inventory = StatsInv;
  1210.         }
  1211.     }
  1212.     else
  1213.         Log("WARNING: Couldn't find RPGStatsInv for "$Instigator.GetHumanReadableName());
  1214.  
  1215.     CurrentMonster = C;
  1216. }
  1217. ÇucU|╖╙3ää-WrU¢*w.ñU*(vwUæ*Uæ╙
  1218. U¢╞U¢ ^U╛ùa&BUa ,UæBXU¢U_U¢BXaUæjw.BX*.BXaUæ%BuBXL%&BuBXL&U¢*( G S//I'm getting tired of using this hack...
  1219. //This particular one gives friendly monsters a tinted skin so everyone knows
  1220. //which team it's on
  1221. class FriendlyMonsterSkinner extends ReplicationInfo;
  1222.  
  1223. var Monster MonsterOwner;
  1224. var byte Team;
  1225. var array<ColorModifier> MonsterSkins;
  1226. var config color TeamColor[2];
  1227.  
  1228. replication
  1229. {
  1230.     reliable if (Role == ROLE_Authority)
  1231.         MonsterOwner, Team;
  1232. }
  1233.  
  1234. function PostBeginPlay()
  1235. {
  1236.     Super.PostBeginPlay();
  1237.  
  1238.     MonsterOwner = Monster(Owner);
  1239.     if (MonsterOwner == None)
  1240.         Destroy();
  1241. }
  1242.  
  1243. function SetInitialState()
  1244. {
  1245.     Super.SetInitialState();
  1246.     disable('Tick'); //not needed on server
  1247. }
  1248.  
  1249. simulated function CreateMonsterSkins()
  1250. {
  1251.     local int x;
  1252.  
  1253.     if (MonsterSkins.length == 0)
  1254.     {
  1255.         if (bDeleteMe)
  1256.             return;
  1257.  
  1258.         MonsterSkins.length = MonsterOwner.Skins.length;
  1259.         for (x = 0; x < MonsterOwner.Skins.length; x++)
  1260.         {
  1261.             MonsterSkins[x] = ColorModifier(Level.ObjectPool.AllocateObject(class'ColorModifier'));
  1262.             MonsterSkins[x].Color = TeamColor[Team];
  1263.             MonsterSkins[x].Material = MonsterOwner.Skins[x];
  1264.         }
  1265.     }
  1266.  
  1267.     MonsterOwner.Skins = MonsterSkins;
  1268. }
  1269.  
  1270. simulated function Destroyed()
  1271. {
  1272.     local int x;
  1273.  
  1274.     for (x = 0; x < MonsterSkins.length; x++)
  1275.         Level.ObjectPool.FreeObject(MonsterSkins[x]);
  1276.     MonsterSkins.length = 0;
  1277.  
  1278.     Super.Destroyed();
  1279. }
  1280.  
  1281. simulated function Tick(float deltaTime)
  1282. {
  1283.     if (MonsterOwner != None)
  1284.         CreateMonsterSkins();
  1285. }
  1286.  
  1287. jÇåkÇì»aǃ{
  1288. //When a monster created by the Summoning Charm kills someone, this is placed on them and the death is prevented
  1289. //for a tick. This allows us to override the Killer with the monster's Master instead of the monster itself,
  1290. //which would otherwise be impossible for monsters with melee attacks.
  1291. class FriendlyMonsterKillMarker extends Inventory;
  1292.  
  1293. var Controller Killer;
  1294. var int Health;
  1295. var class<DamageType> DamageType;
  1296. var vector HitLocation;
  1297.  
  1298. function DropFrom(vector StartLocation)
  1299. {
  1300.     Destroy();
  1301. }
  1302.  
  1303. function Tick(float deltaTime)
  1304. {
  1305.     local Pawn P;
  1306.  
  1307.     P = Pawn(Owner);
  1308.     if (P != None)
  1309.     {
  1310.         P.Health = Health;
  1311.         P.Died(Killer, DamageType, HitLocation);
  1312.     }
  1313.  
  1314.     Destroy();
  1315. }
  1316.  
  1317. P`//Monster that is friendly to a player and follows him/her around
  1318. class FriendlyMonsterController extends MonsterController;
  1319.  
  1320. var Controller Master;
  1321. var FriendlyMonsterSkinner Skinner;
  1322.  
  1323. function SetMaster(Controller NewMaster)
  1324. {
  1325.     Master = NewMaster;
  1326.     if (Master.PlayerReplicationInfo != None && Master.PlayerReplicationInfo.Team != None)
  1327.     {
  1328.         PlayerReplicationInfo = spawn(class'PlayerReplicationInfo', self);
  1329.         PlayerReplicationInfo.PlayerName = Master.PlayerReplicationInfo.PlayerName$"'s"@Pawn.GetHumanReadableName();
  1330.         PlayerReplicationInfo.bIsSpectator = true;
  1331.         PlayerReplicationInfo.bBot = true;
  1332.         PlayerReplicationInfo.Team = Master.PlayerReplicationInfo.Team;
  1333.         PlayerReplicationInfo.RemoteRole = ROLE_None;
  1334.         Pawn.PlayerReplicationInfo = PlayerReplicationInfo;
  1335.         Pawn.bNoTeamBeacon = true;
  1336.         if (PlayerReplicationInfo.Team.TeamIndex < 2)
  1337.         {
  1338.             Skinner = spawn(class'FriendlyMonsterSkinner', Pawn);
  1339.             Skinner.Team = PlayerReplicationInfo.Team.TeamIndex;
  1340.             if (Level.NetMode != NM_DedicatedServer)
  1341.                 Skinner.CreateMonsterSkins();
  1342.         }
  1343.     }
  1344. }
  1345.  
  1346. function bool FindNewEnemy()
  1347. {
  1348.     local Pawn BestEnemy;
  1349.     local float BestDist;
  1350.     local Controller C;
  1351.  
  1352.     BestDist = 50000.f;
  1353.     for (C = Level.ControllerList; C != None; C = C.NextController)
  1354.         if (C != Master && C != self && C.Pawn != None && (FriendlyMonsterController(C) == None || FriendlyMonsterController(C).Master != Master) && !C.SameTeamAs(Master) && VSize(C.Pawn.Location - Pawn.Location) < BestDist && CanSee(C.Pawn))
  1355.         {
  1356.             BestEnemy = C.Pawn;
  1357.             BestDist = VSize(C.Pawn.Location - Pawn.Location);
  1358.         }
  1359.  
  1360.     if ( BestEnemy == Enemy )
  1361.         return false;
  1362.  
  1363.     if ( BestEnemy != None )
  1364.     {
  1365.         ChangeEnemy(BestEnemy, true);
  1366.         return true;
  1367.     }
  1368.     return false;
  1369. }
  1370.  
  1371. function bool SetEnemy(Pawn NewEnemy, optional bool bThisIsNeverUsed)
  1372. {
  1373.     local float EnemyDist;
  1374.  
  1375.     if (NewEnemy == None || NewEnemy.Health <= 0 || NewEnemy.Controller == None || NewEnemy == Enemy)
  1376.         return false;
  1377.     if ( Master != None && ( (Master.Pawn != None && NewEnemy == Master.Pawn)
  1378.                  || (FriendlyMonsterController(NewEnemy.Controller) != None && FriendlyMonsterController(NewEnemy.Controller).Master == Master) ) )
  1379.         return false;
  1380.     if (NewEnemy.Controller.SameTeamAs(Master) || !CanSee(NewEnemy))
  1381.         return false;
  1382.  
  1383.     if (Enemy == None)
  1384.     {
  1385.         ChangeEnemy(NewEnemy, CanSee(NewEnemy));
  1386.         return true;
  1387.     }
  1388.  
  1389.     EnemyDist = VSize(Enemy.Location - Pawn.Location);
  1390.     if ( EnemyDist < Pawn.MeleeRange )
  1391.         return false;
  1392.  
  1393.     if ( EnemyDist > 1.7 * VSize(NewEnemy.Location - Pawn.Location))
  1394.     {
  1395.         ChangeEnemy(NewEnemy, CanSee(NewEnemy));
  1396.         return true;
  1397.     }
  1398.     return false;
  1399. }
  1400.  
  1401. function ChangeEnemy(Pawn NewEnemy, bool bCanSeeNewEnemy)
  1402. {
  1403.     Super.ChangeEnemy(NewEnemy, bCanSeeNewEnemy);
  1404.  
  1405.     //hack for invasion monsters so they'll fight back
  1406.     if ( MonsterController(NewEnemy.Controller) != None && FriendlyMonsterController(NewEnemy.Controller) == None
  1407.          && (NewEnemy.Controller.Enemy == Master.Pawn || FRand() < 0.5) )
  1408.         MonsterController(NewEnemy.Controller).ChangeEnemy(Pawn, NewEnemy.Controller.CanSee(Pawn));
  1409. }
  1410.  
  1411. function HearNoise(float Loudness, Actor NoiseMaker)
  1412. {
  1413. }
  1414.  
  1415. event SeePlayer(Pawn SeenPlayer)
  1416. {
  1417.     if (Enemy == None && ((ChooseAttackCounter < 2) || (ChooseAttackTime != Level.TimeSeconds)) && SetEnemy(SeenPlayer))
  1418.         WhatToDoNext(3);
  1419.     if ( Enemy == SeenPlayer )
  1420.     {
  1421.         VisibleEnemy = Enemy;
  1422.         EnemyVisibilityTime = Level.TimeSeconds;
  1423.         bEnemyIsVisible = true;
  1424.     }
  1425. }
  1426.  
  1427. function ExecuteWhatToDoNext()
  1428. {
  1429.     bHasFired = false;
  1430.     GoalString = "WhatToDoNext at "$Level.TimeSeconds;
  1431.     if ( Pawn == None )
  1432.     {
  1433.         warn(GetHumanReadableName()$" WhatToDoNext with no pawn");
  1434.         return;
  1435.     }
  1436.  
  1437.     if ( bPreparingMove && Monster(Pawn).bShotAnim )
  1438.     {
  1439.         Pawn.Acceleration = vect(0,0,0);
  1440.         GotoState('WaitForAnim');
  1441.         return;
  1442.     }
  1443.     if (Pawn.Physics == PHYS_None)
  1444.         Pawn.SetMovementPhysics();
  1445.     if ( (Pawn.Physics == PHYS_Falling) && DoWaitForLanding() )
  1446.         return;
  1447.     if ( (Enemy != None) && ((Enemy.Health <= 0) || (Enemy.Controller == None)) )
  1448.         Enemy = None;
  1449.  
  1450.     if ( (Enemy == None) || !EnemyVisible() )
  1451.         FindNewEnemy();
  1452.  
  1453.     if ( Enemy != None )
  1454.         ChooseAttackMode();
  1455.     else if (Master != None && Master.Pawn != None)
  1456.         FollowMaster();
  1457.     else
  1458.     {
  1459.         GoalString = "WhatToDoNext Wander or Camp at "$Level.TimeSeconds;
  1460.         WanderOrCamp(true);
  1461.     }
  1462. }
  1463.  
  1464. function FollowMaster()
  1465. {
  1466.     if ( VSize(Master.Pawn.Location - Pawn.Location) > 1000 || VSize(Master.Pawn.Velocity) > Master.Pawn.WalkingPct * Master.Pawn.GroundSpeed
  1467.          || !LineOfSightTo(Master.Pawn) )
  1468.     {
  1469.         GoalString = "Follow Master "$Master.PlayerReplicationInfo.PlayerName;
  1470.         if (FindBestPathToward(Master.Pawn, false, Pawn.bCanPickupInventory))
  1471.         {
  1472.             if ( Enemy != None )
  1473.                 GotoState('Fallback');
  1474.             else
  1475.                 GotoState('Roaming');
  1476.  
  1477.             return;
  1478.         }
  1479.     }
  1480.  
  1481.     GoalString = "Wander or Camp at "$Level.TimeSeconds;
  1482.     WanderOrCamp(true);
  1483. }
  1484.  
  1485.  
  1486.  
  1487. function NotifyKilled(Controller Killer, Controller Killed, pawn KilledPawn)
  1488. {
  1489.     if (Killer == self || Killer == Master)
  1490.         Celebrate();
  1491.     if (KilledPawn == Enemy)
  1492.     {
  1493.         Enemy = None;
  1494.         FindNewEnemy();
  1495.     }
  1496. }
  1497.  
  1498. function Destroyed()
  1499. {
  1500.     if (PlayerReplicationInfo != None)
  1501.         PlayerReplicationInfo.Destroy();
  1502.     if (Skinner != None)
  1503.         Skinner.Destroy();
  1504.  
  1505.     Super.Destroyed();
  1506. }
  1507.  
  1508. state RestFormation
  1509. {
  1510.     function BeginState()
  1511.     {
  1512.         Enemy = None;
  1513.         Pawn.bCanJump = false;
  1514.         Pawn.bAvoidLedges = true;
  1515.         Pawn.bStopAtLedges = true;
  1516.         Pawn.SetWalking(true);
  1517.         MinHitWall += 0.15;
  1518.         if (Master != None && Master.Pawn != None)
  1519.             StartMonitoring(Master.Pawn, 1000);
  1520.     }
  1521. }
  1522.  
  1523. state Fallback extends MoveToGoalWithEnemy
  1524. {
  1525.     function MayFall()
  1526.     {
  1527.         Pawn.bCanJump = ( (MoveTarget != None)
  1528.                     && ((MoveTarget.Physics != PHYS_Falling) || !MoveTarget.IsA('Pickup')) );
  1529.     }
  1530.  
  1531. Begin:
  1532.     SwitchToBestWeapon();
  1533.     WaitForLanding();
  1534.  
  1535. Moving:
  1536.     if (InventorySpot(MoveTarget) != None)
  1537.         MoveTarget = InventorySpot(MoveTarget).GetMoveTargetFor(self,0);
  1538.     MoveToward(MoveTarget,FaceActor(1),,ShouldStrafeTo(MoveTarget));
  1539.     WhatToDoNext(14);
  1540.     if ( bSoaking )
  1541.         SoakStop("STUCK IN FALLBACK!");
  1542.     goalstring = goalstring$" STUCK IN FALLBACK!";
  1543. }
  1544. BÇAclass ArtifactMonsterSummonPickup extends RPGArtifactPickup;
  1545.  
  1546. EgV -╜,)ä¢9:V╜9:$
  1547. ûK, /Va9 ,X('rX║VæXX VXX2:ô%XuXXL%%XX2:ô&XuXXL&&XX*Xa0 10 G!7class UltimaExplosion extends Emitter
  1548.     placeable;
  1549.  
  1550. r)class UltimaCharger extends Actor;
  1551.  
  1552. var xEmitter ChargeEmitter;
  1553. var float ChargeTime;
  1554. var float Damage, DamageRadius;
  1555. var class<DamageType> DamageType;
  1556. var float MomentumTransfer;
  1557. var AvoidMarker Fear;
  1558.  
  1559. function DoDamage(float Radius)
  1560. {
  1561.     local actor Victims;
  1562.     local float damageScale, dist;
  1563.     local vector dir;
  1564.  
  1565.     if (Instigator == None && Controller(Owner) != None)
  1566.         Instigator = Controller(Owner).Pawn;
  1567.  
  1568.     //HurtRadius(), with some modifications
  1569.  
  1570.     if(bHurtEntry)
  1571.         return;
  1572.  
  1573.     bHurtEntry = true;
  1574.     foreach VisibleCollidingActors(class 'Actor', Victims, Radius, Location)
  1575.     {
  1576.         // don't let blast damage affect fluid - VisibleCollisingActors doesn't really work for them - jag
  1577.         if ( Victims != self && Victims != Instigator && Victims.Role == ROLE_Authority && !Victims.IsA('FluidSurfaceInfo')
  1578.              && (Pawn(Victims) == None || TeamGame(Level.Game) == None || TeamGame(Level.Game).FriendlyFireScale > 0
  1579.                  || Pawn(Victims).Controller == None || !Pawn(Victims).Controller.SameTeamAs(Controller(Owner))) )
  1580.         {
  1581.             dir = Victims.Location - Location;
  1582.             dist = FMax(1,VSize(dir));
  1583.             dir = dir/dist;
  1584.             damageScale = 1 - FMax(0,(dist - Victims.CollisionRadius)/DamageRadius);
  1585.             //set HitDamageType early so AbilityUltima.ScoreKill() can use it
  1586.             if (Pawn(Victims) != None)
  1587.                 Pawn(Victims).HitDamageType = DamageType;
  1588.             Victims.TakeDamage
  1589.             (
  1590.                 damageScale * Damage,
  1591.                 Instigator,
  1592.                 Victims.Location - 0.5 * (Victims.CollisionHeight + Victims.CollisionRadius) * dir,
  1593.                 (damageScale * MomentumTransfer * dir),
  1594.                 DamageType
  1595.             );
  1596.         }
  1597.     }
  1598.     bHurtEntry = false;
  1599. }
  1600.  
  1601. simulated function PostBeginPlay()
  1602. {
  1603.     if (Level.NetMode != NM_DedicatedServer)
  1604.         ChargeEmitter = spawn(class'UltimaChargeEmitter');
  1605.  
  1606.     Super.PostBeginPlay();
  1607. }
  1608.  
  1609. simulated function Destroyed()
  1610. {
  1611.     if (ChargeEmitter != None)
  1612.         ChargeEmitter.Destroy();
  1613.  
  1614.     Super.Destroyed();
  1615. }
  1616.  
  1617. auto state Charging
  1618. {
  1619. Begin:
  1620.     if (Instigator != None && Instigator.Health > 0)
  1621.         Destroy();
  1622.  
  1623.     Fear = spawn(class'AvoidMarker');
  1624.     Fear.SetCollisionSize(DamageRadius, 200);
  1625.     Fear.StartleBots();
  1626.  
  1627.     Sleep(ChargeTime);
  1628.     spawn(class'UltimaExplosion');
  1629.     bHidden = true; //for netplay - makes it irrelevant
  1630.     if (ChargeEmitter != None)
  1631.         ChargeEmitter.Destroy();
  1632.     MakeNoise(1.0);
  1633.     PlaySound(sound'WeaponSounds.redeemer_explosionsound');
  1634.     DoDamage(DamageRadius*0.125);
  1635.     Sleep(0.5);
  1636.     DoDamage(DamageRadius*0.300);
  1637.     Sleep(0.2);
  1638.     DoDamage(DamageRadius*0.475);
  1639.     Sleep(0.2);
  1640.     DoDamage(DamageRadius*0.650);
  1641.     Sleep(0.2);
  1642.     DoDamage(DamageRadius*0.825);
  1643.     Sleep(0.2);
  1644.     DoDamage(DamageRadius);
  1645.  
  1646.     if (Fear != None)
  1647.         Fear.Destroy();
  1648.     Destroy();
  1649. }
  1650.  
  1651. 0class UltimaChargeEmitter extends xEmitter;
  1652.  
  1653. Gö.ûG3,2%+GM G!0class TeleportChargeEffect extends Emitter;
  1654.  
  1655. 3class STY_ResetButton extends STY2RoundButton;
  1656.  
  1657. ÇEtF ;7F⌡½F⌡«Ç?½Ç>9?Q G!.class STY_AbilityList extends GUI2Styles;
  1658.  
  1659. vclass RW_Protection extends RPGWeapon
  1660.     HideDropDown
  1661.     CacheExempt;
  1662.  
  1663. function AdjustPlayerDamage(out int Damage, Pawn InstigatedBy, Vector HitLocation, out Vector Momentum, class<DamageType> DamageType)
  1664. {
  1665.     if (!bIdentified)
  1666.         Identify();
  1667.     Damage -= Damage * (0.1 * Modifier);
  1668.     Super.AdjustPlayerDamage(Damage, InstigatedBy, HitLocation, Momentum, DamageType);
  1669. }
  1670.  
  1671. GöE1äûG3,2ûG5,%BGU G!k
  1672. class RW_Poison extends RPGWeapon
  1673.     HideDropDown
  1674.     CacheExempt;
  1675.  
  1676. function AdjustTargetDamage(out int Damage, Actor Victim, Vector HitLocation, out Vector Momentum, class<DamageType> DamageType)
  1677. {
  1678.     local PoisonInv Inv;
  1679.     local Pawn P;
  1680.  
  1681.     if (DamageType == class'DamTypePoison' || Damage <= 0)
  1682.         return;
  1683.  
  1684.     P = Pawn(Victim);
  1685.     if (P != None)
  1686.     {
  1687.         if (!bIdentified)
  1688.             Identify();
  1689.  
  1690.         Inv = PoisonInv(P.FindInventoryType(class'PoisonInv'));
  1691.         if (Inv != None)
  1692.             Inv.LifeSpan += Rand(Damage / 10) + 1;
  1693.         else
  1694.         {
  1695.             Inv = spawn(class'PoisonInv', P,,, rot(0,0,0));
  1696.             Inv.Modifier = Modifier;
  1697.             Inv.GiveTo(P);
  1698.             Inv.LifeSpan = Rand(Damage / 10) + 1;
  1699.         }
  1700.     }
  1701. }
  1702.  
  1703. ^class RW_Piercing extends RPGWeapon
  1704.     HideDropDown
  1705.     CacheExempt;
  1706.  
  1707. var class<DamageType> ModifiedDamageType;
  1708.  
  1709. function float GetAIRating()
  1710. {
  1711.     if (Bot(Instigator.Controller) != None && Bot(Instigator.Controller).Enemy.ShieldStrength > 0)
  1712.         return ModifiedWeapon.GetAIRating() + AIRatingBonus;
  1713.  
  1714.     return ModifiedWeapon.GetAIRating();
  1715. }
  1716.  
  1717. function AdjustTargetDamage(out int Damage, Actor Victim, Vector HitLocation, out Vector Momentum, class<DamageType> DamageType)
  1718. {
  1719.     //ugly, but it works
  1720.     if (Pawn(Victim) != None && Pawn(Victim).ShieldStrength > 0 && DamageType.default.bArmorStops)
  1721.     {
  1722.         if (!bIdentified)
  1723.             Identify();
  1724.         DamageType.default.bArmorStops = false;
  1725.         ModifiedDamageType = DamageType;
  1726.     }
  1727. }
  1728.  
  1729. simulated function WeaponTick(float dt)
  1730. {
  1731.     if (ModifiedDamageType != None)
  1732.     {
  1733.         ModifiedDamageType.default.bArmorStops = true;
  1734.         ModifiedDamageType = None;
  1735.     }
  1736.  
  1737.     Super.WeaponTick(dt);
  1738. }
  1739.  
  1740. ÇM{Dt│ƒ/ääwZX    ü-_r] ╓
  1741.  s▒X╪9?%╕X╪9?9D½½9?DÜÖ>9?A£íX▒9D½½9?DÜÖ>9?A G sclass RW_Penetrating extends RPGWeapon
  1742.     HideDropDown
  1743.     CacheExempt;
  1744.  
  1745. static function bool AllowedFor(class<Weapon> Weapon, Pawn Other)
  1746. {
  1747.     local int x;
  1748.  
  1749.     for (x = 0; x < NUM_FIRE_MODES; x++)
  1750.         if (class<InstantFire>(Weapon.default.FireModeClass[x]) != None)
  1751.             return true;
  1752.  
  1753.     return false;
  1754. }
  1755.  
  1756. function SetModifiedWeapon(Weapon w, bool bIdentify)
  1757. {
  1758.     Super.SetModifiedWeapon(w, bIdentify);
  1759.  
  1760.     if (InstantFire(FireMode[0]) != None && InstantFire(FireMode[1]) != None)
  1761.         AIRatingBonus *= 1.2;
  1762. }
  1763.  
  1764. function AdjustTargetDamage(out int Damage, Actor Victim, vector HitLocation, out vector Momentum, class<DamageType> DamageType)
  1765. {
  1766.     local int i;
  1767.     local vector X, Y, Z, StartTrace;
  1768.  
  1769.     if (HitLocation == vect(0,0,0))
  1770.         return;
  1771.  
  1772.     for (i = 0; i < NUM_FIRE_MODES; i++)
  1773.         if (InstantFire(FireMode[i]) != None && InstantFire(FireMode[i]).DamageType == DamageType)
  1774.         {
  1775.             if (!bIdentified)
  1776.                 Identify();
  1777.             //HACK - compensate for shock rifle not firing on crosshair
  1778.             if (ShockBeamFire(FireMode[i]) != None && PlayerController(Instigator.Controller) != None)
  1779.             {
  1780.                 StartTrace = Instigator.Location + Instigator.EyePosition();
  1781.                 GetViewAxes(X,Y,Z);
  1782.                 StartTrace = StartTrace + X*class'ShockProjFire'.Default.ProjSpawnOffset.X;
  1783.                 if (!WeaponCentered())
  1784.                     StartTrace = StartTrace + Hand * Y*class'ShockProjFire'.Default.ProjSpawnOffset.Y + Z*class'ShockProjFire'.Default.ProjSpawnOffset.Z;
  1785.                 InstantFire(FireMode[i]).DoTrace(HitLocation + Normal(HitLocation - StartTrace) * Victim.CollisionRadius * 2, rotator(HitLocation - StartTrace));
  1786.             }
  1787.             else
  1788.                 InstantFire(FireMode[i]).DoTrace(HitLocation + Normal(HitLocation - (Instigator.Location + Instigator.EyePosition())) * Victim.CollisionRadius * 2, rotator(HitLocation - (Instigator.Location + Instigator.EyePosition())));
  1789.             return;
  1790.         }
  1791. }
  1792.  
  1793. iclass RW_NoMomentum extends RPGWeapon
  1794.     HideDropDown
  1795.     CacheExempt;
  1796.  
  1797. function AdjustPlayerDamage(out int Damage, Pawn InstigatedBy, Vector HitLocation, out Vector Momentum, class<DamageType> DamageType)
  1798. {
  1799.     if (!bIdentified)
  1800.         Identify();
  1801.     Momentum = vect(0,0,0);
  1802.     Super.AdjustPlayerDamage(Damage, InstigatedBy, HitLocation, Momentum, DamageType);
  1803. }
  1804.  
  1805. Kclass RW_Infinity extends RPGWeapon
  1806.     HideDropDown
  1807.     CacheExempt;
  1808.  
  1809. static function bool AllowedFor(class<Weapon> Weapon, Pawn Other)
  1810. {
  1811.     if ( ClassIsChildOf(Weapon, class'Redeemer') || ClassIsChildOf(Weapon, class'Painter')
  1812.          || ( Weapon.default.FireModeClass[0] != None && Weapon.default.FireModeClass[0].default.AmmoClass != None
  1813.               && Weapon.default.FireModeClass[0].default.AmmoClass.default.MaxAmmo < 5 ) )
  1814.         return false;
  1815.  
  1816.     return true;
  1817. }
  1818.  
  1819. simulated function bool StartFire(int Mode)
  1820. {
  1821.     if (!bIdentified && Role == ROLE_Authority)
  1822.         Identify();
  1823.  
  1824.     return Super.StartFire(Mode);
  1825. }
  1826.  
  1827. function bool ConsumeAmmo(int Mode, float Load, bool bAmountNeededIsMax)
  1828. {
  1829.     if (!bIdentified)
  1830.         Identify();
  1831.  
  1832.     return true;
  1833. }
  1834.  
  1835. simulated function WeaponTick(float dt)
  1836. {
  1837.     MaxOutAmmo();
  1838.  
  1839.     Super.WeaponTick(dt);
  1840. }
  1841.  
  1842. ]ǃPclass RW_Force extends RPGWeapon
  1843.     HideDropDown
  1844.     CacheExempt;
  1845.  
  1846. var int LastFlashCount;
  1847.  
  1848. function SetModifiedWeapon(Weapon w, bool bIdentify)
  1849. {
  1850.     Super.SetModifiedWeapon(w, bIdentify);
  1851.  
  1852.     if (ProjectileFire(FireMode[0]) != None && ProjectileFire(FireMode[1]) != None)
  1853.         AIRatingBonus *= 1.5;
  1854. }
  1855.  
  1856. static function bool AllowedFor(class<Weapon> Weapon, Pawn Other)
  1857. {
  1858.     local int x;
  1859.  
  1860.     for (x = 0; x < NUM_FIRE_MODES; x++)
  1861.         if (class<ProjectileFire>(Weapon.default.FireModeClass[x]) != None)
  1862.             return true;
  1863.  
  1864.     return false;
  1865. }
  1866.  
  1867. simulated event WeaponTick(float dt)
  1868. {
  1869.     local Projectile P;
  1870.     local ProjectileSpeedChanger C;
  1871.  
  1872.     if ( Role == ROLE_Authority && Instigator != None
  1873.          && (WeaponAttachment(ThirdPersonActor) == None || LastFlashCount != WeaponAttachment(ThirdPersonActor).FlashCount) )
  1874.     {
  1875.         foreach Instigator.CollidingActors(class'Projectile', P, 200)
  1876.             if (P.Instigator == Instigator && P.Speed == P.default.Speed && P.MaxSpeed == P.default.MaxSpeed)
  1877.             {
  1878.                 if (!bIdentified)
  1879.                     Identify();
  1880.                 P.Speed *= 1.0 + 0.2 * Modifier;
  1881.                 P.MaxSpeed *= 1.0 + 0.2 * Modifier;
  1882.                 P.Velocity *= 1.0 + 0.2 * Modifier;
  1883.                 if (Level.NetMode != NM_Standalone)
  1884.                 {
  1885.                     C = spawn(class'ProjectileSpeedChanger',,,P.Location, P.Rotation);
  1886.                     if (C != None)
  1887.                     {
  1888.                         C.Modifier = Modifier;
  1889.                         C.ModifiedProjectile = P;
  1890.                         C.SetBase(P);
  1891.                         if (P.AmbientSound != None)
  1892.                         {
  1893.                             C.AmbientSound = P.AmbientSound;
  1894.                             C.SoundRadius = P.SoundRadius;
  1895.                         }
  1896.                         else
  1897.                             C.bAlwaysRelevant = true;
  1898.                     }
  1899.                 }
  1900.             }
  1901.         if (WeaponAttachment(ThirdPersonActor) != None)
  1902.             LastFlashCount = WeaponAttachment(ThirdPersonActor).FlashCount;
  1903.     }
  1904.  
  1905.     Super.WeaponTick(dt);
  1906. }
  1907.  
  1908. jclass RW_Energy extends RPGWeapon
  1909.     HideDropDown
  1910.     CacheExempt;
  1911.  
  1912. static function bool AllowedFor(class<Weapon> Weapon, Pawn Other)
  1913. {
  1914.     if (Other.Controller != None && Other.Controller.bAdrenalineEnabled)
  1915.         return true;
  1916.  
  1917.     return false;
  1918. }
  1919.  
  1920. function AdjustTargetDamage(out int Damage, Actor Victim, Vector HitLocation, out Vector Momentum, class<DamageType> DamageType)
  1921. {
  1922.     local float AdrenalineBonus;
  1923.  
  1924.     if (Pawn(Victim) == None)
  1925.         return;
  1926.  
  1927.     if (!bIdentified)
  1928.         Identify();
  1929.  
  1930.     if (Damage > Pawn(Victim).Health)
  1931.         AdrenalineBonus = Pawn(Victim).Health;
  1932.     else
  1933.         AdrenalineBonus = Damage;
  1934.     AdrenalineBonus *= 0.02 * Modifier;
  1935.  
  1936.     if ( UnrealPlayer(Instigator.Controller) != None && Instigator.Controller.Adrenaline < Instigator.Controller.AdrenalineMax
  1937.          && Instigator.Controller.Adrenaline + AdrenalineBonus >= Instigator.Controller.AdrenalineMax && !Instigator.InCurrentCombo() )
  1938.         UnrealPlayer(Instigator.Controller).ClientDelayedAnnouncementNamed('Adrenalin', 15);
  1939.     Instigator.Controller.Adrenaline = FMin(Instigator.Controller.Adrenaline + AdrenalineBonus, Instigator.Controller.AdrenalineMax);
  1940. }
  1941.  
  1942. Iclass RW_Damage extends RPGWeapon
  1943.     HideDropDown
  1944.     CacheExempt;
  1945.  
  1946. function AdjustTargetDamage(out int Damage, Actor Victim, Vector HitLocation, out Vector Momentum, class<DamageType> DamageType)
  1947. {
  1948.     if (!bIdentified)
  1949.         Identify();
  1950.     Damage = Max(1, Damage * (1.0 + 0.1 * Modifier));
  1951.     Momentum *= 1.0 + 0.1 * Modifier;
  1952. }
  1953.  
  1954. u í8$ûu 3É,Æo &%5u o  G!uGclass ArtifactMonsterSummon extends RPGArtifact;
  1955.  
  1956. var array<class<Monster> > MonsterList;
  1957. var class<Monster> ChosenMonster;
  1958. var float AdrenalineUsed;
  1959. var array<Monster> SummonedMonsters;
  1960. var int MaxMonsters;
  1961. var localized string TooManyMonstersMessage;
  1962.  
  1963. static function bool ArtifactIsAllowed(GameInfo Game)
  1964. {
  1965.     //make sure invasion monsters get loaded
  1966.     if (DynamicLoadObject("SkaarjPack.Invasion", class'Class', true) == None)
  1967.         return false;
  1968.  
  1969.     return true;
  1970. }
  1971.  
  1972. function PostBeginPlay()
  1973. {
  1974.     local Object O;
  1975.  
  1976.     Super.PostBeginPlay();
  1977.  
  1978.     foreach AllObjects(class'Object', O)
  1979.         if (class<Monster>(O) != None && O != class'Monster' && class<Monster>(O).default.Mesh != class'xPawn'.default.Mesh)
  1980.             MonsterList[MonsterList.length] = class<Monster>(O);
  1981. }
  1982.  
  1983. function BotConsider()
  1984. {
  1985.     if (bActive)
  1986.         return;
  1987.  
  1988.     if ( Instigator.Health + Instigator.ShieldStrength < 100 && Instigator.Controller.Enemy != None
  1989.          && Instigator.Controller.Adrenaline > 2 * CostPerSec && FRand() < 0.15 && NoArtifactsActive() )
  1990.         Activate();
  1991. }
  1992.  
  1993. function Activate()
  1994. {
  1995.     local int i;
  1996.  
  1997.     if (bActive)
  1998.     {
  1999.         Super.Activate();
  2000.         return;
  2001.     }
  2002.  
  2003.     for (i = 0; i < SummonedMonsters.length; i++)
  2004.         if (SummonedMonsters[i] == None || SummonedMonsters[i].Health <= 0)
  2005.         {
  2006.             SummonedMonsters.Remove(i, 1);
  2007.             i--;
  2008.         }
  2009.  
  2010.     if (SummonedMonsters.length < MaxMonsters)
  2011.         Super.Activate();
  2012.     else if (Instigator != None)
  2013.         Instigator.ReceiveLocalizedMessage(MessageClass, 2, None, None, Class);
  2014. }
  2015.  
  2016. static function string GetLocalString(optional int Switch, optional PlayerReplicationInfo RelatedPRI_1, optional PlayerReplicationInfo RelatedPRI_2)
  2017. {
  2018.     if (Switch == 2)
  2019.         return Default.TooManyMonstersMessage;
  2020.  
  2021.     return Super.GetLocalString(Switch, RelatedPRI_1, RelatedPRI_2);
  2022. }
  2023.  
  2024. function DoEffect();
  2025.  
  2026. state Activated
  2027. {
  2028.     function BeginState()
  2029.     {
  2030.         local int x, Count;
  2031.  
  2032.         do
  2033.         {
  2034.             x = Rand(MonsterList.length);
  2035.             Count++;
  2036.         } until (Instigator.Controller.Adrenaline >= MonsterList[x].default.ScoringValue * 10 || Count > 10000)
  2037.         if (Count > 10000)
  2038.         {
  2039.             GotoState('');
  2040.             return;
  2041.         }
  2042.  
  2043.         ChosenMonster = MonsterList[x];
  2044.         bActive = true;
  2045.         AdrenalineUsed = ChosenMonster.default.ScoringValue * 10;
  2046.     }
  2047.  
  2048.     simulated function Tick(float deltaTime)
  2049.     {
  2050.         Global.Tick(deltaTime);
  2051.  
  2052.         AdrenalineUsed -= deltaTime * CostPerSec;
  2053.         if (AdrenalineUsed <= 0)
  2054.         {
  2055.             Instigator.Controller.Adrenaline -= AdrenalineUsed; //add some back if went a bit over
  2056.             AdrenalineUsed = 0;
  2057.             DoEffect();
  2058.         }
  2059.     }
  2060.  
  2061.     function DoEffect()
  2062.     {
  2063.         local NavigationPoint N, BestDest;
  2064.         local float Dist, BestDist;
  2065.         local vector SpawnLocation;
  2066.         local rotator SpawnRotation;
  2067.         local FriendlyMonsterController C;
  2068.         local Monster P;
  2069.         local Inventory Inv;
  2070.         local RPGStatsInv StatsInv;
  2071.         local int x;
  2072.  
  2073.         BestDist = 50000.f;
  2074.         for (N = Level.NavigationPointList; N != None; N = N.NextNavigationPoint)
  2075.         {
  2076.             Dist = VSize(N.Location - Instigator.Location);
  2077.             if (Dist < BestDist && Dist > ChosenMonster.default.CollisionRadius * 2)
  2078.             {
  2079.                 BestDest = N;
  2080.                 BestDist = VSize(N.Location - Instigator.Location);
  2081.             }
  2082.         }
  2083.  
  2084.         if (BestDest != None)
  2085.             SpawnLocation = BestDest.Location + (ChosenMonster.default.CollisionHeight - BestDest.CollisionHeight) * vect(0,0,1);
  2086.         else
  2087.             SpawnLocation = Instigator.Location + ChosenMonster.default.CollisionHeight * vect(0,0,1.5);
  2088.         SpawnRotation.Yaw = rotator(SpawnLocation - Instigator.Location).Yaw;
  2089.  
  2090.         P = spawn(ChosenMonster,,, SpawnLocation, SpawnRotation);
  2091.         if (P == None)
  2092.         {
  2093.             //try again later
  2094.             return;
  2095.         }
  2096.         if (P.Controller != None)
  2097.             P.Controller.Destroy();
  2098.         C = spawn(class'FriendlyMonsterController',,, SpawnLocation, SpawnRotation);
  2099.         C.Possess(P);
  2100.         C.SetMaster(Instigator.Controller);
  2101.         //allow Instigator's abilities to affect the monster
  2102.         for (Inv = Instigator.Controller.Inventory; Inv != None; Inv = Inv.Inventory)
  2103.         {
  2104.             StatsInv = RPGStatsInv(Inv);
  2105.             if (StatsInv != None)
  2106.                 break;
  2107.         }
  2108.         if (StatsInv == None) //fallback, should never happen
  2109.             StatsInv = RPGStatsInv(Instigator.FindInventoryType(class'RPGStatsInv'));
  2110.         if (StatsInv != None)
  2111.         {
  2112.             for (x = 0; x < StatsInv.Data.Abilities.length; x++)
  2113.                 StatsInv.Data.Abilities[x].static.ModifyPawn(P, StatsInv.Data.AbilityLevels[x]);
  2114.             if (C.Inventory == None)
  2115.                 C.Inventory = StatsInv;
  2116.             else
  2117.             {
  2118.                 for (Inv = C.Inventory; Inv.Inventory != None; Inv = Inv.Inventory)
  2119.                 {}
  2120.                 Inv.Inventory = StatsInv;
  2121.             }
  2122.         }
  2123.  
  2124.         SummonedMonsters[SummonedMonsters.length] = P;
  2125.         GotoState('');
  2126.     }
  2127. }
  2128.  
  2129. [ô//RPGWeapons are wrappers for normal weapons which pass all functions to the weapon it controls,
  2130. //possibly modifying things first. This allows for weapon modifiers in a way that's
  2131. //compatible with almost any weapon, as long as no part of that weapon tries to cast Pawn.Weapon (which will always fail)
  2132. class RPGWeapon extends Weapon
  2133.     DependsOn(RPGStatsInv)
  2134.     config(UT2004RPG)
  2135.     HideDropDown
  2136.     CacheExempt;
  2137.  
  2138. var Weapon ModifiedWeapon;
  2139. var Material ModifierOverlay;
  2140. var int Modifier, MinModifier, MaxModifier; // +1, +2, -1, -2, etc
  2141. var float AIRatingBonus;
  2142. var localized string PrefixPos, PostfixPos, PrefixNeg, PostfixNeg;
  2143. var bool bCanHaveZeroModifier;
  2144. var bool bIdentified;
  2145. var int References; //number of UT2004RPG actors referencing this actor
  2146. var int SniperZoomMode; //sniper zoom hack
  2147. var RPGStatsInv HolderStatsInv;
  2148. var int LastAmmoChargePrimary; //used to sync up AmmoCharge between multiple RPGWeapons modifying the same class of weapon
  2149.  
  2150. replication
  2151. {
  2152.     reliable if (bNetOwner && bNetDirty && Role == ROLE_Authority)
  2153.         ModifiedWeapon, Modifier, bIdentified;
  2154.     reliable if (Role < ROLE_Authority)
  2155.         ChangeAmmo, ChaosWeaponOption, ReloadMeNow, FinishReloading, ServerForceUpdate;
  2156. }
  2157.  
  2158. //RPG functions
  2159.  
  2160. static function bool AllowedFor(class<Weapon> Weapon, Pawn Other)
  2161. {
  2162.     return true;
  2163. }
  2164.  
  2165. function Generate(RPGWeapon ForcedWeapon)
  2166. {
  2167.     local int Count;
  2168.  
  2169.     if (ForcedWeapon != None)
  2170.         Modifier = ForcedWeapon.Modifier;
  2171.     else
  2172.     {
  2173.         do
  2174.         {
  2175.             Modifier = Rand(MaxModifier+1-MinModifier) + MinModifier;
  2176.             Count++;
  2177.         } until (Modifier != 0 || bCanHaveZeroModifier || Count > 1000)
  2178.     }
  2179. }
  2180.  
  2181. function SetModifiedWeapon(Weapon w, bool bIdentify)
  2182. {
  2183.     if (w == None)
  2184.     {
  2185.         Destroy();
  2186.         return;
  2187.     }
  2188.     ModifiedWeapon = w;
  2189.     SetWeaponInfo();
  2190.     if (bIdentify)
  2191.     {
  2192.         Instigator = None; //don't want to send an identify message to anyone here
  2193.         Identify();
  2194.     }
  2195. }
  2196.  
  2197. simulated function SetWeaponInfo()
  2198. {
  2199.     local int x;
  2200.  
  2201.     ModifiedWeapon.Instigator = Instigator;
  2202.     ModifiedWeapon.SetOwner(Owner);
  2203.     ItemName = ModifiedWeapon.ItemName;
  2204.     AIRating = ModifiedWeapon.AIRating;
  2205.     InventoryGroup = ModifiedWeapon.InventoryGroup;
  2206.     GroupOffset = ModifiedWeapon.GroupOffset;
  2207.     IconMaterial = ModifiedWeapon.IconMaterial;
  2208.     IconCoords = ModifiedWeapon.IconCoords;
  2209.     Priority = ModifiedWeapon.Priority;
  2210.     PlayerViewOffset = ModifiedWeapon.PlayerViewOffset;
  2211.     DisplayFOV = ModifiedWeapon.DisplayFOV;
  2212.     EffectOffset = ModifiedWeapon.EffectOffset;
  2213.     bMatchWeapons = ModifiedWeapon.bMatchWeapons;
  2214.     bShowChargingBar = ModifiedWeapon.bShowChargingBar;
  2215.     bCanThrow = ModifiedWeapon.bCanThrow;
  2216.     ExchangeFireModes = ModifiedWeapon.ExchangeFireModes;
  2217.     bNoAmmoInstances = ModifiedWeapon.bNoAmmoInstances;
  2218.     HudColor = ModifiedWeapon.HudColor;
  2219.     SniperZoomMode = -1;
  2220.     for (x = 0; x < NUM_FIRE_MODES; x++)
  2221.     {
  2222.         FireMode[x] = ModifiedWeapon.FireMode[x];
  2223.         Ammo[x] = ModifiedWeapon.Ammo[x];
  2224.         AmmoClass[x] = ModifiedWeapon.AmmoClass[x];
  2225.         //someone explain to me why people had to create their own versions of the dummy WeaponFire for zooming
  2226.         if ( FireMode[x].IsA('SniperZoom') || FireMode[x].IsA('PainterZoom') || FireMode[x].IsA('CUTSRZoom')
  2227.              || FireMode[x].IsA('HeliosZoom') || FireMode[x].IsA('LongrifleZoom') || FireMode[x].IsA('PICZoom') )
  2228.             SniperZoomMode = x;
  2229.     }
  2230. }
  2231.  
  2232. function Identify()
  2233. {
  2234.     if (Modifier == 0 && !bCanHaveZeroModifier)
  2235.         return;
  2236.  
  2237.     bIdentified = true;
  2238.     ConstructItemName();
  2239.     if (Instigator != None && PlayerController(Instigator.Controller) != None)
  2240.         PlayerController(Instigator.Controller).ReceiveLocalizedMessage(class'IdentifyMessage', 0,,, self);
  2241.     if (ModifiedWeapon.OverlayMaterial == None)
  2242.         SetOverlayMaterial(ModifierOverlay, -1, true);
  2243. }
  2244.  
  2245. simulated function ConstructItemName()
  2246. {
  2247.     if (Modifier > 0)
  2248.         ItemName = PrefixPos$ModifiedWeapon.ItemName$PostfixPos@"+"$Modifier;
  2249.     else if (Modifier < 0)
  2250.         ItemName = PrefixNeg$ModifiedWeapon.ItemName$PostfixNeg@Modifier;
  2251.     else
  2252.         ItemName = PrefixPos$ModifiedWeapon.ItemName$PostfixPos;
  2253. }
  2254.  
  2255. //return true to allow player to have w
  2256. function bool AllowRPGWeapon(RPGWeapon w)
  2257. {
  2258.     if (Class == w.Class && ModifiedWeapon.Class == w.ModifiedWeapon.Class && Modifier >= w.Modifier)
  2259.         return false;
  2260.  
  2261.     return true;
  2262. }
  2263.  
  2264. //adjust damage to the enemies of the wielder of this weapon
  2265. function AdjustTargetDamage(out int Damage, Actor Victim, Vector HitLocation, out Vector Momentum, class<DamageType> DamageType)
  2266. {
  2267. }
  2268.  
  2269. //This is used to prevent the RPGWeapon from getting destroyed until nothing needs it
  2270. function RemoveReference()
  2271. {
  2272.     References--;
  2273.     if (References <= 0)
  2274.         Destroy();
  2275. }
  2276.  
  2277. //Weapon functions
  2278.  
  2279. simulated function float ChargeBar()
  2280. {
  2281.     return ModifiedWeapon.ChargeBar();
  2282. }
  2283.  
  2284. simulated function GetAmmoCount(out float MaxAmmoPrimary, out float CurAmmoPrimary)
  2285. {
  2286.     ModifiedWeapon.GetAmmoCount(MaxAmmoPrimary, CurAmmoPrimary);
  2287.     if (AmmoClass[0] != None)
  2288.         MaxAmmoPrimary = MaxAmmo(0);
  2289. }
  2290.  
  2291. simulated function DrawWeaponInfo(Canvas C)
  2292. {
  2293.     ModifiedWeapon.DrawWeaponInfo(C);
  2294. }
  2295.  
  2296. simulated function NewDrawWeaponInfo(Canvas C, float YPos)
  2297. {
  2298.     ModifiedWeapon.NewDrawWeaponInfo(C, YPos);
  2299. }
  2300.  
  2301. function OwnerEvent(name EventName)
  2302. {
  2303.     if (EventName == 'ChangedWeapon' && ModifierOverlay != None && bIdentified)
  2304.     {
  2305.         ModifiedWeapon.SetOverlayMaterial(ModifierOverlay, 1000000, false);
  2306.         if (WeaponAttachment(ThirdPersonActor) != None)
  2307.             ThirdPersonActor.SetOverlayMaterial(ModifierOverlay, 1000000, false);
  2308.     }
  2309.  
  2310.     Super.OwnerEvent(EventName);
  2311. }
  2312.  
  2313. function float RangedAttackTime()
  2314. {
  2315.     return ModifiedWeapon.RangedAttackTime();
  2316. }
  2317.  
  2318. function bool RecommendRangedAttack()
  2319. {
  2320.     return ModifiedWeapon.RecommendRangedAttack();
  2321. }
  2322.  
  2323. function bool RecommendLongRangedAttack()
  2324. {
  2325.     return ModifiedWeapon.RecommendLongRangedAttack();
  2326. }
  2327.  
  2328. function bool FocusOnLeader(bool bLeaderFiring)
  2329. {
  2330.     return ModifiedWeapon.FocusOnLeader(bLeaderFiring);
  2331. }
  2332.  
  2333. function FireHack(byte Mode)
  2334. {
  2335.     ModifiedWeapon.FireHack(Mode);
  2336. }
  2337.  
  2338. function bool SplashDamage()
  2339. {
  2340.     return ModifiedWeapon.SplashDamage();
  2341. }
  2342.  
  2343. function bool RecommendSplashDamage()
  2344. {
  2345.     return ModifiedWeapon.RecommendSplashDamage();
  2346. }
  2347.  
  2348. function float GetDamageRadius()
  2349. {
  2350.     return ModifiedWeapon.GetDamageRadius();
  2351. }
  2352.  
  2353. function float RefireRate()
  2354. {
  2355.     return ModifiedWeapon.RefireRate();
  2356. }
  2357.  
  2358. function bool FireOnRelease()
  2359. {
  2360.     return ModifiedWeapon.FireOnRelease();
  2361. }
  2362.  
  2363. simulated function Loaded()
  2364. {
  2365.     ModifiedWeapon.Loaded();
  2366. }
  2367.  
  2368. simulated function DisplayDebug(Canvas Canvas, out float YL, out float YPos)
  2369. {
  2370.     Canvas.SetDrawColor(255,255,255);
  2371.  
  2372.     Canvas.DrawText("RPGWEAPON");
  2373.     YPos += YL;
  2374.     Canvas.SetPos(4,YPos);
  2375.  
  2376.     Canvas.DrawText("ModifiedWeapon: "$ModifiedWeapon);
  2377.     YPos += YL;
  2378.     Canvas.SetPos(4,YPos);
  2379.  
  2380.     ModifiedWeapon.DisplayDebug(Canvas, YL, YPos);
  2381. }
  2382.  
  2383. simulated function Weapon RecommendWeapon( out float rating )
  2384. {
  2385.     local Weapon Recommended;
  2386.     local float oldRating;
  2387.  
  2388.     if ( (Instigator == None) || (Instigator.Controller == None) )
  2389.         rating = -2;
  2390.     else
  2391.         rating = RateSelf() + Instigator.Controller.WeaponPreference(ModifiedWeapon);
  2392.  
  2393.     if ( inventory != None )
  2394.     {
  2395.         Recommended = inventory.RecommendWeapon(oldRating);
  2396.         if ( (Recommended != None) && (oldRating > rating) )
  2397.         {
  2398.             rating = oldRating;
  2399.             return Recommended;
  2400.         }
  2401.     }
  2402.     return self;
  2403. }
  2404.  
  2405. function SetAITarget(Actor T)
  2406. {
  2407.     ModifiedWeapon.SetAITarget(T);
  2408. }
  2409.  
  2410. function byte BestMode()
  2411. {
  2412.     return ModifiedWeapon.BestMode();
  2413. }
  2414.  
  2415. function bool BotFire(bool bFinished, optional name FiringMode)
  2416. {
  2417.     local bool bResult;
  2418.  
  2419.     bResult = ModifiedWeapon.BotFire(bFinished, FiringMode);
  2420.     BotMode = ModifiedWeapon.BotMode;
  2421.     return bResult;
  2422. }
  2423.  
  2424. simulated function vector GetFireStart(vector X, vector Y, vector Z)
  2425. {
  2426.     return ModifiedWeapon.GetFireStart(X, Y, Z);
  2427. }
  2428.  
  2429. simulated function float AmmoStatus(optional int Mode)
  2430. {
  2431.     if (bNoAmmoInstances)
  2432.     {
  2433.         if (AmmoClass[Mode] == None)
  2434.             return 0;
  2435.         if (AmmoClass[0] == AmmoClass[mode])
  2436.             mode = 0;
  2437.  
  2438.         return float(ModifiedWeapon.AmmoCharge[Mode])/float(MaxAmmo(Mode));
  2439.     }
  2440.     if (Ammo[Mode] == None)
  2441.         return 0.0;
  2442.     else
  2443.         return float(Ammo[Mode].AmmoAmount) / float(Ammo[Mode].MaxAmmo);
  2444. }
  2445.  
  2446. simulated function float RateSelf()
  2447. {
  2448.     if ( !HasAmmo() )
  2449.             CurrentRating = -2;
  2450.     else if ( Instigator.Controller == None )
  2451.         return 0;
  2452.     else
  2453.         CurrentRating = Instigator.Controller.RateWeapon(ModifiedWeapon);
  2454.     return CurrentRating;
  2455. }
  2456.  
  2457. function float GetAIRating()
  2458. {
  2459.     if (!bIdentified)
  2460.         return ModifiedWeapon.GetAIRating();
  2461.     else if (MaxModifier == 0)
  2462.         return ModifiedWeapon.GetAIRating() + AIRatingBonus;
  2463.     else
  2464.         return ModifiedWeapon.GetAIRating() + AIRatingBonus * Modifier;
  2465. }
  2466.  
  2467. function float SuggestAttackStyle()
  2468. {
  2469.     return ModifiedWeapon.SuggestAttackStyle();
  2470. }
  2471.  
  2472. function float SuggestDefenseStyle()
  2473. {
  2474.     return ModifiedWeapon.SuggestDefenseStyle();
  2475. }
  2476.  
  2477. function bool SplashJump()
  2478. {
  2479.     return ModifiedWeapon.SplashJump();
  2480. }
  2481.  
  2482. function bool CanAttack(Actor Other)
  2483. {
  2484.     return ModifiedWeapon.CanAttack(Other);
  2485. }
  2486.  
  2487. simulated function Destroyed()
  2488. {
  2489.     DestroyModifiedWeapon();
  2490.  
  2491.     Super.Destroyed();
  2492. }
  2493.  
  2494. simulated function DestroyModifiedWeapon()
  2495. {
  2496.     local int i;
  2497.  
  2498.     //after ModifiedWeapon gets destroyed, the FireMode array will become bogus pointers since they're not actors
  2499.     //so have to manually set to None
  2500.     for (i = 0; i < NUM_FIRE_MODES; i++)
  2501.         FireMode[i] = None;
  2502.  
  2503.     if (ModifiedWeapon != None)
  2504.         ModifiedWeapon.Destroy();
  2505. }
  2506.  
  2507. simulated function Reselect()
  2508. {
  2509.     ModifiedWeapon.Reselect();
  2510. }
  2511.  
  2512. simulated function bool WeaponCentered()
  2513. {
  2514.     return ModifiedWeapon.WeaponCentered();
  2515. }
  2516.  
  2517. simulated event RenderOverlays(Canvas Canvas)
  2518. {
  2519.  
  2520.     ModifiedWeapon.RenderOverlays(Canvas);
  2521. }
  2522.  
  2523. simulated function PreDrawFPWeapon()
  2524. {
  2525.     ModifiedWeapon.PreDrawFPWeapon();
  2526. }
  2527.  
  2528. simulated function SetHand(float InHand)
  2529. {
  2530.     Hand = InHand;
  2531.     ModifiedWeapon.SetHand(Hand);
  2532. }
  2533.  
  2534. simulated function GetViewAxes(out vector xaxis, out vector yaxis, out vector zaxis)
  2535. {
  2536.     ModifiedWeapon.GetViewAxes(xaxis, yaxis, zaxis);
  2537. }
  2538.  
  2539. simulated function vector CenteredEffectStart()
  2540. {
  2541.     return ModifiedWeapon.CenteredEffectStart();
  2542. }
  2543.  
  2544. simulated function vector GetEffectStart()
  2545. {
  2546.     return ModifiedWeapon.GetEffectStart();
  2547. }
  2548.  
  2549. simulated function IncrementFlashCount(int Mode)
  2550. {
  2551.     ModifiedWeapon.IncrementFlashCount(Mode);
  2552. }
  2553.  
  2554. simulated function ZeroFlashCount(int Mode)
  2555. {
  2556.     ModifiedWeapon.ZeroFlashCount(Mode);
  2557. }
  2558.  
  2559. function HolderDied()
  2560. {
  2561.     ModifiedWeapon.HolderDied();
  2562. }
  2563.  
  2564. simulated function bool CanThrow()
  2565. {
  2566.     if (Modifier < 0)
  2567.         return false; //can't throw cursed weapons
  2568.  
  2569.     return ModifiedWeapon.CanThrow();
  2570. }
  2571.  
  2572. function GiveTo(Pawn Other, optional Pickup Pickup)
  2573. {
  2574.     local int m;
  2575.     local weapon w;
  2576.     local bool bPossiblySwitch, bJustSpawned;
  2577.     local Inventory Inv;
  2578.  
  2579.     Instigator = Other;
  2580.     ModifiedWeapon.Instigator = Other;
  2581.     for (Inv = Instigator.Inventory; true; Inv = Inv.Inventory)
  2582.     {
  2583.         if (Inv.Class == ModifiedWeapon.Class || (RPGWeapon(Inv) != None && !RPGWeapon(Inv).AllowRPGWeapon(Self)))
  2584.         {
  2585.         W = Weapon(Inv);
  2586.         break;
  2587.         }
  2588.         m++;
  2589.         if (m > 1000)
  2590.             break;
  2591.         if (Inv.Inventory == None) //hack to keep Inv at last item in Instigator's inventory
  2592.             break;
  2593.     }
  2594.  
  2595.     if ( W == None )
  2596.     {
  2597.     //hack - manually add to Instigator's inventory because pawn won't usually allow duplicates
  2598.     Inv.Inventory = self;
  2599.     Inventory = None;
  2600.     SetOwner(Instigator);
  2601.     if (Instigator.Controller != None)
  2602.         Instigator.Controller.NotifyAddInventory(self);
  2603.  
  2604.     bJustSpawned = true;
  2605.         ModifiedWeapon.SetOwner(Owner);
  2606.         bPossiblySwitch = true;
  2607.         W = self;
  2608.     }
  2609.     else if ( !W.HasAmmo() )
  2610.         bPossiblySwitch = true;
  2611.  
  2612.     if ( Pickup == None )
  2613.         bPossiblySwitch = true;
  2614.  
  2615.     for (m = 0; m < NUM_FIRE_MODES; m++)
  2616.     {
  2617.         if ( ModifiedWeapon.FireMode[m] != None )
  2618.         {
  2619.             ModifiedWeapon.FireMode[m].Instigator = Instigator;
  2620.             W.GiveAmmo(m,WeaponPickup(Pickup),bJustSpawned);
  2621.         }
  2622.     }
  2623.  
  2624.     if ( (Instigator.Weapon != None) && Instigator.Weapon.IsFiring() )
  2625.         bPossiblySwitch = false;
  2626.  
  2627.     if ( Instigator.Weapon != W )
  2628.         W.ClientWeaponSet(bPossiblySwitch);
  2629.  
  2630.     if (Instigator.Controller == Level.GetLocalPlayerController()) //can only do this on listen/standalone
  2631.     {
  2632.            if (bIdentified)
  2633.         PlayerController(Instigator.Controller).ReceiveLocalizedMessage(class'IdentifyMessage', 1,,, self);
  2634.     else if (ModifiedWeapon.PickupClass != None)
  2635.             PlayerController(Instigator.Controller).ReceiveLocalizedMessage(ModifiedWeapon.PickupClass.default.MessageClass, 0,,,ModifiedWeapon.PickupClass);
  2636.     }
  2637.  
  2638.     SetHolderStatsInv();
  2639.  
  2640.     if ( !bJustSpawned )
  2641.     {
  2642.         for (m = 0; m < NUM_FIRE_MODES; m++)
  2643.         {
  2644.             Ammo[m] = None;
  2645.             ModifiedWeapon.Ammo[m] = None;
  2646.         }
  2647.     Destroy();
  2648.     }
  2649.     else
  2650.     for (m = 0; m < NUM_FIRE_MODES; m++)
  2651.         Ammo[m] = ModifiedWeapon.Ammo[m];
  2652. }
  2653.  
  2654. function GiveAmmo(int m, WeaponPickup WP, bool bJustSpawned)
  2655. {
  2656.     local Inventory Inv;
  2657.     local RPGWeapon W;
  2658.  
  2659.     ModifiedWeapon.GiveAmmo(m, WP, bJustSpawned);
  2660.     if (bNoAmmoInstances && FireMode[m].AmmoClass != None && (m == 0 || FireMode[m].AmmoClass != FireMode[0].AmmoClass))
  2661.     {
  2662.         if (bJustSpawned)
  2663.         {
  2664.             for (Inv = Instigator.Inventory; Inv != None; Inv = Inv.Inventory)
  2665.             {
  2666.                 W = RPGWeapon(Inv);
  2667.                 if (W != None && W != self && W.bNoAmmoInstances && W.ModifiedWeapon.Class == ModifiedWeapon.Class)
  2668.                 {
  2669.                     W.AddAmmo(ModifiedWeapon.AmmoCharge[m], m);
  2670.                     W.SyncUpAmmoCharges();
  2671.                     break;
  2672.                 }
  2673.             }
  2674.         }
  2675.         else
  2676.             SyncUpAmmoCharges();
  2677.     }
  2678. }
  2679.  
  2680. simulated function SetHolderStatsInv()
  2681. {
  2682.     local Inventory Inv;
  2683.  
  2684.     for (Inv = Instigator.Controller.Inventory; Inv != None; Inv = Inv.Inventory)
  2685.     {
  2686.         HolderStatsInv = RPGStatsInv(Inv);
  2687.         if (HolderStatsInv != None)
  2688.             return;
  2689.     }
  2690.  
  2691.     //fallback
  2692.     HolderStatsInv = RPGStatsInv(Instigator.FindInventoryType(class'RPGStatsInv'));
  2693.     if (HolderStatsInv == None)
  2694.         Warn("Couldn't find RPGStatsInv for "$Instigator.GetHumanReadableName());
  2695. }
  2696.  
  2697. simulated function ClientWeaponSet(bool bPossiblySwitch)
  2698. {
  2699.     local int Mode;
  2700.  
  2701.     Instigator = Pawn(Owner);
  2702.  
  2703.     bPendingSwitch = bPossiblySwitch;
  2704.  
  2705.     if( Instigator == None || ModifiedWeapon == None )
  2706.     {
  2707.         GotoState('PendingClientWeaponSet');
  2708.         return;
  2709.     }
  2710.  
  2711.     SetWeaponInfo();
  2712.     SetHolderStatsInv();
  2713.  
  2714.     for( Mode = 0; Mode < NUM_FIRE_MODES; Mode++ )
  2715.     {
  2716.         if( ModifiedWeapon.FireModeClass[Mode] != None )
  2717.         {
  2718.             if (FireMode[Mode] == None || FireMode[Mode].AmmoClass != None && !bNoAmmoInstances && Ammo[Mode] == None && FireMode[Mode].AmmoPerFire > 0)
  2719.             {
  2720.                 GotoState('PendingClientWeaponSet');
  2721.                 return;
  2722.             }
  2723.         }
  2724.  
  2725.         FireMode[Mode].Instigator = Instigator;
  2726.         FireMode[Mode].Level = Level;
  2727.     }
  2728.  
  2729.     ClientState = WS_Hidden;
  2730.     ModifiedWeapon.ClientState = ClientState;
  2731.     GotoState('Hidden');
  2732.  
  2733.     if( Level.NetMode == NM_DedicatedServer || !Instigator.IsHumanControlled() )
  2734.         return;
  2735.  
  2736.     if( Instigator.Weapon == self || Instigator.PendingWeapon == self ) // this weapon was switched to while waiting for replication, switch to it now
  2737.     {
  2738.         if (Instigator.PendingWeapon != None)
  2739.             Instigator.ChangedWeapon();
  2740.         else
  2741.             BringUp();
  2742.         return;
  2743.     }
  2744.  
  2745.     if( Instigator.PendingWeapon != None && Instigator.PendingWeapon.bForceSwitch )
  2746.         return;
  2747.  
  2748.     if( Instigator.Weapon == None )
  2749.     {
  2750.         Instigator.PendingWeapon = self;
  2751.         Instigator.ChangedWeapon();
  2752.     }
  2753.     else if ( bPossiblySwitch )
  2754.     {
  2755.         if ( PlayerController(Instigator.Controller) != None && PlayerController(Instigator.Controller).bNeverSwitchOnPickup )
  2756.             return;
  2757.         if ( Instigator.PendingWeapon != None )
  2758.         {
  2759.             if ( RateSelf() > Instigator.PendingWeapon.RateSelf() )
  2760.             {
  2761.                 Instigator.PendingWeapon = self;
  2762.                 Instigator.Weapon.PutDown();
  2763.             }
  2764.         }
  2765.         else if ( RateSelf() > Instigator.Weapon.RateSelf() )
  2766.         {
  2767.             Instigator.PendingWeapon = self;
  2768.             Instigator.Weapon.PutDown();
  2769.         }
  2770.     }
  2771. }
  2772.  
  2773. /*simulated function BringUp(optional Weapon PrevWeapon)
  2774. {
  2775.    local int Mode;
  2776.  
  2777.     if (ClientState == WS_Hidden)
  2778.     {
  2779.         PlayOwnedSound(ModifiedWeapon.SelectSound, SLOT_Interact,,,,, false);
  2780.         ClientPlayForceFeedback(SelectForce);  // jdf
  2781.  
  2782.         if (Instigator.IsLocallyControlled())
  2783.         {
  2784.             if (ModifiedWeapon.HasAnim(ModifiedWeapon.SelectAnim))
  2785.                 ModifiedWeapon.PlayAnim(ModifiedWeapon.SelectAnim, ModifiedWeapon.SelectAnimRate, 0.0);
  2786.         }
  2787.  
  2788.         ClientState = WS_BringUp;
  2789.         ModifiedWeapon.ClientState = ClientState;
  2790.         SetTimer(WeaponSwitchDelay, false);
  2791.     }
  2792.     for (Mode = 0; Mode < NUM_FIRE_MODES; Mode++)
  2793.     {
  2794.         ModifiedWeapon.FireMode[Mode].bIsFiring = false;
  2795.         ModifiedWeapon.FireMode[Mode].HoldTime = 0.0;
  2796.         ModifiedWeapon.FireMode[Mode].bServerDelayStartFire = false;
  2797.         ModifiedWeapon.FireMode[Mode].bServerDelayStopFire = false;
  2798.         ModifiedWeapon.FireMode[Mode].bInstantStop = false;
  2799.     }
  2800.        if ( (PrevWeapon != None) && PrevWeapon.HasAmmo() && !PrevWeapon.bNoVoluntarySwitch )
  2801.         OldWeapon = PrevWeapon;
  2802.     else
  2803.         OldWeapon = None;
  2804.  
  2805. }
  2806.  
  2807. simulated function bool PutDown()
  2808. {
  2809.     local int Mode;
  2810.  
  2811.     if (ClientState == WS_BringUp || ClientState == WS_ReadyToFire)
  2812.     {
  2813.         if (!Instigator.PendingWeapon.bForceSwitch)
  2814.         {
  2815.             for (Mode = 0; Mode < NUM_FIRE_MODES; Mode++)
  2816.             {
  2817.                 if (ModifiedWeapon.FireMode[Mode].bFireOnRelease && ModifiedWeapon.FireMode[Mode].bIsFiring)
  2818.                     return false;
  2819.             }
  2820.         }
  2821.  
  2822.         if (Instigator.IsLocallyControlled())
  2823.         {
  2824.             for (Mode = 0; Mode < NUM_FIRE_MODES; Mode++)
  2825.             {
  2826.                 if (ModifiedWeapon.FireMode[Mode].bIsFiring)
  2827.                     ClientStopFire(Mode);
  2828.             }
  2829.  
  2830.             if (ClientState != WS_BringUp && ModifiedWeapon.HasAnim(ModifiedWeapon.PutDownAnim))
  2831.                 ModifiedWeapon.PlayAnim(ModifiedWeapon.PutDownAnim, ModifiedWeapon.PutDownAnimRate, 0.0);
  2832.         }
  2833.         ClientState = WS_PutDown;
  2834.         ModifiedWeapon.ClientState = ClientState;
  2835.  
  2836.         SetTimer(WeaponSwitchDelay, false);
  2837.     }
  2838.     for (Mode = 0; Mode < NUM_FIRE_MODES; Mode++)
  2839.     {
  2840.         ModifiedWeapon.FireMode[Mode].bServerDelayStartFire = false;
  2841.         ModifiedWeapon.FireMode[Mode].bServerDelayStopFire = false;
  2842.     }
  2843.     Instigator.AmbientSound = None;
  2844.     OldWeapon = None;
  2845.     return true; // return false if preventing weapon switch
  2846. }*/
  2847.  
  2848. simulated function BringUp(optional Weapon PrevWeapon)
  2849. {
  2850.     ModifiedWeapon.BringUp(PrevWeapon);
  2851.     if (ModifiedWeapon.TimerRate > 0)
  2852.     {
  2853.         SetTimer(ModifiedWeapon.TimerRate, false);
  2854.         ModifiedWeapon.SetTimer(0, false);
  2855.     }
  2856.     ClientState = ModifiedWeapon.ClientState;
  2857. }
  2858.  
  2859. simulated function bool PutDown()
  2860. {
  2861.     local bool bResult;
  2862.  
  2863.     bResult = ModifiedWeapon.PutDown();
  2864.     if (ModifiedWeapon.TimerRate > 0)
  2865.     {
  2866.         SetTimer(ModifiedWeapon.TimerRate, false);
  2867.         ModifiedWeapon.SetTimer(0, false);
  2868.     }
  2869.     ClientState = ModifiedWeapon.ClientState;
  2870.     return bResult;
  2871. }
  2872.  
  2873. simulated function Fire(float F)
  2874. {
  2875.     ModifiedWeapon.Fire(F);
  2876. }
  2877.  
  2878. simulated function AltFire(float F)
  2879. {
  2880.     ModifiedWeapon.AltFire(F);
  2881. }
  2882.  
  2883. simulated event WeaponTick(float dt)
  2884. {
  2885.     local int x;
  2886.  
  2887.     //Failsafe to prevent losing sync with ModifiedWeapon
  2888.     if (FireMode[0] == None || FireMode[1] == None)
  2889.     {
  2890.         for (x = 0; x < NUM_FIRE_MODES; x++)
  2891.         {
  2892.             FireMode[x] = ModifiedWeapon.FireMode[x];
  2893.             Ammo[x] = ModifiedWeapon.Ammo[x];
  2894.             AmmoClass[x] = ModifiedWeapon.AmmoClass[x];
  2895.         }
  2896.         ThirdPersonActor = ModifiedWeapon.ThirdPersonActor;
  2897.     }
  2898.  
  2899.     //sync up ammocharge with other RPGWeapons player has that are modifying the same class of weapon
  2900.     if (Role == ROLE_Authority && bNoAmmoInstances && LastAmmoChargePrimary != ModifiedWeapon.AmmoCharge[0])
  2901.         SyncUpAmmoCharges();
  2902.  
  2903.     //Rocket launcher homing hack
  2904.     if (RocketLauncher(ModifiedWeapon) != None)
  2905.     {
  2906.         Instigator.Weapon = ModifiedWeapon;
  2907.         ModifiedWeapon.Tick(dt);
  2908.         Instigator.Weapon = self;
  2909.     }
  2910.  
  2911.     ModifiedWeapon.WeaponTick(dt);
  2912. }
  2913.  
  2914. function SyncUpAmmoCharges()
  2915. {
  2916.     local Inventory Inv;
  2917.     local RPGWeapon W;
  2918.  
  2919.     LastAmmoChargePrimary = ModifiedWeapon.AmmoCharge[0];
  2920.  
  2921.     for (Inv = Instigator.Inventory; Inv != None; Inv = Inv.Inventory)
  2922.     {
  2923.         W = RPGWeapon(Inv);
  2924.         if (W != None && W != self && W.bNoAmmoInstances && W.ModifiedWeapon != None && W.ModifiedWeapon.Class == ModifiedWeapon.Class)
  2925.         {
  2926.             W.ModifiedWeapon.AmmoCharge[0] = ModifiedWeapon.AmmoCharge[0];
  2927.             W.ModifiedWeapon.AmmoCharge[1] = ModifiedWeapon.AmmoCharge[1];
  2928.             W.LastAmmoChargePrimary = LastAmmoChargePrimary;
  2929.             W.ModifiedWeapon.NetUpdateTime = Level.TimeSeconds - 1;
  2930.         }
  2931.     }
  2932. }
  2933.  
  2934. simulated function OutOfAmmo()
  2935. {
  2936.     local int i;
  2937.  
  2938.     ModifiedWeapon.OutOfAmmo();
  2939.  
  2940.     //weapons with many ammo types, like ChaosUT weapons, might have switched firemodes/ammotypes here
  2941.     for (i = 0; i < NUM_FIRE_MODES; i++)
  2942.     {
  2943.         FireMode[i] = ModifiedWeapon.FireMode[i];
  2944.         Ammo[i] = ModifiedWeapon.Ammo[i];
  2945.         AmmoClass[i] = ModifiedWeapon.AmmoClass[i];
  2946.     }
  2947.     ThirdPersonActor = ModifiedWeapon.ThirdPersonActor;
  2948. }
  2949.  
  2950. simulated function ClientStartFire(int Mode)
  2951. {
  2952.     //HACK - sniper zoom
  2953.     if (Mode == SniperZoomMode)
  2954.     {
  2955.         FireMode[mode].bIsFiring = true;
  2956.         if( Instigator.Controller.IsA( 'PlayerController' ) )
  2957.             PlayerController(Instigator.Controller).ToggleZoom();
  2958.         return;
  2959.     }
  2960.     else if (RocketLauncher(ModifiedWeapon) != None) //HACK - rocket launcher spread
  2961.     {
  2962.         if ( Mode == 1 )
  2963.         {
  2964.             RocketLauncher(ModifiedWeapon).bTightSpread = false;
  2965.         }
  2966.         else if ( FireMode[1].bIsFiring || (FireMode[1].NextFireTime > Level.TimeSeconds) )
  2967.         {
  2968.             if ( (FireMode[1].Load > 0) && !RocketLauncher(ModifiedWeapon).bTightSpread )
  2969.             {
  2970.                 RocketLauncher(ModifiedWeapon).bTightSpread = true;
  2971.                 RocketLauncher(ModifiedWeapon).ServerSetTightSpread();
  2972.             }
  2973.             return;
  2974.         }
  2975.     }
  2976.  
  2977.     Super.ClientStartFire(Mode);
  2978. }
  2979.  
  2980. simulated function bool StartFire(int Mode)
  2981. {
  2982.     return ModifiedWeapon.StartFire(Mode);
  2983. }
  2984.  
  2985. simulated event ClientStopFire(int Mode)
  2986. {
  2987.     ModifiedWeapon.ClientStopFire(Mode);
  2988. }
  2989.  
  2990. simulated function bool ReadyToFire(int Mode)
  2991. {
  2992.     return ModifiedWeapon.ReadyToFire(Mode);
  2993. }
  2994.  
  2995. simulated function Timer()
  2996. {
  2997. //    local int Mode;
  2998.  
  2999.     if (ModifiedWeapon == None)
  3000.         return;
  3001.  
  3002.     ModifiedWeapon.Timer();
  3003.     ClientState = ModifiedWeapon.ClientState;
  3004.     if (ModifiedWeapon.TimerRate > 0)
  3005.     {
  3006.         SetTimer(ModifiedWeapon.TimerRate, false);
  3007.         ModifiedWeapon.SetTimer(0, false);
  3008.     }
  3009.  
  3010. /*    if (ClientState == WS_BringUp)
  3011.     {
  3012.     for( Mode = 0; Mode < NUM_FIRE_MODES; Mode++ )
  3013.            ModifiedWeapon.FireMode[Mode].InitEffects();
  3014.         PlayIdle();
  3015.         ClientState = WS_ReadyToFire;
  3016.     ModifiedWeapon.ClientState = ClientState;
  3017.     }
  3018.     else if (ClientState == WS_PutDown)
  3019.     {
  3020.         if ( Instigator.PendingWeapon == None )
  3021.         {
  3022.             PlayIdle();
  3023.             ClientState = WS_ReadyToFire;
  3024.             ModifiedWeapon.ClientState = ClientState;
  3025.         }
  3026.         else
  3027.         {
  3028.             ClientState = WS_Hidden;
  3029.             ModifiedWeapon.ClientState = ClientState;
  3030.             Instigator.ChangedWeapon();
  3031.             for( Mode = 0; Mode < NUM_FIRE_MODES; Mode++ )
  3032.                 ModifiedWeapon.FireMode[Mode].DestroyEffects();
  3033.         }
  3034.     }*/
  3035. }
  3036.  
  3037. simulated function bool IsFiring()
  3038. {
  3039.     return ModifiedWeapon.IsFiring();
  3040. }
  3041.  
  3042. function bool IsRapidFire()
  3043. {
  3044.     return ModifiedWeapon.IsRapidFire();
  3045. }
  3046.  
  3047. function bool ConsumeAmmo(int Mode, float load, optional bool bAmountNeededIsMax)
  3048. {
  3049.     return ModifiedWeapon.ConsumeAmmo(Mode, load, bAmountNeededIsMax);
  3050. }
  3051.  
  3052. simulated function bool HasAmmo()
  3053. {
  3054.     if (ModifiedWeapon != None)
  3055.         return ModifiedWeapon.HasAmmo();
  3056.  
  3057.     return false;
  3058. }
  3059.  
  3060. function AdjustPlayerDamage( out int Damage, Pawn InstigatedBy, Vector HitLocation,
  3061.                              out Vector Momentum, class<DamageType> DamageType)
  3062. {
  3063.     ModifiedWeapon.AdjustPlayerDamage(Damage, InstigatedBy, HitLocation, Momentum, DamageType);
  3064. }
  3065.  
  3066. simulated function StartBerserk()
  3067. {
  3068.     ModifiedWeapon.StartBerserk();
  3069. }
  3070.  
  3071. simulated function StopBerserk()
  3072. {
  3073.     ModifiedWeapon.StopBerserk();
  3074. }
  3075.  
  3076. simulated function AnimEnd(int channel)
  3077. {
  3078.     ModifiedWeapon.AnimEnd(channel);
  3079. }
  3080.  
  3081. simulated function PlayIdle()
  3082. {
  3083.     ModifiedWeapon.PlayIdle();
  3084. }
  3085.  
  3086. function bool CheckReflect(Vector HitLocation, out Vector RefNormal, int AmmoDrain)
  3087. {
  3088.     return ModifiedWeapon.CheckReflect(HitLocation, RefNormal, AmmoDrain);
  3089. }
  3090.  
  3091. function DoReflectEffect(int Drain)
  3092. {
  3093.     ModifiedWeapon.DoReflectEffect(Drain);
  3094. }
  3095.  
  3096. function bool HandlePickupQuery(pickup Item)
  3097. {
  3098.     //local WeaponPickup wpu;
  3099.     local int i;
  3100.  
  3101.     if (bNoAmmoInstances)
  3102.     {
  3103.         // handle ammo pickups
  3104.         for (i = 0; i < 2; i++)
  3105.         {
  3106.             if (Item.inventorytype == AmmoClass[i] && AmmoClass[i] != None)
  3107.             {
  3108.                 if (ModifiedWeapon.AmmoCharge[i] >= MaxAmmo(i))
  3109.                     return true;
  3110.                 Item.AnnouncePickup(Pawn(Owner));
  3111.                 AddAmmo(Ammo(Item).AmmoAmount, i);
  3112.                 Item.SetRespawn();
  3113.                 return true;
  3114.             }
  3115.         }
  3116.     }
  3117.  
  3118.     if (ModifiedWeapon.Class == Item.InventoryType)
  3119.     {
  3120.         /*wpu = WeaponPickup(Item);
  3121.         if (wpu != None)
  3122.             return !wpu.AllowRepeatPickup();
  3123.         else
  3124.             return false;*/
  3125.         return ModifiedWeapon.HandlePickupQuery(Item);
  3126.     }
  3127.  
  3128.     if ( Inventory == None )
  3129.         return false;
  3130.  
  3131.     return Inventory.HandlePickupQuery(Item);
  3132. }
  3133.  
  3134. function AttachToPawn(Pawn P)
  3135. {
  3136.     ModifiedWeapon.AttachToPawn(P);
  3137.     ThirdPersonActor = ModifiedWeapon.ThirdPersonActor;
  3138. }
  3139.  
  3140. function DetachFromPawn(Pawn P)
  3141. {
  3142.     ModifiedWeapon.DetachFromPawn(P);
  3143. }
  3144.  
  3145. simulated function SetOverlayMaterial(Material mat, float time, bool bOverride)
  3146. {
  3147.     if (ModifierOverlay != None && bIdentified && mat != ModifierOverlay && time > 0)
  3148.     {
  3149.         ModifiedWeapon.SetOverlayMaterial(mat, time, true);
  3150.         if (WeaponAttachment(ThirdPersonActor) != None)
  3151.             ThirdPersonActor.SetOverlayMaterial(mat, time, true);
  3152.     }
  3153.     else if (ModifierOverlay == None || !bIdentified || time > 0)
  3154.         ModifiedWeapon.SetOverlayMaterial(mat, time, bOverride);
  3155.     else
  3156.     {
  3157.         if (time < 0)
  3158.             bOverride = true;
  3159.         ModifiedWeapon.SetOverlayMaterial(ModifierOverlay, 1000000, bOverride);
  3160.         if (WeaponAttachment(ThirdPersonActor) != None)
  3161.             ThirdPersonActor.SetOverlayMaterial(ModifierOverlay, 1000000, bOverride);
  3162.     }
  3163. }
  3164.  
  3165. function DropFrom(vector StartLocation)
  3166. {
  3167.     local int m;
  3168.     local Pickup Pickup;
  3169.     local Inventory Inv;
  3170.     local RPGStatsInv StatsInv;
  3171.     local RPGStatsInv.OldRPGWeaponInfo MyInfo;
  3172.  
  3173.     if (!bCanThrow || !HasAmmo())
  3174.         return;
  3175.  
  3176.     ClientWeaponThrown();
  3177.  
  3178.     for (m = 0; m < NUM_FIRE_MODES; m++)
  3179.     {
  3180.         if (FireMode[m].bIsFiring)
  3181.             StopFire(m);
  3182.     }
  3183.  
  3184.     Pickup = Spawn(PickupClass,,, StartLocation);
  3185.     if ( Pickup != None )
  3186.     {
  3187.         Pickup.InitDroppedPickupFor(self);
  3188.         Pickup.Velocity = Velocity;
  3189.         References++;
  3190.             if (Instigator.Health > 0)
  3191.             {
  3192.             WeaponPickup(Pickup).bThrown = true;
  3193.  
  3194.             //only toss 1 ammo if have another weapon of the same class
  3195.             for (Inv = Instigator.Inventory; Inv != None; Inv = Inv.Inventory)
  3196.                 if (RPGWeapon(Inv) != None && Inv != self && RPGWeapon(Inv).ModifiedWeapon.Class == ModifiedWeapon.Class)
  3197.                 {
  3198.                     if (Ammo[0] != None)
  3199.                     {
  3200.                         WeaponPickup(Pickup).AmmoAmount[0] = 1;
  3201.                         Ammo[0].AmmoAmount -= 1;
  3202.                     }
  3203.                     if (Ammo[1] != None && Ammo[0] != Ammo[1])
  3204.                     {
  3205.                         Ammo[1].AmmoAmount -= 1;
  3206.                         WeaponPickup(Pickup).AmmoAmount[1] = 1;
  3207.                     }
  3208.                     Ammo[0] = None;
  3209.                     Ammo[1] = None;
  3210.                     ModifiedWeapon.Ammo[0] = None;
  3211.                     ModifiedWeapon.Ammo[1] = None;
  3212.                     break;
  3213.                 }
  3214.         }
  3215.     }
  3216.  
  3217.     SetTimer(0, false);
  3218.     if (Instigator != None)
  3219.     {
  3220.     if (ModifiedWeapon != None)
  3221.             StatsInv = RPGStatsInv(Instigator.FindInventoryType(class'RPGStatsInv'));
  3222.            DetachFromPawn(Instigator);
  3223.         Instigator.DeleteInventory(self);
  3224.     }
  3225.     if (StatsInv != None)
  3226.     {
  3227.         MyInfo.ModifiedClass = ModifiedWeapon.Class;
  3228.         MyInfo.Weapon = self;
  3229.         StatsInv.OldRPGWeapons[StatsInv.OldRPGWeapons.length] = MyInfo;
  3230.         References++;
  3231.     DestroyModifiedWeapon();
  3232.     }
  3233.     else if (Pickup == None)
  3234.         Destroy();
  3235. }
  3236.  
  3237. simulated function ClientWeaponThrown()
  3238. {
  3239.     Super.ClientWeaponThrown();
  3240.  
  3241.     if (Level.NetMode == NM_Client)
  3242.     {
  3243.         DestroyModifiedWeapon();
  3244.     }
  3245. }
  3246.  
  3247. function bool AddAmmo(int AmmoToAdd, int Mode)
  3248. {
  3249.     if (bNoAmmoInstances)
  3250.     {
  3251.         if (AmmoClass[0] == AmmoClass[mode])
  3252.             mode = 0;
  3253.         if (Level.GRI.WeaponBerserk > 1.0)
  3254.             ModifiedWeapon.AmmoCharge[mode] = MaxAmmo(Mode);
  3255.         else if (ModifiedWeapon.AmmoCharge[mode] < MaxAmmo(mode))
  3256.             ModifiedWeapon.AmmoCharge[mode] = Min(MaxAmmo(mode), ModifiedWeapon.AmmoCharge[mode]+AmmoToAdd);
  3257.         ModifiedWeapon.NetUpdateTime = Level.TimeSeconds - 1;
  3258.         SyncUpAmmoCharges();
  3259.         return true;
  3260.     }
  3261.  
  3262.     if (Ammo[Mode] != None)
  3263.         return Ammo[Mode].AddAmmo(AmmoToAdd);
  3264.  
  3265.     return false;
  3266. }
  3267.  
  3268. simulated function MaxOutAmmo()
  3269. {
  3270.     if (bNoAmmoInstances)
  3271.     {
  3272.         if (AmmoClass[0] != None)
  3273.             ModifiedWeapon.AmmoCharge[0] = MaxAmmo(0);
  3274.         if (AmmoClass[1] != None && AmmoClass[0] != AmmoClass[1])
  3275.             ModifiedWeapon.AmmoCharge[1] = MaxAmmo(1);
  3276.         SyncUpAmmoCharges();
  3277.         return;
  3278.     }
  3279.     if (Ammo[0] != None)
  3280.         Ammo[0].AmmoAmount = Ammo[0].MaxAmmo;
  3281.     if (Ammo[1] != None)
  3282.         Ammo[1].AmmoAmount = Ammo[1].MaxAmmo;
  3283. }
  3284.  
  3285. simulated function SuperMaxOutAmmo()
  3286. {
  3287.     ModifiedWeapon.SuperMaxOutAmmo();
  3288. }
  3289.  
  3290. simulated function int MaxAmmo(int mode)
  3291. {
  3292.     if (bNoAmmoInstances)
  3293.         return (ModifiedWeapon.MaxAmmo(mode) * (1.0 + 0.01 * HolderStatsInv.Data.AmmoMax));
  3294.  
  3295.     return ModifiedWeapon.MaxAmmo(mode);
  3296. }
  3297.  
  3298. simulated function FillToInitialAmmo()
  3299. {
  3300.     ModifiedWeapon.FillToInitialAmmo();
  3301.  
  3302.     if (bNoAmmoInstances)
  3303.     {
  3304.         if (AmmoClass[0] != None)
  3305.             ModifiedWeapon.AmmoCharge[0] = Max(ModifiedWeapon.AmmoCharge[0], AmmoClass[0].Default.InitialAmount * (1.0 + 0.01 * HolderStatsInv.Data.AmmoMax));
  3306.         if (AmmoClass[1] != None && AmmoClass[0] != AmmoClass[1])
  3307.             ModifiedWeapon.AmmoCharge[1] = Max(ModifiedWeapon.AmmoCharge[1], AmmoClass[1].Default.InitialAmount * (1.0 + 0.01 * HolderStatsInv.Data.AmmoMax));
  3308.         SyncUpAmmoCharges();
  3309.     }
  3310.     else
  3311.     {
  3312.         if (Ammo[0] != None)
  3313.             Ammo[0].AmmoAmount = Max(Ammo[0].AmmoAmount,Ammo[0].InitialAmount * (1.0 + 0.01 * HolderStatsInv.Data.AmmoMax));
  3314.         if (Ammo[1] != None)
  3315.             Ammo[1].AmmoAmount = Max(Ammo[1].AmmoAmount,Ammo[1].InitialAmount * (1.0 + 0.01 * HolderStatsInv.Data.AmmoMax));
  3316.     }
  3317. }
  3318.  
  3319. simulated function int AmmoAmount(int mode)
  3320. {
  3321.     return ModifiedWeapon.AmmoAmount(mode);
  3322. }
  3323.  
  3324. simulated function bool AmmoMaxed(int mode)
  3325. {
  3326.     return ModifiedWeapon.AmmoMaxed(mode);
  3327. }
  3328.  
  3329. simulated function bool NeedAmmo(int mode)
  3330. {
  3331.     if (bNoAmmoInstances)
  3332.     {
  3333.         if (AmmoClass[0] == AmmoClass[mode])
  3334.             mode = 0;
  3335.         if (AmmoClass[mode] == None)
  3336.             return false;
  3337.  
  3338.         return (ModifiedWeapon.AmmoCharge[Mode] < AmmoClass[mode].default.InitialAmount * (1.0 + 0.01 * HolderStatsInv.Data.AmmoMax));
  3339.     }
  3340.     if (Ammo[mode] != None)
  3341.          return (Ammo[mode].AmmoAmount < Ammo[mode].InitialAmount * (1.0 + 0.01 * HolderStatsInv.Data.AmmoMax));
  3342.  
  3343.     return false;
  3344. }
  3345.  
  3346. simulated function CheckOutOfAmmo()
  3347. {
  3348.     if (ModifiedWeapon != None)
  3349.         ModifiedWeapon.CheckOutOfAmmo();
  3350. }
  3351.  
  3352. function class<DamageType> GetDamageType()
  3353. {
  3354.     return ModifiedWeapon.GetDamageType();
  3355. }
  3356.  
  3357. simulated function bool WantsZoomFade()
  3358. {
  3359.     return ModifiedWeapon.WantsZoomFade();
  3360. }
  3361.  
  3362. function bool CanHeal(Actor Other)
  3363. {
  3364.     return ModifiedWeapon.CanHeal(Other);
  3365. }
  3366.  
  3367. function bool ShouldFireWithoutTarget()
  3368. {
  3369.     return ModifiedWeapon.ShouldFireWithoutTarget();
  3370. }
  3371.  
  3372. simulated function PawnUnpossessed()
  3373. {
  3374.     ModifiedWeapon.PawnUnpossessed();
  3375. }
  3376.  
  3377. //I'm sure I don't need to explain the magnitude of this awful hack
  3378. exec function ChangeAmmo()
  3379. {
  3380.     if (PlayerController(Instigator.Controller) != None)
  3381.     {
  3382.         Instigator.Weapon = ModifiedWeapon;
  3383.         PlayerController(Instigator.Controller).ConsoleCommand("ChangeAmmo");
  3384.         Instigator.Weapon = self;
  3385.         FireMode[0] = ModifiedWeapon.FireMode[0];
  3386.         FireMode[1] = ModifiedWeapon.FireMode[1];
  3387.         Ammo[0] = ModifiedWeapon.Ammo[0];
  3388.         Ammo[1] = ModifiedWeapon.Ammo[1];
  3389.         ThirdPersonActor = ModifiedWeapon.ThirdPersonActor;
  3390.     }
  3391. }
  3392.  
  3393. //Yet more ugly hacking... but at least it's for a good cause
  3394. exec function ChaosWeaponOption()
  3395. {
  3396.     if (PlayerController(Instigator.Controller) != None)
  3397.     {
  3398.         Instigator.Weapon = ModifiedWeapon;
  3399.         PlayerController(Instigator.Controller).ConsoleCommand("ChaosWeaponOption");
  3400.         Instigator.Weapon = self;
  3401.     }
  3402. }
  3403.  
  3404. //the next two are for Remote Strike
  3405. //why someone would want to play a realism mod with magic weapons is beyond me
  3406. exec function ReloadMeNow()
  3407. {
  3408.     if (PlayerController(Instigator.Controller) != None)
  3409.     {
  3410.         Instigator.Weapon = ModifiedWeapon;
  3411.         PlayerController(Instigator.Controller).ConsoleCommand("ReloadMeNow");
  3412.         Instigator.Weapon = self;
  3413.     }
  3414. }
  3415.  
  3416. exec function FinishReloading()
  3417. {
  3418.     if (PlayerController(Instigator.Controller) != None)
  3419.     {
  3420.         Instigator.Weapon = ModifiedWeapon;
  3421.         PlayerController(Instigator.Controller).ConsoleCommand("FinishReloading");
  3422.         Instigator.Weapon = self;
  3423.     }
  3424. }
  3425.  
  3426. function ServerForceUpdate()
  3427. {
  3428.     NetUpdateTime = Level.TimeSeconds - 1;
  3429. }
  3430.  
  3431. state PendingClientWeaponSet
  3432. {
  3433.     simulated function EndState()
  3434.     {
  3435.     if (Instigator != None && PlayerController(Instigator.Controller) != None)
  3436.     {
  3437.         if (bIdentified)
  3438.             PlayerController(Instigator.Controller).ReceiveLocalizedMessage(class'IdentifyMessage', 1,,, self);
  3439.         else if (ModifiedWeapon.PickupClass != None)
  3440.             PlayerController(Instigator.Controller).ReceiveLocalizedMessage(ModifiedWeapon.PickupClass.default.MessageClass, 0,,,ModifiedWeapon.PickupClass);
  3441.     }
  3442.     }
  3443. }
  3444.  
  3445. ÇEG| èó¢9:|╜9:$ ]|  _Lw]*]aW|a _| "WW tW | G!Blclass RPGWeaponPickup extends UTWeaponPickup;
  3446.  
  3447. var MutUT2004RPG RPGMut;
  3448. var RPGWeapon DroppedWeapon;
  3449. var bool bRealWeaponStay; //hack for compatibility with Random Weapon Swap
  3450.  
  3451. function PostBeginPlay()
  3452. {
  3453.     local Mutator m;
  3454.  
  3455.     Super(Pickup).PostBeginPlay();
  3456.  
  3457.     for (m = Level.Game.BaseMutator; m != None; m = m.NextMutator)
  3458.         if (MutUT2004RPG(m) != None)
  3459.         {
  3460.             RPGMut = MutUT2004RPG(m);
  3461.             break;
  3462.         }
  3463. }
  3464.  
  3465. simulated function PostNetBeginPlay()
  3466. {
  3467.     Super.PostNetBeginPlay();
  3468.  
  3469.     if (DrawType == DT_Mesh)
  3470.         bOrientOnSlope = false;
  3471. }
  3472.  
  3473. //Pickups don't get hooked up with xPickupBases like usual when you use ReplaceWith() on them
  3474. //so we use this to find it
  3475. function FindPickupBase()
  3476. {
  3477.     foreach RadiusActors(class'xPickupBase', PickUpBase, 100)
  3478.     {
  3479.         Event = PickupBase.Event;
  3480.         MyMarker = PickupBase.myMarker;
  3481.         GotoState('');
  3482.         SetTimer(0.1, false);
  3483.         break;
  3484.     }
  3485. }
  3486.  
  3487. function Timer()
  3488. {
  3489.     //hook up myMarker (need to delay because PickupBase will set it to None in its SpawnPickup())
  3490.     MyMarker.MarkedItem = self;
  3491.  
  3492.     if (PickupBase.bDelayedSpawn)
  3493.     {
  3494.         GotoState('WaitingForMatch');
  3495.         myMarker.bSuperPickup = true;
  3496.     }
  3497.     else
  3498.         GotoState('Auto');
  3499. }
  3500.  
  3501. function SetWeaponStay()
  3502. {
  3503.     bWeaponStay = ( bRealWeaponStay && Level.Game.bWeaponStay );
  3504. }
  3505.  
  3506. function GetPropertiesFrom(class<WeaponPickup> PickupClass)
  3507. {
  3508.     bRealWeaponStay = PickupClass.default.bWeaponStay;
  3509.     SetWeaponStay();
  3510.     PickupMessage = PickupClass.default.PickupMessage;
  3511.     InventoryType = PickupClass.default.InventoryType;
  3512.     RespawnTime = PickupClass.default.RespawnTime;
  3513.     PickupSound = PickupClass.default.PickupSound;
  3514.     PickupForce = PickupClass.default.PickupForce;
  3515.     SetDrawType(PickupClass.default.DrawType);
  3516.     if (DrawType == DT_Mesh)
  3517.         LinkMesh(PickupClass.default.Mesh);
  3518.     else
  3519.         SetStaticMesh(PickupClass.default.StaticMesh);
  3520.     Skins = PickupClass.default.Skins;
  3521.     SetDrawScale(PickupClass.default.DrawScale);
  3522.     MaxDesireability = 1.2 * class<Weapon>(InventoryType).Default.AIRating;
  3523. }
  3524.  
  3525. function InitDroppedPickupFor(Inventory Inv)
  3526. {
  3527.     local RPGWeapon W;
  3528.  
  3529.     W = RPGWeapon(Inv);
  3530.     if (W != None)
  3531.     {
  3532.         Super.InitDroppedPickupFor(W.ModifiedWeapon);
  3533.         GetPropertiesFrom(class<WeaponPickup>(W.ModifiedWeapon.PickupClass));
  3534.         DroppedWeapon = W;
  3535.         //The engine doesn't support overlays on static meshes, so if we need an overlay, use the
  3536.         //weapon's 3rd person skeletal mesh instead.
  3537.         if (W.bIdentified && W.ModifierOverlay != None && W.ThirdPersonActor != None)
  3538.         {
  3539.             LinkMesh(W.ThirdPersonActor.Mesh);
  3540.             SetDrawType(W.ThirdPersonActor.DrawType);
  3541.             SetRotation(Rotation + rot(0,0,32768)); //because attachments are always imported upside down
  3542.             bOrientOnSlope = false;
  3543.             SetOverlayMaterial(W.ModifierOverlay, 1000000, true);
  3544.         }
  3545.     }
  3546.     else
  3547.         Super.InitDroppedPickupFor(Inv);
  3548. }
  3549.  
  3550. function inventory SpawnCopy( pawn Other )
  3551. {
  3552.     local inventory Copy;
  3553.     local RPGWeapon OldWeapon;
  3554.     local RPGStatsInv StatsInv;
  3555.     local class<RPGWeapon> NewWeaponClass;
  3556.     local int x;
  3557.     local bool bRemoveReference;
  3558.  
  3559.     if ( Inventory != None )
  3560.         Inventory.Destroy();
  3561.  
  3562.     //if already have a RPGWeapon, use it
  3563.     if (DroppedWeapon != None)
  3564.     {
  3565.         OldWeapon = DroppedWeapon;
  3566.         NewWeaponClass = OldWeapon.Class;
  3567.     }
  3568.     else if (bWeaponStay)
  3569.     {
  3570.         //if player previously had a weapon of class InventoryType, force modifier to be the same
  3571.         StatsInv = RPGStatsInv(Other.FindInventoryType(class'RPGStatsInv'));
  3572.         if (StatsInv != None)
  3573.             for (x = 0; x < StatsInv.OldRPGWeapons.length; x++)
  3574.                 if (StatsInv.OldRPGWeapons[x].ModifiedClass == InventoryType)
  3575.                 {
  3576.                     OldWeapon = StatsInv.OldRPGWeapons[x].Weapon;
  3577.                     if (OldWeapon == None)
  3578.                     {
  3579.                         StatsInv.OldRPGWeapons.Remove(x, 1);
  3580.                         x--;
  3581.                     }
  3582.                     else
  3583.                     {
  3584.                         NewWeaponClass = OldWeapon.Class;
  3585.                         StatsInv.OldRPGWeapons.Remove(x, 1);
  3586.                         bRemoveReference = true;
  3587.                         break;
  3588.                     }
  3589.                 }
  3590.     }
  3591.     if (NewWeaponClass == None)
  3592.         NewWeaponClass = RPGMut.GetRandomWeaponModifier(class<Weapon>(InventoryType), Other);
  3593.  
  3594.     Copy = spawn(NewWeaponClass,Other,,,rot(0,0,0));
  3595.     RPGWeapon(Copy).Generate(OldWeapon);
  3596.     RPGWeapon(Copy).SetModifiedWeapon(Weapon(spawn(InventoryType,Other,,,rot(0,0,0))), ((bDropped && OldWeapon != None && OldWeapon.bIdentified) || RPGMut.bNoUnidentified));
  3597.  
  3598.     Copy.GiveTo(Other, self);
  3599.  
  3600.     if (bRemoveReference)
  3601.         OldWeapon.RemoveReference();
  3602.  
  3603.     return Copy;
  3604. }
  3605.  
  3606. function Destroyed()
  3607. {
  3608.     if (DroppedWeapon != None)
  3609.         DroppedWeapon.RemoveReference();
  3610.  
  3611.     Super.Destroyed();
  3612. }
  3613.  
  3614. function float DetourWeight(Pawn Other, float PathWeight)
  3615. {
  3616.     local Weapon AlreadyHas;
  3617.     local Inventory Inv;
  3618.     local int Count;
  3619.  
  3620.     for (Inv = Other.Inventory; Inv != None; Inv = Inv.Inventory)
  3621.     {
  3622.         if ( Inv.Class == InventoryType
  3623.              || (RPGWeapon(Inv) != None && RPGWeapon(Inv).ModifiedWeapon.Class == InventoryType) )
  3624.         {
  3625.             AlreadyHas = Weapon(Inv);
  3626.             break;
  3627.         }
  3628.         Count++;
  3629.         if (Count > 1000)
  3630.             break;
  3631.     }
  3632.  
  3633.     if ( (AlreadyHas != None)
  3634.         && (bWeaponStay || (AlreadyHas.AmmoAmount(0) > 0)) )
  3635.         return 0;
  3636.     if ( AIController(Other.Controller).PriorityObjective()
  3637.         && ((Other.Weapon.AIRating > 0.5) || (PathWeight > 400)) )
  3638.         return 0;
  3639.     return class<Weapon>(InventoryType).Default.AIRating/PathWeight;
  3640. }
  3641.  
  3642. function float BotDesireability(Pawn Bot)
  3643. {
  3644.     local Weapon AlreadyHas;
  3645.     local float desire;
  3646.     local Inventory Inv;
  3647.     local int Count;
  3648.     local class<Pickup> AmmoPickupClass;
  3649.  
  3650.     // bots adjust their desire for their favorite weapons
  3651.     desire = MaxDesireability + Bot.Controller.AdjustDesireFor(self);
  3652.  
  3653.     // see if bot already has a weapon of this type
  3654.     for (Inv = Bot.Inventory; Inv != None; Inv = Inv.Inventory)
  3655.     {
  3656.         if ( Inv.Class == InventoryType
  3657.              || (RPGWeapon(Inv) != None && RPGWeapon(Inv).ModifiedWeapon.Class == InventoryType) )
  3658.         {
  3659.             AlreadyHas = Weapon(Inv);
  3660.             break;
  3661.         }
  3662.         Count++;
  3663.         if (Count > 1000)
  3664.             break;
  3665.     }
  3666.  
  3667.     if ( AlreadyHas != None )
  3668.     {
  3669.         if ( Bot.Controller.bHuntPlayer )
  3670.             return 0;
  3671.  
  3672.         // can't pick it up if weapon stay is on
  3673.         if ( !AllowRepeatPickup() )
  3674.             return 0;
  3675.         if ( (RespawnTime < 10) && (bHidden || AlreadyHas.AmmoMaxed(0)) )
  3676.             return 0;
  3677.  
  3678.         if ( AlreadyHas.AmmoMaxed(0) )
  3679.             return 0.25 * desire;
  3680.  
  3681.         // bot wants this weapon for the ammo it holds
  3682.         if ( AlreadyHas.AmmoAmount(0) > 0 )
  3683.         {
  3684.             AmmoPickupClass = AlreadyHas.AmmoPickupClass(0);
  3685.  
  3686.             if ( AmmoPickupClass == None )
  3687.                 return 0.05;
  3688.             else
  3689.                 return FMax( 0.25 * desire,
  3690.                         AmmoPickupClass.Default.MaxDesireability
  3691.                         * FMin(1, 0.15 * AlreadyHas.MaxAmmo(0)/AlreadyHas.AmmoAmount(0)) );
  3692.         }
  3693.         else
  3694.             return 0.05;
  3695.     }
  3696.     if ( Bot.Controller.bHuntPlayer && (MaxDesireability * 0.833 < Bot.Weapon.AIRating - 0.1) )
  3697.         return 0;
  3698.  
  3699.     // incentivize bot to get this weapon if it doesn't have a good weapon already
  3700.     if ( (Bot.Weapon == None) || (Bot.Weapon.AIRating < 0.5) )
  3701.         return 2*desire;
  3702.  
  3703.     return desire;
  3704. }
  3705.  
  3706. B0class RPGWeaponLocker extends WeaponLocker
  3707.     notplaceable;
  3708.  
  3709. var MutUT2004RPG RPGMut;
  3710.  
  3711. function inventory SpawnCopy( pawn Other )
  3712. {
  3713.     local inventory Copy;
  3714.     local RPGWeapon OldWeapon;
  3715.     local RPGStatsInv StatsInv;
  3716.     local class<RPGWeapon> NewWeaponClass;
  3717.     local int x;
  3718.     local bool bRemoveReference;
  3719.  
  3720.     if ( Inventory != None )
  3721.         Inventory.Destroy();
  3722.  
  3723.     //if player previously had a weapon of class InventoryType, force modifier to be the same
  3724.     StatsInv = RPGStatsInv(Other.FindInventoryType(class'RPGStatsInv'));
  3725.     if (StatsInv != None)
  3726.         for (x = 0; x < StatsInv.OldRPGWeapons.length; x++)
  3727.             if (StatsInv.OldRPGWeapons[x].ModifiedClass == InventoryType)
  3728.             {
  3729.                 OldWeapon = StatsInv.OldRPGWeapons[x].Weapon;
  3730.                 if (OldWeapon == None)
  3731.                 {
  3732.                     StatsInv.OldRPGWeapons.Remove(x, 1);
  3733.                     x--;
  3734.                 }
  3735.                 else
  3736.                 {
  3737.                     NewWeaponClass = OldWeapon.Class;
  3738.                     StatsInv.OldRPGWeapons.Remove(x, 1);
  3739.                     bRemoveReference = true;
  3740.                     break;
  3741.                 }
  3742.             }
  3743.  
  3744.     if (NewWeaponClass == None)
  3745.         NewWeaponClass = RPGMut.GetRandomWeaponModifier(class<Weapon>(InventoryType), Other);
  3746.  
  3747.     Copy = spawn(NewWeaponClass,Other,,,rot(0,0,0));
  3748.     RPGWeapon(Copy).Generate(OldWeapon);
  3749.     RPGWeapon(Copy).SetModifiedWeapon(Weapon(spawn(InventoryType,Other,,,rot(0,0,0))), ((bDropped && OldWeapon != None && OldWeapon.bIdentified) || RPGMut.bNoUnidentified));
  3750.  
  3751.     Copy.GiveTo(Other, self);
  3752.  
  3753.     if (bRemoveReference)
  3754.         OldWeapon.RemoveReference();
  3755.  
  3756.     return Copy;
  3757. }
  3758.  
  3759. function Tick(float deltaTime)
  3760. {
  3761.     local int i;
  3762.  
  3763.     MaxDesireability = 0;
  3764.  
  3765.     if (bHidden)
  3766.         return;
  3767.     for (i = 0; i < Weapons.Length; i++)
  3768.         MaxDesireability += Weapons[i].WeaponClass.Default.AIRating;
  3769.     SpawnLockerWeapon();
  3770.  
  3771.     disable('Tick');
  3772.     bStasis = true;
  3773. }
  3774.  
  3775. auto state LockerPickup
  3776. {
  3777.     simulated function Touch( actor Other )
  3778.     {
  3779.         local Weapon Copy;
  3780.         local int i;
  3781.         local Inventory Inv;
  3782.         local Pawn P;
  3783.  
  3784.         // If touched by a player pawn, let him pick this up.
  3785.         if( ValidTouch(Other) )
  3786.         {
  3787.             P = Pawn(Other);
  3788.             if ( (PlayerController(P.Controller) != None) && (Viewport(PlayerController(P.Controller).Player) != None) )
  3789.             {
  3790.                 if ( (Effect != None) && !Effect.bHidden )
  3791.                     Effect.TurnOff(30);
  3792.             }
  3793.             if ( Role < ROLE_Authority )
  3794.                 return;
  3795.             if ( !AddCustomer(P) )
  3796.                 return;
  3797.             TriggerEvent(Event, self, P);
  3798.             for ( i=0; i<Weapons.Length; i++ )
  3799.             {
  3800.                 InventoryType = Weapons[i].WeaponClass;
  3801.                 Copy = None;
  3802.                 for (Inv = P.Inventory; Inv != None; Inv = Inv.Inventory)
  3803.                     if ( Inv.Class == Weapons[i].WeaponClass
  3804.                          || (RPGWeapon(Inv) != None && RPGWeapon(Inv).ModifiedWeapon.Class == Weapons[i].WeaponClass) )
  3805.                     {
  3806.                         Copy = Weapon(Inv);
  3807.                         break;
  3808.                     }
  3809.                 if ( Copy != None )
  3810.                     Copy.FillToInitialAmmo();
  3811.                 else if ( Level.Game.PickupQuery(P, self) )
  3812.                 {
  3813.                     Copy = Weapon(SpawnCopy(P));
  3814.                     if ( Copy != None )
  3815.                     {
  3816.                         Copy.PickupFunction(P);
  3817.                         if ( Weapons[i].ExtraAmmo > 0 )
  3818.                             Copy.AddAmmo(Weapons[i].ExtraAmmo, 0);
  3819.                     }
  3820.                 }
  3821.             }
  3822.  
  3823.             AnnouncePickup(P);
  3824.         }
  3825.     }
  3826. }
  3827.  
  3828. //Hack fix for Shock Rifle so bots will recognize that they can do combos with a RPGWeapon modifying a shock rifle
  3829. class RPGShockProjFire extends ShockProjFire;
  3830.  
  3831. function projectile SpawnProjectile(Vector Start, Rotator Dir)
  3832. {
  3833.     local Projectile p;
  3834.  
  3835.     p = Super(ProjectileFire).SpawnProjectile(Start,Dir);
  3836.     if ( (ShockRifle(Weapon) != None) && (p != None) )
  3837.         ShockRifle(Weapon).SetComboTarget(ShockProjectile(P));
  3838.     return p;
  3839. }
  3840.  
  3841. Y//Hack fix for Shock Rifle so bots will recognize that they can do combos with a RPGWeapon modifying a shock rifle
  3842. class RPGShockProjectile extends ShockProjectile;
  3843.  
  3844. event TakeDamage(int Damage, Pawn EventInstigator, vector HitLocation, vector Momentum, class<DamageType> DamageType)
  3845. {
  3846.     if (DamageType == ComboDamageType && RPGWeapon(EventInstigator.Weapon) != None)
  3847.         RPGWeapon(EventInstigator.Weapon).AdjustTargetDamage(Damage, self, HitLocation, Momentum, DamageType);
  3848.  
  3849.     Super.TakeDamage(Damage, EventInstigator, HitLocation, Momentum, DamageType);
  3850. }
  3851.  
  3852. State WaitForCombo
  3853. {
  3854.     function Tick(float DeltaTime)
  3855.     {
  3856.         if ( (ComboTarget == None) || ComboTarget.bDeleteMe
  3857.             || (Instigator == None) || (ShockRifle(Instigator.Weapon) == None && (RPGWeapon(Instigator.Weapon) == None || ShockRifle(RPGWeapon(Instigator.Weapon).ModifiedWeapon) == None)) )
  3858.         {
  3859.             GotoState('');
  3860.             return;
  3861.         }
  3862.  
  3863.         if ( (VSize(ComboTarget.Location - Location) <= 0.5 * ComboRadius + ComboTarget.CollisionRadius)
  3864.             || ((Velocity Dot (ComboTarget.Location - Location)) <= 0) )
  3865.         {
  3866.             if (ShockRifle(Instigator.Weapon) != None)
  3867.                 ShockRifle(Instigator.Weapon).DoCombo();
  3868.             else if (ShockRifle(RPGWeapon(Instigator.Weapon).ModifiedWeapon) != None && ShockRifle(RPGWeapon(Instigator.Weapon).ModifiedWeapon).bWaitForCombo)
  3869.             {
  3870.                 ShockRifle(RPGWeapon(Instigator.Weapon).ModifiedWeapon).bWaitForCombo = false;
  3871.                 Instigator.Weapon.StartFire(0);
  3872.             }
  3873.             GotoState('');
  3874.             return;
  3875.         }
  3876.     }
  3877. }
  3878. T ì.ûT 5,2%+T  G!Nîclass RPGRules extends GameRules;
  3879.  
  3880. var MutUT2004RPG RPGMut;
  3881. var int PointsPerLevel;
  3882. var float LevelDiffExpGainDiv;
  3883. var bool bAwardedFirstBlood;
  3884.  
  3885. function PostBeginPlay()
  3886. {
  3887.     local GameObjective GO;
  3888.  
  3889.     SetTimer(Level.TimeDilation, true);
  3890.  
  3891.     //hack to deal with Assault's stupid hardcoded scoring setup
  3892.     if (Level.Game.IsA('ASGameInfo'))
  3893.         foreach AllActors(class'GameObjective', GO)
  3894.             GO.Score = 0;
  3895.  
  3896.     Super.PostBeginPlay();
  3897. }
  3898.  
  3899. function RPGStatsInv GetStatsInvFor(Controller C, optional bool bMustBeOwner)
  3900. {
  3901.     local Inventory Inv;
  3902.  
  3903.     for (Inv = C.Inventory; Inv != None; Inv = Inv.Inventory)
  3904.         if ( RPGStatsInv(Inv) != None && ( !bMustBeOwner || Inv.Owner == C || Inv.Owner == C.Pawn
  3905.                            || (Vehicle(C.Pawn) != None && Inv.Owner == Vehicle(C.Pawn).Driver) ) )
  3906.             return RPGStatsInv(Inv);
  3907.  
  3908.     //fallback - shouldn't happen
  3909.     if (C.Pawn != None)
  3910.     {
  3911.         Inv = C.Pawn.FindInventoryType(class'RPGStatsInv');
  3912.         if ( Inv != None && ( !bMustBeOwner || Inv.Owner == C || Inv.Owner == C.Pawn
  3913.                       || (Vehicle(C.Pawn) != None && Inv.Owner == Vehicle(C.Pawn).Driver) ) )
  3914.             return RPGStatsInv(Inv);
  3915.     }
  3916.  
  3917.     return None;
  3918. }
  3919.  
  3920. function ScoreKill(Controller Killer, Controller Killed)
  3921. {
  3922.     local RPGPlayerDataObject KillerData, KilledData;
  3923.     local int x, MonsterScore, LevelDifference;
  3924.     local Inventory Inv, NextInv;
  3925.     local RPGStatsInv StatsInv;
  3926.     local vector TossVel, U, V, W;
  3927.  
  3928.     Super.ScoreKill(Killer, Killed);
  3929.  
  3930.     //make killed pawn drop any artifacts he's got
  3931.     if (Killed.Pawn != None)
  3932.     {
  3933.         Inv = Killed.Pawn.Inventory;
  3934.         while (Inv != None)
  3935.         {
  3936.             NextInv = Inv.Inventory;
  3937.             if (RPGArtifact(Inv) != None)
  3938.             {
  3939.                 TossVel = Vector(Killed.Pawn.GetViewRotation());
  3940.                 TossVel = TossVel * ((Killed.Pawn.Velocity Dot TossVel) + 500) + Vect(0,0,200);
  3941.                 TossVel += VRand() * (100 + Rand(250));
  3942.                 Inv.Velocity = TossVel;
  3943.                 Killed.Pawn.GetAxes(Killed.Pawn.Rotation, U, V, W);
  3944.                 Inv.DropFrom(Killed.Pawn.Location + 0.8 * Killed.Pawn.CollisionRadius * U - 0.5 * Killed.Pawn.CollisionRadius * V);
  3945.             }
  3946.             Inv = NextInv;
  3947.         }
  3948.     }
  3949.  
  3950.     if (Killer == None || Killed == None)
  3951.         return;
  3952.  
  3953.     //exp for killing a monster
  3954.     if (Killed.Pawn != None && Killed.Pawn.IsA('Monster'))
  3955.     {
  3956.         MonsterScore = int(Killed.Pawn.GetPropertyText("ScoringValue"));
  3957.  
  3958.         StatsInv = GetStatsInvFor(Killer);
  3959.         if (StatsInv != None)
  3960.         {
  3961.             KillerData = StatsInv.DataObject;
  3962.             for (x = 0; x < KillerData.Abilities.length; x++)
  3963.                 KillerData.Abilities[x].static.ScoreKill(Killer, Killed, true, KillerData.AbilityLevels[x]);
  3964.             KillerData.Experience += MonsterScore;
  3965.             RPGMut.CheckLevelUp(KillerData, Killer.PlayerReplicationInfo);
  3966.         }
  3967.         return;
  3968.     }
  3969.  
  3970.     if ( Killer == Killed || !Killed.bIsPlayer || !Killer.bIsPlayer
  3971.          || (Killer.PlayerReplicationInfo != None && Killer.PlayerReplicationInfo.Team != None && Killed.PlayerReplicationInfo != None && Killer.PlayerReplicationInfo.Team == Killed.PlayerReplicationInfo.Team) )
  3972.         return;
  3973.  
  3974.     //get data
  3975.     StatsInv = GetStatsInvFor(Killer);
  3976.     if (StatsInv == None)
  3977.     {
  3978.         Log("KillerData not found for "$Killer.GetHumanReadableName());
  3979.         return;
  3980.     }
  3981.     KillerData = StatsInv.DataObject;
  3982.  
  3983.     StatsInv = GetStatsInvFor(Killed);
  3984.     if (StatsInv == None)
  3985.     {
  3986.         Log("KilledData not found for "$Killed.GetHumanReadableName());
  3987.         return;
  3988.     }
  3989.     KilledData = StatsInv.DataObject;
  3990.  
  3991.     for (x = 0; x < KillerData.Abilities.length; x++)
  3992.         KillerData.Abilities[x].static.ScoreKill(Killer, Killed, true, KillerData.AbilityLevels[x]);
  3993.     for (x = 0; x < KilledData.Abilities.length; x++)
  3994.         KilledData.Abilities[x].static.ScoreKill(Killer, Killed, false, KilledData.AbilityLevels[x]);
  3995.  
  3996.     LevelDifference = Max(0, KilledData.Level - KillerData.Level);
  3997.     if (LevelDifference > 0)
  3998.         LevelDifference = int(float(LevelDifference*LevelDifference) / LevelDiffExpGainDiv);
  3999.     //cap gained exp to enough to get to Killed's level
  4000.     if (KilledData.Level - KillerData.Level > 0 && LevelDifference > (KilledData.Level - KillerData.Level) * KilledData.NeededExp)
  4001.         LevelDifference = (KilledData.Level - KillerData.Level) * KilledData.NeededExp;
  4002.     KillerData.Experience += LevelDifference + 1;
  4003.  
  4004.     //bonus experience for multikills
  4005.     if (UnrealPlayer(Killer) != None && UnrealPlayer(Killer).MultiKillLevel > 0)
  4006.         KillerData.Experience += Min(Square(float(UnrealPlayer(Killer).MultiKillLevel)), 100);
  4007.     else if (AIController(Killer) != None && Killer.Pawn != None && Killer.Pawn.Inventory != None)
  4008.         Killer.Pawn.Inventory.OwnerEvent('RPGScoreKill');    //hack to record multikills for bots (handled by RPGStatsInv)
  4009.  
  4010.     //bonus experience for sprees
  4011.     if (Killer.Pawn != None && Killer.Pawn.GetSpree() % 5 == 0)
  4012.         KillerData.Experience += int(Square(float(Killer.Pawn.GetSpree() / 5 + 1)));
  4013.  
  4014.     //bonus experience for ending someone else's spree
  4015.     if (Killed.Pawn != None && Killed.Pawn.GetSpree() > 4)
  4016.         KillerData.Experience += Killed.Pawn.GetSpree() * 2 / 5;
  4017.  
  4018.     //bonus experience for first blood
  4019.     if (!bAwardedFirstBlood && TeamPlayerReplicationInfo(Killer.PlayerReplicationInfo) != None && TeamPlayerReplicationInfo(Killer.PlayerReplicationInfo).bFirstBlood)
  4020.     {
  4021.         KillerData.Experience += 2 * Max(KilledData.Level - KillerData.Level, 1);
  4022.         bAwardedFirstBlood = true;
  4023.     }
  4024.  
  4025.     //level up
  4026.     RPGMut.CheckLevelUp(KillerData, Killer.PlayerReplicationInfo);
  4027. }
  4028.  
  4029. //Give experience for game objectives
  4030. //Too bad Epic's code pretty much doesn't use this, but mods might take advantage of it
  4031. function ScoreObjective(PlayerReplicationInfo Scorer, Int Score)
  4032. {
  4033.     local RPGStatsInv StatsInv;
  4034.  
  4035.     if (Scorer != None && Scorer.Owner != None)
  4036.     {
  4037.         StatsInv = GetStatsInvFor(Controller(Scorer.Owner));
  4038.         if (StatsInv != None)
  4039.         {
  4040.             StatsInv.DataObject.Experience += Score;
  4041.             RPGMut.CheckLevelUp(StatsInv.DataObject, Scorer);
  4042.         }
  4043.     }
  4044.  
  4045.     Super.ScoreObjective(Scorer, Score);
  4046. }
  4047.  
  4048. function int NetDamage(int OriginalDamage, int Damage, pawn injured, pawn instigatedBy, vector HitLocation, out vector Momentum, class<DamageType> DamageType)
  4049. {
  4050.     local RPGPlayerDataObject InjuredData, InstigatedData;
  4051.     local RPGStatsInv InjuredStatsInv, InstigatedStatsInv;
  4052.     local int x, MonsterLevel;
  4053.     local FriendlyMonsterController C;
  4054.  
  4055.     if (injured == None || instigatedBy == None || injured.Controller == None || instigatedBy.Controller == None)
  4056.         return Super.NetDamage(OriginalDamage, Damage, injured, instigatedBy, HitLocation, Momentum, DamageType);
  4057.  
  4058.     C = FriendlyMonsterController(injured.Controller);
  4059.     if (C != None && C.Master != None)
  4060.     {
  4061.         if (C.Master == instigatedBy.Controller)
  4062.             Damage = OriginalDamage;
  4063.         else if (C.SameTeamAs(instigatedBy.Controller))
  4064.             Damage *= TeamGame(Level.Game).FriendlyFireScale;
  4065.     }
  4066.  
  4067.     if ( DamageType.default.bSuperWeapon || Damage >= 1000
  4068.          || (Monster(injured) != None && FriendlyMonsterController(injured.Controller) == None && Monster(instigatedBy) != None && FriendlyMonsterController(instigatedBy.Controller) == None) )
  4069.         return Super.NetDamage(OriginalDamage, Damage, injured, instigatedBy, HitLocation, Momentum, DamageType);
  4070.  
  4071.     if (Damage <= 0)
  4072.     {
  4073.         Damage = Super.NetDamage(OriginalDamage, Damage, injured, instigatedBy, HitLocation, Momentum, DamageType);
  4074.         if (Damage <= 0)
  4075.             return Damage;
  4076.     }
  4077.  
  4078.     //get data
  4079.     InstigatedStatsInv = GetStatsInvFor(instigatedBy.Controller);
  4080.     if (InstigatedStatsInv != None)
  4081.         InstigatedData = InstigatedStatsInv.DataObject;
  4082.  
  4083.     InjuredStatsInv = GetStatsInvFor(injured.Controller);
  4084.     if (InjuredStatsInv != None)
  4085.         InjuredData = InjuredStatsInv.DataObject;
  4086.  
  4087.     if (InstigatedData == None || InjuredData == None)
  4088.     {
  4089.         if (Level.Game.IsA('Invasion'))
  4090.         {
  4091.             MonsterLevel = int(Level.Game.GetPropertyText("WaveNum")) + 1;
  4092.             if (RPGMut.bAutoAdjustInvasionLevel && RPGMut.Players.Length > 0 && RPGMut.CurrentLowestLevelPlayer != None)
  4093.                 MonsterLevel += Max(0, (RPGMut.CurrentLowestLevelPlayer.Level - 20) * RPGMut.InvasionAutoAdjustFactor);
  4094.         }
  4095.         else if (RPGMut.CurrentLowestLevelPlayer != None)
  4096.             MonsterLevel = RPGMut.CurrentLowestLevelPlayer.Level;
  4097.         else
  4098.             MonsterLevel = 1;
  4099.         if ( InstigatedData == None && ( (Monster(instigatedBy) != None && FriendlyMonsterController(instigatedBy.Controller) == None)
  4100.                          || TurretController(instigatedBy.Controller) != None ) )
  4101.         {
  4102.             InstigatedData = RPGPlayerDataObject(Level.ObjectPool.AllocateObject(class'RPGPlayerDataObject'));
  4103.             InstigatedData.Attack = MonsterLevel / 2 * PointsPerLevel;
  4104.             InstigatedData.Defense = InstigatedData.Attack;
  4105.             InstigatedData.Level = MonsterLevel;
  4106.         }
  4107.         if ( InjuredData == None && ( (Monster(injured) != None && FriendlyMonsterController(injured.Controller) == None)
  4108.                           || TurretController(injured.Controller) != None ) )
  4109.         {
  4110.             InjuredData = RPGPlayerDataObject(Level.ObjectPool.AllocateObject(class'RPGPlayerDataObject'));
  4111.             InjuredData.Attack = MonsterLevel / 2 * PointsPerLevel;
  4112.             InjuredData.Defense = InjuredData.Attack;
  4113.             InjuredData.Level = MonsterLevel;
  4114.         }
  4115.     }
  4116.  
  4117.     if (InstigatedData == None)
  4118.     {
  4119.         //This should never happen
  4120.         Log("InstigatedData not found for "$instigatedBy.GetHumanReadableName());
  4121.         return Super.NetDamage(OriginalDamage, Damage, injured, instigatedBy, HitLocation, Momentum, DamageType);
  4122.     }
  4123.     if (InjuredData == None)
  4124.     {
  4125.         //This should never happen
  4126.         Log("InjuredData not found for "$injured.GetHumanReadableName());
  4127.         return Super.NetDamage(OriginalDamage, Damage, injured, instigatedBy, HitLocation, Momentum, DamageType);
  4128.     }
  4129.  
  4130.     //headshot bonus EXP
  4131.     if (DamageType == class'DamTypeSniperHeadShot' && InstigatedStatsInv != None)
  4132.     {
  4133.         InstigatedData.Experience++;
  4134.         RPGMut.CheckLevelUp(InstigatedData, InstigatedBy.PlayerReplicationInfo);
  4135.     }
  4136.  
  4137.     Damage += int((float(Damage) * (1.0 + float(InstigatedData.Attack) * 0.005)) - (float(Damage) * (1.0 + float(InjuredData.Defense) * 0.005)));
  4138.  
  4139.     if (Damage < 1)
  4140.         Damage = 1;
  4141.  
  4142.     //if player doing damage has an RPGWeapon, let it modify damage
  4143.     if (RPGWeapon(InstigatedBy.Weapon) != None)
  4144.         RPGWeapon(InstigatedBy.Weapon).AdjustTargetDamage(Damage, Injured, HitLocation, Momentum, DamageType);
  4145.  
  4146.     //Allow Abilities to react to damage
  4147.     if (InstigatedStatsInv != None)
  4148.     {
  4149.         for (x = 0; x < InstigatedData.Abilities.length; x++)
  4150.             InstigatedData.Abilities[x].static.HandleDamage(Damage, injured, instigatedBy, Momentum, DamageType, true, InstigatedData.AbilityLevels[x]);
  4151.     }
  4152.     else
  4153.         Level.ObjectPool.FreeObject(InstigatedData);
  4154.     if (InjuredStatsInv != None)
  4155.     {
  4156.         for (x = 0; x < InjuredData.Abilities.length; x++)
  4157.             InjuredData.Abilities[x].static.HandleDamage(Damage, injured, instigatedBy, Momentum, DamageType, false, InjuredData.AbilityLevels[x]);
  4158.     }
  4159.     else
  4160.         Level.ObjectPool.FreeObject(InjuredData);
  4161.  
  4162.     return Super.NetDamage(OriginalDamage, Damage, injured, instigatedBy, HitLocation, Momentum, DamageType);
  4163. }
  4164.  
  4165. function bool OverridePickupQuery(Pawn Other, Pickup item, out byte bAllowPickup)
  4166. {
  4167.     local RPGStatsInv StatsInv;
  4168.     local int x;
  4169.  
  4170.     //increase value of ammo pickups based on Max Ammo stat
  4171.     if (Other.Controller != None)
  4172.     {
  4173.         StatsInv = GetStatsInvFor(Other.Controller);
  4174.         if (StatsInv != None)
  4175.         {
  4176.             if (Ammo(item) != None)
  4177.                 Ammo(item).AmmoAmount = int(Ammo(item).default.AmmoAmount * (1.0 + float(StatsInv.Data.AmmoMax) / 100.f));
  4178.  
  4179.             for (x = 0; x < StatsInv.Data.Abilities.length; x++)
  4180.                 if (StatsInv.Data.Abilities[x].static.OverridePickupQuery(Other, item, bAllowPickup, StatsInv.Data.AbilityLevels[x]))
  4181.                     return true;
  4182.         }
  4183.     }
  4184.  
  4185.     return Super.OverridePickupQuery(Other, item, bAllowPickup);
  4186. }
  4187.  
  4188. function bool PreventDeath(Pawn Killed, Controller Killer, class<DamageType> damageType, vector HitLocation)
  4189. {
  4190.     local bool bAlreadyPrevented;
  4191.     local int x;
  4192.     local RPGStatsInv StatsInv;
  4193.     local FriendlyMonsterKillMarker M;
  4194.     local TeamPlayerReplicationInfo TPRI;
  4195.     local Controller KilledController;
  4196.  
  4197.     bAlreadyPrevented = Super.PreventDeath(Killed, Killer, damageType, HitLocation);
  4198.  
  4199.     if (Killed.Controller != None)
  4200.         KilledController = Killed.Controller;
  4201.     else if (Killed.DrivenVehicle != None && Killed.DrivenVehicle.Controller != None)
  4202.         KilledController = Killed.DrivenVehicle.Controller;
  4203.     if (KilledController != None)
  4204.         StatsInv = GetStatsInvFor(KilledController, true);
  4205.  
  4206.     if (StatsInv != None)
  4207.     {
  4208.         //FIXME should Pawn even be calling PreventDeath() if its Controller is bPendingDelete?
  4209.         if (!KilledController.bPendingDelete)
  4210.         {
  4211.             for (x = 0; x < StatsInv.Data.Abilities.length; x++)
  4212.                 if (StatsInv.Data.Abilities[x].static.PreventDeath(Killed, Killer, damageType, HitLocation, StatsInv.Data.AbilityLevels[x], bAlreadyPrevented))
  4213.                     bAlreadyPrevented = true;
  4214.         }
  4215.  
  4216.         //tell StatsInv its owner died
  4217.         if (!bAlreadyPrevented)
  4218.             StatsInv.OwnerDied();
  4219.     }
  4220.  
  4221.     if (bAlreadyPrevented)
  4222.         return true;
  4223.  
  4224.     //Hack to give master credit for all his/her monster's kills
  4225.     if (FriendlyMonsterController(Killer) != None && FriendlyMonsterController(Killer).Master != None)
  4226.     {
  4227.         M = spawn(class'FriendlyMonsterKillMarker', Killed);
  4228.         M.Killer = FriendlyMonsterController(Killer).Master;
  4229.         M.Health = Killed.Health;
  4230.         M.DamageType = damageType;
  4231.         M.HitLocation = HitLocation;
  4232.         return true;
  4233.     }
  4234.  
  4235.     //Hack to give EXP and game stats (but NOT points) for killing someone else's monster
  4236.     if (FriendlyMonsterController(Killed.Controller) != None)
  4237.     {
  4238.         //don't count this monster as part of an Invasion wave
  4239.         if (Invasion(Level.Game) != None)
  4240.             Invasion(Level.Game).NumMonsters++;
  4241.  
  4242.         if (Killer != None && Killer != Killed && Killer.bIsPlayer)
  4243.         {
  4244.             if (FriendlyMonsterController(Killed.Controller).Master != Killer)
  4245.             {
  4246.                 Level.Game.GameRulesModifiers.ScoreKill(Killer, Killed.Controller);
  4247.                 TPRI = TeamPlayerReplicationInfo(Killer.PlayerReplicationInfo);
  4248.                 if (TPRI != None)
  4249.                 {
  4250.                     TPRI.Kills++;
  4251.                     TPRI.AddWeaponKill(damageType);
  4252.                 }
  4253.             }
  4254.  
  4255.             M = spawn(class'FriendlyMonsterKillMarker', Killed);
  4256.             M.Health = Killed.Health;
  4257.             M.DamageType = damageType;
  4258.             M.HitLocation = HitLocation;
  4259.             Killed.Controller.Destroy();
  4260.             return true;
  4261.         }
  4262.     }
  4263.  
  4264.     return false;
  4265. }
  4266.  
  4267. function bool PreventSever(Pawn Killed, name boneName, int Damage, class<DamageType> DamageType)
  4268. {
  4269.     local int x;
  4270.     local RPGStatsInv StatsInv;
  4271.  
  4272.     if (Killed.Controller != None)
  4273.     {
  4274.         StatsInv = GetStatsInvFor(Killed.Controller, true);
  4275.         if (StatsInv != None)
  4276.             for (x = 0; x < StatsInv.Data.Abilities.length; x++)
  4277.                 if (StatsInv.Data.Abilities[x].static.PreventSever(Killed, boneName, Damage, DamageType, StatsInv.Data.AbilityLevels[x]))
  4278.                     return true;
  4279.     }
  4280.  
  4281.     return Super.PreventSever(Killed, boneName, Damage, DamageType);
  4282. }
  4283.  
  4284. function Timer()
  4285. {
  4286.     local Controller C;
  4287.     local Inventory Inv;
  4288.     local RPGStatsInv StatsInv;
  4289.     local int x;
  4290.  
  4291.     if (Level.Game.bGameEnded)
  4292.     {
  4293.         if (TeamInfo(Level.Game.GameReplicationInfo.Winner) != None)
  4294.         {
  4295.             for (C = Level.ControllerList; C != None; C = C.NextController)
  4296.                 if (C.PlayerReplicationInfo != None && C.PlayerReplicationInfo.Team == Level.Game.GameReplicationInfo.Winner)
  4297.                 {
  4298.                     StatsInv = GetStatsInvFor(C);
  4299.                     if (StatsInv != None)
  4300.                     {
  4301.                         StatsInv.DataObject.Experience += RPGMut.EXPForWin;
  4302.                         RPGMut.CheckLevelUp(StatsInv.DataObject, C.PlayerReplicationInfo);
  4303.                     }
  4304.                 }
  4305.         }
  4306.         else if ( PlayerReplicationInfo(Level.Game.GameReplicationInfo.Winner) != None
  4307.               && Controller(PlayerReplicationInfo(Level.Game.GameReplicationInfo.Winner).Owner) != None )
  4308.         {
  4309.             StatsInv = GetStatsInvFor(Controller(PlayerReplicationInfo(Level.Game.GameReplicationInfo.Winner).Owner));
  4310.             if (StatsInv != None)
  4311.             {
  4312.                 StatsInv.DataObject.Experience += RPGMut.EXPForWin;
  4313.                 RPGMut.CheckLevelUp(StatsInv.DataObject, PlayerReplicationInfo(Level.Game.GameReplicationInfo.Winner));
  4314.                 Log(PlayerReplicationInfo(Level.Game.GameReplicationInfo.Winner).PlayerName@"won the match, awarded "$RPGMut.EXPForWin$" EXP");
  4315.             }
  4316.         }
  4317.  
  4318.         //Bots get a configurable amount of bonus levels after the game to counter that they're in only a fraction
  4319.         //of the total games played on the machine
  4320.         for (C = Level.ControllerList; C != None; C = C.NextController)
  4321.             if (Bot(C) != None)
  4322.             {
  4323.                 StatsInv = GetStatsInvFor(C);
  4324.                 if (StatsInv != None)
  4325.                 {
  4326.                     for (x = 0; x < RPGMut.BotBonusLevels; x++)
  4327.                     {
  4328.                         StatsInv.DataObject.Experience += StatsInv.DataObject.NeededExp;
  4329.                         RPGMut.CheckLevelUp(StatsInv.DataObject, None);
  4330.                     }
  4331.                     RPGMut.BotLevelUp(Bot(C), StatsInv.DataObject);
  4332.                 }
  4333.             }
  4334.  
  4335.         SetTimer(0, false);
  4336.     }
  4337.     else if (Level.Game.ResetCountDown == 2)
  4338.     {
  4339.         //unattach all RPGStatsInv from any pawns because the game is resetting and all pawns are about to be destroyed
  4340.         //this is done here to insure it happens right before the game actually resets anything
  4341.         for (C = Level.ControllerList; C != None; C = C.NextController)
  4342.             if (C.bIsPlayer)
  4343.                 for (Inv = C.Inventory; Inv != None; Inv = Inv.Inventory)
  4344.                     if (RPGStatsInv(Inv) != None && Inv.Owner != C && Inv.Owner != None)
  4345.                     {
  4346.                         RPGStatsInv(Inv).OwnerDied();
  4347.                         break;
  4348.                     }
  4349.     }
  4350. }
  4351.  
  4352. function bool HandleRestartGame()
  4353. {
  4354.     RPGMut.SaveData();
  4355.  
  4356.     return Super.HandleRestartGame();
  4357. }
  4358. Tclass AbilityMonsterSummon extends RPGAbility
  4359.     abstract;
  4360.  
  4361. static function bool AbilityIsAllowed(GameInfo Game, MutUT2004RPG RPGMut)
  4362. {
  4363.     //make sure invasion monsters get loaded
  4364.     if (DynamicLoadObject("SkaarjPack.Invasion", class'Class', true) == None)
  4365.         return false;
  4366.  
  4367.     return true;
  4368. }
  4369.  
  4370. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  4371. {
  4372.     if (Data.Attack < 75 || Data.Defense < 75)
  4373.         return 0;
  4374.     else if (CurrentLevel == 0)
  4375.         return 20;
  4376.     else
  4377.         return Super.Cost(Data, CurrentLevel);
  4378. }
  4379.  
  4380. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  4381. {
  4382.     local MonsterInv M;
  4383.  
  4384.     if (Other.Role != ROLE_Authority || Other.Controller == None || !Other.Controller.bIsPlayer)
  4385.         return;
  4386.  
  4387.     //remove old one, if it exists
  4388.     //might happen if player levels up this ability while still alive
  4389.     M = MonsterInv(Other.FindInventoryType(class'MonsterInv'));
  4390.     if (M != None)
  4391.     {
  4392.         if (M.AbilityLevel != AbilityLevel)
  4393.         {
  4394.             M.CurrentMonster.Pawn.Died(None, class'DamageType', vect(0,0,0));
  4395.             M.AbilityLevel = AbilityLevel;
  4396.             M.SpawnMonster(true);
  4397.         }
  4398.         return;
  4399.     }
  4400.  
  4401.     M = Other.spawn(class'MonsterInv', Other,,,rot(0,0,0));
  4402.     M.AbilityLevel = AbilityLevel;
  4403.     M.GiveTo(Other);
  4404. }
  4405.  
  4406. ÇMPAtôè:äää-LrJ GrQ \    r\* \Dv9D½9?A½═╠L=9?NQ \ Ö# G G K //Confirm the player really, really wants to reset his own stats to the beginning
  4407. class RPGResetConfirmPage extends GUIPage;
  4408.  
  4409. var RPGStatsMenu StatsMenu;
  4410.  
  4411. function InitComponent(GUIController MyController, GUIComponent MyOwner)
  4412. {
  4413.     Super.InitComponent(MyController, MyOwner);
  4414.  
  4415.     OnClose=MyOnClose;
  4416. }
  4417.  
  4418. function bool InternalOnClick(GUIComponent Sender)
  4419. {
  4420.     local GUIController OldController;
  4421.  
  4422.     if (Sender==Controls[1])
  4423.     {
  4424.         OldController = Controller;
  4425.         StatsMenu.StatsInv.ServerResetData(PlayerOwner().PlayerReplicationInfo);
  4426.         Controller.CloseMenu(false);
  4427.         OldController.CloseMenu(false);
  4428.     }
  4429.     else
  4430.         Controller.CloseMenu(false);
  4431.  
  4432.     return true;
  4433. }
  4434.  
  4435. function MyOnClose(optional bool bCanceled)
  4436. {
  4437.     StatsMenu = None;
  4438.  
  4439.     Super.OnClose(bCanceled);
  4440. }
  4441.  
  4442. l //Shows levels of all players in game
  4443. class RPGPlayerLevelsMenu extends LargeWindow;
  4444.  
  4445. var bool bClean;
  4446. var automated GUIScrollTextBox MyScrollText;
  4447. var automated GUIButton CloseButton;
  4448. var localized string DefaultText;
  4449.  
  4450. function InitComponent(GUIController MyController, GUIComponent MyOwner)
  4451. {
  4452.     Super.InitComponent(MyController, MyOwner);
  4453.  
  4454.     bClean = true;
  4455.     MyScrollText.SetContent(DefaultText);
  4456. }
  4457.  
  4458. function bool CloseClick(GUIComponent Sender)
  4459. {
  4460.     Controller.CloseMenu(false);
  4461.  
  4462.     return true;
  4463. }
  4464.  
  4465. function ProcessPlayerLevel(string PlayerString)
  4466. {
  4467.     if (PlayerString == "")
  4468.     {
  4469.         bClean = true;
  4470.         MyScrollText.SetContent(DefaultText);
  4471.     }
  4472.     else
  4473.     {
  4474.         if (bClean)
  4475.             MyScrollText.SetContent(PlayerString);
  4476.         else
  4477.             MyScrollText.AddText(PlayerString);
  4478.  
  4479.         bClean = false;
  4480.     }
  4481. }
  4482.  
  4483. s//Hack fix for Painter to fix some Accessed Nones
  4484. class RPGPainterFire extends PainterFire;
  4485.  
  4486. state Paint
  4487. {
  4488.     function Rotator AdjustAim(Vector Start, float InAimError)
  4489.     {
  4490.         if ( Bot(Instigator.Controller) != None )
  4491.         {
  4492.             Instigator.Controller.Focus = None;
  4493.             if ( bAlreadyMarked )
  4494.                 Instigator.Controller.FocalPoint = MarkLocation;
  4495.             else
  4496.                 Instigator.Controller.FocalPoint = Painter(Weapon).MarkLocation;
  4497.             return rotator(Instigator.Controller.FocalPoint - Start);
  4498.         }
  4499.         else
  4500.             return Global.AdjustAim(Start, InAimError);
  4501.     }
  4502.  
  4503.     function BeginState()
  4504.     {
  4505.         IonCannon = None;
  4506.  
  4507.         if (Weapon.Role == ROLE_Authority)
  4508.         {
  4509.             if (Beam == None)
  4510.             {
  4511.                 Beam = Spawn(class'RPGPainterBeamEffect');
  4512.             }
  4513.             bInitialMark = true;
  4514.             bValidMark = false;
  4515.             MarkTime = Level.TimeSeconds;
  4516.             SetTimer(0.25, true);
  4517.         }
  4518.  
  4519.         ClientPlayForceFeedback(TAGFireForce);
  4520.     }
  4521. }
  4522. Jǃk&class RPGPainterBeamEffect extends PainterBeamEffect;
  4523.  
  4524. simulated function Tick(float dt)
  4525. {
  4526.     local Vector BeamDir;
  4527.     local Vector X,Y,Z;
  4528.     local xWeaponAttachment Attachment;
  4529.  
  4530.     if (Role == ROLE_Authority && (Instigator == None || Instigator.Controller == None))
  4531.     {
  4532.         Destroy();
  4533.         return;
  4534.     }
  4535.  
  4536.     if (Level.NetMode == NM_DedicatedServer)
  4537.     {
  4538.         StartEffect = Instigator.Location + Instigator.EyeHeight*Vect(0,0,1);
  4539.         return;
  4540.     }
  4541.  
  4542.     // set beam start location
  4543.     if ( Instigator == None )
  4544.     {
  4545.         SetLocation(StartEffect);
  4546.     }
  4547.     else
  4548.     {
  4549.         if ( Instigator.IsFirstPerson() && Instigator.Weapon != None )
  4550.         {
  4551.         if ( Instigator.Weapon.WeaponCentered() )
  4552.             SetLocation( Instigator.Location );
  4553.         else
  4554.         {
  4555.             Instigator.Weapon.GetViewAxes(X, Y, Z);
  4556.             SetLocation( (Instigator.Location + Instigator.CalcDrawOffset(Instigator.Weapon) + EffectOffset.X * X + Instigator.Weapon.Hand * EffectOffset.Y * Y + EffectOffset.Z * Z) );
  4557.         }
  4558.  
  4559.         if (Painter(Instigator.Weapon) != None)
  4560.             EndEffect = Painter(Instigator.Weapon).EndEffect;
  4561.         else if (RPGWeapon(Instigator.Weapon) != None && Painter(RPGWeapon(Instigator.Weapon).ModifiedWeapon) != None)
  4562.             EndEffect = Painter(RPGWeapon(Instigator.Weapon).ModifiedWeapon).EndEffect;
  4563.         }
  4564.         else
  4565.         {
  4566.             Attachment = xPawn(Instigator).WeaponAttachment;
  4567.             if (Attachment != None && (Level.TimeSeconds - Attachment.LastRenderTime) < 1)
  4568.                 SetLocation( Attachment.GetTipLocation() );
  4569.             else
  4570.                 SetLocation( Instigator.Location + Instigator.EyeHeight*Vect(0,0,1) + Normal(EndEffect - Instigator.Location) * 25.0 );
  4571.         }
  4572.         if (Role == ROLE_Authority) // what clients will use if their instigator is not relevant yet
  4573.             StartEffect = Location;
  4574.     }
  4575.  
  4576.     BeamDir = Normal(EndEffect - Location);
  4577.     SetRotation(Rotator(BeamDir));
  4578.  
  4579.     mSpawnVecA = EndEffect;
  4580.  
  4581.     if (Spot != None)
  4582.     {
  4583.         Spot.SetLocation(EndEffect - BeamDir*10.0);
  4584.     }
  4585.  
  4586.     if (TargetState == PTS_Marked)
  4587.     {
  4588.         if (Brightness == 40.0)
  4589.             PlaySound(MarkSound);
  4590.         SetBrightness( FMax(FMin(Brightness+dt*100.0, 250.0), 100.0) );
  4591.     }
  4592.     else
  4593.         SetBrightness( 40.0 );
  4594.  
  4595.     if (TargetState == PTS_Aquired)
  4596.         GotoState('Aquired');
  4597.     else if (TargetState == PTS_Cancelled)
  4598.         GotoState('Cancelled');
  4599. }
  4600. o //
  4601. // Message for warning about name problems
  4602. //
  4603. // Switch 0: Warn that name is already in use by someone who's visited the server
  4604. //
  4605. // Switch 1: Warn that name changing while alive is not allowed
  4606. //
  4607.  
  4608. class RPGNameMessage extends LocalMessage;
  4609.  
  4610. var(Message) localized string ImposterString, NoNameChangeString;
  4611.  
  4612. static function color GetConsoleColor( PlayerReplicationInfo RelatedPRI_1 )
  4613. {
  4614.     return class'HUD'.Default.WhiteColor;
  4615. }
  4616.  
  4617. static function string GetString(
  4618.     optional int Switch,
  4619.     optional PlayerReplicationInfo RelatedPRI_1, 
  4620.     optional PlayerReplicationInfo RelatedPRI_2,
  4621.     optional Object OptionalObject 
  4622.     )
  4623. {
  4624.     if (Switch == 0)
  4625.         return Default.ImposterString;
  4626.     else
  4627.         return Default.NoNameChangeString;
  4628. }
  4629.  
  4630. 9class UT2004RPGKeyBinding extends GUIUserKeyBinding;
  4631.  
  4632. D Æ.ûD 3,d%+D Q G!∙[c                   ] æÆ∙·╥±aî=L
  4633. YφBx= UT2004 RPGW╙B]RPGStatsMenux]Open Stats MenuWSB]ActivateItemx]Activate ArtifactWSB]
  4634.     PrevItemx]Previous ArtifactWSB]
  4635.     NextItemx]Next ArtifactWSB]TossArtifactx]Toss ArtifactWSU//Hack fix for Link Gun so you can link with RPGWeapons that have LinkGun as their ModifiedWeapon
  4636. class RPGLinkGunPickup extends LinkGunPickup;
  4637.  
  4638. ÇE\o :GDw.╧o*.╧o╤«.╧o╤9?É,V G!Da//Hack fix for Link Gun so you can link with RPGWeapons that have LinkGun as their ModifiedWeapon
  4639. class RPGLinkGun extends LinkGun
  4640.     HideDropDown
  4641.     CacheExempt;
  4642.  
  4643. function bool ConsumeAmmo(int Mode, float load, optional bool bAmountNeededIsMax)
  4644. {
  4645.     local Controller C;
  4646.  
  4647.     if ( Linking && LinkFire(FireMode[1]).LockedPawn != None
  4648.          && ( LinkGun(LinkFire(FireMode[1]).LockedPawn.Weapon) != None
  4649.               || (RPGWeapon(LinkFire(FireMode[1]).LockedPawn.Weapon) != None && LinkGun(RPGWeapon(LinkFire(FireMode[1]).LockedPawn.Weapon).ModifiedWeapon) != None) ) )
  4650.         return true;
  4651.  
  4652.     //use ammo from linking teammates
  4653.     if (Instigator != None && Instigator.PlayerReplicationInfo != None && Instigator.PlayerReplicationInfo.Team != None)
  4654.     {
  4655.         for (C = Level.ControllerList; C != None; C = C.NextController)
  4656.             if (C.Pawn != None && C.Pawn.Weapon != None)
  4657.             {
  4658.                 if (LinkGun(C.Pawn.Weapon) != None && LinkGun(C.Pawn.Weapon).LinkedTo(self))
  4659.                     LinkGun(C.Pawn.Weapon).LinkedConsumeAmmo(Mode, load, bAmountNeededIsMax);
  4660.                 else if ( RPGWeapon(C.Pawn.Weapon) != None && LinkGun(RPGWeapon(C.Pawn.Weapon).ModifiedWeapon) != None
  4661.                       && LinkGun(RPGWeapon(C.Pawn.Weapon).ModifiedWeapon).LinkedTo(self) )
  4662.                     LinkGun(RPGWeapon(C.Pawn.Weapon).ModifiedWeapon).LinkedConsumeAmmo(Mode, load, bAmountNeededIsMax);
  4663.             }
  4664.     }
  4665.  
  4666.     return Super.ConsumeAmmo(Mode, load, bAmountNeededIsMax);
  4667. }
  4668.  
  4669. simulated function bool StartFire(int Mode)
  4670. {
  4671.     local SquadAI S;
  4672.     local Bot B;
  4673.     local vector AimDir;
  4674.  
  4675.     if ( (Role == ROLE_Authority) && (PlayerController(Instigator.Controller) != None) && (UnrealTeamInfo(Instigator.PlayerReplicationInfo.Team) != None))
  4676.     {
  4677.         S = UnrealTeamInfo(Instigator.PlayerReplicationInfo.Team).AI.GetSquadLedBy(Instigator.Controller);
  4678.         if ( S != None )
  4679.         {
  4680.             AimDir = vector(Instigator.Controller.Rotation);
  4681.             for ( B=S.SquadMembers; B!=None; B=B.NextSquadMember )
  4682.                 if ( (HoldSpot(B.GoalScript) == None)
  4683.                     && (B.Pawn != None)
  4684.                     && (LinkGun(B.Pawn.Weapon) != None || (RPGWeapon(B.Pawn.Weapon) != None && LinkGun(RPGWeapon(B.Pawn.Weapon).ModifiedWeapon) != None))
  4685.                     && B.Pawn.Weapon.FocusOnLeader(true)
  4686.                     && ((AimDir dot Normal(B.Pawn.Location - Instigator.Location)) < 0.9) )
  4687.                 {
  4688.                     B.Focus = Instigator;
  4689.                     B.FireWeaponAt(Instigator);
  4690.                 }
  4691.         }
  4692.     }
  4693.     return Super.StartFire(Mode);
  4694. }
  4695.  
  4696. function bool FocusOnLeader(bool bLeaderFiring)
  4697. {
  4698.     local Bot B;
  4699.     local Pawn LeaderPawn;
  4700.     local Actor Other;
  4701.     local vector HitLocation, HitNormal, StartTrace;
  4702.     local Vehicle V;
  4703.  
  4704.     B = Bot(Instigator.Controller);
  4705.     if ( B == None )
  4706.         return false;
  4707.     if ( PlayerController(B.Squad.SquadLeader) != None )
  4708.         LeaderPawn = B.Squad.SquadLeader.Pawn;
  4709.     else
  4710.     {
  4711.         V = B.Squad.GetLinkVehicle(B);
  4712.         if ( V != None )
  4713.         {
  4714.             LeaderPawn = V;
  4715.             bLeaderFiring = (LeaderPawn.Health < LeaderPawn.HealthMax) && (V.LinkHealMult > 0)
  4716.                             && ((B.Enemy == None) || V.bKeyVehicle);
  4717.         }
  4718.     }
  4719.     if ( LeaderPawn == None )
  4720.     {
  4721.         LeaderPawn = B.Squad.SquadLeader.Pawn;
  4722.         if ( LeaderPawn == None )
  4723.             return false;
  4724.     }
  4725.     if ( !bLeaderFiring && (LeaderPawn.Weapon == None || !LeaderPawn.Weapon.IsFiring()) )
  4726.         return false;
  4727.     if ( (Vehicle(LeaderPawn) != None)
  4728.         || ( (LinkGun(LeaderPawn.Weapon) != None || (RPGWeapon(LeaderPawn.Weapon) != None && LinkGun(RPGWeapon(LeaderPawn.Weapon).ModifiedWeapon) != None))
  4729.              && ((vector(B.Squad.SquadLeader.Rotation) dot Normal(Instigator.Location - LeaderPawn.Location)) < 0.9) ) )
  4730.     {
  4731.         StartTrace = Instigator.Location + Instigator.EyePosition();
  4732.         if ( VSize(LeaderPawn.Location - StartTrace) < LinkFire(FireMode[1]).TraceRange )
  4733.         {
  4734.             Other = Trace(HitLocation, HitNormal, LeaderPawn.Location, StartTrace, true);
  4735.             if ( Other == LeaderPawn )
  4736.             {
  4737.                 B.Focus = Other;
  4738.                 return true;
  4739.             }
  4740.         }
  4741.     }
  4742.     return false;
  4743. }
  4744.  
  4745. function float GetAIRating()
  4746. {
  4747.     local Bot B;
  4748.     local DestroyableObjective O;
  4749.     local Vehicle V;
  4750.  
  4751.     B = Bot(Instigator.Controller);
  4752.     if ( B == None )
  4753.         return AIRating;
  4754.  
  4755.     if ( (PlayerController(B.Squad.SquadLeader) != None)
  4756.         && (B.Squad.SquadLeader.Pawn != None)
  4757.         && ( LinkGun(B.Squad.SquadLeader.Pawn.Weapon) != None
  4758.              || (RPGWeapon(B.Squad.SquadLeader.Pawn.Weapon) != None && LinkGun(RPGWeapon(B.Squad.SquadLeader.Pawn.Weapon).ModifiedWeapon) != None) ) )
  4759.         return 1.2;
  4760.  
  4761.     V = B.Squad.GetLinkVehicle(B);
  4762.     if ( (V != None)
  4763.         && (VSize(Instigator.Location - V.Location) < 1.5 * LinkFire(FireMode[1]).TraceRange)
  4764.         && (V.Health < V.HealthMax) && (V.LinkHealMult > 0) )
  4765.         return 1.2;
  4766.  
  4767.     if ( Vehicle(B.RouteGoal) != None && B.Enemy == None && VSize(Instigator.Location - B.RouteGoal.Location) < 1.5 * LinkFire(FireMode[1]).TraceRange
  4768.          && Vehicle(B.RouteGoal).TeamLink(B.GetTeamNum()) )
  4769.         return 1.2;
  4770.  
  4771.     O = DestroyableObjective(B.Squad.SquadObjective);
  4772.     if ( O != None && B.Enemy == None && O.TeamLink(B.GetTeamNum()) && O.Health < O.DamageCapacity
  4773.          && VSize(Instigator.Location - O.Location) < 1.1 * LinkFire(FireMode[1]).TraceRange && B.LineOfSightTo(O) )
  4774.         return 1.2;
  4775.  
  4776.     return AIRating * FMin(Pawn(Owner).DamageScaling, 1.5);
  4777. }
  4778.  
  4779. function byte BestMode()
  4780. {
  4781.     local float EnemyDist;
  4782.     local bot B;
  4783.     local Vehicle V;
  4784.  
  4785.     B = Bot(Instigator.Controller);
  4786.     if ( B == None )
  4787.         return 0;
  4788.  
  4789.     if ( ( (DestroyableObjective(B.Squad.SquadObjective) != None && B.Squad.SquadObjective.TeamLink(B.GetTeamNum()))
  4790.         || (B.Squad.SquadObjective == None && DestroyableObjective(B.Target) != None && B.Target.TeamLink(B.GetTeamNum())) )
  4791.          && VSize(B.Squad.SquadObjective.Location - B.Pawn.Location) < FireMode[1].MaxRange() && (B.Enemy == None || !B.EnemyVisible()) )
  4792.         return 1;
  4793.     if ( FocusOnLeader(B.Focus == B.Squad.SquadLeader.Pawn) )
  4794.         return 1;
  4795.  
  4796.     V = B.Squad.GetLinkVehicle(B);
  4797.     if ( V == None )
  4798.         V = Vehicle(B.MoveTarget);
  4799.     if ( V == B.Target )
  4800.         return 1;
  4801.     if ( (V != None) && (VSize(Instigator.Location - V.Location) < LinkFire(FireMode[1]).TraceRange)
  4802.         && (V.Health < V.HealthMax) && (V.LinkHealMult > 0) && B.LineOfSightTo(V) )
  4803.         return 1;
  4804.     if ( B.Enemy == None )
  4805.         return 0;
  4806.     EnemyDist = VSize(B.Enemy.Location - Instigator.Location);
  4807.     if ( EnemyDist > LinkFire(FireMode[1]).TraceRange )
  4808.         return 0;
  4809.     return 1;
  4810. }
  4811.  
  4812. S1//Hack fix for Link Gun so you can link with RPGWeapons that have LinkGun as their ModifiedWeapon
  4813. class RPGLinkFire extends LinkFire;
  4814.  
  4815. function bool IsLinkable(Actor Other)
  4816. {
  4817.     local Pawn P;
  4818.     local LinkGun LG;
  4819.     local LinkFire LF;
  4820.     local int sanity;
  4821.  
  4822.     if (Other.IsA('Pawn') && Other.bProjTarget)
  4823.     {
  4824.         P = Pawn(Other);
  4825.  
  4826.         if (P.Weapon == None || (!P.Weapon.IsA('LinkGun') && (RPGWeapon(P.Weapon) == None || !RPGWeapon(P.Weapon).ModifiedWeapon.IsA('LinkGun'))) )
  4827.     {
  4828.         if (Vehicle(P) != None)
  4829.             return P.TeamLink(Instigator.GetTeamNum());
  4830.         return false;
  4831.     }
  4832.  
  4833.         // pro-actively prevent link cycles from happening
  4834.         LG = LinkGun(P.Weapon);
  4835.         if (LG == None)
  4836.             LG = LinkGun(RPGWeapon(P.Weapon).ModifiedWeapon);
  4837.         LF = LinkFire(LG.GetFireMode(1));
  4838.         while (LF != None && LF.LockedPawn != None && LF.LockedPawn != P && sanity < 20)
  4839.         {
  4840.             if (LF.LockedPawn == Instigator)
  4841.                 return false;
  4842.             LG = LinkGun(LF.LockedPawn.Weapon);
  4843.             if (LG == None)
  4844.             {
  4845.                 if (RPGWeapon(LF.LockedPawn.Weapon) != None)
  4846.                     LG = LinkGun(RPGWeapon(LF.LockedPawn.Weapon).ModifiedWeapon);
  4847.                 if (LG == None)
  4848.                     break;
  4849.         }
  4850.             LF = LinkFire(LG.GetFireMode(1));
  4851.             sanity++;
  4852.         }
  4853.  
  4854.         return (Level.Game.bTeamGame && P.GetTeamNum() == Instigator.GetTeamNum());
  4855.     }
  4856.     return false;
  4857. }
  4858.  
  4859. function bool AddLink(int Size, Pawn Starter)
  4860. {
  4861.     local Inventory Inv;
  4862.     if (LockedPawn != None && !bFeedbackDeath)
  4863.     {
  4864.         if (LockedPawn == Starter)
  4865.         {
  4866.             return false;
  4867.         }
  4868.         else
  4869.         {
  4870.         for (Inv = LockedPawn.Inventory; Inv != None; Inv = Inv.Inventory)
  4871.             {
  4872.                 if (LinkGun(Inv) != None)
  4873.                     break;
  4874.                 else if (RPGWeapon(Inv) != None && LinkGun(RPGWeapon(Inv).ModifiedWeapon) != None)
  4875.                 {
  4876.                     Inv = RPGWeapon(Inv).ModifiedWeapon;
  4877.                     break;
  4878.                 }
  4879.             }
  4880.             if (Inv != None)
  4881.             {
  4882.                 if (LinkFire(LinkGun(Inv).GetFireMode(1)).AddLink(Size, Starter))
  4883.                     LinkGun(Inv).Links += Size;
  4884.                 else
  4885.                     return false;
  4886.             }
  4887.         }
  4888.     }
  4889.     return true;
  4890. }
  4891.  
  4892. function RemoveLink(int Size, Pawn Starter)
  4893. {
  4894.     local Inventory Inv;
  4895.     if (LockedPawn != None && !bFeedbackDeath)
  4896.     {
  4897.         if (LockedPawn != Starter)
  4898.         {
  4899.             for (Inv = LockedPawn.Inventory; Inv != None; Inv = Inv.Inventory)
  4900.             {
  4901.                 if (LinkGun(Inv) != None)
  4902.                     break;
  4903.                 else if (RPGWeapon(Inv) != None && LinkGun(RPGWeapon(Inv).ModifiedWeapon) != None)
  4904.                 {
  4905.                     Inv = RPGWeapon(Inv).ModifiedWeapon;
  4906.                     break;
  4907.                 }
  4908.             }
  4909.             if (Inv != None)
  4910.             {
  4911.                 LinkFire(LinkGun(Inv).GetFireMode(1)).RemoveLink(Size, Starter);
  4912.                 LinkGun(Inv).Links -= Size;
  4913.             }
  4914.         }
  4915.     }
  4916. }
  4917. xÉE1äûx3,2ûxT,%BxZ G!Ry//RPGInteraction - Level/stat info and creates levelup menu
  4918. //Also saves stats on level change for Listen and Standalone servers
  4919. //because on those types of games people often quit in the middle (which servers almost never do)
  4920. class RPGInteraction extends Interaction
  4921.     config(UT2004RPG);
  4922.  
  4923. var MutUT2004RPG RPGMut;
  4924. var bool bDefaultBindings, bDefaultArtifactBindings; //use default keybinds because user didn't set any
  4925. var RPGStatsInv StatsInv;
  4926. var float LastLevelMessageTime;
  4927. var config int LevelMessagePointThreshold; //player must have more than this many stat points for message to display
  4928. var Font TextFont;
  4929. var color EXPBarColor, WhiteColor, RedTeamTint, BlueTeamTint;
  4930.  
  4931. event Initialized()
  4932. {
  4933.     local EInputKey key;
  4934.     local string tmp;
  4935.  
  4936.     if (ViewportOwner.Actor.Level.NetMode != NM_Client)
  4937.         foreach ViewportOwner.Actor.DynamicActors(class'MutUT2004RPG', RPGMut)
  4938.             break;
  4939.  
  4940.     //detect if user made custom binds for our aliases
  4941.     for (key = IK_None; key < IK_OEMClear; key = EInputKey(key + 1))
  4942.     {
  4943.         tmp = ViewportOwner.Actor.ConsoleCommand("KEYNAME"@Key);
  4944.         tmp = ViewportOwner.Actor.ConsoleCommand("KEYBINDING"@tmp);
  4945.         if (tmp ~= "rpgstatsmenu")
  4946.             bDefaultBindings = false;
  4947.         else if (tmp ~= "activateitem" || tmp ~= "nextitem" || tmp ~= "previtem")
  4948.             bDefaultArtifactBindings = false;
  4949.         if (!bDefaultBindings && !bDefaultArtifactBindings)
  4950.             break;
  4951.     }
  4952.  
  4953.     TextFont = Font(DynamicLoadObject("UT2003Fonts.jFontSmall", class'Font'));
  4954. }
  4955.  
  4956. //Detect pressing of a key bound to one of our aliases
  4957. //KeyType() would be more appropriate for what's done here, but Key doesn't seem to work/be set correctly for that function
  4958. //which prevents ConsoleCommand() from working on it
  4959. function bool KeyEvent(EInputKey Key, EInputAction Action, float Delta)
  4960. {
  4961.     local string tmp;
  4962.  
  4963.     if (Action != IST_Press)
  4964.         return false;
  4965.  
  4966.     //Use console commands to get the name of the numeric Key, and then the alias bound to that keyname
  4967.     if (!bDefaultBindings)
  4968.     {
  4969.         tmp = ViewportOwner.Actor.ConsoleCommand("KEYNAME"@Key);
  4970.         tmp = ViewportOwner.Actor.ConsoleCommand("KEYBINDING"@tmp);
  4971.     }
  4972.  
  4973.     //If it's our alias (which doesn't actually exist), then act on it
  4974.     if (tmp ~= "rpgstatsmenu" || (bDefaultBindings && Key == IK_L))
  4975.     {
  4976.         if (StatsInv == None)
  4977.             FindStatsInv();
  4978.         if (StatsInv == None)
  4979.             return false;
  4980.         //Show stat menu
  4981.         ViewportOwner.GUIController.OpenMenu("UT2004RPG.RPGStatsMenu");
  4982.         RPGStatsMenu(GUIController(ViewportOwner.GUIController).TopPage()).InitFor(StatsInv);
  4983.         LevelMessagePointThreshold = StatsInv.Data.PointsAvailable;
  4984.         return true;
  4985.     }
  4986.     else if (bDefaultArtifactBindings)
  4987.     {
  4988.         if (Key == IK_U)
  4989.         {
  4990.             ViewportOwner.Actor.ActivateItem();
  4991.             return true;
  4992.         }
  4993.         else if (Key == IK_LeftBracket)
  4994.         {
  4995.             ViewportOwner.Actor.PrevItem();
  4996.             return true;
  4997.         }
  4998.         else if (Key == IK_RightBracket)
  4999.         {
  5000.             if (ViewportOwner.Actor.Pawn != None)
  5001.                 ViewportOwner.Actor.Pawn.NextItem();
  5002.             return true;
  5003.         }
  5004.     }
  5005.  
  5006.     //Don't care about this event, pass it on for further processing
  5007.     return false;
  5008. }
  5009.  
  5010. //Find local player's stats inventory item
  5011. function FindStatsInv()
  5012. {
  5013.     local Inventory Inv;
  5014.  
  5015.     for (Inv = ViewportOwner.Actor.Inventory; Inv != None; Inv = Inv.Inventory)
  5016.     {
  5017.         StatsInv = RPGStatsInv(Inv);
  5018.         if (StatsInv != None)
  5019.             return;
  5020.     }
  5021. }
  5022.  
  5023. function PostRender(Canvas Canvas)
  5024. {
  5025.     local float XL, YL, XLSmall, YLSmall;
  5026.  
  5027.     if ( ViewportOwner.Actor.Pawn == None || ViewportOwner.Actor.Pawn.Health <= 0
  5028.          || (ViewportOwner.Actor.myHud != None && ViewportOwner.Actor.myHud.bShowScoreBoard) )
  5029.         return;
  5030.  
  5031.     if (StatsInv == None)
  5032.         FindStatsInv();
  5033.     if (StatsInv == None)
  5034.         return;
  5035.  
  5036.     if (TextFont != None)
  5037.         Canvas.Font = TextFont;
  5038.     Canvas.FontScaleX = Canvas.ClipX / 1024;
  5039.     Canvas.FontScaleY = Canvas.ClipY / 768;
  5040.     Canvas.TextSize("Level:", XL, YL);
  5041.  
  5042.     XL = 129 * Canvas.FontScaleX;
  5043.     Canvas.Style = 5;
  5044.     Canvas.DrawColor = EXPBarColor;
  5045.     Canvas.SetPos(Canvas.ClipX - XL - 1, Canvas.ClipY * 0.75 - YL * 3.75);
  5046.     Canvas.DrawTile(Material'InterfaceContent.Hud.SkinA', XL * StatsInv.Data.Experience / StatsInv.Data.NeededExp, 12.0 * Canvas.FontScaleY, 836, 454, -386 * StatsInv.Data.Experience / StatsInv.Data.NeededExp, 36);
  5047.     if ( ViewportOwner.Actor.PlayerReplicationInfo == None || ViewportOwner.Actor.PlayerReplicationInfo.Team == None
  5048.          || ViewportOwner.Actor.PlayerReplicationInfo.Team.TeamIndex != 0 )
  5049.         Canvas.DrawColor = BlueTeamTint;
  5050.     else
  5051.         Canvas.DrawColor = RedTeamTint;
  5052.     Canvas.SetPos(Canvas.ClipX - XL - 1, Canvas.ClipY * 0.75 - YL * 3.75);
  5053.     Canvas.DrawTile(Material'InterfaceContent.Hud.SkinA', XL, 12.0 * Canvas.FontScaleY, 836, 454, -386, 36);
  5054.     Canvas.DrawColor = WhiteColor;
  5055.     Canvas.SetPos(Canvas.ClipX - XL - 1, Canvas.ClipY * 0.75 - YL * 3.75);
  5056.     Canvas.DrawTile(Material'InterfaceContent.Hud.SkinA', XL, 12.7 * Canvas.FontScaleY, 836, 415, -386, 38);
  5057.  
  5058.     Canvas.Style = 2;
  5059.     Canvas.DrawColor = WhiteColor;
  5060.     Canvas.SetPos(Canvas.ClipX - XL - 1, Canvas.ClipY * 0.75 - YL * 5.0);
  5061.     Canvas.DrawText("Level: "$StatsInv.Data.Level);
  5062.     Canvas.FontScaleX *= 0.5;
  5063.     Canvas.FontScaleY *= 0.5;
  5064.     Canvas.TextSize(StatsInv.Data.Experience$"/"$StatsInv.Data.NeededExp, XLSmall, YLSmall);
  5065.     Canvas.SetPos(Canvas.ClipX - XL * 0.5 - XLSmall * 0.5, Canvas.ClipY * 0.75 - YL * 3.75 + 12.7 * Canvas.FontScaleY - YLSmall * 0.5);
  5066.     Canvas.DrawText(StatsInv.Data.Experience$"/"$StatsInv.Data.NeededExp);
  5067.     Canvas.FontScaleX *= 2;
  5068.     Canvas.FontScaleY *= 2;
  5069.  
  5070.     if (bDefaultBindings)
  5071.     {
  5072.         Canvas.TextSize("Press L for stats/levelup menu", XL, YL);
  5073.         Canvas.SetPos(Canvas.ClipX - XL - 1, Canvas.ClipY * 0.75 - YL * 1.25);
  5074.         Canvas.DrawText("Press L for stats/levelup menu");
  5075.         if (StatsInv.Data.PointsAvailable > LevelMessagePointThreshold && ViewportOwner.Actor.Level.TimeSeconds >= LastLevelMessageTime + 1.0)
  5076.         {
  5077.             ViewportOwner.Actor.ReceiveLocalizedMessage(class'LevelUpHUDMessage', 0);
  5078.             LastLevelMessageTime = ViewportOwner.Actor.Level.TimeSeconds;
  5079.         }
  5080.         else if (StatsInv.Data.PointsAvailable < LevelMessagePointThreshold)
  5081.             LevelMessagePointThreshold = StatsInv.Data.PointsAvailable;
  5082.     }
  5083.     else if (StatsInv.Data.PointsAvailable > LevelMessagePointThreshold && ViewportOwner.Actor.Level.TimeSeconds >= LastLevelMessageTime + 1.0)
  5084.     {
  5085.         ViewportOwner.Actor.ReceiveLocalizedMessage(class'LevelUpHUDMessage', 1);
  5086.         LastLevelMessageTime = ViewportOwner.Actor.Level.TimeSeconds;
  5087.     }
  5088.     else if (StatsInv.Data.PointsAvailable < LevelMessagePointThreshold)
  5089.         LevelMessagePointThreshold = StatsInv.Data.PointsAvailable;
  5090.  
  5091.     if (RPGArtifact(ViewportOwner.Actor.Pawn.SelectedItem) != None)
  5092.     {
  5093.         //Draw Artifact HUD info
  5094.         Canvas.SetPos(0, Canvas.ClipY * 0.75 - YL * 5.0);
  5095.         Canvas.DrawText(ViewportOwner.Actor.Pawn.SelectedItem.ItemName);
  5096.         if (ViewportOwner.Actor.Pawn.SelectedItem.IconMaterial != None)
  5097.         {
  5098.             Canvas.SetPos(0, Canvas.ClipY * 0.75 - YL * 3.75);
  5099.             Canvas.DrawTile(ViewportOwner.Actor.Pawn.SelectedItem.IconMaterial, YL * 2, YL * 2, 0, 0, ViewportOwner.Actor.Pawn.SelectedItem.IconMaterial.MaterialUSize(), ViewportOwner.Actor.Pawn.SelectedItem.IconMaterial.MaterialVSize());
  5100.         }
  5101.         if (bDefaultArtifactBindings)
  5102.         {
  5103.             Canvas.SetPos(0, Canvas.ClipY * 0.75 - YL * 1.25);
  5104.             Canvas.DrawText("U to use, brackets to switch");
  5105.         }
  5106.     }
  5107.  
  5108.     Canvas.FontScaleX = Canvas.default.FontScaleX;
  5109.     Canvas.FontScaleY = Canvas.default.FontScaleY;
  5110. }
  5111.  
  5112. event NotifyLevelChange()
  5113. {
  5114.     //close stats menu if it's open
  5115.     FindStatsInv();
  5116.     if (StatsInv != None && StatsInv.StatsMenu != None)
  5117.         StatsInv.StatsMenu.CloseClick(None);
  5118.     StatsInv = None;
  5119.  
  5120.     //Save player data (standalone/listen servers only)
  5121.     if (RPGMut != None)
  5122.     {
  5123.         RPGMut.SaveData();
  5124.         RPGMut = None;
  5125.     }
  5126.  
  5127.     SaveConfig();
  5128.     Master.RemoveInteraction(self);
  5129. }
  5130.  
  5131. ¡dLg                  oe▀{[X¡\    ï░N5╗░N5╗(];AoÑ╠£kÑuφ*Fû╕ò_╜Ñuφ*Fû╕ò_╜â█╧ì#Ñuφ*Fû╕ò_╜Ñuφ*Fû╕ò_╜═ìT7_ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥░N5╗░N5╗ô¥≥░N5╗░N5╗Ñuφ*Fû╕ò_╜Ñuφ*Fû╕ò_╜á°±ùÑuφ*Fû╕ò_╜á°±ù╟╔J╕Æô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥░N5╗ô¥≥ô¥≥ô¥≥░N5╗░N5╗ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥░N5╗░N5╗ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥░N5╗Ñuφ*Fû╕ò_╜É┌▄0IÑuφ*Fû╕ò_╜Ñuφ*Fû╕ò_╜É┌▄0I░N5╗░N5╗░N5╗Ñuφ*Fû╕ò_╜É┌▄0IÑuφ*Fû╕ò_╜Ñuφ*Fû╕ò_╜É┌▄0I░N5╗░N5╗Ñuφ*Fû╕ò_╜â█╧ì#ô¥≥ô¥≥ô¥≥Ñuφ*Fû╕ò_╜â█╧ì#⌐Fƒö╝Ñuφ*Fû╕ò_╜â█╧ì#⌐Fƒö╝ô¥≥ô¥≥ô¥≥Ñuφ*Fû╕ò_╜â█╧ì#⌐Fƒö╝Ñuφ*Fû╕ò_╜â█╧ì#⌐Fƒö╝πûß|;Ñuφ*Fû╕ò_╜â█╧ì#⌐Fƒö╝πûß|;ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥ô¥≥Ñuφ*Fû╕ò_╜Äâ@qΘÄâ@qΘÑuφ*Fû╕ò_╜Ñuφ*Fû╕ò_╜Ñuφ*Fα ZΓjÑuφ*F╨;▐ö.(];Ao░N5╗Ñuφ*Fû╕ò_╜Ñuφ*Fû╕ò_╜Ñuφ*Fû╕ò_╜Ñuφ*Fû╕ò_╜â█╧ì#Ñuφ*Fû╕ò_╜É┌▄0IÑuφ*Fû╕ò_╜Ñuφ*Fû╕ò_╜Ñuφ*Fû╕ò_╜    îg╙f╙Z*Ç Ç b*    U*ddT*fB%ûC╙Ço c~mïªíw.■d*H    .■d u~íûÆ~▒.■d▐H    ~2q9D½½9?.■d▐Ç>9?bH    a$'( G pß//applies weapon stats to each player's weapon and manages client<->server interaction
  5132. //although attached to a player's Pawn so it can receive events from it, it is also the inventory of the
  5133. //Controller for persistence. Just before the Pawn dies the RPGStatsInv is removed from its inventory chain
  5134. //so it doesn't get destroyed, and is then reconnected to the Controller's new Pawn when it respawns.
  5135. class RPGStatsInv extends Inventory
  5136.     DependsOn(RPGPlayerDataObject);
  5137.  
  5138. var RPGPlayerDataObject DataObject; //object holding player's data (server side only)
  5139. var RPGPlayerDataObject.RPGPlayerData Data; //struct version of data in DataObject - replicated to clients to show on HUD and stat menu
  5140. var MutUT2004RPG RPGMut; //server side only
  5141. var array<class<RPGAbility> > AllAbilities; //all abilities available
  5142. var int StatCaps[6]; //curse the need for it
  5143. var RPGStatsMenu StatsMenu; //clients only - pointer to stats menu if it exists so we don't have to do an iterator search
  5144. var bool bGotInstigator; //netplay only - set to true first tick after Instigator has been replicated
  5145. var bool bSentInitialData; //sent initial data that requires function replication (ability list, stat caps, etc)
  5146.  
  5147. struct OldRPGWeaponInfo
  5148. {
  5149.     var RPGWeapon Weapon;
  5150.     var class<Weapon> ModifiedClass;
  5151. };
  5152. var array<OldRPGWeaponInfo> OldRPGWeapons; //used to prevent throwing a weapon just to try for a different modifier
  5153.  
  5154. //bot multikill tracking (the stock code doesn't track multikills for bots)
  5155. var int BotMultiKillLevel;
  5156. var float BotLastKillTime;
  5157.  
  5158. enum EStatType
  5159. {
  5160.     STAT_WSpeed,
  5161.     STAT_HealthBonus,
  5162.     STAT_AdrenalineMax,
  5163.     STAT_Attack,
  5164.     STAT_Defense,
  5165.     STAT_AmmoMax
  5166. };
  5167.  
  5168. delegate ProcessPlayerLevel(string PlayerString);
  5169.  
  5170. replication
  5171. {
  5172.     reliable if (bNetDirty && Role == ROLE_Authority)
  5173.         Data;
  5174.     reliable if (Role < ROLE_Authority)
  5175.         ServerAddPointTo, ServerAddAbility, ServerRequestPlayerLevels, ServerResetData;
  5176.     reliable if (Role == ROLE_Authority)
  5177.         ClientUpdateStatMenu, ClientAddAbility, ClientAdjustFireRate, ClientSendPlayerLevel, ClientReInitMenu,
  5178.         ClientResetData, ClientReceiveAbilityInfo, ClientReceiveAllowedAbility, ClientReceiveStatCap,
  5179.         ClientModifyVehicle, ClientUnModifyVehicle;
  5180.     unreliable if (Role == ROLE_Authority)
  5181.         ClientAdjustMaxAmmo;
  5182. }
  5183.  
  5184. function GiveTo(pawn Other, optional Pickup Pickup)
  5185. {
  5186.     local Inventory Inv;
  5187.     local ShieldAltFire S;
  5188.     local int x;
  5189.  
  5190.     Super.GiveTo(Other, Pickup);
  5191.  
  5192.     OwnerEvent('ChangedWeapon'); //Set initial weapon's FireRate
  5193.     Timer(); //Set initial ammo's maxammo values
  5194.  
  5195.     //hack to make shieldgun charge to its new MaxAmmo value
  5196.     Inv = Instigator.FindInventoryType(class'ShieldGun');
  5197.     if (Inv != None)
  5198.     {
  5199.         S = ShieldAltFire(ShieldGun(Inv).GetFireMode(1));
  5200.         if (S != None)
  5201.             S.SetTimer(S.AmmoRegenTime, true);
  5202.     }
  5203.  
  5204.     if (!bSentInitialData)
  5205.     {
  5206.         if (Instigator.Controller != Level.GetLocalPlayerController())
  5207.             for (x = 0; x < Data.Abilities.length; x++)
  5208.                 ClientReceiveAbilityInfo(x, Data.Abilities[x], Data.AbilityLevels[x]);
  5209.         for (x = 0; x < RPGMut.Abilities.length; x++)
  5210.             ClientReceiveAllowedAbility(x, RPGMut.Abilities[x]);
  5211.         for (x = 0; x < 6; x++)
  5212.             ClientReceiveStatCap(x, RPGMut.StatCaps[x]);
  5213.  
  5214.         bSentInitialData = true;
  5215.     }
  5216. }
  5217.  
  5218. function bool HandlePickupQuery(Pickup item)
  5219. {
  5220.     local bool bResult;
  5221.  
  5222.     bResult = Super.HandlePickupQuery(item);
  5223.  
  5224.     //we only set the timer (which updates MaxAmmo on all ammos the player owns) when the player picks up something
  5225.     //with ammo to save CPU - however, this makes it unsimulatable without function replication
  5226.     if (Ammo(item) != None || (!bResult && WeaponPickup(item) != None))
  5227.         SetTimer(0.1, false);
  5228.  
  5229.     return bResult;
  5230. }
  5231.  
  5232. function OwnerEvent(name EventName)
  5233. {
  5234.     if (EventName == 'ChangedWeapon' && Instigator != None && Instigator.Weapon != None)
  5235.     {
  5236.         AdjustFireRate(Instigator.Weapon);
  5237.         ClientAdjustFireRate(); //OwnerEvent() is serverside-only, so need to call a client version
  5238.     }
  5239.     else if (EventName == 'RPGScoreKill')
  5240.     {
  5241.         //the stock code doesn't record multikills for bots, so do it here where we can track it and increment EXP appropriately
  5242.         //the fact that we can also add the info to the stats for the bots is a cool bonus :)
  5243.         //however, unlike the normal player multikill code, the multikill level is lost on death due to Inventory being lost on death
  5244.         if (Level.TimeSeconds - BotLastKillTime < 4)
  5245.         {
  5246.             Instigator.Controller.AwardAdrenaline(DeathMatch(Level.Game).ADR_MajorKill);
  5247.             if ( TeamPlayerReplicationInfo(Instigator.PlayerReplicationInfo) != None )
  5248.             {
  5249.                 TeamPlayerReplicationInfo(Instigator.PlayerReplicationInfo).MultiKills[BotMultiKillLevel] += 1;
  5250.                 if ( BotMultiKillLevel > 0 )
  5251.                     TeamPlayerReplicationInfo(Instigator.PlayerReplicationInfo).MultiKills[BotMultiKillLevel-1] -= 1;
  5252.             }
  5253.             BotMultiKillLevel++;
  5254.             UnrealMPGameInfo(Level.Game).SpecialEvent(Instigator.PlayerReplicationInfo,"multikill_"$BotMultiKillLevel);
  5255.             DataObject.Experience += int(Square(float(BotMultiKillLevel)));
  5256.             RPGMut.CheckLevelUp(DataObject, Instigator.PlayerReplicationInfo);
  5257.         }
  5258.         else
  5259.             BotMultiKillLevel=0;
  5260.  
  5261.         BotLastKillTime = Level.TimeSeconds;
  5262.     }
  5263.  
  5264.     Super.OwnerEvent(EventName);
  5265. }
  5266.  
  5267. simulated function AdjustFireRate(Weapon W)
  5268. {
  5269.     local int x;
  5270.     local float Modifier;
  5271.     local WeaponFire FireMode[2];
  5272.  
  5273.     FireMode[0] = W.GetFireMode(0);
  5274.     FireMode[1] = W.GetFireMode(1);
  5275.     if (MinigunFire(FireMode[0]) != None) //minigun needs a hack because it fires differently than normal weapons
  5276.     {
  5277.         Modifier = 1.f + 0.01 * Data.WeaponSpeed;
  5278.         MinigunFire(FireMode[0]).BarrelRotationsPerSec = MinigunFire(FireMode[0]).default.BarrelRotationsPerSec * Modifier;
  5279.         MinigunFire(FireMode[0]).FireRate = 1.f / (MinigunFire(FireMode[0]).RoundsPerRotation * MinigunFire(FireMode[0]).BarrelRotationsPerSec);
  5280.         MinigunFire(FireMode[0]).MaxRollSpeed = 65536.f*MinigunFire(FireMode[0]).BarrelRotationsPerSec;
  5281.         MinigunFire(FireMode[1]).BarrelRotationsPerSec = MinigunFire(FireMode[1]).default.BarrelRotationsPerSec * Modifier;
  5282.         MinigunFire(FireMode[1]).FireRate = 1.f / (MinigunFire(FireMode[1]).RoundsPerRotation * MinigunFire(FireMode[1]).BarrelRotationsPerSec);
  5283.         MinigunFire(FireMode[1]).MaxRollSpeed = 65536.f*MinigunFire(FireMode[1]).BarrelRotationsPerSec;
  5284.     }
  5285.     else if (!FireMode[0].IsA('TransFire') && !FireMode[0].IsA('BallShoot') && !FireMode[0].IsA('MeleeSwordFire'))
  5286.     {
  5287.         Modifier = 1.f + 0.01 * Data.WeaponSpeed;
  5288.         if (ShieldFire(FireMode[0]) != None) //shieldgun primary needs a hack to do charging speedup
  5289.             ShieldFire(FireMode[0]).FullyChargedTime = ShieldFire(FireMode[0]).default.FullyChargedTime / Modifier;
  5290.         FireMode[0].FireRate = FireMode[0].default.FireRate / Modifier;
  5291.         FireMode[0].FireAnimRate = FireMode[0].default.FireAnimRate * Modifier;
  5292.         FireMode[0].MaxHoldTime = FireMode[0].default.MaxHoldTime / Modifier;
  5293.         FireMode[1].FireRate = FireMode[1].default.FireRate / Modifier;
  5294.         FireMode[1].FireAnimRate = FireMode[1].default.FireAnimRate * Modifier;
  5295.         FireMode[1].MaxHoldTime = FireMode[1].default.MaxHoldTime / Modifier;
  5296.     }
  5297.     for (x = 0; x < Data.Abilities.length; x++)
  5298.         Data.Abilities[x].static.ModifyWeapon(W, Data.AbilityLevels[x]);
  5299. }
  5300.  
  5301. //Call AdjustFireRate() clientside
  5302. simulated function ClientAdjustFireRate()
  5303. {
  5304.     if (Instigator != None && Instigator.Weapon != None)
  5305.         AdjustFireRate(Instigator.Weapon);
  5306. }
  5307.  
  5308. //Adjust player's maxammo values and then call ClientAdjustMaxAmmo() to do same on client
  5309. function Timer()
  5310. {
  5311.     if (Instigator != None)
  5312.     {
  5313.         AdjustMaxAmmo();
  5314.         ClientAdjustMaxAmmo();
  5315.     }
  5316. }
  5317.  
  5318. simulated function AdjustMaxAmmo()
  5319. {
  5320.     local Inventory Inv;
  5321.     local int Count;
  5322.     local float Modifier;
  5323.  
  5324.     Modifier = 1.0 + float(Data.AmmoMax) * 0.01;
  5325.     for (Inv = Instigator.Inventory; Inv != None; Inv = Inv.Inventory)
  5326.     {
  5327.         if (Ammunition(Inv) != None)
  5328.         {
  5329.             Ammunition(Inv).MaxAmmo = Ammunition(Inv).default.MaxAmmo * Modifier;
  5330.             if (Ammunition(Inv).AmmoAmount > Ammunition(Inv).MaxAmmo)
  5331.                 Ammunition(Inv).AmmoAmount = Ammunition(Inv).MaxAmmo;
  5332.         }
  5333.         Count++;
  5334.         if (Count > 1000)
  5335.             break;
  5336.     }
  5337. }
  5338.  
  5339. //Call AdjustMaxAmmo() clientside
  5340. simulated function ClientAdjustMaxAmmo()
  5341. {
  5342.     if (Level.NetMode == NM_Client && Instigator != None)
  5343.         AdjustMaxAmmo();
  5344. }
  5345.  
  5346. function DropFrom(vector StartLocation)
  5347. {
  5348.     if (Instigator != None && Instigator.Controller != None)
  5349.         SetOwner(Instigator.Controller);
  5350. }
  5351.  
  5352. //owning pawn died
  5353. function OwnerDied()
  5354. {
  5355.     local int x;
  5356.     local Controller C;
  5357.  
  5358.     for (x = 0; x < OldRPGWeapons.Length; x++)
  5359.         if (OldRPGWeapons[x].Weapon != None)
  5360.             OldRPGWeapons[x].Weapon.RemoveReference();
  5361.     OldRPGWeapons.length = 0;
  5362.  
  5363.     //prevent RPGStatsInv from being destroyed and keep it relevant to owning player
  5364.     if (Instigator != None)
  5365.     {
  5366.         C = Instigator.Controller;
  5367.         if (C == None && Instigator.DrivenVehicle != None)
  5368.             C = Instigator.DrivenVehicle.Controller;
  5369.         Instigator.DeleteInventory(self);
  5370.         SetOwner(C);
  5371.     }
  5372. }
  5373.  
  5374. //Called by owning player's stat menu to add stat points to a statistic
  5375. function ServerAddPointTo(int Amount, EStatType Stat)
  5376. {
  5377.     if (DataObject.PointsAvailable < Amount)
  5378.         return;
  5379.  
  5380.     switch (Stat)
  5381.     {
  5382.         case STAT_WSpeed:
  5383.             if (RPGMut.StatCaps[0] >= 0 && RPGMut.StatCaps[0] - DataObject.WeaponSpeed < Amount)
  5384.                 Amount = RPGMut.StatCaps[0] - DataObject.WeaponSpeed;
  5385.             DataObject.WeaponSpeed += Amount;
  5386.             Data.WeaponSpeed = DataObject.WeaponSpeed;
  5387.             break;
  5388.         case STAT_HealthBonus:
  5389.             if (RPGMut.StatCaps[1] >= 0 && RPGMut.StatCaps[1] - DataObject.HealthBonus < Amount * 2)
  5390.                 Amount = (RPGMut.StatCaps[1] - DataObject.HealthBonus) / 2;
  5391.             DataObject.HealthBonus += 2 * Amount;
  5392.             Data.HealthBonus = DataObject.HealthBonus;
  5393.             if (Instigator != None)
  5394.                 Instigator.HealthMax += 2 * Amount;
  5395.             break;
  5396.         case STAT_AdrenalineMax:
  5397.             if (RPGMut.StatCaps[2] >= 0 && RPGMut.StatCaps[2] - DataObject.AdrenalineMax < Amount)
  5398.                 Amount = RPGMut.StatCaps[2] - DataObject.AdrenalineMax;
  5399.             DataObject.AdrenalineMax += Amount;
  5400.             Data.AdrenalineMax = DataObject.AdrenalineMax;
  5401.             if (Instigator != None && Instigator.Controller != None)
  5402.                 Instigator.Controller.AdrenalineMax += Amount;
  5403.             break;
  5404.         case STAT_Attack:
  5405.             if (RPGMut.StatCaps[3] >= 0 && RPGMut.StatCaps[3] - DataObject.Attack < Amount)
  5406.                 Amount = RPGMut.StatCaps[3] - DataObject.Attack;
  5407.             DataObject.Attack += Amount;
  5408.             Data.Attack = DataObject.Attack;
  5409.             break;
  5410.         case STAT_Defense:
  5411.             if (RPGMut.StatCaps[4] >= 0 && RPGMut.StatCaps[4] - DataObject.Defense < Amount)
  5412.                 Amount = RPGMut.StatCaps[4] - DataObject.Defense;
  5413.             DataObject.Defense += Amount;
  5414.             Data.Defense = DataObject.Defense;
  5415.             break;
  5416.         case STAT_AmmoMax:
  5417.             if (RPGMut.StatCaps[5] >= 0 && RPGMut.StatCaps[5] - DataObject.AmmoMax < Amount)
  5418.                 Amount = RPGMut.StatCaps[5] - DataObject.AmmoMax;
  5419.             DataObject.AmmoMax += Amount;
  5420.             Data.AmmoMax = DataObject.AmmoMax;
  5421.             break;
  5422.     }
  5423.     DataObject.PointsAvailable -= Amount;
  5424.     Data.PointsAvailable = DataObject.PointsAvailable;
  5425.  
  5426.     ClientUpdateStatMenu(Amount, Stat);
  5427. }
  5428.  
  5429. //After server adds points to a statistic, it calls this to update the local player's stat menu
  5430. simulated function ClientUpdateStatMenu(int Amount, EStatType Stat)
  5431. {
  5432.     if (Level.NetMode == NM_Client) //already did this on listen/standalone servers
  5433.     {
  5434.         switch (Stat)
  5435.         {
  5436.             case STAT_WSpeed:
  5437.                 Data.WeaponSpeed += Amount;
  5438.                 break;
  5439.             case STAT_HealthBonus:
  5440.                 Data.HealthBonus += 2 * Amount;
  5441.                 break;
  5442.             case STAT_AdrenalineMax:
  5443.                 Data.AdrenalineMax += Amount;
  5444.                 if (Instigator != None && Instigator.Controller != None)
  5445.                     Instigator.Controller.AdrenalineMax += Amount;
  5446.                 break;
  5447.             case STAT_Attack:
  5448.                 Data.Attack += Amount;
  5449.                 break;
  5450.             case STAT_Defense:
  5451.                 Data.Defense += Amount;
  5452.                 break;
  5453.             case STAT_AmmoMax:
  5454.                 Data.AmmoMax += Amount;
  5455.                 break;
  5456.         }
  5457.         Data.PointsAvailable -= Amount;
  5458.     }
  5459.  
  5460.     if (StatsMenu != None)
  5461.         StatsMenu.InitFor(self);
  5462. }
  5463.  
  5464. //Called by owning player's stat menu to buy an ability
  5465. function ServerAddAbility(class<RPGAbility> Ability)
  5466. {
  5467.     local int x, Index, Cost;
  5468.     local bool bAllowed;
  5469.  
  5470.     bAllowed = false;
  5471.     for (x = 0; x < RPGMut.Abilities.length; x++)
  5472.         if (RPGMut.Abilities[x] == Ability)
  5473.         {
  5474.             bAllowed = true;
  5475.             break;
  5476.         }
  5477.     if (!bAllowed)
  5478.         return;
  5479.  
  5480.     Index = -1;
  5481.     for (x = 0; x < DataObject.Abilities.length; x++)
  5482.         if (DataObject.Abilities[x] == Ability)
  5483.         {
  5484.             Cost = Ability.static.Cost(DataObject, DataObject.AbilityLevels[x]);
  5485.             if (Cost <= 0 || Cost > DataObject.PointsAvailable)
  5486.                 return;
  5487.             Index = x;
  5488.             break;
  5489.         }
  5490.     if (Index == -1)
  5491.     {
  5492.         Cost = Ability.static.Cost(DataObject, 0);
  5493.         if (Cost <= 0 || Cost > DataObject.PointsAvailable)
  5494.             return;
  5495.         Index = DataObject.Abilities.length;
  5496.         DataObject.AbilityLevels[Index] = 0;
  5497.     }
  5498.  
  5499.     DataObject.Abilities[Index] = Ability;
  5500.     DataObject.AbilityLevels[Index]++;
  5501.     DataObject.PointsAvailable -= Cost;
  5502.     Data.Abilities[Index] = Ability;
  5503.     Data.AbilityLevels[Index]++;
  5504.     Data.PointsAvailable = DataObject.PointsAvailable;
  5505.  
  5506.     //Activate ability immediately
  5507.     if (Instigator != None)
  5508.     {
  5509.         Ability.static.ModifyPawn(Instigator, DataObject.AbilityLevels[Index]);
  5510.         if (Instigator.Weapon != None)
  5511.             Ability.static.ModifyWeapon(Instigator.Weapon, DataObject.AbilityLevels[Index]);
  5512.         if (Instigator.Controller != None && Vehicle(Instigator.Controller.Pawn) != None)
  5513.             ModifyVehicle(Vehicle(Instigator.Controller.Pawn));
  5514.     }
  5515.  
  5516.     //Send to client
  5517.     ClientAddAbility(Ability, Cost);
  5518. }
  5519.  
  5520. //After server adds an ability, it calls this to do the same on the client
  5521. simulated function ClientAddAbility(class<RPGAbility> Ability, int Cost)
  5522. {
  5523.     local int x, Index;
  5524.  
  5525.     if (Level.NetMode == NM_Client) //already did this on listen/standalone servers
  5526.     {
  5527.         Index = -1;
  5528.         for (x = 0; x < Data.Abilities.length; x++)
  5529.             if (Data.Abilities[x] == Ability)
  5530.             {
  5531.                 Index = x;
  5532.                 break;
  5533.             }
  5534.         if (Index == -1)
  5535.         {
  5536.             Index = Data.Abilities.length;
  5537.             Data.AbilityLevels[Index] = 0;
  5538.         }
  5539.  
  5540.         Data.Abilities[Index] = Ability;
  5541.         Data.AbilityLevels[Index]++;
  5542.         Data.PointsAvailable -= Cost;
  5543.  
  5544.         //Activate ability immediately
  5545.         if (Instigator != None)
  5546.         {
  5547.             Ability.static.ModifyPawn(Instigator, Data.AbilityLevels[Index]);
  5548.             if (Instigator.Weapon != None)
  5549.                 Ability.static.ModifyWeapon(Instigator.Weapon, Data.AbilityLevels[Index]);
  5550.             if (Instigator.Controller != None && Vehicle(Instigator.Controller.Pawn) != None)
  5551.                 ModifyVehicle(Vehicle(Instigator.Controller.Pawn));
  5552.         }
  5553.     }
  5554.  
  5555.     if (StatsMenu != None)
  5556.         StatsMenu.InitFor(self);
  5557. }
  5558.  
  5559. simulated function Tick(float deltaTime)
  5560. {
  5561.     local bool bLevelUp;
  5562.     local int x;
  5563.     local float RealNextFireTime;
  5564.     local WeaponFire FireMode[2];
  5565.  
  5566.     //Set initial values clientside (e.g. ModifyPawn() changes that don't get replicated for whatever reason)
  5567.     //We don't use PostNetBeginPlay() because it doesn't seem to be guaranteed that the values have all been replicated
  5568.     //at the time that function is called
  5569.     if (Level.NetMode == NM_Client)
  5570.     {
  5571.         if (Instigator != None && Instigator.Controller != None)
  5572.         {
  5573.             CheckPlayerViewShake();
  5574.             if (!bGotInstigator)
  5575.             {
  5576.                 Instigator.Controller.AdrenalineMax = Data.AdrenalineMax;
  5577.                 for (x = 0; x < Data.Abilities.length; x++)
  5578.                     Data.Abilities[x].static.ModifyPawn(Instigator, Data.AbilityLevels[x]);
  5579.                 bGotInstigator = true;
  5580.             }
  5581.         }
  5582.         else
  5583.             bGotInstigator = false;
  5584.  
  5585.         return;
  5586.     }
  5587.  
  5588.     if (Instigator != None)
  5589.     {
  5590.         CheckPlayerViewShake();
  5591.  
  5592.         //Awful hack to get around WeaponFire capping FireRate to tick delta
  5593.         if (Instigator.Weapon != None)
  5594.         {
  5595.             FireMode[0] = Instigator.Weapon.GetFireMode(0);
  5596.             FireMode[1] = Instigator.Weapon.GetFireMode(1);
  5597.             if (FireMode[0].bIsFiring && !FireMode[0].bFireOnRelease && !FireMode[0].bNowWaiting)
  5598.             {
  5599.                 x = 0;
  5600.                 while (FireMode[0].NextFireTime + FireMode[0].FireRate < Level.TimeSeconds && x < 10000)
  5601.                 {
  5602.                     RealNextFireTime = FireMode[0].NextFireTime + FireMode[0].FireRate;
  5603.                     FireMode[0].ModeDoFire();
  5604.                     FireMode[0].NextFireTime = RealNextFireTime;
  5605.                     x++;
  5606.                 }
  5607.             }
  5608.             if (FireMode[1].bIsFiring && !FireMode[1].bFireOnRelease && !FireMode[1].bNowWaiting)
  5609.             {
  5610.                 x = 0;
  5611.                 while (FireMode[1].NextFireTime + FireMode[1].FireRate < Level.TimeSeconds && x < 10000)
  5612.                 {
  5613.                     RealNextFireTime = FireMode[1].NextFireTime + FireMode[1].FireRate;
  5614.                     FireMode[1].ModeDoFire();
  5615.                     FireMode[1].NextFireTime = RealNextFireTime;
  5616.                     x++;
  5617.                 }
  5618.             }
  5619.         }
  5620.     }
  5621.  
  5622.     //update data with 'official' data from mutator if necessary
  5623.     if (DataObject.Experience != Data.Experience || DataObject.Level != Data.Level)
  5624.     {
  5625.         if (DataObject.Level > Data.Level)
  5626.             bLevelUp = true;
  5627.         DataObject.CreateDataStruct(Data, true);
  5628.         if (bLevelUp)
  5629.             ClientReInitMenu();
  5630.     }
  5631. }
  5632.  
  5633. //High level players can potentially take a lot of damage in one hit, which screws up PlayerController
  5634. //viewshaking functions because they're scaled to damage but not capped so if a player survives
  5635. //a high damage hit it'll totally fuck up his screen.
  5636. simulated function CheckPlayerViewShake()
  5637. {
  5638.     local PlayerController PC;
  5639.     local float ShakeScaling;
  5640.  
  5641.     PC = PlayerController(Instigator.Controller);
  5642.     if (PC == None)
  5643.         return;
  5644.  
  5645.     ShakeScaling = VSize(PC.ShakeRotMax) / 7500;
  5646.     if (ShakeScaling <= 1)
  5647.         return;
  5648.  
  5649.     PC.ShakeRotMax /= ShakeScaling;
  5650.     PC.ShakeRotTime /= ShakeScaling;
  5651.     PC.ShakeOffsetMax /= ShakeScaling;
  5652. }
  5653.  
  5654. //Just update the menu. Used when a levelup occurs while the menu is open (rare, but possible)
  5655. simulated function ClientReInitMenu()
  5656. {
  5657.     if (StatsMenu != None)
  5658.         StatsMenu.InitFor(self);
  5659. }
  5660.  
  5661. simulated function Destroyed()
  5662. {
  5663.     local int x;
  5664.  
  5665.     if (Role == ROLE_Authority)
  5666.     {
  5667.         for (x = 0; x < OldRPGWeapons.Length; x++)
  5668.             if (OldRPGWeapons[x].Weapon != None)
  5669.                 OldRPGWeapons[x].Weapon.RemoveReference();
  5670.         OldRPGWeapons.length = 0;
  5671.     }
  5672.  
  5673.     if (StatsMenu != None)
  5674.         StatsMenu.StatsInv = None;
  5675.     StatsMenu = None;
  5676.  
  5677.     if (DataObject != None)
  5678.     {
  5679.         if (Role == ROLE_Authority)
  5680.             DataObject.SaveConfig();
  5681.         DataObject = None;
  5682.     }
  5683.     //Log("DESTROYED"@self);
  5684.  
  5685.     Super.Destroyed();
  5686. }
  5687.  
  5688. function ServerRequestPlayerLevels()
  5689. {
  5690.     local Controller C;
  5691.     local Inventory Inv;
  5692.     local RPGStatsInv StatsInv;
  5693.  
  5694.     if (RPGMut == None)
  5695.         return;
  5696.  
  5697.     for (C = Level.ControllerList; C != None; C = C.NextController)
  5698.     {
  5699.         if (C.bIsPlayer)
  5700.         {
  5701.             for (Inv = C.Inventory; Inv != None; Inv = Inv.Inventory)
  5702.             {
  5703.                 StatsInv = RPGStatsInv(Inv);
  5704.                 if (StatsInv != None)
  5705.                     ClientSendPlayerLevel(StatsInv.DataObject.Name$": "$StatsInv.DataObject.Level);
  5706.             }
  5707.         }
  5708.     }
  5709. }
  5710.  
  5711. simulated function ClientSendPlayerLevel(string PlayerString)
  5712. {
  5713.     ProcessPlayerLevel(PlayerString);
  5714. }
  5715.  
  5716. //Reset the player's data. Called by the client from the stats menu, after clicking the obscenely small button and confirming it
  5717. function ServerResetData(PlayerReplicationInfo PRI)
  5718. {
  5719.     local int x;
  5720.     local string OwnerID;
  5721.  
  5722.     if (RPGMut != None && DataObject.Level > RPGMut.StartingLevel)
  5723.     {
  5724.         OwnerID = DataObject.OwnerID;
  5725.  
  5726.         // hmmm... ClearConfig() doesn't reset the actual object instance
  5727.         // and ResetConfig() just plain crashes.
  5728.         DataObject.ClearConfig();
  5729.         DataObject = new(None, string(DataObject.Name)) class'RPGPlayerDataObject';
  5730.  
  5731.         DataObject.OwnerID = OwnerID;
  5732.         DataObject.Level = RPGMut.StartingLevel;
  5733.         DataObject.PointsAvailable = RPGMut.PointsPerLevel * (RPGMut.StartingLevel - 1);
  5734.         DataObject.AdrenalineMax = 100;
  5735.         if (RPGMut.Levels.length > RPGMut.StartingLevel)
  5736.             DataObject.NeededExp = RPGMut.Levels[RPGMut.StartingLevel];
  5737.         else if (RPGMut.InfiniteReqEXPValue != 0)
  5738.         {
  5739.             if (RPGMut.InfiniteReqEXPOp == 0)
  5740.                 DataObject.NeededExp = RPGMut.Levels[RPGMut.Levels.length - 1] + RPGMut.InfiniteReqEXPValue * (DataObject.Level - (RPGMut.Levels.length - 1));
  5741.             else
  5742.             {
  5743.                 DataObject.NeededExp = RPGMut.Levels[RPGMut.Levels.length - 1];
  5744.                 for (x = RPGMut.Levels.length - 1; x < RPGMut.StartingLevel; x++)
  5745.                     DataObject.NeededExp += int(float(DataObject.NeededEXP) * float(RPGMut.InfiniteReqEXPValue) / 100.f);
  5746.             }
  5747.         }
  5748.         else
  5749.             DataObject.NeededExp = RPGMut.Levels[RPGMut.Levels.length - 1];
  5750.         DataObject.CreateDataStruct(data, false);
  5751.         if (Instigator != None && Instigator.Health > 0)
  5752.         {
  5753.             Level.Game.SetPlayerDefaults(Instigator);
  5754.             OwnerEvent('ChangedWeapon');
  5755.             Timer();
  5756.         }
  5757.         Level.Game.BroadCastLocalized(self, class'GainLevelMessage', Data.Level, PRI);
  5758.         if (RPGMut.HighestLevelPlayerName ~= string(DataObject.Name))
  5759.         {
  5760.             //FIXME highest level player will be incorrect until the next time the real highest level
  5761.             //player logs on. Fixable, but it would be really slow, so not going to bother unless
  5762.             //someone really cares.
  5763.             RPGMut.HighestLevelPlayerLevel = 0;
  5764.             RPGMut.SaveConfig();
  5765.         }
  5766.         ClientResetData();
  5767.     }
  5768. }
  5769.  
  5770. simulated function ClientResetData()
  5771. {
  5772.     Data.Abilities.length = 0;
  5773.     Data.AbilityLevels.length = 0;
  5774. }
  5775.  
  5776. simulated function ClientReceiveAbilityInfo(int Index, class<RPGAbility> Ability, int Level)
  5777. {
  5778.     Data.Abilities[Index] = Ability;
  5779.     Data.AbilityLevels[Index] = Level;
  5780. }
  5781.  
  5782. simulated function ClientReceiveAllowedAbility(int Index, class<RPGAbility> Ability)
  5783. {
  5784.     AllAbilities[Index] = Ability;
  5785. }
  5786.  
  5787. //Even though it's a static length array, StatCaps doesn't seem to replicate the normal way...
  5788. simulated function ClientReceiveStatCap(int Index, int Cap)
  5789. {
  5790.     StatCaps[Index] = Cap;
  5791. }
  5792.  
  5793. simulated function ModifyVehicle(Vehicle V)
  5794. {
  5795.     local int i;
  5796.     local ONSVehicle OV;
  5797.     local ONSWeaponPawn WP;
  5798.  
  5799.     //for some reason we need this to continue sending data updates to the client
  5800.     if (Owner == Instigator)
  5801.         SetOwner(V);
  5802.  
  5803.     OV = ONSVehicle(V);
  5804.     if (OV != None)
  5805.     {
  5806.         for (i = 0; i < OV.Weapons.length; i++)
  5807.             OV.Weapons[i].SetFireRateModifier(1.f + 0.01 * Data.WeaponSpeed);
  5808.     }
  5809.     else
  5810.     {
  5811.         WP = ONSWeaponPawn(V);
  5812.         if (WP != None)
  5813.             WP.Gun.SetFireRateModifier(1.f + 0.01 * Data.WeaponSpeed);
  5814.         else if (V.Weapon != None) //some other type of vehicle using standard weapon system
  5815.             AdjustFireRate(V.Weapon);
  5816.     }
  5817.  
  5818.     for (i = 0; i < Data.Abilities.length; i++)
  5819.         Data.Abilities[i].static.ModifyVehicle(V, Data.AbilityLevels[i]);
  5820. }
  5821.  
  5822. simulated function ClientModifyVehicle(Vehicle V)
  5823. {
  5824.     if (V != None)
  5825.         ModifyVehicle(V);
  5826. }
  5827.  
  5828. simulated function UnModifyVehicle(Vehicle V)
  5829. {
  5830.     local int i;
  5831.  
  5832.     if (Owner == V)
  5833.         SetOwner(Instigator);
  5834.  
  5835.     for (i = 0; i < Data.Abilities.length; i++)
  5836.         Data.Abilities[i].static.UnModifyVehicle(V, Data.AbilityLevels[i]);
  5837. }
  5838.  
  5839. simulated function ClientUnModifyVehicle(Vehicle V)
  5840. {
  5841.     if (V != None)
  5842.         UnModifyVehicle(V);
  5843. }
  5844.  
  5845. l//This message is sent to players who have some damage-causing condition (e.g. poison)
  5846. class RPGDamageConditionMessage extends LocalMessage;
  5847.  
  5848. var localized string PoisonMessage;
  5849.  
  5850. static function string GetString(optional int Switch, optional PlayerReplicationInfo RelatedPRI_1,
  5851.                  optional PlayerReplicationInfo RelatedPRI_2, optional Object OptionalObject)
  5852. {
  5853.     if (Switch == 0)
  5854.         return Default.PoisonMessage;
  5855. }
  5856.  
  5857. Bjclass RPGStatsMenu extends GUIPage
  5858.     DependsOn(RPGStatsInv);
  5859.  
  5860. var RPGStatsInv StatsInv;
  5861.  
  5862. var moEditBox WeaponSpeedBox, HealthBonusBox, AdrenalineMaxBox, AttackBox, DefenseBox, AmmoMaxBox, PointsAvailableBox;
  5863. //Index of first stat display, first + button and first numeric edit in controls array
  5864. var int StatDisplayControlsOffset, ButtonControlsOffset, AmtControlsOffset;
  5865. var int NumButtonControls;
  5866. var GUIListBox Abilities;
  5867.  
  5868. function InitComponent(GUIController MyController, GUIComponent MyOwner)
  5869. {
  5870.     //MyController.FontStack[MyController.FontStack.length] = new class'AbilityListFont';
  5871.     //MyController.RegisterStyle(class'STY_AbilityList');
  5872.     //MyController.RegisterStyle(class'STY_ResetButton');
  5873.  
  5874.     Super.InitComponent(MyController, MyOwner);
  5875.  
  5876.     WeaponSpeedBox = moEditBox(Controls[2]);
  5877.     HealthBonusBox = moEditBox(Controls[3]);
  5878.     AdrenalineMaxBox = moEditBox(Controls[4]);
  5879.     AttackBox = moEditBox(Controls[5]);
  5880.     DefenseBox = moEditBox(Controls[6]);
  5881.     AmmoMaxBox = moEditBox(Controls[7]);
  5882.     PointsAvailableBox = moEditBox(Controls[8]);
  5883.     Abilities = GUIListBox(Controls[16]);
  5884. }
  5885.  
  5886. function bool CloseClick(GUIComponent Sender)
  5887. {
  5888.     Controller.CloseMenu(false);
  5889.  
  5890.     return true;
  5891. }
  5892.  
  5893. function MyOnClose(optional bool bCanceled)
  5894. {
  5895.     //local int x;
  5896.  
  5897.     /*for (x = 0; x < Controller.FontStack.length; x++)
  5898.         if (AbilityListFont(Controller.FontStack[x]) != None)
  5899.         {
  5900.             Controller.FontStack.Remove(x, 1);
  5901.             break;
  5902.         }
  5903.     for (x = 0; x < Controller.StyleStack.Length; x++)
  5904.         if (STY_AbilityList(Controller.StyleStack[x]) != None || STY_ResetButton(Controller.StyleStack[x]) != None)
  5905.         {
  5906.             Controller.StyleStack.Remove(x, 1);
  5907.             x--;
  5908.         }*/
  5909.  
  5910.     if (StatsInv != None)
  5911.     {
  5912.         StatsInv.StatsMenu = None;
  5913.         StatsInv = None;
  5914.     }
  5915.  
  5916.     Super.OnClose(bCanceled);
  5917. }
  5918.  
  5919. function bool LevelsClick(GUIComponent Sender)
  5920. {
  5921.     Controller.OpenMenu("UT2004RPG.RPGPlayerLevelsMenu");
  5922.     StatsInv.ProcessPlayerLevel = RPGPlayerLevelsMenu(Controller.TopPage()).ProcessPlayerLevel;
  5923.     StatsInv.ServerRequestPlayerLevels();
  5924.  
  5925.     return true;
  5926. }
  5927.  
  5928. //Initialize, using the given RPGStatsInv for the stats data and for client->server function calls
  5929. function InitFor(RPGStatsInv Inv)
  5930. {
  5931.     local int x, y, Index, Cost, Level;
  5932.     local RPGPlayerDataObject TempDataObject;
  5933.  
  5934.     StatsInv = Inv;
  5935.     StatsInv.StatsMenu = self;
  5936.  
  5937.     WeaponSpeedBox.SetText(string(StatsInv.Data.WeaponSpeed));
  5938.     HealthBonusBox.SetText(string(StatsInv.Data.HealthBonus));
  5939.     AdrenalineMaxBox.SetText(string(StatsInv.Data.AdrenalineMax));
  5940.     AttackBox.SetText(string(StatsInv.Data.Attack));
  5941.     DefenseBox.SetText(string(StatsInv.Data.Defense));
  5942.     AmmoMaxBox.SetText(string(StatsInv.Data.AmmoMax));
  5943.     PointsAvailableBox.SetText(string(StatsInv.Data.PointsAvailable));
  5944.  
  5945.     if (StatsInv.Data.PointsAvailable <= 0)
  5946.         DisablePlusButtons();
  5947.     else
  5948.         EnablePlusButtons();
  5949.  
  5950.     //show/hide buttons if stat caps reached
  5951.     for (x = 0; x < 6; x++)
  5952.         if ( StatsInv.StatCaps[x] >= 0
  5953.              && int(moEditBox(Controls[StatDisplayControlsOffset+x]).GetText()) >= StatsInv.StatCaps[x] )
  5954.         {
  5955.             Controls[ButtonControlsOffset+x].SetVisibility(false);
  5956.             Controls[AmtControlsOffset+x].SetVisibility(false);
  5957.         }
  5958.  
  5959.     TempDataObject = RPGPlayerDataObject(StatsInv.Level.ObjectPool.AllocateObject(class'RPGPlayerDataObject'));
  5960.     TempDataObject.InitFromDataStruct(StatsInv.Data);
  5961.  
  5962.     //Fill the ability listbox
  5963.     Abilities.List.Clear();
  5964.     for (x = 0; x < StatsInv.AllAbilities.length; x++)
  5965.     {
  5966.         Index = -1;
  5967.         for (y = 0; y < StatsInv.Data.Abilities.length; y++)
  5968.             if (StatsInv.AllAbilities[x] == StatsInv.Data.Abilities[y])
  5969.             {
  5970.                 Index = y;
  5971.                 y = StatsInv.Data.Abilities.length;
  5972.             }
  5973.         if (Index == -1)
  5974.             Level = 0;
  5975.         else
  5976.             Level = StatsInv.Data.AbilityLevels[Index];
  5977.  
  5978.         if (Level >= StatsInv.AllAbilities[x].default.MaxLevel)
  5979.             Abilities.List.Add(StatsInv.AllAbilities[x].default.AbilityName@"(Current Level: "$Level$" [MAX]"$")", StatsInv.AllAbilities[x], string(Cost));
  5980.         else
  5981.         {
  5982.             Cost = StatsInv.AllAbilities[x].static.Cost(TempDataObject, Level);
  5983.  
  5984.             if (Cost <= 0)
  5985.                 Abilities.List.Add(StatsInv.AllAbilities[x].default.AbilityName@"(Current Level: "$Level$", Can't Buy"$")", StatsInv.AllAbilities[x], string(Cost));
  5986.             else
  5987.                 Abilities.List.Add(StatsInv.AllAbilities[x].default.AbilityName@"(Current Level: "$Level$", Cost: "$Cost$")", StatsInv.AllAbilities[x], string(Cost));
  5988.         }
  5989.     }
  5990.     UpdateAbilityButtons(Abilities);
  5991.  
  5992.     StatsInv.Level.ObjectPool.FreeObject(TempDataObject);
  5993. }
  5994.  
  5995. function bool StatPlusClick(GUIComponent Sender)
  5996. {
  5997.     local int x, SenderIndex;
  5998.  
  5999.     for (x = ButtonControlsOffset; x < ButtonControlsOffset + NumButtonControls; x++)
  6000.         if (Controls[x] == Sender)
  6001.         {
  6002.             SenderIndex = x;
  6003.             break;
  6004.         }
  6005.  
  6006.     SenderIndex -= ButtonControlsOffset;
  6007.     DisablePlusButtons();
  6008.     StatsInv.ServerAddPointTo(int(GUINumericEdit(Controls[SenderIndex + AmtControlsOffset]).Value), EStatType(SenderIndex));
  6009.  
  6010.     return true;
  6011. }
  6012.  
  6013. function DisablePlusButtons()
  6014. {
  6015.     local int x;
  6016.  
  6017.     for (x = ButtonControlsOffset; x < ButtonControlsOffset + NumButtonControls; x++)
  6018.         Controls[x].MenuStateChange(MSAT_Disabled);
  6019. }
  6020.  
  6021. function EnablePlusButtons()
  6022. {
  6023.     local int x;
  6024.  
  6025.     for (x = ButtonControlsOffset; x < ButtonControlsOffset + NumButtonControls; x++)
  6026.         Controls[x].MenuStateChange(MSAT_Blurry);
  6027.  
  6028.     for (x = AmtControlsOffset; x < AmtControlsOffset + NumButtonControls; x++)
  6029.     {
  6030.         GUINumericEdit(Controls[x]).MaxValue = StatsInv.Data.PointsAvailable;
  6031.         GUINumericEdit(Controls[x]).CalcMaxLen();
  6032.         if (int(GUINumericEdit(Controls[x]).Value) > StatsInv.Data.PointsAvailable)
  6033.             GUINumericEdit(Controls[x]).SetValue(StatsInv.Data.PointsAvailable);
  6034.     }
  6035. }
  6036.  
  6037. function bool UpdateAbilityButtons(GUIComponent Sender)
  6038. {
  6039.     local int Cost;
  6040.  
  6041.     Cost = int(Abilities.List.GetExtra());
  6042.     if (Cost <= 0 || Cost > StatsInv.Data.PointsAvailable)
  6043.         Controls[18].MenuStateChange(MSAT_Disabled);
  6044.     else
  6045.         Controls[18].MenuStateChange(MSAT_Blurry);
  6046.  
  6047.     return true;
  6048. }
  6049.  
  6050. function bool ShowAbilityDesc(GUIComponent Sender)
  6051. {
  6052.     local class<RPGAbility> Ability;
  6053.  
  6054.     Ability = class<RPGAbility>(Abilities.List.GetObject());
  6055.     Controller.OpenMenu("UT2004RPG.RPGAbilityDescMenu");
  6056.     RPGAbilityDescMenu(Controller.TopPage()).t_WindowTitle.Caption = Ability.default.AbilityName;
  6057.     RPGAbilityDescMenu(Controller.TopPage()).MyScrollText.SetContent(Ability.default.Description);
  6058.  
  6059.     return true;
  6060. }
  6061.  
  6062. function bool BuyAbility(GUIComponent Sender)
  6063. {
  6064.     DisablePlusButtons();
  6065.     Controls[18].MenuStateChange(MSAT_Disabled);
  6066.     StatsInv.ServerAddAbility(class<RPGAbility>(Abilities.List.GetObject()));
  6067.  
  6068.     return true;
  6069. }
  6070.  
  6071. function bool ResetClick(GUIComponent Sender)
  6072. {
  6073.     Controller.OpenMenu("UT2004RPG.RPGResetConfirmPage");
  6074.     RPGResetConfirmPage(Controller.TopPage()).StatsMenu = self;
  6075.     return true;
  6076. }
  6077.  
  6078. Mclass RPGArtifactPickup extends TournamentPickup;
  6079.  
  6080. var float LifeTime;
  6081. var RPGArtifactManager ArtifactManager;
  6082.  
  6083. function PostBeginPlay()
  6084. {
  6085.     Super.PostBeginPlay();
  6086.  
  6087.     foreach DynamicActors(class'RPGArtifactManager', ArtifactManager)
  6088.         break;
  6089.  
  6090.     if (ArtifactManager != None)
  6091.         SetTimer(Lifetime, false);
  6092.     else
  6093.         Destroy();
  6094. }
  6095.  
  6096. function bool CanPickupArtifact(Pawn Other)
  6097. {
  6098.     local Inventory Inv;
  6099.     local int Count, NumArtifacts;
  6100.  
  6101.     if (ArtifactManager == None)
  6102.     {
  6103.         //PostBeginPlay() hasn't been called yet, wait until later
  6104.         PendingTouch = Other.PendingTouch;
  6105.         Other.PendingTouch = self;
  6106.         return false;
  6107.     }
  6108.  
  6109.     if (ArtifactManager.MaxHeldArtifacts <= 0)
  6110.         return true;
  6111.  
  6112.     for (Inv = Other.Inventory; Inv != None; Inv = Inv.Inventory)
  6113.     {
  6114.         if (RPGArtifact(Inv) != None)
  6115.             NumArtifacts++;
  6116.         Count++;
  6117.         if (Count > 1000)
  6118.             break;
  6119.     }
  6120.  
  6121.     if (NumArtifacts >= ArtifactManager.MaxHeldArtifacts)
  6122.         return false;
  6123.  
  6124.     return true;
  6125. }
  6126.  
  6127. function float DetourWeight(Pawn Other, float PathWeight)
  6128. {
  6129.     if (CanPickupArtifact(Other))
  6130.         return MaxDesireability/PathWeight;
  6131.     else
  6132.         return 0;
  6133. }
  6134.  
  6135. function float BotDesireability(Pawn Bot)
  6136. {
  6137.     if (CanPickupArtifact(Bot))
  6138.         return MaxDesireability;
  6139.     else
  6140.         return 0;
  6141. }
  6142.  
  6143. auto state Pickup
  6144. {
  6145.     function bool ValidTouch(Actor Other)
  6146.     {
  6147.         if (!Super.ValidTouch(Other))
  6148.             return false;
  6149.  
  6150.         return CanPickupArtifact(Pawn(Other));
  6151.     }
  6152. }
  6153.  
  6154. H    ÇW@//The artifact manager spawns artifacts at random PathNodes.
  6155. //It tries to make sure there's at least one artifact of every type available
  6156. class RPGArtifactManager extends Info
  6157.     config(UT2004RPG);
  6158.  
  6159. var config int ArtifactDelay; //spawn an artifact every this many seconds - zero disables
  6160. var config int MaxArtifacts;
  6161. var config int MaxHeldArtifacts; //maximum number of artifacts a player can hold
  6162. var config array<class<RPGArtifact> > Artifacts;
  6163. var array<RPGArtifact> CurrentArtifacts;
  6164. var array<PathNode> PathNodes;
  6165.  
  6166. var localized string PropsDisplayText[3];
  6167. var localized string PropsDescText[3];
  6168.  
  6169. function PostBeginPlay()
  6170. {
  6171.     local NavigationPoint N;
  6172.     local int x;
  6173.  
  6174.     Super.PostBeginPlay();
  6175.  
  6176.     for (x = 0; x < Artifacts.length; x++)
  6177.         if (Artifacts[x] == None || !Artifacts[x].static.ArtifactIsAllowed(Level.Game))
  6178.         {
  6179.             Artifacts.Remove(x, 1);
  6180.             x--;
  6181.         }
  6182.  
  6183.     if (ArtifactDelay > 0 && MaxArtifacts > 0 && Artifacts.length > 0)
  6184.     {
  6185.         for (N = Level.NavigationPointList; N != None; N = N.NextNavigationPoint)
  6186.             if (PathNode(N) != None && !N.IsA('FlyingPathNode'))
  6187.                 PathNodes[PathNodes.length] = PathNode(N);
  6188.     }
  6189.     else
  6190.         Destroy();
  6191. }
  6192.  
  6193. function MatchStarting()
  6194. {
  6195.     SetTimer(ArtifactDelay, true);
  6196. }
  6197.  
  6198. function Timer()
  6199. {
  6200.     local int Chance, Count, x;
  6201.     local bool bTryAgain;
  6202.  
  6203.     for (x = 0; x < CurrentArtifacts.length; x++)
  6204.         if (CurrentArtifacts[x] == None)
  6205.         {
  6206.             CurrentArtifacts.Remove(x, 1);
  6207.             x--;
  6208.         }
  6209.  
  6210.     if (CurrentArtifacts.length >= MaxArtifacts)
  6211.         return;
  6212.  
  6213.     if (CurrentArtifacts.length >= Artifacts.length)
  6214.     {
  6215.         //there's one of everything already
  6216.         Chance = Rand(Artifacts.length);
  6217.         SpawnArtifact(Chance);
  6218.         return;
  6219.     }
  6220.  
  6221.     while (Count < 250)
  6222.     {
  6223.         Chance = Rand(Artifacts.length);
  6224.         for (x = 0; x < CurrentArtifacts.length; x++)
  6225.             if (CurrentArtifacts[x].Class == Artifacts[Chance])
  6226.             {
  6227.                 bTryAgain = true;
  6228.                 x = CurrentArtifacts.length;
  6229.             }
  6230.         if (!bTryAgain)
  6231.         {
  6232.             SpawnArtifact(Chance);
  6233.             return;
  6234.         }
  6235.         bTryAgain = false;
  6236.         Count++;
  6237.     }
  6238. }
  6239.  
  6240. function SpawnArtifact(int Index)
  6241. {
  6242.     local Pickup APickup;
  6243.     local Controller C;
  6244.     local RPGArtifact Inv;
  6245.     local int NumMonsters, PickedMonster, CurrentMonster;
  6246.  
  6247.     if (Level.Game.IsA('Invasion'))
  6248.     {
  6249.         NumMonsters = int(Level.Game.GetPropertyText("NumMonsters"));
  6250.         if (NumMonsters <= CurrentArtifacts.length)
  6251.             return;
  6252.         do
  6253.         {
  6254.             PickedMonster = Rand(NumMonsters);
  6255.             for (C = Level.ControllerList; C != None; C = C.NextController)
  6256.                 if (C.Pawn != None && C.Pawn.IsA('Monster') && !C.IsA('FriendlyMonsterController'))
  6257.                 {
  6258.                     if (CurrentMonster >= PickedMonster)
  6259.                     {
  6260.                         //Assumes monster doesn't get inventory from anywhere else!
  6261.                         if (RPGArtifact(C.Pawn.Inventory) == None)
  6262.                         {
  6263.                             Inv = spawn(Artifacts[Index]);
  6264.                             Inv.GiveTo(C.Pawn);
  6265.                             break;
  6266.                         }
  6267.                     }
  6268.                     else
  6269.                         CurrentMonster++;
  6270.                 }
  6271.         } until (Inv != None)
  6272.  
  6273.         if (Inv != None)
  6274.             CurrentArtifacts[CurrentArtifacts.length] = Inv;
  6275.     }
  6276.     else
  6277.     {
  6278.         APickup = spawn(Artifacts[Index].default.PickupClass,,, PathNodes[Rand(PathNodes.length)].Location);
  6279.         if (APickup == None)
  6280.             return;
  6281.         APickup.RespawnEffect();
  6282.         APickup.RespawnTime = 0.0;
  6283.         APickup.AddToNavigation();
  6284.         APickup.bDropped = true;
  6285.         APickup.Inventory = spawn(Artifacts[Index]);
  6286.         CurrentArtifacts[CurrentArtifacts.length] = RPGArtifact(APickup.Inventory);
  6287.     }
  6288. }
  6289.  
  6290. static function FillPlayInfo(PlayInfo PlayInfo)
  6291. {
  6292.     local int i;
  6293.  
  6294.     Super.FillPlayInfo(PlayInfo);
  6295.  
  6296.     PlayInfo.AddSetting("UT2004RPG", "MaxArtifacts", default.PropsDisplayText[i++], 3, 10, "Text", "2;0:25");
  6297.     PlayInfo.AddSetting("UT2004RPG", "ArtifactDelay", default.PropsDisplayText[i++], 30, 10, "Text", "3;1:100");
  6298.     PlayInfo.AddSetting("UT2004RPG", "MaxHeldArtifacts", default.PropsDisplayText[i++], 0, 10, "Text", "2;0:99");
  6299. }
  6300.  
  6301. static function string GetDescriptionText(string PropName)
  6302. {
  6303.     switch (PropName)
  6304.     {
  6305.         case "MaxArtifacts":    return default.PropsDescText[0];
  6306.         case "ArtifactDelay":    return default.PropsDescText[1];
  6307.         case "MaxHeldArtifacts":return default.PropsDescText[2];
  6308.     }
  6309. }
  6310.  
  6311. ^ ë8$û^  É,
  6312. Æ] &%5^ ]  G!{2class RPGArtifact extends Powerups;
  6313.  
  6314. var int CostPerSec; //adrenaline cost per second
  6315. var float ActivatedTime, MinActivationTime;
  6316. var localized string NotEnoughAdrenalineMessage;
  6317.  
  6318. replication
  6319. {
  6320.     reliable if (Role < ROLE_Authority)
  6321.         TossArtifact;
  6322. }
  6323.  
  6324. static function bool ArtifactIsAllowed(GameInfo Game)
  6325. {
  6326.     return true;
  6327. }
  6328.  
  6329. //Hack for bots
  6330. function OwnerEvent(name EventName)
  6331. {
  6332.     if (EventName == 'ChangedWeapon' && AIController(Instigator.Controller) != None)
  6333.         BotConsider();
  6334.  
  6335.     Super.OwnerEvent(EventName);
  6336. }
  6337.  
  6338. //AI for activating/deactivating this artifact
  6339. function BotConsider();
  6340.  
  6341. //returns true if Instigator currently has no active artifacts
  6342. simulated function bool NoArtifactsActive()
  6343. {
  6344.     local Inventory Inv;
  6345.     local int Count;
  6346.  
  6347.     for (Inv = Instigator.Inventory; Inv != None; Inv = Inv.Inventory)
  6348.     {
  6349.         if (RPGArtifact(Inv) != None && RPGArtifact(Inv).bActive)
  6350.             return false;
  6351.         Count++;
  6352.         if (Count > 1000)
  6353.             break;
  6354.     }
  6355.  
  6356.     return true;
  6357. }
  6358.  
  6359. function bool HandlePickupQuery(Pickup Item)
  6360. {
  6361.     if (item.InventoryType == class)
  6362.     {
  6363.         if (bCanHaveMultipleCopies)
  6364.             NumCopies++;
  6365.         else if ( bDisplayableInv )
  6366.         {
  6367.             if ( Item.Inventory != None )
  6368.                 Charge = Max(Charge, Item.Inventory.Charge);
  6369.             else
  6370.                 Charge = Max(Charge, Item.InventoryType.Default.Charge);
  6371.         }
  6372.         else
  6373.             return false;
  6374.  
  6375.         Item.AnnouncePickup(Pawn(Owner));
  6376.         Item.SetRespawn();
  6377.         return true;
  6378.     }
  6379.     if ( Inventory == None )
  6380.         return false;
  6381.  
  6382.     return Inventory.HandlePickupQuery(Item);
  6383. }
  6384.  
  6385. //Toss out this artifact
  6386. exec function TossArtifact()
  6387. {
  6388.     local vector X, Y, Z;
  6389.  
  6390.     Instigator.NextItem();
  6391.     Velocity = Vector(Instigator.Controller.GetViewRotation());
  6392.     Velocity = Velocity * ((Instigator.Velocity Dot Velocity) + 500) + Vect(0,0,200);
  6393.     GetAxes(Instigator.Rotation, X, Y, Z);
  6394.     DropFrom(Instigator.Location + 0.8 * Instigator.CollisionRadius * X - 0.5 * Instigator.CollisionRadius * Y);
  6395. }
  6396.  
  6397. function DropFrom(vector StartLocation)
  6398. {
  6399.     if (bActive)
  6400.         GotoState('');
  6401.  
  6402.     Super.DropFrom(StartLocation);
  6403. }
  6404.  
  6405. function UsedUp()
  6406. {
  6407.     if ( Pawn(Owner) != None )
  6408.     {
  6409.         Activate();
  6410.         Instigator.ReceiveLocalizedMessage(MessageClass, 0, None, None, Class);
  6411.     }
  6412.     Owner.PlaySound(DeactivateSound,SLOT_Interface);
  6413. }
  6414.  
  6415. function Activate()
  6416. {
  6417.     if (bActivatable && Instigator.Controller != None)
  6418.     {
  6419.         if (bActive && Level.TimeSeconds > ActivatedTime + MinActivationTime)
  6420.             GotoState('');
  6421.         else if (!bActive)
  6422.         {
  6423.             if (Instigator.Controller.Adrenaline > CostPerSec * MinActivationTime)
  6424.             {
  6425.                 ActivatedTime = Level.TimeSeconds;
  6426.                 GotoState('Activated');
  6427.             }
  6428.             else
  6429.                 Instigator.ReceiveLocalizedMessage(MessageClass, 1, None, None, Class);
  6430.         }
  6431.     }
  6432. }
  6433.  
  6434. static function string GetLocalString(optional int Switch, optional PlayerReplicationInfo RelatedPRI_1, optional PlayerReplicationInfo RelatedPRI_2)
  6435. {
  6436.     if (Switch == 1)
  6437.         return Default.NotEnoughAdrenalineMessage;
  6438.  
  6439.     return Super.GetLocalString(Switch, RelatedPRI_1, RelatedPRI_2);
  6440. }
  6441.  
  6442. simulated function Tick(float deltaTime)
  6443. {
  6444.     if (bActive)
  6445.     {
  6446.         Instigator.Controller.Adrenaline -= deltaTime * CostPerSec;
  6447.         if (Instigator.Controller.Adrenaline <= 0.0)
  6448.         {
  6449.             Instigator.Controller.Adrenaline = 0.0;
  6450.             UsedUp();
  6451.         }
  6452.     }
  6453. }
  6454.  
  6455. w//Shows levels of all players in game
  6456. class RPGAbilityDescMenu extends LargeWindow;
  6457.  
  6458. var automated GUIScrollTextBox MyScrollText;
  6459. var automated GUILabel MyLabel;
  6460. var automated GUIButton CloseButton;
  6461.  
  6462. function bool CloseClick(GUIComponent Sender)
  6463. {
  6464.     Controller.CloseMenu(false);
  6465.  
  6466.     return true;
  6467. }
  6468.  
  6469. ÇEnx ?ƒx╔½x╔«Ç?½═╠L=9?X    x÷½x÷«Ç?½═╠L=9?X    x┬½x┬«Ç?½═╠L=9?X     G!wO//An ability a player can buy with stat points
  6470. //Abilities are handled similarly to DamageTypes and LocalMessages (abstract to avoid replication)
  6471. class RPGAbility extends Object
  6472.     abstract;
  6473.  
  6474. var localized string AbilityName; //Shown in menus
  6475. var localized string Description; //Text shown when hit "Info" button for this ability
  6476. var int StartingCost, CostAddPerLevel, BotChance, MaxLevel;
  6477.  
  6478. /* Called by MutUT2004RPG during its first tick. Return false to be removed from ability list (for example, if the
  6479.  * ability doesn't make sense with the current gametype)
  6480.  * Also gives the ability a chance to modify the game or the mutator (for example, if the ability depends on an
  6481.  * additional mutator, you could add it here)
  6482.  */
  6483. static function bool AbilityIsAllowed(GameInfo Game, MutUT2004RPG RPGMut)
  6484. {
  6485.     return true;
  6486. }
  6487.  
  6488. /* The stat point cost to buy another level of this ability. Values less than 1 are interpreted to mean this ability cannot be currently bought
  6489.  * Do not reduce the cost of an ability based on the presence of other abilities - doing so will screw things up
  6490.  */
  6491. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  6492. {
  6493.     if (CurrentLevel < default.MaxLevel)
  6494.         return default.StartingCost + default.CostAddPerLevel * CurrentLevel;
  6495.     else
  6496.         return 0;
  6497. }
  6498.  
  6499. /* The chance a bot will buy this ability. You don't need to check for bots having enough points available -
  6500.  * if they don't, they'll automatically save up until they do.
  6501.  */
  6502. static function int BotBuyChance(Bot B, RPGPlayerDataObject Data, int CurrentLevel)
  6503. {
  6504.     if (static.Cost(Data, CurrentLevel) > 0)
  6505.         return default.BotChance;
  6506.     else
  6507.         return 0;
  6508. }
  6509.  
  6510. /* Modify the player's pawn. Called by MutUT2004RPG.ModifyPlayer() on the server side, and by
  6511.  * RPGStatsInv.Tick() on the client side on the first tick after everything has replicated
  6512.  */
  6513. static simulated function ModifyPawn(Pawn Other, int AbilityLevel);
  6514.  
  6515. /* Modify the owning player's current weapon. Called by RPGStatsInv whenever the player's weapon changes.
  6516.  */
  6517. static simulated function ModifyWeapon(Weapon Weapon, int AbilityLevel);
  6518.  
  6519. /* Modify the owning player's current vehicle. Called by MutUT2004RPG.DriverEnteredVehicle() serverside
  6520.  * and RPGStatsInv.ClientEnteredVehicle() clientside.
  6521.  */
  6522. static simulated function ModifyVehicle(Vehicle V, int AbilityLevel);
  6523.  
  6524. /* Remove any modifications to this vehicle, because the player is no longer driving it.
  6525.  */
  6526. static simulated function UnModifyVehicle(Vehicle V, int AbilityLevel);
  6527.  
  6528. /* React to damage about to be done to the injured player's pawn. Called by RPGRules.NetDamage()
  6529.  * Note that this is called AFTER the damage has been affected by Damage Bonus/Damage Reduction.
  6530.  * Also note that for any damage this is called on the abilities of both players involved.
  6531.  * Use bOwnedByInstigator to determine which pawn is the owner of this ability.
  6532.  */
  6533. static function HandleDamage(int Damage, Pawn Injured, Pawn Instigator, out vector Momentum, class<DamageType> DamageType, bool bOwnedByInstigator, int AbilityLevel);
  6534.  
  6535. /* React to a kill. Called by RPGRules.ScoreKill()
  6536.  */
  6537. static function ScoreKill(Controller Killer, Controller Killed, bool bOwnedByKiller, int AbilityLevel);
  6538.  
  6539. /* If this returns true, prevent Killed's death. Called by RPGRules.PreventDeath()
  6540.  * NOTE: If a GameRules before RPGRules prevents the death, this probably won't get called
  6541.  * bAlreadyPrevented will be true if a GameRules AFTER RPGRules, or an ability, has already prevented the death.
  6542.  * If bAlreadyPrevented is true, the return value of this function is ignored. This is called anyway so you have the
  6543.  * opportunity to prevent stacking of death preventing abilities (for example, by putting a marker inventory on Killed
  6544.  * so next time you know not to prevent his death again because it was already prevented once)
  6545.  */
  6546. static function bool PreventDeath(Pawn Killed, Controller Killer, class<DamageType> DamageType, vector HitLocation, int AbilityLevel, bool bAlreadyPrevented)
  6547. {
  6548.     return false;
  6549. }
  6550.  
  6551. /* If this returns true, prevent boneName from being severed from Killed. You should return true here anytime you will be
  6552.  * returning true to PreventDeath(), above, as otherwise you will have live pawns running around with no head and other
  6553.  * amusing but gameplay-damaging phenomenon.
  6554.  */
  6555. static function bool PreventSever(Pawn Killed, name boneName, int Damage, class<DamageType> DamageType, int AbilityLevel)
  6556. {
  6557.     return false;
  6558. }
  6559.  
  6560. /* Called by RPGRules.OverridePickupQuery() and works exactly like that function - if this returns true,
  6561.  * bAllowPickup determines if item can be picked up (1 is yes, any other value is no)
  6562.  * NOTE: The first function to return true prevents all further abilities in the player's ability list
  6563.  * from getting this call on that particular Pickup. Therefore, to maintain maximum compatibility,
  6564.  * return true only if you're actually overriding the normal behavior.
  6565.  */
  6566. static function bool OverridePickupQuery(Pawn Other, Pickup item, out byte bAllowPickup, int AbilityLevel)
  6567. {
  6568.     return false;
  6569. }
  6570.  
  6571. }class RegenInv extends Inventory;
  6572.  
  6573. var int RegenAmount;
  6574.  
  6575. function PostBeginPlay()
  6576. {
  6577.     SetTimer(1.0, true);
  6578.  
  6579.     Super.PostBeginPlay();
  6580. }
  6581.  
  6582. function Timer()
  6583. {
  6584.     if (Instigator == None || Instigator.Health <= 0)
  6585.     {
  6586.         Destroy();
  6587.         return;
  6588.     }
  6589.  
  6590.     Instigator.GiveHealth(RegenAmount, Instigator.HealthMax);
  6591. }
  6592. f¢uûf-,·%g%aûg7fWrgf h %Ñgfk G!`//hack to update projectile speed since neither Speed nor MaxSpeed is a replicated variable
  6593. //Used by RW_Force
  6594. class ProjectileSpeedChanger extends Actor;
  6595.  
  6596. var int Modifier;
  6597. var Projectile ModifiedProjectile;
  6598.  
  6599. replication
  6600. {
  6601.     reliable if (bNetInitial && Role == ROLE_Authority)
  6602.         Modifier, ModifiedProjectile;
  6603. }
  6604.  
  6605. simulated function PostBeginPlay()
  6606. {
  6607.     if (Level.NetMode == NM_Client)
  6608.         SetTimer(10, false);
  6609.  
  6610.     Super.PostBeginPlay();
  6611. }
  6612.  
  6613. simulated event Tick(float deltaTime)
  6614. {
  6615.     if (Role == ROLE_Authority)
  6616.     {
  6617.         if (ModifiedProjectile == None)
  6618.             Destroy();
  6619.         return;
  6620.     }
  6621.     else if (ModifiedProjectile == None)
  6622.     {
  6623.         //bNetTemporary projectiles don't always get hooked up, so find it
  6624.         if (Modifier == 0)
  6625.             return;
  6626.         foreach CollidingActors(class'Projectile', ModifiedProjectile, 200)
  6627.             if (ModifiedProjectile.MaxSpeed == ModifiedProjectile.default.MaxSpeed)
  6628.                 break;
  6629.         if (ModifiedProjectile == None)
  6630.             return;
  6631.     }
  6632.  
  6633.     ModifiedProjectile.Velocity *= 1.0 + 0.2 * Modifier;
  6634.     ModifiedProjectile.Speed *= 1.0 + 0.2 * Modifier;
  6635.     ModifiedProjectile.MaxSpeed *= 1.0 + 0.2 * Modifier;
  6636.     Destroy();
  6637. }
  6638.  
  6639. simulated function Timer()
  6640. {
  6641.     Destroy();
  6642. }
  6643.  
  6644. rclass PoisonInv extends Inventory;
  6645.  
  6646. var Controller InstigatorController;
  6647. var Pawn PawnOwner;
  6648. var int Modifier;
  6649.  
  6650. replication
  6651. {
  6652.     reliable if (bNetInitial && Role == ROLE_Authority)
  6653.         PawnOwner;
  6654. }
  6655.  
  6656. simulated function PostBeginPlay()
  6657. {
  6658.     Super.PostBeginPlay();
  6659.  
  6660.     if (Instigator != None)
  6661.         InstigatorController = Instigator.Controller;
  6662.  
  6663.     SetTimer(1, true);
  6664. }
  6665.  
  6666. function GiveTo(Pawn Other, optional Pickup Pickup)
  6667. {
  6668.     local Pawn OldInstigator;
  6669.  
  6670.     if (InstigatorController == None)
  6671.         InstigatorController = Other.DelayedDamageInstigatorController;
  6672.  
  6673.     //want Instigator to be the one that caused the poison
  6674.     OldInstigator = Instigator;
  6675.     Super.GiveTo(Other);
  6676.     PawnOwner = Other;
  6677.     Instigator = OldInstigator;
  6678. }
  6679.  
  6680. simulated function Timer()
  6681. {
  6682.     if (Role == ROLE_Authority)
  6683.     {
  6684.         if (Owner == None)
  6685.         {
  6686.             Destroy();
  6687.             return;
  6688.         }
  6689.  
  6690.         if (Instigator == None && InstigatorController != None)
  6691.             Instigator = InstigatorController.Pawn;
  6692.  
  6693.         PawnOwner.DelayedDamageInstigatorController = InstigatorController;
  6694.         PawnOwner.TakeDamage(Modifier * 2, Instigator, PawnOwner.Location, vect(0,0,0), class'DamTypePoison');
  6695.     }
  6696.  
  6697.     if (Level.NetMode != NM_DedicatedServer && PawnOwner != None)
  6698.     {
  6699.         PawnOwner.Spawn(class'GoopSmoke');
  6700.         if (PawnOwner.IsLocallyControlled() && PlayerController(PawnOwner.Controller) != None)
  6701.             PlayerController(PawnOwner.Controller).ReceiveLocalizedMessage(class'RPGDamageConditionMessage', 0);
  6702.     }
  6703. }
  6704.  
  6705. gÇd//Holder for a pawn's old weapon
  6706. //Used by AbilityNoWeaponDrop to keep a pawn's active weapon and ammo after the pawn dies
  6707. class OldWeaponHolder extends Actor;
  6708.  
  6709. var Weapon Weapon;
  6710. var int AmmoAmounts[2];
  6711.  
  6712. function PostBeginPlay()
  6713. {
  6714.     SetTimer(1.0, true);
  6715.  
  6716.     Super.PostBeginPlay();
  6717. }
  6718.  
  6719. function Timer()
  6720. {
  6721.     if (Controller(Owner) == None || Weapon == None)
  6722.         Destroy();
  6723. }
  6724.  
  6725. function Destroyed()
  6726. {
  6727.     if (Weapon != None)
  6728.         Weapon.Destroy();
  6729.  
  6730.     Super.Destroyed();
  6731. }
  6732.  
  6733. uuS|Ööééü-t2▒6≥S Ö6█S Σ╨wS  i*Sa ISæV
  6734. ¼Ç@9?l( G i%//RPGPlayerDataObject is used for saving player data. Using PerObjectConfig objects over arrays of structs is faster
  6735. //because native code can do the name search. Additionally, structs have a 1024 character limit when converted
  6736. //to text for .ini saving, which is not an issue for objects since they are not stored on one line.
  6737. class RPGPlayerDataObject extends Object
  6738.     config(UT2004RPG)
  6739.     PerObjectConfig;
  6740.  
  6741. //Player name is the object name
  6742. var config string OwnerID; //unique PlayerID of person who owns this name ("Bot" for bots)
  6743.  
  6744. var config int Level, Experience, WeaponSpeed, HealthBonus, AdrenalineMax, Attack, Defense, AmmoMax,
  6745.            PointsAvailable, NeededExp;
  6746.  
  6747. //these two should really be a struct but can't be since they need to be able to be put into RPGPlayerData struct
  6748. //and structs inside structs are not supported
  6749. var config array<class<RPGAbility> > Abilities;
  6750. var config array<int> AbilityLevels;
  6751.  
  6752. //AI related
  6753. var config class<RPGAbility> BotAbilityGoal; //Bot is saving points towards this ability
  6754. var config int BotGoalAbilityCurrentLevel; //Bot's current level in the ability it wants (so don't have to search for it)
  6755.  
  6756. //This struct is used for the data when it needs to be replicated, since an Object cannot be
  6757. struct RPGPlayerData
  6758. {
  6759.     var int Level, Experience, WeaponSpeed, HealthBonus, AdrenalineMax;
  6760.     var int Attack, Defense, AmmoMax, PointsAvailable, NeededExp;
  6761.     var array<class<RPGAbility> > Abilities;
  6762.     var array<int> AbilityLevels;
  6763. };
  6764.  
  6765. function CreateDataStruct(out RPGPlayerData Data, bool bOnlyEXP)
  6766. {
  6767.     Data.Level = Level;
  6768.     Data.Experience = Experience;
  6769.     Data.NeededExp = NeededExp;
  6770.     Data.PointsAvailable = PointsAvailable;
  6771.     if (bOnlyEXP)
  6772.         return;
  6773.  
  6774.     Data.WeaponSpeed = WeaponSpeed;
  6775.     Data.HealthBonus = HealthBonus;
  6776.     Data.AdrenalineMax = AdrenalineMax;
  6777.     Data.Attack = Attack;
  6778.     Data.Defense = Defense;
  6779.     Data.AmmoMax = AmmoMax;
  6780.     Data.Abilities = Abilities;
  6781.     Data.AbilityLevels = AbilityLevels;
  6782. }
  6783.  
  6784. function InitFromDataStruct(RPGPlayerData Data)
  6785. {
  6786.     Level = Data.Level;
  6787.     Experience = Data.Experience;
  6788.     NeededExp = Data.NeededExp;
  6789.     PointsAvailable = Data.PointsAvailable;
  6790.     WeaponSpeed = Data.WeaponSpeed;
  6791.     HealthBonus = Data.HealthBonus;
  6792.     AdrenalineMax = Data.AdrenalineMax;
  6793.     Attack = Data.Attack;
  6794.     Defense = Data.Defense;
  6795.     AmmoMax = Data.AmmoMax;
  6796.     Abilities = Data.Abilities;
  6797.     AbilityLevels = Data.AbilityLevels;
  6798. }
  6799. }Çå~Çì»lǃCclass LevelUpHUDMessage extends LocalMessage;
  6800.  
  6801. // Levelup Message - tell local player he has stat points to distibute
  6802. //
  6803. // Switch 0: Using default bindings, so add "(Press L)"
  6804. //
  6805. // Switch 1: Not using default bindings
  6806.  
  6807. var(Message) localized string LevelUpString, PressLString;
  6808. var(Message) color YellowColor;
  6809.  
  6810. static function color GetColor(
  6811.     optional int Switch,
  6812.     optional PlayerReplicationInfo RelatedPRI_1, 
  6813.     optional PlayerReplicationInfo RelatedPRI_2
  6814.     )
  6815. {
  6816.         return Default.YellowColor;
  6817. }
  6818.  
  6819. static function string GetString(
  6820.     optional int Switch,
  6821.     optional PlayerReplicationInfo RelatedPRI_1, 
  6822.     optional PlayerReplicationInfo RelatedPRI_2,
  6823.     optional Object OptionalObject
  6824.     )
  6825. {
  6826.     if (Switch == 0)
  6827.         return Default.LevelUpString@Default.PressLString;
  6828.     else
  6829.         return Default.LevelUpString;
  6830. }
  6831.  
  6832. n//Cool particle effect that appears on players who just leveled up
  6833. class LevelUpEffect extends Emitter;
  6834.  
  6835. simulated function PostNetBeginPlay()
  6836. {
  6837.     Super.PostNetBeginPlay();
  6838.  
  6839.     if (Level.NetMode == NM_Client)
  6840.         Initialize();
  6841. }
  6842.  
  6843. simulated function Initialize()
  6844. {
  6845.     if (Level.NetMode == NM_DedicatedServer)
  6846.     {
  6847.         LifeSpan = 6.0;
  6848.     }
  6849.     else if (DrawScale > 1.0)
  6850.     {
  6851.         /*Emitters[0].StartLocationRange.X.Min *= DrawScale;
  6852.         Emitters[0].StartLocationRange.X.Max *= DrawScale;
  6853.         Emitters[0].StartLocationRange.Y.Min *= DrawScale;
  6854.         Emitters[0].StartLocationRange.Y.Max *= DrawScale;*/
  6855.         Emitters[0].StartLocationPolarRange.Z.Max *= DrawScale;
  6856.         Emitters[0].StartLocationPolarRange.Z.Min *= DrawScale;
  6857.         Emitters[0].InitialParticlesPerSecond *= DrawScale;
  6858.     }
  6859. }
  6860.  
  6861. simulated function Tick(float deltaTime)
  6862. {
  6863.     //hackish way to increase max particles since MaxParticles is const
  6864.     if (Emitters[0].Initialized)
  6865.     {
  6866.         Emitters[0].MaxActiveParticles *= DrawScale;
  6867.         Emitters[0].Particles.Length = Emitters[0].MaxActiveParticles;
  6868.         disable('Tick');
  6869.     }
  6870. }
  6871.  
  6872. Ç} zv_ê└╜ééé-wvò*5ärw
  6873. ò*ww
  6874. ò┼ I
  6875. !rvò  i*vòa ivòvò G `//Indicates that this pawn has killed at least one enemy
  6876. class KillMarker extends Inventory;
  6877.  
  6878. function DropFrom(vector StartLocation)
  6879. {
  6880.     Destroy();
  6881. }
  6882.  
  6883. Nclass IdentifyMessage extends LocalMessage;
  6884.  
  6885. var(Message) localized string IdentifyString, PickupString;
  6886.  
  6887. static function ClientReceive( PlayerController P, optional int Switch, optional PlayerReplicationInfo RelatedPRI_1,
  6888.                    optional PlayerReplicationInfo RelatedPRI_2, optional Object OptionalObject )
  6889. {
  6890.     if (RPGWeapon(OptionalObject) != None && RPGWeapon(OptionalObject).ModifiedWeapon != None)
  6891.         Super.ClientReceive(P, Switch, RelatedPRI_1, RelatedPRI_2, OptionalObject);
  6892. }
  6893.  
  6894. static function color GetConsoleColor( PlayerReplicationInfo RelatedPRI_1 )
  6895. {
  6896.     return class'HUD'.Default.WhiteColor;
  6897. }
  6898.  
  6899. static function string GetString(optional int Switch, optional PlayerReplicationInfo RelatedPRI_1,
  6900.                  optional PlayerReplicationInfo RelatedPRI_2, optional Object OptionalObject)
  6901. {
  6902.     RPGWeapon(OptionalObject).ConstructItemName();
  6903.  
  6904.     if (Switch == 0)
  6905.         return default.IdentifyString@RPGWeapon(OptionalObject).ItemName$"!";
  6906.     else
  6907.         return default.PickupString@RPGWeapon(OptionalObject).ItemName$".";
  6908. }
  6909.  
  6910. i¼class MutUT2004RPG extends Mutator
  6911.     config(UT2004RPG);
  6912.  
  6913. var array<RPGPlayerDataObject> Players; //players currently playing
  6914. var config int SaveDuringGameInterval; //periodically save during game - to avoid losing data from game crash or server kill
  6915. var config int StartingLevel; //starting level - cannot be less than 1
  6916. var config int PointsPerLevel; //stat points per levelup
  6917. var config array<int> Levels; //Experience needed for each level, NOTE: Levels[x] is exp needed for Level x+1
  6918. var config int InfiniteReqEXPOp; //For each level beyond the last in the Levels list, do this operation... (0 == Add, 1 == Multiply)
  6919. var config int InfiniteReqEXPValue; //...with this value to the EXP required for next level
  6920. var config float LevelDiffExpGainDiv; //divisor to extra experience from defeating someone of higher level (a value of 1 results in level difference squared EXP)
  6921. var config int MaxLevelupEffectStacking; //maximum number of levelup effects that can be spawned if player gains multiple levels at once
  6922. var config int EXPForWin; //EXP for winning the match (given to each member of team in team games)
  6923. var config int BotBonusLevels; //extra levelups bots gain after matches to counter that they're in only a fraction of the matches played
  6924. var config int StatCaps[6]; //by popular demand :(
  6925. var config array<class<RPGAbility> > Abilities; //List of Abilities available to players
  6926. var config array<class<RPGAbility> > RemovedAbilities; //These Abilities failed an AbilityIsAllowed() check so try to re-add them next game
  6927. var config float WeaponModifierChance; //chance any given pickup results in a weapon modifier (0 to 1)
  6928. var config bool bNoUnidentified; //no unidentified items
  6929. var config bool bReset; //delete all player data on next startup
  6930.  
  6931. //A modifier a weapon might be given
  6932. struct WeaponModifier
  6933. {
  6934.     var class<RPGWeapon> WeaponClass;
  6935.     var int Chance; //chance this modifier will be used, relative to all others in use
  6936. };
  6937.  
  6938. var config array<WeaponModifier> WeaponModifiers;
  6939. var int TotalModifierChance; //precalculated total Chance of all WeaponModifiers
  6940. var config int Version;
  6941. var bool bHasInteraction;
  6942. //var config bool bExperiencePickups; //replace adrenaline pickups with experience pickups
  6943. var config bool bMagicalStartingWeapons; //weapons given at start can have magical properties (same probability as picked up weapons)
  6944. var config bool bAutoAdjustInvasionLevel; //auto adjust invasion monsters' level based on lowest level player
  6945. var config float InvasionAutoAdjustFactor; //affects how dramatically monsters increase in level for each level of the lowest level player
  6946. var int BotSpendAmount; //bots that are buying stats spend points in increments of this amount
  6947. var config string HighestLevelPlayerName; //Highest level player ever to display in server query for all to see :)
  6948. var config int HighestLevelPlayerLevel;
  6949. var RPGPlayerDataObject CurrentLowestLevelPlayer; //Data of lowest level player currently playing (for auto-adjusting monsters, etc)
  6950.  
  6951. var localized string PropsDisplayText[18];
  6952. var localized string PropsDescText[18];
  6953. var localized string PropsExtras;
  6954.  
  6955. function PostBeginPlay()
  6956. {
  6957.     local RPGRules G;
  6958.     local int x;
  6959.     local Pickup P;
  6960.     local RPGPlayerDataObject DataObject;
  6961.     local array<string> PlayerNames;
  6962.  
  6963.     G = spawn(class'RPGRules');
  6964.     G.RPGMut = self;
  6965.     G.PointsPerLevel = PointsPerLevel;
  6966.     G.LevelDiffExpGainDiv = LevelDiffExpGainDiv;
  6967.     if ( Level.Game.GameRulesModifiers == None )
  6968.         Level.Game.GameRulesModifiers = G;
  6969.     else
  6970.         Level.Game.GameRulesModifiers.AddGameRules(G);
  6971.  
  6972.     if (bReset)
  6973.     {
  6974.         //load em all up, and delete them one by one
  6975.         PlayerNames = class'RPGPlayerDataObject'.static.GetPerObjectNames("UT2004RPG",, 1000000);
  6976.         for (x = 0; x < PlayerNames.length; x++)
  6977.         {
  6978.             DataObject = new(None, PlayerNames[x]) class'RPGPlayerDataObject';
  6979.             DataObject.ClearConfig();
  6980.         }
  6981.  
  6982.         bReset = false;
  6983.         SaveConfig();
  6984.     }
  6985.  
  6986.     for (x = 0; x < WeaponModifiers.length; x++)
  6987.         TotalModifierChance += WeaponModifiers[x].Chance;
  6988.  
  6989.     spawn(class'RPGArtifactManager');
  6990.  
  6991.     if (SaveDuringGameInterval > 0.0)
  6992.         SetTimer(SaveDuringGameInterval, true);
  6993.  
  6994.     if (StartingLevel < 1)
  6995.     {
  6996.         StartingLevel = 1;
  6997.         SaveConfig();
  6998.     }
  6999.  
  7000.     BotSpendAmount = PointsPerLevel * 3;
  7001.  
  7002.     //HACK - if another mutator played with the weapon pickups in *BeginPlay() (like Random Weapon Swap does)
  7003.     //we won't get CheckRelevance() calls on those pickups, so find any such pickups here and force it
  7004.     foreach DynamicActors(class'Pickup', P)
  7005.         if (P.bScriptInitialized && !P.bGameRelevant && !CheckRelevance(P))
  7006.             P.Destroy();
  7007.  
  7008.     Super.PostBeginPlay();
  7009. }
  7010.  
  7011. function bool CheckReplacement(Actor Other, out byte bSuperRelevant)
  7012. {
  7013.     local int x;
  7014.     local FakeMonsterWeapon w;
  7015.     local RPGWeaponPickup p;
  7016.     local RPGWeaponLocker L;
  7017.     //local ExperiencePickup EXP;
  7018.  
  7019.     //hack to allow players to pick up above normal ammo from inital ammo pickup;
  7020.     //MaxAmmo will be set to a good value later by the player's RPGStatsInv
  7021.     if (Ammunition(Other) != None && ShieldAmmo(Other) == None)
  7022.         Ammunition(Other).MaxAmmo = 999;
  7023.  
  7024.     /*if (AdrenalinePickup(Other) != None && bExperiencePickups)
  7025.     {
  7026.         EXP = ExperiencePickup(ReplaceWithActor(Other, "UT2004RPG.ExperiencePickup"));
  7027.         if (EXP != None)
  7028.             EXP.RPGMut = self;
  7029.         return false;
  7030.     }*/
  7031.  
  7032.     if (WeaponModifierChance > 0)
  7033.     {
  7034.         if (WeaponLocker(Other) != None && RPGWeaponLocker(Other) == None)
  7035.         {
  7036.             L = RPGWeaponLocker(ReplaceWithActor(Other, "UT2004RPG.RPGWeaponLocker"));
  7037.             if (L != None)
  7038.             {
  7039.                 L.SetLocation(Other.Location);
  7040.                 L.RPGMut = self;
  7041.                 L.Weapons = WeaponLocker(Other).Weapons;
  7042.                 L.bSentinelProtected = WeaponLocker(Other).bSentinelProtected;
  7043.                 for (x = 0; x < L.Weapons.length; x++)
  7044.                     if (L.Weapons[x].WeaponClass == class'LinkGun')
  7045.                         L.Weapons[x].WeaponClass = class'RPGLinkGun';
  7046.             }
  7047.             Other.GotoState('Disabled');
  7048.         }
  7049.  
  7050.         if (WeaponPickup(Other) != None && RPGWeaponPickup(Other) == None)
  7051.         {
  7052.             p = RPGWeaponPickup(ReplaceWithActor(Other, "UT2004RPG.RPGWeaponPickup"));
  7053.             if (p != None)
  7054.             {
  7055.                 p.RPGMut = self;
  7056.                 p.FindPickupBase();
  7057.                 p.GetPropertiesFrom(class<WeaponPickup>(Other.Class));
  7058.             }
  7059.             return false;
  7060.         }
  7061.  
  7062.         //various weapon hacks to work around casts of Pawn.Weapon
  7063.         if (xWeaponBase(Other) != None)
  7064.         {
  7065.             if (xWeaponBase(Other).WeaponType == class'LinkGun')
  7066.                 xWeaponBase(Other).WeaponType = class'RPGLinkGun';
  7067.         }
  7068.         if (Weapon(Other) != None)
  7069.         {
  7070.             for (x = 0; x < Weapon(Other).NUM_FIRE_MODES; x++)
  7071.             {
  7072.                 if (Weapon(Other).FireModeClass[x] == class'ShockProjFire')
  7073.                     Weapon(Other).FireModeClass[x] = class'RPGShockProjFire';
  7074.                 else if (Weapon(Other).FireModeClass[x] == class'PainterFire')
  7075.                     Weapon(Other).FireModeClass[x] = class'RPGPainterFire';
  7076.             }
  7077.         }
  7078.     }
  7079.  
  7080.     //Give monsters a fake weapon
  7081.     if (Other.IsA('Monster'))
  7082.     {
  7083.         Pawn(Other).HealthMax = Pawn(Other).default.Health;
  7084.         w = spawn(class'FakeMonsterWeapon',Other,,,rot(0,0,0));
  7085.         w.GiveTo(Pawn(Other));
  7086.     }
  7087.  
  7088.     //force adrenaline on if artifacts enabled
  7089.     //FIXME maybe disable all combos?
  7090.     if ( Controller(Other) != None && class'RPGArtifactManager'.default.ArtifactDelay > 0 && class'RPGArtifactManager'.default.MaxArtifacts > 0
  7091.          && class'RPGArtifactManager'.default.Artifacts.length > 0 )
  7092.         Controller(Other).bAdrenalineEnabled = true;
  7093.  
  7094.  
  7095.     return true;
  7096. }
  7097.  
  7098. //Replace an actor and then return the new actor
  7099. function Actor ReplaceWithActor(actor Other, string aClassName)
  7100. {
  7101.     local Actor A;
  7102.     local class<Actor> aClass;
  7103.  
  7104.     if ( aClassName == "" )
  7105.         return None;
  7106.  
  7107.     aClass = class<Actor>(DynamicLoadObject(aClassName, class'Class'));
  7108.     if ( aClass != None )
  7109.         A = Spawn(aClass,Other.Owner,Other.tag,Other.Location, Other.Rotation);
  7110.     if ( Other.IsA('Pickup') )
  7111.     {
  7112.         if ( Pickup(Other).MyMarker != None )
  7113.         {
  7114.             Pickup(Other).MyMarker.markedItem = Pickup(A);
  7115.             if ( Pickup(A) != None )
  7116.             {
  7117.                 Pickup(A).MyMarker = Pickup(Other).MyMarker;
  7118.                 A.SetLocation(A.Location
  7119.                     + (A.CollisionHeight - Other.CollisionHeight) * vect(0,0,1));
  7120.             }
  7121.             Pickup(Other).MyMarker = None;
  7122.         }
  7123.         else if ( A.IsA('Pickup') )
  7124.             Pickup(A).Respawntime = 0.0;
  7125.     }
  7126.     if ( A != None )
  7127.     {
  7128.         A.event = Other.event;
  7129.         A.tag = Other.tag;
  7130.         return A;
  7131.     }
  7132.     return None;
  7133. }
  7134.  
  7135. function ModifyPlayer(Pawn Other)
  7136. {
  7137.     local RPGPlayerDataObject data;
  7138.     local int x;
  7139.     local RPGStatsInv StatsInv;
  7140.     local Inventory Inv;
  7141.     local array<Weapon> StartingWeapons;
  7142.     local class<Weapon> StartingWeaponClass;
  7143.     local RPGWeapon MagicWeapon;
  7144.  
  7145.     Super.ModifyPlayer(Other);
  7146.  
  7147.     if (Other.Controller == None || !Other.Controller.bIsPlayer)
  7148.         return;
  7149.     StatsInv = RPGStatsInv(Other.FindInventoryType(class'RPGStatsInv'));
  7150.     if (StatsInv != None)
  7151.     {
  7152.         if (StatsInv.Instigator != None)
  7153.             for (x = 0; x < StatsInv.Data.Abilities.length; x++)
  7154.                 StatsInv.Data.Abilities[x].static.ModifyPawn(StatsInv.Instigator, StatsInv.Data.AbilityLevels[x]);
  7155.         return;
  7156.     }
  7157.     else
  7158.     {
  7159.         for (Inv = Other.Controller.Inventory; Inv != None; Inv = Inv.Inventory)
  7160.         {
  7161.             StatsInv = RPGStatsInv(Inv);
  7162.             if (StatsInv != None)
  7163.                 break;
  7164.         }
  7165.     }
  7166.  
  7167.     if (StatsInv != None)
  7168.         data = StatsInv.DataObject;
  7169.     else
  7170.     {
  7171.         data = new(None, Other.PlayerReplicationInfo.PlayerName) class'RPGPlayerDataObject';
  7172.         if (data.Level == 0) //new player
  7173.         {
  7174.             data.Level = StartingLevel;
  7175.             data.PointsAvailable = PointsPerLevel * (StartingLevel - 1);
  7176.             data.AdrenalineMax = 100;
  7177.             if (Levels.length > StartingLevel)
  7178.                 data.NeededExp = Levels[StartingLevel];
  7179.             else if (InfiniteReqEXPValue != 0)
  7180.             {
  7181.                 if (InfiniteReqEXPOp == 0)
  7182.                     data.NeededExp = Levels[Levels.length - 1] + InfiniteReqEXPValue * (data.Level - (Levels.length - 1));
  7183.                 else
  7184.                 {
  7185.                     data.NeededExp = Levels[Levels.length - 1];
  7186.                     for (x = Levels.length - 1; x < StartingLevel; x++)
  7187.                         data.NeededExp += int(float(data.NeededEXP) * float(InfiniteReqEXPValue) / 100.f);
  7188.                 }
  7189.             }
  7190.             else
  7191.                 data.NeededExp = Levels[Levels.length - 1];
  7192.             if (PlayerController(Other.Controller) != None)
  7193.                 data.OwnerID = PlayerController(Other.Controller).GetPlayerIDHash();
  7194.             else
  7195.                 data.OwnerID = "Bot";
  7196.             Players[Players.length] = data;
  7197.         }
  7198.         else //returning player
  7199.         {
  7200.             if ( (PlayerController(Other.Controller) != None && !(PlayerController(Other.Controller).GetPlayerIDHash() ~= data.OwnerID))
  7201.                  || (Bot(Other.Controller) != None && data.OwnerID != "Bot") )
  7202.             {
  7203.                 //imposter using somebody else's name
  7204.                 if (PlayerController(Other.Controller) != None)
  7205.                     PlayerController(Other.Controller).ReceiveLocalizedMessage(class'RPGNameMessage', 0);
  7206.                 Level.Game.ChangeName(Other.Controller, Other.PlayerReplicationInfo.PlayerName$"_Imposter", true);
  7207.                 if (string(data.Name) ~= Other.PlayerReplicationInfo.PlayerName) //initial name change failed
  7208.                     Level.Game.ChangeName(Other.Controller, string(Rand(65000)), true); //That's gotta suck, having a number for a name
  7209.                 ModifyPlayer(Other);
  7210.                 return;
  7211.             }
  7212.             Players[Players.length] = data;
  7213.             ValidateData(data);
  7214.         }
  7215.     }
  7216.  
  7217.     if (data.PointsAvailable > 0 && Bot(Other.Controller) != None)
  7218.     {
  7219.         x = 0;
  7220.         do
  7221.         {
  7222.             BotLevelUp(Bot(Other.Controller), data);
  7223.             x++;
  7224.         } until (data.PointsAvailable <= 0 || data.BotAbilityGoal != None || x > 1000)
  7225.     }
  7226.  
  7227.     if (CurrentLowestLevelPlayer == None || data.Level < CurrentLowestLevelPlayer.Level)
  7228.         CurrentLowestLevelPlayer = data;
  7229.  
  7230.     //spawn the stats inventory item
  7231.     if (StatsInv == None)
  7232.     {
  7233.         StatsInv = spawn(class'RPGStatsInv',Other,,,rot(0,0,0));
  7234.         if (Other.Controller.Inventory == None)
  7235.             Other.Controller.Inventory = StatsInv;
  7236.         else
  7237.         {
  7238.             for (Inv = Other.Controller.Inventory; Inv.Inventory != None; Inv = Inv.Inventory)
  7239.             {}
  7240.             Inv.Inventory = StatsInv;
  7241.         }
  7242.     }
  7243.     StatsInv.DataObject = data;
  7244.     data.CreateDataStruct(StatsInv.Data, false);
  7245.     StatsInv.RPGMut = self;
  7246.     StatsInv.GiveTo(Other);
  7247.  
  7248.     if (WeaponModifierChance > 0)
  7249.     {
  7250.         x = 0;
  7251.         for (Inv = Other.Inventory; Inv != None; Inv = Inv.Inventory)
  7252.         {
  7253.             if (Weapon(Inv) != None && RPGWeapon(Inv) == None)
  7254.                 StartingWeapons[StartingWeapons.length] = Weapon(Inv);
  7255.             x++;
  7256.             if (x > 1000)
  7257.                 break;
  7258.         }
  7259.  
  7260.         for (x = 0; x < StartingWeapons.length; x++)
  7261.         {
  7262.             StartingWeaponClass = StartingWeapons[x].Class;
  7263.             StartingWeapons[x].Destroy();
  7264.             if (bMagicalStartingWeapons)
  7265.                 MagicWeapon = spawn(GetRandomWeaponModifier(StartingWeaponClass, Other), Other,,, rot(0,0,0));
  7266.             else
  7267.                 MagicWeapon = spawn(class'RPGWeapon', Other,,, rot(0,0,0));
  7268.             MagicWeapon.Generate(None);
  7269.             MagicWeapon.SetModifiedWeapon(spawn(StartingWeaponClass,Other,,,rot(0,0,0)), bNoUnidentified);
  7270.             MagicWeapon.GiveTo(Other);
  7271.         }
  7272.         Other.Controller.ClientSwitchToBestWeapon();
  7273.     }
  7274.  
  7275.     //set pawn's properties
  7276.     Other.Health = Other.default.Health + data.HealthBonus;
  7277.     Other.HealthMax = Other.default.HealthMax + data.HealthBonus;
  7278.     Other.SuperHealthMax = Other.HealthMax + (Other.default.SuperHealthMax - Other.default.HealthMax);
  7279.     Other.Controller.AdrenalineMax = data.AdrenalineMax;
  7280.     for (x = 0; x < data.Abilities.length; x++)
  7281.         data.Abilities[x].static.ModifyPawn(Other, data.AbilityLevels[x]);
  7282. }
  7283.  
  7284. function DriverEnteredVehicle(Vehicle V, Pawn P)
  7285. {
  7286.     local Inventory Inv;
  7287.     local RPGStatsInv StatsInv;
  7288.     local int DefHealth, i;
  7289.     local float DefLinkHealMult, HealthPct;
  7290.     local array<RPGArtifact> Artifacts;
  7291.  
  7292.     if (V.Controller != None)
  7293.     {
  7294.         for (Inv = V.Controller.Inventory; Inv != None; Inv = Inv.Inventory)
  7295.         {
  7296.             StatsInv = RPGStatsInv(Inv);
  7297.             if (StatsInv != None)
  7298.                 break;
  7299.         }
  7300.     }
  7301.  
  7302.     if (StatsInv == None)
  7303.         StatsInv = RPGStatsInv(P.FindInventoryType(class'RPGStatsInv'));
  7304.     if (StatsInv != None)
  7305.     {
  7306.         //FIXME maybe give it inventory to remember original values instead so it works with other mods that change vehicle properties?
  7307.         if (ASVehicleFactory(V.ParentFactory) != None)
  7308.         {
  7309.             DefHealth = ASVehicleFactory(V.ParentFactory).VehicleHealth;
  7310.             DefLinkHealMult = ASVehicleFactory(V.ParentFactory).VehicleLinkHealMult;
  7311.         }
  7312.         else
  7313.         {
  7314.             DefHealth = V.default.Health;
  7315.             DefLinkHealMult = V.default.LinkHealMult;
  7316.         }
  7317.         HealthPct = float(V.Health) / V.HealthMax;
  7318.         V.HealthMax = DefHealth + StatsInv.Data.HealthBonus;
  7319.         V.Health = HealthPct * V.HealthMax;
  7320.         V.LinkHealMult = DefLinkHealMult * (V.HealthMax / DefHealth); //FIXME maybe make faster link healing an ability instead?
  7321.  
  7322.         StatsInv.ModifyVehicle(V);
  7323.         StatsInv.ClientModifyVehicle(V);
  7324.     }
  7325.     else
  7326.         Warn("Couldn't find RPGStatsInv for "$P.GetHumanReadableName());
  7327.  
  7328.     //move all artifacts from driver to vehicle, so player can still use them
  7329.     for (Inv = P.Inventory; Inv != None; Inv = Inv.Inventory)
  7330.         if (RPGArtifact(Inv) != None)
  7331.             Artifacts[Artifacts.length] = RPGArtifact(Inv);
  7332.  
  7333.     for (i = 0; i < Artifacts.length; i++)
  7334.     {
  7335.         if (Artifacts[i] == P.SelectedItem)
  7336.             V.SelectedItem = Artifacts[i];
  7337.         P.DeleteInventory(Artifacts[i]);
  7338.         Artifacts[i].GiveTo(V);
  7339.     }
  7340.  
  7341.     Super.DriverEnteredVehicle(V, P);
  7342. }
  7343.  
  7344. function DriverLeftVehicle(Vehicle V, Pawn P)
  7345. {
  7346.     local Inventory Inv;
  7347.     local RPGStatsInv StatsInv;
  7348.     local array<RPGArtifact> Artifacts;
  7349.     local int i;
  7350.  
  7351.     if (P.Controller != None)
  7352.     {
  7353.         for (Inv = P.Controller.Inventory; Inv != None; Inv = Inv.Inventory)
  7354.         {
  7355.             StatsInv = RPGStatsInv(Inv);
  7356.             if (StatsInv != None)
  7357.                 break;
  7358.         }
  7359.     }
  7360.  
  7361.     if (StatsInv == None)
  7362.         StatsInv = RPGStatsInv(P.FindInventoryType(class'RPGStatsInv'));
  7363.     if (StatsInv != None)
  7364.     {
  7365.         StatsInv.UnModifyVehicle(V);
  7366.         StatsInv.ClientUnModifyVehicle(V);
  7367.     }
  7368.     else
  7369.         Warn("Couldn't find RPGStatsInv for "$P.GetHumanReadableName());
  7370.  
  7371.     //move all artifacts from vehicle to driver
  7372.     for (Inv = V.Inventory; Inv != None; Inv = Inv.Inventory)
  7373.         if (RPGArtifact(Inv) != None)
  7374.             Artifacts[Artifacts.length] = RPGArtifact(Inv);
  7375.  
  7376.     for (i = 0; i < Artifacts.length; i++)
  7377.     {
  7378.         if (Artifacts[i] == V.SelectedItem)
  7379.             P.SelectedItem = Artifacts[i];
  7380.         V.DeleteInventory(Artifacts[i]);
  7381.         Artifacts[i].GiveTo(P);
  7382.     }
  7383.  
  7384.     Super.DriverLeftVehicle(V, P);
  7385. }
  7386.  
  7387. //Check the player data at the given index for errors (too many/not enough stat points, invalid abilities)
  7388. //Converts the data by giving or taking the appropriate number of stat points and refunding points for abilities bought that are no longer allowed
  7389. //This allows the server owner to change points per level settings and/or the abilities allowed and have it affect already created players properly
  7390. function ValidateData(RPGPlayerDataObject Data)
  7391. {
  7392.     local int TotalPoints, x, y;
  7393.     local bool bAllowedAbility;
  7394.  
  7395.     //check stat caps
  7396.     if (StatCaps[0] >= 0)
  7397.         Data.WeaponSpeed = Min(Data.WeaponSpeed, StatCaps[0]);
  7398.     if (StatCaps[1] >= 0)
  7399.         Data.HealthBonus = Min(Data.HealthBonus, StatCaps[1]);
  7400.     if (StatCaps[2] >= 0)
  7401.         Data.AdrenalineMax = Min(Data.AdrenalineMax, StatCaps[2]);
  7402.     if (StatCaps[3] >= 0)
  7403.         Data.Attack = Min(Data.Attack, StatCaps[3]);
  7404.     if (StatCaps[4] >= 0)
  7405.         Data.Defense = Min(Data.Defense, StatCaps[4]);
  7406.     if (StatCaps[5] >= 0)
  7407.         Data.AmmoMax = Min(Data.AmmoMax, StatCaps[5]);
  7408.  
  7409.     TotalPoints += Data.WeaponSpeed + Data.Attack + Data.Defense + Data.AmmoMax;
  7410.     TotalPoints += Data.HealthBonus / 2;
  7411.     TotalPoints += Data.AdrenalineMax - 100;
  7412.     for (x = 0; x < Data.Abilities.length; x++)
  7413.     {
  7414.         bAllowedAbility = false;
  7415.         for (y = 0; y < Abilities.length; y++)
  7416.             if (Data.Abilities[x] == Abilities[y])
  7417.             {
  7418.                 bAllowedAbility = true;
  7419.                 y = Abilities.length;        //kill loop without break due to UnrealScript bug that causes break to kill both loops
  7420.             }
  7421.         if (bAllowedAbility)
  7422.         {
  7423.             for (y = 0; y < Data.AbilityLevels[x]; y++)
  7424.                 TotalPoints += Data.Abilities[x].static.Cost(Data, y);
  7425.         }
  7426.         else
  7427.         {
  7428.             for (y = 0; y < Data.AbilityLevels[x]; y++)
  7429.                 Data.PointsAvailable += Data.Abilities[x].static.Cost(Data, y);
  7430.             Log("Ability"@Data.Abilities[x]@"was in"@Data.Name$"'s data but is not an available ability - removed (stat points refunded)");
  7431.             Data.Abilities.Remove(x, 1);
  7432.             Data.AbilityLevels.Remove(x, 1);
  7433.             x--;
  7434.         }
  7435.     }
  7436.     TotalPoints += Data.PointsAvailable;
  7437.  
  7438.     if ( TotalPoints != ((Data.Level - 1) * PointsPerLevel) )
  7439.     {
  7440.         Data.PointsAvailable += ((Data.Level - 1) * PointsPerLevel) - TotalPoints;
  7441.         Log(Data.Name$" had "$TotalPoints$" total stat points at Level "$Data.Level$", should be "$((Data.Level - 1) * PointsPerLevel)$", PointsAvailable changed by "$(((Data.Level - 1) * PointsPerLevel) - TotalPoints)$" to compensate");
  7442.     }
  7443. }
  7444.  
  7445. //Do a bot's levelup
  7446. function BotLevelUp(Bot B, RPGPlayerDataObject Data)
  7447. {
  7448.     local int WSpeedChance, HealthBonusChance, AdrenalineMaxChance, AttackChance, DefenseChance, AmmoMaxChance, AbilityChance;
  7449.     local int Chance, TotalAbilityChance;
  7450.     local int x, y, Index;
  7451.     local bool bHasAbility, bAddAbility;
  7452.  
  7453.     if (Data.BotAbilityGoal != None)
  7454.     {
  7455.         if (Data.BotAbilityGoal.static.Cost(Data, Data.BotGoalAbilityCurrentLevel) > Data.PointsAvailable)
  7456.             return;
  7457.  
  7458.         Index = -1;
  7459.         for (x = 0; x < Data.Abilities.length; x++)
  7460.             if (Data.Abilities[x] == Data.BotAbilityGoal)
  7461.             {
  7462.                 Index = x;
  7463.                 break;
  7464.             }
  7465.         if (Index == -1)
  7466.             Index = Data.Abilities.length;
  7467.         Data.PointsAvailable -= Data.BotAbilityGoal.static.Cost(Data, Data.BotGoalAbilityCurrentLevel);
  7468.         Data.Abilities[Index] = Data.BotAbilityGoal;
  7469.         Data.AbilityLevels[Index]++;
  7470.         Data.BotAbilityGoal = None;
  7471.         return;
  7472.     }
  7473.  
  7474.     //Bots always allocate all their points to one stat - random, but tilted towards the bot's tendencies
  7475.  
  7476.     WSpeedChance = 2;
  7477.     HealthBonusChance = 2;
  7478.     AdrenalineMaxChance = 1;
  7479.     AttackChance = 2;
  7480.     DefenseChance = 2;
  7481.     AmmoMaxChance = 1; //less because bots don't get ammo half the time as it is, so it's not as useful a stat for them
  7482.     AbilityChance = 3;
  7483.  
  7484.     if (B.Aggressiveness > 0.25)
  7485.     {
  7486.         WSpeedChance += 3;
  7487.         AttackChance += 3;
  7488.         AmmoMaxChance += 2;
  7489.     }
  7490.     if (B.Accuracy < 0)
  7491.     {
  7492.         WSpeedChance++;
  7493.         DefenseChance++;
  7494.         AmmoMaxChance += 2;
  7495.     }
  7496.     if (B.FavoriteWeapon == class'SniperRifle')
  7497.         WSpeedChance += 2;
  7498.     if (B.Tactics > 0.9)
  7499.     {
  7500.         HealthBonusChance += 3;
  7501.         AdrenalineMaxChance += 3;
  7502.         DefenseChance += 3;
  7503.     }
  7504.     else if (B.Tactics > 0.4)
  7505.     {
  7506.         HealthBonusChance += 2;
  7507.         AdrenalineMaxChance += 2;
  7508.         DefenseChance += 2;
  7509.     }
  7510.     else if (B.Tactics > 0)
  7511.     {
  7512.         HealthBonusChance++;
  7513.         AdrenalineMaxChance++;
  7514.         DefenseChance++;
  7515.     }
  7516.     if (B.StrafingAbility < 0)
  7517.     {
  7518.         HealthBonusChance++;
  7519.         AdrenalineMaxChance++;
  7520.         DefenseChance += 2;
  7521.     }
  7522.     if (B.CombatStyle < 0)
  7523.     {
  7524.         HealthBonusChance += 2;
  7525.         AdrenalineMaxChance += 2;
  7526.         DefenseChance += 2;
  7527.     }
  7528.     else if (B.CombatStyle > 0)
  7529.     {
  7530.         AttackChance += 2;
  7531.         AmmoMaxChance++;
  7532.     }
  7533.     if (Data.Level < 20)
  7534.         AbilityChance--;    //very few abilities to choose from at this low level so reduce chance
  7535.     else
  7536.     {
  7537.         //More likely to buy an ability if don't have that many
  7538.         y = 0;
  7539.         for (x = 0; x < Data.AbilityLevels.length; x++)
  7540.             y += Data.AbilityLevels[x];
  7541.         if (y < (Data.Level - 20) / 10)
  7542.             AbilityChance++;
  7543.     }
  7544.  
  7545.     if (Data.AmmoMax >= 50)
  7546.         AmmoMaxChance = Max(AmmoMaxChance / 1.5, 1);
  7547.     if (Data.AdrenalineMax >= 175)
  7548.         AdrenalineMaxChance /= 1.5;  //too much adrenaline and you'll never get to use any combos!
  7549.  
  7550.     //disable choosing of stats that are maxxed out
  7551.     if (StatCaps[0] >= 0 && Data.WeaponSpeed >= StatCaps[0])
  7552.         WSpeedChance = 0;
  7553.     if (StatCaps[1] >= 0 && Data.HealthBonus >= StatCaps[1])
  7554.         HealthBonusChance = 0;
  7555.     if (StatCaps[2] >= 0 && Data.AdrenalineMax >= StatCaps[2])
  7556.         AdrenalineMaxChance = 0;
  7557.     if (StatCaps[3] >= 0 && Data.Attack >= StatCaps[3])
  7558.         AttackChance = 0;
  7559.     if (StatCaps[4] >= 0 && Data.Defense >= StatCaps[4])
  7560.         DefenseChance = 0;
  7561.     if (StatCaps[5] >= 0 && Data.AmmoMax >= StatCaps[5])
  7562.         AmmoMaxChance = 0;
  7563.  
  7564.     //choose a stat
  7565.     Chance = Rand(WSpeedChance + HealthBonusChance + AdrenalineMaxChance + AttackChance + DefenseChance + AmmoMaxChance + AbilityChance);
  7566.     bAddAbility = false;
  7567.     if (Chance < WSpeedChance)
  7568.         Data.WeaponSpeed += Min(Data.PointsAvailable, BotSpendAmount);
  7569.     else if (Chance < WSpeedChance + HealthBonusChance)
  7570.         Data.HealthBonus += Min(Data.PointsAvailable, BotSpendAmount) * 2;
  7571.     else if (Chance < WSpeedChance + HealthBonusChance + AdrenalineMaxChance)
  7572.         Data.AdrenalineMax += Min(Data.PointsAvailable, BotSpendAmount);
  7573.     else if (Chance < WSpeedChance + HealthBonusChance + AdrenalineMaxChance + AttackChance)
  7574.         Data.Attack += Min(Data.PointsAvailable, BotSpendAmount);
  7575.     else if (Chance < WSpeedChance + HealthBonusChance + AdrenalineMaxChance + AttackChance + DefenseChance)
  7576.         Data.Defense += Min(Data.PointsAvailable, BotSpendAmount);
  7577.     else if (Chance < WSpeedChance + HealthBonusChance + AdrenalineMaxChance + AttackChance + DefenseChance + AmmoMaxChance)
  7578.         Data.AmmoMax += Min(Data.PointsAvailable, BotSpendAmount);
  7579.     else
  7580.         bAddAbility = true;
  7581.     if (!bAddAbility)
  7582.         Data.PointsAvailable -= Min(Data.PointsAvailable, BotSpendAmount);
  7583.     else
  7584.     {
  7585.         TotalAbilityChance = 0;
  7586.         for (x = 0; x < Abilities.length; x++)
  7587.         {
  7588.             bHasAbility = false;
  7589.             for (y = 0; y < Data.Abilities.length; y++)
  7590.                 if (Abilities[x] == Data.Abilities[y])
  7591.                 {
  7592.                     bHasAbility = true;
  7593.                     TotalAbilityChance += Abilities[x].static.BotBuyChance(B, Data, Data.AbilityLevels[y]);
  7594.                     y = Data.Abilities.length; //kill loop without break
  7595.                 }
  7596.             if (!bHasAbility)
  7597.                 TotalAbilityChance += Abilities[x].static.BotBuyChance(B, Data, 0);
  7598.         }
  7599.         if (TotalAbilityChance == 0)
  7600.             return; //no abilities can be bought
  7601.         Chance = Rand(TotalAbilityChance);
  7602.         TotalAbilityChance = 0;
  7603.         for (x = 0; x < Abilities.length; x++)
  7604.         {
  7605.             bHasAbility = false;
  7606.             for (y = 0; y < Data.Abilities.length; y++)
  7607.                 if (Abilities[x] == Data.Abilities[y])
  7608.                 {
  7609.                     bHasAbility = true;
  7610.                     TotalAbilityChance += Abilities[x].static.BotBuyChance(B, Data, Data.AbilityLevels[y]);
  7611.                     if (Chance < TotalAbilityChance)
  7612.                     {
  7613.                         Data.BotAbilityGoal = Abilities[x];
  7614.                         Data.BotGoalAbilityCurrentLevel = Data.AbilityLevels[y];
  7615.                         Index = y;
  7616.                     }
  7617.                     y = Data.Abilities.length; //kill loop without break
  7618.                 }
  7619.             if (!bHasAbility)
  7620.             {
  7621.                 TotalAbilityChance += Abilities[x].static.BotBuyChance(B, Data, 0);
  7622.                 if (Chance < TotalAbilityChance)
  7623.                 {
  7624.                     Data.BotAbilityGoal = Abilities[x];
  7625.                     Data.BotGoalAbilityCurrentLevel = 0;
  7626.                     Index = Data.Abilities.length;
  7627.                     Data.AbilityLevels[Index] = 0;
  7628.                 }
  7629.             }
  7630.             if (Chance < TotalAbilityChance)
  7631.                 break; //found chosen ability
  7632.         }
  7633.         if (Data.BotAbilityGoal.static.Cost(Data, Data.BotGoalAbilityCurrentLevel) <= Data.PointsAvailable)
  7634.         {
  7635.             Data.PointsAvailable -= Data.BotAbilityGoal.static.Cost(Data, Data.BotGoalAbilityCurrentLevel);
  7636.             Data.Abilities[Index] = Data.BotAbilityGoal;
  7637.             Data.AbilityLevels[Index]++;
  7638.             Data.BotAbilityGoal = None;
  7639.         }
  7640.     }
  7641. }
  7642.  
  7643. function CheckLevelUp(RPGPlayerDataObject data, PlayerReplicationInfo MessagePRI)
  7644. {
  7645.     local LevelUpEffect Effect;
  7646.     local int Count;
  7647.  
  7648.     while (data.Experience >= data.NeededExp && Count < 10000)
  7649.     {
  7650.         Count++;
  7651.         data.Level++;
  7652.         data.PointsAvailable += PointsPerLevel;
  7653.         data.Experience -= data.NeededExp;
  7654.  
  7655.         if (Levels.length > data.Level)
  7656.             data.NeededExp = Levels[data.Level];
  7657.         else if (InfiniteReqEXPValue != 0)
  7658.         {
  7659.             if (InfiniteReqEXPOp == 0)
  7660.                 data.NeededExp = Levels[Levels.length - 1] + InfiniteReqEXPValue * (data.Level - (Levels.length - 1));
  7661.             else
  7662.                 data.NeededExp += int(float(data.NeededEXP) * float(InfiniteReqEXPValue) / 100.f);
  7663.         }
  7664.         else
  7665.             data.NeededExp = Levels[Levels.length - 1];
  7666.  
  7667.         if (MessagePRI != None)
  7668.         {
  7669.             if (Count <= MaxLevelupEffectStacking && Controller(MessagePRI.Owner) != None && Controller(MessagePRI.Owner).Pawn != None)
  7670.             {
  7671.                 Effect = Controller(MessagePRI.Owner).Pawn.spawn(class'LevelUpEffect', Controller(MessagePRI.Owner).Pawn);
  7672.                 Effect.SetDrawScale(Controller(MessagePRI.Owner).Pawn.CollisionRadius / Effect.CollisionRadius);
  7673.                 Effect.Initialize();
  7674.             }
  7675.         }
  7676.  
  7677.         if (data.Level > HighestLevelPlayerLevel)
  7678.         {
  7679.             HighestLevelPlayerName = string(data.Name);
  7680.             HighestLevelPlayerLevel = data.Level;
  7681.             SaveConfig();
  7682.         }
  7683.     }
  7684.  
  7685.     if (Count > 0 && MessagePRI != None)
  7686.         Level.Game.BroadCastLocalized(self, class'GainLevelMessage', data.Level, MessagePRI);
  7687. }
  7688.  
  7689. function class<RPGWeapon> GetRandomWeaponModifier(class<Weapon> WeaponType, Pawn Other)
  7690. {
  7691.     local int x, Chance;
  7692.  
  7693.     if (FRand() < WeaponModifierChance)
  7694.     {
  7695.         Chance = Rand(TotalModifierChance);
  7696.         for (x = 0; x < WeaponModifiers.Length; x++)
  7697.         {
  7698.             Chance -= WeaponModifiers[x].Chance;
  7699.             if (Chance < 0 && WeaponModifiers[x].WeaponClass.static.AllowedFor(WeaponType, Other))
  7700.                 return WeaponModifiers[x].WeaponClass;
  7701.         }
  7702.     }
  7703.  
  7704.     return class'RPGWeapon';
  7705. }
  7706.  
  7707. function NotifyLogout(Controller Exiting)
  7708. {
  7709.     local Inventory Inv;
  7710.     local RPGStatsInv StatsInv;
  7711.     local Controller C;
  7712.     local int i;
  7713.     local RPGPlayerDataObject DataObject;
  7714.  
  7715.     for (Inv = Exiting.Inventory; Inv != None; Inv = Inv.Inventory)
  7716.     {
  7717.         StatsInv = RPGStatsInv(Inv);
  7718.         if (StatsInv != None)
  7719.             break;
  7720.     }
  7721.  
  7722.     if (StatsInv == None)
  7723.         return;
  7724.  
  7725.     DataObject = StatsInv.DataObject;
  7726.     StatsInv.Destroy();
  7727.  
  7728.     //remove from Players list
  7729.     for (i = 0; i < Players.length; i++)
  7730.         if (Players[i] == DataObject)
  7731.         {
  7732.             Players.Remove(i, 1);
  7733.             break;
  7734.         }
  7735.  
  7736.     if (DataObject != CurrentLowestLevelPlayer)
  7737.         return;
  7738.  
  7739.     //find who is now the lowest level player
  7740.     CurrentLowestLevelPlayer = None;
  7741.     for (C = Level.ControllerList; C != None; C = C.NextController)
  7742.         if (C.bIsPlayer)
  7743.             for (Inv = C.Inventory; Inv != None; Inv = Inv.Inventory)
  7744.                 if ( RPGStatsInv(Inv) != None && ( CurrentLowestLevelPlayer == None
  7745.                                   || RPGStatsInv(Inv).DataObject.Level < CurrentLowestLevelPlayer.Level ) )
  7746.                     CurrentLowestLevelPlayer = RPGStatsInv(Inv).DataObject;
  7747. }
  7748.  
  7749. simulated function Tick(float deltaTime)
  7750. {
  7751.     local PlayerController PC;
  7752.     local int x;
  7753.  
  7754.     if (!bHasInteraction && Level.NetMode != NM_DedicatedServer)
  7755.     {
  7756.         PC = Level.GetLocalPlayerController();
  7757.         if (PC != None)
  7758.         {
  7759.             PC.Player.InteractionMaster.AddInteraction("UT2004RPG.RPGInteraction", PC.Player);
  7760.             if (GUIController(PC.Player.GUIController) != None)
  7761.             {
  7762.                 GUIController(PC.Player.GUIController).RegisterStyle(class'STY_AbilityList');
  7763.                 GUIController(PC.Player.GUIController).RegisterStyle(class'STY_ResetButton');
  7764.             }
  7765.             bHasInteraction = true;
  7766.             disable('Tick');
  7767.         }
  7768.     }
  7769.  
  7770.     if (Role == ROLE_Authority)
  7771.     {
  7772.         for (x = 0; x < Abilities.length; x++)
  7773.         {
  7774.             if (Abilities[x] == None)
  7775.             {
  7776.                 Abilities.Remove(x, 1);
  7777.                 x--;
  7778.             }
  7779.             else if (!Abilities[x].static.AbilityIsAllowed(Level.Game, self))
  7780.             {
  7781.                 RemovedAbilities[RemovedAbilities.length] = Abilities[x];
  7782.                 Abilities.Remove(x, 1);
  7783.                 x--;
  7784.             }
  7785.         }
  7786.         //See if any abilities that weren't allowed last game are allowed this time
  7787.         //(so user doesn't have to fix ability list when switching gametypes/mutators a lot)
  7788.         for (x = 0; x < RemovedAbilities.length; x++)
  7789.             if (RemovedAbilities[x].static.AbilityIsAllowed(Level.Game, self))
  7790.             {
  7791.                 Abilities[Abilities.length] = RemovedAbilities[x];
  7792.                 RemovedAbilities.Remove(x, 1);
  7793.                 x--;
  7794.             }
  7795.         SaveConfig();
  7796.         disable('Tick');
  7797.     }
  7798. }
  7799.  
  7800. function Timer()
  7801. {
  7802.     SaveData();
  7803. }
  7804.  
  7805. function SaveData()
  7806. {
  7807.     local int i;
  7808.  
  7809.     for (i = 0; i < Players.length; i++)
  7810.         Players[i].SaveConfig();
  7811. }
  7812.  
  7813. function GetServerDetails(out GameInfo.ServerResponseLine ServerState)
  7814. {
  7815.     local int i, NumPlayers;
  7816.     local float AvgLevel;
  7817.     local Controller C;
  7818.     local Inventory Inv;
  7819.  
  7820.     Super.GetServerDetails(ServerState);
  7821.  
  7822.     i = ServerState.ServerInfo.Length;
  7823.  
  7824.     ServerState.ServerInfo.Length = i+1;
  7825.     ServerState.ServerInfo[i].Key = "UT2004RPG Version";
  7826.     ServerState.ServerInfo[i++].Value = ""$(Version / 10)$"."$int(Version % 10);
  7827.  
  7828.     ServerState.ServerInfo.Length = i+1;
  7829.     ServerState.ServerInfo[i].Key = "Starting Level";
  7830.     ServerState.ServerInfo[i++].Value = string(StartingLevel);
  7831.  
  7832.     ServerState.ServerInfo.Length = i+1;
  7833.     ServerState.ServerInfo[i].Key = "Stat Points Per Level";
  7834.     ServerState.ServerInfo[i++].Value = string(PointsPerLevel);
  7835.  
  7836.     //find average level of players currently on server
  7837.     for (C = Level.ControllerList; C != None; C = C.NextController)
  7838.     {
  7839.         if (C.bIsPlayer)
  7840.         {
  7841.             for (Inv = C.Inventory; Inv != None; Inv = Inv.Inventory)
  7842.                 if (RPGStatsInv(Inv) != None)
  7843.                 {
  7844.                     AvgLevel += RPGStatsInv(Inv).DataObject.Level;
  7845.                     NumPlayers++;
  7846.                 }
  7847.         }
  7848.     }
  7849.     if (NumPlayers > 0)
  7850.         AvgLevel = AvgLevel / NumPlayers;
  7851.  
  7852.     ServerState.ServerInfo.Length = i+1;
  7853.     ServerState.ServerInfo[i].Key = "Current Avg. Level";
  7854.     ServerState.ServerInfo[i++].Value = ""$AvgLevel;
  7855.  
  7856.     if (HighestLevelPlayerLevel > 0)
  7857.     {
  7858.         ServerState.ServerInfo.Length = i+1;
  7859.         ServerState.ServerInfo[i].Key = "Highest Level Player";
  7860.         ServerState.ServerInfo[i++].Value = HighestLevelPlayerName@"("$HighestLevelPlayerLevel$")";
  7861.     }
  7862.  
  7863.     ServerState.ServerInfo.Length = i+1;
  7864.     ServerState.ServerInfo[i].Key = "Magic Weapon Chance";
  7865.     ServerState.ServerInfo[i++].Value = string(int(WeaponModifierChance*100))$"%";
  7866.  
  7867.     ServerState.ServerInfo.Length = i+1;
  7868.     ServerState.ServerInfo[i].Key = "Magical Starting Weapons";
  7869.     ServerState.ServerInfo[i++].Value = string(bMagicalStartingWeapons);
  7870.  
  7871.     ServerState.ServerInfo.Length = i+1;
  7872.     ServerState.ServerInfo[i].Key = "Artifacts";
  7873.     ServerState.ServerInfo[i++].Value = string(class'RPGArtifactManager'.default.MaxArtifacts > 0 && class'RPGArtifactManager'.default.ArtifactDelay > 0);
  7874.  
  7875.     if (Level.Game.IsA('Invasion'))
  7876.     {
  7877.         ServerState.ServerInfo.Length = i+1;
  7878.         ServerState.ServerInfo[i].Key = "Auto Adjust Invasion Monster Level";
  7879.         ServerState.ServerInfo[i++].Value = string(bAutoAdjustInvasionLevel);
  7880.         if (bAutoAdjustInvasionLevel)
  7881.         {
  7882.             ServerState.ServerInfo.Length = i+1;
  7883.             ServerState.ServerInfo[i].Key = "Monster Adjustment Factor";
  7884.             ServerState.ServerInfo[i++].Value = string(InvasionAutoAdjustFactor);
  7885.         }
  7886.     }
  7887. }
  7888.  
  7889. function Destroyed()
  7890. {
  7891.     SaveData();
  7892.     Players.length = 0;
  7893.  
  7894.     Super.Destroyed();
  7895. }
  7896.  
  7897. static function FillPlayInfo(PlayInfo PlayInfo)
  7898. {
  7899.     local int i;
  7900.  
  7901.     Super.FillPlayInfo(PlayInfo);
  7902.  
  7903.     PlayInfo.AddSetting("UT2004RPG", "SaveDuringGameInterval", default.PropsDisplayText[i++], 1, 10, "Text", "3;0:999");
  7904.     PlayInfo.AddSetting("UT2004RPG", "StartingLevel", default.PropsDisplayText[i++], 1, 10, "Text", "2;1:99");
  7905.     PlayInfo.AddSetting("UT2004RPG", "PointsPerLevel", default.PropsDisplayText[i++], 5, 10, "Text", "2;1:99");
  7906.     PlayInfo.AddSetting("UT2004RPG", "LevelDiffExpGainDiv", default.PropsDisplayText[i++], 1, 10, "Text", "5;0.001:100.0",,, true);
  7907.     PlayInfo.AddSetting("UT2004RPG", "EXPForWin", default.PropsDisplayText[i++], 10, 10, "Text", "3;0:999");
  7908.     PlayInfo.AddSetting("UT2004RPG", "BotBonusLevels", default.PropsDisplayText[i++], 4, 10, "Text", "2;0:99");
  7909.     PlayInfo.AddSetting("UT2004RPG", "bReset", default.PropsDisplayText[i++], 0, 10, "Check");
  7910.     PlayInfo.AddSetting("UT2004RPG", "WeaponModifierChance", default.PropsDisplayText[i++], 50, 10, "Text", "4;0.0:1.0");
  7911.     PlayInfo.AddSetting("UT2004RPG", "bMagicalStartingWeapons", default.PropsDisplayText[i++], 0, 10, "Check");
  7912.     PlayInfo.AddSetting("UT2004RPG", "bNoUnidentified", default.PropsDisplayText[i++], 0, 10, "Check");
  7913.     PlayInfo.AddSetting("UT2004RPG", "bAutoAdjustInvasionLevel", default.PropsDisplayText[i++], 1, 10, "Check");
  7914.     PlayInfo.AddSetting("UT2004RPG", "InvasionAutoAdjustFactor", default.PropsDisplayText[i++], 1, 10, "Text", "4;0.01:3.0");
  7915.     PlayInfo.AddSetting("UT2004RPG", "MaxLevelupEffectStacking", default.PropsDisplayText[i++], 1, 10, "Text", "2;1:10",,, true);
  7916.     PlayInfo.AddSetting("UT2004RPG", "StatCaps", default.PropsDisplayText[i++], 1, 14, "Text",,,, true);
  7917.     PlayInfo.AddSetting("UT2004RPG", "InfiniteReqEXPOp", default.PropsDisplayText[i++], 1, 12, "Select", default.PropsExtras,,, true);
  7918.     PlayInfo.AddSetting("UT2004RPG", "InfiniteReqEXPValue", default.PropsDisplayText[i++], 1, 13, "Text", "3;0:999",,, true);
  7919.     PlayInfo.AddSetting("UT2004RPG", "Levels", default.PropsDisplayText[i++], 1, 11, "Text",,,, true);
  7920.     //FIXME perhaps make Abilities menu a "Select" option, using .int or .ucl to find all available abilities?
  7921.     PlayInfo.AddSetting("UT2004RPG", "Abilities", default.PropsDisplayText[i++], 1, 15, "Text",,,, true);
  7922.     //PlayInfo.AddSetting("UT2004RPG", "bExperiencePickups", "Experience Pickups", 0, 10, "Check");
  7923.  
  7924.     class'RPGArtifactManager'.static.FillPlayInfo(PlayInfo);
  7925. }
  7926.  
  7927. static function string GetDescriptionText(string PropName)
  7928. {
  7929.     switch (PropName)
  7930.     {
  7931.         case "SaveDuringGameInterval":    return default.PropsDescText[0];
  7932.         case "StartingLevel":        return default.PropsDescText[1];
  7933.         case "PointsPerLevel":        return default.PropsDescText[2];
  7934.         case "LevelDiffExpGainDiv":    return default.PropsDescText[3];
  7935.         case "EXPForWin":        return default.PropsDescText[4];
  7936.         case "BotBonusLevels":        return default.PropsDescText[5];
  7937.         case "bReset":            return default.PropsDescText[6];
  7938.         case "WeaponModifierChance":    return default.PropsDescText[7];
  7939.         case "bMagicalStartingWeapons":    return default.PropsDescText[8];
  7940.         case "bNoUnidentified":        return default.PropsDescText[9];
  7941.         case "bAutoAdjustInvasionLevel":return default.PropsDescText[10];
  7942.         case "InvasionAutoAdjustFactor":return default.PropsDescText[11];
  7943.         case "MaxLevelupEffectStacking":return default.PropsDescText[12];
  7944.         case "StatCaps":        return default.PropsDescText[13];
  7945.         case "InfiniteReqEXPOp":    return default.PropsDescText[14];
  7946.         case "InfiniteReqEXPValue":    return default.PropsDescText[15];
  7947.         case "Levels":            return default.PropsDescText[16];
  7948.         case "Abilities":        return default.PropsDescText[17];
  7949.     }
  7950. }
  7951.  
  7952. Ço
  7953. ï.ûo
  7954. -,2%+o
  7955. A G!E^class GhostInv extends Inventory;
  7956.  
  7957. var int OwnerAbilityLevel;
  7958. var array<Material> OldInstigatorSkins;
  7959. var Material OldInstigatorRepSkin;
  7960. var array<ColorModifier> GhostSkins;
  7961. var Controller OwnerController;
  7962. var vector RevivePoint;
  7963. var bool bDisabled;
  7964. var color GhostColor;
  7965. var sound GhostSound;
  7966.  
  7967. replication
  7968. {
  7969.     reliable if (bNetDirty && Role==ROLE_Authority)
  7970.         bDisabled;
  7971. }
  7972.  
  7973. function GiveTo(Pawn Other, optional Pickup Pickup)
  7974. {
  7975.     local int Count;
  7976.     local vector HitNormal, TestLocation;
  7977.     local float Dist;
  7978.     local NavigationPoint RandNavPt;
  7979.  
  7980.     Super.GiveTo(Other, Pickup);
  7981.  
  7982.     if (Instigator == None)
  7983.     {
  7984.         bDisabled = true;
  7985.         return;
  7986.     }
  7987.  
  7988.     OldInstigatorRepSkin = Instigator.RepSkin;
  7989.     Instigator.RepSkin = None;
  7990.  
  7991.     if (Instigator.Controller == None)
  7992.     {
  7993.         Instigator.TakeDamage(1, None, Instigator.Location, vect(0,0,0), class'DamageType');
  7994.         return;
  7995.     }
  7996.  
  7997.     if (Instigator.Weapon != None)
  7998.         Instigator.Weapon.HolderDied();
  7999.     do
  8000.     {
  8001.         Count++;
  8002.         RandNavPt = Instigator.Controller.FindRandomDest();
  8003.         if (RandNavPt == None)
  8004.             break;
  8005.         if (RandNavPt.IsA('FlyingPathNode') && !Instigator.bCanFly)
  8006.             continue;
  8007.                RevivePoint = RandNavPt.Location + vect(0,0,40);
  8008.                Dist = VSize(RevivePoint - Instigator.Location);
  8009.     } until ((Dist < 15000 && (Dist > 1000 || !FastTrace(RevivePoint, Instigator.Location))) || Count == 100000)
  8010.     if (RandNavPt == None || Count == 100000) //crappy level with no pathing - pick a random direction for the poor sucker
  8011.     {
  8012.         TestLocation = Instigator.Location + VRand() * 2000;
  8013.         if (Instigator.Trace(RevivePoint, HitNormal, TestLocation, Instigator.Location, true, Instigator.GetCollisionExtent()) == None)
  8014.             RevivePoint = TestLocation;
  8015.     }
  8016.  
  8017.     OwnerController = Instigator.Controller;
  8018.     if (PlayerController(Instigator.Controller) != None)
  8019.     {
  8020.         Instigator.RemoteRole = ROLE_SimulatedProxy;
  8021.         PlayerController(OwnerController).CleanOutSavedMoves();
  8022.         OwnerController.Pawn = None;
  8023.         Instigator.Controller = None;
  8024.         OwnerController.GotoState('BaseSpectating');
  8025.         PlayerController(OwnerController).ClientGotoState('BaseSpectating', '');
  8026.         PlayerController(OwnerController).SetViewTarget(Instigator);
  8027.         PlayerController(OwnerController).ClientSetViewTarget(Instigator);
  8028.         PlayerController(OwnerController).ClientSetBehindView(true);
  8029.     }
  8030.     else
  8031.     {
  8032.         Instigator.Controller.PendingStasis();
  8033.         Instigator.Controller.Pawn = None;
  8034.         Instigator.Controller = None;
  8035.     }
  8036.  
  8037.     Instigator.bIgnoreOutOfWorld = true;
  8038.            Instigator.SetCollision(false);
  8039.     Instigator.bCollideWorld = false;
  8040.     Instigator.SetPhysics(PHYS_Flying);
  8041.     Instigator.Health = 9999; //heh...I wonder if anyone will get the joke?
  8042.     if (Vehicle(Instigator) != None)
  8043.         Instigator.bNoTeamBeacon = true;
  8044.     Instigator.Velocity = Normal(RevivePoint - Instigator.Location) * (Instigator.AirSpeed + Instigator.AirSpeed / 2 * (OwnerAbilityLevel - 1));
  8045.     Instigator.AmbientSound = GhostSound;
  8046.  
  8047.     //listen/standalone stuff
  8048.     if (Level.NetMode != NM_DedicatedServer)
  8049.     {
  8050.         CreateGhostSkins();
  8051.         Instigator.Skins = GhostSkins;
  8052.         if (Instigator.Weapon != None && Instigator.Weapon.ThirdPersonActor != None)
  8053.             Instigator.Weapon.ThirdPersonActor.bHidden = true;
  8054.     }
  8055. }
  8056.  
  8057. simulated function PostNetBeginPlay()
  8058. {
  8059.     if (Role < ROLE_Authority)
  8060.         SetTimer(0.1, true);
  8061. }
  8062.  
  8063. function DropFrom(vector StartLocation)
  8064. {
  8065.     Destroy();
  8066. }
  8067.  
  8068. simulated function CreateGhostSkins()
  8069. {
  8070.     local int x;
  8071.  
  8072.     OldInstigatorSkins = Instigator.Skins;
  8073.     for (x = 0; x < Instigator.Skins.length; x++)
  8074.     {
  8075.         GhostSkins[x] = ColorModifier(Level.ObjectPool.AllocateObject(class'ColorModifier'));
  8076.         GhostSkins[x].Material = Instigator.Skins[x];
  8077.         GhostSkins[x].AlphaBlend = true;
  8078.         GhostSkins[x].RenderTwoSided = true;
  8079.         GhostSkins[x].Color = GhostColor;
  8080.     }
  8081. }
  8082.  
  8083. simulated function Timer()
  8084. {
  8085.     //client-side stuff
  8086.     if (Instigator == None)
  8087.         return;
  8088.     if (bDisabled)
  8089.     {
  8090.         Deactivate();
  8091.         return;
  8092.     }
  8093.     if (GhostSkins.length == 0)
  8094.         CreateGhostSkins();
  8095.     Instigator.Skins = GhostSkins;
  8096.     if (Instigator.Weapon != None && Instigator.Weapon.ThirdPersonActor != None)
  8097.         Instigator.Weapon.ThirdPersonActor.bHidden = true;
  8098.     return;
  8099. }
  8100.  
  8101. function Tick(float deltaTime)
  8102. {
  8103.     if (bDisabled)
  8104.         return;
  8105.     if (VSize(Instigator.Location - RevivePoint) > VSize(Instigator.Velocity) * deltaTime)
  8106.     {
  8107.         //refresh Instigator velocity to counter air friction
  8108.         Instigator.Velocity = Normal(RevivePoint - Instigator.Location) * (Instigator.AirSpeed + Instigator.AirSpeed / 2 * (OwnerAbilityLevel - 1));
  8109.         if (Instigator.HasAnim('HitL'))
  8110.             Instigator.PlayAnim('HitL',,0.1);
  8111.         return;
  8112.     }
  8113.  
  8114.     if (PlayerController(OwnerController) == None)
  8115.         OwnerController.bStasis = false;
  8116.     OwnerController.Possess(Instigator);
  8117.     Instigator.bIgnoreOutOfWorld = false;
  8118.     Instigator.AmbientSound = None;
  8119.     Instigator.Velocity = vect(0,0,0);
  8120.     Instigator.SetCollision(true, true, true);
  8121.     Instigator.bCollideWorld = true;
  8122.     Instigator.SetPhysics(PHYS_Falling);
  8123.     if (Vehicle(Instigator) != None)
  8124.         Instigator.bNoTeamBeacon = Instigator.default.bNoTeamBeacon;
  8125.     switch(OwnerAbilityLevel)
  8126.     {
  8127.     case 1:
  8128.         Instigator.Health = 1;
  8129.         break;
  8130.     case 2:
  8131.         Instigator.Health = Instigator.default.Health;
  8132.         break;
  8133.     case 3:
  8134.         Instigator.Health = Instigator.HealthMax;
  8135.         break;
  8136.     }
  8137.     Level.Game.SetPlayerDefaults(Instigator);
  8138.     disable('Tick');
  8139.     bDisabled = true;
  8140.     Deactivate();
  8141. }
  8142.  
  8143. simulated function Deactivate()
  8144. {
  8145.     local int x;
  8146.  
  8147.     if (Role == ROLE_Authority)
  8148.         Instigator.RepSkin = OldInstigatorRepSkin;
  8149.     if (Level.NetMode != NM_DedicatedServer)
  8150.     {
  8151.         Instigator.Skins = OldInstigatorSkins;
  8152.         if (GhostSkins.length != 0)
  8153.         {
  8154.             for (x = 0; x < GhostSkins.length; x++)
  8155.                 Level.ObjectPool.FreeObject(GhostSkins[x]);
  8156.             GhostSkins.length = 0;
  8157.         }
  8158.         if (Instigator.Weapon != None && Instigator.Weapon.ThirdPersonActor != None)
  8159.             Instigator.Weapon.ThirdPersonActor.bHidden = false;
  8160.     }
  8161. }
  8162.  
  8163. simulated function Destroyed()
  8164. {
  8165.     if (GhostSkins.length != 0)
  8166.         Deactivate();
  8167.  
  8168.     Super.Destroyed();
  8169. }
  8170.  
  8171. h //
  8172. // Message for gaining a level
  8173. //
  8174. //    RelatedPRI_1 is the one who gained a level.
  8175. //    Switch is that player's new level.
  8176. //
  8177.  
  8178. class GainLevelMessage extends LocalMessage;
  8179.  
  8180. var(Message) localized string LevelString, SomeoneString;
  8181.  
  8182. static function color GetConsoleColor( PlayerReplicationInfo RelatedPRI_1 )
  8183. {
  8184.     return class'HUD'.Default.WhiteColor;
  8185. }
  8186.  
  8187. static function string GetString(
  8188.     optional int Switch,
  8189.     optional PlayerReplicationInfo RelatedPRI_1, 
  8190.     optional PlayerReplicationInfo RelatedPRI_2,
  8191.     optional Object OptionalObject 
  8192.     )
  8193. {
  8194.     local string Name;
  8195.  
  8196.     if (RelatedPRI_1 == None)
  8197.         Name = Default.SomeoneString;
  8198.     else
  8199.         Name = RelatedPRI_1.PlayerName;
  8200.  
  8201.     return Name$Default.LevelString$Switch$".";
  8202. }
  8203.  
  8204. ÇMGDtªÜ<äääü-PrM GrKn    rn* p9D½½9?D═╠L=9?WmÜp%p&n!qp9D«n╪9?,2 G wclass FlightEffect extends Emitter;
  8205.  
  8206. var bool bKillNow;
  8207.  
  8208. replication
  8209. {
  8210.     reliable if (bNetDirty && Role == ROLE_Authority)
  8211.         bKillNow;
  8212. }
  8213.  
  8214. function BeginPlay()
  8215. {
  8216.     Super.BeginPlay();
  8217.  
  8218.     if (Instigator == None)
  8219.         Destroy();
  8220.     else if (Level.NetMode != NM_DedicatedServer)
  8221.         SetOffsets();
  8222. }
  8223.  
  8224. simulated function PostBeginPlay()
  8225. {
  8226.     Super.PostBeginPlay();
  8227.  
  8228.     if (Level.NetMode != NM_DedicatedServer)
  8229.     {
  8230.         Emitters[0].InitialDelay = FRand();
  8231.         Emitters[1].InitialDelay = FRand();
  8232.     }
  8233. }
  8234.  
  8235. simulated function PostNetReceive()
  8236. {
  8237.     if (bKillNow)
  8238.         Kill();
  8239.     else if (Instigator != None)
  8240.         SetOffsets();
  8241. }
  8242.  
  8243. simulated function SetOffsets()
  8244. {
  8245.     Instigator.PlayAnim('Jump_Mid');
  8246.     Emitters[0].StartLocationOffset = Instigator.GetBoneCoords('lfoot').Origin - Instigator.Location;
  8247.     Emitters[1].StartLocationOffset = Instigator.GetBoneCoords('rfoot').Origin - Instigator.Location;
  8248. }
  8249.  
  8250. simulated function Kill()
  8251. {
  8252.     Super.Kill();
  8253.     bKillNow = true;
  8254.  
  8255.     if (Level.NetMode == NM_DedicatedServer)
  8256.         SetTimer(3, false);
  8257. }
  8258.  
  8259. function Timer()
  8260. {
  8261.     Destroy();
  8262. }
  8263.  
  8264. o//This is a total hack to fix Epic's not calling GameRules.NetDamage for monsters
  8265. class FakeMonsterWeapon extends Weapon
  8266.     CacheExempt
  8267.     HideDropDown;
  8268.  
  8269. function DropFrom(vector StartLocation)
  8270. {
  8271.     Destroy();
  8272. }
  8273.  
  8274. function bool BotFire(bool bFinished, optional name FiringMode)
  8275. {
  8276.     return false;
  8277. }
  8278.  
  8279. event ServerStartFire(byte Mode)
  8280. {
  8281. }
  8282.  
  8283. function bool CanAttack(Actor Other)
  8284. {
  8285.     return false;
  8286. }
  8287.  
  8288. simulated function bool ReadyToFire(int Mode)
  8289. {
  8290.     return false;
  8291. }
  8292.  
  8293. function HolderDied()
  8294. {
  8295. }
  8296.  
  8297. function GiveTo(Pawn Other, optional Pickup Pickup)
  8298. {
  8299.     Super(Inventory).GiveTo(Other, Pickup);
  8300.  
  8301.     Instigator.Weapon = self;
  8302. }
  8303.  
  8304. //Isn't this just sad?
  8305. function AdjustPlayerDamage( out int Damage, Pawn InstigatedBy, Vector HitLocation, out Vector Momentum, class<DamageType> DamageType)
  8306. {
  8307.     Damage = Level.Game.GameRulesModifiers.NetDamage(Damage, Damage, Instigator, InstigatedBy, HitLocation, Momentum, DamageType);
  8308. }
  8309.  
  8310. gclass ExperiencePickup extends TournamentPickUp;
  8311.  
  8312. var int Amount;
  8313. var MutUT2004RPG RPGMut;
  8314.  
  8315. function PostBeginPlay()
  8316. {
  8317.     local Mutator m;
  8318.  
  8319.     Super.PostBeginPlay();
  8320.  
  8321.     for (m = Level.Game.BaseMutator; m != None; m = m.NextMutator)
  8322.     {
  8323.         RPGMut = MutUT2004RPG(m);
  8324.         if (RPGMut != None)
  8325.             break;
  8326.     }
  8327. }
  8328.  
  8329. function float DetourWeight(Pawn Other, float PathWeight)
  8330. {
  8331.     return MaxDesireability;
  8332. }
  8333.  
  8334. event float BotDesireability(Pawn Bot)
  8335. {
  8336.     if (Bot.Controller.bHuntPlayer)
  8337.         return 0;
  8338.     return MaxDesireability;
  8339. }
  8340.  
  8341. static function string GetLocalString(optional int Switch, optional PlayerReplicationInfo RelatedPRI_1, optional PlayerReplicationInfo RelatedPRI_2)
  8342. {
  8343.     return Default.PickupMessage$Default.Amount;
  8344. }
  8345.  
  8346. auto state Pickup
  8347. {
  8348.     function Touch(Actor Other)
  8349.     {
  8350.             local Pawn P;
  8351.             local RPGStatsInv StatsInv;
  8352.  
  8353.         if (ValidTouch(Other))
  8354.         {
  8355.             P = Pawn(Other);
  8356.             StatsInv = RPGStatsInv(P.FindInventoryType(class'RPGStatsInv'));
  8357.             if (StatsInv == None)
  8358.                 return;
  8359.  
  8360.             StatsInv.DataObject.Experience += Amount;
  8361.             RPGMut.CheckLevelUp(StatsInv.DataObject, P.PlayerReplicationInfo);
  8362.             AnnouncePickup(P);
  8363.             SetRespawn();
  8364.         }
  8365.     }
  8366. }
  8367.  
  8368. MǃσNq@            ÇÇ          2P╣⌐Φ8σ░Wâ█╧ì#░N5╗`┘¬ïÑ░N5╗â█╧ì#â█╧ì#åe*┼É┌▄0I₧Y╪c┘╡º ╚┘╡º ╚V    îy"x$ÜÖÖ>^
  8369. $≡Af]Experience +Fφ    H]AdrenelinPickupgS█    gd$ÜÖÖ=~ s$ÜÖ?U    U$B} $╕AS
  8370. $ Ae:N└]u//hack for RPGWeaponPickup so it doesn't actually give a pickup message
  8371. //the RPGWeapon itself does that (so it can display modifiers, etc. if appropriate)
  8372. class EmptyMessage extends LocalMessage;
  8373.  
  8374. static function ClientReceive(
  8375.     PlayerController P,
  8376.     optional int Switch,
  8377.     optional PlayerReplicationInfo RelatedPRI_1,
  8378.     optional PlayerReplicationInfo RelatedPRI_2,
  8379.     optional Object OptionalObject
  8380.     )
  8381. {
  8382. }
  8383.  
  8384. 7class DamTypeUltima extends DamageType
  8385.     abstract;
  8386.  
  8387. <class DamTypeRetaliation extends DamageType
  8388.     abstract;
  8389.  
  8390. eUA╖.)r▀SkaarjPack.Invasion ì'*(' G VÇ₧WÇÇTy    }V1äûy    -,Kûy    5,K%SBÜR
  8391. %,Sy    R
  8392.  G!7class DamTypePoison extends DamageType
  8393.     abstract;
  8394.  
  8395. Dclass DamTypeLightningRod extends DamageType
  8396.     abstract;
  8397.  
  8398. static function GetHitEffects(out class<xEmitter> HitEffects[4], int VictemHealth)
  8399. {
  8400.     HitEffects[0] = class'HitSmoke';
  8401.     if (Rand(25) > VictemHealth)
  8402.     HitEffects[1] = class'HitFlame';
  8403. }
  8404.  
  8405. ÇEX~ xBPää¢9:~╜9:$r~æ*ü~æ-╧ s.j~  j∞ws*Ω¢slo    s_òB* »#slo    sh' s~a j~ "slo    s ~ G!]6//This draws the health bars for the Awareness ability
  8406. class AwarenessInteraction extends Interaction;
  8407.  
  8408. var AwarenessEnemyList EnemyList;
  8409. var Material HealthBarMaterial;
  8410. var float BarUSize, BarVSize;
  8411.  
  8412. var int AbilityLevel;
  8413.  
  8414. event Initialized()
  8415. {
  8416.     BarUSize = HealthBarMaterial.MaterialUSize();
  8417.     BarVSize = HealthBarMaterial.MaterialVSize();
  8418.     EnemyList = ViewportOwner.Actor.Spawn(class'AwarenessEnemyList');
  8419. }
  8420.  
  8421. function PreRender(Canvas Canvas)
  8422. {
  8423.     local int i;
  8424.     local float Dist, XScale, YScale, HealthScale, ScreenX;
  8425.     local vector BarLoc, CameraLocation, X, Y, Z;
  8426.     local rotator CameraRotation;
  8427.     local Pawn Enemy;
  8428.  
  8429.     if (ViewportOwner.Actor.Pawn == None || ViewportOwner.Actor.Pawn.Health <= 0)
  8430.         return;
  8431.  
  8432.     for (i = 0; i < EnemyList.Enemies.length; i++)
  8433.     {
  8434.         Enemy = EnemyList.Enemies[i];
  8435.         if (Enemy == None || Enemy.Health <= 0 || (xPawn(Enemy) != None && xPawn(Enemy).bInvis))
  8436.             continue;
  8437.         Canvas.GetCameraLocation(CameraLocation, CameraRotation);
  8438.         if (Normal(Enemy.Location - CameraLocation) dot vector(CameraRotation) < 0)
  8439.             continue;
  8440.         ScreenX = Canvas.WorldToScreen(Enemy.Location).X;
  8441.         if (ScreenX < 0 || ScreenX > Canvas.ClipX)
  8442.             continue;
  8443.          Dist = VSize(Enemy.Location - CameraLocation);
  8444.          if (Dist > ViewportOwner.Actor.TeamBeaconMaxDist * FClamp(0.04 * Enemy.CollisionRadius, 1.0, 3.0))
  8445.              continue;
  8446.         if (!Enemy.FastTrace(Enemy.Location + Enemy.CollisionHeight * vect(0,0,1), ViewportOwner.Actor.Pawn.Location + ViewportOwner.Actor.Pawn.EyeHeight * vect(0,0,1)))
  8447.             continue;
  8448.  
  8449.         GetAxes(rotator(Enemy.Location - CameraLocation), X, Y, Z);
  8450.         BarLoc = Canvas.WorldToScreen(Enemy.Location + (Enemy.CollisionHeight + BarVSize / 2) * vect(0,0,1) - Enemy.CollisionRadius * Y);
  8451.         XScale = (Canvas.WorldToScreen(Enemy.Location + (Enemy.CollisionHeight + BarVSize / 2) * vect(0,0,1) + Enemy.CollisionRadius * Y).X - BarLoc.X) / BarUSize;
  8452.         YScale = FMin(0.15 * XScale, 0.50);
  8453.  
  8454.          Canvas.SetPos(BarLoc.X, BarLoc.Y);
  8455.          Canvas.Style = 1;
  8456.          HealthScale = Enemy.Health / Enemy.HealthMax;
  8457.          if (AbilityLevel > 1)
  8458.         {
  8459.              if (HealthScale > 0.5)
  8460.              {
  8461.                  Canvas.DrawColor.R = Clamp(255 * (1.f - (Enemy.HealthMax - (Enemy.HealthMax - Enemy.Health) * 2)/Enemy.HealthMax), 0, 255);
  8462.                  Canvas.DrawColor.G = 255;
  8463.                  Canvas.DrawColor.B = 0;
  8464.                  Canvas.DrawColor.A = 255;
  8465.              }
  8466.              else
  8467.              {
  8468.                  Canvas.DrawColor.R = 255;
  8469.                  Canvas.DrawColor.G = Clamp(255 * (2.f * HealthScale), 0, 255);
  8470.                  Canvas.DrawColor.B = 0;
  8471.                  Canvas.DrawColor.A = 255;
  8472.              }
  8473.             Canvas.DrawTile(HealthBarMaterial, BarUSize*XScale*HealthScale, BarVSize*YScale, 0, 0, BarUSize, BarVSize);
  8474.             if (Enemy.ShieldStrength > 0 && xPawn(Enemy) != None)
  8475.             {
  8476.                 Canvas.DrawColor = class'HUD'.default.GoldColor;
  8477.                 YScale /= 2;
  8478.                 Canvas.SetPos(BarLoc.X, BarLoc.Y - BarVSize * (YScale + 0.05));
  8479.                 Canvas.DrawTile(HealthBarMaterial, BarUSize*XScale*Enemy.ShieldStrength/xPawn(Enemy).ShieldStrengthMax, BarVSize*YScale, 0, 0, BarUSize, BarVSize);
  8480.             }
  8481.         }
  8482.         else
  8483.         {
  8484.             if (HealthScale < 0.25)
  8485.                 Canvas.DrawColor = class'HUD'.default.RedColor;
  8486.             else if (HealthScale < 0.50)
  8487.                 Canvas.DrawColor = class'HUD'.default.GoldColor;
  8488.             else
  8489.                 Canvas.DrawColor = class'HUD'.default.GreenColor;
  8490.             Canvas.DrawTile(HealthBarMaterial, BarUSize*XScale, BarVSize*YScale, 0, 0, BarUSize, BarVSize);
  8491.         }
  8492.     }
  8493. }
  8494.  
  8495. event NotifyLevelChange()
  8496. {
  8497.     EnemyList.Destroy();
  8498.     EnemyList = None;
  8499.     Master.RemoveInteraction(self);
  8500. }
  8501.  
  8502. `//This holds and maintains the list of the local player's enemy pawns for use in AwarenessInteraction
  8503. //A seperate actor is used to prevent invalid pointer problems since Actor references
  8504. //in non-Actors don't get set to None automatically when the Actor is destroyed
  8505. class AwarenessEnemyList extends Actor;
  8506.  
  8507. var array<Pawn> Enemies;
  8508. var PlayerController PlayerOwner;
  8509.  
  8510. simulated function PostBeginPlay()
  8511. {
  8512.     Super.PostBeginPlay();
  8513.  
  8514.     PlayerOwner = Level.GetLocalPlayerController();
  8515.     if (PlayerOwner != None)
  8516.         SetTimer(2, true);
  8517.     else
  8518.         Warn("AwarenessEnemyList spawned with no local PlayerController!");
  8519. }
  8520.  
  8521. simulated function Timer()
  8522. {
  8523.     local Pawn P, PlayerDriver;
  8524.  
  8525.     Enemies.length = 0;
  8526.  
  8527.     if (PlayerOwner.Pawn == None || PlayerOwner.Pawn.Health <= 0)
  8528.         return;
  8529.  
  8530.     if (Vehicle(PlayerOwner.Pawn) != None)
  8531.         PlayerDriver = Vehicle(PlayerOwner.Pawn).Driver;
  8532.  
  8533.     foreach DynamicActors(class'Pawn', P)
  8534.         if ( P != PlayerOwner.Pawn && P != PlayerDriver
  8535.              && (P.GetTeamNum() == 255 || P.GetTeamNum() != PlayerOwner.GetTeamNum())
  8536.              && (Vehicle(P) == None || (Vehicle(P).bDriving && P.GetVehicleBase() == None)) )
  8537.             Enemies[Enemies.length] = P;
  8538. }
  8539.  
  8540. @class ArtifactTripleDamagePickup extends RPGArtifactPickup;
  8541.  
  8542. +╙]╙6╙,S*Y$* └└ $Ç?*  T$└?[uZ$á@$á@d0Z 4
  8543. Z$ A$ AZ$ A$ A Z$ A$ A-$á@2τ)Z$@$@`Z 4
  8544. Z$$Z$$ Z$p┴$p┴+╙]╙6╙,S*Y$* └└ $Ç?*  T$└?[uZ$á@$á@d0Z 4
  8545. Z$ A$ AZ$ A$ A Z$ A$ A-$á@2τ)Z$@$@`Z 4
  8546. Z$$Z$$ Z$p┴$p┴+╙]╙4SwSDS6╙,S*Y+$*   $═╠L>*¬ $Ç?*x T$═╠L?T8"⌠R:4B[p
  8547. Z 4
  8548. Z$$Z$$ÇG Z$╚A$╚AuZ 4
  8549. Z$$Z$$ Z$═╠L>$═╠L>d{
  8550. :N@0Z 4
  8551. Z$á@$á@Z$á@$á@ Z$á@$á@-$HC2τ7$)Z$@$ @`Z 4
  8552. Z$$Z$H┬$H┬ Z$$+╙4S6╙,S*Y$*  $Ç?*  T8"[uZ$ûB$ûB0Z 4
  8553. Z$pA$pAZ$pA$pA Z$pA$pA-$@£E2Θ )Z$á?$á?`Z 4
  8554. Z$pB$pBZ$pB$pB Z$pB$pBCe+╙Y╙4SwSB╙O╙DS6╙,SM╙*Y9$*$├⌡¿>*$├⌡(?* 3$Ç?*U$═╠╠=8"(R:Ç┬J╘u CZ 4
  8555. Z$Ç?$Ç?Z$Ç?$Ç? Z$@$@uZ 4
  8556. Z$$Z$$ Z$═╠L╛$═╠L>QY5$$Ç?$?$Ç?$═╠L?$ÇA$Ç?$╚A0Z 4
  8557. Z$ A$ AZ$ A$ A Z$ A$ A-$zE2╪7$)Z$@$@`Z 4
  8558. Z$$Z$$ Z$Ç┐$Ç?oZ$Ç┐$Ç┐GZ 4
  8559. Z$$═╠╠=Z$$═╠╠= Z$$CNYY$$:$?$:$333?$:Ç;EÇ;EzD$Ç?$:e+╙Y╙4SwSB╙B╙O╙DS6╙,SM╙*Y9$*$├⌡¿>*$├⌡(?* Ç╛$Ç?*U$═╠╠=8"<[uZ$ÇB$CJ╘CZ 4
  8560. Z$Ç?$Ç?Z$Ç?$Ç? Z$@$@uZ 4
  8561. Z$$Z$$ Z$═╠L╛$═╠L>eZ 4
  8562. Z$$Ç?Z$$ Z$$QY5$$Ç?$?$Ç?$═╠L?$ÇA$Ç?$╚A0Z 4
  8563. Z$ A$ AZ$ A$ A Z$ A$ A-$zE2╪7$)Z$@$@qZ$═╠L=$═╠L=`Z 4
  8564. Z$$Z$$ Z$Ç┐$Ç?oZ$Ç?$Ç?GZ 4
  8565. Z$$═╠╠=Z$$═╠╠= Z$$CNYY$$:$?$:$333?$:Ç;┼Ç;┼z─$Ç?$:e+╙Y╙4SwSB╙I╙B╙O╙DS6╙,SM╙*Y9$*$├⌡¿>*<<<d$├⌡(?*PPP $Ç?*U$═╠╠=8"û[uZ$C$CJ╘CZ 4
  8566. Z$@$@Z$@$@ Z$@$@uZ 4
  8567. Z$$Z$$ Z$═╠╠=$═╠╠=FY/$W: A$Ç?W:eZ 4
  8568. Z$$Ç?Z$$ Z$$QY5$$Ç?$?$Ç?$═╠L?$ÇA$Ç?$HB0Z 4
  8569. Z$ A$ AZ$ A$ A Z$ A$ A-$zE@2╬    7$)Z$@$@qZ$═╠╠=$═╠╠=`Z 4
  8570. Z$$Z$$ Z$Ç┐$Ç?oZ$═╠L┐$Ç┐GZ 4
  8571. Z$$═╠╠=Z$$═╠╠= Z$$CNYY$$:$?$:$333?$:Ç;EÇ;EzD$Ç?$:ûCûC╚Be+╙Y╙4SwSB╙I╙O╙DS6╙,SM╙*Y9$*$├⌡¿>*$├⌡(?* 3$Ç?*U$═╠╠=8"2[uZ$ÇB$CJ╘CZ 4
  8572. Z$└?$└?Z$└?$└? Z$Ç?$Ç?uZ 4
  8573. Z$$Z$$ Z$═╠L╛$═╠L>FY/$W:Ç?$Ç?W:QY5$$Ç?$?$Ç?$═╠L?$ÇA$Ç?$╚A0Z 4
  8574. Z$ A$ AZ$ A$ A Z$ A$ A-$zE2╪7$)Z$@$@qZ$═╠L=$═╠L=`Z 4
  8575. Z$$Z$$ Z$Ç┐$Ç?oZ$Ç┐$Ç┐GZ 4
  8576. Z$$═╠╠=Z$$═╠╠= Z$$CNYY$$:$?$:$333?$:·D·D·C$Ç?$:S╓    W╙+╙]╙Y╙4SO╙DS,S*Y9$*$ÜÖÖ>*7 7$ÜÖ?* $Ç?*T$Ç?U$═╠╠=8"eZ 4
  8577. Z$$Z$$Ç? Z$$Ç?QY$$═╠L>$Ç?$╚A0Z 4
  8578. Z$?$?Z$?$? Z$Ç?$Ç?-$PCG2╔7$)Z$Ç?$Ç?qZ$Ç?$Ç?S╦[╙W╙+╙]╙Y╙4SO╙DS6╙,S*Y9$*$ÜÖÖ>*  $ÜÖ?* Ç$Ç?*T$Ç?U$═╠╠=8"|
  8579. Z 4
  8580. Z$$Ç?Z$$Ç? Z$$Ç?QY$$═╠L>$Ç?$ÉA0Z 4
  8581. Z$═╠L?$═╠L?Z$═╠L?$═╠L? Z$═╠L?$═╠L?-$PCG@2╔7$)Z$@?$@?qZ$└?$└?+╙4SO╙DS6╙,S*Y9$*₧$ÜÖ?*@ W$═╠L?*╗<$Ç?*8"QY($$═╠L>$═╠L?$ A$Ç?$Ç?0Z 4
  8582. Z$HC$HCZ$╚B$╚B Z$╚B$╚B-$PCG2ⁿ7$)Z$á?$á?qZ$═╠L?$═╠L?+╙]╙Y╙4SO╙DS6╙,S*Y$*o ¼$Ç?*7ΩdT$fff?U$═╠╠=8"QY($$Ç?$333?$pA$Ç?$Ç?-$PCG2╘    7$)Z$Ç?$Ç?e+╙]╙Y╙4S,S*Y$*  $Ç?*² T$ÜÖ?U$═╠L>[uZ$ÇC$ÇCeZ 4
  8583. Z$?$?Z$$ Z$$0Z 4
  8584. Z$áB$áBZ$ B$ B Z$╚B$╚B-$╚B2╙    7$)Z$═╠L?$═╠L?oZ$HC$HCCS╦[╙W╙+╙]╙4SO╙DS,S*Y$*  $Ç?*  T$@?8"QY$$═╠L>$Ç?$╚A0Z 4
  8585. Z$Ç?$Ç?Z$Ç?$Ç? Z$═╠L?$═╠L?-$PCG@7$)Z$Ç?$Ç?qZ$ÜÖÖ?$ÜÖÖ?tclass ArtifactTripleDamage extends RPGArtifact;
  8586.  
  8587. var Weapon LastWeapon;
  8588.  
  8589. function BotConsider()
  8590. {
  8591.     if (Instigator.Controller.Adrenaline < 30)
  8592.         return;
  8593.  
  8594.     if (bActive && (Instigator.Controller.Enemy == None || !Instigator.Controller.CanSee(Instigator.Controller.Enemy)))
  8595.         Activate();
  8596.     else if ( !bActive && Instigator.Controller.Enemy != None && Instigator.Weapon != None && Instigator.Weapon.AIRating > 0.5
  8597.           && Instigator.Controller.Enemy.Health > 70 && Instigator.Controller.CanSee(Instigator.Controller.Enemy) && NoArtifactsActive() && FRand() < 0.7 )
  8598.         Activate();
  8599. }
  8600.  
  8601. function Activate()
  8602. {
  8603.     if (!bActive && Instigator.HasUDamage())
  8604.         return;
  8605.  
  8606.     Super.Activate();
  8607. }
  8608.  
  8609. function bool HandlePickupQuery(Pickup Item)
  8610. {
  8611.     if (Super.HandlePickupQuery(Item))
  8612.         return true;
  8613.     if (UDamagePack(Item) != None && bActive)
  8614.         Activate();
  8615.  
  8616.     return false;
  8617. }
  8618.  
  8619. state Activated
  8620. {
  8621.     function BeginState()
  8622.     {
  8623.         Instigator.DamageScaling *= 1.5;
  8624.         //Instigator.EnableUDamage(Instigator.Controller.Adrenaline / CostPerSec);
  8625.         Instigator.EnableUDamage(1000000);
  8626.         bActive = true;
  8627.     }
  8628.  
  8629.     function EndState()
  8630.     {
  8631.         if (Instigator != None)
  8632.         {
  8633.             Instigator.DamageScaling /= 1.5;
  8634.             Instigator.DisableUDamage();
  8635.         }
  8636.         bActive = false;
  8637.     }
  8638. }
  8639.  
  8640. <class ArtifactTeleportPickup extends RPGArtifactPickup;
  8641.  
  8642. g#class ArtifactTeleport extends RPGArtifact;
  8643.  
  8644. var Emitter myEmitter;
  8645. var float AdrenalineUsed;
  8646.  
  8647. function BotConsider()
  8648. {
  8649.     if (bActive)
  8650.         return;
  8651.  
  8652.     if ( (Instigator.Health + Instigator.ShieldStrength < 70 || (Bot(Instigator.Controller) != None && Bot(Instigator.Controller).NeedWeapon()))
  8653.           && (Instigator.Controller.Enemy == None || !Instigator.Controller.CanSee(Instigator.Controller.Enemy))
  8654.           && (Instigator.Controller.Adrenaline > 2 * CostPerSec || NoArtifactsActive()) )
  8655.         Activate();
  8656. }
  8657.  
  8658. function DoEffect();
  8659.  
  8660. state Activated
  8661. {
  8662.     function BeginState()
  8663.     {
  8664.         local int x;
  8665.  
  8666.         myEmitter = spawn(class'TeleportChargeEffect', Instigator,, Instigator.Location, Instigator.Rotation);
  8667.         myEmitter.SetBase(Instigator);
  8668.         if (Instigator.PlayerReplicationInfo != None && Instigator.PlayerReplicationInfo.Team != None && Instigator.PlayerReplicationInfo.Team.TeamIndex == 1)
  8669.             for (x = 0; x < myEmitter.Emitters[0].ColorScale.Length; x++)
  8670.                 myEmitter.Emitters[0].ColorScale[x].Color = class'Hud'.default.BlueColor;
  8671.  
  8672.         bActive = true;
  8673.         AdrenalineUsed = CostPerSec;
  8674.     }
  8675.  
  8676.     simulated function Tick(float deltaTime)
  8677.     {
  8678.         Global.Tick(deltaTime);
  8679.  
  8680.         AdrenalineUsed -= deltaTime * CostPerSec;
  8681.         if (AdrenalineUsed <= 0)
  8682.         {
  8683.             Instigator.Controller.Adrenaline -= AdrenalineUsed; //add some back if went a bit over
  8684.             DoEffect();
  8685.         }
  8686.     }
  8687.  
  8688.     function DoEffect()
  8689.     {
  8690.         local NavigationPoint Dest;
  8691.         local vector PrevLocation;
  8692.         local int EffectNum;
  8693.  
  8694.         if (myEmitter != None)
  8695.         {
  8696.             myEmitter.SetBase(None);
  8697.             myEmitter.Kill();
  8698.             myEmitter = None;
  8699.         }
  8700.  
  8701.         Dest = Instigator.Controller.FindRandomDest();
  8702.         PrevLocation = Instigator.Location;
  8703.         Instigator.SetLocation(Dest.Location + vect(0,0,40));
  8704.         if (xPawn(Instigator) != None)
  8705.             xPawn(Instigator).DoTranslocateOut(PrevLocation);
  8706.         if (Instigator.PlayerReplicationInfo != None && Instigator.PlayerReplicationInfo.Team != None)
  8707.             EffectNum = Instigator.PlayerReplicationInfo.Team.TeamIndex;
  8708.         Instigator.SetOverlayMaterial(class'TransRecall'.default.TransMaterials[EffectNum], 1.0, false);
  8709.         Instigator.PlayTeleportEffect(false, false);
  8710.  
  8711.         GotoState('');
  8712.     }
  8713.  
  8714.     function EndState()
  8715.     {
  8716.         if (myEmitter != None)
  8717.             myEmitter.Destroy();
  8718.         bActive = false;
  8719.     }
  8720. }
  8721.  
  8722. @class ArtifactLightningRodPickup extends RPGArtifactPickup;
  8723.  
  8724. c µ G
  8725. V A $
  8726. ╫ú<$$Ç?$Hßz?H$£SI6Fclass ArtifactLightningRod extends RPGArtifact;
  8727.  
  8728. var float TargetRadius;
  8729. var int DamagePerHit;
  8730. var class<xEmitter> HitEmitterClass;
  8731.  
  8732. function BotConsider()
  8733. {
  8734.     if (Instigator.Controller.Adrenaline < 30)
  8735.         return;
  8736.  
  8737.     if (bActive && (Instigator.Controller.Enemy == None || !Instigator.Controller.CanSee(Instigator.Controller.Enemy)))
  8738.         Activate();
  8739.     else if ( !bActive && Instigator.Controller.Enemy != None
  8740.           && Instigator.Controller.Enemy.Health < 70 && Instigator.Controller.CanSee(Instigator.Controller.Enemy) && NoArtifactsActive() && FRand() < 0.7 )
  8741.         Activate();
  8742. }
  8743.  
  8744. state Activated
  8745. {
  8746.     function Timer()
  8747.     {
  8748.         local Controller C;
  8749.         local int Targets;
  8750.         local xEmitter HitEmitter;
  8751.  
  8752.         //need to be moving for it to do anything... so can't just sit somewhere and camp
  8753.         if (VSize(Instigator.Velocity) ~= 0)
  8754.         {
  8755.             CostPerSec = default.CostPerSec;
  8756.             return;
  8757.         }
  8758.  
  8759.         for (C = Level.ControllerList; C != None; C = C.NextController)
  8760.             if ( C.Pawn != None && C.Pawn != Instigator && C.Pawn.Health > 0 && !C.SameTeamAs(Instigator.Controller)
  8761.                  && VSize(C.Pawn.Location - Instigator.Location) < TargetRadius && FastTrace(C.Pawn.Location, Instigator.Location) )
  8762.             {
  8763.                 HitEmitter = spawn(HitEmitterClass,,, Instigator.Location, rotator(C.Pawn.Location - Instigator.Location));
  8764.                 if (HitEmitter != None)
  8765.                     HitEmitter.mSpawnVecA = C.Pawn.Location;
  8766.                 C.Pawn.TakeDamage(DamagePerHit, Instigator, C.Pawn.Location, vect(0,0,0), class'DamTypeLightningRod');
  8767.                 Targets++;
  8768.             }
  8769.  
  8770.         CostPerSec = default.CostPerSec + Targets * 3;
  8771.     }
  8772.  
  8773.     function BeginState()
  8774.     {
  8775.         SetTimer(0.5, true);
  8776.         bActive = true;
  8777.     }
  8778.  
  8779.     function EndState()
  8780.     {
  8781.         SetTimer(0, false);
  8782.         bActive = false;
  8783.     }
  8784. }
  8785.  
  8786. Cclass ArtifactInvulnerabilityPickup extends RPGArtifactPickup;
  8787.  
  8788. Kclass ArtifactInvulnerability extends RPGArtifact;
  8789.  
  8790. var Material EffectOverlay;
  8791.  
  8792. function BotConsider()
  8793. {
  8794.     if (Instigator.Controller.Adrenaline < 30)
  8795.         return;
  8796.  
  8797.     if (bActive && (Instigator.Controller.Enemy == None || !Instigator.Controller.CanSee(Instigator.Controller.Enemy)))
  8798.         Activate();
  8799.     else if ( !bActive && Instigator.Controller.Enemy != None
  8800.           && Instigator.Health < 70 && Instigator.Controller.CanSee(Instigator.Controller.Enemy) && NoArtifactsActive() && FRand() < 0.7 )
  8801.         Activate();
  8802. }
  8803.  
  8804. state Activated
  8805. {
  8806.     function BeginState()
  8807.     {
  8808.         Instigator.Controller.bGodMode = true;
  8809.         Instigator.SetOverlayMaterial(EffectOverlay, Instigator.Controller.Adrenaline / CostPerSec, true);
  8810.         bActive = true;
  8811.     }
  8812.  
  8813.     function EndState()
  8814.     {
  8815.         if (Instigator != None)
  8816.         {
  8817.             Instigator.SetOverlayMaterial(EffectOverlay, -1, true);
  8818.             if (Instigator.Controller != None)
  8819.                 Instigator.Controller.bGodMode = false;
  8820.         }
  8821.         bActive = false;
  8822.     }
  8823. }
  8824.  
  8825. :class ArtifactFlightPickup extends RPGArtifactPickup;
  8826.  
  8827. ^class ArtifactFlight extends RPGArtifact;
  8828.  
  8829. var Emitter FlightTrail;
  8830.  
  8831. function BotConsider()
  8832. {
  8833.     if ( !bActive && Instigator.Controller.RouteGoal.Location.Z - 100 > Instigator.Location.Z
  8834.          && Instigator.Controller.Adrenaline > 5 * VSize(Instigator.Controller.RouteGoal.Location - Instigator.Location) / Instigator.AirSpeed )
  8835.         Activate();
  8836.     else if ( bActive && Instigator.Controller.RouteGoal.Location.Z - 100 < Instigator.Location.Z && !FastTrace(Instigator.Location + vect(0,0,-200), Instigator.Location))
  8837.         Activate();
  8838. }
  8839.  
  8840. state Activated
  8841. {
  8842.     function BeginState()
  8843.     {
  8844.         if (PlayerController(Instigator.Controller) != None)
  8845.             Instigator.Controller.GotoState('PlayerFlying');
  8846.         else
  8847.             Instigator.SetPhysics(PHYS_Flying);
  8848.         bActive = true;
  8849.         FlightTrail = Instigator.spawn(class'FlightEffect', Instigator);
  8850.     }
  8851.  
  8852.     function EndState()
  8853.     {
  8854.         if (Instigator != None && Instigator.Controller != None)
  8855.         {
  8856.             Instigator.SetPhysics(PHYS_Falling);
  8857.             if (PlayerController(Instigator.Controller) != None)
  8858.                 Instigator.Controller.GotoState(Instigator.LandMovementState);
  8859.         }
  8860.         bActive = false;
  8861.         if (FlightTrail != None)
  8862.             FlightTrail.Kill();
  8863.     }
  8864. }
  8865.  
  8866. qclass AmmoRegenInv extends Inventory;
  8867.  
  8868. var int RegenAmount;
  8869.  
  8870. function PostBeginPlay()
  8871. {
  8872.     SetTimer(3.0, true);
  8873.  
  8874.     Super.PostBeginPlay();
  8875. }
  8876.  
  8877. function Timer()
  8878. {
  8879.     local Inventory Inv;
  8880.     local Ammunition Ammo;
  8881.     local Weapon W;
  8882.  
  8883.     if (Instigator == None || Instigator.Health <= 0)
  8884.     {
  8885.         Destroy();
  8886.         return;
  8887.     }
  8888.  
  8889.     for (Inv = Instigator.Inventory; Inv != None; Inv = Inv.Inventory)
  8890.     {
  8891.         W = Weapon(Inv);
  8892.         if (W != None)
  8893.         {
  8894.             if ( W.bNoAmmoInstances && W.AmmoClass[0] != None && W.AmmoClass[0].default.MaxAmmo >= 5 && !W.IsA('Redeemer')
  8895.                  && !W.IsA('Painter') && !W.IsA('SCannon') )
  8896.             {
  8897.                 W.AddAmmo(RegenAmount * (1 + W.AmmoClass[0].default.MaxAmmo / 100), 0);
  8898.                 if (W.AmmoClass[0] != W.AmmoClass[1] && W.AmmoClass[1] != None)
  8899.                     W.AddAmmo(RegenAmount * (1 + W.AmmoClass[1].default.MaxAmmo / 100), 1);
  8900.             }
  8901.         }
  8902.         else
  8903.         {
  8904.             Ammo = Ammunition(Inv);
  8905.             if ( Ammo != None && Ammo.default.MaxAmmo >= 5 && !Inv.IsA('RedeemerAmmo') && !Inv.IsA('BallAmmo') && !Inv.IsA('TransAmmo')
  8906.                  && !Inv.IsA('SCannonAmmo') )
  8907.                 Ammo.AddAmmo(RegenAmount * (1 + Ammo.default.MaxAmmo / 100));
  8908.         }
  8909.     }
  8910. }
  8911. Xclass AdrenRegenInv extends Inventory;
  8912.  
  8913. var int RegenAmount;
  8914.  
  8915. function PostBeginPlay()
  8916. {
  8917.     SetTimer(5.0, true);
  8918.  
  8919.     Super.PostBeginPlay();
  8920. }
  8921.  
  8922. function Timer()
  8923. {
  8924.     local Controller C;
  8925.  
  8926.     if (Instigator == None || Instigator.Health <= 0)
  8927.     {
  8928.         Destroy();
  8929.         return;
  8930.     }
  8931.  
  8932.     C = Instigator.Controller;
  8933.     if (C == None && Instigator.DrivenVehicle != None)
  8934.          C = Instigator.DrivenVehicle.Controller;
  8935.     if (C == None)
  8936.     {
  8937.         Destroy();
  8938.         return;
  8939.     }
  8940.  
  8941.     if (!Instigator.InCurrentCombo())
  8942.         C.AwardAdrenaline(RegenAmount);
  8943. }
  8944. G class AbilityVampire extends RPGAbility
  8945.     abstract;
  8946.  
  8947. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  8948. {
  8949.     if (Data.Attack < 50)
  8950.         return 0;
  8951.     else
  8952.         return Super.Cost(Data, CurrentLevel);
  8953. }
  8954.  
  8955. static function HandleDamage(int Damage, Pawn Injured, Pawn Instigator, out vector Momentum, class<DamageType> DamageType, bool bOwnedByInstigator, int AbilityLevel)
  8956. {
  8957.     local int Health;
  8958.  
  8959.     if (!bOwnedByInstigator || DamageType == class'DamTypeRetaliation' || Injured == Instigator || Instigator == None)
  8960.         return;
  8961.  
  8962.     Health = int(float(Damage) * 0.05 * float(AbilityLevel));
  8963.     if (Health == 0)
  8964.         Health = 1;
  8965.     Instigator.GiveHealth(Health, Instigator.HealthMax + 50);
  8966. }
  8967.  
  8968. ^class AbilityUltima extends RPGAbility
  8969.     abstract;
  8970.  
  8971. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  8972. {
  8973.     local int x;
  8974.  
  8975.     if (Data.Attack < 250)
  8976.         return 0;
  8977.     for (x = 0; x < Data.Abilities.length; x++)
  8978.         if (Data.Abilities[x] == class'AbilityGhost')
  8979.             return 0;
  8980.  
  8981.     return Super.Cost(Data, CurrentLevel);
  8982. }
  8983.  
  8984. static function bool PreventDeath(Pawn Killed, Controller Killer, class<DamageType> DamageType, vector HitLocation, int AbilityLevel, bool bAlreadyPrevented)
  8985. {
  8986.     if (!bAlreadyPrevented && Killed.Location.Z > Killed.Region.Zone.KillZ && Killed.FindInventoryType(class'KillMarker') != None)
  8987.         Killed.spawn(class'UltimaCharger', Killed.Controller).ChargeTime = 4.0 / AbilityLevel;
  8988.  
  8989.     return false;
  8990. }
  8991.  
  8992. static function ScoreKill(Controller Killer, Controller Killed, bool bOwnedByKiller, int AbilityLevel)
  8993. {
  8994.     //ugh...I wish there was a faster way...
  8995.     if ( bOwnedByKiller && Killer.Pawn != None
  8996.          && (Killed.Pawn == None || Killed.Pawn.HitDamageType != class'DamTypeUltima')
  8997.          && Killer.Pawn.FindInventoryType(class'KillMarker') == None )
  8998.         Killer.Pawn.spawn(class'KillMarker', Killer.Pawn).GiveTo(Killer.Pawn);
  8999. }
  9000.  
  9001. ~class AbilitySpeed extends RPGAbility
  9002.     abstract;
  9003.  
  9004. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9005. {
  9006.     if (Data.Level < 10 * (CurrentLevel + 1))
  9007.         return 0;
  9008.     else
  9009.         return Super.Cost(Data, CurrentLevel);
  9010. }
  9011.  
  9012. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  9013. {
  9014.     Other.GroundSpeed = Other.default.GroundSpeed * (1.0 + 0.05 * float(AbilityLevel));
  9015.     Other.WaterSpeed = Other.default.WaterSpeed * (1.0 + 0.05 * float(AbilityLevel));
  9016.     Other.AirSpeed = Other.default.AirSpeed * (1.0 + 0.05 * float(AbilityLevel));
  9017. }
  9018.  
  9019. e class AbilitySmartHealing extends RPGAbility
  9020.     abstract;
  9021.  
  9022. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9023. {
  9024.     if (Data.HealthBonus < 50 || Data.AmmoMax < 25)
  9025.         return 0;
  9026.     else
  9027.         return Super.Cost(Data, CurrentLevel);
  9028. }
  9029.  
  9030. static function bool OverridePickupQuery(Pawn Other, Pickup item, out byte bAllowPickup, int AbilityLevel)
  9031. {
  9032.     local int HealMax;
  9033.  
  9034.     if (TournamentHealth(item) != None)
  9035.     {
  9036.         HealMax = TournamentHealth(item).GetHealMax(Other);
  9037.         if (Other.Health + TournamentHealth(item).HealingAmount < HealMax)
  9038.         {
  9039.             Other.GiveHealth(int(float(TournamentHealth(item).HealingAmount) * 0.25 * AbilityLevel), HealMax);
  9040.             bAllowPickup = 1;
  9041.             return true;
  9042.         }
  9043.     }
  9044.  
  9045.     return false;
  9046. }
  9047.  
  9048. {class AbilityShieldStrength extends RPGAbility
  9049.     abstract;
  9050.  
  9051. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9052. {
  9053.     if (Data.HealthBonus < 100)
  9054.         return 0;
  9055.     else
  9056.         return Super.Cost(Data, CurrentLevel);
  9057. }
  9058.  
  9059. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  9060. {
  9061.     if (xPawn(Other) != None)
  9062.         xPawn(Other).ShieldStrengthMax = xPawn(Other).default.ShieldStrengthMax + 25 * AbilityLevel;
  9063. }
  9064.  
  9065. d
  9066. class AbilityRetaliate extends RPGAbility
  9067.     abstract;
  9068.  
  9069. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9070. {
  9071.     if (Data.Defense < 50)
  9072.         return 0;
  9073.     else
  9074.         return Super.Cost(Data, CurrentLevel);
  9075. }
  9076.  
  9077. static function HandleDamage(int Damage, Pawn Injured, Pawn Instigator, out vector Momentum, class<DamageType> DamageType, bool bOwnedByInstigator, int AbilityLevel)
  9078. {
  9079.     if (bOwnedByInstigator || DamageType == class'DamTypeRetaliation' || Injured == Instigator || Instigator == None)
  9080.         return;
  9081.  
  9082.     Instigator.TakeDamage(int(float(Damage) * (0.05 * AbilityLevel)), Injured, Instigator.Location, vect(0,0,0), class'DamTypeRetaliation');
  9083. }
  9084.  
  9085. i //Regeneration ability
  9086. class AbilityRegen extends RPGAbility
  9087.     abstract;
  9088.  
  9089. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9090. {
  9091.     if (Data.HealthBonus < 30 * (CurrentLevel + 1))
  9092.         return 0;
  9093.     else
  9094.         return Super.Cost(Data, CurrentLevel);
  9095. }
  9096.  
  9097. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  9098. {
  9099.     local RegenInv R;
  9100.     local Inventory Inv;
  9101.  
  9102.     if (Other.Role != ROLE_Authority)
  9103.         return;
  9104.  
  9105.     //remove old one, if it exists
  9106.     //might happen if player levels up this ability while still alive
  9107.     Inv = Other.FindInventoryType(class'RegenInv');
  9108.     if (Inv != None)
  9109.         Inv.Destroy();
  9110.  
  9111.     R = Other.spawn(class'RegenInv', Other,,,rot(0,0,0));
  9112.     R.RegenAmount = AbilityLevel;
  9113.     R.GiveTo(Other);
  9114. }
  9115.  
  9116. qclass AbilityReduceSelfDamage extends RPGAbility
  9117.     abstract;
  9118.  
  9119. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9120. {
  9121.     if (Data.HealthBonus < 50 || Data.Defense < 25)
  9122.         return 0;
  9123.     else
  9124.         return Super.Cost(Data, CurrentLevel);
  9125. }
  9126.  
  9127. static function HandleDamage(int Damage, Pawn Injured, Pawn Instigator, out vector Momentum, class<DamageType> DamageType, bool bOwnedByInstigator, int AbilityLevel)
  9128. {
  9129.     if (Injured != Instigator || !bOwnedByInstigator || DamageType == class'Fell')
  9130.         return;
  9131.  
  9132.     //Kind of hack-y, but better than allowing abilities to directly modify the damage, which would introduce all sorts of "Who gets to go first?" types of problems
  9133.     if (Instigator.ShieldStrength > 0)
  9134.         Instigator.ShieldStrength += int(float(Damage) * 0.15 * AbilityLevel);
  9135.     else
  9136.         Instigator.Health += int(float(Damage) * 0.15 * AbilityLevel);
  9137. }
  9138.  
  9139. Xclass AbilityReduceFallDamage extends RPGAbility
  9140.     abstract;
  9141.  
  9142. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9143. {
  9144.     if (Data.HealthBonus < 50)
  9145.         return 0;
  9146.     else
  9147.         return Super.Cost(Data, CurrentLevel);
  9148. }
  9149.  
  9150. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  9151. {
  9152.     Other.MaxFallSpeed = Other.default.MaxFallSpeed * (1.0 + 0.25 * float(AbilityLevel));
  9153. }
  9154.  
  9155. N/class AbilityNoWeaponDrop extends RPGAbility
  9156.     abstract;
  9157.  
  9158. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9159. {
  9160.     if (Data.Level < 25)
  9161.         return 0;
  9162.     else
  9163.         return Super.Cost(Data, CurrentLevel);
  9164. }
  9165.  
  9166. static function bool PreventDeath(Pawn Killed, Controller Killer, class<DamageType> DamageType, vector HitLocation, int AbilityLevel, bool bAlreadyPrevented)
  9167. {
  9168.     local OldWeaponHolder OldWeaponHolder;
  9169.  
  9170.     if (bAlreadyPrevented || Killed.Weapon == None || Vehicle(Killed) != None)
  9171.         return false;
  9172.  
  9173.     if (Killed.Controller != None)
  9174.         Killed.Controller.LastPawnWeapon = Killed.Weapon.Class;
  9175.     Killed.Weapon.DetachFromPawn(Killed);
  9176.  
  9177.     if (AbilityLevel > 1)
  9178.     {
  9179.         OldWeaponHolder = Killed.spawn(class'OldWeaponHolder',Killed.Controller);
  9180.         OldWeaponHolder.Weapon = Killed.Weapon;
  9181.         Killed.DeleteInventory(Killed.Weapon);
  9182.         OldWeaponHolder.Weapon.SetOwner(Killed.Controller); //this forces the weapon to stay relevant to the player who will soon reclaim it
  9183.         if (RPGWeapon(OldWeaponHolder.Weapon) != None)
  9184.             RPGWeapon(OldWeaponHolder.Weapon).ModifiedWeapon.SetOwner(Killed.Controller);
  9185.         OldWeaponHolder.AmmoAmounts[0] = OldWeaponHolder.Weapon.AmmoAmount(0);
  9186.         OldWeaponHolder.AmmoAmounts[1] = OldWeaponHolder.Weapon.AmmoAmount(1);
  9187.     }
  9188.  
  9189.     Killed.Weapon = None;
  9190.  
  9191.     return false;
  9192. }
  9193.  
  9194. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  9195. {
  9196.     local OldWeaponHolder OldWeaponHolder;
  9197.     //local Ammunition Ammo;
  9198.  
  9199.     if (Other.Role != ROLE_Authority || AbilityLevel < 2)
  9200.         return;
  9201.  
  9202.     foreach Other.DynamicActors(class'OldWeaponHolder', OldWeaponHolder)
  9203.         if (OldWeaponHolder.Owner == Other.Controller)
  9204.         {
  9205.             /*if (OldWeaponHolder.Weapon.Ammo[0] != None)
  9206.             {
  9207.                 Ammo = Ammunition(Other.FindInventoryType(OldWeaponHolder.Weapon.Ammo[0].Class));
  9208.                 if (Ammo != None)
  9209.                 {
  9210.                     Ammo.AddAmmo(OldWeaponHolder.Weapon.Ammo[0].AmmoAmount);
  9211.                     OldWeaponHolder.Weapon.Ammo[0].Destroy();
  9212.                 }
  9213.                 else
  9214.                 {
  9215.                     OldWeaponHolder.Weapon.Ammo[0].GiveTo(Other);
  9216.                     OldWeaponHolder.Weapon.Ammo[0].AmmoAmount -= OldWeaponHolder.Weapon.Ammo[0].InitialAmount;
  9217.                 }
  9218.             }
  9219.             if (OldWeaponHolder.Weapon.Ammo[1] != None && OldWeaponHolder.Weapon.Ammo[1] != OldWeaponHolder.Weapon.Ammo[0])
  9220.             {
  9221.                 Ammo = Ammunition(Other.FindInventoryType(OldWeaponHolder.Weapon.Ammo[1].Class));
  9222.                 if (Ammo != None)
  9223.                 {
  9224.                     Ammo.AddAmmo(OldWeaponHolder.Weapon.Ammo[1].AmmoAmount);
  9225.                     OldWeaponHolder.Weapon.Ammo[1].Destroy();
  9226.                 }
  9227.                 else
  9228.                 {
  9229.                     OldWeaponHolder.Weapon.Ammo[1].GiveTo(Other);
  9230.                     OldWeaponHolder.Weapon.Ammo[1].AmmoAmount -= OldWeaponHolder.Weapon.Ammo[1].InitialAmount;
  9231.                 }
  9232.             }*/
  9233.             OldWeaponHolder.Weapon.GiveTo(Other);
  9234.             OldWeaponHolder.Weapon.AddAmmo(OldWeaponHolder.AmmoAmounts[0] - OldWeaponHolder.Weapon.AmmoAmount(0), 0);
  9235.             OldWeaponHolder.Weapon.AddAmmo(OldWeaponHolder.AmmoAmounts[1] - OldWeaponHolder.Weapon.AmmoAmount(1), 1);
  9236.             OldWeaponHolder.Weapon = None;
  9237.             OldWeaponHolder.Destroy();
  9238.             return;
  9239.         }
  9240. }
  9241.  
  9242. +class AbilityListFont extends GUIFont;
  9243.  
  9244. Mclass AbilityJumpZ extends RPGAbility
  9245.     abstract;
  9246.  
  9247. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9248. {
  9249.     if (Data.Level < 10 * (CurrentLevel + 1))
  9250.         return 0;
  9251.     else
  9252.         return Super.Cost(Data, CurrentLevel);
  9253. }
  9254.  
  9255. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  9256. {
  9257.     Other.JumpZ = Other.default.JumpZ * (1.0 + 0.1 * float(AbilityLevel));
  9258. }
  9259.  
  9260. `class AbilityHoarding extends RPGAbility
  9261.     abstract;
  9262.  
  9263. static function bool AbilityIsAllowed(GameInfo Game, MutUT2004RPG RPGMut)
  9264. {
  9265.     if (Game.IsA('Invasion'))
  9266.         return false;
  9267.  
  9268.     return true;
  9269. }
  9270.  
  9271. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9272. {
  9273.     if ( Data.WeaponSpeed < 5 || Data.HealthBonus < 5 || Data.AdrenalineMax < 105
  9274.          || Data.Attack < 5 || Data.Defense < 5 || Data.AmmoMax < 5)
  9275.         return 0;
  9276.     else
  9277.         return Super.Cost(Data, CurrentLevel);
  9278. }
  9279.  
  9280. static function bool OverridePickupQuery(Pawn Other, Pickup item, out byte bAllowPickup, int AbilityLevel)
  9281. {
  9282.     local Inventory Inv;
  9283.  
  9284.     if ( (TournamentHealth(item) != None && Other.Health >= TournamentHealth(item).GetHealMax(Other))
  9285.          || (ShieldPickup(item) != None && Other.ShieldStrength == Other.GetShieldStrengthMax()) )
  9286.     {
  9287.         //The item won't allow the pickup no matter what we return, and we can't rely on simply reducing
  9288.         //Other's health or shield (due to some items having bSuperHeal and others not) so force it manually
  9289.         item.AnnouncePickup(Other);
  9290.                 item.SetRespawn();
  9291.         return true;
  9292.     }
  9293.  
  9294.     if (Ammo(item) != None)
  9295.     {
  9296.         Inv = Other.FindInventoryType(item.InventoryType);
  9297.         if (Inv != None && Ammunition(Inv).AmmoAmount == Ammunition(Inv).MaxAmmo)
  9298.             Ammunition(Inv).AmmoAmount -= 1; //force allowed to be picked up by reducing Other's ammo amount (most compatible way)
  9299.     }
  9300.  
  9301.     return false;
  9302. }
  9303.  
  9304. R class AbilityGhost extends RPGAbility
  9305.     abstract;
  9306.  
  9307. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9308. {
  9309.     local int x;
  9310.  
  9311.     if (Data.HealthBonus < 200 || Data.Defense < 100)
  9312.         return 0;
  9313.     for (x = 0; x < Data.Abilities.length; x++)
  9314.         if (Data.Abilities[x] == class'AbilityUltima')
  9315.             return 0;
  9316.  
  9317.     return Super.Cost(Data, CurrentLevel);
  9318. }
  9319.  
  9320. static function bool PreventDeath(Pawn Killed, Controller Killer, class<DamageType> DamageType, vector HitLocation, int AbilityLevel, bool bAlreadyPrevented)
  9321. {
  9322.     local GhostInv Inv;
  9323.     local Vehicle V;
  9324.  
  9325.     if (Killed.Location.Z < Killed.Region.Zone.KillZ)
  9326.         return false;
  9327.  
  9328.     //spacefighters destroy all their inventory on possess, so if we do anything here it will never die
  9329.     //because our marker will get destroyed afterward
  9330.     if ( Killed.IsA('ASVehicle_SpaceFighter')
  9331.          || (Killed.DrivenVehicle != None && Killed.DrivenVehicle.IsA('ASVehicle_SpaceFighter')) )
  9332.         return false;
  9333.  
  9334.     //this ability doesn't work with SVehicles or any kind of turret (can't change their physics)
  9335.     if (Killed.bStationary || Killed.IsA('SVehicle'))
  9336.     {
  9337.         //but maybe we can save the driver!
  9338.         V = Vehicle(Killed);
  9339.         if (V != None && !V.bRemoteControlled && !V.bEjectDriver && V.Driver != None)
  9340.             V.Driver.Died(Killer, DamageType, HitLocation);
  9341.         return false;
  9342.     }
  9343.  
  9344.     Inv = GhostInv(Killed.FindInventoryType(class'GhostInv'));
  9345.     if (Inv != None)
  9346.         return false;
  9347.  
  9348.     //ability won't work if pawn is still attached to the vehicle
  9349.     if (Killed.DrivenVehicle != None)
  9350.     {
  9351.         Killed.Health = 1; //so vehicle will properly kick pawn out
  9352.         Killed.DrivenVehicle.KDriverLeave(true);
  9353.     }
  9354.  
  9355.     Inv = Killed.spawn(class'GhostInv', Killed,,, rot(0,0,0));
  9356.     Inv.OwnerAbilityLevel = AbilityLevel;
  9357.     Inv.GiveTo(Killed);
  9358.     return true;
  9359. }
  9360.  
  9361. static function bool PreventSever(Pawn Killed, name boneName, int Damage, class<DamageType> DamageType, int AbilityLevel)
  9362. {
  9363.     local GhostInv Inv;
  9364.  
  9365.     Inv = GhostInv(Killed.FindInventoryType(class'GhostInv'));
  9366.     if (Inv != None)
  9367.         return false;
  9368.  
  9369.     return true;
  9370. }
  9371.  
  9372. |class AbilityFastWeaponSwitch extends RPGAbility
  9373.     abstract;
  9374.  
  9375. static function bool AbilityIsAllowed(GameInfo Game, MutUT2004RPG RPGMut)
  9376. {
  9377.     if (RPGMut.WeaponModifierChance <= 0)
  9378.         return false;
  9379.  
  9380.     return true;
  9381. }
  9382.  
  9383. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9384. {
  9385.     if (Data.WeaponSpeed < 50)
  9386.         return 0;
  9387.     else
  9388.         return Super.Cost(Data, CurrentLevel);
  9389. }
  9390.  
  9391. static simulated function ModifyWeapon(Weapon Weapon, int AbilityLevel)
  9392. {
  9393.     local float Modifier;
  9394.     local RPGWeapon RW;
  9395.  
  9396.     if (!Weapon.Instigator.IsLocallyControlled())
  9397.         return;
  9398.  
  9399.     Modifier = 1.0 + (0.5 * AbilityLevel);
  9400.     RW = RPGWeapon(Weapon);
  9401.     if (RW != None)
  9402.     {
  9403.         RW.ModifiedWeapon.BringUpTime = RW.ModifiedWeapon.default.BringUpTime / Modifier;
  9404.         RW.ModifiedWeapon.PutDownTime = RW.ModifiedWeapon.default.PutDownTime / Modifier;
  9405.         RW.ModifiedWeapon.MinReloadPct = RW.ModifiedWeapon.default.MinReloadPct / Modifier;
  9406.         RW.ModifiedWeapon.PutDownAnimRate = RW.ModifiedWeapon.default.PutDownAnimRate * Modifier;
  9407.         RW.ModifiedWeapon.SelectAnimRate = RW.ModifiedWeapon.default.SelectAnimRate * Modifier;
  9408.     }
  9409.     else
  9410.     {    Weapon.BringUpTime = Weapon.default.BringUpTime / Modifier;
  9411.         Weapon.PutDownTime = Weapon.default.PutDownTime / Modifier;
  9412.         Weapon.MinReloadPct = Weapon.default.MinReloadPct / Modifier;
  9413.         Weapon.PutDownAnimRate = Weapon.default.PutDownAnimRate * Modifier;
  9414.         Weapon.SelectAnimRate = Weapon.default.SelectAnimRate * Modifier;
  9415.     }
  9416. }
  9417.  
  9418. Cclass AbilityCounterShove extends RPGAbility
  9419.     abstract;
  9420.  
  9421. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9422. {
  9423.     if (Data.Defense < 50)
  9424.         return 0;
  9425.     else
  9426.         return Super.Cost(Data, CurrentLevel);
  9427. }
  9428.  
  9429. static function HandleDamage(int Damage, Pawn Injured, Pawn Instigator, out vector Momentum, class<DamageType> DamageType, bool bOwnedByInstigator, int AbilityLevel)
  9430. {
  9431.     local float MomentumMod;
  9432.  
  9433.     if (bOwnedByInstigator || DamageType == class'DamTypeRetaliation' || Injured == Instigator || Instigator == None)
  9434.         return;
  9435.  
  9436.     //negative values to reverse direction
  9437.     if (AbilityLevel < 5)
  9438.         MomentumMod = - (0.25 * AbilityLevel);
  9439.     else
  9440.         MomentumMod = -1.50;
  9441.  
  9442.     Instigator.TakeDamage(0, Injured, Instigator.Location, (Momentum * Injured.Mass) * MomentumMod, class'DamTypeRetaliation');
  9443. }
  9444.  
  9445. @class AbilityAwareness extends RPGAbility
  9446.     abstract;
  9447.  
  9448. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9449. {
  9450.     if ( Data.WeaponSpeed < 5 || Data.HealthBonus < 5 || Data.AdrenalineMax < 105
  9451.          || Data.Attack < 5 || Data.Defense < 5 || Data.AmmoMax < 5)
  9452.         return 0;
  9453.     else
  9454.         return Super.Cost(Data, CurrentLevel);
  9455. }
  9456.  
  9457. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  9458. {
  9459.     local PlayerController PC;
  9460.     local int x;
  9461.     local AwarenessInteraction I;
  9462.  
  9463.     if (Other.Level.NetMode == NM_DedicatedServer)
  9464.         return;
  9465.  
  9466.     PC = PlayerController(Other.Controller);
  9467.     if (PC == None)
  9468.         return;
  9469.  
  9470.     for (x = 0; x < PC.Player.LocalInteractions.length; x++)
  9471.         if (AwarenessInteraction(PC.Player.LocalInteractions[x]) != None)
  9472.         {
  9473.             I = AwarenessInteraction(PC.Player.LocalInteractions[x]);
  9474.             break;
  9475.         }
  9476.     if (I == None)
  9477.         I = AwarenessInteraction(PC.Player.InteractionMaster.AddInteraction("UT2004RPG.AwarenessInteraction", PC.Player));
  9478.     I.AbilityLevel = AbilityLevel;
  9479. }
  9480.  
  9481. H class AbilityAmmoRegen extends RPGAbility
  9482.     abstract;
  9483.  
  9484. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9485. {
  9486.     if (Data.AmmoMax < 50)
  9487.         return 0;
  9488.     else
  9489.         return Super.Cost(Data, CurrentLevel);
  9490. }
  9491.  
  9492. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  9493. {
  9494.     local AmmoRegenInv R;
  9495.     local Inventory Inv;
  9496.  
  9497.     if (Other.Role != ROLE_Authority)
  9498.         return;
  9499.  
  9500.     //remove old one, if it exists
  9501.     //might happen if player levels up this ability while still alive
  9502.     Inv = Other.FindInventoryType(class'AmmoRegenInv');
  9503.     if (Inv != None)
  9504.         Inv.Destroy();
  9505.  
  9506.     R = Other.spawn(class'AmmoRegenInv', Other,,,rot(0,0,0));
  9507.     R.RegenAmount = AbilityLevel;
  9508.     R.GiveTo(Other);
  9509. }
  9510.  
  9511. d
  9512. ╙]Stat Improvement$333=H$═╠╠=v╙b╙t╙RSE
  9513. t class AbilityAirControl extends RPGAbility
  9514.     abstract;
  9515.  
  9516. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9517. {
  9518.     if (Data.Level < 10 * (CurrentLevel + 1))
  9519.         return 0;
  9520.     else
  9521.         return Super.Cost(Data, CurrentLevel);
  9522. }
  9523.  
  9524. //Bots only use this ability to a limited extent, so reduce chance of them buying it
  9525. static function int BotBuyChance(Bot B, RPGPlayerDataObject Data, int CurrentLevel)
  9526. {
  9527.     if (static.Cost(Data, CurrentLevel) > 0)
  9528.     {
  9529.         if (CurrentLevel < 1)
  9530.             return default.BotChance;
  9531.         else
  9532.             return default.BotChance - 1;
  9533.     }
  9534.     else
  9535.         return 0;
  9536. }
  9537.  
  9538. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  9539. {
  9540.     if (Other.Role != ROLE_Authority)
  9541.         return;
  9542.  
  9543.     Other.AirControl = class'DMMutator'.default.AirControl * (1.0 + 0.50 * float(AbilityLevel));
  9544. }
  9545.  
  9546. uclass AbilityAdrenalineSurge extends RPGAbility
  9547.     abstract;
  9548.  
  9549. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9550. {
  9551.     if (Data.AdrenalineMax < 150 || Data.Attack < 50)
  9552.         return 0;
  9553.     else
  9554.         return Super.Cost(Data, CurrentLevel);
  9555. }
  9556.  
  9557. static function ScoreKill(Controller Killer, Controller Killed, bool bOwnedByKiller, int AbilityLevel)
  9558. {
  9559.     if (!bOwnedByKiller)
  9560.         return;
  9561.  
  9562.     if (Killed.Level.Game.IsA('Invasion') && Killed.Pawn != None && Killed.Pawn.IsA('Monster'))
  9563.     {
  9564.         Killer.AwardAdrenaline(float(Killed.Pawn.GetPropertyText("ScoringValue")) * 0.5 * AbilityLevel);
  9565.         return;
  9566.     }
  9567.  
  9568.     if ( !(!Killed.Level.Game.bTeamGame || ((Killer != None) && (Killer != Killed) && (Killed != None)
  9569.         && (Killer.PlayerReplicationInfo != None) && (Killed.PlayerReplicationInfo != None)
  9570.         && (Killer.PlayerReplicationInfo.Team != Killed.PlayerReplicationInfo.Team))) )
  9571.         return;    //no bonus for team kills or suicides
  9572.  
  9573.     if (UnrealPlayer(Killer) != None && UnrealPlayer(Killer).MultiKillLevel > 0)
  9574.         Killer.AwardAdrenaline(Deathmatch(Killer.Level.Game).ADR_MajorKill * 0.5 * AbilityLevel);
  9575.  
  9576.     if (UnrealPawn(Killed.Pawn) != None && UnrealPawn(Killed.Pawn).spree > 4)
  9577.         Killer.AwardAdrenaline(Deathmatch(Killer.Level.Game).ADR_MajorKill * 0.5 * AbilityLevel);
  9578.  
  9579.     if ( Killer.PlayerReplicationInfo.Kills == 1 && TeamPlayerReplicationInfo(Killer.PlayerReplicationInfo) != None
  9580.          && TeamPlayerReplicationInfo(Killer.PlayerReplicationInfo).bFirstBlood )
  9581.         Killer.AwardAdrenaline(Deathmatch(Killer.Level.Game).ADR_MajorKill * 0.5 * AbilityLevel);
  9582.  
  9583.     if (Killer.bIsPlayer && Killed.bIsPlayer)
  9584.         Killer.AwardAdrenaline(Deathmatch(Killer.Level.Game).ADR_Kill * 0.5 * AbilityLevel);
  9585. }
  9586.  
  9587. r class AbilityAdrenalineRegen extends RPGAbility
  9588.     abstract;
  9589.  
  9590. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9591. {
  9592.     if (Data.AdrenalineMax < 100 + 25 * (CurrentLevel + 1))
  9593.         return 0;
  9594.     else
  9595.         return Super.Cost(Data, CurrentLevel);
  9596. }
  9597.  
  9598. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  9599. {
  9600.     local AdrenRegenInv R;
  9601.     local Inventory Inv;
  9602.  
  9603.     if (Other.Role != ROLE_Authority)
  9604.         return;
  9605.  
  9606.     //remove old one, if it exists
  9607.     //might happen if player levels up this ability while still alive
  9608.     Inv = Other.FindInventoryType(class'AdrenRegenInv');
  9609.     if (Inv != None)
  9610.         Inv.Destroy();
  9611.  
  9612.     R = Other.spawn(class'AdrenRegenInv', Other,,,rot(0,0,0));
  9613.     R.RegenAmount = AbilityLevel;
  9614.     R.GiveTo(Other);
  9615. }
  9616.  
  9617. ]98Data reset is PERMANENT! You will LOSE all your levels!_T*┤▄ Z]UT2HeaderFont$═╠╠>$B]Are you SURE?_T*┤▄ Z]UT2HeaderFont$ffµ>$BΘ
  9618. @F╘xF G]    ]_    t    _    a_    F_    CCⁿ   u_■   C_■   U]J_■   G_■   N_■   __    z]m_    JC²   C]a_    T_    [C·   t    _    V _■   ECⁿ   I~ⁿ   [_    HC²   F_±   @_■   ~_    OJ⌠   _    T_■   D_■   KCⁿ   z_    o_    T_    w]D
  9619. _■   E_    ~_÷   e_÷   yC√   [_    o_┘   Y_    K C≡   {G²   xC√   @_■   n_    yC·   E_÷   dC·   TC╙   s_÷   \Cⁿ   c_±   JC█   aKⁿ   fUⁿ   !]eE√   Q_    P]V_    ]JΓ   [A╝   ZE⌠   __ε   u_    `E╫   u
  9620. _┘   ]_    }C≥   h_    S_■   A_┴   L_ε   p_    t_    v_    s_ε   |_÷   gA¼   \K≡   vD²   y_    aD≡   sC²   TG√   ]E∞   nCα   bJΓ   {_ε   }_±   UJ⌠   _ε   AD·   C~ⁿ   `CΣ   E_ε   @_ε   F~φ   L\╫   h_    xUⁿ   _    VC╓   `Dⁿ   U_÷   f_■   K_±   lG┌   5_÷   p_■   \E√   N_÷   pAⁿ   J_±   zG┌   L_ε   ~Cà   CA╟   H_╛   _÷   oUφ   YA╜   F_÷   j _    @Dⁿ   } ]{]t_    m]z_    cn≥   DCΩ   TC·   IC≡   ~_    AE·   RC²   w_    pD√   c_ε   ^_÷   PD∞   xC┼   MCµ   uD²   _ní   yC²   C~ⁿ   ^Dφ   iC≡   x_±   qDµ   Xní   sE√   R    _÷   C_    p_    xK√   T]U_÷   JC·   HC²   BUⁿ   _    RE≥   b_ε   EU≥   J⌠   NDφ   []WDß    _    bDφ   jnα   yJ╟   lD╩   wD·   T_■   |C∞   IDµ   [|⌠   K_4   e_±   rDß   
  9621. Cÿ   X]3   }D²   AU«   o]\_┴   N_÷   DEⁿ   XCΓ   V_ε   DD∞   ^
  9622. _÷   q]|]yCô   `_    BG┌   _Uⁿ   NCⁿ   zEJ   I]PUû   XDⁿ   mDⁿ   d_±   gD┐   P~½   VC≥   E_╛   zG≥   j]z   A]O   wC·   DD╓   i],   UEµ   QU≥   MU≥   _{   jDφ   \n╢   aUⁿ   CC▄   r|ⁿ   aCë   YUû   }Eⁿ   \U»   ZEµ   X    2   VD▄   J\∞   [_÷   mE∞   AGy   k_╛   A_    bC┼   NCΓ   GCⁿ   IE╠   wC█   p]z   uKⁿ   gD√   vCµ   FDÄ   CUm   }]T_x   wD√   bEⁿ   kE²   rD²   CC·   FDß   _    J_±   LUM   |D√   PGQ   mC∞   HD√   K]<   ]    Sφ■  _D√   aD√   OG╥   ZU≥   N]D_±   n_┘   ]Dµ   VDµ   \U⌠   hU⌠   y_    vD┐   O_{   k_    Q_    __╛   BE√   k    2   FC╟   X]o~½   U~½   I_ε   C_    DU╠   ^Cⁿ   vK½   kG}   LEⁿ   x\É   q Eü   XDⁿ   e_    `Kφ   UCⁿ   |C╕   {|ⁿ   e~│   bU»   QU»   uC≡   }E╤   {Dⁿ   Z_■   J~5   cn∞   fC▄   t_÷   DUφ   \_÷   uCY   QD²   zD√   d]░■  A    A█   q_    ODΣ   _Kⁿ   g]`D▒   UGç   Z_±   wCµ   I_┴   KKⁿ   ;_x   s    2"   @]╫■  S    2º■  G]<   ^D²   rC·   qGé   ~E·   J~·   GKY   `Eµ   YEµ   T_    cU√   eU⌐■  }_x   p_x   qU√   | A   H_{   lJ⌠   K₧   }K₧   QK₧   ZU╢   \U√   a\╢   Y K₧   {J⌠    J⌠   ~î■   ~ö■  H_ε   N_ε   EEⁿ   @U√   G╠   Ln¥   yU√   jUm   yU√   MEⁿ   a Eⁿ   hU√   {Uⁿ   v _ε   Kw   tCΓ   {Uⁿ   r \√   i~√   UUⁿ   V    k?   |    k?   {    lq■  n]ⁿ■  rE╟   vU√   NU√   mUⁿ   Y_÷   uUⁿ   JG√   ZGJ   o\╟   g Uⁿ   {Jⁿ   ]Cf■  p\ë   r U√   U~~   VG╩   Eⁿ   _Eⁿ   ^D½   UE╓   a~ⁿ   tU╒   ZC½   @Uë   vDⁿ   gD╩   ]Eⁿ   {_÷   jC²   REî   ZD:   {U╒   bE·   MCÉ   PD²   @K≥   ^K√   ND²   {D²   B_÷   OG╒   W~≥   iD√   lCΩ   LE²   LE;   [E√   YE√   XK√   S~√   TD²   UU∞   l_╛   |E²   KEΓ   wU·   NE·   S    2"   CU   R    SÑ■  aUM   aC∞   FU∞   `U∞   D▌■  bU∞   Nn∞   HO╙■  M])■  n_Z   QC╙   r]YUΩ   V_±   qU╙   XU╙   `C█   JEƒ   UKƒ   nGα   r~Ω   y~│   JUº   NU«   _U«   N U«   hU«   |U«   mU«   H DB   VU╫   \DΣ   ~Uº   ~CU   A_±   LU≥   cK≥   l~≥   gCº   d~ò   ~r   tUº   P U╜   ]Uº   DUº   CC£■  pA╡   *G╡   WD╡   X~╡   R~╡   p
  9623. _    kE╡   `A╡   Y~²²  J╡   FE╤   QU╠   `U╠   U╠   rU╠   !C1   IDµ   sG╫   ]Eò   [Eò   OU╤   JDô   MGΓ   ^EΓ   w]IE╫   N    U╫   cE≥   |C╫   \U≥   bU╫   }Uφ   ZUº   v
  9624. Cφ   OEα   qCΣ   cEΩ   |Cµ■  X_±   KC┼   ODΩ   VCΣ   bE╫   O    _±   HDΣ   ^~Ω   xEΣ   `DΣ   _±   IU╫   'Uº   t ~│   IDΣ   ]G≤■  X~Ω   z~│   HGb   xG(   tEα   pD¡■  DÄ   }Gb   A~│   FU»   vU╙   h
  9625. E│   f    2   vU╙   K
  9626. E▄   [    2    _C≡   r]V_Z   K    2Z   S_Z   RU╙   z _Z   P_Z   N_Z   M_Z   LO╙■  N]ⁿ■  U    d,■  XE1   Q    2"   EE▄   `D·   aU∞   \]z   x    2«²  D    2   BU   J    SÑ■  `E·   KU·   \ ]ⁿ■  m]w    Sª²  xU∞   D]GE·   LE▄   \U√   o_╛   @EU   FU√   cU√   zD       C_╛   {D²   |_╛   y]ú²  GD²       iτ■  F    iτ■  {    iτ■  ED²   uE²   HE▒   YE²   dU√   ~E²   aE²   _C▒   c    i┐²  v    k?   z    iº²  l    k?       i╡²  tE²   ^]HU√   n_÷   qU√   C|²   qU√   5U√   JE▄   GU√   LU√   OU√   U√   [E√   WU√   ZU√   :CÉ   aD≡   ^U5   F UΩ   WU√   yU√   MU√   @EΓ   xE·   _U√   @U√   d_    uEÉ   eU√   eU╒   VU√   ADⁿ   S
  9627. DÉ   hU╒   `U╓   w U√   BU√   mDⁿ   ~_÷   sDⁿ   }
  9628. U√   `U√   EE╒   R_÷   KEⁿ   yU√   FU╒   \U√   GU√   dU√   _U^   F _÷   l U√   DD    |U√   yU╓   hU╓   S~É   WU½   EÉ   gEⁿ   sU√   k~~   WU√   OEl   K Dë   ~U√   HU√   VU═■  WnÉ   }_÷   EC½   vC╣■  zEÉ   fU√   QUd■  U═■  XU√   cU√   NU√   OUⁿ   IU√   \Uh■  JU√   IEë   nU√   KU√   LU√   OU√   HUY   tU√   QU√   w    d,■  k    iτ■  u    k?   ~U√   CU√   tU√   Uⁿ   p U√   aU√   DU√   gEⁿ   zEⁿ   GU√   h_ε   BCⁿ   SUⁿ   I
  9629. Eⁿ   L~ⁿ   `E╠   oUφ   UCⁿ   oUⁿ   /Dⁿ   sU√   iEⁿ   BU√   ^G¥   QU√   fnm   [
  9630. Uw■  }n²  U√   Gµ   O_ε   R    S╓ⁿ  kE√   VU√   PDï■  Dï■  U√   TE╥   bU√   AU╢   OU╢   GD╢   fE╢   \\╢   FE╢   [G╢   eC╢   gGσ■  `D╢   dU╢   ^ U√   pU╢   O U√   qU√   PU╢   E U╢   Q UÄ■  XU√   PU√   fGC   hDC   iU√   RU√   rU⌠   rU√   SC▐■  ^U√   l_    i_    ^_    KU√   cU√   [U√   x C⌐■  vU√   b    2   WD╡   -]ε²  ]    2╪ⁿ  J]e_■   O    2!   ^]O   W    k╙ⁿ  [    2!   Z    2!   ]    2!   \    2!   Y    2!   __■   nU√   y    S╡■  a]O   A        k╔ⁿ  X    S╡■  O    rä²  L    Sù²  H    S╡■  bîs\^ΓêjzπÄif+JΣàW\9pÅ¥mL╔îr    c\╔êW╩┘xInL╦êmU╣êNTc╣êjq╣ïI╣╩|]L║ï{ i╔ë@u╔ê'Mu╩ê(mB╦╬aP╦êm^╦êrl╦ê¢[z╦ê'mG╠⌐X    uT╠╬~aI╒¥HW╒ï@e╒ê2Mr╒ïs @╓ïcL╓ê^E[╓╬\h╓êÑmw╓êìRE╫êì@R╫╬a_╫ï'
  9631.  n╫╬uz╫ït I╪ï
  9632. U╪╙jsb╪ïÅyUδê^Tbδê╔}pδärm~δïe kφêèrwφê<GEεê}Sεêîjaεùtoεïp~εêì}K∩ïqY∩ïèB f∩╬~us∩êå[A≡╬BN≡ïü
  9633. ]≡êsj≡ê%ey≡ï~sG±ê°RT±ê'mb±êèTp±ïT }±│I≥êmV≥ï@ d≥ïnp≥│}≥ê╦}J≤ï▀IX≤ê'Qe≤ïs≤ï
  9634.  @⌠ê═SL⌠≤k\ Z⌠ê3nv ê⌡GDÇïc
  9635.  SÇêà@_ÇêèCmÇïƒ
  9636.  {Çïr Güêg@SüêæQaüê;@nüê,F|üïì
  9637. JéêSGWéêKQdéêréïV@âêèBMâêN[âï~r hâïo tâê}m@äïeNäê+{[äïdiäê}väïCàíNtPàê╤}]àê╘kà¿vxà╬MLGå╬MA    Våê}eå╬╜Wså¥ñmBç¥úmQçêQ_çê°@mçïc{çíNyHêï
  9638. Uêê1zbêêToêêCQ}êσV    qJëê1F{ïêHQIîï2
  9639. Vîïÿ
  9640. cîê+MpîïV~î╬|KìïîLZì¿èK gìí1cvìë "CÄ╬]eÄïD@tÄê╜XAÅêGOÅ¿»b]Åê<GkÅêæyÅïgGÉê%QTÉêûQbÉïp
  9641. pÉêàR}ÉêwKæï?Yæí¢c fæï╢iræïj æê#QKÆêprYÆêì~fÆïå
  9642. tÆïLAôê▒GNôïÉ
  9643.  [ô╣YSgôêSQzÖê▄lHÜê╒mXÜïè
  9644. fÜê┤GsÜíüf@¢ê╒QM¢êG[¢Änsh¢ê╔e[¥ïY h¥Äk_
  9645. t¥ïî
  9646. S¿ï╟i `¿ê¿xl¿êÿQ{¿êÿmI⌐ê═}V⌐╬DRd⌐ï`s⌐ê▄I@¬êGN¬ê▀Q\¬ïhi¬ï~v¬ïïL C½êàIO½ï~o^½ïn@k½êox½Ä{NF¼╬mwT╜ïµ
  9647.  c╜ï│@ o╜ê(a{╜êgrI╛ê<dV╛ê2hd╛ê<br╛í-O @┐╬¬hL┐ê╪m[┐¥èSk┐¿îVy┐êìmH└ïm
  9648.  V└ê┤ob└ïQp└ï4
  9649. }└ï≈
  9650. J┴íüeW┴ê}d┴ï@r┴ïì@┴ïiL┬êQY┬ï@g┬Äqbt┬ïîV╞ê%mc╞ï(j q╞äp|~╞ïèFz╔¥╜YG╩ê⌡U╩êgnc╩ê┼Qp╩ïf~╩êoPK╦ï╞iY╦ênf╦ë█ SAt╦ê┼u╧íIF
  9651. C╨ê«[P╨ïó@ ^╨ïìyj╨ï¬gw╨ê}QD╤ê╛QR╤ï┤
  9652. `╤êìQm╤ïèV {╤│[C G╥êUgS╥ê«Qa╥êmo╥ïüI}╥ê┤mJ╙êMX╙êQmf╙êÖgt╙ê┼@B╘êMP╘êÿd^╘ê▄Mm╘ïÑo{╘êÿlH╒≈XEW╒êmv\σê▄GlσïCyσê8FFµê╦STµêÿcµê▀Gqµï#@ µï@
  9653.  Kτïr
  9654.  Wτ╬#A    cτê#mrτê#G@ΦêrdNΦ╬%A    ]Φï%@kΦ¥RxΦï~nFΘ¥TSΘêóg`Θê+QnΘê≈m}Θê≈oKΩ¥èRYΩ╬3jgΩïΓ@ vΩê╒dBδê╒GQδêne_δ╬Emδí¬x|δêGQI∞êçmW∞¥3he∞ê╒r∞êQ@φêMφ╬m[φ¿DyjφêUMyφëZ"Gεê.QiεêwεiXE∩êDG]≈ê╪Sk≈ï
  9655. y≈ïÿnF°ùkS°ê╦e`°êäMm°ê;e{°ï▄IH∙ê4QU∙ê▓Md∙¥ìmr∙¿3i@·ïüO·ê⌐I\·ïüj·êÿGw·│m E√ê#eQ√êàm_√ï~t m√¥^iy√ê~Gⁿê2TUⁿê%Gcⁿï~Tqⁿï~p~ⁿí^hK²í^dX²ïw e²ï~Iq²êS@~²êâmL■ïà
  9656. Y■í2x f■╬'Yr■êbA ê║@O ê'[] ï~ej ëW#w Ä[    ]ZÇï~qwéê~QDâê∩MRâê2G`âí^foâùàG|âÄZ    lIäÄmyuëí9nïêzg{ïê≈}Iîê+GWîêèEdîïâ
  9657. rî╬3hîäH    fNì╬gPtÉ¿∙FCæïÇ
  9658.  Ræê≈M^æê4Glæ lhzæ┼XHbòíσL jùê;Qvùù▀JEÿíä\ Rÿ├ue^ÿí3fC£ïh@ P£ê┬R\£êèj£ùÑgw£¥ÿTD¥ê▄QR¥í┼~`¥êïMm¥êDQ{¥ê╧QI₧êàHV₧¿àK c₧¡G    m r₧ê┤M_½êoQm½ï
  9659. {½ëδ'mH¼ïSu«»D    OB»ê╨QQ▒ï▄c_▒ï¢
  9660. n▒êI[{▒╥\~/J▓êmHΓêΩSVΓï@cΓêRQpΓêπI}Γï╒
  9661.  Kπê┤}Wπêb]eπ¿┤usπïï
  9662. BΣêÆcOΣê┤Q\ΣêçgjΣêÆxΣêI\Fσ±WsTσêüTcσ¥╒TrσêÉS@µêMMµï«I[µ±[shµêOwµïæ
  9663. Dτïç
  9664.  Qτêüh]τíclτê6myτïë
  9665. GΦê═eTΦêUQaΦïp?nΦêU{Φï°g IΘêîcUΘêNRcΘíqqΘï@ ~Θù$jJΩê$AWΩï,k gΩênssΩïn BδêXNδê@]δïikδcP}xδêJyδê uG∞í¿f U∞ï(k a∞╬MMn∞ï%\}∞ï(l Jφï    
  9666.  Wφï@ cφ¿≈uoφïMA
  9667. ~φïM    Kεê≥mXεê≥Geεê╒lsεï6
  9668.  B∩ï?
  9669.  N∩ët#Z∩êâ@}∩│WC K≡íÑnW≡ùÑf d≡êàlp≡êÑj≡¥^dM±ï^@[±êpMh±êjv±êuD≥¥àRR≥êƒD`≥╙^yo≥êöuh⌡ïüLv⌡êæC÷ê¬RP÷│]÷êëGj÷¿ïVw÷êçMF≈êºgT≈íåZ b≈ê╡mn≈ï╡
  9670.  |≈ê~mH°ÄvaU°êèDv∙ïr
  9671.  D·ênfP·êü{_·ê╦ul·ïuz·ï╦x G√ïx S√ïÄ
  9672.  _√ëK$k√ïë} OⁿëLI[ⁿù╜Yd²ï╜Ts²ï^S @■ê<{L■ê:zY■í1~f■¿VNs■ï
  9673.  A ï    @ M ï≡
  9674.  Y ê«me ï▓i s ù¬F  ê¬BKÇêLGZÇêîmhÇë±a=uÇê{mrü¥«F@éï{Néù~[éí^whé¥^ué¿8ACâ¥ÿVQâïÆ `âï¬B lâêÑZyâïîYHä¿ûVUäê█}cäíÿBpäêƒQ}äêïZKàê╛MZàê╛hàíÿpvàê₧gCåù₧H QåêïQ]å∙£A jåù▀Ivåê¢GCçïjQç¥═T^çê═Mlç┼{pzçëA%jï¿┼yOîï}]îêσGjîê╤Dxîê╨MFìï_Tìù╘`aìí╘snìï╘i{ìêáMHĽepVÄùGF½ùîW S½¥╒V_½í╒Bn½ë|%{½ï}
  9675.  `¼í╒pl¼êúmy¼ê∞lG¡¿#K U¡ï╪n c¡ï╪
  9676. o¡ï+B |¡êºMI«¥ºRW«í1N d«ê≥lp«│M}«│M J»ê1OV»í2td»ï3B q»¿ºK ~»ïºp M░ê╨jY░ïºxf░ê∩Zs░ùpN B▒ùsN▒ïoL[▒¿<Ph▒¥<Rw▒│∙K E▓ïo`Q▓ê₧j^▓│Rk▓╬4Sx▓ê∩QF│ïn@ S│ï▓g _│¥<bk│í N y│¿+hE┤¿'ZS┤ê{Mb┤ê⌠mp┤│gM ~┤ê
  9677. PJ╡í%]X╡ê_e╡ïy
  9678. s╡¿
  9679. K @╢¥jN╢╤wW\╢ê Ts╣ùa A║ê∞bM║ùl [║ênHg║íbpu║¥b\B╗ê_GP╗ï▄g^╗ï? k╗íNBw╗àGD╝êWK╛êQX╛ïve╛êZr╛íKi A┐ïzM┐ê╪mZ┐í3oh┐í3pu┐ïbnB└ê<MO└┴F ]└êAhv└ê    mC┴ëxuQ┴ï<U F├ê=RR├ïCQ`├»E    Lm├êCcy╞ïün G╟êMS╟»C    ^a╟ïa╩ïHQL╦í[Y╦íKf╦êHcs╦ù} A╠│@M╠¿IK Z╠ï╪ai╠∙/A v╠│rB═ïIO═íIm\═êMi═ï.n w═ë╘cJC╬ï²aM╤ïmZ╤ê²mg╤¥'
  9680. u╤¥'C╥êgeQ╥ê⌡G^╥K    cl╥êheO╪ê╜V]╪ëΩ\?l╪ïñ[k┘êiex┘╬╜UE┌M    L    T┌ëΩw`π╤}tWσíQRKΦêjXΦêmeΦ¿SPsΦê╟mCΘê┬w
  9681. QΘ¥Rb_Θ¥ mΘ¥{Θ¥
  9682. IΩïWS WΩïwLcΩê┬@pΩïDn ~Ω│ym Jδê∙jVδ∙LA dδï_pδ│$N
  9683.  }δ¥
  9684. SI∞¥
  9685. RW∞í%ge∞S    br∞U    jT⌡ï╪c ~·ï
  9686. B J√ê(oW√ê(pf√╤tWu√íO L ï gX êpe ¥Zt ïi BÇ    ù╚SNÇ    êM\Ç    ê(qjÇ    ù≈f yÇ    │+gEü    ê■gRü    ê{_`ü    ê2Gmü    ê-m|ü    ê(rJé    ï_S Yé    ê(seé    ê4Wté    êºRBâ    ïoR Pâ    ïoQ\â    ï«aiâ    ê«mvâ    ítDä    ê(tQä    ê≥M`ä    ïpnnä    ùN{ä    ùMHà    í<s Uà    ïoaà    ï╨ynà    ïß[{à    ê(uHå    ùåYWå    ê▐Mdå    Y    Jrå    ïδa|î    êδmIì    ëm%Wì    ïMK|ì    ê#GIÄ    í╫O WÄ    ï╨i cÄ    ïKoÄ    ïÿ? |Ä    ù(H HÅ    │╟x    TÅ    ¿ÿIbÅ    ]    _ qÅ    ¥ P£    ùY^£    ¥k£    ë_#y£    ¥
  9687. \¥    ï╨nj¥    ¿âK w¥    ïâB F₧    ∙â}S₧    êG`₧    ê£mn₧    ¥S|₧    ±ÅBJƒ    íûc Xƒ    ï^M dƒ    ïσB pƒ    ¥╤X}ƒ    ïûnJá    ù═PWá    ïadá    ïSqá    êßM~á    ï Lí    êöTXí    ùÿafí    ê▀Msí    êÉmAó    ï┼nOó    ê▀[\ó    ï█B jó    ù▄Iwó    ù╟JDú    ±mbQú    êEQaú    í╔i oú    íNu {ú    íNtGñ    ï╝iTñ    ï╛n añ    ±çZmñ    êñI{ñ    í╛IÑ    ù┴H VÑ    ù┤f bÑ    ï╢^nÑ    íµs{Ñ    i    xHª    ¥Ñb@╡    ⌠ NO╡    íî]]╡    ê\mj╡    ê▒Qx╡    ¥^fF╢    ïçaT╢    δ Ea╢    íDr╢    ùîz ╢    V K╖    êòWJ├    êçmX├    ùæ|f├    ïìs├    ┴J @─    êìAX─    í^pf─    ï\as─    ê`M@┼    ïüg N┼    ù Z┼    êcmf┼    ¥ìFt┼    ïg B╞    ¥ìeN╞    ùc \╞    ïB h╞    ëσ b2u╞    êxMg╟    êtmu╟    êüzC╚    äx_Q╚    ïîtp═    ïpg}═    ├}uJ╬    ïta╧    τSL╨    ├wO_╒    ΦA~n╫    ïxg l█    CCx█    zpE{▌    Ep@ß    ï{apπ    Gq}π    ùgGnτ    Hy{τ    ùñz t∞    êT@φ    IuNφ    MfC∩    ¿K i≥    Sux≥    ùLm°    Tez°    ïgg_■    ïcal■    τjRy■    ï`g Ké
  9688. ¥^
  9689. Wé
  9690. Ureé
  9691. ¿¬K Wä
  9692. ¥¬Seä
  9693. ¥¬Rsä
  9694. ê¬rAà
  9695. ¥^ Oà
  9696. ê░[]à
  9697. ëb#jà
  9698. ê░MMå
  9699. ¥ÑZ[å
  9700. ¥ÑUjå
  9701. êƒMyå
  9702. êƒ[Gç
  9703. ¥ÑTUç
  9704. ïïgcç
  9705. ±WHpç
  9706. ïQaç
  9707. êM{Lê
  9708. ΓZqZê
  9709. êE@Kè
  9710. ¥mgYè
  9711. ï;ggè
  9712. ≈[}tè
  9713. ¥;RqÅ
  9714. ¿;K Å
  9715. ïÉaNÉ
  9716. ]P[É
  9717. ïöB k¥
  9718. ¥═Qx¥
  9719. ¥═RF₧
  9720. ê;RT₧
  9721. ízsb₧
  9722. í]o₧
  9723. ≡`O|₧
  9724. êÆ[Kó
  9725. êÆMYó
  9726. ¿öK gó
  9727. ╒aQvó
  9728. ùöLG⌐
  9729. ╤bST⌐
  9730. ïög g¡
  9731. ï╤is¡
  9732. ï^@«
  9733. ï£aM«
  9734. ±ìBZ«
  9735. δdfh«
  9736. ï` N░
  9737. ï6aZ░
  9738. ïág g░
  9739. ¬f~s░
  9740. ┴dq╕
  9741. ê╓MJ╣
  9742. ïúaX╣
  9743. ïïe╣
  9744. í╓r╣
  9745. ╤hd╣
  9746. ê┌@c╝
  9747. ë3M"q╝
  9748. êßkS╜
  9749. ±ºZa╜
  9750. ïºgo╜
  9751. êßj|╜
  9752. êΘ@J╛
  9753. │3E  X╛
  9754. ï3}    d╛
  9755. │u q╛
  9756. ï1g}╛
  9757. ï-aJ┐
  9758. ê)jW┐
  9759. ï╡ae┐
  9760. ï║gr┐
  9761. ù L┐
  9762. ¿ K L└
  9763. │|M [└
  9764. ë¿M"g└
  9765. êyJI┴
  9766. ¥ SW┴
  9767. íse┴
  9768. ù║Gr┴
  9769. ¿┴p ┴
  9770. ï┴z
  9771. N┬
  9772. ¿wV[┬
  9773. ïwI j┬
  9774. í┴y
  9775. v┬
  9776. ïsLC├
  9777. ¿sVP├
  9778. ípO ^├
  9779. ïqLj├
  9780. ïqo w├
  9781. ù┬MC─
  9782. ïaP─
  9783. ï╟a]─
  9784. í⌐O j─
  9785. êñkv─
  9786. ï╦B D┼
  9787. êñjQ┼
  9788. ¿[_┼
  9789. êMn┼
  9790. ├~T|┼
  9791. ¥&eP╩
  9792. ¥' ]╩
  9793. ê╦Tj╩
  9794. ïgx╩
  9795. ¿╦K E╦
  9796. êPT╦
  9797. íIB b╦
  9798. ù╦Lo╦
  9799. ïa|╦
  9800. íI@
  9801. I╠
  9802. │I V╠
  9803. │J c╠
  9804. ëa%p╠
  9805. ╤B    nU═
  9806. ï╦gC╧
  9807. │P
  9808.  P╧
  9809. í3l\╧
  9810. ïgi╧
  9811. ê=Sv╧
  9812. ¥bQC╨
  9813. ï    aQ╨
  9814. êb[^╨
  9815. │ sl╨
  9816. ïg y╨
  9817. ùGc E╤
  9818. êmQ╤
  9819. │¬u    _╤
  9820. ù⌡| m╤
  9821. êbMy╤
  9822. »F    uG╥
  9823. ê╜h |╒
  9824. ¥╜e J╓
  9825. ¥LbY╓
  9826. ¥Lhg╓
  9827. zJ    }v╓
  9828. τnc)s┘
  9829. êPW\┌
  9830. φnD2i┌
  9831. │¬~ [█
  9832. ù°Mh█
  9833. zL    |u█
  9834. τ$c)q▐
  9835. ï∙[Z▀
  9836. φ$D6g▀
  9837. zQ    v]α
  9838. ïSO Sπ
  9839. íQQ _π
  9840. τ(])kπ
  9841. êPTΣ
  9842. íRMaΣ
  9843. êMnΣ
  9844. íMx |Σ
  9845. ênAHσ
  9846. ï⌠aXσ
  9847. êayeσ
  9848. ╟(dUtσ
  9849. zT    DIτ
  9850. ╟(eKMΩ
  9851. êazXδ
  9852. ╟(fLfδ
  9853. │msr∞
  9854. ùBP∞
  9855. ¥<QLφ
  9856. │fv    Zφ
  9857. ±@ihφ
  9858. s    cuφ
  9859. │fw    X⌠
  9860. zW    \e⌠
  9861. ê≥GA≈
  9862. ╟(gRO≈
  9863. ï(i a°
  9864. ¿3K n°
  9865. ¥3S|°
  9866. ¥3RJ∙
  9867. ê3rX∙
  9868. ï≥[f∙
  9869. ╟(hVs∙
  9870. ╟(iQI√
  9871. ê≥jZⁿ
  9872. ╟(jThⁿ
  9873. \    `|²
  9874. τ(k%\à ¿+K Aå ê≥kPå ï∩g^å ê+Gkå ê-Byå ï∞[Fç í)s Sç ëh%_ç ù(MDê ∙(qQê êvy^ê êvzmê │╟y    {ê ¥ 
  9875. Ië ¥ Wë ¥  eë τ(l%së ù|k Xè ^    hdè ¥╟O Læ êüQ[æ τ(m%hæ ë═ \lMÆ ¿K yô _    DHö ëd#LÜ ù| oÜ êG{Ü τ(n%I¢ ¿Fn¢ ¿K }¢ ê MK£ ïTaY£ ¥Rf£ êrt£ `    nB¥ ïB pí ís }í ï²iIó τ(o%Vó ê·T{ó a    xHú τ(p%@½ í≈L e½ í⌡sq½ ¥÷I~½ ¥÷JL¼ ¥÷KZ¼ b    Xg¼ ¿≡F▓ ùφ| N│ êφGZ│ êTmh│ ï∞i v│ τ(q5B┤ ïδi w┤ ï║[C╡ ë@:P╡ │¥z     J╢ ¥█SV╢ ï»[d╢ ï"q╢ c    W~╢ Φ(r{U╝ d    @P╛ ïP─ τ(s(]─ │E┼ e    IR┼ ê▄H[╥ │ì|    i╥ τ(t'w╥ ┼f    e^╙ ê╬MC╫ π(u/Q╫ g    z@╪ │ì~    z▌ π(v/G▐ ï├iv▐ ê─SC▀ ï└iP▀ ù¿k ]▀ êñ^i▀ h    wx▀ í╕c oµ ïÑ[{µ í╖c Hτ π(w/Tτ êízCΦ êíyQΦ ¥ìG`Φ π(x/mΦ j    ]    \Θ π(y/y≥ k    kh≤ π(z/S· l    Y    B√ êë^[ä ïEijä τ(IDwä m    Q{à ï░i Lî ¥«eXî ï»ifî τ█,sî p    Y_ì τ█@+xÆ ê¿Gcô êªGpô q    X }ô ë╔
  9876. Z9Uá ïëiNí íës[í ùë`hí τ█A)uí ïáE ^ó ï¢Fjó ╬zQwó ïB Hº êrUº ¥Rcº ¥Sqº ¿K º ¥¢GM¿ ¥¢R[¿ ïÖR i¿ ëⁿ P1u¿ ë≤ f-f⌐ ë╙ O8S¬ ë═ p-K½ ë╧ q-x½ ùíd e¼ ù¢d q¼ ë╩ N1}¼ ë╧
  9877. y9n¡ ë╔ cng« ùëd U▓ ùóda▓ ùºd n▓ ë╫b>z▓ ë╨ P/x│ ë± ^1g┤ ù½d X╡ ëφ /|d╡ ëΓ [/`╣ ë≈ oO║ ù»d ~╗ ë└MpJ╝ ëσe2z─ ëß c1l┼ ùEd ]╞ ëΘ| Gi╞ ë▌ lMp╩ ës^}╠ ë■jA[╤ ë╩
  9878. :n\╥ ë┘ r1J╓ ë╪ R1{╓ ù╢d l╫ ë²    nyx╫ ë     C-q┌ ë┴
  9879. 5f^█ ù┴dD▌ ï╝d Q▌ ë┬
  9880. JP]▌ ë─
  9881. L2mπ ë╒ fr_Σ ï└d Qµ ë┼
  9882. O2]µ ë╘ PkOτ ù├d zΦ ë╨
  9883. M]FΘ ë┴ Ao    c∞ ù╞d R÷ ë╤
  9884. @5^÷ ë╪
  9885. e/S≈ ¿╩dB° ë╞ Q/P° ù╠d ° ëΣ    z2K∙ ëcj}∙ ù╬d gⁿ ëπ    c/sⁿ ù╤d b² ëα    o-n² ë] q[■ ë^ oLüë_ i{éë` mdäëb 6Qå⌡╔i2Gçë⌡ ┘}YyçëVfWgRèë  Tfyïê█G_É¥█RmÉë√~
  9886. {É¿█K y¢ës`KLG£¿ßFS¥ùµd b¥ùßd n¥ëV`Wzz¥ë∩ i9tóë├{-mú¥σRZñ¥σShñ¿σK vñëΣ h1EÑëß g1vÑëu^LUgª¥∩d|ºëα D/I¿ës^KVx¿¥⌠dN¬ê≡M[¬ù≡di¬ë▀ a/v¬ëf^Sze½ë▌ 7_│ë▄ t8V┤ë█ C-N╡ës\KS{╡ë╫ w1N╕ê∙M╕ù∙d M╣ëE\bFY╣ùd _║ù²d k║ëI\Z1w║ïih╗ísu╗ù`B╝ùd O╝ëf\S/[╝ë╓ Q/J╜ëF[aRy╜ë╘ H-K┐ëASx┐ë╤N+K┴ù d v┴ë╥m2B┬ësXKUt┬ùd I─êMU─ùdc─ë╥ L/p─ëuXLU_┼íd t╞ë╤ K/@╟ëVXWCo╟ïB r╬íd ╬ë╧ I/K╧¥Sz╧í1d H╨íd T╨ë╦ Oj`╨íd J╥ë╟
  9887. [dV╥¥ dz╘ë⌡ y8G╒ëqV\p╒í!d o╫ëVVWt{╫ï#B o┘ù(d|┘¥#RI┌¥#SW┌ë▌ULe┌ëfVSFq█±,dw▄ëVTWaD▌ë 
  9888. V/eαë■
  9889. H1Tߥ+REΓ¥+SSΓê1daΓë√
  9890. O`oΓë∙
  9891. k{OσëFRaZJΦë≥
  9892. y-dΘù6d QΩë≡
  9893. D/]Ωí8d Lδëφ
  9894. _/Xδí;d G∞ëA
  9895. -xcS∞ë∞
  9896. d/vεëf-Sj    e∩ù>d O∙ëδ
  9897. G/[∙ùd J·ëσ
  9898. E1V·ùBd G√ëΣ
  9899. `3S√ùFd Fⁿë-WbRⁿ¿Ddtâëα
  9900. m/Cä¿▒RräùId @àë▀
  9901. B/LàíKd {àë┌
  9902. A/Gåëσzvåë╒
  9903. d4pêë╛W!-dëë∞WfQèë╘
  9904. @1wîë╞
  9905. Ihìë╛^!-qÄë∞^N^ÅíUd lùë≥    ~/xùëN3gÿ¿VK ZÖ¥VShÖêºUvÖ¥VRDÜêVGRÜêoW`ÜïVB nÜù_d {ÜëGkG¢ëfNr£ë.L@ƒëε╜ELíëgoQ»ù≤d @╖ê≤ML╖¿≤FZ╖ër5i╖ëng^╕ëq5E║ëΘ╜C9z║ëΣ╜M's╗¥keZ╝ë╜]~g╝ërae┐ë∞╜TF─ëΩ╜uZ╞ën0O═ë╜D]═ëv0\╤ë╪╜N5L╥ëΣΘM&A╙¥ueg╙ëw=t╙ëz2q╘ëp    c╒ë╛╪!AS▀ëε╪TTαëE.hßê{[VΓëKKdΓë∞╪yoσë╪NmhΘë╛_!-U∞ë∞_WBφët9YεëLOR∩íåOa±ëΩr
  9906. n±ëΣºM'`ⁿ¥çeG²ëΩºXT²íëOl■ëFIy■ëGdBäën}fî¿╟hcÉëuo qÉë╛¬!|`¥ëAr\ƒëε¬]Nó¥öekñëΣMGxñëxFÑëlYEºë∞¬_^¬ë¬hm}½ë∞2j╗ëMH\╝ëi{
  9907. d╜ëσo_╚ù₧dN╬ë∩cb[╬ëεx}╧│mM u╘¥9BA╒¿ü|O╒ëpP]╒ëIYm╫ï7u F┌¿aR┌ï%u `┌¿al┌ë╚!jz┌ë±raSd▄ëΘC;w▌ëQar▐ë∞VSαë╟rAißëYkjΓë√r7Uµëε^tLτë├r{#@δù╖d cδë├lLoδï╖i{≥ê┤dH≤ëσre&V≤ù║d |≤ê║MH⌠ë╥rm&V⌠±╝i|⌠ëπ rx &I⌡ë╤N;o⌡ë╞nj÷ù├d X√∙├qd√í╛dq√ù├M~√ë▌rU&Kⁿ¥╞eqⁿë┼`v~ⁿë└rM&tàí┼dZå±╔dgåë┘
  9908. 0VU    uåí╦dJÉëΩ
  9909. 0\N WÉù═de¢ë▌
  9910. 0`K    r¢ù╤d}ñë╛z!KJÑëzV{Uªë∩0btP⌐ù╨dD░ù╘dQ░ëσ0ZS^░ë_█Mt
  9911. q╕ë╧z@e├ëi
  9912. █de─ë╒█XaI╞í╓d j╚ë╬z`;v╚⌡Ω3h2q╔í┌d c╩⌡≤z[2o╩ë╩▌R;a╦│ßd \╠ù▐d h╠ëd
  9913. 3\@t╠ëE3'ft═ë╛╨!gZ╨ëj3ZYA╥ë╧╨(Z╘êσMB╒íσP╒íσd ]╒ë╬╨`Bi╒ë╛3!sk╓íΘd ^╪ë╤    ╨\/j╪ï∞[Y┘ê∞jf┘ê∞kt┘│∞d B┌⌡≤╨[2N┌ë╒    ±JQ@█ù⌡d Q▌ê⌡{]▌ëU3aJk▌êju▐ë├₧ldB▀¿fhfσê≈dtσëφⁿ}KBµë╒ⁿXGMτ⌡Ωíh2TΦù■d FΘëY
  9914. ícJRΘëEí'@\ΩëΩ₧r\δíONφëjíZg[φ⌡╪₧g 2B≥ë╬ J\t≥êímP·ëφ }<]·ëp MRY√ëi
  9915. [k ë╒ XpFüëτ|vtvä⌡Ω¿h2jåëj¿ZX\çëφ}2tèë╒X2fïë∞WXî⌡▄|r 2oÆë╟ eaôíO FÖë÷
  9916. ïM RÖ⌡Ω┴h2_Ñëj┴Z|Qªëφ}cM¬ë╒X]p½⌡Ω┬h2M¡ëj┬Zp¡ëφ}Go▒êhPv│ë╒XiC┤ë╛g!El╡ë∞gRq╖⌡Ω∞h2C╝ëj∞ZMu╝│ñd B┴ë╪}PN┴ë╛,!-^┬ë∞,:K├ë╤,N:E─ëΣM6─ët
  9917. Bu┼ë╛▄!Aw╚ëΩ▄ox╔í)O g═ë∞▄%s═ùÖd X╬ù.dd╬ëP~q╬ëσMo╨ù╒d |╤ê╒{H╥ë╪    4\ ^V╥ëIjYt╙⌡╞ JJM█ë╙ 6XHW▐⌡≥Y 2_αë╟NKQßê=@\Γë╛I!BjΓë╤IN:lπ⌡IT }fΣë▐
  9918. ùw LcΘë╬ O Oo±ù<d~≥ëIRK≤ë╥ Q U]≈ë╠ ^ @r²êE@r ë≤
  9919. ùht íEWsâë╤ E $@äùCddäë≡\hqäë⌠
  9920. ùSeYçùKd~èùKXKïë┬ ORXïëε
  9921. xF `jÉùNdJÆë├ GrWÆêLdIùëHuXù⌡≤çq 1M£ë└ QWh~£ë╬µJAfƒë╒ ctjgá¥RdQñë╚ QX{_ñí]O Zªên|fªên]vªënw1EºêZ^vºùZd E¿ëΩsbQ¿ësZNs⌐ê$]A¼ëΘsC>Q¼ëµ$}BO¡ë∞╚%Q«ë÷╚]Jv«ë$w1@░êd^q░ùdd @▒ë$bpL▒ë╚F||▓ë▐ ╚p =x┤ë╛╚!Vu╡ë╚╚r MK╖│md X╕ë╠Mawd╕ë╬M|k[║ëMEPF╛ë∞MyV┼ëτ MI
  9922. ,O╔ë╛M!r{╔ê└Mm═êlL{═¿mA    H╬ë├(}UV╬ùxd k╨ëΦîH 3w╨ë(w1j╤êy^[╥ùyd j╥ë(aBv╥ë∞îgx╙ë(wx_ßê~^Wπù~d fπë(qjrπùâd\≤ëσîhvi≤ùàd_÷ëµî|M l÷ùçdyüëτîmxFéïèd~àë(kPKåë├îo[êùëdZáëΣîN Ngáëπî_puóë(`Se╗êædx╝ë(x^F╜ëî1gd└ë(D}K╞êÆ^H╚ùÆdW╚ë╛î!`d╚ë(ktD╩êû^x╠ùûdG═│Ñd T═ë(lW`═êÜ^w╬ùÜd F╧ë(DfR╧ê¥^x╨ù¥d G╤êÑlS╤ë├█}5a╤êÑkV╥êÑjd╥ë█^zr╥ë∩ìZ8l╘ùñdd╒¥¬dq╒ë█a0╒ê¬jo╓ëⁿìQ/}╓│»d l╫ê»lx╫ê»kF╪ê»jT╪ë∩¥Z1b╪│║d S┘ê%{_┘ê%jm┘ù%d {┘ê║lG┌êmU┌ê║kc┌ïd q┌ê║j}┌êT}K█ë∩╟Z=Y█¥╤dV▄ïTd d▄ê╤kp▄êàM~▄ïàg L▌ê╤jX▌ê4Ff▌ï4g t▌ër#@▐ê├ec▐ï├g q▐ën#}▐ê╞e`▀ï╞g n▀ï╤[z▀ï═B Gαê═TTαê═ubα¥═Spα¿═K ~αù═LMßï═g Zßë∙╟v(fßê²RNΓê²@\Γù²MjΓï²g wΓ│∞d Cπê5@Oπê5R]π¿5K kπ¥5Rzπï5gHΣù5GUΣù5d bΣê∞knΣê"@|Σ∙"}Jσï"B Wσ¿"K dσï"gsσù"d @µê∞jLµê∩MZµê∩ghµ±∩Zvµï∩gDτù∩d Qτë
  9923. M]τë∩fZkjΦ¥±dUΩïδd cΩëE
  9924.  [oΩê±jJφëⁿfQ/Xφë²fuUGε│∙d\∩ëêSi∩ê∙l|≡ê∙kJ±ï⌠d X±ë} ê_`
  9925. d±ë∩¬ZZDⁿ¥ⁿd^²êⁿjl²ëⁿ¬Q/z²ëäHi■êlq êk~ ï²d LÇëTä@OXÇê}güêjuüï[Céïd PéëEä c\éêGâë²╓u#MäëApä│ d qàë╠a_}àï    d \ÄëE [hÄë╬|wCæëΓN1zúë⌡P XkñëtJC┤ë{]M╡ë∞&j╖íOP╕ïd ]╕ëE{ _i╕ëΩEH╜ë∞t gM─¿dt╔ëERC╩ëEuU╠ëy@J╒ë~nJ╓ëiKx⌡ïd CàëMytiOàï B xçê A    Eêë°CSRêêA    eÄë≈DU    rÄêQYGÿë∞~uTÿê+dI│ëewA9W│ê){P┤ëp|^┤ù)d Z║ëwBf║ù2dh╗±2ju╗ï-d C╝ëtwdhO╝ë┌v
  9926. H w┬│US ╬ë╛!dK╧¥'mo╒ë(E}╒¿EB╪¿#aP╪ï6d^╪ï\ k╪ëu(|Zw╪êå]Q▀í>O ^▀ëΩm0j▀ë╤mN_Zαëm[Hyßù;GAσù;dNσë─mv +[σë╛m!8Fµëb(hE~µê╛wCΦ∙E}QΦïEB ^Φ¿EK kΦïEgzΦùEdGΘë┌ÑX~TΘëenA7Rδë┼    Ñz N I∞êMjWîùMd eîën^qîëÑk`OÅùWdoÉïQd |Éëo nmsHæíWs{öë·Ñh
  9927. pHò±UZx¢ïUgF£ùUdS£ë█Ñ`n`£ëfHNóë┌üX>Vúë²üK
  9928. KTñï\d _╣ëEf Mk╣ë█ü`[x║ó-y4W9S╝ë_@j⌡ócy4l j÷ó¬y4V<Véïcd l╛ëu_|tx╛ómy4^l─êgRJ█¿gK X█¥gRg█óºy4F u█óy4[`{µùgdV╟óSy4Lc╟ëE_ Co╚óOy4Ar╠óIy4})s═óÉy4:p≈ë[@j°óLy4:j∙óNy4=d·ïtd a√ëE[ Mm√óPy48zⁿóRy4Ar²ëYRsâóTy4v
  9929. EàóVy4i{Åï{d d₧ëMYtap₧óXy4~Qíó[y4tO╛ó\y4VC─¥SY╤ó^y4[g╤ó`y4uBφófy4Tw■ëKHKäó3y4@HSàóy4gôS═ïçd zαëEK [Fßóy4Mlaπó₧y4M0n╧óxy4J{ ó|y4dEç ëD@i₧ óîy4Zîiƒ óÇy4_C¼"ïÉd b┐"ëMDtNn┐"ó█y4V |┴"ó$y4w R╬"óçy4~I█"¥öSGδ"óïy4v&Uδ"óìy4z KÆ#ó¥y4CE₧#ë>@Hƒ#∙cQHá#óôy4`YÑ#ï£d yº#ëE> UE¿#ó0y4OaZ⌐#óùy4^1iè$ë3SG╝$óÑy4]yZ╜$¡ggw╢%ïúd ^╤%ëo 3m\j╤%óy4|ßF╘%ó¥y4wB╢(ó(y4Mjy╝(ózy4XFº)ùºd^╜)óMy4b@k╜)ë-HM■)óy4F3U )óny4B[▓*ï«d ]╖*ëE- ai╖*óy4BPJ║*ó_y4HLè+ë∙sTÅ+ó▄y4kGæ+ó╪y4}rú+ï╡do║+ó,y4o|║+ëu∙|Uk┬+óy4t%@┼+ê║RtΩ+¿║K Bδ+¥║RQδ+ó╟y4N_δ+ósy4ym°+ù║d fë,ë} ∙_nrë,óΘy4k`î,ófy4YKÅ,óy4u¼dƒ,ï┬g Y╠0ë@e╠0ó╜y4P^e═0ó¬y4s u½1ï╟d h╖1ëMt[t╖1ó╚y4BO║1óry4zQ╦1ó╨y4rK┌1¥╦S}∞1σ@    ZKφ1ó╓y4@e≥1óëy4Ae∙1óçy4Ff·1ëeÇAIl√1ê╘{uⁿ1ê╘jC²1ù╘d Q²1ëÇb]²1óày4A■1óµy4O@Ç2ï╪d Oä2ëEÇ S[ä2óüy4h6nê2ógy4kV┐2óδy4KA╥2╤╚Z[L╙2╤╚[[g╓2╤s[EB┌2╤LZ]Gα2╤OZt    dπ2╤O[E Xφ2╤Ob@ ]°2╤Oc
  9930. ]ä3÷Oiv\Å3÷OdARö3╤OenSÖ3╤Of^A¥3╤OgB_ƒ3÷OhZaú3óíy4{ª3ó±y4Fz║3ó¿y4r#@╝3ó⌡y4Kr▀3∙ (x1}α3ó┴y4Qnß3óy4Nⁿ3ó┬y4VM■3ó y4Dcì4ó∞y4igÄ4ó^y4|Pí4óWy4cL│4óy4R o╗4ó∙y4iA╟4ó-y4I    j┘4ó3y4p sΓ4ó>y4Fcε4óDy4o
  9931. i⌡4óKy4t XÇ5óYy4|Lî5ó[y4cHÜ5ó_y4Y/ká5ócy45D╨5ófy4Xy╨5óny4kQ╫5ó(y4] |φ5ówy4GYÄ6óyy4N`Ñ6ó{y4Kn▓6óy4S y┬6°(y;L╬6óäy4 G╧6óêy4@F▄6ó
  9932. y4} F≈6∞█{hCâ7∞█|>kä7ëΘ
  9933. F/ià7[Public]
  9934. Object=(Class=Class,MetaClass=Engine.Mutator,Name=UT2004RPG.MutUT2004RPG,Description="UT2004 with a persistent experience level system, magic weapons, and artifacts.")
  9935. Object=(Class=class,MetaClass=Xinterface.GUIUserKeyBinding,Name=UT2004RPG.UT2004RPGKeyBinding)
  9936. class RegenInv extends Inventory;
  9937.  
  9938. var int RegenAmount;
  9939.  
  9940. function PostBeginPlay()
  9941. {
  9942.     SetTimer(1.0, true);
  9943.  
  9944.     Super.PostBeginPlay();
  9945. }
  9946.  
  9947. function Timer()
  9948. {
  9949.     if (Instigator == None || Instigator.Health <= 0)
  9950.     {
  9951.         Destroy();
  9952.         return;
  9953.     }
  9954.  
  9955.     Instigator.GiveHealth(RegenAmount, Instigator.HealthMax);
  9956. }//An ability a player can buy with stat points
  9957. //Abilities are handled similarly to DamageTypes and LocalMessages (abstract to avoid replication)
  9958. class RPGAbility extends Object
  9959.     abstract;
  9960.  
  9961. var localized string AbilityName; //Shown in menus
  9962. var localized string Description; //Text shown when hit "Info" button for this ability
  9963. var int StartingCost, CostAddPerLevel, BotChance, MaxLevel;
  9964.  
  9965. /* Called by MutUT2004RPG during its first tick. Return false to be removed from ability list (for example, if the
  9966.  * ability doesn't make sense with the current gametype)
  9967.  * Also gives the ability a chance to modify the game or the mutator (for example, if the ability depends on an
  9968.  * additional mutator, you could add it here)
  9969.  */
  9970. static function bool AbilityIsAllowed(GameInfo Game, MutUT2004RPG RPGMut)
  9971. {
  9972.     return true;
  9973. }
  9974.  
  9975. /* The stat point cost to buy another level of this ability. Values less than 1 are interpreted to mean this ability cannot be currently bought
  9976.  * Do not reduce the cost of an ability based on the presence of other abilities - doing so will screw things up
  9977.  */
  9978. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  9979. {
  9980.     if (CurrentLevel < default.MaxLevel)
  9981.         return default.StartingCost + default.CostAddPerLevel * CurrentLevel;
  9982.     else
  9983.         return 0;
  9984. }
  9985.  
  9986. /* The chance a bot will buy this ability. You don't need to check for bots having enough points available -
  9987.  * if they don't, they'll automatically save up until they do.
  9988.  */
  9989. static function int BotBuyChance(Bot B, RPGPlayerDataObject Data, int CurrentLevel)
  9990. {
  9991.     if (static.Cost(Data, CurrentLevel) > 0)
  9992.         return default.BotChance;
  9993.     else
  9994.         return 0;
  9995. }
  9996.  
  9997. /* Modify the player's pawn. Called by MutUT2004RPG.ModifyPlayer() on the server side, and by
  9998.  * RPGStatsInv.Tick() on the client side on the first tick after everything has replicated
  9999.  */
  10000. static simulated function ModifyPawn(Pawn Other, int AbilityLevel);
  10001.  
  10002. /* Modify the owning player's current weapon. Called by RPGStatsInv whenever the player's weapon changes.
  10003.  */
  10004. static simulated function ModifyWeapon(Weapon Weapon, int AbilityLevel);
  10005.  
  10006. /* Modify the owning player's current vehicle. Called by MutUT2004RPG.DriverEnteredVehicle() serverside
  10007.  * and RPGStatsInv.ClientEnteredVehicle() clientside.
  10008.  */
  10009. static simulated function ModifyVehicle(Vehicle V, int AbilityLevel);
  10010.  
  10011. /* Remove any modifications to this vehicle, because the player is no longer driving it.
  10012.  */
  10013. static simulated function UnModifyVehicle(Vehicle V, int AbilityLevel);
  10014.  
  10015. /* React to damage about to be done to the injured player's pawn. Called by RPGRules.NetDamage()
  10016.  * Note that this is called AFTER the damage has been affected by Damage Bonus/Damage Reduction.
  10017.  * Also note that for any damage this is called on the abilities of both players involved.
  10018.  * Use bOwnedByInstigator to determine which pawn is the owner of this ability.
  10019.  */
  10020. static function HandleDamage(int Damage, Pawn Injured, Pawn Instigator, out vector Momentum, class<DamageType> DamageType, bool bOwnedByInstigator, int AbilityLevel);
  10021.  
  10022. /* React to a kill. Called by RPGRules.ScoreKill()
  10023.  */
  10024. static function ScoreKill(Controller Killer, Controller Killed, bool bOwnedByKiller, int AbilityLevel);
  10025.  
  10026. /* If this returns true, prevent Killed's death. Called by RPGRules.PreventDeath()
  10027.  * NOTE: If a GameRules before RPGRules prevents the death, this probably won't get called
  10028.  * bAlreadyPrevented will be true if a GameRules AFTER RPGRules, or an ability, has already prevented the death.
  10029.  * If bAlreadyPrevented is true, the return value of this function is ignored. This is called anyway so you have the
  10030.  * opportunity to prevent stacking of death preventing abilities (for example, by putting a marker inventory on Killed
  10031.  * so next time you know not to prevent his death again because it was already prevented once)
  10032.  */
  10033. static function bool PreventDeath(Pawn Killed, Controller Killer, class<DamageType> DamageType, vector HitLocation, int AbilityLevel, bool bAlreadyPrevented)
  10034. {
  10035.     return false;
  10036. }
  10037.  
  10038. /* If this returns true, prevent boneName from being severed from Killed. You should return true here anytime you will be
  10039.  * returning true to PreventDeath(), above, as otherwise you will have live pawns running around with no head and other
  10040.  * amusing but gameplay-damaging phenomenon.
  10041.  */
  10042. static function bool PreventSever(Pawn Killed, name boneName, int Damage, class<DamageType> DamageType, int AbilityLevel)
  10043. {
  10044.     return false;
  10045. }
  10046.  
  10047. /* Called by RPGRules.OverridePickupQuery() and works exactly like that function - if this returns true,
  10048.  * bAllowPickup determines if item can be picked up (1 is yes, any other value is no)
  10049.  * NOTE: The first function to return true prevents all further abilities in the player's ability list
  10050.  * from getting this call on that particular Pickup. Therefore, to maintain maximum compatibility,
  10051.  * return true only if you're actually overriding the normal behavior.
  10052.  */
  10053. static function bool OverridePickupQuery(Pawn Other, Pickup item, out byte bAllowPickup, int AbilityLevel)
  10054. {
  10055.     return false;
  10056. }
  10057.  
  10058. defaultproperties
  10059. {
  10060.     BotChance=5 //Chance bot will choose to buy this ability over others that are available to it. 0 is never.
  10061. }
  10062. class AbilityAdrenalineRegen extends RPGAbility
  10063.     abstract;
  10064.  
  10065. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10066. {
  10067.     if (Data.AdrenalineMax < 100 + 25 * (CurrentLevel + 1))
  10068.         return 0;
  10069.     else
  10070.         return Super.Cost(Data, CurrentLevel);
  10071. }
  10072.  
  10073. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  10074. {
  10075.     local AdrenRegenInv R;
  10076.     local Inventory Inv;
  10077.  
  10078.     if (Other.Role != ROLE_Authority)
  10079.         return;
  10080.  
  10081.     //remove old one, if it exists
  10082.     //might happen if player levels up this ability while still alive
  10083.     Inv = Other.FindInventoryType(class'AdrenRegenInv');
  10084.     if (Inv != None)
  10085.         Inv.Destroy();
  10086.  
  10087.     R = Other.spawn(class'AdrenRegenInv', Other,,,rot(0,0,0));
  10088.     R.RegenAmount = AbilityLevel;
  10089.     R.GiveTo(Other);
  10090. }
  10091.  
  10092. defaultproperties
  10093. {
  10094.     AbilityName="Adrenal Drip"
  10095.     Description="Gives 1 adrenaline per 5 seconds per level. Does not give adrenaline while performing a combo. You must have spent 25 points in your Adrenaline Max stat for each level of this ability you want to purchase. (Max Level: 3)"
  10096.     StartingCost=20
  10097.     CostAddPerLevel=5
  10098.     MaxLevel=3
  10099. }
  10100. class AbilityAdrenalineSurge extends RPGAbility
  10101.     abstract;
  10102.  
  10103. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10104. {
  10105.     if (Data.AdrenalineMax < 150 || Data.Attack < 50)
  10106.         return 0;
  10107.     else
  10108.         return Super.Cost(Data, CurrentLevel);
  10109. }
  10110.  
  10111. static function ScoreKill(Controller Killer, Controller Killed, bool bOwnedByKiller, int AbilityLevel)
  10112. {
  10113.     if (!bOwnedByKiller)
  10114.         return;
  10115.  
  10116.     if (Killed.Level.Game.IsA('Invasion') && Killed.Pawn != None && Killed.Pawn.IsA('Monster'))
  10117.     {
  10118.         Killer.AwardAdrenaline(float(Killed.Pawn.GetPropertyText("ScoringValue")) * 0.5 * AbilityLevel);
  10119.         return;
  10120.     }
  10121.  
  10122.     if ( !(!Killed.Level.Game.bTeamGame || ((Killer != None) && (Killer != Killed) && (Killed != None)
  10123.         && (Killer.PlayerReplicationInfo != None) && (Killed.PlayerReplicationInfo != None)
  10124.         && (Killer.PlayerReplicationInfo.Team != Killed.PlayerReplicationInfo.Team))) )
  10125.         return;    //no bonus for team kills or suicides
  10126.  
  10127.     if (UnrealPlayer(Killer) != None && UnrealPlayer(Killer).MultiKillLevel > 0)
  10128.         Killer.AwardAdrenaline(Deathmatch(Killer.Level.Game).ADR_MajorKill * 0.5 * AbilityLevel);
  10129.  
  10130.     if (UnrealPawn(Killed.Pawn) != None && UnrealPawn(Killed.Pawn).spree > 4)
  10131.         Killer.AwardAdrenaline(Deathmatch(Killer.Level.Game).ADR_MajorKill * 0.5 * AbilityLevel);
  10132.  
  10133.     if ( Killer.PlayerReplicationInfo.Kills == 1 && TeamPlayerReplicationInfo(Killer.PlayerReplicationInfo) != None
  10134.          && TeamPlayerReplicationInfo(Killer.PlayerReplicationInfo).bFirstBlood )
  10135.         Killer.AwardAdrenaline(Deathmatch(Killer.Level.Game).ADR_MajorKill * 0.5 * AbilityLevel);
  10136.  
  10137.     if (Killer.bIsPlayer && Killed.bIsPlayer)
  10138.         Killer.AwardAdrenaline(Deathmatch(Killer.Level.Game).ADR_Kill * 0.5 * AbilityLevel);
  10139. }
  10140.  
  10141. defaultproperties
  10142. {
  10143.     AbilityName="Adrenal Surge"
  10144.     Description="For each level of this ability, you gain 50% more adrenaline from all kill related adrenaline bonuses. You must have a Damage Bonus of at least 50 and an Adrenaline Max stat at least 150 to purchase this ability. (Max Level: 2)"
  10145.     StartingCost=20
  10146.     CostAddPerLevel=5
  10147.     MaxLevel=2
  10148. }
  10149. class AbilityAirControl extends RPGAbility
  10150.     abstract;
  10151.  
  10152. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10153. {
  10154.     if (Data.Level < 10 * (CurrentLevel + 1))
  10155.         return 0;
  10156.     else
  10157.         return Super.Cost(Data, CurrentLevel);
  10158. }
  10159.  
  10160. //Bots only use this ability to a limited extent, so reduce chance of them buying it
  10161. static function int BotBuyChance(Bot B, RPGPlayerDataObject Data, int CurrentLevel)
  10162. {
  10163.     if (static.Cost(Data, CurrentLevel) > 0)
  10164.     {
  10165.         if (CurrentLevel < 1)
  10166.             return default.BotChance;
  10167.         else
  10168.             return default.BotChance - 1;
  10169.     }
  10170.     else
  10171.         return 0;
  10172. }
  10173.  
  10174. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  10175. {
  10176.     if (Other.Role != ROLE_Authority)
  10177.         return;
  10178.  
  10179.     Other.AirControl = class'DMMutator'.default.AirControl * (1.0 + 0.50 * float(AbilityLevel));
  10180. }
  10181.  
  10182. defaultproperties
  10183. {
  10184.     AbilityName="Airmaster"
  10185.     Description="Increases your air control by 50% per level. You must be a Level equal to ten times the ability level you wish to have before you can purchase it. (Max Level: 4)"
  10186.     StartingCost=10
  10187.     CostAddPerLevel=5
  10188.     MaxLevel=4
  10189.     BotChance=4
  10190. }
  10191. class AbilityAmmoRegen extends RPGAbility
  10192.     abstract;
  10193.  
  10194. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10195. {
  10196.     if (Data.AmmoMax < 50)
  10197.         return 0;
  10198.     else
  10199.         return Super.Cost(Data, CurrentLevel);
  10200. }
  10201.  
  10202. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  10203. {
  10204.     local AmmoRegenInv R;
  10205.     local Inventory Inv;
  10206.  
  10207.     if (Other.Role != ROLE_Authority)
  10208.         return;
  10209.  
  10210.     //remove old one, if it exists
  10211.     //might happen if player levels up this ability while still alive
  10212.     Inv = Other.FindInventoryType(class'AmmoRegenInv');
  10213.     if (Inv != None)
  10214.         Inv.Destroy();
  10215.  
  10216.     R = Other.spawn(class'AmmoRegenInv', Other,,,rot(0,0,0));
  10217.     R.RegenAmount = AbilityLevel;
  10218.     R.GiveTo(Other);
  10219. }
  10220.  
  10221. defaultproperties
  10222. {
  10223.     AbilityName="Resupply"
  10224.     Description="Adds 1 ammo per level to each ammo type you own every 3 seconds. Does not give ammo to superweapons or the translocator. You must have a Max Ammo stat of at least 50 to purchase this ability. (Max Level: 4)"
  10225.     StartingCost=15
  10226.     CostAddPerLevel=5
  10227.     MaxLevel=4
  10228. }
  10229. class AbilityAwareness extends RPGAbility
  10230.     abstract;
  10231.  
  10232. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10233. {
  10234.     if ( Data.WeaponSpeed < 5 || Data.HealthBonus < 5 || Data.AdrenalineMax < 105
  10235.          || Data.Attack < 5 || Data.Defense < 5 || Data.AmmoMax < 5)
  10236.         return 0;
  10237.     else
  10238.         return Super.Cost(Data, CurrentLevel);
  10239. }
  10240.  
  10241. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  10242. {
  10243.     local PlayerController PC;
  10244.     local int x;
  10245.     local AwarenessInteraction I;
  10246.  
  10247.     if (Other.Level.NetMode == NM_DedicatedServer)
  10248.         return;
  10249.  
  10250.     PC = PlayerController(Other.Controller);
  10251.     if (PC == None)
  10252.         return;
  10253.  
  10254.     for (x = 0; x < PC.Player.LocalInteractions.length; x++)
  10255.         if (AwarenessInteraction(PC.Player.LocalInteractions[x]) != None)
  10256.         {
  10257.             I = AwarenessInteraction(PC.Player.LocalInteractions[x]);
  10258.             break;
  10259.         }
  10260.     if (I == None)
  10261.         I = AwarenessInteraction(PC.Player.InteractionMaster.AddInteraction("UT2004RPG.AwarenessInteraction", PC.Player));
  10262.     I.AbilityLevel = AbilityLevel;
  10263. }
  10264.  
  10265. defaultproperties
  10266. {
  10267.     AbilityName="Awareness"
  10268.     Description="Informs you of your enemies' health with a display over their heads. At level 1 you get a colored indicator (green, yellow, or red). At level 2 you get a colored health bar and a shield bar. You need to have at least 5 points in every stat to purchase this ability. (Max Level: 2)"
  10269.     StartingCost=20
  10270.     CostAddPerLevel=5
  10271.     MaxLevel=2
  10272.     BotChance=0 //this ability is useless to bots
  10273. }
  10274. class AbilityCounterShove extends RPGAbility
  10275.     abstract;
  10276.  
  10277. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10278. {
  10279.     if (Data.Defense < 50)
  10280.         return 0;
  10281.     else
  10282.         return Super.Cost(Data, CurrentLevel);
  10283. }
  10284.  
  10285. static function HandleDamage(int Damage, Pawn Injured, Pawn Instigator, out vector Momentum, class<DamageType> DamageType, bool bOwnedByInstigator, int AbilityLevel)
  10286. {
  10287.     local float MomentumMod;
  10288.  
  10289.     if (bOwnedByInstigator || DamageType == class'DamTypeRetaliation' || Injured == Instigator || Instigator == None)
  10290.         return;
  10291.  
  10292.     //negative values to reverse direction
  10293.     if (AbilityLevel < 5)
  10294.         MomentumMod = - (0.25 * AbilityLevel);
  10295.     else
  10296.         MomentumMod = -1.50;
  10297.  
  10298.     Instigator.TakeDamage(0, Injured, Instigator.Location, (Momentum * Injured.Mass) * MomentumMod, class'DamTypeRetaliation');
  10299. }
  10300.  
  10301. defaultproperties
  10302. {
  10303.     AbilityName="CounterShove"
  10304.     Description="Whenever you are damaged by another player, 25% of the momentum per level (or 150% at level 5) is also done to the player who hurt you. Will not CounterShove a CounterShove. You must have a Damage Reduction of at least 50 to purchase this ability. (Max Level: 5)"
  10305.     StartingCost=15
  10306.     CostAddPerLevel=0
  10307.     MaxLevel=5
  10308. }
  10309. class AbilityFastWeaponSwitch extends RPGAbility
  10310.     abstract;
  10311.  
  10312. static function bool AbilityIsAllowed(GameInfo Game, MutUT2004RPG RPGMut)
  10313. {
  10314.     if (RPGMut.WeaponModifierChance <= 0)
  10315.         return false;
  10316.  
  10317.     return true;
  10318. }
  10319.  
  10320. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10321. {
  10322.     if (Data.WeaponSpeed < 50)
  10323.         return 0;
  10324.     else
  10325.         return Super.Cost(Data, CurrentLevel);
  10326. }
  10327.  
  10328. static simulated function ModifyWeapon(Weapon Weapon, int AbilityLevel)
  10329. {
  10330.     local float Modifier;
  10331.     local RPGWeapon RW;
  10332.  
  10333.     if (!Weapon.Instigator.IsLocallyControlled())
  10334.         return;
  10335.  
  10336.     Modifier = 1.0 + (0.5 * AbilityLevel);
  10337.     RW = RPGWeapon(Weapon);
  10338.     if (RW != None)
  10339.     {
  10340.         RW.ModifiedWeapon.BringUpTime = RW.ModifiedWeapon.default.BringUpTime / Modifier;
  10341.         RW.ModifiedWeapon.PutDownTime = RW.ModifiedWeapon.default.PutDownTime / Modifier;
  10342.         RW.ModifiedWeapon.MinReloadPct = RW.ModifiedWeapon.default.MinReloadPct / Modifier;
  10343.         RW.ModifiedWeapon.PutDownAnimRate = RW.ModifiedWeapon.default.PutDownAnimRate * Modifier;
  10344.         RW.ModifiedWeapon.SelectAnimRate = RW.ModifiedWeapon.default.SelectAnimRate * Modifier;
  10345.     }
  10346.     else
  10347.     {    Weapon.BringUpTime = Weapon.default.BringUpTime / Modifier;
  10348.         Weapon.PutDownTime = Weapon.default.PutDownTime / Modifier;
  10349.         Weapon.MinReloadPct = Weapon.default.MinReloadPct / Modifier;
  10350.         Weapon.PutDownAnimRate = Weapon.default.PutDownAnimRate * Modifier;
  10351.         Weapon.SelectAnimRate = Weapon.default.SelectAnimRate * Modifier;
  10352.     }
  10353. }
  10354.  
  10355. defaultproperties
  10356. {
  10357.     AbilityName="Speed Switcher"
  10358.     Description="For each level of this ability, you switch weapons 50% faster. You need to have at least 50 Weapon Speed before you can purchase this ability. (Max Level: 2)"
  10359.     StartingCost=15
  10360.     CostAddPerLevel=5
  10361.     MaxLevel=2
  10362.     BotChance=3
  10363. }
  10364. class AbilityGhost extends RPGAbility
  10365.     abstract;
  10366.  
  10367. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10368. {
  10369.     local int x;
  10370.  
  10371.     if (Data.HealthBonus < 200 || Data.Defense < 100)
  10372.         return 0;
  10373.     for (x = 0; x < Data.Abilities.length; x++)
  10374.         if (Data.Abilities[x] == class'AbilityUltima')
  10375.             return 0;
  10376.  
  10377.     return Super.Cost(Data, CurrentLevel);
  10378. }
  10379.  
  10380. static function bool PreventDeath(Pawn Killed, Controller Killer, class<DamageType> DamageType, vector HitLocation, int AbilityLevel, bool bAlreadyPrevented)
  10381. {
  10382.     local GhostInv Inv;
  10383.     local Vehicle V;
  10384.  
  10385.     if (Killed.Location.Z < Killed.Region.Zone.KillZ)
  10386.         return false;
  10387.  
  10388.     //spacefighters destroy all their inventory on possess, so if we do anything here it will never die
  10389.     //because our marker will get destroyed afterward
  10390.     if ( Killed.IsA('ASVehicle_SpaceFighter')
  10391.          || (Killed.DrivenVehicle != None && Killed.DrivenVehicle.IsA('ASVehicle_SpaceFighter')) )
  10392.         return false;
  10393.  
  10394.     //this ability doesn't work with SVehicles or any kind of turret (can't change their physics)
  10395.     if (Killed.bStationary || Killed.IsA('SVehicle'))
  10396.     {
  10397.         //but maybe we can save the driver!
  10398.         V = Vehicle(Killed);
  10399.         if (V != None && !V.bRemoteControlled && !V.bEjectDriver && V.Driver != None)
  10400.             V.Driver.Died(Killer, DamageType, HitLocation);
  10401.         return false;
  10402.     }
  10403.  
  10404.     Inv = GhostInv(Killed.FindInventoryType(class'GhostInv'));
  10405.     if (Inv != None)
  10406.         return false;
  10407.  
  10408.     //ability won't work if pawn is still attached to the vehicle
  10409.     if (Killed.DrivenVehicle != None)
  10410.     {
  10411.         Killed.Health = 1; //so vehicle will properly kick pawn out
  10412.         Killed.DrivenVehicle.KDriverLeave(true);
  10413.     }
  10414.  
  10415.     Inv = Killed.spawn(class'GhostInv', Killed,,, rot(0,0,0));
  10416.     Inv.OwnerAbilityLevel = AbilityLevel;
  10417.     Inv.GiveTo(Killed);
  10418.     return true;
  10419. }
  10420.  
  10421. static function bool PreventSever(Pawn Killed, name boneName, int Damage, class<DamageType> DamageType, int AbilityLevel)
  10422. {
  10423.     local GhostInv Inv;
  10424.  
  10425.     Inv = GhostInv(Killed.FindInventoryType(class'GhostInv'));
  10426.     if (Inv != None)
  10427.         return false;
  10428.  
  10429.     return true;
  10430. }
  10431.  
  10432. defaultproperties
  10433. {
  10434.     AbilityName="Ghost"
  10435.     Description="The first time each spawn that you take damage that would kill you, instead of dying you will become non-corporeal and move to a new location, where you will continue your life. At level 1 you will move slowly as a ghost and return with a health of 1. At level 2 you will move somewhat more quickly and will return with 100 health. At level 3 you will move fastest and will return with your normal starting health. You need to have at least 200 Health Bonus and 100 Damage Reduction to purchase this ability. You can't have both Ghost and Ultima at the same time. (Max Level: 3)"
  10436.     StartingCost=25
  10437.     CostAddPerLevel=10
  10438.     MaxLevel=3
  10439. }
  10440. class AbilityHoarding extends RPGAbility
  10441.     abstract;
  10442.  
  10443. static function bool AbilityIsAllowed(GameInfo Game, MutUT2004RPG RPGMut)
  10444. {
  10445.     if (Game.IsA('Invasion'))
  10446.         return false;
  10447.  
  10448.     return true;
  10449. }
  10450.  
  10451. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10452. {
  10453.     if ( Data.WeaponSpeed < 5 || Data.HealthBonus < 5 || Data.AdrenalineMax < 105
  10454.          || Data.Attack < 5 || Data.Defense < 5 || Data.AmmoMax < 5)
  10455.         return 0;
  10456.     else
  10457.         return Super.Cost(Data, CurrentLevel);
  10458. }
  10459.  
  10460. static function bool OverridePickupQuery(Pawn Other, Pickup item, out byte bAllowPickup, int AbilityLevel)
  10461. {
  10462.     local Inventory Inv;
  10463.  
  10464.     if ( (TournamentHealth(item) != None && Other.Health >= TournamentHealth(item).GetHealMax(Other))
  10465.          || (ShieldPickup(item) != None && Other.ShieldStrength == Other.GetShieldStrengthMax()) )
  10466.     {
  10467.         //The item won't allow the pickup no matter what we return, and we can't rely on simply reducing
  10468.         //Other's health or shield (due to some items having bSuperHeal and others not) so force it manually
  10469.         item.AnnouncePickup(Other);
  10470.                 item.SetRespawn();
  10471.         return true;
  10472.     }
  10473.  
  10474.     if (Ammo(item) != None)
  10475.     {
  10476.         Inv = Other.FindInventoryType(item.InventoryType);
  10477.         if (Inv != None && Ammunition(Inv).AmmoAmount == Ammunition(Inv).MaxAmmo)
  10478.             Ammunition(Inv).AmmoAmount -= 1; //force allowed to be picked up by reducing Other's ammo amount (most compatible way)
  10479.     }
  10480.  
  10481.     return false;
  10482. }
  10483.  
  10484. defaultproperties
  10485. {
  10486.     AbilityName="Hoarding"
  10487.     Description="Allows you to pick up items even if you don't need them. You need to have at least 5 points in every stat to purchase this ability. (Max Level: 1)"
  10488.     StartingCost=25
  10489.     CostAddPerLevel=5
  10490.     MaxLevel=1
  10491. }
  10492. class AbilityJumpZ extends RPGAbility
  10493.     abstract;
  10494.  
  10495. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10496. {
  10497.     if (Data.Level < 10 * (CurrentLevel + 1))
  10498.         return 0;
  10499.     else
  10500.         return Super.Cost(Data, CurrentLevel);
  10501. }
  10502.  
  10503. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  10504. {
  10505.     Other.JumpZ = Other.default.JumpZ * (1.0 + 0.1 * float(AbilityLevel));
  10506. }
  10507.  
  10508. defaultproperties
  10509. {
  10510.     AbilityName="Power Jump"
  10511.     Description="Increases your jumping height by 10% per level. The Speed adrenaline combo will stack with this effect. You must be a Level equal to ten times the ability level you wish to have before you can purchase it. (Max Level: 3)"
  10512.     StartingCost=15
  10513.     CostAddPerLevel=5
  10514.     MaxLevel=3
  10515. }
  10516. class AbilityNoWeaponDrop extends RPGAbility
  10517.     abstract;
  10518.  
  10519. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10520. {
  10521.     if (Data.Level < 25)
  10522.         return 0;
  10523.     else
  10524.         return Super.Cost(Data, CurrentLevel);
  10525. }
  10526.  
  10527. static function bool PreventDeath(Pawn Killed, Controller Killer, class<DamageType> DamageType, vector HitLocation, int AbilityLevel, bool bAlreadyPrevented)
  10528. {
  10529.     local OldWeaponHolder OldWeaponHolder;
  10530.  
  10531.     if (bAlreadyPrevented || Killed.Weapon == None || Vehicle(Killed) != None)
  10532.         return false;
  10533.  
  10534.     if (Killed.Controller != None)
  10535.         Killed.Controller.LastPawnWeapon = Killed.Weapon.Class;
  10536.     Killed.Weapon.DetachFromPawn(Killed);
  10537.  
  10538.     if (AbilityLevel > 1)
  10539.     {
  10540.         OldWeaponHolder = Killed.spawn(class'OldWeaponHolder',Killed.Controller);
  10541.         OldWeaponHolder.Weapon = Killed.Weapon;
  10542.         Killed.DeleteInventory(Killed.Weapon);
  10543.         OldWeaponHolder.Weapon.SetOwner(Killed.Controller); //this forces the weapon to stay relevant to the player who will soon reclaim it
  10544.         if (RPGWeapon(OldWeaponHolder.Weapon) != None)
  10545.             RPGWeapon(OldWeaponHolder.Weapon).ModifiedWeapon.SetOwner(Killed.Controller);
  10546.         OldWeaponHolder.AmmoAmounts[0] = OldWeaponHolder.Weapon.AmmoAmount(0);
  10547.         OldWeaponHolder.AmmoAmounts[1] = OldWeaponHolder.Weapon.AmmoAmount(1);
  10548.     }
  10549.  
  10550.     Killed.Weapon = None;
  10551.  
  10552.     return false;
  10553. }
  10554.  
  10555. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  10556. {
  10557.     local OldWeaponHolder OldWeaponHolder;
  10558.     //local Ammunition Ammo;
  10559.  
  10560.     if (Other.Role != ROLE_Authority || AbilityLevel < 2)
  10561.         return;
  10562.  
  10563.     foreach Other.DynamicActors(class'OldWeaponHolder', OldWeaponHolder)
  10564.         if (OldWeaponHolder.Owner == Other.Controller)
  10565.         {
  10566.             /*if (OldWeaponHolder.Weapon.Ammo[0] != None)
  10567.             {
  10568.                 Ammo = Ammunition(Other.FindInventoryType(OldWeaponHolder.Weapon.Ammo[0].Class));
  10569.                 if (Ammo != None)
  10570.                 {
  10571.                     Ammo.AddAmmo(OldWeaponHolder.Weapon.Ammo[0].AmmoAmount);
  10572.                     OldWeaponHolder.Weapon.Ammo[0].Destroy();
  10573.                 }
  10574.                 else
  10575.                 {
  10576.                     OldWeaponHolder.Weapon.Ammo[0].GiveTo(Other);
  10577.                     OldWeaponHolder.Weapon.Ammo[0].AmmoAmount -= OldWeaponHolder.Weapon.Ammo[0].InitialAmount;
  10578.                 }
  10579.             }
  10580.             if (OldWeaponHolder.Weapon.Ammo[1] != None && OldWeaponHolder.Weapon.Ammo[1] != OldWeaponHolder.Weapon.Ammo[0])
  10581.             {
  10582.                 Ammo = Ammunition(Other.FindInventoryType(OldWeaponHolder.Weapon.Ammo[1].Class));
  10583.                 if (Ammo != None)
  10584.                 {
  10585.                     Ammo.AddAmmo(OldWeaponHolder.Weapon.Ammo[1].AmmoAmount);
  10586.                     OldWeaponHolder.Weapon.Ammo[1].Destroy();
  10587.                 }
  10588.                 else
  10589.                 {
  10590.                     OldWeaponHolder.Weapon.Ammo[1].GiveTo(Other);
  10591.                     OldWeaponHolder.Weapon.Ammo[1].AmmoAmount -= OldWeaponHolder.Weapon.Ammo[1].InitialAmount;
  10592.                 }
  10593.             }*/
  10594.             OldWeaponHolder.Weapon.GiveTo(Other);
  10595.             OldWeaponHolder.Weapon.AddAmmo(OldWeaponHolder.AmmoAmounts[0] - OldWeaponHolder.Weapon.AmmoAmount(0), 0);
  10596.             OldWeaponHolder.Weapon.AddAmmo(OldWeaponHolder.AmmoAmounts[1] - OldWeaponHolder.Weapon.AmmoAmount(1), 1);
  10597.             OldWeaponHolder.Weapon = None;
  10598.             OldWeaponHolder.Destroy();
  10599.             return;
  10600.         }
  10601. }
  10602.  
  10603. defaultproperties
  10604. {
  10605.     AbilityName="Denial"
  10606.     Description="The first level of this ability simply prevents you from dropping a weapon when you die (but you don't get it either). The second level allows you to respawn with the weapon and ammo you were using when you died. You need to be at least Level 25 to purchase this ability. (Max Level: 2)"
  10607.     StartingCost=15
  10608.     CostAddPerLevel=0
  10609.     MaxLevel=2
  10610. }
  10611. class AbilityReduceFallDamage extends RPGAbility
  10612.     abstract;
  10613.  
  10614. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10615. {
  10616.     if (Data.HealthBonus < 50)
  10617.         return 0;
  10618.     else
  10619.         return Super.Cost(Data, CurrentLevel);
  10620. }
  10621.  
  10622. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  10623. {
  10624.     Other.MaxFallSpeed = Other.default.MaxFallSpeed * (1.0 + 0.25 * float(AbilityLevel));
  10625. }
  10626.  
  10627. defaultproperties
  10628. {
  10629.     AbilityName="Iron Legs"
  10630.     Description="Increases the distance you can safely fall by 25% per level and reduces fall damage for distances still beyond your capacity to handle. Your Health Bonus stat must be at least 50 to purchase this ability. (Max Level: 4)"
  10631.     StartingCost=10
  10632.     CostAddPerLevel=5
  10633.     MaxLevel=4
  10634.     BotChance=6 //slightly higher because it makes the bots willing to take more paths
  10635. }
  10636. class AbilityReduceSelfDamage extends RPGAbility
  10637.     abstract;
  10638.  
  10639. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10640. {
  10641.     if (Data.HealthBonus < 50 || Data.Defense < 25)
  10642.         return 0;
  10643.     else
  10644.         return Super.Cost(Data, CurrentLevel);
  10645. }
  10646.  
  10647. static function HandleDamage(int Damage, Pawn Injured, Pawn Instigator, out vector Momentum, class<DamageType> DamageType, bool bOwnedByInstigator, int AbilityLevel)
  10648. {
  10649.     if (Injured != Instigator || !bOwnedByInstigator || DamageType == class'Fell')
  10650.         return;
  10651.  
  10652.     //Kind of hack-y, but better than allowing abilities to directly modify the damage, which would introduce all sorts of "Who gets to go first?" types of problems
  10653.     if (Instigator.ShieldStrength > 0)
  10654.         Instigator.ShieldStrength += int(float(Damage) * 0.15 * AbilityLevel);
  10655.     else
  10656.         Instigator.Health += int(float(Damage) * 0.15 * AbilityLevel);
  10657. }
  10658.  
  10659. defaultproperties
  10660. {
  10661.     AbilityName="Cautiousness"
  10662.     Description="Reduces self damage by 15% per level. Your Health Bonus stat must be at least 50 and your Damage Reduction stat at least 25 to purchase this ability. (Max Level: 5)"
  10663.     StartingCost=15
  10664.     CostAddPerLevel=5
  10665.     MaxLevel=5
  10666. }
  10667. //Regeneration ability
  10668. class AbilityRegen extends RPGAbility
  10669.     abstract;
  10670.  
  10671. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10672. {
  10673.     if (Data.HealthBonus < 30 * (CurrentLevel + 1))
  10674.         return 0;
  10675.     else
  10676.         return Super.Cost(Data, CurrentLevel);
  10677. }
  10678.  
  10679. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  10680. {
  10681.     local RegenInv R;
  10682.     local Inventory Inv;
  10683.  
  10684.     if (Other.Role != ROLE_Authority)
  10685.         return;
  10686.  
  10687.     //remove old one, if it exists
  10688.     //might happen if player levels up this ability while still alive
  10689.     Inv = Other.FindInventoryType(class'RegenInv');
  10690.     if (Inv != None)
  10691.         Inv.Destroy();
  10692.  
  10693.     R = Other.spawn(class'RegenInv', Other,,,rot(0,0,0));
  10694.     R.RegenAmount = AbilityLevel;
  10695.     R.GiveTo(Other);
  10696. }
  10697.  
  10698. defaultproperties
  10699. {
  10700.     AbilityName="Regeneration"
  10701.     Description="Heals 1 health per second per level. Does not heal past starting health amount. You must have a Health Bonus stat equal to 30 times the ability level you wish to have before you can purchase it. (Max Level: 5)"
  10702.     StartingCost=15
  10703.     CostAddPerLevel=5
  10704.     MaxLevel=5
  10705. }
  10706. class AbilityRetaliate extends RPGAbility
  10707.     abstract;
  10708.  
  10709. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10710. {
  10711.     if (Data.Defense < 50)
  10712.         return 0;
  10713.     else
  10714.         return Super.Cost(Data, CurrentLevel);
  10715. }
  10716.  
  10717. static function HandleDamage(int Damage, Pawn Injured, Pawn Instigator, out vector Momentum, class<DamageType> DamageType, bool bOwnedByInstigator, int AbilityLevel)
  10718. {
  10719.     if (bOwnedByInstigator || DamageType == class'DamTypeRetaliation' || Injured == Instigator || Instigator == None)
  10720.         return;
  10721.  
  10722.     Instigator.TakeDamage(int(float(Damage) * (0.05 * AbilityLevel)), Injured, Instigator.Location, vect(0,0,0), class'DamTypeRetaliation');
  10723. }
  10724.  
  10725. defaultproperties
  10726. {
  10727.     AbilityName="Retaliation"
  10728.     Description="Whenever you are damaged by another player, 5% of the damage per level is also done to the player that hurt you. Your Damage Bonus stat and your oponent's Damage Reduction stat are applied to this extra damage. You can't retaliate to retaliation damage. You must have a Damage Reduction of at least 50 to purchase this ability. (Max Level: 10)"
  10729.     StartingCost=10
  10730.     CostAddPerLevel=5
  10731.     MaxLevel=10
  10732. }
  10733. class AbilityShieldStrength extends RPGAbility
  10734.     abstract;
  10735.  
  10736. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10737. {
  10738.     if (Data.HealthBonus < 100)
  10739.         return 0;
  10740.     else
  10741.         return Super.Cost(Data, CurrentLevel);
  10742. }
  10743.  
  10744. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  10745. {
  10746.     if (xPawn(Other) != None)
  10747.         xPawn(Other).ShieldStrengthMax = xPawn(Other).default.ShieldStrengthMax + 25 * AbilityLevel;
  10748. }
  10749.  
  10750. defaultproperties
  10751. {
  10752.     AbilityName="Shields Up!"
  10753.     Description="Increases your maximum shield by 25 per level. You must have a Health Bonus stat of 100 before you can purchase this ability. (Max Level: 4)"
  10754.     StartingCost=20
  10755.     CostAddPerLevel=5
  10756.     MaxLevel=4
  10757. }
  10758. class AbilitySmartHealing extends RPGAbility
  10759.     abstract;
  10760.  
  10761. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10762. {
  10763.     if (Data.HealthBonus < 50 || Data.AmmoMax < 25)
  10764.         return 0;
  10765.     else
  10766.         return Super.Cost(Data, CurrentLevel);
  10767. }
  10768.  
  10769. static function bool OverridePickupQuery(Pawn Other, Pickup item, out byte bAllowPickup, int AbilityLevel)
  10770. {
  10771.     local int HealMax;
  10772.  
  10773.     if (TournamentHealth(item) != None)
  10774.     {
  10775.         HealMax = TournamentHealth(item).GetHealMax(Other);
  10776.         if (Other.Health + TournamentHealth(item).HealingAmount < HealMax)
  10777.         {
  10778.             Other.GiveHealth(int(float(TournamentHealth(item).HealingAmount) * 0.25 * AbilityLevel), HealMax);
  10779.             bAllowPickup = 1;
  10780.             return true;
  10781.         }
  10782.     }
  10783.  
  10784.     return false;
  10785. }
  10786.  
  10787. defaultproperties
  10788. {
  10789.     AbilityName="Smart Healing"
  10790.     Description="Causes healing items to heal you an addition 25% per level. You need to have a Health Bonus stat of at least 50 and a Max Ammo stat of at least 25 to purchase this ability. (Max Level: 4)"
  10791.     StartingCost=15
  10792.     CostAddPerLevel=5
  10793.     MaxLevel=4
  10794. }
  10795. class AbilitySpeed extends RPGAbility
  10796.     abstract;
  10797.  
  10798. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10799. {
  10800.     if (Data.Level < 10 * (CurrentLevel + 1))
  10801.         return 0;
  10802.     else
  10803.         return Super.Cost(Data, CurrentLevel);
  10804. }
  10805.  
  10806. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  10807. {
  10808.     Other.GroundSpeed = Other.default.GroundSpeed * (1.0 + 0.05 * float(AbilityLevel));
  10809.     Other.WaterSpeed = Other.default.WaterSpeed * (1.0 + 0.05 * float(AbilityLevel));
  10810.     Other.AirSpeed = Other.default.AirSpeed * (1.0 + 0.05 * float(AbilityLevel));
  10811. }
  10812.  
  10813. defaultproperties
  10814. {
  10815.     AbilityName="Quickfoot"
  10816.     Description="Increases your speed in all environments by 5% per level. The Speed adrenaline combo will stack with this effect. You must be a Level equal to ten times the ability level you wish to have before you can purchase it. (Max Level: 4)"
  10817.     StartingCost=10
  10818.     CostAddPerLevel=5
  10819.     MaxLevel=5
  10820. }
  10821. class AbilityUltima extends RPGAbility
  10822.     abstract;
  10823.  
  10824. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10825. {
  10826.     local int x;
  10827.  
  10828.     if (Data.Attack < 250)
  10829.         return 0;
  10830.     for (x = 0; x < Data.Abilities.length; x++)
  10831.         if (Data.Abilities[x] == class'AbilityGhost')
  10832.             return 0;
  10833.  
  10834.     return Super.Cost(Data, CurrentLevel);
  10835. }
  10836.  
  10837. static function bool PreventDeath(Pawn Killed, Controller Killer, class<DamageType> DamageType, vector HitLocation, int AbilityLevel, bool bAlreadyPrevented)
  10838. {
  10839.     if (!bAlreadyPrevented && Killed.Location.Z > Killed.Region.Zone.KillZ && Killed.FindInventoryType(class'KillMarker') != None)
  10840.         Killed.spawn(class'UltimaCharger', Killed.Controller).ChargeTime = 4.0 / AbilityLevel;
  10841.  
  10842.     return false;
  10843. }
  10844.  
  10845. static function ScoreKill(Controller Killer, Controller Killed, bool bOwnedByKiller, int AbilityLevel)
  10846. {
  10847.     //ugh...I wish there was a faster way...
  10848.     if ( bOwnedByKiller && Killer.Pawn != None
  10849.          && (Killed.Pawn == None || Killed.Pawn.HitDamageType != class'DamTypeUltima')
  10850.          && Killer.Pawn.FindInventoryType(class'KillMarker') == None )
  10851.         Killer.Pawn.spawn(class'KillMarker', Killer.Pawn).GiveTo(Killer.Pawn);
  10852. }
  10853.  
  10854. defaultproperties
  10855. {
  10856.     AbilityName="Ultima"
  10857.     Description="This ability causes your body to release energy when you die. The energy will collect at a single point which will then cause a Redeemer-like nuclear explosion. Level 2 of this ability causes the energy to collect for the explosion in half the time. The ability will only trigger if you have killed at least one enemy during your life. You need to have a Damage Bonus stat of at least 250 to purchase this ability. You can't have both Ultima and Ghost at the same time. (Max Level: 2)"
  10858.     StartingCost=25
  10859.     CostAddPerLevel=0
  10860.     MaxLevel=2
  10861. }
  10862.  
  10863. class AbilityVampire extends RPGAbility
  10864.     abstract;
  10865.  
  10866. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  10867. {
  10868.     if (Data.Attack < 50)
  10869.         return 0;
  10870.     else
  10871.         return Super.Cost(Data, CurrentLevel);
  10872. }
  10873.  
  10874. static function HandleDamage(int Damage, Pawn Injured, Pawn Instigator, out vector Momentum, class<DamageType> DamageType, bool bOwnedByInstigator, int AbilityLevel)
  10875. {
  10876.     local int Health;
  10877.  
  10878.     if (!bOwnedByInstigator || DamageType == class'DamTypeRetaliation' || Injured == Instigator || Instigator == None)
  10879.         return;
  10880.  
  10881.     Health = int(float(Damage) * 0.05 * float(AbilityLevel));
  10882.     if (Health == 0)
  10883.         Health = 1;
  10884.     Instigator.GiveHealth(Health, Instigator.HealthMax + 50);
  10885. }
  10886.  
  10887. defaultproperties
  10888. {
  10889.     AbilityName="Vampirism"
  10890.     Description="Whenever you damage another player, you are healed for 5% of the damage per level (up to your starting health amount + 50). You can't gain health from self-damage and you can't gain health from damage caused by the Retaliation ability. You must have a Damage Bonus of at least 50 to purchase this ability. (Max Level: 10)"
  10891.     StartingCost=10
  10892.     CostAddPerLevel=5
  10893.     MaxLevel=10
  10894. }
  10895. class AdrenRegenInv extends Inventory;
  10896.  
  10897. var int RegenAmount;
  10898.  
  10899. function PostBeginPlay()
  10900. {
  10901.     SetTimer(5.0, true);
  10902.  
  10903.     Super.PostBeginPlay();
  10904. }
  10905.  
  10906. function Timer()
  10907. {
  10908.     local Controller C;
  10909.  
  10910.     if (Instigator == None || Instigator.Health <= 0)
  10911.     {
  10912.         Destroy();
  10913.         return;
  10914.     }
  10915.  
  10916.     C = Instigator.Controller;
  10917.     if (C == None && Instigator.DrivenVehicle != None)
  10918.          C = Instigator.DrivenVehicle.Controller;
  10919.     if (C == None)
  10920.     {
  10921.         Destroy();
  10922.         return;
  10923.     }
  10924.  
  10925.     if (!Instigator.InCurrentCombo())
  10926.         C.AwardAdrenaline(RegenAmount);
  10927. }
  10928. class AmmoRegenInv extends Inventory;
  10929.  
  10930. var int RegenAmount;
  10931.  
  10932. function PostBeginPlay()
  10933. {
  10934.     SetTimer(3.0, true);
  10935.  
  10936.     Super.PostBeginPlay();
  10937. }
  10938.  
  10939. function Timer()
  10940. {
  10941.     local Inventory Inv;
  10942.     local Ammunition Ammo;
  10943.     local Weapon W;
  10944.  
  10945.     if (Instigator == None || Instigator.Health <= 0)
  10946.     {
  10947.         Destroy();
  10948.         return;
  10949.     }
  10950.  
  10951.     for (Inv = Instigator.Inventory; Inv != None; Inv = Inv.Inventory)
  10952.     {
  10953.         W = Weapon(Inv);
  10954.         if (W != None)
  10955.         {
  10956.             if ( W.bNoAmmoInstances && W.AmmoClass[0] != None && W.AmmoClass[0].default.MaxAmmo >= 5 && !W.IsA('Redeemer')
  10957.                  && !W.IsA('Painter') && !W.IsA('SCannon') )
  10958.             {
  10959.                 W.AddAmmo(RegenAmount * (1 + W.AmmoClass[0].default.MaxAmmo / 100), 0);
  10960.                 if (W.AmmoClass[0] != W.AmmoClass[1] && W.AmmoClass[1] != None)
  10961.                     W.AddAmmo(RegenAmount * (1 + W.AmmoClass[1].default.MaxAmmo / 100), 1);
  10962.             }
  10963.         }
  10964.         else
  10965.         {
  10966.             Ammo = Ammunition(Inv);
  10967.             if ( Ammo != None && Ammo.default.MaxAmmo >= 5 && !Inv.IsA('RedeemerAmmo') && !Inv.IsA('BallAmmo') && !Inv.IsA('TransAmmo')
  10968.                  && !Inv.IsA('SCannonAmmo') )
  10969.                 Ammo.AddAmmo(RegenAmount * (1 + Ammo.default.MaxAmmo / 100));
  10970.         }
  10971.     }
  10972. }
  10973. class ArtifactFlight extends RPGArtifact;
  10974.  
  10975. var Emitter FlightTrail;
  10976.  
  10977. function BotConsider()
  10978. {
  10979.     if ( !bActive && Instigator.Controller.RouteGoal.Location.Z - 100 > Instigator.Location.Z
  10980.          && Instigator.Controller.Adrenaline > 5 * VSize(Instigator.Controller.RouteGoal.Location - Instigator.Location) / Instigator.AirSpeed )
  10981.         Activate();
  10982.     else if ( bActive && Instigator.Controller.RouteGoal.Location.Z - 100 < Instigator.Location.Z && !FastTrace(Instigator.Location + vect(0,0,-200), Instigator.Location))
  10983.         Activate();
  10984. }
  10985.  
  10986. state Activated
  10987. {
  10988.     function BeginState()
  10989.     {
  10990.         if (PlayerController(Instigator.Controller) != None)
  10991.             Instigator.Controller.GotoState('PlayerFlying');
  10992.         else
  10993.             Instigator.SetPhysics(PHYS_Flying);
  10994.         bActive = true;
  10995.         FlightTrail = Instigator.spawn(class'FlightEffect', Instigator);
  10996.     }
  10997.  
  10998.     function EndState()
  10999.     {
  11000.         if (Instigator != None && Instigator.Controller != None)
  11001.         {
  11002.             Instigator.SetPhysics(PHYS_Falling);
  11003.             if (PlayerController(Instigator.Controller) != None)
  11004.                 Instigator.Controller.GotoState(Instigator.LandMovementState);
  11005.         }
  11006.         bActive = false;
  11007.         if (FlightTrail != None)
  11008.             FlightTrail.Kill();
  11009.     }
  11010. }
  11011.  
  11012. defaultproperties
  11013. {
  11014.     CostPerSec=5
  11015.     PickupClass=class'ArtifactFlightPickup'
  11016.     IconMaterial=Material'UTRPGTextures.Icons.FlightIcon'
  11017.     ItemName="Boots of Flight"
  11018. }
  11019. class ArtifactFlightPickup extends RPGArtifactPickup;
  11020.  
  11021. defaultproperties
  11022. {
  11023.     PickupMessage="You got the Boots of Flight!"
  11024.     InventoryType=class'ArtifactFlight'
  11025.     DrawType=DT_StaticMesh
  11026.     DrawScale=0.075
  11027.     StaticMesh=StaticMesh'UTRPGStatics.Artifacts.WingedBoots'
  11028.     bAmbientGlow=false
  11029. }
  11030. class ArtifactInvulnerability extends RPGArtifact;
  11031.  
  11032. var Material EffectOverlay;
  11033.  
  11034. function BotConsider()
  11035. {
  11036.     if (Instigator.Controller.Adrenaline < 30)
  11037.         return;
  11038.  
  11039.     if (bActive && (Instigator.Controller.Enemy == None || !Instigator.Controller.CanSee(Instigator.Controller.Enemy)))
  11040.         Activate();
  11041.     else if ( !bActive && Instigator.Controller.Enemy != None
  11042.           && Instigator.Health < 70 && Instigator.Controller.CanSee(Instigator.Controller.Enemy) && NoArtifactsActive() && FRand() < 0.7 )
  11043.         Activate();
  11044. }
  11045.  
  11046. state Activated
  11047. {
  11048.     function BeginState()
  11049.     {
  11050.         Instigator.Controller.bGodMode = true;
  11051.         Instigator.SetOverlayMaterial(EffectOverlay, Instigator.Controller.Adrenaline / CostPerSec, true);
  11052.         bActive = true;
  11053.     }
  11054.  
  11055.     function EndState()
  11056.     {
  11057.         if (Instigator != None)
  11058.         {
  11059.             Instigator.SetOverlayMaterial(EffectOverlay, -1, true);
  11060.             if (Instigator.Controller != None)
  11061.                 Instigator.Controller.bGodMode = false;
  11062.         }
  11063.         bActive = false;
  11064.     }
  11065. }
  11066.  
  11067. defaultproperties
  11068. {
  11069.     EffectOverlay=Shader'UTRPGTextures.Overlays.InvulnerabilityOverlay'
  11070.     CostPerSec=12
  11071.     PickupClass=class'ArtifactInvulnerabilityPickup'
  11072.     ItemName="Globe of Invulnerability"
  11073.     IconMaterial=Material'UTRPGTextures.Icons.InvulnerabilityIcon'
  11074. }
  11075. class ArtifactInvulnerabilityPickup extends RPGArtifactPickup;
  11076.  
  11077. defaultproperties
  11078. {
  11079.     PickupMessage="You got the Globe of Invulnerability!"
  11080.     InventoryType=class'ArtifactInvulnerability'
  11081.     DrawType=DT_StaticMesh
  11082.     DrawScale=0.075
  11083.     StaticMesh=StaticMesh'Editor.TexPropSphere'
  11084.     Skins(0)=Shader'UTRPGTextures.Artifacts.InvulnerabilityShader'
  11085.     PickupSound=sound'PickupSounds.ShieldPack'
  11086.     PickupForce="ShieldPack"
  11087.     AmbientGlow=255
  11088.     bAcceptsProjectors=false
  11089. }
  11090. class ArtifactLightningRod extends RPGArtifact;
  11091.  
  11092. var float TargetRadius;
  11093. var int DamagePerHit;
  11094. var class<xEmitter> HitEmitterClass;
  11095.  
  11096. function BotConsider()
  11097. {
  11098.     if (Instigator.Controller.Adrenaline < 30)
  11099.         return;
  11100.  
  11101.     if (bActive && (Instigator.Controller.Enemy == None || !Instigator.Controller.CanSee(Instigator.Controller.Enemy)))
  11102.         Activate();
  11103.     else if ( !bActive && Instigator.Controller.Enemy != None
  11104.           && Instigator.Controller.Enemy.Health < 70 && Instigator.Controller.CanSee(Instigator.Controller.Enemy) && NoArtifactsActive() && FRand() < 0.7 )
  11105.         Activate();
  11106. }
  11107.  
  11108. state Activated
  11109. {
  11110.     function Timer()
  11111.     {
  11112.         local Controller C;
  11113.         local int Targets;
  11114.         local xEmitter HitEmitter;
  11115.  
  11116.         //need to be moving for it to do anything... so can't just sit somewhere and camp
  11117.         if (VSize(Instigator.Velocity) ~= 0)
  11118.         {
  11119.             CostPerSec = default.CostPerSec;
  11120.             return;
  11121.         }
  11122.  
  11123.         for (C = Level.ControllerList; C != None; C = C.NextController)
  11124.             if ( C.Pawn != None && C.Pawn != Instigator && C.Pawn.Health > 0 && !C.SameTeamAs(Instigator.Controller)
  11125.                  && VSize(C.Pawn.Location - Instigator.Location) < TargetRadius && FastTrace(C.Pawn.Location, Instigator.Location) )
  11126.             {
  11127.                 HitEmitter = spawn(HitEmitterClass,,, Instigator.Location, rotator(C.Pawn.Location - Instigator.Location));
  11128.                 if (HitEmitter != None)
  11129.                     HitEmitter.mSpawnVecA = C.Pawn.Location;
  11130.                 C.Pawn.TakeDamage(DamagePerHit, Instigator, C.Pawn.Location, vect(0,0,0), class'DamTypeLightningRod');
  11131.                 Targets++;
  11132.             }
  11133.  
  11134.         CostPerSec = default.CostPerSec + Targets * 3;
  11135.     }
  11136.  
  11137.     function BeginState()
  11138.     {
  11139.         SetTimer(0.5, true);
  11140.         bActive = true;
  11141.     }
  11142.  
  11143.     function EndState()
  11144.     {
  11145.         SetTimer(0, false);
  11146.         bActive = false;
  11147.     }
  11148. }
  11149.  
  11150. defaultproperties
  11151. {
  11152.     TargetRadius=2000
  11153.     DamagePerHit=5
  11154.     HitEmitterClass=class'LightningBolt'
  11155.  
  11156.     CostPerSec=5
  11157.     PickupClass=class'ArtifactLightningRodPickup'
  11158.     IconMaterial=Material'UTRPGTextures.Icons.LightningIcon'
  11159.     ItemName="Lightning Rod"
  11160. }
  11161. class ArtifactLightningRodPickup extends RPGArtifactPickup;
  11162.  
  11163. defaultproperties
  11164. {
  11165.     PickupMessage="You got the Lightning Rod!"
  11166.     InventoryType=class'ArtifactLightningRod'
  11167.     DrawType=DT_StaticMesh
  11168.     DrawScale=0.250
  11169.     StaticMesh=StaticMesh'UTRPGStatics.Artifacts.Lightning'
  11170.     PickupSound=Sound'PickupSounds.SniperRiflePickup'
  11171.     PickupForce="SniperRiflePickup"
  11172.     AmbientGlow=128
  11173. }
  11174. class ArtifactTeleport extends RPGArtifact;
  11175.  
  11176. var Emitter myEmitter;
  11177. var float AdrenalineUsed;
  11178.  
  11179. function BotConsider()
  11180. {
  11181.     if (bActive)
  11182.         return;
  11183.  
  11184.     if ( (Instigator.Health + Instigator.ShieldStrength < 70 || (Bot(Instigator.Controller) != None && Bot(Instigator.Controller).NeedWeapon()))
  11185.           && (Instigator.Controller.Enemy == None || !Instigator.Controller.CanSee(Instigator.Controller.Enemy))
  11186.           && (Instigator.Controller.Adrenaline > 2 * CostPerSec || NoArtifactsActive()) )
  11187.         Activate();
  11188. }
  11189.  
  11190. function DoEffect();
  11191.  
  11192. state Activated
  11193. {
  11194.     function BeginState()
  11195.     {
  11196.         local int x;
  11197.  
  11198.         myEmitter = spawn(class'TeleportChargeEffect', Instigator,, Instigator.Location, Instigator.Rotation);
  11199.         myEmitter.SetBase(Instigator);
  11200.         if (Instigator.PlayerReplicationInfo != None && Instigator.PlayerReplicationInfo.Team != None && Instigator.PlayerReplicationInfo.Team.TeamIndex == 1)
  11201.             for (x = 0; x < myEmitter.Emitters[0].ColorScale.Length; x++)
  11202.                 myEmitter.Emitters[0].ColorScale[x].Color = class'Hud'.default.BlueColor;
  11203.  
  11204.         bActive = true;
  11205.         AdrenalineUsed = CostPerSec;
  11206.     }
  11207.  
  11208.     simulated function Tick(float deltaTime)
  11209.     {
  11210.         Global.Tick(deltaTime);
  11211.  
  11212.         AdrenalineUsed -= deltaTime * CostPerSec;
  11213.         if (AdrenalineUsed <= 0)
  11214.         {
  11215.             Instigator.Controller.Adrenaline -= AdrenalineUsed; //add some back if went a bit over
  11216.             DoEffect();
  11217.         }
  11218.     }
  11219.  
  11220.     function DoEffect()
  11221.     {
  11222.         local NavigationPoint Dest;
  11223.         local vector PrevLocation;
  11224.         local int EffectNum;
  11225.  
  11226.         if (myEmitter != None)
  11227.         {
  11228.             myEmitter.SetBase(None);
  11229.             myEmitter.Kill();
  11230.             myEmitter = None;
  11231.         }
  11232.  
  11233.         Dest = Instigator.Controller.FindRandomDest();
  11234.         PrevLocation = Instigator.Location;
  11235.         Instigator.SetLocation(Dest.Location + vect(0,0,40));
  11236.         if (xPawn(Instigator) != None)
  11237.             xPawn(Instigator).DoTranslocateOut(PrevLocation);
  11238.         if (Instigator.PlayerReplicationInfo != None && Instigator.PlayerReplicationInfo.Team != None)
  11239.             EffectNum = Instigator.PlayerReplicationInfo.Team.TeamIndex;
  11240.         Instigator.SetOverlayMaterial(class'TransRecall'.default.TransMaterials[EffectNum], 1.0, false);
  11241.         Instigator.PlayTeleportEffect(false, false);
  11242.  
  11243.         GotoState('');
  11244.     }
  11245.  
  11246.     function EndState()
  11247.     {
  11248.         if (myEmitter != None)
  11249.             myEmitter.Destroy();
  11250.         bActive = false;
  11251.     }
  11252. }
  11253.  
  11254. defaultproperties
  11255. {
  11256.     CostPerSec=25
  11257.     MinActivationTime=1.0
  11258.     ItemName="Teleporter"
  11259.     PickupClass=class'ArtifactTeleportPickup'
  11260.     IconMaterial=Material'UTRPGTextures.Icons.TeleporterIcon'
  11261. }
  11262. class ArtifactTeleportPickup extends RPGArtifactPickup;
  11263.  
  11264. defaultproperties
  11265. {
  11266.     PickupMessage="You got the Teleporter!"
  11267.     InventoryType=class'ArtifactTeleport'
  11268.     DrawType=DT_Mesh
  11269.     DrawScale=2.0
  11270.     Mesh=Mesh'Weapons.TransBeacon'
  11271.     bAmbientGlow=true
  11272.     AmbientGlow=128
  11273.     PickupSound=Sound'WeaponSounds.Translocator.TranslocatorModuleRegeneration'
  11274.     PickupForce="TranslocatorModuleRegeneration"
  11275. }
  11276. class ArtifactTripleDamage extends RPGArtifact;
  11277.  
  11278. var Weapon LastWeapon;
  11279.  
  11280. function BotConsider()
  11281. {
  11282.     if (Instigator.Controller.Adrenaline < 30)
  11283.         return;
  11284.  
  11285.     if (bActive && (Instigator.Controller.Enemy == None || !Instigator.Controller.CanSee(Instigator.Controller.Enemy)))
  11286.         Activate();
  11287.     else if ( !bActive && Instigator.Controller.Enemy != None && Instigator.Weapon != None && Instigator.Weapon.AIRating > 0.5
  11288.           && Instigator.Controller.Enemy.Health > 70 && Instigator.Controller.CanSee(Instigator.Controller.Enemy) && NoArtifactsActive() && FRand() < 0.7 )
  11289.         Activate();
  11290. }
  11291.  
  11292. function Activate()
  11293. {
  11294.     if (!bActive && Instigator.HasUDamage())
  11295.         return;
  11296.  
  11297.     Super.Activate();
  11298. }
  11299.  
  11300. function bool HandlePickupQuery(Pickup Item)
  11301. {
  11302.     if (Super.HandlePickupQuery(Item))
  11303.         return true;
  11304.     if (UDamagePack(Item) != None && bActive)
  11305.         Activate();
  11306.  
  11307.     return false;
  11308. }
  11309.  
  11310. state Activated
  11311. {
  11312.     function BeginState()
  11313.     {
  11314.         Instigator.DamageScaling *= 1.5;
  11315.         //Instigator.EnableUDamage(Instigator.Controller.Adrenaline / CostPerSec);
  11316.         Instigator.EnableUDamage(1000000);
  11317.         bActive = true;
  11318.     }
  11319.  
  11320.     function EndState()
  11321.     {
  11322.         if (Instigator != None)
  11323.         {
  11324.             Instigator.DamageScaling /= 1.5;
  11325.             Instigator.DisableUDamage();
  11326.         }
  11327.         bActive = false;
  11328.     }
  11329. }
  11330.  
  11331. defaultproperties
  11332. {
  11333.     CostPerSec=7
  11334.     PickupClass=class'ArtifactTripleDamagePickup'
  11335.     ItemName="Triple Damage"
  11336.     IconMaterial=Material'UTRPGTextures.Icons.TripleDamageIcon'
  11337. }
  11338. class ArtifactTripleDamagePickup extends RPGArtifactPickup;
  11339.  
  11340. defaultproperties
  11341. {
  11342.     PickupMessage="You got the Triple Damage!"
  11343.     InventoryType=class'ArtifactTripleDamage'
  11344.     DrawType=DT_StaticMesh
  11345.     DrawScale=0.9
  11346.     StaticMesh=StaticMesh'E_Pickups.TripleDamage'
  11347.     AmbientGlow=254
  11348.     Style=STY_AlphaZ
  11349.     ScaleGlow=0.6
  11350.     PickupForce="UDamagePickup"
  11351.     PickupSound=sound'PickupSounds.UDamagePickUp'
  11352. }
  11353. class DamTypeLightningRod extends DamageType
  11354.     abstract;
  11355.  
  11356. static function GetHitEffects(out class<xEmitter> HitEffects[4], int VictemHealth)
  11357. {
  11358.     HitEffects[0] = class'HitSmoke';
  11359.     if (Rand(25) > VictemHealth)
  11360.     HitEffects[1] = class'HitFlame';
  11361. }
  11362.  
  11363. defaultproperties
  11364. {
  11365.     DeathString="%o was electrocuted by %k's lightning rod."
  11366.     MaleSuicide="%o had an electrifying experience."
  11367.     FemaleSuicide="%o had an electrifying experience."
  11368.  
  11369.     DamageOverlayMaterial=Material'XGameShaders.PlayerShaders.LightningHit'
  11370.     DamageOverlayTime=1.0
  11371.     GibPerterbation=0.25
  11372.     bCauseConvulsions=true
  11373. }
  11374. class DamTypePoison extends DamageType
  11375.     abstract;
  11376.  
  11377. defaultproperties
  11378. {
  11379.     DeathString="%o couldn't find an antidote for %k's poison."
  11380.     MaleSuicide="%o poisoned himself."
  11381.     FemaleSuicide="%o poisoned herself."
  11382.  
  11383.     bDelayedDamage=true
  11384.     bArmorStops=false
  11385. }
  11386. class DamTypeRetaliation extends DamageType
  11387.     abstract;
  11388.  
  11389. defaultproperties
  11390. {
  11391.     DeathString="%k's strike back was too much for %o."
  11392.     KDamageImpulse=0
  11393. }class DamTypeUltima extends DamageType
  11394.     abstract;
  11395.  
  11396. defaultproperties
  11397. {
  11398.     DeathString="%o was PULVERIZED by the power of %k's vengeance!"
  11399.     MaleSuicide="%o was PULVERIZED!"
  11400.     FemaleSuicide="%o was PULVERIZED!"
  11401.  
  11402.     bArmorStops=false
  11403.     bDelayedDamage=true
  11404.  
  11405.     bKUseOwnDeathVel=true
  11406.     KDeathVel=600
  11407.     KDeathUpKick=600
  11408. }
  11409. class GhostInv extends Inventory;
  11410.  
  11411. var int OwnerAbilityLevel;
  11412. var array<Material> OldInstigatorSkins;
  11413. var Material OldInstigatorRepSkin;
  11414. var array<ColorModifier> GhostSkins;
  11415. var Controller OwnerController;
  11416. var vector RevivePoint;
  11417. var bool bDisabled;
  11418. var color GhostColor;
  11419. var sound GhostSound;
  11420.  
  11421. replication
  11422. {
  11423.     reliable if (bNetDirty && Role==ROLE_Authority)
  11424.         bDisabled;
  11425. }
  11426.  
  11427. function GiveTo(Pawn Other, optional Pickup Pickup)
  11428. {
  11429.     local int Count;
  11430.     local vector HitNormal, TestLocation;
  11431.     local float Dist;
  11432.     local NavigationPoint RandNavPt;
  11433.  
  11434.     Super.GiveTo(Other, Pickup);
  11435.  
  11436.     if (Instigator == None)
  11437.     {
  11438.         bDisabled = true;
  11439.         return;
  11440.     }
  11441.  
  11442.     OldInstigatorRepSkin = Instigator.RepSkin;
  11443.     Instigator.RepSkin = None;
  11444.  
  11445.     if (Instigator.Controller == None)
  11446.     {
  11447.         Instigator.TakeDamage(1, None, Instigator.Location, vect(0,0,0), class'DamageType');
  11448.         return;
  11449.     }
  11450.  
  11451.     if (Instigator.Weapon != None)
  11452.         Instigator.Weapon.HolderDied();
  11453.     do
  11454.     {
  11455.         Count++;
  11456.         RandNavPt = Instigator.Controller.FindRandomDest();
  11457.         if (RandNavPt == None)
  11458.             break;
  11459.         if (RandNavPt.IsA('FlyingPathNode') && !Instigator.bCanFly)
  11460.             continue;
  11461.                RevivePoint = RandNavPt.Location + vect(0,0,40);
  11462.                Dist = VSize(RevivePoint - Instigator.Location);
  11463.     } until ((Dist < 15000 && (Dist > 1000 || !FastTrace(RevivePoint, Instigator.Location))) || Count == 100000)
  11464.     if (RandNavPt == None || Count == 100000) //crappy level with no pathing - pick a random direction for the poor sucker
  11465.     {
  11466.         TestLocation = Instigator.Location + VRand() * 2000;
  11467.         if (Instigator.Trace(RevivePoint, HitNormal, TestLocation, Instigator.Location, true, Instigator.GetCollisionExtent()) == None)
  11468.             RevivePoint = TestLocation;
  11469.     }
  11470.  
  11471.     OwnerController = Instigator.Controller;
  11472.     if (PlayerController(Instigator.Controller) != None)
  11473.     {
  11474.         Instigator.RemoteRole = ROLE_SimulatedProxy;
  11475.         PlayerController(OwnerController).CleanOutSavedMoves();
  11476.         OwnerController.Pawn = None;
  11477.         Instigator.Controller = None;
  11478.         OwnerController.GotoState('BaseSpectating');
  11479.         PlayerController(OwnerController).ClientGotoState('BaseSpectating', '');
  11480.         PlayerController(OwnerController).SetViewTarget(Instigator);
  11481.         PlayerController(OwnerController).ClientSetViewTarget(Instigator);
  11482.         PlayerController(OwnerController).ClientSetBehindView(true);
  11483.     }
  11484.     else
  11485.     {
  11486.         Instigator.Controller.PendingStasis();
  11487.         Instigator.Controller.Pawn = None;
  11488.         Instigator.Controller = None;
  11489.     }
  11490.  
  11491.     Instigator.bIgnoreOutOfWorld = true;
  11492.            Instigator.SetCollision(false);
  11493.     Instigator.bCollideWorld = false;
  11494.     Instigator.SetPhysics(PHYS_Flying);
  11495.     Instigator.Health = 9999; //heh...I wonder if anyone will get the joke?
  11496.     if (Vehicle(Instigator) != None)
  11497.         Instigator.bNoTeamBeacon = true;
  11498.     Instigator.Velocity = Normal(RevivePoint - Instigator.Location) * (Instigator.AirSpeed + Instigator.AirSpeed / 2 * (OwnerAbilityLevel - 1));
  11499.     Instigator.AmbientSound = GhostSound;
  11500.  
  11501.     //listen/standalone stuff
  11502.     if (Level.NetMode != NM_DedicatedServer)
  11503.     {
  11504.         CreateGhostSkins();
  11505.         Instigator.Skins = GhostSkins;
  11506.         if (Instigator.Weapon != None && Instigator.Weapon.ThirdPersonActor != None)
  11507.             Instigator.Weapon.ThirdPersonActor.bHidden = true;
  11508.     }
  11509. }
  11510.  
  11511. simulated function PostNetBeginPlay()
  11512. {
  11513.     if (Role < ROLE_Authority)
  11514.         SetTimer(0.1, true);
  11515. }
  11516.  
  11517. function DropFrom(vector StartLocation)
  11518. {
  11519.     Destroy();
  11520. }
  11521.  
  11522. simulated function CreateGhostSkins()
  11523. {
  11524.     local int x;
  11525.  
  11526.     OldInstigatorSkins = Instigator.Skins;
  11527.     for (x = 0; x < Instigator.Skins.length; x++)
  11528.     {
  11529.         GhostSkins[x] = ColorModifier(Level.ObjectPool.AllocateObject(class'ColorModifier'));
  11530.         GhostSkins[x].Material = Instigator.Skins[x];
  11531.         GhostSkins[x].AlphaBlend = true;
  11532.         GhostSkins[x].RenderTwoSided = true;
  11533.         GhostSkins[x].Color = GhostColor;
  11534.     }
  11535. }
  11536.  
  11537. simulated function Timer()
  11538. {
  11539.     //client-side stuff
  11540.     if (Instigator == None)
  11541.         return;
  11542.     if (bDisabled)
  11543.     {
  11544.         Deactivate();
  11545.         return;
  11546.     }
  11547.     if (GhostSkins.length == 0)
  11548.         CreateGhostSkins();
  11549.     Instigator.Skins = GhostSkins;
  11550.     if (Instigator.Weapon != None && Instigator.Weapon.ThirdPersonActor != None)
  11551.         Instigator.Weapon.ThirdPersonActor.bHidden = true;
  11552.     return;
  11553. }
  11554.  
  11555. function Tick(float deltaTime)
  11556. {
  11557.     if (bDisabled)
  11558.         return;
  11559.     if (VSize(Instigator.Location - RevivePoint) > VSize(Instigator.Velocity) * deltaTime)
  11560.     {
  11561.         //refresh Instigator velocity to counter air friction
  11562.         Instigator.Velocity = Normal(RevivePoint - Instigator.Location) * (Instigator.AirSpeed + Instigator.AirSpeed / 2 * (OwnerAbilityLevel - 1));
  11563.         if (Instigator.HasAnim('HitL'))
  11564.             Instigator.PlayAnim('HitL',,0.1);
  11565.         return;
  11566.     }
  11567.  
  11568.     if (PlayerController(OwnerController) == None)
  11569.         OwnerController.bStasis = false;
  11570.     OwnerController.Possess(Instigator);
  11571.     Instigator.bIgnoreOutOfWorld = false;
  11572.     Instigator.AmbientSound = None;
  11573.     Instigator.Velocity = vect(0,0,0);
  11574.     Instigator.SetCollision(true, true, true);
  11575.     Instigator.bCollideWorld = true;
  11576.     Instigator.SetPhysics(PHYS_Falling);
  11577.     if (Vehicle(Instigator) != None)
  11578.         Instigator.bNoTeamBeacon = Instigator.default.bNoTeamBeacon;
  11579.     switch(OwnerAbilityLevel)
  11580.     {
  11581.     case 1:
  11582.         Instigator.Health = 1;
  11583.         break;
  11584.     case 2:
  11585.         Instigator.Health = Instigator.default.Health;
  11586.         break;
  11587.     case 3:
  11588.         Instigator.Health = Instigator.HealthMax;
  11589.         break;
  11590.     }
  11591.     Level.Game.SetPlayerDefaults(Instigator);
  11592.     disable('Tick');
  11593.     bDisabled = true;
  11594.     Deactivate();
  11595. }
  11596.  
  11597. simulated function Deactivate()
  11598. {
  11599.     local int x;
  11600.  
  11601.     if (Role == ROLE_Authority)
  11602.         Instigator.RepSkin = OldInstigatorRepSkin;
  11603.     if (Level.NetMode != NM_DedicatedServer)
  11604.     {
  11605.         Instigator.Skins = OldInstigatorSkins;
  11606.         if (GhostSkins.length != 0)
  11607.         {
  11608.             for (x = 0; x < GhostSkins.length; x++)
  11609.                 Level.ObjectPool.FreeObject(GhostSkins[x]);
  11610.             GhostSkins.length = 0;
  11611.         }
  11612.         if (Instigator.Weapon != None && Instigator.Weapon.ThirdPersonActor != None)
  11613.             Instigator.Weapon.ThirdPersonActor.bHidden = false;
  11614.     }
  11615. }
  11616.  
  11617. simulated function Destroyed()
  11618. {
  11619.     if (GhostSkins.length != 0)
  11620.         Deactivate();
  11621.  
  11622.     Super.Destroyed();
  11623. }
  11624.  
  11625. defaultproperties
  11626. {
  11627.     GhostColor=(R=255,G=255,B=255,A=64)
  11628.     GhostSound=sound'GeneralAmbience.Texture19'
  11629.     bHidden=true
  11630.     RemoteRole=ROLE_SimulatedProxy
  11631.     bOnlyRelevantToOwner=false
  11632.     bAlwaysRelevant=true
  11633.     bReplicateInstigator=true
  11634. }
  11635. //Indicates that this pawn has killed at least one enemy
  11636. class KillMarker extends Inventory;
  11637.  
  11638. function DropFrom(vector StartLocation)
  11639. {
  11640.     Destroy();
  11641. }
  11642.  
  11643. defaultproperties
  11644. {
  11645.     RemoteRole=ROLE_DumbProxy
  11646. }
  11647. //Holder for a pawn's old weapon
  11648. //Used by AbilityNoWeaponDrop to keep a pawn's active weapon and ammo after the pawn dies
  11649. class OldWeaponHolder extends Actor;
  11650.  
  11651. var Weapon Weapon;
  11652. var int AmmoAmounts[2];
  11653.  
  11654. function PostBeginPlay()
  11655. {
  11656.     SetTimer(1.0, true);
  11657.  
  11658.     Super.PostBeginPlay();
  11659. }
  11660.  
  11661. function Timer()
  11662. {
  11663.     if (Controller(Owner) == None || Weapon == None)
  11664.         Destroy();
  11665. }
  11666.  
  11667. function Destroyed()
  11668. {
  11669.     if (Weapon != None)
  11670.         Weapon.Destroy();
  11671.  
  11672.     Super.Destroyed();
  11673. }
  11674.  
  11675. defaultproperties
  11676. {
  11677.     bHidden=true
  11678.     RemoteRole=ROLE_None
  11679. }
  11680. class PoisonInv extends Inventory;
  11681.  
  11682. var Controller InstigatorController;
  11683. var Pawn PawnOwner;
  11684. var int Modifier;
  11685.  
  11686. replication
  11687. {
  11688.     reliable if (bNetInitial && Role == ROLE_Authority)
  11689.         PawnOwner;
  11690. }
  11691.  
  11692. simulated function PostBeginPlay()
  11693. {
  11694.     Super.PostBeginPlay();
  11695.  
  11696.     if (Instigator != None)
  11697.         InstigatorController = Instigator.Controller;
  11698.  
  11699.     SetTimer(1, true);
  11700. }
  11701.  
  11702. function GiveTo(Pawn Other, optional Pickup Pickup)
  11703. {
  11704.     local Pawn OldInstigator;
  11705.  
  11706.     if (InstigatorController == None)
  11707.         InstigatorController = Other.DelayedDamageInstigatorController;
  11708.  
  11709.     //want Instigator to be the one that caused the poison
  11710.     OldInstigator = Instigator;
  11711.     Super.GiveTo(Other);
  11712.     PawnOwner = Other;
  11713.     Instigator = OldInstigator;
  11714. }
  11715.  
  11716. simulated function Timer()
  11717. {
  11718.     if (Role == ROLE_Authority)
  11719.     {
  11720.         if (Owner == None)
  11721.         {
  11722.             Destroy();
  11723.             return;
  11724.         }
  11725.  
  11726.         if (Instigator == None && InstigatorController != None)
  11727.             Instigator = InstigatorController.Pawn;
  11728.  
  11729.         PawnOwner.DelayedDamageInstigatorController = InstigatorController;
  11730.         PawnOwner.TakeDamage(Modifier * 2, Instigator, PawnOwner.Location, vect(0,0,0), class'DamTypePoison');
  11731.     }
  11732.  
  11733.     if (Level.NetMode != NM_DedicatedServer && PawnOwner != None)
  11734.     {
  11735.         PawnOwner.Spawn(class'GoopSmoke');
  11736.         if (PawnOwner.IsLocallyControlled() && PlayerController(PawnOwner.Controller) != None)
  11737.             PlayerController(PawnOwner.Controller).ReceiveLocalizedMessage(class'RPGDamageConditionMessage', 0);
  11738.     }
  11739. }
  11740.  
  11741. defaultproperties
  11742. {
  11743.     bOnlyRelevantToOwner=false
  11744. }
  11745. //hack to update projectile speed since neither Speed nor MaxSpeed is a replicated variable
  11746. //Used by RW_Force
  11747. class ProjectileSpeedChanger extends Actor;
  11748.  
  11749. var int Modifier;
  11750. var Projectile ModifiedProjectile;
  11751.  
  11752. replication
  11753. {
  11754.     reliable if (bNetInitial && Role == ROLE_Authority)
  11755.         Modifier, ModifiedProjectile;
  11756. }
  11757.  
  11758. simulated function PostBeginPlay()
  11759. {
  11760.     if (Level.NetMode == NM_Client)
  11761.         SetTimer(10, false);
  11762.  
  11763.     Super.PostBeginPlay();
  11764. }
  11765.  
  11766. simulated event Tick(float deltaTime)
  11767. {
  11768.     if (Role == ROLE_Authority)
  11769.     {
  11770.         if (ModifiedProjectile == None)
  11771.             Destroy();
  11772.         return;
  11773.     }
  11774.     else if (ModifiedProjectile == None)
  11775.     {
  11776.         //bNetTemporary projectiles don't always get hooked up, so find it
  11777.         if (Modifier == 0)
  11778.             return;
  11779.         foreach CollidingActors(class'Projectile', ModifiedProjectile, 200)
  11780.             if (ModifiedProjectile.MaxSpeed == ModifiedProjectile.default.MaxSpeed)
  11781.                 break;
  11782.         if (ModifiedProjectile == None)
  11783.             return;
  11784.     }
  11785.  
  11786.     ModifiedProjectile.Velocity *= 1.0 + 0.2 * Modifier;
  11787.     ModifiedProjectile.Speed *= 1.0 + 0.2 * Modifier;
  11788.     ModifiedProjectile.MaxSpeed *= 1.0 + 0.2 * Modifier;
  11789.     Destroy();
  11790. }
  11791.  
  11792. simulated function Timer()
  11793. {
  11794.     Destroy();
  11795. }
  11796.  
  11797. defaultproperties
  11798. {
  11799.     bGameRelevant=true
  11800.     bHidden=true
  11801.     bNetTemporary=true
  11802.     RemoteRole=ROLE_SimulatedProxy
  11803. }
  11804. class UltimaChargeEmitter extends xEmitter;
  11805.  
  11806. defaultproperties
  11807. {
  11808.     //mLifeRange(0)=0.10000
  11809.     //mLifeRange(1)=0.10000
  11810.     //mSpeedRange(0)=-50.000000
  11811.     //mSpeedRange(1)=-50.000000
  11812.     mLifeRange(0)=0.20000
  11813.     mLifeRange(1)=0.20000
  11814.     mSpeedRange(0)=-50.00000
  11815.     mSpeedRange(1)=-50.00000
  11816.  
  11817.     //mSizeRange(0)=2.00000
  11818.     //mSizeRange(1)=4.00000
  11819.     //mSizeRange(0)=4.00000
  11820.     //mSizeRange(1)=8.00000
  11821.     mSizeRange(0)=8.00000
  11822.     mSizeRange(1)=16.00000
  11823.  
  11824.     mGrowthRate=0.000000
  11825.     mPosDev=(X=5.000000,Y=5.000000,Z=5.000000)
  11826.     //mSpawnVecB=(X=10.000000,Z=0.160000)
  11827.     //mSpawnVecB=(X=20.00000,Z=0.32000)
  11828.     //mSpawnVecB=(X=40.00000,Z=0.64000)
  11829.     mSpawnVecB=(X=60.00000,Z=0.96000)
  11830.  
  11831.     mParticleType=PT_Line
  11832.     mSpawningType=ST_Explode
  11833.  
  11834.     mStartParticles=0
  11835.     mMaxParticles=100
  11836.  
  11837.     mRegenRange(0)=50.000000
  11838.     mRegenRange(1)=50.000000
  11839.  
  11840.     mMassRange(0)=0.000000
  11841.     mMassRange(1)=0.000000
  11842.     mAirResistance=0.000000
  11843.  
  11844.     //mColorRange(0)=(B=220,G=45,R=45,A=25)
  11845.     //mColorRange(1)=(B=250,G=65,R=65,A=200)
  11846.     mColorRange(0)=(B=45,G=220,R=45,A=255)
  11847.     mColorRange(1)=(B=65,G=250,R=65,A=255)
  11848.  
  11849.     mAttenKa=0.200000
  11850.     bForceAffected=False
  11851.     Physics=PHYS_Rotating
  11852.     Style=STY_Additive
  11853.     Skins(0)=Texture'FlakTrailTex'
  11854.     bFixedRotationDir=True
  11855.     RotationRate=(Yaw=16000)
  11856.  
  11857.     mPosRelative=true
  11858.     bUnlit=true
  11859. }
  11860. class UltimaCharger extends Actor;
  11861.  
  11862. var xEmitter ChargeEmitter;
  11863. var float ChargeTime;
  11864. var float Damage, DamageRadius;
  11865. var class<DamageType> DamageType;
  11866. var float MomentumTransfer;
  11867. var AvoidMarker Fear;
  11868.  
  11869. function DoDamage(float Radius)
  11870. {
  11871.     local actor Victims;
  11872.     local float damageScale, dist;
  11873.     local vector dir;
  11874.  
  11875.     if (Instigator == None && Controller(Owner) != None)
  11876.         Instigator = Controller(Owner).Pawn;
  11877.  
  11878.     //HurtRadius(), with some modifications
  11879.  
  11880.     if(bHurtEntry)
  11881.         return;
  11882.  
  11883.     bHurtEntry = true;
  11884.     foreach VisibleCollidingActors(class 'Actor', Victims, Radius, Location)
  11885.     {
  11886.         // don't let blast damage affect fluid - VisibleCollisingActors doesn't really work for them - jag
  11887.         if ( Victims != self && Victims != Instigator && Victims.Role == ROLE_Authority && !Victims.IsA('FluidSurfaceInfo')
  11888.              && (Pawn(Victims) == None || TeamGame(Level.Game) == None || TeamGame(Level.Game).FriendlyFireScale > 0
  11889.                  || Pawn(Victims).Controller == None || !Pawn(Victims).Controller.SameTeamAs(Controller(Owner))) )
  11890.         {
  11891.             dir = Victims.Location - Location;
  11892.             dist = FMax(1,VSize(dir));
  11893.             dir = dir/dist;
  11894.             damageScale = 1 - FMax(0,(dist - Victims.CollisionRadius)/DamageRadius);
  11895.             //set HitDamageType early so AbilityUltima.ScoreKill() can use it
  11896.             if (Pawn(Victims) != None)
  11897.                 Pawn(Victims).HitDamageType = DamageType;
  11898.             Victims.TakeDamage
  11899.             (
  11900.                 damageScale * Damage,
  11901.                 Instigator,
  11902.                 Victims.Location - 0.5 * (Victims.CollisionHeight + Victims.CollisionRadius) * dir,
  11903.                 (damageScale * MomentumTransfer * dir),
  11904.                 DamageType
  11905.             );
  11906.         }
  11907.     }
  11908.     bHurtEntry = false;
  11909. }
  11910.  
  11911. simulated function PostBeginPlay()
  11912. {
  11913.     if (Level.NetMode != NM_DedicatedServer)
  11914.         ChargeEmitter = spawn(class'UltimaChargeEmitter');
  11915.  
  11916.     Super.PostBeginPlay();
  11917. }
  11918.  
  11919. simulated function Destroyed()
  11920. {
  11921.     if (ChargeEmitter != None)
  11922.         ChargeEmitter.Destroy();
  11923.  
  11924.     Super.Destroyed();
  11925. }
  11926.  
  11927. auto state Charging
  11928. {
  11929. Begin:
  11930.     if (Instigator != None && Instigator.Health > 0)
  11931.         Destroy();
  11932.  
  11933.     Fear = spawn(class'AvoidMarker');
  11934.     Fear.SetCollisionSize(DamageRadius, 200);
  11935.     Fear.StartleBots();
  11936.  
  11937.     Sleep(ChargeTime);
  11938.     spawn(class'UltimaExplosion');
  11939.     bHidden = true; //for netplay - makes it irrelevant
  11940.     if (ChargeEmitter != None)
  11941.         ChargeEmitter.Destroy();
  11942.     MakeNoise(1.0);
  11943.     PlaySound(sound'WeaponSounds.redeemer_explosionsound');
  11944.     DoDamage(DamageRadius*0.125);
  11945.     Sleep(0.5);
  11946.     DoDamage(DamageRadius*0.300);
  11947.     Sleep(0.2);
  11948.     DoDamage(DamageRadius*0.475);
  11949.     Sleep(0.2);
  11950.     DoDamage(DamageRadius*0.650);
  11951.     Sleep(0.2);
  11952.     DoDamage(DamageRadius*0.825);
  11953.     Sleep(0.2);
  11954.     DoDamage(DamageRadius);
  11955.  
  11956.     if (Fear != None)
  11957.         Fear.Destroy();
  11958.     Destroy();
  11959. }
  11960.  
  11961. defaultproperties
  11962. {
  11963.     Damage=250.0
  11964.     DamageRadius=2000.0
  11965.     MomentumTransfer=200000
  11966.     DamageType=class'DamTypeUltima'
  11967.     DrawType=DT_None
  11968.     RemoteRole=ROLE_DumbProxy
  11969.     TransientSoundVolume=1.0
  11970.     TransientSoundRadius=5000.0
  11971. }
  11972. class UltimaExplosion extends Emitter
  11973.     placeable;
  11974.  
  11975. defaultproperties
  11976. {
  11977.     Begin Object Class=SpriteEmitter Name=SpriteEmitter0
  11978.         UseDirectionAs=PTDU_Forward
  11979.         UseColorScale=True
  11980.         ColorScale(1)=(RelativeTime=0.330000)
  11981.         ColorScale(2)=(RelativeTime=0.660000,Color=(B=15,G=255,R=51))
  11982.         ColorScale(3)=(RelativeTime=1.000000)
  11983.         FadeInEndTime=0.100000
  11984.         FadeIn=True
  11985.         MaxParticles=40
  11986.         RespawnDeadParticles=False
  11987.         StartLocationOffset=(Z=-64.000000)
  11988.         MeshSpawningStaticMesh=StaticMesh'ParticleMeshes.Simple.ParticleSphere3'
  11989.         MeshSpawning=PTMS_Linear
  11990.         MeshScaleRange=(Z=(Min=2.000000,Max=2.000000))
  11991.         UniformMeshScale=False
  11992.         UseRevolution=True
  11993.         RevolutionsPerSecondRange=(Z=(Min=-0.200000,Max=0.200000))
  11994.         UseSizeScale=True
  11995.         UseRegularSizeScale=False
  11996.         SizeScale(0)=(RelativeSize=1.000000)
  11997.         SizeScale(1)=(RelativeTime=0.500000,RelativeSize=1.000000)
  11998.         SizeScale(2)=(RelativeTime=0.800000,RelativeSize=16.000000)
  11999.         SizeScale(3)=(RelativeTime=1.000000,RelativeSize=25.000000)
  12000.         StartSizeRange=(X=(Min=10.000000,Max=10.000000),Y=(Min=10.000000,Max=10.000000),Z=(Min=10.000000,Max=10.000000))
  12001.         UniformSize=True
  12002.         InitialParticlesPerSecond=4000.000000
  12003.         AutomaticInitialSpawning=False
  12004.         Texture=Texture'EpicParticles.Smoke.Smokepuff2'
  12005.         LifetimeRange=(Min=2.000000,Max=2.000000)
  12006.         StartVelocityRange=(Z=(Min=-1.000000,Max=1.000000))
  12007.         StartVelocityRadialRange=(Min=-1.000000,Max=-1.000000)
  12008.         VelocityLossRange=(X=(Max=0.100000),Y=(Max=0.100000))
  12009.         GetVelocityDirectionFrom=PTVD_AddRadial
  12010.         UseVelocityScale=True
  12011.         VelocityScale(1)=(RelativeTime=0.500000)
  12012.         VelocityScale(2)=(RelativeTime=0.700000,RelativeVelocity=(X=3000.000000,Y=3000.000000,Z=1000.000000))
  12013.         VelocityScale(3)=(RelativeTime=1.000000)
  12014.         SecondsBeforeInactive=0
  12015.         Name="SpriteEmitter0"
  12016.     End Object
  12017.     Emitters(0)=SpriteEmitter'SpriteEmitter0'
  12018.     Begin Object Class=SpriteEmitter Name=SpriteEmitter1
  12019.         UseDirectionAs=PTDU_Forward
  12020.         UseColorScale=True
  12021.         ColorScale(1)=(RelativeTime=0.330000)
  12022.         ColorScale(2)=(RelativeTime=0.660000,Color=(G=255,R=128,A=190))
  12023.         ColorScale(3)=(RelativeTime=1.000000)
  12024.         FadeInEndTime=0.100000
  12025.         FadeIn=True
  12026.         MaxParticles=60
  12027.         RespawnDeadParticles=False
  12028.         StartLocationShape=PTLS_Sphere
  12029.         SphereRadiusRange=(Min=64.000000,Max=128.000000)
  12030.         MeshSpawningStaticMesh=StaticMesh'ParticleMeshes.Simple.ParticleSphere3'
  12031.         MeshScaleRange=(Z=(Min=2.000000,Max=2.000000))
  12032.         UniformMeshScale=False
  12033.         UseRevolution=True
  12034.         RevolutionsPerSecondRange=(Z=(Min=-0.200000,Max=0.200000))
  12035.         SpinParticles=True
  12036.         StartSpinRange=(X=(Max=1.000000))
  12037.         UseSizeScale=True
  12038.         UseRegularSizeScale=False
  12039.         SizeScale(0)=(RelativeSize=1.000000)
  12040.         SizeScale(1)=(RelativeTime=0.500000,RelativeSize=1.000000)
  12041.         SizeScale(2)=(RelativeTime=0.800000,RelativeSize=16.000000)
  12042.         SizeScale(3)=(RelativeTime=1.000000,RelativeSize=25.000000)
  12043.         StartSizeRange=(X=(Min=10.000000,Max=10.000000),Y=(Min=10.000000,Max=10.000000),Z=(Min=10.000000,Max=10.000000))
  12044.         UniformSize=True
  12045.         InitialParticlesPerSecond=4000.000000
  12046.         AutomaticInitialSpawning=False
  12047.         Texture=Texture'EpicParticles.Smoke.Smokepuff2'
  12048.         LifetimeRange=(Min=2.000000,Max=2.000000)
  12049.         InitialDelayRange=(Min=0.050000,Max=0.050000)
  12050.         StartVelocityRange=(Z=(Min=-1.000000,Max=1.000000))
  12051.         StartVelocityRadialRange=(Min=1.000000,Max=1.000000)
  12052.         VelocityLossRange=(X=(Max=0.100000),Y=(Max=0.100000))
  12053.         GetVelocityDirectionFrom=PTVD_AddRadial
  12054.         UseVelocityScale=True
  12055.         VelocityScale(1)=(RelativeTime=0.500000)
  12056.         VelocityScale(2)=(RelativeTime=0.700000,RelativeVelocity=(X=-3000.000000,Y=-3000.000000,Z=-1000.000000))
  12057.         VelocityScale(3)=(RelativeTime=1.000000)
  12058.         SecondsBeforeInactive=0
  12059.         Name="SpriteEmitter1"
  12060.     End Object
  12061.     Emitters(1)=SpriteEmitter'SpriteEmitter1'
  12062.     Begin Object Class=SpriteEmitter Name=SpriteEmitter2
  12063.         UseDirectionAs=PTDU_Forward
  12064.         UseColorScale=True
  12065.         ColorScale(1)=(RelativeTime=0.330000,Color=(B=60,G=60,R=60,A=100))
  12066.         ColorScale(2)=(RelativeTime=0.660000,Color=(B=80,G=80,R=80,A=255))
  12067.         ColorScale(3)=(RelativeTime=1.000000)
  12068.         FadeInEndTime=0.100000
  12069.         FadeIn=True
  12070.         MaxParticles=150
  12071.         RespawnDeadParticles=False
  12072.         StartLocationShape=PTLS_Sphere
  12073.         SphereRadiusRange=(Min=128.000000,Max=128.000000)
  12074.         MeshSpawningStaticMesh=StaticMesh'ParticleMeshes.Simple.ParticleSphere3'
  12075.         MeshScaleRange=(X=(Min=2.000000,Max=2.000000),Y=(Min=2.000000,Max=2.000000),Z=(Min=2.000000,Max=2.000000))
  12076.         UniformMeshScale=False
  12077.         UseRevolution=True
  12078.         RevolutionsPerSecondRange=(Z=(Min=0.100000,Max=0.100000))
  12079.         UseRevolutionScale=True
  12080.         RevolutionScale(0)=(RelativeRevolution=(Z=10.000000))
  12081.         RevolutionScale(1)=(RelativeTime=1.000000)
  12082.         SpinParticles=True
  12083.         StartSpinRange=(X=(Max=1.000000))
  12084.         UseSizeScale=True
  12085.         UseRegularSizeScale=False
  12086.         SizeScale(0)=(RelativeSize=1.000000)
  12087.         SizeScale(1)=(RelativeTime=0.500000,RelativeSize=1.000000)
  12088.         SizeScale(2)=(RelativeTime=0.800000,RelativeSize=16.000000)
  12089.         SizeScale(3)=(RelativeTime=1.000000,RelativeSize=50.000000)
  12090.         StartSizeRange=(X=(Min=10.000000,Max=10.000000),Y=(Min=10.000000,Max=10.000000),Z=(Min=10.000000,Max=10.000000))
  12091.         UniformSize=True
  12092.         InitialParticlesPerSecond=4000.000000
  12093.         AutomaticInitialSpawning=False
  12094.         DrawStyle=PTDS_AlphaBlend
  12095.         Texture=Texture'EpicParticles.Smoke.Smokepuff'
  12096.         LifetimeRange=(Min=2.000000,Max=2.000000)
  12097.         InitialDelayRange=(Min=0.100000,Max=0.100000)
  12098.         StartVelocityRange=(Z=(Min=-1.000000,Max=1.000000))
  12099.         StartVelocityRadialRange=(Min=-0.800000,Max=-1.000000)
  12100.         VelocityLossRange=(X=(Max=0.100000),Y=(Max=0.100000))
  12101.         GetVelocityDirectionFrom=PTVD_AddRadial
  12102.         UseVelocityScale=True
  12103.         VelocityScale(1)=(RelativeTime=0.500000)
  12104.         VelocityScale(2)=(RelativeTime=0.700000,RelativeVelocity=(X=3000.000000,Y=3000.000000,Z=1000.000000))
  12105.         VelocityScale(3)=(RelativeTime=1.000000,RelativeVelocity=(X=300.000000,Y=300.000000,Z=100.000000))
  12106.         SecondsBeforeInactive=0
  12107.         Name="SpriteEmitter2"
  12108.     End Object
  12109.     Emitters(2)=SpriteEmitter'SpriteEmitter2'
  12110.     Begin Object Class=SpriteEmitter Name=SpriteEmitter3
  12111.         UseDirectionAs=PTDU_Forward
  12112.         UseColorScale=True
  12113.         ColorScale(1)=(RelativeTime=0.330000)
  12114.         ColorScale(2)=(RelativeTime=0.660000,Color=(B=15,G=255,R=51))
  12115.         ColorScale(3)=(RelativeTime=1.000000)
  12116.         FadeInEndTime=0.100000
  12117.         FadeIn=True
  12118.         MaxParticles=50
  12119.         RespawnDeadParticles=False
  12120.         StartLocationShape=PTLS_Sphere
  12121.         SphereRadiusRange=(Min=64.000000,Max=128.000000)
  12122.         MeshSpawningStaticMesh=StaticMesh'ParticleMeshes.Simple.ParticleSphere3'
  12123.         MeshScaleRange=(X=(Min=1.500000,Max=1.500000),Y=(Min=1.500000,Max=1.500000))
  12124.         UniformMeshScale=False
  12125.         UseRevolution=True
  12126.         RevolutionsPerSecondRange=(Z=(Min=-0.200000,Max=0.200000))
  12127.         UseRevolutionScale=True
  12128.         RevolutionScale(0)=(RelativeRevolution=(Z=1.000000))
  12129.         RevolutionScale(1)=(RelativeTime=1.000000)
  12130.         UseSizeScale=True
  12131.         UseRegularSizeScale=False
  12132.         SizeScale(0)=(RelativeSize=1.000000)
  12133.         SizeScale(1)=(RelativeTime=0.500000,RelativeSize=1.000000)
  12134.         SizeScale(2)=(RelativeTime=0.800000,RelativeSize=16.000000)
  12135.         SizeScale(3)=(RelativeTime=1.000000,RelativeSize=25.000000)
  12136.         StartSizeRange=(X=(Min=10.000000,Max=10.000000),Y=(Min=10.000000,Max=10.000000),Z=(Min=10.000000,Max=10.000000))
  12137.         UniformSize=True
  12138.         InitialParticlesPerSecond=4000.000000
  12139.         AutomaticInitialSpawning=False
  12140.         Texture=Texture'EpicParticles.Smoke.Smokepuff2'
  12141.         LifetimeRange=(Min=2.000000,Max=2.000000)
  12142.         InitialDelayRange=(Min=0.050000,Max=0.050000)
  12143.         StartVelocityRange=(Z=(Min=-1.000000,Max=1.000000))
  12144.         StartVelocityRadialRange=(Min=-1.000000,Max=-1.000000)
  12145.         VelocityLossRange=(X=(Max=0.100000),Y=(Max=0.100000))
  12146.         GetVelocityDirectionFrom=PTVD_AddRadial
  12147.         UseVelocityScale=True
  12148.         VelocityScale(1)=(RelativeTime=0.500000)
  12149.         VelocityScale(2)=(RelativeTime=0.700000,RelativeVelocity=(X=2000.000000,Y=2000.000000,Z=500.000000))
  12150.         VelocityScale(3)=(RelativeTime=1.000000)
  12151.         SecondsBeforeInactive=0
  12152.         Name="SpriteEmitter3"
  12153.     End Object
  12154.     Emitters(3)=SpriteEmitter'SpriteEmitter3'
  12155.     Begin Object Class=MeshEmitter Name=MeshEmitter0
  12156.         StaticMesh=StaticMesh'ParticleMeshes.Complex.ExplosionRing'
  12157.         UseParticleColor=True
  12158.         UseColorScale=True
  12159.         ColorScale(1)=(RelativeTime=0.300000,Color=(B=55,G=255,R=55))
  12160.         ColorScale(2)=(RelativeTime=0.600000,Color=(B=0,G=255,R=0))
  12161.         ColorScale(3)=(RelativeTime=1.000000)
  12162.         FadeOutStartTime=1.000000
  12163.         FadeOut=True
  12164.         FadeInEndTime=0.100000
  12165.         FadeIn=True
  12166.         MaxParticles=1
  12167.         RespawnDeadParticles=False
  12168.         StartSpinRange=(Y=(Max=1.000000),Z=(Max=1.000000))
  12169.         UseSizeScale=True
  12170.         UseRegularSizeScale=False
  12171.         SizeScale(0)=(RelativeSize=0.200000)
  12172.         SizeScale(1)=(RelativeTime=1.000000,RelativeSize=25.000000)
  12173.         StartSizeRange=(X=(Min=0.500000,Max=0.500000),Y=(Min=0.500000,Max=0.500000))
  12174.         InitialParticlesPerSecond=50000.000000
  12175.         AutomaticInitialSpawning=False
  12176.         Texture=Texture'EpicParticles.Smoke.FlameGradient'
  12177.         LifetimeRange=(Min=1.000000,Max=1.000000)
  12178.         InitialDelayRange=(Min=1.000000,Max=1.000000)
  12179.         SecondsBeforeInactive=0
  12180.         Name="MeshEmitter0"
  12181.     End Object
  12182.     Emitters(4)=MeshEmitter'MeshEmitter0'
  12183.     Begin Object Class=MeshEmitter Name=MeshEmitter1
  12184.         StaticMesh=StaticMesh'ParticleMeshes.Complex.ExplosionSphere'
  12185.         RenderTwoSided=True
  12186.         UseParticleColor=True
  12187.         UseColorScale=True
  12188.         ColorScale(1)=(RelativeTime=0.300000,Color=(B=0,G=255,R=0,A=255))
  12189.         ColorScale(2)=(RelativeTime=0.600000,Color=(B=0,G=255,R=0,A=128))
  12190.         ColorScale(3)=(RelativeTime=1.000000)
  12191.         FadeOutStartTime=1.000000
  12192.         FadeOut=True
  12193.         FadeInEndTime=0.100000
  12194.         FadeIn=True
  12195.         MaxParticles=1
  12196.         RespawnDeadParticles=False
  12197.         SpinsPerSecondRange=(X=(Max=1.000000),Y=(Max=1.000000),Z=(Max=1.000000))
  12198.         UseSizeScale=True
  12199.         UseRegularSizeScale=False
  12200.         SizeScale(0)=(RelativeSize=0.200000)
  12201.         SizeScale(1)=(RelativeTime=1.000000,RelativeSize=18.000000)
  12202.         StartSizeRange=(X=(Min=0.800000,Max=0.800000),Y=(Min=0.800000,Max=0.800000),Z=(Min=0.800000,Max=0.800000))
  12203.         UniformSize=True
  12204.         InitialParticlesPerSecond=50000.000000
  12205.         AutomaticInitialSpawning=False
  12206.         DrawStyle=PTDS_AlphaBlend
  12207.         Texture=Texture'EpicParticles.Smoke.FlameGradient'
  12208.         LifetimeRange=(Min=0.750000,Max=0.750000)
  12209.         InitialDelayRange=(Min=1.500000,Max=1.500000)
  12210.         SecondsBeforeInactive=0
  12211.         Name="MeshEmitter1"
  12212.     End Object
  12213.     Emitters(5)=MeshEmitter'MeshEmitter1'
  12214.     Begin Object Class=SpriteEmitter Name=SpriteEmitter4
  12215.         UseColorScale=True
  12216.         ColorScale(0)=(Color=(B=16,G=158,R=30))
  12217.         ColorScale(1)=(RelativeTime=0.600000,Color=(B=64,G=255,R=87))
  12218.         ColorScale(2)=(RelativeTime=0.800000,Color=(B=23,G=187,R=60))
  12219.         ColorScale(3)=(RelativeTime=1.000000)
  12220.         MaxParticles=2
  12221.         RespawnDeadParticles=False
  12222.         UseSizeScale=True
  12223.         UseRegularSizeScale=False
  12224.         SizeScale(0)=(RelativeSize=0.200000)
  12225.         SizeScale(1)=(RelativeTime=0.800000,RelativeSize=10.000000)
  12226.         SizeScale(2)=(RelativeTime=1.000000,RelativeSize=1.000000)
  12227.         StartSizeRange=(X=(Min=200.000000,Max=200.000000))
  12228.         UniformSize=True
  12229.         InitialParticlesPerSecond=50000.000000
  12230.         AutomaticInitialSpawning=False
  12231.         Texture=Texture'EpicParticles.Flares.SoftFlare'
  12232.         LifetimeRange=(Min=1.250000,Max=1.250000)
  12233.         InitialDelayRange=(Min=0.800000,Max=0.800000)
  12234.         SecondsBeforeInactive=0
  12235.         Name="SpriteEmitter4"
  12236.     End Object
  12237.     Emitters(6)=SpriteEmitter'SpriteEmitter4'
  12238.     Begin Object Class=SpriteEmitter Name=SpriteEmitter5
  12239.         UseColorScale=True
  12240.         ColorScale(0)=(Color=(B=111,G=255,R=172))
  12241.         ColorScale(1)=(RelativeTime=1.000000,Color=(B=55,G=234,R=100))
  12242.         FadeOutStartTime=0.900000
  12243.         FadeOut=True
  12244.         FadeInEndTime=0.100000
  12245.         FadeIn=True
  12246.         MaxParticles=2
  12247.         RespawnDeadParticles=False
  12248.         UseSizeScale=True
  12249.         UseRegularSizeScale=False
  12250.         SizeScale(0)=(RelativeSize=1.000000)
  12251.         SizeScale(1)=(RelativeTime=0.700000,RelativeSize=15.000000)
  12252.         SizeScale(2)=(RelativeTime=1.000000,RelativeSize=1.000000)
  12253.         UniformSize=True
  12254.         InitialParticlesPerSecond=50000.000000
  12255.         AutomaticInitialSpawning=False
  12256.         Texture=Texture'EpicParticles.Flares.BurnFlare1'
  12257.         LifetimeRange=(Min=1.000000,Max=1.000000)
  12258.         SecondsBeforeInactive=0
  12259.         Name="SpriteEmitter5"
  12260.     End Object
  12261.     Emitters(7)=SpriteEmitter'SpriteEmitter5'
  12262.     Begin Object Class=SpriteEmitter Name=SpriteEmitter6
  12263.         UseDirectionAs=PTDU_Right
  12264.         UseColorScale=True
  12265.         ColorScale(0)=(Color=(G=255,R=255))
  12266.         ColorScale(1)=(RelativeTime=1.000000,Color=(G=253,R=32))
  12267.         FadeOutStartTime=0.600000
  12268.         FadeOut=True
  12269.         FadeInEndTime=0.200000
  12270.         FadeIn=True
  12271.         RespawnDeadParticles=False
  12272.         StartLocationShape=PTLS_Sphere
  12273.         SphereRadiusRange=(Min=256.000000,Max=256.000000)
  12274.         StartSpinRange=(X=(Min=0.500000,Max=0.500000))
  12275.         StartSizeRange=(X=(Min=80.000000,Max=80.000000),Y=(Min=40.000000,Max=40.000000))
  12276.         InitialParticlesPerSecond=100.000000
  12277.         AutomaticInitialSpawning=False
  12278.         Texture=Texture'EpicParticles.Beams.WhiteStreak01aw'
  12279.         LifetimeRange=(Min=0.800000,Max=0.800000)
  12280.         StartVelocityRadialRange=(Min=200.000000,Max=200.000000)
  12281.         GetVelocityDirectionFrom=PTVD_AddRadial
  12282.         SecondsBeforeInactive=0
  12283.         Name="SpriteEmitter6"
  12284.     End Object
  12285.     Emitters(8)=SpriteEmitter'SpriteEmitter6'
  12286.     Begin Object Class=MeshEmitter Name=MeshEmitter2
  12287.         StaticMesh=StaticMesh'ParticleMeshes.Complex.ExplosionSphere'
  12288.         RenderTwoSided=True
  12289.         UseParticleColor=True
  12290.         UseColorScale=True
  12291.         ColorScale(0)=(Color=(B=0,G=255,R=0,A=255))
  12292.         ColorScale(1)=(RelativeTime=1.000000,Color=(B=0,G=255,R=0,A=255))
  12293.         FadeOutStartTime=0.750000
  12294.         FadeOut=True
  12295.         MaxParticles=1
  12296.         RespawnDeadParticles=False
  12297.         UseSizeScale=True
  12298.         UseRegularSizeScale=False
  12299.         DrawStyle=PTDS_AlphaBlend
  12300.         SizeScale(0)=(RelativeSize=0.200000)
  12301.         SizeScale(1)=(RelativeTime=1.000000,RelativeSize=25.000000)
  12302.         StartSizeRange=(Z=(Min=0.800000,Max=0.800000))
  12303.         InitialParticlesPerSecond=50000.000000
  12304.         AutomaticInitialSpawning=False
  12305.         LifetimeRange=(Min=1.000000,Max=1.000000)
  12306.         InitialDelayRange=(Min=1.200000,Max=1.200000)
  12307.         SecondsBeforeInactive=0
  12308.         Name="MeshEmitter2"
  12309.     End Object
  12310.     Emitters(9)=MeshEmitter'MeshEmitter2'
  12311.     AutoDestroy=True
  12312.     Style=STY_Masked
  12313.     bUnlit=true
  12314.     bDirectional=True
  12315.     bNoDelete=false
  12316.     RemoteRole=ROLE_DumbProxy
  12317.     bNetTemporary=true
  12318. }
  12319. class RPGArtifact extends Powerups;
  12320.  
  12321. var int CostPerSec; //adrenaline cost per second
  12322. var float ActivatedTime, MinActivationTime;
  12323. var localized string NotEnoughAdrenalineMessage;
  12324.  
  12325. replication
  12326. {
  12327.     reliable if (Role < ROLE_Authority)
  12328.         TossArtifact;
  12329. }
  12330.  
  12331. static function bool ArtifactIsAllowed(GameInfo Game)
  12332. {
  12333.     return true;
  12334. }
  12335.  
  12336. //Hack for bots
  12337. function OwnerEvent(name EventName)
  12338. {
  12339.     if (EventName == 'ChangedWeapon' && AIController(Instigator.Controller) != None)
  12340.         BotConsider();
  12341.  
  12342.     Super.OwnerEvent(EventName);
  12343. }
  12344.  
  12345. //AI for activating/deactivating this artifact
  12346. function BotConsider();
  12347.  
  12348. //returns true if Instigator currently has no active artifacts
  12349. simulated function bool NoArtifactsActive()
  12350. {
  12351.     local Inventory Inv;
  12352.     local int Count;
  12353.  
  12354.     for (Inv = Instigator.Inventory; Inv != None; Inv = Inv.Inventory)
  12355.     {
  12356.         if (RPGArtifact(Inv) != None && RPGArtifact(Inv).bActive)
  12357.             return false;
  12358.         Count++;
  12359.         if (Count > 1000)
  12360.             break;
  12361.     }
  12362.  
  12363.     return true;
  12364. }
  12365.  
  12366. function bool HandlePickupQuery(Pickup Item)
  12367. {
  12368.     if (item.InventoryType == class)
  12369.     {
  12370.         if (bCanHaveMultipleCopies)
  12371.             NumCopies++;
  12372.         else if ( bDisplayableInv )
  12373.         {
  12374.             if ( Item.Inventory != None )
  12375.                 Charge = Max(Charge, Item.Inventory.Charge);
  12376.             else
  12377.                 Charge = Max(Charge, Item.InventoryType.Default.Charge);
  12378.         }
  12379.         else
  12380.             return false;
  12381.  
  12382.         Item.AnnouncePickup(Pawn(Owner));
  12383.         Item.SetRespawn();
  12384.         return true;
  12385.     }
  12386.     if ( Inventory == None )
  12387.         return false;
  12388.  
  12389.     return Inventory.HandlePickupQuery(Item);
  12390. }
  12391.  
  12392. //Toss out this artifact
  12393. exec function TossArtifact()
  12394. {
  12395.     local vector X, Y, Z;
  12396.  
  12397.     Instigator.NextItem();
  12398.     Velocity = Vector(Instigator.Controller.GetViewRotation());
  12399.     Velocity = Velocity * ((Instigator.Velocity Dot Velocity) + 500) + Vect(0,0,200);
  12400.     GetAxes(Instigator.Rotation, X, Y, Z);
  12401.     DropFrom(Instigator.Location + 0.8 * Instigator.CollisionRadius * X - 0.5 * Instigator.CollisionRadius * Y);
  12402. }
  12403.  
  12404. function DropFrom(vector StartLocation)
  12405. {
  12406.     if (bActive)
  12407.         GotoState('');
  12408.  
  12409.     Super.DropFrom(StartLocation);
  12410. }
  12411.  
  12412. function UsedUp()
  12413. {
  12414.     if ( Pawn(Owner) != None )
  12415.     {
  12416.         Activate();
  12417.         Instigator.ReceiveLocalizedMessage(MessageClass, 0, None, None, Class);
  12418.     }
  12419.     Owner.PlaySound(DeactivateSound,SLOT_Interface);
  12420. }
  12421.  
  12422. function Activate()
  12423. {
  12424.     if (bActivatable && Instigator.Controller != None)
  12425.     {
  12426.         if (bActive && Level.TimeSeconds > ActivatedTime + MinActivationTime)
  12427.             GotoState('');
  12428.         else if (!bActive)
  12429.         {
  12430.             if (Instigator.Controller.Adrenaline > CostPerSec * MinActivationTime)
  12431.             {
  12432.                 ActivatedTime = Level.TimeSeconds;
  12433.                 GotoState('Activated');
  12434.             }
  12435.             else
  12436.                 Instigator.ReceiveLocalizedMessage(MessageClass, 1, None, None, Class);
  12437.         }
  12438.     }
  12439. }
  12440.  
  12441. static function string GetLocalString(optional int Switch, optional PlayerReplicationInfo RelatedPRI_1, optional PlayerReplicationInfo RelatedPRI_2)
  12442. {
  12443.     if (Switch == 1)
  12444.         return Default.NotEnoughAdrenalineMessage;
  12445.  
  12446.     return Super.GetLocalString(Switch, RelatedPRI_1, RelatedPRI_2);
  12447. }
  12448.  
  12449. simulated function Tick(float deltaTime)
  12450. {
  12451.     if (bActive)
  12452.     {
  12453.         Instigator.Controller.Adrenaline -= deltaTime * CostPerSec;
  12454.         if (Instigator.Controller.Adrenaline <= 0.0)
  12455.         {
  12456.             Instigator.Controller.Adrenaline = 0.0;
  12457.             UsedUp();
  12458.         }
  12459.     }
  12460. }
  12461.  
  12462. defaultproperties
  12463. {
  12464.     bReplicateInstigator=true
  12465.     bDisplayableInv=true
  12466.     bActivatable=true
  12467.     bCanHaveMultipleCopies=true
  12468.     ExpireMessage="Your adrenaline has run out."
  12469.     NotEnoughAdrenalineMessage="You do not have enough adrenaline to activate this artifact."
  12470.     MessageClass=class'StringMessagePlus'
  12471.     MinActivationTime=2.0
  12472. }
  12473. class RPGArtifactPickup extends TournamentPickup;
  12474.  
  12475. var float LifeTime;
  12476. var RPGArtifactManager ArtifactManager;
  12477.  
  12478. function PostBeginPlay()
  12479. {
  12480.     Super.PostBeginPlay();
  12481.  
  12482.     foreach DynamicActors(class'RPGArtifactManager', ArtifactManager)
  12483.         break;
  12484.  
  12485.     if (ArtifactManager != None)
  12486.         SetTimer(Lifetime, false);
  12487.     else
  12488.         Destroy();
  12489. }
  12490.  
  12491. function bool CanPickupArtifact(Pawn Other)
  12492. {
  12493.     local Inventory Inv;
  12494.     local int Count, NumArtifacts;
  12495.  
  12496.     if (ArtifactManager == None)
  12497.     {
  12498.         //PostBeginPlay() hasn't been called yet, wait until later
  12499.         PendingTouch = Other.PendingTouch;
  12500.         Other.PendingTouch = self;
  12501.         return false;
  12502.     }
  12503.  
  12504.     if (ArtifactManager.MaxHeldArtifacts <= 0)
  12505.         return true;
  12506.  
  12507.     for (Inv = Other.Inventory; Inv != None; Inv = Inv.Inventory)
  12508.     {
  12509.         if (RPGArtifact(Inv) != None)
  12510.             NumArtifacts++;
  12511.         Count++;
  12512.         if (Count > 1000)
  12513.             break;
  12514.     }
  12515.  
  12516.     if (NumArtifacts >= ArtifactManager.MaxHeldArtifacts)
  12517.         return false;
  12518.  
  12519.     return true;
  12520. }
  12521.  
  12522. function float DetourWeight(Pawn Other, float PathWeight)
  12523. {
  12524.     if (CanPickupArtifact(Other))
  12525.         return MaxDesireability/PathWeight;
  12526.     else
  12527.         return 0;
  12528. }
  12529.  
  12530. function float BotDesireability(Pawn Bot)
  12531. {
  12532.     if (CanPickupArtifact(Bot))
  12533.         return MaxDesireability;
  12534.     else
  12535.         return 0;
  12536. }
  12537.  
  12538. auto state Pickup
  12539. {
  12540.     function bool ValidTouch(Actor Other)
  12541.     {
  12542.         if (!Super.ValidTouch(Other))
  12543.             return false;
  12544.  
  12545.         return CanPickupArtifact(Pawn(Other));
  12546.     }
  12547. }
  12548.  
  12549. defaultproperties
  12550. {
  12551.     RespawnTime=0.0
  12552.     MaxDesireability=1.5
  12553.     Lifetime=30.0
  12554. }
  12555. //RPGWeapons are wrappers for normal weapons which pass all functions to the weapon it controls,
  12556. //possibly modifying things first. This allows for weapon modifiers in a way that's
  12557. //compatible with almost any weapon, as long as no part of that weapon tries to cast Pawn.Weapon (which will always fail)
  12558. class RPGWeapon extends Weapon
  12559.     DependsOn(RPGStatsInv)
  12560.     config(UT2004RPG)
  12561.     HideDropDown
  12562.     CacheExempt;
  12563.  
  12564. var Weapon ModifiedWeapon;
  12565. var Material ModifierOverlay;
  12566. var int Modifier, MinModifier, MaxModifier; // +1, +2, -1, -2, etc
  12567. var float AIRatingBonus;
  12568. var localized string PrefixPos, PostfixPos, PrefixNeg, PostfixNeg;
  12569. var bool bCanHaveZeroModifier;
  12570. var bool bIdentified;
  12571. var int References; //number of UT2004RPG actors referencing this actor
  12572. var int SniperZoomMode; //sniper zoom hack
  12573. var RPGStatsInv HolderStatsInv;
  12574. var int LastAmmoChargePrimary; //used to sync up AmmoCharge between multiple RPGWeapons modifying the same class of weapon
  12575.  
  12576. replication
  12577. {
  12578.     reliable if (bNetOwner && bNetDirty && Role == ROLE_Authority)
  12579.         ModifiedWeapon, Modifier, bIdentified;
  12580.     reliable if (Role < ROLE_Authority)
  12581.         ChangeAmmo, ChaosWeaponOption, ReloadMeNow, FinishReloading, ServerForceUpdate;
  12582. }
  12583.  
  12584. //RPG functions
  12585.  
  12586. static function bool AllowedFor(class<Weapon> Weapon, Pawn Other)
  12587. {
  12588.     return true;
  12589. }
  12590.  
  12591. function Generate(RPGWeapon ForcedWeapon)
  12592. {
  12593.     local int Count;
  12594.  
  12595.     if (ForcedWeapon != None)
  12596.         Modifier = ForcedWeapon.Modifier;
  12597.     else
  12598.     {
  12599.         do
  12600.         {
  12601.             Modifier = Rand(MaxModifier+1-MinModifier) + MinModifier;
  12602.             Count++;
  12603.         } until (Modifier != 0 || bCanHaveZeroModifier || Count > 1000)
  12604.     }
  12605. }
  12606.  
  12607. function SetModifiedWeapon(Weapon w, bool bIdentify)
  12608. {
  12609.     if (w == None)
  12610.     {
  12611.         Destroy();
  12612.         return;
  12613.     }
  12614.     ModifiedWeapon = w;
  12615.     SetWeaponInfo();
  12616.     if (bIdentify)
  12617.     {
  12618.         Instigator = None; //don't want to send an identify message to anyone here
  12619.         Identify();
  12620.     }
  12621. }
  12622.  
  12623. simulated function SetWeaponInfo()
  12624. {
  12625.     local int x;
  12626.  
  12627.     ModifiedWeapon.Instigator = Instigator;
  12628.     ModifiedWeapon.SetOwner(Owner);
  12629.     ItemName = ModifiedWeapon.ItemName;
  12630.     AIRating = ModifiedWeapon.AIRating;
  12631.     InventoryGroup = ModifiedWeapon.InventoryGroup;
  12632.     GroupOffset = ModifiedWeapon.GroupOffset;
  12633.     IconMaterial = ModifiedWeapon.IconMaterial;
  12634.     IconCoords = ModifiedWeapon.IconCoords;
  12635.     Priority = ModifiedWeapon.Priority;
  12636.     PlayerViewOffset = ModifiedWeapon.PlayerViewOffset;
  12637.     DisplayFOV = ModifiedWeapon.DisplayFOV;
  12638.     EffectOffset = ModifiedWeapon.EffectOffset;
  12639.     bMatchWeapons = ModifiedWeapon.bMatchWeapons;
  12640.     bShowChargingBar = ModifiedWeapon.bShowChargingBar;
  12641.     bCanThrow = ModifiedWeapon.bCanThrow;
  12642.     ExchangeFireModes = ModifiedWeapon.ExchangeFireModes;
  12643.     bNoAmmoInstances = ModifiedWeapon.bNoAmmoInstances;
  12644.     HudColor = ModifiedWeapon.HudColor;
  12645.     SniperZoomMode = -1;
  12646.     for (x = 0; x < NUM_FIRE_MODES; x++)
  12647.     {
  12648.         FireMode[x] = ModifiedWeapon.FireMode[x];
  12649.         Ammo[x] = ModifiedWeapon.Ammo[x];
  12650.         AmmoClass[x] = ModifiedWeapon.AmmoClass[x];
  12651.         //someone explain to me why people had to create their own versions of the dummy WeaponFire for zooming
  12652.         if ( FireMode[x].IsA('SniperZoom') || FireMode[x].IsA('PainterZoom') || FireMode[x].IsA('CUTSRZoom')
  12653.              || FireMode[x].IsA('HeliosZoom') || FireMode[x].IsA('LongrifleZoom') || FireMode[x].IsA('PICZoom') )
  12654.             SniperZoomMode = x;
  12655.     }
  12656. }
  12657.  
  12658. function Identify()
  12659. {
  12660.     if (Modifier == 0 && !bCanHaveZeroModifier)
  12661.         return;
  12662.  
  12663.     bIdentified = true;
  12664.     ConstructItemName();
  12665.     if (Instigator != None && PlayerController(Instigator.Controller) != None)
  12666.         PlayerController(Instigator.Controller).ReceiveLocalizedMessage(class'IdentifyMessage', 0,,, self);
  12667.     if (ModifiedWeapon.OverlayMaterial == None)
  12668.         SetOverlayMaterial(ModifierOverlay, -1, true);
  12669. }
  12670.  
  12671. simulated function ConstructItemName()
  12672. {
  12673.     if (Modifier > 0)
  12674.         ItemName = PrefixPos$ModifiedWeapon.ItemName$PostfixPos@"+"$Modifier;
  12675.     else if (Modifier < 0)
  12676.         ItemName = PrefixNeg$ModifiedWeapon.ItemName$PostfixNeg@Modifier;
  12677.     else
  12678.         ItemName = PrefixPos$ModifiedWeapon.ItemName$PostfixPos;
  12679. }
  12680.  
  12681. //return true to allow player to have w
  12682. function bool AllowRPGWeapon(RPGWeapon w)
  12683. {
  12684.     if (Class == w.Class && ModifiedWeapon.Class == w.ModifiedWeapon.Class && Modifier >= w.Modifier)
  12685.         return false;
  12686.  
  12687.     return true;
  12688. }
  12689.  
  12690. //adjust damage to the enemies of the wielder of this weapon
  12691. function AdjustTargetDamage(out int Damage, Actor Victim, Vector HitLocation, out Vector Momentum, class<DamageType> DamageType)
  12692. {
  12693. }
  12694.  
  12695. //This is used to prevent the RPGWeapon from getting destroyed until nothing needs it
  12696. function RemoveReference()
  12697. {
  12698.     References--;
  12699.     if (References <= 0)
  12700.         Destroy();
  12701. }
  12702.  
  12703. //Weapon functions
  12704.  
  12705. simulated function float ChargeBar()
  12706. {
  12707.     return ModifiedWeapon.ChargeBar();
  12708. }
  12709.  
  12710. simulated function GetAmmoCount(out float MaxAmmoPrimary, out float CurAmmoPrimary)
  12711. {
  12712.     ModifiedWeapon.GetAmmoCount(MaxAmmoPrimary, CurAmmoPrimary);
  12713.     if (AmmoClass[0] != None)
  12714.         MaxAmmoPrimary = MaxAmmo(0);
  12715. }
  12716.  
  12717. simulated function DrawWeaponInfo(Canvas C)
  12718. {
  12719.     ModifiedWeapon.DrawWeaponInfo(C);
  12720. }
  12721.  
  12722. simulated function NewDrawWeaponInfo(Canvas C, float YPos)
  12723. {
  12724.     ModifiedWeapon.NewDrawWeaponInfo(C, YPos);
  12725. }
  12726.  
  12727. function OwnerEvent(name EventName)
  12728. {
  12729.     if (EventName == 'ChangedWeapon' && ModifierOverlay != None && bIdentified)
  12730.     {
  12731.         ModifiedWeapon.SetOverlayMaterial(ModifierOverlay, 1000000, false);
  12732.         if (WeaponAttachment(ThirdPersonActor) != None)
  12733.             ThirdPersonActor.SetOverlayMaterial(ModifierOverlay, 1000000, false);
  12734.     }
  12735.  
  12736.     Super.OwnerEvent(EventName);
  12737. }
  12738.  
  12739. function float RangedAttackTime()
  12740. {
  12741.     return ModifiedWeapon.RangedAttackTime();
  12742. }
  12743.  
  12744. function bool RecommendRangedAttack()
  12745. {
  12746.     return ModifiedWeapon.RecommendRangedAttack();
  12747. }
  12748.  
  12749. function bool RecommendLongRangedAttack()
  12750. {
  12751.     return ModifiedWeapon.RecommendLongRangedAttack();
  12752. }
  12753.  
  12754. function bool FocusOnLeader(bool bLeaderFiring)
  12755. {
  12756.     return ModifiedWeapon.FocusOnLeader(bLeaderFiring);
  12757. }
  12758.  
  12759. function FireHack(byte Mode)
  12760. {
  12761.     ModifiedWeapon.FireHack(Mode);
  12762. }
  12763.  
  12764. function bool SplashDamage()
  12765. {
  12766.     return ModifiedWeapon.SplashDamage();
  12767. }
  12768.  
  12769. function bool RecommendSplashDamage()
  12770. {
  12771.     return ModifiedWeapon.RecommendSplashDamage();
  12772. }
  12773.  
  12774. function float GetDamageRadius()
  12775. {
  12776.     return ModifiedWeapon.GetDamageRadius();
  12777. }
  12778.  
  12779. function float RefireRate()
  12780. {
  12781.     return ModifiedWeapon.RefireRate();
  12782. }
  12783.  
  12784. function bool FireOnRelease()
  12785. {
  12786.     return ModifiedWeapon.FireOnRelease();
  12787. }
  12788.  
  12789. simulated function Loaded()
  12790. {
  12791.     ModifiedWeapon.Loaded();
  12792. }
  12793.  
  12794. simulated function DisplayDebug(Canvas Canvas, out float YL, out float YPos)
  12795. {
  12796.     Canvas.SetDrawColor(255,255,255);
  12797.  
  12798.     Canvas.DrawText("RPGWEAPON");
  12799.     YPos += YL;
  12800.     Canvas.SetPos(4,YPos);
  12801.  
  12802.     Canvas.DrawText("ModifiedWeapon: "$ModifiedWeapon);
  12803.     YPos += YL;
  12804.     Canvas.SetPos(4,YPos);
  12805.  
  12806.     ModifiedWeapon.DisplayDebug(Canvas, YL, YPos);
  12807. }
  12808.  
  12809. simulated function Weapon RecommendWeapon( out float rating )
  12810. {
  12811.     local Weapon Recommended;
  12812.     local float oldRating;
  12813.  
  12814.     if ( (Instigator == None) || (Instigator.Controller == None) )
  12815.         rating = -2;
  12816.     else
  12817.         rating = RateSelf() + Instigator.Controller.WeaponPreference(ModifiedWeapon);
  12818.  
  12819.     if ( inventory != None )
  12820.     {
  12821.         Recommended = inventory.RecommendWeapon(oldRating);
  12822.         if ( (Recommended != None) && (oldRating > rating) )
  12823.         {
  12824.             rating = oldRating;
  12825.             return Recommended;
  12826.         }
  12827.     }
  12828.     return self;
  12829. }
  12830.  
  12831. function SetAITarget(Actor T)
  12832. {
  12833.     ModifiedWeapon.SetAITarget(T);
  12834. }
  12835.  
  12836. function byte BestMode()
  12837. {
  12838.     return ModifiedWeapon.BestMode();
  12839. }
  12840.  
  12841. function bool BotFire(bool bFinished, optional name FiringMode)
  12842. {
  12843.     local bool bResult;
  12844.  
  12845.     bResult = ModifiedWeapon.BotFire(bFinished, FiringMode);
  12846.     BotMode = ModifiedWeapon.BotMode;
  12847.     return bResult;
  12848. }
  12849.  
  12850. simulated function vector GetFireStart(vector X, vector Y, vector Z)
  12851. {
  12852.     return ModifiedWeapon.GetFireStart(X, Y, Z);
  12853. }
  12854.  
  12855. simulated function float AmmoStatus(optional int Mode)
  12856. {
  12857.     if (bNoAmmoInstances)
  12858.     {
  12859.         if (AmmoClass[Mode] == None)
  12860.             return 0;
  12861.         if (AmmoClass[0] == AmmoClass[mode])
  12862.             mode = 0;
  12863.  
  12864.         return float(ModifiedWeapon.AmmoCharge[Mode])/float(MaxAmmo(Mode));
  12865.     }
  12866.     if (Ammo[Mode] == None)
  12867.         return 0.0;
  12868.     else
  12869.         return float(Ammo[Mode].AmmoAmount) / float(Ammo[Mode].MaxAmmo);
  12870. }
  12871.  
  12872. simulated function float RateSelf()
  12873. {
  12874.     if ( !HasAmmo() )
  12875.             CurrentRating = -2;
  12876.     else if ( Instigator.Controller == None )
  12877.         return 0;
  12878.     else
  12879.         CurrentRating = Instigator.Controller.RateWeapon(ModifiedWeapon);
  12880.     return CurrentRating;
  12881. }
  12882.  
  12883. function float GetAIRating()
  12884. {
  12885.     if (!bIdentified)
  12886.         return ModifiedWeapon.GetAIRating();
  12887.     else if (MaxModifier == 0)
  12888.         return ModifiedWeapon.GetAIRating() + AIRatingBonus;
  12889.     else
  12890.         return ModifiedWeapon.GetAIRating() + AIRatingBonus * Modifier;
  12891. }
  12892.  
  12893. function float SuggestAttackStyle()
  12894. {
  12895.     return ModifiedWeapon.SuggestAttackStyle();
  12896. }
  12897.  
  12898. function float SuggestDefenseStyle()
  12899. {
  12900.     return ModifiedWeapon.SuggestDefenseStyle();
  12901. }
  12902.  
  12903. function bool SplashJump()
  12904. {
  12905.     return ModifiedWeapon.SplashJump();
  12906. }
  12907.  
  12908. function bool CanAttack(Actor Other)
  12909. {
  12910.     return ModifiedWeapon.CanAttack(Other);
  12911. }
  12912.  
  12913. simulated function Destroyed()
  12914. {
  12915.     DestroyModifiedWeapon();
  12916.  
  12917.     Super.Destroyed();
  12918. }
  12919.  
  12920. simulated function DestroyModifiedWeapon()
  12921. {
  12922.     local int i;
  12923.  
  12924.     //after ModifiedWeapon gets destroyed, the FireMode array will become bogus pointers since they're not actors
  12925.     //so have to manually set to None
  12926.     for (i = 0; i < NUM_FIRE_MODES; i++)
  12927.         FireMode[i] = None;
  12928.  
  12929.     if (ModifiedWeapon != None)
  12930.         ModifiedWeapon.Destroy();
  12931. }
  12932.  
  12933. simulated function Reselect()
  12934. {
  12935.     ModifiedWeapon.Reselect();
  12936. }
  12937.  
  12938. simulated function bool WeaponCentered()
  12939. {
  12940.     return ModifiedWeapon.WeaponCentered();
  12941. }
  12942.  
  12943. simulated event RenderOverlays(Canvas Canvas)
  12944. {
  12945.  
  12946.     ModifiedWeapon.RenderOverlays(Canvas);
  12947. }
  12948.  
  12949. simulated function PreDrawFPWeapon()
  12950. {
  12951.     ModifiedWeapon.PreDrawFPWeapon();
  12952. }
  12953.  
  12954. simulated function SetHand(float InHand)
  12955. {
  12956.     Hand = InHand;
  12957.     ModifiedWeapon.SetHand(Hand);
  12958. }
  12959.  
  12960. simulated function GetViewAxes(out vector xaxis, out vector yaxis, out vector zaxis)
  12961. {
  12962.     ModifiedWeapon.GetViewAxes(xaxis, yaxis, zaxis);
  12963. }
  12964.  
  12965. simulated function vector CenteredEffectStart()
  12966. {
  12967.     return ModifiedWeapon.CenteredEffectStart();
  12968. }
  12969.  
  12970. simulated function vector GetEffectStart()
  12971. {
  12972.     return ModifiedWeapon.GetEffectStart();
  12973. }
  12974.  
  12975. simulated function IncrementFlashCount(int Mode)
  12976. {
  12977.     ModifiedWeapon.IncrementFlashCount(Mode);
  12978. }
  12979.  
  12980. simulated function ZeroFlashCount(int Mode)
  12981. {
  12982.     ModifiedWeapon.ZeroFlashCount(Mode);
  12983. }
  12984.  
  12985. function HolderDied()
  12986. {
  12987.     ModifiedWeapon.HolderDied();
  12988. }
  12989.  
  12990. simulated function bool CanThrow()
  12991. {
  12992.     if (Modifier < 0)
  12993.         return false; //can't throw cursed weapons
  12994.  
  12995.     return ModifiedWeapon.CanThrow();
  12996. }
  12997.  
  12998. function GiveTo(Pawn Other, optional Pickup Pickup)
  12999. {
  13000.     local int m;
  13001.     local weapon w;
  13002.     local bool bPossiblySwitch, bJustSpawned;
  13003.     local Inventory Inv;
  13004.  
  13005.     Instigator = Other;
  13006.     ModifiedWeapon.Instigator = Other;
  13007.     for (Inv = Instigator.Inventory; true; Inv = Inv.Inventory)
  13008.     {
  13009.         if (Inv.Class == ModifiedWeapon.Class || (RPGWeapon(Inv) != None && !RPGWeapon(Inv).AllowRPGWeapon(Self)))
  13010.         {
  13011.         W = Weapon(Inv);
  13012.         break;
  13013.         }
  13014.         m++;
  13015.         if (m > 1000)
  13016.             break;
  13017.         if (Inv.Inventory == None) //hack to keep Inv at last item in Instigator's inventory
  13018.             break;
  13019.     }
  13020.  
  13021.     if ( W == None )
  13022.     {
  13023.     //hack - manually add to Instigator's inventory because pawn won't usually allow duplicates
  13024.     Inv.Inventory = self;
  13025.     Inventory = None;
  13026.     SetOwner(Instigator);
  13027.     if (Instigator.Controller != None)
  13028.         Instigator.Controller.NotifyAddInventory(self);
  13029.  
  13030.     bJustSpawned = true;
  13031.         ModifiedWeapon.SetOwner(Owner);
  13032.         bPossiblySwitch = true;
  13033.         W = self;
  13034.     }
  13035.     else if ( !W.HasAmmo() )
  13036.         bPossiblySwitch = true;
  13037.  
  13038.     if ( Pickup == None )
  13039.         bPossiblySwitch = true;
  13040.  
  13041.     for (m = 0; m < NUM_FIRE_MODES; m++)
  13042.     {
  13043.         if ( ModifiedWeapon.FireMode[m] != None )
  13044.         {
  13045.             ModifiedWeapon.FireMode[m].Instigator = Instigator;
  13046.             W.GiveAmmo(m,WeaponPickup(Pickup),bJustSpawned);
  13047.         }
  13048.     }
  13049.  
  13050.     if ( (Instigator.Weapon != None) && Instigator.Weapon.IsFiring() )
  13051.         bPossiblySwitch = false;
  13052.  
  13053.     if ( Instigator.Weapon != W )
  13054.         W.ClientWeaponSet(bPossiblySwitch);
  13055.  
  13056.     if (Instigator.Controller == Level.GetLocalPlayerController()) //can only do this on listen/standalone
  13057.     {
  13058.            if (bIdentified)
  13059.         PlayerController(Instigator.Controller).ReceiveLocalizedMessage(class'IdentifyMessage', 1,,, self);
  13060.     else if (ModifiedWeapon.PickupClass != None)
  13061.             PlayerController(Instigator.Controller).ReceiveLocalizedMessage(ModifiedWeapon.PickupClass.default.MessageClass, 0,,,ModifiedWeapon.PickupClass);
  13062.     }
  13063.  
  13064.     SetHolderStatsInv();
  13065.  
  13066.     if ( !bJustSpawned )
  13067.     {
  13068.         for (m = 0; m < NUM_FIRE_MODES; m++)
  13069.         {
  13070.             Ammo[m] = None;
  13071.             ModifiedWeapon.Ammo[m] = None;
  13072.         }
  13073.     Destroy();
  13074.     }
  13075.     else
  13076.     for (m = 0; m < NUM_FIRE_MODES; m++)
  13077.         Ammo[m] = ModifiedWeapon.Ammo[m];
  13078. }
  13079.  
  13080. function GiveAmmo(int m, WeaponPickup WP, bool bJustSpawned)
  13081. {
  13082.     local Inventory Inv;
  13083.     local RPGWeapon W;
  13084.  
  13085.     ModifiedWeapon.GiveAmmo(m, WP, bJustSpawned);
  13086.     if (bNoAmmoInstances && FireMode[m].AmmoClass != None && (m == 0 || FireMode[m].AmmoClass != FireMode[0].AmmoClass))
  13087.     {
  13088.         if (bJustSpawned)
  13089.         {
  13090.             for (Inv = Instigator.Inventory; Inv != None; Inv = Inv.Inventory)
  13091.             {
  13092.                 W = RPGWeapon(Inv);
  13093.                 if (W != None && W != self && W.bNoAmmoInstances && W.ModifiedWeapon.Class == ModifiedWeapon.Class)
  13094.                 {
  13095.                     W.AddAmmo(ModifiedWeapon.AmmoCharge[m], m);
  13096.                     W.SyncUpAmmoCharges();
  13097.                     break;
  13098.                 }
  13099.             }
  13100.         }
  13101.         else
  13102.             SyncUpAmmoCharges();
  13103.     }
  13104. }
  13105.  
  13106. simulated function SetHolderStatsInv()
  13107. {
  13108.     local Inventory Inv;
  13109.  
  13110.     for (Inv = Instigator.Controller.Inventory; Inv != None; Inv = Inv.Inventory)
  13111.     {
  13112.         HolderStatsInv = RPGStatsInv(Inv);
  13113.         if (HolderStatsInv != None)
  13114.             return;
  13115.     }
  13116.  
  13117.     //fallback
  13118.     HolderStatsInv = RPGStatsInv(Instigator.FindInventoryType(class'RPGStatsInv'));
  13119.     if (HolderStatsInv == None)
  13120.         Warn("Couldn't find RPGStatsInv for "$Instigator.GetHumanReadableName());
  13121. }
  13122.  
  13123. simulated function ClientWeaponSet(bool bPossiblySwitch)
  13124. {
  13125.     local int Mode;
  13126.  
  13127.     Instigator = Pawn(Owner);
  13128.  
  13129.     bPendingSwitch = bPossiblySwitch;
  13130.  
  13131.     if( Instigator == None || ModifiedWeapon == None )
  13132.     {
  13133.         GotoState('PendingClientWeaponSet');
  13134.         return;
  13135.     }
  13136.  
  13137.     SetWeaponInfo();
  13138.     SetHolderStatsInv();
  13139.  
  13140.     for( Mode = 0; Mode < NUM_FIRE_MODES; Mode++ )
  13141.     {
  13142.         if( ModifiedWeapon.FireModeClass[Mode] != None )
  13143.         {
  13144.             if (FireMode[Mode] == None || FireMode[Mode].AmmoClass != None && !bNoAmmoInstances && Ammo[Mode] == None && FireMode[Mode].AmmoPerFire > 0)
  13145.             {
  13146.                 GotoState('PendingClientWeaponSet');
  13147.                 return;
  13148.             }
  13149.         }
  13150.  
  13151.         FireMode[Mode].Instigator = Instigator;
  13152.         FireMode[Mode].Level = Level;
  13153.     }
  13154.  
  13155.     ClientState = WS_Hidden;
  13156.     ModifiedWeapon.ClientState = ClientState;
  13157.     GotoState('Hidden');
  13158.  
  13159.     if( Level.NetMode == NM_DedicatedServer || !Instigator.IsHumanControlled() )
  13160.         return;
  13161.  
  13162.     if( Instigator.Weapon == self || Instigator.PendingWeapon == self ) // this weapon was switched to while waiting for replication, switch to it now
  13163.     {
  13164.         if (Instigator.PendingWeapon != None)
  13165.             Instigator.ChangedWeapon();
  13166.         else
  13167.             BringUp();
  13168.         return;
  13169.     }
  13170.  
  13171.     if( Instigator.PendingWeapon != None && Instigator.PendingWeapon.bForceSwitch )
  13172.         return;
  13173.  
  13174.     if( Instigator.Weapon == None )
  13175.     {
  13176.         Instigator.PendingWeapon = self;
  13177.         Instigator.ChangedWeapon();
  13178.     }
  13179.     else if ( bPossiblySwitch )
  13180.     {
  13181.         if ( PlayerController(Instigator.Controller) != None && PlayerController(Instigator.Controller).bNeverSwitchOnPickup )
  13182.             return;
  13183.         if ( Instigator.PendingWeapon != None )
  13184.         {
  13185.             if ( RateSelf() > Instigator.PendingWeapon.RateSelf() )
  13186.             {
  13187.                 Instigator.PendingWeapon = self;
  13188.                 Instigator.Weapon.PutDown();
  13189.             }
  13190.         }
  13191.         else if ( RateSelf() > Instigator.Weapon.RateSelf() )
  13192.         {
  13193.             Instigator.PendingWeapon = self;
  13194.             Instigator.Weapon.PutDown();
  13195.         }
  13196.     }
  13197. }
  13198.  
  13199. /*simulated function BringUp(optional Weapon PrevWeapon)
  13200. {
  13201.    local int Mode;
  13202.  
  13203.     if (ClientState == WS_Hidden)
  13204.     {
  13205.         PlayOwnedSound(ModifiedWeapon.SelectSound, SLOT_Interact,,,,, false);
  13206.         ClientPlayForceFeedback(SelectForce);  // jdf
  13207.  
  13208.         if (Instigator.IsLocallyControlled())
  13209.         {
  13210.             if (ModifiedWeapon.HasAnim(ModifiedWeapon.SelectAnim))
  13211.                 ModifiedWeapon.PlayAnim(ModifiedWeapon.SelectAnim, ModifiedWeapon.SelectAnimRate, 0.0);
  13212.         }
  13213.  
  13214.         ClientState = WS_BringUp;
  13215.         ModifiedWeapon.ClientState = ClientState;
  13216.         SetTimer(WeaponSwitchDelay, false);
  13217.     }
  13218.     for (Mode = 0; Mode < NUM_FIRE_MODES; Mode++)
  13219.     {
  13220.         ModifiedWeapon.FireMode[Mode].bIsFiring = false;
  13221.         ModifiedWeapon.FireMode[Mode].HoldTime = 0.0;
  13222.         ModifiedWeapon.FireMode[Mode].bServerDelayStartFire = false;
  13223.         ModifiedWeapon.FireMode[Mode].bServerDelayStopFire = false;
  13224.         ModifiedWeapon.FireMode[Mode].bInstantStop = false;
  13225.     }
  13226.        if ( (PrevWeapon != None) && PrevWeapon.HasAmmo() && !PrevWeapon.bNoVoluntarySwitch )
  13227.         OldWeapon = PrevWeapon;
  13228.     else
  13229.         OldWeapon = None;
  13230.  
  13231. }
  13232.  
  13233. simulated function bool PutDown()
  13234. {
  13235.     local int Mode;
  13236.  
  13237.     if (ClientState == WS_BringUp || ClientState == WS_ReadyToFire)
  13238.     {
  13239.         if (!Instigator.PendingWeapon.bForceSwitch)
  13240.         {
  13241.             for (Mode = 0; Mode < NUM_FIRE_MODES; Mode++)
  13242.             {
  13243.                 if (ModifiedWeapon.FireMode[Mode].bFireOnRelease && ModifiedWeapon.FireMode[Mode].bIsFiring)
  13244.                     return false;
  13245.             }
  13246.         }
  13247.  
  13248.         if (Instigator.IsLocallyControlled())
  13249.         {
  13250.             for (Mode = 0; Mode < NUM_FIRE_MODES; Mode++)
  13251.             {
  13252.                 if (ModifiedWeapon.FireMode[Mode].bIsFiring)
  13253.                     ClientStopFire(Mode);
  13254.             }
  13255.  
  13256.             if (ClientState != WS_BringUp && ModifiedWeapon.HasAnim(ModifiedWeapon.PutDownAnim))
  13257.                 ModifiedWeapon.PlayAnim(ModifiedWeapon.PutDownAnim, ModifiedWeapon.PutDownAnimRate, 0.0);
  13258.         }
  13259.         ClientState = WS_PutDown;
  13260.         ModifiedWeapon.ClientState = ClientState;
  13261.  
  13262.         SetTimer(WeaponSwitchDelay, false);
  13263.     }
  13264.     for (Mode = 0; Mode < NUM_FIRE_MODES; Mode++)
  13265.     {
  13266.         ModifiedWeapon.FireMode[Mode].bServerDelayStartFire = false;
  13267.         ModifiedWeapon.FireMode[Mode].bServerDelayStopFire = false;
  13268.     }
  13269.     Instigator.AmbientSound = None;
  13270.     OldWeapon = None;
  13271.     return true; // return false if preventing weapon switch
  13272. }*/
  13273.  
  13274. simulated function BringUp(optional Weapon PrevWeapon)
  13275. {
  13276.     ModifiedWeapon.BringUp(PrevWeapon);
  13277.     if (ModifiedWeapon.TimerRate > 0)
  13278.     {
  13279.         SetTimer(ModifiedWeapon.TimerRate, false);
  13280.         ModifiedWeapon.SetTimer(0, false);
  13281.     }
  13282.     ClientState = ModifiedWeapon.ClientState;
  13283. }
  13284.  
  13285. simulated function bool PutDown()
  13286. {
  13287.     local bool bResult;
  13288.  
  13289.     bResult = ModifiedWeapon.PutDown();
  13290.     if (ModifiedWeapon.TimerRate > 0)
  13291.     {
  13292.         SetTimer(ModifiedWeapon.TimerRate, false);
  13293.         ModifiedWeapon.SetTimer(0, false);
  13294.     }
  13295.     ClientState = ModifiedWeapon.ClientState;
  13296.     return bResult;
  13297. }
  13298.  
  13299. simulated function Fire(float F)
  13300. {
  13301.     ModifiedWeapon.Fire(F);
  13302. }
  13303.  
  13304. simulated function AltFire(float F)
  13305. {
  13306.     ModifiedWeapon.AltFire(F);
  13307. }
  13308.  
  13309. simulated event WeaponTick(float dt)
  13310. {
  13311.     local int x;
  13312.  
  13313.     //Failsafe to prevent losing sync with ModifiedWeapon
  13314.     if (FireMode[0] == None || FireMode[1] == None)
  13315.     {
  13316.         for (x = 0; x < NUM_FIRE_MODES; x++)
  13317.         {
  13318.             FireMode[x] = ModifiedWeapon.FireMode[x];
  13319.             Ammo[x] = ModifiedWeapon.Ammo[x];
  13320.             AmmoClass[x] = ModifiedWeapon.AmmoClass[x];
  13321.         }
  13322.         ThirdPersonActor = ModifiedWeapon.ThirdPersonActor;
  13323.     }
  13324.  
  13325.     //sync up ammocharge with other RPGWeapons player has that are modifying the same class of weapon
  13326.     if (Role == ROLE_Authority && bNoAmmoInstances && LastAmmoChargePrimary != ModifiedWeapon.AmmoCharge[0])
  13327.         SyncUpAmmoCharges();
  13328.  
  13329.     //Rocket launcher homing hack
  13330.     if (RocketLauncher(ModifiedWeapon) != None)
  13331.     {
  13332.         Instigator.Weapon = ModifiedWeapon;
  13333.         ModifiedWeapon.Tick(dt);
  13334.         Instigator.Weapon = self;
  13335.     }
  13336.  
  13337.     ModifiedWeapon.WeaponTick(dt);
  13338. }
  13339.  
  13340. function SyncUpAmmoCharges()
  13341. {
  13342.     local Inventory Inv;
  13343.     local RPGWeapon W;
  13344.  
  13345.     LastAmmoChargePrimary = ModifiedWeapon.AmmoCharge[0];
  13346.  
  13347.     for (Inv = Instigator.Inventory; Inv != None; Inv = Inv.Inventory)
  13348.     {
  13349.         W = RPGWeapon(Inv);
  13350.         if (W != None && W != self && W.bNoAmmoInstances && W.ModifiedWeapon != None && W.ModifiedWeapon.Class == ModifiedWeapon.Class)
  13351.         {
  13352.             W.ModifiedWeapon.AmmoCharge[0] = ModifiedWeapon.AmmoCharge[0];
  13353.             W.ModifiedWeapon.AmmoCharge[1] = ModifiedWeapon.AmmoCharge[1];
  13354.             W.LastAmmoChargePrimary = LastAmmoChargePrimary;
  13355.             W.ModifiedWeapon.NetUpdateTime = Level.TimeSeconds - 1;
  13356.         }
  13357.     }
  13358. }
  13359.  
  13360. simulated function OutOfAmmo()
  13361. {
  13362.     local int i;
  13363.  
  13364.     ModifiedWeapon.OutOfAmmo();
  13365.  
  13366.     //weapons with many ammo types, like ChaosUT weapons, might have switched firemodes/ammotypes here
  13367.     for (i = 0; i < NUM_FIRE_MODES; i++)
  13368.     {
  13369.         FireMode[i] = ModifiedWeapon.FireMode[i];
  13370.         Ammo[i] = ModifiedWeapon.Ammo[i];
  13371.         AmmoClass[i] = ModifiedWeapon.AmmoClass[i];
  13372.     }
  13373.     ThirdPersonActor = ModifiedWeapon.ThirdPersonActor;
  13374. }
  13375.  
  13376. simulated function ClientStartFire(int Mode)
  13377. {
  13378.     //HACK - sniper zoom
  13379.     if (Mode == SniperZoomMode)
  13380.     {
  13381.         FireMode[mode].bIsFiring = true;
  13382.         if( Instigator.Controller.IsA( 'PlayerController' ) )
  13383.             PlayerController(Instigator.Controller).ToggleZoom();
  13384.         return;
  13385.     }
  13386.     else if (RocketLauncher(ModifiedWeapon) != None) //HACK - rocket launcher spread
  13387.     {
  13388.         if ( Mode == 1 )
  13389.         {
  13390.             RocketLauncher(ModifiedWeapon).bTightSpread = false;
  13391.         }
  13392.         else if ( FireMode[1].bIsFiring || (FireMode[1].NextFireTime > Level.TimeSeconds) )
  13393.         {
  13394.             if ( (FireMode[1].Load > 0) && !RocketLauncher(ModifiedWeapon).bTightSpread )
  13395.             {
  13396.                 RocketLauncher(ModifiedWeapon).bTightSpread = true;
  13397.                 RocketLauncher(ModifiedWeapon).ServerSetTightSpread();
  13398.             }
  13399.             return;
  13400.         }
  13401.     }
  13402.  
  13403.     Super.ClientStartFire(Mode);
  13404. }
  13405.  
  13406. simulated function bool StartFire(int Mode)
  13407. {
  13408.     return ModifiedWeapon.StartFire(Mode);
  13409. }
  13410.  
  13411. simulated event ClientStopFire(int Mode)
  13412. {
  13413.     ModifiedWeapon.ClientStopFire(Mode);
  13414. }
  13415.  
  13416. simulated function bool ReadyToFire(int Mode)
  13417. {
  13418.     return ModifiedWeapon.ReadyToFire(Mode);
  13419. }
  13420.  
  13421. simulated function Timer()
  13422. {
  13423. //    local int Mode;
  13424.  
  13425.     if (ModifiedWeapon == None)
  13426.         return;
  13427.  
  13428.     ModifiedWeapon.Timer();
  13429.     ClientState = ModifiedWeapon.ClientState;
  13430.     if (ModifiedWeapon.TimerRate > 0)
  13431.     {
  13432.         SetTimer(ModifiedWeapon.TimerRate, false);
  13433.         ModifiedWeapon.SetTimer(0, false);
  13434.     }
  13435.  
  13436. /*    if (ClientState == WS_BringUp)
  13437.     {
  13438.     for( Mode = 0; Mode < NUM_FIRE_MODES; Mode++ )
  13439.            ModifiedWeapon.FireMode[Mode].InitEffects();
  13440.         PlayIdle();
  13441.         ClientState = WS_ReadyToFire;
  13442.     ModifiedWeapon.ClientState = ClientState;
  13443.     }
  13444.     else if (ClientState == WS_PutDown)
  13445.     {
  13446.         if ( Instigator.PendingWeapon == None )
  13447.         {
  13448.             PlayIdle();
  13449.             ClientState = WS_ReadyToFire;
  13450.             ModifiedWeapon.ClientState = ClientState;
  13451.         }
  13452.         else
  13453.         {
  13454.             ClientState = WS_Hidden;
  13455.             ModifiedWeapon.ClientState = ClientState;
  13456.             Instigator.ChangedWeapon();
  13457.             for( Mode = 0; Mode < NUM_FIRE_MODES; Mode++ )
  13458.                 ModifiedWeapon.FireMode[Mode].DestroyEffects();
  13459.         }
  13460.     }*/
  13461. }
  13462.  
  13463. simulated function bool IsFiring()
  13464. {
  13465.     return ModifiedWeapon.IsFiring();
  13466. }
  13467.  
  13468. function bool IsRapidFire()
  13469. {
  13470.     return ModifiedWeapon.IsRapidFire();
  13471. }
  13472.  
  13473. function bool ConsumeAmmo(int Mode, float load, optional bool bAmountNeededIsMax)
  13474. {
  13475.     return ModifiedWeapon.ConsumeAmmo(Mode, load, bAmountNeededIsMax);
  13476. }
  13477.  
  13478. simulated function bool HasAmmo()
  13479. {
  13480.     if (ModifiedWeapon != None)
  13481.         return ModifiedWeapon.HasAmmo();
  13482.  
  13483.     return false;
  13484. }
  13485.  
  13486. function AdjustPlayerDamage( out int Damage, Pawn InstigatedBy, Vector HitLocation,
  13487.                              out Vector Momentum, class<DamageType> DamageType)
  13488. {
  13489.     ModifiedWeapon.AdjustPlayerDamage(Damage, InstigatedBy, HitLocation, Momentum, DamageType);
  13490. }
  13491.  
  13492. simulated function StartBerserk()
  13493. {
  13494.     ModifiedWeapon.StartBerserk();
  13495. }
  13496.  
  13497. simulated function StopBerserk()
  13498. {
  13499.     ModifiedWeapon.StopBerserk();
  13500. }
  13501.  
  13502. simulated function AnimEnd(int channel)
  13503. {
  13504.     ModifiedWeapon.AnimEnd(channel);
  13505. }
  13506.  
  13507. simulated function PlayIdle()
  13508. {
  13509.     ModifiedWeapon.PlayIdle();
  13510. }
  13511.  
  13512. function bool CheckReflect(Vector HitLocation, out Vector RefNormal, int AmmoDrain)
  13513. {
  13514.     return ModifiedWeapon.CheckReflect(HitLocation, RefNormal, AmmoDrain);
  13515. }
  13516.  
  13517. function DoReflectEffect(int Drain)
  13518. {
  13519.     ModifiedWeapon.DoReflectEffect(Drain);
  13520. }
  13521.  
  13522. function bool HandlePickupQuery(pickup Item)
  13523. {
  13524.     //local WeaponPickup wpu;
  13525.     local int i;
  13526.  
  13527.     if (bNoAmmoInstances)
  13528.     {
  13529.         // handle ammo pickups
  13530.         for (i = 0; i < 2; i++)
  13531.         {
  13532.             if (Item.inventorytype == AmmoClass[i] && AmmoClass[i] != None)
  13533.             {
  13534.                 if (ModifiedWeapon.AmmoCharge[i] >= MaxAmmo(i))
  13535.                     return true;
  13536.                 Item.AnnouncePickup(Pawn(Owner));
  13537.                 AddAmmo(Ammo(Item).AmmoAmount, i);
  13538.                 Item.SetRespawn();
  13539.                 return true;
  13540.             }
  13541.         }
  13542.     }
  13543.  
  13544.     if (ModifiedWeapon.Class == Item.InventoryType)
  13545.     {
  13546.         /*wpu = WeaponPickup(Item);
  13547.         if (wpu != None)
  13548.             return !wpu.AllowRepeatPickup();
  13549.         else
  13550.             return false;*/
  13551.         return ModifiedWeapon.HandlePickupQuery(Item);
  13552.     }
  13553.  
  13554.     if ( Inventory == None )
  13555.         return false;
  13556.  
  13557.     return Inventory.HandlePickupQuery(Item);
  13558. }
  13559.  
  13560. function AttachToPawn(Pawn P)
  13561. {
  13562.     ModifiedWeapon.AttachToPawn(P);
  13563.     ThirdPersonActor = ModifiedWeapon.ThirdPersonActor;
  13564. }
  13565.  
  13566. function DetachFromPawn(Pawn P)
  13567. {
  13568.     ModifiedWeapon.DetachFromPawn(P);
  13569. }
  13570.  
  13571. simulated function SetOverlayMaterial(Material mat, float time, bool bOverride)
  13572. {
  13573.     if (ModifierOverlay != None && bIdentified && mat != ModifierOverlay && time > 0)
  13574.     {
  13575.         ModifiedWeapon.SetOverlayMaterial(mat, time, true);
  13576.         if (WeaponAttachment(ThirdPersonActor) != None)
  13577.             ThirdPersonActor.SetOverlayMaterial(mat, time, true);
  13578.     }
  13579.     else if (ModifierOverlay == None || !bIdentified || time > 0)
  13580.         ModifiedWeapon.SetOverlayMaterial(mat, time, bOverride);
  13581.     else
  13582.     {
  13583.         if (time < 0)
  13584.             bOverride = true;
  13585.         ModifiedWeapon.SetOverlayMaterial(ModifierOverlay, 1000000, bOverride);
  13586.         if (WeaponAttachment(ThirdPersonActor) != None)
  13587.             ThirdPersonActor.SetOverlayMaterial(ModifierOverlay, 1000000, bOverride);
  13588.     }
  13589. }
  13590.  
  13591. function DropFrom(vector StartLocation)
  13592. {
  13593.     local int m;
  13594.     local Pickup Pickup;
  13595.     local Inventory Inv;
  13596.     local RPGStatsInv StatsInv;
  13597.     local RPGStatsInv.OldRPGWeaponInfo MyInfo;
  13598.  
  13599.     if (!bCanThrow || !HasAmmo())
  13600.         return;
  13601.  
  13602.     ClientWeaponThrown();
  13603.  
  13604.     for (m = 0; m < NUM_FIRE_MODES; m++)
  13605.     {
  13606.         if (FireMode[m].bIsFiring)
  13607.             StopFire(m);
  13608.     }
  13609.  
  13610.     Pickup = Spawn(PickupClass,,, StartLocation);
  13611.     if ( Pickup != None )
  13612.     {
  13613.         Pickup.InitDroppedPickupFor(self);
  13614.         Pickup.Velocity = Velocity;
  13615.         References++;
  13616.             if (Instigator.Health > 0)
  13617.             {
  13618.             WeaponPickup(Pickup).bThrown = true;
  13619.  
  13620.             //only toss 1 ammo if have another weapon of the same class
  13621.             for (Inv = Instigator.Inventory; Inv != None; Inv = Inv.Inventory)
  13622.                 if (RPGWeapon(Inv) != None && Inv != self && RPGWeapon(Inv).ModifiedWeapon.Class == ModifiedWeapon.Class)
  13623.                 {
  13624.                     if (Ammo[0] != None)
  13625.                     {
  13626.                         WeaponPickup(Pickup).AmmoAmount[0] = 1;
  13627.                         Ammo[0].AmmoAmount -= 1;
  13628.                     }
  13629.                     if (Ammo[1] != None && Ammo[0] != Ammo[1])
  13630.                     {
  13631.                         Ammo[1].AmmoAmount -= 1;
  13632.                         WeaponPickup(Pickup).AmmoAmount[1] = 1;
  13633.                     }
  13634.                     Ammo[0] = None;
  13635.                     Ammo[1] = None;
  13636.                     ModifiedWeapon.Ammo[0] = None;
  13637.                     ModifiedWeapon.Ammo[1] = None;
  13638.                     break;
  13639.                 }
  13640.         }
  13641.     }
  13642.  
  13643.     SetTimer(0, false);
  13644.     if (Instigator != None)
  13645.     {
  13646.     if (ModifiedWeapon != None)
  13647.             StatsInv = RPGStatsInv(Instigator.FindInventoryType(class'RPGStatsInv'));
  13648.            DetachFromPawn(Instigator);
  13649.         Instigator.DeleteInventory(self);
  13650.     }
  13651.     if (StatsInv != None)
  13652.     {
  13653.         MyInfo.ModifiedClass = ModifiedWeapon.Class;
  13654.         MyInfo.Weapon = self;
  13655.         StatsInv.OldRPGWeapons[StatsInv.OldRPGWeapons.length] = MyInfo;
  13656.         References++;
  13657.     DestroyModifiedWeapon();
  13658.     }
  13659.     else if (Pickup == None)
  13660.         Destroy();
  13661. }
  13662.  
  13663. simulated function ClientWeaponThrown()
  13664. {
  13665.     Super.ClientWeaponThrown();
  13666.  
  13667.     if (Level.NetMode == NM_Client)
  13668.     {
  13669.         DestroyModifiedWeapon();
  13670.     }
  13671. }
  13672.  
  13673. function bool AddAmmo(int AmmoToAdd, int Mode)
  13674. {
  13675.     if (bNoAmmoInstances)
  13676.     {
  13677.         if (AmmoClass[0] == AmmoClass[mode])
  13678.             mode = 0;
  13679.         if (Level.GRI.WeaponBerserk > 1.0)
  13680.             ModifiedWeapon.AmmoCharge[mode] = MaxAmmo(Mode);
  13681.         else if (ModifiedWeapon.AmmoCharge[mode] < MaxAmmo(mode))
  13682.             ModifiedWeapon.AmmoCharge[mode] = Min(MaxAmmo(mode), ModifiedWeapon.AmmoCharge[mode]+AmmoToAdd);
  13683.         ModifiedWeapon.NetUpdateTime = Level.TimeSeconds - 1;
  13684.         SyncUpAmmoCharges();
  13685.         return true;
  13686.     }
  13687.  
  13688.     if (Ammo[Mode] != None)
  13689.         return Ammo[Mode].AddAmmo(AmmoToAdd);
  13690.  
  13691.     return false;
  13692. }
  13693.  
  13694. simulated function MaxOutAmmo()
  13695. {
  13696.     if (bNoAmmoInstances)
  13697.     {
  13698.         if (AmmoClass[0] != None)
  13699.             ModifiedWeapon.AmmoCharge[0] = MaxAmmo(0);
  13700.         if (AmmoClass[1] != None && AmmoClass[0] != AmmoClass[1])
  13701.             ModifiedWeapon.AmmoCharge[1] = MaxAmmo(1);
  13702.         SyncUpAmmoCharges();
  13703.         return;
  13704.     }
  13705.     if (Ammo[0] != None)
  13706.         Ammo[0].AmmoAmount = Ammo[0].MaxAmmo;
  13707.     if (Ammo[1] != None)
  13708.         Ammo[1].AmmoAmount = Ammo[1].MaxAmmo;
  13709. }
  13710.  
  13711. simulated function SuperMaxOutAmmo()
  13712. {
  13713.     ModifiedWeapon.SuperMaxOutAmmo();
  13714. }
  13715.  
  13716. simulated function int MaxAmmo(int mode)
  13717. {
  13718.     if (bNoAmmoInstances)
  13719.         return (ModifiedWeapon.MaxAmmo(mode) * (1.0 + 0.01 * HolderStatsInv.Data.AmmoMax));
  13720.  
  13721.     return ModifiedWeapon.MaxAmmo(mode);
  13722. }
  13723.  
  13724. simulated function FillToInitialAmmo()
  13725. {
  13726.     ModifiedWeapon.FillToInitialAmmo();
  13727.  
  13728.     if (bNoAmmoInstances)
  13729.     {
  13730.         if (AmmoClass[0] != None)
  13731.             ModifiedWeapon.AmmoCharge[0] = Max(ModifiedWeapon.AmmoCharge[0], AmmoClass[0].Default.InitialAmount * (1.0 + 0.01 * HolderStatsInv.Data.AmmoMax));
  13732.         if (AmmoClass[1] != None && AmmoClass[0] != AmmoClass[1])
  13733.             ModifiedWeapon.AmmoCharge[1] = Max(ModifiedWeapon.AmmoCharge[1], AmmoClass[1].Default.InitialAmount * (1.0 + 0.01 * HolderStatsInv.Data.AmmoMax));
  13734.         SyncUpAmmoCharges();
  13735.     }
  13736.     else
  13737.     {
  13738.         if (Ammo[0] != None)
  13739.             Ammo[0].AmmoAmount = Max(Ammo[0].AmmoAmount,Ammo[0].InitialAmount * (1.0 + 0.01 * HolderStatsInv.Data.AmmoMax));
  13740.         if (Ammo[1] != None)
  13741.             Ammo[1].AmmoAmount = Max(Ammo[1].AmmoAmount,Ammo[1].InitialAmount * (1.0 + 0.01 * HolderStatsInv.Data.AmmoMax));
  13742.     }
  13743. }
  13744.  
  13745. simulated function int AmmoAmount(int mode)
  13746. {
  13747.     return ModifiedWeapon.AmmoAmount(mode);
  13748. }
  13749.  
  13750. simulated function bool AmmoMaxed(int mode)
  13751. {
  13752.     return ModifiedWeapon.AmmoMaxed(mode);
  13753. }
  13754.  
  13755. simulated function bool NeedAmmo(int mode)
  13756. {
  13757.     if (bNoAmmoInstances)
  13758.     {
  13759.         if (AmmoClass[0] == AmmoClass[mode])
  13760.             mode = 0;
  13761.         if (AmmoClass[mode] == None)
  13762.             return false;
  13763.  
  13764.         return (ModifiedWeapon.AmmoCharge[Mode] < AmmoClass[mode].default.InitialAmount * (1.0 + 0.01 * HolderStatsInv.Data.AmmoMax));
  13765.     }
  13766.     if (Ammo[mode] != None)
  13767.          return (Ammo[mode].AmmoAmount < Ammo[mode].InitialAmount * (1.0 + 0.01 * HolderStatsInv.Data.AmmoMax));
  13768.  
  13769.     return false;
  13770. }
  13771.  
  13772. simulated function CheckOutOfAmmo()
  13773. {
  13774.     if (ModifiedWeapon != None)
  13775.         ModifiedWeapon.CheckOutOfAmmo();
  13776. }
  13777.  
  13778. function class<DamageType> GetDamageType()
  13779. {
  13780.     return ModifiedWeapon.GetDamageType();
  13781. }
  13782.  
  13783. simulated function bool WantsZoomFade()
  13784. {
  13785.     return ModifiedWeapon.WantsZoomFade();
  13786. }
  13787.  
  13788. function bool CanHeal(Actor Other)
  13789. {
  13790.     return ModifiedWeapon.CanHeal(Other);
  13791. }
  13792.  
  13793. function bool ShouldFireWithoutTarget()
  13794. {
  13795.     return ModifiedWeapon.ShouldFireWithoutTarget();
  13796. }
  13797.  
  13798. simulated function PawnUnpossessed()
  13799. {
  13800.     ModifiedWeapon.PawnUnpossessed();
  13801. }
  13802.  
  13803. //I'm sure I don't need to explain the magnitude of this awful hack
  13804. exec function ChangeAmmo()
  13805. {
  13806.     if (PlayerController(Instigator.Controller) != None)
  13807.     {
  13808.         Instigator.Weapon = ModifiedWeapon;
  13809.         PlayerController(Instigator.Controller).ConsoleCommand("ChangeAmmo");
  13810.         Instigator.Weapon = self;
  13811.         FireMode[0] = ModifiedWeapon.FireMode[0];
  13812.         FireMode[1] = ModifiedWeapon.FireMode[1];
  13813.         Ammo[0] = ModifiedWeapon.Ammo[0];
  13814.         Ammo[1] = ModifiedWeapon.Ammo[1];
  13815.         ThirdPersonActor = ModifiedWeapon.ThirdPersonActor;
  13816.     }
  13817. }
  13818.  
  13819. //Yet more ugly hacking... but at least it's for a good cause
  13820. exec function ChaosWeaponOption()
  13821. {
  13822.     if (PlayerController(Instigator.Controller) != None)
  13823.     {
  13824.         Instigator.Weapon = ModifiedWeapon;
  13825.         PlayerController(Instigator.Controller).ConsoleCommand("ChaosWeaponOption");
  13826.         Instigator.Weapon = self;
  13827.     }
  13828. }
  13829.  
  13830. //the next two are for Remote Strike
  13831. //why someone would want to play a realism mod with magic weapons is beyond me
  13832. exec function ReloadMeNow()
  13833. {
  13834.     if (PlayerController(Instigator.Controller) != None)
  13835.     {
  13836.         Instigator.Weapon = ModifiedWeapon;
  13837.         PlayerController(Instigator.Controller).ConsoleCommand("ReloadMeNow");
  13838.         Instigator.Weapon = self;
  13839.     }
  13840. }
  13841.  
  13842. exec function FinishReloading()
  13843. {
  13844.     if (PlayerController(Instigator.Controller) != None)
  13845.     {
  13846.         Instigator.Weapon = ModifiedWeapon;
  13847.         PlayerController(Instigator.Controller).ConsoleCommand("FinishReloading");
  13848.         Instigator.Weapon = self;
  13849.     }
  13850. }
  13851.  
  13852. function ServerForceUpdate()
  13853. {
  13854.     NetUpdateTime = Level.TimeSeconds - 1;
  13855. }
  13856.  
  13857. state PendingClientWeaponSet
  13858. {
  13859.     simulated function EndState()
  13860.     {
  13861.     if (Instigator != None && PlayerController(Instigator.Controller) != None)
  13862.     {
  13863.         if (bIdentified)
  13864.             PlayerController(Instigator.Controller).ReceiveLocalizedMessage(class'IdentifyMessage', 1,,, self);
  13865.         else if (ModifiedWeapon.PickupClass != None)
  13866.             PlayerController(Instigator.Controller).ReceiveLocalizedMessage(ModifiedWeapon.PickupClass.default.MessageClass, 0,,,ModifiedWeapon.PickupClass);
  13867.     }
  13868.     }
  13869. }
  13870.  
  13871. defaultproperties
  13872. {
  13873.     bGameRelevant=true
  13874.     PickupClass=class'RPGWeaponPickup'
  13875. }
  13876.  
  13877. class RW_Damage extends RPGWeapon
  13878.     HideDropDown
  13879.     CacheExempt;
  13880.  
  13881. function AdjustTargetDamage(out int Damage, Actor Victim, Vector HitLocation, out Vector Momentum, class<DamageType> DamageType)
  13882. {
  13883.     if (!bIdentified)
  13884.         Identify();
  13885.     Damage = Max(1, Damage * (1.0 + 0.1 * Modifier));
  13886.     Momentum *= 1.0 + 0.1 * Modifier;
  13887. }
  13888.  
  13889. defaultproperties
  13890. {
  13891.     MaxModifier=5
  13892.     MinModifier=-3
  13893.     AIRatingBonus=0.03
  13894. }
  13895. class RW_Energy extends RPGWeapon
  13896.     HideDropDown
  13897.     CacheExempt;
  13898.  
  13899. static function bool AllowedFor(class<Weapon> Weapon, Pawn Other)
  13900. {
  13901.     if (Other.Controller != None && Other.Controller.bAdrenalineEnabled)
  13902.         return true;
  13903.  
  13904.     return false;
  13905. }
  13906.  
  13907. function AdjustTargetDamage(out int Damage, Actor Victim, Vector HitLocation, out Vector Momentum, class<DamageType> DamageType)
  13908. {
  13909.     local float AdrenalineBonus;
  13910.  
  13911.     if (Pawn(Victim) == None)
  13912.         return;
  13913.  
  13914.     if (!bIdentified)
  13915.         Identify();
  13916.  
  13917.     if (Damage > Pawn(Victim).Health)
  13918.         AdrenalineBonus = Pawn(Victim).Health;
  13919.     else
  13920.         AdrenalineBonus = Damage;
  13921.     AdrenalineBonus *= 0.02 * Modifier;
  13922.  
  13923.     if ( UnrealPlayer(Instigator.Controller) != None && Instigator.Controller.Adrenaline < Instigator.Controller.AdrenalineMax
  13924.          && Instigator.Controller.Adrenaline + AdrenalineBonus >= Instigator.Controller.AdrenalineMax && !Instigator.InCurrentCombo() )
  13925.         UnrealPlayer(Instigator.Controller).ClientDelayedAnnouncementNamed('Adrenalin', 15);
  13926.     Instigator.Controller.Adrenaline = FMin(Instigator.Controller.Adrenaline + AdrenalineBonus, Instigator.Controller.AdrenalineMax);
  13927. }
  13928.  
  13929. defaultproperties
  13930. {
  13931.     PostFixPos=" of Energy"
  13932.     PreFixNeg="Draining "
  13933.     MaxModifier=3
  13934.     MinModifier=-2
  13935.     AIRatingBonus=0.02
  13936.     ModifierOverlay=Shader'XGameShaders.PlayerShaders.LightningHit'
  13937. }
  13938. class RW_Force extends RPGWeapon
  13939.     HideDropDown
  13940.     CacheExempt;
  13941.  
  13942. var int LastFlashCount;
  13943.  
  13944. function SetModifiedWeapon(Weapon w, bool bIdentify)
  13945. {
  13946.     Super.SetModifiedWeapon(w, bIdentify);
  13947.  
  13948.     if (ProjectileFire(FireMode[0]) != None && ProjectileFire(FireMode[1]) != None)
  13949.         AIRatingBonus *= 1.5;
  13950. }
  13951.  
  13952. static function bool AllowedFor(class<Weapon> Weapon, Pawn Other)
  13953. {
  13954.     local int x;
  13955.  
  13956.     for (x = 0; x < NUM_FIRE_MODES; x++)
  13957.         if (class<ProjectileFire>(Weapon.default.FireModeClass[x]) != None)
  13958.             return true;
  13959.  
  13960.     return false;
  13961. }
  13962.  
  13963. simulated event WeaponTick(float dt)
  13964. {
  13965.     local Projectile P;
  13966.     local ProjectileSpeedChanger C;
  13967.  
  13968.     if ( Role == ROLE_Authority && Instigator != None
  13969.          && (WeaponAttachment(ThirdPersonActor) == None || LastFlashCount != WeaponAttachment(ThirdPersonActor).FlashCount) )
  13970.     {
  13971.         foreach Instigator.CollidingActors(class'Projectile', P, 200)
  13972.             if (P.Instigator == Instigator && P.Speed == P.default.Speed && P.MaxSpeed == P.default.MaxSpeed)
  13973.             {
  13974.                 if (!bIdentified)
  13975.                     Identify();
  13976.                 P.Speed *= 1.0 + 0.2 * Modifier;
  13977.                 P.MaxSpeed *= 1.0 + 0.2 * Modifier;
  13978.                 P.Velocity *= 1.0 + 0.2 * Modifier;
  13979.                 if (Level.NetMode != NM_Standalone)
  13980.                 {
  13981.                     C = spawn(class'ProjectileSpeedChanger',,,P.Location, P.Rotation);
  13982.                     if (C != None)
  13983.                     {
  13984.                         C.Modifier = Modifier;
  13985.                         C.ModifiedProjectile = P;
  13986.                         C.SetBase(P);
  13987.                         if (P.AmbientSound != None)
  13988.                         {
  13989.                             C.AmbientSound = P.AmbientSound;
  13990.                             C.SoundRadius = P.SoundRadius;
  13991.                         }
  13992.                         else
  13993.                             C.bAlwaysRelevant = true;
  13994.                     }
  13995.                 }
  13996.             }
  13997.         if (WeaponAttachment(ThirdPersonActor) != None)
  13998.             LastFlashCount = WeaponAttachment(ThirdPersonActor).FlashCount;
  13999.     }
  14000.  
  14001.     Super.WeaponTick(dt);
  14002. }
  14003.  
  14004. defaultproperties
  14005. {
  14006.     PostFixPos=" of Force"
  14007.     MaxModifier=5
  14008.     ModifierOverlay=Shader'XGameShaders.PlayerShaders.PlayerTransRed'
  14009.     AIRatingBonus=0.02
  14010. }
  14011. class RW_Infinity extends RPGWeapon
  14012.     HideDropDown
  14013.     CacheExempt;
  14014.  
  14015. static function bool AllowedFor(class<Weapon> Weapon, Pawn Other)
  14016. {
  14017.     if ( ClassIsChildOf(Weapon, class'Redeemer') || ClassIsChildOf(Weapon, class'Painter')
  14018.          || ( Weapon.default.FireModeClass[0] != None && Weapon.default.FireModeClass[0].default.AmmoClass != None
  14019.               && Weapon.default.FireModeClass[0].default.AmmoClass.default.MaxAmmo < 5 ) )
  14020.         return false;
  14021.  
  14022.     return true;
  14023. }
  14024.  
  14025. simulated function bool StartFire(int Mode)
  14026. {
  14027.     if (!bIdentified && Role == ROLE_Authority)
  14028.         Identify();
  14029.  
  14030.     return Super.StartFire(Mode);
  14031. }
  14032.  
  14033. function bool ConsumeAmmo(int Mode, float Load, bool bAmountNeededIsMax)
  14034. {
  14035.     if (!bIdentified)
  14036.         Identify();
  14037.  
  14038.     return true;
  14039. }
  14040.  
  14041. simulated function WeaponTick(float dt)
  14042. {
  14043.     MaxOutAmmo();
  14044.  
  14045.     Super.WeaponTick(dt);
  14046. }
  14047.  
  14048. defaultproperties
  14049. {
  14050.     PostFixPos=" of Infinity"
  14051.     MaxModifier=0
  14052.     bCanHaveZeroModifier=true
  14053.     AIRatingBonus=0.05
  14054. }
  14055. class RW_Luck extends RPGWeapon
  14056.     HideDropDown
  14057.     CacheExempt;
  14058.  
  14059. var float NextEffectTime;
  14060.  
  14061. function Generate(RPGWeapon ForcedWeapon)
  14062. {
  14063.     Super.Generate(ForcedWeapon);
  14064.  
  14065.     if (RW_Luck(ForcedWeapon) != None && RW_Luck(ForcedWeapon).NextEffectTime > 0)
  14066.         NextEffectTime = RW_Luck(ForcedWeapon).NextEffectTime;
  14067.     else if (Modifier > 0)
  14068.         NextEffectTime = float(Rand(15) + 25) / (Modifier + 1);
  14069.     else
  14070.         NextEffectTime = (1.25 + FRand() * 1.25) / -(Modifier - 1);
  14071. }
  14072.  
  14073. simulated function WeaponTick(float dt)
  14074. {
  14075.     local Pickup P;
  14076.     local class<Pickup> ChosenClass;
  14077.     local vector HitLocation, HitNormal, EndTrace;
  14078.     local Actor A;
  14079.  
  14080.     Super.WeaponTick(dt);
  14081.  
  14082.     if (Role < ROLE_Authority)
  14083.         return;
  14084.  
  14085.     NextEffectTime -= dt;
  14086.     if (NextEffectTime <= 0)
  14087.     {
  14088.         if (!bIdentified)
  14089.             Identify();
  14090.  
  14091.         if (Modifier < 0)
  14092.         {
  14093.             foreach Instigator.CollidingActors(class'Pickup', P, 300)
  14094.                 if ( P.ReadyToPickup(0) && WeaponLocker(P) == None )
  14095.                 {
  14096.                     A = spawn(class'RocketExplosion',,, P.Location);
  14097.                     if (A != None)
  14098.                     {
  14099.                         A.RemoteRole = ROLE_SimulatedProxy;
  14100.                         A.PlaySound(sound'WeaponSounds.BExplosion3',,2.5*P.TransientSoundVolume,,P.TransientSoundRadius);
  14101.                     }
  14102.                     if (!P.bDropped && WeaponPickup(P) != None && WeaponPickup(P).bWeaponStay && P.RespawnTime != 0.0)
  14103.                         P.GotoState('Sleeping');
  14104.                     else
  14105.                         P.SetRespawn();
  14106.                     break;
  14107.                 }
  14108.             NextEffectTime = (1.25 + FRand() * 1.25) / -(Modifier - 1);
  14109.         }
  14110.         else
  14111.         {
  14112.             ChosenClass = ChoosePickupClass();
  14113.             EndTrace = Instigator.Location + vector(Instigator.Rotation) * Instigator.GroundSpeed;
  14114.             if (Instigator.Trace(HitLocation, HitNormal, EndTrace, Instigator.Location) != None)
  14115.             {
  14116.                 HitLocation -= vector(Instigator.Rotation) * 40;
  14117.                 P = spawn(ChosenClass,,, HitLocation);
  14118.             }
  14119.             else
  14120.                 P = spawn(ChosenClass,,, EndTrace);
  14121.  
  14122.             if (P == None)
  14123.                 return;
  14124.  
  14125.             if (MiniHealthPack(P) != None)
  14126.                 MiniHealthPack(P).HealingAmount *= 2;
  14127.             else if (AdrenalinePickup(P) != None)
  14128.                 AdrenalinePickup(P).AdrenalineAmount *= 2;
  14129.             P.RespawnTime = 0.0;
  14130.             P.bDropped = true;
  14131.             P.GotoState('Sleeping');
  14132.  
  14133.             NextEffectTime = float(Rand(15) + 25) / (Modifier + 1);
  14134.         }
  14135.     }
  14136. }
  14137.  
  14138. //choose a pickup to spawn, favoring those that are most useful to Instigator
  14139. function class<Pickup> ChoosePickupClass()
  14140. {
  14141.     local array<class<Pickup> > Potentials;
  14142.     local Inventory Inv;
  14143.     local Weapon W;
  14144.     local class<Pickup> AmmoPickupClass;
  14145.     local int i, Count;
  14146.  
  14147.     if (Instigator.Health < Instigator.HealthMax)
  14148.     {
  14149.         Potentials[i++] = class'HealthPack';
  14150.         Potentials[i++] = class'MiniHealthPack';
  14151.     }
  14152.     else
  14153.     {
  14154.         if (Instigator.Health < Instigator.HealthMax + 100)
  14155.         {
  14156.             Potentials[i++] = class'MiniHealthPack';
  14157.             Potentials[i++] = class'MiniHealthPack';
  14158.         }
  14159.         if (Instigator.ShieldStrength < Instigator.GetShieldStrengthMax())
  14160.             Potentials[i++] = class'ShieldPack';
  14161.     }
  14162.     for (Inv = Instigator.Inventory; Inv != None; Inv = Inv.Inventory)
  14163.     {
  14164.         W = Weapon(Inv);
  14165.         if (W != None)
  14166.         {
  14167.             if (W.NeedAmmo(0))
  14168.             {
  14169.                 AmmoPickupClass = W.AmmoPickupClass(0);
  14170.                 if (AmmoPickupClass != None)
  14171.                     Potentials[i++] = AmmoPickupClass;
  14172.             }
  14173.             else if (W.NeedAmmo(1))
  14174.             {
  14175.                 AmmoPickupClass = W.AmmoPickupClass(1);
  14176.                 if (AmmoPickupClass != None)
  14177.                     Potentials[i++] = AmmoPickupClass;
  14178.             }
  14179.         }
  14180.         Count++;
  14181.         if (Count > 1000)
  14182.             break;
  14183.     }
  14184.     if (FRand() < 0.015 * Modifier)
  14185.         Potentials[i++] = class'UDamagePack';
  14186.     if (i == 0 || (Instigator.Controller != None && Instigator.Controller.Adrenaline < Instigator.Controller.AdrenalineMax))
  14187.         Potentials[i++] = class'AdrenalinePickup';
  14188.  
  14189.     return Potentials[Rand(i)];
  14190. }
  14191.  
  14192. defaultproperties
  14193. {
  14194.     MaxModifier=3
  14195.     MinModifier=-1
  14196.     PrefixPos="Lucky "
  14197.     PostfixNeg=" of Misfortune"
  14198.     AIRatingBonus=0.025
  14199. }
  14200. class RW_NoMomentum extends RPGWeapon
  14201.     HideDropDown
  14202.     CacheExempt;
  14203.  
  14204. function AdjustPlayerDamage(out int Damage, Pawn InstigatedBy, Vector HitLocation, out Vector Momentum, class<DamageType> DamageType)
  14205. {
  14206.     if (!bIdentified)
  14207.         Identify();
  14208.     Momentum = vect(0,0,0);
  14209.     Super.AdjustPlayerDamage(Damage, InstigatedBy, HitLocation, Momentum, DamageType);
  14210. }
  14211.  
  14212. defaultproperties
  14213. {
  14214.     bCanHaveZeroModifier=true
  14215.     PreFixPos="Sturdy "
  14216.     AIRatingBonus=0.7
  14217. }
  14218. class RW_Penetrating extends RPGWeapon
  14219.     HideDropDown
  14220.     CacheExempt;
  14221.  
  14222. static function bool AllowedFor(class<Weapon> Weapon, Pawn Other)
  14223. {
  14224.     local int x;
  14225.  
  14226.     for (x = 0; x < NUM_FIRE_MODES; x++)
  14227.         if (class<InstantFire>(Weapon.default.FireModeClass[x]) != None)
  14228.             return true;
  14229.  
  14230.     return false;
  14231. }
  14232.  
  14233. function SetModifiedWeapon(Weapon w, bool bIdentify)
  14234. {
  14235.     Super.SetModifiedWeapon(w, bIdentify);
  14236.  
  14237.     if (InstantFire(FireMode[0]) != None && InstantFire(FireMode[1]) != None)
  14238.         AIRatingBonus *= 1.2;
  14239. }
  14240.  
  14241. function AdjustTargetDamage(out int Damage, Actor Victim, vector HitLocation, out vector Momentum, class<DamageType> DamageType)
  14242. {
  14243.     local int i;
  14244.     local vector X, Y, Z, StartTrace;
  14245.  
  14246.     if (HitLocation == vect(0,0,0))
  14247.         return;
  14248.  
  14249.     for (i = 0; i < NUM_FIRE_MODES; i++)
  14250.         if (InstantFire(FireMode[i]) != None && InstantFire(FireMode[i]).DamageType == DamageType)
  14251.         {
  14252.             if (!bIdentified)
  14253.                 Identify();
  14254.             //HACK - compensate for shock rifle not firing on crosshair
  14255.             if (ShockBeamFire(FireMode[i]) != None && PlayerController(Instigator.Controller) != None)
  14256.             {
  14257.                 StartTrace = Instigator.Location + Instigator.EyePosition();
  14258.                 GetViewAxes(X,Y,Z);
  14259.                 StartTrace = StartTrace + X*class'ShockProjFire'.Default.ProjSpawnOffset.X;
  14260.                 if (!WeaponCentered())
  14261.                     StartTrace = StartTrace + Hand * Y*class'ShockProjFire'.Default.ProjSpawnOffset.Y + Z*class'ShockProjFire'.Default.ProjSpawnOffset.Z;
  14262.                 InstantFire(FireMode[i]).DoTrace(HitLocation + Normal(HitLocation - StartTrace) * Victim.CollisionRadius * 2, rotator(HitLocation - StartTrace));
  14263.             }
  14264.             else
  14265.                 InstantFire(FireMode[i]).DoTrace(HitLocation + Normal(HitLocation - (Instigator.Location + Instigator.EyePosition())) * Victim.CollisionRadius * 2, rotator(HitLocation - (Instigator.Location + Instigator.EyePosition())));
  14266.             return;
  14267.         }
  14268. }
  14269.  
  14270. defaultproperties
  14271. {
  14272.     PrefixPos="Penetrating "
  14273.     bCanHaveZeroModifier=true
  14274.     MaxModifier=0
  14275.     ModifierOverlay=Shader'XGameShaders.PlayerShaders.PlayerTrans'
  14276.     AIRatingBonus=0.08
  14277. }
  14278. class RW_Piercing extends RPGWeapon
  14279.     HideDropDown
  14280.     CacheExempt;
  14281.  
  14282. var class<DamageType> ModifiedDamageType;
  14283.  
  14284. function float GetAIRating()
  14285. {
  14286.     if (Bot(Instigator.Controller) != None && Bot(Instigator.Controller).Enemy.ShieldStrength > 0)
  14287.         return ModifiedWeapon.GetAIRating() + AIRatingBonus;
  14288.  
  14289.     return ModifiedWeapon.GetAIRating();
  14290. }
  14291.  
  14292. function AdjustTargetDamage(out int Damage, Actor Victim, Vector HitLocation, out Vector Momentum, class<DamageType> DamageType)
  14293. {
  14294.     //ugly, but it works
  14295.     if (Pawn(Victim) != None && Pawn(Victim).ShieldStrength > 0 && DamageType.default.bArmorStops)
  14296.     {
  14297.         if (!bIdentified)
  14298.             Identify();
  14299.         DamageType.default.bArmorStops = false;
  14300.         ModifiedDamageType = DamageType;
  14301.     }
  14302. }
  14303.  
  14304. simulated function WeaponTick(float dt)
  14305. {
  14306.     if (ModifiedDamageType != None)
  14307.     {
  14308.         ModifiedDamageType.default.bArmorStops = true;
  14309.         ModifiedDamageType = None;
  14310.     }
  14311.  
  14312.     Super.WeaponTick(dt);
  14313. }
  14314.  
  14315. defaultproperties
  14316. {
  14317.     PrefixPos="Piercing "
  14318.     bCanHaveZeroModifier=true
  14319.     MaxModifier=0
  14320.     ModifierOverlay=Shader'XGameShaders.PlayerShaders.PlayerTrans'
  14321.     AIRatingBonus=0.15
  14322. }
  14323. class RW_Poison extends RPGWeapon
  14324.     HideDropDown
  14325.     CacheExempt;
  14326.  
  14327. function AdjustTargetDamage(out int Damage, Actor Victim, Vector HitLocation, out Vector Momentum, class<DamageType> DamageType)
  14328. {
  14329.     local PoisonInv Inv;
  14330.     local Pawn P;
  14331.  
  14332.     if (DamageType == class'DamTypePoison' || Damage <= 0)
  14333.         return;
  14334.  
  14335.     P = Pawn(Victim);
  14336.     if (P != None)
  14337.     {
  14338.         if (!bIdentified)
  14339.             Identify();
  14340.  
  14341.         Inv = PoisonInv(P.FindInventoryType(class'PoisonInv'));
  14342.         if (Inv != None)
  14343.             Inv.LifeSpan += Rand(Damage / 10) + 1;
  14344.         else
  14345.         {
  14346.             Inv = spawn(class'PoisonInv', P,,, rot(0,0,0));
  14347.             Inv.Modifier = Modifier;
  14348.             Inv.GiveTo(P);
  14349.             Inv.LifeSpan = Rand(Damage / 10) + 1;
  14350.         }
  14351.     }
  14352. }
  14353.  
  14354. defaultproperties
  14355. {
  14356.     PrefixPos="Poisoned "
  14357.     MaxModifier=4
  14358.     AIRatingBonus=0.02
  14359.     ModifierOverlay=Shader'XGameShaders.PlayerShaders.LinkHit'
  14360. }
  14361. class RW_Protection extends RPGWeapon
  14362.     HideDropDown
  14363.     CacheExempt;
  14364.  
  14365. function AdjustPlayerDamage(out int Damage, Pawn InstigatedBy, Vector HitLocation, out Vector Momentum, class<DamageType> DamageType)
  14366. {
  14367.     if (!bIdentified)
  14368.         Identify();
  14369.     Damage -= Damage * (0.1 * Modifier);
  14370.     Super.AdjustPlayerDamage(Damage, InstigatedBy, HitLocation, Momentum, DamageType);
  14371. }
  14372.  
  14373. defaultproperties
  14374. {
  14375.     MaxModifier=3
  14376.     PostFixPos=" of Protection"
  14377.     ModifierOverlay=Shader'XGameShaders.PlayerShaders.PlayerShieldSh'
  14378.     AIRatingBonus=0.04
  14379. }
  14380. ┴â*₧y]@UÄ¿ìû╙-¬.-KåQB╩rÄ]NoneInternalTimeColorUBitsVClampUClampFormatVSizeVBitsUSizePlaneZYXWMipZeroCombineOperation
  14381. Material2
  14382. Material1bAlphaTexture    MaterialDiffuse    SpecularLODSetPanRateXPlaneYPlaneZPlaneWPlaneMatrixMSpecularityMaskPanDirectionRotatorbMasked Modulate4X InvertMask Modulate2XMaskFallbackMaterialTexCoordSourceClassTexture
  14383. TexEnvMap
  14384. TexPannerConstantColorEngineCore    CombinerShaderPackage    CubeMaps
  14385. Combiner3
  14386. Combiner2
  14387. Combiner0XGameShadersXGameTextures
  14388. BRShaderssuperpickupsAdrenalineInnerP BRBallPulseAnubisAnubis-texenv2SepukkuTexENVSeppukuGorgePlayerShieldPanOverlayConstantEnergyPannerPlayerShaders TexEnvMap0
  14389. LightningConstantColor2ConstantColor1IconsUTRPGTextures
  14390. Artifacts    OverlaysInvulnerabilityShaderTripleDamageIconInvulnerabilityIconInvulnerabilityOverlayTeleporterIconLightningIcon FlightIcon goldenfootshinyInvulnerabilityPannerInvulnerabilityTexture SkaarjIconSummoningCharmIconPickupsExperiencePickupInnerExperiencePickupOuter"ñ%▌═ó¼5╓@╙            """"
  14391. 4@Ç                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ║ì?OC~\U¿¬e ≡U9m  ⁿ²                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ┐YmSPTT74Wαx5}╧¬┬╨⌡ûX<⌡P┐ <U └╒k   ·                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ·Ñ  @ÿì  U╣ì  Uyà  └╒√ì?CS√ìX4x\^W▄╖B≡■*   ■    ù+Ü+┐   ÿ┘D⌡╪o┘<┌T   ■                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ┌ò?CP╖}VῬ╢ds+¿UUUvT   ùT╒+Ç╡╒╒╪TX4╫Çp≈■╫¬P⌠<zUV» ¢e ?Vå UU╝m  ≡┌D⌡⌡╫╘                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ┐û?@TvÿüῬ4┤+^^zz┤+R#~z°Φô+R# --╜⌡+┤+--╡╡74÷++-¡╡uùJ┬·¬▀ α ⁿ       |]_OS[E;,¿¬hh┌■┐¬╨ⁿÜ<nÑ¿â?;U ²U▄}  ⁿ┴                                                                                                                                                                                                                                                                                                                                                                                                                                                           ┐ⁿìCPT\ªÖ4x^WUX4,°Φαα74╒+~~~z┤+R#ΦΦαás+R#/╖■▐┤+s+ --╡4╒+¡╡⌡╒ÿD÷+  ²⌡,∙Tⁿⁿ╓Ü    <╝mSSPö∙]Ŭ¬┬╨Ü"=ⁿ■⌡µ    Z█<Vùy[M╒ÿ»»·D\M   ≥                                                                                                                                                                                                                                                                                                                                                                                                                                                    åCPT\ª┌<x^WU║4Ö4_~xαy474xxαα74⌡+^^zx╒+ô+ZXxxô+2#■■··ô+R# )-¡╒+ô+ )¡╡,╒++¡╜⌡ÿ<,-╜⌡╒╣D²5Uy¢eö$%╔Y  ⌠   ;,£M├/»█<]E   ■,=Å █+=ⁿ■±∙·+█<⌡┼τ[                                                                                                                                                                                                                                                                                                                                                                                                                                                å??O<n;üáá¿√<║4 ·¬¬█4Ö4z°ΦαÖ4X4zxxx74÷+zxxx╒+ô+xhΦαô+R#zxx°s+1#/»┐┐ö+r# +»╜╒+ô+
  14392. +»¡,╒++»╜⌡Ö<,-²⌡╒[ÿ<∙∙UZe  ⁿ²¢4█<┐   {#√<∙·τ╫    ¢<EστΣ╫Z#{4o┐  ;4^ⁿⁿ·Ω                                                                                                                                                                                                                                                                                                                                                                                                                                            [UO |U╗,ⁿ■ ²=┌4·Ω¬¬√<║4~zzz║4X4~zxzX4⌡+zz··⌡+┤+ZxxX┤+R#····r+2#■■■~ö+R#»╜⌡╒┤+s#+»»╜╒+ô+
  14393. +¡,╒++»╜⌡ÖD,/²⌡U╣D⌡UUU ⁿ²█4<Mƒo┐?{+█4 ■■±√+\Eƒ_ƒ¢"<,  ■ⁿ,=+O╗4\M  ■∙                                                                                                                                                                                                                                                                                                                                                                                                                                            ╗"{4YC=█4Ω¬¬ï=║4~■■·║4x4XxxxX4⌡+°°°°÷+┤+|xxx┤+s#zzz·s+R#_^^~r+2#»╜╜ ö+R#»┐╜²┤+s#*½»┐╒+ô+
  14394. *½»,╒++»╜⌡X4⌡+*½»²Z]8, ¡╒UU =U·"¢e≥±±±=\M?┐ ;#=ⁿ■±±[4\4┐   #█4σµ                                                                                                                                                                                                                                                                                                                                                                                                                                                ║╝4Uiâ =;,¿¬⌐ó║4x4xXxxX4÷+°°°°÷+┤+xxxx┤+s#·z·°s+R#~~~~R#1#«╛··s+R#╜⌡╒Uö+R#½┐┐²┤+s#*»┐²╒+ô#
  14395. +»┐,╒++╜⌡╒X4÷++»╜⌡MX4-UUU,┘D±ΩZjM   ┴\√<∙∙≈╘    <<EƒS__┌[#  ²■                                                                                                                                                                                                                                                                                                                                                                                                                                               ┐EUUTU║4x4xxxxX4,Xxx^÷+┤+xxxx┤+s#°°°·s+R#z···R#2#·ΦΦΩR#2#+½»╜s+R#┐²⌡╒ö+R#½»┐²┤+s#+»┐⌡╒+ô#
  14396. +»╜÷+┤+ /²7,÷+
  14397. +¡╒Ö4,+»┐⌡┘DUUU\:UΣΣσ╒    <MO;╗4ⁿ■²∙                                                                                                                                                                                                                                                                                                                                                                                                                                    å  ?²m  ⁿ⌡   ½EUWTT║4x4xxxxX4,^^^^÷+┤+xxxx┤+s#·°°°ö+R#_~~R#2#Ω¿¿¿Q#2#≈≈▀▀R#2#*¬½½s+R#┐²⌡╒ö+R#»┐ ²┤+s#½┐²⌡╡+ô#
  14398. *½»÷+┤+ /╜⌡7,÷++╜⌡UX4,
  14399. /╜╒·DX4-╡╒U╣<:U■ⁿ╘h ┐┐║#{U±∙┼╔                                                                                                                                                                                                                                                                                                                                                                                                                                        ▄<E⌡[o╜å£á¬]Ä█4x_UU║4X,°°xxX4,^^^^÷+┤+xxxx┤+s#··°°s#R#ΦΦΦΦR#2#ΦΦ¿¿R##···ΩQ#2#²²⌡╒R#2#¬½½»s#2#½»┐ Æ+S#┐  ²┤+s#┐²⌡╒┤+s#*½┐╒+ö#
  14400. +»,╒++»╡╒7,÷++»⌡┌D7,/╡╒Ux4[]⌡ΩáÇ9ZU╔╦▀U   ·                                                                                                                                                                                                                                                                                                                                                                                                                                    █"¢#┐   :5V¬ ╣U¬ °8,UZ`7,÷+αhzx÷+┤#°zzz┤+s#°~~~R#s#⌐)))2#R#⌐⌐⌐⌐Q#2#__1##
  14401. ((Q#2# ²⌡╒1#S#¬¬¬¬s#2#½   s#R#
  14402. ½¡╡ö+s#»⌡╒U┤+s#*┐ ²╒+ö#
  14403. »²╒÷+ö#¬½┐,╒++┐⌡x4÷+*┐²╒·L7,╒UU┘]╗P*¬ZeⁿUU╗}  └   ■                                                                                                                                                                                                                                                                                                                                                                                                                                    9eOOCÿD÷+\\\T╒+ö#ααα°┤+s#~~~_R#s#))))2#R#⌐⌐⌐¬Q#2#W1##ááá¿2##+Q#2#  ²UR#2#¬¬¬╜R#2#
  14404. ¬s#R#¬»╡Us#R#*╜┤+s#┐²⌡U┤+s#*½┐²╒+ö#
  14405. ½┐╒÷+┤#¬┐╒,╒+½ U7,÷+*┐╒x4,*»²U:]X,╡UU┌e[T
  14406. ¬╗~<U¬¬█~\U¬¬▄~\U¬¬M≡⌡╒╒                                                                                                                                                                                                                                                                                                                                                                                                                    9eSSSPX<╒#|~_╒+ö#°x~^ö+s#~~^Ws#R#Z^^W1#S#¬¬¬¬Q#2#WWWU1#¿¿á¬+¬¬¬¬2#¬2#1¬2#R#¬¬¬R#2#*¬¬┐R#2#
  14407. ¬s#R#¬»⌡Us#R#
  14408. ¬╡ö+s#½ ⌡U┤+s#*» ╒╒+ö#+┐⌡U⌡+ö#*¬┐²÷+┤#
  14409. ½²,╒+
  14410. »⌡X,÷+
  14411. ½┐╒y,,*┐⌡║4X,¬»╜╒║4y,
  14412. ½⌡;E║4╜5╒U[U└UU▄u ⁿU   ·                                                                                                                                                                                                                                                                                                                                                                                                       ┐╕e[üííí÷+┤#αΦ°zs+┤#╜╜╜»s#R#áááΦR#2#ááááR#2#z~~~2+¬¬¬¬1#¬¬¬¬#2#¬¬¬¬1#¬¬¬¬2#¬¬¬¬1+¬¬¬¬Q#2#²⌡UUQ#2#   ²1#S#¬¬¬¬R#2#
  14413. ¬¬s#R#½╡UUs#R#¬»⌡ö#R#¬½┐ ┤+s#┐ ⌡Us+┤#W ■¬╒+ö#*»²╒÷+┤#
  14414. ½┐⌡,╒++╜⌡7,÷+
  14415. »╜y,,*»²║4X,*½┐⌡█4y,*¬½┐|]█4    ╒UU█gZ¬¬¬█<ⁿ²⌡⌡                                                                                                                                                                                                                                                                                                                                                                                                û??@zu⌡+pX\\╒+ö#°°~~ö#s#x|^^s#R#zZ^^1#S#¬¬¬¬2#1¬¬¬¬1#¬¬¬¬1#¬¬¬¬#1¬¬¬¬#2¬¬¬¬1#¬¬¬¬1#¬¬¬¬2#*¬¬¬2#1¬¬¬¬2#1¬¬¬¬2#1*¬¬¬2#R#¬¬¬áR#2#
  14416. ¬¬½R#2#*¬s#R#¬¡╒Us#R#
  14417. ¬¡ö#R#
  14418. ¬» ┤#s#*½┐⌡╒+ö#+┐²╒÷+┤#
  14419. +╜⌡,╒#
  14420. »╜X,,/╜╒Ü4X,+»╡╒║4y,
  14421. +¡█4║,
  14422. +»█+█4╔σUU,,   ⁿ                                                                                                                                                                                                                                                                                                                                                                                      ┐½√ì?PUvxῬùL╒#\WUU┤#s#ΦΦzzs#S#ÇΦΦzR#2Ç¿¿¬2#R*
  14423. 2#Ç¿¿¬1#¬¬¬¬#2¬¬¬¬#1¬¬¬¬#1¬¬¬¬#1¬¬¬¬#2¬¬¬¬1#¬¬¬¬1#¬¬¬¬1#¬¬¬¬2#¬¬¬2#1¬¬¬¬2#1*¬¬¬2#R#¬¿ÇR#2#*¬»²R#2¬¬¬s#2#*½┐ s#R#¬»⌡ö#R#¬½┐┤#s#
  14424. *»╜÷+ö#+» ²,┤#
  14425. ½»┐X,÷+
  14426. ½»╜Ü4X,+╜⌡╒║4y,+»╜█4║,é*+»█+█4ⁿ≥∙╒                                                                                                                                                                                                                                                                                                                                                                              ┐»Ä?PU{~ZÇ¿¬╗}7,xWUU,╒#°z^_╒+ö#°~__ö#R#¿Φ··s#2#ΦΩ·■R#¿¿¬¬2#1¬¬¬¬1#¬¬¬¬#2¬¬¬¬#1¬¬¬¬#1¬¬¬¬#¬¬¬¬#1¬¬¬¬#1¬¬¬¬#2¬¬¬¬#2¬¬¬¬#2¬¬¬¬#¬¬¬¬1#¬¬¬¬2#*¬¬2#¬¬2#¬¬R#¬¬¬»R#*¬¬¬R#2#*½»s#2#*¬┐ s#R#+¡┤#s#*»⌡╒÷+ö#»┐⌡╒,┤#*½┐²8,÷#
  14427. +¡Ö,8,
  14428. +¡╡█4y,½½┐²,bjΩ¬Z#,  ■²                                                                                                                                                                                                                                                                                                                                                                    \₧ ?P{å\á¿ⁿày,xWUUX,,Çαxx,╒#áαxz÷+ö#°·~_╡#s#·~__s#R#ΦhZ^R#2¿¿··2#1¬¬¬¬1#¬¬¬¬#2½¬¬¬#2¬¬¬¬#¬¬¬¬≡2#¬¬¬¬±1#¬¬¬¬1#±¬¬┐┐#¬¬¬¬#¬¬¬¬#1¬¬¬¬#2¬¬¬¬#2¬¬¬¬#2¬¬¬¬#2Ω¬¬¬2#¬¬┐ 1#¬¬¬»2#¬¬¬¬#QΩ¬¬¬2#1¬¬¬¬R#*¬¬½R#2
  14429. ½»s#R#
  14430. +╡╒ö#R#
  14431. ½»╒#ö#+»⌡╒,┤#+½┐²X,÷#
  14432. +»╜Ö,8,
  14433. +¡╜█4y,+½┐²·+█4⌡┼┼%                                                                                                                                                                                                                                                            L _ ST └jδ  ⁿ                                                                                            z]\üüü┌Dy,\UUUx,8,Φz^W7,÷#αΦ·~÷+╡#Φ°z^╡#s#α°°~ö#R#Ω··~S#2¿¿¬ΩR#¬¬¬Ω2#¬¬¬¬2#¬¬¬¬#2¬¬¬¬1#±¬¬¬ #¬¬¬¬1#±··· ╤"    1#±┐┐  #¬¬¬¬#¬¬¬¬1#±¬¬¬ 1#±¬¬¬ 1#±¬¬¬ #2¬¬¬¬#2¬¬¬¬#2¬¬¬¬#2¬¬¬¬#2¬¬¬¬2#¬¬¬¬2#¬¬¬ 2#¬¬¬┐R#¬¬» R#
  14434. ¬½s#2#*¬½╜ö#R#
  14435. *½╜╒#ö#/-╡╒,┤#*½»╜X,÷#
  14436. +»╜Ü,X, /=⌡√<Ü,=╜╒█4[U ⌡µá                                                                                                                                                                                                                                                                P┐   ░TTX  rTV½ ▓; ≡Z╓t  ≡   ■                                                                            W⌐⌐⌐⌐X,$ÇáΩ■8,÷#áΦ·~,╒#·z^W╒#ö#Φ°z^ö#s#xx\Vs#2¿¬Ω·2#R»½½¬#Q½½¬¬2#¬¬¬¬2#    ≡2#¬¬¬¬#¬¬¬¬±"    ±"    ±"    ±"    ±"    ±"    ≡2#¬¬¬¬1±"¬¬¬¬#¬¬¬¬2#    2#    2#    áx░    ±"1   ¬±"1   ¬±"1   ¬2#≡¬¬¬ 2#¬¬» R#*¬» S#1
  14437. +┐ö#S# /┐⌡╒#ö# -╜╒,╒#+-╜╒X,÷#
  14438. +»Ü,X, /╜√<Ü,/╜²⌡╗,√<²⌡╓X                                                                                                                                                                                                                                                                    ╧╥┐   0t\Zâ? W≤C┴`┐:╘d └j╓l  ≡   ■                                                                X4WW_S8,÷#¬Ω■,╒#Ω·~_╒#ö#ÇáΦz╡#s#°·■~s#SááΦ·R#3¬¬¬ΩR#¬¬Ω·2#ΩΩΩ■2#    #¬¬¬¬#¬¬¬¬±"    ±"    ≡"    ╨"    ±#¬¬¬¬±"    ±"    ±"    ±"    #¬¬¬¬#¬¬¬¬#¬¬¬¬#¬¬¬¬P1╔╔╔╔╤R+#+ÅP    æUé>∙P±UVhâp    ±"¬¬¬¬±"    1#±¬»  2#¬½» s#¬½»┐ö#S# /╜⌡╒#ö# )-ò8,╒#+»╜⌡y,$
  14439. +/╜║,y,+¡╜⌡√<Ü$/┐  ·#█4²⌡┼┼                                                                                                                                                                                                                                                                            ╨░C   0    ö\ZÇ? sTUZ½<TTⁿ┴V╓l  ≡   ■                                                    ,ÿDƒ?┐,╓#· ~T÷#╡#·~_╡#ö#αx~~ö#S¿¿¿ΩR#t½½¬¬R#3ΩΩΩΩR#····2#¬¬¬¬2#    #    æ#╤    ±"    ±"¬¬¬¬╨"    ╨"    ╨"    ╨"    ±"    1#±    #    #    #    #    #    P1╔╔╔╔P±_┐ ≡▒±∙┼╞╧    ┐   ░PZâ  ≡±UZÇ?P¬U±p¡É(╫╨"2W ⁿS#
  14440.  
  14441. +»ö#S# -╜÷#ö#++¡╜8,÷# /-╡y,8, /-╗,y,+/»╜║,Ü#`└·#[5  ■≥                                                                                                                                                                                                                                                                                ≡╤»?  pQUÇ  oDUZ¬ôTWT+¡U\ └Uu  └   ·                                        ╓#╓+┐   ò#╒#U¿á╡#ö#áΦ·■ö#sá¿¿Ωs#S¿¿¬¬S#R¬¬¬¬R#2■■■·#2    #¬¬¬¬2#    #    ±"    ±"    ±¬¬¬¬#╨
  14442. ¬¬¬¬#±    #±    ±¬¬¬¬≡#¬¬¬¬±"    ±"    #    #    #        Ç`0      └≡≡⌠    p╙;╦'+»╧   ■            p    /   ░   ≡±VXcÅ2#±*½»╜s#*½½»╡#s# --╡$╒#-╜╡╡X,$ --ÑÜ,X,
  14443. ++¡║,Ü,»┐²⌡Ü║,∙╒ò%                                                                                                                                                                                                                                                                                            ╨1_/  p2$¬  P    TLVá eòP
  14444. ½ <ò\ⁿUVû\ ⁿ┴   ·8uCSS[╓\≡UZ≈d ⁿU   Ω                Tö#k»»┐ö#tÇó¬½s#ö½¬¬¬s#SΩΩΩΩ2s#¬¬¬¬R#2    R#    1#  ■■2#    #    ±"  ²⌡±¬¬¬¬±¬¬¬¬#±    ≡"±    ≡"±    #±    ±¬¬¬¬±"    ±" _W#    #        Ç`0      @╨⌠▀ α ⁿ      »Oú»»Ç⌡v}ⁿ<NZ;╘d └╒Ñ                D┐ _╢l±UU^\S#¡╜╡⌡ö#2++»»÷#ö#/¡¡╜8,÷#-¡¡╡y,8$ ++-Ü,y,
  14445. ++¡8$òò%╔                                                                                                                                                                                                                                               »                                                        ▒q    K   RSXXWW╢ds#-╒UU╒TyP*¬][àäǬt#ô¬¬¬·VLö#    ╒UUö#≈d╒¬ÇîG ⁿ··            ╙╘#┐   ⌡33 ■°╒S#ö¬¬¬¬s#S····s#2    S#2    R#   ■#¬¬¬¬2#  #    ±"   ²±¬¬¬¬±¬¬¬¬±___≡±¬¬¬¬≡±¬¬¬¬±⌡⌡⌡⌡±¬¬¬¬±¬¬jj±" _#    qÇ`1      @╨⌠  ² ?<╖ì@TÑ╢}╫¬ 7àÇ■UU│;±èWUU±`└╤±  ²∙       ┐xà PTuuá¬òd\VUU1±»╜╜⌡s#2╜╜╡⌡╡#S ++/$╓#--╡╡Y,$+/¡¡Ü,X$½»»»ÿ┘#±±∙⌡                                                                                                                                                                                                                                            8⌠dS»  w4TUÇ ╖╒d V:╘d └j}  U   ¬   ¬                                        │_/  ╙TU¿ ô┤#U¬ ö#UVXWö#t¬¬¬¬ö#t¬¬¬¬ö#t¬¬¬¬ö#╘+└X`Ç╖\  U≈l  ⁿ   ¬   ¬ô╘+ú»»2ö#¬¬¬⌐t#R    2#S    2r@±╥Ui▓≡2r    2#   #    ±¬¬¿á±¬¬¬¬±    ±  ≡╤ÇÇÇÇ≡╤
  14446.  
  14447.  
  14448.  
  14449. ±²²²²±    ≡¬¬¬¬±**
  14450.  
  14451. qÇ`q  @╘   ┐<w}OCPö≈l2\VWUS#   ±Éá\░  └╘ɱUVX[±±±∙σσ    8}?OC╣ìS#x^^WS#2_ ■ΩS#W_■≡╖▐▐xS#╜╜╡⌡ö#2+//»÷#╡#-%╡╡8$÷# +/-Y$7áx┌<╖*⌡\z]└U¬U └Uzm  ≡   ·                                                                                                                                                                                                                                        Å≡K   É±V  p    ÷tV  ╧6uU¬ öƒUU¬ UX╘d≡V¿[⌡d └ZXà  U7}  └   ¬   ■                 ┐┐┐╢7]ºñÑÑö#╡¬¬¬½ö#ö¬¬¬¬tö#¬¬¬¬t#ô¬¬¬¬VLs UUUÖàs# ²UU£╛S¬ UUÖìs#Ç UUU];¬¬╘3sTTWU3#s    R#S    ▒ò%%╔1  ⌠   WkÅ?æ    2W__~±¿¿áᱬ¬¬¬±    ±WW__≡╤¬¬¿¿≡╤¬¬¬¬±╨±    ±¬¬¬¬±*
  14452.  
  14453.     ```α    xà?CPX}R#p\^WS#2    2qÇ`1      P≡≡ⁿ    æ±oo?``└è&   ~[mSPöò┤+STW  3#s½┐  S#2W_~·2±_~·°≡-5╖t#2-¡╡╡╒#t++¡¡$╓# +-φ÷╗ûJ┬≥≥      =   w╪   wVÇ   u    UZ  ╫]Z ÷dU¬╧╡░- ⁿ·≡                                                                                                                                                                                                                                                    P░'   ╨╤`  DVáâUL▓┐ U{╢S¬ UU⌡T;T
  14454. ¬[≈\≡UZm UUe ≡UÜà  U┐  ¬∩G¬¬¬¿╓#ö ■Ω¬ö#╡¬¬½»┤#t ■Ω¬sò#¬¬¬¬S#ö    Sö#¬¬¬¬Sö#¬¬¬¬Sö#¬¬¬¬ö#S   ¬ö#S   ·ö#S    S▓Ç└`rr╔≥ⁿⁿ       ┐╖M¬½ññ2W^~z±¿¿áᱬ¬¬¬±_±╨ááÇÇ≡╤¬¬¬¬≡╤¬¬¬¬±╨****±⌡⌡⌡⌡±¬¬¬¬±**
  14455.  
  14456. Q@ÇÇ≥\ >>NUe9üíá¿r#3■  ┐R#S        3%%╔            ±╥XcoyTeNV¬ms#X\WUöS#¬¬¬¬ö#S ■Ωt#2■·ΩS^~zΦ╨╛║°ΦS--╡╡╡#S//¡╜╢#5    Ç└``vû≥ⁿ                                                                                                                                                                                                                                                                                          ╤┐         ╨  ╥  C ╙SUZ½1√₧¬¬╘    ò#UZÇ?v45
  14457.  
  14458. ¬½╡╕L╓#UUU┌à╓# UUÖ}╓#X_UU╓#╡·Ω¬¬╒#ò■·¬¬╡#ö ■Ω¬┤#4¬¬¬Zt#ö┐  ■sò#¬¬¬¬ô#t    ô#t    òs#¬¬¬¬S#ö    t`q█ª*
  14459. B╨        u??O╓l2pX\\2_~_±ÑÑòѱ■■·±╨ÇÇá≡╤¬¬¬¬╨±¬¬¬¬╨≡¬¬¬¬≡╤¬¬¬¬±╨
  14460.  
  14461. *±┐┐»╜±ZVVZ2╜╜╜╜4╘TJzZ¬DSTVVUs#S⌡²┐┐s¬Ç@Rô╔∙∙≥            QR┐   Æ4<á½Ñs
  14462.  
  14463.  
  14464.     S#ö    sò#¬¬¬¬ö#S~··t#2_~z2±^~xx2±-5╡╒ö#2/»¡╜ö%┼╔∙                                                                                                                                                                                                                                                                                                                    4    ╒c┐  ⌡╓#VXX[÷#╢¬¬¬j$v¬¬¬╡╓#╓¬¬¬¬╓#┤Ω¬¬¬╒#ò·¬¬¬⌠╡#    ╔╔σsU$¬  │╘Uá? ô┤U¬ ô┤U¬ ô┤U¬ s┤U¬       @╘   ⌠²          ╢dOOCSD2TVVV1_W±ÑÑѬ±~~_±╨ááá¬#╨    ╨±¬¬¬¬╨±¬¬¬Ç╨±¬¬¬¬±╨***½±╜╜╜⌡±***½1²╜╜⌡S½½½½s#S╒⌡⌡⌡ö#S² ┐┐tô└```sR    ■ⁿ                  ╤R    K   ▓ôVÇ  │öU¬ ≤tUU¿ts╜s≤¿áá⌐S^^zz╨/╛╛▐s-¡╜╡≤╒+≥ΩVZò#╓+   ■                                                                                                                                                                                                                                                                                                                    UuW»? ╘]╟*P ò╡Z   5    ûUh ╓ò ╡╒#û¬¬¬⌐╡#⌠α``└                                        <uTSPTöR|_±ÇÇÇα≡¬¬¬¬±≡¬¬¬¬±╨¬¬¬¬╨±¬¬¬¬╨±¬¬¬
  14465. ╨╨¬¬¬¬±»¬¬¬¬≡╤¬¬¬¬±≡****±jjj¬2╜╜¡╡S╡╡Ñ╡tS⌡╜╜╜ö#t⌡╜¡¡öö````                                    s╙ç   Æ3V  ▒╥U¿ ░╨UZ`2╤ -~┤#▓**¬╡4╒#≥≥ΩV                                                                                                                                                                                                                                                                                                                                    4    uÅ   4    òVj ╡ò ╡U5■²±±                                 ┐┐┐≤T:ííá¿1■_≥á¿¿Ω±¬¬*±╨¿¿¿¬≡╤¬¬¬¬╨±¬¬¬¬╤╧¬¬¬¬╨╨¬¬¬¬╨╤¬¬¬¬±╨¬¬¬¬±╨
  14466. **¬±¬¬¬¿2╡╡╡╒S╡ÑÑ╡tS===╜╡#t²╜╜╜t    ò%%╔                                               ┐<╡lOSPöp    ┐@≡  ? ┤#è⌐¡¿┤+ⁿⁿ·╒                                                                                                                                                                                                                                                                                                                                        4    uÅ   5    ╡⌡µ├                                »ÿì?@T≈l^\\W±¿¿¬Ω╤¬¬¬Ω±╨¿¬¬¬╨±¬¬¬¬±╨¬¬¬j╨±¬¬¬¬╨╨ΩΩΩ¬░≡¬¬¬¬░≡¬¬¬¬╨±¬¬¬¬±╨¬¬¬¬╤¬¬½»±***+S»»┐╜tS╜╜╜╡╡t╜╜╜╜┤╒╔╔╔╔                                            Xà?CS7}±p\^WrL≥:Zj{╢}@U¬╖dS\\WU┤+S    %╒Us#┤+ ■∙Φ                                                                                                                                                                                                                                                                                                                                                                  ┐½Öì?@Uûu¿¬7uα^UUS#±■   ╤¬¬¬¬╤»½¬¬±╨¬¬¬Ω╨±¬¬¬¬╨╨¬¬¬¬╨╨¬¬¬¬░≡¬¬¬¬≡░    ╨░¬¬¬╛░≡¬¬¬¬╨±¬¬¬¬╤ΩΩ¬¬≡++½»2≥
  14467.  
  14468.  
  14469. +t///¡òs -⌠    ≈4╩╩ΩjùLÖL   ■                                    Xà ?O4màüá¿1p¿¬¬z╨    ¿W±0Ç┬ëæ      ▄ⁿæÆUá? æR#UjÇ ░R ²·≡                                                                                                                                                                                                                                                                                                                                                    ₧  C<╣à?Tò╖mÇ¿¬8uS°WUUS#ⁿ   ±2»»½¬╤¿¬¬Ω╤■   ╨±¬¬¬¬≡▒¬¬¬¬╨╤¬¬¬¬╨╨¬¬¬¬≡░¬¬¬¬≡░¬¬¬¬░╨    ░╨    ░╨   ·░≡¬¬¬¬±╨»┐┐ ╤½»»»2±++½»S --òS //74╡UUU÷#X<∙ΦáÇ,,   ⁿ                               ┐[VuCPöñDoⁿ■  ±╧α`αÇO  ╨⌡  ╨╤XcÅ?p    q∙±±·                                                                                                                                                                                                                                                                                                                                                            ║à?OC╪mZÇ¿¬8mò^UUUtSαxx^S¿ΦΩ·2±¿ΩΩ■±Ω·· ±╨¬¬¬Ω±╨■   ±╨    ╧╤    ╨╨    ╨╨    ≡░    ░╨    ░╨    ░╨    ╤»  ■ ░╨  ■Ω╧╤    ±╨½»»»±+//»S++½»öS--¡╡╓ò╜╜╜⌡$╓⌡⌡╒V≈#⌡σ╔σ                            7à?CP╓d≡°ⁿ^╨p    
  14470. Ñ╨  @└o»²■ⁿ     »É    Θ≤                                                                                                                                                                                                                                                                                                                                                            ┐┐<YeSPTò74╡TWUUòSααΦ°SÇááΦ2≥á¿Φ·±·■■╨±   ┐±╨■   ╧╤    ╨╨    ░╨    É    ░╨    ░╨    ╨╨    ╧╤    ░╨    ░╨    ╨░  ·■╨░½»┐≈±░½»┐ ╨»»┐╜2±
  14471.  
  14472. +/t++/¡╡t+/-¡╓╡ -≈≈`└ÇÇ╖  ²■                     ┐┐»möüßαx      @╨⌠/       =  ╧  ⌠ⁿⁿ                                                                                                                                                                                                                                                                                                                                                                     ╗à?CS9e╓X\\V╡táαΦxtááα°SΦ·■~±Ω··■╤■  _±╨  U░╨U╒² ░╨   »≡░   U≡░   ╒░╨    æ    ╧╤    ╧╤    ±╨U²  ±╨U   ±╨UU  ░╨ ²╒UÅ╨  ⌡╒Å╨_  ±╨»╜╡╒2±»╜╜╒S ++¡òS +/-╓ò+//¡╫╜╜²ùù■±±∙                    ÷lOCPö╨▐∩B╨⌠▀ α ⁿ                                                                                                                                                                                                                                                                                                                                                                              ┐X]<üüí≈ò°·~^òSáαΦzt··■~3±··~_╤·■ _╤╨    ╨░á¿Ω ╨░·  ╧░   U╧░   U╧░   ²░╨ZZZ¬░╨ __±╨U⌡²²╨U⌡  ╤²  ┐╤  »¬╨  ·¬╤U ■±╨U_■·╨░_·Φα╨░/-╖╫╨╜╜⌡╒S±»»┐╜t /¡╢t /¡≈╢ //╜7≈╒ò%%                <ùe?OÅ╙▌▀J╥⌠▀ α ⁿ                                                                                                                                                                                                                                                                                                                                                                               ÜuOCS√ì╓x^WW╢tαΦx~tα°°~S±··■╤··■±╨z^_U╨░Φ·■_╧░ WU░Å¿¬░Ŭé░Å*¬╧░⌡⌡╒U╨░┐┐┐}░0αx╨      ⌡pU¬ ±±UVáR    ¡2≥  ¬⌐3±_ Ω¬2±UW ■╨W■·±░W_~·╨░ -╡╫╨ /-╡S+-¡╡òS +¡╓ò /-≈@Ç╖ ⁿ■±            ┤    %/                                                                                                                                                                                                                                                                                                                                                                                     ┐┐<9]SPTò≈ò°·~^òSαΦ°zSΦ·z^╨á¿Φ·±░ΦΦ·■╨░°·~_░ÅÇá«░Ŭ*╨░UU² ╨░UU  ░ÅÇ└:ùL _      ⌡ O  @╘              r    k   3VXcÅtU Ω⌐T_■¬áS± ·Ω╨_~Φá±░W_~~±░-╜╡╒2╤++¡╜t+-¡╡╢t +-≈╢ +/╜╖≈∙╔╔┼                                                                                                                                                                                                                                                                                                                                                                                                ÜuOCSZe╓X\VW╢tαα°xt°xz^3±Φ°z~±╨αΦx^╨░≡ⁿ■_░ÅÇα╕╛░Å+
  14473. ╨░⌡  »╨░ ┐╨▒¬¬└[ùm _o  ╨⌠²                         ╙    ò┐   UTVXcÅòT·¬âò_ ·ΩSW^z°╨^zΦα╨Å╛║Φα±░ /-╡S±+/»╜ò +/╜╓ò
  14474. ++¡≈ù``└Ç╫   ■                                                                                                                                                                                                                                                                                                                                                                                           ┐Y]<üüí≈òΦΩΩ·╢S···~SαΦxZ╤ΦΦ°~±░·■~_░ÅÇαΦ■░Å/
  14475. ╨░²┐/+±╨U⌡»½±æ¬`Zùn _p  ╨⌠²                                 U
  14476. U┐   VòVXcÅ╢t_·Φâò■Ω¿SW^xΦ░^~·Φ╤Å/╖■■╨ -Ñ╡t+»¡╜╢t+-¡╡≈╢ +/¡╓    W²∙±±                                                                                                                                                                                                                                                                                                                                                                                        ÜuOCSÄ╫x^WW╫òxzz~òS~^^_3±α≡°x±░áαΦ°╨Å¿ΩΩz░Å ┐//╨░⌡╜//±╨╡¡+
  14477. QR¬¬¬jæ      @╨0  ╨⌡                                          V
  14478. V┐   vûVXco╓t~·Ω¬ò3^zΦα3±^xαá±░^^xα╤Å /╖3╤ +/╜ò3+/¡╜╓ò+)¡╡÷    ù±∙σ┼                                                                                                                                                                                                                                                                                                                                                                                      ┐┐y]\üüá≈╢Φ···╓u··~~t3xxx^╤αααx╤Å
  14479. ÇááΦ»p
  14480. á¿¿¬╤Å┐»++±░»+
  14481. ≥2    Ç`R      P⌠  ⌠²                                                  7ù┐  ù╢UVXc╓u~·Ωt3^xαα3╤^z°Φ╤Å▐▐xp░/¡╜╡T -╡╢t-¡╡⌡÷    û┼σòò                                                                                                                                                                                                                                                                                                                                                                                    zm?OO:e≈X\\V≈╢zzz~╢txxx^T≡pxx╤xx~^╤Å
  14482. Φ°·~░Å
  14483. ┐»++±░╜¡+½≥1Çαx≥  @╘²▀ α ⁿ                                                           ≈    o┐  ÷╢UTXW╢t_^xhT^x≡α░^~xΦ╤Å-%╖╫3╤+/¡╡ò3+/-╡÷U{++»X4 ⌡U┘L  ⁿ²                                                                                                                                                                                                                                                                                                                                                                            UCSSSx4≈TVWU╫òαααxòT°xxx3±αααh±░
  14484. ΦΦ°x░o
  14485. Φ°╕╛╤Å
  14486. »+ zùÅ _q  @╘²                                                                     vvWÅ? û╢    ò3zxΦα3╤zxΦα╨o
  14487. ║°Φα±Å
  14488.  
  14489. +-T    --╡╢t--Ñ╡8,╢-⌡⌡╒≈X4⌡Ω¿ ╫╪   ■                                                                                                                                                                                                                                                                                                                                                                        Ö<SSSS≈╫zzz~╫òxxx~ò3ΦΦ°z3±xxxX≥Å
  14490. ···z░n
  14491. ««*+±░
  14492. ¡/ ╨┤+≥·VVô
  14493. ö   ■                                                                        ù╢SkoÅ╢t^xxjTXx`α░
  14494. ^zxx╨o
  14495. //»╛3╤+-¡╡ò3+--╜╫ò/-¡╡≈╫φ╜╜⌡≈ⁿ≥±╔                                                                                                                                                                                                                                                                                                                                                                        8,S__≈╢ΩΩΩ°╫ò~~~^u3pxxx╤
  14496. αααx╤Å
  14497. xxz^╨o
  14498. »»++╤
  14499. ¡/+ 3S    Ç```ôs    ²ⁿ                                                                          ûù?┐  ╢vΩΩ¬½u3xpαα3╤
  14500. ~z°Φ╨o
  14501. ╛··x≥Å
  14502. +/-t/-¡╡╢t+)-╡╫╢ ¡÷    ╫σò%%                                                                                                                                                                                                                                                                                                                                                                        X,O $╢\TWU╢u°°xxt3xxZZ░
  14503. ΦΦΦΦo░
  14504. ╡¡¡¡≥Å
  14505. ╜╜»/3±
  14506. --/ Tt    ````                                                                                $WTTTòTx`ααT±
  14507. zz°Φ≥Å
  14508. ~zx°╤Å
  14509. --╡╡3╤
  14510. ++/òT---%╫ò/»¡╜╫╢    ````                                                                                                                                                                                                                                                                                                                                                                            û╓áƒ╢uz~^^T α°xx░
  14511. ·zzz░o
  14512. ▐▐╛╛≥░
  14513. ╜¡--T±
  14514. »/++Tt    ````                                                                                ,TUWW╢uzxxΦt zz°Φ░
  14515. ~zx°░
  14516. o
  14517. '6╛╝░
  14518. +/-u +++/╢u +/-╢û    ````                                                                                                                                                                                                                                                                                                                                                                            ò ,ƒ/┐╢T ■~|T≥
  14519. Φ·zz≥░
  14520. x~^^░o
  14521. ╖╖╖╖░
  14522. ¡¡»»T -/++4%σσσ                                                                                û╫º?╢u ΦΦó¬u ΦΦαα3╤
  14523. ~~z°░
  14524. o
  14525. ▄°°p≥Å
  14526. +/--T +---òT ╢ò    ````                                                                                                                                                                                                                                                                                                                                                                            òû┐   3 u⌐**3≥
  14527. x~^^╤
  14528. Å
  14529. xxxX░
  14530. o
  14531. 55--╤
  14532. ╡╡╜-u ¡»»»4 σσσ╔                                                                                V ù┐   ╢ v¬¬¬½û3 ··°ΦT≥
  14533. ^~~~╤
  14534. o
  14535. xxx°╤
  14536. o
  14537. /---T≥
  14538. ¡╜╜╜òT /-¡¡ûò    ````                                                                                                                                                                                                                                                                                                                                                                                3 ╡#' /ƒ ╤
  14539. xx\^░
  14540. o
  14541. αxxx░
  14542. o
  14543. ---- ╤
  14544. ----t /»»»T    ╘
  14545. ±±±∙                                                                                    ╓
  14546. ukÅ┐ò4 ΩΩΩφT≥
  14547. zz°°≥
  14548. Å
  14549. zzzx░
  14550. o
  14551. --%73╤
  14552. /¡╜╜u3 +/-¡òò    ````                                                                                                                                                                                                                                                                                                                                                                                R
  14553.  ƒ?  s#▒
  14554. ]U_\░
  14555. o
  14556. |^^^░
  14557. o
  14558.   ╤
  14559. ----u3 ╜╡╡╡
  14560. u∙╒ò                                                                                        ö
  14561. U XW½T  xxxy≥
  14562. \Xxx░
  14563. o
  14564. 7╖╖ù ░
  14565. /-¡¡u /»¡╜T    u %╔╔                                                                                                                                                                                                                                                                                                                                                                                Öì ?PUQ■∙°°Å
  14566. N
  14567. ╕╕║╛╤
  14568. Å
  14569. ╡Ñ╡╡ ╤
  14570. ----u3 ╡╡╡╡╡⌡
  14571. j
  14572. **  ■≥≥                                                                                    T
  14573. ö
  14574. ┐    t(('≥
  14575. xpppÉ
  14576. N
  14577. <8╕╕≥
  14578. ---%T  ---=ö    ò ╔╔╔╔                                                                                                                                                                                                                                                                                                                                                                           ┐<xàCPòVe2üα· 2#É
  14579. \UUUÉ
  14580. N
  14581. ╛┐╖┐╤
  14582. É
  14583. ╡╡╡╡ ╤
  14584. --╜╜T  --ûu ¡¡╡╡÷
  14585. û ╔┼%                                                                                     ┐┐┐╒D9ííáá ▒
  14586. xxxxÉ
  14587. N
  14588. ╕╕°°≥
  14589. É
  14590. --╜╡3 ≥
  14591. --╘    T ╔╔σò                                                                                                                                                                                                                                                                                                                                                                      ┐»<ÿ}@TÑXu╤
  14592. x^WU╤
  14593. É
  14594. °°~É
  14595. o
  14596. xx|^É
  14597. N
  14598. ┐┐┐╜╤
  14599. É
  14600. ╡╡╡╡≥
  14601. T  ----û T /-¡¡╢ v Kï+»╢
  14602. v ⁿ■±∙                                                                                eOOC╪\4 \\VW ▒
  14603. xxxx░
  14604. N
  14605. °°°x╤
  14606. o
  14607. /---3 ≥
  14608. ---Ñu ⌠
  14609. B╩
  14610.  
  14611. 5  ⁿ■±                                                                                                                                                                                                                                                                                                                                                            ┌ì ?@wu:áΦ≥
  14612. ≈d    ╤
  14613. αhxZ░
  14614. o
  14615. ΦΦΩ·É
  14616. N
  14617. ·■~~É
  14618. N
  14619. ╜╜»»╤
  14620. É
  14621. ╡╡╡╡≥
  14622. ----T  ¡╜╜╜û T ¡╜╜╜û u  ╓
  14623. û ╔┼%                                                                                ╕TSSPT╓#4 TWWW ╤
  14624. |xxx░
  14625. N
  14626. xx°Φ░
  14627. o
  14628.     --- ╤
  14629. --u 3 ---¡U
  14630. u ∙╔╔σ                                                                                                                                                                                                                                                                                                                                                       ┐Öà?@TxmTá°■╒3≥
  14631. \WUU≥
  14632. ΦΦ·z▒
  14633. Å
  14634. áΦΦxo
  14635. ░+*
  14636.  
  14637. N
  14638. o/½½½É
  14639. N»»»½░
  14640. É
  14641. ----≥
  14642. ++++3 ≥
  14643. +u 4 ////û u ┐²²⌡ò V @Ǭ¬ò
  14644. U ⁿ■±∙                                                                         ┐┐»WM:ííá¿u 3 ^Zzz ╤
  14645. xxxx░
  14646. o
  14647. Xxxx░
  14648. N
  14649. /--- ░
  14650. /¡¡¡T  ---╢U ∩╧m}┤╢
  14651.  ²■²                                                                                                                                                                                                                                                                                                                                              ┐»<┘}@TÑ·ò4 °^WU4 ≥
  14652. Φ·■~≥
  14653. αΦxx╤
  14654. ÉáΦΦΩ░
  14655. o¿Ω··Å
  14656. O¿···N
  14657. o½¬¬¬É
  14658. N+»»»░
  14659. p
  14660. +
  14661. ++++4 ≥
  14662. ////T 4  +)u T ¬½ u T ¬Ω4
  14663. T ╔╔┼%                                                                        ]OOCS∙Tu \VWWu 4 ~~zz4 ╤
  14664. zzzz▒
  14665. o
  14666. pxppÉ
  14667. N///┐≥
  14668. -%╡╡4 ≥
  14669. -û T -¡╡╡╓
  14670. û ≥±╔┼                                                                                                                                                                                                                                                                                                                                        ·ò  C\╕uCPöÑT e    4  αΦΦ| ╤áá¿Ω≥
  14671. °°·~▒
  14672. Å¿¿ΦΩÉ
  14673. o¿¿Ω·o
  14674. N¿¬¬·n
  14675. /¬¬¬»Å
  14676. O½+++É
  14677. ╤αΦΦα≥
  14678. ░++++3 ≥
  14679. +/¡¡T  *+½»╒ 3
  14680. ¬¬¬z▄çæ  _S  ╨²                                                                        $_OO$u WWVTu 4 xxxx3 ≥
  14681. ZXxX╤
  14682. ox°ΦΦo
  14683. N.«╛╛╤
  14684. o+++¡3 ╥
  14685. +/-¡u 4 /--¡û U
  14686. ``└Çû╓
  14687.    ■                                                                                                                                                                                                                                                                                                                                y} ?Oweüá¿°\T ^UUUT 4 jjzz3 ≤ΦΦΦΦ╥
  14688. »½++╤
  14689. ▒ΦΩΩΩÉ
  14690. ░»½½½É
  14691. o■■■■o
  14692. N····o
  14693. .»»»»É
  14694. N//++É
  14695. ╤ΦΦΦΦ≥
  14696. ░+++½≥
  14697. RÇx╜╖p W≥  @⌡   ╘²                                                                              ,O $v TVU_u 4ΦΦΦΦ3 ╥ΦΦΦΦÉ
  14698. ≥+++/Å
  14699. .╛···▒
  14700. N++/» ░+/»¡T  --û T ++¡╓
  14701. û ⁿ≥±╔                                                                                                                                                                                                                                                                                                                               ┐<]CPTöT 7<T 5󬬬T ΩΩΩΩ≥
  14702. 4½½½½≥
  14703. ╤ΦΦΦΦ░
  14704. ╥+½½½▒
  14705. oΩ···É
  14706. NΩΩ··o
  14707. .····o
  14708. .»»»½É
  14709. o»┐┐∩É
  14710. ≡Çzæ  ╘▒  P⌡ ▀ α ≡                                                                                       ┐┐  ÿDû ^\^Uu 4Φααá4 ≥x°αα≥
  14711. Ézz°°É
  14712. N~zxxÉ
  14713. N/-¡╜≥
  14714. É+/¡¡4 ≥ +/-u 4
  14715. +╓
  14716. û ┼%òUV
  14717.    ■                                                                                                                                                                                                                                                                                                                        8mOCSÜàT x^WU4 u¬¬¬¬U 3¬¬ΩΩT ΩΩ··≥
  14718. 4½½+½≥
  14719. ╤ΦΦ··╥
  14720. ░■■·~o
  14721. ▒»»»┐É
  14722. N···■o
  14723. ΩΩ¬zN.á^O  @╘O  ╘² ▀ α ⁿ                                                                                                   ░½¿¿½U ò+++» U ++/ ▒~~~zN
  14724. ▒+»»¡É
  14725. -»»┐ ╤
  14726. o+/¡╜4 ╤»¡╜╡u +½»¡û 5J¬*+5V ⁿ■∙∙                                                                                                                                                                                                                                                                                                                        òD<üüíT ¿½½»4T ¬¬¬¬T4 ¬¬¬¬ T»»½½≥
  14727. 4½½½½≤
  14728. ╤····╥
  14729. ░~z··╧    ≡   /╧  @φ  P²-  P⌡                                                                                                              ░½»úúû T··ΩΩu ~··· ▒·°°Φ╤
  14730. o~~~·.
  14731. oδ∩φ¡▒
  14732. N/»┐╜≥
  14733. ░++-¡≥
  14734. U~··Φû 4½»»┐╓û ╔┼%                                                                                                                                                                                                                                                                                                                         '¿¿¿½ 4  ■·S ½   S ■   4 ·■  ≥·■■ ╥0Çxz.  _╧  @╘²  ╨²                                                                                                                      ░»»┐Å≈u UUWTu 4~^~z╤
  14735. 4/»»╜o
  14736. ╥»╜╜╜É
  14737. N_^^~É
  14738. N╜╡╡⌡≥
  14739. É¡╜╜⌡4 ╤+»»╜u 4»╜╡⌡ò 6JjΩ¬5v ⁿⁿ■⌡                                                                                                                                                                                                                                                                                                                    ±╙W»? 2UZá╥¡3 ≤¬  U≤QÇx¥╖O WÉ  P⌡ ▀ α ≡                                                                                                                               ≈ ?,vVU_Xv 4z···T ≤~~~·É
  14740. ≥»¡╜╜▒
  14741. N~~··o
  14742. .»┐╖ O
  14743. ░_~~·▒
  14744. ~~·°≤
  14745. T~■·u U+½╜╜Uu σ╔┼%                                                                                                                                                                                                                                                                                                                            ▒╥`?  Q╙¬  æ  P  ▀ α ≡                                                                                                                                       ┐┐  x<vXX^UT v»»┐┐U ^~z·╤^^xx▒oxx°αo.▐■°xÉN --%≥▒--╡╡4≥+--¡3 U■■·U 5`└ö÷   ■≥                                                                                                                                                                                                                                                                                                                                                                                                                                                                                É½⌐⌐½T v┐┐┐┐ U╜╜╡⌡╥x°αα╤ÉxxxαÉN^^xxo.--╖╥É-=╡╡╥ -=╜U »╜⌡⌡U 4¬┐ ⌡⌠±∙┼╔                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ╢û Uu 4 4≥zΦΦΦ≥▒zxxα▒o^^xxO-&<╕≡▒o--╡╡≥▒+-¡╡╥
  14746. WW_■4 ½ ²Us3╔╔╔╔                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ╓»┐?╡ ╡¬¬¿╡U4ΦΦ°·4xxxx╥^~~x╥É^^~xo.xxxαo. -╜▒o
  14747. +-≥▒
  14748. +»²╥¬  Uæ▓σ╒ò%                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    T┤`  ≤UZÇ?s-╥°°°·╥Éx°ααÉNxxΦαN.'7₧▄ÉO /╜}ÉOÇzp  @╘╨  └└²                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ≥╙c?  ▓V` ▒ ╡É∩ÇÇÇ{.-Çα^  P⌡N  @╘  ▀ α ⁿ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           Å░»   »  C    P²                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Eå@Ç                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ](ÿLú[TûZ9\ ╔ª²z;┌ª   ≥                                                                                                                                                                                                                                        X\ ┐STî█R U¬¬ⁿ(wL?rEUÿ┌uI┌*┬£ò  ≡\√u∩ⁿ%*Z<  ²≥                                                                                                                                                                                                                                £)z~?Åôñ╣\⌡+PT__┤+R#û▐▄X,ô+ -¡╡╖╣\÷÷╞Ü╝)<]┐O;+<v*╩┬Σ╝2¢D⌡oÅ|1√3 ⁿ⌡τ                                                                                                                                                                                                                        £1;]?O_S▄}║4TWUUy4÷+xxxx╒+R#zxxx┤+R# -╜╡W4┤++»╜⌡93E ╩¬[²Ñ╜┐ ⁿ|"[4┐ ²≡;+²ìφ┤⌠";E  ⁿ²                                                                                                                                                                                                                    ⁿB√DS_ƒ┐=║4zz·ΩÖ4,xxxx╒+s#xxxxs+1#/┐╛■┤+R#
  14749. +»¡X4┤++»╜⌡\!tW≥Ω¬¬<!¢D≈δ▄┘▌à√█╙∩|*¢4⌠δÅ                                                                                                                                                                                                                        ╗4╜ä/Ü4,xxxx⌡+s#xxxxs#1#·zxxs#1#
  14750. +¡╜╒+s#+¡╡╒,┤+ /╜⌡,╣<µháÇ|2:]∩╠Iû╝2√N┐┐??<e¥╜ ■■ⁿ                                                                                                                                                                                                                })ⁿD π)[MocTUÜ4,xxxx⌡+s#x°xxs#2#x°x°R#1#¡╖╫Ws#2# /┐²┤+R#
  14751. ½┐²,ö# »²⌡╣4÷++┐⌡U!y<■⌡U<u■⌡⌠°                                                                                                                                                                                                                    √+<äW  ┤5¢:¬¬ºº╒+s#°xxxs#2#°°°■2## áÇαR#2#¡╡⌡Us#2#+┐ ⌡ö#R# /²╒÷+s#+┐²╒7,┤+
  14752. »²UXMW#J┐  }1ÿ<ⁿ%UU┘DS  V°>=S  U¬ⁿ)█L  ■±                                                                                                                                                                                                        ~(6<WTVV╒+s#~^^_R#2#áΦxx1#ᬬ¬#2#Z¬¬¬2#1*¬¬R#2#
  14753. »²╒s#2#
  14754. » ²ö#R#½⌡U╒+s#
  14755. ┐⌡U,ö#
  14756. »²UX,┤#+┐⌡║4,
  14757. ½╜╒}9X6/   EK ÷@|)¢4  ⁿ²                                                                                                                                                                                           ┐!9m ?Sû:m┤#\VWUö#R#x^^W2#1¿¿¬¬2#≡¿¿¬¬#1¬¬¬¬#2Ω¬¬¬1#¬¬¬¬2#¬¬R#2#¬╜UUR#2#*»╒s#2#*» ┤#S#
  14758. /┐⌡,ö#+»╜╒y,÷+
  14759. /╡╒█4X,
  14760. +¡╡ⁿ╗4±⌡σ╒                                                                                                                                                                                    e ?oX╣    ·mcû⌐¬·L╒#\_WU┤#S#≡x~^R#á¿¿Ω2#ᬬ·1#±¬¬¬¬1#±¬¬¬■1#±¬¬¬»1#±¬¬¬¬#2¬¬¬¬1#¬¬¬ 2#¬¬┐2#*¬¬R#*¬»ö#R# ¡⌡U÷#s#
  14761. /╜⌡X,╒# -╡█4X,╩½»╜█╗4 ⁿ²∙                                                                                                                            ÷ò╧º  X╫| ⁿëÉL   *                                        85╗2í⌐⌐⌐X,╒#αΦz~╒#s#α°x~s#2Φ°·~2#ᬬ■2#■   1#±¬   1#±■   1#±»   1#±¬   ±1#¬¬¬¬2#    ±1,¬¬¬*q▒#¬¬¬¿2#¬»  2#¬» s#*»┐÷#s# /╜⌡y,╓#
  14762. +¡╡║,╝:╨Ç╝2█4  ■∙                                                                                                                                s;╓k/   █5l┬ò 9C ±V_ òC  ■%                            :*≤-¿½½ú÷#ö#αΦz^ö#S#≡x|^R#¿ΩΩΩ2#■   #    ±"    ±"¬¬¬¬±"¬¬¬¬±"    #    #    ±ÿä@@@@qz¥c├OÉ    ≥*UY vO   ^╤#欬¬²s#±
  14763. +»╜$s#+/╜╡Ü,÷#
  14764. +¡¡<"║,σUU██3   ■                                                                                                                                    KK┐   Éu\`/  ôC╔V½ 8td ≥ܺ▄ 0  ≡*£9≈l  ?} 7T  ≥ò   ■    û┤,»Å┐?╡#s#Φz^]s#2ΦΦΩΩR#··■·2#    ±"  ⌡⌡≡"¬¬¬¬#±    #±    ±"    #    ≥#P¬¬¬Ωr*╛@└≡ⁿS3oO:ûl  ═û    ╫{8äτ   ÿ1#V[_Sö# +-╜8$ö# +-¡Ü,8$
  14765. +)Ö*Ü,²∙±≥                                                                                                                    82╢ä   _∞~  └¬÷t   
  14766.    ■            Xäÿä┐   3
  14767. 5Lh¿âVT╓    è»Ç⌡;ö#5UUU┤uD∙Ω*¬∙B   %   Ω╡"s#UU[Ss#2■■■■Ü~O   æ#2¬¬¬½±"²⌡⌡⌡±¬¬¬¬±WWW_±╒╒╒╒±¬¬¬¬q$Q   r"√╜└≡⌠:!ò\?S¢ñ7u╨ï■ █╜╤"UUUqV ■■±╗um?Oô½uTR
  14768. ß°  S≡/-╡╖÷#S +-¡ÿ°5¬¬¬*║z<■■%X\z]  ⁿ)                                                                                                                    ╫{╪î┐   ╨TKa   ô7lÑ  :\┬Vù Ö)╙; *V½║T] ≡Ѭ╖\  U₧(°d   ⌐=÷3o__P╡#s·Ω¬áò#s■·■·╖ds-UUUs╢¬z[sr_UUSôÇ@s"╞╨≡⌠■Y!2#TWoo±áÇáDZ  ±╨áá¿¿≡╤**¬¬±  ²²±@@Ç╗ û\?OoÆS≈l╥!3#┼Θ±∙w*┐?  û≥;··    SöDûíῬt#2_~·α2±╫▐\x╡#/--╜≈3e┼Θ±ä;ä_   W3[ä%   Ö:╪|ù  ╥R ■                                                                                                                              ±xäO   ≥    ║ÑÇ7  #äö  ╓V4V¿½ÅYm╓#bUUU╓#ö·¿¿Ç·îòUU╒stUUÇ ¢┤TUUU¬¢┤TUUU¬║ò*J╪²    ≈!ôDƒôú½±áááα±╨ÇÇÇá╨±¬¬¬¬±╨┐  ²╨½½»»2±┐┐┐╜▒#w"åó¬¬s└@╙<╬⌠ⁿ■     ╙w|/ ±w\¬¬á_t#│┤S±xxαΓs±--╡╡5#╛≡⌠ⁿ≡                                                                                                                                                        ╒╓?   ò    t"²  T╣l¿ç ö
  14769. ╕L**¿çÖ  ²■                R<Yíó¬¿±Φ°·~±╨¿¿¬¬╨±¬*¬¬╨╨¬¬¬¬±╨***»2±╜╜╜╡t╡╡=¡$4jjjΩ                ╫{¢î┐   ╥8ä  r║╡
  14770. H4ⁿφ└ÿÉ-  ⁿ■                                                                                                                                                                ÖäÜä┐   u╛ⁿ≈          =zt  ?c╢C?cUU5LTVUU±╨ῬΩ╨±½¬¬¬░≡¬¬¬¬╨░¬¬¬·±»*¬¬»╤*++»S -|╜uòòòU\1   ■                !v\?Oô∩D╔i¬
  14771. 4    ┤TÉÑ
  14772. ┌≡wd·Ωá_P    Q   ■                                                                                                                                                                    Ü}  ?┐Y7]?Sª⌐T#Xu$2±Φ°·~╨·■ _±╨■  ╨╨    ░╨    ░╨    ╤»½»┐ ±╨//╜╡S±+/»¡÷#t=╡╡⌡÷#ƒεⁿ≡└Ç            ╘╖  ?Å<Uíó¿╕╧6t╥≥╥⌠tK╔╟∩                                                                                                                                                                             xLO_SW╓SΦ·z~S±Φ°·~╨·■W≡░·■  ≡░   ╫░╨    ░╨  _W╧╤    ░╨»┐²╒≡░┐⌡╒_3╨/»╜⌡ò +/-÷vJè +7à ²■ⁿ        ┌ Toô½Σr:√╜ⁿ  ╫{╫î■                                                                                                                                                                               |1\  ?5Yí½¿¬öΦx~^╨αx~^╨░á°~W╨Ŭ¬· ╨Ŭ¬½┐╨    `▒₧φ¬ûT≡   ╘╨·Ç░_·á±░-╡╫^t±/¡╜╡╓S
  14773. +-╕≈±±∙┼    }?┐ WCJ°ⁿ                                                                                                                                                                                      XDO_[W╓Φ°z~3╨αΦz~╨ÅÇáΦ·╨Å■┐»½╨░U² éÅ
  14774. 2Ç`╪÷╧Ü╡`       W|Üî┐   TST[o┐òW·ó3░_~°α░-5╡╫ò +-╡╢ ÷└Ç                                                                                                                                                                                            |1┌å  ?┐5zí½¿¬ò°x~^±░αxx^╤Å ≈╜-±░²» éQⁿ┼α⌠╙9╘J■                   ÷òTSO┐╢_^zΦ3░W^~xS░+-¡╡╫S +-╜ù
  14775. ·tⁿⁿⁿ÷                                                                                                                                                                                         Y<o_S[≈u°xzzS╤Φ°xx╤Åx\▐╓0       Rⁿ╜└≡²█╜╞■                       ┘┌┐   ╓7<¬⌐ºÅò±^z°α±Å/6£╪ò± /-╡ù°T÷≥╩¬\1   ■                                                                                                                                                                                    ╫yD'╓Txxxz3Å
  14776. ΦΦ°x±o
  14777. ┐»»/r█Ñ@≡ⁿ°                                ╓W┐   ┘1¬¬¿½T░^~xx3Å
  14778. --╡≈T/¡╜╡xV■·╩Ω                                                                                                                                                                                    ╫:" ╢3xxxxÅ
  14779. xxxXÅ
  14780. ¡-- vT╥≥≥≥                                    R"º»ƒƒu╤
  14781. xΦαα≥Å
  14782. 7╖û▐ò≥
  14783. +--ΩΩΩΩ                                                                                                                                                                                    ╢∙/??ò °xxx≥Å
  14784. \\^^T░
  14785. ¡---xT≥≥·÷                                    ╖#_O┐û3 xh`αÅ
  14786. ^\XxT░
  14787. ---V
  14788.                                                                                                                                                                                          ┘░
  14789. o
  14790. ÿ£6T╤
  14791. ----t
  14792. ┐■°°ⁿⁿ                                        ╣uUVWS3 É
  14793. xxxx o
  14794. ---u5
  14795. @@@B                                                                                                                                                                                        w░<½»»ÿ░
  14796. o
  14797. 6775T ╤
  14798. ----⌡
  14799. ò■±∙σ                                        T 6┐  3 q
  14800. Φααß≥
  14801. o
  14802. --%5|╜ Uòòò                                                                                                                                                                                   ┐y!vT?oôÑ8\É
  14803. XWUU░
  14804. N
  14805. ////T ╤
  14806. ---¡Öò ╒UU6 y  ²ⁿ                                    \)╣K  ?┐╫T╙
  14807. ]\VW╤
  14808. o
  14809. 777╖¥╜3 ò╒UU╫    ù   ■                                                                                                                                                                        ·c  ?o╖    vLOôÑ⌐<û╤
  14810. WUUUÉ
  14811. N
  14812. αxx|░
  14813. N
  14814. ////3 ╤
  14815. ----û T     -¡¡Ry÷·┌Ω                                    √≈LO»ôT ╤
  14816. xxxx░
  14817. o
  14818. ûöT ╤
  14819. )---U █äⁿ°≡╨                                                                                                                                                                    T ?O[╘û<ôÑ⌐¬ ╤
  14820. αxx^╤
  14821. oΦ··~o
  14822. .á¿¿╕░
  14823. O///+ ╤
  14824. --T ╙
  14825. j▓xLjj
  14826. ╪                                    ╢Z2 U ≥
  14827. xxxx▒
  14828. N
  14829. ▄▄╪° É
  14830. --ÿ    U ╒òU                                                                                                                                                                L ┐Oo7EU±ⁿ  4 ≥αααα≥
  14831. ░Φ°xx░
  14832. O°···o
  14833. .╛╛╛╛░
  14834. ∩
  14835.  
  14836.  
  14837. jr
  14838. ╫{@÷dè⌠  █╜╞■                                       :"º»»»u ≥
  14839. xxxΦ╤
  14840. Nxxxx≥
  14841. o---╡u ≥ +-ò7
  14842. ²■÷·                                                                                                                                                            ┘╘,ô½ñ¿T 4¬ΩΩ√≥
  14843. T»//»≥
  14844. ▒x~~z8║oUUU╒ε>■α■"√┼Ç⌠                                                  s"ƒƒ┐┐u xxΦα≥
  14845. oxxx°▒
  14846. N-5╡╖T ▒ /-¡u7-┌Ω*¬                                                                                                                                                            ⌡T4¿¿úr
  14847. 3UU╫ⁿ≡¬¬Ω∩<¬è⌠ ╤!╞α²                                                          <╫┐┐ ╫4~~|É
  14848. --╡╡ÉNù╓\\ É--¡╡v ï+/¡ à²ⁿ⌠°                                                                                                                                                            1X|       ▒~ °                                                                        ²²ⁿⁿ4╤xxαα╥N^^xx╥N---╡T╥ +»¡╜■≡└└Ç                                                                                                                                                                                                                                        u ╣ UXxxx≤ozx°ΦÉ.-7╖▐É +¡⌡╙₧■ÇÇÇ                                                                                                                                                                                                                                        ╘₧ /   ╘ä    ┐ Æ~■ 0¡¬¬¬z
  14849. √═@■╤╞Ç⌠                                                                                                                                                                                                                                                  |Xä┐   sBÖ╜α                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       Vª@Ç                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        √A╢\  »ñ√1L»SU▄1╗|ⁿ┼ß[*\2   ■                                                                                                            <B┌D?OSWx<s#\^xx╘"4╓Zj[C┌TSπ≡·|*▄d±█?▄:   ■                                                                                                        █<^¡ /?y4s#xxxx╡+1#/┐≈╫ö#y<ΩháÇÜ█}╧⌠z¬|"L²√≤                                                                                                         TU?k/ ┤#y<             s#1#▐^^^ô#2# ¡⌡╒x4s#+╜⌡UùÖe▄Ω¬¬x<<K  ²á£2╗e   ╩                                                                                                <B⌡f   Åu4╘"Θ√°■R##°°·~2#*¬» R##¬» ┤#2#
  14850. ┐⌡U7,S#
  14851. »⌡U║,╢+B+╜⌡\2┘6ⁿ·Ω*                                                                x)Z«  ≤┐╪Ö)   ■                X,█C w,û*üá¿Ωö#Φ°■~1#±¿¬■ 1#±¬┐  1#±¬¬  r#p¬¬¬ΩR#±*¬┐²╒#2#/╜⌡Uy,ö# -╡╜)Ü, ■∙σ                                                                ÿ)8ì'   ╓!╢| ╔ƒ ╫!Vl  ≥ù╗1VC   >╪:^A   °÷#ÿ*?┐╒#S#xx~_2#°···±"   ²╨"    ±"   xîÇÇ@α╓òt¬w≤##Uí  ╡+Zhíïy,╕"@
  14852. ╗#Z+  ■²                                                        ╪1°î    xBxò ⁿ% ≈!8ì  αº╣:D       ∙)ûCVWtö#╒3╪w3< ⁿV¬*S#UTUU#┌ö,=±Ω°°x±╨(¿║æéJèô3·9▓╤╕ä
  14853.  ⌠ⁿ┘)╡;?}^Yù;▄WW_Sz<h¿h└·2╝¥■└ X:Yt  ∙                                                             ¥ZÑ┐   ┤l⌐   ╢#·ö o ò\Çty|Ñ  4#Yä┌  S+B?/╨°°°■±»¬¬¬║╨///-ô⌠½kKK╫s┘|■   3Ö䃠 3¥ƒ #8tα└ù¢   ■                                                                                ò[ò■   x254 ?ô⌐4▓+ôѬ¬±░áΦ· ≡░■   ░+»┐²D25╡⌡⌡W<  ⁿ÷    ¢1S3?oô▓"╖téÇ\ⁿ╖╡l≥∙                                                                                  ,ⁿA┐/ö╤α°x^░· WU╨P
  14854. jTK╨UUUp░╒_~αt╨--╡òv╓⌡÷╞╘    2÷k█⌠²                                                                                     ▄9B   ┐W"u$½ñ¬⌐2░x^VW░ö2Ç╨P╛εαⁿ      Szl /┐û╨╒W^x°#± ¡-╡┘\┌|   ■                                                                                        ò%[*┐┐ƒƒ╢╤αxxx░√[└α▓Xä°²              WuòW_Ot░%7ù▐╗û²∙╒                                                                                        ╢:*?┐ òÅ
  14855. xxxx▓
  14856. u#╚╚╚╪                ùZ"?┐?òÉ
  14857. ▐Xxx╢╙
  14858. ╦╦╔m                                                                                            1
  14859. ±Ññºº ┌äα╨└└                    ░
  14860. V%''/╖+Éφφ¡=                                                                                    █9J   ┐┤╓;?Å'÷KÅ
  14861. VUUUò ≤
  14862. M---≈
  14863. ⌠   ⁿ■                ╥
  14864. ù++'╢#É5╡╡⌡u ║J  ■ⁿ                                                                            Ü:┌:   ┐T YCƒ≥
  14865. oα°xxÉ
  14866. N?''e≤
  14867. ò@⌠≈c°⌠                  t V"üâââ≥
  14868. o'76û░┘÷·┌Ω                                                                            t·9//┐r4╒╒⌡/æ
  14869. ╪î╨²ε:¡`■                          U 9 ≤
  14870. N▐▄XxUÉ
  14871. ┬è        ╫3╫;   ■                                                                            ÷c:¥█                                   u /?4NxxααO    --╡ ÿdⁿ⌠°≡                                                                                                                    ▓d  /9Ñα² C_ °                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ÇÇf«@                                                                                                                                                                                                                         ┌<┐Æ  ┐/U3D?Kaü;L{[² π■                                                    √D<T?┐ 84R#▄\\^R#°3∙VhÇx+¢l  ⁿH█äì   ■                                            ≈+▄k /╓3z\_W2#≡*» ÷++²╒U5+X,σX`,4   ■                                YS∙k■ ╤t#xK      4┤+¢»%╫S#╨¬¬» 3+X|`⌠
  14872. ╥xKÇ/'    ╡{L··╪⌠                                    ╢#zì  v3ÿtB  ±9S ±»
  14873. */┐3ù3≡≡⌠Φ#ÿd   ?3∙╜ⁿ≡└■                                        ╨
  14874. ╕3º'        ░öK╨⌠±_ª/┐±4Φ`áé╫RS∩                                           ╗S?┐ :}╤
  14875. Wùùtÿ|■       ?ì 5┘C²≡≡≡                                        ╥:S  /Å
  14876. WΓbb`ù¢2   ■    √k??░
  14877. U°⌠⌠°                                    ╫"5L  ?┐╥X\ ╨oö;á╨² U+V3■       4 zC/??o5 Φ╪bb                                                        V 9"?┐  ▒°|ü 4┌K■ⁿ                                                                                                                                                                                                                  @@v░@                                            ╓3²ä  ┐█[¥t   ■                        t#£}1·C÷╪Çs|L  ÷°                5#:à /ƒ Yl!?±l``└└4#∙tßΓ╟∩                    ≥D┬≡⌠Z}Ç/?4ò  ■ⁿ                ╥
  14878. ≈S /OÉ
  14879. ╓;⌠°⌠ U#L┐?╥
  14880. _ìⁿⁿ°≡                            ▒7ì≡≈                                            ▒@    W\Zd   ┐            2#L┐?┐±·t■αh⌠        t+█╓╧╧π4╫l±√▀╧            ╒KUL∩       5▒ öC╪l  ┐╒C=╢  ⁿ°V\ùl┐   ╫tu■   L▒ùl┘t ∩  c▒ùl┘t  ∩■z▒ùl┘t   ┐ë( Å*`╤≥*xxx$ÜÖ?ZuZ
  14881. $$Ç? $ $Z
  14882. $$ $Ç? $Z
  14883. $$mτ<D $ $Ç?Z
  14884. $Ç?$ $ $Å :!╕ $═╠╠>ZuZ
  14885. $$Ç? $ $Z
  14886. $$ $Ç? $Z
  14887. $$╨l╦C $S╢≡B $Ç?Z
  14888. $Ç?$ $ $":▀ⁿ╫ó(∩²@    """"    ±▓@ÇéA/ !é╜╜-/å1!╡╜/ Bå1╒⌡»
  14889. ╦Z╟9╡╡-+Æö c----ÑÆöδδΩΩä╦ZxxxxèRIJXXX`IJBWW■¬IJB{j¬B!xxxxéxxx°UUUUUUUUUUUUUUUUUUUUé55--B!----MkIJ----ÆöÄs----û╡╙£----╞û╡}Θ⌐⌐╫╜U¡_~°αû╡╙£_~·¬ÑÆöW^zΩÆöäW^·áQî╧{  ■¿Qî╧{  ¬¬ä╧{W ¬ä╦ZzzhαBA^^\x├--╜┐å1├ +--IJ╟9----MkèR----QîÄs+--╡ÑÆö---5╫╜U¡----╞╫╜zjbΓû╡╙£xxxx╙£ä^~|x╧{Mkxxx° cIJxxpαB!^zxα!^~°áAUWⁿAUUU¬é╒⌡╜
  14890. ├A╜┐»½!é╜╜╜-å1!---/IJ╟9⌡╡╡¡IJB╡┐/
  14891. èRB{zΓBE)^zΦáå1é^~Φá├A_^zxAUUUWUUUUUUUUUUUUA╡╡╡╡!é⌡ ½å1├╒╡¡+BE)╡╜- ╦ZB╒╡» MkèR╡//
  14892. ╙£Äs--+ ÑQîΓαααä╦Zxxx° cèRWW~·╦ZIJU ¬¬╦ZIJΩΩ¬BE)xx°α!A^xxαAWW^xUUUUUUUUUUUUAU╒⌡=E)A╡¡- IJE)╜¡/ ÄsèR╜-- Æö╧{--- û╡╙£¡¡¡¡╞û╡----Y╬╫╜_ ¬╞U¡W■¿╫╜Ñ_■¿ÇU¡Æö·¿ÇÑQîW■¬¬╙£QîUΩαQîäáXQîÄs`ααΩ c!^x°αE)AU ¬å1├--+
  14893. èRå1---/Mk╦Z╡╡╡¡äMk----╙£Qî----╫╜Ñ----╞╫╜└ÇÇ╫╜ÑxxΦαÑQî~x°αQî╬{^~xα╧{╦Z^~·α╦Z╟9^zΦáB!W~°áE)éW■¿Ç!éUU¬á!é⌡ ¬¬├é┐Ç!é//
  14894. ╟9E)¡¡½½IJ╟9--+¡èRIJò%%% cèR²½ cB_~ΦáIJå1_~Φαå1é^zxαéWW^xUUUUUUUUUUUUé⌡⌡╜»╟9E)U²½Bå1╒⌡»*╦ZB╡¡/ Äs╦Z²»+
  14895. QîMkò╡/
  14896. û╡Qî¡- U¡ÆözxxxäMk\\xΦÄs╦Z  ΩáMk╦ZU ¬ c╦ZZh``╦Z╟9^z°α╟9├^zΦá!AW~ΦÇéUW■ÇéUU ¬éU╒┐
  14897. E)A⌡╜+
  14898. IJ!⌡╜»+╧{B⌡╜/ ÆöMk╡¡+ÑQî╜+
  14899. û╡Ñ╡-
  14900. ╞û╡- ╜Y╬╫╜óY╬û╡ááΩU╞U¡ááΩUû╡╙£ááΦ_U¡Æö¿ÇΩU╙£äααx^äMká°■_╧{╦Z¬■WÄsèRxxzèR╟9W■(╦Z╟9U ¬╦ZB╡»*╧{╦Z╜╜/ Qî╧{╡╡¡+ÑQî╡╜¡/╫╜U¡---+╞╫╜ ╞û╡^xαÇû╡╙£^zΦáÑQîW~°αQîÄs^zΦαMk╦Z^xxxIJ╟9\xxx╟9E)^^^^!éá°|^├鬠!鬻┐⌡å1!╜--╡╟9å1╡╡╒UBå1¬½╜╒IJ╟9
  14901. +¡╡ cèR --╡Mk╦Z~■·δ╦ZBzxαÇIJE)^~°αE)AW~°áéU_·ÇéUU ¬éU⌡»
  14902. E)A⌡╜»
  14903. ╦ZBU ¬╦ZB╒┐*Äs╦Z╡¡+
  14904. QîÄs╡-/ U¡Qî╒╜/ ╫╜U¡¡⌐ïU¡╙£xxxΦÆöä^~°áQî╬{UΩÇ╧{Mk ΦααMk cZXhá cèR^zΦÇ╦Z╟9W^·áB!_·¿╟9!U ¬╟9├U ¬B├U ¬╦ZE)╒²»
  14905. ╧{B⌡╜/
  14906. ÆöÄs╡-
  14907. ÑÆö- ¬ÑQî¬U¡䬠UU¡Äs¬ UÑ c¬ UÆö╦Z¬ UÆö╦Z¬ UQî c¬ Uä c¬ Uä╦Zá·UMkBÇΦ~WèRå1¿■WèRå1¬ UèR╟9
  14908. */╡Äs╦Z²---äMkU ½
  14909. ÆöÄs╒╜+╙£Qî⌡╜+û╡╙£╡-+
  14910. ╞û╡⌡²φδ╞û╡
  14911. /┐≈Y╬╞]}═5╞û╡_zΦÇ╫╜Ñ_~·Φ╙£ä^^xxÄs╦ZxxxΦ╦Z╟9~~xxå1!xxxx├éαααα├éWUUW├é⌡⌡⌡⌡E)├-%--å1E)⌡UUUå1E))%%Bå1/---╦ZIJ--╡╡Mk╦Z½ï Mk╦Z~Ω¿ cB_~ΦÇIJE)W~ΦÇ╟9├W■¿å1éU ¬å1├╒┐*IJE)╒²½
  14912. ä cU⌡»
  14913. äMkU ¬ÆöÄs╒╡»*ÑQî╡╜/
  14914. ╞Ñ╡╜-/Ü╓╫╜}kΓ└╫╜Ñ^x°αU¡Æö_·Φá╙£Qî^z°ΦäÄs·°Φá╧{MkW ΩÄs c  ¬ÄsèR_·áMkIJW ¬MkBU ¬ cBU ¬ cIJ⌡½ÄsèR┐
  14915. ¬╧{Mk »UÆö c¬ UQî╦Z¬ U╧{IJ¬ UMkB¬ U cB¬ UèRå1Φ~WIJ!·_UIJ├½ U╦Z!¬┐⌡╦Z╟9¬ UèRE)Ç·WB├áΩWE)鬠UE)├½²╒B!/-╡╡MkIJ --╡ÆöÄs/---û╡╙£⌡» ╫╜U¡U ¬╞U¡╡»
  14916. ╞╫╜UW_^╫╜û╡««*
  14917. Y╬╫╜//??█▐Y╬Uδ½Y╬û╡_~°αU¡Qî~xxαäMk^xx° cIJ^x°αIJE)^~°αE)├W^°α├é ¬!é⌡┐/
  14918. E)!5=å1E) √¬¬å1E)%%*Bå1¡¡¡½èRB----Äs╦Z////ÄsMk¬╧{Mk_·¬½ÄsèR_·Φá╦ZBW■¿╦ZBU ¬╦ZBU ¬ cIJ⌡»
  14919. ╙£ä╒┐+ÑQîU ¬ÑÆö╒»
  14920. û╡Ñ⌡¡+
  14921. █▐û╡╡╜-/τY╬zz`αY╬û╡^~°°û╡Ñ^xΦáÑÆö^z°á╙£äW·áQî╧{ ΩÇQî╧{UU■¬Qî╧{U »¬Qî╧{U_z~╧{Mk■Ωz^MkIJÇá·_ cB¬ U╦Z╟9¬ U╦Zå1¬ UèRå1¬ UIJå1Ç·_U╟9E)Ω U╟9├¬ W╟9!¬ Uå1Aá·~W├á·_Ué*┐╒UE)A
  14922. +╜⌡å1!½²UE)AáΦz^éá· A?╒╒├A+/-╡å1!----╦Z╟9----Qî c---╜û╡╙£ --Y╬╫╜/ Ü╓Y╬U·└ÇÜ╓╞UW_·Y╬╫╜  ¬¬Y╬╞╡╜» Ü╓╞ ┐UÜ╓╞x`Ω√╫╜ÑzxΦα╙£╧{^~°α╧{╦Z^xΦá╦ZB^~°áIJE)_~Φáå1!W■¿å1!╒ ¬╟9E)⌡╜»
  14923. Bå1U Ω¬Bå1╒┐½¬IJ╟9⌡╜» ╦ZIJ╡╜-+Mk╦Z ÄsMk¬·UÄsMk
  14924. %Ñ╧{MkzΩ¬¬Äs c_·ΦáMk cU ¬Äs c╒┐+äMk╒┐+U¡╙£╡»¬¬û╡Ñ╒²½
  14925. ╫╜U¡⌡┐+
  14926. ╞û╡⌡-
  14927. █▐╞--//]∩█▐zbΓéÜ╓╞^|xα╞û╡W~·αû╡Ñ■Ω¿áU¡╙£Wzzz╙£QîΩáΦxQî╧{ááΦ^ä cÇΩ_ÄsèR¿■W c╟9ÇΦ~_IJ!á°~_å1鬠WE)鬠UE)é*┐⌡å1├¬¬ UE)├á·_U!éÇΩU├A¬■├AÇΩUA≡\WWUUUUUUUUé-╡╡╒!é½φ}Ué°x~^@UUUUUUUUé/---╟9├----╦ZB----ä c----U¡Qî----Y╬û╡ -¡╜Ü╓╞
  14928. +-Ü╓Y╬¬¿á¬Y╬╞└≡≡|╞╫╜Çá·^╞û╡¬■W╞û╡
  14929. »╒╞û╡xxzU¡Æö^xΦαÆöÄs^~°á╧{╦Z^·ΦÇ cIJ_■ΦÇ╦Z╟9W~ΩÇIJ╟9U ¬╦ZBU²½èRBU ¬èRB╒ ¬╦ZIJ⌡╜½
  14930. Mk╦Z╡¡+
  14931. ÄsMkU}√ΓMk c¬¬¿áÄsMk╡╡╡╡╧{ÄsQîÄs_ ¬äÄsU ¬äÄs┐»*╙£ä⌡²»
  14932. û╡U¡⌡╜┐ û╡U¡
  14933. ╞û╡┐┐ ⌡╞╫╜ /┐█▐╞---%₧≈τ}φ¡φτY╬~xxx╞û╡ΦΦx^û╡ÑαΦz^ÑäáΦ·~QîMkÇΦ~WÄsIJÇΦ~W c╟9á·_UIJE)á·U╟9├áΩ UE)éΦ°z_é¿°^WA++éA?²├éé½ ²├é_WWWéAÇΩ· éA____A·WWWUUUUUUUUUUUUAò╒òòéA½ΘΘâA\\|≡UUUUAUU╒╡!A╡╡--╟9!--+ ╦ZB----äMk----ÑÆö----╞U¡----Ü╓╞»»»½Ü╓╞¬Ωzz╞û╡Çα°~╫╜U¡¿·■_û╡Ñ¿·_Uû╡Ѭ¬ Uû╡Ѭ┐╒û╡ÑΦᬽU¡Æö^xαÇÆö╧{_~°áä c_■ΩÇÄs╦Z_■¬Äs╦ZU ¬Äs╦ZU ¬Mk╦ZU ¬ìsïRU ¬Äs╦Z ┐*╧{Mk⌡╜+╧{Äs_≡└ÄsMkW■¿ÄsMk╜/
  14934. äÄs--/+Æöä½ /╙£Qî ¬
  14935.  
  14936. ÑQî╒┐*U¡╙£╜+
  14937. U¡Ñû╡U¡»╜⌡⌡╫╜û╡⌡╒╒╒╞û╡»┐┐»Ü╓╞----]∩█▐ ½²]τ╞xxz╫╜U¡ΦxxxÑQîαxx^ä cáΦz^ cBáΦz^IJ!áΦ~_E)AÇΦ~W├AÇ■WU├¬ UUéÇ·WUAVUU╒A//
  14938. éA⌡⌡⌡²éA ├é_└éA ■╕éA√ΩÇAV^\xUUUUUUUUUUUUé╡╡5-├é²├~·¿éW ¬!╒⌡┐*å1├╡¡+
  14939. IJå1╡╜- MkIJ--/ QîÄs---+U¡Æö╜---Y╬û╡╡--+Ü╓Y╬⌐δδzY╬╫╜αΦx^╫╜U¡Φ·~_U¡ÆöÇá°^ÑQ■W╙£QU╙£QUÑQî*┐╒U¡╙£¬¬ UÑ╙£^zΩU╙£QîW·áÇÆöäU ¬Æö╧{U ¬ÆöÄsU ¬QîÄsU ¬Qî╬{U ¬Æö╧{╒ ½Æöäu ¬Qî╧{■ΦÇQî╧{UU ¬äÄs  ¬ÇäÄs½¬¬¬Qî╧{+/┐┐╙£Qî++¡╜Ñ╙£++-¡û╡ѽ½»»û╡U¡W_■·û╡U¡⌡╜┐»╫╜û╡╒╒⌡╡╞û╡½++*█▐╞--- █▐╞áΦxzY╬╫╜áΩ W╫╜ÑxxxzÆö╧{ΦxxxMkIJαΦxxIJE)α°x^E)Aαx~^A≡\WUUUUUUUUUUUUUA╒╒UUA*┐Ué /┐!é╜---E)├δE)é  ¬!éUΩÇ├AW^xαAUUW°UUUUAU╒╡ !A╡╜/+å1!U²½╟9U ¬╟9U ¬╟9!╒┐*èRå1⌡╜+MkIJ⌡╜»
  14940. ä c╡╜+
  14941. ╙£ä╡╜¡+û╡╙£-- Ü╓╞╡¡¡¡Ü╓╞Ωzz^╫╜U¡α°z^U¡ÆöÇαx~Æöäá°~^Qî╬{¬■_äÄs¬ UäÄs¬ UäÄs¬» Qî╬{¬ UÆö╧{½ ╒Æöä¬┐╒╙£Qî
  14942. ½╜Ñ╙£²½¡╡U¡╙£U Ω½ÑÆö ¬ÑÆöU ¬U¡Æö⌡½
  14943. U¡Æö ΩÇÑÆöW~Ωá╙£QîUzαQîä\\p└ä╧{·¬Çä╧{/*
  14944. Æöä///+ÑÆö----û╡ѽ½+ ╫╜û╡U_zΩû╡U¡*╫╜û╡Ñ)
  14945. Y╬╫╜┐┐//Ü╓Y╬
  14946.  
  14947. éóY╬╫╜αxx^û╡U¡ÇhZû╡Ñ``j╙£Äsxxxx cBxxxx╟9é°xxxéx^^^UUUUUUUUUUUUUUUUUUUUUUUUA5╒UU!+--╡╟9E)U⌡╜Ñ╟9E)UU ¬╟9E)U ½
  14948. å1├_~°á!AW■ΦÇ├U ¬!A⌡┐+
  14949. ╟9├╡╜/ IJå1⌡¡+
  14950. èR╟9  ¬èRBU ¬╦ZB╒┐+
  14951. Mk╦Z╒╜+
  14952. ä c╡»+Æöä⌡╜/ U¡Æö╡¡+
  14953. ╞U¡-/
  14954. Y╬╞├ ╞û╡α°z^U¡╙£αΦxz╙£QîαΦz^Qî╬{Φx~^╧{ cáΦ■_Mk╦ZǬ■Mk╦Z¬┐ Äs c½  Äs c¬  ╧{ c¬┐╒äÄs½┐²╒Qî╧{
  14955. +/╜╙£Qî -╜⌡U¡╙£»⌡╒UÑ╙£/U¡Ñ/++/û╡U¡ ïû╡U¡U ■¬U¡Ñ·ΦáÇU¡╙£W_~·╙£Qî~·ΦáÆöä ■¬Æöä ┐*ÑQî⌡╜»¬U¡╙£╡╜¡½û╡U¡%            ╞╫╜_·ΩÇ╞û╡ ¬¬¬Y╬╫╜  ┐/Ü╓╞╡- Ü╓╞αα`x╞û╡xx^^û╡╙£Ω·zzÑÆö¬¬■W╙£╧{xxzz c╟9xxxxå1├xxxxé\\xxUUUUUUUUUUUUUUUUUUUUUUUUUUUUé-5=-B!¡¡--IJ╟9UU ¬IJ╟9U²½
  14956. Bå1_zΦα╟9!W~°¿å1├U ¬╟9!╒┐+
  14957. èRå1⌡╜/ cIJ⌡¡+Mk╦ZU ¬Mk╦ZU *╧{╦Z⌡┐½QîMk⌡╜+╙£ä⌡╜/ U¡Æö╡- ╞U¡⌡╜/ Ü╓╞U⌡ Ω╞û╡Çαxxû╡Ñαx~^ÑÆöΩzz^Qî╧{¿Φ··╧{Mkα°x^Mk╦Z¿·~_ cèR¬·_U cèR¬ UU cèR¬¬ u cèR¬ UU cèR*½┐Äs╦Z
  14958. +»┐äÄs+-¡╡Æöä+»┐ ÆöQî
  14959. +ÑÆö»┐┐┐U¡Ñ╜╜╡╡û╡U¡            %û╡U¡Çû╡U¡^~·ΩU¡Ñ·ΦáU¡╙£W~·¬U¡╙£UU ¬ÑÆö ¬U¡╙£╒╜¬¬û╡Ñ╡╜/
  14960. ╞û╡⌡⌡╜¡Ü╓╞_√¬Ü╓╞U ¬█▐╞⌡»*
  14961. τÜ╓² δ¬Ü╓╞xxxx╞û╡^^^^û╡╙£zzzz╙£Qîz^^^Qî╧{αΩ·■ÄsBxxxαB!^~xx├^^xxUUUUUUUUUUUUUUUUUUUUUUUUA╒ò╡%E)A╡╡--IJE)╡-- ╦ZIJU ½╦ZIJU ¬èRB_~°áBå1■·áBå1U ¬èR╟9⌡╜/
  14962. MkIJ╡╜+
  14963. ä c⌡¡ QîÄsU ¬QîÄsU ¬╙£╧{U⌡»ÑQî╒╜+û╡╙£╡»+
  14964. ╞U¡╒╜/ █▐╞╡- █▐Y╬zx`╞U¡xxxxU¡ÆöαΦxzÆöäα°~^äÄs·~~_Mk c`XXX cèR~~~~èRIJΩzzzëJIJUUUUèRIJ
  14965. ½½½èRIJáhZèRIJ
  14966. )%MkèR//┐┐╧{Mk ---Qî╧{½»»»ÆöQî--╡⌡╙£Æö╡╡╡╡U¡╙£»»»┐û╡Ñ /╜╜╫╜û╡ ¡¡╡╫╜û╡UWzΩû╡U¡Ωû╡U¡UZ¿û╡Ñ ¬¬û╡Ñ ¬¬û╡U¡UÑ*╫╜U¡┐+
  14967. Y╬╫╜╜¡+ █▐Ü╓²   █▐Ü╓ ¬¬ █▐Ü╓ τ█▐ }u⌡█▐╞xxxx╞û╡^^^^û╡╙£zzzz╙£Qî~z°ΦQî╧{ΩΩ··╧{╦ZxxxxIJ!xxxx├Axxx°AUUUWUUUUUUUUUUUUAUUU²AUUU ├╡╡-/╟9├╡-- ╧{B⌡╜¡ ä cU ¬ä cU ¬Äs╦ZWΩMkIJUΩ cIJU ¬Äs╦Z╒⌡»
  14968. QîMk⌡╜/
  14969. Ñä⌡╜+U¡ÆöU┐*U¡╙£U ¬û╡╙£⌡½╫╜U¡╒┐*╞û╡╒╜½¬Ü╓╞╡¡¡⌡█▐Y╬½ █▐Y╬└└αΩ╞ÑxxxxÑQîΩ·z~Qî╧{°x~^╧{Mk·~~_Mk╦ZΦΦ·~╦ZIJαα°^èR╟9á¿· IJ╟9* UèR╟9*» èRIJ^ ¡èRIJ%%)
  14970. cèR»»»»╧{ c----Qî╧{┐┐»»ÆöQî⌡╡╜-╙£Æö╡ò╒UÑ╙£++-¡U¡Ñ*+++╫╜U¡////╞╫╜䬬╞û╡ ■Ω¬╫╜û╡·¬¬Ç╫╜û╡U_  ╫╜û╡U╒  ╫╜û╡Ñ)*
  14971. ╞╫╜╡╡¡»Ü╓╞¡¡½½¢╓Ü╓UUUU█▐Ü╓╒UUU█▐Ü╓▀UUUτÜ╓»»»»█▐╞xxαα╞û╡^~xxû╡╙£°°ΦΦÑÆö^^zΩQî╧{ΦααÇ╧{ cxxxxèRå1\xxαå1é^~xΦéW_~ΦAUUU·AUU╒+é╒⌡»
  14972. !AU ½!AU ¬Bé╒╡»
  14973. Äs╟9╒⌡╜/ÑLk╜- û╡╙£U ╫╜ÆöU ¬╫╜äU ¬û╡╧{U ¬U¡ÄsU ¬Ñä╒ ¬U¡Qî⌡»
  14974. û╡U¡U⌐╫╜û╡U╒┐¬╫╜û╡╒»¬·╫╜û╡»¬■U╫╜U¡ÇΩ ╫╜U¡¬  ╞û╡½²U╞û╡*┐⌡Ü╓╞¬∩²⌡╞U¡xxxx╙£äxxxxäMkΦ°°°ÄsèRáΦx^╦ZBÇΦ~WIJå1áΦ~W╟9!á·_Wå1├¬ U╟9!
  14975. /╜╒èRå1 -╡ cèRU²╜¡ c╦Z%)
  14976. ╧{Mk╡╡╡╡Qî╧{----ÆöQî ÆöQîÑÆö¡╡╡╡U¡Ñ++++╫╜U¡-///Y╬╫╜»½ Y╬╫╜  ■°╪╜╫╜UUUU╫╜û╡¬¬¿╫╜û╡¬¬
  14977. ╞╫╜⌡╜»½Y╬╫╜┐┐»½Ü╓╞//+ ¢╓Ü╓UUUU¢╓Ü╓UUUU¢╓Ü╓UUUU█▐Ü╓τÜ╓z··ΩY╬╫╜^xxα╫╜U¡~~·ΦU¡╙£^zΩ¬╙£Qî^~xαäMk^x°αMkIJ^~°αIJE)_~Φáå1├W■¿ÇE)AU ¬E)AU ¬å1é⌡»
  14978. ╟9E)U IJE)╒┐*MkB╒╜/ Æö c╡-
  14979. U¡Æö     û╡U¡
  14980. ┐╞û╡½½»²╞╫╜¬ ╞╫╜· ╞û╡áá·╫╜û╡UáÇZ╫╜û╡Ñ*¬U╫╜û╡¬Ω~U╫╜U¡¬¬  û╡ÑÇΦ■WU¡╙£¬■WU¡╙£Ç¬ UU¡╙£¬ UUU¡Æö½ û╡Ñ*»⌡╞û╡ /╜╒╞U¡p`αΓÑQî~xxxä╦ZΦxxx╦ZBαxx^BE)á°~^å1├ÇΦ~_!éα°~_├A¬  !é /╡╒B! -╜╡╦ZB +-╜Mk╦Z+++¡╧{Mk-/ )ä╧{ /┐Æöä +»┐ÆöQî**
  14981.  
  14982. ÑÆö┐┐┐»U¡Ñ+++ ╫╜U¡////█▐╞¡¡-█▐╞^z°α╞╫╜ ■°á╞╫╜ ┐¬¬╞╫╜┐¬¬¬Y╬╫╜ »½
  14983. █▐╞⌡╜»
  14984. █▐Ü╓╒² ≡¢╓Ü╓UUUU█▐Ü╓UUU╒█▐Ü╓⌡² ?τÜ╓ ┐┐»τ█▐√½è█▐Y╬^xααÜ╓û╡_~°Φ╫╜U¡zΦΦU¡╙£^~z^Æöä^xxxä c^xxx╦ZIJ^xxxBå1~zzzå1E)¿Ç¿å1E)·¬¬*Bå1⌡╡╜/èR╟9⌡╜+
  14985. cIJ⌡╜+
  14986. ╧{ c5- +╙£╧{ +┐╒U¡Æö    ¡U¡Æö¿■ û╡ѽ²U╫╜Ѭ U╫╜Ѭ Uû╡╙£¬ Uû╡╙£¬ Uû╡╙£¬ UU¡Æöá· ÑÆö¬ WÑQîÇΩUÆö╧{¿· ÆöÄs¬ UÆöÄs¬ UÆöÄs¬ U╙£╧{*┐⌡U¡Æö
  14987. +¡⌡╫╜ÑÇé½ U¡Qîxxxx╧{╦ZxxxxèRBxxxx╟9!°xxx!éΦx~~éAá°■éA    éA ///E)├--╜⌡B!
  14988. ½ U╦Zå1+╜╒ÄsB
  14989. »⌡╧{ c+╜Qî╧{»»╜╡ÆöQî5╒╒ÑÆö½½¡¡û╡Ñ╜╜¡¡╫╜U¡//+ τ╞----τÜ╓zhααÜ╓╞W^ΦÇÜ╓╞╒  ¬Ü╓╞U┐+τÜ╓U╒²»τÜ╓² Ω·█▐Ü╓αΦ°■█▐Ü╓UU╒ █▐Ü╓┐+τ█▐U⌡²²τ█▐²  UτÜ╓ UτÜ╓zz_UY╬╫╜°x^^û╡ÑαΦxzÑQîα°z^Æöäz^WU╧{MkxxΦαMkèR^^xαIJ╟9_^°áBå1UU IJå1U⌡»
  14990. ╦ZB╒╜+ÄsèR⌡¡ Mk c/
  14991. áÄs c¬  ╧{Mk*?╡╡Ñä     -¡╙£Æö≡≡p\╙£QU╙£QU╙£QUÆö╧{¿■ Æö╧{¬ UÆö╧{¬ UÆö╧{¬ UQîÄs¬■WäMk¬ U╧{╦Zá·_ÄsèR¿■WMkIJ¬ UMkèR*┐╒╧{╦Z*┐⌡ÆöÄs
  14992. /╜⌡ÑQî -╡ÑÆö``αΓä╦Zxxxα╦Z╟9xxxx╟9!xxxx!é~zzxéA■■°°éA  ┐┐éA
  14993.  
  14994. α°├¬¬ W鬠UE)A
  14995. »⌡UBé
  14996. »⌡U╦Zå1+╜⌡╧{╦Z
  14997. -╡Qî╧{**+-╙£Æö=5==û╡Ñ----╞û╡5--█▐Y╬-¡⌡█▐Y╬¬ Ü╓Y╬á¬Ü╓Y╬ Ü╓Y╬
  14998. ¬τÜ╓½½ ╒█▐Ü╓Çᬠ█▐Ü╓_W_ Ü╓Y╬¬█▐Y╬¬ U█▐╞¬ UÜ╓╫╜¿■WY╬╫╜¬ UY╬╫╜¬ ╞û╡xxzzû╡╙£zzz·╙£Qî^^^xä╧{°Φááä╧{zΩΩ¬╧{ czΦáÇMkèR_·¿MkIJU ¬MkèR╒┐*╧{╦Z╡»
  14999. ╧{Äsuz^Äs c°xz~Mk c╒UU╒╧{Mk╡╡╡╡Æöä        --╙£QîzZ^_äÄs¿■^äMk¬ UäMk¬ U╧{ c¿■WÄs╦Z¬ UÄs╦Z¬ UÄs╦Z¬ UMkèR¿■_╦ZB¿■W╦ZBÇΩUIJE)¿■_BE)¬ UIJE)*┐╒╦Z╟9+╜⌡ÄsèR
  15000. +¡╡ÆöÄs -╡╒╙£QîÇé -╙£╧{^zxαÄsIJ^^xxBE)^xxx!├ZXXh├A■·¬¬éA»*éα°x|@UUUUUUUU@UUUUA=╒╒UE)A -╡╒╦ZE) /-╡Qî c +-╜ÑQî»+    -û╡Ñ//++╞û╡»┐²U╞û╡¬ U╞û╡¬ U╞U¡¬ U╞û╡¬ U╞û╡¬┐⌡Y╬╫╜¬»²Ü╓╞+»²█▐Y╬¬┐ UY╬╫╜¿· ╞╫╜ÇΩ■_╞û╡ÇΩW╫╜U¡ÇΩ Wû╡Ѭ U╫╜Ñ*┐╒╫╜û╡pUUû╡Ñ^xxxÑÆöV^^zÆöä ■°áQîäU ¬Qî╧{_■¬QîÄsW ¬äÄsU ΩÇ╧{Äs╒╫■·╧{MkáΩzÄs╦ZáΦ■  c╦Z¬ Mk╦Z»»┐²Äs c///?Qî╬{ +¡⌡Qî╧{αΦz╧{╦Zá°|^MkèR¬ W cèR¬ U╦ZB¿·_èR╟9ÇΩ UIJ╟9¬ UèR╟9¬ UIJE)ÇΩ~W╟9!¬ U╟9├Ǭ UE)éáΦ~W!A¬ UE)é+╜╒╟9!
  15001. +¡╡╦Z╟9 /¡╡Äs╦Z /-╡Æö╧{+-╜╡U¡ÆözΓâÆö╦Z^~xα╦Zå1^~°α╟9!W~°áE)éW_·á!é]__^A\\\WUUUUUUUUUUUUUUUUA5╒Bé---¡ÄsIJ --╡╙£╧{ --╡û╡ѽ ²Uû╡╙£¬  û╡╙£¬¬ UU¡╙£Ç¬ UU¡╙£
  15002. ¬ Uû╡╙£¬¬ Uû╡Ñ
  15003. +╜╒╫╜U¡
  15004. +»╞╫╜
  15005. ½»²╞╫╜¬ ╞û╡Ω·╫╜U¡áΩ■U¡╙£ÇΦ·ÑÆöá·_U╙£QUÑQUU¡╙£+╜╒U¡ÑααΩδÑÆö°ααα╙£ÆöUWWÆöQî»
  15006. ÑÆö⌡╜»½ÑÆöΩΩαÆöä~xxx╧{MkááΦ°Mk╦ZÇαx^╦ZIJáΦ■_╦ZIJ¬¬ ╒ cèR»²╒UMk╦Z
  15007. »²U╧{╦Z
  15008. ½╜╒╧{ cÇαz cIJΦ°^^èR╟9ÇΦ■_IJå1Ω  BE)á·_╟9!¬ Wå1!¬ Uå1!Ω]E)éÇΦz_├Aá■WUé¬UUéá·_UA¿WUUé+╜╒╒E)A /╜╡BE) -- cIJ/-╜╡ä c/-5╡û╡Æö)---╫╜ä^xαÇQîèR_~°á c╟9W_·áBE)_~xα!AxxxαAWW\|UUUUUUUUUUUUUUUUAòòò5å1é---- cB----QîMk----╙£Æö╙£QîÇΦxÆöä¬■_Æö╧{¬  Æö╧{¬  ╙£ä
  15009. »⌡UÑQî
  15010. +╜⌡û╡╙£
  15011. +/»╫╜U¡
  15012. ½»╞û╡½  ╒û╡U¡Ç``hU¡╙£áΦz~ÑäΩ·~_Qî╬{ÇΦ~WäÄs¬ UäÄs*┐⌡Æöä*»┐⌡U¡Æö --U¡╙£ZzjΩÑÆö  ╛¬Ñ╙£UU⌡»û╡╙£⌡¡+ û╡╙£zzαα╙£╧{xxxxÄs c°xxx╦ZIJαxxxIJB°^_■IJB┐⌡UUIJB
  15013. ┐╒UèRB+┐╒╦ZIJ
  15014. ½╜╒ cèRÇΩ ²èR╟9α°xxBå1·~^Wå1E)á·WE)!└≡W!éá°~~!é*┐⌡╒!éÇΓ·é°|^_@UUUUUUUUUUUUUUUU@UUUU├---%╟9!---╜èR╟9 +-╡Äs╦Z/-=╡û╡╧{----█▐û╡{Ωéé╞Qî_zΦá╙£MkW~ΦÇä╟9_~ΦÇèR!W_·αå1AW_~ΦéUW_ΦAUUUWUUUU@UUUUé╒╡=-╟9├--- MkB----╙£Äs╜-- Ñ╙£²δΓ└╙£╧{Φxx\äMká·_W╧{ c¬ U╧{╦Z¬ U╧{ c¬┐╒QîÄs
  15015. +¡╡U¡Qî +-╡û╡U¡½¡²╒û╡U¡+û╡Ñα```ÑQîα°x~QîÄsΦ°~^╧{ c¿·~_Mk c¬╫UÄs c+»╜äÄs+-╡╡Ñä/-╜╡U¡Ñδ½⌐¡U¡Ñ ■¬û╡Ñ╒╜»+╫╜U¡/ û╡ÑαααxÑäxxαΦäMk^~xΦ cèR^\xαèRIJUUZáIJBW_zΦB╟9¬ΩΩΩB╟9┐╒╒UIJ╟9
  15016. /┐┐╦ZB
  15017. ï½»èR╟9xxxx╟9E)~~~~E)!zVWW!├¬¬¬¬!├WWWW├é    ├AΩ···A^VVVUUUUUUUUUUUUUUUUUUUUé--╡╒E)é +¡╡BE) /╜╡ cB/-55U¡Äs----Ü╓û╡éΓzY╬╙£¿¬ U╫╜ÑxǬUU¡ä~αá¬QîèR^xαá╦ZE)_■¿èR├UΩÇ╟9U_·Ç!AUU !AU╒»å1A⌡╜+èRE)╡╜/ ╧{èR╡=- û╡ä¡- û╡╙£Γαα`ÆöMk°xxxMk╦ZÇáΦ° cèRÇ·~_╦ZB¬▀U╦ZIJ
  15018. /╜╡╧{╦Z -╜╡Æö╧{ --╜U¡Ñ⌐Ñòòû╡U¡╜╡╡╡╫╜Ñzzzz╙£äxxxx╧{Mkxx^^Mk╦Z°■■■ c╦Z¬¬¬¬Mk╦Z/┐┐┐╧{Mk----Æö╧{////U¡╙£)---û╡U¡ ┐+╞û╡╡- ╞U¡ααxxU¡Æöαx~^Æö╧{Ç¿■ äÄs°°·Äs╦Z°°°■╦ZèRzαáΩèRIJVX``IJ╟9~~z°B╟9╒╒╫ B╟9¬¬¬¬èRB    --╡èR╟9xxαα╟9E)~~°ΦE)!V^°áE)!UU╡½E)├W~ΩÇ!├UUp├AΦΦΦ¿AV^\XUUUUUUUUUUUUUUUUUUUUA╒UUUé -╡╒å1é +-╜ cå1----û╡Äs----╫╜Qî└α`xäIJ¿■^ä╟9¬ UQîE)¬ U╧âE)¬ U c╟9¬⌡Mk╦Z
  15019. -ÄsIJ_¬äBU ¬ä╟9U ¬QîBU ¬ÆöèR╒┐¬Ñ╧{╡¡+
  15020. û╡╙£ éÇU¡QîαΦz^äMkxxxzMk╦Z~^^^èR╟9α°x^Bå1(«┐ èRB/-╜╡MkèR/---QîÄs--╜╡ÑQî --û╡Ñ»¡--╞Ñzzzx╙£╧{xxxx╧{MkxxxxMk╦Z■■·¿Mk╦Z  ¬¬Mk c%)
  15021. äÄs╡╡╡¡╙£ä╡╡=-û╡╙£¡¡¡½Y╬û╡⌡╡--Y╬╫╜δΩ`p╫╜Ñαxxz╙£ä°xxx╧{Mká°x^Äs╦Zá·_W cIJ¿·WèRB¬ UèRBǬ ╒IJB~·Ω¬IJ╟9 ■¬áIJ╟9  ¬¬IJB--/+èRB··ΩéIJå1 ■Φá╟9E)_■¿╟9E)U ¬å1!ΩáÇÇE)├xxxx├é  ■é^~°ΦAUUW°@UUUUUUUUUUUUUUUUUUUUAòUUU! --╡ cE)----û╡ä-        û╡Äsα`xx cå1°x\^å1AÇ°~W├á■WUé*⌡UUå1
  15022. ┐╒U╦Zé
  15023. »⌡UMk├
  15024. »⌡äIJ
  15025. /⌡╙£╧{*
  15026. ¡U¡╙£²
  15027.  
  15028. -╫╜ÑU»
  15029.  
  15030. Y╬U¡⌡½╞Ñzxxx╙£Äs°x\^╧{MkαΦz_ cèRxxxxBå1xxxx╟9E)»»┐┐IJ╟9)--- cèR--╜╡╧{ c+-╜╡╙£╧{+---╫╜Ñ¡¡-    ╞U¡xp`αÑä^^~°äÄs^~°αÄsMkUZ¿ÄsMkUU»
  15031. ╧{Mk⌡╜/
  15032. Qî╧{╡¡+
  15033. ÑQî╡-/ ╫╜U¡╒╡╜-Y╬╫╜- éY╬û╡`xx^û╡╙£xxx^Æöäxxxx╧{╦Z°xxx╦ZIJΦxx^IJå1á°■■Bå1¬■_UBå1¬»╜╒IJ╟9
  15034. -èRIJUδ½èRIJUU ¬╦ZIJ╒⌡┐½╦ZèRφδ┬`èRBx°ⁿ^IJBU¬½UIJ╟9¬ÇBå1xααå1!^xαΦ!éW■·á!é ¬!AW ¬Ç├U_zxUUUUUUUUUUUUUUUUUUUUé-555Mk!----╫╜Æö                ÑMkxxxxIJé°x\\éx^WWUUUUUUUUUUUUA»UUU!/⌡UUB
  15035. ┐╒UÄs├+╜⌡Æö╦Z+╜╒U¡Äs
  15036. »⌡╫╜Æö½⌡╫╜╙£`hzQî c°xxxMk╦ZǬ _ cèRxxz~IJå1xxxx╟9E)╜╜ ≈Bå1 /╦ZIJ»¡¡╜ä╦Z╡╡╡-û╡ä╡╜- Y╬U¡¡+ ╞ÑαΩ UU¡ÆöxαÇÇ╙£äW~°αQî╬{W_■¿äÄs »¬Æö╧{ ┐/U¡Qî╒²»
  15037. û╡╙£⌡╡/
  15038. Y╬û╡╡-
  15039. Y╬╫╜Çαx\╫╜U¡Φ·~_U¡ÆöαΦxxQîÄsΦxx^MkèRα°z^èRå1α°z^╟9E)áΦ·Wå1!¬■ Wå1!
  15040. »╡Bå1»╡╒╒èR╟9 - cèRU²»+Mk╦Z╒╜½MkIJzxxxIJ╟9°x~^╟9E)¬·^_å1é¬■WE)鬠UE)é*»⌡å1!_¬+-╟9E)UU ½å1! ΩÇÇ!xxxxUUUUUUUUUUUUUUUUUUUUé555%Äs!----╫╜╙£ë╔ΘiQîèRhxxx╟9AxX\^@UUUUUUUUUUUUUUUUUUUUUUUUAò╒╒╒E)A--╜╡èRE) ╜⌡╒MkB
  15041. ╜⌡⌡Æö╦Z
  15042. /╜╡╙£äÇéδφä cxxxx cèRΩ■~^╦ZèRz_UUIJå1xxαáå1E)?<Bå1----╦ZIJ¡¡¡¡Qî╦Z----û╡╙£     ½²Y╬Ñ
  15043. ¬ U╙£╧{
  15044. ┐⌡UÑä+╜ÑÆözΩΩΩÆöQîV ÑÆöU╜+ û╡╙£╒»
  15045. ╞U¡⌡»Y╬û╡⌡»*Ü╓╞∩δΩ·╞û╡xxx^û╡Ñ·~^W╙£äαα°xä╦ZΦxx^╦Zå1α°x^╟9éáΦz^!¿■_├A¬ U!é
  15046. ÑòUå1├
  15047. +-╡IJå1+/-=äèR╜¡--äÄsukΓ`MkIJxxxxBE)α°xxE)éαΦx^éá°^WA UUé+╜╒UE)A /╜⌡╟9!
  15048. +-╡Bå1^z~_E)AxxααAWVV\UUUUUUUUUUUUUUUU!A╡╡5-Qîå15---U¡╙£├├πkäå1xxxxE)A\^^^UUUUUUUUUUUUUUUUUUUUUUUUUUUU├/---å1!----èR╟9----Mk╦Z-5╡╡QîÄs --QîMkxxxx cèR^^^^èRIJ■WWWèRIJ_{²IJå1 ■°áB╟9ò%*èRB ä╦Z-╜⌡UQî c¬ UQîMk¬ UMk╦Z¬ UQî╦Z
  15049. »⌡UÆöMk
  15050. »⌡Æöä
  15051. ╜U¡Æö /¡⌡╫╜Ñ
  15052. +╜Y╬û╡
  15053.  
  15054. /╡Ü╓Y╬-     Ü╓╫╜Φxxx╫╜U¡°xz~ÑÆöαΦxxQîÄsαxx^MkBα°x^B├αΦx^├α°~_A^WUUUUUUA⌡╒U!A /╜╡B! /-╡╧{IJ--╜⌡ä cαΩU cBxxxz╟9!xxxxéα°xxAWUUUUUUUUUUUé-╡╡╒E)é /╜⌡å1!Ǭ UE)éxΦΦ¬├W^xαAUUUWUUUUUUUUA╒╒5╟9é╡╡-/ÆöIJ----╙£äÇ└α`MkE)xxxx!xxxx@UUUUUUUUUUUUUUUUUUUUUUUUUUUU├----BE)╡╜--èRB-- cèR┐┐»»ä c----QîÄsx`α└ÄsèR^~x°èRIJVZ¿èRIJ⌐Ñ*èRB_~zαB╟AIJB
  15055. )Ñ⌐╦ZIJ½¡╡⌡ cèR½∩  cèR
  15056. » èRB¬ U╦ZB
  15057. ¬ UMkIJ
  15058. »╜╒ä╦Z½╜⌡ÆöÄs
  15059. »╜⌡ÑQî
  15060. /╜╡╫╜Ñ+-¡╜Ü╓╫╜     --Y╬╫╜xxxxû╡ÑxxxX╙£Qîαxxxä╦ZαxxxèRå1xxxxE)A°xxxA\VWWUUUUUUUUUUUUé-5╡╡å1é/---èR╟9 -¡╡╦ZIJ¬ UèRBxz~╟9├xxxxéxxxxUUUUUUUUUUUUA╒UUUé+²UU├
  15061. »╡╒!é*½╜!éz·Ω¬├W^°áéU ¬├U²»
  15062. E)A╒╡/
  15063. ╦Z!╡╜/+╙£╦Z-- ╙£Äsα`xx╦Zå1xxx°E)é^xxαAWW\\UUUUUUUUUUUUUUUUUUUUAU╒╒U!A--╜⌡╟9!+/╜╡èR╟9
  15064. +-Mk╦Z╒²¡-äMk---+╙£ä√δïQî c^~°áÄs╦ZW·áMkèR╒ ¬¬ cèRzΦáèRB ■¿èRIJUò¬╦ZIJ╡»½¬╦ZèRδ{zzèRIJ¿ZVBå1¿■  Bå1
  15065. ┐  IJ╟9
  15066. /╜⌡╦ZIJ
  15067. /¡╡╧{╦Z /-¡Æö╧{+---û╡╙£¡¡¡¡Y╬û╡    --¡Y╬╫╜xxxzû╡╙£xxxxÆöäxxxx╧{╦ZxxxxèRå1xxxxE)AxxxxAWWWWUUUUUUUUUUUUA%%%%E)é----BE) -╜╡B╟9¬½IJB²⌡╟9!xxxα├A^^xxUUUUUUUUUUUUUUUUUUUUA╒UUUé /╜╡!鬽 ²├é°ααá├é    !├╒555╟9!¡---╧{B╡╜--╙£╧{     ÆöMkxxxx╦ZB\x°°B!^zΦα!W^xαAUUW°UUUUUUUUUUUUUUUUUUUUA=⌡╒UE)A /-╡IJE)/-╜╡MkIJ+/--QîÄs----U¡╙£uφ¡¡Ñä^zΦáQîÄs_■ΦÇ╧{MkU ΩÇÄs c_~·áMk╦ZW■Ωá c╦ZUUj¿ c╦ZUUY¬╦ZèRzzΦαèRB°xx°å1├á·Wå1├
  15068. +╡Bå1½¡╡╡èR╟9 ///ìsïR----ÆöÄs----U¡Æö //╞U¡ ---╞û╡ααααû╡╙£xxxxÆö╧{°°°°╧{╦ZxxxxèRå1xxxαE)AxxxαAWW\pUUUUUUUUUUUUé╡5-/!é--¡╜å1! /--Bå1½»»»IJ╟9»»»»BE)xxαáE)é^z°αéU_~ΦAUUU^UUUUUUUUUUUUUUUUA%5╡╡éA=├éé !├UU E)├╡╜/
  15069. IJE)╡5--äèR5---ÑQîëâââÆö╦Zxxxx╦ZIJ^^^^IJ╟9xαΦ¬╟9!^xαÇE)A_~ΦÇéU_~xUUUUUUUUUUUUUUUUUUUU├-5╡╡B!----MkIJ----ÆöÄs----û╡╙£¡¡¡¡û╡╙£zαÇÑQîW~°áÆöäU·áQî╬{W^·á╧{MkW_·áÄs cU ¬Äs cU ¬Mk╦Z ·áMkèRW_·áå1AW_^x!A-╡╒╒å1├
  15070. +--èR╟9----Mk╦Z--╡╡QîÄs+--╡ÑÆö---5╫╜U¡----╞╫╜zjbΓû╡ÑxxxxÆöäxxx°╧{Mk^xx° cIJ^xxαB!^z°α!^~°áAUWⁿAUUU¬é╒⌡╜
  15071. ├A╡╜»¬!é╜╜╜-å1!--- IJ╟9⌡╡╡¡IJB╡┐/
  15072. èR╟9·ΩÇIJE)_~°áå1éW~Φá├_~°αAUUUWUUUUUUUUUUUUA╡╡55├A²┐»½!é╜╜-/å1!⌡╜/ BE)╒²½èR╟9╡╜/+Æö╦Z---+Ñ╙£ii{{ä╦ZxxxxèRIJXXX`IJBWV■¬IJ╟9zΩéÇB!~xxx├A\\\xUUUUUUUUUUUUUUUUUUUUé55--B!----MkIJ----ÆöÄs----û╡╙£----╞û╡}²φ¡╫╜Ñ_·ΦáU¡Æö ·áÑQî_~ΦáÆö╧{ ■ΦÇQî╧{U ¬áQî╧{U ¬¬Qî╧{UW■¬äMk_~xα c!^x°αE)AU ¬å1├--+
  15073. èR╟9---/Mk╦Z╡╡╡¡äMk----╙£Qî----╫╜Ñ----╞╫╜└ÇÇ╫╜ÑxxΦαÑQî~x°αQî╬{^~xα╧{╦Z^~·α╦Z╟9^zΦáB!W~°áE)éW■¿Ç!éUU¬á!é⌡ ¬¬├é┐Ç!é//
  15074. ╟9E)¡¡½½IJ╟9--+¡èRIJò%%% cèR²½ cB_~ΦáIJå1_~Φαå1é^zxαéWW^xUUUUUUUUUUUUé╡╡╜-!é⌡²»å1├╒╡¡+BE)╡╜- ╦ZB╒╡» MkèR╡//
  15075. ╙£Äs--+ ÑQîΓαααä╦Zxxx° cèRWW~·╦ZIJU ¬¬╦ZIJΩΩ¬BE)xx°α!A^xxαAWW^xUUUUUUUUUUUUAU╒⌡=E)A╡¡- IJE)╜¡/ ÄsèR╜-- Æö╧{--- û╡╙£¡¡¡¡╞û╡----Y╬╫╜_ ¬╞U¡W■¿╫╜Ñ_■¿ÇU¡Æö·¿ÇÑQîW■¬¬╙£QîUΩαQîäáXQîä\ppUÄsèRxxzèR╟9W■(╦Z╟9U ¬╦ZB╡»*╧{╦Z╜╜/ Qî╧{╡╡¡+ÑQî╡╜¡/╫╜U¡---+╞╫╜ ╞û╡^xαÇû╡╙£^zΦáÑQîW~°αQîÄs^zΦαMk╦Z^xxxIJ╟9\xxx╟9E)^^^^!éá°|^├鬠!鬻┐⌡å1!╜--╡╟9å1╡╡╒UBå1¬½╜╒IJ╟9
  15076. +¡╡ cèR --╡Mk╦Z~■·δ╦ZBzxαÇIJE)^~°αE)AW~°áéU_·ÇéUU ¬éU⌡»
  15077. E)A⌡╜/
  15078. ╟9!⌡╜½Bå1╒⌡»*╦ZB╡¡/ Äs╦Z²»+
  15079. QîMkò╡/
  15080. û╡Qî¡- U¡ÆözxxxäMk\\xΦÄs╦Z  ΩáMk╦ZU ¬ c╦ZZh``╦Z╟9^z°α╟9├^zΦá!AW~ΦÇéUW■ÇéUU ¬éU╒┐
  15081. E)A⌡╜+
  15082. IJ!⌡╜»+╧{B⌡╜/ ÆöMk╡¡+ÑQî╜+
  15083. û╡Ñ╡-
  15084. ╞û╡- ╜Y╬╫╜óY╬û╡ááΩU╞U¡ááΩUû╡╙£ááΦ_U¡Æö¿ÇΩU╙£äααx^äMká°■_╧{╦Z¬■WèRå1¬ UèR╟9
  15085. */╡Äs╦Z²---äMkU ½
  15086. ÆöÄs╒╜+╙£Qî⌡╜+û╡╙£╡-+
  15087. ╞û╡⌡²φδ╞û╡
  15088. /┐≈Y╬╞]}═5╞û╡_zΦÇ╫╜Ñ_~·Φ╙£ä^^xxÄs╦ZxxxΦ╦Z╟9~~xxå1!xxxx├éαααα├éWUUW├é⌡⌡⌡⌡E)├-%--å1E)⌡UUUå1E))%%Bå1/---╦ZIJ--╡╡Mk╦Z½ï Mk╦Z~Ω¿ cB_~ΦÇIJE)W~ΦÇ╟9├W■¿å1éU ¬å1├╒┐*BE)⌡╜+╦ZBU²½╦ZB╒┐*Äs╦Z╡¡+
  15089. QîÄs╡-/ U¡Qî╒╜/ ╫╜U¡¡⌐ïU¡╙£xxxΦÆöä^~°áQî╬{UΩÇ╧{Mk ΦααMk cZXhá cèR^zΦÇ╦Z╟9W^·áB!_·¿╟9!U ¬╟9├U ¬B├U ¬╦ZE)╒²»
  15090. ╧{B⌡╜/
  15091. ÆöÄs╡-
  15092. ÑÆö- ¬ÑQî¬U¡䬠UU¡Äs¬ UÑ c¬ UÆö╦Z¬ UÆö╦Z¬ UQî c¬ Uä c¬ Uä╦Zá·UMkBÇΦ~WèR╟9¿·_UE)├¬ ╒B!/-╡╡MkIJ --╡ÆöÄs/---û╡╙£⌡» ╫╜U¡U ¬╞U¡╡»
  15093. ╞╫╜UW_^╫╜û╡««*
  15094. Y╬╫╜//??█▐Y╬Uδ½Y╬û╡_~°αU¡Qî~xxαäMk^xx° cIJ^x°αIJE)^~°αE)├W^°α├é ¬!é⌡┐/
  15095. E)!5=å1E) √¬¬å1E)%%*Bå1¡¡¡½èRB----Äs╦Z////ÄsMk¬╧{Mk_·¬½ÄsèR_·Φá╦ZBW■¿╦ZBU ¬╦ZBU ¬ cIJ⌡»*ä╦ZU²»
  15096. äMkU ¬ÆöÄs╒╡»*ÑQî╡╜/
  15097. ╞Ñ╡╜-/Ü╓╫╜}kΓ└╫╜Ñ^x°αU¡Æö_·Φá╙£Qî^z°ΦäÄs·°Φá╧{MkW ΩÄs c  ¬ÄsèR_·áMkIJW ¬MkBU ¬ cBU ¬ cIJ⌡½ÄsèR┐
  15098. ¬╧{Mk »UÆö c¬ UQî╦Z¬ U╧{IJ¬ UMkB¬ U cB¬ UèRå1Φ~WIJ!·_UIJ├½ U╦Z!¬┐⌡╦Z╟9¬ UèRE)Ç·WB├áΩWå1éá·_U├A**/»å1!----╦Z╟9----Qî c---╜û╡╙£ --Y╬╫╜/ Ü╓Y╬U·└ÇÜ╓╞UW_·Y╬╫╜  ¬¬Y╬╞╡╜» Ü╓╞ ┐UÜ╓╞x`Ω√╫╜ÑzxΦα╙£╧{^~°α╧{╦Z^xΦá╦ZB^~°áIJE)_~Φáå1!W■¿å1!╒ ¬╟9E)⌡╜»
  15099. Bå1U Ω¬Bå1╒┐½¬IJ╟9⌡╜» ╦ZIJ╡╜-+Mk╦Z ÄsMk¬·UÄsMk
  15100. %Ñ╧{MkzΩ¬¬Äs c_·ΦáMk cU ¬Äs c╒┐+äMk╒┐+
  15101. ╙£╧{⌡»+
  15102. ÑQîU ¬ÑÆö╒»
  15103. û╡Ñ⌡¡+
  15104. █▐û╡╡╜-/τY╬zz`αY╬û╡^~°°û╡Ñ^xΦáÑÆö^z°á╙£äW·áQî╧{ ΩÇQî╧{UU■¬Qî╧{U »¬Qî╧{U_z~╧{Mk■Ωz^MkIJÇá·_ cB¬ U╦Z╟9¬ U╦Zå1¬ UèRå1¬ UIJå1Ç·_U╟9E)Ω U╟9├¬ W╟9!¬ Uå1Aá·~W├á·_Ué*┐╒UE)A
  15105. +╜⌡å1!½²UE)AáΦz^éá· A¬UUé/---╟9├----╦ZB----ä c----U¡Qî----Y╬û╡ -¡╜Ü╓╞
  15106. +-Ü╓Y╬¬¿á¬Y╬╞└≡≡|╞╫╜Çá·^╞û╡¬■W╞û╡
  15107. »╒╞û╡xxzU¡Æö^xΦαÆöÄs^~°á╧{╦Z^·ΦÇ cIJ_■ΦÇ╦Z╟9W~ΩÇIJ╟9U ¬╦ZBU²½èRBU ¬èRB╒ ¬╦ZIJ⌡╜½
  15108. Mk╦Z╡¡+
  15109. ÄsMkU}√ΓMk c¬¬¿áÄsMk╡╡╡╡╧{ÄsQîÄs_ ¬äÄsU ¬äÄs┐»*Ñä╒╡¡½U¡╙£⌡¡½
  15110. û╡Ñ╒²½
  15111. ╫╜U¡⌡┐+
  15112. ╞û╡⌡-
  15113. █▐╞--//]∩█▐zbΓéÜ╓╞^|xα╞û╡W~·αû╡Ñ■Ω¿áU¡╙£Wzzz╙£QîΩáΦxQî╧{ááΦ^ä cÇΩ_ÄsèR¿■W c╟9ÇΦ~_IJ!á°~_å1鬠WE)鬠UE)é*┐⌡å1├¬¬ UE)├á·_U!éÇΩU├A¬■├AÇΩUA≡\WWUUUUUUUUé-╡╡╒!é½φ}Ué°x~^@UUUUUUUU!A╡╡=/╟9!--- ╦ZB----äMk----ÑÆö----╞U¡----Ü╓╞»»»½Ü╓╞¬Ωzz╞û╡Çα°~╫╜U¡¿·■_û╡Ñ¿·_Uû╡Ѭ¬ Uû╡Ѭ┐╒û╡ÑΦᬽU¡Æö^xαÇÆö╧{_~°áä c_■ΩÇÄs╦Z_■¬Äs╦ZU ¬Äs╦ZU ¬Mk╦ZU ¬ìsïRU ¬Äs╦Z ┐*╧{Mk⌡╜+╧{Äs_≡└ÄsMkW■¿ÄsMk╜/
  15114. äÄs--/+Æöä½ /╙£Qî ¬
  15115.  
  15116. ÑQî╒┐*U¡╙£╡+
  15117. û╡U¡⌡╜┐ û╡U¡
  15118. ╞û╡┐┐ ⌡╞╫╜ /┐█▐╞---%₧≈τ}φ¡φτY╬~xxx╞û╡ΦΦx^û╡ÑαΦz^ÑäáΦ·~QîMkÇΦ~WÄsIJÇΦ~W c╟9á·_UIJE)á·U╟9├áΩ UE)éΦ°z_é¿°^WA++éA?²├éé½ ²├é_WWWéAÇΩ· éA____A·WWWUUUUUUUUUUUUAò╒òòéA½ΘΘâA\\|≡UUUUAUUU╒ç1┬╡╜/
  15119. IJå1╡╜- MkIJ--/ QîÄs---+U¡Æö╜---Y╬û╡╡--+Ü╓Y╬⌐δδzY╬╫╜αΦx^╫╜U¡Φ·~_U¡ÆöÇá°^ÑQ■W╙£QU╙£QUÑQî*┐╒U¡╙£¬¬ UÑ╙£^zΩU╙£QîW·áÇÆöäU ¬Æö╧{U ¬ÆöÄsU ¬QîÄsU ¬Qî╬{U ¬Æö╧{╒ ½Æöäu ¬Qî╧{■ΦÇQî╧{UU ¬äÄs  ¬ÇäÄs½¬¬¬Qî╧{+/┐┐╙£Qî++¡╜Ñ╙£++-¡U¡Ñ
  15120.  
  15121. U¡Ñû╡U¡»╜⌡⌡╫╜û╡⌡╒╒╒╞û╡»┐┐»Ü╓╞----]∩█▐ ½²]τ╞xxz╫╜U¡ΦxxxÑQîαxx^ä cáΦz^ cBáΦz^IJ!áΦ~_E)AÇΦ~W├AÇ■WU├¬ UUéÇ·WUAVUU╒A//
  15122. éA⌡⌡⌡²éA ├é_└éA ■╕éA√ΩÇAV^\xUUUUUUUUUUUUé╡╡5-├é²├~·¿éW ¬├AU⌡»
  15123. èRå1⌡┐+MkIJ⌡╜»
  15124. ä c╡╜+
  15125. ╙£ä╡╜¡+û╡╙£-- Ü╓╞╡¡¡¡Ü╓╞Ωzz^╫╜U¡α°z^U¡ÆöÇαx~Æöäá°~^Qî╬{¬■_äÄs¬ UäÄs¬ UäÄs¬» Qî╬{¬ UÆö╧{½ ╒Æöä¬┐╒╙£Qî
  15126. ½╜Ñ╙£²½¡╡U¡╙£U Ω½ÑÆö ¬ÑÆöU ¬U¡Æö⌡½
  15127. U¡Æö ΩÇÑÆöW~Ωá╙£QîUzαQîä\\p└ä╧{·¬Çä╧{/*
  15128. Æöä///+ÑÆö----û╡ѽ½+ û╡U¡W_■·û╡U¡⌡╜┐»╫╜û╡╒╒⌡╡╞û╡½++*█▐╞--- █▐╞áΦxzY╬╫╜áΩ W╫╜ÑxxxzÆö╧{ΦxxxMkIJαΦxxIJE)α°x^E)Aαx~^A≡\WUUUUUUUUUUUUUA╒╒UUA*┐Ué /┐!é╜---E)├δE)é  ¬!éUΩÇ├AW^xαAUUW°UUUUAU╒╡ !A╡╜/+å1!U²½╟9U ¬╟9U ¬╟9!╒┐*ÄsèR╒┐*
  15129. ä c╡»+Æöä⌡╜/ U¡Æö╡¡+
  15130. ╞U¡-/
  15131. Y╬╞├ ╞û╡α°z^U¡╙£αΦxz╙£QîαΦz^Qî╬{Φx~^╧{ cáΦ■_Mk╦ZǬ■Mk╦Z¬┐ Äs c½  Äs c¬  ╧{ c¬┐╒äÄs½┐²╒Qî╧{
  15132. +/╜╙£Qî -╜⌡U¡╙£»⌡╒UÑ╙£/U¡Ñ/++/û╡U¡ ïû╡U¡U ■¬U¡Ñ·ΦáÇU¡╙£W_~·╙£Qî~·ΦáÆöä ■¬Æöä ┐*ÑQî⌡╜»¬U¡╙£╡╜¡½û╡U¡%            ╫╜û╡U_zΩû╡U¡*╫╜û╡Ñ)
  15133. Y╬╫╜┐┐//Ü╓Y╬
  15134.  
  15135. éóY╬╫╜αxx^û╡U¡ÇhZû╡Ñ``j╙£Äsxxxx cBxxxx╟9é°xxxéx^^^UUUUUUUUUUUUUUUUUUUUUUUUA5╒UU!+--╡╟9E)U⌡╜Ñ╟9E)UU ¬╟9E)U ½
  15136. å1├_~°á!AW■ΦÇ├U ¬!A⌡┐+
  15137. ╟9├╡╜/ IJå1⌡¡+
  15138. èR╟9  ¬èRBU ¬╦ZIJU⌡»
  15139. äÄs╒╡/╙£ä⌡╜/ U¡Æö╡- ╞U¡⌡╜/ Ü╓╞U⌡ Ω╞û╡Çαxxû╡Ñαx~^ÑÆöΩzz^Qî╧{¿Φ··╧{Mkα°x^Mk╦Z¿·~_ cèR¬·_U cèR¬ UU cèR¬¬ u cèR¬ UU cèR*½┐Äs╦Z
  15140. +»┐äÄs+-¡╡Æöä+»┐ ÆöQî
  15141. +ÑÆö»┐┐┐U¡Ñ╜╜╡╡û╡U¡            %û╡U¡Çû╡U¡^~·ΩU¡Ñ·ΦáU¡╙£W~·¬U¡╙£UU ¬ÑÆö ¬U¡╙£╒╜¬¬û╡Ñ╡╜/
  15142. ╞û╡⌡╡╜¡╞╫╜U_·¬╞û╡ ¬¬¬Y╬╫╜  ┐/Ü╓╞╡- Ü╓╞αα`x╞û╡xx^^û╡╙£Ω·zzÑÆö¬¬■W╙£╧{xxzz c╟9xxxxå1├xxxxé\\xxUUUUUUUUUUUUUUUUUUUUUUUUUUUUé-5=-B!¡¡--IJ╟9UU ¬IJ╟9U²½
  15143. Bå1_zΦα╟9!W~°¿å1├U ¬╟9!╒┐+
  15144. èRå1⌡╜/ cIJ⌡¡+Mk╦ZU ¬Mk╦ZU ¬Äs cU⌡»ÑQî╒┐*û╡╙£╡»+
  15145. ╞U¡╒╜/ █▐╞╡- █▐Y╬zx`╞U¡xxxxU¡ÆöαΦxzÆöäα°~^äÄs·~~_Mk c`XXX cèR~~~~èRIJΩzzzëJIJUUUUèRIJ
  15146. ½½½èRIJáhZèRIJ
  15147. )%MkèR//┐┐╧{Mk ---Qî╧{½»»»ÆöQî--╡⌡╙£Æö╡╡╡╡U¡╙£»»»┐û╡Ñ /╜╜╫╜û╡ ¡¡╡╫╜û╡UWzΩû╡U¡Ωû╡U¡UZ¿û╡Ñ ¬¬û╡Ñ ¬¬û╡U¡UÑ*╫╜U¡┐+
  15148. Y╬╫╜╜¡+ Ü╓╞] ¬Ü╓╞U ¬█▐╞⌡»*
  15149. τÜ╓² δ¬Ü╓╞xxxx╞û╡^^^^û╡╙£zzzz╙£Qîz^^^Qî╧{αΩ·■ÄsBxxxαB!^~xx├^^xxUUUUUUUUUUUUUUUUUUUUUUUUA╒ò╡%E)A╡╡--IJE)╡-- ╦ZIJU ½╦ZIJU ¬èRB_~°áBå1■·áBå1U ¬èR╟9⌡╜/
  15150. MkIJ╡╜+
  15151. ä c⌡¡ QîÄsU ¬QîÄsU ¬Æö╧{U ½╫╜U¡╒ ¬
  15152. ╞û╡╒╜½¬Ü╓╞╡¡¡⌡█▐Y╬½ █▐Y╬└└αΩ╞ÑxxxxÑQîΩ·z~Qî╧{°x~^╧{Mk·~~_Mk╦ZΦΦ·~╦ZIJαα°^èR╟9á¿· IJ╟9* UèR╟9*» èRIJ^ ¡èRIJ%%)
  15153. cèR»»»»╧{ c----Qî╧{┐┐»»ÆöQî⌡╡╜-╙£Æö╡ò╒UÑ╙£++-¡U¡Ñ*+++╫╜U¡////╞╫╜䬬╞û╡ ■Ω¬╫╜û╡·¬¬Ç╫╜û╡U_  ╫╜û╡U╒  ╫╜û╡Ñ)*
  15154. ╞╫╜╡╡¡»Ü╓╞┐┐»»█▐Ü╓²²²⌡█▐Ü╓ ¬¬ █▐Ü╓ τ█▐ }u⌡█▐╞xxxx╞û╡^^^^û╡╙£zzzz╙£Qî~z°ΦQî╧{ΩΩ··╧{╦ZxxxxIJ!xxxx├Axxx°AUUUWUUUUUUUUUUUUAUUU²AUUU ├╡╡-/╟9├╡-- ╧{B⌡╜¡ ä cU ¬ä cU ¬Äs╦ZWΩMkIJUΩ cIJU ¬Äs╦Z╒⌡»
  15155. QîMk⌡╜/
  15156. Ñä⌡╜+U¡ÆöU┐*U¡╙£U ¬û╡╙£⌡½╫╜U¡ÇΩ ╫╜U¡¬  ╞û╡½²U╞û╡*┐⌡Ü╓╞¬∩²⌡╞U¡xxxx╙£äxxxxäMkΦ°°°ÄsèRáΦx^╦ZBÇΦ~WIJå1áΦ~W╟9!á·_Wå1├¬ U╟9!
  15157. /╜╒èRå1 -╡ cèRU²╜¡ c╦Z%)
  15158. ╧{Mk╡╡╡╡Qî╧{----ÆöQî ÆöQîÑÆö¡╡╡╡U¡Ñ++++╫╜U¡-///Y╬╫╜»½ Y╬╫╜  ■°╪╜╫╜UUUU╫╜û╡¬¬¿╫╜û╡¬¬
  15159. ╞╫╜⌡╜»½Y╬╫╜┐┐»½Ü╓╞//+ Ü╓Y╬█▐Ü╓╒UUU█▐Ü╓▀UUUτÜ╓»»»»█▐╞xxαα╞û╡^~xxû╡╙£°°ΦΦÑÆö^^zΩQî╧{ΦααÇ╧{ cxxxxèRå1\xxαå1é^~xΦéW_~ΦAUUU·AUU╒+é╒⌡»
  15160. !AU ½!AU ¬Bé╒╡»
  15161. Äs╟9╒⌡╜/ÑLk╜- û╡╙£U ╫╜ÆöU ¬╫╜äU ¬û╡╧{U ¬U¡ÄsU ¬Ñä╒ ¬U¡Qî⌡»
  15162. û╡U¡U⌐╫╜û╡U╒┐¬╫╜û╡╒»¬·╫╜û╡»¬■UU¡╙£Ç¬ UU¡╙£¬ UUU¡Æö½ û╡Ñ*»⌡╞û╡ /╜╒╞U¡p`αΓÑQî~xxxä╦ZΦxxx╦ZBαxx^BE)á°~^å1├ÇΦ~_!éα°~_├A¬  !é /╡╒B! -╜╡╦ZB +-╜Mk╦Z+++¡╧{Mk-/ )ä╧{ /┐Æöä +»┐ÆöQî**
  15163.  
  15164. ÑÆö┐┐┐»U¡Ñ+++ ╫╜U¡////█▐╞¡¡-█▐╞^z°α╞╫╜ ■°á╞╫╜ ┐¬¬╞╫╜┐¬¬¬Y╬╫╜ »½
  15165. █▐╞⌡╜»
  15166. █▐Ü╓╒² ≡█▐Ü╓UWWW¢╓Ü╓UUUU¢╓Ü╓UUUU█▐Ü╓τÜ╓z··ΩY╬╫╜^xxα╫╜U¡~~·ΦU¡╙£^zΩ¬╙£Qî^~xαäMk^x°αMkIJ^~°αIJE)_~Φáå1├W■¿ÇE)AU ¬E)AU ¬å1é⌡»
  15167. ╟9E)U IJE)╒┐*MkB╒╜/ Æö c╡-
  15168. U¡Æö     û╡U¡
  15169. ┐╞û╡½½»²╞╫╜¬ ╞╫╜· ╞û╡áá·╫╜û╡UáÇZ╫╜û╡Ñ*¬U╫╜û╡¬Ω~U╫╜U¡¬¬  û╡ÑÇΦ■WU¡╙£¬■WÆöÄs¬ UÆöÄs¬ UÆöÄs¬ U╙£╧{*┐⌡U¡Æö
  15170. +¡⌡╫╜ÑÇé½ U¡Qîxxxx╧{╦ZxxxxèRBxxxx╟9!°xxx!éΦx~~éAá°■éA    éA ///E)├--╜⌡B!
  15171. ½ U╦Zå1+╜╒ÄsB
  15172. »⌡╧{ c+╜Qî╧{»»╜╡ÆöQî5╒╒ÑÆö½½¡¡û╡Ñ╜╜¡¡╫╜U¡//+ τ╞----τÜ╓zhααÜ╓╞W^ΦÇÜ╓╞╒  ¬Ü╓╞U┐+τÜ╓U╒²»τÜ╓² Ω·█▐Ü╓αΦ°~¢╓Ü╓UUUU█▐Ü╓UUU╒█▐Ü╓⌡² ?τÜ╓ ┐┐»τ█▐√½è█▐Y╬^xααÜ╓û╡_~°Φ╫╜U¡zΦΦU¡╙£^~z^Æöä^xxxä c^xxx╦ZIJ^xxxBå1~zzzå1E)¿Ç¿å1E)·¬¬*Bå1⌡╡╜/èR╟9⌡╜+
  15173. cIJ⌡╜+
  15174. ╧{ c5- +╙£╧{ +┐╒U¡Æö    ¡U¡Æö¿■ û╡ѽ²U╫╜Ѭ U╫╜Ѭ Uû╡╙£¬ Uû╡╙£¬ Uû╡╙£¬ UU¡Æöá· ÑÆö¬ WÑQîÇΩU╙£ä¿■ WÄsèR¬ UMkIJ¬ UMkèR*┐╒╧{╦Z*┐⌡ÆöÄs
  15175. /╜⌡ÑQî -╡ÑÆö``αΓä╦Zxxxα╦Z╟9xxxx╟9!xxxx!é~zzxéA■■°°éA  ┐┐éA
  15176.  
  15177. α°├¬¬ W鬠UE)A
  15178. »⌡UBé
  15179. »⌡U╦Zå1+╜⌡╧{╦Z
  15180. -╡Qî╧{**+-╙£Æö=5==û╡Ñ----╞û╡5--█▐Y╬-¡⌡█▐Y╬¬ Ü╓Y╬á¬Ü╓Y╬ Ü╓Y╬
  15181. ¬τÜ╓½½ ╒█▐Ü╓Çᬠ█▐Ü╓_W_ █▐Ü╓UU╒ █▐Ü╓┐+τ█▐U⌡²²τ█▐²  UτÜ╓ UτÜ╓zz_UY╬╫╜°x^^û╡ÑαΦxzÑQîα°z^Æöäz^WU╧{MkxxΦαMkèR^^xαIJ╟9_^°áBå1UU IJå1U⌡»
  15182. ╦ZB╒╜+ÄsèR⌡¡ Mk c/
  15183. áÄs c¬  ╧{Mk*?╡╡Ñä     -¡╙£Æö≡≡p\╙£QU╙£QU╙£QUÆö╧{¿■ Æö╧{¬ UÆö╧{¬ UÆö╧{¬ UQîÄs¬■WäMk¬ U╧{ c¿■_IJå1¬ UBE)¬ UIJE)*┐╒╦Z╟9+╜⌡ÄsèR
  15184. +¡╡ÆöÄs -╡╒╙£QîÇé -╙£╧{^zxαÄsIJ^^xxBE)^xxx!├ZXXh├A■·¬¬éA»*éα°x|@UUUUUUUU@UUUUA=╒╒UE)A -╡╒╦ZE) /-╡Qî c +-╜ÑQî»+    -û╡Ñ//++╞û╡»┐²U╞û╡¬ U╞û╡¬ U╞U¡¬ U╞û╡¬ U╞û╡¬┐⌡Y╬╫╜¬»²Ü╓╞+»²█▐Y╬¬┐ ╒Ü╓Y╬¬█▐Y╬¬ U█▐╞¬ UÜ╓╫╜¿■WY╬╫╜¬ UY╬╫╜¬ ╞û╡xxzzû╡╙£zzz·╙£Qî^^^xä╧{°Φááä╧{zΩΩ¬╧{ czΦáÇMkèR_·¿MkIJU ¬MkèR╒┐*╧{╦Z╡»
  15185. ╧{Äsuz^Äs c°xz~Mk c╒UU╒╧{Mk╡╡╡╡Æöä        --╙£QîzZ^_äÄs¿■^äMk¬ UäMk¬ U╧{ c¿■WÄs╦Z¬ UÄs╦Z¬ UÄs╦Z¬ UMkèR¿■_╦ZB¿■W╦ZBÇΩUE)éáΩU!A¬ UE)é+╜╒╟9!
  15186. +¡╡╦Z╟9 /¡╡Äs╦Z /-╡Æö╧{+-╜╡U¡ÆözΓâÆö╦Z^~xα╦Zå1^~°α╟9!W~°áE)éW_·á!é]__^A\\\WUUUUUUUUUUUUUUUUA5╒Bé---¡ÄsIJ --╡╙£╧{ --╡û╡ѽ ²Uû╡╙£¬  û╡╙£¬¬ UU¡╙£Ç¬ UU¡╙£
  15187. ¬ Uû╡╙£¬¬ Uû╡Ñ
  15188. +╜╒╫╜U¡
  15189. +»╞╫╜
  15190. ½»²Y╬╫╜*¬¬ Y╬╫╜¬√ ╞╫╜ÇΩ■_╞û╡ÇΩW╫╜U¡ÇΩ Wû╡Ѭ U╫╜Ñ*┐╒╫╜û╡pUUû╡Ñ^xxxÑÆöV^^zÆöä ■°áQîäU ¬Qî╧{_■¬QîÄsW ¬äÄsU ΩÇ╧{Äs╒╫■·╧{MkáΩzÄs╦ZáΦ■  c╦Z¬ Mk╦Z»»┐²Äs c///?Qî╬{ +¡⌡Qî╧{αΦz╧{╦Zá°|^MkèR¬ W cèR¬ U╦ZB¿·_èR╟9ÇΩ UIJ╟9¬ UèR╟9¬ UIJE)ÇΩ~W╟9!¬ U╟9├¬ UAⁿ_UA¬WUUé+╜╒╒E)A /╜╡BE) -- cIJ/-╜╡ä c/-5╡û╡Æö)---╫╜ä^xαÇQîèR_~°á c╟9W_·áBE)_~xα!AxxxαAWW\|UUUUUUUUUUUUUUUUAòòò5å1é---- cB----QîMk----╙£Æö╙£QîÇΦxÆöä¬■_Æö╧{¬  Æö╧{¬  ╙£ä
  15191. »⌡UÑQî
  15192. +╜⌡û╡╙£
  15193. +/»╫╜U¡
  15194. ½»╞û╡½  ╒╞û╡Ω·╫╜U¡áΩ■U¡╙£ÇΦ·ÑÆöá·_U╙£QUÑQUU¡╙£+╜╒U¡ÑααΩδÑÆö°ααα╙£ÆöUWWÆöQî»
  15195. ÑÆö⌡╜»½ÑÆöΩΩαÆöä~xxx╧{MkááΦ°Mk╦ZÇαx^╦ZIJáΦ■_╦ZIJ¬¬ ╒ cèR»²╒UMk╦Z
  15196. »²U╧{╦Z
  15197. ½╜╒╧{ cÇαz cIJΦ°^^èR╟9ÇΦ■_IJå1Ω  BE)á·_╟9!¬ Wå1!¬ Uå1!Ω]E)éÇΦz_├Aá■WUé¬UUUUUUUUUU@UUUU├---%╟9!---╜èR╟9 +-╡Äs╦Z/-=╡û╡╧{----█▐û╡{Ωéé╞Qî_zΦá╙£MkW~ΦÇä╟9_~ΦÇèR!W_·αå1AW_~ΦéUW_ΦAUUUWUUUU@UUUUé╒╡=-╟9├--- MkB----╙£Äs╜-- Ñ╙£²δΓ└╙£╧{Φxx\äMká·_W╧{ c¬ U╧{╦Z¬ U╧{ c¬┐╒QîÄs
  15198. +¡╡U¡Qî +-╡û╡U¡½¡²╒û╡U¡ û╡U¡Ç``hU¡╙£áΦz~ÑäΩ·~_Qî╬{ÇΦ~WäÄs¬ UäÄs*┐⌡Æöä*»┐⌡U¡Æö --U¡╙£ZzjΩÑÆö  ╛¬Ñ╙£UU⌡»û╡╙£⌡¡+ û╡╙£zzαα╙£╧{xxxxÄs c°xxx╦ZIJαxxxIJB°^_■IJB┐⌡UUIJB
  15199. ┐╒UèRB+┐╒╦ZIJ
  15200. ½╜╒ cèRÇΩ ²èR╟9α°xxBå1·~^Wå1E)á·WE)!└≡W!éá°~~!é*┐⌡╒!éÇΓ·é°|^_@UUUUUUUUUUUUUUUUUUUUé--╡╒E)é +¡╡BE) /╜╡ cB/-55U¡Äs----Ü╓û╡éΓzY╬╙£¿¬ U╫╜ÑxǬUU¡ä~αá¬QîèR^xαá╦ZE)_■¿èR├UΩÇ╟9U_·Ç!AUU !AU╒»å1A⌡╜+èRE)╡╜/ ╧{èR╡=- û╡ä¡- û╡╙£Γαα`ÆöMk°xxxMk╦ZÇáΦ° cèRÇ·~_╦ZB¬▀U╦ZIJ
  15201. /╜╡╧{╦Z -╜╡Æö╧{ --╜U¡Ñ⌐Ñòòû╡U¡╜╡╡╡û╡Ñα```ÑQîα°x~QîÄsΦ°~^╧{ c¿·~_Mk c¬╫UÄs c+»╜äÄs+-╡╡Ñä/-╜╡U¡Ñδ½⌐¡U¡Ñ ■¬û╡Ñ╒╜»+╫╜U¡/ û╡ÑαααxÑäxxαΦäMk^~xΦ cèR^\xαèRIJUUZáIJBW_zΦB╟9¬ΩΩΩB╟9┐╒╒UIJ╟9
  15202. /┐┐╦ZB
  15203. ï½»èR╟9xxxx╟9E)~~~~E)!zVWW!├¬¬¬¬!├WWWW├é    ├AΩ···A^VVVUUUUUUUUUUUUUUUUUUUUA╒UUUé -╡╒å1é +-╜ cå1----û╡Äs----╫╜Qî└α`xäIJ¿■^ä╟9¬ UQîE)¬ U╧âE)¬ U c╟9¬⌡Mk╦Z
  15204. -ÄsIJ_¬äBU ¬ä╟9U ¬QîBU ¬ÆöèR╒┐¬Ñ╧{╡¡+
  15205. û╡╙£ éÇU¡QîαΦz^äMkxxxzMk╦Z~^^^èR╟9α°x^Bå1(«┐ èRB/-╜╡MkèR/---QîÄs--╜╡ÑQî --û╡Ñ»---╫╜Ñzzzz╙£äxxxx╧{Mkxx^^Mk╦Z°■■■ c╦Z¬¬¬¬Mk╦Z/┐┐┐╧{Mk----Æö╧{////U¡╙£)---û╡U¡ ┐+╞û╡╡- ╞U¡ααxxU¡Æöαx~^Æö╧{Ç¿■ äÄs°°·Äs╦Z°°°■╦ZèRzαáΩèRIJVX``IJ╟9~~z°B╟9╒╒╫ B╟9¬¬¬¬èRB    --╡èR╟9xxαα╟9E)~~°ΦE)!V^°áE)!UU╡½E)├W~ΩÇ!├UUp├AΦΦΦ¿AV^\XUUUUUUUUUUUUUUUUUUUUUUUUAòUUU! --╡ cE)----û╡ä-        û╡Äsα`xx cå1°x\^å1AÇ°~W├á■WUé*⌡UUå1
  15206. ┐╒U╦Zé
  15207. »⌡UMk├
  15208. »⌡äIJ
  15209. /⌡╙£╧{*
  15210. ¡U¡╙£²
  15211.  
  15212. -╫╜ÑU»
  15213.  
  15214. Y╬U¡⌡½╞Ñzxxx╙£Äs°x\^╧{MkαΦz_ cèRxxxxBå1xxxx╟9E)»»┐┐IJ╟9)--- cèR--╜╡╧{ c+-╜╡╙£╧{+---╫╜Ñ¡¡-    ╞Ñzzzx╙£╧{xxxx╧{MkxxxxMk╦Z■■·¿Mk╦Z  ¬¬Mk c%)
  15215. äÄs╡╡╡¡╙£ä╡╡=-û╡╙£¡¡¡½Y╬û╡⌡╡--Y╬╫╜δΩ`p╫╜Ñαxxz╙£ä°xxx╧{Mká°x^Äs╦Zá·_W cIJ¿·WèRB¬ UèRBǬ ╒IJB~·Ω¬IJ╟9 ■¬áIJ╟9  ¬¬IJB--/+èRB··ΩéIJå1 ■Φá╟9E)_■¿╟9E)U ¬å1!ΩáÇÇE)├xxxx├é  ■é^~°ΦAUUW°@UUUUUUUUUUUUUUUUUUUUUUUUé-555Mk!----╫╜Æö                ÑMkxxxxIJé°x\\éx^WWUUUUUUUUUUUUA»UUU!/⌡UUB
  15216. ┐╒UÄs├+╜⌡Æö╦Z+╜╒U¡Äs
  15217. »⌡╫╜Æö½⌡╫╜╙£`hzQî c°xxxMk╦ZǬ _ cèRxxz~IJå1xxxx╟9E)╜╜ ≈Bå1 /╦ZIJ»¡¡╜ä╦Z╡╡╡-û╡ä╡¡- Ü╓û╡╡¡ Ü╓U¡zxxxÑä^^~°äÄs^~°αÄsMkUZ¿ÄsMkUU»
  15218. ╧{Mk⌡╜/
  15219. Qî╧{╡¡+
  15220. ÑQî╡-/ ╫╜U¡╒╡╜-Y╬╫╜- éY╬û╡`xx^û╡╙£xxx^Æöäxxxx╧{╦Z°xxx╦ZIJΦxx^IJå1á°■■Bå1¬■_UBå1¬»╜╒IJ╟9
  15221. -èRIJUδ½èRIJUU ¬╦ZIJ╒⌡┐½╦ZèRφδ┬`èRBx°ⁿ^IJBU¬½UIJ╟9¬ÇBå1xααå1!^xαΦ!éW■·á!é ¬!AW ¬Ç├U_zxUUUUUUUUUUUUUUUUUUUUé555%Äs!----╫╜╙£ë╔ΘiQîèRhxxx╟9AxX\^@UUUUUUUUUUUUUUUUUUUUUUUUAò╒╒╒E)A--╜╡èRE) ╜⌡╒MkB
  15222. ╜⌡⌡Æö╦Z
  15223. /╜╡╙£äÇéδφä cxxxx cèRΩ■~^╦ZèRz_UUIJå1xxαáå1E)?<Bå1----╦ZIJ¡¡¡¡Qî╦Z----û╡╙£     ½²Y╬Ѭ UY╬ÑΦΩ UU¡ÆöxαÇÇ╙£äW~°αQî╬{W_■¿äÄs »¬Æö╧{ ┐/U¡Qî╒²»
  15224. û╡╙£⌡╡/
  15225. Y╬û╡╡-
  15226. Y╬╫╜Çαx\╫╜U¡Φ·~_U¡ÆöαΦxxQîÄsΦxx^MkèRα°z^èRå1α°z^╟9E)áΦ·Wå1!¬■ Wå1!
  15227. »╡Bå1»╡╒╒èR╟9 - cèRU²»+Mk╦Z╒╜½MkIJzxxxIJ╟9°x~^╟9E)¬·^_å1é¬■WE)鬠UE)é*»⌡å1!_¬+-╟9E)UU ½å1! ΩÇÇ!xxxxAUUUWUUUUUUUUUUUUUUUU!A╡╡5-Qîå15---U¡╙£├├πkäå1xxxxE)A\^^^UUUUUUUUUUUUUUUUUUUUUUUUUUUU├/---å1!----èR╟9----Mk╦Z-5╡╡QîÄs --QîMkxxxx cèR^^^^èRIJ■WWWèRIJ_{²IJå1 ■°áB╟9ò%*èRB ä╦Z-╜⌡UQî c¬ UQîMk¬ U╙£╧{
  15228. ┐⌡UÑä+╜ÑÆözΩΩΩÆöQîV ÑÆöU╜+ û╡╙£╒»
  15229. ╞U¡⌡»Y╬û╡⌡»*Ü╓╞∩δΩ·╞û╡xxx^û╡Ñ·~^W╙£äαα°xä╦ZΦxx^╦Zå1α°x^╟9éáΦz^!¿■_├A¬ U!é
  15230. ÑòUå1├
  15231. +-╡IJå1+/-=äèR╜¡--äÄsukΓ`MkIJxxxxBE)α°xxE)éαΦx^éá°^WA UUé+╜╒UE)A /╜⌡╟9!
  15232. +-╡Bå1^z~_E)é^xx°├_~°αAUUUWUUUUUUUUA╒╒5╟9é╡╡-/ÆöIJ----╙£äÇ└α`MkE)xxxx!xxxx@UUUUUUUUUUUUUUUUUUUUUUUUUUUU├----BE)╡╜--èRB-- cèR┐┐»»ä c----QîÄsx`α└ÄsèR^~x°èRIJVZ¿èRIJ⌐Ñ*èRB_~zαB╟AIJB
  15233. )Ñ⌐╦ZIJ½¡╡⌡ cèR½∩  cèR
  15234. » Mk╦Z¬ UQî╦Z
  15235. »⌡UÆöMk
  15236. »⌡Æöä
  15237. ╜U¡Æö /¡⌡╫╜Ñ
  15238. +╜Y╬û╡
  15239.  
  15240. /╡Ü╓Y╬-     Ü╓╫╜Φxxx╫╜U¡°xz~ÑÆöαΦxxQîÄsαxx^MkBα°x^B├αΦx^├α°~_A^WUUUUUUA⌡╒U!A /╜╡B! /-╡╧{IJ--╜⌡ä cαΩU cBxxxz╟9!xxxxéα°xxAWUUUUUUUUUUUé-╡╡╒E)é /╜⌡å1!Ǭ UE)├x°· !ézΦáá├W^°áéU ¬├U²»
  15241. E)A╒╡/
  15242. ╦Z!╡╜/+╙£╦Z-- ╙£Äsα`xx╦Zå1xxx°E)é^xxαAWW\\UUUUUUUUUUUUUUUUUUUUAU╒╒U!A--╜⌡╟9!+/╜╡èR╟9
  15243. +-Mk╦Z╒²¡-äMk---+╙£ä√δïQî c^~°áÄs╦ZW·áMkèR╒ ¬¬ cèRzΦáèRB ■¿èRIJUò¬╦ZIJ╡»½¬╦ZèRδ{zzèRIJ¿ZVèRB¬ U╦ZB
  15244. ¬ UMkIJ
  15245. »╜╒ä╦Z½╜⌡ÆöÄs
  15246. »╜⌡ÑQî
  15247. /╜╡╫╜Ñ+-¡╜Ü╓╫╜     --Y╬╫╜xxxxû╡ÑxxxX╙£Qîαxxxä╦ZαxxxèRå1xxxxE)A°xxxA\VWWUUUUUUUUUUUUé-5╡╡å1é/---èR╟9 -¡╡╦ZIJ¬ UèRBxz~╟9├xxxxéxxxxUUUUUUUUUUUUA╒UUUé+²UU├
  15248. »╡╒!é*½╜!鬬 ⌡├é°ααα├é    !├╒555╟9!¡---╧{B╡╜--╙£╧{     ÆöMkxxxx╦ZB\x°°B!^zΦα!W^xαAUUW°UUUUUUUUUUUUUUUUUUUUA=⌡╒UE)A /-╡IJE)/-╜╡MkIJ+/--QîÄs----U¡Æöφ⌐     Ñä^zΦáQîÄs_■ΦÇ╧{MkU ΩÇÄs c_~·áMk╦ZW■Ωá c╦ZUUj¿ c╦ZUUY¬╦ZèRzzΦαèRBxxxxBå1¿·■ Bå1
  15249. ┐  IJ╟9
  15250. /╜⌡╦ZIJ
  15251. /¡╡╧{╦Z /-¡Æö╧{+---û╡╙£¡¡¡¡Y╬û╡    --¡Y╬╫╜xxxzû╡╙£xxxxÆöäxxxx╧{╦ZxxxxèRå1xxxxE)AxxxxAWWWWUUUUUUUUUUUUA%%%%E)é----BE) -╜╡B╟9¬½IJB²⌡╟9!xxxα├A^^xxUUUUUUUUUUUUUUUUUUUUA╒UUUé »╜⌡éA+/┐├éó !├UU╒²E)├╡-+
  15252. IJE)╡5--äèR----ÑÆö⌐½½½Æö╦Zxxxx╦ZIJ^^^^IJ╟9xΦΦ¿╟9!^°αáE)A_~ΦáéU_~xUUUUUUUUUUUUUUUUUUUUé----B!----MkIJ----ÆöÄs----U¡╙£ û╡╙£zαÇÇÑÆöUVXhÆöäW~ΦαäÄs■Ω¿á╧{MkW~ΦáÄs cU ¬Äs cU ¬¬Mk╦Z_~áÇ cB~zαα╟9!á°\Tå1!*»╡Bå1½¡╜╡èRB---=ìsïR----ÆöÄs----U¡╙£--¡¡╞û╡--5╞û╡ααααû╡╙£xxxxÆö╧{°°°°╧{╦ZxxxxèR╟9xxxxE)éxxxxAWW\\UUUUUUUUUUUUé╡5--!é--¡╜å1!--╡╡B╟9²⌡╒╒IJ╟9»»»»BE)xxααE)A^x°αéW^z°UUUUUUUUUUUUUUUUUUUUAÑ╡⌡⌡≤@ÇE)é⌡╡┐+èR!⌡╜/ QîB%-/ ╙£ cpppp╦ZB^~°áèRE)zz`α├VV\XUUUUAUUUò╟9--- QîèR----╫╜Ñ--Y╬ÑW~·áû╡QîW_Ωá╙£äUU·ÇQî czΩÇÇèRAWV\°IJ!----ä╦Z--==╫╜Æö----╞Ñxp`α╙£Mkzz°α cE)xxαá╟9AW_·á├U⌡*!é╡╡?*B!-- cBu²»/èR├^·ΦáE)W^\xUUUUé╒╒╒╡èRE)╒ *äB╜¡+
  15253. ╫╜╧{╡¡/ U¡Äsxx°Φä cU_·α cBxhαÇèR├W^·¿å1U_¬èRAU⌡»*Æöå1⌡╡/ ÑÄs- ¿╫╜ä
  15254.  
  15255. ¬U╞Mk·Uû╡MkÇ UU¡MkáΩUÄs╟9á·_Mk╟9X· ╒äB╒ ½ ╙£Mk⌡╜/
  15256. ╫╜Æö%- Y╬û╡zΩ½/╫╜Æö^zΦáÆö c^zxxIJE)xxxx├éⁿ\\E)é/-5%╟9E) /⌡╒ c╟9/-╡╡MkIJzΩó╦Z├_~°áå1U_·BA╒⌡»
  15257. ╙£MkU²¬U¡╧{╡»*█▐U¡¡¡ï╞ÑW^~°╙£╧{Zx°áQîMkU_·áäèR_·éÄsIJU¬áxMk╟9+¬_ä╟9¬ U╧{å1·WU╦b!¬ UèRAá·WIJA»⌡╒èR├ÇΩ]å1Aá·WUBé/┐╡╡ÆöIJ--╡╡╞╙£²½ Y╬û╡²√áÇY╬╫╜5╡┐¬Ü╓û╡xαé¬û╡Mkzx°αÄså1^z°αB├U_■¿╟9├⌡╜»*╟9E)╒ *╦Z╟9╡╡╜/Äs c        ⌐»Äs╦Zx└ÄsIJU ¬¿╧{IJ╒┐*
  15258. û╡Ñ⌡»
  15259.  
  15260. ╞U¡╡+
  15261. +]∩Y╬ìì-█▐û╡^~°xU¡QîáÇαxÆö╦ZÇá°_Qî╟9á·_U╦Z!αz_Uå1Aá UUE)A½ ⌡!éá■UU├Ç■__ATUUUAòU╒├`z{{AUUU╒å1--- äB----╞Æö----Ü╓╞óïδδY╬U¡á¿·~╫╜Ñ* U╫╜╙£pαΩ»ÑMk_~°áÄsB_·áMk╟9⌡┐¬MkBU ¬╧{èR╒╜»
  15262. ╧{MkU_^°╧{Mk---ÆöÄsW·U¡ä╒⌡/
  15263. û╡U¡╡╒╫╛╞û╡╡╡╡╡τY╬¡φ}Ü╓U¡xxzÆöèRáαxx╦Zéá°~^!á~WUéΩUUUA╡5¡U├A╡╡--E)éU_·á!__zαAUUUW├╒╒╡-å1A_ ¬å1╒ *╦Z!╡╜+
  15264. QîèR--
  15265. Y╬╙£--- Y╬U¡Çααxû╡QîáΦz^╙£╧{¬ UÑÄs
  15266. ¬ UU¡╧{ᬠU╙£ä^¿*╜Ñ╧{U·Ñ╧{U ¬ÑäU é╙£╧{W■¿ÇQî╧{╒ ·ΦÆöä%╡╡û╡╙£¡¡¡-╞û╡UW·¿Y╬╫╜╡5/ Ü╓û╡ααxxû╡ÆöÇ¿·^ÆöBxxxxE)xxxxUUUUUUUUUUUU├%╡òòBE)]²¡    B├ΩÇE)AW■¿Bé⌡╜/
  15267. cBU²½MkB╒┐*Qî╦Z╡» ╫╜ä╡¡+
  15268. Y╬U¡    ïóα╫╜╙£αx^^ÆöÄsαxZ^Äs╦Zá·_WMkèR
  15269.  ⌡ÄsèR¬ ⌡ä c
  15270. +/╜ÑQî+╜⌡╒U¡╙£*/ÑÑû╡U¡ ΓU¡╙£xαáÑQîW ¿ÑQî╒┐*╫╜Ñ╡╡- Ü╓╞_¬█▐Y╬¡
  15271. Ü╓û╡xxxxU¡QîxxxxäèRp`αα╟9AZxxx@UUUUUUUU@UUUUå1╡╡--╧{╟9⌡╜» ╧{IJU_·á cå1W ¬äB╒╜/
  15272. ÑÄsU²½U¡╧{U┐*╫╜Qî╡»
  15273. █▐û╡╡- ½τU¡zxxzÑ╧{α°x^╧{ cxx~^╦ZBΦΦΦ|èRB//»╒èRIJ(ûù+Äs╦Z-%%Qî╧{ ÑÆö---5╫╜U¡¡╡╡╡╞û╡UW·Ω╫╜U¡W■¬¿╫╜U¡╒┐¬*Y╬û╡╡/+ ┌╓Ü╓UUUU█▐Ü╓'%55█▐╫╜\xp`û╡Æö|xΦáÆö czxαα c!^^xΦå1UW■áå1U⌡┐*BAU ¬ä!⌡╜/
  15274. û╡Äs¡ ╞ÆöU¬╫╜äU¬û╡ä╡*╫╜U¡⌡¬¬■û╡╙£áz╫╜╙£¬ U╞ѽ⌡╒Y╬U¡`bδ∩╙£Mk°xxxMkå1á°~^IJ├Φ·_W╟9é*┐⌡╒èRE) %Äs╦Z-/+Æö╧{))/»╙£Æö555%╫╜Ñ====█▐╞U]k├╞╫╜UU ¿╞╫╜╒╡/
  15275. █▐╞⌡╡¡ █▐Ü╓UU╡/τÜ╓⌡╜½¬τÜ╓z`α╞Ñ°α°xÑäxxx^╧{IJxxxαIJå1__^°èRå1U╒╜ MkB⌡¡
  15276. ÆöMk-¡⌡╒ÑQîóπΘû╡QUû╡䬠_U¡䬠UÑ╧{¿ U╙£MkáΩ UQîèR¬ WÆö╦Z¬ ╒û╡╧{ ¡╡Ñ cxxxpèR!xxxx├Aα°°°éA??/╦╟9 ½ UMké
  15277. »²Uä╟9
  15278. /╡╙£ä /--╫╜U¡55--τY╬Θë⌐²Ü╓╞W¬¿█▐Y╬⌡- »█▐Ü╓┬αx Ü╓╫╜á·_Ü╓û╡Ω_UY╬U¡¬ U╫╜Ñxxxz╙£ä^^xαQîMkz·¬äèRW ¬Äs╦Z╡ Äs╦Z└α°_Äs c55╜╡Æö╧{éâδ²ä╦Z¬■W╧{IJ¬ _Mk╟9¬ UMk╟9¬U╦Z!¬ UBA¬■_èR!
  15279. »⌡╒äB
  15280. +╜╡ÑäzkìQî╟9_^^xå1éW_zΦéΓ`pxUUUUAòUUUIJ -╡╡╙£èR
  15281. --╫╜Ñ» U╞╙£¬ U╞╙£¬ U╞U¡+╜⌡Ü╓╫╜½ ²╫╜ÑÇ°z^U¡äá°^W╙£Äs¬ ╒U¡Qî -╡ÑÆö^\°áû╡ÆöU╒┐/U¡äzzxpÄsIJáαxx╦ZB¿■WU cB
  15282. ½²UÄsèRï²╒╦Zå1á°~^B!ÇΩ_å1├■WUå1Aá·^_é_UUA°WUU!/╡╡ò╦ZE)+-¡╜U¡Mk--55Y╬Mk^zαÇÆö╟9U_záIJ__~°AUUU\UUUUå155%-QîIJ----Ñä¬ΩrpQîMká■WQî c
  15283. »╒U¡╧{ -╡╫╜U¡½┐⌡û╡Qî°xxxä c°x^^Mk╦Z*┐┐╙£Äs-¡╡╡û╡Ñ_²¡╞U¡╡¡╦bU¡ä`α°^╧{èRxxαα╦ZB_~ΦαB╟9■^\XèRB%╡òIJå1\\XxE)├·■╛(!é■■°á├ZZXxUUUUUUUUé5╒UUå1A
  15284. +-╡Ñ╟9/---╞╦Zá°XÑ╟9ǬUQî╟9^°¬⌡ cA_·ÄsAU╒¬╧{é⌡┐¬U¡ c%- û╡Äsxxz~ cBÇαxx╦Z╟9*┐╡⌡Qî╦Z+--¡û╡Æö*+--╫╜äxxxpä c^^■°╧{ c╒╒┐+╙£╧{╡╡- Y╬╙£¡-/ ╞Ñ`pxxÆö cΦ°xxMk╟9á·~^IJå1¬ ╫èRBW∩¡èRB╒╒»
  15285. ╦Z╟9^·ααBE)W¬╟9├zxαα!z·¬├UU~αUUUUUUUU!5ò╒╒╫╜å1----╙£!≡xxxE)°^WU!/UUU cA ╜UUQî
  15286. »⌡╞Mk¬
  15287. »⌡Y╬╙£δαΩ}Æö c°ⁿ^V cå1xxxxBE)---ÄsèR--55╞ä¡¡- ╫╜╧{ᬻ⌡╙£╧{_·ááû╡äU╒»
  15288. ╞Æö⌡╜*Y╬û╡ëΓppû╡QîαΦxzäBα°x^BAÇ¿·^E)A(┐╒IJ! //-ä╦ZU⌡¡ë cå1°°xxå1Aá°^^!*⌡Uå1é¬ -╟9Azx`αAUUUWUUUU├òòò5Ñ╟9        äéxX\\UUUUUUUUUUUU!5╡òò cE)+╡╡╡QîèR --ä╦Z\\XXèR╟9`ᬬBå1╡╡╛ äèR55╡⌡╞Mk¬ U╧{IJ*┐╒UQîèR
  15289. ¡⌡û╡╧{
  15290. +╜⌡Ü╓U¡
  15291. -%Y╬U¡xxXX╙£ cααxx c├°x^^!^WUUAòUUU╟9A/-╡╡╧{╟9½²²╦Z!xxzzé\\\\UUUUE)-╡╒Uå1Aα¬╜⌡├W\xáéUU╒*IJA╒╡╜/╙£╦Z    ëï┬╦Zxx°°AUUUVUUUUUUUU├555╡èRE)---%ä╦Z555-QîèRxxαÇMkèRUU ¿╦ZBW^°áèRB/-+ cIJ¬ ~╟9!¬╒╦Z╟9/=╡╡Qî╦Z ---╞╙£----╞ÑxxxxÆö cxxxxIJéxxxxAUUUTUUUU!---¡B!
  15292. --B!`α└ÇE)W^^x@UUUUUUUUé5ò╒╒├AÇé+-E)é⌡╡┐+Äså1╡5--╙£Mkbb``èR!xΦááå1W^°áéUUW^UUUUAòUUU╟9A --%QîèR----U¡QîzΓéÑÄsW_·¿ä╦Z_■ΦáMk╦ZU¬MkIJ_^·ÇèRéUW\°IJ!----ä╦Z--==╫╜Æö----╞Ñxp`αÆöMkxxαα cE)xxαá╟9AW_·á├U⌡*!é╡╡?*B!-- cBu²»/╦Z!_~·αE)W^\xUUUUé╒╒ò╡E)é⌡╡╜+èR!⌡╜/ QîB%-/ ╙£Mkpppp╦ZB^~°áèRE)zz`α├V^\XUUUUAUUUò╟9--- QîèR----╫╜Ñ---Y╬ÑW_·áû╡QîW_Ωá╙£╧{U ¬ÇQîÄs_jÇ¿Mk╟9X· ╒äB╒ ½ ╙£Mk⌡╜/
  15293. ╫╜Æö%- Y╬û╡zΩ½/╫╜Æö^zΦáÆö c^zxxIJE)xxxx├éⁿ\\E)é/-5%╟9E) /⌡╒ c╟9/-╡╡MkIJzΩó╦Z├_~°áå1U_·BA╒╡»
  15294. èRE)╒ *äB╜¡+
  15295. ╫╜╧{╡¡/ U¡Äsxx°Φä cU_·α cBxhαÇèR├W^·¿å1U_¬èRAU⌡»*Æöå1⌡╡/ ÑÄs- ¿╫╜ä
  15296.  
  15297. ¬U╞Mk·Uû╡MkÇ UU¡MkáΩUÄs╟9á·_Bé/┐╡╡ÆöIJ--╡╡╞╙£²½ Y╬û╡²√áÇY╬╫╜5╡┐¬Ü╓û╡xαé¬û╡Mkzx°αÄså1^z°αB├U_■¿╟9├⌡╜»*╟9E)╒ *╦Z╟9╡╡╜/Äs c        ⌐»Äs╦Zx└ÄsIJU ¬¿╧{IJ╒┐*
  15298. Æö c⌡»U¡╧{╡»*█▐U¡¡¡ï╞ÑW^~°╙£╧{Zx°áQîMkU_·áäèR_·éÄsIJU¬áxMk╟9+¬_ä╟9¬ U╧{å1·WU╦b!¬ UèRAá·WIJA»⌡╒èR├ÇΩ]å1Aá·WUå1--- äB----╞Æö----Ü╓╞óïδδY╬U¡á¿·~╫╜Ñ* U╫╜╙£pαΩ»ÑMk_~°áÄsB_·áMk╟9⌡┐¬MkBU ¬╧{èR╒╜»
  15299. ╧{MkU_^°╧{Mk---ÆöÄsW·U¡╧{⌡╜+
  15300. û╡╙£╜+
  15301.  
  15302. ╞U¡╡+
  15303. +]∩Y╬ìì-█▐û╡^~°xU¡QîáÇαxÆö╦ZÇá°_Qî╟9á·_U╦Z!αz_Uå1Aá UUE)A½ ⌡!éá■UU├Ç■__ATUUUAòU╒├`z{{@UUUU╦Z!╡╜+
  15304. QîèR--
  15305. Y╬╙£--- Y╬U¡Çααxû╡QîáΦz^╙£╧{¬ UÑÄs
  15306. ¬ UU¡╧{ᬠU╙£ä^¿*╜Ñ╧{U·Ñ╧{U ¬ÑäU é╙£╧{W■¿ÇQî╧{╒ ·ΦÆöä%╡╡û╡╙£¡¡¡-û╡U¡╡╒╫╛╞û╡╡╡╡╡τY╬¡φ}Ü╓U¡xxzÆöèRáαxx╦Zéá°~^!á~WUéΩUUUA╡5¡U├A╡╡--E)éU_·á!__zαAUUUW├╒╒╡-å1A_ ¬å1AU▀¬Qî╦Z╡» ╫╜ä╡¡+
  15307. Y╬U¡    ïóα╫╜╙£αx^^ÆöÄsαxZ^Äs╦Zá·_WMkèR
  15308.  ⌡ÄsèR¬ ⌡ä c
  15309. +/╜ÑQî+╜⌡╒U¡╙£*/ÑÑû╡U¡ ΓU¡╙£xαáÑQîW ¿ÑQî╒┐*╫╜Ñ╡╡- ╞û╡UW■¿Y╬╫╜╡5/ Ü╓û╡ααxxû╡ÆöÇ¿·^ÆöBxxxxE)xxxxUUUUUUUUUUUU├%╡òòBE)]²¡    B├ΩÇE)AW■¿Bé⌡╜/
  15310. cBU²½MkB╒┐*╫╜Æö⌡┐
  15311. █▐û╡╡- ½τU¡zxxzÑ╧{α°x^╧{ cxx~^╦ZBΦΦΦ|èRB//»╒èRIJ(ûù+Äs╦Z-%%Qî╧{ ÑÆö---5╫╜U¡¡╡╡╡╞û╡UW·Ω╫╜U¡W■¬¿╫╜U¡╒┐¬*Y╬û╡╡/+ Ü╓╞_¬█▐Y╬¡
  15312. Ü╓û╡xxxxU¡QîxxxxäèRp`αα╟9AZxxx@UUUUUUUU@UUUUå1╡╡--╧{╟9⌡╜» ╧{IJU_·á cå1W ¬äB╒╜/
  15313. ÑÄsU²½U¡╧{U *╫╜╙£¬ U╞ѽ⌡╒Y╬U¡`bδ∩╙£Mk°xxxMkå1á°~^IJ├Φ·_W╟9é*┐⌡╒èRE) %Äs╦Z-/+Æö╧{))/»╙£Æö555%╫╜Ñ====█▐╞U]k├╞╫╜UU ¿╞╫╜╒╡/
  15314. █▐╞⌡╡¡ï█▐Ü╓UUUW█▐Ü╓'%55█▐╫╜\xp`û╡Æö|xΦáÆö czxαα c!^^xΦå1UW■áå1U⌡┐*BAU ¬ä!⌡╜/
  15315. û╡Äs¡ ╞ÆöU¬╫╜äU¬û╡ä╡*╫╜U¡⌡¬¬■û╡╙£ázQîèR¬ UÆö╦Z¬ ╒û╡╧{ ¡╡Ñ cxxxpèR!xxxx├Aα°°°éA??/╦╟9 ½ UMké
  15316. »²Uä╟9
  15317. /╡╙£ä /--╫╜U¡55--τY╬Θë⌐²Ü╓╞W¬¿█▐Y╬⌡- »█▐Ü╓┬αx █▐Ü╓UU╡/τÜ╓⌡╜½¬τÜ╓z`α╞Ñ°α°xÑäxxx^╧{IJxxxαIJå1__^°èRå1U╒╜ MkB⌡¡
  15318. ÆöMk-¡⌡╒ÑQîóπΘû╡QUû╡䬠_U¡䬠UÑ╧{¿ U╙£MkᬠUB鬠UèR!
  15319. »⌡╒äB
  15320. +╜╡ÑäzkìQî╟9_^^xå1éW_zΦéΓ`pxUUUUAòUUUIJ -╡╡╙£èR
  15321. --╫╜Ñ» U╞╙£¬ U╞╙£¬ U╞U¡+╜⌡Ü╓╫╜½ ²Ü╓╫╜á·_Ü╓û╡Ω_UY╬U¡¬ U╫╜Ñxxxz╙£ä^^xαQîMkz·¬äèRW ¬Äs╦Z╡ Äs╦Z└α°_Äs c55╜╡Æö╧{éâδ²ä╦Z¬■W╧{IJ¬ _Mk╟9¬ UMk╟9¬U╦Z!¬ UA°UUU!/╡╡ò╦ZE)+-¡╜U¡Mk--55Y╬Mk^zαÇÆö╟9U_záIJ__~°AUUU\UUUUå155%-QîIJ----Ñä¬ΩrpQîMká■WQî c
  15322. »╒U¡╧{ -╡╫╜U¡½┐⌡╫╜ÑÇ°z^U¡äá°^W╙£Äs¬ ╒U¡Qî -╡ÑÆö^\°áû╡ÆöU╒┐/U¡äzzxpÄsIJáαxx╦ZB¿■WU cB
  15323. ½²UÄsèRï²╒╦Zå1á°~^B!ÇΩ_å1├■WUå1Aá·^_é_UUUUUUé5╒UUå1A
  15324. +-╡Ñ╟9/---╞╦Zá°XÑ╟9ǬUQî╟9^°¬⌡ cA_·ÄsAU╒¬╧{é⌡┐¬U¡ c%- û╡Äsxxz~ cBÇαxx╦Z╟9*┐╡⌡Qî╦Z+--¡û╡Æö*+--û╡Qî°xxxä c°x^^Mk╦Z*┐┐╙£Äs-¡╡╡û╡Ñ_²¡╞U¡╡¡╦bU¡ä`α°^╧{èRxxαα╦ZB_~ΦαB╟9■^\XèRB%╡òIJå1\\XxE)├·■╛(!é■■°á├ZZXxUUUUUUUUUUUU!5ò╒╒╫╜å1----╙£!≡xxxE)°^WU!/UUU cA ╜UUQî
  15325. »⌡╞Mk¬
  15326. »⌡Y╬╙£δαΩ}Æö c°ⁿ^V cå1xxxxBE)---ÄsèR--55Y╬Qî╡╡-    ╞äzzxxä c^^■°╧{ c╒╒┐+╙£╧{╡╡- Y╬╙£¡-/ ╞Ñ`pxxÆö cΦ°xxMk╟9á·~^IJå1¬ ╫èRBW∩¡èRB╒╒»
  15327. ╦Z╟9^·ααBE)W¬╟9├zxαα!z·¬├UU~α@UUUUUUUU├òòò5Ñ╟9        äéxX\\UUUUUUUUUUUU!5╡òò cE)+╡╡╡QîèR --ä╦Z\\XXèR╟9`ᬬBå1╡╡╛ äèR55╡⌡╞Mk¬ U╫╜╧{ᬻ⌡╙£╧{_·ááû╡äU╒»
  15328. ╞Æö⌡╜*Y╬û╡ëΓppû╡QîαΦxzäBα°x^BAÇ¿·^E)A(┐╒IJ! //-ä╦ZU⌡¡ë cå1°°xxå1Aá°^^!*⌡Uå1é¬ -å1Azpαα!W^zΦéUU╒*IJA╒╡╜/╙£╦Z    ëï┬╦Zxx°°AUUUVUUUUUUUU├555╡èRE)---%ä╦Z555-QîèRxxαÇMkèRUU ¿╦ZBW^°áèRB/-+ cIJ¬ ~╧{IJ*┐╒UQîèR
  15329. ¡⌡û╡╧{
  15330. +╜⌡Ü╓U¡
  15331. -%Y╬U¡xxXX╙£ cααxx c├°x^^!^WUUAòUUU╟9A/-╡╡╧{╟9½²²╦Z!xxzzé\\\\UUUUE)-╡╒Uå1Aá¬╜⌡├AÇé+/!é╡╡/ Äså1╡5%-╙£Mkbb``èR!xΦááå1W^°áéUUUVUUUUAòUUU╟9 ---QîèR----U¡Qî{Γé╙£Mk_■¿á╧{╦Z_·áÇMk╦ZU¬MkIJ_^zα╟9!«≈╦Z╟9/=╡╡Qî╦Z ---╞╙£----╞ÑxxxxÆö cxxxxIJéxxxxAUUUVUUUU!---¡BE) /¡ÑB!`α└Ç!W^\xUUUUUUUUé5╒╒UÇÇ@@Mk├⌡╡/
  15332. ╫╜èRφΘδó╧{å1~ΩáBUW^¿äA╒╒╡/╫╜ c-- ¬╞╧{·ááUÆöèRΩÇα^Mk╖╛¿
  15333. û╡ c---+╞╧{xxαÇäé^z°°!╡**.╦ZE)¡--╡╦Z^xαÇ╟9UU╒*╫╜╧{╒»
  15334. τU¡Y{ΓΓU¡Mk^·Φx╧{!¬ÇΦ_MkA¬ UMkéá UUB(╫UUBα^WUÄsA/---Y╬╙£»        Y╬U¡ï
  15335. °^U¡IJ\xαÇMk!U╫║╧{å1╒⌡┐*╧{ ck┐?<ÆöèRU┐*Y╬U¡⌡╡┐*Ü╓╙£└α°xäAαxxx├xUUU├╡5ò╒╟9AW~¬╟9U╒┐* céU ¬Ñ╟9╡¡+
  15336. Y╬╙£ëâΓxU¡ cá°^_╙£èR¬ U╙£Mk¬+¡û╡äU«
  15337. U¡äU^°áU¡ä--/
  15338. █▐╞/**Ü╓Æöxxx°äéxxxα!UU╒(╧{AU╒╡/û╡IJU²éû╡╟9╒┐*û╡╧{╒+ÇY╬Æö-
  15339. ¬ Ü╓╧{°xxzMk!ááx^èR├
  15340. /5Qî c----û╡Æö----Y╬U¡_■°áY╬U¡╡/+
  15341. █▐╫╜*ΩW█▐U¡ppzu╙£╦ZxxΩ¿Äså1U≈*äèR%»╛┐ÑMk¬·_U¡IJ¬ UÆöå1¿■Wä├¬ ╒ÑIJ└┬ï-Mké^^^xE)/ WWMk/╡╒U¡╦Z
  15342.  
  15343.     τÑó¬ UÜ╓U¡+¡U¡MkÇαxXÑ c
  15344. /╡╡û╡ÆöW╛*Ñ╦Zxxxx╦Z╟9
  15345.  ^xMkå1αz{╟9├α^_E)xVWW├5ò╒UÆö!/-55Ü╓╟9^°¿■MkAUWx
  15346. c╒╒╡╙£èR    ëâÇQîB¬▀Wû╡ c --û╡Äs\\°δ╫╜Mk╒╡»
  15347. ╞╙£╦├`xQî!Φ°x^IJ├
  15348. /╡╧{Bu}{rBAΩÇ■W╟9AWΩ╦@UUUUÑA555%ÆöA\\VVIJ-UUUÑA-⌡⌡û╡╦Z≡p{}╦Zå1▄▄▐·û╡èR--²äå1
  15349. ┐⌡╒╞Mk
  15350. /--╞MkΦxxxIJX\\\å15òò╒MkE)b{}²├WWV\E)ë╡╒U!W■¬+Qîé% ïIJ\\xαAUUUVIJ--╡òÑ╦Zmφë    ÆöIJU·á cIJ¡²jÇ cé╡╢¿
  15351. û╡ c---+╞╧{xxαÇäé^z°°!╡**.╦ZE)¡--╡╦Z^xαÇ╟9UU╒*Mk├⌡╡/
  15352. ╫╜èRφΘδó╧{å1~ΩáBUW^¿äA╒╒╡/╫╜ c-- ¬╫╜╧{·áÇUÆöèR¬Çα^ÄsA/---Y╬╙£»        Y╬U¡ï
  15353. °^U¡IJ\xαÇMk!U╫║╧{å1╒⌡┐*╧{ ck┐?<ÆöèRU┐*û╡Mk╜+τU¡Y{ΓΓU¡Mk^·Φx╧{!¬ÇΦ_MkA¬ UMkéá UUB(╫UUBα^WUÑ╟9╡¡+
  15354. Y╬╙£ëâΓxU¡ cá°^_╙£èR¬ U╙£Mk¬+¡û╡äU«
  15355. U¡äU^°áU¡ä--/
  15356. ╞U¡╡╡/
  15357. Ü╓╙£└α°xäAαxxx├xUUU├╡5ò╒╟9AW~¬╟9U╒┐* céU ¬Y╬Æö-
  15358. ¬ Ü╓╧{°xxzMk!ááx^èR├
  15359. /5Qî c----û╡Æö----Y╬U¡_■°áY╬U¡╡/+
  15360. █▐╞/**Ü╓Æöxxx°äéxxxα!UU╒(╧{AU╒╡/û╡IJU²éû╡╟9╒┐*û╡╧{╒+Çä├¬ ╒ÑIJ└┬ï-Mké^^^xE)/ WWMk/╡╒U¡╦Z
  15361.  
  15362.     τÑó¬ UÜ╓U¡+¡█▐╫╜*ΩW█▐U¡ppzu╙£╦ZxxΩ¿Äså1U≈*äèR%»╛┐ÑMk¬·_U¡IJ¬ UÆöå1¿■W├5ò╒UÆö!/-55Ü╓╟9^°¿■MkAUWx
  15363. c╒╒╡╙£èR    ëâÇQîB¬▀Wû╡ c --U¡MkÇαxXÑ c
  15364. /╡╡û╡ÆöW╛*Ñ╦Zxxxx╦Z╟9
  15365.  ^xMkå1αz{╟9├α^_E)xVWWUUUUÑA555%ÆöA\\VVIJ-UUUÑA-⌡⌡û╡╦Z≡p{}╦Zå1▄▄▐·û╡èR--²û╡Äs\\°δ╫╜Mk╒╡»
  15366. ╞╙£╦├`xQî!Φ°x^IJ├
  15367. /╡╧{Bu}{rBAΩÇ■W╟9AWj╦!W■¬+Qîé% IJ\\xαAUUUWIJ--╡òÑ╦Zmφë    QîIJU·á cIJ¡²j└äå1
  15368. ┐⌡╒╞Mk
  15369. /--╞MkΦxxxIJX\\\å15òò╒MkE)b{}²!WWWVE)ë╡UU@@"@╫╜å1╡¡
  15370. QîA^záαÑ├% UÆöÇUû╡E)5/╫╜éxααÇ╦Z├╡╡┐ÆöéW^¬
  15371. Ü╓ÑÅk``ÄsA\T\\╙£AU⌡Ñû╡├U⌡»╞èRïé╩QîE)¿■╫U¡Mk¬ --╞äò╛*Ü╓ÄsÇ¿■Wû╡B^·Ωα╙£B »uUQîéΩWUÆö
  15372. /5╡U¡éWW\°╙£é %%Ü╓èR*»╡╫╜B╛*/5û╡ααxx c¬ïìÑ╟9x»╒W╧{5- c╘VW^Ñé¡¡-╙£B55╫■û╡E)5/╫╜éxααÇ╦Z├╡╡┐ÆöéW^¬
  15373. ╫╜å1╡¡
  15374. QîA^záαÑ├% UÆöÇU╞èRïé╩QîE)¿■╫U¡Mk¬ --╞äò╛*Ü╓ÑÅk``ÄsA\T\\╙£AU⌡Ñû╡├U⌡»Æö
  15375. /5╡U¡éWW\°╙£é %%Ü╓èR*»╡Ü╓ÄsÇ¿■Wû╡B^·Ωα╙£B »uUQîéΩWU╧{A5% c╘VW^Ñé¡¡-╙£å177 ·╫╜B╛*/5û╡ααxx c¬ïìÑ╟9Ax»╒U  2@╞é{ΓppÑ├üW╒)û╡BIüπPÑé}»╞!α¬╩kÄsAz{YäAr╔}y╫╜E)    ╣¢∙û╡BIüπPÑé}»╞é{ΓppÑ├üW╒)äAr╔}y╞!    ╣╗∙╞!α¬╩kÄsAz{Yé@U¡E)■╘°ZÆöé≥/ºÆöé≥/ºU¡E)■╘°Zíä╟9ÄöΦI└äå1¬Jöë▀äå1¬*JRÆ*
  15376. 
  15377. ?"╨╞▒[óR`≥@"╙╙    "@"@"@"@9@ UUUUUUUUUUUUUUUUUUUUUUUU╩ZU╒5+c!UUVTç Ch¬¬δbU⌡/╔ZUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUS╡UUU╒|▀D1⌡¡//HR!TVUUî@fss[Yèsª╡╡55εâ ^x`└UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU k 55-)╜ä(
  15378. èΩjD]]╜=█╔D^\\^Jsd5òòò7╗GBjjjâE1WV\XUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUà9Uò╡%\πÑ955ìÜ╙`hxx~╩Ç@ ΘG(WW^\(1ƒ___√ΦI¡Ü`_~ⁿ°e1UUUUUUUUUUUUUUUUUUUUUUUUaÇKj`Ñ-++£┌pü⌡U}éΩQ pppX;╔!òò59╣"x~■╚σ __\X_·%)¡╡╡%·δP^^~└$)\XphUUUUUUUUUUUUUUUUUUUUUUUUπ ╡5-    Ωµ85¡² ≥≡ÇÇ·]Uτ9XX\^·#%╡⌡╒▀±*HHnúX^W_▀·é-╡╒╒ôÉ▀·U¬≈░éVT^zéUW\XUUUUUUUUUUUUUUUUUUUUÿ╣├Uò╡≥╘ÿ²¬U╜ΩE1zαΦ■ª1VVTT/q -¡²╝┘ê8@Bkuú^^XX╢▓ ╡5╡⌡ ≥æx·á·_▄╤8z└Ω ├pppzUUUUUUUUUUUUUUUUaU╒ò▀∙C⌡╡%у·òÿU+┐X┬ΦA~xpzπWUUUiaU⌡--ëf0mm┬è$)_^XXE)%55 ·╤x_ééy▄╤0pUá X▒AUVTVUUUUUUUUUUUUUUUUé╡╡%·└A¡¡¡    ▄╤0x U»·ç _^p╟ UUW\Åpá¡¡--öÿ`% 'à9^^^^ñ╡φπ{╔0Θ²ëw⌐,XUU·≈¿b__^XéUUWTUUUUUUUUUUUUó---5ÖF0²≈■ínháUUU╤kH`kδ∩JQ@^zjh▓ê┬¡≈¿N`╡Çá┐e1X╪ÿÿÿ░úUU¡⌡ÿ0pxUUWÉx XÉxCp{_^éT^^^UUUUUUUUUUUUé-=╜╡╣┴d■¿·²Që╩H+U╣┴îX²²Äüα|   ;╚¡¡¡¡ôÉ2Çò╡.*B ▐▐■°~Θ┼(Ñ╡{╔*@á°__2ëjHΦ
  15379. UUëΩ`z_AXZ_WUUUUUUUUUUUUú╒UUU1 /-Ñ╡▓æσ( ·¡▓æì`² 
  15380. e1y┴    %y╣└⌐»»·╔Nh ╩⌡╒)Jπ ▄╓┐┐╝╤µ0╡⌡½á╩M`UU ¬╙Éc zVTb■~TUUUUUUUUUUUUUUUUUó5ò╒oü├    ¡¡¡nq╚Hα~~·vá9jzj`7▒D!¡¡¡öíM`⌡╖¬+a#7777Önh°ZZá±ÇÄh
  15381. UUá»pATVVTUUUUUUUUUUUUUUUUUUUUUUUUUUUUδa` »¡╡lq9á~WU°╕Ñ(└ΩΩ¡Ææà1ìë    ¡╧p¼iαα UiIb,ññäY┴╦Xα▀_W2ëF1jWU╟9_^\WUUUUUUUUUUUUUUUUUUUUUUUUUUUUé@f1 ⌡UU╩A¬¿╡U k »òUU(J└UUh9mU╔I 
  15382. ZUUúpUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@@I@UUUUUUUUUUUUb:╫ïsfUòò¡{UUV\UUUUUUUUUUUUUUUU╫╦@╒ò╡5y╠RZ\▐⌡ídû╘WV╕╦Zzr≥UUUUUUUUUUUU$)UU╒ò{┌`¡»δV▓!╓╓╫:┴"V^X^?≥ñ(kΘ²ΩP WV^\UUUUUUUU╕┴A╒╒╒▄┘ΩY┬Φj` Y 7û╒5┌╔!X__z≥bëφÑà9▒b\ZXPUUUUUUUU≈░Aò╡σ|╤KH@∩≈░xaòò7>öÿüRRPP╖áAÑÑú╡ÿC`nzAUUWVUUUU╕╣ à⌡╒U∙┴╔@*╒≈⌐╔%1òò╘<╚$!ZZZ[■ΘG0π}²¿ü!@^WAVUUUUUUU!ò╒UUKYíâââΘòáå9₧ÿÿ╙2ë!╥╨┌Ü│É&1¿¿ΦVñ VTTWUUUUUUUUUUUUΣ╒UUUΦAÿUUUIRÿUUUf1\UUUUUUUUUUU  ┘@UUUU ╓╝ (·╙CU]oEUUUU─ UUò9┬éy╙PP┌Aτ&6Y╣ UUVTy╒òU2ë`╨▓▓é▀αíû÷µª«`\^\WUUUU-a UUöÖ ¼εUU!VUUU ┌╥ UòuE⌠í!U_QS.q ┼5UtÖ{SZU╢⌐UIiU6╘íUòIöMW┬UUòÑôö*?"@5beóAÉA    "@"@"@"@¢@ UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU╒╡U    ÷╜ UUΦ╡╡UUW«sUUU`UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU╡╡P`Ç⌡╜ª9    ╕▐╒╡ ½ Uÿ╬╒╡╫p ╒7╞╡╡U^Ω÷╜≤£W¬
  15383. ╡╡¡sj╟9╡╡¬UUU╡╡ëJ_╡╡Wαt¡UUVXUUUUUUUUUUUUUUUUUUUUUUUU╛%╒UU╛╒U⌡╡ ¬U╒╡U÷╜/ä÷╜╡╡╒φzZ⌡╜ò╡╓x├ ╕╬Äsè₧¬¬⌡╜u¡■■°ò¡p`└╟ZUU^hUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU╒╡%╒U╡╡     ù╬╒╡UUUx÷╜╡╡pï÷╫╡╡èRÉ₧≈í)¬¬¬ΩfR┼9xxX_Ñ9VPÇφâUUUWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUö¡%%%╒╡ò╡╛ ┐x╒╡ò╡╫7%╡╡FJ`ppPåR┼9╫rà╒ªZ┼9UU╒\┼9`@PXUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU/ä╡UUU┤¡ë]ε{£∩¬¬¬¿╡╡!≡≡ppBE)¬á ¿åRe1╦ù╒┼9TVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUo¡UUU╒ö╡ Å t¡─9p|u]FJà1═W ºZD)~sτUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUB%    BE)j*¬¿╞Ze1∞   B┼9W╓╖⌡τZ┼9ò╖Em╞9VVTXUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUσAòB┼9{ò╫WBÑ9  ⁿßσ9┼9»┐}╞Z┼9QYTV┼9XP``UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUσ9òUBE)*¬*⌐ªRe1>┼╧σ9Ñ9╛╛║:σA@ÇÇUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU/Ñ⌡╒UU░╜   ²B┼9╒╘POσA┼9°┌√ ┼9VTT`UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU┼9P@o╡   ²&J┼9UV[o┼9D)`┼9UVXPUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUÑ⌡╒UU┼9! )σAÑ1║╖Γ╛Ñ1PPXTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU┼9    UUU⌐RUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@@½@╒╡UUUüIJUUU\UUUUUUUUUUUUUUUUUUUUUUUU┤¡òU ÷╜UUUá╣╓|ᬬÑ╒╡0ä^╡╡a~ò╡UWTxUUUUUUUUUUUUA⌡UUU╛5UUU╡╡UU@@÷╜SÑ°J:*╡╡BPP\T┼9WP@@UUUUUUUUUUUUUUUU╬{╒UUUö¡%╡7╞σ9TTVU┼9PPXPUUUUUUUUUUUUUUUUAU╒UUσ9    σAÑ1á2+xºZRzhjUUUUUUUUUUUUUUUUUUUU äǺZ*¬⌐Ñσ9π B╚ZUUUUUUUUUUUUUUUUUUUUGJòUUU┼9%/Ñ__UUUUUUUUUUUUUUUUUUUUUUUUUUUUA_UUU  ;@6╞UU%÷╜UUÇö¡UU^p UUUWa ÷╜╒UU┤╡└αΓ∙&BWVTVUUUU ÇB 
  15384. éçRTVZZUUUUUUUUUUUU╦{*(j :▀UüòUs¡UVX^UUUUµAXAEUüNîUEuUÿU╬UUeV»U╬UUUòë*
  15385.  
  15386.  
  15387. ?"
  15388. ê\ó>¼A    "@"@"@"@(@ úóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUU├qîá¿¿¿iJB╫¬jR(B *≈x╬├___úóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUU║≈ú² δ  cIJ╜x■ cIJ_-U4╓f)π⌡úóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUU▀ ├╒⌡²  cτ9Çαx jR╞1ΦW¬áIJª1 UX╩(Bå1%╫⌡╦Z├VZB úóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUU▀ ├UUU╒▐≈├╒⌡² MkIJ`X╘W∩{jR⌡½¬ mkª1zΦááIJå1⌐¿(*mkBU}∩ï╦Z!/╛·Ω0ä├VZj½√▐├UUUWúóUUUUúóUUUUúóUUUUúóUUUUúóUUUU≈╜├U²  ò▐╩Zò5UU«sIJΦ~_èRe)┬j"äiJ        +/¥τA■¬░|mk╟9_■°-«s╟9╩┴'Mkª1╣²·αìså1)%Ñ╡ò▐¬ZV\UU¬R├U@@HúóUUUUúóUUUUúóUUUUúóUUUU├╧{¬¬¿¿,cIJ╔╔╔╦Z(BpPPP╦ZIJ╜╜¡    qî╦Z55ò╒½ZπPXX`iJπ%55)mkå16ùMkIJppxz╦Z$!'777 cIJp`bbèR├HHhhúóUUUUúóUUUUúóUUUUúóUUUUu¡├²²²²╬{º1»»»/δZBpp`└╦Zå1¬z╩ cª1 Çâ«sº9αó W∩{ª1½╠{╒«se)╡ÑΘα¬RE)ÇΩφπ╦Zπ''ìs╟9Ω··°jR├HHH@úóUUUUúóUUUUúóUUUUúóUUUUMk├⌐íU╓ε─?┐ ╒pöjJ|■ ⌡ cBY∙┐⌠,cèRâαzUδZF1°¬¬j0äf1/ äiJ≡ααp(Bπé@hÜLkE)-)+·╬Σ°° Umk├jBUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUmk├%òUUδZ!░└    èRå1¬²vPiJe)Ω¬/╜ìk!«·ÄsE)Φ~_5Äk├ ╖⌐é`╦Z├XVUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUÄs├ÑòUU╒µjRUU}╔ cå1W½»Mkf1╡
  15389. ╒µÄsUU}aÄs├XTUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUU≥¼$!è²²²,cIJ»UU,cIJ·UUs╜ΣδúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUmk├íÑÑU├IJUUU├∩{¬¬¬½Z├BPPUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUU@@*@úóUUUUúóUUUUúóUUUUΣ ó    ├ú¬¬¬¬úóUUUUúóUUUUúóUUUUúóUUUUúóUUUU$)é   ε{B⌐½½á≥ñ%!oÅ$)é   ²úóUUUUúóUUUUúóUUUUΣ ó   ▀δZúò%    éìsBZ≈k└ [º9⌡W²/╦Z├WZkÄΣ ó   τúóUUUUΣ ó    0î$!%╛┐╜ cBP■÷╢4Ñ!½╩{{╧{π»:¡╜ c$!:ÿ/ä!X~~~úóUUUUúóUUUU c├))!╡ms(B÷^X·ÄsBÄ[z0ä$)ÜτéâÄs!₧ƒ┐ºpöΣ~~l]úóUUUUúóUUUU├ú謬¬ä├φ╡╒UÆ╜BUUU≤≥ñ╟9}╒»╬sú{\WU├úᬬ¬úóUUUUúóUUUUúóUUUU├ú¬*¬¬╦Zπ½íU╦Zπ└ΩJU├ú¬¿¬¬úóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUUúóUUUU  «*@úóUUUUìs├UU╡Ñ├èR    úóUUUUlk├UU5╡∩{$!σ⌐.n c!_√óëLk├UUTV(B├5UU«{⬿∙à≤ñ├ ÜRIJ├\TUUúóUUUUiJ├%UUU(B├XWUUúóUUUU▌* mk├Uòò-IJ├UTVp├╒╜áÇ╓╜├^VUU⌠*B  π├  +τA├Ua"+B├UUà*
  15390. ?"¼ê∙╣ó░ìA    "@"@"@"@i3@ UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUα─@α─UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUα─@α─PTUUß─α─UUUUα─UUα─UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUα─@α─PTUUß─α─UUUUß─α─UUUUß─α─UUUUα─UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUα─@α─PTUUß─α─UUUUß─α─UUUUß─α─UUUUα─UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUα─@α─PTUUß─α─UUUUß─α─UUUUß─α─UUUUα─UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUα─@α─PTUUα─α╝¬¬¬¬α─α╝¬¬¬
  15391. ═α╝   Ωα─UUα─Uα─UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUα─@α─UT═UUPT`σ┼U ½`σ ═U ¬`▌┼uε¬═UUα─UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU!■@P ■α╘²¬*Ç■ÇφU ¬@■ÇφU■¿ÇσUUα─UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUΩ @ª PTUUá■τ ÇUUUδ Γ UΩ¬├ Ç`XVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUd @PTT┴■τ UUUµ á■¿UC Ç`P@UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU└φUU ■UUTT@■■¬ε@■■└δWA■UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU■TUUU■α²á║ α²UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU└⌡@@@Pα²└⌡ó■ùα²UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU└φPPPTáσUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUÇσTT ╒UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@▌@@▌UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@@y5@UUUUUUUUUUUUUUUU ═@P┼U@1UUUUUUUUUUUUUUUU@╒@P┼TUUU`α─UU α─UUUUUUUUUUUU`╒@P┼TUUU 1α─UUU@╒ TUU\UUUUUUUUUUUUUUUU═ %UUáσUTUU@áσUUU ═pTUUUUUUUUUUUUUU@UUUòÑ `    `9Ñ UUòc XVUUUUUUUUUUUUUUUUUU  ÷5■@Ç`┴╝WTUUUUUUUUUUUUUUUUUU Ç└⌡C ■XVUUUUUUUUUUUUUUUUUUUUUU└¢UU╒Uα⌡STUUUUUUUUUUUUUUUUUUUUUU      6@UUUU┼UUUò┼UI└£UUWUUUUUá■@╡¡¡═ pX@PUUUU`U╒UU├÷Çü ┴!▐VUWUUUUU Ç ▌cSTUUUUUUUUU86 α╠@@ ═âε55uU YUUUO6AñU}QUf6AñU╒}}6 ¼UU╒⌡û&$╙%╙#╙'*    ?"+╞5ó╪░≤@    "@"@"@"@α>@ UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU¬ñ@UH═¬U╦╒UU¬╓UUVxUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU╜τUUUòXτóσ∙Γ°° ú9 ╒5½╪ ½ñ¡πx{┘ £*-⌡╖ πrxÇ¿¬≈  W~¬Ç╣∩UUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUyτBÑ═ë√╬σ»^°∙ µ9┐5  █ 6╛m `_t╓(:è≡X║≈)k ?5    √ äïzxα8τü[eW°UUUUUUUUUUUUUUUUUUUUUUUUUUUU▌ @@@█ I:Çp|╫úÇ^UUp¡π*⌡² T╞FJ°╜U¬ì╜φR½Z½u≈Câ ╡»¬█ óô¬~^ÿ≈ªZháú· UVTTUUUUUUUUUUUUUUUUUUUUUUUUû àT≈k~è+P╓CZ╒°^^┼CZδ}Ug÷b9¬ UUe¼ ·_U&£@┐╒UΦ┤J`bë∙╬!5╒δ·╖ !PPZ[UUUUUUUUUUUUUUUUUUUUUUUUφ╒àààÑ╡ σôëï½{is@¿ⁿTXπrü¬éë¡┬A@Ç\Vx!1@xâ╒U"R UU╒/Fñ)ëisròÑ Å%òò(öRPRTUUUUUUUUUUUUUUUUUUUUUUUUJöòUT≈τïi⌐ÿ≈└ Zxα¿ε÷A1UU *ù≈!RU²δá° !U é▌ R╒½S $s_^Φ\û╬!ò?≈Θ¼UUUUUUUUUUUUUUUUUUUUUUUUUUUU║≈ÑÖ∩¬R°Φû▄╢ d)
  15392. ¬╒ⁿ  ▐@ⁿ è═5┐² ∞╒≡`└@≤ε$!pΦ^■S¥ïNSPUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU▓µÇ╖╬%ò╘╡f)7
  15393. °xⁿ íjα½²w≈ Z¬║▀· .¡oU≥╜ááRVq¡UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU¡£TΘâ°ÇUU¬ñ UUò jUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@@≡@@UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU UUUuöUUU+¼÷UUUz UUUWUUUUUUUUUUUU Çw╞òà▒├÷µ└/â 5∩τb└â:a│▐)%UUUUUUUUUUUU √ @@W∩ÇÇ\ΩΓj£c1â⌐_/╓`*
  15394. ║Uû≈α(Ç«▐δ∙  UUTVUUUUUUUU╬═@@ò α(rzKé░µα(_]⌡èÖ≈ÇUU┐P╓üƒ╓₧╕hñTWWUUUUUUUUU ╒UUU8τ!â┴%╒╣≈#) ╢√ CâèÇ≈T╬°NXW UUUUUUUUUUUU ¡Éì┼ RUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU  ÇA@UUUU)UUU⌡üUUUtUUUUoîUUU╒╫ d)╜5▄■R╓ p`∩ äUUUWåR╒UUUW≈┴v▓;Ñ╡▐⌡á≡r`TUUUUUUUÑ1╒UUUåZWUUUUUUU»A ≈ UUò┼ô▐UUTR2╓ ┼UU╡╓ZTUU╞A5∩((▌A░╜Uòiû⌠A╖ Çá*?"ΘJ'┴óYΘ≤@    "@"@"@"@;J@ UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUokUUU╒ [UUU e)UUU*ÅkUUUWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUE!UUÑe)í¬
  15395. ╠Rπ U  à1!UÇ░·à1!U`αΩà1!╒T å1Tj*áº1UUURUUUUUUUUUUUUUUUUUUUUUUUUUUUUe)UòÑe)ó■▀K"à1┬Çé %ª9D)▀-¡ºª9e1]└{εà1D)ΓZ·░ª9D)¬¡¬Ñ9e1k{¡²τ9!╡╓~?╧sUWW_UUUUUUUUUUUUUUUUUUUU╧sUU╒╒e)⌐(
  15396. e1!∙÷pÇD)π RΩ
  15397. e1!
  15398. "ë╡_åå1U╒¡ó£tà1UT_Tå9à1» }uà1éÇÇ`$)ü╨4e)!B
  15399. "ÇRäUUWWUUUUUUUUUUUUUUUUå)àààíà1Σ    ¬¬¬à1E)áóττà1$)╓~»èe1π V╛¬▀ee)íí¡⌐xL!pÇ]$)UUαJ:┬ ▌≈ⁿà1$)╛-½Ωe1E)jz▐Wº1PXZBUUUUUUUUUUUUUUUUe)!!(à1E)╗ΩΩ e1E)╛¬¬¬╒ke)UQ5┴┌Tà1U╒â┌Tq3áᬪ┌t5D]╒ò}e
  15400. 2*óù¼√TE)VXPpD1E) }Ue)$)«Ω¬z╟9jJ
  15401. UUUUUUUUUUUUUUUUº1ü¼llle1a
  15402.  UUª9鬠UU$!b■╒╒ÿTú}U╒╡3á¿6<2#*┐╒U÷;ú'WT▄╒KóTrTUπ éÇ⌡uh├alvwtò|a⌡⌡⌡⌡UUUUUUUUUUUUUUUUº1ühhhα)aU]zBóA╗½╧G#)b▀≤co╢3ó%%2#éÇ`PPDé%╒Uö#aPp@@íb▀ooX)B`~UUóBⁿ╛?UΦ9é    UUUUUUUUUUUUUUUU    :ßíààñ9bbΓ╦müB▄╘UUé"Å╫U╒{$âò╡¡½ò+éTXPXéa»√┌▐û+cB┴Bóé#Pⁿ_WC!■ⁿⁿ÷B" ╗┐┐    :!IaBRUUUUUUUUUUUUUUUU[ÑòòU╧sBWW_~C" ∩?┐*#U╒≤#ÇPW_!A\[qaF aòà$"WVTVB┐»  JB"Uòò%;╢_WWUUUUUUUUUUUUUUUUUUUUUïJaëJJ"UUVXd"5╡⌡U    !CrrkiΓ#┼┼╒╒F aàà┴ßïCÑ}}]C°       :!UUò%[!⌐kRTUUUUUUUUUUUUUUUUUUUUUUUUUUUU░k·ΘòU½J"UW~αH)Dmmeti0E╒²▒!G(CqrxXª!rrPP¼J!Uò-
  15403. ¼J)BPUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU¼JPt ¬UUS"_ΩüUφR!⌡+@UφR¬UUx¥
  15404. UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU@@KL@UUUUUUUUUUUU!UUUφ!UUU{UUUUUUUUUUUUUUUUUUU╒e1╒¡"ª9!UΦ¬½à1!Uêå1WR  E)UUUWUUUUUUUU╟9⌡5í⌐e1!o╝└"▀me)U5╡ò┐ee1UW^èe1ó`ÿ.å1^XH@UUUUUUUUº9a¡¿╕X[`∩?Uƒ]E!à»₧σwLσ ╥z ]!WTWUΦ9Aj*UUUUτ9@X°⌐æ┬BÅ    WU≈3éΘAmK╫3AA┼σàΓ "╧^WU    :A5eEUUUUUUUU╠R }┼ò╒εR"╒UUVc\UWU╕dÑUUê)!WVU    :}Q\VUUUUUUUUUUUUφR{┼UUN[DUWΦU[CUU U.[φRWUUUUUUUUUUUUUUUUUUUUU WUUUUUUUUUUUUUUU  █L@UUUUª9UUÑ"ª1UUzUUUUª1╒ò5┼~U$)╒╒⌡Dü ▄≡\å1VVXSIB┼╒UM"B-%uw≤"B[QQ╒*BSUVWUUUUîJqUUU/[UUUU
  15405. M .KU╒╡=pKUW^|M*⌡UUë!d^WU!Mç1UA}U8MIBUòi╓OM▓îUU╒⌡Éë"ÿï┌ó╬]
  15406. A╙    "Ç"Ç"Ç"Ç₧ì@Ç■êÉ$IÆ$w╞öâY╜--■çÉ$IÆ$;▀WIU½■çÉ$IÆ$√▐XQU¬Ç■êÉ$IÆ$y╬YQU¬■çÉ$IÆ$║╓XQU¬■êÉ$IÆ$y▀ûQU·¿¿ê■╔╕╬AU¬
  15407. ê■y║╓É(U¬àì ƒ$╣╓Å(U¬ç■ √▐É(U¬ê■∙·▐╥0U¬■çÉ$IÆ$║╓╓8⌡¬■êÉ$IÆ$║╓┌r⌡¬Ç■êÉ$IÆ$v╞£╒»+/■êÉ$IÆ$╕╞ÿa_¬*
  15408. ■êÉ$IÆ$√▐WAU¬■çÉ$IÆ$·▐UIUΩÇÇ■êÉ)Éy╬╙0U¬ ²6Γ╪╢m█≈╜╙0U¬■²      7╞╒8U¬■²IÇ√▐╫QU½■²Ç√▐╪YU¬■ ∙╬òQW·áá ²61`╒ï╤8¬XXX ■@ ╨8╙0 ¬¬ ²╢A1UU ²Ä╪ùQ0A⌡UU ■I$┘a/9 UU ²╢ÖY.9UUU ²ÄmXI╦  UU ■IAè  UU ²╢8  ╒8ê*%%àä 8╞▓ö--¡╡àä@ █▐╞ ¡⌡àäÇ√▐°╜áΦz_àä@@Y╬û╡*┐╒àåÜ╓╫╜éδUàäÉ9╞╙£á¿·_àå8╞ôö
  15409.  
  15410. /╡àå║╓÷╜
  15411. ½⌡àä@Ü╓╞
  15412. /╡àäÇ<τ√▐¡¡¡¡àäτ█▐U ΩΩàä █▐Ü╓■·j~àä@Ç║╓x╬ÇÇΦ^àåy╬╡╡αΦ°^àä 9╞u¡*+/╡àåτY╬ ½¡àäÇ√▐╖╡αα`x■à)É)Éy╬÷╜ÇΓ{■²8╞u╡á¿■W■²     y╬╢╡+/┐╡■²ÇA√µY╞ /■²τÜ╓αΓΩ~■²Ü╓û╡xxx^ ²╢ßÄau¡AXXXX ■@ÉA╨8UѬ¬ ■A/9 ■¬¬ ■ÇPA/9╡»¬Ç  /A9Ω■~~  9╠0°°~^  ╠(è hhjj  ¬(ë  ²└ └⌡8ë %%%%àä@ÑQî-╜⌡╒àå≈╜≤£½⌡Uàå≈╜4ÑÇ·_UàäI u¡≤£■__àäU¡QîÇΩ_Wàäôö«sá·_Wàä╙£«s
  15413. »⌡╒àäA╢╡pä½╜⌡àä@x╬tÑ
  15414. +--àä@<τ║╓))-¡àä Ç<▀║▐áá°zàä@√▐7╛áαhzàä╞ÑÇΦ·_àä@    ╢╡qîáΦ~Wàä@╢╡Qî
  15415. /┐╡àå║╓v¡
  15416. ½¡àäy╓4ÑαΦzz■à)É)É÷╜▓öǬ·_■²@ 4¡Qî¬▀U■²Ç╢╡Æö
  15417. /╡╒■²ÇÆ$z╬╢╡ +¡╡■²@ÇAÇ Ü╓╫╜Çαz■²    8╞╙£Φx~^ ²6`█6αröAPPPP ■ RI0A_▀«
  15418.  ■@ rQPAU  ¬ ■QIpA ■·· ■A.1ΩΩΩΩ  ═0ï(αxx\  ï(¬ ¿¬¬¬  ¬(ë  ² └  ⌡8ë %%%%àäÇÆöQî----àäÇé ╙£Æö++++àäÑ╙£½½½½àäHUÑ╙£^^^^àäÇÆöäxxxxàä ╧{ÄsxxxxàäÄsMk
  15419. *¬¬àä$▒ö╧{-╡⌡⌡àä ≈╜pî ---àäÇ█▐Y╬----àä█▐Ü╓α└└xàäÇy╬t¡α`xxàäÉtÑqîΦx~^àäQîäⁿ ╫╒àå╙£qî---%àä ╞U¡àå8╞╙ñxxxx■à)É)ÉÆöäp^VW■²É Qîä/?╖╡■²Ç $╙£qî/---■²É8╞4¡----■²é 8╞╖╡αα`z■²AA v¡Æöxxxx ²╢m`RîÆIPPPP  ôQRA┐/
  15420.  ■@ ┤YæI   · ■Ç$é$ÆQpAzzxx ■A═0α`xx  o9ï(k╦Å  è(è ····  ¬(ë  ²   └⌡8ë %%%%àåÆöQî----àäÉ╙£Æö++++àåÑ╙£½½½½àäUÑ╙£^^^^àä Æöäxxxxàä@╧{ÄsxxxxàäÄsMk****àääÄs----àä @û╡ä----àäÇ√▐8╞    --¡àäÇ║▐y╞α°xxàä╞ÑxxxxàäÆöäxxxxàäÇ@îä╒╒╒╒àå≤£ä----àäA╫╜Ñ             àä ≈╜≤£xxxx■à)É)ÉQîäTTTT■²ÉQîä╡╡╡5■²É ≤£Qî----■²Ç≈╜4Ñ)---■²@╞û╡jjzz■²$u¡Æöxxxx ²1`α╪2îôQPPPP ■╘YÆQ⌐⌐¬ ■@ ╘Y▓Q■■ΩΦ ■@ ▓Q9ΦΦxx  /9î0xx^_  »Iî(╡5ò╒  NAè UWVT  ⌐ ë      ■  ⌡8ë %%%%àäÆöQî----àä ╙£Æö++++àäÑ╙£½½½½àäUÑ╙£^^^^àä@ÆöäxxxxàäH╧{ÄsxxxxàäÇÄsMk****àääÄs╜╜╜╜àä$u¡ä----àä║╓≈╜             àäÜ╓╞αααjàä A8╞3ÑxxxxàäÆöäxxxxàäÇ@îä╒╒╒╒àä$▓£qî5555àå╫╜Ñ                àä    ≈╜≤£xxxx■à)É)ÉQîäTTTT■² Qîä55╡5■²@≤£Qî555╡■²@≈╜4Ñ----■²É$≈╜û¡Çααα■²Hé5ÑÆöxxxx ²`1`Rî╘YPPPP ■Hb╘Y  ⁿ└ ■AÇ ⌠a│Qzzzz ■ÇqI╬0xxx\  ═0¼(°°ⁿ■  ¼(ï(      NAè \ZSs  ⌐ ë      ²   └⌠8ê%%%%àä ÇÆöQî----àä@Ç╙£Æö++++àåÑ╙£½½½½àäUÑ╙£^^^^àä@Æöäxxxxàä╧{ÄsxxxxàäÇÄsMk****àäÇäÄs╜╜╜╜àä@ t¡0ä----àäÇ Y╬╫╜            àäÇy╬8╞αppxàäÇ ≈╜3ÑxxxxàäÆöäxxxxàäîä╒╒╒╒àå▓£qî5555àä@╫╜Ñàä≈╜ôöxxxx■å)É)É╖QîäTTTT■╕É$Qîä╡╡╡╡■╣É$≤£Qî╡555■╕É$≈╜╘£----■╣É$≈╜û¡αααα■╣É$4¡Æöxxxx╣■╔ƒΣIRî5bPPPP╣■╧ $j5b    ╣■∙  ⌠a▓Q~ZZz╣■ ƒ ∙pA╬0\\\^ ╣É$φ0¼(^^^_╣║    ƒ ¼(ï(     ╣É$ÅAè(yIM═ ╣É$⌐ h ΩΩjj╗■ ≤?  ┤0ê%%%%àäÆöQî----àä    Ç ╙£Æö++++àäÇÑ╙£½½½½àäéUÑ╙£^^^^àä    ÇÆöäxxxxàä╧{ÄsxxxxàäÄsMk****àääÄs╜╜╜╜àäÑä----àäIy╬÷╜    -¡¡àäÇÇY╬╫╜ΦΦz^àä@÷╜╙£xxxxàäÆöäxxxxàä@îä╒╒╒╒àäôöPä++++àä@╫╜Ñàä ╢╜≤£xxxxä`&`&≥jRIⁿTTT    ╤QQIUUUÇ ╨QPAUUUA@DZQPAUUU╢█╢a╟±Y/AUUU#IÆ$IÆ╨Q/A¿UUU╒IÆ$I╥    ÅI9≡WWU≡IÆ$I.A1¬   ▌IÆ$Ih.9╠0α___hIÆ$Ié&╠0δ(ÇÇÇÇδ0½(    ╦(è(z^^^HÆ$Hé ╩(ë 
  15421. ···¿ ë     ■IÉIÉ╤0ê àåÆöQî----àå╙£Æö++++àäÑ╙£½½½½àä UÑ╙£^^^^àä Æöäxxxxàä╧{ÄsxxxxàäÄsMk****àä╧{Äs))))àäÑä----àäY╬û╡¡¡¡¡àä ╞û╡α°xxàä╡╡≤£xxxxàä@Æöäxxxxàä@îä╒╫╫╫àäÇ≤£Qî====àä╫╜ÑàäÇ ≈╜Æ£xxxxä`&`&╥jÆITTTT rIPIΩΩΩΩ@ pIQI»   ÿIÆ$IÆqIOA ·¬¬■IÆxqI/Az~~/ⁿXô    A.9¬¬¬¬  .9φ8····  9φ0ΩΩΩΩ  9╠0~~~~ é└╠0δ(ÇÇÇÇⁿÉ· ╦0½(····√IÆ$Né=¬(j áááá@Æ$I$⌐(è     IÆ$HÆ$¿ ë     ■IÉIÉ╨0ê àåÆöQî----àå╙£Æö++++àä@Ñ╙£½½½½àäUÑ╙£^^^^àäÆöäxxxxàä$╧{ÄsxxxxàäÄsMk****àä╧{Äs))))àä@4Ñä----àä8╞╢╡-¡¡¡àä ≈┼u¡α°xxàäÇu¡≤£xxzzàäÆöQî\\\xàäÇÇîä╫╫▀▀àä≤£Qî====àäH╫╜Ñàä≈╜▓öxxxxä`&`&╥jÆITTTTÇ$ÆQqIWW╖» IÆ$IÜÆQqIu «á·P┐ⁿ∙  ÆQpIzz·· $0qI/A~~^^√╠|Æ$A/9¬¬¬¬Θ)A-1····G╪û$IÆ$9φ0ΩΩΩΩ░c9╠0~~~~ SI₧$╠0δ(ÇÇÇÇ É╦0½(···· 5Ǭ(j ááááÿP≡⌐(è     Ié$IÆ$¿ ë     ■IÉIÉ╨0ê àä ÆöQî----àä ╙£Æö++++àåÑ╙£½½½½àäUÑ╙£^^^^àä@Æöäxxxxàä╧{Äsxxxxàä    éÄsMk****àä╧{Äs))))àä@Ç╙ñ0ä----àä╫╜U¡             àä@╫╜U¡hxxzàäÇ t¡≤£xxxxàä@ÇÆöpäxxxxàä î|║║¬¬àä@≤£Qî====àä ╫╜Ñàä÷╜ôöxxxxä`&`&≥rÆQTTTT¢IÆ$I₧│YÆI »¬¬■Xó$MÆ$│YæIδΩΩΩⁿ@Ç=│QpI_^^VΣ `PI/AZVVU    Æ$IÆ$A/9¬¬¬¬IÆ$IÉ$A-1····IÉ$IÆ$9φ0ΩΩΩΩ9╠0~~~~╠0δ(ÇÇÇÇNIÉ$IÆ$╦0½(····∞∙»■@á¬(j ááááä√ ±?   ⌐(è     Ω0≡¿ ë     ■IÉIÉ╨0ê àä ÆöQî----àå╙£Æö++++àäÑ╙£½½½½àäÉUÑ╙£^^^^àä    Æöäxxxxàäé╧{ÄsxxxxàäÇÄsMk****àä╧{Äs))))àä@╙£0ä----àä@Ç≈╜u¡                àå╢╜u¡xx°xàä 4Ñ≤£xx|xàä@@ÆöQîXxxxàåî|¬¬¬¬àä @≤£Qî====àä ╫╜Ñàå≈╜▓öxxxxä`&`&╥jSQT╘╘⌠ ëæ 1É⌠Y╙Y δΩΩ &(│YæIΩΩΩzπ0 QIpA··■■▒├╢m█PA.A····IÉ$IÆ$A/9¬¬¬¬A-1····IÆ$I$9φ0ΩΩΩΩ9╠0~~~~╠0δ(ÇÇÇÇIÆ$HÆ$╦0½(····#IÉ$IÆ$¬(j áááá `!É ⌐(è     ■@(
  15422. @¿ ë     ■IÉIÉ╨0ê àåÆöQî----àäÇ╙£Æö++++àäÑ╙£½½½½àäUÑ╙£^^^^àä Æöäxxxxàä╧{Äsxxxxàä ÄsMk****àäé╧{Äs))))àäÇ╙£0ä----àä╫╜U¡    ⌐¡¡àå╢╡5ÑpxxXàä 4Ñ≤£xxX\àäÇÆöQîxxxxàä@Pä0ä????àäÇA≤£Qî====àä@╫╜ÑàäÇ≈╜Æ£xxxxâ`&`╞╥j┤Y╘╘╘⌠,√╚┐?═ôτb╥Qαααα√<X'│YpIzZ^^  pI/A~6l█1l├A9¬¬¬¬A/9¬¬¬¬A-1····IÆ$I$9φ0ΩΩΩΩ9╠0~~~~╠0δ(ÇÇÇÇ╦0½(····¬(j áááá Iæ\Iÿ─⌐(è      ■¿ ë      N░JÇ╨0ê àäÇÆöQî----àä@$╙£Æö++++àä@Ñ╙£½½½½àäÇUÑ╙£^^^^àä$Æöäxxxxàä@╧{ÄsxxxxàåÄsMk****àä@╧{Äs))))àä╙£0ä----àä@╫╜U¡¡¡⌐    àä ≈╜4¡zxxxàä 4ÑÆöxxxxàåÆöQîxxxxàäQîä▀▀▀▀àäA≤£Qî5555àä╫╜Ñàä    ÷╜ôöxxxx╣k║fk┤≤r╒Y╘⌠⌠⌠ ■Ab╙QααáÇτxó$K┬$≤YPI~xxxPI0AWWWWIÆIÆ$A9¬¬¬¬I$IÆ$A/9¬¬¬¬IÆ$IÉ$A-1····9φ0ΩΩΩΩIÆ$AÆ$9╠0~~~~IÆ IÆ$╠0δ(ÇÇÇÇIÉ$Æ$╦0½(····¬(j ááááIÉ$IÆ$⌐(è     kσ∙╧ ·Å ¿ ë      ")Æ"╨0ê àä@ ÆöQî----àä ╙£Æö++++àäÇÑ╙£½½½½àåUÑ╙£^^^^àäÆöäxxxxàå╧{Äsxxxxàä@ ÄsMk****àä ╧{Äs))))àå4Ñä----àå8╞v¡¡¡        àå╫╜U¡xxxαàå4Ñ≤£XxxhàäÆöQîpxxxàä Qîä▀▀┐┐àäÉ ≤£Qî555=àä╫╜Ñàä╢╜≤£xxxx╤┬!┬!4{╒a⌠⌠⌠⌠ ■     5jZ·Ω·ΩiHó$Jé$≤YPIxxxxPI0AWWWWA9¬¬¬¬AÆIÆ$A/9¬¬¬¬A-1····9φ0ΩΩΩΩ9╠0~~~~╠0δ(ÇÇÇÇIÆ$Ié$╦0½(····¬(j áááá⌐(è     GP∙» °ƒ ¿ ë      !P@╨0ê µàIÆ$Iq¡tR¬¬¬QµàIÆ$Iôö7Q⌡µàIÆ$I⌠£Üa²σàIÆ$I⌠£ÖrUµàIÆ$IrîûY_τàIÆ$I╧{AWτàIÆ$IÄsN9UµàIÆ$I╧{AUµàIÆ$IsÑòY
  15423.  
  15424.  
  15425. ⌡µàIÆ$I8╞┌é²µàIÆ$I7╞YrÇÇÇ_µàIÆ$I⌠£ùYWτàIÆ$IQîòYUµàIÆ$I0äSQUτàIÆ$IÆîTQUµàIÆ$I╢╜jUàτÉD⌡╡báááU╡k░Fk÷ñ{÷aⁿⁿⁿ² ²`└5j≤Y··z~ΩL▓$Jé'≤YpI\\\\ PI0AWWWWA9¬¬¬¬A/9¬¬¬¬A-1····IÉ$IÆ$9φ0ΩΩΩΩ9╠0~~~~HÆ$IÆ$╠0δ(ÇÇÇÇ╦0½(····Ié$IÆ$¬(j ááááIÆ$IÆ⌐(è     lτ°» ⁿƒ ¿ ë     ■PÇ`Ç╨0ê  ²ê├░Æö≤9QQQQ ■VQ╙@---╡ ■IÇ ùYVQ
  15426. *⌐⌐ ■ùYUQα°°■ ■AéI╨8xxxz  Å8ì(^^^^  l(k **¬ ■Å8ì(¡╜╜╜ ■Ç╡Y╤8---5 ■Ç:rj⌡⌡⌡U ■HéjuQαΦxx ■    ÇUQIááΦΩ ■$╥@╧8ÇαΦΦ ■╨8»8<ⁿⁿ╫ ■╥@É8+//= ■ÇA ╡YI----ƒ■∙±≡╡YsQ^^^_6b│Q    )÷╔▀?╦Åⁿb╥Qαααα√hé%└0╙YqI^^^^$qI/A~~A9¬¬¬¬Ié$IÆ$A/9¬¬¬¬A-1····9φ0ΩΩΩΩ    Æ$IÆ$9╠0~~~~╠0δ(ÇÇÇÇHÆ$IÆ$╦0½(····¬(j ááááφI£d╔æ⌐(è      ⁿ ¿ ë     ■xáL≡╨0ê  ²0├Çqö:QQQQ ■ 5I╙@---¡ ■@$uQVQ ■■■ ■HéVQ3IαΦxz ■ÇÇIÅ0xxxx  Ä0L(xxxx  l(ï ¬«╛┐  Ä0L( --- ■ÇÇTQÅ0---- ■@É$╪a╡Y    ì¡ ■H ╫auQxx~^ ■    Æ4I╙@jz^^ ■╥@Å0Φ°xx  É8Å0┐    ■  ╥@o0½½½» ■@╡YI----á■yÉ æ┤YI`xxx⌠YRI⌐⌐∙É╔É⌠a╙QΩ¬ΩΩ*√y≡ç ≤τ╙YqI^^~~∞pI0A^^^^PA.A···ΩA/9¬¬¬¬A-1····9φ0ΩΩΩΩ    Æ$IÆ$9╠0~~~~╠0δ(ÇÇÇÇ╦0½(····)IÆ$IƬ(j áááá ╣ ⌐(è     √ √g±¿ ë     ■IÉIÉ╨0ê  ■HÇIÉQî╤9QQQQ ■      4I╥@»¡¡¡ ■@ÇUQI=² ■    ÇUQ3Ixxxz ■H≤@Å0zzzz  Ä0K °°°x  k K  ?  Ä0L(-╡╡╡ ■@Ç sQÄ0---- ■@ $≈a╡Y¡¡φ⌡ ■@╓aIxxxx ■ H3Q≥@zzzz ■Ç╤@Å0xxxx  «8Å0╫╒WU ■@é╤@Å0///- ■AÇ┤Y╥@--¡¡á■Éy≡┤YAxxzz$@│YrI⌐⌐¡²z╢c │YÆI¬¬¬║■0ÆQqIxxxx■╨ΦQIpA■■■·∩`É/A9ÇÇÇAÆ$    Æ$A/9¬¬¬¬A-1····9φ0ΩΩΩΩAÆ$I$9╠0~~~~IÆ$HÆ$╠0δ(ÇÇÇÇYIÆ$IÆ╦0½(···· ╔ò ¬(j áááá\⌡    ≤⌐(è      !P¿ ë     ■IÉIÉ╨0ê  ²0 ├lä╤9QQQQ ■3I╥@¡¡¡¡ ■É TQA¬¬½½ ■Ç2II┐»»» ■É╤@Ä0xxxx  ì0K °xxx  j K  √ΩΩ  ì(K 
  15427. *** ■@2IÄ(---- ■ ╢YöY½½½½ ■╡YIxxxx ■É 3I╤@hxzz ■Ç    Ç╨8Å0hhXh  «0Ä0    ■Hé$@╨8Å0*))) ■@sQ╤@    --á■╧± æSQ9αΦΦΦ@ │YA    ⌐⌐∙  ÆQRIá½≤ëæ─IÆ$ÆQqIxz~w  ÉqIOA·ΩΩΩ/²±?∙ƒ PI/AUVVV■I┬'└ A.9ΩΩΩΩ≤IÆ$O▒.9φ8····UÉ╢9φ0ΩΩΩΩ╚IÆ$IR9╠0~~~~≈IÆΣ≈╠0δ(ÇÇÇÇⁿ∙@╦0½(····+Θ    ≤¬(j áááá√@â&NÆ$⌐(è     I$IÆ$¿ ë     ■IÉIÉ╨0ê  ²0`█░ß└0ä░1QQQQ ■é 4I±@╡╡╡╡ ■@Ç3II■■■¬ ■@@3I▓8°°°· ■    ╤@Ä0xxxx  ì(K hhhh  è K  √  ì(K *))) ■@ 2Iì(---- ■    é ûYsQ            ⌐ ■éAÇ╡YIpxxx ■é@IÉ0αααh ■╨8Ä0°xxx  ¡0Ä0      ≡@Å0╜╜╜╡ ■@ sQ╤@----á■╧æ∙±SQAxxxx    ÇÆQ0A@@ÆIqI»┐ @ pIQI   »e pIPA¬¬ΩΩ²p╔Ö$PI/AVVUU SA/9¬¬¬¬ √.9φ8····  9φ0ΩΩΩΩ  9╠0~~~~ d5╠0δ(ÇÇÇÇ÷  çí╦0½(····δ`≥$IÆ$¬(j ááááI$Ié$⌐(è     ¿ ë     ■IÉIÉ╨0ê  ²Ç└êä░9QQQQ ■3I±@╡╡╡╡ ■A@é3I≥@½½φ² ■3I╤8xxz^ ■╨8ì0Φxxx  ì(J xxxx  K0J      ¡0K ╜²²⌡ ■@ 1AM(---- ■╡YsQ¡¡¡¡ ■étQ2I^^^V ■    Æ╥@╧8ΩΩΩ· ■╨8Ä0z~~^  ì0«(¬¬¬¬  ╨8Ä0=╜╡╡ ■Ç    rI╨8--- á rI╧8pxxx $Ö$rIì0óU  $Ö$QIÄ0U Çm├$Ö$pIÅ0¬╒■`$∙?QI9¬¬¬  $Ö$RI9■■ΩÖI≥ A-9ΩΩΩΩ²    $Öⁿb.9UUU√m $∙ⁿVj9UU_ ¢$$    ╘Y═0UUU° $Ö$╬8╦(   ¿ $Ö$ì0Ω(  ■¿ $Ö$╩(î(
  15428. ╜ $Ö$¬(ë    _ÜI≥ ìAë UU]S■ $≤?╓8ê òòò5 ■∩{»1QQQQ ■$∩@╥8     ■Ç I3A¬¬¬¬ ■ÉA2I╨8`pxx  ╨8ì0xxxx  î(J xxxx  J J*¬¬¬  ¼(J »»¡¡  0AM(---- ■ öQRI  ■     @ SIAαααα ■ÇA╤@╧8·■■~  ¼0Å0²²²²  î0Ä(¬¬¬¬  »8Ä0▌▌²² ■É$é qI╨8---- ■AqI╧8xxxx  ì0¡(¬¬¬¬  ì0¡(¬¬¬¬  »8Ä0▀▀▀▌ ■@ÇéA╧8---- ■A    qIRI┐««¬ ■A╬8xxxx ²6╢aùjSIíííí ■ Ç$WjbΦΩΩΩ ■ ⌠Y9xxx°  ╬8═(ΦΦ¿¿  ═0¼(■···  ¼(ï(  ½(ë  ▀▀  MAê RXZ^ ■  ╘8ê%%%%  ╧{Å1QQQQ ■I  ±@╨8     ■@A╤8²² ■@±@╨8____  ╧8ì0xxxx  î(J |^^^  J i¬¬¬¬  M(J ╡╡╒╒  AL(---- ■HÉtQQI½⌐¡¡ ■Ç$rI╨8°xxx ■Hε8╨8²²²²  Ä0¼(¬¬¬¬  ì0î(¬ûûû  ¡0Ä0    ■ @qI╧8---- ■ÇqI╬8xxxx  ì0î(··■■  ì0î(¬⌐ÑÑ  «0Ä0     ■$0A╧8¡¡¡¡ ■@ QI0A└┬bj  /A╬8~~~^ ■    É IÆ b┤Q±±±± ■é6jbδ√·· ■A⌠YAxxxx  /A╬0VV^^  ═0¼(····  ¼(ï(  9è UUò  ≡Qê ^\TV ²  └╘8ê%%%%  ÄsÄ)QQQQ ■H ∩8╨8 ■    1I≡8½²²⌡ ■A╧8xxzz  ╧8î(xxxz  h K       I i¬¬¬¬  K(J»»»»  ╧8L(---- ■ SQ9 ½½½ ■rI╧8°xx~ ■╨8Ä0Ω·z  Ä0î(····  ¼(l(iii⌐  Ä0î(++// ■@A╬8         - ■ÉpI╬8xxxz  «0ï(      ½(m(~z··  Ä0¡(****  A╬8---¡ ■    OI1A╖┐┐«  /Aì0xxxx ²6lα└b│Q±±±± ■@Çé6jb·■   ■ Ié ⌠YQIxxxx  A╬0^^^\  ═0¼(ΩΩ·Φ  ¼(ï(  ÄIè 5%ì  MAê TVWU ²└ └╘8ê%%%%  ìsn)QQQQ ■@╨8Ä0--¡╜ ■ A╨8½½»²  ╨8ε0ááá¿  Ä0î(zzzz  J háááá  h I      K h****  ╬8K ---- ■@ÇHÇI.9
  15429. ½½ ■0A╧8zzzz  ╧8Ä0hxz^  ì0î(····  ¡(k(┐╫╒╒  Ä0î(-¡╜╜ ■ A╬8---¡ ■A═0xxxz  ¡(k(■~^^  ¡(k(»¡╜╡  Ä0î(//╜╜  /A╬8╜╜╜╡ ■A09¬¬¬¬  .9ì0xxxX ²▒a1│YûI«««« ■ÇÇ5j╘Y¬Ω·~ ■ ╘YæIαααα  0A╬0XXXX  ═0∞(¿¿¿¿  ¼0ï(____  ÄIè ═ii{  º i  ²┐  ■  ┤0ê%%%%  Mkì)QQQQ  ╧8Ä0-%5╡ ■ε8╨8      ╧8╬0¬¬¬¬  ì0¬ ¬ΩΩΩ  ï(Hⁿ■■■  i H      K h*¬¬¬  ═0K ---% ■$I-9½½½½  A╬8x|^^  «0Ä0?  «0ï(   î(j ¬╛╛   ì0î(╡╡╡╡  A═0--  A═0xxxx  î(j °··■  î(j *+½»  ì0î(╡╡╡╡  /Aì0---¡  A.9¬¬¬¬  .9î(xxxx ■    ÉIÉöYtA ■A⌠a╘Y     ■é$╘YæIαααα ■ÉqI╬8^Xxx  ═0∞(¿¿¿¿  ∞0½(^^^╛  9ë sRX\  ë H°Φ¿¿ ²└ └┤0ê%%%%   cM)QQQQ  ╬8ì0    ---  ≡8«0½½²²  ╧8ì(Φ°··  ì0è ΦΦΦΦ  J H°°°x  H H¬¬¬¬  J h****  ═0J ---- ■A╬0        ¡¡  /Aì(°°xx  ╬8ì0zz^^  ¡0ï(___  è(K Ω  î(K **))  A═0--¡¡  /A╠0xxzz  ï(J Φ°°°  î(J »┐ ²  ¼0K ½»»»  .9ì0---%  A-9ΩΩΩ√  ═0î(hhhX ²╢█╢a├sQ9 ■AÇ Ié╘YÆQ¬¬¬┐ ■@é@│YÆIΩΩΩΩ ■QI.9xxxx  ╬0δ(¿ááá  N9¼0ò%  φ8ë ^___  ⌐ h ■ΩΩ· ■  ⌡8ê%%%%   cL)QQQQ  ╬8î(/»»¡  ε8«0_■■·  ε8¡0zz~^  î(J xxxx  I Hzzzz  gH]    J H»¡¡╜  ╠0J ----  A═0               ╨8╠0■■■■  ì0î(■     ¼0ï(____  è(*½½½¬  l(J +///  .9î(----  9╠0zzzz  ï(J |^^V  K(j ┐┐ ²  l(J  ///  ═0î(    )))  .9φ8Ω{  ═0ï(xxxx ²6α╪╢a█RI1 ■@$ôQRA
  15430. ½» ■ H ┤YæI■    ■QI/9xhÇ  pA═0WW°á  OAï(╧K`x  ï(¿ Ω¬¬¿  ⌐ h ·ΩΩ¬ ² └  ⌡8ê%%%%  δZ,!QQQQ  ì0î(┐┐┐┐  ╬0ì0¬½»²  ╬8î(zzz^  î(J xxxX  I H~~^^  G¬¬¬¬  i H²²²²  ╠0I /---  A═0ì¡¡¡  ε8î(·zz~  ¼0î(      ï(è └└≡≡  ë J ~■    ï(J  ++/  9î(    --  9ï(`pxx  ï(i ·■~^  ï(j ⌡⌡╒╒  î(j »┐┐┐  ═0î())ÑÑ  9∞0ΩΩΩ√  ╠0ï(xxxX ²6αlI≤8ºººº ■$RI9*/» ■H▓QqI√WUU ■QI/AxxΦα  A═0^^xx  ═0╦(|~~~  ï(⌐ ¿¿¿¿  ¬(ë __ ²   └⌡8ë %%%%  ╦ZK!QQQQ  ½(î(      ¡0╠(¬¬¬¬  ¡0î(__  ï(H°°°°  i G    G      hH      ╦(I ----  .A∞0¡¡¡¡  ═0î(xxxp  ¼(ï(      ï(j |\\\  j(H¬╛┐┐  ï(J /=╜╡  9ï(--¡¡  ╠0è(αα`p  è I ⁿ|^^  J h**¬¬  ï(J //╜╜  ╠0ï(/---  9╠0Γj{  ╠0è ¿jjj ²6`╪9┤0 ■@ A09
  15431. *┐  ■ qI0A½»╡⌡ ■ÇHÇ$QIpAΩ··   /Aε8^^zz  ═0╦(~°°α  ½(i └└└  ⌐(è      ■  ⌡8ë %%%%  èR*!QQQQ  ¬(î(      ½(î(      ¬(î(      î(I ~~ΩÇ  ï(G__·Ç  H G  ·Ç  H G»»»■  ╠0G//╜U  NAG½U  .9H¿á■U  l9J   ┐-  ╧Iè UU 
  15432.   NAi UU¬  MAJ UU α  ∞0ï(¡¡²_  ╠0I αα·_  è(H·■■■  I h¬¬¬¬  è i =  ∞0½(╡╡⌡⌡  ╠0╦(ÇÇó¬  ╦0è xxx| ■    ╨8╘0■■■ ■é$╨8╙0UUU ²α─╢m╟PI69¬    ²`;╢m'ùQrIU ²`█vÆ╪┘aQIU ²;Äm;ÖYAU ²;╢m;XI╧8U ■É$IÆ$A╬8U ²'╢φ8╓8«05ÇÇ/2./)    */27/)√   2/2//)    0/)    1/23.+÷   ?/2°   @/)    -/)    ,/2²   9/2²   D.*≤   <.,Φ   ;/28.-²   B.,≥   A.,≥   C/2°   =.+δ   >/)    +/2∩   :é    XJ«zå    5
  15433. D╞ù    EN╞ï    HU╞ï    G]╞î    TCe╞î
  15434. VRhȂ
  15435. Wo╪
  15436. z╩äKiú äLjú ç
  15437. Pkú äIrú é Nd-sú ç    MW╤ é S[-^╤ ç    Uy■ å    4
  15438. }■ ç    FG  é Q^-N  é R[-l¼!å    6G┌!é O^-`┌!é Y[-~ç"äZY╡"å[
  15439. Z╡"é\Düd╡"┴â*₧@ºφLφΘ√╝¿û╟BK┐D¥·gy,None    MaterialEnableCollision
  15440. MaterialsEngine StaticMeshCoreClassPackage
  15441. TexEnvMap    CombinerShader    CubeMapsKretziggeothermalTexEnv
  15442. Combiner3
  15443. Combiner0
  15444. Lightning
  15445. ArtifactsUTRPGTexturesUTRPGStatics WingedBoots MonsterCoinshinyY╙ì╙ë)\Å┐x\O┬\ÅR┬ñp╜@x\OB\ÅRBÜÖ@╠öBK$$l╙ⁿⁿ)\Å┐x\O┬\ÅR┬ñp╜@x\OB\ÅRBTÇÇ┐VâA║k4BΓV┐;¿╛a╖B┐@BσV┐½ G╜╛S┐ò╘÷AòBßV┐áú┐`4┐▄F&B└AßV┐╙ÿ=┐ⁿ/╛╛M=BÆ\AπV┐╒»R┐δ─╜ÇM=BÆ\┴πV┐T]N┐δD>Ç▄F&B└┴ßV┐╒&1┐èLΘ>Çò╘÷Aò┬ßV┐╨$²╛44*?ÇVâA║k4┬ßV┐>τr╛╝:K?ÇÇ@┬.∙d┐ù ƒ╜ó~ß>ÇVâ┴║k4┬≤5┐╡>m─?Çò╘÷┴ò┬ßV┐áú?`4?Ç▄F&┬└┴ßV┐╙ÿ=?ⁿ/╛>ÇM=┬Æ\┴πV┐╒»R?δ─=M=┬Æ\AπV┐T]N?δD╛▄F&┬└AßV┐╒&1?èLΘ╛ò╘÷┴òB╪W┐1$²>á3*┐Vâ┴║k4B⌠X┐<σr>l9K┐Å┬⌡╛\ÅRBi═▐╛²qD<Hxf?├⌡¿@²ÉAÆ▄EB:═▐>┐ßù>≡₧Y?├⌡¿@\ÅRBi═▐> qD╝Hxf?Å┬⌡╛²ÉAÆ▄EB║╠▐╛lkú>èàW?├⌡¿@_XBdL!Bƒ╬▐>m╩?╚à2?Å┬⌡╛_XBdL!B!╬▐╛l~?¬ô.?├⌡¿@┤Y6B\Å╥AM╬▐>ƒF?;╔δ>Å┬⌡╛┤Y6B\Å╥Aφ═▐╛ê I? 'ß>├⌡¿@x\OB╕@A╨▐>╫nb?c,,>Å┬⌡╛x\OB╕@A(╧▐╛·c?G²>Å┬⌡╛x\OB╕@A(╧▐╛·c?G²>├⌡¿@x\OB╕@┴*╧▐>·c?G²╛├⌡¿@x\OB╕@A╨▐>╫nb?c,,>Å┬⌡╛x\OB╕@┴╨▐╛╫nb?c,,╛├⌡¿@┤Y6B\Å╥┴φ═▐>ê I? 'ß╛Å┬⌡╛┤Y6B\Å╥┴K╬▐╛áF?:╔δ╛├⌡¿@_XBdL!┬"╬▐>l~?¬ô.┐Å┬⌡╛_XBdL!┬¥╬▐╛m╩?╚à2┐├⌡¿@²ÉAÆ▄E┬╗╠▐>lkú>èàW┐Å┬⌡╛²ÉAÆ▄E┬9═▐╛┐ßù>≡₧Y┐├⌡¿@Ç\ÅR┬i═▐>rD<Hxf┐Å┬⌡╛Ç\ÅR┬h═▐╛∙qD╝Ixf┐├⌡¿@²É┴Æ▄E┬:═▐>┐ßù╛≡₧Y┐Å┬⌡╛²É┴Æ▄E┬║╠▐╛lkú╛èàW┐├⌡¿@_X┬dL!┬ƒ╬▐>m╩┐╚à2┐Å┬⌡╛_X┬dL!┬!╬▐╛l~┐¬ô.┐├⌡¿@┤Y6┬\Å╥┴M╬▐>ƒF┐;╔δ╛Å┬⌡╛┤Y6┬\Å╥┴φ═▐╛ê I┐ 'ß╛├⌡¿@x\O┬╕@┴╨▐>╫nb┐c,,╛Å┬⌡╛x\O┬╕@┴(╧▐╛·c┐G²╛├⌡¿@x\O┬ AA╜╨▐>¥c┐╚ⁿ>Å┬⌡╛x\O┬ AA|╨▐╛╝nb┐k,,>├⌡¿@┤Y6┬\Å╥A=╧▐>8 I┐≤&ß>Å┬⌡╛┤Y6┬\Å╥A╩╨▐╛F┐▄╚δ>├⌡¿@_X┬dL!BH╠▐>⌐~┐ö.?Å┬⌡╛_X┬dL!B│═▐╛è╩┐·à2?├⌡¿@²É┴Æ▄EB╗╠▐>lkú╛èàW?Å┬⌡╛²É┴Æ▄EB+╠▐╛Γù╛)ƒY?ÜÖÖ@ÇÇ?ÜÖÖ@@BσV?½ G=╛S┐ÜÖÖ@VâA║k4BßV?>τr╛╝:K┐ÜÖÖ@ò╘÷AòBßV?╨$²╛44*┐ÜÖÖ@▄F&B└AßV?╒&1┐èLΘ╛ÜÖÖ@M=BÆ\AΣV?T]N┐∞D╛ÜÖÖ@M=BÆ\┴ΣV?╘»R┐∞─=ÜÖÖ@▄F&B└┴ßV?╥ÿ=┐²/╛>ÜÖÖ@ò╘÷Aò┬ΓV?áú┐a4?ÜÖÖ@VâA║k4┬ΓV?;¿╛a╖B?ÜÖÖ@Ç@┬≤5?y√╜ΘD2?ÜÖÖ@Vâ┴║k4┬.∙d?>∙d>≤K╞>ÜÖÖ@ò╘÷┴ò┬ßV?╨$²>44*?ÜÖÖ@▄F&┬└┴ßV?╒&1?èLΘ>ÜÖÖ@M=┬Æ\┴ΣV?T]N?∞D>ÜÖÖ@M=┬Æ\AΣV?╘»R?∞─╜ÜÖÖ@▄F&┬└AßV?╥ÿ=?²/╛╛ÜÖÖ@ò╘÷┴òBΓV?áú?a4┐ÜÖÖ@Vâ┴║k4BΓV?;¿>a╖B┐ñp╜@@BbUp╜Å┐ñp╜@VâA║k4B≥
  15446. ╦╛gk┐VâA║k4BΓV┐;¿╛a╖B┐)\Å┐VâA║k4ByòÆ╛╗Hu┐)\Å┐@BP1≈╖SSp=Å┐ñp╜@ò╘÷AòB╬╞/┐N:┐ò╘÷AòBßV┐áú┐`4┐)\Å┐ò╘÷AòBü├┐▒lM┐ñp╜@▄F&B└Aª╘d┐ïσ╛▄F&B└AßV┐╙ÿ=┐ⁿ/╛╛)\Å┐▄F&B└A_╧U┐╗╔ ┐ñp╜@M=BÆ\AΣH~┐Q«∞╜M=BÆ\AπV┐╒»R┐δ─╜)\Å┐M=BÆ\Aky┐P«l╛ÜÖÖ@M=BÆ\AΣV?T]N┐∞D╛ñp╜@M=BÆ\AΣH~┐Q«∞╜ñp╜@M=BÆ\┴jy┐Q«l>M=BÆ\AπV┐╒»R┐δ─╜ÇM=BÆ\┴πV┐T]N┐δD>)\Å┐M=BÆ\┴ΣH~┐P«∞=)\Å┐M=BÆ\Aky┐P«l╛ñp╜@▄F&B└┴_╧U┐╗╔ ?Ç▄F&B└┴ßV┐╒&1┐èLΘ>)\Å┐▄F&B└┴Ñ╘d┐ïσ>ñp╜@ò╘÷Aò┬ü├┐▒lM?Çò╘÷Aò┬ßV┐╨$²╛44*?)\Å┐ò╘÷Aò┬═╞/┐N:?ñp╜@VâA║k4┬yòÆ╛╗Hu?ÇVâA║k4┬ßV┐>τr╛╝:K?)\Å┐VâA║k4┬≥
  15447. ╦╛gk?ñp╜@Ç@┬j╤1╛V|?)\Å┐Ç@┬j╤1╛V|?ÜÖÖ@Vâ┴║k4┬j╤1>V|?ÜÖÖ@Ç@┬j╤1>V|?ñp╜@Ç@┬?U?yE┼=ë╪ ?ñp╜@Vâ┴║k4┬Θ▄r?è∞`=Σrƒ>ÇÇ@┬j╤1>V|?ÇVâ┴║k4┬j╤1>V|?)\Å┐Vâ┴║k4┬?U┐yE┼=ë╪ ?)\Å┐Ç@┬Θ▄r┐è∞`=Σrƒ>ñp╜@Vâ┴║k4┬    ?╥│]?ñp╜@ò╘÷┴ò┬╬╞/?N:?ÇVâ┴║k4┬≤5┐╡>m─?Çò╘÷┴ò┬ßV┐áú?`4?)\Å┐ò╘÷┴ò┬ü├?▒lM?)\Å┐Vâ┴║k4┬    ?╥│]?ñp╜@▄F&┬└┴ª╘d?ïσ>Ç▄F&┬└┴ßV┐╙ÿ=?ⁿ/╛>)\Å┐▄F&┬└┴_╧U?╗╔ ?ñp╜@M=┬Æ\┴ΣH~?Q«∞=ÇM=┬Æ\┴πV┐╒»R?δ─=)\Å┐M=┬Æ\┴ky?P«l>ñp╜@M=┬Æ\Ajy?Q«l╛M=┬Æ\AπV┐T]N?δD╛)\Å┐M=┬Æ\AΣH~?P«∞╜ñp╜@▄F&┬└A_╧U?╗╔ ┐▄F&┬└AßV┐╒&1?èLΘ╛)\Å┐▄F&┬└AÑ╘d?ïσ╛ñp╜@ò╘÷┴òBü├?▒lM┐ò╘÷┴òB╪W┐1$²>á3*┐)\Å┐ò╘÷┴òBΓ╞/?;:┐ñp╜@Vâ┴║k4ByòÆ>╗Hu┐Vâ┴║k4B⌠X┐<σr>l9K┐)\Å┐Vâ┴╘k4B√Hh╕δ
  15448. ╦>hk┐ñp╜@VâA║k4BÇ?ñp╜@@BÇ?ñp╜@)\OB╞£q?╪▀₧╝}∩¿>ñp╜@¿╫ìA╘┌BB⌐£q?╧╠┴=R%ó>)\Å┐@BÇ┐)\Å┐VâA║k4BÇ┐)\Å┐¿╫ìA╘┌BB└£q┐8>%Z¢>)\Å┐)\OB╞£q┐╫▀₧<~∩¿>ñp╜@ò╘÷AòBÇ?ñp╜@╒IB╚╪Bτ£q?s÷I>▌╩ç>)\Å┐ò╘÷AòBÇ┐)\Å┐╒IB╚╪B■£q┐╖bh>Mv>ñp╜@▄F&B└AÇ?ñp╜@Fö3B)\╧Aα£q?Vì>ä!:>)\Å┐▄F&B└AÇ┐)\Å┐Fö3B)\╧A±£q┐üCù>
  15449. ╝>ñp╜@M=BÆ\AÇ?ñp╜@¿5LB╚A¥q?Oúñ>√r£=)\Å┐M=BÆ\AÇ┐)\Å┐¿5LB╚AA¥q┐$¿>½q=ñp╜@M=BÆ\┴Ç?ñp╜@M=BÆ\AÇ?ñp╜@¿5LB╚A¥q?Oúñ>√r£=ñp╜@¿5LB╚┴A¥q?"¿>⌐q╜)\Å┐M=BÆ\AÇ┐)\Å┐M=BÆ\┴Ç┐)\Å┐¿5LB╚┴¥q┐Púñ>ⁿr£╜)\Å┐¿5LB╚AA¥q┐$¿>½q=ñp╜@▄F&B└┴Ç?ñp╜@Fö3B)\╧┴±£q?ÇCù>╝╛)\Å┐▄F&B└┴Ç┐)\Å┐Fö3B)\╧┴▀£q┐Vì>à!:╛ñp╜@ò╘÷Aò┬Ç?ñp╜@╒IB╚╪┬■£q?│bh>Jv╛)\Å┐ò╘÷Aò┬Ç┐)\Å┐╒IB╚╪┬τ£q┐s÷I>▐╩ç╛ñp╜@VâA║k4┬Ç?ñp╜@¿╫ìA╘┌B┬└£q?>#Z¢╛)\Å┐VâA║k4┬Ç┐)\Å┐¿╫ìA╘┌B┬⌐£q┐╤╠┴=T%ó╛ñp╜@Ç)\O┬╞£q?╪▀₧<}∩¿╛)\Å┐Ç)\O┬╞£q┐╪▀₧╝~∩¿╛ñp╜@¿╫ì┴╘┌B┬⌐£q?╧╠┴╜R%ó╛)\Å┐¿╫ì┴╘┌B┬└£q┐8╛%Z¢╛ñp╜@ò╘÷┴ò┬Ç?ñp╜@╒I┬╚╪┬τ£q?s÷I╛▌╩ç╛)\Å┐ò╘÷┴ò┬Ç┐)\Å┐╒I┬╚╪┬■£q┐╖bh╛Mv╛ñp╜@▄F&┬└┴Ç?ñp╜@Fö3┬)\╧┴α£q?Vì╛ä!:╛)\Å┐▄F&┬└┴Ç┐)\Å┐Fö3┬)\╧┴±£q┐üCù╛
  15450. ╝╛ñp╜@M=┬Æ\┴Ç?ñp╜@¿5L┬╚┴¥q?Oúñ╛√r£╜)\Å┐M=┬Æ\┴Ç┐)\Å┐¿5L┬╚┴A¥q┐$¿╛½q╜ñp╜@M=┬Æ\AÇ?ñp╜@¿5L┬╚AU¥q?╡¿╛*q=)\Å┐M=┬Æ\AÇ┐)\Å┐¿5L┬╚A`¥q┐╝íñ╛:q£=ñp╜@▄F&┬└AÇ?ñp╜@,ö3┬)\╧Ac¥q??Aù╛¼╣>)\Å┐▄F&┬└AÇ┐)\Å┐,ö3┬)\╧A¥q┐╪Tì╛j :>ñp╜@ò╘÷┴òBÇ?ñp╜@╒I┬Γ╪B╓£q?ªch╛▌v>)\Å┐ò╘÷┴òBÇ┐)\Å┐╒I┬Γ╪Bô£q┐╪°I╛P╠ç>ñp╜@Vâ┴║k4BÇ?ñp╜@¿╫ì┴╘┌BBÄ£q?9╛$[¢>)\Å┐Vâ┴╘k4BÇ┐)\Å┐¿╫ì┴╘┌BB¿£q┐Å╠┴╜[%ó>T                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                T                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                T??î╣+?`▒┐<?εδ╗£3R? ZΣ=α╛n?HP|>)φ}?ÄΣ╥>)φ}?╕ì?α╛n?εδ@?£3R?╝tc?î╣+?uz??εδÇ?τî¿>uz?É17>╝tc?    è=εδ@?▌╡<╕ì?▌╡<ÄΣ╥>    è=HP|>É17> ZΣ=τî¿>`▒┐<?εδ╗τî¿>`▒┐<?εδ╗τî¿>`▒┐<É17> ZΣ=É17> ZΣ=    è=HP|>    è=HP|>▌╡<ÄΣ╥>▌╡<ÄΣ╥>▌╡<ÄΣ╥>▌╡<╕ì?▌╡<ÄΣ╥>▌╡<╕ì?    è=εδ@?    è=εδ@?É17>╝tc?É17>╝tc?τî¿>uz?τî¿>uz??εδÇ??εδÇ?î╣+?uz?î╣+?uz?£3R?╝tc?£3R?╝tc?α╛n?εδ@?α╛n?εδ@?)φ}?╕ì?)φ}?╕ì?)φ}?ÄΣ╥>)φ}?ÄΣ╥>α╛n?HP|>α╛n?HP|>£3R? ZΣ=£3R? ZΣ=î╣+?`▒┐<î╣+?`▒┐<???εδ╗τî¿>`▒┐<É17> ZΣ=    è=HP|>▌╡<ÄΣ╥>▌╡<╕ì?    è=εδ@?É17>╝tc?τî¿>uz??εδÇ?î╣+?uz?£3R?╝tc?α╛n?εδ@?)φ}?╕ì?)φ}?ÄΣ╥>α╛n?HP|>£3R? ZΣ=î╣+?`▒┐<?εδ╗τî¿>`▒┐<τî¿>`▒┐<τî¿>`▒┐<?εδ╗É17> ZΣ=É17> ZΣ=É17> ZΣ=    è=HP|>    è=HP|>    è=HP|>▌╡<ÄΣ╥>▌╡<ÄΣ╥>▌╡<ÄΣ╥>▌╡<ÄΣ╥>▌╡<ÄΣ╥>▌╡<╕ì?▌╡<ÄΣ╥>▌╡<╕ì?▌╡<╕ì?▌╡<ÄΣ╥>    è=εδ@?    è=εδ@?    è=εδ@?É17>╝tc?É17>╝tc?É17>╝tc?τî¿>uz?τî¿>uz?τî¿>uz??εδÇ??εδÇ?î╣+?uz??εδÇ??εδÇ?î╣+?uz??εδÇ?î╣+?uz?î╣+?uz??εδÇ?î╣+?uz?£3R?╝tc?î╣+?uz?£3R?╝tc?£3R?╝tc?î╣+?uz?α╛n?εδ@?α╛n?εδ@?α╛n?εδ@?)φ}?╕ì?)φ}?╕ì?)φ}?╕ì?)φ}?ÄΣ╥>)φ}?ÄΣ╥>)φ}?ÄΣ╥>α╛n?HP|>α╛n?HP|>α╛n?HP|>£3R? ZΣ=£3R? ZΣ=£3R? ZΣ=î╣+?`▒┐<î╣+?`▒┐<î╣+?`▒┐<τî¿>`▒┐<?εδ╗?εδ╗τî¿>`▒┐<?εδ╗τî¿>`▒┐<τî¿>`▒┐<?εδ╗É17> ZΣ=É17> ZΣ=É17> ZΣ=É17> ZΣ=    è=HP|>    è=HP|>    è=HP|>    è=HP|>▌╡<ÄΣ╥>▌╡<ÄΣ╥>▌╡<ÄΣ╥>▌╡<ÄΣ╥>▌╡<╕ì?▌╡<ÄΣ╥>▌╡<ÄΣ╥>▌╡<╕ì?▌╡<ÄΣ╥>▌╡<╕ì?▌╡<╕ì?▌╡<ÄΣ╥>    è=εδ@?    è=εδ@?    è=εδ@?    è=εδ@?É17>╝tc?É17>╝tc?É17>╝tc?É17>╝tc?τî¿>uz?τî¿>uz?τî¿>uz?τî¿>uz??εδÇ??εδÇ?î╣+?uz?î╣+?uz?£3R?╝tc?£3R?╝tc?£3R?╝tc?£3R?╝tc?α╛n?εδ@?α╛n?εδ@?α╛n?εδ@?α╛n?εδ@?)φ}?╕ì?)φ}?╕ì?)φ}?╕ì?)φ}?╕ì?)φ}?ÄΣ╥>)φ}?ÄΣ╥>)φ}?ÄΣ╥>)φ}?ÄΣ╥>α╛n?HP|>α╛n?HP|>α╛n?HP|>α╛n?HP|>£3R? ZΣ=£3R? ZΣ=£3R? ZΣ=£3R? ZΣ=î╣+?`▒┐<î╣+?`▒┐<î╣+?`▒┐<î╣+?`▒┐<TÇ?═;N??@??q\??┌¼j??Γx??╙╝π<?1Ö¬=?═;>?╦G>?Ç>?Üw£>?Γ╕>?┤Y╒>?3─±>?τ??&S??≤Ä#??3─1??@?Tt?═;N?X≈>@?X≈>═;N?Tt?q\?X≈>q\?Tt?┌¼j?X≈>┌¼j?Tt?Γx?X≈>Γx?Tt?╙╝π╝Tt?╙╝π<X≈>╙╝π╝X≈>╙╝π<Tt?1Ö¬=X≈>1Ö¬=Tt?═;>X≈>═;>Tt?╦G>X≈>╦G>Tt?Ç>X≈>Ç>Tt?Üw£>X≈>Üw£>Tt?Γ╕>X≈>Γ╕>Tt?┤Y╒>X≈>┤Y╒>Tt?3─±>X≈>3─±>Tt?τ?X≈>τ?Tt?&S?X≈>&S?Tt?≤Ä#?X≈>≤Ä#?Tt?3─1?X≈>3─1?Tt?Ç?@?⌠█≈>═;N?⌠█≈>q\?⌠█≈>┌¼j?⌠█≈>Γx?⌠█≈>╙╝π<⌠█≈>1Ö¬=⌠█≈>═;>⌠█≈>╦G>⌠█≈>Ç>⌠█≈>Üw£>⌠█≈>Γ╕>⌠█≈>┤Y╒>⌠█≈>3─±>⌠█≈>τ?⌠█≈>&S?⌠█≈>≤Ä#?⌠█≈>3─1?⌠█≈>@?⌠>═;N?⌠>═;N??═;N?²÷?@?²÷?q\?⌠>q\??q\?²÷?┌¼j?⌠>┌¼j??┌¼j?²÷?Γx?⌠>Γx??Γx?²÷?╙╝π╝⌠█≈>╙╝π╝⌠>╙╝π<⌠>╙╝π╝?╙╝π<?╙╝π<²÷?╙╝π╝²÷?1Ö¬=⌠>1Ö¬=?1Ö¬=²÷?═;>⌠>═;>?═;>²÷?╦G>⌠>╦G>?╦G>²÷?Ç>⌠>Ç>²÷?Üw£>⌠█≈>Ç>⌠█≈>Ç>⌠>Üw£>⌠>Ç>?Üw£>?Üw£>²÷?Ç>²÷?Üw£>⌠>Γ╕>⌠>Üw£>?Γ╕>?Γ╕>²÷?Üw£>²÷?┤Y╒>⌠>┤Y╒>?┤Y╒>²÷?3─±>⌠>3─±>?3─±>²÷?τ?⌠>τ??τ?²÷?&S?⌠>&S??&S?²÷?≤Ä#?⌠>≤Ä#??≤Ä#?²÷?3─1?⌠>3─1??3─1?²÷?═;N?⌠>@?⌠>@?╪≡⌠>═;N?╪≡⌠>@?²÷?═;N?²÷?═;N?öç?@?öç?q\?⌠>q\?╪≡⌠>q\?²÷?q\?öç?┌¼j?⌠>┌¼j?╪≡⌠>┌¼j?²÷?┌¼j?öç?Γx?⌠>Γx?╪≡⌠>Γx?²÷?Γx?öç?╙╝π<⌠>╙╝π╝⌠>╙╝π╝╪≡⌠>╙╝π<╪≡⌠>╙╝π╝²÷?╙╝π<²÷?╙╝π<öç?╙╝π╝öç?1Ö¬=⌠>1Ö¬=╪≡⌠>1Ö¬=²÷?1Ö¬=öç?═;>⌠>═;>╪≡⌠>═;>²÷?═;>öç?╦G>⌠>╦G>╪≡⌠>╦G>²÷?╦G>öç?Ç>╪≡⌠>Ç>öç?Üw£>╪≡⌠>Üw£>öç?Γ╕>⌠>Γ╕>╪≡⌠>Γ╕>²÷?Γ╕>öç?┤Y╒>⌠>┤Y╒>╪≡⌠>┤Y╒>²÷?┤Y╒>öç?3─±>⌠>3─±>╪≡⌠>3─±>²÷?3─±>öç?τ?⌠>τ?╪≡⌠>τ?²÷?τ?öç?&S?⌠>&S?╪≡⌠>&S?²÷?&S?öç?≤Ä#?⌠>≤Ä#?╪≡⌠>≤Ä#?²÷?≤Ä#?öç?3─1?⌠>3─1?╪≡⌠>3─1?²÷?3─1?öç?`
  15451.         9DE9EF9FG9GH9HI9IJ9JK9K:9:;9;<9<=9=>9>?9?@9@A9AB9BC9CDáíóñѪªºñºª  º úúóóúá¿áú│╡((&│»│&&$»½»$$"½ª½"" ªsr╖╖╡s▓s╡╡│▓«▓││»«¬«»»½¬Ñ¬½½ªÑ├╟220├┐├00.┐╗┐..,╗╖╗,,*╖╡╖**(╡46545324323102101/.0/./-,.-,-+/1┼┼┴/-/┴┴╜-+-╜╜╣+)+╣╣╢)')╢╢┤'╢╣╕╝╕╣╣╜╝└╝╜╜┴└─└┴┴┼─╚─┼┼╔╚╠╚╔ú⌐¿¼¿⌐⌐¡¼░¼¡¡▒░n░▒▒┤non┤┤╢o╕o╢lmnnol%'┤┤▒%#%▒▒¡#!#¡¡⌐!!⌐⌐ú*,+*+)(*)()'&('&'%$&%$%#"$#"#! "! !h
  15452. kkihehiifebeffcb^bcc_^]^__`]w{||xwvwxxyvçèïïêçäçêêàäüäààéü~üéé~{~|{UXYYVURUVVSRNRSSONNOOPèPPïè=<QQT=>=TTW>JIââåJKJååëK:KëëL:;:LLM;<;MMQ<EDttuEFEuuzFGFzz}GHG}}ÇHIHÇÇâIôÆô╙ô8╙╧╙886╧╦╧664╦╟╦442╟ÆùÆ887687675ûÜ¢¢ùûù¢ùÖÖòòòÅòÖÿ£ÿÖÖ¥£¥Ö¥¢¢ƒƒ¢ÜÜ₧ƒÅÅÄ7ÄÄ╤757╤╤═535══╔313╔╔┼1╔═╠╨╠══╤╨ì╨╤╤ÄìîìÄÄÅîöîÅÅòöÿöò╞╩╦╦╟╞┬╞╟╟├┬╛┬├├┐╛║╛┐┐╗║r║╗╗╖rpqrrspæûùùÆæÉæÆÆôÉ╥Éôô╙╥╬╥╙╙╧╬╩╬╧╧╦╩?Z[[\?@?\\a@A@aadABAddgBCBggjCb
  15453.             9DDEE9EFF9FGG9GHH9HII9IJJ9JKK9K::9:;;9;<<9<==9=>>9>??9?@@9@AA9ABB9BCC9CDáííóóáñÑѪªñªººñª  º º úúúóóúá¿áú¿│╡╡((│(&&│»│&»&$$»½»$½$""½ª½"ª" srr╖╖s╖╡╡s▓s╡▓│▓«▓│«»«¬«»¬½¬Ñ¬½Ñ├╟╟22├200├┐├0┐0..┐╗┐.╗.,,╗╖╗,╖,**╖*╡*(466554533424323112101//0/./--.-,-++,1┼┼/┼┴┴/┴-┴╜╜-╜+╜╣╣+)+╣)╣╢╢)')╢'╢┤┤'╣╕╕╢╝╕╣╝╜╝└╝╜└┴└─└┴─┼─╚─┼╚┼╔╔╚╠╚╔╠ú⌐⌐¿¼¿⌐¼⌐¡¡¼░¼¡░¡▒▒░n░▒n▒┤┤non┤o╢o╕olmmnnlol%'┤%▒%#%▒#¡#!#¡!⌐!!⌐+*)*)('('&%&%$#$#"!"! h
  15454. kkhkiihehieiffebefbfccb^bc^c__^]^_]_``]w{{||w|xxwvwxvxyyvçèèïïçïêêçäçêäêààäüäàüàééü~üé~é~{~{|UXXYYUYVVURUVRVSSRNRSNSOONNOOPPèPèPï<QQ=QTT=T>TWW>IââJâååJåKåëëKë:ëLL:L;LMM;M<MQDttEtuuEuFuzzFzGz}}G}H}ÇÇHÇIÇâôÆÆôô╙ô╙88╙╧╙8╧866╧╦╧6╦4╦╟╦4╟ÆùùÆ87787675ûÜÜ¢¢û¢ùùû¢ùÖÖÖòòòòÅÅÖÿÿò£ÿÖ£Ö¥¥£¥¥¢¢ƒƒ܃Ü₧₧ƒÅÅÄÄÄ7Ä╤╤7╤5╤══5═3═╔╔3╔1═╠╨╠═╨╤╨ì╨╤ìÄìîìÄîÅîöîÅöòöÿö╞╩╩╦╦╞╟╞┬╞╟┬├┬╛┬├╛┐╛║╛┐║╗║r║╗rpqqrrpspæûùæÆæÉæÆÉôÉ╥Éô╥╙╥╬╥╙╬╧╬╩╬╧╩?ZZ[[?[\\?\@\aa@aAaddAdBdggBgCgjjC[)\Å┐x\O┬\ÅR┬ñp╜@x\OB\ÅRB)\Å┐x\O┬\ÅR┬ñp╜@\ÅRB)\Å┐\ÅR┬ñp╜@x\OB\ÅRBOP)\Å┐x\O┬\ÅR┬ñp╜@ AA)\Å┐x\O┬╕@┴ñp╜@\ÅRB+,)\Å┐┤Y6┬\ÅR┬ñp╜@)\Å┐x\O┬║k4┬ñp╜@ AA)\Å┐┤Y6┬Æ▄E┬ñp╜@Vâ┴└┴    
  15455. )\Å┐ò╘÷┴\ÅR┬ñp╜@)\Å┐┤Y6┬dL!┬ñp╜@ò╘÷┴└┴ )\Å┐_X┬Æ▄E┬ñp╜@Vâ┴ò┬)\Å┐┤Y6┬dL!┬├⌡¿@ò╘÷┴└┴Å┬⌡╛┤Y6┬dL!┬ñp╜@ò╘÷┴└┴Å┬⌡╛┤Y6┬dL!┬ñp╜@╒I┬└┴ÜÖÖ@Fö3┬dL!┬ñp╜@ò╘÷┴└┴)\Å┐_X┬Æ▄E┬├⌡¿@Vâ┴ò┬Å┬⌡╛_X┬Æ▄E┬ñp╜@Vâ┴ò┬)\Å┐_X┬Æ▄E┬├⌡¿@Vâ┴ò┬ )\Å┐_X┬Æ▄E┬Å┬⌡╛Vâ┴╚╪┬)\Å┐²É┴\ÅR┬ñp╜@║k4┬)\Å┐ò╘÷┴╘┌B┬ñp╜@$)\Å┐²É┴\ÅR┬├⌡¿@Ç║k4┬Å┬⌡╛²É┴\ÅR┬ñp╜@║k4┬)\Å┐²É┴\ÅR┬├⌡¿@Ç║k4┬)\Å┐²É┴\ÅR┬ÇÇ║k4┬ÜÖÖ@²É┴\ÅR┬ñp╜@║k4┬Å┬⌡╛²É┴\ÅR┬ñp╜@║k4┬ )\Å┐x\O┬\Å╥┴ñp╜@▄F&┬ AA)\Å┐M=┬║k4┬ñp╜@Æ\A'()\Å┐x\O┬\Å╥┴ñp╜@▄F&┬Æ\┴ )\Å┐x\O┬╕@┴ñp╜@M=┬ AA%&)\Å┐x\O┬\Å╥┴├⌡¿@▄F&┬Æ\┴!"Å┬⌡╛x\O┬\Å╥┴ñp╜@▄F&┬Æ\┴#$)\Å┐x\O┬\Å╥┴Ç▄F&┬Æ\┴))\Å┐x\O┬\Å╥┴├⌡¿@▄F&┬Æ\┴,Å┬⌡╛x\O┬\Å╥┴ñp╜@▄F&┬Æ\┴0ÜÖÖ@x\O┬\Å╥┴ñp╜@▄F&┬Æ\┴4)\Å┐x\O┬╕@┴ÇM=┬ AA7Å┬⌡╛x\O┬╕@┴ñp╜@M=┬ AA:)\Å┐Fö3┬║k4┬ñp╜@)*M=┬└┴ÜÖÖ@Æ\AE)\Å┐Fö3┬ò┬ñp╜@ò╘÷┴└┴>▄F&┬║k4┬ÜÖÖ@A)\Å┐x\O┬╕@┴ñp╜@ò╘÷┴dL!B-.)\Å┐M=┬ñp╜@\ÅRB=>)\Å┐x\O┬╕@┴ñp╜@▄F&┬\Å╥A/0)\Å┐x\O┬╚Añp╜@ò╘÷┴dL!B78)\Å┐x\O┬╕@┴ñp╜@M=┬ AA12)\Å┐x\O┬Æ\Añp╜@▄F&┬\Å╥A34)\Å┐x\O┬╕@┴├⌡¿@M=┬ AAIÜÖÖ@x\O┬╕@┴ñp╜@M=┬ AAM)\Å┐x\O┬Æ\A▄F&┬\Å╥APÅ┬⌡╛x\O┬Æ\Añp╜@▄F&┬\Å╥A56Å┬⌡╛x\O┬Æ\Añp╜@▄F&┬\Å╥AUÜÖÖ@¿5L┬Æ\Añp╜@▄F&┬)\╧AY)\Å┐x\O┬╚Añp╜@ò╘÷┴Γ╪B9:)\Å┐┤Y6┬└Añp╜@ò╘÷┴dL!B;<)\Å┐x\O┬╚Añp╜@,ö3┬\Å╥A[)\Å┐,ö3┬└Añp╜@ò╘÷┴Γ╪B^)\Å┐┤Y6┬└A├⌡¿@ò╘÷┴dL!BbÅ┬⌡╛┤Y6┬└Añp╜@ò╘÷┴dL!Bg)\Å┐M=┬ñp╜@@B?@)\Å┐_X┬òBñp╜@\ÅRBCDM=┬ÜÖÖ@òBl)\Å┐╒I┬ñp╜@@BAB)\Å┐╒I┬òBñp╜@Vâ┴╘k4Bpò╘÷┴ÜÖÖ@@Bs)\Å┐_X┬òBñp╜@Vâ┴Æ▄EBEF)\Å┐²É┴║k4Bñp╜@\ÅRBIJ)\Å┐_X┬òB├⌡¿@Vâ┴Æ▄EBGHÅ┬⌡╛_X┬òBñp╜@Vâ┴Æ▄EB})\Å┐_X┬òBÅ┬⌡╛¿╫ì┴Æ▄EBw)\Å┐_X┬òB├⌡¿@Vâ┴Æ▄EBy)\Å┐²É┴║k4B├⌡¿@\ÅRBKLÅ┬⌡╛²É┴║k4Bñp╜@\ÅRBMN)\Å┐²É┴║k4B\ÅRBé)\Å┐²É┴║k4B├⌡¿@\ÅRBàÅ┬⌡╛²É┴║k4Bñp╜@\ÅRBëÜÖÖ@²É┴║k4Bñp╜@\ÅRBì)\Å┐\ÅR┬ñp╜@x\OB╕@AQR)\Å┐╕@┴ñp╜@x\OB\ÅRBuv)\Å┐\ÅR┬ñp╜@M=BST)\Å┐ò╘÷AdL!┬ñp╜@x\OB╕@Aef)\Å┐Ç\ÅR┬ñp╜@_XBò┬UV)\Å┐@┬ñp╜@M=Bab)\Å┐Ç\ÅR┬ñp╜@²ÉA║k4┬WX)\Å┐VâAÆ▄E┬ñp╜@_XBò┬]^)\Å┐Ç\ÅR┬├⌡¿@²ÉA║k4┬YZÅ┬⌡╛\ÅR┬ñp╜@²ÉA║k4┬[\)\Å┐Ç\ÅR┬├⌡¿@²ÉA║k4┬É)\Å┐Ç\ÅR┬²ÉA║k4┬öÜÖÖ@\ÅR┬ñp╜@²ÉA║k4┬ùÅ┬⌡╛\ÅR┬ñp╜@²ÉA║k4┬Ü)\Å┐VâAÆ▄E┬├⌡¿@_XBò┬_`Å┬⌡╛VâAÆ▄E┬ñp╜@_XBò┬ñ)\Å┐VâAÆ▄E┬├⌡¿@_XBò┬₧)\Å┐¿╫ìAÆ▄E┬Å┬⌡╛_XBò┬ó)\Å┐@┬ñp╜@╒IBcdò┬ÜÖÖ@M=B░@┬ÜÖÖ@ò╘÷A⌐)\Å┐VâA║k4┬ñp╜@╒IBò┬¡)\Å┐ò╘÷AdL!┬ñp╜@x\OB╚┴gh)\Å┐▄F&B\Å╥┴ñp╜@x\OB╕@Amn)\Å┐ò╘÷AdL!┬ñp╜@┤Y6B└┴ij)\Å┐ò╘÷A╚╪┬ñp╜@x\OB╚┴kl)\Å┐ò╘÷AdL!┬├⌡¿@┤Y6B└┴┤Å┬⌡╛ò╘÷AdL!┬ñp╜@┤Y6B└┴╣)\Å┐ò╘÷A╚╪┬ñp╜@Fö3B└┴╛)\Å┐Fö3B\Å╥┴ñp╜@x\OB╚┴┬)\Å┐▄F&B\Å╥┴ñp╜@x\OBÆ\┴op)\Å┐M=B╕@┴ñp╜@x\OB╕@Ast)\Å┐▄F&B\Å╥┴x\OBÆ\┴┼Å┬⌡╛▄F&B\Å╥┴ñp╜@x\OBÆ\┴qrÜÖÖ@▄F&B)\╧┴ñp╜@¿5LBÆ\┴╩Å┬⌡╛▄F&B\Å╥┴ñp╜@x\OBÆ\┴╠)\Å┐M=B╕@┴├⌡¿@x\OB╕@A╨ÜÖÖ@M=B╕@┴ñp╜@x\OB╕@A╘)\Å┐╕@┴ñp╜@x\OB║k4Bwx)\Å┐ñp╜@┤Y6B\ÅRBçê)\Å┐Æ\┴ñp╜@M=B║k4Byz)\Å┐▄F&B╕@┴ñp╜@x\OB\Å╥A}~Æ\┴ÜÖÖ@M=B└A╫)\Å┐ñp╜@Fö3B║k4B{|ÜÖÖ@▄F&B║k4B█)\Å┐ò╘÷A└Añp╜@Fö3BòB▀)\Å┐M=B╕@┴ñp╜@x\OB╕@AÇ)\Å┐▄F&BÆ\Añp╜@x\OB\Å╥Aüé)\Å┐M=B╕@┴x\OB╕@AΓÅ┬⌡╛M=B╕@┴ñp╜@x\OB╕@Aσ)\Å┐▄F&BÆ\A├⌡¿@x\OB\Å╥AâäÅ┬⌡╛▄F&BÆ\Añp╜@x\OB\Å╥Aàå)\Å┐▄F&BÆ\A├⌡¿@x\OB\Å╥AΘ)\Å┐▄F&BÆ\Ax\OB\Å╥AφÜÖÖ@▄F&BÆ\Añp╜@x\OB\Å╥A≡Å┬⌡╛▄F&BÆ\Añp╜@x\OB\Å╥A≤)\Å┐ñp╜@ò╘÷A\ÅRBëè)\Å┐VâA└Añp╜@┤Y6BÆ▄EBæÆ)\Å┐ñp╜@ò╘÷A╘┌BB≈)\Å┐║k4Bñp╜@²ÉA\ÅRBïî)\Å┐║k4B├⌡¿@²ÉA\ÅRBìÄÅ┬⌡╛║k4Bñp╜@²ÉA\ÅRBÅÉ)\Å┐║k4B²ÉA\ÅRBⁿ)\Å┐║k4B├⌡¿@²ÉA\ÅRB Å┬⌡╛║k4Bñp╜@²ÉA\ÅRBÜÖÖ@║k4Bñp╜@²ÉA\ÅRB)\Å┐VâAòBñp╜@_XBÆ▄EBôö)\Å┐ò╘÷A└Añp╜@┤Y6BdL!Bùÿ)\Å┐VâAòB├⌡¿@_XBÆ▄EBòûÅ┬⌡╛VâAòBñp╜@_XBÆ▄EB)\Å┐VâA╚╪BÅ┬⌡╛_XBÆ▄EB
  15456. )\Å┐VâAòB├⌡¿@_XBÆ▄EB )\Å┐ò╘÷A└A├⌡¿@┤Y6BdL!BÅ┬⌡╛ò╘÷A└Añp╜@┤Y6BdL!BÖÜÜÖÖ@ò╘÷A└Añp╜@Fö3BdL!BÅ┬⌡╛╒IB└Añp╜@┤Y6BdL!B`.,╗┐╗x,.-|x ╗┐.,-++-╜╣╜zzu╣FEu╜╣+ x╖╗,*,+rx╗╗╖r,*╖ouE╢╣u*+)╣╢))+╣╡╖*
  15457. r(*)kr╖rk
  15458. ╖╡k*(╡joD┤╢o')╢╢┤'()'oj┤DCj
  15459. xr uo╢EDo9CD0.┐├┐||.0/┐├0|├┴╜-}z╜GFz./-╜┴}z}G-/┴20├é╟├HG}Ç}┴┼┴/01/ |uzFx|┐9EF9DE 9GH9FGé├╟2é╟021/1┼┴┼Ç}ÇHàé42╟éà╦à╦╟é╔┼1231âÇ┼IHÇ┼╔âÇâI╟╦413╔243JIâ╧╦àêàåâ╔àê╧46564╦ê╦╧635═âåJ═╔3453╔═å9IJ9HIïêKJåëå═9K:9JK╙╧ê86╧╧╙8êï╙ï687╤═5åëK67557╤═╤ëPïô╙ï8╙P╙ôïPô887Lë╤Ä╤7:KëëL:7Ä╤ÄL    
  15460. kik╡│╡(&('ki    (&│╡│igjC▒┤j%'┤CBg&'%jg▒┤▒%fi│    i»│&$&%│»f&$»$%#dgB¡▒g#%▒▒¡#
  15461.         9BC9ABgd¡BAdif9?@9@A"$#cf»f½»$$"½"#!¡⌐!!#¡adA⌐¡dfcA@a»½cda⌐ "!!⌐ª½"c_½ª__c½" ªc\a@ú⌐a !@?\⌐úa\ú Y_ªƒª _W\?¥ú\ú9=>9>?9<=9;<SV¢QT=V ƒªƒY_Y\W¥?>Wú¥YVYƒ¢ƒƒ¢V¢YVTW>Ö¥W¥¥Ö>=TWTÖQMÅSO9:;<;MôOPÆôPôÆOPOÆ;:LÅÄMLÄLM;ÅÄÅMùÆOÆSÆùOSùMQ<òÅòÅòQVS¢ùSùù¢=<QÖòTQòòÖTÖ╓∞hÇVâA║k4B@B??î╣+?`▒┐<?εδ╗Ç?═;N??@??            ÇÇò╘÷AòBVâA║k4B??£3R? ZΣ=î╣+?`▒┐<Ç?q\??═;N??            ÇÇ▄F&B└Aò╘÷AòB??α╛n?HP|>£3R? ZΣ=Ç?┌¼j??q\??            ÇÇM=BÆ\A▄F&B└A??)φ}?ÄΣ╥>α╛n?HP|>Ç?Γx??┌¼j??            ÇÇÇM=BÆ\┴M=BÆ\A??)φ}?╕ì?)φ}?ÄΣ╥>Ç?╙╝π<?Γx??            ÇÇÇ▄F&B└┴ÇM=BÆ\┴??α╛n?εδ@?)φ}?╕ì?Ç?1Ö¬=?╙╝π<?            ÇÇÇò╘÷Aò┬Ç▄F&B└┴??£3R?╝tc?α╛n?εδ@?Ç?═;>?1Ö¬=?            ÇÇÇVâA║k4┬Çò╘÷Aò┬??î╣+?uz?£3R?╝tc?Ç?╦G>?═;>?            ÇÇÇÇ@┬ÇVâA║k4┬???εδÇ?î╣+?uz?Ç?Ç>?╦G>?            ÇÇÇVâ┴║k4┬ÇÇ@┬??τî¿>uz??εδÇ?Ç?Üw£>?Ç>?            ÇÇÇò╘÷┴ò┬ÇVâ┴║k4┬??É17>╝tc?τî¿>uz?Ç?Γ╕>?Üw£>?            ÇÇÇ▄F&┬└┴Çò╘÷┴ò┬??    è=εδ@?É17>╝tc?Ç?┤Y╒>?Γ╕>?            ÇÇÇM=┬Æ\┴Ç▄F&┬└┴??▌╡<╕ì?    è=εδ@?Ç?3─±>?┤Y╒>?            ÇÇM=┬Æ\AÇM=┬Æ\┴??▌╡<ÄΣ╥>▌╡<╕ì?Ç?τ??3─±>?            ÇÇ▄F&┬└AM=┬Æ\A??    è=HP|>▌╡<ÄΣ╥>Ç?&S??τ??            ÇÇò╘÷┴òB▄F&┬└A??É17> ZΣ=    è=HP|>Ç?≤Ä#??&S??            ÇÇVâ┴║k4Bò╘÷┴òB??τî¿>`▒┐<É17> ZΣ=Ç?3─1??≤Ä#??            ÇÇ@BVâ┴║k4B???εδ╗τî¿>`▒┐<Ç?@??3─1??            ÇÅ┬⌡╛\ÅRB├⌡¿@²ÉAÆ▄EB├⌡¿@\ÅRB?εδ╗τî¿>`▒┐<?εδ╗@?Tt?═;N?X≈>@?X≈>            Å┬⌡╛\ÅRBÅ┬⌡╛²ÉAÆ▄EB├⌡¿@²ÉAÆ▄EB?εδ╗τî¿>`▒┐<τî¿>`▒┐<@?Tt?═;N?Tt?═;N?X≈>            Å┬⌡╛²ÉAÆ▄EB├⌡¿@_XBdL!B├⌡¿@²ÉAÆ▄EBτî¿>`▒┐<É17> ZΣ=τî¿>`▒┐<═;N?Tt?q\?X≈>═;N?X≈>            Å┬⌡╛²ÉAÆ▄EBÅ┬⌡╛_XBdL!B├⌡¿@_XBdL!Bτî¿>`▒┐<É17> ZΣ=É17> ZΣ=═;N?Tt?q\?Tt?q\?X≈>            Å┬⌡╛_XBdL!B├⌡¿@┤Y6B\Å╥A├⌡¿@_XBdL!BÉ17> ZΣ=    è=HP|>É17> ZΣ=q\?Tt?┌¼j?X≈>q\?X≈>            Å┬⌡╛_XBdL!BÅ┬⌡╛┤Y6B\Å╥A├⌡¿@┤Y6B\Å╥AÉ17> ZΣ=    è=HP|>    è=HP|>q\?Tt?┌¼j?Tt?┌¼j?X≈>            Å┬⌡╛┤Y6B\Å╥A├⌡¿@x\OB╕@A├⌡¿@┤Y6B\Å╥A    è=HP|>▌╡<ÄΣ╥>    è=HP|>┌¼j?Tt?Γx?X≈>┌¼j?X≈>            Å┬⌡╛┤Y6B\Å╥AÅ┬⌡╛x\OB╕@A├⌡¿@x\OB╕@A    è=HP|>▌╡<ÄΣ╥>▌╡<ÄΣ╥>┌¼j?Tt?Γx?Tt?Γx?X≈>            Å┬⌡╛x\OB╕@A├⌡¿@x\OB╕@┴├⌡¿@x\OB╕@A▌╡<ÄΣ╥>▌╡<╕ì?▌╡<ÄΣ╥>╙╝π╝Tt?╙╝π<X≈>╙╝π╝X≈>            Å┬⌡╛x\OB╕@AÅ┬⌡╛x\OB╕@┴├⌡¿@x\OB╕@┴▌╡<ÄΣ╥>▌╡<╕ì?▌╡<╕ì?╙╝π╝Tt?╙╝π<Tt?╙╝π<X≈>            Å┬⌡╛x\OB╕@┴├⌡¿@┤Y6B\Å╥┴├⌡¿@x\OB╕@┴▌╡<╕ì?    è=εδ@?▌╡<╕ì?╙╝π<Tt?1Ö¬=X≈>╙╝π<X≈>            Å┬⌡╛x\OB╕@┴Å┬⌡╛┤Y6B\Å╥┴├⌡¿@┤Y6B\Å╥┴▌╡<╕ì?    è=εδ@?    è=εδ@?╙╝π<Tt?1Ö¬=Tt?1Ö¬=X≈>            Å┬⌡╛┤Y6B\Å╥┴├⌡¿@_XBdL!┬├⌡¿@┤Y6B\Å╥┴    è=εδ@?É17>╝tc?    è=εδ@?1Ö¬=Tt?═;>X≈>1Ö¬=X≈>            Å┬⌡╛┤Y6B\Å╥┴Å┬⌡╛_XBdL!┬├⌡¿@_XBdL!┬    è=εδ@?É17>╝tc?É17>╝tc?1Ö¬=Tt?═;>Tt?═;>X≈>            Å┬⌡╛_XBdL!┬├⌡¿@²ÉAÆ▄E┬├⌡¿@_XBdL!┬É17>╝tc?τî¿>uz?É17>╝tc?═;>Tt?╦G>X≈>═;>X≈>            Å┬⌡╛_XBdL!┬Å┬⌡╛²ÉAÆ▄E┬├⌡¿@²ÉAÆ▄E┬É17>╝tc?τî¿>uz?τî¿>uz?═;>Tt?╦G>Tt?╦G>X≈>            Å┬⌡╛²ÉAÆ▄E┬├⌡¿@Ç\ÅR┬├⌡¿@²ÉAÆ▄E┬τî¿>uz??εδÇ?τî¿>uz?╦G>Tt?Ç>X≈>╦G>X≈>            Å┬⌡╛²ÉAÆ▄E┬Å┬⌡╛Ç\ÅR┬├⌡¿@Ç\ÅR┬τî¿>uz??εδÇ??εδÇ?╦G>Tt?Ç>Tt?Ç>X≈>            Å┬⌡╛Ç\ÅR┬├⌡¿@²É┴Æ▄E┬├⌡¿@Ç\ÅR┬?εδÇ?î╣+?uz??εδÇ?Ç>Tt?Üw£>X≈>Ç>X≈>            Å┬⌡╛Ç\ÅR┬Å┬⌡╛²É┴Æ▄E┬├⌡¿@²É┴Æ▄E┬?εδÇ?î╣+?uz?î╣+?uz?Ç>Tt?Üw£>Tt?Üw£>X≈>            Å┬⌡╛²É┴Æ▄E┬├⌡¿@_X┬dL!┬├⌡¿@²É┴Æ▄E┬î╣+?uz?£3R?╝tc?î╣+?uz?Üw£>Tt?Γ╕>X≈>Üw£>X≈>            Å┬⌡╛²É┴Æ▄E┬Å┬⌡╛_X┬dL!┬├⌡¿@_X┬dL!┬î╣+?uz?£3R?╝tc?£3R?╝tc?Üw£>Tt?Γ╕>Tt?Γ╕>X≈>            Å┬⌡╛_X┬dL!┬├⌡¿@┤Y6┬\Å╥┴├⌡¿@_X┬dL!┬£3R?╝tc?α╛n?εδ@?£3R?╝tc?Γ╕>Tt?┤Y╒>X≈>Γ╕>X≈>            Å┬⌡╛_X┬dL!┬Å┬⌡╛┤Y6┬\Å╥┴├⌡¿@┤Y6┬\Å╥┴£3R?╝tc?α╛n?εδ@?α╛n?εδ@?Γ╕>Tt?┤Y╒>Tt?┤Y╒>X≈>            Å┬⌡╛┤Y6┬\Å╥┴├⌡¿@x\O┬╕@┴├⌡¿@┤Y6┬\Å╥┴α╛n?εδ@?)φ}?╕ì?α╛n?εδ@?┤Y╒>Tt?3─±>X≈>┤Y╒>X≈>            Å┬⌡╛┤Y6┬\Å╥┴Å┬⌡╛x\O┬╕@┴├⌡¿@x\O┬╕@┴α╛n?εδ@?)φ}?╕ì?)φ}?╕ì?┤Y╒>Tt?3─±>Tt?3─±>X≈>            Å┬⌡╛x\O┬╕@┴├⌡¿@x\O┬ AA├⌡¿@x\O┬╕@┴)φ}?╕ì?)φ}?ÄΣ╥>)φ}?╕ì?3─±>Tt?τ?X≈>3─±>X≈>            Å┬⌡╛x\O┬╕@┴Å┬⌡╛x\O┬ AA├⌡¿@x\O┬ AA)φ}?╕ì?)φ}?ÄΣ╥>)φ}?ÄΣ╥>3─±>Tt?τ?Tt?τ?X≈>            Å┬⌡╛x\O┬ AA├⌡¿@┤Y6┬\Å╥A├⌡¿@x\O┬ AA)φ}?ÄΣ╥>α╛n?HP|>)φ}?ÄΣ╥>τ?Tt?&S?X≈>τ?X≈>            Å┬⌡╛x\O┬ AAÅ┬⌡╛┤Y6┬\Å╥A├⌡¿@┤Y6┬\Å╥A)φ}?ÄΣ╥>α╛n?HP|>α╛n?HP|>τ?Tt?&S?Tt?&S?X≈>            Å┬⌡╛┤Y6┬\Å╥A├⌡¿@_X┬dL!B├⌡¿@┤Y6┬\Å╥Aα╛n?HP|>£3R? ZΣ=α╛n?HP|>&S?Tt?≤Ä#?X≈>&S?X≈>            Å┬⌡╛┤Y6┬\Å╥AÅ┬⌡╛_X┬dL!B├⌡¿@_X┬dL!Bα╛n?HP|>£3R? ZΣ=£3R? ZΣ=&S?Tt?≤Ä#?Tt?≤Ä#?X≈>            Å┬⌡╛_X┬dL!B├⌡¿@²É┴Æ▄EB├⌡¿@_X┬dL!B£3R? ZΣ=î╣+?`▒┐<£3R? ZΣ=≤Ä#?Tt?3─1?X≈>≤Ä#?X≈>            Å┬⌡╛_X┬dL!BÅ┬⌡╛²É┴Æ▄EB├⌡¿@²É┴Æ▄EB£3R? ZΣ=î╣+?`▒┐<î╣+?`▒┐<≤Ä#?Tt?3─1?Tt?3─1?X≈>            Å┬⌡╛²É┴Æ▄EB├⌡¿@\ÅRB├⌡¿@²É┴Æ▄EBî╣+?`▒┐<?εδ╗î╣+?`▒┐<3─1?Tt?@?X≈>3─1?X≈>            Å┬⌡╛²É┴Æ▄EBÅ┬⌡╛\ÅRB├⌡¿@\ÅRBî╣+?`▒┐<?εδ╗?εδ╗3─1?Tt?@?Tt?@?X≈>            ÜÖÖ@ÇÜÖÖ@@BÜÖÖ@VâA║k4B???εδ╗τî¿>`▒┐<Ç?@?⌠█≈>═;N?⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@VâA║k4BÜÖÖ@ò╘÷AòB??τî¿>`▒┐<É17> ZΣ=Ç?═;N?⌠█≈>q\?⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@ò╘÷AòBÜÖÖ@▄F&B└A??É17> ZΣ=    è=HP|>Ç?q\?⌠█≈>┌¼j?⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@▄F&B└AÜÖÖ@M=BÆ\A??    è=HP|>▌╡<ÄΣ╥>Ç?┌¼j?⌠█≈>Γx?⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@M=BÆ\AÜÖÖ@M=BÆ\┴??▌╡<ÄΣ╥>▌╡<╕ì?Ç?Γx?⌠█≈>╙╝π<⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@M=BÆ\┴ÜÖÖ@▄F&B└┴??▌╡<╕ì?    è=εδ@?Ç?╙╝π<⌠█≈>1Ö¬=⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@▄F&B└┴ÜÖÖ@ò╘÷Aò┬??    è=εδ@?É17>╝tc?Ç?1Ö¬=⌠█≈>═;>⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@ò╘÷Aò┬ÜÖÖ@VâA║k4┬??É17>╝tc?τî¿>uz?Ç?═;>⌠█≈>╦G>⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@VâA║k4┬ÜÖÖ@Ç@┬??τî¿>uz??εδÇ?Ç?╦G>⌠█≈>Ç>⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@Ç@┬ÜÖÖ@Vâ┴║k4┬???εδÇ?î╣+?uz?Ç?Ç>⌠█≈>Üw£>⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@Vâ┴║k4┬ÜÖÖ@ò╘÷┴ò┬??î╣+?uz?£3R?╝tc?Ç?Üw£>⌠█≈>Γ╕>⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@ò╘÷┴ò┬ÜÖÖ@▄F&┬└┴??£3R?╝tc?α╛n?εδ@?Ç?Γ╕>⌠█≈>┤Y╒>⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@▄F&┬└┴ÜÖÖ@M=┬Æ\┴??α╛n?εδ@?)φ}?╕ì?Ç?┤Y╒>⌠█≈>3─±>⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@M=┬Æ\┴ÜÖÖ@M=┬Æ\A??)φ}?╕ì?)φ}?ÄΣ╥>Ç?3─±>⌠█≈>τ?⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@M=┬Æ\AÜÖÖ@▄F&┬└A??)φ}?ÄΣ╥>α╛n?HP|>Ç?τ?⌠█≈>&S?⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@▄F&┬└AÜÖÖ@ò╘÷┴òB??α╛n?HP|>£3R? ZΣ=Ç?&S?⌠█≈>≤Ä#?⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@ò╘÷┴òBÜÖÖ@Vâ┴║k4B??£3R? ZΣ=î╣+?`▒┐<Ç?≤Ä#?⌠█≈>3─1?⌠█≈>            ÇÜÖÖ@ÇÜÖÖ@Vâ┴║k4BÜÖÖ@@B??î╣+?`▒┐<?εδ╗Ç?3─1?⌠█≈>@?⌠█≈>            Ç@BVâA║k4BVâA║k4B?εδ╗τî¿>`▒┐<τî¿>`▒┐<@??═;N??═;N??            ÇVâA║k4B@B@Bτî¿>`▒┐<?εδ╗?εδ╗═;N??@??@??            ÇVâA║k4Bò╘÷AòBò╘÷AòBτî¿>`▒┐<É17> ZΣ=É17> ZΣ=═;N??q\??q\??            Çò╘÷AòBVâA║k4BVâA║k4BÉ17> ZΣ=τî¿>`▒┐<τî¿>`▒┐<q\??═;N??═;N??            Çò╘÷AòB▄F&B└A▄F&B└AÉ17> ZΣ=    è=HP|>    è=HP|>q\??┌¼j??┌¼j??            Ç▄F&B└Aò╘÷AòBò╘÷AòB    è=HP|>É17> ZΣ=É17> ZΣ=┌¼j??q\??q\??            Ç▄F&B└AM=BÆ\AM=BÆ\A    è=HP|>▌╡<ÄΣ╥>▌╡<ÄΣ╥>┌¼j??Γx??Γx??            ÇM=BÆ\A▄F&B└A▄F&B└A▌╡<ÄΣ╥>    è=HP|>    è=HP|>Γx??┌¼j??┌¼j??            ÇM=BÆ\AÇM=BÆ\┴ÇM=BÆ\┴▌╡<ÄΣ╥>▌╡<╕ì?▌╡<╕ì?╙╝π╝?╙╝π<?╙╝π<?            ÇÇM=BÆ\┴M=BÆ\AM=BÆ\A▌╡<╕ì?▌╡<ÄΣ╥>▌╡<ÄΣ╥>╙╝π<?╙╝π╝?╙╝π╝?            ÇÇM=BÆ\┴Ç▄F&B└┴Ç▄F&B└┴▌╡<╕ì?    è=εδ@?    è=εδ@?╙╝π<?1Ö¬=?1Ö¬=?            ÇÇ▄F&B└┴ÇM=BÆ\┴ÇM=BÆ\┴    è=εδ@?▌╡<╕ì?▌╡<╕ì?1Ö¬=?╙╝π<?╙╝π<?            ÇÇ▄F&B└┴Çò╘÷Aò┬Çò╘÷Aò┬    è=εδ@?É17>╝tc?É17>╝tc?1Ö¬=?═;>?═;>?            ÇÇò╘÷Aò┬Ç▄F&B└┴Ç▄F&B└┴É17>╝tc?    è=εδ@?    è=εδ@?═;>?1Ö¬=?1Ö¬=?            ÇÇò╘÷Aò┬ÇVâA║k4┬ÇVâA║k4┬É17>╝tc?τî¿>uz?τî¿>uz?═;>?╦G>?╦G>?            ÇÇVâA║k4┬Çò╘÷Aò┬Çò╘÷Aò┬τî¿>uz?É17>╝tc?É17>╝tc?╦G>?═;>?═;>?            ÇÇVâA║k4┬ÇÇ@┬ÇÇ@┬τî¿>uz??εδÇ??εδÇ?╦G>?Ç>?Ç>?            ÇÇÇ@┬ÇVâA║k4┬ÇVâA║k4┬?εδÇ?τî¿>uz?τî¿>uz?Ç>?╦G>?╦G>?            ÇÇÇ@┬ÇVâ┴║k4┬ÇVâ┴║k4┬?εδÇ?î╣+?uz?î╣+?uz?Ç>?Üw£>?Üw£>?            ÇVâ┴║k4┬ÇÇ@┬ÇÇ@┬î╣+?uz??εδÇ??εδÇ?Üw£>?Ç>?Ç>?            ÇVâ┴║k4┬Çò╘÷┴ò┬Çò╘÷┴ò┬î╣+?uz?£3R?╝tc?£3R?╝tc?Üw£>?Γ╕>?Γ╕>?            ÇÇò╘÷┴ò┬ÇVâ┴║k4┬ÇVâ┴║k4┬£3R?╝tc?î╣+?uz?î╣+?uz?Γ╕>?Üw£>?Üw£>?            ÇÇò╘÷┴ò┬Ç▄F&┬└┴Ç▄F&┬└┴£3R?╝tc?α╛n?εδ@?α╛n?εδ@?Γ╕>?┤Y╒>?┤Y╒>?            ÇÇ▄F&┬└┴Çò╘÷┴ò┬Çò╘÷┴ò┬α╛n?εδ@?£3R?╝tc?£3R?╝tc?┤Y╒>?Γ╕>?Γ╕>?            ÇÇ▄F&┬└┴ÇM=┬Æ\┴ÇM=┬Æ\┴α╛n?εδ@?)φ}?╕ì?)φ}?╕ì?┤Y╒>?3─±>?3─±>?            ÇÇM=┬Æ\┴Ç▄F&┬└┴Ç▄F&┬└┴)φ}?╕ì?α╛n?εδ@?α╛n?εδ@?3─±>?┤Y╒>?┤Y╒>?            ÇÇM=┬Æ\┴M=┬Æ\AM=┬Æ\A)φ}?╕ì?)φ}?ÄΣ╥>)φ}?ÄΣ╥>3─±>?τ??τ??            ÇM=┬Æ\AÇM=┬Æ\┴ÇM=┬Æ\┴)φ}?ÄΣ╥>)φ}?╕ì?)φ}?╕ì?τ??3─±>?3─±>?            ÇM=┬Æ\A▄F&┬└A▄F&┬└A)φ}?ÄΣ╥>α╛n?HP|>α╛n?HP|>τ??&S??&S??            Ç▄F&┬└AM=┬Æ\AM=┬Æ\Aα╛n?HP|>)φ}?ÄΣ╥>)φ}?ÄΣ╥>&S??τ??τ??            Ç▄F&┬└Aò╘÷┴òBò╘÷┴òBα╛n?HP|>£3R? ZΣ=£3R? ZΣ=&S??≤Ä#??≤Ä#??            Çò╘÷┴òB▄F&┬└A▄F&┬└A£3R? ZΣ=α╛n?HP|>α╛n?HP|>≤Ä#??&S??&S??            Çò╘÷┴òBVâ┴║k4BVâ┴║k4B£3R? ZΣ=î╣+?`▒┐<î╣+?`▒┐<≤Ä#??3─1??3─1??            ÇVâ┴║k4Bò╘÷┴òBò╘÷┴òBî╣+?`▒┐<£3R? ZΣ=£3R? ZΣ=3─1??≤Ä#??≤Ä#??            ÇVâ┴║k4B@B@Bî╣+?`▒┐<?εδ╗?εδ╗3─1??@??@??            Ç@BVâ┴║k4BVâ┴║k4B?εδ╗î╣+?`▒┐<î╣+?`▒┐<@??3─1??3─1??            ÇÜÖÖ@VâA║k4BÜÖÖ@@BÜÖÖ@@Bτî¿>`▒┐<?εδ╗?εδ╗═;N?⌠█≈>@?⌠█≈>@?⌠█≈>            ÇÜÖÖ@@BÜÖÖ@VâA║k4BÜÖÖ@VâA║k4B?εδ╗τî¿>`▒┐<τî¿>`▒┐<@?⌠█≈>═;N?⌠█≈>═;N?⌠█≈>            ÇÜÖÖ@ò╘÷AòBÜÖÖ@VâA║k4BÜÖÖ@VâA║k4BÉ17> ZΣ=τî¿>`▒┐<τî¿>`▒┐<q\?⌠█≈>═;N?⌠█≈>═;N?⌠█≈>            ÇÜÖÖ@VâA║k4BÜÖÖ@ò╘÷AòBÜÖÖ@ò╘÷AòBτî¿>`▒┐<É17> ZΣ=É17> ZΣ=═;N?⌠█≈>q\?⌠█≈>q\?⌠█≈>            ÇÜÖÖ@▄F&B└AÜÖÖ@ò╘÷AòBÜÖÖ@ò╘÷AòB    è=HP|>É17> ZΣ=É17> ZΣ=┌¼j?⌠█≈>q\?⌠█≈>q\?⌠█≈>            ÇÜÖÖ@ò╘÷AòBÜÖÖ@▄F&B└AÜÖÖ@▄F&B└AÉ17> ZΣ=    è=HP|>    è=HP|>q\?⌠█≈>┌¼j?⌠█≈>┌¼j?⌠█≈>            ÇÜÖÖ@M=BÆ\AÜÖÖ@▄F&B└AÜÖÖ@▄F&B└A▌╡<ÄΣ╥>    è=HP|>    è=HP|>Γx?⌠█≈>┌¼j?⌠█≈>┌¼j?⌠█≈>            ÇÜÖÖ@▄F&B└AÜÖÖ@M=BÆ\AÜÖÖ@M=BÆ\A    è=HP|>▌╡<ÄΣ╥>▌╡<ÄΣ╥>┌¼j?⌠█≈>Γx?⌠█≈>Γx?⌠█≈>            ÇÜÖÖ@M=BÆ\┴ÜÖÖ@M=BÆ\AÜÖÖ@M=BÆ\A▌╡<╕ì?▌╡<ÄΣ╥>▌╡<ÄΣ╥>╙╝π<⌠█≈>╙╝π╝⌠█≈>╙╝π╝⌠█≈>            ÇÜÖÖ@M=BÆ\AÜÖÖ@M=BÆ\┴ÜÖÖ@M=BÆ\┴▌╡<ÄΣ╥>▌╡<╕ì?▌╡<╕ì?╙╝π╝⌠█≈>╙╝π<⌠█≈>╙╝π<⌠█≈>            ÇÜÖÖ@▄F&B└┴ÜÖÖ@M=BÆ\┴ÜÖÖ@M=BÆ\┴    è=εδ@?▌╡<╕ì?▌╡<╕ì?1Ö¬=⌠█≈>╙╝π<⌠█≈>╙╝π<⌠█≈>            ÇÜÖÖ@M=BÆ\┴ÜÖÖ@▄F&B└┴ÜÖÖ@▄F&B└┴▌╡<╕ì?    è=εδ@?    è=εδ@?╙╝π<⌠█≈>1Ö¬=⌠█≈>1Ö¬=⌠█≈>            ÇÜÖÖ@ò╘÷Aò┬ÜÖÖ@▄F&B└┴ÜÖÖ@▄F&B└┴É17>╝tc?    è=εδ@?    è=εδ@?═;>⌠█≈>1Ö¬=⌠█≈>1Ö¬=⌠█≈>            ÇÜÖÖ@▄F&B└┴ÜÖÖ@ò╘÷Aò┬ÜÖÖ@ò╘÷Aò┬    è=εδ@?É17>╝tc?É17>╝tc?1Ö¬=⌠█≈>═;>⌠█≈>═;>⌠█≈>            ÇÜÖÖ@VâA║k4┬ÜÖÖ@ò╘÷Aò┬ÜÖÖ@ò╘÷Aò┬τî¿>uz?É17>╝tc?É17>╝tc?╦G>⌠█≈>═;>⌠█≈>═;>⌠█≈>            ÇÜÖÖ@ò╘÷Aò┬ÜÖÖ@VâA║k4┬ÜÖÖ@VâA║k4┬É17>╝tc?τî¿>uz?τî¿>uz?═;>⌠█≈>╦G>⌠█≈>╦G>⌠█≈>            ÇÜÖÖ@Ç@┬ÜÖÖ@VâA║k4┬ÜÖÖ@VâA║k4┬?εδÇ?τî¿>uz?τî¿>uz?Ç>⌠█≈>╦G>⌠█≈>╦G>⌠█≈>            ÇÜÖÖ@VâA║k4┬ÜÖÖ@Ç@┬ÜÖÖ@Ç@┬τî¿>uz??εδÇ??εδÇ?╦G>⌠█≈>Ç>⌠█≈>Ç>⌠█≈>            ÇÜÖÖ@Vâ┴║k4┬ÜÖÖ@Ç@┬ÜÖÖ@Ç@┬î╣+?uz??εδÇ??εδÇ?Üw£>⌠█≈>Ç>⌠█≈>Ç>⌠█≈>            ÜÖÖ@Ç@┬ÜÖÖ@Vâ┴║k4┬ÜÖÖ@Vâ┴║k4┬?εδÇ?î╣+?uz?î╣+?uz?Ç>⌠█≈>Üw£>⌠█≈>Üw£>⌠█≈>            ÜÖÖ@ò╘÷┴ò┬ÜÖÖ@Vâ┴║k4┬ÜÖÖ@Vâ┴║k4┬£3R?╝tc?î╣+?uz?î╣+?uz?Γ╕>⌠█≈>Üw£>⌠█≈>Üw£>⌠█≈>            ÇÜÖÖ@Vâ┴║k4┬ÜÖÖ@ò╘÷┴ò┬ÜÖÖ@ò╘÷┴ò┬î╣+?uz?£3R?╝tc?£3R?╝tc?Üw£>⌠█≈>Γ╕>⌠█≈>Γ╕>⌠█≈>            ÇÜÖÖ@▄F&┬└┴ÜÖÖ@ò╘÷┴ò┬ÜÖÖ@ò╘÷┴ò┬α╛n?εδ@?£3R?╝tc?£3R?╝tc?┤Y╒>⌠█≈>Γ╕>⌠█≈>Γ╕>⌠█≈>            ÇÜÖÖ@ò╘÷┴ò┬ÜÖÖ@▄F&┬└┴ÜÖÖ@▄F&┬└┴£3R?╝tc?α╛n?εδ@?α╛n?εδ@?Γ╕>⌠█≈>┤Y╒>⌠█≈>┤Y╒>⌠█≈>            ÇÜÖÖ@M=┬Æ\┴ÜÖÖ@▄F&┬└┴ÜÖÖ@▄F&┬└┴)φ}?╕ì?α╛n?εδ@?α╛n?εδ@?3─±>⌠█≈>┤Y╒>⌠█≈>┤Y╒>⌠█≈>            ÇÜÖÖ@▄F&┬└┴ÜÖÖ@M=┬Æ\┴ÜÖÖ@M=┬Æ\┴α╛n?εδ@?)φ}?╕ì?)φ}?╕ì?┤Y╒>⌠█≈>3─±>⌠█≈>3─±>⌠█≈>            ÇÜÖÖ@M=┬Æ\AÜÖÖ@M=┬Æ\┴ÜÖÖ@M=┬Æ\┴)φ}?ÄΣ╥>)φ}?╕ì?)φ}?╕ì?τ?⌠█≈>3─±>⌠█≈>3─±>⌠█≈>            ÇÜÖÖ@M=┬Æ\┴ÜÖÖ@M=┬Æ\AÜÖÖ@M=┬Æ\A)φ}?╕ì?)φ}?ÄΣ╥>)φ}?ÄΣ╥>3─±>⌠█≈>τ?⌠█≈>τ?⌠█≈>            ÇÜÖÖ@▄F&┬└AÜÖÖ@M=┬Æ\AÜÖÖ@M=┬Æ\Aα╛n?HP|>)φ}?ÄΣ╥>)φ}?ÄΣ╥>&S?⌠█≈>τ?⌠█≈>τ?⌠█≈>            ÇÜÖÖ@M=┬Æ\AÜÖÖ@▄F&┬└AÜÖÖ@▄F&┬└A)φ}?ÄΣ╥>α╛n?HP|>α╛n?HP|>τ?⌠█≈>&S?⌠█≈>&S?⌠█≈>            ÇÜÖÖ@ò╘÷┴òBÜÖÖ@▄F&┬└AÜÖÖ@▄F&┬└A£3R? ZΣ=α╛n?HP|>α╛n?HP|>≤Ä#?⌠█≈>&S?⌠█≈>&S?⌠█≈>            ÇÜÖÖ@▄F&┬└AÜÖÖ@ò╘÷┴òBÜÖÖ@ò╘÷┴òBα╛n?HP|>£3R? ZΣ=£3R? ZΣ=&S?⌠█≈>≤Ä#?⌠█≈>≤Ä#?⌠█≈>            ÇÜÖÖ@Vâ┴║k4BÜÖÖ@ò╘÷┴òBÜÖÖ@ò╘÷┴òBî╣+?`▒┐<£3R? ZΣ=£3R? ZΣ=3─1?⌠█≈>≤Ä#?⌠█≈>≤Ä#?⌠█≈>            ÇÜÖÖ@ò╘÷┴òBÜÖÖ@Vâ┴║k4BÜÖÖ@Vâ┴║k4B£3R? ZΣ=î╣+?`▒┐<î╣+?`▒┐<≤Ä#?⌠█≈>3─1?⌠█≈>3─1?⌠█≈>            ÇÜÖÖ@@BÜÖÖ@Vâ┴║k4BÜÖÖ@Vâ┴║k4B?εδ╗î╣+?`▒┐<î╣+?`▒┐<@?⌠█≈>3─1?⌠█≈>3─1?⌠█≈>            ÇÜÖÖ@Vâ┴║k4BÜÖÖ@@BÜÖÖ@@Bî╣+?`▒┐<?εδ╗?εδ╗3─1?⌠█≈>@?⌠█≈>@?⌠█≈>            ÇÜÖÖ@VâA║k4BÜÖÖ@@Bñp╜@@Bτî¿>`▒┐<?εδ╗?εδ╗═;N?⌠█≈>@?⌠█≈>@?⌠>            Çñp╜@@Bñp╜@VâA║k4BÜÖÖ@VâA║k4B?εδ╗τî¿>`▒┐<τî¿>`▒┐<@?⌠>═;N?⌠>═;N?⌠█≈>            Ç@BVâA║k4B)\Å┐VâA║k4B?εδ╗τî¿>`▒┐<τî¿>`▒┐<@??═;N??═;N?²÷?            Ç)\Å┐VâA║k4B)\Å┐@B@Bτî¿>`▒┐<?εδ╗?εδ╗═;N?²÷?@?²÷?@??            ÇÜÖÖ@ò╘÷AòBÜÖÖ@VâA║k4Bñp╜@VâA║k4BÉ17> ZΣ=τî¿>`▒┐<τî¿>`▒┐<q\?⌠█≈>═;N?⌠█≈>═;N?⌠>            Çñp╜@VâA║k4Bñp╜@ò╘÷AòBÜÖÖ@ò╘÷AòBτî¿>`▒┐<É17> ZΣ=É17> ZΣ=═;N?⌠>q\?⌠>q\?⌠█≈>            ÇVâA║k4Bò╘÷AòB)\Å┐ò╘÷AòBτî¿>`▒┐<É17> ZΣ=É17> ZΣ=═;N??q\??q\?²÷?            Ç)\Å┐ò╘÷AòB)\Å┐VâA║k4BVâA║k4BÉ17> ZΣ=τî¿>`▒┐<τî¿>`▒┐<q\?²÷?═;N?²÷?═;N??            ÇÜÖÖ@▄F&B└AÜÖÖ@ò╘÷AòBñp╜@ò╘÷AòB    è=HP|>É17> ZΣ=É17> ZΣ=┌¼j?⌠█≈>q\?⌠█≈>q\?⌠>            Çñp╜@ò╘÷AòBñp╜@▄F&B└AÜÖÖ@▄F&B└AÉ17> ZΣ=    è=HP|>    è=HP|>q\?⌠>┌¼j?⌠>┌¼j?⌠█≈>            Çò╘÷AòB▄F&B└A)\Å┐▄F&B└AÉ17> ZΣ=    è=HP|>    è=HP|>q\??┌¼j??┌¼j?²÷?            Ç)\Å┐▄F&B└A)\Å┐ò╘÷AòBò╘÷AòB    è=HP|>É17> ZΣ=É17> ZΣ=┌¼j?²÷?q\?²÷?q\??            ÇÜÖÖ@M=BÆ\AÜÖÖ@▄F&B└Añp╜@▄F&B└A▌╡<ÄΣ╥>    è=HP|>    è=HP|>Γx?⌠█≈>┌¼j?⌠█≈>┌¼j?⌠>            Çñp╜@▄F&B└Añp╜@M=BÆ\AÜÖÖ@M=BÆ\A    è=HP|>▌╡<ÄΣ╥>▌╡<ÄΣ╥>┌¼j?⌠>Γx?⌠>Γx?⌠█≈>            Ç▄F&B└AM=BÆ\A)\Å┐M=BÆ\A    è=HP|>▌╡<ÄΣ╥>▌╡<ÄΣ╥>┌¼j??Γx??Γx?²÷?            Ç)\Å┐M=BÆ\A)\Å┐▄F&B└A▄F&B└A▌╡<ÄΣ╥>    è=HP|>    è=HP|>Γx?²÷?┌¼j?²÷?┌¼j??            ÇÜÖÖ@M=BÆ\┴ÜÖÖ@M=BÆ\Añp╜@M=BÆ\A▌╡<╕ì?▌╡<ÄΣ╥>▌╡<ÄΣ╥>╙╝π<⌠█≈>╙╝π╝⌠█≈>╙╝π╝⌠>            Çñp╜@M=BÆ\Añp╜@M=BÆ\┴ÜÖÖ@M=BÆ\┴▌╡<ÄΣ╥>▌╡<╕ì?▌╡<╕ì?╙╝π╝⌠>╙╝π<⌠>╙╝π<⌠█≈>            ÇM=BÆ\AÇM=BÆ\┴)\Å┐M=BÆ\┴▌╡<ÄΣ╥>▌╡<╕ì?▌╡<╕ì?╙╝π╝?╙╝π<?╙╝π<²÷?            Ç)\Å┐M=BÆ\┴)\Å┐M=BÆ\AM=BÆ\A▌╡<╕ì?▌╡<ÄΣ╥>▌╡<ÄΣ╥>╙╝π<²÷?╙╝π╝²÷?╙╝π╝?            ÇÜÖÖ@▄F&B└┴ÜÖÖ@M=BÆ\┴ñp╜@M=BÆ\┴    è=εδ@?▌╡<╕ì?▌╡<╕ì?1Ö¬=⌠█≈>╙╝π<⌠█≈>╙╝π<⌠>            Çñp╜@M=BÆ\┴ñp╜@▄F&B└┴ÜÖÖ@▄F&B└┴▌╡<╕ì?    è=εδ@?    è=εδ@?╙╝π<⌠>1Ö¬=⌠>1Ö¬=⌠█≈>            ÇÇM=BÆ\┴Ç▄F&B└┴)\Å┐▄F&B└┴▌╡<╕ì?    è=εδ@?    è=εδ@?╙╝π<?1Ö¬=?1Ö¬=²÷?            Ç)\Å┐▄F&B└┴)\Å┐M=BÆ\┴ÇM=BÆ\┴    è=εδ@?▌╡<╕ì?▌╡<╕ì?1Ö¬=²÷?╙╝π<²÷?╙╝π<?            ÇÜÖÖ@ò╘÷Aò┬ÜÖÖ@▄F&B└┴ñp╜@▄F&B└┴É17>╝tc?    è=εδ@?    è=εδ@?═;>⌠█≈>1Ö¬=⌠█≈>1Ö¬=⌠>            Çñp╜@▄F&B└┴ñp╜@ò╘÷Aò┬ÜÖÖ@ò╘÷Aò┬    è=εδ@?É17>╝tc?É17>╝tc?1Ö¬=⌠>═;>⌠>═;>⌠█≈>            ÇÇ▄F&B└┴Çò╘÷Aò┬)\Å┐ò╘÷Aò┬    è=εδ@?É17>╝tc?É17>╝tc?1Ö¬=?═;>?═;>²÷?            Ç)\Å┐ò╘÷Aò┬)\Å┐▄F&B└┴Ç▄F&B└┴É17>╝tc?    è=εδ@?    è=εδ@?═;>²÷?1Ö¬=²÷?1Ö¬=?            ÇÜÖÖ@VâA║k4┬ÜÖÖ@ò╘÷Aò┬ñp╜@ò╘÷Aò┬τî¿>uz?É17>╝tc?É17>╝tc?╦G>⌠█≈>═;>⌠█≈>═;>⌠>            Çñp╜@ò╘÷Aò┬ñp╜@VâA║k4┬ÜÖÖ@VâA║k4┬É17>╝tc?τî¿>uz?τî¿>uz?═;>⌠>╦G>⌠>╦G>⌠█≈>            ÇÇò╘÷Aò┬ÇVâA║k4┬)\Å┐VâA║k4┬É17>╝tc?τî¿>uz?τî¿>uz?═;>?╦G>?╦G>²÷?            Ç)\Å┐VâA║k4┬)\Å┐ò╘÷Aò┬Çò╘÷Aò┬τî¿>uz?É17>╝tc?É17>╝tc?╦G>²÷?═;>²÷?═;>?            ÇÜÖÖ@Ç@┬ÜÖÖ@VâA║k4┬ñp╜@VâA║k4┬?εδÇ?τî¿>uz?τî¿>uz?Ç>⌠█≈>╦G>⌠█≈>╦G>⌠>            Çñp╜@VâA║k4┬ñp╜@Ç@┬ÜÖÖ@Ç@┬τî¿>uz??εδÇ??εδÇ?╦G>⌠>Ç>⌠>Ç>⌠█≈>            ÇÇVâA║k4┬ÇÇ@┬)\Å┐Ç@┬τî¿>uz??εδÇ??εδÇ?╦G>?Ç>?Ç>²÷?            Ç)\Å┐Ç@┬)\Å┐VâA║k4┬ÇVâA║k4┬?εδÇ?τî¿>uz?τî¿>uz?Ç>²÷?╦G>²÷?╦G>?            ÇÜÖÖ@Vâ┴║k4┬ÜÖÖ@Ç@┬ñp╜@Ç@┬î╣+?uz??εδÇ??εδÇ?Üw£>⌠█≈>Ç>⌠█≈>Ç>⌠>            ñp╜@Ç@┬ñp╜@Vâ┴║k4┬ÜÖÖ@Vâ┴║k4┬?εδÇ?î╣+?uz?î╣+?uz?Ç>⌠>Üw£>⌠>Üw£>⌠█≈>            ÇÇ@┬ÇVâ┴║k4┬)\Å┐Vâ┴║k4┬?εδÇ?î╣+?uz?î╣+?uz?Ç>?Üw£>?Üw£>²÷?            )\Å┐Vâ┴║k4┬)\Å┐Ç@┬ÇÇ@┬î╣+?uz??εδÇ??εδÇ?Üw£>²÷?Ç>²÷?Ç>?            ÜÖÖ@ò╘÷┴ò┬ÜÖÖ@Vâ┴║k4┬ñp╜@Vâ┴║k4┬£3R?╝tc?î╣+?uz?î╣+?uz?Γ╕>⌠█≈>Üw£>⌠█≈>Üw£>⌠>            Çñp╜@Vâ┴║k4┬ñp╜@ò╘÷┴ò┬ÜÖÖ@ò╘÷┴ò┬î╣+?uz?£3R?╝tc?£3R?╝tc?Üw£>⌠>Γ╕>⌠>Γ╕>⌠█≈>            ÇÇVâ┴║k4┬Çò╘÷┴ò┬)\Å┐ò╘÷┴ò┬î╣+?uz?£3R?╝tc?£3R?╝tc?Üw£>?Γ╕>?Γ╕>²÷?            Ç)\Å┐ò╘÷┴ò┬)\Å┐Vâ┴║k4┬ÇVâ┴║k4┬£3R?╝tc?î╣+?uz?î╣+?uz?Γ╕>²÷?Üw£>²÷?Üw£>?            ÇÜÖÖ@▄F&┬└┴ÜÖÖ@ò╘÷┴ò┬ñp╜@ò╘÷┴ò┬α╛n?εδ@?£3R?╝tc?£3R?╝tc?┤Y╒>⌠█≈>Γ╕>⌠█≈>Γ╕>⌠>            Çñp╜@ò╘÷┴ò┬ñp╜@▄F&┬└┴ÜÖÖ@▄F&┬└┴£3R?╝tc?α╛n?εδ@?α╛n?εδ@?Γ╕>⌠>┤Y╒>⌠>┤Y╒>⌠█≈>            ÇÇò╘÷┴ò┬Ç▄F&┬└┴)\Å┐▄F&┬└┴£3R?╝tc?α╛n?εδ@?α╛n?εδ@?Γ╕>?┤Y╒>?┤Y╒>²÷?            Ç)\Å┐▄F&┬└┴)\Å┐ò╘÷┴ò┬Çò╘÷┴ò┬α╛n?εδ@?£3R?╝tc?£3R?╝tc?┤Y╒>²÷?Γ╕>²÷?Γ╕>?            ÇÜÖÖ@M=┬Æ\┴ÜÖÖ@▄F&┬└┴ñp╜@▄F&┬└┴)φ}?╕ì?α╛n?εδ@?α╛n?εδ@?3─±>⌠█≈>┤Y╒>⌠█≈>┤Y╒>⌠>            Çñp╜@▄F&┬└┴ñp╜@M=┬Æ\┴ÜÖÖ@M=┬Æ\┴α╛n?εδ@?)φ}?╕ì?)φ}?╕ì?┤Y╒>⌠>3─±>⌠>3─±>⌠█≈>            ÇÇ▄F&┬└┴ÇM=┬Æ\┴)\Å┐M=┬Æ\┴α╛n?εδ@?)φ}?╕ì?)φ}?╕ì?┤Y╒>?3─±>?3─±>²÷?            Ç)\Å┐M=┬Æ\┴)\Å┐▄F&┬└┴Ç▄F&┬└┴)φ}?╕ì?α╛n?εδ@?α╛n?εδ@?3─±>²÷?┤Y╒>²÷?┤Y╒>?            ÇÜÖÖ@M=┬Æ\AÜÖÖ@M=┬Æ\┴ñp╜@M=┬Æ\┴)φ}?ÄΣ╥>)φ}?╕ì?)φ}?╕ì?τ?⌠█≈>3─±>⌠█≈>3─±>⌠>            Çñp╜@M=┬Æ\┴ñp╜@M=┬Æ\AÜÖÖ@M=┬Æ\A)φ}?╕ì?)φ}?ÄΣ╥>)φ}?ÄΣ╥>3─±>⌠>τ?⌠>τ?⌠█≈>            ÇÇM=┬Æ\┴M=┬Æ\A)\Å┐M=┬Æ\A)φ}?╕ì?)φ}?ÄΣ╥>)φ}?ÄΣ╥>3─±>?τ??τ?²÷?            Ç)\Å┐M=┬Æ\A)\Å┐M=┬Æ\┴ÇM=┬Æ\┴)φ}?ÄΣ╥>)φ}?╕ì?)φ}?╕ì?τ?²÷?3─±>²÷?3─±>?            ÇÜÖÖ@▄F&┬└AÜÖÖ@M=┬Æ\Añp╜@M=┬Æ\Aα╛n?HP|>)φ}?ÄΣ╥>)φ}?ÄΣ╥>&S?⌠█≈>τ?⌠█≈>τ?⌠>            Çñp╜@M=┬Æ\Añp╜@▄F&┬└AÜÖÖ@▄F&┬└A)φ}?ÄΣ╥>α╛n?HP|>α╛n?HP|>τ?⌠>&S?⌠>&S?⌠█≈>            ÇM=┬Æ\A▄F&┬└A)\Å┐▄F&┬└A)φ}?ÄΣ╥>α╛n?HP|>α╛n?HP|>τ??&S??&S?²÷?            Ç)\Å┐▄F&┬└A)\Å┐M=┬Æ\AM=┬Æ\Aα╛n?HP|>)φ}?ÄΣ╥>)φ}?ÄΣ╥>&S?²÷?τ?²÷?τ??            ÇÜÖÖ@ò╘÷┴òBÜÖÖ@▄F&┬└Añp╜@▄F&┬└A£3R? ZΣ=α╛n?HP|>α╛n?HP|>≤Ä#?⌠█≈>&S?⌠█≈>&S?⌠>            Çñp╜@▄F&┬└Añp╜@ò╘÷┴òBÜÖÖ@ò╘÷┴òBα╛n?HP|>£3R? ZΣ=£3R? ZΣ=&S?⌠>≤Ä#?⌠>≤Ä#?⌠█≈>            Ç▄F&┬└Aò╘÷┴òB)\Å┐ò╘÷┴òBα╛n?HP|>£3R? ZΣ=£3R? ZΣ=&S??≤Ä#??≤Ä#?²÷?            Ç)\Å┐ò╘÷┴òB)\Å┐▄F&┬└A▄F&┬└A£3R? ZΣ=α╛n?HP|>α╛n?HP|>≤Ä#?²÷?&S?²÷?&S??            ÇÜÖÖ@Vâ┴║k4BÜÖÖ@ò╘÷┴òBñp╜@ò╘÷┴òBî╣+?`▒┐<£3R? ZΣ=£3R? ZΣ=3─1?⌠█≈>≤Ä#?⌠█≈>≤Ä#?⌠>            Çñp╜@ò╘÷┴òBñp╜@Vâ┴║k4BÜÖÖ@Vâ┴║k4B£3R? ZΣ=î╣+?`▒┐<î╣+?`▒┐<≤Ä#?⌠>3─1?⌠>3─1?⌠█≈>            Çò╘÷┴òBVâ┴║k4B)\Å┐Vâ┴╘k4B£3R? ZΣ=î╣+?`▒┐<î╣+?`▒┐<≤Ä#??3─1??3─1?²÷?            Ç)\Å┐Vâ┴╘k4B)\Å┐ò╘÷┴òBò╘÷┴òBî╣+?`▒┐<£3R? ZΣ=£3R? ZΣ=3─1?²÷?≤Ä#?²÷?≤Ä#??            ÇÜÖÖ@@BÜÖÖ@Vâ┴║k4Bñp╜@Vâ┴║k4B?εδ╗î╣+?`▒┐<î╣+?`▒┐<@?⌠█≈>3─1?⌠█≈>3─1?⌠>            Çñp╜@Vâ┴║k4Bñp╜@@BÜÖÖ@@Bî╣+?`▒┐<?εδ╗?εδ╗3─1?⌠>@?⌠>@?⌠█≈>            ÇVâ┴║k4B@B)\Å┐@Bî╣+?`▒┐<?εδ╗?εδ╗3─1??@??@?²÷?            Ç)\Å┐@B)\Å┐Vâ┴╘k4BVâ┴║k4B?εδ╗î╣+?`▒┐<î╣+?`▒┐<@?²÷?3─1?²÷?3─1??            Çñp╜@VâA║k4Bñp╜@@Bñp╜@)\OBτî¿>`▒┐<?εδ╗?εδ╗═;N?⌠>@?⌠>@?╪≡⌠>            ñp╜@)\OBñp╜@¿╫ìA╘┌BBñp╜@VâA║k4B?εδ╗τî¿>`▒┐<τî¿>`▒┐<@?╪≡⌠>═;N?╪≡⌠>═;N?⌠>            )\Å┐@B)\Å┐VâA║k4B)\Å┐¿╫ìA╘┌BB?εδ╗τî¿>`▒┐<τî¿>`▒┐<@?²÷?═;N?²÷?═;N?öç?            )\Å┐¿╫ìA╘┌BB)\Å┐)\OB)\Å┐@Bτî¿>`▒┐<?εδ╗?εδ╗═;N?öç?@?öç?@?²÷?            ñp╜@ò╘÷AòBñp╜@VâA║k4Bñp╜@¿╫ìA╘┌BBÉ17> ZΣ=τî¿>`▒┐<τî¿>`▒┐<q\?⌠>═;N?⌠>═;N?╪≡⌠>            ñp╜@¿╫ìA╘┌BBñp╜@╒IB╚╪Bñp╜@ò╘÷AòBτî¿>`▒┐<É17> ZΣ=É17> ZΣ=═;N?╪≡⌠>q\?╪≡⌠>q\?⌠>            )\Å┐VâA║k4B)\Å┐ò╘÷AòB)\Å┐╒IB╚╪Bτî¿>`▒┐<É17> ZΣ=É17> ZΣ=═;N?²÷?q\?²÷?q\?öç?            )\Å┐╒IB╚╪B)\Å┐¿╫ìA╘┌BB)\Å┐VâA║k4BÉ17> ZΣ=τî¿>`▒┐<τî¿>`▒┐<q\?öç?═;N?öç?═;N?²÷?            ñp╜@▄F&B└Añp╜@ò╘÷AòBñp╜@╒IB╚╪B    è=HP|>É17> ZΣ=É17> ZΣ=┌¼j?⌠>q\?⌠>q\?╪≡⌠>            ñp╜@╒IB╚╪Bñp╜@Fö3B)\╧Añp╜@▄F&B└AÉ17> ZΣ=    è=HP|>    è=HP|>q\?╪≡⌠>┌¼j?╪≡⌠>┌¼j?⌠>            )\Å┐ò╘÷AòB)\Å┐▄F&B└A)\Å┐Fö3B)\╧AÉ17> ZΣ=    è=HP|>    è=HP|>q\?²÷?┌¼j?²÷?┌¼j?öç?            )\Å┐Fö3B)\╧A)\Å┐╒IB╚╪B)\Å┐ò╘÷AòB    è=HP|>É17> ZΣ=É17> ZΣ=┌¼j?öç?q\?öç?q\?²÷?            ñp╜@M=BÆ\Añp╜@▄F&B└Añp╜@Fö3B)\╧A▌╡<ÄΣ╥>    è=HP|>    è=HP|>Γx?⌠>┌¼j?⌠>┌¼j?╪≡⌠>            ñp╜@Fö3B)\╧Añp╜@¿5LB╚Añp╜@M=BÆ\A    è=HP|>▌╡<ÄΣ╥>▌╡<ÄΣ╥>┌¼j?╪≡⌠>Γx?╪≡⌠>Γx?⌠>            )\Å┐▄F&B└A)\Å┐M=BÆ\A)\Å┐¿5LB╚A    è=HP|>▌╡<ÄΣ╥>▌╡<ÄΣ╥>┌¼j?²÷?Γx?²÷?Γx?öç?            )\Å┐¿5LB╚A)\Å┐Fö3B)\╧A)\Å┐▄F&B└A▌╡<ÄΣ╥>    è=HP|>    è=HP|>Γx?öç?┌¼j?öç?┌¼j?²÷?            ñp╜@M=BÆ\┴ñp╜@M=BÆ\Añp╜@¿5LB╚A▌╡<╕ì?▌╡<ÄΣ╥>▌╡<ÄΣ╥>╙╝π<⌠>╙╝π╝⌠>╙╝π╝╪≡⌠>            ñp╜@¿5LB╚Añp╜@¿5LB╚┴ñp╜@M=BÆ\┴▌╡<ÄΣ╥>▌╡<╕ì?▌╡<╕ì?╙╝π╝╪≡⌠>╙╝π<╪≡⌠>╙╝π<⌠>            )\Å┐M=BÆ\A)\Å┐M=BÆ\┴)\Å┐¿5LB╚┴▌╡<ÄΣ╥>▌╡<╕ì?▌╡<╕ì?╙╝π╝²÷?╙╝π<²÷?╙╝π<öç?            )\Å┐¿5LB╚┴)\Å┐¿5LB╚A)\Å┐M=BÆ\A▌╡<╕ì?▌╡<ÄΣ╥>▌╡<ÄΣ╥>╙╝π<öç?╙╝π╝öç?╙╝π╝²÷?            ñp╜@▄F&B└┴ñp╜@M=BÆ\┴ñp╜@¿5LB╚┴    è=εδ@?▌╡<╕ì?▌╡<╕ì?1Ö¬=⌠>╙╝π<⌠>╙╝π<╪≡⌠>            ñp╜@¿5LB╚┴ñp╜@Fö3B)\╧┴ñp╜@▄F&B└┴▌╡<╕ì?    è=εδ@?    è=εδ@?╙╝π<╪≡⌠>1Ö¬=╪≡⌠>1Ö¬=⌠>            )\Å┐M=BÆ\┴)\Å┐▄F&B└┴)\Å┐Fö3B)\╧┴▌╡<╕ì?    è=εδ@?    è=εδ@?╙╝π<²÷?1Ö¬=²÷?1Ö¬=öç?            )\Å┐Fö3B)\╧┴)\Å┐¿5LB╚┴)\Å┐M=BÆ\┴    è=εδ@?▌╡<╕ì?▌╡<╕ì?1Ö¬=öç?╙╝π<öç?╙╝π<²÷?            ñp╜@ò╘÷Aò┬ñp╜@▄F&B└┴ñp╜@Fö3B)\╧┴É17>╝tc?    è=εδ@?    è=εδ@?═;>⌠>1Ö¬=⌠>1Ö¬=╪≡⌠>            ñp╜@Fö3B)\╧┴ñp╜@╒IB╚╪┬ñp╜@ò╘÷Aò┬    è=εδ@?É17>╝tc?É17>╝tc?1Ö¬=╪≡⌠>═;>╪≡⌠>═;>⌠>            )\Å┐▄F&B└┴)\Å┐ò╘÷Aò┬)\Å┐╒IB╚╪┬    è=εδ@?É17>╝tc?É17>╝tc?1Ö¬=²÷?═;>²÷?═;>öç?            )\Å┐╒IB╚╪┬)\Å┐Fö3B)\╧┴)\Å┐▄F&B└┴É17>╝tc?    è=εδ@?    è=εδ@?═;>öç?1Ö¬=öç?1Ö¬=²÷?            ñp╜@VâA║k4┬ñp╜@ò╘÷Aò┬ñp╜@╒IB╚╪┬τî¿>uz?É17>╝tc?É17>╝tc?╦G>⌠>═;>⌠>═;>╪≡⌠>            ñp╜@╒IB╚╪┬ñp╜@¿╫ìA╘┌B┬ñp╜@VâA║k4┬É17>╝tc?τî¿>uz?τî¿>uz?═;>╪≡⌠>╦G>╪≡⌠>╦G>⌠>            )\Å┐ò╘÷Aò┬)\Å┐VâA║k4┬)\Å┐¿╫ìA╘┌B┬É17>╝tc?τî¿>uz?τî¿>uz?═;>²÷?╦G>²÷?╦G>öç?            )\Å┐¿╫ìA╘┌B┬)\Å┐╒IB╚╪┬)\Å┐ò╘÷Aò┬τî¿>uz?É17>╝tc?É17>╝tc?╦G>öç?═;>öç?═;>²÷?            ñp╜@Ç@┬ñp╜@VâA║k4┬ñp╜@¿╫ìA╘┌B┬?εδÇ?τî¿>uz?τî¿>uz?Ç>⌠>╦G>⌠>╦G>╪≡⌠>            ñp╜@¿╫ìA╘┌B┬ñp╜@Ç)\O┬ñp╜@Ç@┬τî¿>uz??εδÇ??εδÇ?╦G>╪≡⌠>Ç>╪≡⌠>Ç>⌠>            )\Å┐VâA║k4┬)\Å┐Ç@┬)\Å┐Ç)\O┬τî¿>uz??εδÇ??εδÇ?╦G>²÷?Ç>²÷?Ç>öç?            )\Å┐Ç)\O┬)\Å┐¿╫ìA╘┌B┬)\Å┐VâA║k4┬?εδÇ?τî¿>uz?τî¿>uz?Ç>öç?╦G>öç?╦G>²÷?            ñp╜@Vâ┴║k4┬ñp╜@Ç@┬ñp╜@Ç)\O┬î╣+?uz??εδÇ??εδÇ?Üw£>⌠>Ç>⌠>Ç>╪≡⌠>            ñp╜@Ç)\O┬ñp╜@¿╫ì┴╘┌B┬ñp╜@Vâ┴║k4┬?εδÇ?î╣+?uz?î╣+?uz?Ç>╪≡⌠>Üw£>╪≡⌠>Üw£>⌠>            )\Å┐Ç@┬)\Å┐Vâ┴║k4┬)\Å┐¿╫ì┴╘┌B┬?εδÇ?î╣+?uz?î╣+?uz?Ç>²÷?Üw£>²÷?Üw£>öç?            )\Å┐¿╫ì┴╘┌B┬)\Å┐Ç)\O┬)\Å┐Ç@┬î╣+?uz??εδÇ??εδÇ?Üw£>öç?Ç>öç?Ç>²÷?            ñp╜@ò╘÷┴ò┬ñp╜@Vâ┴║k4┬ñp╜@¿╫ì┴╘┌B┬£3R?╝tc?î╣+?uz?î╣+?uz?Γ╕>⌠>Üw£>⌠>Üw£>╪≡⌠>            ñp╜@¿╫ì┴╘┌B┬ñp╜@╒I┬╚╪┬ñp╜@ò╘÷┴ò┬î╣+?uz?£3R?╝tc?£3R?╝tc?Üw£>╪≡⌠>Γ╕>╪≡⌠>Γ╕>⌠>            )\Å┐Vâ┴║k4┬)\Å┐ò╘÷┴ò┬)\Å┐╒I┬╚╪┬î╣+?uz?£3R?╝tc?£3R?╝tc?Üw£>²÷?Γ╕>²÷?Γ╕>öç?            )\Å┐╒I┬╚╪┬)\Å┐¿╫ì┴╘┌B┬)\Å┐Vâ┴║k4┬£3R?╝tc?î╣+?uz?î╣+?uz?Γ╕>öç?Üw£>öç?Üw£>²÷?            ñp╜@▄F&┬└┴ñp╜@ò╘÷┴ò┬ñp╜@╒I┬╚╪┬α╛n?εδ@?£3R?╝tc?£3R?╝tc?┤Y╒>⌠>Γ╕>⌠>Γ╕>╪≡⌠>            ñp╜@╒I┬╚╪┬ñp╜@Fö3┬)\╧┴ñp╜@▄F&┬└┴£3R?╝tc?α╛n?εδ@?α╛n?εδ@?Γ╕>╪≡⌠>┤Y╒>╪≡⌠>┤Y╒>⌠>            )\Å┐ò╘÷┴ò┬)\Å┐▄F&┬└┴)\Å┐Fö3┬)\╧┴£3R?╝tc?α╛n?εδ@?α╛n?εδ@?Γ╕>²÷?┤Y╒>²÷?┤Y╒>öç?            )\Å┐Fö3┬)\╧┴)\Å┐╒I┬╚╪┬)\Å┐ò╘÷┴ò┬α╛n?εδ@?£3R?╝tc?£3R?╝tc?┤Y╒>öç?Γ╕>öç?Γ╕>²÷?            ñp╜@M=┬Æ\┴ñp╜@▄F&┬└┴ñp╜@Fö3┬)\╧┴)φ}?╕ì?α╛n?εδ@?α╛n?εδ@?3─±>⌠>┤Y╒>⌠>┤Y╒>╪≡⌠>            ñp╜@Fö3┬)\╧┴ñp╜@¿5L┬╚┴ñp╜@M=┬Æ\┴α╛n?εδ@?)φ}?╕ì?)φ}?╕ì?┤Y╒>╪≡⌠>3─±>╪≡⌠>3─±>⌠>            )\Å┐▄F&┬└┴)\Å┐M=┬Æ\┴)\Å┐¿5L┬╚┴α╛n?εδ@?)φ}?╕ì?)φ}?╕ì?┤Y╒>²÷?3─±>²÷?3─±>öç?            )\Å┐¿5L┬╚┴)\Å┐Fö3┬)\╧┴)\Å┐▄F&┬└┴)φ}?╕ì?α╛n?εδ@?α╛n?εδ@?3─±>öç?┤Y╒>öç?┤Y╒>²÷?            ñp╜@M=┬Æ\Añp╜@M=┬Æ\┴ñp╜@¿5L┬╚┴)φ}?ÄΣ╥>)φ}?╕ì?)φ}?╕ì?τ?⌠>3─±>⌠>3─±>╪≡⌠>            ñp╜@¿5L┬╚┴ñp╜@¿5L┬╚Añp╜@M=┬Æ\A)φ}?╕ì?)φ}?ÄΣ╥>)φ}?ÄΣ╥>3─±>╪≡⌠>τ?╪≡⌠>τ?⌠>            )\Å┐M=┬Æ\┴)\Å┐M=┬Æ\A)\Å┐¿5L┬╚A)φ}?╕ì?)φ}?ÄΣ╥>)φ}?ÄΣ╥>3─±>²÷?τ?²÷?τ?öç?            )\Å┐¿5L┬╚A)\Å┐¿5L┬╚┴)\Å┐M=┬Æ\┴)φ}?ÄΣ╥>)φ}?╕ì?)φ}?╕ì?τ?öç?3─±>öç?3─±>²÷?            ñp╜@▄F&┬└Añp╜@M=┬Æ\Añp╜@¿5L┬╚Aα╛n?HP|>)φ}?ÄΣ╥>)φ}?ÄΣ╥>&S?⌠>τ?⌠>τ?╪≡⌠>            ñp╜@¿5L┬╚Añp╜@,ö3┬)\╧Añp╜@▄F&┬└A)φ}?ÄΣ╥>α╛n?HP|>α╛n?HP|>τ?╪≡⌠>&S?╪≡⌠>&S?⌠>            )\Å┐M=┬Æ\A)\Å┐▄F&┬└A)\Å┐,ö3┬)\╧A)φ}?ÄΣ╥>α╛n?HP|>α╛n?HP|>τ?²÷?&S?²÷?&S?öç?            )\Å┐,ö3┬)\╧A)\Å┐¿5L┬╚A)\Å┐M=┬Æ\Aα╛n?HP|>)φ}?ÄΣ╥>)φ}?ÄΣ╥>&S?öç?τ?öç?τ?²÷?            ñp╜@ò╘÷┴òBñp╜@▄F&┬└Añp╜@,ö3┬)\╧A£3R? ZΣ=α╛n?HP|>α╛n?HP|>≤Ä#?⌠>&S?⌠>&S?╪≡⌠>            ñp╜@,ö3┬)\╧Añp╜@╒I┬Γ╪Bñp╜@ò╘÷┴òBα╛n?HP|>£3R? ZΣ=£3R? ZΣ=&S?╪≡⌠>≤Ä#?╪≡⌠>≤Ä#?⌠>            )\Å┐▄F&┬└A)\Å┐ò╘÷┴òB)\Å┐╒I┬Γ╪Bα╛n?HP|>£3R? ZΣ=£3R? ZΣ=&S?²÷?≤Ä#?²÷?≤Ä#?öç?            )\Å┐╒I┬Γ╪B)\Å┐,ö3┬)\╧A)\Å┐▄F&┬└A£3R? ZΣ=α╛n?HP|>α╛n?HP|>≤Ä#?öç?&S?öç?&S?²÷?            ñp╜@Vâ┴║k4Bñp╜@ò╘÷┴òBñp╜@╒I┬Γ╪Bî╣+?`▒┐<£3R? ZΣ=£3R? ZΣ=3─1?⌠>≤Ä#?⌠>≤Ä#?╪≡⌠>            ñp╜@╒I┬Γ╪Bñp╜@¿╫ì┴╘┌BBñp╜@Vâ┴║k4B£3R? ZΣ=î╣+?`▒┐<î╣+?`▒┐<≤Ä#?╪≡⌠>3─1?╪≡⌠>3─1?⌠>            )\Å┐ò╘÷┴òB)\Å┐Vâ┴╘k4B)\Å┐¿╫ì┴╘┌BB£3R? ZΣ=î╣+?`▒┐<î╣+?`▒┐<≤Ä#?²÷?3─1?²÷?3─1?öç?            )\Å┐¿╫ì┴╘┌BB)\Å┐╒I┬Γ╪B)\Å┐ò╘÷┴òBî╣+?`▒┐<£3R? ZΣ=£3R? ZΣ=3─1?öç?≤Ä#?öç?≤Ä#?²÷?            ñp╜@@Bñp╜@Vâ┴║k4Bñp╜@¿╫ì┴╘┌BB?εδ╗î╣+?`▒┐<î╣+?`▒┐<@?⌠>3─1?⌠>3─1?╪≡⌠>            ñp╜@¿╫ì┴╘┌BBñp╜@)\OBñp╜@@Bî╣+?`▒┐<?εδ╗?εδ╗3─1?╪≡⌠>@?╪≡⌠>@?⌠>            )\Å┐Vâ┴╘k4B)\Å┐@B)\Å┐)\OBî╣+?`▒┐<?εδ╗?εδ╗3─1?²÷?@?²÷?@?öç?            )\Å┐)\OB)\Å┐¿╫ì┴╘┌BB)\Å┐Vâ┴╘k4B?εδ╗î╣+?`▒┐<î╣+?`▒┐<@?öç?3─1?öç?3─1?²÷?            ñp╜@¿╫ìA╘┌BBñp╜@)\OB├⌡¿@\ÅRBτî¿>`▒┐<?εδ╗?εδ╗═;N?╪≡⌠>@?╪≡⌠>@?X≈>            ├⌡¿@\ÅRB├⌡¿@²ÉAÆ▄EBñp╜@¿╫ìA╘┌BB?εδ╗τî¿>`▒┐<τî¿>`▒┐<@?X≈>═;N?X≈>═;N?╪≡⌠>            )\Å┐)\OB)\Å┐¿╫ìA╘┌BBÅ┬⌡╛²ÉAÆ▄EB?εδ╗τî¿>`▒┐<τî¿>`▒┐<@?öç?═;N?öç?═;N?Tt?            Å┬⌡╛²ÉAÆ▄EBÅ┬⌡╛\ÅRB)\Å┐)\OBτî¿>`▒┐<?εδ╗?εδ╗═;N?Tt?@?Tt?@?öç?            ñp╜@╒IB╚╪Bñp╜@¿╫ìA╘┌BB├⌡¿@²ÉAÆ▄EBÉ17> ZΣ=τî¿>`▒┐<τî¿>`▒┐<q\?╪≡⌠>═;N?╪≡⌠>═;N?X≈>            ├⌡¿@²ÉAÆ▄EB├⌡¿@_XBdL!Bñp╜@╒IB╚╪Bτî¿>`▒┐<É17> ZΣ=É17> ZΣ=═;N?X≈>q\?X≈>q\?╪≡⌠>            )\Å┐¿╫ìA╘┌BB)\Å┐╒IB╚╪BÅ┬⌡╛_XBdL!Bτî¿>`▒┐<É17> ZΣ=É17> ZΣ=═;N?öç?q\?öç?q\?Tt?            Å┬⌡╛_XBdL!BÅ┬⌡╛²ÉAÆ▄EB)\Å┐¿╫ìA╘┌BBÉ17> ZΣ=τî¿>`▒┐<τî¿>`▒┐<q\?Tt?═;N?Tt?═;N?öç?            ñp╜@Fö3B)\╧Añp╜@╒IB╚╪B├⌡¿@_XBdL!B    è=HP|>É17> ZΣ=É17> ZΣ=┌¼j?╪≡⌠>q\?╪≡⌠>q\?X≈>            ├⌡¿@_XBdL!B├⌡¿@┤Y6B\Å╥Añp╜@Fö3B)\╧AÉ17> ZΣ=    è=HP|>    è=HP|>q\?X≈>┌¼j?X≈>┌¼j?╪≡⌠>            )\Å┐╒IB╚╪B)\Å┐Fö3B)\╧AÅ┬⌡╛┤Y6B\Å╥AÉ17> ZΣ=    è=HP|>    è=HP|>q\?öç?┌¼j?öç?┌¼j?Tt?            Å┬⌡╛┤Y6B\Å╥AÅ┬⌡╛_XBdL!B)\Å┐╒IB╚╪B    è=HP|>É17> ZΣ=É17> ZΣ=┌¼j?Tt?q\?Tt?q\?öç?            ñp╜@¿5LB╚Añp╜@Fö3B)\╧A├⌡¿@┤Y6B\Å╥A▌╡<ÄΣ╥>    è=HP|>    è=HP|>Γx?╪≡⌠>┌¼j?╪≡⌠>┌¼j?X≈>            ├⌡¿@┤Y6B\Å╥A├⌡¿@x\OB╕@Añp╜@¿5LB╚A    è=HP|>▌╡<ÄΣ╥>▌╡<ÄΣ╥>┌¼j?X≈>Γx?X≈>Γx?╪≡⌠>            )\Å┐Fö3B)\╧A)\Å┐¿5LB╚AÅ┬⌡╛x\OB╕@A    è=HP|>▌╡<ÄΣ╥>▌╡<ÄΣ╥>┌¼j?öç?Γx?öç?Γx?Tt?            Å┬⌡╛x\OB╕@AÅ┬⌡╛┤Y6B\Å╥A)\Å┐Fö3B)\╧A▌╡<ÄΣ╥>    è=HP|>    è=HP|>Γx?Tt?┌¼j?Tt?┌¼j?öç?            ñp╜@¿5LB╚┴ñp╜@¿5LB╚A├⌡¿@x\OB╕@A▌╡<╕ì?▌╡<ÄΣ╥>▌╡<ÄΣ╥>╙╝π<╪≡⌠>╙╝π╝╪≡⌠>╙╝π╝X≈>            ├⌡¿@x\OB╕@A├⌡¿@x\OB╕@┴ñp╜@¿5LB╚┴▌╡<ÄΣ╥>▌╡<╕ì?▌╡<╕ì?╙╝π╝X≈>╙╝π<X≈>╙╝π<╪≡⌠>            )\Å┐¿5LB╚A)\Å┐¿5LB╚┴Å┬⌡╛x\OB╕@┴▌╡<ÄΣ╥>▌╡<╕ì?▌╡<╕ì?╙╝π╝öç?╙╝π<öç?╙╝π<Tt?            Å┬⌡╛x\OB╕@┴Å┬⌡╛x\OB╕@A)\Å┐¿5LB╚A▌╡<╕ì?▌╡<ÄΣ╥>▌╡<ÄΣ╥>╙╝π<Tt?╙╝π╝Tt?╙╝π╝öç?            ñp╜@Fö3B)\╧┴ñp╜@¿5LB╚┴├⌡¿@x\OB╕@┴    è=εδ@?▌╡<╕ì?▌╡<╕ì?1Ö¬=╪≡⌠>╙╝π<╪≡⌠>╙╝π<X≈>            ├⌡¿@x\OB╕@┴├⌡¿@┤Y6B\Å╥┴ñp╜@Fö3B)\╧┴▌╡<╕ì?    è=εδ@?    è=εδ@?╙╝π<X≈>1Ö¬=X≈>1Ö¬=╪≡⌠>            )\Å┐¿5LB╚┴)\Å┐Fö3B)\╧┴Å┬⌡╛┤Y6B\Å╥┴▌╡<╕ì?    è=εδ@?    è=εδ@?╙╝π<öç?1Ö¬=öç?1Ö¬=Tt?            Å┬⌡╛┤Y6B\Å╥┴Å┬⌡╛x\OB╕@┴)\Å┐¿5LB╚┴    è=εδ@?▌╡<╕ì?▌╡<╕ì?1Ö¬=Tt?╙╝π<Tt?╙╝π<öç?            ñp╜@╒IB╚╪┬ñp╜@Fö3B)\╧┴├⌡¿@┤Y6B\Å╥┴É17>╝tc?    è=εδ@?    è=εδ@?═;>╪≡⌠>1Ö¬=╪≡⌠>1Ö¬=X≈>            ├⌡¿@┤Y6B\Å╥┴├⌡¿@_XBdL!┬ñp╜@╒IB╚╪┬    è=εδ@?É17>╝tc?É17>╝tc?1Ö¬=X≈>═;>X≈>═;>╪≡⌠>            )\Å┐Fö3B)\╧┴)\Å┐╒IB╚╪┬Å┬⌡╛_XBdL!┬    è=εδ@?É17>╝tc?É17>╝tc?1Ö¬=öç?═;>öç?═;>Tt?            Å┬⌡╛_XBdL!┬Å┬⌡╛┤Y6B\Å╥┴)\Å┐Fö3B)\╧┴É17>╝tc?    è=εδ@?    è=εδ@?═;>Tt?1Ö¬=Tt?1Ö¬=öç?            ñp╜@¿╫ìA╘┌B┬ñp╜@╒IB╚╪┬├⌡¿@_XBdL!┬τî¿>uz?É17>╝tc?É17>╝tc?╦G>╪≡⌠>═;>╪≡⌠>═;>X≈>            ├⌡¿@_XBdL!┬├⌡¿@²ÉAÆ▄E┬ñp╜@¿╫ìA╘┌B┬É17>╝tc?τî¿>uz?τî¿>uz?═;>X≈>╦G>X≈>╦G>╪≡⌠>            )\Å┐╒IB╚╪┬)\Å┐¿╫ìA╘┌B┬Å┬⌡╛²ÉAÆ▄E┬É17>╝tc?τî¿>uz?τî¿>uz?═;>öç?╦G>öç?╦G>Tt?            Å┬⌡╛²ÉAÆ▄E┬Å┬⌡╛_XBdL!┬)\Å┐╒IB╚╪┬τî¿>uz?É17>╝tc?É17>╝tc?╦G>Tt?═;>Tt?═;>öç?            ñp╜@Ç)\O┬ñp╜@¿╫ìA╘┌B┬├⌡¿@²ÉAÆ▄E┬?εδÇ?τî¿>uz?τî¿>uz?Ç>╪≡⌠>╦G>╪≡⌠>╦G>X≈>            ├⌡¿@²ÉAÆ▄E┬├⌡¿@Ç\ÅR┬ñp╜@Ç)\O┬τî¿>uz??εδÇ??εδÇ?╦G>X≈>Ç>X≈>Ç>╪≡⌠>            )\Å┐¿╫ìA╘┌B┬)\Å┐Ç)\O┬Å┬⌡╛Ç\ÅR┬τî¿>uz??εδÇ??εδÇ?╦G>öç?Ç>öç?Ç>Tt?            Å┬⌡╛Ç\ÅR┬Å┬⌡╛²ÉAÆ▄E┬)\Å┐¿╫ìA╘┌B┬?εδÇ?τî¿>uz?τî¿>uz?Ç>Tt?╦G>Tt?╦G>öç?            ñp╜@¿╫ì┴╘┌B┬ñp╜@Ç)\O┬├⌡¿@Ç\ÅR┬î╣+?uz??εδÇ??εδÇ?Üw£>╪≡⌠>Ç>╪≡⌠>Ç>X≈>            ├⌡¿@Ç\ÅR┬├⌡¿@²É┴Æ▄E┬ñp╜@¿╫ì┴╘┌B┬?εδÇ?î╣+?uz?î╣+?uz?Ç>X≈>Üw£>X≈>Üw£>╪≡⌠>            )\Å┐Ç)\O┬)\Å┐¿╫ì┴╘┌B┬Å┬⌡╛²É┴Æ▄E┬?εδÇ?î╣+?uz?î╣+?uz?Ç>öç?Üw£>öç?Üw£>Tt?            Å┬⌡╛²É┴Æ▄E┬Å┬⌡╛Ç\ÅR┬)\Å┐Ç)\O┬î╣+?uz??εδÇ??εδÇ?Üw£>Tt?Ç>Tt?Ç>öç?            ñp╜@╒I┬╚╪┬ñp╜@¿╫ì┴╘┌B┬├⌡¿@²É┴Æ▄E┬£3R?╝tc?î╣+?uz?î╣+?uz?Γ╕>╪≡⌠>Üw£>╪≡⌠>Üw£>X≈>            ├⌡¿@²É┴Æ▄E┬├⌡¿@_X┬dL!┬ñp╜@╒I┬╚╪┬î╣+?uz?£3R?╝tc?£3R?╝tc?Üw£>X≈>Γ╕>X≈>Γ╕>╪≡⌠>            )\Å┐¿╫ì┴╘┌B┬)\Å┐╒I┬╚╪┬Å┬⌡╛_X┬dL!┬î╣+?uz?£3R?╝tc?£3R?╝tc?Üw£>öç?Γ╕>öç?Γ╕>Tt?            Å┬⌡╛_X┬dL!┬Å┬⌡╛²É┴Æ▄E┬)\Å┐¿╫ì┴╘┌B┬£3R?╝tc?î╣+?uz?î╣+?uz?Γ╕>Tt?Üw£>Tt?Üw£>öç?            ñp╜@Fö3┬)\╧┴ñp╜@╒I┬╚╪┬├⌡¿@_X┬dL!┬α╛n?εδ@?£3R?╝tc?£3R?╝tc?┤Y╒>╪≡⌠>Γ╕>╪≡⌠>Γ╕>X≈>            ├⌡¿@_X┬dL!┬├⌡¿@┤Y6┬\Å╥┴ñp╜@Fö3┬)\╧┴£3R?╝tc?α╛n?εδ@?α╛n?εδ@?Γ╕>X≈>┤Y╒>X≈>┤Y╒>╪≡⌠>            )\Å┐╒I┬╚╪┬)\Å┐Fö3┬)\╧┴Å┬⌡╛┤Y6┬\Å╥┴£3R?╝tc?α╛n?εδ@?α╛n?εδ@?Γ╕>öç?┤Y╒>öç?┤Y╒>Tt?            Å┬⌡╛┤Y6┬\Å╥┴Å┬⌡╛_X┬dL!┬)\Å┐╒I┬╚╪┬α╛n?εδ@?£3R?╝tc?£3R?╝tc?┤Y╒>Tt?Γ╕>Tt?Γ╕>öç?            ñp╜@¿5L┬╚┴ñp╜@Fö3┬)\╧┴├⌡¿@┤Y6┬\Å╥┴)φ}?╕ì?α╛n?εδ@?α╛n?εδ@?3─±>╪≡⌠>┤Y╒>╪≡⌠>┤Y╒>X≈>            ├⌡¿@┤Y6┬\Å╥┴├⌡¿@x\O┬╕@┴ñp╜@¿5L┬╚┴α╛n?εδ@?)φ}?╕ì?)φ}?╕ì?┤Y╒>X≈>3─±>X≈>3─±>╪≡⌠>            )\Å┐Fö3┬)\╧┴)\Å┐¿5L┬╚┴Å┬⌡╛x\O┬╕@┴α╛n?εδ@?)φ}?╕ì?)φ}?╕ì?┤Y╒>öç?3─±>öç?3─±>Tt?            Å┬⌡╛x\O┬╕@┴Å┬⌡╛┤Y6┬\Å╥┴)\Å┐Fö3┬)\╧┴)φ}?╕ì?α╛n?εδ@?α╛n?εδ@?3─±>Tt?┤Y╒>Tt?┤Y╒>öç?            ñp╜@¿5L┬╚Añp╜@¿5L┬╚┴├⌡¿@x\O┬╕@┴)φ}?ÄΣ╥>)φ}?╕ì?)φ}?╕ì?τ?╪≡⌠>3─±>╪≡⌠>3─±>X≈>            ├⌡¿@x\O┬╕@┴├⌡¿@x\O┬ AAñp╜@¿5L┬╚A)φ}?╕ì?)φ}?ÄΣ╥>)φ}?ÄΣ╥>3─±>X≈>τ?X≈>τ?╪≡⌠>            )\Å┐¿5L┬╚┴)\Å┐¿5L┬╚AÅ┬⌡╛x\O┬ AA)φ}?╕ì?)φ}?ÄΣ╥>)φ}?ÄΣ╥>3─±>öç?τ?öç?τ?Tt?            Å┬⌡╛x\O┬ AAÅ┬⌡╛x\O┬╕@┴)\Å┐¿5L┬╚┴)φ}?ÄΣ╥>)φ}?╕ì?)φ}?╕ì?τ?Tt?3─±>Tt?3─±>öç?            ñp╜@,ö3┬)\╧Añp╜@¿5L┬╚A├⌡¿@x\O┬ AAα╛n?HP|>)φ}?ÄΣ╥>)φ}?ÄΣ╥>&S?╪≡⌠>τ?╪≡⌠>τ?X≈>            ├⌡¿@x\O┬ AA├⌡¿@┤Y6┬\Å╥Añp╜@,ö3┬)\╧A)φ}?ÄΣ╥>α╛n?HP|>α╛n?HP|>τ?X≈>&S?X≈>&S?╪≡⌠>            )\Å┐¿5L┬╚A)\Å┐,ö3┬)\╧AÅ┬⌡╛┤Y6┬\Å╥A)φ}?ÄΣ╥>α╛n?HP|>α╛n?HP|>τ?öç?&S?öç?&S?Tt?            Å┬⌡╛┤Y6┬\Å╥AÅ┬⌡╛x\O┬ AA)\Å┐¿5L┬╚Aα╛n?HP|>)φ}?ÄΣ╥>)φ}?ÄΣ╥>&S?Tt?τ?Tt?τ?öç?            ñp╜@╒I┬Γ╪Bñp╜@,ö3┬)\╧A├⌡¿@┤Y6┬\Å╥A£3R? ZΣ=α╛n?HP|>α╛n?HP|>≤Ä#?╪≡⌠>&S?╪≡⌠>&S?X≈>            ├⌡¿@┤Y6┬\Å╥A├⌡¿@_X┬dL!Bñp╜@╒I┬Γ╪Bα╛n?HP|>£3R? ZΣ=£3R? ZΣ=&S?X≈>≤Ä#?X≈>≤Ä#?╪≡⌠>            )\Å┐,ö3┬)\╧A)\Å┐╒I┬Γ╪BÅ┬⌡╛_X┬dL!Bα╛n?HP|>£3R? ZΣ=£3R? ZΣ=&S?öç?≤Ä#?öç?≤Ä#?Tt?            Å┬⌡╛_X┬dL!BÅ┬⌡╛┤Y6┬\Å╥A)\Å┐,ö3┬)\╧A£3R? ZΣ=α╛n?HP|>α╛n?HP|>≤Ä#?Tt?&S?Tt?&S?öç?            ñp╜@¿╫ì┴╘┌BBñp╜@╒I┬Γ╪B├⌡¿@_X┬dL!Bî╣+?`▒┐<£3R? ZΣ=£3R? ZΣ=3─1?╪≡⌠>≤Ä#?╪≡⌠>≤Ä#?X≈>            ├⌡¿@_X┬dL!B├⌡¿@²É┴Æ▄EBñp╜@¿╫ì┴╘┌BB£3R? ZΣ=î╣+?`▒┐<î╣+?`▒┐<≤Ä#?X≈>3─1?X≈>3─1?╪≡⌠>            )\Å┐╒I┬Γ╪B)\Å┐¿╫ì┴╘┌BBÅ┬⌡╛²É┴Æ▄EB£3R? ZΣ=î╣+?`▒┐<î╣+?`▒┐<≤Ä#?öç?3─1?öç?3─1?Tt?            Å┬⌡╛²É┴Æ▄EBÅ┬⌡╛_X┬dL!B)\Å┐╒I┬Γ╪Bî╣+?`▒┐<£3R? ZΣ=£3R? ZΣ=3─1?Tt?≤Ä#?Tt?≤Ä#?öç?            ñp╜@)\OBñp╜@¿╫ì┴╘┌BB├⌡¿@²É┴Æ▄EB?εδ╗î╣+?`▒┐<î╣+?`▒┐<@?╪≡⌠>3─1?╪≡⌠>3─1?X≈>            ├⌡¿@²É┴Æ▄EB├⌡¿@\ÅRBñp╜@)\OBî╣+?`▒┐<?εδ╗?εδ╗3─1?X≈>@?X≈>@?╪≡⌠>            )\Å┐¿╫ì┴╘┌BB)\Å┐)\OBÅ┬⌡╛\ÅRBî╣+?`▒┐<?εδ╗?εδ╗3─1?öç?@?öç?@?Tt?            Å┬⌡╛\ÅRBÅ┬⌡╛²É┴Æ▄EB)\Å┐¿╫ì┴╘┌BB?εδ╗î╣+?`▒┐<î╣+?`▒┐<@?Tt?3─1?Tt?3─1?öç?             !▀W.Y╙èVX┴▀&┬┐ε┤┬Tπ`A╟║lBY7ôBαOì>╨UAÿ▌┴½┬BÅÇÇVX┴▀&┬┐ε┤┬Tπ`A╟║lBY7ôBPTπ`A∩╔¢@¼▄┬▄'{?a3=>m╜4MA░r
  15462. Ao░┬"<r?┤Γ£>Äi╘=4MA¡║┬}p½┬1│~?╒MS╜▒╜Tπ`A╠┬αìû┬╕t?╠╜Ö-e╜Tπ`AƒM╖┴FÅAz≡{?e┴/╛ÿ╟7=4MA╬ÖΣ┴πÑA╢Æx?┐+╛í@╛4MA╪ü╘A╠_ÉB;Yn?╞)╛WC⌐>Tπ`ApN┌A.èBª{?°_`╗⌠÷;>Tπ`A▀OÉ┴g╒÷┴╢Æ}?]ε╜√ò╜4MA└∞¼┴ÿn┬m═u?/r╛Qè╛4MAwm┬ú°┴ w?yä#╛?╤T╛Tπ`AÅñ┬ƒ<τ┴${?:!G╛ùBi<b┴cε╣┴öç┬%É╛≡▄╛ç}s┐_D┴└∞¼┴ÿn┬≥▄╙╛k÷╜ƒg┐_D┴wm┬ú°┴┌▌╙╛j÷╜ng┐b┴f≈┬┴╣ ┴▓%╛ ²╛B:{┐_D┴¡║┬}p½┬v▀╙╛=«]┐Z╥Å>_D┴└∞¼┴ÿn┬(α╙╛«]┐L╥Å>b┴cε╣┴öç┬2&É╛ä¿i┐½ùù>b┴▀&┬┐ε┤┬┤%╛lq┐Φh£>VX┴╠┬αìû┬]╘}┐6═╛±▒╝VX┴▀OÉ┴g╒÷┴d⌠}┐?╤ù╜B╤╜_D┴└∞¼┴ÿn┬ Ht┐─¢û╛┴ç]╜_D┴¡║┬}p½┬D■{┐ä+ù=ß▐#╛_D┴wm┬ú°┴═√x┐ÑGY╛W╗┬╜VX┴Åñ┬ƒ<τ┴Y}┐ä╛`t╜`σ!Acε╣┴öç┬½╟X>²D╛└x┐`σ!Af≈┬┴╣ ┴Ñ╚X>└D╛┤x┐`σ!Acε╣┴öç┬╖&>cq┐πh£>`σ!A▀&┬┐ε┤┬)&É>à¿i┐¼ùù>4MA└∞¼┴ÿn┬j▀╙>@«]┐\╥Å>4MA¡║┬}p½┬ó▐╙>j«]┐â╥Å>4MAwm┬ú°┴┌▌╙>j÷╜ng┐4MA└∞¼┴ÿn┬≥▄╙>k÷╜ƒg┐b┴▀╤AY7ôB┴$É╛ \/┐·,?b┴╛0∙┴z╟qAÅ$╛èε4┐L|1?_D┴╬ÖΣ┴πÑAp▌╙╛_&┐┼3#?_D┴╪ü╘A╠_ÉB╕▌╙╛⌠^&┐║3#?_D┴wm┬ú°┴e▐╙╛╟Ω@┐P┴?_D┴└∞≥└ΣâNAJ▌╙╛δ@┐l┴?b┴d]┴»ö?Ap%É╛WK┐╓╤    ?b┴f≈┬┴╣ ┴9&╛2═Q┐3?VX┴{â;└5^oA3╨~┐Æo─╜@èτ;_D┴└∞≥└ΣâNAεv┐:8'╛½0T╛_D┴└∞≥└ΣâNAz▀╙╛ⁿ╛¿ÿf┐_D┴╬ÖΣ┴πÑAÜ▐╙╛√√╛▄ÿf┐b┴╛0∙┴z╟qAi╔X╛jΩ╛{Åw┐b┴d]┴»ö?A[╩X╛âΩ╛mÅw┐VX┴ƒM╖┴FÅA#╣|┐▀┼╛╘üP╜_D┴╬ÖΣ┴πÑA;╜z┐½╣C╛σ╓â╜_D┴╪ü╘A╠_ÉB0    o┐Z¢Ñ╜┼è▓>VX┴pN┌A.èB¥[}┐Ωù╜|≥>4MA└∞≥└ΣâNA εv?ⁿ╢å╛╔₧<Tπ`A{â;└5^oA2╨~?:╒s╜┤Ü╜`σ!Ad]┴»ö?Aù$>?═Q┐    3?`σ!Af≈┬┴╣ ┴p%É>WK┐╓╤    ?b┴d]┴»ö?Ap%É╛WK┐╓╤    ?4MA└∞≥└ΣâNAd▐╙>╟Ω@┐P┴?4MAwm┬ú°┴û▀╙>ôΩ@┐!┴?`σ!A▀╤AY7ôB≤$>çε4┐J|1?`σ!A╛0∙┴z╟qA└$É> \/┐√,?b┴╛0∙┴z╟qAÅ$╛èε4┐L|1?b┴▀╤AY7ôB┴$É╛ \/┐·,?b┴╛0∙┴z╟qAi╔X╛jΩ╛{Åw┐`σ!A╛0∙┴z╟qA¡╚X>ÉΩ╛äÅw┐`σ!Ad]┴»ö?Ap╔X>jΩ╛zÅw┐b┴d]┴»ö?A[╩X╛âΩ╛mÅw┐4MA╬ÖΣ┴πÑAÇ▀╙>ⁿ╛ªÿf┐4MA└∞≥└ΣâNA6α╙>┼√╛Çÿf┐4MA╪ü╘A╠_ÉBn▌╙>_&┐╞3#?4MA╬ÖΣ┴πÑA$▌╙> _&┐╥3#?Tπ`AX¿qAp_¬Aôd~?¬¡=äû=4MA≤ƒƒA╓┼│Aε¡v?╣à>Bæü╜4MA╚ÿ%B«╪oA│ªw?cqD>à`)>Tπ`Aα>Bm┼_Agl{?ê┴5>cÇ╜b┴6M/BΘ&wAÿ#É╛╤í>a≡g?b┴ÅB▒Ax ╕A∙#╛╟⌡ª>∙No?_D┴≤ƒƒA╓┼│A═█╙╛BåÖ>\?_D┴╚ÿ%B«╪oAE█╙╛EåÖ>>\?_D┴╪ü╘A╠_ÉB:▌╙╛`!¢>Ñ─[?_D┴µεcBä═uBT▄╙╛n!¢>┌─[?b┴╟║lB│ΩwB¢$É╛⌡éú>,ñg?b┴▀╤AY7ôB>%╛╡¿>ro?VX┴╩öPB╧&qB¥█z┐!┬>┼;>_D┴µεcBä═uB⌡ñv┐φ?à>IΦü╜_D┴µεcBä═uB╥▀╙╛q÷(?╛â ┐_D┴≤ƒƒA╓┼│A┴α╙╛D÷(?₧â ┐b┴ÅB▒Ax ╕A╞╔X╛öd5?└R,┐b┴╟║lB│ΩwB╟╚X╛íd5?╟R,┐VX┴X¿qAp_¬AC@~┐∞DΦ=yß<_D┴≤ƒƒA╓┼│AfÄx┐I?n>└█f=_D┴╚ÿ%B«╪oA╤¼y┐VP^>gY'=VX┴α>Bm┼_AìN}┐eû>╝+█<4MAµεcBä═uBÑv?q▀O>╓⌡2>Tπ`A╩öPB╧&qBÅ█z?╝gF>èmA╜`σ!A╟║lB│ΩwB
  15463. $>╡¿>}o?`σ!A▀╤AY7ôB¿$É>≤éú>+ñg?b┴▀╤AY7ôB>%╛╡¿>ro?b┴╟║lB│ΩwB¢$É╛⌡éú>,ñg?4MAµεcBä═uBL▌╙>]!¢>í─[?4MA╪ü╘A╠_ÉB+▐╙>'!¢>u─[?`σ!A6M/BΘ&wAH#>╦⌡ª> No?`σ!AÅB▒Ax ╕Aÿ#É>~╤í>a≡g?b┴ÅB▒Ax ╕A∙#╛╟⌡ª>∙No?b┴6M/BΘ&wAÿ#É╛╤í>a≡g?b┴ÅB▒Ax ╕A╞╔X╛öd5?└R,┐`σ!AÅB▒Ax ╕A█╩X>îd5?│R,┐`σ!A╟║lB│ΩwB╩╔X>öd5?└R,┐b┴╟║lB│ΩwB╟╚X╛íd5?╟R,┐4MA≤ƒƒA╓┼│A╥▀╙>q÷(?╛â ┐4MAµεcBä═uB╙▐╙>û÷(?δâ ┐4MA╚ÿ%B«╪oA╬█╙>AåÖ>\?4MA≤ƒƒA╓┼│A@▄╙>åÖ>\?b┴▀&┬┐ε┤┬ⁿ$É╛÷¥1?≤»)┐b┴    ∙%A]£┬┘%╛╦B7?P/┐_D┴░r
  15464. Ao░┬┬▌╙╛Gâ(?N² ┐_D┴¡║┬}p½┬è▄╙╛â(?z² ┐_D┴╚ÿ%B«╪oA│▐╙╛┐ü?1┐_D┴èÄt└╡ò╜┴ï▀╙╛¢ü?µ1┐b┴û▓└π%╛┴º%É╛R▒?cº:┐b┴6M/BΘ&wA%╛u─$?╓ò@┐VX┴╗╕∙└«X╝┴┌┬}┐╖â·=╥╙J╜_D┴èÄt└╡ò╜┴╚=s┐Ä(ÿ>ôε└=_D┴èÄt└╡ò╜┴▌╙╛c╦$?c╦$?_D┴░r
  15465. Ao░┬▌╙╛c╦$?c╦$?b┴    ∙%A]£┬π╞X╛¿Ω0?¿Ω0?b┴û▓└π%╛┴ß╞X╛¿Ω0?¿Ω0?VX┴∩╔¢@¼▄┬^ïz┐.CR>¥ª;_D┴░r
  15466. Ao░┬ßus┐ùD₧>φ>g;4MAèÄt└╡ò╜┴╔=s?╨⌠ô>lò∩╜Tπ`A╗╕∙└«X╝┴┌┬}?Å╨>%U#=`σ!Aû▓└π%╛┴F&>n─$?═ò@┐`σ!A6M/BΘ&wAñ%É>R▒?cº:┐b┴6M/BΘ&wA%╛u─$?╓ò@┐4MAèÄt└╡ò╜┴»▐╙>┐ü?1┐4MA╚ÿ%B«╪oA╦▌╙>▄ü?31┐`σ!A▀&┬┐ε┤┬?$>╓B7?Y/┐`σ!A    ∙%A]£┬%É>≤¥1?≥»)┐`σ!A    ∙%A]£┬π╞X>¿Ω0?¿Ω0?`σ!Aû▓└π%╛┴π╞X>¿Ω0?¿Ω0?4MA░r
  15467. Ao░┬▌╙>c╦$?c╦$?4MAèÄt└╡ò╜┴▌╙>c╦$?c╦$?4MA¡║┬}p½┬▐▌╙>Bâ(?J² ┐4MA░r
  15468. Ao░┬▀╙>â(?² ┐P                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                P                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                Plx┌>ûCδ>êc▌>÷ >ÅΣ≥>µº>Di∩>TRº>RI¥=H%u>,╘Ü=VN>≡à╔<o?B`σ<╩├?ⁿ╙>∞₧|>╡ª┘>áëp>}«╓>°1&>Θ╖╧>0µ.>2µ?Φg>Ñ,?áëp>┴¿?°1&>┼ ?xO>╣ì?µº>Ñ,?áëp>2µ?Φg>/▌?B╧ª>^K?TRº>és?∞₧|>Ñ,?áëp>╣ì?µº>┴¿?°1&> $?0µ.>£3Γ>Φg>w╛▀>xO>£3Γ>Φg>óE÷>B╧ª>╡ª┘>áëp>ÅΣ≥>µº>}«╓>°1&>╡ª┘>áëp>╤"{?εδ?;▀o?ñ#9>zÑl?VN>╨│y?o?┴¿?°1&>¿Wj?âá>-▓m?α-É>┼ ?xO>Qj?lV╜>¿Wj?âá>¿Wj?âá>zÑl?VN>;▀o?ñ#9>-▓m?α-É>╓Vl?H%u>zÑl?VN>╨│y?o?■╘x?╩├?─B¡=âá>2w¡=lV╜>ÿnÆ=α-É>w╛▀>xO>ÿnÆ╜α-É>─B¡=âá>}«╓>°1&>πÑ¢<εδ?%ü=ñ#9>%ü╜ñ#9>πÑ¢╝εδ?%ü╜ñ#9>%ü=ñ#9>ÿnÆ=α-É>ÿnÆ╜α-É>,╘Ü=VN>─B¡=âá>≡à╔<o?,╘Ü=VN>Mäì=Di?æ~{=π6?└[á=B>H?£│=σaA?⌐p?ä/L?£ós?¢U?Hp?π6?ê⌠k?B>H?╨│y?o?U┴x?.É0?¿Wz?£32?╤"{?εδ?₧∩w?r-?U┴x?.É0?U┴x?.É0?Hp?π6?£ós?¢U?¿Wz?£32?vOn?Di?Hp?π6?ê⌠k?B>H?~îi?σaA?g╒τ<.É0?%=r-? ╡<£32?πÑ¢<εδ?πÑ¢╝εδ? ╡╝£32?g╒τ<.É0?≡à╔<o?m┼~=ä/L?9╓E=¢U?9╓E╜¢U?m┼~╜ä/L?9╓E╜¢U?9╓E=¢U? ╡<£32? ╡╝£32?æ~{=π6?g╒τ<.É0?└[á=B>H?æ~{=π6?/▌?B╧ª>¢µ?µ??<N?÷ >╣ì?µº>ê⌠k?B>H?1?ª,ú>½>?Φî¿>⌐p?ä/L?û!?≥░É>1?ª,ú>1?ª,ú><N?÷ >¢µ?µ??½>?Φî¿>╩├?ûCδ><N?÷ >₧∩╟>ª,ú>╙╝├>≥░É>¬é╤>Φî¿>m┼~=ä/L?m┼~╜ä/L?₧∩╟>ª,ú>└[á=B>H?óE÷>B╧ª>╩2Σ>µ??╩2Σ>µ??¬é╤>Φî¿>êc▌>÷ >₧∩╟>ª,ú>ÅΣ≥>µº>êc▌>÷ >@"#$$%"GJé^]HHG^GHIIJGJIüüéJéüéé5é5Gé5G^G]^]5 555445
  15469. 4
  15470.     
  15471.     ST223SYS3TSYYZT[ZY*Y3*30*yY*y***++*001+210032yÇÇzzyyz[[\yY\[y\YUVWWXUuvwwxuåçääâåâäààwâOPQQROKLMMNK9:776967))86&'(()&,-../,mnkkjmijkkli     !ÄÅëëêÄêërrqêqrsstq{|}}~{ï~}}èïïèîîìïCDAA@C?@AAB?opffeoefggheab__`a`_ccd`EF<<;E;<==>;|"##$$"$%%"GJJééG^]]HH^HGG^HIIGIJIüüJüéüééé5é55G5G^]]5 5 5544 4
  15472. 4
  15473.         
  15474.     STT22S233SYS3YYTYZZT[ZY[*Y3*300**yyY*y***++0+011+2102yÇÇÇzzzyz[[y[\\yY\UVVWWUWXXUuvvwwuwxxuåççääåäââåäààâàwwâOPPQQOQRROKLLMMKMNNK9::77976697))6)886&''((&())&,--..,.//,mnnkkmkjjmijkiklli       !!ÄÅÅëëÄëêêÄërrêrqqêrssqsttq{||}}{}~~{ï~}ï}èèïèîîïîììïCDDAACA@@C?@A?ABB?oppffofeeofggeghheabb__a_``a_cc`cdd`EFF<<E<;;E<==;=>>;CVX┴▀&┬┐ε┤┬Tπ`A╟║lBY7ôBVX┴▀&┬┐ε┤┬Tπ`A6M/BΘ&wAVX┴Åñ┬ƒ<τ┴Tπ`A╟║lBY7ôB#$VX┴▀&┬┐ε┤┬Tπ`A    ∙%Ag╒÷┴VX┴f≈┬¼▄┬Tπ`A6M/BΘ&wAVX┴▀&┬┐ε┤┬`σ!A    ∙%Ag╒÷┴b┴▀&┬┐ε┤┬Tπ`A    ∙%Ag╒÷┴ VX┴▀&┬┐ε┤┬`σ!A    ∙%Aÿn┬VX┴▀&┬┐ε┤┬`σ!A    ∙%Ag╒÷┴    
  15475. VX┴▀&┬┐ε┤┬`σ!A▀OÉ┴g╒÷┴VX┴▀&┬┐ε┤┬b┴    ∙%Ag╒÷┴b┴▀&┬┐ε┤┬Tπ`A    ∙%Ag╒÷┴b┴▀&┬┐ε┤┬Tπ`A    ∙%Ag╒÷┴b┴▀&┬┐ε┤┬Tπ`A    ∙%Ag╒÷┴ `σ!A▀&┬┐ε┤┬Tπ`A▀OÉ┴g╒÷┴VX┴f≈┬öç┬Tπ`A{â;└5^oAVX┴▀OÉ┴¼▄┬Tπ`A6M/BΘ&wAVX┴f≈┬öç┬Tπ`A▀OÉ┴ƒ<τ┴VX┴f≈┬┴╣ ┴Tπ`A{â;└5^oAVX┴f≈┬öç┬`σ!A▀OÉ┴ƒ<τ┴b┴f≈┬öç┬Tπ`A▀OÉ┴ƒ<τ┴VX┴f≈┬┴╣ ┴`σ!A{â;└5^oAb┴f≈┬┴╣ ┴Tπ`A{â;└5^oA&VX┴f≈┬┴╣ ┴b┴{â;└5^oA VX┴f≈┬┴╣ ┴`σ!A{â;└5^oA#VX┴▀OÉ┴¼▄┬`σ!A6M/BΘ&wAb┴▀OÉ┴¼▄┬Tπ`A6M/BΘ&wA VX┴▀OÉ┴¼▄┬`σ!A    ∙%A«X╝┴VX┴▀OÉ┴g╒÷┴`σ!A6M/BΘ&wA1VX┴▀OÉ┴¼▄┬_D┴∩╔¢@«X╝┴+VX┴èÄt└¼▄┬`σ!A    ∙%A╡ò╜┴-b┴▀OÉ┴¼▄┬Tπ`A    ∙%A«X╝┴!"`σ!A▀OÉ┴g╒÷┴Tπ`A6M/BΘ&wA;`σ!A▀OÉ┴¼▄┬Tπ`A░r
  15476. A«X╝┴5b┴╗╕∙└¼▄┬Tπ`A    ∙%A«X╝┴8VX┴Åñ┬ƒ<τ┴Tπ`Aα>BY7ôB%&VX┴╗╕∙└π%╛┴Tπ`A╟║lBY7ôB34VX┴Åñ┬ƒ<τ┴Tπ`Aα>Bp_¬A'(VX┴╛0∙┴5^oATπ`ApN┌AY7ôB-.VX┴Åñ┬ƒ<τ┴Tπ`A{â;└FÅA)*VX┴╗╕∙└«X╝┴Tπ`Aα>Bp_¬AIVX┴╛0∙┴»ö?A`σ!A{â;└FÅA>b┴Åñ┬ƒ<τ┴Tπ`A{â;└FÅA+,4MAÅñ┬ƒ<τ┴Tπ`A{â;└5^oACb┴╛0∙┴»ö?ATπ`A{â;└FÅADVX┴╛0∙┴5^oA`σ!ApN┌AY7ôB/0b┴╛0∙┴5^oATπ`ApN┌AY7ôB12VX┴╛0∙┴5^oAb┴pN┌AY7ôBMVX┴╛0∙┴z╟qA`σ!ApN┌AY7ôBQb┴╛0∙┴z╟qATπ`A╪ü╘AY7ôBT`σ!A╛0∙┴5^oATπ`ApN┌AY7ôBWVX┴╗╕∙└π%╛┴Tπ`A╟║lB│ΩwB56VX┴X¿qAp_¬ATπ`A╟║lBY7ôB=>VX┴╗╕∙└π%╛┴Tπ`A6M/Bx ╕A78VX┴X¿qA«╪oATπ`A╟║lB│ΩwB9:VX┴╗╕∙└π%╛┴`σ!A6M/Bx ╕A[b┴èÄt└π%╛┴Tπ`A6M/Bx ╕A`VX┴X¿qA«╪oAb┴µεcBä═uBeb┴X¿qA«╪oATπ`A╟║lB│ΩwB;<b┴X¿qA«╪oATπ`A6M/Bx ╕Aib┴X¿qAp_¬ATπ`A╟║lB│ΩwBlVX┴X¿qAp_¬A`σ!A╟║lBY7ôB?@b┴X¿qAp_¬ATπ`A╟║lBY7ôBABVX┴X¿qAp_¬A`σ!A╟║lB.èBoVX┴▀╤A╧&qB`σ!A╟║lBY7ôBs`σ!AX¿qAp_¬ATπ`A╟║lB.èBxb┴▀╤A╧&qBTπ`A╟║lBY7ôB{@ rs  rss    ë        ëër   
  15477.         
  15478. **(*'(6'(6
  15479. 44
  15480. 64 5yvyâwrvsrrwvsvyvNKwâ*yNvwééüüââërëâéeâü5éüéJ'$#'*06(##('0$'45 5#<654466<y\Y*yYGJé5Gé*Y3%$0"#$*3003%#";$%"<;<#55G<;N\yY\NLKewKNMNKâeKJIüüIeIJGfeINMYYMPKLMPMLGHIefLIHf_fHLf_HG^YS3_QLPSYLQP%3S%PQQ"%SP%"Q_^G^]HH]_]];;_]]^_;"IA@Tπ`A∩╔¢@¼▄┬4MA░r
  15481. Ao░┬4MA¡║┬}p½┬lx┌>ûCδ>êc▌>÷ >ÅΣ≥>µº>            4MA¡║┬}p½┬Tπ`A╠┬αìû┬Tπ`A∩╔¢@¼▄┬ÅΣ≥>µº>Di∩>TRº>lx┌>ûCδ>            Tπ`AƒM╖┴FÅA4MA╬ÖΣ┴πÑA4MA╪ü╘A╠_ÉBRI¥=H%u>,╘Ü=VN>≡à╔<o?            4MA╪ü╘A╠_ÉBTπ`ApN┌A.èBTπ`AƒM╖┴FÅA≡à╔<o?B`σ<╩├?RI¥=H%u>            Tπ`A▀OÉ┴g╒÷┴4MA└∞¼┴ÿn┬4MAwm┬ú°┴ⁿ╙>∞₧|>╡ª┘>áëp>}«╓>°1&>            4MAwm┬ú°┴Tπ`AÅñ┬ƒ<τ┴Tπ`A▀OÉ┴g╒÷┴}«╓>°1&>Θ╖╧>0µ.>ⁿ╙>∞₧|>            b┴cε╣┴öç┬_D┴└∞¼┴ÿn┬_D┴wm┬ú°┴2µ?Φg>Ñ,?áëp>┴¿?°1&>            _D┴wm┬ú°┴b┴f≈┬┴╣ ┴b┴cε╣┴öç┬┴¿?°1&>┼ ?xO>2µ?Φg>            _D┴¡║┬}p½┬_D┴└∞¼┴ÿn┬b┴cε╣┴öç┬╣ì?µº>Ñ,?áëp>2µ?Φg>            b┴cε╣┴öç┬b┴▀&┬┐ε┤┬_D┴¡║┬}p½┬2µ?Φg>/▌?B╧ª>╣ì?µº>            VX┴╠┬αìû┬VX┴▀OÉ┴g╒÷┴_D┴└∞¼┴ÿn┬^K?TRº>és?∞₧|>Ñ,?áëp>            _D┴└∞¼┴ÿn┬_D┴¡║┬}p½┬VX┴╠┬αìû┬Ñ,?áëp>╣ì?µº>^K?TRº>            _D┴wm┬ú°┴_D┴└∞¼┴ÿn┬VX┴▀OÉ┴g╒÷┴┴¿?°1&>Ñ,?áëp>és?∞₧|>            VX┴▀OÉ┴g╒÷┴VX┴Åñ┬ƒ<τ┴_D┴wm┬ú°┴és?∞₧|> $?0µ.>┴¿?°1&>            `σ!Acε╣┴öç┬b┴cε╣┴öç┬b┴f≈┬┴╣ ┴£3Γ>Φg>2µ?Φg>┼ ?xO>            b┴f≈┬┴╣ ┴`σ!Af≈┬┴╣ ┴`σ!Acε╣┴öç┬┼ ?xO>w╛▀>xO>£3Γ>Φg>            b┴▀&┬┐ε┤┬b┴cε╣┴öç┬`σ!Acε╣┴öç┬/▌?B╧ª>2µ?Φg>£3Γ>Φg>            `σ!Acε╣┴öç┬`σ!A▀&┬┐ε┤┬b┴▀&┬┐ε┤┬£3Γ>Φg>óE÷>B╧ª>/▌?B╧ª>            4MA¡║┬}p½┬4MA└∞¼┴ÿn┬Tπ`A▀OÉ┴g╒÷┴ÅΣ≥>µº>╡ª┘>áëp>ⁿ╙>∞₧|>            Tπ`A▀OÉ┴g╒÷┴Tπ`A╠┬αìû┬4MA¡║┬}p½┬ⁿ╙>∞₧|>Di∩>TRº>ÅΣ≥>µº>            `σ!A▀&┬┐ε┤┬`σ!Acε╣┴öç┬4MA└∞¼┴ÿn┬óE÷>B╧ª>£3Γ>Φg>╡ª┘>áëp>            4MA└∞¼┴ÿn┬4MA¡║┬}p½┬`σ!A▀&┬┐ε┤┬╡ª┘>áëp>ÅΣ≥>µº>óE÷>B╧ª>            4MAwm┬ú°┴4MA└∞¼┴ÿn┬`σ!Acε╣┴öç┬}«╓>°1&>╡ª┘>áëp>£3Γ>Φg>            `σ!Acε╣┴öç┬`σ!Af≈┬┴╣ ┴4MAwm┬ú°┴£3Γ>Φg>w╛▀>xO>}«╓>°1&>            b┴▀╤AY7ôBb┴╛0∙┴z╟qA_D┴╬ÖΣ┴πÑA╤"{?εδ?;▀o?ñ#9>zÑl?VN>            _D┴╬ÖΣ┴πÑA_D┴╪ü╘A╠_ÉBb┴▀╤AY7ôBzÑl?VN>╨│y?o?╤"{?εδ?            _D┴wm┬ú°┴_D┴└∞≥└ΣâNAb┴d]┴»ö?A┴¿?°1&>¿Wj?âá>-▓m?α-É>            b┴d]┴»ö?Ab┴f≈┬┴╣ ┴_D┴wm┬ú°┴-▓m?α-É>┼ ?xO>┴¿?°1&>            VX┴{â;└5^oA_D┴└∞≥└ΣâNA_D┴wm┬ú°┴Qj?lV╜>¿Wj?âá>┴¿?°1&>            _D┴wm┬ú°┴VX┴Åñ┬ƒ<τ┴VX┴{â;└5^oA┴¿?°1&> $?0µ.>Qj?lV╜>            _D┴└∞≥└ΣâNA_D┴╬ÖΣ┴πÑAb┴╛0∙┴z╟qA¿Wj?âá>zÑl?VN>;▀o?ñ#9>            b┴╛0∙┴z╟qAb┴d]┴»ö?A_D┴└∞≥└ΣâNA;▀o?ñ#9>-▓m?α-É>¿Wj?âá>            VX┴ƒM╖┴FÅA_D┴╬ÖΣ┴πÑA_D┴└∞≥└ΣâNA╓Vl?H%u>zÑl?VN>¿Wj?âá>            _D┴└∞≥└ΣâNAVX┴{â;└5^oAVX┴ƒM╖┴FÅA¿Wj?âá>Qj?lV╜>╓Vl?H%u>            _D┴╪ü╘A╠_ÉB_D┴╬ÖΣ┴πÑAVX┴ƒM╖┴FÅA╨│y?o?zÑl?VN>╓Vl?H%u>            VX┴ƒM╖┴FÅAVX┴pN┌A.èB_D┴╪ü╘A╠_ÉB╓Vl?H%u>■╘x?╩├?╨│y?o?            Tπ`AÅñ┬ƒ<τ┴4MAwm┬ú°┴4MA└∞≥└ΣâNAΘ╖╧>0µ.>}«╓>°1&>─B¡=âá>            4MA└∞≥└ΣâNATπ`A{â;└5^oATπ`AÅñ┬ƒ<τ┴─B¡=âá>2w¡=lV╜>Θ╖╧>0µ.>            `σ!Ad]┴»ö?A`σ!Af≈┬┴╣ ┴b┴f≈┬┴╣ ┴ÿnÆ=α-É>w╛▀>xO>┼ ?xO>            b┴f≈┬┴╣ ┴b┴d]┴»ö?A`σ!Ad]┴»ö?A┼ ?xO>ÿnÆ╜α-É>ÿnÆ=α-É>            4MA└∞≥└ΣâNA4MAwm┬ú°┴`σ!Af≈┬┴╣ ┴─B¡=âá>}«╓>°1&>w╛▀>xO>            `σ!Af≈┬┴╣ ┴`σ!Ad]┴»ö?A4MA└∞≥└ΣâNAw╛▀>xO>ÿnÆ=α-É>─B¡=âá>            `σ!A▀╤AY7ôB`σ!A╛0∙┴z╟qAb┴╛0∙┴z╟qAπÑ¢<εδ?%ü=ñ#9>%ü╜ñ#9>            b┴╛0∙┴z╟qAb┴▀╤AY7ôB`σ!A▀╤AY7ôB%ü╜ñ#9>πÑ¢╝εδ?πÑ¢<εδ?            b┴╛0∙┴z╟qA`σ!A╛0∙┴z╟qA`σ!Ad]┴»ö?A%ü╜ñ#9>%ü=ñ#9>ÿnÆ=α-É>            `σ!Ad]┴»ö?Ab┴d]┴»ö?Ab┴╛0∙┴z╟qAÿnÆ=α-É>ÿnÆ╜α-É>%ü╜ñ#9>            Tπ`A{â;└5^oA4MA└∞≥└ΣâNA4MA╬ÖΣ┴πÑA2w¡=lV╜>─B¡=âá>,╘Ü=VN>            4MA╬ÖΣ┴πÑATπ`AƒM╖┴FÅATπ`A{â;└5^oA,╘Ü=VN>RI¥=H%u>2w¡=lV╜>            4MA╬ÖΣ┴πÑA4MA└∞≥└ΣâNA`σ!Ad]┴»ö?A,╘Ü=VN>─B¡=âá>ÿnÆ=α-É>            `σ!Ad]┴»ö?A`σ!A╛0∙┴z╟qA4MA╬ÖΣ┴πÑAÿnÆ=α-É>%ü=ñ#9>,╘Ü=VN>            4MA╪ü╘A╠_ÉB4MA╬ÖΣ┴πÑA`σ!A╛0∙┴z╟qA≡à╔<o?,╘Ü=VN>%ü=ñ#9>            `σ!A╛0∙┴z╟qA`σ!A▀╤AY7ôB4MA╪ü╘A╠_ÉB%ü=ñ#9>πÑ¢<εδ?≡à╔<o?            Tπ`AX¿qAp_¬A4MA≤ƒƒA╓┼│A4MA╚ÿ%B«╪oAMäì=Di?æ~{=π6?└[á=B>H?            4MA╚ÿ%B«╪oATπ`Aα>Bm┼_ATπ`AX¿qAp_¬A└[á=B>H?£│=σaA?Mäì=Di?            b┴6M/BΘ&wAb┴ÅB▒Ax ╕A_D┴≤ƒƒA╓┼│A⌐p?ä/L?£ós?¢U?Hp?π6?            _D┴≤ƒƒA╓┼│A_D┴╚ÿ%B«╪oAb┴6M/BΘ&wAHp?π6?ê⌠k?B>H?⌐p?ä/L?            _D┴╪ü╘A╠_ÉB_D┴µεcBä═uBb┴╟║lB│ΩwB╨│y?o?U┴x?.É0?¿Wz?£32?            b┴╟║lB│ΩwBb┴▀╤AY7ôB_D┴╪ü╘A╠_ÉB¿Wz?£32?╤"{?εδ?╨│y?o?            VX┴╩öPB╧&qB_D┴µεcBä═uB_D┴╪ü╘A╠_ÉB₧∩w?r-?U┴x?.É0?╨│y?o?            _D┴╪ü╘A╠_ÉBVX┴pN┌A.èBVX┴╩öPB╧&qB╨│y?o?■╘x?╩├?₧∩w?r-?            _D┴µεcBä═uB_D┴≤ƒƒA╓┼│Ab┴ÅB▒Ax ╕AU┴x?.É0?Hp?π6?£ós?¢U?            b┴ÅB▒Ax ╕Ab┴╟║lB│ΩwB_D┴µεcBä═uB£ós?¢U?¿Wz?£32?U┴x?.É0?            VX┴X¿qAp_¬A_D┴≤ƒƒA╓┼│A_D┴µεcBä═uBvOn?Di?Hp?π6?U┴x?.É0?            _D┴µεcBä═uBVX┴╩öPB╧&qBVX┴X¿qAp_¬AU┴x?.É0?₧∩w?r-?vOn?Di?            _D┴╚ÿ%B«╪oA_D┴≤ƒƒA╓┼│AVX┴X¿qAp_¬Aê⌠k?B>H?Hp?π6?vOn?Di?            VX┴X¿qAp_¬AVX┴α>Bm┼_A_D┴╚ÿ%B«╪oAvOn?Di?~îi?σaA?ê⌠k?B>H?            Tπ`ApN┌A.èB4MA╪ü╘A╠_ÉB4MAµεcBä═uBB`σ<╩├?≡à╔<o?g╒τ<.É0?            4MAµεcBä═uBTπ`A╩öPB╧&qBTπ`ApN┌A.èBg╒τ<.É0?%=r-?B`σ<╩├?            `σ!A╟║lB│ΩwB`σ!A▀╤AY7ôBb┴▀╤AY7ôB ╡<£32?πÑ¢<εδ?πÑ¢╝εδ?            b┴▀╤AY7ôBb┴╟║lB│ΩwB`σ!A╟║lB│ΩwBπÑ¢╝εδ? ╡╝£32? ╡<£32?            4MAµεcBä═uB4MA╪ü╘A╠_ÉB`σ!A▀╤AY7ôBg╒τ<.É0?≡à╔<o?πÑ¢<εδ?            `σ!A▀╤AY7ôB`σ!A╟║lB│ΩwB4MAµεcBä═uBπÑ¢<εδ? ╡<£32?g╒τ<.É0?            `σ!A6M/BΘ&wA`σ!AÅB▒Ax ╕Ab┴ÅB▒Ax ╕Am┼~=ä/L?9╓E=¢U?9╓E╜¢U?            b┴ÅB▒Ax ╕Ab┴6M/BΘ&wA`σ!A6M/BΘ&wA9╓E╜¢U?m┼~╜ä/L?m┼~=ä/L?            b┴ÅB▒Ax ╕A`σ!AÅB▒Ax ╕A`σ!A╟║lB│ΩwB9╓E╜¢U?9╓E=¢U? ╡<£32?            `σ!A╟║lB│ΩwBb┴╟║lB│ΩwBb┴ÅB▒Ax ╕A ╡<£32? ╡╝£32?9╓E╜¢U?            Tπ`A╩öPB╧&qB4MAµεcBä═uB4MA≤ƒƒA╓┼│A%=r-?g╒τ<.É0?æ~{=π6?            4MA≤ƒƒA╓┼│ATπ`AX¿qAp_¬ATπ`A╩öPB╧&qBæ~{=π6?Mäì=Di?%=r-?            4MA≤ƒƒA╓┼│A4MAµεcBä═uB`σ!A╟║lB│ΩwBæ~{=π6?g╒τ<.É0? ╡<£32?            `σ!A╟║lB│ΩwB`σ!AÅB▒Ax ╕A4MA≤ƒƒA╓┼│A ╡<£32?9╓E=¢U?æ~{=π6?            4MA╚ÿ%B«╪oA4MA≤ƒƒA╓┼│A`σ!AÅB▒Ax ╕A└[á=B>H?æ~{=π6?9╓E=¢U?            `σ!AÅB▒Ax ╕A`σ!A6M/BΘ&wA4MA╚ÿ%B«╪oA9╓E=¢U?m┼~=ä/L?└[á=B>H?            b┴▀&┬┐ε┤┬b┴    ∙%A]£┬_D┴░r
  15482. Ao░┬/▌?B╧ª>¢µ?µ??<N?÷ >            _D┴░r
  15483. Ao░┬_D┴¡║┬}p½┬b┴▀&┬┐ε┤┬<N?÷ >╣ì?µº>/▌?B╧ª>            _D┴╚ÿ%B«╪oA_D┴èÄt└╡ò╜┴b┴û▓└π%╛┴ê⌠k?B>H?1?ª,ú>½>?Φî¿>            b┴û▓└π%╛┴b┴6M/BΘ&wA_D┴╚ÿ%B«╪oA½>?Φî¿>⌐p?ä/L?ê⌠k?B>H?            VX┴╗╕∙└«X╝┴_D┴èÄt└╡ò╜┴_D┴╚ÿ%B«╪oAû!?≥░É>1?ª,ú>ê⌠k?B>H?            _D┴╚ÿ%B«╪oAVX┴α>Bm┼_AVX┴╗╕∙└«X╝┴ê⌠k?B>H?~îi?σaA?û!?≥░É>            _D┴èÄt└╡ò╜┴_D┴░r
  15484. Ao░┬b┴    ∙%A]£┬1?ª,ú><N?÷ >¢µ?µ??            b┴    ∙%A]£┬b┴û▓└π%╛┴_D┴èÄt└╡ò╜┴¢µ?µ??½>?Φî¿>1?ª,ú>            VX┴∩╔¢@¼▄┬_D┴░r
  15485. Ao░┬_D┴èÄt└╡ò╜┴╩├?ûCδ><N?÷ >1?ª,ú>            _D┴èÄt└╡ò╜┴VX┴╗╕∙└«X╝┴VX┴∩╔¢@¼▄┬1?ª,ú>û!?≥░É>╩├?ûCδ>            _D┴¡║┬}p½┬_D┴░r
  15486. Ao░┬VX┴∩╔¢@¼▄┬╣ì?µº><N?÷ >╩├?ûCδ>            VX┴∩╔¢@¼▄┬VX┴╠┬αìû┬_D┴¡║┬}p½┬╩├?ûCδ>^K?TRº>╣ì?µº>            Tπ`Aα>Bm┼_A4MA╚ÿ%B«╪oA4MAèÄt└╡ò╜┴£│=σaA?└[á=B>H?₧∩╟>ª,ú>            4MAèÄt└╡ò╜┴Tπ`A╗╕∙└«X╝┴Tπ`Aα>Bm┼_A₧∩╟>ª,ú>╙╝├>≥░É>£│=σaA?            `σ!Aû▓└π%╛┴`σ!A6M/BΘ&wAb┴6M/BΘ&wA¬é╤>Φî¿>m┼~=ä/L?m┼~╜ä/L?            b┴6M/BΘ&wAb┴û▓└π%╛┴`σ!Aû▓└π%╛┴m┼~╜ä/L?½>?Φî¿>¬é╤>Φî¿>            4MAèÄt└╡ò╜┴4MA╚ÿ%B«╪oA`σ!A6M/BΘ&wA₧∩╟>ª,ú>└[á=B>H?m┼~=ä/L?            `σ!A6M/BΘ&wA`σ!Aû▓└π%╛┴4MAèÄt└╡ò╜┴m┼~=ä/L?¬é╤>Φî¿>₧∩╟>ª,ú>            `σ!A▀&┬┐ε┤┬`σ!A    ∙%A]£┬b┴    ∙%A]£┬óE÷>B╧ª>╩2Σ>µ??¢µ?µ??            b┴    ∙%A]£┬b┴▀&┬┐ε┤┬`σ!A▀&┬┐ε┤┬¢µ?µ??/▌?B╧ª>óE÷>B╧ª>            b┴    ∙%A]£┬`σ!A    ∙%A]£┬`σ!Aû▓└π%╛┴¢µ?µ??╩2Σ>µ??¬é╤>Φî¿>            `σ!Aû▓└π%╛┴b┴û▓└π%╛┴b┴    ∙%A]£┬¬é╤>Φî¿>½>?Φî¿>¢µ?µ??            Tπ`A╗╕∙└«X╝┴4MAèÄt└╡ò╜┴4MA░r
  15487. Ao░┬╙╝├>≥░É>₧∩╟>ª,ú>êc▌>÷ >            4MA░r
  15488. Ao░┬Tπ`A∩╔¢@¼▄┬Tπ`A╗╕∙└«X╝┴êc▌>÷ >lx┌>ûCδ>╙╝├>≥░É>            4MA░r
  15489. Ao░┬4MAèÄt└╡ò╜┴`σ!Aû▓└π%╛┴êc▌>÷ >₧∩╟>ª,ú>¬é╤>Φî¿>            `σ!Aû▓└π%╛┴`σ!A    ∙%A]£┬4MA░r
  15490. Ao░┬¬é╤>Φî¿>╩2Σ>µ??êc▌>÷ >            4MA¡║┬}p½┬4MA░r
  15491. Ao░┬`σ!A    ∙%A]£┬ÅΣ≥>µº>êc▌>÷ >╩2Σ>µ??            `σ!A    ∙%A]£┬`σ!A▀&┬┐ε┤┬4MA¡║┬}p½┬╩2Σ>µ??óE÷>B╧ª>ÅΣ≥>µº>            VX┴{â;└5^oAVX┴Åñ┬ƒ<τ┴VX┴▀OÉ┴g╒÷┴Qj?lV╜> $?0µ.>és?∞₧|>            VX┴▀OÉ┴g╒÷┴VX┴╠┬αìû┬VX┴∩╔¢@¼▄┬és?∞₧|>^K?TRº>╩├?ûCδ>            VX┴▀OÉ┴g╒÷┴VX┴∩╔¢@¼▄┬VX┴╗╕∙└«X╝┴és?∞₧|>╩├?ûCδ>û!?≥░É>            VX┴{â;└5^oAVX┴▀OÉ┴g╒÷┴VX┴╗╕∙└«X╝┴Qj?lV╜>és?∞₧|>û!?≥░É>            VX┴╗╕∙└«X╝┴VX┴α>Bm┼_AVX┴X¿qAp_¬Aû!?≥░É>~îi?σaA?vOn?Di?            VX┴{â;└5^oAVX┴╗╕∙└«X╝┴VX┴X¿qAp_¬AQj?lV╜>û!?≥░É>vOn?Di?            VX┴X¿qAp_¬AVX┴╩öPB╧&qBVX┴pN┌A.èBvOn?Di?₧∩w?r-?■╘x?╩├?            VX┴{â;└5^oAVX┴X¿qAp_¬AVX┴pN┌A.èBQj?lV╜>vOn?Di?■╘x?╩├?            VX┴{â;└5^oAVX┴pN┌A.èBVX┴ƒM╖┴FÅAQj?lV╜>■╘x?╩├?╓Vl?H%u>            Tπ`A{â;└5^oATπ`AƒM╖┴FÅATπ`ApN┌A.èB2w¡=lV╜>RI¥=H%u>B`σ<╩├?            Tπ`ApN┌A.èBTπ`A╩öPB╧&qBTπ`AX¿qAp_¬AB`σ<╩├?%=r-?Mäì=Di?            Tπ`A{â;└5^oATπ`ApN┌A.èBTπ`AX¿qAp_¬A2w¡=lV╜>B`σ<╩├?Mäì=Di?            Tπ`AX¿qAp_¬ATπ`Aα>Bm┼_ATπ`A╗╕∙└«X╝┴Mäì=Di?£│=σaA?╙╝├>≥░É>            Tπ`A{â;└5^oATπ`AX¿qAp_¬ATπ`A╗╕∙└«X╝┴2w¡=lV╜>Mäì=Di?╙╝├>≥░É>            Tπ`A∩╔¢@¼▄┬Tπ`A╠┬αìû┬Tπ`A▀OÉ┴g╒÷┴lx┌>ûCδ>Di∩>TRº>ⁿ╙>∞₧|>            Tπ`A╗╕∙└«X╝┴Tπ`A∩╔¢@¼▄┬Tπ`A▀OÉ┴g╒÷┴╙╝├>≥░É>lx┌>ûCδ>ⁿ╙>∞₧|>            Tπ`A{â;└5^oATπ`A╗╕∙└«X╝┴Tπ`A▀OÉ┴g╒÷┴2w¡=lV╜>╙╝├>≥░É>ⁿ╙>∞₧|>            Tπ`AÅñ┬ƒ<τ┴Tπ`A{â;└5^oATπ`A▀OÉ┴g╒÷┴Θ╖╧>0µ.>2w¡=lV╜>ⁿ╙>∞₧|>             TLAY╙ï╙î(n├∙X┴Åä¢├ªc┐C▒ß`A═╦SCIƒÉBÇì>ózF┬φ@╦Cº╕╝╝4ª<<(n├∙X┴Åä¢├ªc┐C▒ß`A═╦SCyñ▀,┴▒ß`A²ç<@┐m:╛êAy?Oò ╛àδX┴a2MA▓¥╟?¼ì┐¿)@?^R¼╛⻺Aa2MAh│▓┴é0=╒░\?┼Z┐1ÖáA▒ß`AZuô┴│δ>╘°x?hH╛SNèC▒ß`ALC╠½<
  15492. │u?|`Å╛+hèCa2MAab C39p=Çp?πMI┐╬ÜóCa2MA╩ñC=hp>α{L?e╧┐5óC▒ß`Aö7Ckñ= îz?1ÅA╛J¼╔B▒ß`Av╧IB╬J>∞%x?╓ªC╛Fv╬Ba2MA╒°=B╬Ü║>-ñP?Åѵ╛ ╪Ba2MA╥@╡B£tΩ>▀,R?╘ò«╛Ñ,╙B▒ß`AΦj║B9xù=Qé~?┴çá╜┴
  15493. GBa2MA.αAZK>{^L?▀Æ┐║·öBa2MA√\æA/å>µ]Y?k▀Ω╛0¬ÉB▒ß`Açû»Aª≤█=I∞y?S¢@╛╦PBB▒ß`AeÖ√A,σ⌡<+∩~?─D░╜╦≡ûB┴≤ƒâA,áσ>9c┌╛εI┐╛0IB┴w-╘AD░Ñ>f¿=╛±ëm┐┴
  15494. GB¬`D┴.αAXK>}^L┐▌Æ┐║·öB¬`D┴√\æA.å>τ]Y┐i▀Ω╛
  15495. Φ¬A┴τ└┴÷h=¢»╛⌠!p┐⻺A¬`D┴h│▓┴é0=╓░\┐├Z┐1ÖáA∙X┴Zuô┴¡δ>╒°x┐≈gH╛╦PBB∙X┴eÖ√Aσ⌡<+∩~┐╗D░╜0¬ÉB∙X┴çû»A£≤█=I∞y┐K¢@╛╦≡ûB╜π!A≤ƒâAH├∩>╬X¿>^≤Q┐╛0IB╜π!Aw-╘A¡ó>TMì>WUh┐
  15496. Φ¬A╜π!Aτ└┴ε
  15497. ╡>ÿ»>┘π^┐ ╪B¬`D┴╥@╡BÖtΩ>ß,R┐╨ò«╛ C┌B┴πτ▓B╧?│Fo╛9XG┐êú╨B┴?ù8BÅ╫?ëO├╛»°7┐Fv╬B¬`D┴╒°=B╦Ü║>.ñP┐ïѵ╛j╝₧B¬`D┴gäGB-╕>┼3O┐I«φ╛!╨áB┴≡'BB╓α?
  15498. ΦD╛¥öF┐î*ÜB∙X┴▀OSB@=½?┐ï▐w╜J¼╔B∙X┴v╧IB╟J>φ%x┐╠ªC╛Ñ,╙B∙X┴Φj║B2xù=Ré~┐╗çá╜0¬ÉB▒ß`Açû»Aª≤█=I∞y?S¢@╛║·öBa2MA√\æA/å>µ]Y?k▀Ω╛j╝₧Ba2MAgäGB-╕>├3O?K«φ╛î*ÜB▒ß`A▀OSB@=½??û▐w╜!╨áB╜π!A≡'BB║@?ætÆ>╔µA┐╦≡ûB╜π!A≤ƒâAH├∩>╬X¿>^≤Q┐ C┌B╜π!Aπτ▓Bx┬?f¬ñ>₧╨H┐êú╨B╜π!A?ù8B(?G7ò>¥a>┐²╖C▒ß`A+┐B»«û=nΘx?, c╛7ÜCa2MA$╫╣Bg⌠z>τ╡ ?â"=┐√zMCa2MA╔╓C═T≈>K≥^?rü╣=╒ÖHC▒ß`A╔╓C9>╓╖z?:╣=╤▓OC┴╔╓C└*X?¡╙¿╛$+╪╛C┴6k╖BKH¥>e`╛,m┐7ÜC¬`D┴$╫╣Bf⌠z>τ╡ ┐â"=┐√zMC¬`D┴╔╓C╩T≈>K≥^┐xü╣=²╖C∙X┴+┐B⌐«û=oΘx┐" c╛╒ÖHC∙X┴╔╓C∙9>╓╖z┐1╣=╤▓OC╜π!A╔╓C√gn?!2║>÷▓<C╜π!A6k╖Bzƒ>Y>δap┐A┌óC┴XyC≡┤>,t?╛┐╥j┐τsèC┴m' CN┌ö=YY╛Syy┐+hèC¬`D┴ab C19p=üp┐ΓMI┐╬ÜóC¬`D┴╩ñC█üò>[┌7┐|▓!┐ô)<C¬`D┴ab C¡|W>F╝y┐\|é╜╒9@C┴m' Cr?D?WE┐µ«m╛    93C∙X┴LCÑb!=r╚┐eoC╝SNèC∙X┴LC├½< │u┐u`Å╛5óC∙X┴ö7C₧∞=Ax┐o│_╛ô)<Ca2MAab C▒|W>F╝y?_|é╜    93C▒ß`ALC½b!=r╚?koC╝╒9@C╜π!Am' C7,,?╗#6?
  15499. çP╛A┌óC╜π!AXyC«5┐>Åsö>pöa┐τsèC╜π!Am' Cr╠û=ÿê>4╝|┐eY-Ba2MA3MC┘T1╛
  15500. ╒6? ₧-?Vƒ╙?a2MA    <C≡ô√╛Mï8?»@·>4ó\@▒ß`AΓ╪9C█░µ╜àƒz?%.>P/B▒ß`AyJCv▀┤╝]kz?¿pS>≤?╢C▒ß`A┤5CSL[>"9v?Å.╛iW╖Ca2MA╘[3CùC?≤$ ?ï─°╛Æc╛Ca2MA"^RC«(ù> Én?┘╘W>+0╝C▒ß`A¡9OC╙'≥=»H}?FΓ¼=ªc┐C┴═╦SCBiW?┼B▐╛╗ñ>m╓╖C┴¥æ2C╕9? îà╛#┐iW╖C¬`D┴╘[3C╗µ?╢7┐▀7╒╛Æc╛C¬`D┴"^RC½(ù> Én┐╒╘W>≤?╢C∙X┴┤5C▌╡R>─    x┐α┐ ╛+0╝C∙X┴¡9OC╟'≥=░H}┐@Γ¼=ªc┐C╜π!A═╦SC¢▄?φB▐>æ√0?m╓╖C╜π!A¥æ2C2-F?yü>Γ╛┐zV?┴╚=Cò8┐╕A╛(╬H?╫t,B┴.pNC$Γ╛▐ƒä╛┼≤t?eY-B¬`D┴3MCT1╛?╒6┐┌¥-?Vƒ╙?¬`D┴    <CÑ∞┐âφ*┐┐ê    ?S╞|C¬`D┴HFC4~Ü╝[F+┐D4>?Æ╝|C┴┴JGC7}·╝8q╛╔Q}?╟█|C∙X┴>YCC0≥±╗▄u}┐@«>P/B∙X┴yJCR∞Ü╝√Ω{┐╫5>4ó\@∙X┴Γ╪9C/i/╛tzv┐¢≈U>S╞|Ca2MAHFC6~Ü╝ZF+?E4>?╟█|C▒ß`A>YCC:≥±╗▄u}?F«>Æ╝|C╜π!A┴JGC┼B≈╝D7Y>z?zV?╜π!A┬=C@┐<ç>.╩G?╫t,B╜π!A.pNC(~╛ÿ├=>1╞x?Æ╝|C┴┴JGC7}·╝8q╛╔Q}?Æ╝|C╜π!A┴JGC┼B≈╝D7Y>z?S╞|Ca2MAHFC6~Ü╝ZF+?E4>?╟█|C▒ß`A>YCC:≥±╗▄u}?F«>t╚┴▒ß`ALCdc╛¥y?░▓ë=q▐┴a2MAΘC├i)┐ë±8?9-M>q▐┴a2MA╡╨By6┐π^.?    3╛t╚┴▒ß`A╟+╥B≥┐l╛"x?G±«╜q▐┴¬`D┴╡╨Bw6┐σ^.┐    3╛≤τ┴┴╬
  15501. ╨B╢ƒv┐δ3╛╫7P╛≤τ┴┴sHCsAj┐û╛u┌ì>q▐┴¬`D┴ΘC6╟┐─ïE┐{V>t╚┴∙X┴LC5ⁿL╛ ₧z┐Ö =t╚┴∙X┴╟+╥BΦ┐l╛#x┐A±«╜≤τ┴╜π!A╬
  15502. ╨B▐Ao┐Ω3>¢₧╛≤τ┴╜π!AsHC╘°n┐\b>⌐╡É>o≡l┴┴)φm?|e┐ ╫æ╛w╪¡╛àδX┴¬`D┴▓¥╟?½ì┐⌐)@┐_R¼╛¡iF┴┴≈&ùB&q┐Γ┌@╛╘?Ä╛"Ä2┴¬`D┴╒╟ùB8y-┐Tå8┐~R╛j▐┴∙X┴¡)ÖBƒk1╛H    |┐»┌┘╝ñ▀,┴∙X┴²ç<@║m:╛êAy┐Jò ╛"Ä2┴a2MA╒╟ùB9y-┐Så8?üR╛j▐┴▒ß`A¡)ÖBÑk1╛H    |?╗┌┘╝¡iF┴╜π!A≈&ùBΘ╖k┐≥¬å>╗ô╛o≡l┴╜π!A)φm?·vg┐ΩΦQ>╙σ┐╛¬┬Ba2MA-ü¼Bÿ┤╛░┐w?6DK>└¼B▒ß`Av└ƒB%î∩╝∙╡?Öi=┼ ▌A▒ß`A⌡jπBⁿE▒╜╙{?╘v!╛]φ╬Aa2MA@≤▄BU⌐╛>7:?■┐]φ╬A¬`D┴@≤▄BU⌐╛?7:┐■┐¬┬B¬`D┴-ü¼Bö┤╛░┐w┐1DK>│j²A┴)M▓Bòû8┐É╚┐└≥╠>╒x╚A┴¬┌BIL∞╛`≈É╛Q:W┐9┤è@¬`D┴5/╥B⌡?┴>s─l┐mα==╤"φ@┴½/╤Bp∞P?xc╨╛a╥╛└¼B∙X┴v└ƒBî∩╝∙╡┐ôi= ▓└∙X┴|a╘Bf╙Å=.┐å╗=┼ ▌A∙X┴⌡jπB⌠E▒╜╙{┐╠v!╛ ▓└▒ß`A|a╘Bl╙Å=.?ç╗=9┤è@a2MA5/╥B≈?┴>s─l?Rα==│j²A╜π!A)M▓BòZ╛ƒ╚?&εK?╤"φ@╜π!A½/╤Bÿ█6?M─?kÖ≡╛╒x╚A╜π!A¬┌Bdß±╛█╬B>²O\┐ú≥▐Ba2MA≈E+C<█°╜Ω~?C~π╝ƒ B▒ß`A¥/CNzê╝n÷?╓ëy╗R⌐ÇB▒ß`A∩    +C ¢╢=√3y?σßW╛zσéBa2MAÄe(CΣÖ>°╒"? ∩5┐zσéB¬`D┴Äe(CΣÖ>·╒"┐
  15503. ∩5┐ú≥▐B¬`D┴≈E+C<█°╜Ω~┐'~π╝í╨B┴ûô)C6╗┐╛╝@┐h ┐åΘâB┴2'C~a┬>╜ e╛9═e┐╒8B¬`D┴oí C\ñ=NZz┐√zE>:B┴acC
  15504. >C?(º$┐àτï╜ƒ B∙X┴¥/CJzê╝n÷┐Ñëy╗oüÑA∙X┴"]Ci╒N╗{├┐îé/=R⌐ÇB∙X┴∩    +C0╒╘=ô╕v┐/₧{╛oüÑA▒ß`A"]C9 d╗m╢?ΦüA=╒8Ba2MAoí C'\ñ=NZz?∙zE>í╨B╜π!Aûô)Cdµ┐╒@?Z▌º>:B╜π!AacCk$-?c½6?m,;╛í╨B┴ûô)C6╗┐╛╝@┐h ┐åΘâB╜π!A2'C²5┼>Γû>┴%i┐ƒ B▒ß`A¥/CNzê╝n÷?╓ëy╗î*ÜB▒ß`A▀OSB@=½??û▐w╜Ñ,╙B▒ß`AΦj║B9xù=Qé~?┴çá╜%╡┬▒ß`A>YC?╜è>`Rv?■α<⌡è┬a2MA¬íCMIF?U½ ?╚á=Φj$┬a2MA┌ C«;>ç e?à*╪>~▌)┬▒ß`ACc±s=εù{?â3>~╠≤┬a2MA)ïB°«≈╜╙    _?eæ≤╛bíδ┴a2MAd┤BBg ?⌐{K?ë╛ö6┬▒ß`A½Å╢B∩kR>╨Öw?n°╛⌡±┬▒ß`Aö'Bl╜φτ|?┼╘╛bíδ┴¬`D┴d┤B@g ?½{K┐ë╛Ms▀┴┴╕│Bùf?R|î╛.»╛╖ó⌠┬┴Ä⌡Bb╪i╛à6└╛Γ⌡e┐~╠≤┬¬`D┴)ïB÷«≈╜╒    _┐^æ≤╛⌠M├¬`D┴g╒⌐Bo·&┐╠>┐fB>û├┴ú¬Bƒ:t┐┌;K╛f>±!┬┴/▐CZΦ>J
  15505. ╖╛        Q?Φj$┬¬`D┴┌ C¡;>ê e┐~*╪>]ì├∙X┴¿BF╬+╛+|┐∙╬!=~▌)┬∙X┴CZ±s=∩ù{┐z3>⌡±┬∙X┴ö'Bl╜φτ|┐╜╘╛ö6┬∙X┴½Å╢BΓkR>╤Öw┐e°╛⌠M├a2MAg╒⌐Bs·&┐╚>?oB>]ì├▒ß`A¿BN╬+╛+|?╧!=±!┬╜π!A/▐C£Ñ>F
  15506. ╖>8hl?û├╜π!Aú¬BΓn┐ªεû>\A`>Ms▀┴╜π!A╕│B²=v?░xç>àvì╜╖ó⌠┬╜π!AÄ⌡B²╕q╛Ä»Æ>-╡m┐╧w┬┴û┬CKéx?σP`╛Qü╔=⌡è┬¬`D┴¬íCMIF?U½ ┐ ╟á=¼ ┬¬`D┴U┴▌B╔d0?t8┐╔≡╕=r∙┬┴\▐B{?ƒε?╛Öås=╨3 ┬∙X┴í6▌B▐N>iêz┐≡⌐=%╡┬∙X┴>YC9╜è>aRv┐■α<¼ ┬a2MAU┴▌B╩d0?s8?╚≡╕=╨3 ┬▒ß`Aí6▌B'▐N>hêz?÷⌐=r∙┬╜π!A\▐Bß╨v?εå>«▀2=╧w┬╜π!Aû┬C>∙{?EK>âP╠=zÑ┬┬a2MA╢3Bêσa╛sy?╪n0╜*║⌠┴a2MAB`ⁿAΘ∞╤>?m:?èò ┐ö6┬▒ß`AX
  15507.  
  15508. Bâ╕>o│w?╛;O╛W╗░┬▒ß`A░2"Bî>«╜K    ?▄ê╝*║⌠┴¬`D┴B`ⁿAτ∞╤>?m:┐èò ┐▓«∞┴┴ܱAWI┘>╛╦e╛@Æ`┐╩╩┬┴óBN₧2┐ó
  15509. 4┐┬â ╛zÑ┬┬¬`D┴╢3Bèσa╛sy┐╡n0╜O└í┴┴VnúB4∞9?o┬╛L╘?÷»┴¬`D┴╫₧Bó>@ái┐º╪┬>ö6┬∙X┴X
  15510.  
  15511. Bz╕>o│w┐│;O╛░r╠┴∙X┴ÿ╜öB⌡;h%|┐ó≈0>W╗░┬∙X┴░2"Bà>«╜K    ┐▄ê╝÷»┴a2MA╫₧B¼>Aái?í╪┬>░r╠┴▒ß`Aÿ╜öB┴;h%|?¿≈0>▓«∞┴╜π!AܱAJq8?╟╦e>V·'┐O└í┴╜π!AVnúB╒┘<?á╠·>Hαφ>╩╩┬╜π!AóBäµJ┐.²?┐z╛jì╥┬▒ß`AÖ╗F@T≥à╛∙v?»hφ╝íV╪┬a2MAå82@╚,C┐▐=$?¬⌡¼╜╛Θ┬a2MA√Φ┴▒µ╛\⌡m?i╣░╛ ß┬▒ß`A┐╗┴ε╙ì;p¡|?b$╛▐▒φ┬┴ªè²┴Σ╛c┐1]╧╛{X╛Θ≈┌┬┴`σ(@@╧w┐rNh╛LÜ█╜íV╪┬¬`D┴å82@╞,C┐α=$┐⌐⌡¼╜╛Θ┬¬`D┴√Φ┴½µ╛\⌡m┐h╣░╛êâ±┬¬`D┴⌠}╘A≡«ñ╛,Ed┐╤ú>T┤⌡┬┴O▀A÷\o┐╢┤╛┌ç =ƒ½└┴┴üª║A
  15512. BE?Φ▐┐mA>JîΓ┴¬`D┴]\▓A╦>U>* z┐┤P= ß┬∙X┴┐╗┴¬╙ì;q¡|┐⌠a$╛    è┬∙X┴╛áA±└r=µà┐Ωôm<^KΦ┬∙X┴╜A╓Ö░╜┬s{┐A½*>jì╥┬∙X┴Ö╗F@M≥à╛∙v┐íhφ╝JîΓ┴a2MA]\▓A╥>U>) z?√│P=êâ±┬a2MA⌠}╘A⌠«ñ╛,Ed?╥ú>^KΦ┬▒ß`A╜A▌Ö░╜┴s{?I½*>    è┬▒ß`A╛áA²└r=µà?≤ôm<T┤⌡┬╜π!AO▀A┬óB┐ó▀╠>ª■?ƒ½└┴╜π!Aüª║AÑa,?∞Ç8?@╖(>▐▒φ┬╜π!Aªè²┴╨║┐√½²>.R5┐Θ≈┌┬╜π!A`σ(@Ià{┐┼>AΣ▐╜└∞┴┴a2MAⁿAûJ=öZ?î⌐?┌┬a2MAo"┬╙Z┐hvQ?Æ{>jì╥┬▒ß`AôX&┬╓·G╛8║z?R=░r╠┴▒ß`AΩè@ä+z=╖R{?πç8>[QëB▒ß`A≡'e┬╗√>>
  15513. q{?·%╣<æBa2MA┘Äh┬ÜZ?╚ZR?h▌I╜╕Ç Ba2MAÄu$┴h*╜Cäq?n¿>¬é#B▒ß`A£─ü┴╧,ç╝x╟}?å>╖"B┴à|≥└⌐╓τ╜║N▌╛e?èöB┴╘j┬·[?WV│╛ ╚┬╛æB¬`D┴┘Äh┬ÜZ?╚ZR┐i▌I╜╕Ç B¬`D┴Äu$┴d*╜Cäq┐ n¿>OA¬`D┴═{┐┬Θ>,r┐n╥$┐ó┤(A┴ù┴┬┐k?1╖-╛▀>P┐║ZA┬┴3d├ß─z╝F(è╛yv┐╣@┬¬`D┴πå├┌ÆR╛εn[┐0╞±╛3d▌┬┴╒º ┬^┐]┐ái⌐╛á╖┐>┌┬¬`D┴o"┬╥Z┐ivQ┐É{>jì╥┬∙X┴ôX&┬╬·G╛8║z┐    R=≥0=┬∙X┴═l ├£╝░k~┐≤┬▀╜ƒ<A∙X┴╗┬≤ö>Kqx┐B⌐I╛[QëB∙X┴≡'e┬│√>> q{┐Ω%╣<¬é#B∙X┴£─ü┴╔,ç╝x╟}┐å>╣@┬a2MAπå├▌ÆR╛φn[?3╞±╛OAa2MA═{┐┬Θ>-r?n╥$┐ƒ<A▒ß`A╗┬≈ö>Jqx?F⌐I╛≥0=┬▒ß`A═l ├£╝░k~?ⁿ┬▀╜ó┤(A╜π!Aù┴┬╓╫?3╖->p┤K┐║ZA┬╜π!A3d├u°8=å¢╗>Ωm┐3d▌┬╜π!A╒º ┬%=p┐ªi⌐>SZ╦=╖"B╜π!Aà|≥└ó╫╜πg ?ΦU?èöB╜π!A╘j┬öÿg?┌dâ>└)«╛⌡J0Aa2MANΓB┬<v4=ε@_?Iê∙>Tπ*A▒ß`Aa╘Q┬P5<~?⌡╢·=QZ B▒ß`Atå┬≈^B╛∞±x?í
  15514. >ñ0Ba2MA√√┴ì"┐G≤ ?└0τ>ñ0B¬`D┴√√┴î"┐H≤ ┐╜0τ>⌡J0A¬`D┴NΓB┬Dv4=≡@_┐Dê∙>└2A┴$<┬z┬N╜∞óÑ╛âπq?τ ⁿA┴=
  15515. ÷┴┬TK┐Θε`╛½?QZ B∙X┴tå┬≡^B╛φ±x┐í
  15516. >Tπ*A∙X┴a╘Q┬P5<~┐Φ╢·=└2A╜π!A$<┬≤\`>∩óÑ>mªk?τ ⁿA╜π!A=
  15517. ÷┴î.N┐f╖>*?@$╜┴┴∞QA¢D÷>9╣╛çqL?└∞┴┴¬`D┴ⁿAûJ=öZ┐ë⌐?εZ2┴¬`D┴y╪╣┴n▀*?#o┐╢╘>▄h!┴┴≡û┤┴QW?╖√╛╞ô?4óW┴∙X┴ºh┼┴ßO>\ûx┐ª÷>░r╠┴∙X┴Ωè@u+z=╖R{┐┌ç8>4óW┴▒ß`Aºh┼┴ßO>[ûx?«÷>εZ2┴a2MAy╪╣┴o▀*?"o?╖╘>▄h!┴╜π!A≡û┤┴»{T?y[>╠╤?@$╜┴╜π!A∞QA%¥π>X2ê>ò≈Z?▒?|┬▒ß`A╩3├╗Y>_z?·╡ì<Äo┬a2MAl╣├┌!?├╣F?`D*╜ú±┬a2MAJ ┬óÖ╝█ût?≥┘û> $≡┬▒ß`Aæ>2┬└╬≡╗BG~?∙ú∞=╩Cj├a2MA─▒r├u¼┐╕hO?≡Å>uΓl├a2MA╙â├q B┐zN"?M╛?j├▒ß`A▐ïâ├záå╛Γƒv?!fW╜+╢g├▒ß`A
  15518. t├w{1╛╪⌠z?▌┬=uΓl├¬`D┴╙â├p B┐{N"┐■L╛(n├┴ ⌠â├èAx┐}╞╛ùÜF╛τlk├┴cr├E;V┐tÜ╛╢/Ω>╩Cj├¬`D┴─▒r├s¼┐║hO┐≡Å>i1├¬`D┴Ü∙B├O#┐╒ª ┐cëΣ>╘ 2├┴w>B├âO┐íD╛Ä2?Lf±┬┴₧»
  15519. ┬╖⌠k>≈}┐┼2T?ú±┬¬`D┴J ┬óÖ╝▄ût┐ε┘û> ┤.├∙X┴FòD├
  15520. -D╛Yτx┐=D    > $≡┬∙X┴æ>2┬æ╬≡╗BG~┐εú∞=+╢g├∙X┴
  15521. t├p{1╛╪⌠z┐╒┬=?j├∙X┴▐ïâ├táå╛πƒv┐fW╜i1├a2MAÜ∙B├O#┐╙ª ?eëΣ> ┤.├▒ß`AFòD├-D╛Yτx?CD    >Lf±┬╜π!A₧»
  15522. ╓¬╛~?ÖK?╘ 2├╜π!Aw>B├╥¿L┐-G`>á3?(n├╜π!A ⌠â├╗t┐ó≡c>¢╚C╛τlk├╜π!Acr├;╚Z┐╓<h>+)∩>Σi┬┴2÷├Γ&i?    á£╛mÄ╛Äo┬¬`D┴l╣├╦!?╤╣F┐dB*╜╒ç├¬`D┴₧}├&ß>î≤┐$,&┐■╙├┴7ë~├*
  15523. ?∙╜╛╠Q┐Cb├┴g\Ä├mkù╛TS╗╛»µa┐ε╝a├¬`D┴Töì├{[#╛■f]┐█╢≤╛πò`├∙X┴0▄ï├84ï╜z┐*░O╛n├∙X┴L7{├ò▀ε=ⁿez┐îi0╛▒?|┬∙X┴╩3├
  15524. ╗Y>`z┐≥╡ì<ε╝a├a2MATöì├[#╛ⁿf]?ß╢≤╛╒ç├a2MA₧}├aß>U≤?D,&┐n├▒ß`AL7{├í▀ε=ⁿez?ôi0╛πò`├▒ß`A0▄ï├<4ï╜z?3░O╛■╙├╜π!A7ë~├╩& ?┐ò\>!O┐Cb├╜π!Ag\Ä├à@£╛∩╡Ä>ki┐Σi┬╜π!A+÷├^Öq?íb>≡ö{╛Φ¬úB▒ß`AAΓ⌐┬e&S>Wz?¼o9╗▒a¬Ba2MA┐╬½┬▐4û>₧yp?%▐5╛╜≥ùBa2MAß╦Ç┬5t┤=∩Fu?╕äï>XjòB▒ß`Aíê┬N╗n=5]{?¼ò8>óuY├▒ß`AqⁿÆ├δaN╛{z?I│8=Wï\├a2MA╝,Æ├«╫Ç╛tnp?DIo>¥!Y├a2MA╡Ü├ª&╛{Au?╛ô~╛ÄW├▒ß`A⌐∞ÿ├6^┴╜╞Z{?i(╛∞/uA▒ß`A░π╧┬fô╛wtx?å²G>╗╕[Aa2MAx|╦┬₧}w╛V3i? ,½>«╢]┬a2MA]]!├f\Å╛╛i?┌╜¢>B>V┬▒ß`A T#├ß╛[├{?áU>⌡a┬┴▄x ├ò≡(┐(é╛ó5?»%PA┴|╔┬╧y┐╩¿╛òbM?╗╕[A¬`D┴x|╦┬ms┐⌐é╘╛J└<?«╢]┬¬`D┴]]!├8P#┐╘╛ÿ3&?rÖB┴╒xz┬_─ⁿ╛G%É╛èúR?╜≥ùB¬`D┴ß╦Ç┬╧∩╛╣▀╙╛6╫G?∞/uA∙X┴░π╧┬cô╛wtx┐é²G>╗╕[A¬`D┴x|╦┬Ö}w╛W3i┐²,½>╜≥ùB¬`D┴ß╦Ç┬,t┤=≡Fu┐▓äï>XjòB∙X┴íê┬C╗n=5]{┐ñò8>«╢]┬¬`D┴]]!├d\Å╛┐i┐┘╜¢>B>V┬∙X┴ T#├▀╛[├{┐¥U>⌡a┬╜π!A▄x ├7H,┐%∩9>HÅ7?»%PA╜π!A|╔┬üÄ┐╣êY>÷║J?rÖB╜π!A╒xz┬╨╣┐
  15525. ╚X>ΦèV?╜≥ùBa2MAß╦Ç┬5t┤=∩Fu?╕äï>XjòB▒ß`Aíê┬N╗n=5]{?¼ò8>╗╕[Aa2MAx|╦┬ls┐│é╘>H└<?╜≥ùBa2MAß╦Ç┬╧∩╛┬▀╙>4╫G?«╢]┬a2MA]]!├7P#┐╘>ù3&?╥Z├┴Åä¢├╙Vu┐╛╟X╛╫DD╛N≥]├┴S╬æ├╬Vu┐╚X╛∙DD╛Wï\├¬`D┴╝,Æ├6çd┐■▌╙╛╥6╛¥!Y├¬`D┴╡Ü├Jçd┐¼▌╙╛⌡╤6╛¿å├¬`D┴oÖâ├₧kε╛·╫╛fG?>├┴gâ├n/┐Σa=╛)öJ?-≤├∙X┴δ╗ä├╛|τw┐äH[>¿å├¬`D┴oÖâ├#qé╛φ┼i┐▀αó>N≥]├┴S╬æ├äç┴╛▐$É╛ÿ╚a?Wï\├¬`D┴╝,Æ├£╖╛Q▌╙╛≡5V?Wï\├¬`D┴╝,Æ├¿╫Ç╛unp┐9Io>óuY├∙X┴qⁿÆ├ΓaN╛{z┐@│8=¥!Y├¬`D┴╡Ü├á&╛|Au┐│ô~╛ÄW├∙X┴⌐∞ÿ├-^┴╜╟Z{┐i(╛¿å├a2MAoÖâ├(qé╛δ┼i?µαó>-≤├▒ß`Aδ╗ä├╛|τw?ìH[>>├╜π!Agâ├₧÷┐/_ä>|eE?¿å├a2MAoÖâ├Okε╛[╫>╬eG?╥Z├╜π!AÅä¢├αp┐█$É>}▓@╛N≥]├╜π!AO╬æ├~çx┐σ$>╥F╛N≥]├╜π!AO╬æ├è┼╛▌╚X>╜≈e?Wï\├a2MA╝,Æ├]¢╖╛jß╙>5V?Wï\├a2MA╝,Æ├Oçd┐ô▌╙>±╤6╛¥!Y├a2MA╡Ü├Jçd┐¼▌╙>⌡╤6╛╜ ├▒ß`A0▄ï├S╟ß=4z?[y2╛ û    ├a2MA    ì├;i]>»j?ü»╛Qk ┬a2MA▌41├4╖Ä>;i?î4£╛═╗┬▒ß`A{4/├╛■>>7z?r╦╛Qk ┬¬`D┴▌41├a ?î╘╛E)┐+    ┬┴┐2├ÉΘ(?6Y╛╡î8┐Θ├┴Γæì├½å?ù-à╛╕⌐J┐ û    ├¬`D┴    ì├    l╪>ô&╪╛ÅKM┐╥Z├┴Åä¢├½ó>ù╚X╛┬¢l┐¥!Y├¬`D┴╡Ü├5àù>ôα╙╛═d\┐╜ ├∙X┴0▄ï├A╟ß=5z┐Py2╛ û    ├¬`D┴    ì├*i]>│j┐t»╛Qk ┬¬`D┴▌41├.⌐æ>li┐cüÖ╛═╗┬∙X┴{4/├mj+>∙úw┐ΓB╛+    ┬╜π!A┐2├·'?∩â->·?<┐Θ├╜π!AΓæì├O4?╗Ö>>ó&P┐╥Z├╜π!AÅä¢├Y╡ƒ>¿%É>òMh┐ û    ├a2MA    ì├    l╪>ô&╪>ÅKM┐¥!Y├a2MA╡Ü├5àù>ôα╙>═d\┐Qk ┬a2MA▌41├ä'?U%╘>D,┐rÖB┴╒xz┬╥≈e?U╟X╛ö┼>≤n¡B┴ÿ«¼┬╪≈e?∩╞X╛ô┼>▒a¬B¬`D┴┐╬½┬Θ5V?ï▌╙╛∙¢╖>╜≥ùB¬`D┴ß╦Ç┬╥5V?Ω▌╙╛≥¢╖>»ÑµA¬`D┴«8·┬*< ?`■╙╛┤:┐@ô∞A┴!0ⁿ┬nå?.@╛jJ┐q¢┘A∙X┴σ⌡┬o->{4z┐╝¿.╛»ÑµA¬`D┴«8·┬'Éü>wi┐
  15526. }º╛≤n¡B┴ÿ«¼┬àG ?1%É╛╣ªI┐▒a¬B¬`D┴┐╬½┬ß?╨▄╙╛ßP?┐▒a¬B¬`D┴┐╬½┬┘4û>ƒyp┐!▐5╛Φ¬úB∙X┴AΓ⌐┬[&S>Wz┐╣o9╗q¢┘A▒ß`Aσ⌡┬∞>öix?≤íE╛»ÑµAa2MA«8·┬n┘~>Ci?ö⌐╛@ô∞A╜π!A!0ⁿ┬ts?'é>╓ºD┐»ÑµAa2MA«8·┬║▐    ?R√╙>╬▌;┐rÖB╜π!A╒xz┬ƒ╚a?╘$É>kç┴>≤n¡B╜π!Aÿ«¼┬Q⌡h?æ$>▓¡╟>≤n¡B╜π!Aÿ«¼┬ß?Φ╟X>qcM┐▒a¬Ba2MA┐╬½┬▐4û>₧yp?%▐5╛Φ¬úB▒ß`AAΓ⌐┬e&S>Wz?¼o9╗▒a¬Ba2MA┐╬½┬α?┌▄╙>▀P?┐▒a¬Ba2MA┐╬½┬Θ5V?ï▌╙>∙¢╖>╜≥ùBa2MAß╦Ç┬╥5V?Ω▌╙>≥¢╖>y                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    y                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    y Fe>2w-?yXh>Φj+?PⁿX>╨╒&?V>┌¼*?<╜B?Mä=?AéB?Æφ<?╝B?p≡5?*:B?╘Ü6?aTR?░g?Θ╖O?üe?╓┼M?êàj?P?▀αk?─B->╞▄e?≈uα╝╙▐p?╖Q╣âp?îJ*>╧fe?zÑ ?åZs?╕@ó>░g?₧^⌐>╞▄e?░?╙▐p?ùÉÅ>∩8%?╪üô>╨╒&?⌠²ö>┌¼*?║┌¬>╧fe??âp?¿WJ╜åZs?æ~;>░g?╙▐`>∩8%?*:2?êàj?┤Y5?π6j?
  15527. ╫3?òd?H0?üe?/▌?Mt?1?xzu?÷ù?ßzt?ƒ½-?░g?0?▀αk?σ≥?âp?Pⁿx?╙▐p?╤"k?Mt?
  15528. hr?ßzt?╧≈c?xzu?åZs?åZs?LªJ?π6j?÷(L?òd?YG?t$W?ffF?∙1V?
  15529. ╫C?╚ÿK?ZD?¡·L?╚=? K?√:?TπU?ÜÖ9?∙1V?÷(<?╚ÿK?ºΦ8?t$W?πÑ;?¡·L?8°B? K?üE?TπU?¡i>?╦í5?_>?¼<?┐}=?Æφ<?D·=?p≡5?╚ÿ;?ª,S?¼<?3─Q?╟:?ésV?─B=?Mä=?╓┼=?╘Ü6?8gD?ª,S?∩8E?ésV?°SC?3─Q?SûA?╦í5?í°A?¼<?mV=>²÷u?°Sc>~h?«╪_>_h?Fö6>8╓u?àδA?⌠l6?Ñ╜A?8╓5?ⁿ⌐A?l    9?▄╫A?9?R╕>?▐9?⌐ñ>?░ö5?[B>?8╓5?V>?l    9?{>?⌠l6?$(>?9?«GA?▐9?W[A?░ö5?_)ï>≡h?lxÜ>?v?╩Tí>²÷u?VÄ>~h?/=?_ÿL?╓┼=?Z╙L?τ<?h"L?▌╡ñ>8╓u?⌐É>_h?σ╨B?_ÿL?ⁿC?h"L?*:B?Z╙L?C¡i>≡h?(K>?v?Ttä╛Z╙L?Yw╛Z╙L?j╝t╛_ÿL?£s╛h"L?∙i>~îY?Vƒk>î█X?Vƒk>╛P?∙i>j▐Q?U0è>╛P?éΓç>2UP?éΓç>ÜX?U0è>î█X?xï>~îY?xï>j▐Q?√:p>2UP?√:p>ÜX?0*ë>╛ƒ*?├╙ï>Φj+?║kë>ÇHO?h"î>w╛O?╓┼ì>╬Q?√\ì>2w-?0╗g>w╛O?Ttd>╬Q?ì(m>ÇHO?ƒ½m>╛ƒ*?(~L>>yh?n4@>ò╘i?≥AO>⌡Ji?⌠²T>╡7h?üò>╡7h?∞└Ö>>yh?åZô>Ö*h?╛É>₧∩g?2µÄ>H┐]?║Iî>╫4_?╔σƒ>ò╘i?┘Ä> [?_ÿ>⌡Ji?╙Mb> [?£3b>H┐]?⌡JY>Ö*h?ïlg>╫4_?Σâ^>₧∩g?jM╛ù p?_X╛ ▓k? ½=:#z?Sú=Lªz?½>╫>Lªz?åZ3?ù p?╙╝3?╙╝s?<N╤>╚ÿ{?╡ªÖ>ë╥n?Θù>└╩q?┬6? ▓k?}?ò>Üh?}?╒>:#z?üU>Üh?û▓L>ë╥n?M≤N╛╙╝s?α-P>└╩q?Yåÿ╛╙╝s?╟║=╚ÿ{?>ΦI? ▓k?cY╜ßzt?@╛▀αk?Φjk>|╨S?▒┐l>ó╓T?{n>ª
  15530. V?Dïl>╜πT?δsu>@é"?1l>±cL?ƒ═j>vqK?╞mt>┤Ω#?τ√ë>±cL?╣ⁿç>ÆφL?ôä>°Σ!? Fà>@é"?èÄä>L,?fêâ>·φ+?τç>bíV?├⌡ê>ª
  15531. V?╕à> q,?^║ë>╜πT?╔à>┤Ω#?1Öè>vqK?δΓv>L,?Å┬u> q,?3─q>bíV?5∩x>·φ+?Äp>ÆφL?┘╬w>°Σ!?∙áç>B`U?'áë>ó╓T?gDë>N≤N?p_ç>{âO?╠εë>αM?îJè>|╨S?2wm>N≤N?h"l>αM? Aq>{âO?╛p>B`U?│Ωs>╦'?ƒ<l>P6?ƒ═j>≡º6?╫r>~î)?▒ßë>P6?g╒ç>²÷5?ª¢ä>&?ª
  15532. å>╦'?ºê>╓┼M?ƒ═è>-CL?1Öè>≡º6?Φjï>0*I?ö÷å>~î)?├dj>-CL?0*i>0*I?2Up>²÷5?─▒n>╓┼M?┤╚v>&?ígs>s?j╝t>ö÷?}?u>Γ╟?│Ωs>Φj ?╩2ä>lÜ?8gä>┤╚?╦íà>ö÷?B`à>Γ╟? Fà>æ?ôä>n┼?^Kê>ò4?è>╕@2?ª
  15533. å>Φj ?:#è>╗╕-?o≡à>û!?0Lå>s?├╙k>╕@2?δsu>æ?!t>û!?î╣k>╗╕-?┘╬w>n┼?Dio>ò4?kÜw>lÜ?É1w>┤╚?╒τj>q¼+?j╝t>x ?ígs>*⌐?0*i>:┤(?U┴(=ûÉ»>RI╗ê╥₧>aC> FE?φ₧<>2µ>?+÷ù>ÜH?Θ?B¡ë>I¥?ê╥₧>vO₧> FE?┼ É>>ΦÖ>Φ┘î>┤╚û>≡ºå>ÄΣÆ>░rê>╞mö>8gä>╩2?╦íà>x ?0Lå>*⌐?₧^ë>Pìù> Aæ>Æ╦ƒ>╒τΩ>ûÉ»>è░í>2µ>?áo>╞mö>w╛_>>ΦÖ>┐}]>Æ╦ƒ>─Bm>Pìù>0Lf>┤╚û>!░r>ÄΣÆ>É1w>╩2?⌐P>ÜH? !²╝B¡ë>-!_>w-?÷(\>¼¡°>╣ìF>W∞?û!N>rh!?5∩ÿ>rh!?ioÉ>w-?;ì>íg?jMô>
  15534. h"?$╣£>W∞?àδæ>¼¡°>ï²e>íg?,eY>
  15535. h"?yXê>Σ-?îè>q¼+?â/î>:┤?C¡ë>C¡?⌠î>┤╚?Φjï>:┤(?┬f>┤╚?∙ág>:┤?zÑl>C¡?Oo>Σ-?{âo>F╢ô>áëp><Næ>δsu>⌠²?ÅSt>≤?Xy>Ttñ>Xy>êc¥>Éáx>Æφ£>Éáx>°Sú>°Sâ>êc¥>\Åé>÷ù¥>x£é>f≈ñ>°Sâ>Ttñ>ôä>¬>┴9â>h│¬>»%ä>0L? Fà>⌠²?èÄä>º¿>9╓à>≤?╕»â>°Sú>╕»â>Æφ£>┘╬w>¬>δΓv>º¿>ó┤w>0L?~îy>h│¬>Hßz>÷ù¥>╟z>f≈ñ>▌$å>¬É>0╗ç><Næ>Ttä>≡àë>fêâ>p╬ê>ô⌐é>åZô>/nâ>b├ô>∩╔â>4óö>/▌ä> ï>B>ê>F╢ô>ú#y>b├ô>Yw>≡àë>óEv> ï>"lx>4óö>5∩x>p╬ê>┌¼z>åZô>F╢s>¬É>p_g?H>`v_?>╞mt?0l>Pⁿx?thQ>╡7x>(φì>l    y>≥AÅ>5∩x>î█ê>╡7x>║kë>⌡JY>°1å>÷ù]>░Pï>Äp>ûCï>▓.n>T┴ê>?å>║Iî>jì>î(ì>4æ>░Pï>╣ⁿç>ûCï>.É?£─`>:Æ ?0l>åZô>°1å>4æ>░Pï>:Æ ?0l>░?thQ>╣ⁿç>ûCï>ºΦê>T┴ê>╪üs>║Iî>╘+e>î(ì>oüä╜£─`>ú#9╜0l>≈uα╝thQ>÷ù]>░Pï>ú#9╜0l>Äp>ûCï>╩├é>Üê>«╢é><▀Å>J{â>≥AÅ>fêâ>î█ê>èÄä>Mä>fêâ>JΩä>üà>δé>èÄä>Mä>«╢é><▀Å>J{â>≥AÅ>J{â>≥AÅ>&Σâ>(φì>fêâ>î█ê>&Σâ>║kë>δΓv>Mä>²÷u>δé>5∩x>JΩä>δΓv>Mä>lxz>Üê>úÆz><▀Å>úÆz><▀Å>l    y>≥AÅ>l    y>≥AÅ>5∩x>î█ê>┤Yu>Φòr>óEv>Φ╖o>Vm>╘+e>àk>0Öj>╒xë>╘+e>┬åç>hb>
  15536. ╫â>ΦHn>/▌ä>Φ╖o>╩├é>Üê>fêâ>î█ê>&Sà>Φòr>/▌ä>Φ╖o>╒xë>╘+e>q=è>0Öj>|≥p>hb>∞Qx>ΦHn>lxz>Üê>óEv>Φ╖o>5∩x>î█ê>Vm>╘+e>.É?£─`>▐ô'?╝û>áë ?>:Æ ?0l>δΓû>î0>ÿnÆ>D¡)>Ö*ÿ>4^:>δΓû>î0>▐ô'?╝û>áë ?>áë ?>Éá?H>╬¬O>4^:>*:R>î0>╤"[>D¡)>*:R>î0>╥oo?£─`>"lX?╝û>vO╛╝û>ü&╛>ü┼╜H>ü&╛>`v_?>╞mt?0l>h#UVWXUW╜╡┤░┐└▒░└┤▒└▒┤││┤╡╡╢│╢╡┬╢┬╞├╞┬├┼╞╖│╢▓│╖▓▒│»▒▓»░▒░»├├─░─├┬┴─┬╡┴┬┼├»║┼»║»▓╣║▓╣▓╖╣╖┼╖╞┼╖╕╞╕╢╞╢╕╖║╣┼┴╡╩╡╜╩¿╩╜╜⌐¿º¿⌐¬º⌐º¬╝¬⌐╝⌐╗╝⌐╜╗¿º╟¼╟╚º╚╟╚º╝╜╛╗╛╜┤╛┤└╗╛└└½╗╝╗½«╝½╚╝«¡╚«╚¡¼¡«½½¼¡└¼½└┐¼┐╟¼┐╔╟╔¿╟╔╩¿╔─╩─┴╩─╔┐░─┐ÆæѪÆѪ»¢Æª¢⌐Ѭ⌐ªÑª⌐│»ª│░»│»░ᢻᣢáÆ¢£ôÆ£│╢░£á₧òô£¥ò£¥£₧¥₧ƒæÆôöæôöôòòûömnbambazmzàmàzëz}ëabcdacadzdyz}zy}y~efcëèååàëàåtmàtmtrrnmonrnoboebcbesor|{l{|kl|lkgkhgghigj¼g¼ºlgºlºÜlÜù{lùùÇ{{ÇüÇéüÇéùüùéÇùÿüÖÿùÜÖùÖܿܺ¿½¿ºº¼½i½¼ji¼ijg¡]`äYìäì`ìÉ`É¡`¡ÉÅ«¡Å¡«┤╡¡┤¡╡]╡q]qp]p^][ÄììÄÅÉìÅ]^_`]_â`_âä`äâZYäZYZ[\Y[ì\[Y\ì.+-+.@.-@-?@@?/D/?D0/?BDAB?-A?A-,+,-+P,P+@P@22@/12/9AT,TAT,OPO,NOPPQNQ1NQP1P21/0110NSN0SONSROORTRHTHETEHGEGFHRSLGJIJGI3JI4334554D4CDDC00CSC4S4ISIHSGHI356>36J3>=>6KLJ>KJK>L>=L=;L=6;67;65758785DB8DBA8A987899:7;7:FGLLMF;ML;<M:<;<:M:FM:9F9EFE9T▒╕╖╖▓▒í▒▓óí▓íóúñíú''(''(⌡*⌡(⌡**!*÷⌡    "!"!#"!$#$!*)$*"$)$#%%&%&"%&""#%%## ■■²²■ ² ²%         
  15537.       
  15538.  
  15539.   
  15540. 
  15541.             ■ ■'≈'°≈°'⌡≈°⌡⌡÷≈≈÷ ÷   ²² ² ²···  ≈ $   √√·∙·√∙·∙()*)((√ⁿ√ⁿ∙√∙ⁿΩΘ∞∞πσδ∞σΩ∞δΩδΦΦΘΩΦΣΘΘΣ∞Σπ∞ΣßπßΓπτßΣτΣΦ±▐ε≥±ε±≥τ≥≤τ≤ßτß≤⌠Γß⌠µΓ⌠πΓµπµσδσΦστΦσµτµ±τ±µ⌠±⌠▐▐⌠≤≤▀▐▀≤≥φ▀≥∩≡φ≥εφφε∩▌∩ε∩▌≡▌α≡≡αφα▀φα▌▀▌▐▀ε▐▌▄╠╦▄┌╠╠┌█╪╠█═╠╪┘═╪╦╠══╬╦╬═┘╬┘╦┘╪╦▄╦╪╪█▄█╙▄█┌╙┌╨╙╨┌▄╤╨▄╙╤▄╤╙╘╙╧╘╘╧╒╒╧╥╫╒╥╫╥╓╒╫╓╘╒╓╥╘╓╥╤╘╧╤╥╧╨╤╙╨╧xuwuvwvuêuçêïêççîïCañaCaCBM`aKaKBBDDB/7D/7/..87D>FFDFEEELLKKLMNKMaNMKNaX[YX\[[\OO\UOUVLVUEVLE9V9EF:9F9:;\bUUb`U`MUML9PVP9<<9;<;@A<@]A@P<QQ<AASQ]SA]TST]RTRSRQSROQOPQPOVOR[][R]^[>:F:>;>=;=@;=?@]@?¢]?^]¢^¢¥^¥£åêâêçâïâççèïïè£èq£q_£_^£^_Y^Y[èyrèrqWXYZWY_ZYpZ__qpmpqrmqmrxryxvxynwswnmwmxuwxuxvyzvvzvuvu~wu~}w~w}ss}ktsk~zz  !)*!*)!,'),*)'*'&%&'(%'8.++8+,,!,!  ! ï£"£$"$#"$## # "# "  "ë"ëï"ïëäïäââäààåâåàÉêåÉÅêÉÅÄêÄàêêàçàäççäèäëèèëyëyzyàÄÉÉÄéÉéÅéìÅìÄÅìÄÄéüééüìüîìîìîÇÇüÇÑüÑ₧üѪ₧ªÆ₧₧ÆææÆôæôöHjiiIH₧Ii₧iî₧îüGHI₧æƒô₧ƒ₧ôIôJIIJGgGJJhgÆhJôÆJtkjtjHHctcHGGdcdGggfdfedeXdXWdnstontmnopmooZpoWZWotcWtWcd|||{{|l{lk}{k{}~~{~    ÑÑÇ|Ç|Çîl|îilîlikijkíÜúúöíÖ£¥¥òÖÜÖòÿÜòÜÿúÿóúóáúúáöáæöƒæᥢû¥ûòòûùùÿòöôƒöƒíƒáííáÜáùÜÜùÖùûÖÖû£û¢££¢$¢5$$553323282181781>7>D7435645¢?5?656?=46=4=>14>413123    
  15542. ,    ''    ('(
  15543. -
  15544. -ñ-Cñ-0CBC0B0/0-/-./.-
  15545. .
  15546. +,+
  15547. ,
  15548.     H%UVVWWUXUWX╜╡╡┤┤╜░┐┐└└░▒░└▒┤▒└┤┤││▒╡│╡╢╢│╡┬┬╢┬╞╞╢├╞┬├├┼┼╞╖│╢╖▓│╖▓▓▒»▒▓»»░»├├░├──░┬─┴─┬┴╡┴»┼║┼»║▓║╣║▓╣╖╣╖┼┼╣╖╞╖╕╕╞╕╢╡╩╩┴╜╩¿╩╜¿╜⌐⌐¿º¿⌐º¬º⌐¬¬╝╝º⌐╝⌐╗╗╝╜╗º╟╟¿¼╟╟╚╚¼º╚╝╚╜╛╛╗┤╛└╛└╗└½½╗½╝«╝½««╚¡╚«¡¡¼½¡½¼└¼┐¼┐╟┐╔╔╟╔¿╔╩╔──╩┐─ÆææÑÑƪÆѪª»»¢¢ª¢Æ⌐ÑѬ¬⌐⌐ª⌐││ª│»░»│░░áá»á¢£¢á££ÆôÆ£ô│╢╢░á₧₧£òô£ò¥ò£¥₧¥₧ƒƒ¥ôæöæôöòöòûûömnnbbmambaazzmzààmzëëàz}}ëbccadacddzdyyzy}y~~}effcceëèèååëåàåttàtmtrrmrnonrooboeebsors||{{l{|lkl|kkgglkhhghiiggjj¼¼g¼ººgºlºÜÜlÜùùlù{ùÇÇ{ÇüÇüéüÇééùùüùÿÿüÖÿùÖÜÖÜ¿¿Öº¿½¿º½¼½i½¼iji¡]]``¡äYYììäì``äìÉÉ`É¡ÉÅÅ¡«¡Å««┤┤¡╡¡┤╡╡]╡qq]qpp]p^^][ÄÄìì[ÄÅÅì^__]_`â`_ââäâZZäZYZ[[Y\Y[\ì\.++--..@@+-@-??@?//@D/?DD00/?BBDAB?A-A-,,A+,+PP,@P@22P/212/19AATT9,T,OOTPONOPNPQQNQ11NP1010NSN0SSOSRRORTRHHTHEETHGGEGFFESHLGGJJLIJGII33JI44345534DD54CCDC0CS4SISIH5663>36>>J=>6=KLJK>K>L=L=;;L6;677;575887D8B8A898979::7:;LFLMMF;M;<<M:<:M:F9F9E▒╕╕╖╖▒╖▓▓▒í▒▓íóí▓óóúúíñíúñ'''('((⌡⌡'*⌡(**⌡*!*!÷÷⌡        ""!"!##"!$$#*$)$*)")$$#%%%&&%"&"%#%%#  ■■■²²■  ²² ²          
  15549.      
  15550. 
  15551.  
  15552.   
  15553.         ■'≈≈'°°≈⌡°⌡≈÷≈÷  ≈   ² ²² ····    √√√·∙·√∙∙∙()(√ⁿⁿ√ⁿ∙ΩΘΘ∞∞Ω∞ππσσ∞δ∞σδδΩδΦΦΩΦΘΦΣΣΘΣ∞ΣπΣßßπßΓΓπτßΣτΦτ±▐▐εε±≥±ε≥≥ττ±≥≤≤τ≤ß≤⌠⌠ß⌠ΓµΓ⌠µµπµσσΦστµτµ±⌠±⌠▐≤▐≤▀▀▐≥▀φ▀≥φ∩≡≡φφ∩εφε∩▌∩ε▌▌≡▌αα≡αφα▀▌▀▌▐▄╠╠╦╦▄▄┌┌╠┌██╠╪╠█╪═╠╪═┘═╪┘═╦═╬╬╦┘╬┘╦╪╦╪▄█▄█╙╙▄┌╙┌╨╨╙▄╨╤╨▄╤╙╤╙╘╘╤╙╧╧╘╧╒╒╘╧╥╥╒╫╒╥╫╥╓╓╫╓╒╓╘╥╘╥╤╧╤╧╨xuuwwxuvvwuêêvuççêïêçïçîîïCaaññCaaCCBBM``aaMKKaKBBDDB//D7D/7/..7.887D>>FFDFFEEEELLLKLMMKNKMNaNX[[YYXX\\[\OO[\UUOUVVOLVULEVE99VF9:9F::;;9\bbUb``UMU9PPV9<<P;<;@@<A<@A]A@]<QQPAQASSQ]S]TTS]RRTRSRQROOQOPR[][]^^[>:>;>==;=@=??@?]¢]?¢¢^¢¥¥^¥££^åêêââåêççâïâçïçèèï裣ïèqq£q__£_^_YY^èyyrrèrqWXYWZWYZ_ZpZ_pqpmpqmrmrxxmyxvxyvnwwssnnmmwxwuwxuvuyzzvvzvu~~u~w}w~}}s}kkstskt~zz   !))**!!*!,,)'),''*'&&*%&'%(%'(.++8+8+,,,!!    £""ï£$$"$##"$##  # "" "ë"ëëïëääïäâäààâàåàÉÉåÉêÅêÉÅÅÄÄêÄààêàçäçäèëèëyyÄÉÄééÉéÅéììÅìÄìÄéüüéüìüîîìîîÇÇÇüÇÑÑüÑ₧₧üѪª₧ªÆÆ₧Æææ₧ÆôôæôööæHjjiiHiIIH₧Ii₧iîî₧GHIG惃₧ô₧ƒôôIôJJIJGgGJgJhhgÆhJÆkjjtHtHcctGcGddcgdgffdfeedeXXdWdtnontoomopoZoWtWcW||||{{|ll{lkk{}{~{~    ÑÑÇÇ|î|îlilikíÜÜúúíúööíÖ£¥Ö¥òòÖÜÖòÜÿÜòÿÿúÿóóúóááúáöáæტûû¥ûòûùùòùÿƒöƒíáíáÜáùùÜùÖûÖû£¢£¢$¢55$55333232282118171>>743546456?5?6=6=4>41413        
  15554. ,        ''( (
  15555. -
  15556. --ññ -C-00C0B0/-/-.
  15557. .
  15558. +
  15559. ,G(n├∙X┴Åä¢├ªc┐C▒ß`A═╦SC(n├∙X┴Åä¢├≤n¡B▒ß`A.αAû├∙X┴ªè²┴ªc┐C▒ß`A═╦SC⌐¬(n├∙X┴Åä¢├@ô∞A▒ß`A₧»
  15560. ┬╘ 2├∙X┴FòD├≤n¡B▒ß`A.αAGH(n├∙X┴Åä¢├ú±┬▒ß`A₧»
  15561. ┬ ┤.├∙X┴Γæì├@ô∞A▒ß`Aæ>2┬+,(n├∙X┴Åä¢├Θ├▒ß`AL7{├    
  15562. (n├∙X┴ ⌠â├ú±┬▒ß`A₧»
  15563. ┬!"(n├∙X┴Åä¢├■╙├▒ß`AL7{├ Cb├∙X┴Åä¢├Θ├▒ß`AL7{├N≥]├∙X┴Åä¢├ÄW├▒ß`AO╬æ├(n├∙X┴g\Ä├■╙├▒ß`AL7{├N≥]├∙X┴Åä¢├ÄW├╜π!AO╬æ├N≥]├┴Åä¢├ÄW├▒ß`AO╬æ├(n├∙X┴g\Ä├πò`├▒ß`A▐ïâ├?j├∙X┴g\Ä├■╙├▒ß`AL7{├(n├∙X┴g\Ä├πò`├╜π!A▐ïâ├
  15564. (n├┴g\Ä├πò`├▒ß`A▐ïâ├?j├∙X┴g\Ä├■╙├╜π!AL7{├?j├╜π!Ag\Ä├╒ç├▒ß`AL7{├Wï\├∙X┴Åä¢├Θ├▒ß`Aδ╗ä├Cb├∙X┴qⁿÆ├╜ ├▒ß`AL7{├Wï\├∙X┴Åä¢├Θ├▒ß`Aδ╗ä├╥Z├∙X┴Åä¢├Θ├▒ß`A0▄ï├$Wï\├∙X┴Åä¢├ û    ├┴δ╗ä├Wï\├┴Åä¢├Θ├▒ß`Aδ╗ä├Cb├∙X┴qⁿÆ├╜ ├╜π!AL7{├Cb├┴qⁿÆ├╜ ├▒ß`AL7{├ N≥]├¬`D┴╝,Æ├¿å├╜π!Agâ├)Cb├∙X┴qⁿÆ├╜ ├┴L7{├+Cb├┴╝,Æ├¿å├▒ß`AL7{├0N≥]├┴qⁿÆ├╜ ├▒ß`Agâ├4(n├∙X┴ ⌠â├n├▒ß`Aw>B├#$τlk├∙X┴─▒r├ú±┬▒ß`A₧»
  15565. ┬)*(n├∙X┴ ⌠â├+╢g├▒ß`Acr├%&τlk├∙X┴▐ïâ├n├▒ß`Aw>B├'((n├∙X┴ ⌠â├+╢g├╜π!Acr├8(n├┴ ⌠â├+╢g├▒ß`Acr├=τlk├∙X┴▐ïâ├n├╜π!Aw>B├Bτlk├╜π!A▐ïâ├n├▒ß`AÜ∙B├Gτlk├∙X┴─▒r├ ┤.├▒ß`Aw>B├K╘ 2├∙X┴FòD├ú±┬▒ß`A₧»
  15566. ┬P ┤.├∙X┴Γæì├+    ┬▒ß`Aæ>2┬-.╜ ├∙X┴Γæì├@ô∞A▒ß`A|╔┬?@n├∙X┴Γæì├+    ┬▒ß`Al╣├/0 ┤.├∙X┴0▄ï├═╗┬▒ß`Aæ>2┬78n├∙X┴Γæì├+    ┬╜π!Al╣├12n├┴Γæì├Qk ┬▒ß`Al╣├34-≤├∙X┴Γæì├+    ┬╜π!A T#├Un├∙X┴δ╗ä├B>V┬┴l╣├Y-≤├╜π!AΓæì├Qk ┬▒ß`A T#├]n├┴δ╗ä├B>V┬▒ß`Al╣├56■╙├┴gâ├⌡a┬╜π!A+÷├`n├╜π!Aδ╗ä├B>V┬▒ß`Al╣├b ┤.├∙X┴0▄ï├═╗┬▒ß`A╩3├9: ┤.├∙X┴FòD├▒?|┬▒ß`Aæ>2┬t ┤.├∙X┴L7{├▒?|┬▒ß`A╩3├fn├∙X┴0▄ï├═╗┬▒ß`A╩3├;<n├∙X┴0▄ï├═╗┬╜π!A╩3├=>n├╜π!A0▄ï├═╗┬▒ß`A╩3├o>├∙X┴0▄ï├═╗┬╜π!A▄x ├hn├∙X┴7ë~├Σi┬╜π!A╩3├l╜ ├∙X┴Γæì├+    ┬▒ß`A{4/├v⌡a┬∙X┴┐2├@ô∞A▒ß`A|╔┬AB⌡a┬∙X┴▌41├»ÑµA▒ß`A|╔┬CD═╗┬∙X┴┐2├@ô∞A▒ß`Aσ⌡┬EF⌡a┬∙X┴▌41├»ÑµA╜π!A|╔┬{⌡a┬╜π!A▌41├q¢┘A▒ß`Ax|╦┬Ç═╗┬∙X┴┐2├@ô∞A╜π!Aσ⌡┬äQk ┬┴┐2├@ô∞A▒ß`Aσ⌡┬ê╘ 2├∙X┴FòD├∞/uA▒ß`Aüª║AIJB>V┬∙X┴ T#├≤n¡B▒ß`A.αAqr╘ 2├∙X┴FòD├∞/uA▒ß`Aºh┼┴KL▐▒φ┬∙X┴ôX&┬▄h!┴▒ß`Aüª║A_`╘ 2├∙X┴FòD├≥0=┬▒ß`A₧»
  15567. ┬MNjì╥┬∙X┴]]!├∞/uA▒ß`Aºh┼┴UV╘ 2├∙X┴FòD├Σi┬▒ß`A₧»
  15568. ┬OPLf±┬∙X┴2÷├≥0=┬▒ß`A₧»
  15569. ┬QR╘ 2├∙X┴FòD├ $≡┬▒ß`A₧»
  15570. ┬îLf±┬∙X┴+÷├Σi┬▒ß`A₧»
  15571. ┬æLf±┬∙X┴2÷├≥0=┬▒ß`A₧»
  15572. ┬ST3d▌┬∙X┴3d├╣@┬▒ß`A╒º ┬áLf±┬∙X┴2÷├≥0=┬╜π!A₧»
  15573. ┬ûLf±┬┴+÷├≥0=┬▒ß`A₧»
  15574. ┬¢⌡a┬∙X┴]]!├∞/uA▒ß`A╗┬WXjì╥┬∙X┴═l ├Tπ*A▒ß`Aºh┼┴]^⌡a┬∙X┴]]!├∞/uA╜π!A╗┬YZ⌡a┬┴]]!├∞/uA▒ß`A╗┬[\║ZA┬∙X┴3d├OA┴╗┬Ñ⌡a┬∙X┴]]!├∞/uA╜π!A╗┬º║ZA┬┴3d├ó┤(A▒ß`A╗┬¼⌡a┬┴]]!├∞/uA▒ß`A╗┬»jì╥┬∙X┴═l ├4óW┴▒ß`Aºh┼┴┤≥0=┬∙X┴═l ├Tπ*A▒ß`Aºh┼┴╢▐▒φ┬∙X┴ôX&┬@$╜┴▒ß`Aüª║Aab3d▌┬∙X┴ôX&┬▄h!┴▒ß`A∞QAkl▐▒φ┬∙X┴ªè²┴jì╥┬▒ß`AÖ╗F@cd▐▒φ┬∙X┴ôX&┬@$╜┴▒ß`Aüª║Aef▐▒φ┬∙X┴ªè²┴jì╥┬╜π!AÖ╗F@║▐▒φ┬┴ªè²┴jì╥┬▒ß`AÖ╗F@┐▐▒φ┬∙X┴ôX&┬ƒ½└┴╜π!Aüª║Agh▐▒φ┬┴ôX&┬@$╜┴▒ß`Aüª║Aij3d▌┬∙X┴ôX&┬└∞┴┴┴ⁿA─▐▒φ┬∙X┴ªè²┴ƒ½└┴╜π!Aüª║A╞3d▌┬┴ôX&┬@$╜┴▒ß`A∞QA╩▐▒φ┬╜π!Aªè²┴ƒ½└┴▒ß`Aüª║A═3d▌┬∙X┴ôX&┬4óW┴▒ß`A∞QAmn░r╠┴∙X┴ºh┼┴▄h!┴▒ß`A∞QAop3d▌┬∙X┴ôX&┬4óW┴╜π!A∞QA╨3d▌┬╜π!AôX&┬4óW┴▒ß`A∞QA╘░r╠┴∙X┴ºh┼┴▄h!┴╜π!A∞QA╫░r╠┴┴ºh┼┴▄h!┴▒ß`A∞QA▄B>V┬∙X┴ T#├≤n¡B▒ß`Atå┬sto≡l┴∙X┴╘j┬èöB▒ß`A.αAÅÉB>V┬∙X┴ T#├≤n¡B▒ß`Atå┬uvOA∙X┴!0ⁿ┬≤n¡B▒ß`A┘Äh┬âäB>V┬∙X┴ T#├≤n¡B▒ß`AAΓ⌐┬wxƒ<A∙X┴░π╧┬rÖB▒ß`Atå┬{|B>V┬∙X┴ T#├q¢┘A▒ß`A░π╧┬ß∞/uA∙X┴!0ⁿ┬≤n¡B▒ß`AAΓ⌐┬yz∞/uA∙X┴!0ⁿ┬≤n¡B┴AΓ⌐┬π∞/uA┴!0ⁿ┬≤n¡B▒ß`AAΓ⌐┬µƒ<A∙X┴░π╧┬rÖB┴tå┬}~ƒ<A┴░π╧┬rÖB▒ß`Atå┬ǃ<A∙X┴░π╧┬rÖB┴┘Äh┬Ωƒ<A∙X┴╗┬æB¬`D┴tå┬εƒ<A┴░π╧┬rÖB▒ß`A┘Äh┬üéƒ<Aa2MA╗┬æB▒ß`Atå┬≈ó┤(A┴|╔┬rÖB╜π!A╘j┬±ƒ<A╜π!A░π╧┬rÖB▒ß`A┘Äh┬≤OA∙X┴«8·┬≤n¡B▒ß`A┘Äh┬àå@ô∞A∙X┴!0ⁿ┬≤n¡B▒ß`A╒xz┬ïîOA∙X┴«8·┬≤n¡B╜π!A┘Äh┬çêOA╜π!A«8·┬≤n¡B▒ß`A┘Äh┬ëè∞/uA∙X┴«8·┬≤n¡B┴íê┬·OA∙X┴░π╧┬rÖB╜π!A┘Äh┬²∞/uA╜π!A«8·┬≤n¡B▒ß`Aíê┬OA╜π!A░π╧┬rÖB▒ß`A┘Äh┬@ô∞A∙X┴!0ⁿ┬≤n¡B╜π!A╒xz┬ìÄXjòB┴ÿ«¼┬≤n¡B▒ß`A╒xz┬@ô∞A┴!0ⁿ┬≤n¡B╜π!Aÿ«¼┬XjòB∙X┴ÿ«¼┬≤n¡B╜π!A╒xz┬    o≡l┴∙X┴a╘Q┬QZ B▒ß`A²ç<@æÆ⌡J0A∙X┴╘j┬èöB▒ß`A.αA¢£4óW┴∙X┴a╘Q┬QZ B▒ß`A≡û┤┴ôöo≡l┴∙X┴τ└┴
  15575. Φ¬A▒ß`A²ç<@ÖÜ4óW┴∙X┴a╘Q┬└2A▒ß`A≡û┤┴òûTπ*A∙X┴a╘Q┬QZ B▒ß`A=
  15576. ÷┴ùÿ4óW┴∙X┴a╘Q┬└2A╜π!A≡û┤┴4óW┴┴a╘Q┬└2A▒ß`A≡û┤┴Tπ*A∙X┴a╘Q┬QZ B╜π!A=
  15577. ÷┴Tπ*A┴a╘Q┬QZ B▒ß`A=
  15578. ÷┴!o≡l┴∙X┴τ└┴
  15579. Φ¬A╜π!A²ç<@%o≡l┴┴τ└┴
  15580. Φ¬A▒ß`A²ç<@*⌡J0A∙X┴╘j┬èöB▒ß`Aà|≥└¥₧1ÖáA∙X┴╘j┬èöB▒ß`A.αAúñ⌡J0A∙X┴╘j┬èöB╜π!Aà|≥└ƒá⌡J0A╜π!A╘j┬èöB▒ß`Aà|≥└íó⌡J0A∙X┴≡'e┬[QëB¬`D┴Äu$┴/╖"B∙X┴╘j┬èöB╜π!Aà|≥└2⌡J0Aa2MANΓB┬╕Ç B▒ß`AÄu$┴7QZ B╜π!A╘j┬èöB▒ß`Aà|≥└91ÖáA∙X┴tå┬╛0IB╜π!A.αAѪ1ÖáA┴╘j┬èöB▒ß`A.αAº¿τ ⁿA∙X┴tå┬¬é#B╜π!Aà|≥└>1ÖáA∙X┴τ└┴╛0IB╜π!A.αABτ ⁿA┴╘j┬èöB▒ß`Aà|≥└E1ÖáA┴=
  15581. ÷┴┴
  15582. GB▒ß`A.αAIû├∙X┴ªè²┴ú≥▐B▒ß`A.pNC½¼oüÑA∙X┴≤ƒâAªc┐C▒ß`A═╦SC-.û├∙X┴ªè²┴O└í┴▒ß`A/▐C¡«ö6┬∙X┴τ└┴ú≥▐B▒ß`A.pNCσµû├∙X┴ªè²┴O└í┴▒ß`A½Å╢B»░û├∙X┴ö'Bq▐┴▒ß`A/▐C═╬û├∙X┴`σ(@ƒ½└┴▒ß`A½Å╢B▒▓T┤⌡┬∙X┴ªè²┴O└í┴▒ß`A½Å╢B╜╛T┤⌡┬∙X┴`σ(@ƒ½└┴▒ß`AO▀A│┤û├∙X┴Ä⌡BMs▀┴▒ß`A½Å╢B╣║T┤⌡┬∙X┴`σ(@jì╥┬▒ß`AO▀A╡╢T┤⌡┬∙X┴Ö╗F@ƒ½└┴▒ß`AO▀A╖╕T┤⌡┬∙X┴`σ(@jì╥┬╜π!AO▀ALT┤⌡┬┴`σ(@jì╥┬▒ß`AO▀AQT┤⌡┬∙X┴Ö╗F@ƒ½└┴╜π!AO▀AVT┤⌡┬╜π!AÖ╗F@ƒ½└┴▒ß`AO▀AZû├∙X┴Ä⌡B⌡±┬▒ß`Aú¬B╗╝╖ó⌠┬∙X┴Ä⌡BMs▀┴▒ß`A½Å╢Bgû├∙X┴Ä⌡B⌡±┬╜π!Aú¬B]û├┴Ä⌡B⌡±┬▒ß`Aú¬BbT┤⌡┬∙X┴ªè²┴ƒ½└┴▒ß`A░2"B┐└╖ó⌠┬∙X┴B`ⁿAO└í┴▒ß`A½Å╢B╟╚T┤⌡┬∙X┴ªè²┴ƒ½└┴▒ß`AO▀A┴┬╩╩┬∙X┴ܱA▓«∞┴▒ß`A░2"B┼╞êâ±┬∙X┴√Φ┴ƒ½└┴┴⌠}╘AlT┤⌡┬┴ªè²┴ƒ½└┴▒ß`AO▀A├─▐▒φ┬┴ªè²┴ƒ½└┴▒ß`Aüª║ApT┤⌡┬┴╛áAƒ½└┴▒ß`AO▀As╩╩┬∙X┴ܱA▓«∞┴╜π!A░2"Bv╩╩┬┴ܱA▓«∞┴▒ß`A░2"B{╖ó⌠┬∙X┴Ä⌡BO└í┴▒ß`A½Å╢B╔╩╩╩┬∙X┴B`ⁿAO└í┴▒ß`AVnúB╦╠╖ó⌠┬∙X┴Ä⌡BO└í┴╜π!A½Å╢BÇ╖ó⌠┬┴Ä⌡B÷»┴▒ß`A½Å╢Bà╩╩┬∙X┴B`ⁿAO└í┴┴VnúBè╩╩┬┴B`ⁿAO└í┴▒ß`AVnúBÄû├∙X┴ö'Bö6┬▒ß`A/▐C╧╨~▌)┬∙X┴╕│Bq▐┴▒ß`A/▐C╫╪û├∙X┴ö'B╨3 ┬▒ß`A/▐C╤╥û├∙X┴ö'Bö6┬▒ß`A/▐C╙╘]ì├∙X┴ö'B╨3 ┬▒ß`Aí6▌Bôû├∙X┴¿B±!┬▒ß`A/▐Cò]ì├∙X┴ö'Bö6┬▒ß`A>YCÜû├∙X┴¿B%╡┬▒ß`A/▐C╒╓û├∙X┴¿B%╡┬╜π!A/▐C₧⌠M├╜π!A¿B%╡┬▒ß`A/▐Có╨3 ┬∙X┴╕│Bq▐┴▒ß`AsHC┘┌~▌)┬∙X┴╬
  15583. ╨Bq▐┴▒ß`A/▐C▀α╨3 ┬∙X┴╕│Bq▐┴╜π!AsHC█▄╨3 ┬┴╕│Bq▐┴▒ß`AsHC▌▐╨3 ┬∙X┴╕│BMs▀┴╜π!A\▐BÑ╨3 ┬∙X┴╬
  15584. ╨Bq▐┴┴sHC¬╨3 ┬┴╕│BMs▀┴▒ß`A\▐B¡╨3 ┬┴╬
  15585. ╨Bq▐┴▒ß`AsHC▓~▌)┬∙X┴╬
  15586. ╨Bq▐┴╜π!A/▐CßΓ~▌)┬┴╡╨Bq▐┴▒ß`A/▐CπΣ¼ ┬∙X┴╬
  15587. ╨Bq▐┴╜π!AsHC╖~▌)┬∙X┴>YC╧w┬╜π!A/▐C╝¼ ┬╜π!A╡╨Bq▐┴▒ß`AsHC┴~▌)┬┴>YC╧w┬▒ß`A/▐C─ö6┬∙X┴τ└┴î*ÜB▒ß`A"]CτΦ≤τ┴∙X┴╡╨Bú≥▐B▒ß`A.pNCö6┬∙X┴τ└┴î*ÜB▒ß`AVnúBΘΩ≤τ┴∙X┴▀OSBî*ÜB▒ß`A"]C√ⁿö6┬∙X┴)φm?j▐┴▒ß`AVnúBδ∞ñ▀,┴∙X┴τ└┴î*ÜB▒ß`Av└ƒB≤⌠o≡l┴∙X┴)φm?j▐┴▒ß`A¡)ÖB╔ö6┬∙X┴)φm?j▐┴▒ß`AVnúBφεö6┬∙X┴)φm?j▐┴╜π!AVnúB∩≡ö6┬┴)φm?j▐┴▒ß`AVnúB±≥*║⌠┴∙X┴)φm?j▐┴╜π!AVnúB╬ö6┬∙X┴B`ⁿAO└í┴┴VnúB╥*║⌠┴┴)φm?j▐┴▒ß`AVnúB╘ö6┬┴ܱAO└í┴▒ß`AVnúB╪ñ▀,┴∙X┴τ└┴0¬ÉB▒ß`AeÖ√A⌡÷ñ▀,┴∙X┴²ç<@î*ÜB▒ß`Av└ƒB∙·ñ▀,┴∙X┴Zuô┴╦PBB▒ß`AeÖ√A█1ÖáA∙X┴τ└┴0¬ÉB▒ß`AeÖ√A≈°1ÖáA∙X┴τ└┴0¬ÉB┴eÖ√A▌1ÖáA┴τ└┴0¬ÉB▒ß`AeÖ√Aαñ▀,┴∙X┴²ç<@╦PBB▒ß`Av└ƒBΣ└¼B∙X┴eÖ√Aî*ÜB▒ß`Av└ƒBΦ≤τ┴∙X┴≈&ùB└¼B▒ß`A|a╘B²■ ▓└∙X┴▀OSBî*ÜB▒ß`A"]C≤τ┴∙X┴≈&ùB ▓└▒ß`A|a╘B j▐┴∙X┴¡)ÖB└¼B▒ß`A|a╘B÷≤τ┴∙X┴≈&ùB ▓└╜π!A|a╘B≤τ┴┴≈&ùB ▓└▒ß`A|a╘Bq▐┴∙X┴≈&ùBj▐┴┴╟+╥BΩ≤τ┴∙X┴≈&ùB ▓└╜π!A|a╘B∞≤τ┴┴≈&ùBj▐┴▒ß`A╟+╥B≡≤τ┴╜π!A≈&ùB ▓└▒ß`A|a╘B≤ ▓└∙X┴▀OSBî*ÜB╜π!A"]C ▓└┴▀OSBî*ÜB▒ß`A"]C   ▓└∙X┴v└ƒB└¼B╜π!A⌡jπB    
  15588. oüÑA∙X┴▀OSBî*ÜB┴"]C ▓└∙X┴v└ƒB└¼B╜π!A|a╘B·9┤è@∙X┴-ü¼B¬┬B╜π!A⌡jπB² ▓└┴v└ƒB└¼B▒ß`A@≤▄BoüÑA┴▀OSBî*ÜB▒ß`A"]C╒x╚A┴v└ƒB└¼B▒ß`A⌡jπB
  15589. oüÑA▒ß`A▀OSBî*ÜB▒ß`A"]Cq▐┴∙X┴╡╨Bú≥▐B▒ß`A≈E+C≤τ┴∙X┴"]CåΘâB▒ß`A.pNCq▐┴∙X┴╡╨B┼ ▌A▒ß`AΘC ▓└∙X┴½/╤Bú≥▐B▒ß`A≈E+Cq▐┴∙X┴╡╨B ▓└▒ß`AΘCt╚┴∙X┴5/╥B┼ ▌A▒ß`ALCq▐┴∙X┴╡╨B ▓└¬`D┴ΘCq▐┴a2MA╡╨B ▓└▒ß`AΘC ▓└∙X┴½/╤B┼ ▌A▒ß`A"]CoüÑA∙X┴"]Cú≥▐B▒ß`A≈E+C ▓└∙X┴½/╤B┼ ▌A╜π!A"]C ▓└┴½/╤B┼ ▌A▒ß`A"]CoüÑA∙X┴"]Cú≥▐B┴≈E+C$oüÑA╜π!A"]Cú≥▐B▒ß`A≈E+C'≤τ┴∙X┴"]CeY-B▒ß`A.pNC zV?∙X┴"]CåΘâB▒ß`A.pNC%&≤τ┴∙X┴"]CoüÑA▒ß`A╚=C!"≤τ┴∙X┴sHCeY-B▒ß`A.pNC#$≤τ┴∙X┴"]CoüÑA╜π!A╚=C*≤τ┴╜π!A"]CoüÑA▒ß`A    <C/≤τ┴¬`D┴sHCVƒ╙?a2MA╚=C3zV?∙X┴Γ╪9CeY-B▒ß`A.pNC64ó\@∙X┴"]CåΘâB▒ß`AyJC'(zV?∙X┴∩    +CR⌐ÇB▒ß`A.pNC+,4ó\@∙X┴"]CR⌐ÇB▒ß`AyJC;╒8B∙X┴oí CåΘâB▒ß`A∩    +C)*╒8B∙X┴oí CåΘâB╜π!A∩    +C>╒8B┴oí CåΘâB▒ß`A∩    +CAzV?∙X┴Γ╪9CP/B╜π!A.pNCDzV?╜π!A∩    +CR⌐ÇB▒ß`A.pNCGoüÑA∙X┴≤ƒâA╟█|C▒ß`A.pNC/0╫t,B∙X┴6k╖Bªc┐C▒ß`A═╦SC_`oüÑA∙X┴≤ƒâAC▒ß`A"]C12oüÑA∙X┴6k╖B╟█|C▒ß`A.pNCIJ╦PBB∙X┴≤ƒâAêú╨B▒ß`A▀OSB34oüÑA∙X┴?ù8BC▒ß`A"]CAB╦PBB∙X┴≤ƒâA!╨áB▒ß`A▀OSB56╦≡ûB∙X┴≤ƒâAêú╨B▒ß`A▀OSB;<╦PBB∙X┴≤ƒâA!╨áB╜π!A▀OSB78╦PBB┴≤ƒâAj╝₧B▒ß`A▀OSB9:┴
  15590. GB∙X┴≤ƒâA!╨áB╜π!A≡'BBJ╦PBB∙X┴≤ƒâAj╝₧B┴▀OSBO╦PBB┴≤ƒâAî*ÜB▒ß`A▀OSBS0¬ÉB╜π!A≤ƒâAj╝₧B▒ß`A▀OSBX╦≡ûB∙X┴≤ƒâAêú╨B╜π!A▀OSB=>╦≡ûB┴≤ƒâAêú╨B▒ß`A▀OSB?@╦≡ûB∙X┴≤ƒâAêú╨B┴▀OSB[j╝₧B∙X┴?ù8Bêú╨B╜π!Av╧IB^╦≡ûB┴≤ƒâAJ¼╔B▒ß`A▀OSBaj╝₧B┴?ù8Bêú╨B▒ß`Av╧IBdoüÑA∙X┴?ù8B C┌B▒ß`A"]CCDÑ,╙B∙X┴πτ▓BC▒ß`A+┐BGHoüÑA∙X┴v╧IBÑ,╙B▒ß`A"]ChJ¼╔B∙X┴?ù8B C┌B▒ß`AΦj║BEFJ¼╔B∙X┴?ù8B C┌B╜π!AΦj║BlJ¼╔B┴?ù8B C┌B▒ß`AΦj║BqÑ,╙B∙X┴πτ▓BC╜π!A+┐BvÑ,╙B┴πτ▓BC▒ß`A+┐B{oüÑA∙X┴Φj║Bƒ B▒ß`AyJCKL╫t,B∙X┴6k╖B╟█|C▒ß`A.pNCWXoüÑA∙X┴Φj║Bƒ B▒ß`A¥/CMNP/B∙X┴2'Cƒ B▒ß`AyJCQR╒8B¬`D┴oí Cí╨Ba2MAûô)CÇoüÑA∙X┴Φj║Bƒ B▒ß`A¥/COPoüÑA∙X┴Φj║Bƒ B▒ß`A¥/CâoüÑA∙X┴"]Cƒ B▒ß`A¥/CàP/B∙X┴2'Cƒ B╜π!AyJCSTP/B┴2'Cƒ B▒ß`AyJCUVP/B∙X┴2'Cƒ B╜π!AyJCèR⌐ÇB∙X┴Äe(Cƒ B┴¥/CÄP/B╜π!A2'Cƒ B▒ß`AyJCÉR⌐ÇB┴2'Cƒ B▒ß`A¥/CôÑ,╙B∙X┴6k╖B╤▓OC▒ß`A¥/CYZ╫t,B∙X┴¥/C╟█|C▒ß`A.pNC]^Ñ,╙B∙X┴Φj║B    93C▒ß`A¥/Cû²╖C∙X┴6k╖B╤▓OC▒ß`ALC[\²╖C∙X┴6k╖B╤▓OC╜π!ALCܲ╖C╜π!A6k╖B╤▓OC▒ß`ALC₧╫t,B∙X┴HFCS╞|C▒ß`A.pNCíP/B∙X┴¥/C╟█|C▒ß`AyJCª╫t,B∙X┴6k╖BτsèC▒ß`A.pNCabÆ╝|C∙X┴m' Cªc┐C▒ß`A═╦SCqr²╖C∙X┴6k╖BτsèC▒ß`ALCcd╫t,B∙X┴LCSNèC▒ß`A.pNCmn²╖C∙X┴6k╖B╤▓OC▒ß`ALCef    93C∙X┴m' CτsèC▒ß`ALCkl²╖C∙X┴$╫╣B╤▓OC╜π!ALCgh²╖C┴6k╖B╤▓OC▒ß`ALCij²╖C∙X┴$╫╣B╤▓OC┴╔╓C¿    93C∙X┴╔╓C╤▓OC╜π!ALC¬²╖C┴6k╖B╤▓OC▒ß`A╔╓C»    93C┴╔╓C╤▓OC▒ß`ALC▓    93C∙X┴m' CτsèC▒ß`ALC╖ô)<C∙X┴m' CτsèC▒ß`ALC╝╫t,B∙X┴LC╟█|C▒ß`A.pNCop    93C∙X┴LCSNèC▒ß`A>YCC╚ƒ B∙X┴LC╟█|C▒ß`A>YCC┴╫t,B∙X┴>YCC╟█|C▒ß`A.pNC├Æ╝|C∙X┴m' Cªc┐C▒ß`A═╦SCstÆ╝|C∙X┴XyCªc┐C▒ß`A═╦SC}~╟█|C∙X┴m' CA┌óC▒ß`A>YCCuvÆ╝|C∙X┴ö7Cªc┐C▒ß`A═╦SC{|╟█|C∙X┴m' CA┌óC╜π!A>YCCwx╟█|C┴m' CA┌óC▒ß`A>YCCyz╟█|C∙X┴m' CA┌óC╜π!A>YCC╩SNèC∙X┴ab CA┌óC┴ö7C╬╟█|C╜π!Am' CA┌óC▒ß`A>YCC╨SNèC┴m' CA┌óC▒ß`Aö7C╙╟█|C∙X┴ö7C≤?╢C▒ß`A>YCC╓Æ╝|C∙X┴>YCCªc┐C▒ß`A═╦SC╪5óC∙X┴XyCm╓╖C▒ß`A┤5CÇÆ╝|C∙X┴¥æ2Cªc┐C▒ß`A═╦SCüé5óC∙X┴XyCm╓╖C╜π!A┤5C▌5óC┴XyCm╓╖C▒ß`A┤5CΓÆ╝|C∙X┴┤5Cªc┐C▒ß`A═╦SCâä≤?╢C∙X┴¥æ2Cªc┐C▒ß`A═╦SCàåÆ╝|C∙X┴┤5Cªc┐C╜π!A═╦SCτS╞|C╜π!A┤5Cªc┐C▒ß`A═╦SCδ≤?╢C∙X┴¥æ2Cªc┐C╜π!A═╦SCε≤?╢C┴¥æ2Cªc┐C▒ß`A═╦SC≤x éxÇxwÇuvwxuwvuêuçêç[ZZêçYZ[\Y[J3>4IS>KJI3JI43Q1N0CSC4S10NSN0IJGK>LIHSKLJQP1PQNSONéùx{ÇwuxöùéÇçu£YäZY\ìçÄ[ì\[öôuuô£ç£Äùöx[ÄìzvêvywùÇ{vzywy{LGJGHINOPSROHRSêZâäâZäYìàzêâàê54D345>36356=>612//01DC0D0/4CD>=L85D=;L657=6;D/?P@22@/P2167;587?BD@?/B8DBA8AB?-?@789;7:{lùæöùôÆ£öæôdyzFGLl{yEHG£ÅÄìÄÅäì`zàmRHTPO,àâ_âä`ORTP+@;MLadzlÜùazmdlyHETEGFLMFmà_T,OìÉ`â`_+P,+.@;<MÉìÅæÆôÜæùÆ¢££¢ÅldglºÜambæÜÑdacm_^É¡``]_¡ÉÅܺÑÆæѪÆÑƪ¢ª»¢»«Å«¡Å¢»Å.-@A989:7:<;-A?A-,9AT.+-<:M:9FE9T9EF:FM≈ +,-,TA ÷ ≈÷     abc    dcg   mnb]^_^nm%'≈'%    ΘΣ∞Σπ∞ΣßπßΓπΓß⌠▐⌠≤≤▀▐ß≤⌠α▌▀▌▐▀""ΩΘ∞≤ßττßΣΦΣΘ÷⌡⌡÷≈*▀≤≥▌α≡α▀φ!"&%!*&"⌡*≈°⌡'°≈$!*%&""#%!#"!$#()*°'⌡*⌡('(⌡)$*¡]`lgºóªÑg¼ºúѺ¡«V«»▓¡U]»ª▓     gcf■cbe    
  15591.     
  15592.      nobon^·W^]∙·∙º¼úgj¼óÑúefcfjg■ ■oeb▓V«U¡VUX]·XW]Wo^ªó▓feúfú¼jf¼eóúóe▓eo▓oWVXUWUVWV▓o%%#$#$#'()($)('   vzzvuvu~~~ 
  15593.  
  15594.  
  15595. ■²² ²■ √∙·√√·ⁿ∙√·∙ⁿ ² ²²² √ⁿ√²   µΓ⌠δ∞σ∞πσπµσπΓµ±µ⌠ε▐▌▌∩ε±⌠▐±▐εσµτΩ∞δδσΦµ±τφε∩≥±ε∩▌≡┤▒└╣▓╖▓│╖▒┤│▓▒│«╝½╝╗½╛┤└└½╗╗╛└»▒▓╣║▓└¼½¡«½▒░└στΦΩδΦτΣΦΦΘΩ≥≤τφ▀≥≡αφ∩≡φ±≥τ≥εφ╧╨╤╤╨▄╫╒╥╒╧╥╧╤╥▄╠╦▄┌╠╨┌▄═╬╦╦╠═╥╤╘╫╥╓╙╤▄║»▓»░▒░┐└└┐¼▄╦╪½¼¡╬┘╦╥╘╓╤╙╘╒╫╓╘╧╒═╠╪█╙▄┘╪╦╬═┘╪█▄╚╝«╣╖┼│┤╡╛╜┤╜╛╗╖│╢⌐╗╝¡╚«╚º╝╖╞┼║╣┼╢╕╖╡╢│╖╕╞╜╡┤º¬╝¬⌐╝⌐╜╗░─┐░»├├─░║┼»┼├»─├┬├┼╞mno┐╔╟─╔┐╚¡¼┐╟¼¼╟╚╔¿╟tsknst╔─╩º╚╟pmo─┴╩┴─┬├╞┬ont╕╢╞╢┬╞┴╡╩╢╡┬╡┴┬tkj¿º╟╔╩¿╜⌐¿¿╩╜╡╜╩¬º⌐º¿⌐|~{wu~yzvuxvuwxvxy╙╨╧┌╨╙╙╧╘╘╒╓}w~|{╠┌█{}~╪╠██┌╙┘═╪z   ëy|Ç|zyë"(Çryxwmxwnmmrxnwsèyr{|l}{kw}sl|î{lks}kîìèëyçäè|ÇîÄàêàäçäëèêàçïäâàåâåàÉïëäëï"ï£"âäàîÇÉÄéÅÄêìÄìÄÅàÄÉÄéüéÇü(₧üÇ(ümpqrmqèrqilîijklikèq£₧iîüîìçèïêçâåêâïè£êåÉïâçÅêÉéüìéìÅ₧îüÉéÅÖ£¥ÜÖòÖû£öƒíô₧ƒ₧æƒ_qppZ_oZpq_£WottjHHjiiIH₧IiHctoWZcWtZWY_ZYWcdcHGGHI₧ôI_^£^¥£¥òÖÿÜòÜÿúúöíöôƒíÜú^_YXWdWXYôJIGdcIJG!""   (   '(''! "#  !!, # )'!)(''    '),,    ')!,$#"£$"( ₧( ,$##    
  15596. ,+
  15597. ,
  15598.     
  15599. +,$55328233-
  15600. +8.-
  15601. .
  15602. +8.+ÜùÖƒáííáÜ£¢$ Æ₧ƒæáû¢£ùûÖ₧ÆæáùÜ¥ûò^¢¥ùÿòÿùú¥¢ûòûùúáöæôöôÆJùáúáæöæÆô -Æ-CÆ¢?5¢5$123218435?65.87-0C-./\Xd`GJdG`X[Y^Y[ÆaJ^]¢6454134=>1>714>6?=46=7/.0-/1787D/BC0>D7DB/B0/BDD>F>=;=?@CBB>:F:>;=@;FDCaÆ¢]?Ja``bdb\dX\[]^[Ca]@?:9F9:;<;@]A@A<@<9;aFE9EFEKa]SA\bUUb`][R[\OM`aP9<P<Q9PVQ<AASQEVLKLKE9VEL]TST]ROR[O\UaNMU`MKNaRQSTRSPOVOPQROQUMLLVUOUVNKMKLMAφx ñ▀,┴▒ß`A²ç<@àδX┴a2MA▓¥╟?⻺Aa2MAh│▓┴ Fe>2w-?yXh>Φj+?PⁿX>╨╒&?            1ÖáA▒ß`AZuô┴ñ▀,┴▒ß`A²ç<@⻺Aa2MAh│▓┴V>┌¼*? Fe>2w-?PⁿX>╨╒&?            SNèC▒ß`ALC+hèCa2MAab C╬ÜóCa2MA╩ñC<╜B?Mä=?AéB?Æφ<?╝B?p≡5?            5óC▒ß`Aö7CSNèC▒ß`ALC╬ÜóCa2MA╩ñC*:B?╘Ü6?<╜B?Mä=?╝B?p≡5?            J¼╔B▒ß`Av╧IBFv╬Ba2MA╒°=B ╪Ba2MA╥@╡BaTR?░g?Θ╖O?üe?╓┼M?êàj?            Ñ,╙B▒ß`AΦj║BJ¼╔B▒ß`Av╧IB ╪Ba2MA╥@╡BP?▀αk?aTR?░g?╓┼M?êàj?            ┴
  15603. GBa2MA.αA║·öBa2MA√\æA0¬ÉB▒ß`Açû»A─B->╞▄e?≈uα╝╙▐p?╖Q╣âp?            0¬ÉB▒ß`Açû»A╦PBB▒ß`AeÖ√A┴
  15604. GBa2MA.αA╖Q╣âp?îJ*>╧fe?─B->╞▄e?            ╦≡ûB┴≤ƒâA╛0IB┴w-╘A┴
  15605. GB¬`D┴.αAzÑ ?åZs?╕@ó>░g?₧^⌐>╞▄e?            ║·öB¬`D┴√\æA╦≡ûB┴≤ƒâA┴
  15606. GB¬`D┴.αA░?╙▐p?zÑ ?åZs?₧^⌐>╞▄e?            ┴
  15607. GB¬`D┴.αA╛0IB┴w-╘A
  15608. Φ¬A┴τ└┴₧^⌐>╞▄e?╕@ó>░g?ùÉÅ>∩8%?            
  15609. Φ¬A┴τ└┴⻺A¬`D┴h│▓┴┴
  15610. GB¬`D┴.αAùÉÅ>∩8%?╪üô>╨╒&?₧^⌐>╞▄e?            ┴
  15611. GB¬`D┴.αA⻺A¬`D┴h│▓┴1ÖáA∙X┴Zuô┴₧^⌐>╞▄e?╪üô>╨╒&?⌠²ö>┌¼*?            ┴
  15612. GB¬`D┴.αA1ÖáA∙X┴Zuô┴╦PBB∙X┴eÖ√A₧^⌐>╞▄e?⌠²ö>┌¼*?║┌¬>╧fe?            0¬ÉB∙X┴çû»A║·öB¬`D┴√\æA┴
  15613. GB¬`D┴.αA?âp?░?╙▐p?₧^⌐>╞▄e?            ╦PBB∙X┴eÖ√A0¬ÉB∙X┴çû»A┴
  15614. GB¬`D┴.αA║┌¬>╧fe??âp?₧^⌐>╞▄e?            ╦≡ûB╜π!A≤ƒâA╛0IB╜π!Aw-╘A╛0IB┴w-╘A¿WJ╜åZs?æ~;>░g?╕@ó>░g?            ╦≡ûB┴≤ƒâA╦≡ûB╜π!A≤ƒâA╛0IB┴w-╘AzÑ ?åZs?¿WJ╜åZs?╕@ó>░g?            
  15615. Φ¬A╜π!Aτ└┴
  15616. Φ¬A┴τ└┴╛0IB┴w-╘A╙▐`>∩8%?ùÉÅ>∩8%?╕@ó>░g?            ╛0IB╜π!Aw-╘A
  15617. Φ¬A╜π!Aτ└┴╛0IB┴w-╘Aæ~;>░g?╙▐`>∩8%?╕@ó>░g?            1ÖáA▒ß`AZuô┴⻺Aa2MAh│▓┴┴
  15618. GBa2MA.αAV>┌¼*?PⁿX>╨╒&?─B->╞▄e?            ╦PBB▒ß`AeÖ√A1ÖáA▒ß`AZuô┴┴
  15619. GBa2MA.αAîJ*>╧fe?V>┌¼*?─B->╞▄e?            
  15620. Φ¬A╜π!Aτ└┴╛0IB╜π!Aw-╘A┴
  15621. GBa2MA.αA╙▐`>∩8%?æ~;>░g?─B->╞▄e?            ⻺Aa2MAh│▓┴
  15622. Φ¬A╜π!Aτ└┴┴
  15623. GBa2MA.αAPⁿX>╨╒&?╙▐`>∩8%?─B->╞▄e?            ┴
  15624. GBa2MA.αA╛0IB╜π!Aw-╘A╦≡ûB╜π!A≤ƒâA─B->╞▄e?æ~;>░g?¿WJ╜åZs?            ╦≡ûB╜π!A≤ƒâA║·öBa2MA√\æA┴
  15625. GBa2MA.αA¿WJ╜åZs?≈uα╝╙▐p?─B->╞▄e?             ╪B¬`D┴╥@╡B C┌B┴πτ▓Bêú╨B┴?ù8B*:2?êàj?┤Y5?π6j?
  15626. ╫3?òd?            Fv╬B¬`D┴╒°=B ╪B¬`D┴╥@╡Bêú╨B┴?ù8BH0?üe?*:2?êàj?
  15627. ╫3?òd?            j╝₧B¬`D┴gäGB!╨áB┴≡'BB╦≡ûB┴≤ƒâA/▌?Mt?1?xzu?zÑ ?åZs?            ╦≡ûB┴≤ƒâA║·öB¬`D┴√\æAj╝₧B¬`D┴gäGBzÑ ?åZs?░?╙▐p?/▌?Mt?            j╝₧B¬`D┴gäGB║·öB¬`D┴√\æA0¬ÉB∙X┴çû»A/▌?Mt?░?╙▐p??âp?            0¬ÉB∙X┴çû»Aî*ÜB∙X┴▀OSBj╝₧B¬`D┴gäGB?âp?÷ù?ßzt?/▌?Mt?            êú╨B┴?ù8B!╨áB┴≡'BBj╝₧B¬`D┴gäGB
  15628. ╫3?òd?1?xzu?/▌?Mt?            êú╨B┴?ù8Bj╝₧B¬`D┴gäGBFv╬B¬`D┴╒°=B
  15629. ╫3?òd?/▌?Mt?H0?üe?            J¼╔B∙X┴v╧IBFv╬B¬`D┴╒°=Bj╝₧B¬`D┴gäGBƒ½-?░g?H0?üe?/▌?Mt?            î*ÜB∙X┴▀OSBJ¼╔B∙X┴v╧IBj╝₧B¬`D┴gäGB÷ù?ßzt?ƒ½-?░g?/▌?Mt?             ╪B¬`D┴╥@╡BFv╬B¬`D┴╒°=BJ¼╔B∙X┴v╧IB*:2?êàj?H0?üe?ƒ½-?░g?            Ñ,╙B∙X┴Φj║B ╪B¬`D┴╥@╡BJ¼╔B∙X┴v╧IB0?▀αk?*:2?êàj?ƒ½-?░g?            0¬ÉB▒ß`Açû»A║·öBa2MA√\æAj╝₧Ba2MAgäGBσ≥?âp?Pⁿx?╙▐p?╤"k?Mt?            î*ÜB▒ß`A▀OSB0¬ÉB▒ß`Açû»Aj╝₧Ba2MAgäGB
  15630. hr?ßzt?σ≥?âp?╤"k?Mt?            !╨áB┴≡'BB!╨áB╜π!A≡'BB╦≡ûB╜π!A≤ƒâA1?xzu?╧≈c?xzu?åZs?åZs?            ╦≡ûB┴≤ƒâA!╨áB┴≡'BB╦≡ûB╜π!A≤ƒâAzÑ ?åZs?1?xzu?åZs?åZs?            ╦≡ûB╜π!A≤ƒâA!╨áB╜π!A≡'BBj╝₧Ba2MAgäGBåZs?åZs?╧≈c?xzu?╤"k?Mt?            ╦≡ûB╜π!A≤ƒâAj╝₧Ba2MAgäGB║·öBa2MA√\æAåZs?åZs?╤"k?Mt?Pⁿx?╙▐p?             C┌B┴πτ▓B C┌B╜π!Aπτ▓Bêú╨B╜π!A?ù8B┤Y5?π6j?LªJ?π6j?÷(L?òd?            êú╨B┴?ù8B C┌B┴πτ▓Bêú╨B╜π!A?ù8B
  15631. ╫3?òd?┤Y5?π6j?÷(L?òd?            !╨áB┴≡'BBêú╨B┴?ù8Bêú╨B╜π!A?ù8B1?xzu?
  15632. ╫3?òd?÷(L?òd?            !╨áB╜π!A≡'BB!╨áB┴≡'BBêú╨B╜π!A?ù8B╧≈c?xzu?1?xzu?÷(L?òd?            j╝₧Ba2MAgäGBFv╬Ba2MA╒°=BJ¼╔B▒ß`Av╧IB╤"k?Mt?Θ╖O?üe?aTR?░g?            J¼╔B▒ß`Av╧IBî*ÜB▒ß`A▀OSBj╝₧Ba2MAgäGBaTR?░g?
  15633. hr?ßzt?╤"k?Mt?            j╝₧Ba2MAgäGB!╨áB╜π!A≡'BBêú╨B╜π!A?ù8B╤"k?Mt?╧≈c?xzu?÷(L?òd?            êú╨B╜π!A?ù8BFv╬Ba2MA╒°=Bj╝₧Ba2MAgäGB÷(L?òd?Θ╖O?üe?╤"k?Mt?            êú╨B╜π!A?ù8B C┌B╜π!Aπτ▓B ╪Ba2MA╥@╡B÷(L?òd?LªJ?π6j?╓┼M?êàj?            êú╨B╜π!A?ù8B ╪Ba2MA╥@╡BFv╬Ba2MA╒°=B÷(L?òd?╓┼M?êàj?Θ╖O?üe?            ²╖C▒ß`A+┐B7ÜCa2MA$╫╣B√zMCa2MA╔╓CYG?t$W?ffF?∙1V?
  15634. ╫C?╚ÿK?            ╒ÖHC▒ß`A╔╓C²╖C▒ß`A+┐B√zMCa2MA╔╓CZD?¡·L?YG?t$W?
  15635. ╫C?╚ÿK?            ╤▓OC┴╔╓CC┴6k╖B7ÜC¬`D┴$╫╣B╚=? K?√:?TπU?ÜÖ9?∙1V?            √zMC¬`D┴╔╓C╤▓OC┴╔╓C7ÜC¬`D┴$╫╣B÷(<?╚ÿK?╚=? K?ÜÖ9?∙1V?             C┌B┴πτ▓B ╪B¬`D┴╥@╡B7ÜC¬`D┴$╫╣B┤Y5?π6j?*:2?êàj?ÜÖ9?∙1V?            C┴6k╖B C┌B┴πτ▓B7ÜC¬`D┴$╫╣B√:?TπU?┤Y5?π6j?ÜÖ9?∙1V?             ╪B¬`D┴╥@╡BÑ,╙B∙X┴Φj║B²╖C∙X┴+┐B*:2?êàj?0?▀αk?ºΦ8?t$W?             ╪B¬`D┴╥@╡B²╖C∙X┴+┐B7ÜC¬`D┴$╫╣B*:2?êàj?ºΦ8?t$W?ÜÖ9?∙1V?            √zMC¬`D┴╔╓C7ÜC¬`D┴$╫╣B²╖C∙X┴+┐B÷(<?╚ÿK?ÜÖ9?∙1V?ºΦ8?t$W?            ╒ÖHC∙X┴╔╓C√zMC¬`D┴╔╓C²╖C∙X┴+┐BπÑ;?¡·L?÷(<?╚ÿK?ºΦ8?t$W?            ╤▓OC┴╔╓C╤▓OC╜π!A╔╓CC╜π!A6k╖B╚=? K?8°B? K?üE?TπU?            C┴6k╖B╤▓OC┴╔╓CC╜π!A6k╖B√:?TπU?╚=? K?üE?TπU?             C┌B┴πτ▓BC┴6k╖BC╜π!A6k╖B┤Y5?π6j?√:?TπU?üE?TπU?             C┌B╜π!Aπτ▓B C┌B┴πτ▓BC╜π!A6k╖BLªJ?π6j?┤Y5?π6j?üE?TπU?            ²╖C▒ß`A+┐BÑ,╙B▒ß`AΦj║B ╪Ba2MA╥@╡BYG?t$W?P?▀αk?╓┼M?êàj?            7ÜCa2MA$╫╣B²╖C▒ß`A+┐B ╪Ba2MA╥@╡BffF?∙1V?YG?t$W?╓┼M?êàj?            7ÜCa2MA$╫╣B ╪Ba2MA╥@╡B C┌B╜π!Aπτ▓BffF?∙1V?╓┼M?êàj?LªJ?π6j?            C╜π!A6k╖B7ÜCa2MA$╫╣B C┌B╜π!Aπτ▓BüE?TπU?ffF?∙1V?LªJ?π6j?            7ÜCa2MA$╫╣BC╜π!A6k╖B╤▓OC╜π!A╔╓CffF?∙1V?üE?TπU?8°B? K?            ╤▓OC╜π!A╔╓C√zMCa2MA╔╓C7ÜCa2MA$╫╣B8°B? K?
  15636. ╫C?╚ÿK?ffF?∙1V?            A┌óC┴XyCτsèC┴m' C+hèC¬`D┴ab C¡i>?╦í5?_>?¼<?┐}=?Æφ<?            ╬ÜóC¬`D┴╩ñCA┌óC┴XyC+hèC¬`D┴ab CD·=?p≡5?¡i>?╦í5?┐}=?Æφ<?            √zMC¬`D┴╔╓Cô)<C¬`D┴ab C╒9@C┴m' C÷(<?╚ÿK?╚ÿ;?ª,S?¼<?3─Q?            ╤▓OC┴╔╓C√zMC¬`D┴╔╓C╒9@C┴m' C╚=? K?÷(<?╚ÿK?¼<?3─Q?            ╒ÖHC∙X┴╔╓C    93C∙X┴LCô)<C¬`D┴ab CπÑ;?¡·L?╟:?ésV?╚ÿ;?ª,S?            √zMC¬`D┴╔╓C╒ÖHC∙X┴╔╓Cô)<C¬`D┴ab C÷(<?╚ÿK?πÑ;?¡·L?╚ÿ;?ª,S?            ╒9@C┴m' Cô)<C¬`D┴ab C+hèC¬`D┴ab C¼<?3─Q?╚ÿ;?ª,S?┐}=?Æφ<?            τsèC┴m' C╒9@C┴m' C+hèC¬`D┴ab C_>?¼<?¼<?3─Q?┐}=?Æφ<?            ô)<C¬`D┴ab C    93C∙X┴LCSNèC∙X┴LC╚ÿ;?ª,S?╟:?ésV?─B=?Mä=?            ô)<C¬`D┴ab CSNèC∙X┴LC+hèC¬`D┴ab C╚ÿ;?ª,S?─B=?Mä=?┐}=?Æφ<?            ╬ÜóC¬`D┴╩ñC+hèC¬`D┴ab CSNèC∙X┴LCD·=?p≡5?┐}=?Æφ<?─B=?Mä=?            5óC∙X┴ö7C╬ÜóC¬`D┴╩ñCSNèC∙X┴LC╓┼=?╘Ü6?D·=?p≡5?─B=?Mä=?            ô)<Ca2MAab C    93C▒ß`ALC╒ÖHC▒ß`A╔╓C8gD?ª,S?∩8E?ésV?ZD?¡·L?            ô)<Ca2MAab C╒ÖHC▒ß`A╔╓C√zMCa2MA╔╓C8gD?ª,S?ZD?¡·L?
  15637. ╫C?╚ÿK?            ╒9@C┴m' C╒9@C╜π!Am' C╤▓OC╜π!A╔╓C¼<?3─Q?°SC?3─Q?8°B? K?            ╤▓OC┴╔╓C╒9@C┴m' C╤▓OC╜π!A╔╓C╚=? K?¼<?3─Q?8°B? K?            ╒9@C╜π!Am' Cô)<Ca2MAab C√zMCa2MA╔╓C°SC?3─Q?8gD?ª,S?
  15638. ╫C?╚ÿK?            ╤▓OC╜π!A╔╓C╒9@C╜π!Am' C√zMCa2MA╔╓C8°B? K?°SC?3─Q?
  15639. ╫C?╚ÿK?            A┌óC┴XyCA┌óC╜π!AXyCτsèC╜π!Am' C¡i>?╦í5?SûA?╦í5?í°A?¼<?            τsèC┴m' CA┌óC┴XyCτsèC╜π!Am' C_>?¼<?¡i>?╦í5?í°A?¼<?            ╒9@C┴m' CτsèC┴m' CτsèC╜π!Am' C¼<?3─Q?_>?¼<?í°A?¼<?            ╒9@C╜π!Am' C╒9@C┴m' CτsèC╜π!Am' C°SC?3─Q?¼<?3─Q?í°A?¼<?            SNèC▒ß`ALC    93C▒ß`ALCô)<Ca2MAab C<╜B?Mä=?∩8E?ésV?8gD?ª,S?            +hèCa2MAab CSNèC▒ß`ALCô)<Ca2MAab CAéB?Æφ<?<╜B?Mä=?8gD?ª,S?            +hèCa2MAab Cô)<Ca2MAab C╒9@C╜π!Am' CAéB?Æφ<?8gD?ª,S?°SC?3─Q?            τsèC╜π!Am' C+hèCa2MAab C╒9@C╜π!Am' Cí°A?¼<?AéB?Æφ<?°SC?3─Q?            +hèCa2MAab CτsèC╜π!Am' CA┌óC╜π!AXyCAéB?Æφ<?í°A?¼<?SûA?╦í5?            A┌óC╜π!AXyC╬ÜóCa2MA╩ñC+hèCa2MAab CSûA?╦í5?╝B?p≡5?AéB?Æφ<?            eY-Ba2MA3MCVƒ╙?a2MA    <C4ó\@▒ß`AΓ╪9CmV=>²÷u?°Sc>~h?«╪_>_h?            4ó\@▒ß`AΓ╪9CP/B▒ß`AyJCeY-Ba2MA3MC«╪_>_h?Fö6>8╓u?mV=>²÷u?            ≤?╢C▒ß`A┤5CiW╖Ca2MA╘[3CÆc╛Ca2MA"^RCàδA?⌠l6?Ñ╜A?8╓5?ⁿ⌐A?l    9?            +0╝C▒ß`A¡9OC≤?╢C▒ß`A┤5CÆc╛Ca2MA"^RC▄╫A?9?àδA?⌠l6?ⁿ⌐A?l    9?            ªc┐C┴═╦SCm╓╖C┴¥æ2CiW╖C¬`D┴╘[3CR╕>?▐9?⌐ñ>?░ö5?[B>?8╓5?            Æc╛C¬`D┴"^RCªc┐C┴═╦SCiW╖C¬`D┴╘[3CV>?l    9?R╕>?▐9?[B>?8╓5?            m╓╖C┴¥æ2CA┌óC┴XyC╬ÜóC¬`D┴╩ñC⌐ñ>?░ö5?¡i>?╦í5?D·=?p≡5?            m╓╖C┴¥æ2C╬ÜóC¬`D┴╩ñCiW╖C¬`D┴╘[3C⌐ñ>?░ö5?D·=?p≡5?[B>?8╓5?            iW╖C¬`D┴╘[3C╬ÜóC¬`D┴╩ñC5óC∙X┴ö7C[B>?8╓5?D·=?p≡5?╓┼=?╘Ü6?            5óC∙X┴ö7C≤?╢C∙X┴┤5CiW╖C¬`D┴╘[3C╓┼=?╘Ü6?{>?⌠l6?[B>?8╓5?            Æc╛C¬`D┴"^RCiW╖C¬`D┴╘[3C≤?╢C∙X┴┤5CV>?l    9?[B>?8╓5?{>?⌠l6?            +0╝C∙X┴¡9OCÆc╛C¬`D┴"^RC≤?╢C∙X┴┤5C$(>?9?V>?l    9?{>?⌠l6?            ªc┐C┴═╦SCªc┐C╜π!A═╦SCm╓╖C╜π!A¥æ2CR╕>?▐9?«GA?▐9?W[A?░ö5?            m╓╖C┴¥æ2Cªc┐C┴═╦SCm╓╖C╜π!A¥æ2C⌐ñ>?░ö5?R╕>?▐9?W[A?░ö5?            A┌óC┴XyCm╓╖C┴¥æ2Cm╓╖C╜π!A¥æ2C¡i>?╦í5?⌐ñ>?░ö5?W[A?░ö5?            A┌óC╜π!AXyCA┌óC┴XyCm╓╖C╜π!A¥æ2CSûA?╦í5?¡i>?╦í5?W[A?░ö5?            ╬ÜóCa2MA╩ñCiW╖Ca2MA╘[3C≤?╢C▒ß`A┤5C╝B?p≡5?Ñ╜A?8╓5?àδA?⌠l6?            ≤?╢C▒ß`A┤5C5óC▒ß`Aö7C╬ÜóCa2MA╩ñCàδA?⌠l6?*:B?╘Ü6?╝B?p≡5?            A┌óC╜π!AXyCm╓╖C╜π!A¥æ2CiW╖Ca2MA╘[3CSûA?╦í5?W[A?░ö5?Ñ╜A?8╓5?            A┌óC╜π!AXyCiW╖Ca2MA╘[3C╬ÜóCa2MA╩ñCSûA?╦í5?Ñ╜A?8╓5?╝B?p≡5?            iW╖Ca2MA╘[3Cm╓╖C╜π!A¥æ2Cªc┐C╜π!A═╦SCÑ╜A?8╓5?W[A?░ö5?«GA?▐9?            ªc┐C╜π!A═╦SCÆc╛Ca2MA"^RCiW╖Ca2MA╘[3C«GA?▐9?ⁿ⌐A?l    9?Ñ╜A?8╓5?            zV?┴╚=C╫t,B┴.pNCeY-B¬`D┴3MC_)ï>≡h?lxÜ>?v?╩Tí>²÷u?            Vƒ╙?¬`D┴    <CzV?┴╚=CeY-B¬`D┴3MCVÄ>~h?_)ï>≡h?╩Tí>²÷u?            S╞|C¬`D┴HFCÆ╝|C┴┴JGCªc┐C┴═╦SC/=?_ÿL?╓┼=?Z╙L?R╕>?▐9?            ªc┐C┴═╦SCÆc╛C¬`D┴"^RCS╞|C¬`D┴HFCR╕>?▐9?V>?l    9?/=?_ÿL?            ╟█|C∙X┴>YCCS╞|C¬`D┴HFCÆc╛C¬`D┴"^RCτ<?h"L?/=?_ÿL?V>?l    9?            +0╝C∙X┴¡9OC╟█|C∙X┴>YCCÆc╛C¬`D┴"^RC$(>?9?τ<?h"L?V>?l    9?            ╫t,B┴.pNCÆ╝|C┴┴JGCS╞|C¬`D┴HFClxÜ>?v?╓┼=?Z╙L?/=?_ÿL?            ╫t,B┴.pNCS╞|C¬`D┴HFCeY-B¬`D┴3MClxÜ>?v?/=?_ÿL?╩Tí>²÷u?            P/B∙X┴yJCeY-B¬`D┴3MCS╞|C¬`D┴HFC▌╡ñ>8╓u?╩Tí>²÷u?/=?_ÿL?            ╟█|C∙X┴>YCCP/B∙X┴yJCS╞|C¬`D┴HFCτ<?h"L?▌╡ñ>8╓u?/=?_ÿL?            4ó\@∙X┴Γ╪9CVƒ╙?¬`D┴    <CeY-B¬`D┴3MC⌐É>_h?VÄ>~h?╩Tí>²÷u?            P/B∙X┴yJC4ó\@∙X┴Γ╪9CeY-B¬`D┴3MC▌╡ñ>8╓u?⌐É>_h?╩Tí>²÷u?            Æc╛Ca2MA"^RCS╞|Ca2MAHFC╟█|C▒ß`A>YCCⁿ⌐A?l    9?σ╨B?_ÿL?ⁿC?h"L?            ╟█|C▒ß`A>YCC+0╝C▒ß`A¡9OCÆc╛Ca2MA"^RCⁿC?h"L?▄╫A?9?ⁿ⌐A?l    9?            Æ╝|C┴┴JGCÆ╝|C╜π!A┴JGCªc┐C╜π!A═╦SC╓┼=?Z╙L?*:B?Z╙L?«GA?▐9?            ªc┐C┴═╦SCÆ╝|C┴┴JGCªc┐C╜π!A═╦SCR╕>?▐9?╓┼=?Z╙L?«GA?▐9?            ªc┐C╜π!A═╦SCÆ╝|C╜π!A┴JGCS╞|Ca2MAHFC«GA?▐9?*:B?Z╙L?σ╨B?_ÿL?            ªc┐C╜π!A═╦SCS╞|Ca2MAHFCÆc╛Ca2MA"^RC«GA?▐9?σ╨B?_ÿL?ⁿ⌐A?l    9?            zV?┴╚=CzV?╜π!A┬=C╫t,B╜π!A.pNC_)ï>≡h?C¡i>≡h?(K>?v?            ╫t,B┴.pNCzV?┴╚=C╫t,B╜π!A.pNClxÜ>?v?_)ï>≡h?(K>?v?            Æ╝|C┴┴JGC╫t,B┴.pNC╫t,B╜π!A.pNCTtä╛Z╙L?lxÜ>?v?(K>?v?            Æ╝|C╜π!A┴JGCÆ╝|C┴┴JGC╫t,B╜π!A.pNCYw╛Z╙L?Ttä╛Z╙L?(K>?v?            S╞|Ca2MAHFCeY-Ba2MA3MCP/B▒ß`AyJCj╝t╛_ÿL?mV=>²÷u?Fö6>8╓u?            P/B▒ß`AyJC╟█|C▒ß`A>YCCS╞|Ca2MAHFCFö6>8╓u?£s╛h"L?j╝t╛_ÿL?            S╞|Ca2MAHFCÆ╝|C╜π!A┴JGC╫t,B╜π!A.pNCj╝t╛_ÿL?Yw╛Z╙L?(K>?v?            ╫t,B╜π!A.pNCeY-Ba2MA3MCS╞|Ca2MAHFC(K>?v?mV=>²÷u?j╝t╛_ÿL?            eY-Ba2MA3MC╫t,B╜π!A.pNCzV?╜π!A┬=CmV=>²÷u?(K>?v?C¡i>≡h?            zV?╜π!A┬=CVƒ╙?a2MA    <CeY-Ba2MA3MCC¡i>≡h?°Sc>~h?mV=>²÷u?            t╚┴▒ß`ALCq▐┴a2MAΘCq▐┴a2MA╡╨B∙i>~îY?Vƒk>î█X?Vƒk>╛P?            t╚┴▒ß`A╟+╥Bt╚┴▒ß`ALCq▐┴a2MA╡╨B∙i>j▐Q?∙i>~îY?Vƒk>╛P?            q▐┴¬`D┴╡╨B≤τ┴┴╬
  15640. ╨B≤τ┴┴sHCU0è>╛P?éΓç>2UP?éΓç>ÜX?            q▐┴¬`D┴ΘCq▐┴¬`D┴╡╨B≤τ┴┴sHCU0è>î█X?U0è>╛P?éΓç>ÜX?            ≤τ┴┴sHCzV?┴╚=CVƒ╙?¬`D┴    <CéΓç>ÜX?_)ï>≡h?VÄ>~h?            ≤τ┴┴sHCVƒ╙?¬`D┴    <Cq▐┴¬`D┴ΘCéΓç>ÜX?VÄ>~h?U0è>î█X?            q▐┴¬`D┴ΘCVƒ╙?¬`D┴    <C4ó\@∙X┴Γ╪9CU0è>î█X?VÄ>~h?⌐É>_h?            4ó\@∙X┴Γ╪9Ct╚┴∙X┴LCq▐┴¬`D┴ΘC⌐É>_h?xï>~îY?U0è>î█X?            q▐┴¬`D┴╡╨Bq▐┴¬`D┴ΘCt╚┴∙X┴LCU0è>╛P?U0è>î█X?xï>~îY?            t╚┴∙X┴╟+╥Bq▐┴¬`D┴╡╨Bt╚┴∙X┴LCxï>j▐Q?U0è>╛P?xï>~îY?            ≤τ┴┴╬
  15641. ╨B≤τ┴╜π!A╬
  15642. ╨B≤τ┴╜π!AsHCéΓç>2UP?√:p>2UP?√:p>ÜX?            ≤τ┴┴sHC≤τ┴┴╬
  15643. ╨B≤τ┴╜π!AsHCéΓç>ÜX?éΓç>2UP?√:p>ÜX?            zV?┴╚=C≤τ┴┴sHC≤τ┴╜π!AsHC_)ï>≡h?éΓç>ÜX?√:p>ÜX?            zV?╜π!A┬=CzV?┴╚=C≤τ┴╜π!AsHCC¡i>≡h?_)ï>≡h?√:p>ÜX?            Vƒ╙?a2MA    <Cq▐┴a2MAΘCt╚┴▒ß`ALC°Sc>~h?Vƒk>î█X?∙i>~îY?            t╚┴▒ß`ALC4ó\@▒ß`AΓ╪9CVƒ╙?a2MA    <C∙i>~îY?«╪_>_h?°Sc>~h?            Vƒ╙?a2MA    <CzV?╜π!A┬=C≤τ┴╜π!AsHC°Sc>~h?C¡i>≡h?√:p>ÜX?            ≤τ┴╜π!AsHCq▐┴a2MAΘCVƒ╙?a2MA    <C√:p>ÜX?Vƒk>î█X?°Sc>~h?            ≤τ┴╜π!AsHC≤τ┴╜π!A╬
  15644. ╨Bq▐┴a2MA╡╨B√:p>ÜX?√:p>2UP?Vƒk>╛P?            ≤τ┴╜π!AsHCq▐┴a2MA╡╨Bq▐┴a2MAΘC√:p>ÜX?Vƒk>╛P?Vƒk>î█X?            
  15645. Φ¬A┴τ└┴o≡l┴┴)φm?àδX┴¬`D┴▓¥╟?ùÉÅ>∩8%?0*ë>╛ƒ*?├╙ï>Φj+?            ⻺A¬`D┴h│▓┴
  15646. Φ¬A┴τ└┴àδX┴¬`D┴▓¥╟?╪üô>╨╒&?ùÉÅ>∩8%?├╙ï>Φj+?            ¡iF┴┴≈&ùB≤τ┴┴╬
  15647. ╨Bq▐┴¬`D┴╡╨B║kë>ÇHO?éΓç>2UP?U0è>╛P?            ¡iF┴┴≈&ùBq▐┴¬`D┴╡╨B"Ä2┴¬`D┴╒╟ùB║kë>ÇHO?U0è>╛P?h"î>w╛O?            t╚┴∙X┴╟+╥Bj▐┴∙X┴¡)ÖB"Ä2┴¬`D┴╒╟ùBxï>j▐Q?╓┼ì>╬Q?h"î>w╛O?            q▐┴¬`D┴╡╨Bt╚┴∙X┴╟+╥B"Ä2┴¬`D┴╒╟ùBU0è>╛P?xï>j▐Q?h"î>w╛O?            o≡l┴┴)φm?¡iF┴┴≈&ùB"Ä2┴¬`D┴╒╟ùB0*ë>╛ƒ*?║kë>ÇHO?h"î>w╛O?            o≡l┴┴)φm?"Ä2┴¬`D┴╒╟ùBàδX┴¬`D┴▓¥╟?0*ë>╛ƒ*?h"î>w╛O?├╙ï>Φj+?            àδX┴¬`D┴▓¥╟?"Ä2┴¬`D┴╒╟ùBj▐┴∙X┴¡)ÖB├╙ï>Φj+?h"î>w╛O?╓┼ì>╬Q?            j▐┴∙X┴¡)ÖBñ▀,┴∙X┴²ç<@àδX┴¬`D┴▓¥╟?╓┼ì>╬Q?√\ì>2w-?├╙ï>Φj+?            ⻺A¬`D┴h│▓┴àδX┴¬`D┴▓¥╟?ñ▀,┴∙X┴²ç<@╪üô>╨╒&?├╙ï>Φj+?√\ì>2w-?            1ÖáA∙X┴Zuô┴⻺A¬`D┴h│▓┴ñ▀,┴∙X┴²ç<@⌠²ö>┌¼*?╪üô>╨╒&?√\ì>2w-?            "Ä2┴a2MA╒╟ùBj▐┴▒ß`A¡)ÖBt╚┴▒ß`A╟+╥B0╗g>w╛O?Ttd>╬Q?∙i>j▐Q?            "Ä2┴a2MA╒╟ùBt╚┴▒ß`A╟+╥Bq▐┴a2MA╡╨B0╗g>w╛O?∙i>j▐Q?Vƒk>╛P?            ¡iF┴┴≈&ùB¡iF┴╜π!A≈&ùB≤τ┴╜π!A╬
  15648. ╨B║kë>ÇHO?ì(m>ÇHO?√:p>2UP?            ≤τ┴┴╬
  15649. ╨B¡iF┴┴≈&ùB≤τ┴╜π!A╬
  15650. ╨BéΓç>2UP?║kë>ÇHO?√:p>2UP?            ¡iF┴╜π!A≈&ùB"Ä2┴a2MA╒╟ùBq▐┴a2MA╡╨Bì(m>ÇHO?0╗g>w╛O?Vƒk>╛P?            ≤τ┴╜π!A╬
  15651. ╨B¡iF┴╜π!A≈&ùBq▐┴a2MA╡╨B√:p>2UP?ì(m>ÇHO?Vƒk>╛P?            
  15652. Φ¬A┴τ└┴
  15653. Φ¬A╜π!Aτ└┴o≡l┴╜π!A)φm?ùÉÅ>∩8%?╙▐`>∩8%?ƒ½m>╛ƒ*?            o≡l┴┴)φm?
  15654. Φ¬A┴τ└┴o≡l┴╜π!A)φm?0*ë>╛ƒ*?ùÉÅ>∩8%?ƒ½m>╛ƒ*?            ¡iF┴┴≈&ùBo≡l┴┴)φm?o≡l┴╜π!A)φm?║kë>ÇHO?0*ë>╛ƒ*?ƒ½m>╛ƒ*?            ¡iF┴╜π!A≈&ùB¡iF┴┴≈&ùBo≡l┴╜π!A)φm?ì(m>ÇHO?║kë>ÇHO?ƒ½m>╛ƒ*?            j▐┴▒ß`A¡)ÖB"Ä2┴a2MA╒╟ùBàδX┴a2MA▓¥╟?Ttd>╬Q?0╗g>w╛O?yXh>Φj+?            ñ▀,┴▒ß`A²ç<@j▐┴▒ß`A¡)ÖBàδX┴a2MA▓¥╟? Fe>2w-?Ttd>╬Q?yXh>Φj+?            "Ä2┴a2MA╒╟ùB¡iF┴╜π!A≈&ùBo≡l┴╜π!A)φm?0╗g>w╛O?ì(m>ÇHO?ƒ½m>╛ƒ*?            o≡l┴╜π!A)φm?àδX┴a2MA▓¥╟?"Ä2┴a2MA╒╟ùBƒ½m>╛ƒ*?yXh>Φj+?0╗g>w╛O?            àδX┴a2MA▓¥╟?o≡l┴╜π!A)φm?
  15655. Φ¬A╜π!Aτ└┴yXh>Φj+?ƒ½m>╛ƒ*?╙▐`>∩8%?            
  15656. Φ¬A╜π!Aτ└┴⻺Aa2MAh│▓┴àδX┴a2MA▓¥╟?╙▐`>∩8%?PⁿX>╨╒&?yXh>Φj+?            ¬┬Ba2MA-ü¼B└¼B▒ß`Av└ƒB┼ ▌A▒ß`A⌡jπB(~L>>yh?n4@>ò╘i?≥AO>⌡Ji?            ¬┬Ba2MA-ü¼B┼ ▌A▒ß`A⌡jπB]φ╬Aa2MA@≤▄B(~L>>yh?≥AO>⌡Ji?⌠²T>╡7h?            ]φ╬A¬`D┴@≤▄B¬┬B¬`D┴-ü¼B│j²A┴)M▓Büò>╡7h?∞└Ö>>yh?åZô>Ö*h?            │j²A┴)M▓B╒x╚A┴¬┌B]φ╬A¬`D┴@≤▄BåZô>Ö*h?╛É>₧∩g?üò>╡7h?            │j²A┴)M▓B¬┬B¬`D┴-ü¼B9┤è@¬`D┴5/╥BåZô>Ö*h?∞└Ö>>yh?2µÄ>H┐]?            ╤"φ@┴½/╤B│j²A┴)M▓B9┤è@¬`D┴5/╥B║Iî>╫4_?åZô>Ö*h?2µÄ>H┐]?            ¬┬B¬`D┴-ü¼B└¼B∙X┴v└ƒB ▓└∙X┴|a╘B∞└Ö>>yh?╔σƒ>ò╘i?┘Ä> [?            9┤è@¬`D┴5/╥B¬┬B¬`D┴-ü¼B ▓└∙X┴|a╘B2µÄ>H┐]?∞└Ö>>yh?┘Ä> [?            ╤"φ@┴½/╤B9┤è@¬`D┴5/╥B]φ╬A¬`D┴@≤▄B║Iî>╫4_?2µÄ>H┐]?üò>╡7h?            ╒x╚A┴¬┌B╤"φ@┴½/╤B]φ╬A¬`D┴@≤▄B╛É>₧∩g?║Iî>╫4_?üò>╡7h?            9┤è@¬`D┴5/╥B ▓└∙X┴|a╘B┼ ▌A∙X┴⌡jπB2µÄ>H┐]?┘Ä> [?_ÿ>⌡Ji?            ┼ ▌A∙X┴⌡jπB]φ╬A¬`D┴@≤▄B9┤è@¬`D┴5/╥B_ÿ>⌡Ji?üò>╡7h?2µÄ>H┐]?            ┼ ▌A∙X┴⌡jπB└¼B∙X┴v└ƒB¬┬B¬`D┴-ü¼B_ÿ>⌡Ji?╔σƒ>ò╘i?∞└Ö>>yh?            ┼ ▌A∙X┴⌡jπB¬┬B¬`D┴-ü¼B]φ╬A¬`D┴@≤▄B_ÿ>⌡Ji?∞└Ö>>yh?üò>╡7h?             ▓└▒ß`A|a╘B└¼B▒ß`Av└ƒB¬┬Ba2MA-ü¼B╙Mb> [?n4@>ò╘i?(~L>>yh?             ▓└▒ß`A|a╘B¬┬Ba2MA-ü¼B9┤è@a2MA5/╥B╙Mb> [?(~L>>yh?£3b>H┐]?            │j²A╜π!A)M▓B│j²A┴)M▓B╤"φ@┴½/╤B⌡JY>Ö*h?åZô>Ö*h?║Iî>╫4_?            ╤"φ@╜π!A½/╤B│j²A╜π!A)M▓B╤"φ@┴½/╤Bïlg>╫4_?⌡JY>Ö*h?║Iî>╫4_?            9┤è@a2MA5/╥B¬┬Ba2MA-ü¼B│j²A╜π!A)M▓B£3b>H┐]?(~L>>yh?⌡JY>Ö*h?            9┤è@a2MA5/╥B│j²A╜π!A)M▓B╤"φ@╜π!A½/╤B£3b>H┐]?⌡JY>Ö*h?ïlg>╫4_?            │j²A┴)M▓B│j²A╜π!A)M▓B╒x╚A╜π!A¬┌BåZô>Ö*h?⌡JY>Ö*h?Σâ^>₧∩g?            ╒x╚A┴¬┌B│j²A┴)M▓B╒x╚A╜π!A¬┌B╛É>₧∩g?åZô>Ö*h?Σâ^>₧∩g?            ╤"φ@┴½/╤B╒x╚A┴¬┌B╒x╚A╜π!A¬┌B║Iî>╫4_?╛É>₧∩g?Σâ^>₧∩g?            ╤"φ@╜π!A½/╤B╤"φ@┴½/╤B╒x╚A╜π!A¬┌Bïlg>╫4_?║Iî>╫4_?Σâ^>₧∩g?            ┼ ▌A▒ß`A⌡jπB ▓└▒ß`A|a╘B9┤è@a2MA5/╥B≥AO>⌡Ji?╙Mb> [?£3b>H┐]?            ]φ╬Aa2MA@≤▄B┼ ▌A▒ß`A⌡jπB9┤è@a2MA5/╥B⌠²T>╡7h?≥AO>⌡Ji?£3b>H┐]?            ]φ╬Aa2MA@≤▄B9┤è@a2MA5/╥B╤"φ@╜π!A½/╤B⌠²T>╡7h?£3b>H┐]?ïlg>╫4_?            ╒x╚A╜π!A¬┌B]φ╬Aa2MA@≤▄B╤"φ@╜π!A½/╤BΣâ^>₧∩g?⌠²T>╡7h?ïlg>╫4_?            │j²A╜π!A)M▓B¬┬Ba2MA-ü¼B]φ╬Aa2MA@≤▄B⌡JY>Ö*h?(~L>>yh?⌠²T>╡7h?            ╒x╚A╜π!A¬┌B│j²A╜π!A)M▓B]φ╬Aa2MA@≤▄BΣâ^>₧∩g?⌡JY>Ö*h?⌠²T>╡7h?            ú≥▐Ba2MA≈E+Cƒ B▒ß`A¥/CR⌐ÇB▒ß`A∩    +CjM╛ù p?_X╛ ▓k? ½=:#z?            ú≥▐Ba2MA≈E+CR⌐ÇB▒ß`A∩    +CzσéBa2MAÄe(CjM╛ù p? ½=:#z?Sú=Lªz?            zσéB¬`D┴Äe(Cú≥▐B¬`D┴≈E+Cí╨B┴ûô)C½>╫>Lªz?åZ3?ù p?╙╝3?╙╝s?            í╨B┴ûô)CåΘâB┴2'CzσéB¬`D┴Äe(C╙╝3?╙╝s?<N╤>╚ÿ{?½>╫>Lªz?            í╨B┴ûô)Cú≥▐B¬`D┴≈E+C╒8B¬`D┴oí C╙╝3?╙╝s?åZ3?ù p?╡ªÖ>ë╥n?            :B┴acCí╨B┴ûô)C╒8B¬`D┴oí CΘù>└╩q?╙╝3?╙╝s?╡ªÖ>ë╥n?            ú≥▐B¬`D┴≈E+Cƒ B∙X┴¥/CoüÑA∙X┴"]CåZ3?ù p?┬6? ▓k?}?ò>Üh?            ╒8B¬`D┴oí Cú≥▐B¬`D┴≈E+CoüÑA∙X┴"]C╡ªÖ>ë╥n?åZ3?ù p?}?ò>Üh?            :B┴acC╒8B¬`D┴oí CzσéB¬`D┴Äe(CΘù>└╩q?╡ªÖ>ë╥n?½>╫>Lªz?            åΘâB┴2'C:B┴acCzσéB¬`D┴Äe(C<N╤>╚ÿ{?Θù>└╩q?½>╫>Lªz?            ╒8B¬`D┴oí CoüÑA∙X┴"]CR⌐ÇB∙X┴∩    +C╡ªÖ>ë╥n?}?ò>Üh?}?╒>:#z?            R⌐ÇB∙X┴∩    +CzσéB¬`D┴Äe(C╒8B¬`D┴oí C}?╒>:#z?½>╫>Lªz?╡ªÖ>ë╥n?            R⌐ÇB∙X┴∩    +Cƒ B∙X┴¥/Cú≥▐B¬`D┴≈E+C}?╒>:#z?┬6? ▓k?åZ3?ù p?            R⌐ÇB∙X┴∩    +Cú≥▐B¬`D┴≈E+CzσéB¬`D┴Äe(C}?╒>:#z?åZ3?ù p?½>╫>Lªz?            oüÑA▒ß`A"]Cƒ B▒ß`A¥/Cú≥▐Ba2MA≈E+CüU>Üh?_X╛ ▓k?jM╛ù p?            oüÑA▒ß`A"]Cú≥▐Ba2MA≈E+C╒8Ba2MAoí CüU>Üh?jM╛ù p?û▓L>ë╥n?            í╨B╜π!Aûô)Cí╨B┴ûô)C:B┴acCM≤N╛╙╝s?╙╝3?╙╝s?Θù>└╩q?            :B╜π!AacCí╨B╜π!Aûô)C:B┴acCα-P>└╩q?M≤N╛╙╝s?Θù>└╩q?            ╒8Ba2MAoí Cú≥▐Ba2MA≈E+Cí╨B╜π!Aûô)Cû▓L>ë╥n?jM╛ù p?M≤N╛╙╝s?            ╒8Ba2MAoí Cí╨B╜π!Aûô)C:B╜π!AacCû▓L>ë╥n?M≤N╛╙╝s?α-P>└╩q?            í╨B┴ûô)Cí╨B╜π!Aûô)CåΘâB╜π!A2'CYåÿ╛╙╝s?M≤N╛╙╝s?╟║=╚ÿ{?            åΘâB┴2'Cí╨B┴ûô)CåΘâB╜π!A2'C<N╤>╚ÿ{?Yåÿ╛╙╝s?╟║=╚ÿ{?            :B┴acCåΘâB┴2'CåΘâB╜π!A2'CΘù>└╩q?<N╤>╚ÿ{?╟║=╚ÿ{?            :B╜π!AacC:B┴acCåΘâB╜π!A2'Cα-P>└╩q?Θù>└╩q?╟║=╚ÿ{?            R⌐ÇB▒ß`A∩    +CoüÑA▒ß`A"]C╒8Ba2MAoí C ½=:#z?üU>Üh?û▓L>ë╥n?            zσéBa2MAÄe(CR⌐ÇB▒ß`A∩    +C╒8Ba2MAoí CSú=Lªz? ½=:#z?û▓L>ë╥n?            zσéBa2MAÄe(C╒8Ba2MAoí C:B╜π!AacCSú=Lªz?û▓L>ë╥n?α-P>└╩q?            åΘâB╜π!A2'CzσéBa2MAÄe(C:B╜π!AacC╟║=╚ÿ{?Sú=Lªz?α-P>└╩q?            í╨B╜π!Aûô)Cú≥▐Ba2MA≈E+CzσéBa2MAÄe(CM≤N╛╙╝s?jM╛ù p?Sú=Lªz?            åΘâB╜π!A2'Cí╨B╜π!Aûô)CzσéBa2MAÄe(C╟║=╚ÿ{?M≤N╛╙╝s?Sú=Lªz?            ╟█|C∙X┴>YCC+0╝C∙X┴¡9OC≤?╢C∙X┴┤5Cτ<?h"L?$(>?9?{>?⌠l6?            ╟█|C∙X┴>YCC≤?╢C∙X┴┤5C5óC∙X┴ö7Cτ<?h"L?{>?⌠l6?╓┼=?╘Ü6?            ╟█|C∙X┴>YCC5óC∙X┴ö7CSNèC∙X┴LCτ<?h"L?╓┼=?╘Ü6?─B=?Mä=?            ╟█|C∙X┴>YCCSNèC∙X┴LC    93C∙X┴LCτ<?h"L?─B=?Mä=?╟:?ésV?            P/B∙X┴yJC╟█|C∙X┴>YCCƒ B∙X┴¥/C▌╡ñ>8╓u?τ<?h"L?┬6? ▓k?            P/B∙X┴yJCƒ B∙X┴¥/CR⌐ÇB∙X┴∩    +C▌╡ñ>8╓u?┬6? ▓k?}?╒>:#z?            ƒ B∙X┴¥/C╟█|C∙X┴>YCC    93C∙X┴LC┬6? ▓k?τ<?h"L?╟:?ésV?                93C∙X┴LC╒ÖHC∙X┴╔╓C²╖C∙X┴+┐B╟:?ésV?πÑ;?¡·L?ºΦ8?t$W?            î*ÜB∙X┴▀OSB0¬ÉB∙X┴çû»A╦PBB∙X┴eÖ√A÷ù?ßzt??âp?║┌¬>╧fe?            ╦PBB∙X┴eÖ√A1ÖáA∙X┴Zuô┴ñ▀,┴∙X┴²ç<@║┌¬>╧fe?⌠²ö>┌¼*?√\ì>2w-?            ╦PBB∙X┴eÖ√Añ▀,┴∙X┴²ç<@j▐┴∙X┴¡)ÖB║┌¬>╧fe?√\ì>2w-?╓┼ì>╬Q?            Ñ,╙B∙X┴Φj║BJ¼╔B∙X┴v╧IBî*ÜB∙X┴▀OSB0?▀αk?ƒ½-?░g?÷ù?ßzt?            ƒ B∙X┴¥/C    93C∙X┴LC²╖C∙X┴+┐B┬6? ▓k?╟:?ésV?ºΦ8?t$W?            ƒ B∙X┴¥/C²╖C∙X┴+┐BÑ,╙B∙X┴Φj║B┬6? ▓k?ºΦ8?t$W?0?▀αk?            oüÑA∙X┴"]Cƒ B∙X┴¥/CÑ,╙B∙X┴Φj║B}?ò>Üh?┬6? ▓k?0?▀αk?            oüÑA∙X┴"]CÑ,╙B∙X┴Φj║Bî*ÜB∙X┴▀OSB}?ò>Üh?0?▀αk?÷ù?ßzt?            └¼B∙X┴v└ƒBî*ÜB∙X┴▀OSB╦PBB∙X┴eÖ√A╔σƒ>ò╘i?÷ù?ßzt?║┌¬>╧fe?            └¼B∙X┴v└ƒB╦PBB∙X┴eÖ√Aj▐┴∙X┴¡)ÖB╔σƒ>ò╘i?║┌¬>╧fe?╓┼ì>╬Q?             ▓└∙X┴|a╘B└¼B∙X┴v└ƒBj▐┴∙X┴¡)ÖB┘Ä> [?╔σƒ>ò╘i?╓┼ì>╬Q?             ▓└∙X┴|a╘Bj▐┴∙X┴¡)ÖBt╚┴∙X┴╟+╥B┘Ä> [?╓┼ì>╬Q?xï>j▐Q?             ▓└∙X┴|a╘Bt╚┴∙X┴╟+╥Bt╚┴∙X┴LC┘Ä> [?xï>j▐Q?xï>~îY?            P/B∙X┴yJCR⌐ÇB∙X┴∩    +CoüÑA∙X┴"]C▌╡ñ>8╓u?}?╒>:#z?}?ò>Üh?            4ó\@∙X┴Γ╪9CP/B∙X┴yJCoüÑA∙X┴"]C⌐É>_h?▌╡ñ>8╓u?}?ò>Üh?            t╚┴∙X┴LC4ó\@∙X┴Γ╪9CoüÑA∙X┴"]Cxï>~îY?⌐É>_h?}?ò>Üh?             ▓└∙X┴|a╘Bt╚┴∙X┴LCoüÑA∙X┴"]C┘Ä> [?xï>~îY?}?ò>Üh?            ┼ ▌A∙X┴⌡jπB ▓└∙X┴|a╘BoüÑA∙X┴"]C_ÿ>⌡Ji?┘Ä> [?}?ò>Üh?            ┼ ▌A∙X┴⌡jπBoüÑA∙X┴"]Cî*ÜB∙X┴▀OSB_ÿ>⌡Ji?}?ò>Üh?÷ù?ßzt?            └¼B∙X┴v└ƒB┼ ▌A∙X┴⌡jπBî*ÜB∙X┴▀OSB╔σƒ>ò╘i?_ÿ>⌡Ji?÷ù?ßzt?            ≤?╢C▒ß`A┤5C+0╝C▒ß`A¡9OC╟█|C▒ß`A>YCCàδA?⌠l6?▄╫A?9?ⁿC?h"L?            5óC▒ß`Aö7C≤?╢C▒ß`A┤5C╟█|C▒ß`A>YCC*:B?╘Ü6?àδA?⌠l6?ⁿC?h"L?            SNèC▒ß`ALC5óC▒ß`Aö7C╟█|C▒ß`A>YCC<╜B?Mä=?*:B?╘Ü6?ⁿC?h"L?                93C▒ß`ALCSNèC▒ß`ALC╟█|C▒ß`A>YCC∩8E?ésV?<╜B?Mä=?ⁿC?h"L?            ƒ B▒ß`A¥/C╟█|C▒ß`A>YCCP/B▒ß`AyJC_X╛ ▓k?£s╛h"L?Fö6>8╓u?            R⌐ÇB▒ß`A∩    +Cƒ B▒ß`A¥/CP/B▒ß`AyJC ½=:#z?_X╛ ▓k?Fö6>8╓u?                93C▒ß`ALC╟█|C▒ß`A>YCCƒ B▒ß`A¥/C∩8E?ésV?ⁿC?h"L?>ΦI? ▓k?            ²╖C▒ß`A+┐B╒ÖHC▒ß`A╔╓C    93C▒ß`ALCYG?t$W?ZD?¡·L?∩8E?ésV?            ╦PBB▒ß`AeÖ√A0¬ÉB▒ß`Açû»Aî*ÜB▒ß`A▀OSBîJ*>╧fe?╖Q╣âp?cY╜ßzt?            ñ▀,┴▒ß`A²ç<@1ÖáA▒ß`AZuô┴╦PBB▒ß`AeÖ√A Fe>2w-?V>┌¼*?îJ*>╧fe?            j▐┴▒ß`A¡)ÖBñ▀,┴▒ß`A²ç<@╦PBB▒ß`AeÖ√ATtd>╬Q? Fe>2w-?îJ*>╧fe?            ²╖C▒ß`A+┐B    93C▒ß`ALCƒ B▒ß`A¥/CYG?t$W?∩8E?ésV?>ΦI? ▓k?            Ñ,╙B▒ß`AΦj║B²╖C▒ß`A+┐Bƒ B▒ß`A¥/CP?▀αk?YG?t$W?>ΦI? ▓k?            Ñ,╙B▒ß`AΦj║Bƒ B▒ß`A¥/CoüÑA▒ß`A"]C@╛▀αk?_X╛ ▓k?üU>Üh?            î*ÜB▒ß`A▀OSBJ¼╔B▒ß`Av╧IBÑ,╙B▒ß`AΦj║B
  15657. hr?ßzt?aTR?░g?P?▀αk?            î*ÜB▒ß`A▀OSBÑ,╙B▒ß`AΦj║BoüÑA▒ß`A"]CcY╜ßzt?@╛▀αk?üU>Üh?            ╦PBB▒ß`AeÖ√Aî*ÜB▒ß`A▀OSB└¼B▒ß`Av└ƒBîJ*>╧fe?cY╜ßzt?n4@>ò╘i?            j▐┴▒ß`A¡)ÖB╦PBB▒ß`AeÖ√A└¼B▒ß`Av└ƒBTtd>╬Q?îJ*>╧fe?n4@>ò╘i?            j▐┴▒ß`A¡)ÖB└¼B▒ß`Av└ƒB ▓└▒ß`A|a╘BTtd>╬Q?n4@>ò╘i?╙Mb> [?            t╚┴▒ß`A╟+╥Bj▐┴▒ß`A¡)ÖB ▓└▒ß`A|a╘B∙i>j▐Q?Ttd>╬Q?╙Mb> [?            t╚┴▒ß`ALCt╚┴▒ß`A╟+╥B ▓└▒ß`A|a╘B∙i>~îY?∙i>j▐Q?╙Mb> [?            R⌐ÇB▒ß`A∩    +CP/B▒ß`AyJC4ó\@▒ß`AΓ╪9C ½=:#z?Fö6>8╓u?«╪_>_h?            oüÑA▒ß`A"]CR⌐ÇB▒ß`A∩    +C4ó\@▒ß`AΓ╪9CüU>Üh? ½=:#z?«╪_>_h?            oüÑA▒ß`A"]C4ó\@▒ß`AΓ╪9Ct╚┴▒ß`ALCüU>Üh?«╪_>_h?∙i>~îY?            oüÑA▒ß`A"]Ct╚┴▒ß`ALC ▓└▒ß`A|a╘BüU>Üh?∙i>~îY?╙Mb> [?            oüÑA▒ß`A"]C ▓└▒ß`A|a╘B┼ ▌A▒ß`A⌡jπBüU>Üh?╙Mb> [?≥AO>⌡Ji?            î*ÜB▒ß`A▀OSBoüÑA▒ß`A"]C┼ ▌A▒ß`A⌡jπBcY╜ßzt?üU>Üh?≥AO>⌡Ji?            └¼B▒ß`Av└ƒBî*ÜB▒ß`A▀OSB┼ ▌A▒ß`A⌡jπBn4@>ò╘i?cY╜ßzt?≥AO>⌡Ji?            %╡┬▒ß`A>YC⌡è┬a2MA¬íCΦj$┬a2MA┌ CΦjk>|╨S?▒┐l>ó╓T?{n>ª
  15658. V?            ~▌)┬▒ß`AC%╡┬▒ß`A>YCΦj$┬a2MA┌ CDïl>╜πT?Φjk>|╨S?{n>ª
  15659. V?            ~╠≤┬a2MA)ïBbíδ┴a2MAd┤Bö6┬▒ß`A½Å╢Bδsu>@é"?1l>±cL?ƒ═j>vqK?            ö6┬▒ß`A½Å╢B⌡±┬▒ß`Aö'B~╠≤┬a2MA)ïBƒ═j>vqK?╞mt>┤Ω#?δsu>@é"?            bíδ┴¬`D┴d┤BMs▀┴┴╕│B╖ó⌠┬┴Ä⌡Bτ√ë>±cL?╣ⁿç>ÆφL?ôä>°Σ!?            bíδ┴¬`D┴d┤B╖ó⌠┬┴Ä⌡B~╠≤┬¬`D┴)ïBτ√ë>±cL?ôä>°Σ!? Fà>@é"?            ⌠M├¬`D┴g╒⌐Bû├┴ú¬B±!┬┴/▐CèÄä>L,?fêâ>·φ+?τç>bíV?            ±!┬┴/▐CΦj$┬¬`D┴┌ C⌠M├¬`D┴g╒⌐Bτç>bíV?├⌡ê>ª
  15660. V?èÄä>L,?            ]ì├∙X┴¿B⌠M├¬`D┴g╒⌐BΦj$┬¬`D┴┌ C╕à> q,?èÄä>L,?├⌡ê>ª
  15661. V?            Φj$┬¬`D┴┌ C~▌)┬∙X┴C]ì├∙X┴¿B├⌡ê>ª
  15662. V?^║ë>╜πT?╕à> q,?            ╖ó⌠┬┴Ä⌡Bû├┴ú¬B⌠M├¬`D┴g╒⌐Bôä>°Σ!?fêâ>·φ+?èÄä>L,?            ~╠≤┬¬`D┴)ïB╖ó⌠┬┴Ä⌡B⌠M├¬`D┴g╒⌐B Fà>@é"?ôä>°Σ!?èÄä>L,?            ~╠≤┬¬`D┴)ïB⌠M├¬`D┴g╒⌐B]ì├∙X┴¿B Fà>@é"?èÄä>L,?╕à> q,?            ⌡±┬∙X┴ö'B~╠≤┬¬`D┴)ïB]ì├∙X┴¿B╔à>┤Ω#? Fà>@é"?╕à> q,?            ö6┬∙X┴½Å╢Bbíδ┴¬`D┴d┤B~╠≤┬¬`D┴)ïB1Öè>vqK?τ√ë>±cL? Fà>@é"?            ⌡±┬∙X┴ö'Bö6┬∙X┴½Å╢B~╠≤┬¬`D┴)ïB╔à>┤Ω#?1Öè>vqK? Fà>@é"?            Φj$┬a2MA┌ C⌠M├a2MAg╒⌐B]ì├▒ß`A¿B{n>ª
  15663. V?δΓv>L,?Å┬u> q,?            ~▌)┬▒ß`ACΦj$┬a2MA┌ C]ì├▒ß`A¿BDïl>╜πT?{n>ª
  15664. V?Å┬u> q,?            ±!┬╜π!A/▐C±!┬┴/▐Cû├┴ú¬B3─q>bíV?τç>bíV?fêâ>·φ+?            û├╜π!Aú¬B±!┬╜π!A/▐Cû├┴ú¬B5∩x>·φ+?3─q>bíV?fêâ>·φ+?            ±!┬╜π!A/▐Cû├╜π!Aú¬B⌠M├a2MAg╒⌐B3─q>bíV?5∩x>·φ+?δΓv>L,?            Φj$┬a2MA┌ C±!┬╜π!A/▐C⌠M├a2MAg╒⌐B{n>ª
  15665. V?3─q>bíV?δΓv>L,?            Ms▀┴┴╕│BMs▀┴╜π!A╕│B╖ó⌠┬╜π!AÄ⌡B╣ⁿç>ÆφL?Äp>ÆφL?┘╬w>°Σ!?            ╖ó⌠┬┴Ä⌡BMs▀┴┴╕│B╖ó⌠┬╜π!AÄ⌡Bôä>°Σ!?╣ⁿç>ÆφL?┘╬w>°Σ!?            û├┴ú¬B╖ó⌠┬┴Ä⌡B╖ó⌠┬╜π!AÄ⌡Bfêâ>·φ+?ôä>°Σ!?┘╬w>°Σ!?            û├╜π!Aú¬Bû├┴ú¬B╖ó⌠┬╜π!AÄ⌡B5∩x>·φ+?fêâ>·φ+?┘╬w>°Σ!?            ]ì├▒ß`A¿B⌠M├a2MAg╒⌐B~╠≤┬a2MA)ïBÅ┬u> q,?δΓv>L,?δsu>@é"?            ⌡±┬▒ß`Aö'B]ì├▒ß`A¿B~╠≤┬a2MA)ïB╞mt>┤Ω#?Å┬u> q,?δsu>@é"?            ⌠M├a2MAg╒⌐Bû├╜π!Aú¬B╖ó⌠┬╜π!AÄ⌡BδΓv>L,?5∩x>·φ+?┘╬w>°Σ!?            ╖ó⌠┬╜π!AÄ⌡B~╠≤┬a2MA)ïB⌠M├a2MAg╒⌐B┘╬w>°Σ!?δsu>@é"?δΓv>L,?            ╖ó⌠┬╜π!AÄ⌡BMs▀┴╜π!A╕│Bbíδ┴a2MAd┤B┘╬w>°Σ!?Äp>ÆφL?1l>±cL?            ╖ó⌠┬╜π!AÄ⌡Bbíδ┴a2MAd┤B~╠≤┬a2MA)ïB┘╬w>°Σ!?1l>±cL?δsu>@é"?            ±!┬┴/▐C╧w┬┴û┬C⌡è┬¬`D┴¬íCτç>bíV?∙áç>B`U?'áë>ó╓T?            Φj$┬¬`D┴┌ C±!┬┴/▐C⌡è┬¬`D┴¬íC├⌡ê>ª
  15666. V?τç>bíV?'áë>ó╓T?            ¼ ┬¬`D┴U┴▌Br∙┬┴\▐BMs▀┴┴╕│BgDë>N≤N?p_ç>{âO?╣ⁿç>ÆφL?            Ms▀┴┴╕│Bbíδ┴¬`D┴d┤B¼ ┬¬`D┴U┴▌B╣ⁿç>ÆφL?τ√ë>±cL?gDë>N≤N?            ╨3 ┬∙X┴í6▌B¼ ┬¬`D┴U┴▌Bbíδ┴¬`D┴d┤B╠εë>αM?gDë>N≤N?τ√ë>±cL?            ö6┬∙X┴½Å╢B╨3 ┬∙X┴í6▌Bbíδ┴¬`D┴d┤B1Öè>vqK?╠εë>αM?τ√ë>±cL?            r∙┬┴\▐B¼ ┬¬`D┴U┴▌B⌡è┬¬`D┴¬íCp_ç>{âO?gDë>N≤N?'áë>ó╓T?            ╧w┬┴û┬Cr∙┬┴\▐B⌡è┬¬`D┴¬íC∙áç>B`U?p_ç>{âO?'áë>ó╓T?            ¼ ┬¬`D┴U┴▌B╨3 ┬∙X┴í6▌B%╡┬∙X┴>YCgDë>N≤N?╠εë>αM?îJè>|╨S?            ¼ ┬¬`D┴U┴▌B%╡┬∙X┴>YC⌡è┬¬`D┴¬íCgDë>N≤N?îJè>|╨S?'áë>ó╓T?            Φj$┬¬`D┴┌ C⌡è┬¬`D┴¬íC%╡┬∙X┴>YC├⌡ê>ª
  15667. V?'áë>ó╓T?îJè>|╨S?            ~▌)┬∙X┴CΦj$┬¬`D┴┌ C%╡┬∙X┴>YC^║ë>╜πT?├⌡ê>ª
  15668. V?îJè>|╨S?            bíδ┴a2MAd┤B¼ ┬a2MAU┴▌B╨3 ┬▒ß`Aí6▌B1l>±cL?2wm>N≤N?h"l>αM?            ╨3 ┬▒ß`Aí6▌Bö6┬▒ß`A½Å╢Bbíδ┴a2MAd┤Bh"l>αM?ƒ═j>vqK?1l>±cL?            r∙┬┴\▐Br∙┬╜π!A\▐BMs▀┴╜π!A╕│Bp_ç>{âO? Aq>{âO?Äp>ÆφL?            Ms▀┴┴╕│Br∙┬┴\▐BMs▀┴╜π!A╕│B╣ⁿç>ÆφL?p_ç>{âO?Äp>ÆφL?            Ms▀┴╜π!A╕│Br∙┬╜π!A\▐B¼ ┬a2MAU┴▌BÄp>ÆφL? Aq>{âO?2wm>N≤N?            Ms▀┴╜π!A╕│B¼ ┬a2MAU┴▌Bbíδ┴a2MAd┤BÄp>ÆφL?2wm>N≤N?1l>±cL?            ±!┬┴/▐C±!┬╜π!A/▐C╧w┬╜π!Aû┬Cτç>bíV?3─q>bíV?╛p>B`U?            ╧w┬┴û┬C±!┬┴/▐C╧w┬╜π!Aû┬C∙áç>B`U?τç>bíV?╛p>B`U?            r∙┬┴\▐B╧w┬┴û┬C╧w┬╜π!Aû┬Cp_ç>{âO?∙áç>B`U?╛p>B`U?            r∙┬╜π!A\▐Br∙┬┴\▐B╧w┬╜π!Aû┬C Aq>{âO?p_ç>{âO?╛p>B`U?            %╡┬▒ß`A>YC╨3 ┬▒ß`Aí6▌B¼ ┬a2MAU┴▌BΦjk>|╨S?h"l>αM?2wm>N≤N?            ⌡è┬a2MA¬íC%╡┬▒ß`A>YC¼ ┬a2MAU┴▌B▒┐l>ó╓T?Φjk>|╨S?2wm>N≤N?            r∙┬╜π!A\▐B╧w┬╜π!Aû┬C⌡è┬a2MA¬íC Aq>{âO?╛p>B`U?▒┐l>ó╓T?            r∙┬╜π!A\▐B⌡è┬a2MA¬íC¼ ┬a2MAU┴▌B Aq>{âO?▒┐l>ó╓T?2wm>N≤N?            ⌡è┬a2MA¬íC╧w┬╜π!Aû┬C±!┬╜π!A/▐C▒┐l>ó╓T?╛p>B`U?3─q>bíV?            ±!┬╜π!A/▐CΦj$┬a2MA┌ C⌡è┬a2MA¬íC3─q>bíV?{n>ª
  15669. V?▒┐l>ó╓T?            ]ì├∙X┴¿B~▌)┬∙X┴C%╡┬∙X┴>YC╕à> q,?^║ë>╜πT?îJè>|╨S?            ]ì├∙X┴¿B%╡┬∙X┴>YC╨3 ┬∙X┴í6▌B╕à> q,?îJè>|╨S?╠εë>αM?            ⌡±┬∙X┴ö'B]ì├∙X┴¿B╨3 ┬∙X┴í6▌B╔à>┤Ω#?╕à> q,?╠εë>αM?            ö6┬∙X┴½Å╢B⌡±┬∙X┴ö'B╨3 ┬∙X┴í6▌B1Öè>vqK?╔à>┤Ω#?╠εë>αM?            %╡┬▒ß`A>YC~▌)┬▒ß`AC]ì├▒ß`A¿BΦjk>|╨S?Dïl>╜πT?Å┬u> q,?            ╨3 ┬▒ß`Aí6▌B%╡┬▒ß`A>YC]ì├▒ß`A¿Bh"l>αM?Φjk>|╨S?Å┬u> q,?            ╨3 ┬▒ß`Aí6▌B]ì├▒ß`A¿B⌡±┬▒ß`Aö'Bh"l>αM?Å┬u> q,?╞mt>┤Ω#?            ö6┬▒ß`A½Å╢B╨3 ┬▒ß`Aí6▌B⌡±┬▒ß`Aö'Bƒ═j>vqK?h"l>αM?╞mt>┤Ω#?            zÑ┬┬a2MA╢3B*║⌠┴a2MAB`ⁿAö6┬▒ß`AX
  15670.  
  15671. B│Ωs>╦'?ƒ<l>P6?ƒ═j>≡º6?            ö6┬▒ß`AX
  15672.  
  15673. BW╗░┬▒ß`A░2"BzÑ┬┬a2MA╢3Bƒ═j>≡º6?╫r>~î)?│Ωs>╦'?            *║⌠┴¬`D┴B`ⁿA▓«∞┴┴ܱA╩╩┬┴óB▒ßë>P6?g╒ç>²÷5?ª¢ä>&?            *║⌠┴¬`D┴B`ⁿA╩╩┬┴óBzÑ┬┬¬`D┴╢3B▒ßë>P6?ª¢ä>&?ª
  15674. å>╦'?            O└í┴┴VnúB▓«∞┴┴ܱA*║⌠┴¬`D┴B`ⁿAºê>╓┼M?g╒ç>²÷5?▒ßë>P6?            O└í┴┴VnúB*║⌠┴¬`D┴B`ⁿA÷»┴¬`D┴╫₧Bºê>╓┼M?▒ßë>P6?ƒ═è>-CL?            ÷»┴¬`D┴╫₧B*║⌠┴¬`D┴B`ⁿAö6┬∙X┴X
  15675.  
  15676. Bƒ═è>-CL?▒ßë>P6?1Öè>≡º6?            ÷»┴¬`D┴╫₧Bö6┬∙X┴X
  15677.  
  15678. B░r╠┴∙X┴ÿ╜öBƒ═è>-CL?1Öè>≡º6?Φjï>0*I?            ╩╩┬┴óBO└í┴┴VnúB÷»┴¬`D┴╫₧Bª¢ä>&?ºê>╓┼M?ƒ═è>-CL?            zÑ┬┬¬`D┴╢3B╩╩┬┴óB÷»┴¬`D┴╫₧Bª
  15679. å>╦'?ª¢ä>&?ƒ═è>-CL?            zÑ┬┬¬`D┴╢3B÷»┴¬`D┴╫₧B░r╠┴∙X┴ÿ╜öBª
  15680. å>╦'?ƒ═è>-CL?Φjï>0*I?            W╗░┬∙X┴░2"BzÑ┬┬¬`D┴╢3B░r╠┴∙X┴ÿ╜öBö÷å>~î)?ª
  15681. å>╦'?Φjï>0*I?            ö6┬∙X┴X
  15682.  
  15683. B*║⌠┴¬`D┴B`ⁿAzÑ┬┬¬`D┴╢3B1Öè>≡º6?▒ßë>P6?ª
  15684. å>╦'?            W╗░┬∙X┴░2"Bö6┬∙X┴X
  15685.  
  15686. BzÑ┬┬¬`D┴╢3Bö÷å>~î)?1Öè>≡º6?ª
  15687. å>╦'?            ö6┬▒ß`AX
  15688.  
  15689. B*║⌠┴a2MAB`ⁿA÷»┴a2MA╫₧Bƒ═j>≡º6?ƒ<l>P6?├dj>-CL?            ░r╠┴▒ß`Aÿ╜öBö6┬▒ß`AX
  15690.  
  15691. B÷»┴a2MA╫₧B0*i>0*I?ƒ═j>≡º6?├dj>-CL?            ▓«∞┴╜π!AܱA▓«∞┴┴ܱAO└í┴┴VnúB2Up>²÷5?g╒ç>²÷5?ºê>╓┼M?            O└í┴╜π!AVnúB▓«∞┴╜π!AܱAO└í┴┴VnúB─▒n>╓┼M?2Up>²÷5?ºê>╓┼M?            *║⌠┴a2MAB`ⁿA▓«∞┴╜π!AܱAO└í┴╜π!AVnúBƒ<l>P6?2Up>²÷5?─▒n>╓┼M?            ÷»┴a2MA╫₧B*║⌠┴a2MAB`ⁿAO└í┴╜π!AVnúB├dj>-CL?ƒ<l>P6?─▒n>╓┼M?            ▓«∞┴┴ܱA▓«∞┴╜π!AܱA╩╩┬╜π!AóBg╒ç>²÷5?2Up>²÷5?┤╚v>&?            ╩╩┬┴óB▓«∞┴┴ܱA╩╩┬╜π!AóBª¢ä>&?g╒ç>²÷5?┤╚v>&?            O└í┴┴VnúB╩╩┬┴óB╩╩┬╜π!AóBºê>╓┼M?ª¢ä>&?┤╚v>&?            O└í┴╜π!AVnúBO└í┴┴VnúB╩╩┬╜π!AóB─▒n>╓┼M?ºê>╓┼M?┤╚v>&?            ░r╠┴▒ß`Aÿ╜öB÷»┴a2MA╫₧BzÑ┬┬a2MA╢3B0*i>0*I?├dj>-CL?│Ωs>╦'?            W╗░┬▒ß`A░2"B░r╠┴▒ß`Aÿ╜öBzÑ┬┬a2MA╢3B╫r>~î)?0*i>0*I?│Ωs>╦'?            ÷»┴a2MA╫₧BO└í┴╜π!AVnúB╩╩┬╜π!AóB├dj>-CL?─▒n>╓┼M?┤╚v>&?            ╩╩┬╜π!AóBzÑ┬┬a2MA╢3B÷»┴a2MA╫₧B┤╚v>&?│Ωs>╦'?├dj>-CL?            ╩╩┬╜π!AóB▓«∞┴╜π!AܱA*║⌠┴a2MAB`ⁿA┤╚v>&?2Up>²÷5?ƒ<l>P6?            ╩╩┬╜π!AóB*║⌠┴a2MAB`ⁿAzÑ┬┬a2MA╢3B┤╚v>&?ƒ<l>P6?│Ωs>╦'?            ö6┬∙X┴X
  15692.  
  15693. BW╗░┬∙X┴░2"B░r╠┴∙X┴ÿ╜öB1Öè>≡º6?ö÷å>~î)?Φjï>0*I?            W╗░┬▒ß`A░2"Bö6┬▒ß`AX
  15694.  
  15695. B░r╠┴▒ß`Aÿ╜öB╫r>~î)?ƒ═j>≡º6?0*i>0*I?            jì╥┬▒ß`AÖ╗F@íV╪┬a2MAå82@╛Θ┬a2MA√Φ┴ígs>s?j╝t>ö÷?}?u>Γ╟?             ß┬▒ß`A┐╗┴jì╥┬▒ß`AÖ╗F@╛Θ┬a2MA√Φ┴│Ωs>Φj ?ígs>s?}?u>Γ╟?            ▐▒φ┬┴ªè²┴Θ≈┌┬┴`σ(@íV╪┬¬`D┴å82@╩2ä>lÜ?8gä>┤╚?╦íà>ö÷?            ╛Θ┬¬`D┴√Φ┴▐▒φ┬┴ªè²┴íV╪┬¬`D┴å82@B`à>Γ╟?╩2ä>lÜ?╦íà>ö÷?            êâ±┬¬`D┴⌠}╘AT┤⌡┬┴O▀Aƒ½└┴┴üª║A Fà>æ?ôä>n┼?^Kê>ò4?            êâ±┬¬`D┴⌠}╘Aƒ½└┴┴üª║AJîΓ┴¬`D┴]\▓A Fà>æ?^Kê>ò4?è>╕@2?            ƒ½└┴┴üª║A▐▒φ┬┴ªè²┴╛Θ┬¬`D┴√Φ┴^Kê>ò4?╩2ä>lÜ?B`à>Γ╟?            ƒ½└┴┴üª║A╛Θ┬¬`D┴√Φ┴JîΓ┴¬`D┴]\▓A^Kê>ò4?B`à>Γ╟?è>╕@2?            JîΓ┴¬`D┴]\▓A╛Θ┬¬`D┴√Φ┴ ß┬∙X┴┐╗┴è>╕@2?B`à>Γ╟?ª
  15696. å>Φj ?            JîΓ┴¬`D┴]\▓A ß┬∙X┴┐╗┴    è┬∙X┴╛áAè>╕@2?ª
  15697. å>Φj ?:#è>╗╕-?            ^KΦ┬∙X┴╜Aêâ±┬¬`D┴⌠}╘AJîΓ┴¬`D┴]\▓Ao≡à>û!? Fà>æ?è>╕@2?                è┬∙X┴╛áA^KΦ┬∙X┴╜AJîΓ┴¬`D┴]\▓A:#è>╗╕-?o≡à>û!?è>╕@2?            íV╪┬¬`D┴å82@Θ≈┌┬┴`σ(@T┤⌡┬┴O▀A╦íà>ö÷?8gä>┤╚?ôä>n┼?            íV╪┬¬`D┴å82@T┤⌡┬┴O▀Aêâ±┬¬`D┴⌠}╘A╦íà>ö÷?ôä>n┼? Fà>æ?            jì╥┬∙X┴Ö╗F@íV╪┬¬`D┴å82@êâ±┬¬`D┴⌠}╘A0Lå>s?╦íà>ö÷? Fà>æ?            ^KΦ┬∙X┴╜Ajì╥┬∙X┴Ö╗F@êâ±┬¬`D┴⌠}╘Ao≡à>û!?0Lå>s? Fà>æ?            ╛Θ┬¬`D┴√Φ┴íV╪┬¬`D┴å82@jì╥┬∙X┴Ö╗F@B`à>Γ╟?╦íà>ö÷?0Lå>s?             ß┬∙X┴┐╗┴╛Θ┬¬`D┴√Φ┴jì╥┬∙X┴Ö╗F@ª
  15698. å>Φj ?B`à>Γ╟?0Lå>s?            JîΓ┴a2MA]\▓Aêâ±┬a2MA⌠}╘A^KΦ┬▒ß`A╜A├╙k>╕@2?δsu>æ?!t>û!?            ^KΦ┬▒ß`A╜A    è┬▒ß`A╛áAJîΓ┴a2MA]\▓A!t>û!?î╣k>╗╕-?├╙k>╕@2?            T┤⌡┬╜π!AO▀Aƒ½└┴╜π!Aüª║Aƒ½└┴┴üª║A┘╬w>n┼?Dio>ò4?^Kê>ò4?            T┤⌡┬┴O▀AT┤⌡┬╜π!AO▀Aƒ½└┴┴üª║Aôä>n┼?┘╬w>n┼?^Kê>ò4?            ▐▒φ┬╜π!Aªè²┴▐▒φ┬┴ªè²┴ƒ½└┴┴üª║AkÜw>lÜ?╩2ä>lÜ?^Kê>ò4?            ƒ½└┴╜π!Aüª║A▐▒φ┬╜π!Aªè²┴ƒ½└┴┴üª║ADio>ò4?kÜw>lÜ?^Kê>ò4?             ß┬▒ß`A┐╗┴╛Θ┬a2MA√Φ┴JîΓ┴a2MA]\▓A│Ωs>Φj ?}?u>Γ╟?├╙k>╕@2?                è┬▒ß`A╛áA ß┬▒ß`A┐╗┴JîΓ┴a2MA]\▓Aî╣k>╗╕-?│Ωs>Φj ?├╙k>╕@2?            ╛Θ┬a2MA√Φ┴▐▒φ┬╜π!Aªè²┴ƒ½└┴╜π!Aüª║A}?u>Γ╟?kÜw>lÜ?Dio>ò4?            JîΓ┴a2MA]\▓A╛Θ┬a2MA√Φ┴ƒ½└┴╜π!Aüª║A├╙k>╕@2?}?u>Γ╟?Dio>ò4?            ƒ½└┴╜π!Aüª║AT┤⌡┬╜π!AO▀Aêâ±┬a2MA⌠}╘ADio>ò4?┘╬w>n┼?δsu>æ?            ƒ½└┴╜π!Aüª║Aêâ±┬a2MA⌠}╘AJîΓ┴a2MA]\▓ADio>ò4?δsu>æ?├╙k>╕@2?            ▐▒φ┬┴ªè²┴▐▒φ┬╜π!Aªè²┴Θ≈┌┬╜π!A`σ(@╩2ä>lÜ?kÜw>lÜ?É1w>┤╚?            Θ≈┌┬┴`σ(@▐▒φ┬┴ªè²┴Θ≈┌┬╜π!A`σ(@8gä>┤╚?╩2ä>lÜ?É1w>┤╚?            T┤⌡┬┴O▀AΘ≈┌┬┴`σ(@Θ≈┌┬╜π!A`σ(@ôä>n┼?8gä>┤╚?É1w>┤╚?            T┤⌡┬╜π!AO▀AT┤⌡┬┴O▀AΘ≈┌┬╜π!A`σ(@┘╬w>n┼?ôä>n┼?É1w>┤╚?            êâ±┬a2MA⌠}╘AíV╪┬a2MAå82@jì╥┬▒ß`AÖ╗F@δsu>æ?j╝t>ö÷?ígs>s?            jì╥┬▒ß`AÖ╗F@^KΦ┬▒ß`A╜Aêâ±┬a2MA⌠}╘Aígs>s?!t>û!?δsu>æ?            T┤⌡┬╜π!AO▀AΘ≈┌┬╜π!A`σ(@íV╪┬a2MAå82@┘╬w>n┼?É1w>┤╚?j╝t>ö÷?            T┤⌡┬╜π!AO▀AíV╪┬a2MAå82@êâ±┬a2MA⌠}╘A┘╬w>n┼?j╝t>ö÷?δsu>æ?            íV╪┬a2MAå82@Θ≈┌┬╜π!A`σ(@▐▒φ┬╜π!Aªè²┴j╝t>ö÷?É1w>┤╚?kÜw>lÜ?            ▐▒φ┬╜π!Aªè²┴╛Θ┬a2MA√Φ┴íV╪┬a2MAå82@kÜw>lÜ?}?u>Γ╟?j╝t>ö÷?                è┬∙X┴╛áA ß┬∙X┴┐╗┴jì╥┬∙X┴Ö╗F@:#è>╗╕-?ª
  15699. å>Φj ?0Lå>s?                è┬∙X┴╛áAjì╥┬∙X┴Ö╗F@^KΦ┬∙X┴╜A:#è>╗╕-?0Lå>s?o≡à>û!?            jì╥┬▒ß`AÖ╗F@ ß┬▒ß`A┐╗┴    è┬▒ß`A╛áAígs>s?│Ωs>Φj ?î╣k>╗╕-?            ^KΦ┬▒ß`A╜Ajì╥┬▒ß`AÖ╗F@    è┬▒ß`A╛áA!t>û!?ígs>s?î╣k>╗╕-?            └∞┴┴a2MAⁿA┌┬a2MAo"┬jì╥┬▒ß`AôX&┬╒τj>q¼+?j╝t>x ?ígs>*⌐?            jì╥┬▒ß`AôX&┬░r╠┴▒ß`AΩè@└∞┴┴a2MAⁿAígs>*⌐?0*i>:┤(?╒τj>q¼+?            [QëB▒ß`A≡'e┬æBa2MA┘Äh┬╕Ç Ba2MAÄu$┴U┴(=ûÉ»>RI╗ê╥₧>aC> FE?            ¬é#B▒ß`A£─ü┴[QëB▒ß`A≡'e┬╕Ç Ba2MAÄu$┴φ₧<>2µ>?U┴(=ûÉ»>aC> FE?            ╖"B┴à|≥└èöB┴╘j┬æB¬`D┴┘Äh┬+÷ù>ÜH?Θ?B¡ë>I¥?ê╥₧>            ╕Ç B¬`D┴Äu$┴╖"B┴à|≥└æB¬`D┴┘Äh┬vO₧> FE?+÷ù>ÜH?I¥?ê╥₧>            OA¬`D┴═{┐┬ó┤(A┴ù┴┬║ZA┬┴3d├┼ É>>ΦÖ>Φ┘î>┤╚û>≡ºå>ÄΣÆ>            OA¬`D┴═{┐┬║ZA┬┴3d├╣@┬¬`D┴πå├┼ É>>ΦÖ>≡ºå>ÄΣÆ>░rê>╞mö>            ╣@┬¬`D┴πå├║ZA┬┴3d├3d▌┬┴╒º ┬░rê>╞mö>≡ºå>ÄΣÆ>8gä>╩2?            3d▌┬┴╒º ┬┌┬¬`D┴o"┬╣@┬¬`D┴πå├8gä>╩2?╦íà>x ?░rê>╞mö>            ╣@┬¬`D┴πå├┌┬¬`D┴o"┬jì╥┬∙X┴ôX&┬░rê>╞mö>╦íà>x ?0Lå>*⌐?            ╣@┬¬`D┴πå├jì╥┬∙X┴ôX&┬≥0=┬∙X┴═l ├░rê>╞mö>0Lå>*⌐?₧^ë>Pìù>            ƒ<A∙X┴╗┬OA¬`D┴═{┐┬╣@┬¬`D┴πå├ Aæ>Æ╦ƒ>┼ É>>ΦÖ>░rê>╞mö>            ≥0=┬∙X┴═l ├ƒ<A∙X┴╗┬╣@┬¬`D┴πå├₧^ë>Pìù> Aæ>Æ╦ƒ>░rê>╞mö>            èöB┴╘j┬ó┤(A┴ù┴┬OA¬`D┴═{┐┬Θ?B¡ë>Φ┘î>┤╚û>┼ É>>ΦÖ>            æB¬`D┴┘Äh┬èöB┴╘j┬OA¬`D┴═{┐┬I¥?ê╥₧>Θ?B¡ë>┼ É>>ΦÖ>            æB¬`D┴┘Äh┬OA¬`D┴═{┐┬ƒ<A∙X┴╗┬I¥?ê╥₧>┼ É>>ΦÖ> Aæ>Æ╦ƒ>            [QëB∙X┴≡'e┬æB¬`D┴┘Äh┬ƒ<A∙X┴╗┬╒τΩ>ûÉ»>I¥?ê╥₧> Aæ>Æ╦ƒ>            ╕Ç B¬`D┴Äu$┴æB¬`D┴┘Äh┬[QëB∙X┴≡'e┬vO₧> FE?I¥?ê╥₧>╒τΩ>ûÉ»>            ¬é#B∙X┴£─ü┴╕Ç B¬`D┴Äu$┴[QëB∙X┴≡'e┬è░í>2µ>?vO₧> FE?╒τΩ>ûÉ»>            ╣@┬a2MAπå├OAa2MA═{┐┬ƒ<A▒ß`A╗┬áo>╞mö>w╛_>>ΦÖ>┐}]>Æ╦ƒ>            ƒ<A▒ß`A╗┬≥0=┬▒ß`A═l ├╣@┬a2MAπå├┐}]>Æ╦ƒ>─Bm>Pìù>áo>╞mö>            ó┤(A╜π!Aù┴┬║ZA┬╜π!A3d├║ZA┬┴3d├0Lf>┤╚û>!░r>ÄΣÆ>≡ºå>ÄΣÆ>            ó┤(A┴ù┴┬ó┤(A╜π!Aù┴┬║ZA┬┴3d├Φ┘î>┤╚û>0Lf>┤╚û>≡ºå>ÄΣÆ>            3d▌┬╜π!A╒º ┬3d▌┬┴╒º ┬║ZA┬┴3d├É1w>╩2?8gä>╩2?≡ºå>ÄΣÆ>            ║ZA┬╜π!A3d├3d▌┬╜π!A╒º ┬║ZA┬┴3d├!░r>ÄΣÆ>É1w>╩2?≡ºå>ÄΣÆ>            jì╥┬▒ß`AôX&┬┌┬a2MAo"┬╣@┬a2MAπå├ígs>*⌐?j╝t>x ?áo>╞mö>            ≥0=┬▒ß`A═l ├jì╥┬▒ß`AôX&┬╣@┬a2MAπå├─Bm>Pìù>ígs>*⌐?áo>╞mö>            3d▌┬╜π!A╒º ┬║ZA┬╜π!A3d├╣@┬a2MAπå├É1w>╩2?!░r>ÄΣÆ>áo>╞mö>            ┌┬a2MAo"┬3d▌┬╜π!A╒º ┬╣@┬a2MAπå├j╝t>x ?É1w>╩2?áo>╞mö>            ║ZA┬╜π!A3d├ó┤(A╜π!Aù┴┬OAa2MA═{┐┬!░r>ÄΣÆ>0Lf>┤╚û>w╛_>>ΦÖ>            ║ZA┬╜π!A3d├OAa2MA═{┐┬╣@┬a2MAπå├!░r>ÄΣÆ>w╛_>>ΦÖ>áo>╞mö>            ╖"B┴à|≥└╖"B╜π!Aà|≥└èöB╜π!A╘j┬+÷ù>ÜH?⌐P>ÜH? !²╝B¡ë>            èöB┴╘j┬╖"B┴à|≥└èöB╜π!A╘j┬Θ?B¡ë>+÷ù>ÜH? !²╝B¡ë>            ó┤(A┴ù┴┬èöB┴╘j┬èöB╜π!A╘j┬Φ┘î>┤╚û>Θ?B¡ë> !²╝B¡ë>            ó┤(A╜π!Aù┴┬ó┤(A┴ù┴┬èöB╜π!A╘j┬0Lf>┤╚û>Φ┘î>┤╚û> !²╝B¡ë>            ƒ<A▒ß`A╗┬OAa2MA═{┐┬æBa2MA┘Äh┬┐}]>Æ╦ƒ>w╛_>>ΦÖ>RI╗ê╥₧>            [QëB▒ß`A≡'e┬ƒ<A▒ß`A╗┬æBa2MA┘Äh┬U┴(=ûÉ»>┐}]>Æ╦ƒ>RI╗ê╥₧>            OAa2MA═{┐┬ó┤(A╜π!Aù┴┬èöB╜π!A╘j┬w╛_>>ΦÖ>0Lf>┤╚û> !²╝B¡ë>            èöB╜π!A╘j┬æBa2MA┘Äh┬OAa2MA═{┐┬ !²╝B¡ë>RI╗ê╥₧>w╛_>>ΦÖ>            æBa2MA┘Äh┬èöB╜π!A╘j┬╖"B╜π!Aà|≥└RI╗ê╥₧> !²╝B¡ë>⌐P>ÜH?            ╖"B╜π!Aà|≥└╕Ç Ba2MAÄu$┴æBa2MA┘Äh┬⌐P>ÜH?aC> FE?RI╗ê╥₧>            ⌡J0Aa2MANΓB┬Tπ*A▒ß`Aa╘Q┬QZ B▒ß`Atå┬-!_>w-?÷(\>¼¡°>╣ìF>W∞?            ⌡J0Aa2MANΓB┬QZ B▒ß`Atå┬ñ0Ba2MA√√┴-!_>w-?╣ìF>W∞?û!N>rh!?            ñ0B¬`D┴√√┴⌡J0A¬`D┴NΓB┬└2A┴$<┬5∩ÿ>rh!?ioÉ>w-?;ì>íg?            ñ0B¬`D┴√√┴└2A┴$<┬τ ⁿA┴=
  15700. ÷┴5∩ÿ>rh!?;ì>íg?jMô>
  15701. h"?            ñ0B¬`D┴√√┴τ ⁿA┴=
  15702. ÷┴╖"B┴à|≥└5∩ÿ>rh!?jMô>
  15703. h"?+÷ù>ÜH?            ╖"B┴à|≥└╕Ç B¬`D┴Äu$┴ñ0B¬`D┴√√┴+÷ù>ÜH?vO₧> FE?5∩ÿ>rh!?            QZ B∙X┴tå┬ñ0B¬`D┴√√┴╕Ç B¬`D┴Äu$┴$╣£>W∞?5∩ÿ>rh!?vO₧> FE?            ¬é#B∙X┴£─ü┴QZ B∙X┴tå┬╕Ç B¬`D┴Äu$┴è░í>2µ>?$╣£>W∞?vO₧> FE?            QZ B∙X┴tå┬Tπ*A∙X┴a╘Q┬⌡J0A¬`D┴NΓB┬$╣£>W∞?àδæ>¼¡°>ioÉ>w-?            QZ B∙X┴tå┬⌡J0A¬`D┴NΓB┬ñ0B¬`D┴√√┴$╣£>W∞?ioÉ>w-?5∩ÿ>rh!?            └2A┴$<┬└2A╜π!A$<┬τ ⁿA╜π!A=
  15704. ÷┴;ì>íg?ï²e>íg?,eY>
  15705. h"?            τ ⁿA┴=
  15706. ÷┴└2A┴$<┬τ ⁿA╜π!A=
  15707. ÷┴jMô>
  15708. h"?;ì>íg?,eY>
  15709. h"?            ╖"B┴à|≥└τ ⁿA┴=
  15710. ÷┴τ ⁿA╜π!A=
  15711. ÷┴+÷ù>ÜH?jMô>
  15712. h"?,eY>
  15713. h"?            ╖"B╜π!Aà|≥└╖"B┴à|≥└τ ⁿA╜π!A=
  15714. ÷┴⌐P>ÜH?+÷ù>ÜH?,eY>
  15715. h"?            ╕Ç Ba2MAÄu$┴ñ0Ba2MA√√┴QZ B▒ß`Atå┬aC> FE?û!N>rh!?╣ìF>W∞?            QZ B▒ß`Atå┬¬é#B▒ß`A£─ü┴╕Ç Ba2MAÄu$┴╣ìF>W∞?φ₧<>2µ>?aC> FE?            ╖"B╜π!Aà|≥└τ ⁿA╜π!A=
  15716. ÷┴ñ0Ba2MA√√┴⌐P>ÜH?,eY>
  15717. h"?û!N>rh!?            ╖"B╜π!Aà|≥└ñ0Ba2MA√√┴╕Ç Ba2MAÄu$┴⌐P>ÜH?û!N>rh!?aC> FE?            └2A╜π!A$<┬⌡J0Aa2MANΓB┬ñ0Ba2MA√√┴ï²e>íg?-!_>w-?û!N>rh!?            τ ⁿA╜π!A=
  15718. ÷┴└2A╜π!A$<┬ñ0Ba2MA√√┴,eY>
  15719. h"?ï²e>íg?û!N>rh!?            3d▌┬┴╒º ┬@$╜┴┴∞QA└∞┴┴¬`D┴ⁿA8gä>╩2?yXê>Σ-?îè>q¼+?            ┌┬¬`D┴o"┬3d▌┬┴╒º ┬└∞┴┴¬`D┴ⁿA╦íà>x ?8gä>╩2?îè>q¼+?            └2A┴$<┬⌡J0A¬`D┴NΓB┬εZ2┴¬`D┴y╪╣┴;ì>íg?ioÉ>w-?â/î>:┤?            ▄h!┴┴≡û┤┴└2A┴$<┬εZ2┴¬`D┴y╪╣┴C¡ë>C¡?;ì>íg?â/î>:┤?            ⌡J0A¬`D┴NΓB┬Tπ*A∙X┴a╘Q┬4óW┴∙X┴ºh┼┴ioÉ>w-?àδæ>¼¡°>⌠î>┤╚?            ⌡J0A¬`D┴NΓB┬4óW┴∙X┴ºh┼┴εZ2┴¬`D┴y╪╣┴ioÉ>w-?⌠î>┤╚?â/î>:┤?            @$╜┴┴∞QA▄h!┴┴≡û┤┴εZ2┴¬`D┴y╪╣┴yXê>Σ-?C¡ë>C¡?â/î>:┤?            @$╜┴┴∞QAεZ2┴¬`D┴y╪╣┴└∞┴┴¬`D┴ⁿAyXê>Σ-?â/î>:┤?îè>q¼+?            └∞┴┴¬`D┴ⁿAεZ2┴¬`D┴y╪╣┴4óW┴∙X┴ºh┼┴îè>q¼+?â/î>:┤?⌠î>┤╚?            4óW┴∙X┴ºh┼┴░r╠┴∙X┴Ωè@└∞┴┴¬`D┴ⁿA⌠î>┤╚?Φjï>:┤(?îè>q¼+?            jì╥┬∙X┴ôX&┬┌┬¬`D┴o"┬└∞┴┴¬`D┴ⁿA0Lå>*⌐?╦íà>x ?îè>q¼+?            ░r╠┴∙X┴Ωè@jì╥┬∙X┴ôX&┬└∞┴┴¬`D┴ⁿAΦjï>:┤(?0Lå>*⌐?îè>q¼+?            4óW┴▒ß`Aºh┼┴Tπ*A▒ß`Aa╘Q┬⌡J0Aa2MANΓB┬┬f>┤╚?÷(\>¼¡°>-!_>w-?            εZ2┴a2MAy╪╣┴4óW┴▒ß`Aºh┼┴⌡J0Aa2MANΓB┬∙ág>:┤?┬f>┤╚?-!_>w-?            ▄h!┴┴≡û┤┴▄h!┴╜π!A≡û┤┴└2A╜π!A$<┬C¡ë>C¡?zÑl>C¡?ï²e>íg?            └2A┴$<┬▄h!┴┴≡û┤┴└2A╜π!A$<┬;ì>íg?C¡ë>C¡?ï²e>íg?            εZ2┴a2MAy╪╣┴⌡J0Aa2MANΓB┬└2A╜π!A$<┬∙ág>:┤?-!_>w-?ï²e>íg?            ▄h!┴╜π!A≡û┤┴εZ2┴a2MAy╪╣┴└2A╜π!A$<┬zÑl>C¡?∙ág>:┤?ï²e>íg?            3d▌┬┴╒º ┬3d▌┬╜π!A╒º ┬@$╜┴╜π!A∞QA8gä>╩2?É1w>╩2?Oo>Σ-?            @$╜┴┴∞QA3d▌┬┴╒º ┬@$╜┴╜π!A∞QAyXê>Σ-?8gä>╩2?Oo>Σ-?            ▄h!┴┴≡û┤┴@$╜┴┴∞QA@$╜┴╜π!A∞QAC¡ë>C¡?yXê>Σ-?Oo>Σ-?            ▄h!┴╜π!A≡û┤┴▄h!┴┴≡û┤┴@$╜┴╜π!A∞QAzÑl>C¡?C¡ë>C¡?Oo>Σ-?            4óW┴▒ß`Aºh┼┴εZ2┴a2MAy╪╣┴└∞┴┴a2MAⁿA┬f>┤╚?∙ág>:┤?╒τj>q¼+?            ░r╠┴▒ß`AΩè@4óW┴▒ß`Aºh┼┴└∞┴┴a2MAⁿA0*i>:┤(?┬f>┤╚?╒τj>q¼+?            εZ2┴a2MAy╪╣┴▄h!┴╜π!A≡û┤┴@$╜┴╜π!A∞QA∙ág>:┤?zÑl>C¡?Oo>Σ-?            @$╜┴╜π!A∞QA└∞┴┴a2MAⁿAεZ2┴a2MAy╪╣┴Oo>Σ-?╒τj>q¼+?∙ág>:┤?            └∞┴┴a2MAⁿA@$╜┴╜π!A∞QA3d▌┬╜π!A╒º ┬╒τj>q¼+?Oo>Σ-?É1w>╩2?            3d▌┬╜π!A╒º ┬┌┬a2MAo"┬└∞┴┴a2MAⁿAÉ1w>╩2?j╝t>x ?╒τj>q¼+?            QZ B∙X┴tå┬¬é#B∙X┴£─ü┴[QëB∙X┴≡'e┬$╣£>W∞?è░í>2µ>?╒τΩ>ûÉ»>            QZ B∙X┴tå┬[QëB∙X┴≡'e┬ƒ<A∙X┴╗┬$╣£>W∞?╒τΩ>ûÉ»> Aæ>Æ╦ƒ>            Tπ*A∙X┴a╘Q┬QZ B∙X┴tå┬ƒ<A∙X┴╗┬àδæ>¼¡°>$╣£>W∞? Aæ>Æ╦ƒ>            jì╥┬∙X┴ôX&┬░r╠┴∙X┴Ωè@4óW┴∙X┴ºh┼┴0Lå>*⌐?Φjï>:┤(?⌠î>┤╚?            ≥0=┬∙X┴═l ├jì╥┬∙X┴ôX&┬4óW┴∙X┴ºh┼┴₧^ë>Pìù>0Lå>*⌐?⌠î>┤╚?            ≥0=┬∙X┴═l ├4óW┴∙X┴ºh┼┴Tπ*A∙X┴a╘Q┬₧^ë>Pìù>⌠î>┤╚?àδæ>¼¡°>            ƒ<A∙X┴╗┬≥0=┬∙X┴═l ├Tπ*A∙X┴a╘Q┬ Aæ>Æ╦ƒ>₧^ë>Pìù>àδæ>¼¡°>            [QëB▒ß`A≡'e┬¬é#B▒ß`A£─ü┴QZ B▒ß`Atå┬U┴(=ûÉ»>φ₧<>2µ>?╣ìF>W∞?            ƒ<A▒ß`A╗┬[QëB▒ß`A≡'e┬QZ B▒ß`Atå┬┐}]>Æ╦ƒ>U┴(=ûÉ»>╣ìF>W∞?            ƒ<A▒ß`A╗┬QZ B▒ß`Atå┬Tπ*A▒ß`Aa╘Q┬┐}]>Æ╦ƒ>╣ìF>W∞?÷(\>¼¡°>            4óW┴▒ß`Aºh┼┴░r╠┴▒ß`AΩè@jì╥┬▒ß`AôX&┬┬f>┤╚?0*i>:┤(?ígs>*⌐?            4óW┴▒ß`Aºh┼┴jì╥┬▒ß`AôX&┬≥0=┬▒ß`A═l ├┬f>┤╚?ígs>*⌐?─Bm>Pìù>            Tπ*A▒ß`Aa╘Q┬4óW┴▒ß`Aºh┼┴≥0=┬▒ß`A═l ├÷(\>¼¡°>┬f>┤╚?─Bm>Pìù>            ƒ<A▒ß`A╗┬Tπ*A▒ß`Aa╘Q┬≥0=┬▒ß`A═l ├┐}]>Æ╦ƒ>÷(\>¼¡°>─Bm>Pìù>            ▒?|┬▒ß`A╩3├Äo┬a2MAl╣├ú±┬a2MAJ ┬{âo>F╢ô>áëp><Næ>δsu>⌠²?             $≡┬▒ß`Aæ>2┬▒?|┬▒ß`A╩3├ú±┬a2MAJ ┬ÅSt>≤?{âo>F╢ô>δsu>⌠²?            ╩Cj├a2MA─▒r├uΓl├a2MA╙â├?j├▒ß`A▐ïâ├Xy>Ttñ>Xy>êc¥>Éáx>Æφ£>            ?j├▒ß`A▐ïâ├+╢g├▒ß`A
  15720. t├╩Cj├a2MA─▒r├Éáx>Æφ£>Éáx>°Sú>Xy>Ttñ>            uΓl├¬`D┴╙â├(n├┴ ⌠â├τlk├┴cr├°Sâ>êc¥>\Åé>÷ù¥>x£é>f≈ñ>            uΓl├¬`D┴╙â├τlk├┴cr├╩Cj├¬`D┴─▒r├°Sâ>êc¥>x£é>f≈ñ>°Sâ>Ttñ>            i1├¬`D┴Ü∙B├╘ 2├┴w>B├Lf±┬┴₧»
  15721. ┬ôä>¬>┴9â>h│¬>»%ä>0L?            Lf±┬┴₧»
  15722. ┬ú±┬¬`D┴J ┬i1├¬`D┴Ü∙B├»%ä>0L? Fà>⌠²?ôä>¬>             ┤.├∙X┴FòD├i1├¬`D┴Ü∙B├ú±┬¬`D┴J ┬èÄä>º¿>ôä>¬> Fà>⌠²?            ú±┬¬`D┴J ┬ $≡┬∙X┴æ>2┬ ┤.├∙X┴FòD├ Fà>⌠²?9╓à>≤?èÄä>º¿>            τlk├┴cr├╘ 2├┴w>B├i1├¬`D┴Ü∙B├x£é>f≈ñ>┴9â>h│¬>ôä>¬>            ╩Cj├¬`D┴─▒r├τlk├┴cr├i1├¬`D┴Ü∙B├°Sâ>Ttñ>x£é>f≈ñ>ôä>¬>            ╩Cj├¬`D┴─▒r├i1├¬`D┴Ü∙B├ ┤.├∙X┴FòD├°Sâ>Ttñ>ôä>¬>èÄä>º¿>            +╢g├∙X┴
  15723. t├╩Cj├¬`D┴─▒r├ ┤.├∙X┴FòD├╕»â>°Sú>°Sâ>Ttñ>èÄä>º¿>            ?j├∙X┴▐ïâ├uΓl├¬`D┴╙â├╩Cj├¬`D┴─▒r├╕»â>Æφ£>°Sâ>êc¥>°Sâ>Ttñ>            +╢g├∙X┴
  15724. t├?j├∙X┴▐ïâ├╩Cj├¬`D┴─▒r├╕»â>°Sú>╕»â>Æφ£>°Sâ>Ttñ>            ú±┬a2MAJ ┬i1├a2MAÜ∙B├ ┤.├▒ß`AFòD├δsu>⌠²?┘╬w>¬>δΓv>º¿>             $≡┬▒ß`Aæ>2┬ú±┬a2MAJ ┬ ┤.├▒ß`AFòD├ÅSt>≤?δsu>⌠²?δΓv>º¿>            Lf±┬╜π!A₧»
  15725. ┬Lf±┬┴₧»
  15726. ┬╘ 2├┴w>B├ó┤w>0L?»%ä>0L?┴9â>h│¬>            ╘ 2├╜π!Aw>B├Lf±┬╜π!A₧»
  15727. ┬╘ 2├┴w>B├~îy>h│¬>ó┤w>0L?┴9â>h│¬>            Lf±┬╜π!A₧»
  15728. ┬╘ 2├╜π!Aw>B├i1├a2MAÜ∙B├ó┤w>0L?~îy>h│¬>┘╬w>¬>            ú±┬a2MAJ ┬Lf±┬╜π!A₧»
  15729. ┬i1├a2MAÜ∙B├δsu>⌠²?ó┤w>0L?┘╬w>¬>            (n├┴ ⌠â├(n├╜π!A ⌠â├τlk├╜π!Acr├\Åé>÷ù¥>Hßz>÷ù¥>╟z>f≈ñ>            τlk├┴cr├(n├┴ ⌠â├τlk├╜π!Acr├x£é>f≈ñ>\Åé>÷ù¥>╟z>f≈ñ>            ╘ 2├┴w>B├τlk├┴cr├τlk├╜π!Acr├┴9â>h│¬>x£é>f≈ñ>╟z>f≈ñ>            ╘ 2├╜π!Aw>B├╘ 2├┴w>B├τlk├╜π!Acr├~îy>h│¬>┴9â>h│¬>╟z>f≈ñ>             ┤.├▒ß`AFòD├i1├a2MAÜ∙B├╩Cj├a2MA─▒r├δΓv>º¿>┘╬w>¬>Xy>Ttñ>            +╢g├▒ß`A
  15730. t├ ┤.├▒ß`AFòD├╩Cj├a2MA─▒r├Éáx>°Sú>δΓv>º¿>Xy>Ttñ>            i1├a2MAÜ∙B├╘ 2├╜π!Aw>B├τlk├╜π!Acr├┘╬w>¬>~îy>h│¬>╟z>f≈ñ>            τlk├╜π!Acr├╩Cj├a2MA─▒r├i1├a2MAÜ∙B├╟z>f≈ñ>Xy>Ttñ>┘╬w>¬>            τlk├╜π!Acr├(n├╜π!A ⌠â├uΓl├a2MA╙â├╟z>f≈ñ>Hßz>÷ù¥>Xy>êc¥>            τlk├╜π!Acr├uΓl├a2MA╙â├╩Cj├a2MA─▒r├╟z>f≈ñ>Xy>êc¥>Xy>Ttñ>            Lf±┬┴₧»
  15731. ┬Σi┬┴2÷├Äo┬¬`D┴l╣├»%ä>0L?▌$å>¬É>0╗ç><Næ>            ú±┬¬`D┴J ┬Lf±┬┴₧»
  15732. ┬Äo┬¬`D┴l╣├ Fà>⌠²?»%ä>0L?0╗ç><Næ>            ╒ç├¬`D┴₧}├■╙├┴7ë~├Cb├┴g\Ä├Ttä>≡àë>fêâ>p╬ê>ô⌐é>åZô>            Cb├┴g\Ä├ε╝a├¬`D┴Töì├╒ç├¬`D┴₧}├ô⌐é>åZô>/nâ>b├ô>Ttä>≡àë>            Cb├┴g\Ä├(n├┴ ⌠â├uΓl├¬`D┴╙â├ô⌐é>åZô>\Åé>÷ù¥>°Sâ>êc¥>            Cb├┴g\Ä├uΓl├¬`D┴╙â├ε╝a├¬`D┴Töì├ô⌐é>åZô>°Sâ>êc¥>/nâ>b├ô>            ε╝a├¬`D┴Töì├uΓl├¬`D┴╙â├?j├∙X┴▐ïâ├/nâ>b├ô>°Sâ>êc¥>╕»â>Æφ£>            ?j├∙X┴▐ïâ├πò`├∙X┴0▄ï├ε╝a├¬`D┴Töì├╕»â>Æφ£>∩╔â>4óö>/nâ>b├ô>            n├∙X┴L7{├╒ç├¬`D┴₧}├ε╝a├¬`D┴Töì├/▌ä> ï>Ttä>≡àë>/nâ>b├ô>            πò`├∙X┴0▄ï├n├∙X┴L7{├ε╝a├¬`D┴Töì├∩╔â>4óö>/▌ä> ï>/nâ>b├ô>            Σi┬┴2÷├■╙├┴7ë~├╒ç├¬`D┴₧}├▌$å>¬É>fêâ>p╬ê>Ttä>≡àë>            Σi┬┴2÷├╒ç├¬`D┴₧}├Äo┬¬`D┴l╣├▌$å>¬É>Ttä>≡àë>0╗ç><Næ>            Äo┬¬`D┴l╣├╒ç├¬`D┴₧}├n├∙X┴L7{├0╗ç><Næ>Ttä>≡àë>/▌ä> ï>            n├∙X┴L7{├▒?|┬∙X┴╩3├Äo┬¬`D┴l╣├/▌ä> ï>B>ê>F╢ô>0╗ç><Næ>            ú±┬¬`D┴J ┬Äo┬¬`D┴l╣├▒?|┬∙X┴╩3├ Fà>⌠²?0╗ç><Næ>B>ê>F╢ô>             $≡┬∙X┴æ>2┬ú±┬¬`D┴J ┬▒?|┬∙X┴╩3├9╓à>≤? Fà>⌠²?B>ê>F╢ô>            ε╝a├a2MATöì├╒ç├a2MA₧}├n├▒ß`AL7{├ú#y>b├ô>Yw>≡àë>óEv> ï>            n├▒ß`AL7{├πò`├▒ß`A0▄ï├ε╝a├a2MATöì├óEv> ï>"lx>4óö>ú#y>b├ô>            ■╙├┴7ë~├■╙├╜π!A7ë~├Cb├╜π!Ag\Ä├fêâ>p╬ê>5∩x>p╬ê>┌¼z>åZô>            Cb├┴g\Ä├■╙├┴7ë~├Cb├╜π!Ag\Ä├ô⌐é>åZô>fêâ>p╬ê>┌¼z>åZô>            (n├┴ ⌠â├Cb├┴g\Ä├Cb├╜π!Ag\Ä├\Åé>÷ù¥>ô⌐é>åZô>┌¼z>åZô>            (n├╜π!A ⌠â├(n├┴ ⌠â├Cb├╜π!Ag\Ä├Hßz>÷ù¥>\Åé>÷ù¥>┌¼z>åZô>            ?j├▒ß`A▐ïâ├uΓl├a2MA╙â├ε╝a├a2MATöì├Éáx>Æφ£>Xy>êc¥>ú#y>b├ô>            πò`├▒ß`A0▄ï├?j├▒ß`A▐ïâ├ε╝a├a2MATöì├"lx>4óö>Éáx>Æφ£>ú#y>b├ô>            uΓl├a2MA╙â├(n├╜π!A ⌠â├Cb├╜π!Ag\Ä├Xy>êc¥>Hßz>÷ù¥>┌¼z>åZô>            Cb├╜π!Ag\Ä├ε╝a├a2MATöì├uΓl├a2MA╙â├┌¼z>åZô>ú#y>b├ô>Xy>êc¥>            Cb├╜π!Ag\Ä├■╙├╜π!A7ë~├╒ç├a2MA₧}├┌¼z>åZô>5∩x>p╬ê>Yw>≡àë>            Cb├╜π!Ag\Ä├╒ç├a2MA₧}├ε╝a├a2MATöì├┌¼z>åZô>Yw>≡àë>ú#y>b├ô>            Lf±┬┴₧»
  15733. ┬Lf±┬╜π!A₧»
  15734. ┬Σi┬╜π!A+÷├»%ä>0L?ó┤w>0L?F╢s>¬É>            Σi┬┴2÷├Lf±┬┴₧»
  15735. ┬Σi┬╜π!A+÷├▌$å>¬É>»%ä>0L?F╢s>¬É>            ■╙├┴7ë~├Σi┬┴2÷├Σi┬╜π!A+÷├fêâ>p╬ê>▌$å>¬É>F╢s>¬É>            ■╙├╜π!A7ë~├■╙├┴7ë~├Σi┬╜π!A+÷├5∩x>p╬ê>fêâ>p╬ê>F╢s>¬É>            n├▒ß`AL7{├╒ç├a2MA₧}├Äo┬a2MAl╣├óEv> ï>Yw>≡àë>áëp><Næ>            ▒?|┬▒ß`A╩3├n├▒ß`AL7{├Äo┬a2MAl╣├{âo>F╢ô>óEv> ï>áëp><Næ>            ╒ç├a2MA₧}├■╙├╜π!A7ë~├Σi┬╜π!A+÷├Yw>≡àë>5∩x>p╬ê>F╢s>¬É>            Σi┬╜π!A+÷├Äo┬a2MAl╣├╒ç├a2MA₧}├F╢s>¬É>áëp><Næ>Yw>≡àë>            Äo┬a2MAl╣├Σi┬╜π!A+÷├Lf±┬╜π!A₧»
  15736. ┬áëp><Næ>F╢s>¬É>ó┤w>0L?            Lf±┬╜π!A₧»
  15737. ┬ú±┬a2MAJ ┬Äo┬a2MAl╣├ó┤w>0L?δsu>⌠²?áëp><Næ>             ┤.├∙X┴FòD├ $≡┬∙X┴æ>2┬▒?|┬∙X┴╩3├èÄä>º¿>9╓à>≤?B>ê>F╢ô>             ┤.├∙X┴FòD├▒?|┬∙X┴╩3├n├∙X┴L7{├èÄä>º¿>B>ê>F╢ô>/▌ä> ï>            +╢g├∙X┴
  15738. t├ ┤.├∙X┴FòD├n├∙X┴L7{├╕»â>°Sú>èÄä>º¿>/▌ä> ï>            ?j├∙X┴▐ïâ├+╢g├∙X┴
  15739. t├n├∙X┴L7{├╕»â>Æφ£>╕»â>°Sú>/▌ä> ï>            πò`├∙X┴0▄ï├?j├∙X┴▐ïâ├n├∙X┴L7{├∩╔â>4óö>╕»â>Æφ£>/▌ä> ï>            ▒?|┬▒ß`A╩3├ $≡┬▒ß`Aæ>2┬ ┤.├▒ß`AFòD├{âo>F╢ô>ÅSt>≤?δΓv>º¿>            n├▒ß`AL7{├▒?|┬▒ß`A╩3├ ┤.├▒ß`AFòD├óEv> ï>{âo>F╢ô>δΓv>º¿>            n├▒ß`AL7{├ ┤.├▒ß`AFòD├+╢g├▒ß`A
  15740. t├óEv> ï>δΓv>º¿>Éáx>°Sú>            n├▒ß`AL7{├+╢g├▒ß`A
  15741. t├?j├▒ß`A▐ïâ├óEv> ï>Éáx>°Sú>Éáx>Æφ£>            πò`├▒ß`A0▄ï├n├▒ß`AL7{├?j├▒ß`A▐ïâ├"lx>4óö>óEv> ï>Éáx>Æφ£>            Φ¬úB▒ß`AAΓ⌐┬▒a¬Ba2MA┐╬½┬╜≥ùBa2MAß╦Ç┬p_g?H>`v_?>╞mt?0l>            XjòB▒ß`Aíê┬Φ¬úB▒ß`AAΓ⌐┬╜≥ùBa2MAß╦Ç┬Pⁿx?thQ>p_g?H>╞mt?0l>            óuY├▒ß`AqⁿÆ├Wï\├a2MA╝,Æ├¥!Y├a2MA╡Ü├╡7x>(φì>l    y>≥AÅ>5∩x>î█ê>            ÄW├▒ß`A⌐∞ÿ├óuY├▒ß`AqⁿÆ├¥!Y├a2MA╡Ü├╡7x>║kë>╡7x>(φì>5∩x>î█ê>            ∞/uA▒ß`A░π╧┬╗╕[Aa2MAx|╦┬«╢]┬a2MA]]!├⌡JY>°1å>÷ù]>░Pï>Äp>ûCï>            B>V┬▒ß`A T#├∞/uA▒ß`A░π╧┬«╢]┬a2MA]]!├▓.n>T┴ê>⌡JY>°1å>Äp>ûCï>            ⌡a┬┴▄x ├»%PA┴|╔┬╗╕[A¬`D┴x|╦┬?å>║Iî>jì>î(ì>4æ>░Pï>            «╢]┬¬`D┴]]!├⌡a┬┴▄x ├╗╕[A¬`D┴x|╦┬╣ⁿç>ûCï>?å>║Iî>4æ>░Pï>            ╗╕[A¬`D┴x|╦┬»%PA┴|╔┬rÖB┴╒xz┬4æ>░Pï>jì>î(ì>.É?£─`>            rÖB┴╒xz┬╜≥ùB¬`D┴ß╦Ç┬╗╕[A¬`D┴x|╦┬.É?£─`>:Æ ?0l>4æ>░Pï>            ∞/uA∙X┴░π╧┬╗╕[A¬`D┴x|╦┬╜≥ùB¬`D┴ß╦Ç┬åZô>°1å>4æ>░Pï>:Æ ?0l>            ╜≥ùB¬`D┴ß╦Ç┬XjòB∙X┴íê┬∞/uA∙X┴░π╧┬:Æ ?0l>░?thQ>åZô>°1å>            «╢]┬¬`D┴]]!├╗╕[A¬`D┴x|╦┬∞/uA∙X┴░π╧┬╣ⁿç>ûCï>4æ>░Pï>åZô>°1å>            B>V┬∙X┴ T#├«╢]┬¬`D┴]]!├∞/uA∙X┴░π╧┬ºΦê>T┴ê>╣ⁿç>ûCï>åZô>°1å>            ⌡a┬╜π!A▄x ├»%PA╜π!A|╔┬»%PA┴|╔┬╪üs>║Iî>╘+e>î(ì>jì>î(ì>            ⌡a┬┴▄x ├⌡a┬╜π!A▄x ├»%PA┴|╔┬?å>║Iî>╪üs>║Iî>jì>î(ì>            rÖB╜π!A╒xz┬rÖB┴╒xz┬»%PA┴|╔┬oüä╜£─`>.É?£─`>jì>î(ì>            »%PA╜π!A|╔┬rÖB╜π!A╒xz┬»%PA┴|╔┬╘+e>î(ì>oüä╜£─`>jì>î(ì>            ╜≥ùBa2MAß╦Ç┬╗╕[Aa2MAx|╦┬∞/uA▒ß`A░π╧┬ú#9╜0l>÷ù]>░Pï>⌡JY>°1å>            XjòB▒ß`Aíê┬╜≥ùBa2MAß╦Ç┬∞/uA▒ß`A░π╧┬≈uα╝thQ>ú#9╜0l>⌡JY>°1å>            rÖB╜π!A╒xz┬»%PA╜π!A|╔┬╗╕[Aa2MAx|╦┬oüä╜£─`>╘+e>î(ì>÷ù]>░Pï>            ╜≥ùBa2MAß╦Ç┬rÖB╜π!A╒xz┬╗╕[Aa2MAx|╦┬ú#9╜0l>oüä╜£─`>÷ù]>░Pï>            ╗╕[Aa2MAx|╦┬»%PA╜π!A|╔┬⌡a┬╜π!A▄x ├÷ù]>░Pï>╘+e>î(ì>╪üs>║Iî>            ⌡a┬╜π!A▄x ├«╢]┬a2MA]]!├╗╕[Aa2MAx|╦┬╪üs>║Iî>Äp>ûCï>÷ù]>░Pï>            ╥Z├┴Åä¢├N≥]├┴S╬æ├Wï\├¬`D┴╝,Æ├╩├é>Üê>«╢é><▀Å>J{â>≥AÅ>            ¥!Y├¬`D┴╡Ü├╥Z├┴Åä¢├Wï\├¬`D┴╝,Æ├fêâ>î█ê>╩├é>Üê>J{â>≥AÅ>            «╢]┬¬`D┴]]!├¿å├¬`D┴oÖâ├>├┴gâ├╣ⁿç>ûCï>èÄä>Mä>fêâ>JΩä>            ⌡a┬┴▄x ├«╢]┬¬`D┴]]!├>├┴gâ├?å>║Iî>╣ⁿç>ûCï>fêâ>JΩä>            B>V┬∙X┴ T#├-≤├∙X┴δ╗ä├¿å├¬`D┴oÖâ├ºΦê>T┴ê>üà>δé>èÄä>Mä>            «╢]┬¬`D┴]]!├B>V┬∙X┴ T#├¿å├¬`D┴oÖâ├╣ⁿç>ûCï>ºΦê>T┴ê>èÄä>Mä>            N≥]├┴S╬æ├>├┴gâ├¿å├¬`D┴oÖâ├«╢é><▀Å>fêâ>JΩä>èÄä>Mä>            N≥]├┴S╬æ├¿å├¬`D┴oÖâ├Wï\├¬`D┴╝,Æ├«╢é><▀Å>èÄä>Mä>J{â>≥AÅ>            Wï\├¬`D┴╝,Æ├¿å├¬`D┴oÖâ├-≤├∙X┴δ╗ä├J{â>≥AÅ>èÄä>Mä>üà>δé>            -≤├∙X┴δ╗ä├óuY├∙X┴qⁿÆ├Wï\├¬`D┴╝,Æ├üà>δé>&Σâ>(φì>J{â>≥AÅ>            ¥!Y├¬`D┴╡Ü├Wï\├¬`D┴╝,Æ├óuY├∙X┴qⁿÆ├fêâ>î█ê>J{â>≥AÅ>&Σâ>(φì>            ÄW├∙X┴⌐∞ÿ├¥!Y├¬`D┴╡Ü├óuY├∙X┴qⁿÆ├&Σâ>║kë>fêâ>î█ê>&Σâ>(φì>            ¿å├a2MAoÖâ├-≤├▒ß`Aδ╗ä├B>V┬▒ß`A T#├δΓv>Mä>²÷u>δé>▓.n>T┴ê>            ¿å├a2MAoÖâ├B>V┬▒ß`A T#├«╢]┬a2MA]]!├δΓv>Mä>▓.n>T┴ê>Äp>ûCï>            >├┴gâ├>├╜π!Agâ├⌡a┬╜π!A▄x ├fêâ>JΩä>5∩x>JΩä>╪üs>║Iî>            ⌡a┬┴▄x ├>├┴gâ├⌡a┬╜π!A▄x ├?å>║Iî>fêâ>JΩä>╪üs>║Iî>            >├╜π!Agâ├¿å├a2MAoÖâ├«╢]┬a2MA]]!├5∩x>JΩä>δΓv>Mä>Äp>ûCï>            ⌡a┬╜π!A▄x ├>├╜π!Agâ├«╢]┬a2MA]]!├╪üs>║Iî>5∩x>JΩä>Äp>ûCï>            ╥Z├┴Åä¢├╥Z├╜π!AÅä¢├N≥]├╜π!AO╬æ├╩├é>Üê>lxz>Üê>úÆz><▀Å>            N≥]├┴S╬æ├╥Z├┴Åä¢├N≥]├╜π!AO╬æ├«╢é><▀Å>╩├é>Üê>úÆz><▀Å>            >├┴gâ├N≥]├┴S╬æ├N≥]├╜π!AO╬æ├fêâ>JΩä>«╢é><▀Å>úÆz><▀Å>            >├╜π!Agâ├>├┴gâ├N≥]├╜π!AO╬æ├5∩x>JΩä>fêâ>JΩä>úÆz><▀Å>            -≤├▒ß`Aδ╗ä├¿å├a2MAoÖâ├Wï\├a2MA╝,Æ├²÷u>δé>δΓv>Mä>l    y>≥AÅ>            óuY├▒ß`AqⁿÆ├-≤├▒ß`Aδ╗ä├Wï\├a2MA╝,Æ├╡7x>(φì>²÷u>δé>l    y>≥AÅ>            ¿å├a2MAoÖâ├>├╜π!Agâ├N≥]├╜π!AO╬æ├δΓv>Mä>5∩x>JΩä>úÆz><▀Å>            N≥]├╜π!AO╬æ├Wï\├a2MA╝,Æ├¿å├a2MAoÖâ├úÆz><▀Å>l    y>≥AÅ>δΓv>Mä>            Wï\├a2MA╝,Æ├N≥]├╜π!AO╬æ├╥Z├╜π!AÅä¢├l    y>≥AÅ>úÆz><▀Å>lxz>Üê>            ╥Z├╜π!AÅä¢├¥!Y├a2MA╡Ü├Wï\├a2MA╝,Æ├lxz>Üê>5∩x>î█ê>l    y>≥AÅ>            ╜ ├▒ß`A0▄ï├ û    ├a2MA    ì├Qk ┬a2MA▌41├┤Yu>Φòr>óEv>Φ╖o>Vm>╘+e>            ═╗┬▒ß`A{4/├╜ ├▒ß`A0▄ï├Qk ┬a2MA▌41├àk>0Öj>┤Yu>Φòr>Vm>╘+e>            Qk ┬¬`D┴▌41├+    ┬┴┐2├Θ├┴Γæì├╒xë>╘+e>┬åç>hb>
  15742. ╫â>ΦHn>             û    ├¬`D┴    ì├Qk ┬¬`D┴▌41├Θ├┴Γæì├/▌ä>Φ╖o>╒xë>╘+e>
  15743. ╫â>ΦHn>             û    ├¬`D┴    ì├Θ├┴Γæì├╥Z├┴Åä¢├/▌ä>Φ╖o>
  15744. ╫â>ΦHn>╩├é>Üê>            ╥Z├┴Åä¢├¥!Y├¬`D┴╡Ü├ û    ├¬`D┴    ì├╩├é>Üê>fêâ>î█ê>/▌ä>Φ╖o>            ╜ ├∙X┴0▄ï├ û    ├¬`D┴    ì├¥!Y├¬`D┴╡Ü├&Sà>Φòr>/▌ä>Φ╖o>fêâ>î█ê>            ÄW├∙X┴⌐∞ÿ├╜ ├∙X┴0▄ï├¥!Y├¬`D┴╡Ü├&Σâ>║kë>&Sà>Φòr>fêâ>î█ê>            Qk ┬¬`D┴▌41├ û    ├¬`D┴    ì├╜ ├∙X┴0▄ï├╒xë>╘+e>/▌ä>Φ╖o>&Sà>Φòr>            ═╗┬∙X┴{4/├Qk ┬¬`D┴▌41├╜ ├∙X┴0▄ï├q=è>0Öj>╒xë>╘+e>&Sà>Φòr>            +    ┬┴┐2├+    ┬╜π!A┐2├Θ├╜π!AΓæì├┬åç>hb>|≥p>hb>∞Qx>ΦHn>            Θ├┴Γæì├+    ┬┴┐2├Θ├╜π!AΓæì├
  15745. ╫â>ΦHn>┬åç>hb>∞Qx>ΦHn>            ╥Z├┴Åä¢├Θ├┴Γæì├Θ├╜π!AΓæì├╩├é>Üê>
  15746. ╫â>ΦHn>∞Qx>ΦHn>            ╥Z├╜π!AÅä¢├╥Z├┴Åä¢├Θ├╜π!AΓæì├lxz>Üê>╩├é>Üê>∞Qx>ΦHn>            ¥!Y├a2MA╡Ü├ û    ├a2MA    ì├╜ ├▒ß`A0▄ï├5∩x>î█ê>óEv>Φ╖o>┤Yu>Φòr>            ╜ ├▒ß`A0▄ï├ÄW├▒ß`A⌐∞ÿ├¥!Y├a2MA╡Ü├┤Yu>Φòr>╡7x>║kë>5∩x>î█ê>            ╥Z├╜π!AÅä¢├Θ├╜π!AΓæì├ û    ├a2MA    ì├lxz>Üê>∞Qx>ΦHn>óEv>Φ╖o>            ╥Z├╜π!AÅä¢├ û    ├a2MA    ì├¥!Y├a2MA╡Ü├lxz>Üê>óEv>Φ╖o>5∩x>î█ê>            Θ├╜π!AΓæì├+    ┬╜π!A┐2├Qk ┬a2MA▌41├∞Qx>ΦHn>|≥p>hb>Vm>╘+e>            Θ├╜π!AΓæì├Qk ┬a2MA▌41├ û    ├a2MA    ì├∞Qx>ΦHn>Vm>╘+e>óEv>Φ╖o>            rÖB┴╒xz┬≤n¡B┴ÿ«¼┬▒a¬B¬`D┴┐╬½┬.É?£─`>▐ô'?╝û>áë ?>            ╜≥ùB¬`D┴ß╦Ç┬rÖB┴╒xz┬▒a¬B¬`D┴┐╬½┬:Æ ?0l>.É?£─`>áë ?>            +    ┬┴┐2├Qk ┬¬`D┴▌41├»ÑµA¬`D┴«8·┬┬åç>hb>╒xë>╘+e>δΓû>î0>            @ô∞A┴!0ⁿ┬+    ┬┴┐2├»ÑµA¬`D┴«8·┬ÿnÆ>D¡)>┬åç>hb>δΓû>î0>            ═╗┬∙X┴{4/├q¢┘A∙X┴σ⌡┬»ÑµA¬`D┴«8·┬q=è>0Öj>Ö*ÿ>4^:>δΓû>î0>            Qk ┬¬`D┴▌41├═╗┬∙X┴{4/├»ÑµA¬`D┴«8·┬╒xë>╘+e>q=è>0Öj>δΓû>î0>            ≤n¡B┴ÿ«¼┬@ô∞A┴!0ⁿ┬»ÑµA¬`D┴«8·┬▐ô'?╝û>ÿnÆ>D¡)>δΓû>î0>            ≤n¡B┴ÿ«¼┬»ÑµA¬`D┴«8·┬▒a¬B¬`D┴┐╬½┬▐ô'?╝û>δΓû>î0>áë ?>            ▒a¬B¬`D┴┐╬½┬»ÑµA¬`D┴«8·┬q¢┘A∙X┴σ⌡┬áë ?>δΓû>î0>Ö*ÿ>4^:>            q¢┘A∙X┴σ⌡┬Φ¬úB∙X┴AΓ⌐┬▒a¬B¬`D┴┐╬½┬Ö*ÿ>4^:>Éá?H>áë ?>            ╜≥ùB¬`D┴ß╦Ç┬▒a¬B¬`D┴┐╬½┬Φ¬úB∙X┴AΓ⌐┬:Æ ?0l>áë ?>Éá?H>            XjòB∙X┴íê┬╜≥ùB¬`D┴ß╦Ç┬Φ¬úB∙X┴AΓ⌐┬░?thQ>:Æ ?0l>Éá?H>            q¢┘A▒ß`Aσ⌡┬═╗┬▒ß`A{4/├Qk ┬a2MA▌41├╬¬O>4^:>àk>0Öj>Vm>╘+e>            »ÑµAa2MA«8·┬q¢┘A▒ß`Aσ⌡┬Qk ┬a2MA▌41├*:R>î0>╬¬O>4^:>Vm>╘+e>            @ô∞A┴!0ⁿ┬@ô∞A╜π!A!0ⁿ┬+    ┬╜π!A┐2├ÿnÆ>D¡)>╤"[>D¡)>|≥p>hb>            +    ┬┴┐2├@ô∞A┴!0ⁿ┬+    ┬╜π!A┐2├┬åç>hb>ÿnÆ>D¡)>|≥p>hb>            @ô∞A╜π!A!0ⁿ┬»ÑµAa2MA«8·┬Qk ┬a2MA▌41├╤"[>D¡)>*:R>î0>Vm>╘+e>            +    ┬╜π!A┐2├@ô∞A╜π!A!0ⁿ┬Qk ┬a2MA▌41├|≥p>hb>╤"[>D¡)>Vm>╘+e>            rÖB┴╒xz┬rÖB╜π!A╒xz┬≤n¡B╜π!Aÿ«¼┬.É?£─`>╥oo?£─`>"lX?╝û>            ≤n¡B┴ÿ«¼┬rÖB┴╒xz┬≤n¡B╜π!Aÿ«¼┬▐ô'?╝û>.É?£─`>"lX?╝û>            @ô∞A┴!0ⁿ┬≤n¡B┴ÿ«¼┬≤n¡B╜π!Aÿ«¼┬ÿnÆ>D¡)>▐ô'?╝û>vO╛╝û>            @ô∞A╜π!A!0ⁿ┬@ô∞A┴!0ⁿ┬≤n¡B╜π!Aÿ«¼┬╤"[>D¡)>ÿnÆ>D¡)>vO╛╝û>            q¢┘A▒ß`Aσ⌡┬»ÑµAa2MA«8·┬▒a¬Ba2MA┐╬½┬╬¬O>4^:>*:R>î0>ü&╛>            Φ¬úB▒ß`AAΓ⌐┬q¢┘A▒ß`Aσ⌡┬▒a¬Ba2MA┐╬½┬ü┼╜H>╬¬O>4^:>ü&╛>            »ÑµAa2MA«8·┬@ô∞A╜π!A!0ⁿ┬≤n¡B╜π!Aÿ«¼┬*:R>î0>╤"[>D¡)>vO╛╝û>            ≤n¡B╜π!Aÿ«¼┬▒a¬Ba2MA┐╬½┬»ÑµAa2MA«8·┬vO╛╝û>ü&╛>*:R>î0>            ▒a¬Ba2MA┐╬½┬≤n¡B╜π!Aÿ«¼┬rÖB╜π!A╒xz┬`v_?>"lX?╝û>╥oo?£─`>            rÖB╜π!A╒xz┬╜≥ùBa2MAß╦Ç┬▒a¬Ba2MA┐╬½┬╥oo?£─`>╞mt?0l>`v_?>            ∞/uA∙X┴░π╧┬XjòB∙X┴íê┬Φ¬úB∙X┴AΓ⌐┬åZô>°1å>░?thQ>Éá?H>            ∞/uA∙X┴░π╧┬Φ¬úB∙X┴AΓ⌐┬q¢┘A∙X┴σ⌡┬åZô>°1å>Éá?H>Ö*ÿ>4^:>            B>V┬∙X┴ T#├∞/uA∙X┴░π╧┬q¢┘A∙X┴σ⌡┬ºΦê>T┴ê>åZô>°1å>Ö*ÿ>4^:>            B>V┬∙X┴ T#├q¢┘A∙X┴σ⌡┬═╗┬∙X┴{4/├ºΦê>T┴ê>Ö*ÿ>4^:>q=è>0Öj>            ╜ ├∙X┴0▄ï├ÄW├∙X┴⌐∞ÿ├óuY├∙X┴qⁿÆ├&Sà>Φòr>&Σâ>║kë>&Σâ>(φì>            ╜ ├∙X┴0▄ï├óuY├∙X┴qⁿÆ├-≤├∙X┴δ╗ä├&Sà>Φòr>&Σâ>(φì>üà>δé>            B>V┬∙X┴ T#├═╗┬∙X┴{4/├╜ ├∙X┴0▄ï├ºΦê>T┴ê>q=è>0Öj>&Sà>Φòr>            -≤├∙X┴δ╗ä├B>V┬∙X┴ T#├╜ ├∙X┴0▄ï├üà>δé>ºΦê>T┴ê>&Sà>Φòr>            Φ¬úB▒ß`AAΓ⌐┬XjòB▒ß`Aíê┬∞/uA▒ß`A░π╧┬ü┼╜H>≈uα╝thQ>⌡JY>°1å>            q¢┘A▒ß`Aσ⌡┬Φ¬úB▒ß`AAΓ⌐┬∞/uA▒ß`A░π╧┬╬¬O>4^:>ü┼╜H>⌡JY>°1å>            óuY├▒ß`AqⁿÆ├ÄW├▒ß`A⌐∞ÿ├╜ ├▒ß`A0▄ï├╡7x>(φì>╡7x>║kë>┤Yu>Φòr>            -≤├▒ß`Aδ╗ä├óuY├▒ß`AqⁿÆ├╜ ├▒ß`A0▄ï├²÷u>δé>╡7x>(φì>┤Yu>Φòr>            q¢┘A▒ß`Aσ⌡┬∞/uA▒ß`A░π╧┬B>V┬▒ß`A T#├╬¬O>4^:>⌡JY>°1å>▓.n>T┴ê>            ═╗┬▒ß`A{4/├q¢┘A▒ß`Aσ⌡┬B>V┬▒ß`A T#├àk>0Öj>╬¬O>4^:>▓.n>T┴ê>            ╜ ├▒ß`A0▄ï├═╗┬▒ß`A{4/├B>V┬▒ß`A T#├┤Yu>Φòr>àk>0Öj>▓.n>T┴ê>            -≤├▒ß`Aδ╗ä├╜ ├▒ß`A0▄ï├B>V┬▒ß`A T#├²÷u>δé>┤Yu>Φòr>▓.n>T┴ê>             Z#E    ⁿ    ∙   √       °    ■    ■   
  15747. ■   
  15748. ■   â~¼bâs╤`│âx»Sà
  15749. åK╡class MonsterInv extends Inventory;
  15750.  
  15751. var int AbilityLevel;
  15752. var array<class<Monster> > MonsterList;
  15753. var FriendlyMonsterController CurrentMonster;
  15754.  
  15755. function PostBeginPlay()
  15756. {
  15757.     local Object O;
  15758.  
  15759.     Super.PostBeginPlay();
  15760.  
  15761.     foreach AllObjects(class'Object', O)
  15762.         if (class<Monster>(O) != None && O != class'Monster' && class<Monster>(O).default.Mesh != class'xPawn'.default.Mesh)
  15763.             MonsterList[MonsterList.length] = class<Monster>(O);
  15764.  
  15765.     SetTimer(10.0, true);
  15766. }
  15767.  
  15768. function GiveTo(Pawn Other, optional Pickup Pickup)
  15769. {
  15770.     local Controller C;
  15771.     local FriendlyMonsterController F;
  15772.  
  15773.     Super.GiveTo(Other, Pickup);
  15774.  
  15775.     for (C = Level.ControllerList; C != None; C = C.NextController)
  15776.     {
  15777.         F = FriendlyMonsterController(C);
  15778.         if (F != None && F.Master != None && F.Master == Instigator.Controller)
  15779.         {
  15780.             CurrentMonster = F;
  15781.             return;
  15782.         }
  15783.     }
  15784.  
  15785.     SpawnMonster(true);
  15786. }
  15787.  
  15788. function Timer()
  15789. {
  15790.     if (Instigator == None || Instigator.Health <= 0 || Instigator.Controller == None)
  15791.     {
  15792.         Destroy();
  15793.         return;
  15794.     }
  15795.  
  15796.     if (CurrentMonster != None)
  15797.         return;
  15798.  
  15799.     SpawnMonster(false);
  15800. }
  15801.  
  15802. function SpawnMonster(bool bNearOwner)
  15803. {
  15804.     local int x, Count;
  15805.     local NavigationPoint N, BestDest;
  15806.     local float Dist, BestDist;
  15807.     local vector SpawnLocation;
  15808.     local rotator SpawnRotation;
  15809.     local FriendlyMonsterController C;
  15810.     local Monster P;
  15811.     local Inventory Inv;
  15812.     local RPGStatsInv StatsInv;
  15813.  
  15814.     do
  15815.     {
  15816.         x = Rand(MonsterList.length);
  15817.         Count++;
  15818.     } until ( MonsterList[x].default.ScoringValue == AbilityLevel
  15819.           || (AbilityLevel == 8 && MonsterList[x].default.ScoringValue > 8) || Count > 1000)
  15820.  
  15821.     if (Count > 1000)
  15822.     {
  15823.         if (AbilityLevel > 0)
  15824.         {
  15825.             AbilityLevel--;
  15826.             SpawnMonster(bNearOwner);
  15827.             return;
  15828.         }
  15829.         else
  15830.         {
  15831.             AbilityLevel = 12;
  15832.             return;
  15833.         }
  15834.     }
  15835.  
  15836.     if (bNearOwner)
  15837.     {
  15838.         BestDist = 50000.f;
  15839.         for (N = Level.NavigationPointList; N != None; N = N.NextNavigationPoint)
  15840.         {
  15841.             Dist = VSize(N.Location - Instigator.Location);
  15842.             if (Dist < BestDist && Dist > MonsterList[x].default.CollisionRadius * 2)
  15843.             {
  15844.                 BestDest = N;
  15845.                 BestDist = VSize(N.Location - Instigator.Location);
  15846.             }
  15847.         }
  15848.     }
  15849.     else
  15850.     {
  15851.         Count = 0;
  15852.         do
  15853.         {
  15854.             BestDest = Instigator.Controller.FindRandomDest();
  15855.             Count++;
  15856.         } until ( (VSize(BestDest.Location - Instigator.Location) > 1000 && !FastTrace(BestDest.Location, Instigator.Location))
  15857.               || Count > 1000 )
  15858.     }
  15859.  
  15860.     if (BestDest != None)
  15861.         SpawnLocation = BestDest.Location + (MonsterList[x].default.CollisionHeight - BestDest.CollisionHeight) * vect(0,0,1);
  15862.     else
  15863.         SpawnLocation = Instigator.Location + MonsterList[x].default.CollisionHeight * vect(0,0,1.5);
  15864.     SpawnRotation.Yaw = rotator(SpawnLocation - Instigator.Location).Yaw;
  15865.  
  15866.     P = spawn(MonsterList[x],,, SpawnLocation, SpawnRotation);
  15867.     if (P == None)
  15868.     {
  15869.         //try again later
  15870.         return;
  15871.     }
  15872.     if (P.Controller != None)
  15873.         P.Controller.Destroy();
  15874.     C = spawn(class'FriendlyMonsterController',,, SpawnLocation, SpawnRotation);
  15875.     C.Possess(P);
  15876.     C.SetMaster(Instigator.Controller);
  15877.     //allow Instigator's abilities to affect the monster
  15878.     for (Inv = Instigator.Controller.Inventory; Inv != None; Inv = Inv.Inventory)
  15879.     {
  15880.         StatsInv = RPGStatsInv(Inv);
  15881.         if (StatsInv != None)
  15882.             break;
  15883.     }
  15884.     if (StatsInv == None) //fallback, should never happen
  15885.         StatsInv = RPGStatsInv(Instigator.FindInventoryType(class'RPGStatsInv'));
  15886.     if (StatsInv != None)
  15887.     {
  15888.         for (x = 0; x < StatsInv.Data.Abilities.length; x++)
  15889.             StatsInv.Data.Abilities[x].static.ModifyPawn(P, StatsInv.Data.AbilityLevels[x]);
  15890.         if (C.Inventory == None)
  15891.             C.Inventory = StatsInv;
  15892.         else
  15893.         {
  15894.             for (Inv = C.Inventory; Inv.Inventory != None; Inv = Inv.Inventory)
  15895.             {}
  15896.             Inv.Inventory = StatsInv;
  15897.         }
  15898.     }
  15899.     else
  15900.         Log("WARNING: Couldn't find RPGStatsInv for "$Instigator.GetHumanReadableName());
  15901.  
  15902.     CurrentMonster = C;
  15903. }
  15904. class AbilityMonsterSummon extends RPGAbility
  15905.     abstract;
  15906.  
  15907. static function bool AbilityIsAllowed(GameInfo Game, MutUT2004RPG RPGMut)
  15908. {
  15909.     //make sure invasion monsters get loaded
  15910.     if (DynamicLoadObject("SkaarjPack.Invasion", class'Class', true) == None)
  15911.         return false;
  15912.  
  15913.     return true;
  15914. }
  15915.  
  15916. static simulated function int Cost(RPGPlayerDataObject Data, int CurrentLevel)
  15917. {
  15918.     if (Data.Attack < 75 || Data.Defense < 75)
  15919.         return 0;
  15920.     else if (CurrentLevel == 0)
  15921.         return 20;
  15922.     else
  15923.         return Super.Cost(Data, CurrentLevel);
  15924. }
  15925.  
  15926. static simulated function ModifyPawn(Pawn Other, int AbilityLevel)
  15927. {
  15928.     local MonsterInv M;
  15929.  
  15930.     if (Other.Role != ROLE_Authority || Other.Controller == None || !Other.Controller.bIsPlayer)
  15931.         return;
  15932.  
  15933.     //remove old one, if it exists
  15934.     //might happen if player levels up this ability while still alive
  15935.     M = MonsterInv(Other.FindInventoryType(class'MonsterInv'));
  15936.     if (M != None)
  15937.     {
  15938.         if (M.AbilityLevel != AbilityLevel)
  15939.         {
  15940.             M.CurrentMonster.Pawn.Died(None, class'DamageType', vect(0,0,0));
  15941.             M.AbilityLevel = AbilityLevel;
  15942.             M.SpawnMonster(true);
  15943.         }
  15944.         return;
  15945.     }
  15946.  
  15947.     M = Other.spawn(class'MonsterInv', Other,,,rot(0,0,0));
  15948.     M.AbilityLevel = AbilityLevel;
  15949.     M.GiveTo(Other);
  15950. }
  15951.  
  15952. defaultproperties
  15953. {
  15954.     AbilityName="Monster Tongue"
  15955.     Description="With this ability, you can convince monsters to come to your aid. A monster will appear and follow you around, attacking any enemies it sees, and if it dies, another will eventually come to take its place. You will get the score and EXP for any of its kills. The level of the ability determines the type of monster that will assist you. Additionally, the monster will have the benefits of all of your stats and abilities except those which act on your death. You must have at least 75 Damage Bonus and 75 Damage Reduction to purchase this ability. (Max Level: 8)"
  15956.     StartingCost=5
  15957.     CostAddPerLevel=5
  15958.     MaxLevel=8
  15959. }
  15960. class ArtifactMonsterSummon extends RPGArtifact;
  15961.  
  15962. var array<class<Monster> > MonsterList;
  15963. var class<Monster> ChosenMonster;
  15964. var float AdrenalineUsed;
  15965. var array<Monster> SummonedMonsters;
  15966. var int MaxMonsters;
  15967. var localized string TooManyMonstersMessage;
  15968.  
  15969. static function bool ArtifactIsAllowed(GameInfo Game)
  15970. {
  15971.     //make sure invasion monsters get loaded
  15972.     if (DynamicLoadObject("SkaarjPack.Invasion", class'Class', true) == None)
  15973.         return false;
  15974.  
  15975.     return true;
  15976. }
  15977.  
  15978. function PostBeginPlay()
  15979. {
  15980.     local Object O;
  15981.  
  15982.     Super.PostBeginPlay();
  15983.  
  15984.     foreach AllObjects(class'Object', O)
  15985.         if (class<Monster>(O) != None && O != class'Monster' && class<Monster>(O).default.Mesh != class'xPawn'.default.Mesh)
  15986.             MonsterList[MonsterList.length] = class<Monster>(O);
  15987. }
  15988.  
  15989. function BotConsider()
  15990. {
  15991.     if (bActive)
  15992.         return;
  15993.  
  15994.     if ( Instigator.Health + Instigator.ShieldStrength < 100 && Instigator.Controller.Enemy != None
  15995.          && Instigator.Controller.Adrenaline > 2 * CostPerSec && FRand() < 0.15 && NoArtifactsActive() )
  15996.         Activate();
  15997. }
  15998.  
  15999. function Activate()
  16000. {
  16001.     local int i;
  16002.  
  16003.     if (bActive)
  16004.     {
  16005.         Super.Activate();
  16006.         return;
  16007.     }
  16008.  
  16009.     for (i = 0; i < SummonedMonsters.length; i++)
  16010.         if (SummonedMonsters[i] == None || SummonedMonsters[i].Health <= 0)
  16011.         {
  16012.             SummonedMonsters.Remove(i, 1);
  16013.             i--;
  16014.         }
  16015.  
  16016.     if (SummonedMonsters.length < MaxMonsters)
  16017.         Super.Activate();
  16018.     else if (Instigator != None)
  16019.         Instigator.ReceiveLocalizedMessage(MessageClass, 2, None, None, Class);
  16020. }
  16021.  
  16022. static function string GetLocalString(optional int Switch, optional PlayerReplicationInfo RelatedPRI_1, optional PlayerReplicationInfo RelatedPRI_2)
  16023. {
  16024.     if (Switch == 2)
  16025.         return Default.TooManyMonstersMessage;
  16026.  
  16027.     return Super.GetLocalString(Switch, RelatedPRI_1, RelatedPRI_2);
  16028. }
  16029.  
  16030. function DoEffect();
  16031.  
  16032. state Activated
  16033. {
  16034.     function BeginState()
  16035.     {
  16036.         local int x, Count;
  16037.  
  16038.         do
  16039.         {
  16040.             x = Rand(MonsterList.length);
  16041.             Count++;
  16042.         } until (Instigator.Controller.Adrenaline >= MonsterList[x].default.ScoringValue * 10 || Count > 10000)
  16043.         if (Count > 10000)
  16044.         {
  16045.             GotoState('');
  16046.             return;
  16047.         }
  16048.  
  16049.         ChosenMonster = MonsterList[x];
  16050.         bActive = true;
  16051.         AdrenalineUsed = ChosenMonster.default.ScoringValue * 10;
  16052.     }
  16053.  
  16054.     simulated function Tick(float deltaTime)
  16055.     {
  16056.         Global.Tick(deltaTime);
  16057.  
  16058.         AdrenalineUsed -= deltaTime * CostPerSec;
  16059.         if (AdrenalineUsed <= 0)
  16060.         {
  16061.             Instigator.Controller.Adrenaline -= AdrenalineUsed; //add some back if went a bit over
  16062.             AdrenalineUsed = 0;
  16063.             DoEffect();
  16064.         }
  16065.     }
  16066.  
  16067.     function DoEffect()
  16068.     {
  16069.         local NavigationPoint N, BestDest;
  16070.         local float Dist, BestDist;
  16071.         local vector SpawnLocation;
  16072.         local rotator SpawnRotation;
  16073.         local FriendlyMonsterController C;
  16074.         local Monster P;
  16075.         local Inventory Inv;
  16076.         local RPGStatsInv StatsInv;
  16077.         local int x;
  16078.  
  16079.         BestDist = 50000.f;
  16080.         for (N = Level.NavigationPointList; N != None; N = N.NextNavigationPoint)
  16081.         {
  16082.             Dist = VSize(N.Location - Instigator.Location);
  16083.             if (Dist < BestDist && Dist > ChosenMonster.default.CollisionRadius * 2)
  16084.             {
  16085.                 BestDest = N;
  16086.                 BestDist = VSize(N.Location - Instigator.Location);
  16087.             }
  16088.         }
  16089.  
  16090.         if (BestDest != None)
  16091.             SpawnLocation = BestDest.Location + (ChosenMonster.default.CollisionHeight - BestDest.CollisionHeight) * vect(0,0,1);
  16092.         else
  16093.             SpawnLocation = Instigator.Location + ChosenMonster.default.CollisionHeight * vect(0,0,1.5);
  16094.         SpawnRotation.Yaw = rotator(SpawnLocation - Instigator.Location).Yaw;
  16095.  
  16096.         P = spawn(ChosenMonster,,, SpawnLocation, SpawnRotation);
  16097.         if (P == None)
  16098.         {
  16099.             //try again later
  16100.             return;
  16101.         }
  16102.         if (P.Controller != None)
  16103.             P.Controller.Destroy();
  16104.         C = spawn(class'FriendlyMonsterController',,, SpawnLocation, SpawnRotation);
  16105.         C.Possess(P);
  16106.         C.SetMaster(Instigator.Controller);
  16107.         //allow Instigator's abilities to affect the monster
  16108.         for (Inv = Instigator.Controller.Inventory; Inv != None; Inv = Inv.Inventory)
  16109.         {
  16110.             StatsInv = RPGStatsInv(Inv);
  16111.             if (StatsInv != None)
  16112.                 break;
  16113.         }
  16114.         if (StatsInv == None) //fallback, should never happen
  16115.             StatsInv = RPGStatsInv(Instigator.FindInventoryType(class'RPGStatsInv'));
  16116.         if (StatsInv != None)
  16117.         {
  16118.             for (x = 0; x < StatsInv.Data.Abilities.length; x++)
  16119.                 StatsInv.Data.Abilities[x].static.ModifyPawn(P, StatsInv.Data.AbilityLevels[x]);
  16120.             if (C.Inventory == None)
  16121.                 C.Inventory = StatsInv;
  16122.             else
  16123.             {
  16124.                 for (Inv = C.Inventory; Inv.Inventory != None; Inv = Inv.Inventory)
  16125.                 {}
  16126.                 Inv.Inventory = StatsInv;
  16127.             }
  16128.         }
  16129.  
  16130.         SummonedMonsters[SummonedMonsters.length] = P;
  16131.         GotoState('');
  16132.     }
  16133. }
  16134.  
  16135. defaultproperties
  16136. {
  16137.     CostPerSec=25
  16138.     MinActivationTime=0.25
  16139.     ItemName="Summoning Charm"
  16140.     PickupClass=class'ArtifactMonsterSummonPickup'
  16141.     IconMaterial=Material'UTRPGTextures.Icons.SummoningCharmIcon'
  16142.     MaxMonsters=4
  16143.     TooManyMonstersMessage="The Summoning Charm cannot support any more monsters in this world."
  16144. }
  16145. class ArtifactMonsterSummonPickup extends RPGArtifactPickup;
  16146.  
  16147. defaultproperties
  16148. {
  16149.     PickupMessage="You got the Summoning Charm!"
  16150.     InventoryType=class'ArtifactMonsterSummon'
  16151.     DrawType=DT_StaticMesh
  16152.     DrawScale=0.25
  16153.     StaticMesh=StaticMesh'UTRPGStatics.Artifacts.MonsterCoin'
  16154.     bAmbientGlow=true
  16155.     AmbientGlow=128
  16156.     PickupSound=Sound'WeaponSounds.Translocator.TranslocatorModuleRegeneration'
  16157.     PickupForce="TranslocatorModuleRegeneration"
  16158. }
  16159. FSystem\Manifest.ini/System\Manifest.int0┘Help\UT2004RPG_Readme.txtc!System\UT2004RPG.uÇ4█éSystem\UT2004RPG.int`╖UT2004RPG\Classes\RegenInv.ucÇ╕: UT2004RPG\Classes\RPGAbility.uc└╣|,UT2004RPG\Classes\AbilityAdrenalineRegen.uc@╬G,UT2004RPG\Classes\AbilityAdrenalineSurge.ucÉ╥'UT2004RPG\Classes\AbilityAirControl.uc░┌Y&UT2004RPG\Classes\AbilityAmmoRegen.uc▀ &UT2004RPG\Classes\AbilityAwareness.uc π╛)UT2004RPG\Classes\AbilityCounterShove.ucαΦ┬-UT2004RPG\Classes\AbilityFastWeaponSwitch.uc░φΓ"UT2004RPG\Classes\AbilityGhost.ucá⌠╟
  16160. %UT2004RPG\Classes\AbilityHoarding.ucp º"UT2004RPG\Classes\AbilityJumpZ.uc α)UT2004RPG\Classes\AbilityNoWeaponDrop.uc    _-UT2004RPG\Classes\AbilityReduceFallDamage.uc`>-UT2004RPG\Classes\AbilityReduceSelfDamage.ucáÄ"UT2004RPG\Classes\AbilityRegen.uc03&UT2004RPG\Classes\AbilityRetaliate.ucp"t+UT2004RPG\Classes\AbilityShieldStrength.uc≡&┐)UT2004RPG\Classes\AbilitySmartHealing.uc░)"UT2004RPG\Classes\AbilitySpeed.uc╨-Ü#UT2004RPG\Classes\AbilityUltima.ucp1≈$UT2004RPG\Classes\AbilityVampire.ucp8#UT2004RPG\Classes\AdrenRegenInv.uc≡<"UT2004RPG\Classes\AmmoRegenInv.uc?p$UT2004RPG\Classes\ArtifactFlight.ucÇCD*UT2004RPG\Classes\ArtifactFlightPickup.uc╨H#-UT2004RPG\Classes\ArtifactInvulnerability.ucJ╙3UT2004RPG\Classes\ArtifactInvulnerabilityPickup.ucαN╤*UT2004RPG\Classes\ArtifactLightningRod.uc└P┴0UT2004RPG\Classes\ArtifactLightningRodPickup.ucÉX~&UT2004RPG\Classes\ArtifactTeleport.ucZº    ,UT2004RPG\Classes\ArtifactTeleportPickup.uc└cì*UT2004RPG\Classes\ArtifactTripleDamage.ucPeñ0UT2004RPG\Classes\ArtifactTripleDamagePickup.uckì)UT2004RPG\Classes\DamTypeLightningRod.ucÉlh#UT2004RPG\Classes\DamTypePoison.uco(UT2004RPG\Classes\DamTypeRetaliation.ucp¢#UT2004RPG\Classes\DamTypeUltima.uc░pBUT2004RPG\Classes\GhostInv.ucrq UT2004RPG\Classes\KillMarker.ucÇè╘%UT2004RPG\Classes\OldWeaponHolder.uc`ï"UT2004RPG\Classes\PoisonInv.ucÉìτ,UT2004RPG\Classes\ProjectileSpeedChanger.ucÇô)UT2004RPG\Classes\UltimaChargeEmitter.ucáÿ°#UT2004RPG\Classes\UltimaCharger.ucá¥S %UT2004RPG\Classes\UltimaExplosion.uc⌐T>!UT2004RPG\Classes\RPGArtifact.uc`τ'UT2004RPG\Classes\RPGArtifactPickup.ucp⌡▐UT2004RPG\Classes\RPGWeapon.ucP√/àUT2004RPG\Classes\RW_Damage.ucÇÇ    ùUT2004RPG\Classes\RW_Energy.uc é    ,UT2004RPG\Classes\RW_Force.ucPç    j!UT2004RPG\Classes\RW_Infinity.uc└Ä    └UT2004RPG\Classes\RW_Luck.ucÇÆ    ╬#UT2004RPG\Classes\RW_NoMomentum.ucPí    ╟$UT2004RPG\Classes\RW_Penetrating.uc ú    Φ!UT2004RPG\Classes\RW_Piercing.uc½    PUT2004RPG\Classes\RW_Poison.uc`»    =#UT2004RPG\Classes\RW_Protection.ucá▓    Textures\UTRPGTextures.utx└┤     ÅStaticMeshes\UTRPGStatics.usx└DΦφ UT2004RPG\Classes\MonsterInv.uc░2
  16161. *UT2004RPG\Classes\AbilityMonsterSummon.uc└AÇ+UT2004RPG\Classes\ArtifactMonsterSummon.uc@I31UT2004RPG\Classes\ArtifactMonsterSummonPickup.ucÇ\╛ú┼πƒ>^╒kkc└8