 sreV                 .editorconfig             QK`   .travis.yml             QK`  BC_buyables\cfgFunctions.hpp             QK`3  BC_buyables\factions\bwGM.hpp             QK`}  BC_buyables\factions\bwTank.hpp             QK``
  BC_buyables\factions\mudscha.hpp             QK`  BC_buyables\factions\nvaGM.hpp             QK`   BC_buyables\factions\rebels.hpp             QK`b  BC_buyables\factions\russia.hpp             QK`p%  BC_buyables\factions\russiaTank.hpp             QK`  BC_buyables\factions\sovjetGM.hpp             QK`  BC_buyables\factions\usa.hpp             QK`"  BC_buyables\factions.hpp             QK`a  BC_buyables\functions\fn_clientInit.sqf             QK`  BC_buyables\functions\fn_configureBluforStartVehicle.sqf             QK`  BC_buyables\functions\fn_configureOpforStartVehicle.sqf             QK`  BC_buyables\functions\fn_mudschaVehicleDeko.sqf             QK`  BC_buyables\functions\fn_serverInit.sqf             QK`H  BC_buyables\params.hpp             QK`L  BC_buymenu\cfgFunctions.hpp             QK`  BC_buymenu\cfgSounds.hpp             QK`   BC_buymenu\dialog\baseDefines.hpp             QK`?	  BC_buymenu\dialog\baseRsc.hpp             QK`
  BC_buymenu\dialog\defines.hpp             QK`/  BC_buymenu\dialog\dialog.hpp             QK`  BC_buymenu\functions\fn_addBoatInteraction.sqf             QK`  BC_buymenu\functions\fn_addInteraction.sqf             QK`  BC_buymenu\functions\fn_adjustCrewCargoCount.sqf             QK`  BC_buymenu\functions\fn_applyTruckArmor.sqf             QK`  BC_buymenu\functions\fn_buyComplete.sqf             QK`1  BC_buymenu\functions\fn_buyInit.sqf             QK`  BC_buymenu\functions\fn_buySpecials.sqf             QK`  BC_buymenu\functions\fn_buyVehicle.sqf             QK`U  BC_buymenu\functions\fn_changeQueue.sqf             QK`  BC_buymenu\functions\fn_changeValue.sqf             QK`  BC_buymenu\functions\fn_createGUI.sqf             QK`d  BC_buymenu\functions\fn_dropMoney.sqf             QK`D  BC_buymenu\functions\fn_getCatGlobalCount.sqf             QK`E  BC_buymenu\functions\fn_getItemGlobalCount.sqf             QK`j  BC_buymenu\functions\fn_getRoadPositions.sqf             QK`  BC_buymenu\functions\fn_getSpawnPosition.sqf             QK`  BC_buymenu\functions\fn_getStartVehicleClassname.sqf             QK`  BC_buymenu\functions\fn_getVehicleParams.sqf             QK`  BC_buymenu\functions\fn_saveCatGlobalCache.sqf             QK`   BC_buymenu\functions\fn_saveItemGlobalCache.sqf             QK`  BC_buymenu\functions\fn_spawnStartVehicles.sqf             QK`R  BC_buymenu\functions\fn_vehicleMarker.sqf             QK`w  BC_buymenu\sounds\cashRegister.ogg             QK`|  BC_flagsOnVehicles\cfgFunctions.hpp             QK`   BC_flagsOnVehicles\functions\client\fn_attachFlag.sqf             QK`~  BC_flagsOnVehicles\functions\client\fn_detachFlag.sqf             QK`  BC_flagsOnVehicles\functions\client\fn_toggleFlag.sqf             QK`  BC_loadouts\cfgFunctions.hpp             QK`~   BC_loadouts\factions\bwFle.hpp             QK`  BC_loadouts\factions\bwGM.hpp             QK`!  BC_loadouts\factions\mudscha.hpp             QK`!  BC_loadouts\factions\nvaGM.hpp             QK`  BC_loadouts\factions\rebels.hpp             QK`&  BC_loadouts\factions\russia.hpp             QK`C  BC_loadouts\factions\sovjetGM.hpp             QK`  BC_loadouts\factions\usa.hpp             QK`!  BC_loadouts\factions.hpp             QK`  BC_loadouts\fn_init.sqf             QK`  BC_loadouts\_archive\RU_Desert.hpp             QK`  BC_loadouts\_archive\RU_Woodland.hpp             QK`  BC_loadouts\_archive\setLoadoutRandomization.sqf             QK`  BC_loadouts\_archive\US_Desert.hpp             QK`3  BC_loadouts\_archive\US_Woodland.hpp             QK`x  BC_objectives\cfgFunctions.hpp             OK`}  BC_objectives\functions\common\fn_init.sqf             OK`N  BC_objectives\functions\player\fn_endConditionListener.sqf             OK`  BC_objectives\functions\player\fn_endMission.sqf             OK`   BC_objectives\functions\player\fn_preparationTimeCountdown.sqf             OK`  BC_objectives\functions\server\fn_createTaskElimination.sqf             OK`  BC_objectives\functions\server\fn_createTaskMain.sqf             OK`=  BC_objectives\functions\server\fn_loopConditions.sqf             OK`_  BC_objectives\functions\server\fn_removeTruckArmor.sqf             OK`   BC_objectives\functions\server\fn_startPreparationTime.sqf             OK`T  BC_objectives\functions\server\fn_waitingForUnconscious.sqf             OK`  BC_objectives\rscTitles.hpp             OK`  BC_objectives\ui_toolkit.hpp             OK`  BC_setup\cfgFunctions.hpp             QK`  BC_setup\functions\client\fn_addBriefing.sqf             QK`H  BC_setup\functions\client\fn_addInteractions.sqf             QK`.  BC_setup\functions\client\fn_chooseSpawn.sqf             QK`  BC_setup\functions\client\fn_createStartMarker.sqf             QK`z  BC_setup\functions\client\fn_establishingShot.sqf             QK`  BC_setup\functions\client\fn_exitChooseSpawn.sqf             QK`   BC_setup\functions\client\fn_initialSpawnClient.sqf             QK`y  BC_setup\functions\client\fn_isOnWater.sqf             QK`!  BC_setup\functions\client\fn_openSpawnDialog.sqf             QK`  BC_setup\functions\client\fn_spectatorDraw3D.sqf             QK`  BC_setup\functions\client\fn_streamator.sqf             QK`l  BC_setup\functions\client\fn_streamingSpectator.sqf             QK`  BC_setup\functions\client\fn_teleportPlayer.sqf             QK`  BC_setup\functions\client\fn_TFARsettings.sqf             QK`)  BC_setup\functions\server\fn_defineWoodland.sqf             QK`   BC_setup\functions\server\fn_findRandomPos.sqf             QK`  BC_setup\functions\server\fn_fuelDrain.sqf             QK`8  BC_setup\functions\server\fn_getHighestRankOfSide.sqf             QK`  BC_setup\functions\server\fn_getIslandCfgEntry.sqf             QK`V  BC_setup\functions\server\fn_initialSpawnServer.sqf             QK`  BC_setup\functions\server\fn_registerDynamicGroup.sqf             QK`x  BC_setup\functions\server\fn_removeFuelStations.sqf             QK`y  BC_setup\functions\server\fn_showLeaderInformation.sqf             QK`  BC_setup\functions\server\fn_teleportAI.sqf             QK`>  BC_setup\rscDefines.hpp             QK`]W  BC_setup\rscDialogs.hpp             QK`H  BC_setup\rscTitles.hpp             QK`  cba_settings.sqf             QK`9   compatibleIslands.txt             QK`  description.ext             QK`2  grad_carryBoat\cfgFunctions.hpp             PK`4  grad_carryBoat\cfgSounds.hpp             PK`E  grad_carryBoat\functions\fn_createBoat.sqf             QK`5  grad_carryBoat\functions\fn_dropBoat.sqf             QK`~  grad_carryBoat\functions\fn_interpretMouseClick.sqf             QK`Z   grad_carryBoat\functions\fn_interpretMouseWheel.sqf             QK`  grad_carryBoat\functions\fn_pickupBoat.sqf             QK`	  grad_carryBoat\sounds\pick.ogg             PK`r  grad_carryBoat\sounds\release_easy.ogg             PK`/  grad_carryBoat\sounds\release_hard.ogg             PK`"  grad_carryBoat\sounds\release_medium.ogg             PK`"  grad_carryBoat\sounds\strain1.ogg             PK`#  grad_carryBoat\sounds\strain2.ogg             PK`  grad_carryBoat\sounds\strain3.ogg             PK`%  grad_carryBoat\sounds\strain4.ogg             PK`n  grad_civMarker\cfgFunctions.hpp             QK`  grad_civMarker\functions\client\fn_civGunfightCreateClient.sqf             QK`g  grad_civMarker\functions\client\fn_civKilledCreateClient.sqf             QK`  grad_civMarker\functions\client\fn_createCivGunfightMarker.sqf             QK`  grad_civMarker\functions\client\fn_createCivKilledMarker.sqf             QK`  grad_civMarker\functions\client\fn_showCivGunfightHint.sqf             QK`   grad_civMarker\functions\client\fn_showCivKilledHint.sqf             QK`M   grad_civMarker\functions\server\fn_civGunfightListener.sqf             QK`  grad_civMarker\functions\server\fn_civKilledListener.sqf             QK`   grad_civs\cfgFunctions.hpp             QK`<  grad_civs\functions\behaviour\fn_addBrainEventhandler.sqf             QK`~  grad_civs\functions\behaviour\fn_addConversationAnswers.sqf             QK`  grad_civs\functions\behaviour\fn_findPositionOfInterest.sqf             QK`D  grad_civs\functions\behaviour\fn_fleeYouFool.sqf             QK`\  grad_civs\functions\debug\fn_showWhatTheyThink.sqf             QK`  grad_civs\functions\player\fn_addPointerTick.sqf             QK`  grad_civs\functions\player\fn_addQuestioningAction.sqf             QK`  grad_civs\functions\player\fn_createPilotMarker.sqf             QK`  grad_civs\functions\player\fn_questionCiv.sqf             QK` 6  grad_civs\functions\player\fn_showQuestioningAnswer.sqf             QK`d  grad_civs\functions\spawn\fn_addNewCivilian.sqf             QK`  grad_civs\functions\spawn\fn_addNewVehicle.sqf             QK`  grad_civs\functions\spawn\fn_clothDefinitions.sqf             QK`  grad_civs\functions\spawn\fn_createVehicleCargo.sqf             QK`  grad_civs\functions\spawn\fn_createVehicleDriver.sqf             QK`  grad_civs\functions\spawn\fn_dressAndBehave.sqf             QK`  grad_civs\functions\spawn\fn_findSpawnSegment.sqf             QK`K  grad_civs\functions\spawn\fn_getPlayerPositions.sqf             QK`	  grad_civs\functions\spawn\fn_serverLoop.sqf             QK`q  grad_civs\init.sqf             QK`  grad_islands\cfgFunctions.hpp             OK`   grad_islands\functions\fn_getIslandCfgValue.sqf             OK`  grad_tracking\cfgFunctions.hpp             OK`  grad_tracking\data\frequency_mockup.ogv             OK`S grad_tracking\data\monitor_01.paa             OK`:  grad_tracking\data\monitor_02.paa             OK`  grad_tracking\data\monitor_03.paa             OK`x  grad_tracking\functions\player\fn_createMarkerLastSeen.sqf             OK`X  grad_tracking\functions\player\fn_createMarkerRadioVeh.sqf             OK`=  grad_tracking\functions\player\fn_createMarkerTerminal.sqf             OK`>  grad_tracking\functions\player\fn_createRadioPositionMarkerLocal.sqf             OK`O  grad_tracking\functions\player\fn_ensureRadioVehMarkerAnimation.sqf             OK`  grad_tracking\functions\player\fn_ensureTerminalMarkerAnimation.sqf             OK`  grad_tracking\functions\player\fn_hintEndTransmission.sqf             OK`   grad_tracking\functions\player\fn_initClient.sqf             OK`  grad_tracking\functions\player\fn_listenerInterval.sqf             OK`  grad_tracking\functions\player\fn_listenerTicks.sqf             OK`  grad_tracking\functions\player\fn_radioVehMarkerAnimation.sqf             OK`  grad_tracking\functions\player\fn_setMarkerColorAndText.sqf             OK`  grad_tracking\functions\player\fn_showIntervalWarning.sqf             OK`&  grad_tracking\functions\player\fn_showMarkerUpdateHint.sqf             OK`2   grad_tracking\functions\player\fn_showTicksInstant.sqf             OK`  grad_tracking\functions\player\fn_showTicksWarning.sqf             OK`  grad_tracking\functions\player\fn_terminalClose.sqf             OK`r  grad_tracking\functions\player\fn_terminalDetach.sqf             OK`  grad_tracking\functions\player\fn_terminalDistanceHint.sqf             OK`  grad_tracking\functions\player\fn_terminalDistanceListenerClient.sqf             OK`  grad_tracking\functions\player\fn_terminalMarkerAnimation.sqf             OK`  grad_tracking\functions\player\fn_terminalOpen.sqf             OK`(  grad_tracking\functions\server\fn_bluforCaptured.sqf             OK`9   grad_tracking\functions\server\fn_bluforSurrendered.sqf             OK`j   grad_tracking\functions\server\fn_booleanEqual.sqf             OK`2   grad_tracking\functions\server\fn_createRadioPositionMarker.sqf             OK`  grad_tracking\functions\server\fn_getTransmissionPercentage.sqf             OK`   grad_tracking\functions\server\fn_mainLoop.sqf             OK`'  grad_tracking\functions\server\fn_nearestIsFinished.sqf             OK`T  grad_tracking\functions\server\fn_radioTruckCookoffFix.sqf             OK`j  grad_tracking\functions\server\fn_radioTruckDeploy.sqf             OK`  grad_tracking\functions\server\fn_radioTruckRetract.sqf             OK`  grad_tracking\functions\server\fn_radioVehIsSending.sqf             OK`   grad_tracking\functions\server\fn_randomizeMarker.sqf             OK`  grad_tracking\functions\server\fn_setRadioVehMarkerPosition.sqf             OK`  grad_tracking\functions\server\fn_setRadioVehMarkerSize.sqf             OK`  grad_tracking\functions\server\fn_setRadioVehMarkerStatus.sqf             OK`	  grad_tracking\functions\server\fn_setTerminalMarkerPosition.sqf             OK`   grad_tracking\functions\server\fn_setTerminalMarkerStatus.sqf             OK`"  grad_tracking\functions\server\fn_showTicksInstant.sqf             OK`J   grad_tracking\functions\server\fn_terminalAttachToVeh.sqf             OK`  grad_tracking\functions\server\fn_terminalCalculateDistanceModifier.sqf             OK`s  grad_tracking\functions\server\fn_terminalDistanceListenerServer.sqf             OK`   grad_tracking\functions\server\fn_terminalDistanceToVehCalc.sqf             OK`y  grad_tracking\functions\server\fn_terminalIsSending.sqf             OK`   grad_tracking\init.sqf             OK`9  init.sqf             QK`  initPlayerLocal.sqf             QK`W  initserver.sqf             QK`  LICENSE             QK`  LIST_N.hpp             AK`  mission.sqm             QK` missionMacros.h             AK`   node_modules\.package-lock.json             PK`  node_modules\@gruppe-adler\replay\cfgFunctions.hpp             PK`  node_modules\@gruppe-adler\replay\functions\player\fn_addReplayPart.sqf             PK`Y  node_modules\@gruppe-adler\replay\functions\player\fn_animateShot.sqf             PK`  node_modules\@gruppe-adler\replay\functions\player\fn_assembleReplayData.sqf             PK`   node_modules\@gruppe-adler\replay\functions\player\fn_createMapOverlay.sqf             PK`   node_modules\@gruppe-adler\replay\functions\player\fn_drawIcon.sqf             PK`  node_modules\@gruppe-adler\replay\functions\player\fn_getColorFromID.sqf             PK`   node_modules\@gruppe-adler\replay\functions\player\fn_getRecordEntry.sqf             PK`(  node_modules\@gruppe-adler\replay\functions\player\fn_initReplay.sqf             PK`   node_modules\@gruppe-adler\replay\functions\player\fn_onPlaybackPosChanged.sqf             PK`*  node_modules\@gruppe-adler\replay\functions\player\fn_preparePlaybackClient.sqf             PK`  node_modules\@gruppe-adler\replay\functions\player\fn_receiveData.sqf             PK`   node_modules\@gruppe-adler\replay\functions\player\fn_removeDrawEventhandler.sqf             PK`   node_modules\@gruppe-adler\replay\functions\player\fn_setPlayPauseDisplay.sqf             PK`  node_modules\@gruppe-adler\replay\functions\player\fn_setTimeDisplay.sqf             PK`  node_modules\@gruppe-adler\replay\functions\player\fn_showHintPause.sqf             PK`  node_modules\@gruppe-adler\replay\functions\player\fn_showHintPlay.sqf             PK`  node_modules\@gruppe-adler\replay\functions\player\fn_showHintReplayFinished.sqf             PK`  node_modules\@gruppe-adler\replay\functions\player\fn_showPlaybackControl.sqf             PK`  node_modules\@gruppe-adler\replay\functions\player\fn_showProgressBar.sqf             PK`	  node_modules\@gruppe-adler\replay\functions\player\fn_startPlaybackClient.sqf             PK`  node_modules\@gruppe-adler\replay\functions\player\fn_stopPlaybackClient.sqf             PK`I  node_modules\@gruppe-adler\replay\functions\player\fn_syncPlaybackPos.sqf             PK`6   node_modules\@gruppe-adler\replay\functions\player\script_component.hpp             PK`#   node_modules\@gruppe-adler\replay\functions\script_component.hpp             PK`#   node_modules\@gruppe-adler\replay\functions\server\fn_canTrackUnit.sqf             PK`  node_modules\@gruppe-adler\replay\functions\server\fn_getColorIdForUnit.sqf             PK`H  node_modules\@gruppe-adler\replay\functions\server\fn_getColorIdForUnit_bySide.sqf             PK`   node_modules\@gruppe-adler\replay\functions\server\fn_getSideColorID.sqf             PK`q   node_modules\@gruppe-adler\replay\functions\server\fn_init.sqf             PK`  node_modules\@gruppe-adler\replay\functions\server\fn_onFiredMan.sqf             PK`x  node_modules\@gruppe-adler\replay\functions\server\fn_pauseRecord.sqf             PK`v   node_modules\@gruppe-adler\replay\functions\server\fn_preparePlaybackServer.sqf             PK`  node_modules\@gruppe-adler\replay\functions\server\fn_setMeSpectator.sqf             PK`   node_modules\@gruppe-adler\replay\functions\server\fn_startRecord.sqf             PK`  node_modules\@gruppe-adler\replay\functions\server\fn_stopRecord.sqf             PK`^   node_modules\@gruppe-adler\replay\functions\server\fn_storeValue.sqf             PK`  node_modules\@gruppe-adler\replay\functions\server\script_component.hpp             PK`#   node_modules\@gruppe-adler\replay\LICENSE             PK`K  node_modules\@gruppe-adler\replay\package.json             PK`q   node_modules\@gruppe-adler\replay\README.md             PK`?  node_modules\@gruppe-adler\replay\script_component.hpp             PK`^   node_modules\@gruppe-adler\replay\ui\defines.hpp             PK`U  node_modules\@gruppe-adler\replay\ui\dialog.hpp             PK`  node_modules\@gruppe-adler\replay\ui\pause.paa             PK``  node_modules\@gruppe-adler\replay\ui\play.paa             PK`b  node_modules\grad-fortifications\.gitattributes             PK`  node_modules\grad-fortifications\.npmignore             PK`  node_modules\grad-fortifications\cfgFunctions.hpp             PK`
  node_modules\grad-fortifications\data\altkey.paa             PK`|^  node_modules\grad-fortifications\data\checkmark.paa             PK`r_  node_modules\grad-fortifications\data\ctrlkey.paa             PK`f_  node_modules\grad-fortifications\data\error.paa             PK`^  node_modules\grad-fortifications\data\sandbags.paa             PK` V  node_modules\grad-fortifications\data\shiftkey.paa             PK`D^  node_modules\grad-fortifications\data\tabkey.paa             PK`^  node_modules\grad-fortifications\data\warning.paa             PK``  node_modules\grad-fortifications\dialog\baseDefines.hpp             PK`u	  node_modules\grad-fortifications\dialog\baseRsc.hpp             PK`)  node_modules\grad-fortifications\dialog\hint\defines.hpp             PK`  node_modules\grad-fortifications\dialog\hint\title.hpp             PK`  node_modules\grad-fortifications\dialog\menu\defines.hpp             PK`.	  node_modules\grad-fortifications\dialog\menu\dialog.hpp             PK`  node_modules\grad-fortifications\dialog\ui_toolkit.hpp             PK`  node_modules\grad-fortifications\dialog\vehicle\defines.hpp             PK`s  node_modules\grad-fortifications\dialog\vehicle\dialog.hpp             PK`n  node_modules\grad-fortifications\functions\collision\fn_checkCollisionPFH.sqf             PK`  node_modules\grad-fortifications\functions\collision\fn_getBoundingLines.sqf             PK`  node_modules\grad-fortifications\functions\collision\fn_getGroundLines.sqf             PK`  node_modules\grad-fortifications\functions\collision\fn_getVisualLines.sqf             PK`(  node_modules\grad-fortifications\functions\collision\fn_isColliding.sqf             PK`  node_modules\grad-fortifications\functions\collision\fn_isOnGround.sqf             PK`  node_modules\grad-fortifications\functions\collision\fn_linesToWorld.sqf             PK`   node_modules\grad-fortifications\functions\collision\fn_shrinkLines.sqf             PK`   node_modules\grad-fortifications\functions\common\fn_addFort.sqf             OK`  node_modules\grad-fortifications\functions\common\fn_addVehicleInteractions.sqf             OK`  node_modules\grad-fortifications\functions\common\fn_allowDemolition.sqf             OK`j   node_modules\grad-fortifications\functions\common\fn_allowPackUp.sqf             OK`h   node_modules\grad-fortifications\functions\common\fn_canTake.sqf             OK`  node_modules\grad-fortifications\functions\common\fn_doAnimation.sqf             OK`  node_modules\grad-fortifications\functions\common\fn_getDisplayName.sqf             OK`   node_modules\grad-fortifications\functions\common\fn_getModuleRoot.sqf             OK`  node_modules\grad-fortifications\functions\common\fn_getObjectSize.sqf             OK`y  node_modules\grad-fortifications\functions\common\fn_getVehicleInventorySize.sqf             OK`[  node_modules\grad-fortifications\functions\common\fn_initModule.sqf             PK`D  node_modules\grad-fortifications\functions\common\fn_initSettings.sqf             OK`  node_modules\grad-fortifications\functions\common\fn_isOwner.sqf             OK`w  node_modules\grad-fortifications\functions\common\fn_isVehicle.sqf             OK`@  node_modules\grad-fortifications\functions\common\fn_removeFort.sqf             OK`)  node_modules\grad-fortifications\functions\common\fn_setBuildTimeFactor.sqf             OK`h   node_modules\grad-fortifications\functions\common\fn_setCollisionDebugMode.sqf             OK`g   node_modules\grad-fortifications\functions\common\fn_setDemolishTimeFactor.sqf             OK`k   node_modules\grad-fortifications\functions\common\fn_setPackUpTimeFactor.sqf             OK`i   node_modules\grad-fortifications\functions\common\fn_stopAnimation.sqf             OK`  node_modules\grad-fortifications\functions\common\fn_storageAction.sqf             PK`,  node_modules\grad-fortifications\functions\drop\fn_dropFort.sqf             OK`S  node_modules\grad-fortifications\functions\drop\fn_initDropCrate.sqf             OK`\  node_modules\grad-fortifications\functions\drop\fn_requestInteractionServer.sqf             OK`  node_modules\grad-fortifications\functions\drop\fn_respondInteractionClient.sqf             OK`  node_modules\grad-fortifications\functions\place\fn_addKeyEHs.sqf             PK`  node_modules\grad-fortifications\functions\place\fn_addMouseEHs.sqf             PK`|  node_modules\grad-fortifications\functions\place\fn_addUpdatePFH.sqf             PK`  node_modules\grad-fortifications\functions\place\fn_cancelPlacement.sqf             PK`  node_modules\grad-fortifications\functions\place\fn_demolish.sqf             PK`  node_modules\grad-fortifications\functions\place\fn_initFort.sqf             PK`  node_modules\grad-fortifications\functions\place\fn_packUp.sqf             PK`  node_modules\grad-fortifications\functions\place\fn_placeFortification.sqf             PK`
  node_modules\grad-fortifications\functions\place\fn_removeAllEHs.sqf             PK`<  node_modules\grad-fortifications\functions\place\fn_setDirection.sqf             PK`   node_modules\grad-fortifications\functions\place\fn_setPosition.sqf             PK`$  node_modules\grad-fortifications\functions\place\fn_setUp.sqf             PK`  node_modules\grad-fortifications\functions\place\fn_spawnFortification.sqf             PK`g  node_modules\grad-fortifications\functions\place\fn_startPlacement.sqf             PK`  node_modules\grad-fortifications\functions\ui\fn_doBuild.sqf             OK`P  node_modules\grad-fortifications\functions\ui\fn_doDrop.sqf             OK`  node_modules\grad-fortifications\functions\ui\fn_doTake.sqf             OK`  node_modules\grad-fortifications\functions\ui\fn_loadFortDialog.sqf             OK`  node_modules\grad-fortifications\functions\ui\fn_loadVehicleDialog.sqf             OK`S  node_modules\grad-fortifications\functions\ui\fn_onSelChanged.sqf             OK`  node_modules\grad-fortifications\functions\ui\fn_openHint.sqf             OK`2  node_modules\grad-fortifications\functions\ui\fn_rotateModel.sqf             OK`v  node_modules\grad-fortifications\functions\ui\fn_updateButtons.sqf             OK`  node_modules\grad-fortifications\functions\ui\fn_updateHint.sqf             OK`	  node_modules\grad-fortifications\functions\ui\fn_updateItemList.sqf             OK`  node_modules\grad-fortifications\functions\ui\fn_updateListTitles.sqf             OK`K  node_modules\grad-fortifications\functions\ui\fn_updateModel.sqf             OK`<  node_modules\grad-fortifications\functions\vehicle\fn_requestStoreTake.sqf             PK`  node_modules\grad-fortifications\functions\vehicle\fn_respondStoreTake.sqf             PK`  node_modules\grad-fortifications\grad_fortifications.hpp             PK`   node_modules\grad-fortifications\package.json             PK`4  node_modules\grad-fortifications\README.md             PK`  node_modules\grad-islandconfig\cfgGradIslands.hpp             PK`R  node_modules\grad-islandconfig\islands.txt             PK`  node_modules\grad-islandconfig\LICENSE             PK`  node_modules\grad-islandconfig\package.json             PK`   node_modules\grad-islandconfig\README.md             PK`  node_modules\grad-listbuymenu\.gitattributes             OK`z  node_modules\grad-listbuymenu\cfgFunctions.hpp             OK`	  node_modules\grad-listbuymenu\data\moneyIcon.paa             OK`  node_modules\grad-listbuymenu\data\questionmark.paa             OK` V  node_modules\grad-listbuymenu\defines_tracking.hpp             OK`  node_modules\grad-listbuymenu\dialog\baseDefines.hpp             OK`	  node_modules\grad-listbuymenu\dialog\baseRsc.hpp             OK`  node_modules\grad-listbuymenu\dialog\defines.hpp             OK`X  node_modules\grad-listbuymenu\dialog\dialog.hpp             OK`7  node_modules\grad-listbuymenu\dialog\ui_toolkit.hpp             OK`  node_modules\grad-listbuymenu\functions\buy\fn_buyClient.sqf             OK`Y  node_modules\grad-listbuymenu\functions\buy\fn_buyItem.sqf             OK`  node_modules\grad-listbuymenu\functions\buy\fn_buyServer.sqf             OK`  node_modules\grad-listbuymenu\functions\buy\fn_buyUnit.sqf             OK`2  node_modules\grad-listbuymenu\functions\buy\fn_buyVehicle.sqf             OK`	  node_modules\grad-listbuymenu\functions\buy\fn_buyWeapon.sqf             OK`+  node_modules\grad-listbuymenu\functions\buy\fn_buyWearable.sqf             OK`N
  node_modules\grad-listbuymenu\functions\buy\fn_callCodeClient.sqf             OK`   node_modules\grad-listbuymenu\functions\buy\fn_callCodeServer.sqf             OK`   node_modules\grad-listbuymenu\functions\buy\fn_reimburse.sqf             OK`   node_modules\grad-listbuymenu\functions\buy\fn_vehicleMarker.sqf             OK`  node_modules\grad-listbuymenu\functions\common\fn_addFunds.sqf             OK`  node_modules\grad-listbuymenu\functions\common\fn_addInteraction.sqf             OK`Y  node_modules\grad-listbuymenu\functions\common\fn_addStock.sqf             OK`  node_modules\grad-listbuymenu\functions\common\fn_checkCargoSpace.sqf             OK`c  node_modules\grad-listbuymenu\functions\common\fn_getCurrentFunds.sqf             OK`  node_modules\grad-listbuymenu\functions\common\fn_getDescription.sqf             OK`@  node_modules\grad-listbuymenu\functions\common\fn_getDisplayName.sqf             OK`   node_modules\grad-listbuymenu\functions\common\fn_getFunds.sqf             OK`4  node_modules\grad-listbuymenu\functions\common\fn_getItemPermissionLevel.sqf             OK`  node_modules\grad-listbuymenu\functions\common\fn_getModuleRoot.sqf             OK`  node_modules\grad-listbuymenu\functions\common\fn_getPermissionLevel.sqf             OK`s   node_modules\grad-listbuymenu\functions\common\fn_getPicturePath.sqf             OK`l  node_modules\grad-listbuymenu\functions\common\fn_getStock.sqf             OK`  node_modules\grad-listbuymenu\functions\common\fn_isVehicle.sqf             OK`  node_modules\grad-listbuymenu\functions\common\fn_loadBuymenu.sqf             OK`  node_modules\grad-listbuymenu\functions\common\fn_rotateModel.sqf             OK`@  node_modules\grad-listbuymenu\functions\common\fn_setFunds.sqf             OK`5  node_modules\grad-listbuymenu\functions\common\fn_setPermissionLevel.sqf             OK`y   node_modules\grad-listbuymenu\functions\common\fn_setStock.sqf             OK`  node_modules\grad-listbuymenu\functions\init\fn_addPlayerEHs.sqf             OK`  node_modules\grad-listbuymenu\functions\init\fn_initClient.sqf             OK`\  node_modules\grad-listbuymenu\functions\init\fn_initStocks.sqf             OK`  node_modules\grad-listbuymenu\functions\init\fn_initVehicles.sqf             OK`O  node_modules\grad-listbuymenu\functions\tracking\fn_clearTrackingData.sqf             OK`  node_modules\grad-listbuymenu\functions\tracking\fn_createBackground.sqf             OK`n  node_modules\grad-listbuymenu\functions\tracking\fn_createMain.sqf             OK`  node_modules\grad-listbuymenu\functions\tracking\fn_createSidebar.sqf             OK`  node_modules\grad-listbuymenu\functions\tracking\fn_deleteEntry.sqf             OK`D  node_modules\grad-listbuymenu\functions\tracking\fn_enableTracking.sqf             OK`   node_modules\grad-listbuymenu\functions\tracking\fn_fillEditBox.sqf             OK`=  node_modules\grad-listbuymenu\functions\tracking\fn_getMax.sqf             OK`_  node_modules\grad-listbuymenu\functions\tracking\fn_getTrackingTag.sqf             OK`   node_modules\grad-listbuymenu\functions\tracking\fn_initTracking.sqf             OK`@  node_modules\grad-listbuymenu\functions\tracking\fn_onTrackingTagKeydown.sqf             OK`	  node_modules\grad-listbuymenu\functions\tracking\fn_openDialog.sqf             OK`  node_modules\grad-listbuymenu\functions\tracking\fn_receiveData.sqf             OK`G  node_modules\grad-listbuymenu\functions\tracking\fn_requestData.sqf             OK`  node_modules\grad-listbuymenu\functions\tracking\fn_trackHashCleanup.sqf             OK`S	  node_modules\grad-listbuymenu\functions\tracking\fn_trackHashUpdate.sqf             OK`s  node_modules\grad-listbuymenu\functions\tracking\fn_trackPurchase.sqf             OK`
  node_modules\grad-listbuymenu\functions\tracking\fn_updateBuyablesDropdown.sqf             OK`  node_modules\grad-listbuymenu\functions\tracking\fn_updateCategoryDropdown.sqf             OK`  node_modules\grad-listbuymenu\functions\tracking\fn_updateMain.sqf             OK`M  node_modules\grad-listbuymenu\functions\update\fn_updateBuyButton.sqf             OK`  node_modules\grad-listbuymenu\functions\update\fn_updateCategories.sqf             OK`  node_modules\grad-listbuymenu\functions\update\fn_updateFunds.sqf             OK`V  node_modules\grad-listbuymenu\functions\update\fn_updateItemData.sqf             OK`  node_modules\grad-listbuymenu\functions\update\fn_updateList.sqf             OK`  node_modules\grad-listbuymenu\functions\update\fn_updatePicture.sqf             OK`  node_modules\grad-listbuymenu\grad_listBuymenu.hpp             OK`   node_modules\grad-listbuymenu\package.json             OK`  node_modules\grad-listbuymenu\README.md             OK`  node_modules\grad-listbuymenu\ui_toolkit.hpp             OK`  node_modules\grad-loadout\cfgFunctions.hpp             PK`  node_modules\grad-loadout\docs\.nojekyll             PK`    node_modules\grad-loadout\docs\configuration.md             PK`  node_modules\grad-loadout\docs\creatingLoadouts.md             PK`;2  node_modules\grad-loadout\docs\customGear.md             PK`J  node_modules\grad-loadout\docs\functions.md             PK`(  node_modules\grad-loadout\docs\home.md             PK`  node_modules\grad-loadout\docs\index.html             PK`  node_modules\grad-loadout\docs\installation.md             PK`  node_modules\grad-loadout\docs\variables.md             PK`  node_modules\grad-loadout\docs\_sidebar.md             PK`!  node_modules\grad-loadout\functions\api\component.hpp             PK`   node_modules\grad-loadout\functions\api\fn_doLoadoutForUnit.sqf             PK`  node_modules\grad-loadout\functions\api\fn_loadoutViewer.sqf             PK`V  node_modules\grad-loadout\functions\api\fn_setAllowedCategories.sqf             PK`   node_modules\grad-loadout\functions\api\fn_setRandomizationMode.sqf             PK`   node_modules\grad-loadout\functions\api\fn_verifyLoadouts.sqf             PK`9  node_modules\grad-loadout\functions\component.hpp             PK`i   node_modules\grad-loadout\functions\customgear\component.hpp             PK`  node_modules\grad-loadout\functions\customgear\fn_addCustomGearInteraction.sqf             PK`  node_modules\grad-loadout\functions\customgear\fn_createCustomGearDialog.sqf             PK`  node_modules\grad-loadout\functions\customgear\fn_getCurrentItem.sqf             PK`0  node_modules\grad-loadout\functions\customgear\fn_getCustomGearOptions.sqf             PK`&  node_modules\grad-loadout\functions\customgear\fn_initCustomGear.sqf             PK`L  node_modules\grad-loadout\functions\customgear\fn_onCustomGearListSelection.sqf             PK`  node_modules\grad-loadout\functions\customgear\fn_onCustomGearTabButton.sqf             PK`t  node_modules\grad-loadout\functions\customgear\fn_onCustomGearUnload.sqf             PK`2  node_modules\grad-loadout\functions\customgear\fn_openCustomGearDialog.sqf             PK`  node_modules\grad-loadout\functions\customgear\fn_updateCamera.sqf             PK`  node_modules\grad-loadout\functions\defactionizers\component.hpp             PK`   node_modules\grad-loadout\functions\defactionizers\fn_vanillaCivDefactionizer.sqf             PK`   node_modules\grad-loadout\functions\defactionizers\fn_vanillaMilitaryDefactionizer.sqf             PK`  node_modules\grad-loadout\functions\extract\component.hpp             PK`   node_modules\grad-loadout\functions\extract\fn_extractLoadoutFromConfig.sqf             PK`  node_modules\grad-loadout\functions\extract\fn_getPathExtractor.sqf             PK`  node_modules\grad-loadout\functions\general\component.hpp             PK`   node_modules\grad-loadout\functions\general\fn_addChatCommands.sqf             PK`D  node_modules\grad-loadout\functions\general\fn_applyLoadout.sqf             PK`(  node_modules\grad-loadout\functions\general\fn_assignRespawn.sqf             PK`x   node_modules\grad-loadout\functions\general\fn_defactionizeType.sqf             PK`9  node_modules\grad-loadout\functions\general\fn_doLoadout.sqf             PK`  node_modules\grad-loadout\functions\general\fn_factionGetLoadout.sqf             PK`   node_modules\grad-loadout\functions\general\fn_factionSetLoadout.sqf             PK`   node_modules\grad-loadout\functions\general\fn_getApplicableUnits.sqf             PK`  node_modules\grad-loadout\functions\general\fn_getLoadoutConfigPath.sqf             PK`   node_modules\grad-loadout\functions\general\fn_getUnitLoadoutFromConfig.sqf             PK`  node_modules\grad-loadout\functions\general\fn_getUnusedConfigs.sqf             PK`  node_modules\grad-loadout\functions\general\fn_hashToUnitLoadout.sqf             PK`s  node_modules\grad-loadout\functions\general\fn_initGlobals.sqf             PK`  node_modules\grad-loadout\functions\general\fn_mergeLoadoutHierarchy.sqf             PK`  node_modules\grad-loadout\functions\general\fn_normalizeContent.sqf             PK`  node_modules\grad-loadout\functions\general\fn_randomizeLoadout.sqf             PK`
  node_modules\grad-loadout\functions\general\fn_removeRadios.sqf             PK`&  node_modules\grad-loadout\functions\general\fn_scheduleLoadout.sqf             PK`  node_modules\grad-loadout\functions\general\fn_weaponIsCompatibleMagazine.sqf             PK`   node_modules\grad-loadout\functions\revivers\component.hpp             PK`   node_modules\grad-loadout\functions\revivers\fn_addReviver.sqf             PK`  node_modules\grad-loadout\functions\revivers\fn_applyRevivers.sqf             PK`  node_modules\grad-loadout\functions\revivers\fn_getRevivers.sqf             PK`m   node_modules\grad-loadout\module.hpp             PK`
  node_modules\grad-loadout\package.json             PK`  node_modules\grad-loadout\README.md             PK`d  node_modules\grad-loadout\tools\cli.ts             PK`  node_modules\grad-loadout\tools\unitLoadoutToGradLoadout.ts             PK`  node_modules\grad-loadout\tools\web.html             PK`=  node_modules\grad-loadout\_config.yml             PK`   node_modules\grad-tvtsettings\cba_settings.sqf             PK`  node_modules\grad-tvtsettings\LICENSE             PK`  node_modules\grad-tvtsettings\package.json             PK`U  node_modules\grad-tvtsettings\README.md             PK`  node_modules\shk_pos\functions\shk_pos_fnc_findclosestposition.sqf             OK`  node_modules\shk_pos\functions\shk_pos_fnc_getmarkercorners.sqf             OK`2  node_modules\shk_pos\functions\shk_pos_fnc_getmarkershape.sqf             OK`  node_modules\shk_pos\functions\shk_pos_fnc_getpos.sqf             OK`M  node_modules\shk_pos\functions\shk_pos_fnc_getposfromcircle.sqf             OK`Z  node_modules\shk_pos\functions\shk_pos_fnc_getposfromellipse.sqf             OK`(  node_modules\shk_pos\functions\shk_pos_fnc_getposfromrectangle.sqf             OK`  node_modules\shk_pos\functions\shk_pos_fnc_getposfromsquare.sqf             OK`x  node_modules\shk_pos\functions\shk_pos_fnc_isblacklisted.sqf             OK`k
  node_modules\shk_pos\functions\shk_pos_fnc_isincircle.sqf             OK`,  node_modules\shk_pos\functions\shk_pos_fnc_isinellipse.sqf             OK`w  node_modules\shk_pos\functions\shk_pos_fnc_isinrectangle.sqf             OK`  node_modules\shk_pos\functions\shk_pos_fnc_issameposition.sqf             OK`9  node_modules\shk_pos\functions\shk_pos_fnc_rotateposition.sqf             OK`I  node_modules\shk_pos\functions\shk_pos_getpos.sqf             OK`  node_modules\shk_pos\functions\shk_pos_getposmarker.sqf             OK`
  node_modules\shk_pos\functions\shk_pos_init.sqf             OK`  node_modules\shk_pos\package.json             OK`L  node_modules\shk_pos\README.md             OK`e   onPlayerKilled.sqf             PK`  onPlayerRespawn.sqf             QK`  package-lock.json             QK`  package.json             PK`  pic\16dec.paa             PK`  pic\3cbga.paa             PK`r pic\adlerttt.paa             PK`t  pic\bc_logo.paa             PK`d pic\bdr3cb101.paa             PK`  pic\bi_event.paa             PK`ɺ  pic\blufor_please_wait.paa             PK`t  pic\brigade13ga.paa             PK`F  pic\civ_gunfight_badge.paa             PK`՚  pic\civ_killed_badge.paa             PK`u  pic\gruppe-adler-opt.paa             PK`p  pic\gruppe-adler.paa             PK`  pic\kv13gaopt.paa             PK`K  pic\loading.jpg             PK` pic\lock.paa             PK` V  pic\opfor_please_wait.paa             PK`t  pic\rus_satellite_badge.paa             PK`Px  pic\rus_satellite_badge_lost.paa             PK`  pic\terminal.paa             PK`sp  pic\us_satellite_badge.paa             PK`{  pic\us_satellite_badge_lost.paa             PK`[  README.md             QK`V	  slotlist.xml             QK`  slotlist_public.xml             QK`(  slotlist_tanks.xml             PK`z	  sounds\beam.ogg             PK`  sounds\beep2.ogg             PK`<  sounds\signal_distortion.ogg             PK`  sounds\signal_lost.ogg             PK`D  stringtable.xml             QK`f  tools\config_style_checker.py             QK`;  tools\lint.sh             QK`Z  tools\preprocess.sh             QK`  tools\sqf_validator.py             QK`   tools\sql_linter.py             QK`                       # editorconfig.org
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false
language: python
python:
- '3.5'
script: skip
stages:
  - syntax
  - code_style
  - linting
jobs:
  include:
    - stage: syntax
      name: "SQF validator from CBA"
      script: python3 tools/sqf_validator.py
    - stage: code_style
      name: "config styling"
      script: python3 tools/config_style_checker.py
    - stage: linting
      name: "sqflint"
      install: pip install sqflint
      script: bash tools/lint.sh -d . -C /tmp
class BC_buyables {

    class buyables {
        file = BC_buyables\functions;

        class clientInit { preInit = 1; };
        class configureBluforStartVehicle;
        class configureOpforStartVehicle;
        class mudschaVehicleDeko;
        class serverInit { postInit = 1; };
    };
};//a different set of buyables
class bwGM {
    side = "Blufor";
    loadout = "bwGM";
    mode = "conquer";
    driverGps = "false";
    crewHelmet = "gm_ge_headgear_crewhat_80_blk";
    disableTIEquipment = "true";

    // needs to be in every faction
    class StartVehicle {
        type = "gm_ge_army_iltis_cargo_oli";
        condition = "false";

        class gm_ge_army_iltis_cargo_oli {
            condition = "BC_IS_WOODLAND";
            code = "[(_this select 0)] call BC_buyables_fnc_configureBluforStartVehicle;";
            vehicleInit = "[['gm_ge_oli',1],['beacon_1_1_org_unhide',0,'beacon_1_1_blu_unhide',0,'doorBag_unhide',0,'radio_01_unhide',1,'radio_02_unhide',1,'cover_hoops_unhide',1,'cover_doors_unhide',1,'windshield',0,'coldWeatherKit_unhide',0]]";
        };

        class gm_ge_army_iltis_cargo_des {
            condition = "!BC_IS_WOODLAND";
        };
    };

    class Logistics {
        displayName = "Logistics";
        kindOf = "Vehicles";
        maxBuyCount = 9;
        minPlayerCount = 0;

        class gm_ge_army_u1300l_cargo_oli {
            displayName = "U1300L";
            description = "Carries soldiers soft armored.";
            price = 10;
            stock = 7;
            spawnEmpty = 1;
            wheelCargo = 4;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "['beacon_1_1_org_unhide',0,'beacon_1_1_blu_unhide',0,'doorBag_unhide',0,'radio_01_unhide',1,'radio_02_unhide',0,'cover_hoops_unhide',0,'cover_doors_unhide',0,'windshield',0,'coldWeatherKit_unhide',0]";
        };

        class gm_ge_army_u1300l_cargo_des: gm_ge_army_u1300l_cargo_oli {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['rhs_desert',1],['hide_cover',0,'hide_spare',0,'hide_scaffold',0,'hide_bench',0]]";
        };

        class gm_ge_army_iltis_cargo_oli {
            displayName = "Iltis";
            description = "Fast and small.";
            price = 10;
            stock = 4;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[[],[]]";
        };

        class gm_ge_army_iltis_cargo_des {
            code = "[(_this select 0), [['mud','mud_olive'] select BC_IS_WOODLAND,1], ['tailgateHide',0,'tailgate_open',0,'cage_fold',0]] call BIS_fnc_initVehicle;";
            condition = "!BC_IS_WOODLAND";
        };


        class gm_ge_army_k125 {
            displayName = "K125";
            description = "Agile but protectionless.";
            price = 10;
            stock = 8;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "true";
            vehicleInit = "[[],[]]";
        };
    };


    class Recon {
        displayName = "Recon";
        kindOf = "Vehicles";
        maxBuyCount = 2;
        minPlayerCount = 20;

        class gm_ge_army_m113a1g_command_oli {
            displayName = "M113";
            description = "Unarmed Armored Carrier";
            price = 10;
            stock = 2;
            code = "";
            spawnEmpty = 1;
            condition = "BC_IS_WOODLAND";
            crewHelmet = "gm_ge_headgear_crewhat_80_blk";
            vehicleInit = "[[],[]]";
        };

        class gm_ge_army_m113a1g_command_des {
             condition = "!BC_IS_WOODLAND";
        };

        class gm_ge_army_kat1_454_cargo_oli {
            displayName = "Cougar IMV";
            description = "Perfect commander limousine.";
            price = 10;
            stock = 2;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[[],[]]";
        };

        class gm_ge_army_kat1_454_cargo_des: gm_ge_army_kat1_454_cargo_oli {
            condition = "!BC_IS_WOODLAND";
        };        

    };


    class Support {
        displayName = "Support";
        kindOf = "Vehicles";
        maxBuyCount = 1;
        minPlayerCount = 40;

        class gm_ge_army_fuchsa0_engineer_oli {
            displayName = "Fuchs Engineer Version";
            description = "Armed carrier.";
            price = 10;
            stock = 7;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[[],[]]";
        };

        class gm_ge_army_fuchsa0_engineer_ols: gm_ge_army_fuchsa0_engineer_oli {
            condition = "!BC_IS_WOODLAND";
        };

        class gm_ge_army_m113a1g_apc_oli {
            displayName = "M113 Alt";
            description = "Versatile APC.";
            stock = 7;
            spawnEmpty = 1;
            trackCargo = 3;
            condition = "BC_IS_WOODLAND";
            crewHelmet = "gm_ge_headgear_crewhat_80_blk";
            vehicleInit = "[[],[]]";
        };

        class gm_ge_army_m113a1g_apc_des: gm_ge_army_m113a1g_apc_oli {
            condition = "!BC_IS_WOODLAND";
        };
    };

    class Heavy {
        displayName = "Heavy";
        kindOf = "Vehicles";
        maxBuyCount = 1;
        minPlayerCount = 60;

        class gm_ge_army_fuchsa0_reconnaissance_oli {
            displayName = "Fuchs MG3 (wheeled)";
            description = "Heavily Armed carrier.";
            stock = 7;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            crewHelmet = "gm_ge_headgear_crewhat_80_blk";
            vehicleInit = "[[],[]]";
        };

        class gm_ge_army_fuchsa0_reconnaissance_ols: gm_ge_army_fuchsa0_reconnaissance_oli {
            condition = "!BC_IS_WOODLAND";
        };

        class gm_ge_army_m113a1g_apc_milan_oli {
            displayName = "Armed carrier (tracked).";
            description = "";
            stock = 7;
            spawnEmpty = 1;
            crewHelmet = "gm_ge_headgear_crewhat_80_blk";
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[[],[]]";
        };

        class gm_ge_army_m113a1g_apc_milan_des: gm_ge_army_m113a1g_apc_milan_oli {
            condition = "!BC_IS_WOODLAND";
        };
    };

    class Special {
        displayName = "Special";
        kindOf = "Special";
        maxBuyCount = 2;

        class I_C_Boat_Transport_01_F {
            kindOf = "Special";
            displayName = "Boat + Diving Equipment inside * 4";
            description = "Get it in the Start Vehicle (ACE Interaction).";
            stock = 1;
            code = "(_this select 1) setVariable ['grad_carryBoatCargo', 1, true];[(_this select 1)] remoteExec ['BC_buymenu_fnc_addBoatInteraction', [0,-2] select isDedicated];";
            spawnEmpty = 1;
        };

        class gm_AmmoBox_6Rnd_mine_ap_dm31_put {
            kindOf = "Special";
            displayName = "Breaching Equipment";
            description = "Explosives and Wirecutter in Start Vehicle.";
            stock = 1;
            code = "(_this select 1) addItemCargoGlobal ['ACE_wirecutter',2];(_this select 1) addItemCargoGlobal ['ACE_Clacker',2];(_this select 1) addMagazineCargoGlobal ['gm_explosive_petn_charge', 2];";
            spawnEmpty = 1;
        };
    };
};//a different set of buyables
class bwTank {
    side = "Blufor";
    loadout = "bwFle";
    mode = "destroy";

    // needs to be in every faction
    class StartVehicle {
        deployAction = "";
        retractAction = "";
        condition = "false";
        driverGps = "true";
        crewHelmet = "";
        disableTIEquipment = "true";

        class gm_ge_army_Leopard1a3a1 {
            condition = "true";
            vehicleInit = "[['gm_ge_wdl',1], []]";
            code = "[(_this select 0)] call BC_buyables_fnc_configureBluforStartVehicle; (_this select 0) addWeaponCargoGlobal ['rhs_weap_m72a7', 12];";
        };
    };

    class Light {
        displayName = "Light";
        kindOf = "Vehicles";
        maxBuyCount = 3;
        minPlayerCount = 0;
        driverGps = "true";
        crewHelmet = "";
        disableTIEquipment = "true";

        class gm_ge_army_m113a1g_apc_milan_wdl {
            displayName = "M113 Milan";
            description = "";
            price = 10;
            stock = 3;
            itemCargo = "";
            code = "(_this select 0) addWeaponCargoGlobal ['rhs_weap_m72a7', 6];";
            magazineCargo = "";
            trackCargo = 2;
            spawnEmpty = 1;
            condition = "true";
            vehicleInit = "[[],[]]";
        };
    };


    class Heavy {
        displayName = "Heavy";
        kindOf = "Vehicles";
        maxBuyCount = 2;
        minPlayerCount = 0;
        driverGps = "true";
        crewHelmet = "";
        disableTIEquipment = "true";

        class gm_ge_army_Leopard1a3a1_wdl {
            displayName = "Leopard 1 A3";
            description = "";
            price = 10;
            stock = 2;
            code = "(_this select 0) addWeaponCargoGlobal ['rhs_weap_m72a7', 6];";
            itemCargo = "";
            magazineCargo = "";
            trackCargo = 2;
            spawnEmpty = 1;
            condition = "true";
            vehicleInit = "[[], []]";
        };
    };


    class Support {
        displayName = "Support";
        kindOf = "Vehicles";
        maxBuyCount = 2;
        minPlayerCount = 0;
        driverGps = "true";
        crewHelmet = "";
        disableTIEquipment = "true";

        class Redd_Tank_Wiesel_1A2_TOW_Flecktarn {
            displayName = "Wiesel-TOW";
            description = "";
            code = "(_this select 0) addWeaponCargoGlobal ['rhs_weap_m72a7', 6];";
            stock = 2;
            spawnEmpty = 1;
            condition = "true";
            vehicleInit = "[[],[]]";
        };
    };
};
//a different set of buyables
class mudscha {
    side = "Opfor";
    loadout = "mudscha";
    mode = "conquer";
    
    // needs to be in every faction
    class StartVehicle {
        deployAction = "";
        retractAction = "";
        condition = "false";
        driverGps = "false";
        disableTIEquipment = "true";
        terminalPositionOffset = "[0.3,-2.85,0.7]";
        terminalVectorDirAndUp = "[[0,1,0.3],[0,0,0.7]]";


        class gm_gc_army_ural44202_ols {
            condition = "true";
            vehicleInit = "[[],[]]";
            code = "[(_this select 0)] call BC_buyables_fnc_configureOpforStartVehicle; (_this select 0) setObjectTextureGlobal [0, '#(rgb,8,8,3)color(0.2,0.1,0.1,1)']; [_this select 0,'',5,0] call gm_core_vehicles_fnc_vehicleMarkingsUpdateAttributes; [_this select 0] call BC_buyables_fnc_mudschaVehicleDeko;";
        };
    };

    class Logistics {
        displayName = "Logistics";
        kindOf = "Vehicles";
        maxBuyCount = 9;
        minPlayerCount = 0;

        class RDS_Lada_Civ_03 {
            displayName = "Lada";
            description = "The workhorse of your army.";
            price = 10;
            stock = 7;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "true";
            vehicleInit = "[['gm_gc_oli',1], ['cover_hide_unhide',0,'winch_unhide',0,'roofRack_unhide',0,'camonet_01_unhide',0,'coldWeatherKit_unhide',0,'fuelcan_1_1_unhide',0,'fuelcan_1_2_unhide',0,'lightGuard_unhide',1,'toolbox_unhide',1,'tools_unhide',1]]";
        };

        class RDS_JAWA353_Civ_01 {
            displayName = "Motorcycle";
            description = "Faster and smaller footprint but cant transport as many.";
            price = 10;
            stock = 7;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "true";
            vehicleInit = "[['gm_gc_oli',1], ['sirenLights_01_unhide',0]]";
        };

        class rhs_zil131_open_msv {
            displayName = "ZiL 131 Truck";
            description = "Carries a lot of soldiers.";
            price = 10;
            stock = 3;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "true";
            vehicleInit = "[['CHDKZ',1],['Door_LF',0,'Door_RF',0,'spare_hide',0,'rearnum_hide',1,'bench_hide',0,'cover_hide',1]]";
        };
    };


    class Combat {
        displayName = "Combat";
        kindOf = "Vehicles";
        maxBuyCount = 2;
        minPlayerCount = 0;

        class rhsgref_ins_uaz_dshkm {
            displayName = "UAZ Dshkm";
            description = "Anti Air capable soft vehicle.";
            price = 10;
            stock = 2;
            wheelCargo = 2;
            spawnEmpty = 1;
            condition = "true";
            vehicleInit = "[['Camo1',1],['light_hide',1,'spare_hide',0]]";
        };

        class gm_gc_army_pt76b {
            displayName = "PT76B";
            description = "No MG, only Gun! GM DLC needed.";
            price = 10;
            stock = 2;
            wheelCargo = 2;
            spawnEmpty = 1;
            condition = "true";
            code = "(_this select 0) setVariable ['gm_vehicle_attributes', [['gm_licenseplate_none',' '],[' ','gm_din_norm_gry','gm_tacticalSign_none',' ','gm_din_norm_gry'],[' ','gm_gc_schablonier_gry'],['gm_insignia_none','gm_insignia_none','gm_insignia_none','gm_insignia_none','gm_insignia_cool_palmtree_wht','gm_insignia_none'],['gm_insignia_none'],['gm_insignia_none','0','gm_insignia_none']]]; [_this select 0] spawn gm_core_vehicles_fnc_vehicleMarkingsInit; (_this select 0) removeWeaponTurret ['gm_pkt_coax',[0]]; ";

        };

    };

    class Special {
        displayName = "Special";
        kindOf = "Special";
        maxBuyCount = 1;

        class Land_BagFence_Round_F {
            kindOf = "Special";
            displayName = "Defense Pack";
            description = "Sandbag-Fortificatons and 2 Axes for cutting vegetation. Spawns in Radio Truck Cargo.";
            stock = 1;
            code = "diag_log str (_this); (_this select 1) addItemCargoGlobal ['grad_axe', 2]; [(_this select 1), 'land_gm_tanktrap_01', 9] call grad_fortifications_fnc_addFort; [(_this select 1), 'land_gm_sandbags_01_low_01', 9] call grad_fortifications_fnc_addFort; [(_this select 1), 'land_gm_sandbags_01_round_01', 3] call grad_fortifications_fnc_addFort;";
            spawnEmpty = 1;
        };

        class rhsgref_nat_DSHKM {
            kindOf = "Special";
            displayName = "Static Dshkm";
            description = "Spawns in Radio Truck Cargo.";
            stock = 1;
            code = "diag_log str (_this); ['rhsgref_nat_DSHKM', _this select 1] call ace_cargo_fnc_loadItem;";
            spawnEmpty = 1;
        };
    };
};//a different set of buyables
class nvaGM {
    side = "Opfor";
    loadout = "nvaGM";
    mode = "conquer";
    
    // needs to be in every faction
    class StartVehicle {
        deployAction = "";
        retractAction = "";
        condition = "false";
        driverGps = "false";
        crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
        disableTIEquipment = "true";
        terminalPositionOffset = "[0.3,-2.85,0.7]";
        terminalVectorDirAndUp = "[[0,1,0.3],[0,0,0.7]]";


        class gm_gc_army_btr60pu12_ols {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[[],[]]";
            code = "[(_this select 0)] call BC_buyables_fnc_configureOpforStartVehicle;";
            crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
        };

        class gm_gc_army_btr60pu12_oli: gm_gc_army_btr60pu12_ols {
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[[],[]]";
        };
    };

    class Logistics {
        displayName = "Logistics";
        kindOf = "Vehicles";
        maxBuyCount = 9;
        minPlayerCount = 0;

        class gm_gc_army_ural4320_cargo_oli {
            displayName = "Ural";
            description = "The workhorse of your army.";
            price = 10;
            stock = 7;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['gm_gc_oli',1], ['cover_hide_unhide',0,'winch_unhide',0,'roofRack_unhide',0,'camonet_01_unhide',0,'coldWeatherKit_unhide',0,'fuelcan_1_1_unhide',0,'fuelcan_1_2_unhide',0,'lightGuard_unhide',1,'toolbox_unhide',1,'tools_unhide',1]]";
        };

        class gm_gc_army_ural4320_cargo_ols: gm_gc_army_ural4320_cargo_oli {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['gm_gc_ols',1], ['cover_hide_unhide',0,'winch_unhide',0,'roofRack_unhide',0,'camonet_01_unhide',0,'coldWeatherKit_unhide',0,'fuelcan_1_1_unhide',0,'fuelcan_1_2_unhide',0,'lightGuard_unhide',1,'toolbox_unhide',1,'tools_unhide',1]]";
        };

        class gm_gc_army_p601_oli {
            displayName = "UAZ";
            description = "Faster and smaller footprint but cant transport as many.";
            price = 10;
            stock = 7;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['gm_gc_oli',1], ['sirenLights_01_unhide',0]]";
        };

        class gm_gc_army_p601_ols: gm_gc_army_p601_oli {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['gm_gc_ols',1], ['sirenLights_01_unhide',0]]";
        };
    };


    class Recon {
        displayName = "Recon";
        kindOf = "Vehicles";
        maxBuyCount = 2;
        minPlayerCount = 20;

        class gm_gc_army_btr60pa_oli {
            displayName = "BTR60-PA";
            description = "Unarmed armored transporter.";
            price = 10;
            stock = 3;
            wheelCargo = 2;
            spawnEmpty = 1;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['gm_gc_oli',1],true]";
            crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
        };

        class gm_gc_army_btr60pa_ols: gm_gc_army_btr60pa_oli {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['gm_gc_ols',1],true]";
        };

        class gm_gc_army_brdm2um_oli {
            displayName = "BRDM2 UM";
            description = "Unarmed armored transporter.";
            price = 10;
            stock = 3;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['gm_gc_oli',1],true]";
            crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
        };

        class gm_gc_army_brdm2um_ols: gm_gc_army_brdm2um_oli {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['gm_gc_ols',1],true]";
        };        

    };


    class Support {
        displayName = "Support";
        kindOf = "Vehicles";
        maxBuyCount = 1;
        minPlayerCount = 40;

        
        class gm_gc_army_brdm2_oli {
            displayName = "BRDM-2";
            description = "Armed version of BRDM2.";
            stock = 2;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['gm_gc_oli',1],true]";
            crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
        };

        class gm_gc_army_brdm2_ols: gm_gc_army_brdm2_oli {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['gm_gc_ols',1],true]";
    
        };

        class gm_gc_army_btr60pb_oli {
            displayName = "Armed version of BTR60.";
            description = "Tank hunter with unguided AT.";
            price = 10;
            stock = 2;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['gm_gc_oli',1],true]";
            crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
        };

        class gm_gc_army_btr60pb_ols: gm_gc_army_btr60pb_oli {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['gm_gc_ols',1],true]";
        };
    };

    class Armor {
        displayName = "Armor";
        kindOf = "Vehicles";
        maxBuyCount = 1;
        minPlayerCount = 60;

        class gm_gc_army_t55a_oli {
            displayName = "T55A";
            description = "Heavy tank, best vehicle you can get.";
            stock = 1;
            spawnEmpty = 1;
            trackCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['gm_gc_oli',1], ['camoNet_01_unhide',0]]";
            crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
        };

        class gm_gc_army_t55a_ols: gm_gc_army_t55a_oli {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['gm_gc_ols',1], ['camoNet_01_unhide',0]]";
        };

        class gm_gc_army_bmp1sp2_oli {
            displayName = "BMP1-D";
            description = "Carries more soldiers than T55 but is less protected.";
            stock = 1;
            spawnEmpty = 1;
            trackCargo = 2;
            condition = "BC_IS_WOODLAND";
            crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
            vehicleInit = "[['gm_gc_oli',1],['spareTracks_1_1_unhide',0,'spareTracks_1_2_unhide',0,'spareTracks_2_1_unhide',0,'wheelChock_1_1_unhide',0,'wheelChock_1_2_unhide',0,'woodenBeam_01_unhide',0,'tarpRoll_01_unhide',0]]";
        };

        class gm_gc_army_bmp1sp2_ols: gm_gc_army_bmp1sp2_oli {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['gm_gc_ols',1],['spareTracks_1_1_unhide',0,'spareTracks_1_2_unhide',0,'spareTracks_2_1_unhide',0,'wheelChock_1_1_unhide',0,'wheelChock_1_2_unhide',0,'woodenBeam_01_unhide',0,'tarpRoll_01_unhide',0]]";
        };

    };

    class Special {
        displayName = "Special";
        kindOf = "Special";
        maxBuyCount = 2;

        class Land_DataTerminal_01_F {
            kindOf = "Special";
            displayName = "Radio Relay Terminal";
            description = "Replaces radio truck internal module.\nIs attached to the Command BTR but can be detached.\nSends with 50-100% strength depending on distance to Command BTR.";
            stock = 1;
            picturePath = "pic\terminal.paa";
            code = "diag_log str (_this); private _terminal = missionNameSpace getVariable ['GRAD_tracking_terminalObj', objNull]; [_terminal, (_this select 1)] call GRAD_tracking_fnc_terminalAttachToVeh;";
        };

        class Land_BagFence_Round_F {
            kindOf = "Special";
            displayName = "Defense Pack";
            description = "Sandbag-Fortificatons and 2 Axes for cutting vegetation in Radio Truck.";
            stock = 1;
            code = "diag_log str (_this); (_this select 1) addItemCargoGlobal ['grad_axe', 2]; [(_this select 1), 'land_gm_tanktrap_01', 9] call grad_fortifications_fnc_addFort; [(_this select 1), 'land_gm_sandbags_01_low_01', 9] call grad_fortifications_fnc_addFort; [(_this select 1), 'land_gm_sandbags_01_round_01', 3] call grad_fortifications_fnc_addFort;";
            spawnEmpty = 1;
        };
    };
};//a different set of buyables
class rebels {
    side = "Opfor";
    loadout = "rebels";
    mode = "conquer";
    
    // needs to be in every faction
    class StartVehicle {
        deployAction = "";
        retractAction = "";
        condition = "false";
        driverGps = "false";
        disableTIEquipment = "true";
        terminalPositionOffset = "[0.3,-2.85,0.7]";
        terminalVectorDirAndUp = "[[0,1,0.3],[0,0,0.7]]";


        class gm_gc_army_ural44202_ols {
            condition = "true";
            vehicleInit = "[[],[]]";
            code = "[(_this select 0)] call BC_buyables_fnc_configureOpforStartVehicle; if (!BC_IS_WOODLAND) then {(_this select 0) setObjectTextureGlobal [0, '#(rgb,8,8,3)color(0.2,0.1,0.1,1)'];}; [_this select 0,'',5,0] call gm_core_vehicles_fnc_vehicleMarkingsUpdateAttributes; [_this select 0] call BC_buyables_fnc_mudschaVehicleDeko;";
        };
    };

    class Logistics {
        displayName = "Logistics";
        kindOf = "Vehicles";
        maxBuyCount = 9;
        minPlayerCount = 0;

        class RDS_Lada_Civ_03 {
            displayName = "Lada";
            description = "The workhorse of your army.";
            price = 10;
            stock = 7;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "true";
            vehicleInit = "[['gm_gc_oli',1], ['cover_hide_unhide',0,'winch_unhide',0,'roofRack_unhide',0,'camonet_01_unhide',0,'coldWeatherKit_unhide',0,'fuelcan_1_1_unhide',0,'fuelcan_1_2_unhide',0,'lightGuard_unhide',1,'toolbox_unhide',1,'tools_unhide',1]]";
        };

        class RDS_JAWA353_Civ_01 {
            displayName = "Motorcycle";
            description = "Faster and smaller footprint but cant transport as many.";
            price = 10;
            stock = 7;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "true";
            vehicleInit = "[['gm_gc_oli',1], ['sirenLights_01_unhide',0]]";
        };
    };


    class Recon {
        displayName = "Recon";
        kindOf = "Vehicles";
        maxBuyCount = 1;
        minPlayerCount = 0;

        class LOP_NK_UAZ_SPG {
            displayName = "UAZ SPG-9";
            description = "AT-Variant";
            price = 10;
            stock = 3;
            wheelCargo = 2;
            spawnEmpty = 1;
            vehicleInit = "[['standard',1],['spare_hide',1,'light_hide',1]]";
            condition = "true";
        };

        class LOP_ISTS_OPF_T34 {
            displayName = "T-34";
            description = "Armored but fucking bad tank.";
            price = 10;
            stock = 3;
            wheelCargo = 2;
            spawnEmpty = 1;
            vehicleInit = "if (!BC_IS_WOODLAND) then { [['LOP_Des',1],true] } else { [['LOP_TKG',1],true] };";
            condition = "true";
        };

    };

    class Special {
        displayName = "Special";
        kindOf = "Special";
        maxBuyCount = 1;

        class Land_BagFence_Round_F {
            kindOf = "Special";
            displayName = "Defense Pack";
            description = "Sandbag-Fortificatons and 2 Axes for cutting vegetation in Radio Truck.";
            stock = 1;
            code = "diag_log str (_this); (_this select 1) addItemCargoGlobal ['grad_axe', 2]; [(_this select 1), 'land_gm_tanktrap_01', 9] call grad_fortifications_fnc_addFort; [(_this select 1), 'land_gm_sandbags_01_low_01', 9] call grad_fortifications_fnc_addFort; [(_this select 1), 'land_gm_sandbags_01_round_01', 3] call grad_fortifications_fnc_addFort;";
            spawnEmpty = 1;
        };
    };
};//a different set of buyables
class Russia {
    side = "Opfor";
    loadout = "russia";
    mode = "conquer";
    
    // needs to be in every faction
    class StartVehicle {
        deployAction = "";
        retractAction = "";
        condition = "false";
        driverGps = "true";
        crewHelmet = "rhs_tsh4";
        disableTIEquipment = "true";
        terminalPositionOffset = "[0.3,-2.85,0.7]";
        terminalVectorDirAndUp = "[[0,1,0.3],[0,0,0.7]]";

        class rhs_gaz66_r142_vdv {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['rhs_sand',1], ['mast_handler',0,'cover_hide',0,'spare_hide',0,'bench_hide',0,'rear_numplate_hide',1,'light_hide',1]]";
            code = "[(_this select 0)] call BC_buyables_fnc_configureOpforStartVehicle;";
        };

        class rhs_gaz66_r142_vv: rhs_gaz66_r142_vdv {
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['standard',1], ['mast_handler',0,'cover_hide',0,'spare_hide',0,'bench_hide',0,'rear_numplate_hide',1,'light_hide',1]]";
        };
    };

    class Logistics {
        displayName = "Logistics";
        kindOf = "Vehicles";
        maxBuyCount = 9;
        minPlayerCount = 0;

        class RHS_Ural_MSV_01 {
            displayName = "Ural";
            description = "The workhorse of your army.";
            price = 10;
            stock = 7;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['standard',1], ['light_hide',1]]";
        };

        class RHS_Ural_VV_01: RHS_Ural_MSV_01 {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['rhs_sand',1], ['light_hide',1]]";
        };

        class rhs_uaz_open_MSV_01 {
            displayName = "UAZ";
            description = "Faster and smaller footprint but cant transport as many.";
            price = 10;
            stock = 7;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[[], ['cabinlights_hide',0,'light_hide',1]]";
        };

        class rhs_uaz_open_vdv: rhs_uaz_open_MSV_01 {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['Camo3',1], ['cabinlights_hide',0,'light_hide',1]]";
        };
    };


    class Recon {
        displayName = "Recon";
        kindOf = "Vehicles";
        maxBuyCount = 2;
        minPlayerCount = 20;

        class rhs_tigr_m_vdv {
            displayName = "Tigr-M";
            description = "The perfect commander limousine.";
            price = 10;
            stock = 2;
            wheelCargo = 2;
            spawnEmpty = 1;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[[],[]]";
        };

        class rhs_tigr_m_3camo_vdv: rhs_tigr_m_vdv {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[[],[]]";
        };

        class rhsgref_nat_uaz_dshkm {
            displayName = "UAZ Dshkm";
            description = "Fast and a deadly gun against ground and air targets.";
            price = 10;
            stock = 2;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['standard', 1], ['cabinlights_hide',0,'light_hide',1]]";
        };

        class rhsgref_cdf_b_reg_uaz_dshkm: rhsgref_nat_uaz_dshkm {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['Camo3',1], ['cabinlights_hide',0,'light_hide',1]]";
        };

        class rhsgref_BRDM2_HQ_msv {
            displayName = "BRDM-HQ";
            description = "Carries a lot of meat.";
            stock = 2;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['olive', 1], ['driverViewHatch',0,'commanderViewHatch',0,'hatchCommander',1]]";
        };

        class rhsgref_BRDM2_HQ_vdv: rhsgref_BRDM2_HQ_msv {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['3tone', 1], ['driverViewHatch',0,'commanderViewHatch',0,'hatchCommander',1]]";
        };

        

    };


    class Support {
        displayName = "Support";
        kindOf = "Vehicles";
        maxBuyCount = 1;
        minPlayerCount = 40;

        
        class rhsgref_BRDM2_msv {
            displayName = "BRDM-2";
            description = "Armed version of BRDM2.";
            stock = 1;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['olive', 1], ['driverViewHatch',0,'commanderViewHatch',0,'hatchCommander',1]]";
        };

        class rhsgref_BRDM2_vdv: rhsgref_BRDM2_msv {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['3tone', 1], ['driverViewHatch',0,'commanderViewHatch',0,'hatchCommander',1]]";
    
        };

        class rhsgref_nat_uaz_spg9 {
            displayName = "UAZ SPG9";
            description = "Tank hunter with unguided AT.";
            price = 10;
            stock = 1;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['standard',1], ['cabinlights_hide',0,'light_hide',1]]";
        };

        class rhsgref_ins_uaz_spg9: rhsgref_nat_uaz_spg9 {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['Camo',1], ['cabinlights_hide',0,'light_hide',1]]";
        };
    };

    class Armor {
        displayName = "Armor";
        kindOf = "Vehicles";
        maxBuyCount = 1;
        minPlayerCount = 60;

        class rhs_t80bvk {
            displayName = "T80-BVK";
            description = "Heavy tank, best vehicle you can get.";
            stock = 1;
            spawnEmpty = 1;
            trackCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['standard',1], ['hide_com_shield',1,'sightElevationAPFSDS',0]]";
        };

        class rhs_t80bk: rhs_t80bvk {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['rhs_sand',1], ['hide_com_shield',1,'sightElevationAPFSDS',0]]";
        };

        class rhs_bmp1d_msv {
            displayName = "BMP1-D";
            description = "Carries more soldiers but is less protected.";
            stock = 1;
            spawnEmpty = 1;
            trackCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['standard',1], ['crate_l1_unhide',1,'crate_l2_unhide',1,'crate_l3_unhide',1,'crate_r1_unhide',1,'crate_r2_unhide',1,'crate_r3_unhide',1,'wood_1_unhide',1,'maljutka_hide_source',1,'cargoHandler1',0]]";
        };

        class rhs_bmp1d_vdv: rhs_bmp1d_msv {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['rhs_sand',1], ['crate_l1_unhide',1,'crate_l2_unhide',1,'crate_l3_unhide',1,'crate_r1_unhide',1,'crate_r2_unhide',1,'crate_r3_unhide',1,'wood_1_unhide',1,'maljutka_hide_source',1,'cargoHandler1',0]]";
        };

        class rhsgref_BRDM2_ATGM_msv {
            displayName = "BRDM-AT";
            description = "Tank hunter with fly-by-wire AT.";
            stock = 1;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['olive', 1], ['driverViewHatch',0,'commanderViewHatch',0,'hatchCommander',1]]";
        };

        class rhsgref_BRDM2_ATGM_vdv: rhsgref_BRDM2_ATGM_msv {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['3tone', 1], ['driverViewHatch',0,'commanderViewHatch',0,'hatchCommander',1]]";
        };

    };

    class Special {
        displayName = "Special";
        kindOf = "Special";
        maxBuyCount = 2;

        class Land_DataTerminal_01_F {
            kindOf = "Special";
            displayName = "Radio Relay Terminal";
            description = "Replaces radio truck internal module.\nIs attached to the radio truck but can be detached.\nSends with 50-100% strength depending on distance to radio truck.";
            stock = 1;
            picturePath = "pic\terminal.paa";
            code = "diag_log str (_this); private _terminal = missionNameSpace getVariable ['GRAD_tracking_terminalObj', objNull]; [_terminal, (_this select 1)] call GRAD_tracking_fnc_terminalAttachToVeh;";
        };

        class Land_BagFence_Round_F {
            kindOf = "Special";
            displayName = "Defense Pack";
            description = "1 KORD MG, Sandbag-Fortificatons and 2 Axes for cutting vegetation in Radio Truck.";
            stock = 1;
            code = "diag_log str (_this);private _mg = 'rhs_KORD_high_VDV' createVehicle [0,0,0];_mg attachTo [(_this select 1), [0,0,0]];[_mg, (_this select 1)] call ace_cargo_fnc_loadItem; (_this select 1) addItemCargoGlobal ['grad_axe', 2]; [(_this select 1), 'Land_CzechHedgehog_01_new_F', 9] call grad_fortifications_fnc_addFort; [(_this select 1), 'Land_BagFence_Long_F', 9] call grad_fortifications_fnc_addFort;";
            spawnEmpty = 1;
        };

        class Land_WeldingTrolley_01_F {
            kindOf = "Special";
            displayName = "Radio Truck Armor";
            description = "Selfmade armor for radio truck to protect its tires against small arms fire.";
            stock = 2;
            code = "diag_log str (_this); [(_this select 1)] call BC_buymenu_fnc_applyTruckArmor;";
        };
    };
};//a different set of buyables
class RussiaTank {
    side = "Opfor";
    loadout = "russia";
    mode = "destroy";


    // needs to be in every faction
    class StartVehicle {
        deployAction = "";
        retractAction = "";
        condition = "false";
        driverGps = "true";
        crewHelmet = "rhs_tsh4";
        disableTIEquipment = "true";
        canMoveDuringTransmission = "true";

        class gm_gc_army_t55a {
            displayName = "T-55A";
            description = "";
            price = 10;
            stock = 2;
            spawnEmpty = 1;
            condition = "true";
            vehicleInit = "[['gm_gc_oli',1], ['camoNet_01_unhide',0]]";
            crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
            terminalPositionOffset = "[0.3,-2.85,0.7]";
            terminalVectorDirAndUp = "[[0,1,0.3],[0,0,0.7]]";
            antennaOffset = "[0,-3.2,-0.1]";
            code = "[(_this select 0)] call BC_buyables_fnc_configureOpforStartVehicle; (_this select 0) addWeaponCargoGlobal ['rhs_weap_rpg26', 12];";
            canMoveDuringTransmission = "true";
        };
    };

    class Light {
        displayName = "Light";
        kindOf = "Vehicles";
        maxBuyCount = 3;
        minPlayerCount = 0;
        driverGps = "true";
        crewHelmet = "rhs_tsh4";
        disableTIEquipment = "true";

        class gm_gc_army_bmp1sp2_oli {
            displayName = "BMP1-D";
            description = "Carries more soldiers than T-55A but is less protected.";
            price = 10;
            stock = 3;
            spawnEmpty = 1;
            condition = "true";
            code = "(_this select 0) addWeaponCargoGlobal ['rhs_weap_rpg26', 6];";
            itemCargo = "";
            magazineCargo = "[['HandGrenade', 5]]";
            trackCargo = 2;
            crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
            vehicleInit = "[['gm_gc_oli',1],['spareTracks_1_1_unhide',0,'spareTracks_1_2_unhide',0,'spareTracks_2_1_unhide',0,'wheelChock_1_1_unhide',0,'wheelChock_1_2_unhide',0,'woodenBeam_01_unhide',0,'tarpRoll_01_unhide',0]]";
       };
    };


    class Heavy {
        displayName = "Heavy";
        kindOf = "Vehicles";
        maxBuyCount = 2;
        minPlayerCount = 0;
        driverGps = "true";
        crewHelmet = "rhs_tsh4";
        disableTIEquipment = "true";

        class gm_gc_army_t55a_oli {
            displayName = "T-55A";
            description = "";
            price = 10;
            stock = 2;
            spawnEmpty = 1;
            condition = "true";
            vehicleInit = "[['gm_gc_oli',1], ['camoNet_01_unhide',0]]";
            crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
            antennaOffset = "[0,-3.2,-0.1]";
            code = "(_this select 0) addWeaponCargoGlobal ['rhs_weap_rpg26', 6];";
        };
    };


    class Support {
        displayName = "Support";
        kindOf = "Vehicles";
        maxBuyCount = 2;
        minPlayerCount = 0;
        driverGps = "true";
        crewHelmet = "rhs_tsh4";
        disableTIEquipment = "true";

        class rhsgref_BRDM2_ATGM_msv {
            displayName = "BRDM-AT";
            description = "";
            stock = 2;
            code = "(_this select 0) addWeaponCargoGlobal ['rhs_weap_rpg26', 6];";
            spawnEmpty = 1;
            condition = "true";
            vehicleInit = "[['olive', 1], ['driverViewHatch',0,'commanderViewHatch',0,'hatchCommander',1]]";
        };
    };
};
    //a different set of buyables
class sovjetGM {
    side = "Blufor";
    loadout = "sovjetGM";
    mode = "conquer";
    
    // needs to be in every faction
    class StartVehicle {
        deployAction = "";
        retractAction = "";
        condition = "false";
        driverGps = "false";
        crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
        disableTIEquipment = "true";
        terminalPositionOffset = "[0.3,-2.85,0.7]";
        terminalVectorDirAndUp = "[[0,1,0.3],[0,0,0.7]]";


        class gm_gc_army_btr60pu12 {
            condition = "true";
            code = "[(_this select 0)] call BC_buyables_fnc_configureBluforStartVehicle; if (!BC_IS_WOODLAND) then {(_this select 0) setObjectTextureGlobal [0, '#(rgb,8,8,3)color(0.25,0.2,0.1,1)']; (_this select 0) setObjectTextureGlobal [1, '#(rgb,8,8,3)color(0.25,0.2,0.1,1)'];}; [_this select 0,'gm_insignia_ur_star_01',5,0] call gm_core_vehicles_fnc_vehicleMarkingsUpdateAttributes;";
            crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
        };
    };

    class Logistics {
        displayName = "Logistics";
        kindOf = "Vehicles";
        maxBuyCount = 9;
        minPlayerCount = 0;

        class gm_gc_army_ural4320_cargo {
            displayName = "Ural";
            description = "The workhorse of your army.";
            price = 10;
            stock = 7;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "true";
            code = "if (!BC_IS_WOODLAND) then {(_this select 0) setObjectTextureGlobal [0, '#(rgb,8,8,3)color(0.25,0.2,0.1,1)']; (_this select 0) setObjectTextureGlobal [1, '#(rgb,8,8,3)color(0.25,0.2,0.1,1)'];}; [_this select 0,'gm_insignia_ur_star_01',5,0] call gm_core_vehicles_fnc_vehicleMarkingsUpdateAttributes;";

        };

        class gm_ge_army_k125 {
            displayName = "Motorcycle";
            description = "The workhorse of your army.";
            price = 10;
            stock = 7;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "true";
            code = "if (!BC_IS_WOODLAND) then {(_this select 0) setObjectTextureGlobal [0, '#(rgb,8,8,3)color(0.25,0.2,0.1,1)']; (_this select 0) setObjectTextureGlobal [1, '#(rgb,8,8,3)color(0.25,0.2,0.1,1)'];}; [_this select 0,'gm_insignia_ur_star_01',5,0] call gm_core_vehicles_fnc_vehicleMarkingsUpdateAttributes;";

        };
    };


    class Armored {
        displayName = "Armored";
        kindOf = "Vehicles";
        maxBuyCount = 1;
        minPlayerCount = 0;

        class gm_gc_army_brdm2 {
            displayName = "BRDM-2";
            description = "Armed armored transporter.";
            price = 10;
            stock = 3;
            wheelCargo = 2;
            spawnEmpty = 1;
            condition = "true";
            crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
            code = "if (!BC_IS_WOODLAND) then {(_this select 0) setObjectTextureGlobal [0, '#(rgb,8,8,3)color(0.25,0.2,0.1,1)']; (_this select 0) setObjectTextureGlobal [1, '#(rgb,8,8,3)color(0.25,0.2,0.1,1)'];}; [_this select 0,'gm_insignia_ur_star_01',5,0] call gm_core_vehicles_fnc_vehicleMarkingsUpdateAttributes;";

        };

        class gm_gc_army_btr60pa {
            displayName = "BTR 60";
            description = "Armored Troop Carrier";
            price = 10;
            stock = 1;
            wheelCargo = 2;
            spawnEmpty = 1;
            condition = "true";
            vehicleInit = "[['RHS_SAF_Green',1],['bench_hide',0,'intake_hide',1,'RearDoors',0]]";
            crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
            code = "if (!BC_IS_WOODLAND) then {(_this select 0) setObjectTextureGlobal [0, '#(rgb,8,8,3)color(0.25,0.2,0.1,1)']; (_this select 0) setObjectTextureGlobal [1, '#(rgb,8,8,3)color(0.25,0.2,0.1,1)'];}; [_this select 0,'gm_insignia_ur_star_01',5,0] call gm_core_vehicles_fnc_vehicleMarkingsUpdateAttributes;";
        };

    };

    class Air {
        displayName = "Air";
        kindOf = "Vehicles";
        maxBuyCount = 1;
        minPlayerCount = 0;

        class gm_gc_airforce_mi2t {
            displayName = "Mi-2 PKM";
            description = "Light Armed Helicopter. No Cargo Seats!";
            price = 10;
            stock = 1;
            wheelCargo = 2;
            spawnEmpty = 1;
            condition = "true";
            vehicleInit = "[['gm_gc_brb',1],['cablecutter_unhide',0,'fan_unhide',0,'plugs_unhide',0,'skids_unhide',0,'winch_unhide',0,'fueltank_left_unhide',0,'fueltank_right_unhide',0]]";
            crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
            code = "(_this select 0) lockCargo true; if (!BC_IS_WOODLAND) then {(_this select 0) setObjectTextureGlobal [0, '#(rgb,8,8,3)color(0.25,0.2,0.1,1)']; (_this select 0) setObjectTextureGlobal [1, '#(rgb,8,8,3)color(0.25,0.2,0.1,1)'];}; [_this select 0,'gm_insignia_ur_star_01',5,0] call gm_core_vehicles_fnc_vehicleMarkingsUpdateAttributes;";

        };

        class gm_pl_airforce_mi2p {
            displayName = "Mi-2 Transport";
            description = "Light Transport Helicopter with 7 Cargo Seats.";
            price = 10;
            stock = 1;
            wheelCargo = 2;
            spawnEmpty = 1;
            condition = "true";
            vehicleInit = "[['gm_gc_brb',1],['cablecutter_unhide',0,'fan_unhide',0,'plugs_unhide',0,'skids_unhide',0,'winch_unhide',0,'fueltank_left_unhide',0,'fueltank_right_unhide',0]]";
            crewHelmet = "gm_gc_army_headgear_crewhat_80_blk";
            code = "if (!BC_IS_WOODLAND) then {(_this select 0) setObjectTextureGlobal [0, '#(rgb,8,8,3)color(0.25,0.2,0.1,1)']; (_this select 0) setObjectTextureGlobal [1, '#(rgb,8,8,3)color(0.25,0.2,0.1,1)'];}; ";
        };

    };

    class Special {
        displayName = "Special";
        kindOf = "Special";
        maxBuyCount = 1;

        class Land_BagFence_Round_F {
            kindOf = "Special";
            displayName = "Defense Pack";
            description = "Sandbag-Fortificatons and 2 Axes for cutting vegetation in Radio Truck.";
            stock = 1;
            code = "diag_log str (_this); (_this select 1) addItemCargoGlobal ['grad_axe', 2]; [(_this select 1), 'land_gm_tanktrap_01', 9] call grad_fortifications_fnc_addFort; [(_this select 1), 'land_gm_sandbags_01_low_01', 9] call grad_fortifications_fnc_addFort; [(_this select 1), 'land_gm_sandbags_01_round_01', 3] call grad_fortifications_fnc_addFort;";
            spawnEmpty = 1;
        };
    };
};//a different set of buyables
class USA {
    side = "Blufor";
    loadout = "usa";
    mode = "conquer";
    driverGps = "true";
    crewHelmet = "";
    disableTIEquipment = "true";

    // needs to be in every faction
    class StartVehicle {
        type = "rhsusf_m998_w_4dr";
        condition = "false";

        class rhsusf_m998_w_4dr {
            condition = "BC_IS_WOODLAND";
            code = "[(_this select 0)] call BC_buyables_fnc_configureBluforStartVehicle;";
        };

        class rhsusf_m998_d_4dr {
            condition = "!BC_IS_WOODLAND";
        };
    };

    class Logistics {
        displayName = "Logistics";
        kindOf = "Vehicles";
        maxBuyCount = 9;
        minPlayerCount = 0;

        class rhsusf_M1083A1P2_WD_fmtv_usarmy {
            displayName = "FMTV M1083";
            description = "Carries soldiers decently armored.";
            price = 10;
            stock = 7;
            spawnEmpty = 1;
            wheelCargo = 4;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['rhs_woodland',1],['hide_cover',0,'hide_spare',0,'hide_scaffold',0,'hide_bench',0]]";
        };

        class rhsusf_M1083A1P2_D_fmtv_usarmy: rhsusf_M1083A1P2_WD_fmtv_usarmy {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['rhs_desert',1],['hide_cover',0,'hide_spare',0,'hide_scaffold',0,'hide_bench',0]]";
        };

        class rhsusf_mrzr4_d {
            displayName = "MRZR 4";
            description = "Fast but protectionless.";
            price = 10;
            stock = 7;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "true";
            code = "[(_this select 0), [['mud','mud_olive'] select BC_IS_WOODLAND,1], ['tailgateHide',0,'tailgate_open',0,'cage_fold',0]] call BIS_fnc_initVehicle;";
            vehicleInit = "[[],[]]";
        };
		
		class rhsusf_M978A4_usarmy_wd{
            displayName = "HEMMTT FUEL";
            description = "Fuel Truck.";
            stock = 1;
            spawnEmpty = 1;
            wheelCargo = 3;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['rhs_woodland',1],['hide_spare',0]]";
            code = "(_this select 0) setVariable ['ace_rearm_isSupplyVehicle', false, true]; (_this select 0) setVariable ['ACE_isRepairVehicle', false, true];";
        };

        class rhsusf_M978A4_usarmy_d: rhsusf_M978A4_usarmy_wd {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['rhs_desert',1],['hide_spare',0]]";
        };
    };


    class Recon {
        displayName = "Recon";
        kindOf = "Vehicles";
        maxBuyCount = 2;
        minPlayerCount = 20;

        class RHS_MELB_H6M {
            displayName = "OH-6M";
            description = "1 GPS\nNO Thermals\nNO Benches";
            price = 10;
            stock = 1;
            code = "(_this select 0) addItemCargoGlobal ['ACE_NVG_Wide',2];(_this select 0) addItemCargoGlobal ['ItemGPS',1];(_this select 0) disableTIEquipment true; [(_this select 0)] call BC_setup_fnc_fuelDrain;";
            spawnEmpty = 1;
            vehicleInit = "[[],[]]";
        };

        class rhsusf_CGRCAT1A2_usmc_wd {
            displayName = "Cougar IMV";
            description = "Perfect commander limousine.";
            price = 10;
            stock = 2;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['rhs_woodland',1],['DUKE_Hide',1]]";
        };

        class rhsusf_CGRCAT1A2_usmc_d: rhsusf_CGRCAT1A2_usmc_wd {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['rhs_desert',1],['DUKE_Hide',1]]";
        };


        class rhsusf_M1078A1R_SOV_M2_WD_fmtv_socom {
            displayName = "FMTV M2";
            description = "A big target with a big gun.";
            stock = 2;
            spawnEmpty = 1;
            wheelCargo = 3;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['rhs_woodland',1],['hide_spare',0]]";
            code = "(_this select 0) setVariable ['ace_rearm_isSupplyVehicle', false, true]; (_this select 0) setVariable ['ACE_isRepairVehicle', false, true];";
        };

        class rhsusf_M1078A1R_SOV_M2_D_fmtv_socom: rhsusf_M1078A1R_SOV_M2_WD_fmtv_socom {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['rhs_desert',1],['hide_spare',0]]";
        };
    };

    class Support {
        displayName = "Support";
        kindOf = "Vehicles";
        maxBuyCount = 1;
        minPlayerCount = 40;

        class rhsusf_m1025_w_m2 {
            displayName = "HMMWV M2";
            description = "Fast, reliable, deadly.";
            price = 10;
            stock = 1;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['standard',1],['hide_snorkel',1,'hide_CIP',1,'hide_BFT',0,'hide_Antenna',0,'hide_A2_Parts',0,'Hide_A2Bumper',0,'Hide_Brushguard',1]]";
        };

        class rhsusf_m1025_d_m2: rhsusf_m1025_w_m2 {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['Desert',1],['hide_snorkel',1,'hide_CIP',1,'hide_BFT',0,'hide_Antenna',0,'hide_A2_Parts',0,'Hide_A2Bumper',0,'Hide_Brushguard',1]]";
        };

        class rhsusf_m113_usarmy_M2_90 {
            displayName = "M113 Alt";
            description = "Versatile APC.";
            stock = 1;
            spawnEmpty = 1;
            trackCargo = 3;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['standard',1],['IFF_Panels_Hide',1]]";
        };

        class rhsgref_hidf_m113a3_mk19: rhsusf_m113_usarmy_M2_90 {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['Desert',1],['IFF_Panels_Hide',1]]";
        };
    };

    class Heavy {
        displayName = "Heavy";
        kindOf = "Vehicles";
        maxBuyCount = 1;
        minPlayerCount = 60;

        class rhsusf_m1045_w {
            displayName = "HMMWV TOW";
            description = "Tank hunter with fly-by-wire AT.";
            stock = 1;
            spawnEmpty = 1;
            wheelCargo = 2;
            condition = "BC_IS_WOODLAND";
            vehicleInit = "[['standard',1], ['hide_snorkel',1,'hide_CIP',0,'hide_BFT',0,'hide_Antenna',0,'hide_A2_Parts',0,'Hide_A2Bumper',0,'Hide_Brushguard',1]]";
        };

        class rhsusf_m1045_d: rhsusf_m1045_w {
            condition = "!BC_IS_WOODLAND";
            vehicleInit = "[['Desert',1], ['hide_snorkel',1,'hide_CIP',0,'hide_BFT',0,'hide_Antenna',0,'hide_A2_Parts',0,'Hide_A2Bumper',0,'Hide_Brushguard',1]]";
        };

        class RHS_UH60M2 {
            displayName = "UH-60M";
            description = "1 GPS\nFRIES equipped";
            stock = 1;
            code = "(_this select 0) addItemCargoGlobal ['ACE_NVG_Wide',2];(_this select 0) addItemCargoGlobal ['ItemGPS',1];[(_this select 0)] call ace_fastroping_fnc_equipFRIES;[(_this select 0)] call BC_setup_fnc_fuelDrain;";
            spawnEmpty = 1;
            vehicleInit = "[[],[]]";
        };
    };

    class Special {
        displayName = "Special";
        kindOf = "Special";
        maxBuyCount = 2;

        class I_C_Boat_Transport_01_F {
            kindOf = "Special";
            displayName = "Boat + Diving Equipment inside * 4";
            description = "Get it in the Start Vehicle (ACE Interaction).";
            stock = 1;
            code = "(_this select 1) setVariable ['grad_carryBoatCargo', 1, true];[(_this select 1)] remoteExec ['BC_buymenu_fnc_addBoatInteraction', [0,-2] select isDedicated];";
            spawnEmpty = 1;
        };

        class rhsusf_explosive_m112 {
            kindOf = "Special";
            displayName = "Breaching Equipment";
            description = "Explosives and Wirecutter in Start Vehicle.";
            stock = 1;
            code = "(_this select 1) addItemCargoGlobal ['ACE_wirecutter',2];(_this select 1) addItemCargoGlobal ['ACE_Clacker',2];(_this select 1) addMagazineCargoGlobal ['DemoCharge_Remote_Mag', 2];";
            spawnEmpty = 1;
        };

        class Land_JumpTarget_F {
            kindOf = "Special";
            displayName = "Hunt IR Equipment";
            description = "Hunt IR Equipment in Start Vehicle.";
            stock = 1;
            code = "(_this select 1) addItemCargoGlobal ['ACE_HuntIR_monitor',2];(_this select 1) addMagazineCargoGlobal ['ACE_HuntIR_M203',4];";
            spawnEmpty = 1;
        };
    };
};
/// ORDER IN PARAMS.HPP must be same!

/// BLUFOR
#include "factions\bwGM.hpp"
#include "factions\usa.hpp"
#include "factions\bwTank.hpp"
#include "factions\sovjetGM.hpp"

/// OPFOR
#include "factions\nvaGM.hpp"
#include "factions\russia.hpp"
#include "factions\russiaTank.hpp"
#include "factions\mudscha.hpp"
#include "factions\rebels.hpp"if (!hasInterface) exitWith {};

["startVehicle", { 

        params ["_startVehicle", "_side"];

        BUYABLES_OPFOR_INDEX = ["BUYABLES_OPFOR", -1] call BIS_fnc_getParamValue;
        BUYABLES_BLUFOR_INDEX = ["BUYABLES_BLUFOR", -1] call BIS_fnc_getParamValue;

        private _factionsBlufor = "getText (_x >> 'side') == 'Blufor'" configClasses (missionConfigFile >> "CfgGradBuymenu");
        private _buyablesBlufor = configName (_factionsBlufor select BUYABLES_BLUFOR_INDEX);

        private _factionsOpfor = "getText (_x >> 'side') == 'Opfor'" configClasses (missionConfigFile >> "CfgGradBuymenu");
        private _buyablesOpfor = configName (_factionsOpfor select BUYABLES_OPFOR_INDEX);
        
        diag_log format ["_factionsOpfor %1", _factionsOpfor];
        diag_log format ["_buyablesOpfor %1", _buyablesOpfor];

        diag_log format ["_factionsBlufor %1", _factionsBlufor];
        diag_log format ["_buyablesBlufor %1", _buyablesBlufor];

        if (_side == west) then {
            [_startVehicle,
            _buyablesBlufor,
            "Vehicle Supply",
            "Buy Vehicles",
            {side player == WEST}
            ] call BC_buymenu_fnc_addInteraction;

            diag_log "added BC_buymenu_fnc_addInteraction";
        } else {
            [_startVehicle,
            _buyablesOpfor,
            "Vehicle Supply",
            "Buy Vehicles",
            {side player == EAST}
            ] call BC_buymenu_fnc_addInteraction;

            diag_log "added BC_buymenu_fnc_addInteraction";
        };

}] call CBA_fnc_addEventHandler;



private _transferBuyOption = ["transferBuyOption", "Transfer Buyability", "",
{
  params ["_target", "_player"];
  _player setVariable ["BC_potentToBuy", false, true];
  _target setVariable ["BC_potentToBuy", true, true];
  hint ("Transferred authorization to buy to " + (name _target));
  ["The Commander authorized you to buy."] remoteExec ["hint", _target];
},
{ player getVariable ["BC_potentToBuy", false] }] call ace_interact_menu_fnc_createAction;

["Man", 0, ["ACE_MainActions"], _transferBuyOption] call ace_interact_menu_fnc_addActionToClass;params ["_vehicle"];

_vehicle addItemCargoGlobal ["ACE_SpraypaintBlack",10];
_vehicle addItemCargoGlobal ["ACE_SpraypaintBlue",10];
_vehicle addItemCargoGlobal ["ACE_SpraypaintGreen",10];
_vehicle addItemCargoGlobal ["ACE_SpraypaintRed",10];
_vehicle addItemCargoGlobal ["TFAR_anprc152",10];

_vehicle addItemCargoGlobal ["ItemGPS",1];
_vehicle setVariable ["GRAD_replay_track", true];params ["_vehicle"];

_vehicle setVariable ["detachableRadio", 0, true];

_vehicle setVariable ["GRAD_replay_track", true, true];

// add last damage source
_vehicle addMPEventHandler ["MPHit", {
  params ["_unit", "_causedBy", "_damage", "_instigator"];

  if (alive _unit && (side _instigator != sideUnknown && _instigator != _unit)) then {
    _unit setVariable ["BC_lastDamageSource_instigator", _instigator, true];
  };

  _damage
}];

// dont contain self damage
_vehicle addMPEventHandler ["MPKilled", {
  params ["_unit", "_killer", "_instigator", "_useEffects"];

  if (side _instigator != sideUnknown && _instigator != _unit) then {
    _unit setVariable ["BC_lastDamageSource_causedBy", _instigator, true];
  };
}];

[_vehicle, true] call BC_flagsOnVehicles_fnc_toggleFlag;


_terminal = createVehicle ['Land_DataTerminal_01_F', [0,0,0], [], 0, 'NONE'];
_terminal setVariable ["GRAD_replay_track", true, true];

hideObjectGlobal _terminal;

missionNameSpace setVariable ["GRAD_tracking_radioVehObj", _vehicle, true];
missionNameSpace setVariable ["GRAD_tracking_terminalObj", _terminal, true];

[[_vehicle, _terminal], "grad_tracking\init.sqf"] remoteExec ["execVM", 0, true];

_vehicle addItemCargoGlobal ["ACE_SpraypaintBlack",10];
_vehicle addItemCargoGlobal ["ACE_SpraypaintBlue",10];
_vehicle addItemCargoGlobal ["ACE_SpraypaintGreen",10];
_vehicle addItemCargoGlobal ["ACE_SpraypaintRed",10];
_vehicle addItemCargoGlobal ["ACE_EntrenchingTool",10];
_vehicle addItemCargoGlobal ["TFAR_fadak",10];params ["_vehicle"];

{
    private _type = _x select 0;
    private _offset = _x select 1;
    private _vectorDirAndUp = _x select 2;
    private _dummy = _type createVehicle [0,0,0];

    _dummy attachTo [_vehicle, _offset];
    _dummy setVectorDirAndUp _vectorDirAndUp;
} forEach [
    ["OmniDirectionalAntenna_01_sand_F",[-0.0223389,0.429688,2.95189],[[0,1,0],[0,0,1]]],
    ["Land_V3S_wreck_F",[-0.501587,-1.62744,-0.1276],[[0,1,0],[0,0,1]]]
];if (!isServer) exitWith {};
    
{
    private _potentToBuy = [_x] call BC_setup_fnc_getHighestRankOfSide;
    _potentToBuy setVariable ["BC_potentToBuy", true, true];
    [_potentToBuy, _x] remoteExec ["BC_buyables_fnc_setPlayerPotentToBuy", _potentToBuy];
} forEach [west, east];

["startVehicle", { 

        params ["_startVehicle", "_side"];

        BUYABLES_OPFOR_INDEX = ["BUYABLES_OPFOR", -1] call BIS_fnc_getParamValue;
        private _factionsOpfor = "getText (_x >> 'side') == 'Opfor'" configClasses (missionConfigFile >> "CfgGradBuymenu");
        private _buyablesOpfor = configName (_factionsOpfor select BUYABLES_OPFOR_INDEX);
        
        private _conquerMode = ([((_factionsOpfor select BUYABLES_OPFOR_INDEX) >> "mode"), "text", "conquer"] call CBA_fnc_getConfigEntry) isEqualTo "conquer";

        if (!_conquerMode) then {
            CONQUER_MODE = false;
            publicVariable "CONQUER_MODE";
        } else {
            CONQUER_MODE = true;
            publicVariable "CONQUER_MODE";
        };
        
}] call CBA_fnc_addEventHandler;class BUYABLES_BLUFOR
{
    title = "Blufor";
    values[] = {0, 1, 2, 3};
    texts[] = {"bwGM", "USA", "BW Tanks", "sovjetGM"};
    default = 1;
};

class BUYABLES_OPFOR
{
    title = "Opfor";
    values[] = {0, 1, 2, 3, 4};
    texts[] = {"nvaGM", "Russia", "Russia Tanks", "mudscha", "Rebels"};
    default = 1;
};class BC_buymenu {

    class gui {
        file = BC_buymenu\functions;

        class addBoatInteraction;
        class addInteraction;
        class applyTruckArmor;
        class adjustCrewCargoCount;
        class buyComplete;
        class buyInit;
        class buySpecials;
        class buyVehicle;
        class changeQueue;
        class createGUI;
        class changeValue;
        class dropMoney;
        class getCatGlobalCount;
        class getItemGlobalCount;
        class getRoadPositions;
        class getSpawnPosition;
        class getStartVehicleClassname;
        class getVehicleParams;
        class saveCatGlobalCache;
        class saveItemGlobalCache;
        class spawnStartVehicles;
        class vehicleMarker;

    };
};class cashRegister
{
    name = "cashRegister";
    // filename, volume, pitch
    sound[] = {"BC_buymenu\sounds\cashRegister.ogg", 1, 1};
    // subtitle delay in seconds, subtitle text
    titles[] = {0, ""};
};// Control types
#define CT_STATIC           0
#define CT_BUTTON           1
#define CT_EDIT             2
#define CT_SLIDER           3
#define CT_COMBO            4
#define CT_LISTBOX          5
#define CT_TOOLBOX          6
#define CT_CHECKBOXES       7
#define CT_PROGRESS         8
#define CT_HTML             9
#define CT_STATIC_SKEW      10
#define CT_ACTIVETEXT       11
#define CT_TREE             12
#define CT_STRUCTURED_TEXT  13
#define CT_CONTEXT_MENU     14
#define CT_CONTROLS_GROUP   15
#define CT_SHORTCUTBUTTON   16
#define CT_XKEYDESC         40
#define CT_XBUTTON          41
#define CT_XLISTBOX         42
#define CT_XSLIDER          43
#define CT_XCOMBO           44
#define CT_ANIMATED_TEXTURE 45
#define CT_OBJECT           80
#define CT_OBJECT_ZOOM      81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83
#define CT_LINEBREAK        98
#define CT_USER             99
#define CT_MAP              100
#define CT_MAP_MAIN         101
#define CT_LISTNBOX         102

// Static styles
#define ST_POS            0x0F
#define ST_HPOS           0x03
#define ST_VPOS           0x0C
#define ST_LEFT           0x00
#define ST_RIGHT          0x01
#define ST_CENTER         0x02
#define ST_DOWN           0x04
#define ST_UP             0x08
#define ST_VCENTER        0x0C

#define ST_TYPE           0xF0
#define ST_SINGLE         0x00
#define ST_MULTI          0x10
#define ST_TITLE_BAR      0x20
#define ST_PICTURE        0x30
#define ST_FRAME          0x40
#define ST_BACKGROUND     0x50
#define ST_GROUP_BOX      0x60
#define ST_GROUP_BOX2     0x70
#define ST_HUD_BACKGROUND 0x80
#define ST_TILE_PICTURE   0x90
#define ST_WITH_RECT      0xA0
#define ST_LINE           0xB0

#define ST_SHADOW         0x100
#define ST_NO_RECT        0x200
#define ST_KEEP_ASPECT_RATIO  0x800

// Slider styles
#define SL_DIR            0x400
#define SL_VERT           0
#define SL_HORZ           0x400

#define SL_TEXTURES       0x10

// progress bar
#define ST_VERTICAL       0x01
#define ST_HORIZONTAL     0

// Listbox styles
#define LB_TEXTURES       0x10
#define LB_MULTI          0x20

// Tree styles
#define TR_SHOWROOT       1
#define TR_AUTOCOLLAPSE   2

// MessageBox styles
#define MB_BUTTON_OK      1
#define MB_BUTTON_CANCEL  2
#define MB_BUTTON_USER    4
class grad_buymenu_RscBackground {
	idc = -1;
	type = CT_STATIC;
	style = ST_HUD_BACKGROUND;
	text = "";
	colorText[] = {0, 0, 0, 0};
	font = "RobotoCondensed";
	sizeEx = 0.04;
	shadow = 0;
	colorBackground[] = {0, 0, 0, 0.9};
};

class grad_buymenu_RscText {

	idc = -1;
	type = CT_STATIC;
	style = ST_LEFT;
	colorBackground[] = { 1 , 1 , 1 , 0 };
	colorText[] = { 1 , 1 , 1 , 1 };
	font = "RobotoCondensed";
	sizeEx = 0.025;
	h = 0.25;
	text = "";
};

class grad_buymenu_RscStructuredTextLeft {
	idc = -1;
	access = 0;
	type = CT_STRUCTURED_TEXT;
	style = 0;
	colorText[] = { 1 , 1 , 1 , 1 };
	colorBackground[] = {0,0,0,0.4};
	class Attributes {
		font = "RobotoCondensed";
		//color = "#e0d8a6";
		align = "left";
		shadow = 0;
	};
	text = "";
	size = 0.03921;
	shadow = 2;
};

class grad_buymenu_RscPicture {
	shadow = 0;
	type = CT_STATIC;
	style = 48 + 2048;
	sizeEx = 0.023;
	font = "RobotoCondensed";
	text = "";
	colorBackground[] = {};
	colorText[] = {};
	x = 0;
	y = 0;
	w = 0.2;
	h = 0.15;
	tooltipColorText[] = {1,1,1,1};
	tooltipColorBox[] = {1,1,1,1};
	tooltipColorShade[] = {0,0,0,0.65};
};


class grad_buymenu_RscPictureKeepAspect: grad_buymenu_RscPicture {
	style = "0x30 + 0x800";
};


class grad_buymenu_RscButton {
	x = 0;
	y = 0;
	w = 0.15;
	h = 0.1;
	access = 0;
	type = CT_BUTTON;
	style = ST_CENTER;
	text = "";
	colorText[] = {1,1,1,1};
	colorDisabled[] = {1,1,1,0.1};
	colorBackground[] = {0,0,0,0.8};
	colorFocused[] = {1,1,1,0.5};
	colorBackgroundActive[] = {1,1,1,0.8}; // hover
	colorBackgroundDisabled[] = {0.3,0.3,0.3,0.3};
	colorBackgroundFocused[] = {0,0,0,0.5};
	colorShadow[] = {0,0,0,0};
	colorBorder[] = {0,0,0,1};
	soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter", 0.09, 1};
	soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush", 0.09, 1};
	soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick", 0.09, 1};
	soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape", 0.09, 1};
	animTextureDefault = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";
	animTextureNormal = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";
	animTextureDisabled = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";
	animTextureOver = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\over_ca.paa";
	animTextureFocused = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";
	animTexturePressed = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\down_ca.paa";
	shadow = 0;
	font = "RobotoCondensed";
	sizeEx = 0.04;
	offsetX = 0.003;
	offsetY = 0.003;
	offsetPressedX = 0.000;
	offsetPressedY = 0.001;
	borderSize = 0;
};//CONTROLS BACKGROUND ==========================================================
#define grad_buymenu_DIALOG         2000
#define grad_buymenu_TITLE          2001
#define grad_buymenu_MYFUNDS        2002
#define grad_buymenu_DESCRIPTION    2003

#define grad_buymenu_SEATCOUNT        2004

// CATEGORY TITLES =============================================================
#define grad_buymenu_CAT_1_TITLE       3001
#define grad_buymenu_CAT_2_TITLE       3002
#define grad_buymenu_CAT_3_TITLE       3003
#define grad_buymenu_CAT_4_TITLE       3004

#define grad_buymenu_CAT_1_SUBTITLE       3005
#define grad_buymenu_CAT_2_SUBTITLE        3006
#define grad_buymenu_CAT_3_SUBTITLE        3007
#define grad_buymenu_CAT_4_SUBTITLE        3008

// CATEGORY ITEMS ==============================================================
#define grad_buymenu_CAT_1_ITEM_1       3011
#define grad_buymenu_CAT_1_ITEM_2       3012
#define grad_buymenu_CAT_1_ITEM_3       3013

#define grad_buymenu_CAT_2_ITEM_1       3021
#define grad_buymenu_CAT_2_ITEM_2       3022
#define grad_buymenu_CAT_2_ITEM_3       3023

#define grad_buymenu_CAT_3_ITEM_1       3031
#define grad_buymenu_CAT_3_ITEM_2       3032
#define grad_buymenu_CAT_3_ITEM_3       3033

#define grad_buymenu_CAT_4_ITEM_1       3041
#define grad_buymenu_CAT_4_ITEM_2       3042
#define grad_buymenu_CAT_4_ITEM_3       3043

// CATEGORY ITEM PICTURES =====================================================
#define grad_buymenu_CAT_1_ITEM_1_PIC       4011
#define grad_buymenu_CAT_1_ITEM_2_PIC       4012
#define grad_buymenu_CAT_1_ITEM_3_PIC       4013

#define grad_buymenu_CAT_2_ITEM_1_PIC       4021
#define grad_buymenu_CAT_2_ITEM_2_PIC       4022
#define grad_buymenu_CAT_2_ITEM_3_PIC       4023

#define grad_buymenu_CAT_3_ITEM_1_PIC       4031
#define grad_buymenu_CAT_3_ITEM_2_PIC       4032
#define grad_buymenu_CAT_3_ITEM_3_PIC       4033

#define grad_buymenu_CAT_4_ITEM_1_PIC       4041
#define grad_buymenu_CAT_4_ITEM_2_PIC       4042
#define grad_buymenu_CAT_4_ITEM_3_PIC       4043

// CATEGORY ITEM COUNT ========================================================

#define grad_buymenu_CAT_1_ITEM_1_COUNT       5011
#define grad_buymenu_CAT_1_ITEM_2_COUNT       5012
#define grad_buymenu_CAT_1_ITEM_3_COUNT       5013

#define grad_buymenu_CAT_2_ITEM_1_COUNT       5021
#define grad_buymenu_CAT_2_ITEM_2_COUNT       5022
#define grad_buymenu_CAT_2_ITEM_3_COUNT       5023

#define grad_buymenu_CAT_3_ITEM_1_COUNT       5031
#define grad_buymenu_CAT_3_ITEM_2_COUNT       5032
#define grad_buymenu_CAT_3_ITEM_3_COUNT       5033

#define grad_buymenu_CAT_4_ITEM_1_COUNT       5041
#define grad_buymenu_CAT_4_ITEM_2_COUNT       5042
#define grad_buymenu_CAT_4_ITEM_3_COUNT       5043

// BUTTONS ====================================================================
#define grad_buymenu_BUYBUTTON      6000

#define grad_buymenu_CAT_1_ITEM_1_BTN_MORE       6011
#define grad_buymenu_CAT_1_ITEM_2_BTN_MORE       6012
#define grad_buymenu_CAT_1_ITEM_3_BTN_MORE       6013

#define grad_buymenu_CAT_2_ITEM_1_BTN_MORE       6021
#define grad_buymenu_CAT_2_ITEM_2_BTN_MORE       6022
#define grad_buymenu_CAT_2_ITEM_3_BTN_MORE       6023

#define grad_buymenu_CAT_3_ITEM_1_BTN_MORE       6031
#define grad_buymenu_CAT_3_ITEM_2_BTN_MORE       6032
#define grad_buymenu_CAT_3_ITEM_3_BTN_MORE       6033

#define grad_buymenu_CAT_4_ITEM_1_BTN_MORE       6041
#define grad_buymenu_CAT_4_ITEM_2_BTN_MORE       6042
#define grad_buymenu_CAT_4_ITEM_3_BTN_MORE       6043



#define grad_buymenu_CAT_1_ITEM_1_BTN_LESS       6051
#define grad_buymenu_CAT_1_ITEM_2_BTN_LESS       6052
#define grad_buymenu_CAT_1_ITEM_3_BTN_LESS       6053

#define grad_buymenu_CAT_2_ITEM_1_BTN_LESS       6061
#define grad_buymenu_CAT_2_ITEM_2_BTN_LESS       6062
#define grad_buymenu_CAT_2_ITEM_3_BTN_LESS       6063

#define grad_buymenu_CAT_3_ITEM_1_BTN_LESS       6071
#define grad_buymenu_CAT_3_ITEM_2_BTN_LESS       6072
#define grad_buymenu_CAT_3_ITEM_3_BTN_LESS       6073

#define grad_buymenu_CAT_4_ITEM_1_BTN_LESS       6081
#define grad_buymenu_CAT_4_ITEM_2_BTN_LESS       6082
#define grad_buymenu_CAT_4_ITEM_3_BTN_LESS       6083

//DIMENSIONS AND POSITIONS =====================================================
#define SCREEN_W safeZoneW
#define SCREEN_H safeZoneH
#define COLUMN_W SCREEN_W/21
#define ROW_H SCREEN_H/40

#define grad_buymenu_BG_X safezoneX
#define grad_buymenu_BG_Y safeZoneY
#define grad_buymenu_BG_W SCREEN_W
#define grad_buymenu_BG_H SCREEN_H

#define grad_buymenu_textSize       0.04class grad_buymenu {
    idd = grad_buymenu_DIALOG;
    movingEnable = true;
    enableSimulation = true;

    class ControlsBackground {
        class MainBackground: grad_buymenu_RscBackground {
            x = grad_buymenu_BG_X;
            y = grad_buymenu_BG_Y;
            w = grad_buymenu_BG_W;
            h = grad_buymenu_BG_H;
        };

        class DialogTitleText: grad_buymenu_RscText {
            idc = grad_buymenu_TITLE;
            text = "NAME OF VENDOR";
            sizeEx = 0.04 * TEXT_SCALE;

            x = grad_buymenu_BG_X;
            y = grad_buymenu_TopBar_Y;
            w = grad_buymenu_BG_W;
            h = grad_buymenu_Item_H;
        };

        class MyFunds: grad_buymenu_RscText {
            idc = grad_buymenu_MYFUNDS;
            text = "MY FUNDS";
            sizeEx = 0.04 * TEXT_SCALE;
            style = ST_RIGHT;

            x = grad_buymenu_BG_X;
            y = grad_buymenu_TopBar_Y;
            w = grad_buymenu_BG_W;
            h = grad_buymenu_Item_H;
        };

        class ItemListBG: grad_buymenu_RscBackground {
            idc = -1;
            colorBackground[] = {0,0,0,0.4};

            x = grad_buymenu_Column1_X;
            y = grad_buymenu_BG_Y + grad_buymenu_Padding_Y + grad_buymenu_Item_H + grad_buymenu_ItemSpace_Y;
            w = grad_buymenu_Column_W;
            h = grad_buymenu_Itemlist_H;
        };

        class PreviewPictureBG: grad_buymenu_RscBackground {
            idc = -1;
            colorBackground[] = {0,0,0,0.4};

            x = grad_buymenu_Column2_X;
            y = grad_buymenu_BG_Y + grad_buymenu_Padding_Y;
            w = grad_buymenu_Column_W;
            h = grad_buymenu_Picture_H;
        };

        class PreviewPicture: grad_buymenu_RscPicture {
            idc = grad_buymenu_PICTURE;
            colorBackground[] = {0,0,0,0.4};

            x = grad_buymenu_Column2_X;
            y = grad_buymenu_BG_Y + grad_buymenu_Padding_Y;
            w = grad_buymenu_Column_W;
            h = grad_buymenu_Picture_H;
        };

        class Description: grad_buymenu_RscStructuredTextLeft {
            idc = grad_buymenu_DESCRIPTION;
            text = "";

            x = grad_buymenu_Column2_X;
            y = grad_buymenu_BG_Y + grad_buymenu_Padding_Y + grad_buymenu_Picture_H + grad_buymenu_ItemSpace_Y;
            w = grad_buymenu_Column_W;
            h = grad_buymenu_Description_H;
        };
    };

    class Controls {
        class Category: grad_buymenu_RscCombo {
            idc = grad_buymenu_CATEGORY;

            x = grad_buymenu_Column1_X;
            y = grad_buymenu_BG_Y + grad_buymenu_Padding_Y;
            w = grad_buymenu_Column_W;
            h = grad_buymenu_Item_H;

            onLBSelChanged = "_this call grad_buymenu_fnc_updateList";
        };

        class ItemList: grad_buymenu_RscListNBox {
            idc = grad_buymenu_ITEMLIST;

            x = grad_buymenu_Column1_X;
            y = grad_buymenu_BG_Y + grad_buymenu_Padding_Y + grad_buymenu_Item_H + grad_buymenu_ItemSpace_Y;
            w = grad_buymenu_Column_W;
            h = grad_buymenu_Itemlist_H;

            onLBSelChanged = "_this call grad_buymenu_fnc_updateItemData; _this call grad_buymenu_fnc_updatePicture";
        };

        class BuyButton: grad_buymenu_RscButton {
            idc = grad_buymenu_BUYBUTTON;
            text = "BUY";
            action = "[] call grad_buymenu_fnc_buyClient";

            x = grad_buymenu_BG_X + grad_buymenu_BG_W - grad_buymenu_Button_W;
            y = grad_buymenu_BG_Y + grad_buymenu_BG_H + grad_buymenu_ItemSpace_Y;
            w = grad_buymenu_Button_W;
            h = grad_buymenu_Item_H;
        };
    };
};
params ["_object"];

// boat carrying
private _carryAssaultBoat = ["CarryBoatAction", "Carry Boat", "",
  {[_target] spawn GRAD_carryBoat_fnc_pickupBoat;},
  {(count (crew _target) == 0)}] call ace_interact_menu_fnc_createAction;

["B_Boat_Transport_01_F", 0, ["ACE_MainActions"],_carryAssaultBoat] call ace_interact_menu_fnc_addActionToClass;

// boat picking from container
private _createAssaultBoat = ["CreateBoatAction", "Take Boat", "",
  {[_target] call GRAD_carryBoat_fnc_createBoat;},
  {(_target getVariable ["grad_carryBoatCargo", 0] > 0)}
] call ace_interact_menu_fnc_createAction;

[typeOf _object, 0, ["ACE_MainActions"],_createAssaultBoat] call ace_interact_menu_fnc_addActionToClass;
params ["_object", "_baseConfigName", "_shopName", "_actionDescription", "_condition"];

/*  Adds ACE-interaction to open buy menu to an object
*
*/

private _actionName = format ["grad_lbm_interaction_%1_%2", str _object, _baseConfigName];
private _icon = (missionNamespace getVariable ["grad_lbm_moduleRoot", [] call grad_lbm_fnc_getModuleRoot]) + "\data\moneyIcon.paa";

private _action = [_actionName,_actionDescription,_icon,{

    _args = _this select 2;
    _args params ["_object","_baseConfigName","_shopName"];
    
    [{
        params ["_baseConfigName", "_object"];
        [_baseConfigName, _object] call BC_buymenu_fnc_createGUI;
        
    }, [_baseConfigName, _object]
    ] call CBA_fnc_execNextFrame;

},_condition,{},[_object, _baseConfigName, _shopName],[0,0,0],3] call ace_interact_menu_fnc_createAction;

[_object, 0, ["ACE_MainActions"], _action] call ace_interact_menu_fnc_addActionToObject;params [
    "_increase", 
    "_ctrlCrewCount", 
    "_ctrlCargoCount", 
    "_ctrlTotalSideCount",
    "_crewCount",
    "_cargoCount",
    "_valueTotalSideCount"
];

private _valueCrewCount = missionNamespace getVariable ["BC_buymenu_valueCrewCount", 0];
private _valueCargoCount = missionNamespace getVariable ["BC_buymenu_valueCargoCount", 0];

private _formatting = "<t size='1.5' align='center' color='#66aa66'>";
private _formattingNotReached = "<t size='1.5' align='center' color='#D18D1F'>";

if (_increase) then {
    _valueCrewCount = _valueCrewCount + _crewCount;
    _valueCargoCount = _valueCargoCount + _cargoCount;
} else {
    _valueCrewCount = _valueCrewCount - _crewCount;
    _valueCargoCount = _valueCargoCount - _cargoCount;
};

if ((_valueCrewCount + _valueCargoCount) < _valueTotalSideCount) then {
    _formatting = _formattingNotReached;
};

missionNamespace setVariable ["BC_buymenu_valueCrewCount", _valueCrewCount, true];
missionNamespace setVariable ["BC_buymenu_valueCargoCount", _valueCargoCount, true];

_ctrlCrewCount ctrlSetStructuredText parseText (_formatting + str _valueCrewCount + " </t><br/><t size='0.5' align='center' color='#666666'>Crew" + "</t>");
_ctrlCargoCount ctrlSetStructuredText parseText (_formatting + str _valueCargoCount + " </t><br/><t size='0.5' align='center' color='#666666'>Cargo" + "</t>");

_ctrlCrewCount ctrlCommit 0;
_ctrlCargoCount ctrlCommit 0;params ["_truck", ["_armorLevel", 1]];

/* wörks only for gaz66 142 */

if (_armorLevel == 1) then {

     // LEFT SIDE METAL
     _leftMetal = "Land_TinWall_01_m_4m_v1_F" createVehicle [0,0,0];
     _leftMetal attachto [_truck, [-1.2,-0.75,1.15]]; 
     _leftMetal setVectorDirAndUp [[1,0,0],[0,0,-1]];

     // LEFT SIDE METAL II
     _leftMetal2 = "Land_SlumWall_01_s_4m_F" createVehicle [0,0,0];
     _leftMetal2 attachto [_truck, [-1.3,1,0.75]]; 
     _leftMetal2 setVectorDirAndUp [[1,0,0],[0,0,-1]];

     // LEFT WOOD
     _leftWood = "Land_Shoot_House_Wall_Long_Prone_F" createVehicle [0,0,0];
     _leftWood attachto [_truck, [-1.1,-0.75,2.7]];  
     _leftWood setVectorDirAndUp [[1,0,0],[0,0,1]];

     // RIGHT SIDE WOOD
     _rightWood = "Land_Shoot_House_Wall_Long_Crouch_F" createVehicle [0,0,0];
     _rightWood attachto [_truck, [1.1,-0.75,2.5]]; 
     _rightWood setVectorDirAndUp [[-1,0,0],[0,0,1]];

     // RIGHT SIDE METAL
     _rightMetal = "Land_TinWall_01_m_4m_v1_F" createVehicle [0,0,0];
     _rightMetal attachto [_truck, [1.15,-0.75,1.15]]; 
     _rightMetal setVectorDirAndUp [[-1,0,0],[0,0,-1]];

     // RIGHT SIDE METAL II
     _rightMetal2 = "Land_SlumWall_01_s_4m_F" createVehicle [0,0,0];
     _rightMetal2 attachto [_truck, [1.25,1,0.75]]; 
     _rightMetal2 setVectorDirAndUp [[-1,0,0],[0,0,-1]];

     // RIGHT SIDE PLANK
     _rightPlank = "Land_Plank_01_4m_F" createVehicle [0,0,0];
     _rightPlank attachto [_truck, [1.20,-1,1.2]];  
     _rightPlank setVectorDirAndUp [[0,2,1],[1,0,0]]; 

     // BACK WALL
     _back = "Land_Shoot_House_Wall_Stand_F" createVehicle [0,0,0];
     _back attachto [_truck, [0,-2.7,2.2]]; 
     _back setVectorDirAndUp [[0,1,0],[0,0,1]];

     // FRONT WOOD
     _front = "Land_Shoot_House_Wall_Prone_F" createVehicle [0,0,0];
     _front attachto [_truck, [0,3,2.5]];    
     _front setVectorDirAndUp [[0,1,0],[0,0,1]];

     _truck setVariable ["BC_objectives_truckArmorElements", [
          _leftMetal,
          _leftMetal2,
          _leftWood,
          _rightWood,
          _rightMetal,
          _rightMetal2,
          _rightPlank,
          _back,
          _front
     ]];

} else {
     
     // RIGHT SIDE WOOD
     _rightWood = "Land_Shoot_House_Wall_Long_Crouch_F" createVehicle [0,0,0];
     _rightWood attachto [_truck, [1.1,-0.75,2.5]]; 
     _rightWood setVectorDirAndUp [[-1,0,0],[0,0,1]];

     // LEFT WOOD
     _leftWood = "Land_Shoot_House_Wall_Long_Prone_F" createVehicle [0,0,0];
     _leftWood attachto [_truck, [-1.1,-0.75,2.7]];  
     _leftWood setVectorDirAndUp [[1,0,0],[0,0,1]];

     // LEFT METAL LONG
     _leftMetal = "Land_BackAlley_02_l_1m_F" createVehicle [0,0,0];
     _leftMetal attachto [_truck, [-1.2,-0.75,0.6]];  
     _leftMetal setVectorDirAndUp [[1,0,0],[0,1,0]];

     _leftMetal2 = "Land_BackAlley_02_l_1m_F" createVehicle [0,0,0];
     _leftMetal2 attachto [_truck, [-1.2,1.1,0.5]];   
     _leftMetal2 setVectorDirAndUp [[1,0,0],[0,1,0]];

     // RIGHT METAL LONG
     _rightMetal = "Land_BackAlley_02_l_1m_F" createVehicle [0,0,0];
     _rightMetal attachto [_truck, [1.2,-0.75,0.6]];  
     _rightMetal setVectorDirAndUp [[-1,0,0],[0,1,0]];

     _rightMetal2 = "Land_BackAlley_02_l_1m_F" createVehicle [0,0,0];
     _rightMetal2 attachto [_truck, [1.2,1.1,0.5]];   
     _rightMetal2 setVectorDirAndUp [[-1,0,0],[0,1,0]];

     // BACK WALL
     _back = "Land_Shoot_House_Wall_Stand_F" createVehicle [0,0,0];
     _back attachto [_truck, [0,-2.7,2.2]]; 
     _back setVectorDirAndUp [[0,1,0],[0,0,1]];

     // FRONT WOOD
     _front = "Land_Shoot_House_Wall_Prone_F" createVehicle [0,0,0];
     _front attachto [_truck, [0,3,2.5]];    
     _front setVectorDirAndUp [[0,1,0],[0,0,1]];

     _front2 = "Land_SlumWall_01_s_2m_F" createVehicle [0,0,0];
     _front2 attachto [_truck, [0,2.95,0.4]];     
     _front2 setVectorDirAndUp [[0,-1,0.9],[0,0,1]];

     _truck setVariable ["BC_objectives_truckArmorElements", [
          _rightWood,
          _leftWood,          
          _leftMetal,
          _leftMetal2,
          _rightMetal,
          _rightMetal2,
          _back,
          _front,
          _front2
     ]];
};/*
    buy complete on server
*/

params ["_unit", "_identifier", "_startVehicle", "_buyQueue"];

if (!isServer) exitWith {};

// systemChat str "buycomplete";

private _spawnPos = (getPos _startVehicle);
private _roadArray = _spawnPos nearRoads 750;
private _closestRoads = [_roadArray, [_spawnPos], { _input0 distance _x }, "ASCEND"] call BIS_fnc_sortBy;


private _debugMarkerGood = {
    _position = _this select 0;
    _position params ["_posX", "_posY"];
    _index = _this select 1;
    _markerstr = createMarker [format ["markernameGood%1",[_posX,_posY]], [_posX, _posY]];
    _markerstr setMarkerShape "ICON";
    _markerstr setMarkerType "hd_dot";
    _markerstr setMArkerColor "ColorGreen";
    _markerstr setMarkerText (str _index);
};

private _debugMarkerBad = {
    _position = _this select 0;
    _position params ["_posX", "_posY"];
    _index = _this select 1;
    _markerstr = createMarker [format ["markernameBad%1",[_posX,_posY]], [_posX, _posY]];
    _markerstr setMarkerShape "ICON";
    _markerstr setMarkerType "hd_dot";
    _markerstr setMArkerColor "ColorRed";
    _markerstr setMarkerText (str _index);
};

private _emptyIndex = 0;
    

    
for "_i" from _emptyIndex to ((count _closestRoads) - 1) do {
    private _road = (_closestRoads select _i);
    private _roadDir = getDir _unit;
    private _roadPos = getPos _road;
    private _roadsConnectedTo = roadsConnectedTo _road;
    if (count _roadsConnectedTo > 0) then {
        private _connectedRoad = _roadsConnectedTo select 0;
        _roadDir = [_road, _connectedRoad] call BIS_fnc_DirTo;
    };
    
    // _isEmpty = [_roadPos, 0, 5, 9, 0, 20, 0] call BIS_fnc_findSafePos;
    // [center, a, b, angle, isRectangle, c]
    private _foundStuff = (allMissionObjects "") inAreaArray [_roadPos, 8, 8, _roadDir, true, -1];
    // systemChat str _foundStuff;
    if ((count _foundStuff) < 1) then {
        
        if (DEBUG_MODE) then {
            [_roadPos, _i] call _debugMarkerGood;
        };

        if (_emptyIndex < (count _buyQueue)) then {
            diag_log format ["%1", _emptyIndex];
            private _data = _buyQueue select _emptyIndex;
            private _itemConfigName = _data param [2, ""];
            private _isSpecial = _data param [14]; // get special

            if (!_isSpecial) then {
                [side _unit, _startVehicle, _roadPos, _roadDir, _data] call BC_buymenu_fnc_buyVehicle;
            } else {
                [_itemConfigName, _startVehicle, _data] call BC_buymenu_fnc_buySpecials;
            };
        };

        _emptyIndex = _emptyIndex + 1;
    } else {
        if (DEBUG_MODE) then {
            [_roadPos, _i] call _debugMarkerBad;
        };
    };
};

// empty vehicle spawn queue
missionNamespace setVariable [_identifier, [], true];/*
    init buy on client
*/

params ["_button"];
private _baseConfigName = _button getVariable ["identifier", "none"];
// systemChat _baseConfigName;

private _display = uiNamespace getVariable ["BC_buymenu_display", displayNull];
private _startVehicle = uiNamespace getVariable ["BC_buymenu_startVehicle", objNull];
_display closeDisplay 1;

[player] remoteExec ["BC_buymenu_fnc_dropMoney", [0,-2] select isDedicated];

private _identifier = format ["BC_buymenu_spawnQueue_%1", _baseConfigName];
private _buyQueue = missionNamespace getVariable [_identifier, []];

[player, _identifier, _startVehicle, _buyQueue] remoteExec ["BC_buymenu_fnc_buyComplete", 2];params ["_vehicle", "_startVehicle", "_data"];

_data params [
    "_baseConfigName",
    "_categoryConfigName",
    "_itemConfigName",
    "_stock",
    "_displayName",
    "_description",
    "_picturePath",
    "_canMoveDuringTransmission",
    "_terminal_position_offset",
    "_terminal_position_vectorDirAndUp",
    "_antennaOffset",
    "_crew", 
    "_cargo", 
    "_speed",
    "_isSpecial", 
    "_driverGPS", 
    "_crewHelmet", 
    "_disableTIEquipment", 
    "_itemCargo", 
    "_magazineCargo", 
    "_trackCargo", 
    "_wheelCargo", 
    "_removeMagazines",
    "_code"
];

diag_log format ["_code %1, _stock %2", _code, _stock];

[_vehicle, _startVehicle] call _code;/*  Spawns vehicle
*
*   ripoff from grad-lbm, tweaked to prefer roads    
*/

// params ["_side","_code","_baseConfigName","_categoryConfigName","_itemConfigName","_spawnPosition", "_spawnDir", "_driverGPS", "_crew", "_crewHelmet", "_disableTIEquipment", "_itemCargo", "_magazineCargo", "_trackCargo", "_wheelCargo", "_removeMagazines", "_canMoveDuringTransmission"];

params [
    "_side", 
    ["_startVehicle", objNull],
    "_spawnPosition", 
    "_spawnDir",
    "_data"
];

diag_log format ["buyVehicle: %1 - %2 - %3 - %4", _side, _spawnPosition, _spawnDir, _data];

_data params [
    "_baseConfigName",
    "_categoryConfigName",
    "_itemConfigName",
    "_stock",
    "_displayName",
    "_description",
    "_picturePath",
    "_canMoveDuringTransmission",
    "_terminal_position_offset",
    "_terminal_position_vectorDirAndUp",
    "_antennaOffset",
    "_crew", 
    "_cargo", 
    "_speed",
    "_isSpecial", 
    "_driverGPS", 
    "_crewHelmet", 
    "_disableTIEquipment", 
    "_itemCargo", 
    "_magazineCargo", 
    "_trackCargo", 
    "_wheelCargo", 
    "_removeMagazines",
    "_code"
];

private _spawnEmpty = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "spawnEmpty"), "number", -1] call CBA_fnc_getConfigEntry;
if (_spawnEmpty == -1) then {
    _spawnEmpty = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> "spawnEmpty"), "number", 1] call CBA_fnc_getConfigEntry;
};

//spawn vehicle
private _vehicle = _itemConfigName createVehicle [0,0,0]; // create elsewhere so you dont see the rotation glitch
_vehicle setDir _spawnDir;
_spawnPosition set [2,0.6]; // elevate a bit in case of bumps in the road or other shit instaploding

_vehicle setPos _spawnPosition;

//bis vehicle init
private _init = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "vehicleInit"), "text", "[[],[]]"] call CBA_fnc_getConfigEntry;
private _compiledInit = call compile _init;

diag_log ("categoryConfigName: " + _categoryConfigName);
diag_log ("compiled init: " + str _compiledInit);
_compiledInit params ["_initTexture", "_initAnimationsource"];

[_vehicle, _initTexture, _initAnimationsource] call BIS_fnc_initVehicle;

// spawn empty
if (_spawnEmpty == 1) then {
    clearBackpackCargoGlobal _vehicle;
    clearItemCargoGlobal _vehicle;
    clearMagazineCargoGlobal _vehicle;
    clearWeaponCargoGlobal _vehicle;
};


// diag_log format ["buy vehicle helmet %1", _crewHelmet];

// add crew helmets as many as crew slots
if (_crewHelmet != "") then {
    _vehicle addItemCargoGlobal [_crewHelmet, _crew];
};

// disable thermals if set
if (_disableTIEquipment == "true") then {
    _vehicle disableTIEquipment true;
};

if (_driverGPS) then {
    _vehicle addItemCargoGlobal ["ItemGPS", 1];
};

if (count _removeMagazines > 0) then {
    _vehicle removeMagazineGlobal _removeMagazines;
};

// todo add condition config
if (true) then {
    
    {
        _x params ["_type", "_turretpath", "_ammoCount", "_id", "_creator"];

        private _ammo = [configfile >> "CfgMagazines" >> _type >> "ammo", "string", ""] call CBA_fnc_getConfigEntry;
        private _splashDamage = [configfile >> "CfgAmmo" >> _ammo >> "indirectHit", "number", 0] call CBA_fnc_getConfigEntry;
        private _splashRange = [configfile >> "CfgAmmo" >> _ammo >> "indirectHitRange", "number", 0] call CBA_fnc_getConfigEntry;
        
        if (_splashRange >= 6 && _splashDamage > 5) then {
            _vehicle removeMagazinesTurret [_type, _turretpath];
            diag_log format ["removing ammo %1 from %2, splash damage is %3 and range %4", 
            _ammo, _vehicle, _splashDamage, _splashRange];
        };

    } forEach (magazinesAllTurrets _vehicle);
};


// add items + magazines
if (count _itemCargo > 0)  then {
    {   
        _x params ["_classname", "_count"];
        _vehicle addItemCargoGlobal [_classname, _count];
    } forEach _itemCargo;
};

// add items + magazines
if (count _magazineCargo > 0)  then {
    {   
        _x params ["_classname", "_count"];
        _vehicle addItemCargoGlobal [_classname, _count];
    } forEach _magazineCargo;
};

// add spare wheels/tracks
if (_trackCargo > 0) then {
    ['AddCargoByClass', ['ACE_track', _vehicle, _trackCargo], _vehicle] call CBA_fnc_targetEvent;
};
if (_wheelCargo > 0) then {
    ['AddCargoByClass', ['ACE_wheel', _vehicle, _wheelCargo], _vehicle] call CBA_fnc_targetEvent;
};


_vehicle setVariable ["BC_canMoveDuringTransmission", _canMoveDuringTransmission, true];
_vehicle setVariable ["BC_terminal_position_offset", _terminal_position_offset, true];
_vehicle setVariable ["BC_terminal_position_vectorDirAndUp", _terminal_position_vectorDirAndUp, true];
_vehicle setVariable ["BC_antennaOffset", _antennaOffset, true];
_vehicle setVariable ["ace_vehiclelock_lockSide", _side, true];


[_vehicle, _startVehicle] call _code;

//vehicle marker
_c1 = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> "vehicleMarkers"), "number", 2] call CBA_fnc_getConfigEntry;
_c2 = [(missionConfigFile >> "CfgGradBuymenu" >> "vehicleMarkers"), "number", 1] call CBA_fnc_getConfigEntry;
switch (true) do {
    case (_c1 == 1): {
        [_vehicle, _baseConfigName, _categoryConfigName, _itemConfigName] remoteExec ["BC_buymenu_fnc_vehicleMarker", _side, false];
    };
    case (_c1 == 0): {false};
    case (_c2 == 1): {
        [_vehicle, _baseConfigName, _categoryConfigName, _itemConfigName] remoteExec ["BC_buymenu_fnc_vehicleMarker", _side, false];
    };
    default {false};
};


//track
if (missionNamespace getVariable  ["grad_lbm_trackingTag",""] != "") then {
    [_baseConfigName,_categoryConfigName,_itemConfigName] call GRAD_lbm_tracking_fnc_trackPurchase;
};

_vehicle
params ["_add", "_data"];

_data params [            
    "_baseConfigName",
    "_categoryConfigName",
    "_itemConfigName",
    "_stock", 
    "_displayName",
    "_description",
    "_picturePath",
    "_canMoveDuringTransmission",
    "_terminal_position_offset",
    "_terminal_position_vectorDirAndUp",
    "_antennaOffset",
    "_crew", 
    "_cargo",
    "_speed",
    "_isSpecial",
    "_driverGPS", 
    "_crewHelmet", 
    "_disableTIEquipment",
    "_itemCargo",
    "_magazineCargo",
    "_trackCargo", 
    "_wheelCargo",
    "_removeMagazines",
    "_code"
];

private _identifier = format ["BC_buymenu_spawnQueue_%1", _baseConfigName];
private _currentQueue = missionNamespace getVariable [_identifier, []];

if (_add) then {
    _currentQueue pushBack _data;
} else {
    _currentQueue deleteAt (_currentQueue find _data);
};

// diag_log format ["_currentQueue %1", _currentQueue];

missionNamespace setVariable [_identifier, _currentQueue, true];/*
    
    all logic belongs to us

*/

params ["_parameter", "_increaseValue"];
_parameter params ["_control", "_button", "_xPos", "_yPos", "_shift", "_ctrl", "_alt"];

private _parentControl = _control getVariable ["parentControl", controlNull];
private _buttons = _parentControl getVariable ["connectedButtons", []];
_buttons params ["_btnPlus", "_btnMinus"];

private _itemValue = _parentControl getVariable ["value", 0];
private _minItemValue = _parentControl getVariable ["minValue", 0];
private _maxItemValue = _parentControl getVariable ["maxValue", 0];

private _ctrlChosenInThisCat = _parentControl getVariable ["ctrlChosenInThisCat", controlNull];
private _valueMaxInThisCat = _parentControl getVariable ["valueMaxInThisCat", 0];

private _ctrlTotalSideCount = _parentControl getVariable ["ctrlTotalSideCount", controlNull];
private _valueTotalSideCount = _parentControl getVariable ["valueTotalSideCount", 1];

private _catValue = _ctrlChosenInThisCat getVariable ["value", 0];
private _maxValue = _ctrlChosenInThisCat getVariable ["maxValue", 0];
private _stock = _parentControl getVariable ["stock", 0];

private _crewCount = _parentControl getVariable ["crew", 0];
private _cargoCount = _parentControl getVariable ["cargo", 0];
private _ctrlCrewCount = _parentControl getVariable ["ctrlCrew", controlNull];
private _ctrlCargoCount = _parentControl getVariable ["ctrlCargo", controlNull];

private _ctrlSingleCount = _parentControl getVariable ["ctrlSingleCount", controlNull];

private _data = _parentControl getVariable ["data", []];

private _baseConfigName = _parentControl getVariable ["baseConfigName", "none"];
private _categoryName = _parentControl getVariable ["categoryConfigName", "none"];


private _catButtons = _ctrlChosenInThisCat getVariable ["catButtons", []];

// diag_log format ["_data in changeValue %1", _data];

private _catFormatting = "<t size='1' align='center' color='#999999'>";
private _catFormattingMaxed = "<t size='1' align='center' color='#66AA66'>";

if (_increaseValue) then {
    _itemValue = _itemValue + 1;
    _catValue = _catValue + 1;
} else {
    _itemValue = _itemValue - 1;
    _catValue = _catValue - 1;
};

private _itemConfigName = _data param [2, ""];
diag_log format ["_item is %1, _value %2, _stock is %3", _itemConfigName, _itemValue, _stock];


private _enableDisableButtons = {
    params ["_itemValue", "_maxItemValue", "_catValue", "_stock", "_btnPlus", "_btnMinus"];
    
    // reset to default
    _ctrlSingleCount ctrlSetBackgroundColor [0,0,0,0.8];
    _ctrlSingleCount ctrlSetStructuredText parseText ("<t size='0.7' align='center' shadow='0' color='#999999'>" + ("max " + str _stock) + "</t>");

    private _catMaxed = _catValue >= _valueMaxInThisCat;
    
    {
        _x params ["_ctrlItemCount", "_btnPlus", "_btnMinus"];

        // initially enable all, then look for conditions   
        _btnMinus ctrlEnable true;
        _btnPlus ctrlEnable true;

        // actual values for items of cat
        private _itemValue = _ctrlItemCount getVariable ["value", 0];
        private _minItemValue = _ctrlItemCount getVariable ["minValue", 0];
        private _maxItemValue = _ctrlItemCount getVariable ["maxValue", 0];

        if (_catMaxed) then {
             _btnPlus ctrlEnable false;
        };

        // max item value
        if (_itemValue == _maxItemValue) then {
            _btnPlus ctrlEnable false;
            _ctrlSingleCount ctrlSetBackgroundColor [0.4,0.66,0.4,1];
            _ctrlSingleCount ctrlSetStructuredText parseText ("<t size='0.7' align='center' shadow='0' color='#000000'>" + ("max " + str _stock) + "</t>");
        };

        if (_itemValue >= _stock) then {
            _btnPlus ctrlEnable false;
            _ctrlSingleCount ctrlSetBackgroundColor [0.4,0.66,0.4,1];
            _ctrlSingleCount ctrlSetStructuredText parseText ("<t size='0.7' align='center' shadow='0' color='#000000'>" + ("max " + str _stock) + "</t>");
        };        

        // minitemvalue is zero (or above if vehicle bought in previous session)
        if (_itemValue <= _minItemValue) then {
            _btnMinus ctrlEnable false;
        } else {
            _btnMinus ctrlEnable true;
        };

    } forEach _catButtons;

    _catMaxed
};

// needs to be before enabledisablebuttons
_ctrlChosenInThisCat setVariable ["value", _catValue];
_parentControl setVariable ["value", _itemValue];

private _catMaxed = [_itemValue, _maxItemValue, _catValue, _stock, _btnPlus, _btnMinus] call _enableDisableButtons;

if (_catMaxed) then {
    _catFormatting = _catFormattingMaxed
};

[_baseConfigName, _categoryName, _catValue] call BC_buymenu_fnc_saveCatGlobalCache;

// set cargo and crew count
if (_increaseValue) then {
    [true, _ctrlCrewCount, _ctrlCargoCount, _ctrlTotalSideCount, _crewCount, _cargoCount, _valueTotalSideCount] call BC_buymenu_fnc_adjustCrewCargoCount;
    [true, _data] call BC_buymenu_fnc_changeQueue;
    [true, _data] call BC_buymenu_fnc_saveItemGlobalCache;
} else {
    [false, _ctrlCrewCount, _ctrlCargoCount, _ctrlTotalSideCount, _crewCount, _cargoCount, _valueTotalSideCount] call BC_buymenu_fnc_adjustCrewCargoCount;
    [false, _data] call BC_buymenu_fnc_changeQueue;
    [false, _data] call BC_buymenu_fnc_saveItemGlobalCache;
};

// systemChat format ["%1, %2", _parentControl, _itemValue];
// disableSerialization;

_parentControl ctrlSetStructuredText parseText (
    "<t size='1.5' align='center' shadow='0' color='#999999'>" + str _itemValue + "</t>"
); 
_parentControl ctrlCommit 0;


_ctrlChosenInThisCat ctrlSetStructuredText parseText (
    _catFormatting + str _catValue + "/" + str _maxValue + "</t>"
);

_ctrlChosenInThisCat ctrlCommit 0;/*

    ["AmericanStuff", cursorObject, US_SPAWN_PAD] call BC_buymenu_fnc_createGUI;

*/

params ["_baseConfigName", "_startVehicle", "_spawnCone"];
// prepare data
private _baseConfig = missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName;
private _allCategories = "true" configClasses _baseConfig;
private _categoriesExtracted = [];

{
    _categoryConfig = _x;
    _condition = [(_categoryConfig >> "condition"), "text", "true"] call CBA_fnc_getConfigEntry;

    if (call compile _condition) then {
        // private _categoryConfigName = configName _categoryConfig;
        private _categoryConfigName = [(_categoryConfig >> "displayName"), "text", ""] call CBA_fnc_getConfigEntry;

        if (_categoryConfigName == "") then {
            _categoryConfigName = configName _categoryConfig
        };

        diag_log ("_categoryConfigName " + _categoryConfigName);

        private _valueMaxInThisCat = [(_categoryConfig >> "maxBuyCount"), "number", 0] call CBA_fnc_getConfigEntry;
        private _isSpecial = ([(_categoryConfig >> "kindOf"), "text", ""] call CBA_fnc_getConfigEntry) isEqualTo "Special";
        private _minPlayerCount = [(_categoryConfig >> "minPlayerCount"), "number", 0] call CBA_fnc_getConfigEntry;
        private _driverGPS = [(_categoryConfig >> "driverGPS"), "text", "true"] call CBA_fnc_getConfigEntry isEqualTo "true";
        private _crewHelmet = [(_categoryConfig >> "crewHelmet"), "text", ""] call CBA_fnc_getConfigEntry;
        private _disableTIEquipment = [(_categoryConfig >> "disableTIEquipment"), "text", "true"] call CBA_fnc_getConfigEntry;
        private _canMoveDuringTransmission = [(_categoryConfig >> "canMoveDuringTransmission"), "text", "false"] call CBA_fnc_getConfigEntry isEqualTo "true";

        ///////
        private _allItems = "true" configClasses (missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName);
        _listIndex = 0;
        private _allItemsExtracted = [];
        {
            _itemConfig = _x;
            _condition = [(_itemConfig >> "condition"), "text", "true"] call CBA_fnc_getConfigEntry;

            if (call compile _condition) then {
                private _itemConfigName = configName _itemConfig;

                private _data = [_baseConfig, _categoryConfig, _itemConfig, false] call BC_buymenu_fnc_getVehicleParams;
                _allItemsExtracted pushBack _data;
                // diag_log str (_allItemsExtracted);
                // copyToClipboard str (_allItemsExtracted);
                
            };
        } forEach _allItems;
        ///////


        _categoriesExtracted pushBack [
            _baseConfigName, _categoryConfigName, _minPlayerCount, _valueMaxInThisCat, _spawnCone, _allItemsExtracted
        ];
    };
} forEach _allCategories;



///////////////////


private _screenWidth = safeZoneW;
private _screenHeight = safeZoneH;

private _columnWidth = _screenWidth/26;
private _rowHeight = _screenHeight/40;

disableSerialization;

private _display = findDisplay 46 createDisplay "RscDisplayEmpty";

private _background = _display ctrlCreate ["RscText", -1];
_background ctrlSetPosition [safezoneX, safeZoneY, _screenWidth, _screenHeight];
_background ctrlSetBackgroundColor [0,0,0,0.9];
_background ctrlCommit 0;

private _backgroundHeader = _display ctrlCreate ["RscText", -1];
_backgroundHeader ctrlSetPosition [safezoneX, safeZoneY, _screenWidth, _rowHeight*4];
_backgroundHeader ctrlSetBackgroundColor [0,0,0,1];
_backgroundHeader ctrlCommit 0;

private _bgHeadline = _display ctrlCreate ["RscStructuredText", -1];
_bgHeadline ctrlsetFont "RobotoCondensedBold";
_bgHeadline ctrlSetBackgroundColor [0,0,0,0];
_bgHeadline ctrlSetStructuredText parseText ("<t size='3' align='center' color='#333333'>Vehicle Supply</t>");
_bgHeadline ctrlSetPosition [safezoneX, safeZoneY, _screenWidth, _rowHeight*3];
_bgHeadline ctrlCommit 0;


private _valueTotalCrewCount = 0;
private _valueTotalCargoCount = 0;
private _valueTotalSideCount = playerside countSide allUnits; 

private _ctrlCrewCount = _display ctrlCreate ["RscStructuredText", -1];
_ctrlCrewCount ctrlsetFont "RobotoCondensed";
_ctrlCrewCount ctrlSetBackgroundColor [1,0,0,0];
_ctrlCrewCount ctrlSetStructuredText parseText ("<t size='1.5' align='center' color='#999999'>" + str _valueTotalCrewCount + " </t><br/><t size='0.5' align='center' color='#666666'>Crew" + "</t>");
_ctrlCrewCount ctrlSetPosition [_columnWidth*22 + safeZoneX, safeZoneY + _rowHeight, _columnWidth, _rowHeight*3];
_ctrlCrewCount ctrlCommit 0;

private _ctrlCargoCount = _display ctrlCreate ["RscStructuredText", -1];
_ctrlCargoCount ctrlsetFont "RobotoCondensed";
_ctrlCargoCount ctrlSetBackgroundColor [1,0,0,0];
_ctrlCargoCount ctrlSetStructuredText parseText ("<t size='1.5' align='center' color='#999999'>" + str _valueTotalCargoCount + " </t><br/><t size='0.5' align='center' color='#666666'>Cargo" + "</t>");
_ctrlCargoCount ctrlSetPosition [_columnWidth*23 + safeZoneX, safeZoneY + _rowHeight, _columnWidth, _rowHeight*3];
_ctrlCargoCount ctrlCommit 0;

private _ctrlTotalSideCount = _display ctrlCreate ["RscStructuredText", -1];
_ctrlTotalSideCount ctrlsetFont "RobotoCondensed";
_ctrlTotalSideCount ctrlSetBackgroundColor [1,0,0,0];
_ctrlTotalSideCount ctrlSetStructuredText parseText ("<t size='1.5' align='center' color='#999999'>" + str _valueTotalSideCount + " </t><br/><t size='0.5' align='center' color='#666666'>Your Side" + "</t>");
_ctrlTotalSideCount ctrlSetPosition [_columnWidth*24 + safeZoneX, safeZoneY + _rowHeight, _columnWidth, _rowHeight*3];
_ctrlTotalSideCount ctrlCommit 0;

[false, _ctrlCrewCount, _ctrlCargoCount, _ctrlTotalSideCount, 0, 0, _valueTotalSideCount] call BC_buymenu_fnc_adjustCrewCargoCount;


missionNamespace setVariable ["BC_cacheCurrentValuesForAbort", [
    ["BC_buymenu_valueCrewCount", missionNamespace getVariable ["BC_buymenu_valueCrewCount", 0]],
    ["BC_buymenu_valueCargoCount", missionNamespace getVariable ["BC_buymenu_valueCargoCount", 0]]
]];

player setVariable ["BC_categoriesExtracted", _categoriesExtracted];

if (count _categoriesExtracted < 1) exitWith { hint "no buyables found"; };

// iterate all cats
for "_i" from 0 to (count _categoriesExtracted - 1) do {

    private _multiplicator = _i * 5;

    private _baseConfigName = _categoriesExtracted select _i select 0;
    private _categoryConfigName = _categoriesExtracted select _i select 1;
    private _minPlayerCount = _categoriesExtracted select _i select 2;
    private _valueMaxInThisCat = _categoriesExtracted select _i select 3;
    private _spawnCone = _categoriesExtracted select _i select 4;
    private _data = _categoriesExtracted select _i select 5;

    
    private _countParam = ["PLAYER_COUNT", -1] call BIS_fnc_getParamValue;
    private _playerCount = [count (playableUnits + switchableUnits), _countParam] select (_countParam > 0);
    private _isLocked = _minPlayerCount > _playerCount;

    // diag_log format ["_minPlayerCount %1 > _playerCount %2", _minPlayerCount, _playerCount];

    if (count _data < 1) exitWith {};
    
    // copyToClipBoard str (_data);
   

    private _column = _display ctrlCreate ["RscText", -1];
    _column ctrlSetPosition [
        _columnWidth * _multiplicator + safezoneX + _columnWidth,
        _rowHeight + safezoneY,
        _columnWidth * 4,
        _screenHeight + safezoneY
    ];
    _column ctrlSetBackgroundColor [1,1,1,0];
    _column ctrlCommit 0;

    private _headline = _display ctrlCreate ["RscStructuredText", -1];
    _headline ctrlsetFont "RobotoCondensedBold";
    _headline ctrlSetBackgroundColor [0,0,0,0];
    _headline ctrlSetTextColor [1,1,1,1];
    _headline ctrlSetStructuredText parseText ("<t size='2' align='center' color='#666666'>" + _categoryConfigName + "</t>");
    _headline ctrlSetPosition [
        _columnWidth * _multiplicator + safezoneX + _columnWidth, 
        _rowHeight * 4 + safezoneY, 
        _columnWidth * 4,
        _rowHeight * 2.5 
    ];
    _headline ctrlCommit 0;

    private _ctrlChosenInThisCat = _display ctrlCreate ["RscStructuredText", -1];
    _ctrlChosenInThisCat ctrlsetFont "RobotoCondensedBold";
    _ctrlChosenInThisCat ctrlSetBackgroundColor [0,0,0,0];
    _ctrlChosenInThisCat ctrlSetTextColor [1,1,1,1];



    private _valueChosenInThisCat = [_baseConfigName, _categoryConfigName] call BC_buymenu_fnc_getCatGlobalCount;
    _ctrlChosenInThisCat setVariable ["value", _valueChosenInThisCat];

    private _formatting = "<t size='1' align='center' color='#333333'>";
    if (_valueChosenInThisCat isEqualTo _valueMaxInThisCat) then {
        _formatting = "<t size='1' align='center' color='#66aa66'>";
    };
    _ctrlChosenInThisCat ctrlSetStructuredText parseText (_formatting + str _valueChosenInThisCat + "/" + str _valueMaxInThisCat + "</t>");
    _ctrlChosenInThisCat setVariable ["maxValue", _valueMaxInThisCat];
    _ctrlChosenInThisCat ctrlSetPosition [
        _columnWidth * _multiplicator + safezoneX + _columnWidth, 
        _rowHeight * 6 + safezoneY, 
        _columnWidth * 4,
        _rowHeight * 1.5 
    ];
    _ctrlChosenInThisCat ctrlCommit 0;



    for "_i" from 1 to (count _data) do {

        (_data select (_i-1)) params [
            "_baseConfigName",
            "_categoryConfigName",
            "_itemConfigName",
            "_stock",
            "_displayName",
            "_description",
            "_picturePath",
            "_canMoveDuringTransmission",
            "_terminal_position_offset",
            "_terminal_position_vectorDirAndUp",
            "_antennaOffset",
            "_crew", 
            "_cargo", 
            "_speed",
            "_isSpecial",
            "_driverGPS", 
            "_crewHelmet", 
            "_disableTIEquipment", 
            "_itemCargo", 
            "_magazineCargo", 
            "_trackCargo", 
            "_wheelCargo", 
            "_removeMagazines",
            "_code"
        ];


       
        // ctrlItemCount is our all knowing item
        private _ctrlItemCount = _display ctrlCreate ["RscStructuredText", -1];
        private _valueItemCount = [_itemConfigName, _baseConfigName] call BC_buymenu_fnc_getItemGlobalCount;
        _ctrlItemCount setVariable ["value", _valueItemCount];
        _ctrlItemCount setVariable ["stock", _stock];
        _ctrlItemCount setVariable ["minValue", _valueItemCount];
        _ctrlItemCount setVariable ["maxValue", _stock];
        _ctrlItemCount setVariable ["ctrlTotalSideCount", _ctrlTotalSideCount];
        _ctrlItemCount setVariable ["valueTotalSideCount", _valueTotalSideCount];
        _ctrlItemCount setVariable ["ctrlChosenInThisCat", _ctrlChosenInThisCat];
        _ctrlItemCount setVariable ["valueMaxInThisCat", _valueMaxInThisCat];
        _ctrlItemCount setVariable ["baseConfigName", _baseConfigName];
        _ctrlItemCount setVariable ["itemConfigName", _itemConfigName];
        _ctrlItemCount setVariable ["categoryConfigName", _categoryConfigName];
        _ctrlItemCount setVariable ["crew", _crew];
        _ctrlItemCount setVariable ["cargo", _cargo];
        _ctrlItemCount setVariable ["ctrlCrew", _ctrlCrewCount];
        _ctrlItemCount setVariable ["ctrlCargo", _ctrlCargoCount];
        _ctrlItemCount setVariable ["data", (_data select (_i-1))];
        _ctrlItemCount ctrlsetFont "RobotoCondensedBold";
        _ctrlItemCount ctrlSetBackgroundColor [0,0,0,0];
        _ctrlItemCount ctrlSetStructuredText parseText ("<t size='1.5' align='center' shadow='0' color='#999999'>" + str _valueItemCount + "</t>");
        _ctrlItemCount ctrlSetPosition [
            _columnWidth * _multiplicator + safezoneX  + _columnWidth,
             (_i * (_rowHeight * 8) + safezoneY) + _rowHeight,
            _columnWidth/2,
            _rowHeight * 6
        ];
        _ctrlItemCount ctrlCommit 0;


        private _picture = _display ctrlCreate ["RscPictureKeepAspect", -1];
        _picture ctrlSetPosition [
            _columnWidth * _multiplicator + safezoneX  + _columnWidth + _columnWidth/2, 
            (_i * (_rowHeight * 8) + safezoneY) - _rowHeight,
            _columnWidth * 3, 
            _rowHeight * 6
        ];
        _picture ctrlSetBackgroundColor [0,1,0,0.4];
        _picture ctrlSetText _picturePath;
        _picture setVariable ["crew", _crew];
        _picture setVariable ["cargo", _cargo];
        _picture setVariable ["speed", _speed];
        // _picture ctrlSetText "rhsafrf\addons\rhs_editorPreviews\data\rhs_tigr_vmf.paa";
        if (!_isSpecial) then {
            _picture ctrlSetTooltip (
                "Crew: " +
                str _crew + "\n" +
                "Cargo: " +
                str _cargo + "\n" +
                 "Speed: " +
                str _speed + " km/h" + "\n" +
                _description
                );
            _picture ctrlSetTooltipColorText [1, 1, 1, 0.7];
            _picture ctrlSetTooltipColorBox [0.1, 0.1, 0.1, 1];
            _picture ctrlSetTooltipColorShade [0, 0, 0, 1];
        } else {
            _picture ctrlSetTooltip _description;
        };
        _picture ctrlCommit 0;
        
        if (player getVariable ["BC_potentToBuy", false]) then {
            private _btnPlus = _display ctrlCreate ["grad_buymenu_RscButton", -1];
            _btnPlus ctrlsetFont "RobotoCondensedBold";
            _btnPlus ctrlSetBackgroundColor [0,0,0,1];
            _btnPlus ctrlsetText "+";
            _btnPlus ctrlSetPosition [
                _columnWidth * _multiplicator + safezoneX  + _columnWidth * 4 + _columnWidth/2,
                 (_i * (_rowHeight * 8) + safezoneY) - _rowHeight/4,
                _columnWidth/2,
                _rowHeight * 2
            ];
            _btnPlus ctrlSetTooltip "Increase Count";
            _btnPlus setVariable ["parentControl", _ctrlItemCount];
            if (_valueItemCount >= _stock || _valueChosenInThisCat >= _valueMaxInThisCat || _isLocked) then {
                _btnPlus ctrlEnable false;
            };
            _btnPlus ctrlAddEventHandler [
                "MouseButtonDown",
                "[_this, true] call BC_buymenu_fnc_changeValue;"
            ];
            _btnPlus ctrlCommit 0;


            private _btnMinus = _display ctrlCreate ["grad_buymenu_RscButton", -1];
            _btnMinus ctrlsetFont "RobotoCondensedBold";
            _btnMinus ctrlSetBackgroundColor [0,0,0,1];
            _btnMinus ctrlsetText "-";
            // _btnMinus ctrlSetStructuredText parseText "<t size='1' align='center' shadow='0' color='#999999'>-</t>";
            _btnMinus ctrlSetPosition [
                _columnWidth * _multiplicator + safezoneX  + _columnWidth * 4 + _columnWidth/2,
                 (_i * (_rowHeight * 8) + safezoneY) + _rowHeight * 2,
                _columnWidth/2,
                _rowHeight * 2
            ];
            _btnMinus ctrlSetTooltip "Reduce Count";
            _btnMinus setVariable ["parentControl", _ctrlItemCount];
            
            _btnMinus ctrlEnable false;
            
            _btnMinus ctrlAddEventHandler [
                "MouseButtonDown",
                "[_this, false] call BC_buymenu_fnc_changeValue;"
            ];
            _btnMinus ctrlCommit 0;


            // add plus and minus to parent ctrl
            _ctrlItemCount setVariable ["connectedButtons", [_btnPlus, _btnMinus]];

            // parent cat control stores plus and minus buttons to disable/enable
            private _plusMinusButtons = _ctrlChosenInThisCat getVariable ["catButtons", []];
            _plusMinusButtons pushBack [_ctrlItemCount, _btnPlus, _btnMinus];
            _ctrlChosenInThisCat setVariable ["catButtons", _plusMinusButtons];
            _ctrlChosenInThisCat ctrlCommit 0;

        };

        private _singleCount = _display ctrlCreate ["RscStructuredText", -1];
        _singleCount ctrlsetFont "RobotoCondensedBold";
        _singleCount ctrlSetBackgroundColor [0,0,0,0.8];
        _singleCount ctrlSetStructuredText parseText ("<t size='0.7' align='center' shadow='0' color='#999999'>" + ("max " + str _stock) + "</t>");
        _singleCount ctrlSetPosition [
            _columnWidth * _multiplicator + safezoneX  + _columnWidth + _columnWidth/2, 
            (_i * (_rowHeight * 8) + safezoneY) + _rowHeight * 3.65, 
            _columnWidth * 3,
            _rowHeight * 0.85
        ];
        _singleCount ctrlCommit 0;

        _ctrlItemCount setVariable ["ctrlSingleCount", _singleCount];

        private _subline = _display ctrlCreate ["RscStructuredText", -1];
        _subline ctrlsetFont "RobotoCondensedBold";
        _subline ctrlSetBackgroundColor [0,0,0,0];
        _subline ctrlSetStructuredText parseText ("<t size='0.7' align='center' shadow='0' color='#999999'>" + _displayName + "</t>");
        _subline ctrlSetPosition [
            _columnWidth * _multiplicator + safezoneX  + _columnWidth, 
            (_i * (_rowHeight * 8) + safezoneY) + _rowHeight * 4.5, 
            _columnWidth * 4,
            _rowHeight * 0.85
        ];
        _subline ctrlCommit 0;
    };

    if (_isLocked) then {
        private _lockMask = _display ctrlCreate ["RscText", -1];
        _lockMask ctrlSetPosition [
            _columnWidth * _multiplicator + safezoneX + _columnWidth,
            _rowHeight*4 + safezoneY,
            _columnWidth * 4,
            _screenHeight + safezoneY
        ];
        _lockMask ctrlSetBackgroundColor [0,0,0,0.7];

        _lockMask ctrlSetTooltip ("\n\nMinimum player count: " + str _minPlayerCount);
        _lockMask ctrlSetTooltipColorText [1, 1, 1, 0.7];
        _lockMask ctrlSetTooltipColorBox [0.1, 0.1, 0.1, 1];
        _lockMask ctrlSetTooltipColorShade [0, 0, 0, 1]; 

        _lockMask ctrlCommit 0;

        
        private _lockPic = _display ctrlCreate ["RscPictureKeepAspect", -1];
        _lockPic ctrlSetPosition [
            _columnWidth * _multiplicator + safezoneX + _columnWidth,
            _rowHeight*4 + safezoneY,
            _columnWidth/2,
            _rowHeight*2 + safezoneY
        ];
        _lockPic ctrlSetText "pic\lock.paa";
        _lockPic ctrlSetFade 0.5;

        _lockPic ctrlCommit 0;
        



    };

};


if (player getVariable ["BC_potentToBuy", false]) then {


    private _button = _display ctrlCreate ["RscStructuredText", -1];
    _button ctrlsetFont "RobotoCondensedBold";
    _button ctrlSetBackgroundColor [108/255,170/255,204/255,1]; // 108, 170, 204
    _button ctrlSetPosition [
        safezoneX + _columnWidth,
        _rowHeight * 35 + safezoneY, 
        _screenWidth - _columnWidth * 2,
        _rowHeight * 3 
    ];
    _button setVariable ["identifier", _baseConfigName];
    _button ctrlEnable true;
    _button ctrlAddEventHandler [
            "MouseEnter",
            "(_this select 0) ctrlSetBackgroundColor [88/255, 150/255, 184/255,1];"
        ];
    _button ctrlAddEventHandler [
            "MouseExit",
            "(_this select 0) ctrlSetBackgroundColor [108/255, 170/255, 204/255,1];"
        ];
    _button ctrlAddEventHandler [
            "MouseButtonDown",
            "(_this select 0) ctrlSetBackgroundColor [58/255, 120/255, 154/255,1];"
        ];
    _button ctrlAddEventHandler [
            "MouseButtonUp",
            "(_this select 0) ctrlSetBackgroundColor [88/255, 150/255, 184/255,1];"
        ];
    _button ctrlAddEventHandler [
            "MouseButtonClick",
            "[_this select 0] call BC_buymenu_fnc_buyInit;"
        ];
    _button ctrlCommit 0;

    private _buttonText = _display ctrlCreate ["RscStructuredText", -1];
    _buttonText ctrlsetFont "RobotoCondensedBold";
    _buttonText ctrlSetBackgroundColor [0,0,0,0]; // 108, 170, 204
    _buttonText ctrlSetStructuredText parseText "<t size='2' align='center' shadow='0' color='#20333D'>S P A W N</t>";
    _buttonText ctrlSetPosition [ 
        safezoneX + _columnWidth, 
        _rowHeight * 37.25  - (ctrlTextHeight _buttonText)/2 + safezoneY,  
        _screenWidth - _columnWidth * 2, 
        ctrlTextHeight _buttonText
    ]; 
    _buttonText ctrlEnable false;
    _buttonText ctrlCommit 0;
};


uiNamespace setVariable ["BC_buymenu_display", _display];
uiNamespace setVariable ["BC_buymenu_spawnCone", _spawnCone];
uiNamespace setVariable ["BC_buymenu_startVehicle", _startVehicle];

if (player getVariable ["BC_potentToBuy", false]) then {
        
        // caching of bought stuff has to be reset
        _display displayAddEventHandler ["Unload", {
                params ["_display", "_exitCode"];


                private _categoriesExtracted = player getVariable ["BC_categoriesExtracted", []];
                if (count _categoriesExtracted < 1) exitWith {
                    hint "no categories cache found";
                };

                for "_i" from 0 to (count _categoriesExtracted - 1) do {
                    private _baseConfigName = _categoriesExtracted select _i select 0;
                    private _categoryConfigName = _categoriesExtracted select _i select 1;
                    private _data = _categoriesExtracted select _i select 5;

                    if (count _data < 1) exitWith {};

                    for "_j" from 1 to (count _data) do {

                            (_data select (_j-1)) params [
                                "_baseConfigName",
                                "_categoryConfigName",
                                "_itemConfigName",
                                "_stock",
                                "_displayName",
                                "_description",
                                "_picturePath",
                                "_canMoveDuringTransmission",
                                "_terminal_position_offset",
                                "_terminal_position_vectorDirAndUp",
                                "_antennaOffset",
                                "_crew", 
                                "_cargo", 
                                "_speed",
                                "_isSpecial",
                                "_driverGPS", 
                                "_crewHelmet", 
                                "_disableTIEquipment", 
                                "_itemCargo", 
                                "_magazineCargo", 
                                "_trackCargo", 
                                "_wheelCargo", 
                                "_removeMagazines",
                                "_code"
                            ];

                            // single vehicle count
                            private _itemCacheIdentifier = format ["BC_buymenu_boughtItemCache_%1_%2", _baseConfigName, _itemConfigName];
                            private _itemCacheValue = missionNamespace getVariable [_itemCacheIdentifier, 0];

                            // store values for future usage
                            private _itemValueIdentifier = format ["BC_buymenu_boughtItemValues_%1_%2", _baseConfigName, _itemConfigName];                         
                            private _existingItemCountValue = missionNamespace getVariable [_itemValueIdentifier, 0];

                            // decide to store cached values or discard them (adding 0)
                            private _valueToStore = [_itemCacheValue, 0] select (_exitCode == 2);
                            private _newValue = _valueToStore + _existingItemCountValue;
                            // systemChat ("storing item: " + str _newValue);
                            missionNamespace setVariable [_itemCacheIdentifier, 0, true];
                            missionNamespace setVariable [_itemValueIdentifier, _newValue, true];

                    };

                    // category values
                    private _catCacheIdentifier = format ["BC_buymenu_catValueCache_%1_%2", _baseConfigName, _categoryConfigName];
                    private _catCacheValue = missionNamespace getVariable [_catCacheIdentifier, 0];

                    // diag_log format ["getting cache for %1, %2", _catCacheIdentifier, _catCacheValue];

                    // store values for future usage
                    private _catValueIdentifier = format ["BC_buymenu_catValueValues_%1_%2", _baseConfigName, _categoryConfigName];
                    private _existingCatCountValue = missionNamespace getVariable [_catValueIdentifier, 0];

                    // diag_log format ["getting value for %1, %2", _catValueIdentifier, _existingCatCountValue];
                    // decide to store cached values or discard them (adding 0)
                    private _catValueToStore = [_catCacheValue, 0] select (_exitCode == 2);
                    private _newValue = _catValueToStore + _existingCatCountValue;
                    // systemChat ("storing cat: " + str _newValue);
                    missionNamespace setVariable [_catCacheIdentifier, 0, true];
                    missionNamespace setVariable [_catValueIdentifier, _newValue, true];

                    if (_exitCode == 2) then {
                        // delete spawn queue
                        private _identifier = format ["BC_buymenu_spawnQueue_%1", _baseConfigName];
                        missionNamespace setVariable [_identifier, []];
                    };
            };
        }];
};/*
    client only
*/

params ["_unit"];

private _position = _unit getPos [0.5, getDir _unit];

private _source = "#particlesource" createVehicleLocal [0, 0, 0];   
_source setPos _position;   
_source setParticleCircle [0, [0, 0, 0]];   
_source setParticleRandom [0, [0.1, 0.1, 0], [0.6, 0.6, 3], 0, 0.25, [0, 0, 0, 0.1], 0, 0];   
_source setParticleParams [ 
    ["\A3\Structures_F\Items\Valuables\Money_F.p3d", 1, 0, 1], "", "SpaceObject", 0.5, 120,  
    [0, 0, 0.5], [0, 0, 3], 0.5, 200, 0.2, 0.075, [1, 1, 1], [[0.3, 0.3, 0.3, 1], [0.3, 0.3, 0.3, 0.3], [0.3, 0.3, 0.3, 0]],  
    [0.08], 1, 0, "", "", _this,0,true,0.1 
];   
_source setDropInterval 0.001;  
 
[{  
    params ["_source"];  
    deleteVehicle _source;  
}, [_source] ,0.1] call CBA_fnc_waitAndExecute;

_unit say3D ["cashRegister", 30];params ["_baseConfigName", "_catName"];

private _identifierSave = format ["BC_buymenu_catValueValues_%1_%2", _baseConfigName, _catName];
private _catCountValue = missionNamespace getVariable [_identifierSave, 0];

// diag_log format ["getting _catCountValue %1 : %2", _identifierSave, _catCountValue];

_catCountValueparams ["_itemConfigName", "_baseConfigName"];

private _identifierSave = format ["BC_buymenu_boughtItemValues_%1_%2", _baseConfigName, _itemConfigName];
private _vehicleCountValue = missionNamespace getVariable [_identifierSave, 0];

// diag_log format ["getting _vehicleCountCacheValue %1 : %2", _identifierSave, _vehicleCountValue];

_vehicleCountValueparams ["_center", "_radius"];

private _spawnPositions = [];

for "_i" from 0 to 10 do {
    private _nearestRoadPosition = [
        _center, 
        [_radius, _radius], 
        random 360, 
        0,
        [2,_radius/10],
        [20,"rhsusf_CH53E_USMC"]
    ] call SHK_pos;

    if (count _nearestRoadPosition > 0) then {
        _spawnPositions pushBackUnique _nearestRoadPosition;
    };
};

_spawnPositionsparams ["_center", "_distance"];


private _result = [];

for "_i" from 0 to 1000 do {

    diag_log format ["searching spawn iteration %1", _i];

    private _foundPositions = [_center, _distance] call BC_buymenu_fnc_getRoadPositions;
    _distance = _distance + 10;

    if (count _foundPositions > 0) exitWith {
        private _closestPosition = [_foundPositions, [_center], { _input0 distance _x }, "ASCEND"] call BIS_fnc_sortBy;
        _result = _closestPosition select 0;
    };
};

_result/*
    _faction is baseConfigName
*/

params ["_faction"];

private _vehicle = ("configName _x == 'StartVehicle'" configClasses _faction) select 0;
private _allVariants = "true" configClasses (missionConfigFile >> "CfgGradBuymenu" >> (configName _faction) >> (configName _vehicle));

private _selectedCode = "";
private _selectedConfig = "";
private _type = "";

{
  private _config = _x;
  private _condition = [(_config >> "condition"), "text", "true"] call CBA_fnc_getConfigEntry;
  private _code = compile ([(_config >> "code"), "text", ""] call CBA_fnc_getConfigEntry);

    if (call compile _condition) then {
        _selectedConfig = _x;
        _selectedCode = _code;  
    };
} forEach _allVariants;

// return 

_selectedConfigparams ["_baseConfig", "_categoryConfig", "_itemConfig", "_isStartVehicle"];

private _baseConfigName = configName _baseConfig;
private _categoryConfigName = configName _categoryConfig;
private _itemConfigName = configName _itemConfig;

private _isSpecial = ([(_categoryConfig >> "kindOf"), "text", ""] call CBA_fnc_getConfigEntry) isEqualTo "Special";
private _driverGPS = [(_categoryConfig >> "driverGPS"), "text", "true"] call CBA_fnc_getConfigEntry isEqualTo "true";
private _crewHelmet = [(_categoryConfig >> "crewHelmet"), "text", ""] call CBA_fnc_getConfigEntry;
private _disableTIEquipment = [(_categoryConfig >> "disableTIEquipment"), "text", "true"] call CBA_fnc_getConfigEntry;

diag_log format ["_baseConfig %1, _categoryConfigName %2, _itemConfig %3, _isStartVehicle %4", _baseConfig, _categoryConfigName, _itemConfig, _isStartVehicle];


private _canMoveDuringTransmission = [(_baseConfig >> "StartVehicle" >> "canMoveDuringTransmission"), "text", "false"] call CBA_fnc_getConfigEntry isEqualTo "true";
private _terminal_position_offset = ([(_baseConfig >> "StartVehicle" >> "terminalPositionOffset"), "array", []] call CBA_fnc_getConfigEntry);
private _terminal_position_vectorDirAndUp = ([(_baseConfig >> "StartVehicle" >> "terminalVectorDirAndUp"), "array", []] call CBA_fnc_getConfigEntry);
private _antennaOffset = ([(_baseConfig >> "StartVehicle" >> "antennaOffset"), "array", []] call CBA_fnc_getConfigEntry);

// diag_log format ["_canMoveDuringTransmission %1", _canMoveDuringTransmission];

private _displayName = [(_itemConfig >> "displayName"), "text", [_itemConfigName] call grad_lbm_fnc_getDisplayName] call CBA_fnc_getConfigEntry;
private _stock = [(_itemConfig >> "stock"), "number", 999999] call CBA_fnc_getConfigEntry;
private _description = [(_itemConfig >> "description"), "text", [_itemConfigName] call grad_lbm_fnc_getDescription] call CBA_fnc_getConfigEntry;
private _code = compile ([(_itemConfig >> "code"), "text", ""] call CBA_fnc_getConfigEntry);

diag_log format ["reading _stock %1", _stock];

private _picturePath = [(_itemConfig >> "picturePath"), "text", ""] call CBA_fnc_getConfigEntry;
if (_picturePath isEqualTo "") then {
    _picturePath = getText (configfile >> "CfgVehicles" >> _itemConfigName >> "editorPreview");
};

private _itemCargo = [(_itemConfig >> "itemCargo"), "array", []] call CBA_fnc_getConfigEntry;
private _magazineCargo = [(_itemConfig >> "magazineCargo"), "array", []] call CBA_fnc_getConfigEntry;
private _trackCargo = [(_itemConfig >> "trackCargo"), "number", 0] call CBA_fnc_getConfigEntry;
private _wheelCargo = [(_itemConfig >> "wheelCargo"), "number", 0] call CBA_fnc_getConfigEntry;

private _removeMagazines = [(_itemConfig >> "removeMagazines"), "array", []] call CBA_fnc_getConfigEntry;

private _crew = [_itemConfigName,false] call BIS_fnc_crewCount;
private _fullCrew = [_itemConfigName,true] call BIS_fnc_crewCount;
private _cargo = _fullCrew - _crew;

// diag_log format ["_crew %1", _crew];

private _speed = 0;
if (!isNull (configFile >> "CfgVehicles" >> _itemConfigName >> "maxSpeed")) then {
     _speed = getNumber( configFile >> "CfgVehicles" >> _itemConfigName >> "maxSpeed" );
};

// add missing stuff
private _categoryConfigName = if (_isStartVehicle) then { "StartVehicle" } else { _categoryConfigName };
private _baseConfigName = configName (([_baseConfig, false] call BIS_fnc_returnParents) select 0);


// diag_log format ["get vehicle params helmet %1", _crewHelmet];

[
    _baseConfigName,
    _categoryConfigName, 
    _itemConfigName,
    _stock,
    _displayName,
    _description,
    _picturePath,
    _canMoveDuringTransmission,
    _terminal_position_offset,
    _terminal_position_vectorDirAndUp,
    _antennaOffset,
    _crew, 
    _cargo, 
    _speed,
    _isSpecial, 
    _driverGPS, 
    _crewHelmet, 
    _disableTIEquipment, 
    _itemCargo, 
    _magazineCargo, 
    _trackCargo, 
    _wheelCargo, 
    _removeMagazines,
    _code
]
params ["_baseConfigName", "_categoryName", "_catValue"];

private _catValueIdentifierCache = format ["BC_buymenu_catValueCache_%1_%2", _baseConfigName, _categoryName];

missionNamespace setVariable [_catValueIdentifierCache, _catValue, true];params ["_add", "_data"];

_data params [            
    "_baseConfigName",
    "_categoryConfigName",
    "_itemConfigName",
    "_stock",
    "_displayName",
    "_description",
    "_picturePath",
    "_canMoveDuringTransmission",
    "_terminal_position_offset",
    "_terminal_position_vectorDirAndUp",
    "_antennaOffset",
    "_crew", 
    "_cargo",
    "_speed",
    "_isSpecial",
    "_driverGPS", 
    "_crewHelmet", 
    "_disableTIEquipment",
    "_itemCargo",
    "_magazineCargo",
    "_trackCargo", 
    "_wheelCargo",
    "_removeMagazines",
    "_code"
];

private _identifier = format ["BC_buymenu_boughtItemCache_%1_%2", _baseConfigName, _itemConfigName];
private _vehicleCountCacheValue = missionNamespace getVariable [_identifier, 0];

if (_add) then {
    _vehicleCountCacheValue = _vehicleCountCacheValue + 1;
} else {    
    if (_vehicleCountCacheValue > 0) then {
        _vehicleCountCacheValue = _vehicleCountCacheValue - 1;
    };
};

// diag_log format ["saving _vehicleCountCacheValue %1 : %2", _identifier, _vehicleCountCacheValue];
missionNamespace setVariable [_identifier, _vehicleCountCacheValue, true];params ["_opforCommander", "_opforSpawnPosition"];

diag_log format ["fn_spawnStartVehicles: start"];

BUYABLES_OPFOR_INDEX = ["BUYABLES_OPFOR", -1] call BIS_fnc_getParamValue;
BUYABLES_BLUFOR_INDEX = ["BUYABLES_BLUFOR", -1] call BIS_fnc_getParamValue;

private _factionBlufor = "getText (_x >> 'side') == 'Blufor'" configClasses (missionConfigFile >> "CfgGradBuymenu") select BUYABLES_BLUFOR_INDEX;
private _buyablesBlufor = configName (_factionBlufor);

private _factionOpfor = "getText (_x >> 'side') == 'Opfor'" configClasses (missionConfigFile >> "CfgGradBuymenu") select BUYABLES_BLUFOR_INDEX;
private _buyablesOpfor = configName (_factionOpfor);

private _opforPosition = [_opforSpawnPosition, 1] call BC_buymenu_fnc_getSpawnPosition;
private _bluforPosition = [_opforSpawnPosition, BLUFOR_SPAWN_DISTANCE] call BC_buymenu_fnc_getSpawnPosition;

diag_log format ["BUYABLES INDEX Blufor - Opfor %1 - %2", BUYABLES_BLUFOR_INDEX, BUYABLES_OPFOR_INDEX];

if (count _opforPosition == 0 || count _bluforPosition == 0) exitWith {
    [ "gui_spawn_opfor"] remoteExec ["createDialog", _opforCommander];
    ["No road position found, please choose another Spawn location or check if " + str BLUFOR_SPAWN_DISTANCE + " Blufor Spawn Distance is enough."] remoteExec ["hint", _opforCommander];
};

diag_log format ["fn_spawnStartVehicles: got positions %1 - %2", _opforPosition, _bluforPosition];

{   
    _x params ["_buyables", "_position", "_blockedPosition", "_side"];

    diag_log format ["_buyables %1", _buyables];

    private _type = [_buyables] call BC_buymenu_fnc_getStartVehicleClassname;
    private _data = [_buyables, (missionConfigFile >> "CfgGradBuymenu" >> (configName _buyables) >> "StartVehicle"), _type, true] call BC_buymenu_fnc_getVehicleParams;

    diag_log format ["call to buyvehicle: %1 - %2 - %3", _side, _position, _data];
    // todo set dir according to roads
    private _roadDir = random 360;
    private _nearestRoad = [_position, 20, []] call BIS_fnc_nearestRoad;
    if (!isNull _nearestRoad) then {
        private _roadsConnectedTo = roadsConnectedTo _nearestRoad;
        if (count _roadsConnectedTo > 0) then {
            private _connectedRoad = _roadsConnectedTo select 0;
            _roadDir = [_nearestRoad, _connectedRoad] call BIS_fnc_DirTo;
        };
    };

    private _startVehicle = [_side, objNull, _position, _roadDir, _data] call BC_buymenu_fnc_buyVehicle;

    diag_log format ["fn_getVehicleParams: _position of start vehicle %2: %1", _position, _side];
    [_position, _side] remoteExec ["BC_setup_fnc_createStartMarker", _side];

    

    ["startVehicle",[_startVehicle, _side]] call CBA_fnc_globalEvent;
    // lets make TELEPORT_TARGETS deprecated
    if (_side == east) then {
        OPFOR_TELEPORT_TARGET = _position;
        publicVariable "OPFOR_TELEPORT_TARGET";

        // dirty but position didnt get properly executed with remoteexec
        [OPFOR_TELEPORT_TARGET] remoteExec ["BC_setup_fnc_teleportPlayer", east, true];
        [OPFOR_TELEPORT_TARGET, east] remoteExec ["BC_setup_fnc_createStartMarker", east, true];
    } else {
        BLUFOR_TELEPORT_TARGET = _position;
        publicVariable "BLUFOR_TELEPORT_TARGET";

        [BLUFOR_TELEPORT_TARGET] remoteExec ["BC_setup_fnc_teleportPlayer", west, true];
        [BLUFOR_TELEPORT_TARGET, west] remoteExec ["BC_setup_fnc_createStartMarker", west, true];
    };
} forEach [
    [_factionOpfor, _opforPosition, [], east],
    [_factionBlufor, _bluforPosition, _opforPosition, west]
];

// leader information for both sides
[] call BC_setup_fnc_showLeaderInformation;/*  Displays 3D marker on bought vehicle.
*
*/

params ["_vehicle", "_baseConfigName", "_categoryConfigName", "_itemConfigName"];

if (!hasInterface) exitWith {};

private _displayName = getText (configFile >>  "CfgVehicles" >> _itemConfigName >> "displayName");

_function = {
    params ["_args", "_handle"];
    _args params ["_vehicle", "_displayName"];

    if (isNull _vehicle) exitWith {};
    drawIcon3D [getText (configFile >> "CfgVehicles" >> (typeOf _vehicle) >> "icon"), [1,1,1,1], (getPosATL _vehicle) vectorAdd [0,0,1], 1, 1, 0, format ["%1 (%2m)", _displayName, round (player distance _vehicle)], 1, 0.04, "PuristaMedium", "center", true];
};
_handle = [_function, 0, [_vehicle, _displayName]] call CBA_fnc_addPerFrameHandler;

[{
    params ["_handle"];
    [_handle] call CBA_fnc_removePerFrameHandler;
}, _handle, 120] call CBA_fnc_waitAndExecute;OggS         
M      ";;vorbis    D       k     OggS          
M     ;qvorbis+   Xiph.Org libVorbis I 20120203 (Omnipresent)    vorbis+BCV    1L ŀАU    `$)fI)(yHI)0c1c1c 4d   (	Ij9g'r9iN8 Q9	&cnkn)%Y   @H!RH!b!b!r!r
*
2 L2餓N:騣:(B-JL1Vc]|s9s9s	BCV    BdB!R)r
2ȀАU        GI˱$O,Q53ESTMUUUUu]Wvevuv}Y[}Y[؅]aaaa}}} 4d   #9)"9 d    	")Ifjihm˲,˲        iiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h* @ @qq$ER$r,Y    @R,r4Gs4s<s<GtDɔLLY        @1q$OR-r5Ws=sMu]WUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUАU    !fj3a 4d    CY     К9堩T's9ls)ʙŠКsIКsyҚsasiҚXsYК樹sΉ'Ts9s9sΩ^9sΉڛk	]sd	s9s9s	BCV @  aƝ }b!!t1)FJPR'tАU     RH!RH!RH!b!r
**(2,2ˬ:C1J,5Vcs9HkZ+RJ) 4d   @ dARH!r)
Y      $Q%Q%2-S3=UTUWvmYu۷]u}׍_eYeYeYeYeYe	BCV     B!RH!b1ǜNB	АU        GqǑɑ$K$M,4O4EQ4MS]ueS6]5eUeveٶe[}Y}}}}}u 4d   #9")"9H d   (8#I$Y&yg驢
        h爎(ilʮ뺮뺮뺮뺮뺮뺮뺮뺮뺮뺮뺮@h* @ @Gr$Gr$ER$Er$Y    1CR$ǲ,M4O4=3=UtEY        K$QR-R5R-UT=UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU4M4А    C1RJFi()')ڃȘbLbNc)2\cʔ2a9t)I	J	BCV Q  I"I$I4H$#<$<Ix Iyϓ<<    B!+8 $yI<y4M!"3MfLSU"3M'LSU(&Uu]d۶a˞(*Uu]dٶ!   $OSMf44jBU%3Uf44BU=St]Lu,C=t]LSu,C  H44iiESjJg44iiEՄLureY슦Lu]Y+  LӖEeLS+EeUՖRUY溲YUU+SUY溲Y        Tej2וeȮM5e2׵eȲ    @!+(  H"Ǳ,MEcY&$ɲ<4aYg4Q4Mh&    
  lДXА @H q$I<D4UXy(.Ǳ,M<Q4MUu]dY'h뺰,OEQ4MUu]h牢i.4D4Uu]yh꺲<OMSU]W                  8  A'Ua	BCV Q  11ŘQLJ)%4JI)%HJHII2)Z%ZˤZjZk   А @  R95F)ƜcAhR1!*RJc9)1RƜsBJ)9 RsRJ)c9'    F	F
Y	  ǲ4D4-I4ETUM4D4Ui艢i*4OETU*\WMSUUu          	 @6pR4XhJ    1!dBB)  0  `B(4d% 
  sJiB1砤ZcII1RMcA(%JRk16:!blΙRJk1؜3b9gkJXks֔ZS2XkI)d֜ @hp  ;auBCV y  BJ1cN)c1b1ƘS1c9c1c1s1c9c1Ɯs1c9c1s1Ƙ    E6'	*4d%   ØsA
! tNB*-U9sRRj)y9)!RKsI	ZKPJ(Zr-RJ)֒R"JJ-Ř!TRJ-ƤZk%l,%Z1)k-XcI)\kXcMJ){-ƚk2[jZ 0yp JqBCV  BL1s9sIs9!B!J1sB!B(s9!B!PJsB!B9!B!B)sB!B!RJ!B!B%RB!B(!J*BJ!J	!J%BIBPJ)RJI)B)RJ)J)RJ)%JJ%TB)RJ)R*)RJ)RB	TRIRJ	RJIRJ)RJ)RRIRB(%J)%RJ)PJ	RJ*RJ	RJ)    #*-N3<G2L@ R  B(RJ)5JQJ)RjRJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)R>6pR4XhJ    01Ƙr9s9H)sNBJsATz B))C(%Z1NB)k TRj2ɨRｵPRj{+%RkS+z9TJk ` `'Ec b  CBH)RJ)c1c1c1c1 	  V+j'tfdȥTD#5b%ء`!+ 2  Q̵\+j,AAe *V[BQj)tL)&):[k%tZ͹TJ    @P`   CpK(0(I @"3D"b1HL `q! 246.. tqׁ P@N7<':      x  H6hf8:<>@BDFHJLNPRT      >   "9  @     @         OggS  @      
M     wXZXXWWXɺ¿õ:(Sd(FP4;i_u72)dR隔=8'c][?,N`yX=4cƺߊ#_:t{<	,O	s"V>T6-.6/ϞWNxl]Lzu{VũkY]O{VDUe&^~BsmTWpaZޝ}+=a#gK3IV<&FC=E~oZt=;>j P ]8"Ooi֜V9o~}df^_oө(.Ż3NO>u9㌔ٞD3#BͦMt~`)E1qe ޯJk\/
יq{f9*|!is?Ŋ]Kg{IJUܻ&鶅A^A|HăoI#B"M`K&t 
}C5ymk	Q[QsDf<U§r2쏺dfNU^ES'>'z$0_HpY5?OUcufyV$^GwWZm--/gl\0~7uIͣĻg!^̀ XaAj/%;7귱Ed=y^>]_X-WUF-3v)7y˖t/̮KhѲp"lTcOLX0ܣc"z#"<ǤWc_}>P=X}>̾b]<̲a?%`
D
D0u	XN(}eƪ;_[5=StYeM3Bj[f*%oЋ1ks|&> \ ќ/0j $.QשѮ|Jg[#og晰"iFߏ
n)Mgjmc  (AG4V<S
(%Y0{5cP>ؕV5OpDMeV㤜_=ILe_UAvT
<Wy~];pid8_] Yg>'Xü1oʦo=.SUuއfMuR[lqStPa P"ȆhMg05&UJ*J1G(mＯ
TշU):2Qq=^xx)kJ Jl\],B۽&HJ1<7oG9
ׯ/~6S߅`+WvH9ZQjG4>\Edn$5aї_ܵBzT>u¬@u[YfѼWZ592gǳ8ϙth1@SwrDʼ#O"3Yh˲'u|dmOfT뉊`,1!u\5osARQobɫƃGeiSȗ v;Sϰ{1og+*5[CS匚fgFZ>3]6{~/zzVcAg]d<]g޹,<)4QkҔǩ#kh3T;\oss趷vΖ /C<Ѐs?\p|%_k_=˲R(#UV?.v^?6jVWџ}*~D51&f{#vyW6U%~l*"îiZ,fy:uPi#z!a+SNBxϥξ'y\A9ވ](i [A/j,_j~LV+}V4X*׏wr~zÞms?_l[XKǕ\c]_aoWY_HŮgZ0Xx*y%7_N![̿D&T;bdN,&s)xc=P-9	2 	b,p~L:;g}^1/q~_!q{p܇//Go~</NFCvyuk-ݧ~˭wBo"fLeG&v} eu~47litM޽N5ӎ>vqh6Pot>ѧ{/6z}v'O5<˚<JDm{tvYulޟ3jJ*}%#.'[3._Ll{OY\?o]qQK9UǾU8-z9S0Ybm^;0%C_C}}kll%n#*z	\8S D"\n#]5Oo먎b+ӵ*8vr?FeFѫxw9Sey|&+۬}NfK$1XR=OUNSPrYx2>qtynܶ(AU}a^M?y\ZF7Uuڏ}T*F9?SɏFr+ݵ+1V.*KC;_j~=qpIgy/ih߭:DO7tq$?ww?अ=Z~BN^u{tع]+*Bs'-g'O]]:{4K `	$?q7;θzzYk:8tpfYb-Vh<~?eEvr؊YbH`SWsxagqLK?Ҷɯ(ki8Z4n8=K8UI~[]4iɯijU9H2UԂF it|W=Z{kէe<O՘QgbEշgᇿ4N{h<wόrjf|9y8};'럜}?a8z?"' XUra'e
RHO봨tf\m޹[P/d<fѳhɺܟ AAQ㯔&+ *B(*}ieW$ʨFѧl^_6SgeQf^CYg#w'fgCm-2?zzJLGsJ(N	kρ<-TJƢ9wvEӊ)p!Z/5VWڑxn׊OJ" t 'U!_˹Vy`JE[Ț)嚝y6{JZ,.,jV*z{z8̼VG>RkC֭.`t	K[|CTxO{#sC%tXذ|)U 6oYG;WDլA?0E

9 K`05|{ 	n6'ϜOOڇfP]LyL띑,2lca =33b6O)qBWA{s<ZA]]۪o-Ic(hF(IaǷ֊і)cq{h9_z JVl")Ҝ`$P9"+:[;S]aZȨ
RAawFAFENU'R:*wE;[׊2^Zؚ[_/kϯ/syj56#5WJ55FEZQF\Q%Rq&uY,k(wFaԲX]c[kXm5TCKUtv3#"9%S2Da[ޔ9iJݟMdB$=X9v'6Ħch	@z1r2ɬWE+DW4PIA'W5THأ ۏrTa3s8jܖ[$h+HTM0p pÜ OggS  !      
M     9pj[YVFUZ\lj
9PJ+'F/TzIAbxG%p-݊rvϦ*/_M\c^'3ɕz{$ڭt/=#&|A>"q t@<P8n!OثBi~ȋ1DjJ!21g45TiNǍV{M1Hc,␜6yf&Uʹ>(a3Ҵ0_y{ k/ДT 3u\MiGñCr!O:hePjciNw"Bp@ʁkǡ	ȶ4#wEǮM,e[\1ʲ|bZ1bU*JS٘vv2s;}:WǷ4fWɛkɱb\IBR8T/5aJrqZ35H,V)M)a $5hӴA#$Ҵa80BGQM,ߜ0ʨq}=!c252S̫d$rMeSQO7T:˹:XWJZod*Yn0;V"jqU{"R<էI/s{_06[ƗfAy.jLR$ԫPC>``6캢le5CɞFy*V/=[l΋eltRF̒pMS2 `cLAY9>GoYBxmoqF-s'O(yaҮb%$"B!yF,G]TH^^{r.nF] UFUEA1uhǭ\D[GhE"T[]cTUpT~y] ׮
NЊ[]2zV黱~6֮b&h/vq뺩c6`P+(tzs}dҡ]"Bz	y";(H78-uҖh߭5'=gҮa
v
^,dUiBEIT((ou3	"| x>'.׎ti;8`.z{(<sbqξBpZ&J|fpmfͮ'#hs"QnULL(/&t'G}3p1Y!0}vnwty{npnOO@$
 SA6IqgE tE4WTJdH]4Nu~*	nR%ʎu߽Kz
"5ꅐK
) 9 <5eRqPz>ǆrnZK&_ٵBj/W&qQpbyQNiĺm_gv;; ż"A,1t=\2 +$}kH GZk~j︸g8؇ݡr;E@;pz $])Bfٍ@K^V72w==}[>}uk>2W(a4ΏE68}GmksQ~Y4O^sGmt,efY\{epTi*+]ZlR/$ߐ>ck8G #jPD Rn֬hj٧W=}_e?QߦbZ1E~b^ť5F_>[Q^n}O[y8؟|m֢Edvq3uԡ-t>%o1!hܻ2d3/nCrd.> *!JʛE"0s=ϙQ5T+Θtək>\Ff.x&Ź3fWzE̲>4vmţwƚ*'^Yg)f*H>qKsW=&"c痛-V##<zMb,s򽭢g`"oNB=wz:9%bDM#c2ck:~1{nVǪ6=}e?eL#<)+[Y7+gC1i-۩}o*4eDs5Wmt7Y[5`(vHOgn(t`a^+RNd2N_TM=;g?f"߉rǹZ?3 (@pAeF.MgqKO1(r.~4˿z^XXLk_rq^:܏jUWbNϵWzW/m?']<LEqC3K+{/[Jb)fMt6е>Rr7g㰼2'}V7)ur J5Jy&LɀĘ@!D*"FeD⸛U/B_}	,i5:㎦>Ũw4.-uWj=5/}%)
@ZmG5F5fzBDy(K=cE~/3OOʲ3ԱmZ4c>I+ѽO[m9S=fnOd`ϑk)QPbIw术q,B7wq02t;FQ&5~/]<RNJ D."0JG)f!2wUmVo(G|zfV_z(gLW8VQ(he8R9aTJ}Ykӓ߰O.2f0_+_+ֺTJlAeZjH7??tA|N9@ݎXo-*و̟k3i#%An lɐ>&MƊ*͒ꙙe^ZqƻVg#n}ռV?0; $2"2RWͲq\DD%謭R={a`ϥxםx;}Sja~A\'o1./qD-@"N  9P?f@	ȇjLf1yCE)dzg0y1Zr%HkdA`:3WE!R&DbM $3^zOa{&ȫt?@2ƿ[;F~$4mhB^*1lbew0Dgb$`t+exl[F[eUpC*X_]FBԤ:tTbez/"[$}fmG#|SARtm \-s^PtY׆ʏ  RbwOZRԂqE'b
^>VI6--{IRU2ƍ~ubeV5cST5hjA-[CǗW'vE*"իcuYxSЁ;M#ň (m׹96G!.` {dlQu+%xDĸu=7ˑD AOCtOS$]݈k'	dktmNt;Jh) Xm@pk9~nLLЩŊ:=+) 	N:͒NwX%A'   $% tE5q\zR+kM6cDGVpJrzL"A X
 .LL*yUfcrT:(B y(!cG6D9Y!K=<l0>w>"D+"J_8@BCLҒAA  n.TִmhJ-2#P]Z8/q=Rqw@]Xभ>O8k۳Rm,R"f[UL)7}?WnOɀ|rܪ(՟4QI3Z)ز@"-˺` r((f+QGdKjh뎖C^ɒli'9`!N "Z碻eFg;TU dUHDo j/$  pr0F7@5:@{">HR0V~0V 3|OWa|&FU"   2 OggS  7      
M     ,ߺ!^Zb^\b_]^bf```accT1 tBǨoEx =4n-ޚ!)J&z!j.r S,{yN̐O e6a5R WrD݌
3)/YR<,YNwG'wb8UKK8:{ :J׈NX(acZN
## @fu]' UqpOP_jq n`I
G_&HsN"BMA8H׆
 ta*hB_C0-T\>dҊWCTڈJqZ5EEQZDmP[#
#=	_n).5u~Ie.V .2ubxzƇUВ s^, "'Dx<(v}}2 j&ͨW;)J$ԣ28ow&)vH8ǿ󿒿T i躣aՌ% .:{k  M[d;Ԏ+e-J @,B P6ːz	enehY")d٫~P,RvOl@fS{ J(P -)e MSYx=уci}N/X 8\r0YlB{<GŌF?g":M̵Ԙy ݮrI!
 v޼S
[$0#a27l[`k\4xI!*E&]oL@ťdS {| =zZJܢjҚFAEi<ZeXiDvCͰ\ >TE5UJԭX|E-B](25.|Zqv,t1$ L׭ʡt8TAT@Fijzr!Dx@)S.|e9hAU7JO`_P6zt'Vi hWVZDhU"ң8DE#}5  O}	 D  !VJ
q mdpaQ t&  P4;!{=  ZjCq.k ~*P/Iers '<wx/ << y$!RXal1i"
Aͅ+! VK#fI10c
a#RwI_'irA\:E%atE`RiѼR2"+(xU\Pkg2MO_p`+#a/o2ntXi93}>/Arb%Ǖuc	<4A)	5T0B+%	]Q(
8 ~	Dur)ab1/4LCV( 4}DR$AeI٢K=VmyJ%R
+'H@# n]VSmUp5(wfƠp[qA)&Bj JEc!Aٰ+ϘEvpQg睓W)Lt#4xO7oHE@ɬ1xyAJ R6p>	c#Dwzc9[JGAnvʥp> һ7uyc+eACgfw@Yٜ!PfJ$<
<dBax+BR`-CDLF b(*l"Hz#[7evP˿NyqIO|e~iN4weD}#eL. Hɯ,ܮ+nS=8ۏߏͿWnu[!`q~[̈2;Ȓm'>)M6NGFB~e_eԙvNr%
G,_{CvL~$ӟa0':mf]tMu(0jR*DTwWfZ?Lř>Ǵ(?L2rܕ=VVdyvGkQL&n'|Nj[DFيY	V|ҧx׈ۺxx u}cQﶻݎ>b_\y1X_k3<3˹ĕ<< ds6Uhg}RV*lԚ<~ehk2Hmc[&Ӟ~*ۧ]iʱfovQtuň bLe94z`ȃ<~pW[5к9A<wW	s){%-^s'EIR!J:tҘm K)cj1Fe25Guf똂?#S,EՃGGܗQBTFzG2jGb ͮBpVz
4W٧+hlS2LYOa˵W]//WǛ])ouD`<̄-]y ޯ{5~@"
Hs+@ZH9#
7H:`S\A⯭8j-fU~KB{kآSwꜱG5 t17<Pـs>HP:Qb$i@1d=QMf  '$;Jۋg̖`,h~'iE69u5͋:=P 
E3ih`bP"{dfUFߌŔ{=H)3W͕
ڻ??Yn&::t*Wem>$)u1Neqi&Ѩ8M5LFat6aKQZX|{]y&~xzXcJ,^RH:}3r3 QĈd4A0`&ئ)VFRgXEӕiqޗi}ʲA9mFalZ;1/'O-COkx|*Zhnaa2gN<U}԰c{^ѣ4jm+"]G@{hT D w4&92沩6hĬ:MU,rYZpyWƬ"ju:HQ3څ'';ݖeVK΅[0A>qRnmUwoITlWnTkc:}s 9C,]=2Wϝnsl"kʅJ=Ek7z:ƴOu'ڢQ(ƓQd*񬍕vjif*jɱYlz_Һ^O򰮹:>4~K9knҴE4w^ZV.q&mTE1Z!ra}6f22_^C>'akңbx$)	 4g>=:j2r.~p<kdV_"7*}fɌn9?>_yd'$.\Z26:-nx1ѓWc]2uxA8غ5Z0+(=)ùh  uBJ$[J]̏JNf=U3;uz3Og]uжZuK&Hd=vӚrn}zx?3zvo/JpCmʺrvݩƠfwfqU%-t7h3~_6a=d/b*Heoϭjeșҟiji4^ъD4@7]9FZh{դq±8=/:̵ ֔/f] ş/*b<meX⣟i1Y ~fխ!(}BMq Jn}Va*lC}crq<UU4tw"n/:ē-Vm&kV-`F%?
)3dyIV,i>ʠIL&0('xo\UFrX,?o>-1A6줯obW@Io]uneI3OggS   J      
M     cw.`fg\Z[[]aY`a$<znETa*7`3AHpJ4՜6>C:s%Ӄ[ʻNşU}2t<|5 4,Z`%	VuƩmM+}_yVkܟU=N<) >=F?fߊ=OeːVi
@p=JX=2S|([]{6vcJVqg<ϗH٥Eݰ=~a1>~pƂoz1)@v'
C&
9ԥq9֧џq*lmW-v&8keYV(\f17ս9Wub)z˴C ;L<kD7Rk3a;1.Yy|lilJ7[[1k::Ҵٹj̙q/dp,6 d:ldb ]l)UJZQ7zN~>vՆ=-rOs}L?j"deyn̚<g4jz>ZBub`deg7-ǵfr@-|uo&APM!6ˎEf1EBxyOByMi񷋡k>zHt M{?dAMT㟷jӕEJګ]]/{Wk5?Vv|ViVbGF=yuZ^ד2{~V38YWup#M$T<{.K%rr8Z<C'40U#vvv?7ZcE|ךs3#pUW|?%PiPH1~"\{tf?a}]?_FT~ŷƮ5fTJKqz}#{Ǧ߬\+;Bmr.SmRZMub9%w3R\\ߕн+eE?Jt6o"sЧDm&yj
hx@x~'B3tYp	h~">r5ARs6u4sh$@,PTb1o >t9[UI$|~r aΧ '*WH(rT`#)?,&+[(X\ލ^CrxsAU]5"v raZ|wdaqSw{Y8nVfYN/9**5gWZ,>-E"TAxRGYjkڇ׋iv4z/pWy(铠w}=Xj|Yb>hdx_p.UڿoA!Gbٌraڕї\ڏLRJݎG 46f@Nw(HHSRdjeӫ[lUQtWql99Q}zW+>}T+Y櫟]?6̢yqb
օ2[}ݯlL_sBi69R)%zgAfR4+aW{20z)<a_?+h$>)IKF(YL+~2&ڭJz=Q?p.C!^/o4kbsX?}nn"#Oǳu7#J=d^q.;?cG(xWYYL̟U!ncrM$3ޔ||p^LVRic/FډA4T~F`i"/i5"T)8R3wzFˉﯮ8ײF<85b%?~Eu|9%UW0L2,	"r{Tm`CsUM`JQ/BJErXaqRC*S'O}iy2-P㳧.$i^:Hn L<L,x;;!գ)TYuA5T"$-evhK,ZZ/a|kεFЉPuׇDIz5#}ZkwdٶfǢz<]m_ףehku{{Lgܖ;dsbm7RkӏCvaw/yq-X}6ByN{qǸCH-@<1uʵglɛ%3MpnY.~ߦL%$[&ý
@S$ź{4Ҝ
K[/BQ5t_VM
e1=-cg	4mkϳ^e$mMos^tt]2yRFt#Cn.W)KE^9#j?f®+يcySVs;elcvW_S@ohR~@_z
]O7'L=g6o5ɩ"$}0L2y9FψFHqn /?~Mqo"ѹbg~?޴<%^s,)Y$;;ݳޑ	6C `VǸr2k9Myr eк<.AMXWסJE
t-- xuTehZd6f7]8z4^!05?@$==tVط!Uv>?!H~.k/3?y  {QLUᕷpwXuNFDK$N틲S&i//={@QܡZ$z&Zp'S}.K:
:S"FX BQ̪ڪXͪr9FP?LAuT(ZozՕ?O|8  #/@8[h뭘:o/Ш9o4T	v|\Ůcwo-is1> 6*dLUcJq,OBbWAjY˲F9#άU֋Ḏο>Ecb)۰` {yefqtf v]^p5)mL_gY)r&PbFC7G:"ǭaL_,۞+C&KB)KH  0EHEPRQ¾j[G[9.l|}U_7+`6D""J;DD#b
ߞ\	8Euh>YozCe\:d8V([mUSm-}Qȥ* O  @ $ hIQkʸ!8k#*BaJ*-gΤgĊp@{,*+x>k[e1i \rpSXC\r-g 6qb	j@|Z`㹲G^=_O!/?wۊoi^=eYيw[?׵N<.HG6FU<Ӽ(cә-^@ <(ƽi@1æJ$5Q-*YdFR6MȆÑ-\Шؓ:j0O_lg,}Ŷ|Mωވ~eȴDI,z`ї8X`VD2TpNz
A H
,RuP)U+G|G|"s1Kw% XLTw~ACb`J|ƢfRv 8APG5q'"&sPqXRVR*25(S s[_J?3cB<~*)@sA +20:5li)0^B)êȤc-(@W^PU;zvDwnE Rm -%SbQLn9*E&ETz2WDtZ^#^O(SR[%[y;r:V;>Vr?o?l]c@VtIg@py|YnL>2э!CвxOX4.y/Kqә0z$K:'nW:K^}_ OggS  @e      
M     HrB`a]U<`D4.2'⇏@G$v.YET9T<Z̚yٽ/ϘN#gCm*EJUu`av[38lUO))y\Q˘=Mt^ N{]04DSAs95	"Iz|ak ҷw^0THf*yWg5jՔ8dٓI&T;.'T8Du,6c
81b&X=Ii;* 1$ :So=%꺯=h,H%dWF&C$I(ˬa)OUk۵'_4>q݇;*%!$GԲ  z+FTS D#7HjB@(RFQkaQ@[DG"-؀ERI =i5 #YR)۫⌫yi@ZVw7*kq@PRKL jB(kj
eU`j t͠֍sBJpDc* .K?NqJtd|#/]픂@DNDrKLdmsfŤ[zBp3|0NB-DTj?Z!1TߣIӿGI VntPCӄ]H[Wwΐ\0myꪊGϧ֊fs3gn!eOtISݡGx$ּz`jC,DZc08Œݽ\ԑ.i)|[IWq_mSR+	KV=vO&b>. J n,f44-Bi#H-ys)K Lԋ{"=8+c,z%*<:E |f3L<:J!McF$d؋t=()08+YJHuDFxUU)#qݪPg_&U#BdVZK5Q))(EcضR)::vWkԉo@v蹒ӣ:&Jaԁܠ1 40\
SgEUdEUUgQ|PP?K3fvR,UL#^cvƪ*ӧjYfVSdAYXm˙HҐf;Yg/Dڃ5>ݝA˭vDx$-aEC-;YeA<K-}D~ec ,i"@tl袪xဨM1jF~Lg/ZQ˲KZ6!rTHT"AZmCSOb[9Lb6'bQק˩u:V9\t%aZ|QbYw:4Q)Խòj	س	 Bog`
A̘=Z>]izXՐWr)ej6$c {&&3e %A<:&kjNYm<yO
QyAXF"G:H6a,doGAI_8bp%ġ,*ueYE_r-q! ՔSqfJby==r8<B& UaygvY{8Q!z<ZTw,WޚnP}Mu=+vkDym#.I~}6RV=p\"id=?*˾<]_(ʑYUŬUuV57$쁈q≖MFī`8nGDX2VT3e]Aq*sHcYEժYzT
vfDMAAmM+*n\bQU4TQ̪W@G!U!d
X@\$Q
 !FwUD3Y/Dj@w':D]R!܉bH"IW aS.ixNbuwe:{$+H1Wg?jN0)Z_H{g
nro}8_{үVD}+k1d:G/Aol <.i#A>"!:s}U5ΟQkxR65>Y6/z*h7U}I}<N[cܲԭr{_JDa.Xܛ#5+%vWnyM?7e.&O,7N?M;gťZmf<ܶJH)O!Cov<1ibd>CoBb5:ٳv;<zT~vee*/gcME=WV=ȓ5NMgϖeZIp8Ɯ{ߩWEܭ?l+Z6QL77Zxr>v&Gju)YK}C>\J)aFwxz)@\̩6`&PzhCVA]Y","i>;F/}Fj>2JC:2Uba]o^in"$@Nޔ5H#7	*6Umi7wAJIW\꯫:*-WqhA֡}	VZ#9IM*֡V'鏩9UFM^f><~Fy/J_jiaZ긼G]ٽoUԓgpqgKY3G4<*uk.>퇬f
& `ecU5i,"J5#+BiˮBh)Z!zmK67|åu*\ цP쬨讌*7z6
R3r
_+[1vU-<=qH>
CrvGE|Smj4:F'@8ͅ I=t۵9ޡ)F2 jj^VkOvwz=!o޸g|d
x8(9E@oa;y#+v̳~bes5gU	$ 04O	i:˅wѴI(2,g
	R3MTj[̔$ PsS)>Z;UFA(4en)&AFwa:NDZ\a"<9t'@RT>jmRUK5eY,yk;1)ڐG[' :NVJDXwuBPQ\Z&8*13s8Lư^ϫ^ٗSS^!ѯaN-⵺vpJ_*<a* bWRiSQ#bD*qe 35+
hTģҾZ:5hG39:yŘȴz;3uJbyҷltQ684iy2k&7t6Uꀆ̃t1ƍkE
דD@P}VE	rM3^;2w-wV*	Ԓ>Bb%	<Ft둥TȜQ ;ҩbf ?:I{f09>Hs7h(%o4Q)	+RwG8O`j	wNM#V[cZFYJ1Ҩp#( )<82uc1RHR0-9!t-ˮEIQ<7>rIlG]ae5zu+Kz]ȟkuFJk(?cJGh&ʹV$u"CJhwhm)7X]u`%SP!5CT0x 职SdswWebjw%qL 0=eM( dqGQt=.	%B2@lG}_/䫿h>AgIc=2|?OSz3Y P~	eU V'&t&S$\y8@X. N;*Sf&`M0)|2-<҃[x,=Cl ʪ'楞][/_aGbݍ4Z+BG?w\VZ"޿z<WQ]a!mkkQ!B)3Z\UllQ.^fΣxRX. }6_;a;Rxbog=qjf|sA|zUa\]QPlcU-хٖΆc犉 hД	L1hg$ 4C2r#sHDǾNN6h`jVcE)
 s3u&B[]Hn,GgZ~dqa09CpɅL_ݨI4T35r* OggS  @      
M     ]"־%5|>wd>q,+e( d`XKDibPj ؿ)λs}^L=xȦG@)ztHcp^J  dAjV(j5K| keʓ؊ ֪'U[Y'<ۊez#%b;f6Qǩb|E+H\~'s]tL=O+~}79~v/|w!Qz*@~lhSUeBHE%EȌ:`vqEmU`dh͂j]БIGtp:
̌Rq
!IF26-0g(w.zF	R@)k4Wwt[l瓖9ᓣ ԥRb) `٘Z_ b	`EI.$kEp,$lu8l$^	9f,"Q=dqŔRUf =t<X8^)ON\wMP$y#??guj|o) >Ht"%zF\;DF_U(.έ+vЙaK=\j{(zW!rȐ*']}ЇW0Ʃiʐ[%%e˪m^{}/e.w*BOHD  y|<Jlz]+UjՓa܈T@ETR|VWVE@)BMMA 0F+	ҥN3Ds	-		=GvTrX2w ӯ1L۲zWzaOVlu'k਩RvJԴAG.e^ew= B'3 )/!'Xz:|[4/iԗ6qF  p@!P @(iNki!e @% [ċx$/"Luyw;9<;Յ%O6yF.	 |￈|
y!LEW?ࡎU+c=S-7.-Gz  i_   J|h	t'{F5+s餌䪰rNZdq0 >z8Q'q1hL{b|<\j6?%}xn`DQ	5-TtUL(ND \#$(E{Y)mxy#X%/+hV/	V+i-7柳)p'[>GpG=u 6I
   2p#*!|  VW mV4[h=w @"XɱX)^^﫜~ @UR 0SBTQӀl$  jAgyקF]*yeǹFeJ
U7.1َk(X=x5"9)q6," (Va$)S"6t*As(=V~rdJN/t]5FמȠxT͚x^뼌JD!7h./7KKeGng(nRR<0@`he!Vjh΍4h_ڍl\.t}f-2#\A&5~y,ËGv$ `Ū+ a axw>+an& ilSq$ P	AlQ&IصFO\)с# ȐqXu e}]s5A7 ,e   4<#-x]@_IfHwdEd%!ѳzΈWt*gN#$$`qalͿ

r
WWA'*zXsQ)v[zQ`{8K|V;bz$,\N<뺸:r(DmVvJMZZFlPon?LhĭhQ%uWtT4ddtt6HdwҢt5tX#ȄR8! 0ceVg'*T9	VՄL6Ɖ)bf\?&ژbMH   ]9  H To@ $2 T     J>L,ko(}t0:]2qɎwY "F	 j*T`EP0  b$	  eNU^oZgd,6^IY_8"Ecm0{Ҷ1I$4n{"?f@R5Hf^lS"dg 8xi}Wu<F|뙀gbPwrS IRv}*|#?l<XӤh,+0C,LC(j5Կ>3LۅeZ| 0PܓӶi"d&L%Ed.MW:J;;LBHӒxڈ2*, 0.鹑Z23ήiĭ*>eNJ7c2Q " D&m@N(` qFR
 h6}f $h,)Q,[FD:%Eo1Dw : p_),R$1
@@6頦$  PH{ɳ]u*Hy
LBW{m2%J59mB>)ZX\e* fݻoC! }h   I#̓I%qIeND=CG]_%ZKw&W:PLMEV4^/p -
:nIH,WUogYDkR@.)J9:Uӥ֭H)YCOG 0OmG4EQ
tV1.+:g g^h3*Lܙb)OLڒح9ت)wH-?ҳ
@ɚئ3q|3'TRWF_Z xat?6  qt335@!7 &AruN\ w A ' `  Bz;&qvOfΉ0u1 Md p%i (e4FG;DOvyaZE&fg_-	RhݗFF# BTu{m-qK/7wtAkF?~ԲP"'Fh9+}ZeWsx+~vLyF&
1%+܇7Z{iO[rqvFB3ysYo0L=3UU1\_We\Ny(U%*-`[K+j
 PgM8\@-VA%c" "cRcPNVul,ʣa GH^Q{zlX%{1aO<ܚ  6hr~Tj'h( Xd#2i p uZ'0L@GG  D.rŘ1,5bE!u&6;؉)f<䨴D@\JfXy Re4j;2[   	9~*M?XjKka}t'zXnI}h;h[3PyDI#ǾnvB ,OUH6F]~]7@۹y10Z\y|,t<ɯ4RGOuM78|_߸6b3-F!dX˪}pq4D"WS+ Z6Y3m"iG!,A @jpqO^PY#w;Ab+ұO:]/	{EI
d\z>{3z'H(0RP0k:a#@ Lmp5nq0n"V3   OggS        
M     P^h0ca$ŅK Ќ\x0]$FD_;;: `N P[p xqRD)c6@L 8ڧSdoBv7=Ovu%E瘍2$0c,gFI}ٺQm$uXSstXD8]P\#dC
;啩NA	M~}QX膏|e7RŞ~SP6sLtq@?wZh]N}u+ÍM`_(Ddy_Б$02ij9K#MQ%++j	R+0 +NC]Օ HC ?H,j P UOPt&9 L\o&tb`L0+ލuܺrԦr\ 0q
gVa1Q}VW P_<@O fa+guPW= )~ xHx]}s@i\ 3;4эщ$K': sZM@ _b7 Ybb:  z]Y}}ޢ>!|MLl^	(Ka][(4`ڼ @=}%oxJQ|J>
]ӣtFA	Xcjk&<l	:tNPJeγj9- =8a  u{JquOSdXXiY)T@v[ݶey0 J/  9>~H.fsSP @{MtT5\˚cN/E]  >ga7Gb{Ign(  #)u6hM6~g}6XSي0?(rtk WܩcA;+6[ne SF L^
^{cv}Dk,#n^$~hSQF @/bT pZe4#!RRR-9T  (ԘzuJ}'>!H6㐲lY_*Ӌ   ФـfJ۪fg6~'P@rh[cdۯkVt?T1ic{[4]8ib׭/;    ȳG妲q_+s`ɂM/3u-u~B>O" G   p/  |}˳hEkX   3!긬UNtpʥƩ	mAKq% C0~dm7*b\kT\?5icVKq+|L:$ޱ]ed*;#l0:  WS 0晨PE`Aqh  А.
	pa ŗy[Ƈeմs'|y]rOƤ<b"Jis1lffr  k݂
ve2V ڤZZ2[   /{Ի=1zwJI'tϳp@xm^Y^jSEpHNn]Ǭvw:   2Jԝ?߽ujR   0}P9ΤEA[f,JQ`	]uS[O   _uY@zxA4_ѥk~]韹y`:G&Yx57	(bYJUU=/9~RkӞD#y cH Hhvʐ-Oc22 ?$?L
 8qv] PACic- 09W;qoT	 
b& -~\9c m&dqRwg  Џ 5 &&ռ}vzkkWւHbh.rǻ;fd=z1g!gόSfBvz >L |cM^'DT<2I8#,ie  `Y.uo7yt5UŰCA~~Z|79BI ޯ6rL/i>_"!(6b#pJݍ`ȑ3Sa#1ׄI]zҟnnmE-KemޭGTCkIA7:}uDMvJǹ+ٿmɹefn E|m@{SO)b_l҉ݎ/SgA7ߴHU}^x~'k jjaf3YS>:FPku[I%Q|Swe?mŒ<u?|\zW,l_Kk R80\t:]A&ӑ
YyϪTZzΏ3;qĔZ@^DTs~U'}@wqwwLUDşI!ƄU*wȥAkfvju
%RC0
*q=tx'3jo4~:LZNȯwT+;vg
4Ll&U,FU뱜_1".5#v! lgw΀g4r>FQO^_+
yܱЎh$J @%@EkP@G 'RpVM_SeSR}+\~TgV瘽N9{h]+̎>gpjL~ѭX?jZ)<E
N3;NnG~%6#7AkR:"s0j!`m[QA ?hd#nǕLA6_fF8Tom#̓q@V]"ʪzey1f5C!=;C>{tI<Mksѵ=B}Z֧_+B_phۅOaWAi ePbY'\^yfg#_* 8	EP"Y=jSjxeO}~j%kWڢW=Onsa7nx4Z/uOg)>tU0nmrI!vqKE=mNQTĸ%t9A"k-/S+ł靧)Z$N鱁/VzJX_,F1Zd\UfQYúҜ-  RM(u`\ y41̐&  @4w]Gb'Ԑv\ZaI!៹6K]nwg)y&5ԫEDؼ"pCRo6'Kuhd)^J,#  hVMԏD𶋤ny!udhkݟWJ;umQaVkJs;|t!EUju>Q9cBVA
Hc*?x¡s gξT-P2)uhG^rf0a;+B#> PKSXSgW;%tG4H>|,-"iQ-zy=dYفzUkDl__0sOﵙl Dy ЙJ3=e;'Mq쌪;#	$ľ/'G 'lRճr۝L0R >'0nb鏙PIw$`ʬ ?f&1^w# H;df23  iwSo͕^5νkȿ*ػtHJ5BM8?_	ĖO3+*lHs"PHL.ge63 hu
FWM>ׯ{!QVg   ':=Dpħ|8{\JXgg!t,[$@|4;n'bEwӈ߆ˡ/3J lS7"qp Ah.jJ:b74	@?W1
IbH|W0h3,?YI]5 d$S JU/  ! 7an7Y۬X#x ƌvaOggS        
M  	   >N||'GCc毺	)-ut""@|(sԙ Hy]R@] P1I  Wz{V-{+MHk~ȶWUp<(ҷǱZ(~Y'3+ZP?gҦ]P&5u"C^"=ݻޥO@c@PDTOB0`)A47  beYD@.;tw^:Bwrdٓy8 |' ,nBGϦ-J-^cƃ͝Ë_ 1_G4l c ,<(O	ׅPX)dظ.ZTԐ:A  h :  ?I|X Og ,/]glcNJOauD_(⼞Fo s5g.&@4|U3@8rr DRH!   ɣ6Wn98Lz$r|wBB;d&!YJ  0
މm*1
vl`	6*˾q>4IV҆H6a $^	?u+\G	Nd(KY` @f{y瑾+'t7O?kNd51MB' R.d  > &xUZeU-ݲԤ˪QAV H: B*2X   % G p+]rF   	T]B  Np  '\K-UG~mWIKR'\Jid%Ucu>+*		~Aj@ڦ: үAVC% .n&D0$  #{eʔMj0ȲC*9WכiyY<"G   `^}=aNcf'h$4ع[[k5ib1Y0c\%;𣾆$6҈b "LoG$  KrBn癀   0Yl67}=\إop2 D 3  r}~ C@pBsӓ$/X鐔;Y0 D"=5   u-3((;  lYV \*  eFR* '#Y}4;\Z*=/%nT#_=
͙Ӿd s5*08 b< UHf%A  X2dsÔ	lŬg^v\hu[ST+skyaDzVҫwЍc1-Rz{'c°1|X }뢵fzQ)ȔHWPLŧ!  0չXHWze珮'j={`];UsYY!e  ׈pDm5}9:1iGﹼIc&QU׉		CPKgIAI̥\	 `4?HT  )3"X   ʅ
 Ry@ kA >'j˭dxbUJٮW#JEn=ԓ  s5Z E  ,ab   \wz3?KV]"{^+78K.Y%1"쳝!/hAM4KS%W
rrѵgpU̱9j$|B HG=QF&dDШ:b7qrL ¼{Kgn 8Lj
Pܥ5>|AKçͅ1+ 8~]ķ\d+PL&;HHAHEbw
y!'¯U>7R =|-^    \`~W k  zQ	 ւV&,~ŢO-'{O7aMSZlfɫ(fsS: |dp p A؏&M" 	  0}/<c5^v7"ݴc!煠a-\
59Pkm&@2If* BY 9^DS\Zնpez$kSg3}81GKk|<tC=tӽVĆ  iFW6!x
*c ׽8 |K,3f{r4J-lD2EEe*ѿa,M2lKv܎GqG
p GsM[` L P  	
Pz Z  uc  &%%]v2aqc"M_zq=˭k'RB4ۈ1= @ޢ k	 B$<_u 	tRD  otJa˗)?;e@<TEU5c# n<1FnZp  "IQL__b;(z%gyJƘGBJBҽR  )|Dޫzv	L|Ff R "Os  2?NK\lJSs"XXϤo	AXWG;jw @7V((?sa@8r ( t3't_t|B <j~J	`O*m @X  	   'l3,]4wVJ~}ۮ{ۑN' @οlR 堤bG dqYH  =~j9lqe]wWK6Uy|H `\φͶ9rn̴B}~SFe7$lͻ&oXur Ԇb-UYF)S:MK堕!V/|@ ݌뿟, ?JnҜ9?)1 mw `!J$q4b,x끀Kv`掆ےh*kO~4	veS_P@~f[@_eRD+zsy*&F❚0$A /
2( + &]#.YDɈˈ{O 569km>Ge ^> gwq"a/詙)%eU  hn˰/>SϑNxo^fwyrT62P1V|R1H@T=<sr(`$5;0-Mvp
V\t]R19+/!+P崵k& *q{@g1dk)<=3RuF'=$2 ۾O	@$eȈ&T=xbtaxRZݚR^7^u7QBU!ZĎ0}U)ȼxbim!'SFlڭ-!O]#	I,9 65oRB :aN v;@
 &,%􇗤͠4a1.>;}x|c=4 0_M	@5Jb*/ t!#   &"߮__e/u55]G(<|E<J䜤(MI#%c^2g+W-/y1[
EsOH[u8  YC6
ꚒvRzD Gg3 x{x:u}omLg.і&ߞ3qxlxn,aQFJ2  dAᐼjLDZ3vx C!>oEtenBvɀHx%𻜎[FßF'${vj׉%,* Ys={ee|&3	n^>؄[ &,GZVMDtИT~ۏn- fdf %C0ׁ@J!9b  ٻ5=+r٪1;L@.xcIعNXFLZ%lL^el'ᢾBt*EnuO""s}i/4ҿC}u3xZ.g *XsqD{7sduQN4/BLe[ȶ{O{3 -e0|\;1묛QmXH*D&u+<ZКR .	׍{/W'F@BdOWSU,&z∦c֊ITIsFh
 +gNPVv4r_4Y v&X OggS       
M  
   2~&t1@) eK%~>c߶u  <v: _
: )$	  ]::)oWaGd^^ L3w\VT!VQE#J*  [pmxEe2RoH)3թypWS)B2?~c1}r6,.7%_XB<Kߜ9g+D_K.>ٴPA|wI+"iєbLRJ|J("88'=9ƈv3;ƈ"q0N|8"=*cT=.:+L_w"4RopQӿ@©k&q/;  |e9|{<)
I3 cO,	, 'l=aC}g>|4F;s̟e;a6O<4oҋHϿ) h"_z=D69D8EJ"   7뿛|AjkfgJT5I<UBc%I훡H131d싊C&Slzn W×]6k".J@uWXWrWw}@Me᝼jzviڧ  8_׮#V^kkząw_O.'Ddf	gD$TX?.=pzwZ%g~oԴ;# RC<Igd SqHʿѩhWq	-<󖫥t~:O̖;}@핓* J @ 
ny>tƅ|G>
  &1%<1w%*F6\wQ!u"FӤܓ5oٮQĊ We)  PKƨ )53,MV   s:ai0ncÈtN Pw1tAS5=R2݈T6"<\Jqj>ra+/_z)xQU
9JtFCOy|T4-eEkG=QZ1?mT+Y֞|}2˯&XmR[tc+/d8T5zt	! N$P`KЕVeh)3K8" /_1NK7!j]l]ewNb{[yRn%ysMwm[;@)؟z++ez޽?&\%_.(	H 2  kʇ.]cׄ/'r>ƽ@J̌2O t% @H~@JV&	H  ?|_Goނqr^^'0#
rna8ĖkṠڴWM pl\VS%bT+bNRow#״UA֨.}翳H 9x3ܩ`&AD ՛|2=\d~gݳxCq3߾ڥ=~U\֮%F ΡLݨBBro>V"2|KǸ>$$6D!	9ˢI}?L8\iTO_kS[g_F}Ŗ5}W[aH0iZI>%\oH. &4hǇe{iCc>z12.9+ 0W  THQr iKj1S3   $ǾWj;/gόUW֝&&/7H\b@قkw'Zj
	}5daՙ[lԷ&_2*HЄqH-~m{j"{r|Uoȧp>0=T$!7d,}j57}̧뒚xR/mAL33
V
>Ax4MhutƏ&pTjh3L@):Jv	1=O.9Uw2ppNtUVqNU$.'Ȫ8XtVY#+4  $т=qhFzbgh*.h"f뺧  `~- ~,qȟRj8ʄRg_bOXoPotU@"Eb9#H LKʬ }@Z잖23	  Bdq[
dFQ
Y,OhEf.W^kaDj/FX=>xА=U*q)Y:嚛c=
 zG+"/X!4y:s?~^u}Yk<o"j~؏\E.d+]j5:U]ν#u37zn殂^{$M]QgL@wZt+5mX&_QWm-kvH͔_JJyUO&S)/URc|6xn |Y|S/1"5VvX)(Vv۷J>>.33>>fFC Y^m'Lx|tؚI53cII<c]~麷q{˔pˣCiKይ`>#33-Leff  hW65^ηs償(C5hTkokAщNTBFR,
)Cp[=gZT=}-^aE!#CMa/<[VJϺm9Wp\l=<CٯqgauX<|S+ -\6Q.pu9rsykn^^=~#!<#hxFj}_~گ8_>ޏi^驰_^> *ϽRbuuv~?'IV?<z_yd^{tﯠ6n+\߁+#uwLOF'鱗Y6e
GGG}tY(YQfg9::bv6GGɚQ class BC_flagsOnVehicles {

	class client {
		file = BC_flagsOnVehicles\functions\client;

        class attachFlag;
        class detachFlag;
        class toggleFlag;
	};
};
params ["_vehicle", "_pos", "_vectorup"];

private _flag = "rhs_Flag_chdkz" createVehicle [0,0,0];
if (BC_IS_WOODLAND) then {
  _flag setFlagTexture "\rhsafrf\addons\rhs_main\data\Flag_dnr_CO.paa";
};

_flag attachto [_vehicle,_pos];
_flag setVectorUp _vectorup;

_vehicle setVariable ["GRAD_showFlag", true, true];
_vehicle setVariable ["GRAD_flagObject",_flag, true];
params ["_vehicle"];

private _flag = _vehicle getVariable ["GRAD_flagObject",objNull];
if (isNull _flag) exitWith {};

detach _flag;
deleteVehicle _flag;

_vehicle setVariable ["GRAD_showFlag", false, true];
_vehicle setVariable ["GRAD_flagObject",objNull, true];
params ["_vehicle", "_raise"];

_vehicleFlagDefinitions = [
	["rhs_tigr_m_vdv",[-1.1,1.2,1.2],[0,-0.2,1]],
	["rhs_tigr_m_3camo_vdv",[-1.1,1.2,1.2],[0,-0.2,1]],
	["rhsgref_cdf_b_reg_uaz_dshkm", [0.8,-1.15,1.3], [0,0,0]],
	["rhsgref_nat_uaz_dshkm", [0.8,-1.15,1.3], [0,0,0]],
	["rhs_gaz66_repair_vdv",[1.1,-1.9,2.2], [0,0,0]],
	["rhs_gaz66_r142_vv",[1.1,-2.1,2.9], [0,0,0]],
	["rhs_bmp1_msv", [0,-2.5,0.6], [0,0,0]],
	["rhs_btr70_msv",[0,-2.7,0.6], [0,0,0]],
	["rhs_brm1k_msv", [0,-2.5,0.6], [0,0,0]],
	["rhsgref_BRDM2_HQ_msv", [0.8,-1.15,1.3], [0,0,0]]
];

{
	diag_log format ["comparing %1 to %2", typeof _vehicle, _x select 0];
  if ((typeOf _vehicle) isEqualTo (_x select 0)) exitWith {
  		if (_raise) then {
  			[_vehicle, _x select 1, _x select 2] call BC_flagsOnVehicles_fnc_attachFlag;
  			_vehicle addEventHandler ["killed", "[_this select 0] call BC_flagsOnVehicles_fnc_detachThatFlag;"];
  		} else {
  			[_vehicle] call BC_flagsOnVehicles_fnc_detachFlag;
  		};
  };

} forEach _vehicleFlagDefinitions;
class BC_loadouts {

    class loadouts {
        file = BC_loadouts;
        
        class init { postInit = 1; };
    };
};class bwFle {
    class AllUnits {
        primaryWeapon = "rhs_weap_hk416d10";
        primaryWeaponMagazine = "rhs_mag_30Rnd_556x45_Mk318_Stanag";
        primaryWeaponPointer = "acc_flashlight";
        primaryWeaponOptics = "rhsusf_acc_eotech_xps3";
        handgunWeapon = "rhsusf_weap_m9";
        handgunWeaponMagazine = "rhsusf_mag_15Rnd_9x19_JHP";
        uniform = "SMM_Uniform_BW_FT";
        vest = "SMM_Vest_BW_FT";
        backpack = "SMM_Kitbag_BW_FT";
        headgear = "SMM_Helmet_A_BW_FT";
        binoculars = "Binocular";
        map = "ItemMap";
        radio = "TFAR_anprc152";
        compass = "ItemCompass";
        watch = "ItemWatch";
        nvgoggles = "";
    };

    class Type {
        class Soldier_F {
            gps = "";
            addItemsToUniform[] = {
                LIST_7("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP"),
                "ACE_key_west"
            };
            addItemsToVest[] = {
                LIST_6("rhs_mag_30Rnd_556x45_Mk318_Stanag"),
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP"),
                LIST_2("rhs_mag_m67"),
                LIST_2("SmokeShell")
            };
        };
        class Engineer_F: Soldier_F{
            backpack = "rhssaf_kitbag_smb";
            addItemsToBackpack[] = {
                "toolkit",
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                "grad_axe",
                "ACE_EntrenchingTool",
                "ACE_DefusalKit"
            };
        };
        class HeavyGunner_F: Soldier_F {
            primaryWeapon = "rhs_weap_m240B";
            primaryWeaponMagazine = "rhsusf_100Rnd_762x51_m62_tracer";
            addItemsToUniform[] = {
                LIST_5("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50"
            };
            addItemsToVest[] = {
                "rhs_mag_m67",
                "SmokeShell",
                "rhsusf_100Rnd_762x51_m62_tracer",
                "rhsusf_50Rnd_762x51"
            };
            addItemsToBackpack[] = {
                LIST_2("rhsusf_100Rnd_762x51_m62_tracer")
            };
        };
        class Soldier_AR_F: Soldier_F {
            primaryWeapon = "rhs_weap_m249_pip_S";
            primaryWeaponMagazine = "rhsusf_200rnd_556x45_M855_mixed_box";
            addItemsToUniform[] = {
                LIST_5("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP")
            };
            addItemsToVest[] = {
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP"),
                "rhs_mag_m67",
                LIST_2("SmokeShell"),
                "rhsusf_200rnd_556x45_M855_mixed_box"
            };
            addItemsToBackpack[] = {
                LIST_3("rhsusf_200rnd_556x45_M855_mixed_box")
            };
        };
        class Soldier_AAR_F: Soldier_F {
            addItemsToUniform[] = {
                LIST_5("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP")
            };
            addItemsToBackpack[] = {
                LIST_2("rhsusf_100Rnd_762x51_m62_tracer")
            };
        };

        class Soldier_A_F: Soldier_F {
            addItemsToVest[] = {
                LIST_8("rhs_mag_30Rnd_556x45_Mk318_Stanag"),
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP"),
                LIST_2("rhs_mag_m67"),
                LIST_2("SmokeShell")
            };
            addItemsToBackpack[] = {
                LIST_2("rhsusf_200rnd_556x45_M855_mixed_box")
            };
        };

        // heavy at
        class Soldier_AT_F: Soldier_F {
            secondaryWeapon = "rhs_weap_maaws";
            secondaryWeaponMagazine = "rhs_mag_maaws_HEAT";
            backpack = "B_Carryall_cbr";
            addItemsToUniform[] = {
                LIST_5("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50"
            };
            addItemsToVest[] = {
                LIST_3("rhs_mag_30Rnd_556x45_Mk318_Stanag"),
                "SmokeShell"
            };
            addItemsToBackpack[] = {
                "rhs_mag_maaws_HEAT"
            };
        };

        // heavy at ammo carrier
        class Soldier_AAT_F: Soldier_F {
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("rhs_mag_maaws_HEAT")
            };
        };

        class Soldier_LAT_F: Soldier_F {
            secondaryWeapon = "rhs_weap_m72a7";
            addItemsToUniform[] = {
                LIST_5("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP"),
                "rhs_m72a7_mag"
            };
        };

        class Medic_F: Soldier_F {
            backpack = "SMM_Kitbag_BW_FT";
            addItemsToBackpack[] = {
                LIST_10("ACE_fieldDressing"),
                LIST_10("ACE_morphine"),
                LIST_10("ACE_epinephrine"),
                LIST_8("ACE_bloodIV_250"),
                LIST_2("HandGrenade")
            };
        };
        class Soldier_TL_F: Soldier_F {
            gps = "ItemGPS";
            primaryWeapon = "rhs_weap_hk416d10_m320";
            underBarrelMagazine = "1Rnd_Smoke_Grenade_shell";
            addItemsToUniform[] = {
                LIST_7("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_4("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP"),
                "ACE_key_west"
            };
            addItemsToVest[] = {
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP"),
                LIST_2("rhs_mag_m67"),
                LIST_2("SmokeShell"),
                LIST_3("rhs_mag_30Rnd_556x45_Mk318_Stanag"),
                LIST_5("1Rnd_SmokeGreen_Grenade_shell"),
                LIST_5("1Rnd_SmokeRed_Grenade_shell"),
                LIST_2("1Rnd_Smoke_Grenade_shell")
            };
            addItemsToBackpack[] = {
                LIST_5("rhs_mag_30Rnd_556x45_Mk318_Stanag")
            };
        };
        class Soldier_SL_F: Soldier_TL_F {
            backpack = "TFAR_rt1523g_sage";
            addItemsToUniform[] = {
                LIST_7("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_4("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP"),
                "ACE_key_west"
            };
        };
        class officer_F: Soldier_SL_F {};
        class Crew_F {};
        class Helipilot_F: Crew_F {};
    };
};
class bwGM {
    class AllUnits {
        primaryWeapon = "gm_g3a3_oli";
        primaryWeaponMagazine = "gm_20rnd_762x51mm_b_t_dm21a1_g3_blk";
        primaryWeaponPointer = "";
        primaryWeaponOptics = "";
        handgunWeapon = "";
        handgunWeaponMagazine = "";
        uniform = "gm_ge_army_uniform_soldier_80_oli";
        vest = "gm_dk_army_vest_54_rifleman";
        backpack = "gm_ge_army_backpack_80_oli";
        headgear = "gm_ge_headgear_m62_net";
        binoculars = "gm_ferod16_oli";
        map = "ItemMap";
        radio = "TFAR_rf7800str";
        compass = "gm_ge_army_conat2";
        watch = "gm_watch_kosei_80";
        nvgoggles = "";
    };

    class Type {
        class Soldier_F {
            gps = "";
            addItemsToUniform[] = {
                LIST_7("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                "ACE_key_west"
            };
            addItemsToVest[] = {
                LIST_6("gm_20rnd_762x51mm_b_t_dm21a1_g3_blk"),
                LIST_2("gm_handgrenade_frag_dm51"),
                LIST_2("gm_smokeshell_wht_dm25")
            };
        };
        class Engineer_F: Soldier_F{
            vest = "gm_ge_army_vest_80_demolition";
            backpack = "gm_ge_backpack_satchel_80_blk";
            addItemsToBackpack[] = {
                "toolkit",
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                "grad_axe",
                "ACE_EntrenchingTool",
                "ACE_DefusalKit"
            };
        };
        class HeavyGunner_F: Soldier_F {
            primaryWeapon = "gm_mg3_blk";
            primaryWeaponMagazine = "gm_120rnd_762x51mm_b_t_dm21a1_mg3_grn";
            vest = "gm_ge_army_vest_80_machinegunner";
            addItemsToUniform[] = {
                LIST_5("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50"
            };
            addItemsToVest[] = {
                "gm_handgrenade_frag_dm51",
                "gm_smokeshell_wht_dm25",
                LIST_2("gm_120rnd_762x51mm_b_t_dm21a1_mg3_grn")
            };
            addItemsToBackpack[] = {
                LIST_2("gm_120rnd_762x51mm_b_t_dm21a1_mg3_grn")
            };
        };
        class Soldier_AR_F: Soldier_F {
            primaryWeapon = "gm_mg3_blk";
            primaryWeaponMagazine = "gm_120rnd_762x51mm_b_t_dm21a1_mg3_grn";
            vest = "gm_ge_army_vest_80_machinegunner";
            addItemsToUniform[] = {
                LIST_5("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50"
            };
            addItemsToVest[] = {
                "gm_handgrenade_frag_dm51",
                LIST_2("gm_smokeshell_wht_dm25"),
                LIST_2("gm_120rnd_762x51mm_b_t_dm21a1_mg3_grn")
            };
            addItemsToBackpack[] = {
                LIST_2("gm_120rnd_762x51mm_b_t_dm21a1_mg3_grn")
            };
        };
        class Soldier_AAR_F: Soldier_F {
            addItemsToUniform[] = {
                LIST_5("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50"
            };
            addItemsToBackpack[] = {
                LIST_2("gm_120rnd_762x51mm_b_t_dm21a1_mg3_grn")
            };
        };

        class Soldier_A_F: Soldier_F {
            addItemsToVest[] = {
                LIST_8("gm_20rnd_762x51mm_b_t_dm21a1_g3_blk"),
                LIST_2("gm_handgrenade_frag_dm51"),
                LIST_2("gm_smokeshell_wht_dm25")
            };
            addItemsToBackpack[] = {
                LIST_2("gm_120rnd_762x51mm_b_t_dm21a1_mg3_grn")
            };
        };

        // heavy at
        class Soldier_AT_F: Soldier_F {
            vest = "gm_ge_army_vest_80_demolition";
            secondaryWeapon = "gm_pzf84_oli";
            secondaryWeaponMagazine = "gm_1rnd_84x245mm_heat_t_dm12a1_carlgustaf";
            backpack = "B_Carryall_cbr";
            addItemsToUniform[] = {
                LIST_5("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50"
            };
            addItemsToVest[] = {
                LIST_3("gm_20rnd_762x51mm_b_t_dm21a1_g3_blk"),
                "gm_smokeshell_wht_dm25"
            };
            addItemsToBackpack[] = {
                "gm_1rnd_84x245mm_heat_t_dm12a1_carlgustaf"
            };
        };

        // heavy at ammo carrier
        class Soldier_AAT_F: Soldier_F {
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("gm_1rnd_84x245mm_heat_t_dm12a1_carlgustaf")
            };
        };

        class Soldier_LAT_F: Soldier_F {
            vest = "gm_ge_army_vest_80_demolition";
            secondaryWeapon = "gm_pzf44_2_oli";
            secondaryWeaponMagazine = "gm_1rnd_44x537mm_heat_dm32_pzf44_2";
            addItemsToUniform[] = {
                LIST_5("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                "gm_1rnd_84x245mm_heat_t_dm12a1_carlgustaf"
            };
        };

        class Medic_F: Soldier_F {
            headgear = "gm_ge_headgear_m62";
            vest = "gm_ge_army_vest_80_medic";
            backpack = "gm_ge_backpack_satchel_80_san";
            addItemsToBackpack[] = {
                LIST_10("ACE_fieldDressing"),
                LIST_10("ACE_morphine"),
                LIST_10("ACE_epinephrine"),
                LIST_8("ACE_bloodIV_250"),
                LIST_2("gm_handgrenade_frag_dm51")
            };
        };
        class Soldier_TL_F: Soldier_F {
            headgear = "gm_ge_headgear_m62";
            vest = "gm_ge_army_vest_80_leader";
            handgunWeapon = "gm_p2a1_blk";
            handgunWeaponMagazine = "gm_1Rnd_265mm_smoke_single_yel_DM19";
            addItemsToUniform[] = {
                LIST_7("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_4("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                "ACE_key_west"
            };
            addItemsToVest[] = {
                LIST_2("gm_handgrenade_frag_dm51"),
                LIST_2("gm_smokeshell_wht_dm25"),
                LIST_3("gm_20rnd_762x51mm_b_t_dm21a1_g3_blk")
            };
            addItemsToBackpack[] = {
                LIST_5("gm_20rnd_762x51mm_b_t_dm21a1_g3_blk"),
                LIST_2("gm_1Rnd_265mm_flare_single_grn_DM11"),
                LIST_2("gm_1Rnd_265mm_flare_single_red_DM13"),
                LIST_2("gm_1Rnd_265mm_smoke_single_yel_DM19"),
                LIST_2("gm_1Rnd_265mm_smoke_single_org_DM22"),
                LIST_2("gm_1Rnd_265mm_smoke_single_vlt_DM24"),
                LIST_2("gm_1Rnd_265mm_flare_single_wht_DM15")
            };
        };
        class Soldier_SL_F: Soldier_TL_F {
            backpack = "TFAR_rt1523g_green";
            addItemsToUniform[] = {
                LIST_7("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_4("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                "ACE_key_west"
            };
        };
        class officer_F: Soldier_SL_F {};
        class Crew_F {
            vest = "gm_ge_army_vest_80_crew";
        };
        class Helipilot_F: Crew_F {};
    };
};class mudscha {
    class AllUnits {
        primaryWeapon = "rhs_weap_m70b1";
        primaryWeaponMagazine = "rhs_30Rnd_762x39mm";
        primaryWeaponMuzzle = "";
        primaryWeaponPointer = "";
        primaryWeaponOptics = "";
        handgunWeapon = "";
        handgunWeaponMagazine = "";
        uniform[] = {   "LOP_U_AM_Fatigue_01",
                        "LOP_U_AM_Fatigue_01_2",
                        "LOP_U_AM_Fatigue_01_3",
                        "LOP_U_AM_Fatigue_01_4",
                        "LOP_U_AM_Fatigue_01_5",
                        "LOP_U_AM_Fatigue_01_6",
                        "LOP_U_AM_Fatigue_02",
                        "LOP_U_AM_Fatigue_02_2",
                        "LOP_U_AM_Fatigue_02_3",
                        "LOP_U_AM_Fatigue_02_4",
                        "LOP_U_AM_Fatigue_02_5",
                        "LOP_U_AM_Fatigue_02_6",
                        "LOP_U_AM_Fatigue_03",
                        "LOP_U_AM_Fatigue_03_2",
                        "LOP_U_AM_Fatigue_03_3",
                        "LOP_U_AM_Fatigue_03_4",
                        "LOP_U_AM_Fatigue_03_5",
                        "LOP_U_AM_Fatigue_03_6",
                        "LOP_U_AM_Fatigue_04",
                        "LOP_U_AM_Fatigue_04_2",
                        "LOP_U_AM_Fatigue_04_3",
                        "LOP_U_AM_Fatigue_04_4",
                        "LOP_U_AM_Fatigue_04_5",
                        "LOP_U_AM_Fatigue_04_6"
        };
        vest = "V_BandollierB_khk";
        backpack = "rhs_sidor";
        headgear[] = { 
                        "LOP_H_Turban",
                        "LOP_H_Turban",
                        "LOP_H_Pakol",
                        "LOP_H_Pakol",
                        "LOP_H_Pakol",
                        "LOP_H_Pakol"
        };
        binoculars = "Binocular";
        map = "ItemMap";
        radio = "TFAR_fadak";
        compass = "ItemCompass";
        watch = "ItemWatch";
        nvgoggles = "";
        gps = "";
        goggles[] = {
                        "TRYK_Beard_BK",
                        "TRYK_Beard_BK2",
                        "TRYK_Beard_BK3",
                        "TRYK_Beard_BK4",
                        "TRYK_Beard_BW",
                        "TRYK_Beard_BK",
                        "TRYK_Beard_BK",
                        "TRYK_Beard_BK"
        };
    };

    class Type {
        class Soldier_F {
            addItemsToUniform[] = {
                LIST_7("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_KSF1",
                "ACE_key_east"
            };
            addItemsToVest[] = {
                "SmokeShell",
                LIST_6("rhs_30Rnd_762x39mm"),
                LIST_2("rhs_mag_rgd5"),
                LIST_2("rhs_mag_rdg2_white")
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine")
            };
        };
        class Engineer_F: Soldier_F {
            addItemsToVest[] = {
                "SmokeShell",
                LIST_7("rhs_30Rnd_762x39mm"),
                LIST_2("rhs_mag_rgd5"),
                LIST_2("rhs_mag_rdg2_white")
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                "grad_axe",
                "ACE_EntrenchingTool",
                "ACE_DefusalKit"
            };
        };

        class HeavyGunner_F: Soldier_F {
            primaryWeapon = "rhs_weap_pkm";
            primaryWeaponMuzzle = "";
            primaryWeaponMagazine = "rhs_100Rnd_762x54mmR_green";
            primaryWeaponPointer = "";
            primaryWeaponOptics = "";
            vest = "V_BandollierB_khk";
            addItemsToVest[] = {
                LIST_2("rhs_mag_rgd5"),
                LIST_2("rhs_mag_rdg2_white"),
                "rhs_100Rnd_762x54mmR_green"
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("rhs_100Rnd_762x54mmR_green")
            };
        };
        class Soldier_AHAT_F: Soldier_F {
            backpack = "rhs_rpg_empty";
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("rhs_rpg7_PG7VR_mag")
            };
        };
        class Soldier_AR_F: Soldier_F {
            primaryWeapon = "rhs_weap_m70b1";
            primaryWeaponPointer = "";
            primaryWeaponOptics = "";
            primaryWeaponMagazine = "rhs_75Rnd_762x39mm_tracer";
            primaryWeaponMuzzle = "";
            backpack = "rhs_sidor";
            addItemsToVest[] = {
                LIST_2("rhs_mag_rgd5"),
                LIST_2("rhs_mag_rdg2_white"),
                LIST_2("rhs_mag_rgd5"),
                "rhs_75Rnd_762x39mm_tracer"
            };
            addItemsToBackpack[] = {
                LIST_4("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_8("rhs_75Rnd_762x39mm_tracer")
            };
        };

        class Soldier_AAR_F: Soldier_F {
            addItemsToVest[] = {
                LIST_2("rhs_mag_rgd5"),
                LIST_2("rhs_mag_rdg2_white"),
                LIST_2("rhs_mag_rgd5"),
                "rhs_100Rnd_762x54mmR_green"
            };
        };
        //AT
        // gm_gc_army_antitank_mpiak74n_rpg7_80_str
        class Soldier_AT_F: Soldier_F {
            secondaryWeapon = "rhs_weap_rpg7";
            secondaryWeaponMagazine = "rhs_rpg7_PG7VR_mag";
            backpack = "rhs_rpg_empty";
            vest = "V_BandollierB_khk";
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                "rhs_rpg7_PG7VR_mag"
            };
        };
        class Soldier_A_F: Soldier_F {
            backpack = "rhs_sidor";
            addItemsToUniform[] = {
                "ACE_fieldDressing",
                "ACE_MapTools",
                "ACE_Flashlight_KSF1"
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_4("rhs_100Rnd_762x54mmR_green")
            };
        };


        // no rpg26 equivalent in GM, so only 1 shot for him
        class Soldier_LAT_F: Soldier_F {
            secondaryWeapon = "rhs_weap_rpg7";
            backpack = "rhs_rpg_empty";
            addItemsToVest[] = {
                "SmokeShell",
                LIST_7("rhs_30Rnd_762x39mm"),
                LIST_2("rhs_mag_rgd5"),
                LIST_2("rhs_mag_rdg2_white"),
                "rhs_rpg7_PG7VR_mag"
            };
        };

        class Medic_F: Soldier_F {
            backpack = "rhs_sidor";
            addItemsToBackpack[] = {
                LIST_10("ACE_fieldDressing"),
                LIST_10("ACE_morphine"),
                LIST_10("ACE_epinephrine"),
                LIST_8("ACE_bloodIV_250"),
                LIST_2("rhs_mag_rgd5")
            };
        };
        class Soldier_TL_F: Soldier_F {
            backpack = "TFAR_mr6000l";
            addItemsToUniform[] = {
                LIST_7("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                "ACE_key_east"
            };
            addItemsToVest[] = {
                LIST_2("rhs_mag_rdg2_white"),
                LIST_2("rhs_mag_rgd5"),
                LIST_5("rhs_30Rnd_762x39mm")
            };
            addItemsToBackpack[] = {
                "ACE_Flashlight_KSF1",
                LIST_2("ACE_tourniquet"),
                "rhs_mag_rdg2_white",
                LIST_3("rhs_30Rnd_762x39mm"),
            };
        };
        class Soldier_SL_F: Soldier_TL_F {};
        class officer_F: Soldier_SL_F {};
        class Crew_F {};
        class Helipilot_F: Crew_F {};
    };
};class nvaGM {
    class AllUnits {
        primaryWeapon = "gm_mpiak74n_brn";
        primaryWeaponMagazine = "gm_30rnd_545x39mm_b_7n6_ak74_prp";
        primaryWeaponMuzzle = "";
        primaryWeaponPointer = "";
        primaryWeaponOptics = "";
        handgunWeapon = "";
        handgunWeaponMagazine = "";
        uniform = "gm_gc_army_uniform_soldier_80_str";
        vest = "gm_gc_army_vest_80_rifleman_str";
        backpack = "gm_gc_army_backpack_80_assaultpack_str";
        headgear = "gm_gc_army_headgear_m56_net";
        binoculars = "gm_df7x40_blk";
        map = "ItemMap";
        radio = "TFAR_pnr1000a";
        compass = "gm_gc_compass_f73";
        watch = "gm_watch_kosei_80";
        nvgoggles = "";
        gps = "";
    };

    class Type {
        class Soldier_F {
            addItemsToUniform[] = {
                LIST_7("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_KSF1",
                "ACE_key_east"
            };
            addItemsToVest[] = {
                "SmokeShell",
                LIST_6("gm_30rnd_545x39mm_b_7n6_ak74_prp"),
                LIST_2("gm_handgrenade_frag_rgd5"),
                LIST_2("gm_smokeshell_wht_gc")
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine")
            };
        };
        class Engineer_F: Soldier_F {
            backpack = "gm_gc_army_backpack_80_assaultpack_lmg_str";
            addItemsToVest[] = {
                "SmokeShell",
                LIST_7("gm_30rnd_545x39mm_b_7n6_ak74_prp"),
                LIST_2("gm_handgrenade_frag_rgd5"),
                LIST_2("gm_smokeshell_wht_gc")
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                "grad_axe",
                "ACE_EntrenchingTool",
                "ACE_DefusalKit"
            };
        };

        class HeavyGunner_F: Soldier_F {
            primaryWeapon = "gm_hmgpkm_prp";
            primaryWeaponMuzzle = "";
            primaryWeaponMagazine = "gm_100rnd_762x54mm_b_t_t46_pk_grn";
            primaryWeaponPointer = "";
            primaryWeaponOptics = "";
            vest = "gm_gc_army_vest_80_lmg_str";
            backpack = "gm_gc_army_backpack_80_assaultpack_lmg_str";
            addItemsToVest[] = {
                LIST_2("gm_handgrenade_frag_rgd5"),
                LIST_2("gm_smokeshell_wht_gc"),
                "gm_100rnd_762x54mm_b_t_t46_pk_grn"
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("gm_100rnd_762x54mm_b_t_t46_pk_grn")
            };
        };
        class Soldier_AHAT_F: Soldier_F {
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("gm_1rnd_40mm_heat_pg7v_rpg7")
            };
        };
        class Soldier_AR_F: Soldier_F {
            primaryWeapon = "gm_lmgrpk74n_prp";
            primaryWeaponPointer = "";
            primaryWeaponOptics = "";
            primaryWeaponMagazine = "gm_45rnd_545x39mm_b_7n6_ak74_prp";
            primaryWeaponMuzzle = "";
            backpack = "gm_gc_army_backpack_80_lmg_str";
            addItemsToVest[] = {
                LIST_2("gm_handgrenade_frag_rgd5"),
                LIST_2("gm_smokeshell_wht_gc"),
                LIST_2("gm_handgrenade_frag_rgd5"),
                "gm_45rnd_545x39mm_b_7n6_ak74_prp"
            };
            addItemsToBackpack[] = {
                LIST_4("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_8("gm_45rnd_545x39mm_b_7n6_ak74_prp")
            };
        };

        class Soldier_AAR_F: Soldier_F {
            addItemsToVest[] = {
                LIST_2("gm_handgrenade_frag_rgd5"),
                LIST_2("gm_smokeshell_wht_gc"),
                LIST_2("gm_handgrenade_frag_rgd5"),
                "gm_100rnd_762x54mm_b_t_t46_pk_grn"
            };
        };
        //AT
        // gm_gc_army_antitank_mpiak74n_rpg7_80_str
        class Soldier_AT_F: Soldier_F {
            secondaryWeapon = "gm_rpg7_prp";
            secondaryWeaponMagazine = "gm_1rnd_40mm_heat_pg7v_rpg7";
            backpack = "gm_gc_army_backpack_80_at_str";
            vest = "gm_gc_army_vest_80_at_str";
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                "gm_1rnd_40mm_heat_pg7v_rpg7"
            };
        };
        class Soldier_A_F: Soldier_F {
            backpack = "gm_gc_army_backpack_80_lmg_str";
            addItemsToUniform[] = {
                "ACE_fieldDressing",
                "ACE_MapTools",
                "ACE_Flashlight_KSF1"
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_4("gm_100rnd_762x54mm_b_t_t46_pk_grn")
            };
        };


        // no rpg26 equivalent in GM, so only 1 shot for him
        class Soldier_LAT_F: Soldier_F {
            secondaryWeapon = "gm_rpg7_prp";
            backpack = "gm_gc_army_backpack_80_at_str";
            addItemsToVest[] = {
                "SmokeShell",
                LIST_7("gm_30rnd_545x39mm_b_7n6_ak74_prp"),
                LIST_2("gm_handgrenade_frag_rgd5"),
                LIST_2("gm_smokeshell_wht_gc"),
                "gm_1rnd_40mm_heat_pg7v_rpg7"
            };
        };

        class Medic_F: Soldier_F {
            headgear = "gm_gc_army_headgear_m56_cover_str";
            backpack = "gm_gc_army_backpack_80_assaultpack_str";
            addItemsToBackpack[] = {
                LIST_10("ACE_fieldDressing"),
                LIST_10("ACE_morphine"),
                LIST_10("ACE_epinephrine"),
                LIST_8("ACE_bloodIV_250"),
                LIST_2("gm_handgrenade_frag_rgd5")
            };
        };
        class Soldier_TL_F: Soldier_F {
            headgear = "gm_gc_army_headgear_m56";
            handgunWeapon = "gm_lp1_blk";
            handgunWeaponMagazine = "gm_1Rnd_265mm_smoke_single_yel_gc";
            backpack = "TFAR_mr6000l";
            addItemsToUniform[] = {
                LIST_7("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                "ACE_key_east"
            };
            addItemsToVest[] = {
                LIST_2("gm_smokeshell_wht_gc"),
                LIST_2("gm_handgrenade_frag_rgd5"),
                LIST_5("gm_30rnd_545x39mm_b_7n6_ak74_prp")
            };
            addItemsToBackpack[] = {
                "ACE_Flashlight_KSF1",
                LIST_2("ACE_tourniquet"),
                "gm_smokeshell_wht_gc",
                LIST_3("gm_30rnd_545x39mm_b_7n6_ak74_prp"),
                LIST_2("gm_1Rnd_265mm_flare_single_grn_gc"),
                LIST_2("gm_1Rnd_265mm_flare_single_red_gc"),
                LIST_2("gm_1Rnd_265mm_smoke_single_yel_gc"),
                LIST_2("gm_1Rnd_265mm_smoke_single_blk_gc"),
                LIST_2("gm_1Rnd_265mm_smoke_single_blu_gc"),
                LIST_2("gm_1Rnd_265mm_flare_single_wht_gc")
            };
        };
        class Soldier_SL_F: Soldier_TL_F {};
        class officer_F: Soldier_SL_F {};
        class Crew_F {};
        class Helipilot_F: Crew_F {};
    };
};class rebels {
    class AllUnits {
        primaryWeapon = "rhs_weap_m70b1";
        primaryWeaponMagazine = "rhs_30Rnd_762x39mm";
        primaryWeaponMuzzle = "";
        primaryWeaponPointer = "";
        primaryWeaponOptics = "";
        handgunWeapon = "";
        handgunWeaponMagazine = "";
        uniform[] = {   "rhsgref_uniform_tigerstripe",
                        "rhsgref_uniform_woodland",
                        "rhsgref_uniform_woodland",
                        "rhsgref_uniform_flecktarn",
                        "rhsgref_uniform_woodland",
                        "rhsgref_uniform_woodland_olive",
                        "rhsgref_uniform_dpm",
                        "rhsgref_uniform_woodland",
                        "rhsgref_uniform_woodland",
                        "rhsgref_uniform_woodland_olive",
                        "rhsgref_uniform_woodland_olive",
                        "rhsgref_uniform_woodland",
                        "rhsgref_uniform_woodland",
                        "rhsgref_uniform_woodland",
                        "rhsgref_uniform_dpm_olive",
                        "rhsgref_uniform_flecktarn",
                        "rhsgref_uniform_tigerstripe",
                        "rhsgref_uniform_flecktarn",
                        "U_I_C_Soldier_Bandit_1_F",
                        "U_I_C_Soldier_Bandit_3_F",
                        "U_I_C_Soldier_Bandit_2_F",
                        "U_I_C_Soldier_Bandit_3_F",
                        "U_I_C_Soldier_Bandit_5_F",
                        "U_I_C_Soldier_Bandit_3_F",
                        "U_I_C_Soldier_Bandit_1_F",
                        "U_I_C_Soldier_Bandit_5_F",
                        "U_I_C_Soldier_Bandit_4_F",
                        "U_I_C_Soldier_Para_5_F",
                        "U_I_C_Soldier_Para_2_F",
                        "U_I_C_Soldier_Para_1_F",
                        "U_I_C_Soldier_Para_1_F",
                        "U_I_C_Soldier_Para_1_F",
                        "U_I_C_Soldier_Para_4_F",
                        "U_I_C_Soldier_Para_3_F",
                        "U_I_C_Soldier_Para_1_F",
                        "U_I_C_Soldier_Para_2_F",
                        "U_I_C_Soldier_Para_4_F"
        };
        vest[] = {
                        "V_TacVest_camo",
                        "V_TacVest_blk",
                        "V_TacVest_oli",
                        "V_BandollierB_rgr",
                        "V_Chestrig_blk",
                        "V_Chestrig_khk",
                        "V_BandollierB_blk",
                        "V_Chestrig_oli",
                        "V_TacVest_oli"
        };
        backpack = "rhs_sidor";
        headgear[] = { 
                        "H_Booniehat_tan",
                        "rhs_beanie_green",
                        "H_Cap_blk",
                        "H_Booniehat_oli",
                        "rhs_beanie_green",
                        "H_Booniehat_oli",
                        "rhs_beanie_green",
                        "H_Hat_brown"
        };
        binoculars = "Binocular";
        map = "ItemMap";
        radio = "TFAR_fadak";
        compass = "ItemCompass";
        watch = "ItemWatch";
        nvgoggles = "";
        gps = "";
        goggles[] = {
                        "TRYK_Beard_BK",
                        "TRYK_Beard_BK2",
                        "TRYK_Beard_BK3",
                        "TRYK_Beard_BK4",
                        "TRYK_Beard_BW",
                        "TRYK_Beard_BK",
                        "TRYK_Beard_BK",
                        "TRYK_Beard_BK"
        };
    };

    class Type {
        class Soldier_F {
            addItemsToUniform[] = {
                LIST_7("ACE_fieldDressing"),
                LIST_4("ACE_splint"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_KSF1",
                "ACE_key_east"
            };
            addItemsToVest[] = {
                "SmokeShell",
                LIST_6("rhs_30Rnd_762x39mm"),
                LIST_2("rhs_mag_rgd5"),
                LIST_2("rhs_mag_rdg2_white")
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine")
            };
        };
        class Engineer_F: Soldier_F {
            addItemsToVest[] = {
                "SmokeShell",
                LIST_7("rhs_30Rnd_762x39mm"),
                LIST_2("rhs_mag_rgd5"),
                LIST_2("rhs_mag_rdg2_white")
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                "grad_axe",
                "ACE_EntrenchingTool",
                "ACE_DefusalKit"
            };
        };

        class HeavyGunner_F: Soldier_F {
            primaryWeapon = "rhs_weap_pkm";
            primaryWeaponMuzzle = "";
            primaryWeaponMagazine = "rhs_100Rnd_762x54mmR_green";
            primaryWeaponPointer = "";
            primaryWeaponOptics = "";
            vest = "V_BandollierB_khk";
            addItemsToVest[] = {
                LIST_2("rhs_mag_rgd5"),
                LIST_2("rhs_mag_rdg2_white"),
                "rhs_100Rnd_762x54mmR_green"
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("rhs_100Rnd_762x54mmR_green")
            };
        };
        class Soldier_AHAT_F: Soldier_F {
            backpack = "rhs_rpg_empty";
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("rhs_rpg7_PG7VR_mag")
            };
        };
        class Soldier_AR_F: Soldier_F {
            primaryWeapon = "rhs_weap_m70b1";
            primaryWeaponPointer = "";
            primaryWeaponOptics = "";
            primaryWeaponMagazine = "rhs_75Rnd_762x39mm_tracer";
            primaryWeaponMuzzle = "";
            backpack = "rhs_sidor";
            addItemsToVest[] = {
                LIST_2("rhs_mag_rgd5"),
                LIST_2("rhs_mag_rdg2_white"),
                LIST_2("rhs_mag_rgd5"),
                "rhs_75Rnd_762x39mm_tracer"
            };
            addItemsToBackpack[] = {
                LIST_4("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_8("rhs_75Rnd_762x39mm_tracer")
            };
        };

        class Soldier_AAR_F: Soldier_F {
            addItemsToVest[] = {
                LIST_2("rhs_mag_rgd5"),
                LIST_2("rhs_mag_rdg2_white"),
                LIST_2("rhs_mag_rgd5"),
                "rhs_100Rnd_762x54mmR_green"
            };
        };
        //AT
        // gm_gc_army_antitank_mpiak74n_rpg7_80_str
        class Soldier_AT_F: Soldier_F {
            secondaryWeapon = "rhs_weap_rpg7";
            secondaryWeaponMagazine = "rhs_rpg7_PG7VR_mag";
            backpack = "rhs_rpg_empty";
            vest = "V_BandollierB_khk";
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                "rhs_rpg7_PG7VR_mag"
            };
        };
        class Soldier_A_F: Soldier_F {
            backpack = "rhs_sidor";
            addItemsToUniform[] = {
                "ACE_fieldDressing",
                "ACE_MapTools",
                "ACE_Flashlight_KSF1"
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_4("rhs_100Rnd_762x54mmR_green")
            };
        };


        // no rpg26 equivalent in GM, so only 1 shot for him
        class Soldier_LAT_F: Soldier_F {
            secondaryWeapon = "rhs_weap_rpg7";
            backpack = "rhs_rpg_empty";
            addItemsToVest[] = {
                "SmokeShell",
                LIST_7("rhs_30Rnd_762x39mm"),
                LIST_2("rhs_mag_rgd5"),
                LIST_2("rhs_mag_rdg2_white"),
                "rhs_rpg7_PG7VR_mag"
            };
        };

        class Medic_F: Soldier_F {
            backpack = "rhs_sidor";
            addItemsToBackpack[] = {
                LIST_10("ACE_fieldDressing"),
                LIST_10("ACE_morphine"),
                LIST_10("ACE_epinephrine"),
                LIST_8("ACE_bloodIV_250"),
                LIST_2("rhs_mag_rgd5")
            };
        };
        class Soldier_TL_F: Soldier_F {
            backpack = "TFAR_mr6000l";
            addItemsToUniform[] = {
                LIST_7("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                "ACE_key_east"
            };
            addItemsToVest[] = {
                LIST_2("rhs_mag_rdg2_white"),
                LIST_2("rhs_mag_rgd5"),
                LIST_5("rhs_30Rnd_762x39mm")
            };
            addItemsToBackpack[] = {
                "ACE_Flashlight_KSF1",
                LIST_2("ACE_tourniquet"),
                "rhs_mag_rdg2_white",
                LIST_3("rhs_30Rnd_762x39mm"),
            };
        };
        class Soldier_SL_F: Soldier_TL_F {};
        class officer_F: Soldier_SL_F {};
        class Crew_F {};
        class Helipilot_F: Crew_F {};
    };
};class russia {
    class AllUnits {
        primaryWeapon = "rhs_weap_ak105_zenitco01_b33";
        primaryWeaponMagazine = "rhs_30Rnd_545x39_7N10_AK";
        primaryWeaponMuzzle = "rhs_acc_dtk1";
        primaryWeaponPointer = "rhs_acc_perst3";
        primaryWeaponOptics = "rhs_acc_1p87";
        handgunWeapon = "rhs_weap_pya";
        handgunWeaponMagazine = "rhs_mag_9x19_17";
        uniform = "rhs_uniform_flora_patchless_alt";
        vest = "rhs_6b13_6sh92_vog";
        backpack = "rhs_assault_umbts";
        headgear = "rhs_6b26";
        binoculars = "Binocular";
        map = "ItemMap";
        radio = "TFAR_fadak";
        compass = "ItemCompass";
        watch = "ItemWatch";
        nvgoggles = "";
        gps = "";
    };

    class Type {
        class Soldier_F {
            addItemsToUniform[] = {
                LIST_7("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_KSF1",
                LIST_2("rhs_mag_9x19_17"),
                "ACE_key_east"
            };
            addItemsToVest[] = {
                "SmokeShell",
                LIST_6("rhs_30Rnd_545x39_7N10_AK"),
                LIST_2("rhs_mag_rgd5"),
                LIST_2("rhs_mag_rdg2_white")
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine")
            };
        };
        class Engineer_F: Soldier_F {
            backpack = "rhssaf_kitbag_smb";
            addItemsToVest[] = {
                "SmokeShell",
                LIST_7("rhs_30Rnd_545x39_7N10_AK"),
                LIST_2("rhs_mag_rgd5"),
                LIST_2("rhs_mag_rdg2_white")
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                "toolkit",
                "ACE_EntrenchingTool",
                "ACE_DefusalKit"
            };
        };

        class HeavyGunner_F: Soldier_F {
            primaryWeapon = "rhs_weap_pkp";
            primaryWeaponMuzzle = "";
            primaryWeaponMagazine = "rhs_100Rnd_762x54mmR_green";
            primaryWeaponPointer = "";
            primaryWeaponOptics = "rhs_acc_ekp8_02";
            vest = "rhs_6b13_6sh92_vog";
            backpack = "rhssaf_kitbag_smb";
            addItemsToVest[] = {
                LIST_2("rhs_mag_rgd5"),
                LIST_2("rhs_mag_rdg2_white"),
                "rhs_100Rnd_762x54mmR_green"
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("rhs_100Rnd_762x54mmR_green")
            };
        };
        class Soldier_AHAT_F: Soldier_F {
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("rhs_rpg7_PG7V_mag")
            };
        };
        class Soldier_AR_F: Soldier_F {
            primaryWeapon = "rhs_weap_akmn";
            primaryWeaponPointer = "";
            primaryWeaponOptics = "rhs_acc_pkas";
            primaryWeaponMagazine = "rhs_75Rnd_762x39mm_tracer";
            primaryWeaponMuzzle = "";
            backpack = "rhssaf_kitbag_smb";
            addItemsToVest[] = {
                LIST_2("HandGrenade"),
                LIST_2("rhs_mag_rdg2_white"),
                LIST_2("rhs_mag_rgd5"),
                "rhs_75Rnd_762x39mm_tracer"
            };
            addItemsToBackpack[] = {
                LIST_4("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_8("rhs_75Rnd_762x39mm_tracer")
            };
        };

        class Soldier_AAR_F: Soldier_F {
            addItemsToVest[] = {
                LIST_2("HandGrenade"),
                LIST_2("rhs_mag_rdg2_white"),
                LIST_2("rhs_mag_rgd5"),
                "rhs_75Rnd_762x39mm_tracer"
            };
        };
        //AT
        class Soldier_AT_F: Soldier_F {
            secondaryWeapon = "rhs_weap_rpg7";
            secondaryWeaponMagazine = "rhs_rpg7_PG7V_mag";
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                "rhs_rpg7_PG7V_mag"
            };
        };
        class Soldier_A_F: Soldier_F {
            backpack = "rhssaf_kitbag_smb";
            addItemsToUniform[] = {
                "ACE_fieldDressing",
                "ACE_MapTools",
                "ACE_Flashlight_KSF1",
                LIST_2("rhs_mag_9x19_17")
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_4("rhs_100Rnd_762x54mmR_green")
            };
        };

        class Soldier_LAT_F: Soldier_F {
            secondaryWeapon = "rhs_weap_rpg26";
            backpack = "rhs_assault_umbts";
            addItemsToVest[] = {
                "SmokeShell",
                LIST_7("rhs_30Rnd_545x39_7N10_AK"),
                LIST_2("rhs_mag_rgd5"),
                LIST_2("rhs_mag_rdg2_white"),
                "rhs_rpg26_mag"
            };
        };

        class Medic_F: Soldier_F {
            addItemsToBackpack[] = {
                LIST_10("ACE_fieldDressing"),
                LIST_10("ACE_morphine"),
                LIST_10("ACE_epinephrine"),
                LIST_8("ACE_bloodIV_250"),
                LIST_2("HandGrenade")
            };
        };
        class Soldier_TL_F: Soldier_F {
            gps = "ItemGPS";
            primaryWeapon = "rhs_weap_ak103_gp25_npz";
            primaryWeaponPointer = "";
            primaryWeaponMagazine = "rhs_30Rnd_762x39mm_polymer_tracer";
            handgunWeapon = "rhs_weap_pya";
            handgunWeaponMagazine = "rhs_mag_9x19_17";
            underBarrelMagazine = "rhs_VG40MD_White";
            backpack = "TFAR_mr3000_rhs";
            addItemsToUniform[] = {
                LIST_7("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("rhs_mag_9x19_17"),
                "ACE_key_east"
            };
            addItemsToVest[] = {
                LIST_2("rhs_mag_rdg2_white"),
                LIST_2("rhs_mag_rgd5"),
                LIST_5("rhs_30Rnd_762x39mm_polymer_tracer")
            };
            addItemsToBackpack[] = {
                "ACE_Flashlight_KSF1",
                LIST_2("ACE_tourniquet"),
                "rhs_mag_rdg2_white",
                LIST_3("rhs_30Rnd_762x39mm_polymer_tracer"),
                LIST_2("rhs_VG40MD_Green"),
                LIST_2("rhs_VG40MD_Red"),
                "rhs_VG40MD_White"
            };
        };
        class Soldier_SL_F: Soldier_TL_F {};
        class officer_F: Soldier_SL_F {};
        class Crew_F {};
        class Helipilot_F: Crew_F {};
    };
};
class sovjetGM {
    class AllUnits {
        primaryWeapon = "gm_mpiak74n_brn";
        primaryWeaponMagazine = "gm_30rnd_545x39mm_b_7n6_ak74_prp";
        primaryWeaponMuzzle = "";
        primaryWeaponPointer = "";
        primaryWeaponOptics = "";
        handgunWeapon = "";
        handgunWeaponMagazine = "";
        uniform = "gm_gc_army_uniform_soldier_80_str";
        vest = "gm_gc_army_vest_80_rifleman_str";
        backpack = "gm_gc_army_backpack_80_assaultpack_str";
        headgear = "gm_gc_army_headgear_m56_net";
        binoculars = "gm_df7x40_blk";
        map = "ItemMap";
        radio = "TFAR_anprc152";
        compass = "gm_gc_compass_f73";
        watch = "gm_watch_kosei_80";
        nvgoggles = "";
        gps = "";
    };

    class Type {
        class Soldier_F {
            addItemsToUniform[] = {
                LIST_7("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_3("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                LIST_4("ACE_splint"),
                "ACE_MapTools",
                "ACE_Flashlight_KSF1",
                "ACE_key_west"
            };
            addItemsToVest[] = {
                "SmokeShell",
                LIST_6("gm_30rnd_545x39mm_b_7n6_ak74_prp"),
                LIST_2("gm_handgrenade_frag_rgd5"),
                LIST_2("gm_smokeshell_wht_gc")
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine")
            };
        };
        class Engineer_F: Soldier_F {
            backpack = "gm_gc_army_backpack_80_assaultpack_lmg_str";
            addItemsToVest[] = {
                "SmokeShell",
                LIST_7("gm_30rnd_545x39mm_b_7n6_ak74_prp"),
                LIST_2("gm_handgrenade_frag_rgd5"),
                LIST_2("gm_smokeshell_wht_gc")
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                "grad_axe",
                "ACE_EntrenchingTool",
                "ACE_DefusalKit"
            };
        };

        class HeavyGunner_F: Soldier_F {
            primaryWeapon = "gm_hmgpkm_prp";
            primaryWeaponMuzzle = "";
            primaryWeaponMagazine = "gm_100rnd_762x54mm_b_t_t46_pk_grn";
            primaryWeaponPointer = "";
            primaryWeaponOptics = "";
            vest = "gm_gc_army_vest_80_lmg_str";
            backpack = "gm_gc_army_backpack_80_assaultpack_lmg_str";
            addItemsToVest[] = {
                LIST_2("gm_handgrenade_frag_rgd5"),
                LIST_2("gm_smokeshell_wht_gc"),
                "gm_100rnd_762x54mm_b_t_t46_pk_grn"
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("gm_100rnd_762x54mm_b_t_t46_pk_grn")
            };
        };
        class Soldier_AHAT_F: Soldier_F {
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("gm_1rnd_40mm_heat_pg7v_rpg7")
            };
        };
        class Soldier_AR_F: Soldier_F {
            primaryWeapon = "gm_lmgrpk74n_prp";
            primaryWeaponPointer = "";
            primaryWeaponOptics = "";
            primaryWeaponMagazine = "gm_45rnd_545x39mm_b_7n6_ak74_prp";
            primaryWeaponMuzzle = "";
            backpack = "gm_gc_army_backpack_80_lmg_str";
            addItemsToVest[] = {
                LIST_2("gm_handgrenade_frag_rgd5"),
                LIST_2("gm_smokeshell_wht_gc"),
                LIST_2("gm_handgrenade_frag_rgd5"),
                "gm_45rnd_545x39mm_b_7n6_ak74_prp"
            };
            addItemsToBackpack[] = {
                LIST_4("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_8("gm_45rnd_545x39mm_b_7n6_ak74_prp")
            };
        };

        class Soldier_AAR_F: Soldier_F {
            addItemsToVest[] = {
                LIST_2("gm_handgrenade_frag_rgd5"),
                LIST_2("gm_smokeshell_wht_gc"),
                LIST_2("gm_handgrenade_frag_rgd5"),
                "gm_100rnd_762x54mm_b_t_t46_pk_grn"
            };
        };
        //AT
        // gm_gc_army_antitank_mpiak74n_rpg7_80_str
        class Soldier_AT_F: Soldier_F {
            secondaryWeapon = "gm_rpg7_prp";
            secondaryWeaponMagazine = "gm_1rnd_40mm_heat_pg7v_rpg7";
            backpack = "gm_gc_army_backpack_80_at_str";
            vest = "gm_gc_army_vest_80_at_str";
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                "gm_1rnd_40mm_heat_pg7v_rpg7"
            };
        };
        class Soldier_A_F: Soldier_F {
            backpack = "gm_gc_army_backpack_80_lmg_str";
            addItemsToUniform[] = {
                "ACE_fieldDressing",
                "ACE_MapTools",
                "ACE_Flashlight_KSF1"
            };
            addItemsToBackpack[] = {
                LIST_6("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_4("gm_100rnd_762x54mm_b_t_t46_pk_grn")
            };
        };


        // no rpg26 equivalent in GM, so only 1 shot for him
        class Soldier_LAT_F: Soldier_F {
            secondaryWeapon = "gm_rpg7_prp";
            backpack = "gm_gc_army_backpack_80_at_str";
            addItemsToVest[] = {
                "SmokeShell",
                LIST_7("gm_30rnd_545x39mm_b_7n6_ak74_prp"),
                LIST_2("gm_handgrenade_frag_rgd5"),
                LIST_2("gm_smokeshell_wht_gc"),
                "gm_1rnd_40mm_heat_pg7v_rpg7"
            };
        };

        class Medic_F: Soldier_F {
            headgear = "gm_gc_army_headgear_m56_cover_str";
            backpack = "gm_gc_army_backpack_80_assaultpack_str";
            addItemsToBackpack[] = {
                LIST_10("ACE_fieldDressing"),
                LIST_10("ACE_morphine"),
                LIST_10("ACE_epinephrine"),
                LIST_8("ACE_bloodIV_250"),
                LIST_2("gm_handgrenade_frag_rgd5")
            };
        };
        class Soldier_TL_F: Soldier_F {
            headgear = "gm_gc_army_headgear_m56";
            handgunWeapon = "gm_lp1_blk";
            handgunWeaponMagazine = "gm_1Rnd_265mm_smoke_single_yel_gc";
            backpack = "TFAR_rt1523g_sage";
            addItemsToUniform[] = {
                LIST_7("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                "ACE_key_west"
            };
            addItemsToVest[] = {
                LIST_2("gm_smokeshell_wht_gc"),
                LIST_2("gm_handgrenade_frag_rgd5"),
                LIST_5("gm_30rnd_545x39mm_b_7n6_ak74_prp")
            };
            addItemsToBackpack[] = {
                "ACE_Flashlight_KSF1",
                LIST_2("ACE_tourniquet"),
                "gm_smokeshell_wht_gc",
                LIST_3("gm_30rnd_545x39mm_b_7n6_ak74_prp"),
                LIST_2("gm_1Rnd_265mm_flare_single_grn_gc"),
                LIST_2("gm_1Rnd_265mm_flare_single_red_gc"),
                LIST_2("gm_1Rnd_265mm_smoke_single_yel_gc"),
                LIST_2("gm_1Rnd_265mm_smoke_single_blk_gc"),
                LIST_2("gm_1Rnd_265mm_smoke_single_blu_gc"),
                LIST_2("gm_1Rnd_265mm_flare_single_wht_gc")
            };
        };
        class Soldier_SL_F: Soldier_TL_F {};
        class officer_F: Soldier_SL_F {};
        class Crew_F {};
        class Helipilot_F: Crew_F {};
    };
};class USA {
    class AllUnits {
        primaryWeapon = "rhs_weap_m4a1_carryhandle";
        primaryWeaponMagazine = "rhs_mag_30Rnd_556x45_M855A1_Stanag";
        primaryWeaponPointer = "acc_flashlight";
        primaryWeaponOptics = "rhsusf_acc_eotech_xps3";
        handgunWeapon = "rhsusf_weap_m9";
        handgunWeaponMagazine = "rhsusf_mag_15Rnd_9x19_JHP";
        uniform = "rhs_uniform_FROG01_wd";
        vest = "rhsusf_mbav_rifleman";
        backpack = "rhsusf_assault_eagleaiii_coy";
        headgear = "rhsusf_lwh_helmet_marpatwd_headset_blk2";
        binoculars = "Binocular";
        map = "ItemMap";
        radio = "TFAR_anprc152";
        compass = "ItemCompass";
        watch = "ItemWatch";
        nvgoggles = "";
    };

    class Type {
        class Soldier_F {
            gps = "";
            addItemsToUniform[] = {
                LIST_8("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP"),
                "ACE_key_west"
            };
            addItemsToVest[] = {
                LIST_8("rhs_mag_30Rnd_556x45_M855A1_Stanag"),
                LIST_2("rhs_mag_m67"),
                LIST_2("SmokeShell")
            };
        };
        // Engineer
        class Engineer_F: Soldier_F{
            backpack = "rhssaf_kitbag_smb";
            addItemsToBackpack[] = {
                "toolkit",
                "ACE_EntrenchingTool",
                "ACE_DefusalKit",
                "ACE_wirecutter",
                LIST_3("ACE_FlareTripMine_Mag")
            };
        };
        // Engineer SL
        class Engineer_SL_F: Engineer_F{
            gps = "ItemGPS";
            backpack = "TFAR_rt1523g_sage";
            addItemsToBackpack[] = {
                "toolkit",
                "ACE_EntrenchingTool",
                "ACE_DefusalKit"
            };
            addItemsToUniform[] = {
                LIST_8("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP"),
                "ACE_key_west"
            };
        };
        // Medium MG (M240B)
        class HeavyGunner_F: Soldier_F {
            primaryWeapon = "rhs_weap_m240B";
            primaryWeaponMagazine = "rhsusf_100Rnd_762x51_m62_tracer";
            addItemsToUniform[] = {
                LIST_8("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50"
            };
            addItemsToVest[] = {
                LIST_2("rhs_mag_m67"),
                LIST_2("SmokeShell"),
                LIST_2("rhsusf_100Rnd_762x51_m62_tracer")
            };
            addItemsToBackpack[] = {
                LIST_3("rhsusf_100Rnd_762x51_m62_tracer")
            };
        };
        // Machine Gunner (M249)
        class Soldier_AR_F: Soldier_F {
            primaryWeapon = "rhs_weap_m249_pip_S";
            primaryWeaponMagazine = "rhsusf_200rnd_556x45_M855_mixed_box";
            addItemsToUniform[] = {
                LIST_8("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP")
            };
            addItemsToVest[] = {
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP"),
                LIST_2("rhs_mag_m67"),
                LIST_2("SmokeShell"),
                "rhsusf_200rnd_556x45_M855_mixed_box"
            };
            addItemsToBackpack[] = {
                LIST_4("rhsusf_200rnd_556x45_M855_mixed_box")
            };
        };
        // Ammo Bearer (M240B) ??? Nicht verbaut!!
        class Soldier_AAR_F: Soldier_F {
            addItemsToUniform[] = {
                LIST_8("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP")
            };
            addItemsToBackpack[] = {
                LIST_6("rhsusf_100Rnd_762x51_m62_tracer")
            };
        };
        
        // Ammo Bearer (M240B)
        class Soldier_A_F: Soldier_F {
            addItemsToVest[] = {
                LIST_8("rhs_mag_30Rnd_556x45_M855A1_Stanag"),
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP"),
                LIST_2("rhs_mag_m67"),
                LIST_2("SmokeShell")
            };
            addItemsToBackpack[] = {
                LIST_6("rhsusf_100Rnd_762x51_m62_tracer")
            };
        };

        // Heavy AT (Carl Gustav)
        class Soldier_AT_F: Soldier_F {
            secondaryWeapon = "rhs_weap_maaws";
            secondaryWeaponMagazine = "rhs_mag_maaws_HEAT";
            addItemsToUniform[] = {
                LIST_8("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50"
            };
            addItemsToBackpack[] = {
                LIST_2("rhs_mag_maaws_HEAT")
            };
        };

        // HAT Ammo Carrier
        class Soldier_AAT_F: Soldier_F {
            addItemsToBackpack[] = {
                LIST_2("rhs_mag_maaws_HEAT")
            };
        };
      
        // LAT-Specialist (M72A7)
        class Soldier_LAT_F: Soldier_F {
            secondaryWeapon = "rhs_weap_m72a7";
            addItemsToUniform[] = {
                LIST_8("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP"),
                "rhs_m72a7_mag"
            };
        };
        // Medic
        class Medic_F: Soldier_F {
            addItemsToBackpack[] = {
                LIST_40("ACE_fieldDressing"),
                LIST_20("ACE_morphine"),
                LIST_20("ACE_epinephrine"),
                LIST_20("ACE_bloodIV_250"),
                LIST_10("ACE_bloodIV_500"),
                LIST_5("SmokeShell")
            };
        };
        // TeamLeader
        class Soldier_TL_F: Soldier_F {
            gps = "ItemGPS";
            primaryWeapon = "rhs_weap_m4a1_carryhandle_m203S";
            underBarrelMagazine = "1Rnd_Smoke_Grenade_shell";
            addItemsToUniform[] = {
                LIST_8("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP"),
                "ACE_key_west"
            };
            addItemsToVest[] = {
                LIST_2("rhs_mag_m67"),
                LIST_2("SmokeShell"),
                LIST_3("rhs_mag_30Rnd_556x45_M855A1_Stanag"),
                LIST_5("1Rnd_SmokeGreen_Grenade_shell"),
                LIST_5("1Rnd_SmokeRed_Grenade_shell"),
                LIST_2("1Rnd_Smoke_Grenade_shell")
            };
            addItemsToBackpack[] = {
                LIST_10("rhs_mag_30Rnd_556x45_M855A1_Stanag")
            };
        };
        // SquadLeader
        class Soldier_SL_F: Soldier_TL_F {
            backpack = "TFAR_rt1523g_sage";
            addItemsToUniform[] = {
                LIST_8("ACE_fieldDressing"),
                LIST_2("ACE_epinephrine"),
                LIST_2("ACE_morphine"),
                LIST_2("ACE_tourniquet"),
                "ACE_MapTools",
                "ACE_Flashlight_XL50",
                LIST_2("rhsusf_mag_15Rnd_9x19_JHP"),
                "ACE_key_west"
            };
        };
        class officer_F: Soldier_SL_F {};
        class Crew_F {};
        class Helipilot_F: Crew_F {};
    };
};
#include "factions\russia.hpp"
#include "factions\usa.hpp"

#include "factions\bwGM.hpp"
#include "factions\nvaGM.hpp"

#include "factions\bwFle.hpp"

#include "factions\mudscha.hpp"
#include "factions\sovjetGM.hpp"

#include "factions\rebels.hpp"BUYABLES_OPFOR_INDEX = ["BUYABLES_OPFOR", -1] call BIS_fnc_getParamValue;
BUYABLES_BLUFOR_INDEX = ["BUYABLES_BLUFOR", -1] call BIS_fnc_getParamValue;

// make sure you use same identifier for loadout as for buyable

private _factionsBlufor = "getText (_x >> 'side') == 'Blufor'" configClasses (missionConfigFile >> "CfgGradBuymenu");
private _buyablesBlufor = (_factionsBlufor select BUYABLES_BLUFOR_INDEX);

private _factionsOpfor = "getText (_x >> 'side') == 'Opfor'" configClasses (missionConfigFile >> "CfgGradBuymenu");
private _buyablesOpfor =  (_factionsOpfor select BUYABLES_OPFOR_INDEX);

private _loadoutsBlufor = [(_buyablesBlufor >> "loadout"), "text", ""] call CBA_fnc_getConfigEntry;
private _loadoutsOpfor = [(_buyablesOpfor >> "loadout"), "text", ""] call CBA_fnc_getConfigEntry;
diag_log format ["setting loadout to %1 vs %2", _loadoutsOpfor, _loadoutsBlufor];

["BLU_F", _loadoutsBlufor] call GRAD_Loadout_fnc_FactionSetLoadout;
["OPF_F", _loadoutsOpfor] call GRAD_Loadout_fnc_FactionSetLoadout;class RU_Desert {
     class AllUnits {
          primaryWeapon = "rhs_weap_akm";
          primaryWeaponMagazine = "rhs_30Rnd_762x39mm";          
          handgunWeapon = "hgun_Rook40_F";
          handgunWeaponMagazine = "16Rnd_9x21_Mag";
          uniform = "rhs_uniform_flora_patchless_alt";
          addItemsToUniform[] = {"rhs_acc_2dpZenit", LIST_6("ACE_fieldDressing"), LIST_2("ACE_morphine"), "ACE_epinephrine", "ACE_Flashlight_MX991", "ACE_key_east", "ACE_MapTools", LIST_2("Chemlight_red"), LIST_2("16Rnd_9x21_Mag")};
          headgear = "rhs_6b27m_ml";
          radio = "tfar_fadak";
     };
     class Type {
          class Soldier_F {
               vest = "rhs_6b23_ML_sniper";
               addItemsToVest[] = {"SmokeShell", "SmokeShellRed", LIST_2("rhs_mag_rgd5")};
               backpack = "rhs_sidor";
               addItemsToBackpack[] = {LIST_10("rhs_30Rnd_762x39mm")};
          };
          class Soldier_AR_F {
               primaryWeapon = "rhs_weap_pkm";
               primaryWeaponMagazine = "rhs_100Rnd_762x54mmR_green";
               vest = "rhs_6b23_ML_vydra_3m";
               addItemsToVest[] = {"rhs_100Rnd_762x54mmR_green", LIST_2("SmokeShell"), LIST_2("SmokeShellRed"), "rhs_mag_rgd5"};
               backpack = "rhs_sidor";
               addItemsToBackpack[] = {"rhs_100Rnd_762x54mmR", "rhs_100Rnd_762x54mmR_green"};
          };
          class Soldier_AT_F {
               secondaryWeapon = "rhs_weap_rpg7";
               vest = "rhs_6b23_ML_6sh92";
               addItemsToVest[] = {LIST_8("rhs_30Rnd_762x39mm"), LIST_2("SmokeShell")};
               backpack = "rhs_rpg_empty";
               addItemsToBackpack[] = {LIST_2("rhs_rpg7_PG7VL_mag")};
          };
          class Soldier_A_F {
               vest = "rhs_6b23_ML_sniper";
               addItemsToVest[] = {LIST_4("rhs_30Rnd_762x39mm"), LIST_2("rhs_30Rnd_762x39mm_tracer")};
               backpack = "rhs_sidor";
               addItemsToBackpack[] = {LIST_2("rhs_100Rnd_762x54mmR_green"), "rhs_100Rnd_762x54mmR"};
               binoculars = "Binocular";
               map = "ItemMap";
               radio = "tfar_fadak";
               compass = "ItemCompass";
               watch = "ItemWatch";
          };
          class Medic_F {
               vest = "rhs_6b23_ML_medic";
               addItemsToVest[] = {LIST_4("rhs_30Rnd_762x39mm"), LIST_4("rhs_30Rnd_762x39mm_tracer")};
               backpack = "rhs_sidor";
               addItemsToBackpack[] = {LIST_10("ACE_fieldDressing"), LIST_10("ACE_morphine"), LIST_10("ACE_epinephrine"), LIST_8("ACE_bloodIV_250"), LIST_2("rhs_mag_rgd5")};
          };
          class Soldier_TL_F {
               primaryWeapon = "rhs_weap_akm_gp25";
               vest = "rhs_6b23_ML_6sh92_radio";
               addItemsToVest[] = {LIST_4("rhs_30Rnd_762x39mm"), LIST_3("rhs_30Rnd_762x39mm_tracer"), "SmokeShell"};
               backpack = "TFAR_mr3000_multicam";
               addItemsToBackpack[] = {LIST_2("rhs_mag_rgd5"), LIST_4("rhs_GRD40_White"), LIST_2("rhs_GRD40_Green"), LIST_2("rhs_GRD40_Red"), LIST_3("rhs_VG40OP_green"), LIST_2("rhs_VG40OP_white")};
               gps = "ItemGPS";
          };
          class Soldier_SL_F: Soldier_TL_F {
               vest = "rhs_6b23_ML_6sh92_vog_headset";
               headgear = "rhs_fieldcap_ml";
          };
          class officer_F: Soldier_SL_F {};
          class Crew_F {
               vest = "rhs_6b23_ML_crew";
               addItemsToVest[] = {LIST_4("rhs_30Rnd_762x39mm"), LIST_2("rhs_30Rnd_762x39mm_tracer")};
               backpack = "rhs_sidor";
               addItemsToBackpack[] = {};
               headgear = "rhs_tsh4";
          };
     };
};

class RU_Woodland: RU_Desert {
     class AllUnits: AllUnits {
          uniform = "rhs_uniform_msv_emr";
          headgear = "rhs_6b27m_digi";
     };
     class Type: Type {
          class Soldier_F: Soldier_F {
               vest = "rhs_6b23_digi_sniper";
          };
          class Soldier_AR_F: Soldier_AR_F {
               vest = "rhs_6b23_digi_vydra_3m";
          };
          class Soldier_AT_F : Soldier_AT_F{
               vest = "rhs_6b23_digi_6sh92";
          };
          class Soldier_A_F: Soldier_A_F {
               vest = "rhs_6b23_digi_sniper";
          };
          class Medic_F: Medic_F {
               vest = "rhs_6b23_digi_medic";
          };
          class Soldier_TL_F: Soldier_TL_F {
               vest = "rhs_6b23_digi_6sh92_radio";
               backpack = "TFAR_mr3000_rhs";
          };
          class Soldier_SL_F: Soldier_TL_F {
               vest = "rhs_6b23_6sh116";
               headgear = "rhs_fieldcap_digi";
          };
          class officer_F: Soldier_SL_F {};
          class Crew_F: Crew_F {
               vest = "rhs_6b23_digi_crew";
          };
     };
};// russian helmets, US helmets
[
    {
        _value = param [0];
        if (_value == "rhs_6b27m_digi") then {
            _value = selectRandom [
                "rhs_6b27m_digi",
                "rhs_6b27m_digi_bala"
            ];
        } else { if (_value == "rhsusf_mich_helmet_marpatwd") then {
            _value = selectRandom [
                "rhsusf_mich_helmet_marpatwd",
                "rhsusf_mich_helmet_marpatwd_alt",
                "rhsusf_mich_helmet_marpatwd_norotos_arc",
                "rhsusf_mich_helmet_marpatwd_norotos_arc_headset",
                "rhsusf_mich_helmet_marpatwd_norotos_headset",
                "rhsusf_mich_helmet_marpatwd_headset"
            ];
        } else { if (_value == "rhsusf_mich_helmet_marpatd_headset") then {
            _value = selectRandom [
                "rhsusf_mich_helmet_marpatd_headset",
                "rhsusf_mich_helmet_marpatd_norotos_arc",
                "rhsusf_mich_helmet_marpatd_norotos_arc_headset",
                "rhsusf_mich_helmet_marpatd_norotos_headset",
                "rhsusf_mich_helmet_marpatd_alt_headset"
            ];
        };};};
        _value
    },
    "headgear"
] call GRAD_Loadout_fnc_addReviver;

// US M4a1 and M249 variants
[
    {
        _value = param [0];
        if (_value == "rhs_weap_m4a1_carryhandle") then {
            _value =  selectRandom [
            	"rhs_weap_m4a1_carryhandle",
                "rhs_weap_m4a1_carryhandle_mstock"
            ];
        } else { if (_value == "rhs_weap_m249_pip_L") then {
            _value = selectRandom [
                "rhs_weap_m249_pip_L",
                "rhs_weap_m249_pip_L_para",
                "rhs_weap_m249_pip_L_vfg",
                "rhs_weap_m249_pip_S",
                "rhs_weap_m249_pip_S_para",
                "rhs_weap_m249_pip_S_vfg"
            ];
        };};
        _value
    },
    "primaryWeapon"
] call GRAD_Loadout_fnc_addReviver;


// mudschaheddin headgear, uniforms, beards
[
    {
        _value = param [0];
        if (_value == "LOP_H_Turban") then {
            _value = selectRandom [
                "LOP_H_Turban",
                "LOP_H_Turban",
                "LOP_H_Pakol",
                "LOP_H_Pakol",
                "LOP_H_Pakol",
                "LOP_H_Pakol"
            ];
        };
        _value
    },
    "headgear"
] call GRAD_Loadout_fnc_addReviver;

[
    {
        _value = param [0];
        if (_value == "LOP_U_AM_Fatigue_01") then {
            _value =  selectRandom [
                "LOP_U_AM_Fatigue_01",
                "LOP_U_AM_Fatigue_01_2",
                "LOP_U_AM_Fatigue_01_3",
                "LOP_U_AM_Fatigue_01_4",
                "LOP_U_AM_Fatigue_01_5",
                "LOP_U_AM_Fatigue_01_6",
                "LOP_U_AM_Fatigue_02",
                "LOP_U_AM_Fatigue_02_2",
                "LOP_U_AM_Fatigue_02_3",
                "LOP_U_AM_Fatigue_02_4",
                "LOP_U_AM_Fatigue_02_5",
                "LOP_U_AM_Fatigue_02_6",
                "LOP_U_AM_Fatigue_03",
                "LOP_U_AM_Fatigue_03_2",
                "LOP_U_AM_Fatigue_03_3",
                "LOP_U_AM_Fatigue_03_4",
                "LOP_U_AM_Fatigue_03_5",
                "LOP_U_AM_Fatigue_03_6",
                "LOP_U_AM_Fatigue_04",
                "LOP_U_AM_Fatigue_04_2",
                "LOP_U_AM_Fatigue_04_3",
                "LOP_U_AM_Fatigue_04_4",
                "LOP_U_AM_Fatigue_04_5",
                "LOP_U_AM_Fatigue_04_6"
            ];
        };
        _value
    },
    "uniform"
] call GRAD_Loadout_fnc_addReviver;

// randomize beards if possible
if (!(isClass (configfile >> "CfgGlasses" >> "TRYK_Beard"))) exitWith {};

[
    {
        _value = param [0];
        if (_value == "TRYK_Beard_BK") then {
            _value = selectRandom [
                "TRYK_Beard_BK",
                "TRYK_Beard_BK2",
                "TRYK_Beard_BK3",
                "TRYK_Beard_BK4",
                "TRYK_Beard_BW",
                "TRYK_Beard_BK",
                "TRYK_Beard_BK",
                "TRYK_Beard_BK"
            ];
        };
        _value
    },
    "facewear"
] call GRAD_Loadout_fnc_addReviver;
class US_Desert {
     class AllUnits {
        primaryWeapon = "rhs_weap_m4a1_carryhandle";
        primaryWeaponMagazine = "rhs_mag_30Rnd_556x45_M855A1_Stanag";
          handgunWeapon = "rhsusf_weap_glock17g4";
          handgunWeaponMagazine = "rhsusf_mag_17Rnd_9x19_JHP";
          uniform = "rhs_uniform_cu_ocp"; // differentiate desert/woodland
          addItemsToUniform[] = {"acc_flashlight", LIST_6("ACE_fieldDressing"), LIST_2("ACE_morphine"), "ACE_epinephrine", "ACE_Flashlight_KSF1", "ACE_key_west", "ACE_MapTools", LIST_2("Chemlight_blue"), LIST_2("rhsusf_mag_17Rnd_9x19_JHP")};
          vest = "rhsusf_iotv_ocp_Squadleader";
          backpack = "rhsusf_assault_eagleaiii_coy";
          headgear = "rhsusf_mich_helmet_marpatd_headset";
          radio = "TFAR_anprc152";
     };

     class Type {
          class Soldier_F {
               primaryWeaponOptics = "rhsusf_acc_eotech_xps3";
               vest = "rhsusf_iotv_ocp_Squadleader";
               addItemsToVest[] = {"SmokeShell", "SmokeShellRed", LIST_2("HandGrenade")};
               addItemsToBackpack[] = {LIST_6("rhs_mag_30Rnd_556x45_M855A1_Stanag"), LIST_7("rhs_mag_30Rnd_556x45_M855A1_Stanag_Tracer_Yellow")};
          };
          class Soldier_AR_F {
               primaryWeapon = "rhs_weap_m249_pip_L";
               primaryWeaponMagazine = "rhs_200rnd_556x45_M_SAW";
               vest = "rhsusf_iotv_ocp_Repair";
               addItemsToVest[] = {"rhs_200rnd_556x45_T_SAW", LIST_2("SmokeShell"), LIST_2("SmokeShellRed"), "HandGrenade"};
               addItemsToBackpack[] = {"rhs_200rnd_556x45_M_SAW", "rhs_200rnd_556x45_T_SAW"};
          };
          class Soldier_AT_F {
               secondaryWeapon = "rhs_weap_M136_hedp";
               vest = "rhsusf_iotv_ocp_Repair";
               addItemsToVest[] = {LIST_5("rhs_mag_30Rnd_556x45_M855A1_Stanag"), LIST_2("rhs_mag_30Rnd_556x45_M855A1_Stanag_Tracer_Yellow"), LIST_2("SmokeShell"), LIST_2("SmokeShellRed")};
               backpack = "B_Carryall_khk";
               addItemsToBackpack[] = {LIST_3("rhs_mag_30Rnd_556x45_M855A1_Stanag"), LIST_1("rhs_mag_30Rnd_556x45_M855A1_Stanag_Tracer_Yellow")};
          };
          class Soldier_A_F {
               primaryWeaponOptics = "rhsusf_acc_eotech_xps3";
               primaryWeaponUnderbarrel = "rhsusf_acc_grip1";
               vest = "rhsusf_iotv_ocp_Repair";
               addItemsToVest[] = {LIST_5("rhs_mag_30Rnd_556x45_M855A1_Stanag"), LIST_6("rhs_mag_30Rnd_556x45_M855A1_Stanag_Tracer_Yellow"), LIST_2("SmokeShell"), LIST_2("SmokeShellRed")};
               backpack = "B_Carryall_khk";
               addItemsToBackpack[] = {LIST_2("rhs_200rnd_556x45_T_SAW"), LIST_3("rhs_200rnd_556x45_M_SAW")};
          };
          class Medic_F {
               primaryWeaponOptics = "rhsusf_acc_eotech_xps3";
               vest = "rhsusf_iotv_ocp_Medic";
               addItemsToVest[] = {LIST_5("rhs_mag_30Rnd_556x45_M855A1_Stanag"), LIST_6("rhs_mag_30Rnd_556x45_M855A1_Stanag_Tracer_Yellow"), LIST_4("SmokeShell"), LIST_2("SmokeShellRed")};
               addItemsToBackpack[] = {LIST_10("ACE_fieldDressing"), LIST_10("ACE_morphine"), LIST_10("ACE_epinephrine"), LIST_8("ACE_bloodIV_250"), LIST_2("HandGrenade")};
          };
          class Soldier_TL_F {
               primaryWeapon = "rhs_weap_m4a1_m203s";
               primaryWeaponOptics = "rhsusf_acc_eotech_xps3";
               vest = "rhsusf_iotv_ocp_Teamleader";
               addItemsToVest[] = {LIST_5("rhs_mag_30Rnd_556x45_M855A1_Stanag"), LIST_6("rhs_mag_30Rnd_556x45_M855A1_Stanag_Tracer_Yellow"), LIST_4("SmokeShell"), LIST_2("SmokeShellRed"), LIST_2("HandGrenade")};
               backpack = "tfar_rt1523g_big_bwmod_tropen";
               addItemsToBackpack[] = {LIST_3("rhs_mag_M585_white"), LIST_2("rhs_mag_m662_red"), LIST_2("rhs_mag_m661_green"), LIST_3("rhs_mag_m713_Red"), LIST_3("rhs_mag_m714_White")};
               gps = "ItemGPS";
          };
          class Soldier_SL_F: Soldier_TL_F {
               vest = "rhsusf_iotv_ocp_Grenadier";
               headgear = "rhs_8point_marpatd";
          };
          class officer_F: Soldier_SL_F {};
          class Crew_F {
               primaryWeapon = "rhs_weap_m4a1_carryhandle_pmag";
               primaryWeaponOptics = "rhsusf_acc_eotech_xps3";
               vest = "rhsusf_iotv_ocp";
               addItemsToVest[] = {LIST_11("rhs_mag_30Rnd_556x45_M855A1_Stanag"), "SmokeShell"};
               addItemsToBackpack[] = {};
               headgear = "rhsusf_cvc_helmet";
          };
          class Helipilot_F: Crew_F {};
     };
};

class US_Woodland: US_Desert {
     class AllUnits: AllUnits {
          uniform = "rhs_uniform_FROG01_wd";
          vest = "rhsusf_spc";
          backpack = "rhsusf_assault_eagleaiii_coy";
          headgear = "rhsusf_mich_helmet_marpatwd";
     };

     class Type: Type {
          class Soldier_F: Soldier_F {
               vest = "rhsusf_spc";
          };
          class Soldier_AR_F: Soldier_AR_F {
               vest = "rhsusf_spc_mg";
          };
          class Soldier_AT_F: Soldier_AT_F {
               vest = "rhsusf_spc_patchless";
          };
          class Soldier_A_F: Soldier_A_F {
               vest = "rhsusf_spc_light";
          };
          class Medic_F: Medic_F {
               vest = "rhsusf_spc_corpsman";
          };
          class Soldier_TL_F: Soldier_TL_F {
               vest = "rhsusf_spc_marksman";
               backpack = "tfar_rt1523g_big_bwmod";
          };
          class Soldier_SL_F: Soldier_TL_F {
               vest = "rhsusf_spc_squadleader";
               headgear = "rhs_8point_marpatwd";
               backpack = "tfar_rt1523g_big_bwmod";
          };
          class officer_F: Soldier_SL_F {};
          class Crew_F: Crew_F {
               vest = "rhsusf_spc_crewman";
               headgear = "rhsusf_cvc_green_helmet";
          };
          class Helipilot_F: Crew_F {};
     };
};
class BC_objectives {

    class common {
        file = BC_objectives\functions\common;

        class init {postInit = 1; };

    };

	class player {
		file = BC_objectives\functions\player;

        class endConditionListener {};
	    class endMission {};
	    class preparationTimeCountdown {};

     };

    class server {
        file = BC_objectives\functions\server;

        class createTaskElimination {};
        class createTaskMain {};
        class loopConditions {};
        class removeTruckArmor {};
        class startPreparationTime {};
        class waitingForUnconscious {};

    };
};
// init needs to be spawned on server only
if (isServer) then {

    [] spawn {
        [{

            [PREPARATION_TIME] call BC_objectives_fnc_startPreparationTime;

            private _min = str ((["GRAD_TICKS_NEEDED", 2700] call BIS_fnc_getParamValue)/60);
            private _intervals = ["GRAD_INTERVALS_NEEDED", 1] call BIS_fnc_getParamValue;            

            [{
                params ["_intervals", "_min"];

                private _tasksMain = [_intervals, _min] call BC_objectives_fnc_createTaskMain;

                  [{
                    params ["_tasksMain"];
                    private _tasksElimination = [] call BC_objectives_fnc_createTaskElimination;

                    [_tasksMain, _tasksElimination] spawn BC_objectives_fnc_loopConditions;  

                }, [_tasksMain], 10] call CBA_fnc_waitAndExecute;

            }, [_intervals, _min], 10] call CBA_fnc_waitAndExecute;


        }, [], 10] call CBA_fnc_waitAndExecute;

    };

};

if (hasInterface) then {
    [{
          !isNil "TRANSMISSION_COMPLETE" &&
          !isNil "BLUFOR_CAPTURED" &&
          !isNil "BLUFOR_ELIMINATED" &&
          !isNil "OPFOR_ELIMINATED"
    },{
        call BC_objectives_fnc_endConditionListener;
    }, []] call CBA_fnc_waitUntilAndExecute;
};


// prevent bugging out on jip
[{
    !isNil "PREPARATION_TIME"  
},{
        // start replay record on server and init replay on client
    [{
        call GRAD_replay_fnc_init;
    }, [], PREPARATION_TIME] call CBA_fnc_waitAndExecute;    
}, []] call CBA_fnc_waitUntilAndExecute;#include "\z\ace\addons\main\script_component.hpp"
#include "..\..\..\missionMacros.h"


["serverDecisionEnd",
{
     params ["_winner", "_result"];

     _string = localize "str_GRAD_winmsg_points";
     [_string] call EFUNC(common,displayTextStructured);
     _transmissionPercentage = call GRAD_tracking_fnc_getTransmissionPercentage;
     missionNamespace setVariable ["BC_transmissionPercentage", str _transmissionPercentage];

     missionNamespace setVariable ["BC_missionResult", _result];
     missionNamespace setVariable ["BC_missionWinner", _winner];

     [_winner, _result] spawn BC_objectives_fnc_endMission;

}] call CBA_fnc_addEventHandler;
#include "..\..\..\missionMacros.h"

params ["_winner", "_result"];

uiSleep 3;

private _transmissionPercentage = missionNamespace getVariable ["BC_transmissionPercentage", "0"];

switch (_winner) do {
     case "west" : {
          ["<img size= '6' shadow='false' image='pic\gruppe-adler.paa'/><br/><t size='.7' color='#FFFFFF'>" + localize "str_GRAD_thankyouforplaying_blufor" + "</t><br /><t size='.5'>" + format [localize "str_GRAD_transmissionResult", _transmissionPercentage + "%",round (CBA_missionTime/60)] + "<br />" + localize "str_GRAD_thankyouforplaying2" + "</t>",0,0,5,1] spawn BIS_fnc_dynamicText;
          diag_log format ["winner west"];
     };
     case "east" : {
          ["<img size= '6' shadow='false' image='pic\gruppe-adler.paa'/><br/><t size='.7' color='#FFFFFF'>" + localize "str_GRAD_thankyouforplaying_opfor" + "</t><br /><t size='.5'>" + format [localize "str_GRAD_transmissionResult", _transmissionPercentage + "%",round (CBA_missionTime/60)] + "<br />" + localize "str_GRAD_thankyouforplaying2" + "</t>",0,0,5,1] spawn BIS_fnc_dynamicText;
          diag_log format ["winner east"];
     };
     case "draw" : {
          ["<img size= '6' shadow='false' image='pic\gruppe-adler.paa'/><br/><t size='.7' color='#FFFFFF'>" + localize "str_GRAD_thankyouforplaying_draw" + "</t><br /><t size='.5'>" + format [localize "str_GRAD_transmissionResult", _transmissionPercentage + "%",round (CBA_missionTime/60)] + "<br />" + localize "str_GRAD_thankyouforplaying2" + "</t>",0,0,5,1] spawn BIS_fnc_dynamicText;
          diag_log format ["winner draw"];
     };
     default {
          diag_log format ["error, no winner %1", _winner];
     };
};


[player, true] call TFAR_fnc_forceSpectator;

["GRAD_replay_preparingPlayback",
{
    MISSION_COMPLETED = true;
    publicVariable "MISSION_COMPLETED";
}] call CBA_fnc_addEventHandler;

["GRAD_replay_finished",
{
	private _result = missionNamespace getVariable ["BC_missionResult", "elimination"];
	private _winner = missionNamespace getVariable ["BC_missionWinner", "draw"];

	// TODO this is most ugly but necessary for debug currently
	switch (_result) do {
		case "elimination": {
			if (_winner == "east") then {
				"OpforWinsByElimination" call BIS_fnc_endMission;
			};
			if (_winner == "west") then {
				"BluforWinsByElimination" call BIS_fnc_endMission;
			};
			if (_winner != "east" && _winner != "west") then {
				"DrawError" call BIS_fnc_endMission;
			};
		};

		case "transmission": {
			"OpforWinsByTransmission" call BIS_fnc_endMission;
		};

		case "destroyed": {
			if (_winner == "east") then {
				"OpforWinsByBluforDestroyingTheTruck" call BIS_fnc_endMission;
			};
			if (_winner == "west") then {
				"BluforWinsByOpforDestroyingTheTruck" call BIS_fnc_endMission;
			};
			if (_winner != "east" && _winner != "west") then {
				"DrawRadioTruckDestroyed" call BIS_fnc_endMission;
			};
		};

		case "captured": {
			if (CONQUER_MODE) then {
				"BluforWinsByConquering" call BIS_fnc_endMission;
			} else {
				"BluforWinsByDestruction" call BIS_fnc_endMission;
			};
		};

		default { "DrawError" call BIS_fnc_endMission; };

		diag_log format ["side player is %1, _winner is %2", side player, _winner];
	};

}] call CBA_fnc_addEventHandler;
params [["_timeLeft",0]];

if (!hasInterface) exitWith {};

disableSerialization;
"grad_preparationTime" cutRsc ["grad_preparationTime", "PLAIN"];

private _textCtrl = uiNamespace getVariable ['grad_preparationTime',controlNull];
if (isNull _textCtrl) exitWith {};

private _message = if (_timeLeft > 0) then {
    "Game starts in: <br/>%1"
} else {
     playSound "TacticalPing";
     "<t size='1.2'>&#160;</t><br/><t color='#00ff00'>Game on!</t>";
     "<t valign='middle' size='2' color='#00ff00'>Game on!</t>";
};
_textCtrl ctrlSetStructuredText parseText format [_message,[_timeLeft,"MM:SS"] call BIS_fnc_secondsToString];
diag_log format ["creating elimination tasks"];

private _taskName = "opforTask2";
private _taskDescription = localize "str_GRAD_classicTaskDescriptionOpfor2";
private _taskTitle = localize "str_GRAD_classicTaskTitleEliminate";
private _areaMarkerName = "";

private _opforTask2 = [
     EAST,
     _taskName,
     [
          _taskDescription,
          _taskTitle,
          _areaMarkerName
     ],
     objNull,
     "AUTOASSIGNED",
     1,
     true,
     "destroy"
] call BIS_fnc_taskCreate;


private _taskName = "bluforTask2";
private _taskDescription = localize "str_GRAD_classicTaskDescriptionBlufor2";
private _taskTitle = localize "str_GRAD_classicTaskTitleEliminate";
private _areaMarkerName = "";

private _bluforTask2 = [
     WEST,
     _taskName,
     [
          _taskDescription,
          _taskTitle,
          _areaMarkerName
     ],
     objNull,
     "AUTOASSIGNED",
     1,
     true,
     "destroy"
] call BIS_fnc_taskCreate;

[_opforTask2, _bluforTask2]params ["_count", "_min"];

diag_log format ["creating main tasks"];

private _taskName = "opforTask1";
private _taskDescription = format [localize "str_GRAD_classicTaskDescriptionOpfor1",_count, _min];
private _taskTitle = format [localize "str_GRAD_classicTaskTitleOpfor1",_count, _min];
private _areaMarkerName = "";

private _opforTask1 = [
     EAST,
     _taskName,
     [
          _taskDescription,
          _taskTitle,
          _areaMarkerName
     ],
     objNull,
     "AUTOASSIGNED",
     2,
     true,
     "defend"
] call BIS_fnc_taskCreate;


private _taskName = "bluforTask1";
private _taskDescription = format [localize "str_GRAD_classicTaskDescriptionBlufor",_count, _min];
private _taskTitle = format [localize "str_GRAD_classicTaskTitleBlufor",_count, _min];
private _areaMarkerName = "";
private _type = "destroy";

if (CONQUER_MODE) then {
     _taskDescription = format [localize "str_GRAD_classicTaskDescriptionBlufor_conquermode", _count, _min];
     _taskTitle = format [localize "str_GRAD_classicTaskTitleBlufor_conquermode", _count, _min];
};

private _bluforTask1 = [
     WEST,
     _taskName,
     [
          _taskDescription,
          _taskTitle,
          _areaMarkerName
     ],
     objNull,
     "AUTOASSIGNED",
     2,
     true,
     "destroy"
] call BIS_fnc_taskCreate;

[_opforTask1, _bluforTask1]params ["_tasksMain", "_tasksElimination"];
_tasksMain params ["_taskOpfor1","_taskBlufor1"];
_tasksElimination params ["_taskOpfor2","_taskBlufor2"];

/* wait until truck exists */
waitUntil {sleep 1; !isNil "GRAD_TERMINAL_DESTROYED"};

[{
    params ["_args", "_handle"];
    _args params ["_taskBlufor1","_taskBlufor2","_taskOpfor1","_taskOpfor2"];



    /* detect all dead */
    OPFOR_PRE_ELIMINATED = ({side _x isEqualTo east && alive _x} count (switchableUnits + playableUnits) == 0);
    BLUFOR_PRE_ELIMINATED = ({side _x isEqualTo west && alive _x} count (switchableUnits + playableUnits) == 0);

    if (GRAD_TERMINAL_DESTROYED) then { 
        [] call GRAD_tracking_fnc_bluforCaptured; 
        ["serverDecisionEnd",["west", "captured"], allPlayers] call CBA_fnc_targetEvent;
    };

    if (OPFOR_PRE_ELIMINATED) then {["OPFOR_PRE_ELIMINATED"] spawn BC_objectives_fnc_waitingForUnconscious;};
    if (BLUFOR_PRE_ELIMINATED) then {["BLUFOR_PRE_ELIMINATED"] spawn BC_objectives_fnc_waitingForUnconscious;};

    /* opfor wins by transmission*/
    if (TRANSMISSION_COMPLETE) exitWith {
        [_handle] call CBA_fnc_removePerFrameHandler;

        call GRAD_replay_fnc_stopRecord;

        [_taskBlufor1,"FAILED",true] call BIS_fnc_taskSetState;
        [_taskBlufor2,"FAILED",true] call BIS_fnc_taskSetState;
        [_taskOpfor1,"SUCCEEDED",true] call BIS_fnc_taskSetState;
        [_taskOpfor2,"CANCELED",true] call BIS_fnc_taskSetState;

        ["serverDecisionEnd",["east", "transmission"], allPlayers] call CBA_fnc_targetEvent;
    };

    /* opfor wins by elimination*/
    if (BLUFOR_ELIMINATED) exitWith {
        [_handle] call CBA_fnc_removePerFrameHandler;

        call GRAD_replay_fnc_stopRecord;

        [_taskBlufor1,"FAILED",true] call BIS_fnc_taskSetState;
        [_taskBlufor2,"FAILED",true] call BIS_fnc_taskSetState;
        [_taskOpfor1,"CANCELED",true] call BIS_fnc_taskSetState;
        [_taskOpfor2,"SUCCEEDED",true] call BIS_fnc_taskSetState;

        ["serverDecisionEnd",["east", "elimination"], allPlayers] call CBA_fnc_targetEvent;
    };

    /* blufor wins by capture*/
    if (BLUFOR_CAPTURED) exitWith {
        [_handle] call CBA_fnc_removePerFrameHandler;

        call GRAD_replay_fnc_stopRecord;

        [_taskBlufor1,"SUCCEEDED",true] call BIS_fnc_taskSetState;
        [_taskBlufor2,"CANCELED",true] call BIS_fnc_taskSetState;
        [_taskOpfor1,"FAILED",true] call BIS_fnc_taskSetState;
        [_taskOpfor2,"FAILED",true] call BIS_fnc_taskSetState;

        ["serverDecisionEnd",["west", "captured"], allPlayers] call CBA_fnc_targetEvent;
    };

    /* blufor wins by elimination*/
    if (OPFOR_ELIMINATED) exitWith {
        [_handle] call CBA_fnc_removePerFrameHandler;

        call GRAD_replay_fnc_stopRecord;

        [_taskBlufor1,"CANCELED",true] call BIS_fnc_taskSetState;
        [_taskBlufor2,"SUCCEEDED",true] call BIS_fnc_taskSetState;
        [_taskOpfor1,"FAILED",true] call BIS_fnc_taskSetState;
        [_taskOpfor2,"FAILED",true] call BIS_fnc_taskSetState;

        ["serverDecisionEnd",["west", "elimination"], allPlayers] call CBA_fnc_targetEvent;
    };

    diag_log format ["looping condition for %1", TRUCK_DESTROYED_NOT_CONQUERED];

    if (TRUCK_DESTROYED_NOT_CONQUERED) exitWith {
         [_handle] call CBA_fnc_removePerFrameHandler;

        call GRAD_replay_fnc_stopRecord;

        _radioVeh = missionNameSpace getVariable ["GRAD_tracking_radioVehObj", objNull];
        _terminal = missionNameSpace getVariable ["GRAD_tracking_terminalObj", objNull];

        _killerSide = side (_radioVeh getVariable ["BC_lastDamageSource_causedBy", objNull]);

         switch (_killerSide) do {
              case west: {
                [_taskBlufor1,"FAILED",true] call BIS_fnc_taskSetState;
                [_taskBlufor2,"CANCELED",true] call BIS_fnc_taskSetState;
                [_taskOpfor1,"CANCELED",true] call BIS_fnc_taskSetState;
                [_taskOpfor2,"CANCELED",true] call BIS_fnc_taskSetState;

                ["serverDecisionEnd",["east", "destroyed"], allPlayers] call CBA_fnc_targetEvent;
              };
              case east: {
                [_taskBlufor1,"CANCELED",true] call BIS_fnc_taskSetState;
                [_taskBlufor2,"CANCELED",true] call BIS_fnc_taskSetState;
                [_taskOpfor1,"FAILED",true] call BIS_fnc_taskSetState;
                [_taskOpfor2,"CANCELED",true] call BIS_fnc_taskSetState;

                ["serverDecisionEnd",["west", "destroyed"], allPlayers] call CBA_fnc_targetEvent;
              };
              default {
                [_taskBlufor1,"CANCELED",true] call BIS_fnc_taskSetState;
                [_taskBlufor2,"CANCELED",true] call BIS_fnc_taskSetState;
                [_taskOpfor1,"CANCELED",true] call BIS_fnc_taskSetState;
                [_taskOpfor2,"CANCELED",true] call BIS_fnc_taskSetState;

                ["serverDecisionEnd",["draw", "destroyed"], allPlayers] call CBA_fnc_targetEvent;
              };
         };

    };

},11,[_taskBlufor1,_taskBlufor2,_taskOpfor1,_taskOpfor2]] call CBA_fnc_addPerFrameHandler;
params ["_truck"];

_elements = _truck getVariable ["BC_objectives_truckArmorElements", []];

{
     detach _x;
     deleteVehicle _x;
} forEach _elements;_this spawn {
    params [["_preparationTime",0]];

    while {_preparationTime > -1} do {
        [_preparationTime] remoteExec ["BC_objectives_fnc_preparationTimeCountdown",0,false];
        _preparationTime = _preparationTime - 1;
        sleep 1;
    };

    MISSION_STARTED = true;
    publicVariable "MISSION_STARTED";
};
params ["_varName"];

private ["_bool"];

for [{_i=0}, {_i<20}, {_i=_i+1}] do
{
     _bool = call compile _varName;
     if (!_bool) exitWith {};
     sleep 0.5;
};

if (_bool && _varName == "OPFOR_PRE_ELIMINATED") then {["OPFOR_ELIMINATED", true] call CBA_fnc_publicVariable};
if (_bool && _varName == "BLUFOR_PRE_ELIMINATED") then {["BLUFOR_ELIMINATED", true] call CBA_fnc_publicVariable};
#include "ui_toolkit.hpp"

#define CT_STRUCTURED_TEXT          13
#define ST_LEFT                     0x00


#define GRAD_PREPARATIONTIME_W      (X_SCALE * 0.20)
#define GRAD_PREPARATIONTIME_H      (Y_SCALE * 0.045)
#define GRAD_PREPARATIONTIME_X      (safeZoneX + safeZoneW - GRAD_PREPARATIONTIME_W)
#define GRAD_PREPARATIONTIME_Y      (safeZoneY + Y_SCALE * 0.5)

class grad_preparationTime {
    idd = -1;
    fadein = 0;
    fadeout = 1;
    duration = 2;

    enableSimulation = 1;
    enableDisplay = 1;

    class ControlsBackground {
        class Countdown {
            onLoad = "uiNamespace setVariable ['grad_preparationTime', _this select 0];";
            onUnload = "uiNamespace setVariable ['grad_preparationTime', controlNull];";

            idc = -1;
            access = 0;
            type = CT_STRUCTURED_TEXT;
            style = ST_LEFT;
            colorBackground[] = {0,0,0,0.85};

            size = 0.04 * TEXT_SCALE;
            text = "STARTZEIT: <br/>ASD";
            class Attributes {
                font = "PuristaLight";
                color = "#ffffff";
                align = "left";
                valign = "middle";
                shadow = false;
                shadowColor = "#ff0000";
                size = 1;
            };

            w = GRAD_PREPARATIONTIME_W;
            h = GRAD_PREPARATIONTIME_H;
            x = GRAD_PREPARATIONTIME_X;
            y = GRAD_PREPARATIONTIME_Y;
        };
    };
};
// ******************************************************************************************
// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *
// ******************************************************************************************
//  @file Name: ui_toolkit.hpp
//  @file Author: AgentRev

// Arma UI Mini Toolkit v1.0 by AgentRev

// Uncomment the define below if you want your UIs to scale according to the UI size selected by the user
//#define FOLLOW_UI_SIZE

// Uncomment the define below if you want your UIs to scale according to the resolution selected by the user
#define FOLLOW_RESOLUTION

// This is the percentage from the dev resolution that the UI must start compensating in order to stay at a reasonable size (ex: UI cannot get smaller than 75% from the dev resolution)
#define FOLLOW_RES_LOWER_CAP 0.75

// Effects:
// FOLLOW_UI_SIZE only = UI will be scaled according to the user's UI size, relative from UI_SIZE_DEV below, regardless of the resolution (not recommended)
// FOLLOW_RESOLUTION only = UI will be scaled according to the resolution, relative from RES_Y_DEV below, regardless of the user's UI size
// both commented = UI will be the same size in pixels across all UI sizes and resolutions
// both uncommented = UI will be scaled according to the resolution, then scaled according to the user's UI size

// ----- Interface size & resolution -----
#define UI_VSMALL 0.47
#define UI_SMALL 0.55
#define UI_NORMAL 0.7
#define UI_LARGE 0.85
#define UI_VLARGE 1.0

#define UI_SIZE_DEV UI_SMALL // If you want your text to stay the same size across all UI sizes, change this to your UI size
#define UI_SIZE (getResolution select 5) // Interface size selected in game options

#define RES_Y_DEV 1440 // If you want your UIs to stay the same size across all resolutions, change this to your game's resolution height
#define RES_Y (getResolution select 1) // Resolution height in pixels

// ----- Safezone & scales -----
#define SZ_LEFT safezoneX            // X left
#define SZ_RIGHT (1 - SZ_LEFT) // X right
#define SZ_TOP safezoneY             // Y top
#define SZ_BOTTOM (1 - SZ_TOP) // Y bottom

// Determine if UI & text scales are relative to UI size
#ifdef FOLLOW_UI_SIZE
    #define UI_SCALE (UI_SIZE / UI_SIZE_DEV) // Constant UI scale across all UI sizes
    #define TEXT_SCALE_UI 1 // Regular text scale
#else
    #define UI_SCALE 1 // Regular UI scale
    #define TEXT_SCALE_UI (UI_SIZE_DEV / UI_SIZE) // Compensate text scale against UI size
#endif

// Determine if UI scale is relative to resolution
#ifdef FOLLOW_RESOLUTION
    #define RES_SCALE (((RES_Y_DEV * FOLLOW_RES_LOWER_CAP) / RES_Y) max 1) // Regular UI scale, with lower cap
#else
    #define RES_SCALE (RES_Y_DEV / RES_Y) // Constant UI scale across all resolutions below dev resolution
#endif

#define TEXT_SCALE (TEXT_SCALE_UI * RES_SCALE) // Compensate text scale against resolution

// Set scales
#define SZ_SCALE_ABS (safezoneW min safezoneH)
#define SZ_SCALE (SZ_SCALE_ABS * RES_SCALE * UI_SCALE) // the smallest safezone is used for size ref (because W < H if ratio < 4/3)
#define X_SCALE (SZ_SCALE * 0.75) // cancels 4/3 ratio applied on X and W values by engine, so that X and Y have a uniform scale
#define Y_SCALE (SZ_SCALE * 1.0)

// Offsets
#define X_OFFSET 0
#define Y_OFFSET 0

// Positions relative to top left, plus above offsets
#define X_POS(VALUE) (SZ_LEFT + ((VALUE + X_OFFSET) * X_SCALE)) // stretches X value to full screen width
#define Y_POS(VALUE) (SZ_TOP + ((VALUE + Y_OFFSET) * Y_SCALE)) // stretches Y value to full screen height

// Function to find child offset relative to parent pos for centering inside
#define CENTER(PARENT_SIZE, CHILD_SIZE) ((PARENT_SIZE / 2) - (CHILD_SIZE / 2))
class BC_setup {

    class client {
        file = BC_setup\functions\client;

        class addBriefing;
        class addInteractions;
        class chooseSpawn;
        class createStartMarker;
        class establishingShot;
        class exitChooseSpawn;
        class initialSpawnClient;
        class isOnWater;
        class openSpawnDialog;
        class spectatorDraw3D;
        class streamator;
        class streamingSpectator;
        class teleportPlayer;
        class TFARsettings { preInit = 1; };
    };

  class server {
      file = BC_setup\functions\server;

        class defineWoodland { preInit = 1; };
        class findRandomPos;
        class fuelDrain;
        class getHighestRankOfSide;
        class getIslandCfgEntry {};
        class initialSpawnServer;
        class registerDynamicGroup;
        class removeFuelStations { postInit = 1; };
        class showLeaderInformation;
        class teleportAI;
    };
};
player createDiaryRecord ["Diary", ["Mission","<font size='20' color='#c0c0c0'>Mission</font><br/><br/>" + localize "str_GRAD_briefing_1" + "<br/><br/><br/><font size='20' color='#c0c0c0'>Vehicles</font><br/><br/>" + localize "str_GRAD_briefing_2"]];

player createDiaryRecord ["Diary", ["Story",localize "str_GRAD_story"]];
// FLAGS
if (!hasInterface) exitWith {};

// diag_log "added CBA eh";

["startVehicle", {

      params ["_startVehicle", "_side"];

      if (_side == west) exitWith {};

      // fnc is executed twice so we need to exit once to be super safe
      if (missionNamespace getVariable ["BC_interactionsAdded", false]) exitWith {};
      missionNamespace setVariable ["BC_interactionsAdded", true];


      private _type = typeOf _startVehicle;
     
      
      if (_side == east) then {
              {
               private _flagActionRaise = ["ACE_MainActions", (localize "str_GRAD_flag_raise"), "",
               {[(_this select 0), true] call BC_flagsOnVehicles_fnc_toggleFlag;},
                {(side player == east) && isNull ((_this select 0) getVariable ["GRAD_flagObject",objNull])}] call ace_interact_menu_fnc_createAction;

              [_x, 0, ["ACE_MainActions"], _flagActionRaise] call ace_interact_menu_fnc_addActionToClass;

              } forEach ["rhs_gaz66_r142_vv","rhs_tigr_m_vdv","rhs_tigr_m_3camo_vdv","rhsgref_cdf_b_reg_uaz_dshkm","rhsgref_nat_uaz_dshkm","rhs_gaz66_repair_vdv","gaz_funk","rhs_bmp1_msv","rhs_btr70_msv"];

              {
               private _flagActionRemove = ["ACE_MainActions", (localize "str_GRAD_flag_remove"), "",
               {[(_this select 0), false] call BC_flagsOnVehicles_fnc_toggleFlag;},
                {(side player == east) && !isNull ((_this select 0) getVariable ["GRAD_flagObject",objNull])}] call ace_interact_menu_fnc_createAction;

              [_x, 0, ["ACE_MainActions"], _flagActionRemove] call ace_interact_menu_fnc_addActionToClass;

              } forEach ["rhs_gaz66_r142_vv","rhs_tigr_m_vdv","rhs_tigr_m_3camo_vdv","rhsgref_cdf_b_reg_uaz_dshkm","rhsgref_nat_uaz_dshkm","rhs_gaz66_repair_vdv","gaz_funk","rhs_bmp1_msv","rhs_btr70_msv"];
            
            


            // RADIO TRUCK DEPLOY
            // rhs gaz has native deploy actions
            if (_type != "rhs_gaz66_r142_vv" && 
                _type != "gm_gc_army_btr60pu12_ols" &&
                _type != "gm_gc_army_btr60pu12_oli"
                ) then {
                  private _deployAction = [
                      "RusRadioDeploy",
                      (localize "str_GRAD_radio_deploy"),
                      "",
                      {
                          params ["_radiotruck"];

                          if (!MISSION_STARTED) exitWith {
                              hint "Please wait until Preparation Time is over.";
                          };

                          [_radiotruck] remoteExec ["GRAD_tracking_fnc_radioTruckDeploy", 2];
                      },
                      {
                          params ["_radiotruck"];
                          _isRetracted = ! (_radiotruck getVariable ["GRAD_isDeployed", false]);
                          _isStationary = (speed _radiotruck) == 0;
                          _isNotAnimated = ! (_radiotruck getVariable ["GRAD_isAnimating", false]);

                          (side player == east) && _isStationary && _isRetracted && _isNotAnimated
                      }
                  ] call ace_interact_menu_fnc_createAction;
                  [_type, 0, ["ACE_MainActions"], _deployAction] call ace_interact_menu_fnc_addActionToClass;

                  private _retractAction = [
                      "RusRadioRetract",
                      (localize "str_GRAD_radio_retract"),
                      "",
                      {
                          params ["_radiotruck"];
                          [_radiotruck] remoteExec ["GRAD_tracking_fnc_radioTruckRetract", 2];
                      },
                      {
                          params ["_radiotruck"];
                          _isDeployed = _radiotruck getVariable ["GRAD_isDeployed", false];
                          _isStationary = (speed _radiotruck) == 0;
                          _isNotAnimated = ! (_radiotruck getVariable ["GRAD_isAnimating", false]);

                          (side player == east) && _isStationary && _isDeployed && _isNotAnimated
                      }
                  ] call ace_interact_menu_fnc_createAction;
                  [_type, 0, ["ACE_MainActions"], _retractAction] call ace_interact_menu_fnc_addActionToClass;

            };


            // hacky GM SUPPORT for antenna retracting
            if (_type == "gm_gc_army_btr60pu12_ols" ||
                _type == "gm_gc_army_btr60pu12_oli") then {

                _startVehicle addAction[
                    "<t color='#339933'>Deploy Antenna</t>", 
                    {
                        params ["_target", "_caller", "_actionId", "_arguments"];

                        _target animateSource ["antennaMast_1_1_source", 1];
                        private _cache = fuel _target;
                        _target setVariable ["BC_currentFuelCache", _cache, true];
                        _target setFuel 0;

                        [{
                            params ["_target"];
                            (_target animationSourcePhase "antennaMast_1_1_source" == 1)
                        }, {
                            params ["_target"];
                            _target setVariable ["tf_range", 50000, true];
                            _target setVariable ["grad_replay_color", {GRAD_FUNKWAGEN_RED}, true];
                        }, [_target]] call CBA_fnc_waitUntilAndExecute;
                    },
                    [],
                    1.5, 
                    true, 
                    true, 
                    "",
                    "_this == (driver _target) && _target animationSourcePhase 'antennaMast_1_1_source' == 0", // _target, _this, _originalTarget
                    50,
                    false,
                    "",
                    ""
                ];

                _startVehicle addAction[
                    "<t color='#993333'>Retract Antenna</t>", 
                    {
                        params ["_target", "_caller", "_actionId", "_arguments"];

                        _target animateSource ["antennaMast_1_1_source", 0];
                        _target setVariable ["tf_range", 0, true];
                        _target setVariable ["grad_replay_color", nil, true];

                        [{
                            params ["_target"];
                            (_target animationSourcePhase "antennaMast_1_1_source" == 0)
                        }, {
                            params ["_target"];
                            private _cache = _target getVariable ["BC_currentFuelCache", 0];
                            _target setFuel _cache;
                        }, [_target]] call CBA_fnc_waitUntilAndExecute;
                    },
                    [],
                    1.5, 
                    true, 
                    true, 
                    "",
                    "_this == (driver _target) && _target animationSourcePhase 'antennaMast_1_1_source' == 1", // _target, _this, _originalTarget
                    50,
                    false,
                    "",
                    ""
                ];

            };



            // RADIO TRUCK/BOX DESTROY

              private _destroyAction = ["usDestroyMenu", (localize "str_GRAD_disable_vehicle"), "",
               {
               [60, [_this select 0], { BLUFOR_CAPTURED = TRUE; publicVariable "BLUFOR_CAPTURED";}, {hint "Cancelled action"}, (localize "str_GRAD_disabling_radio")] call ace_common_fnc_progressBar;
               },
                {(side player == west) && !GRAD_TERMINAL}] call ace_interact_menu_fnc_createAction;
              [_type, 0, ["ACE_MainActions"],_destroyAction] call ace_interact_menu_fnc_addActionToClass;

              private _destroyActionPortableRadio = ["usDestroyMenuPortable", (localize "str_GRAD_disable_vehicle"), "",
               {
               [60, [_this select 0], { BLUFOR_CAPTURED = TRUE; publicVariable "BLUFOR_CAPTURED";}, {hint "Cancelled action"}, (localize "str_GRAD_disabling_radio")] call ace_common_fnc_progressBar;
               },
                {(side player == west) && GRAD_TERMINAL}] call ace_interact_menu_fnc_createAction;
              ["Land_DataTerminal_01_F", 0, ["ACE_MainActions"],_destroyActionPortableRadio] call ace_interact_menu_fnc_addActionToClass;

            

            // TERMINAL ATTACH/DETACH

             private _detachRadioAction = ["RusDetachMenu", (localize "str_GRAD_detach_radio"), "",
             {
             [4, [_this select 0], {
                ((_this select 0) select 0) setVariable ["detachableRadio", 2, true];
                  private _radioVeh = missionNamespace getVariable ["GRAD_tracking_radioVehObj", objNull];
                  [] remoteExec ["GRAD_tracking_fnc_terminalDetach", _radioVeh];
                  
             }, {hint "Cancelled action"}, (localize "str_GRAD_detaching_radio")] call ace_common_fnc_progressBar;
             },
              {(side player == east) && ((_this select 0) getVariable ["detachableRadio", 0] == 1)}] call ace_interact_menu_fnc_createAction;
            [_type, 0, ["ACE_MainActions"],_detachRadioAction] call ace_interact_menu_fnc_addActionToClass;


            // TERMINAL TRANSMISSION
            private _openAction = ["terminalActionOpen", "Start transmission", "",
            {
              [_target] spawn GRAD_tracking_fnc_terminalOpen;
            },
            {_target getVariable ['TerminalStatus',-1] == 0}] call ace_interact_menu_fnc_createAction;

            ["Land_DataTerminal_01_F", 0, ["ACE_MainActions"],_openAction] call ace_interact_menu_fnc_addActionToClass;


            private _closeAction = ["terminalActionClose", "End transmission", "",
            {
              [_target] spawn GRAD_tracking_fnc_terminalClose;
            },
            {_target getVariable ['TerminalStatus',-1] == 2}] call ace_interact_menu_fnc_createAction;

            ["Land_DataTerminal_01_F", 0, ["ACE_MainActions"],_closeAction] call ace_interact_menu_fnc_addActionToClass;




            // transmission progress check
            private _transmissionProgressAction = ["TransmissionProgress", "Check Transmission Progress", "",
             {[side player] remoteExec ["GRAD_tracking_fnc_showTicksInstant", 0, false];},
              {(side player == east)}] call ace_interact_menu_fnc_createAction;

            [_type, 0, ["ACE_MainActions"],_transmissionProgressAction] call ace_interact_menu_fnc_addActionToClass;


             private _attachRadioAction = ["RusAttachMenu", (localize "str_GRAD_attach_radio"), "",
             {
             [4, [_this select 0], {
                ((_this select 0) select 0) setVariable ["detachableRadio", 1, true];

                _terminal = missionNamespace getVariable ["GRAD_tracking_terminalObj", objNull];
                _radioVeh = missionNamespace getVariable ["GRAD_tracking_radioVehObj", objNull];

                GRAD_TERMINAL = false; publicVariable "GRAD_TERMINAL";

                [_terminal, _radioVeh] call GRAD_tracking_fnc_terminalAttachToVeh;

             }, {hint "Cancelled action"}, (localize "str_GRAD_attaching_radio")] call ace_common_fnc_progressBar;
             },
              {

                (side player == east) && ((_this select 0) getVariable ["detachableRadio", 0] == 2) &&
                (missionNamespace getVariable ["GRAD_tracking_terminalObj", objNull]) distance (_this select 0) < 8

              }] call ace_interact_menu_fnc_createAction;
            [_type, 0, ["ACE_MainActions"],_attachRadioAction] call ace_interact_menu_fnc_addActionToClass;

      };

}] call CBA_fnc_addEventHandler;
#include "\z\ace\addons\main\script_component.hpp"
#include "..\..\..\missionMacros.h"

if (player getVariable ["BC_choosingSpawn", false]) exitWith {
	diag_log "BC: preventing double execution of chooseSpawn";
};

player linkitem 'itemMap';
player setVariable ["BC_choosingSpawn", true];

private _handle = addMissionEventHandler ["MapSingleClick", {
	params ["_units", "_pos", "_alt", "_shift"];

	if ([_pos] call BC_setup_fnc_isOnWater) exitWith {};
	removeMissionEventhandler ["MapSingleClick", _thisEventHandler];
	// [_pos] remoteExec ["BC_setup_fnc_publishOpforTeleportTarget", 2];
	[player, _pos] remoteExec ["BC_buymenu_fnc_spawnStartVehicles", 2];

	private _mrk_start = createMarkerLocal ["chooseMarkerMarker", _pos];
	_mrk_start setMarkerShapeLocal "ICON";
	_mrk_start setMarkerTypeLocal "hd_dot";
	_mrk_start setMarkerColorLocal "ColorOpfor";

	playSound ['click', true];
	["Preparing Spawn..."] call EFUNC(common,displayTextStructured);

		
}];


if (DEBUG_MODE) then {
	private _road = [[worldSize/2, worldSize/2], 500, []] call BIS_fnc_nearestRoad;
	if (!isNull _road) then {
		_pos = getPos _road;
		[player, _pos] remoteExec ["BC_buymenu_fnc_spawnStartVehicles", 2];
		removeMissionEventhandler ["MapSingleClick", _handle];
		// [_pos] remoteExec ["BC_setup_fnc_publishOpforTeleportTarget", 2];
	};
};


/*
	
	addMissionEventHandler ["MapSingleClick", {
	params ["_units", "_pos", "_alt", "_shift"];

	if (_pos call BC_setup_fnc_isOnWater) exitWith {};
			["teleportClickOpf", "onMapSingleClick"] call BIS_fnc_removeStackedEventHandler;
			[_pos] remoteExec ["BC_setup_fnc_publishOpforTeleportTarget", [0,-2] select isDedicated];
			playSound ['click', true];
			["Preparing Spawn..."] call EFUNC(common,displayTextStructured);


	}];

*/params ["_startPosition", "_side"];

private _mrk_start = createMarkerLocal [format["markerStart_%1", toString _startPosition], _startPosition];
_mrk_start setMarkerShapeLocal "ICON";
_mrk_start setMarkerTypeLocal "hd_pickup";

if (_side isEqualTo west) then {
    _mrk_start setMarkerColorLocal "ColorWEST";
} else {
    _mrk_start setMarkerColorLocal "ColorEAST";
};/*
    Author: Thomas Ryan

    ripped and modified by nomisum for BC
*/

if (missionNamespace getVariable ["BIS_fnc_establishingShot_skip", false]) exitWith { diag_log format ["skipping establishing shot completely for jip"]; };

params [
   ["_tgt", objNull, [objNull, []]],
   ["_txt", "", [""]],
   ["_alt", 500, [500]],
   ["_rad", 200, [200]],
   ["_ang", random 360, [0]],
   ["_dir", round random 1, [0]],
   ""
];


0 fadeSound 0;
"down" cutText ["loading", "BLACK FADED", 10e10];

disableSerialization;

waitUntil { time > 0 };


if (playerSide == east) then {
    100 cutRsc ["gui_opfor_pleasewait", "PLAIN",0];

} else {
    100 cutRsc ["gui_blufor_pleasewait","PLAIN",0];
};

[{
    (BLUFOR_TELEPORT_TARGET select 0 != 0) || player getVariable ["BC_choosingSpawn", false]
},
{
    2 fadeSound 1;
    100 cutText ["", "PLAIN"];
    enableEnvironment true;
    openMap [true, false];
    "down" cutText ["", "PLAIN"];
}] call CBA_fnc_waitUntilAndExecute;
params ["_display", "_exitCode"];

if (_exitCode == 2) then {

    [{
        [] call BC_setup_fnc_chooseSpawn;
    }, 1] call CBA_fnc_waitAndExecute;

};private _playerPositionsForCurrentWorld = 	[
	["spawnPosOpf", [0,0,0]] call BC_setup_fnc_getIslandCfgEntry,
	["spawnPosBlu", [0,0,0]] call BC_setup_fnc_getIslandCfgEntry,
	["spawnPosInd", [0,0,0]] call BC_setup_fnc_getIslandCfgEntry
];

[{!isNull player}, {
	params ["_playerPositionsForCurrentWorld"];

	if ((typeOf player) == "VirtualSpectator_F" && !isNil "CLib_fnc_registerEntryPoint") then {
		{
			if ("Streamator" call CLib_fnc_modLoaded) then {
				[] spawn {
					waitUntil {!isNull (missionNameSpace getVariable ["GRAD_tracking_radioVehObj", objNull])};
					bc_setup_fnc_streamator call CLib_fnc_directCall;
				};
			} else {
				call bc_setup_fnc_streamingSpectator; // if only CLib is loaded but not the streamator call normal Spectator function
			};
		} call CLib_fnc_registerEntryPoint;
	} else {
		call bc_setup_fnc_streamingSpectator;
	};

	_targetPosition = switch (playerSide) do {
		case (EAST): {_playerPositionsForCurrentWorld select 0};
		case (INDEPENDENT): {_playerPositionsForCurrentWorld select 2};
		default {_playerPositionsForCurrentWorld select 1};
	};

	_tmpPos = [_targetPosition,[0,10],[0,360]] call BC_setup_fnc_findRandomPos;
	player setPos [_tmpPos select 0, _tmpPos select 1, 0]; // force to ZERO height
	player switchmove "AmovPercMstpSnonWnonDnon";


}, [_playerPositionsForCurrentWorld]] call CBA_fnc_waitUntilAndExecute;
#include "\z\ace\addons\main\script_component.hpp"

params ["_position"];

private _return = false;


if (surfaceIsWater _position) then {
  private _hint = localize "str_GRAD_spawn_on_water";
  [_hint] call EFUNC(common,displayTextStructured);
  _return = true;
};

_return
disableSerialization;
waitUntil {!(isNull ([] call BIS_fnc_displayMission))};
  cheffeKeyEH = ([] call BIS_fnc_displayMission) displayAddEventHandler [
    "KeyDown",
    format ["
        if (OPFOR_TELEPORT_TARGET select 0 != 0) then {
          ([] call BIS_fnc_displayMission) displayRemoveEventHandler ['KeyDown', cheffeKeyEH];

          playSound ['click', true];

        };

        if (_this select 1 == 57) then {createDialog 'gui_spawn_opfor'; true};
      "]
  ];
  createDialog "gui_spawn_opfor";
  waitUntil {(OPFOR_TELEPORT_TARGET select 0 != 0)};
  ([] call BIS_fnc_displayMission) displayRemoveEventHandler ['KeyDown', cheffeKeyEH];
params ["_canHearSpectators"];

// as we dont have any events we force spectator false here in a cheap local loop
[{
    params ["_args", "_handle"];
    _args params ["_canHearSpectators"];

    if (!_canHearSpectators) then {
        player setVariable ["TFAR_forceSpectator", false];
    };

    if (!visibleMap) then {

        private _truck = missionNamespace getVariable ["GRAD_tracking_radioVehObj", objNull]; 
        private _terminal = missionNamespace getVariable ["GRAD_tracking_terminalObj", objNull]; 
        private _colorTruck = [1,1,1,1];
        private _colorTerminal = [1,1,1,1];

        if ([_truck] call GRAD_tracking_fnc_radioVehIsSending) then {
            _colorTruck = [1,0.2,0.2,1];
        };

        if (call GRAD_tracking_fnc_terminalIsSending) then {
            _colorTerminal = [0.2,0.2,1,1];
        };

        private _ticksRatio = GRAD_TICKS_DONE / GRAD_TICKS_NEEDED;
        private _string_2 = " | Done: " + str GRAD_INTERVALS_DONE + "/" + str GRAD_INTERVALS_NEEDED;
        private _string = " " + (str (round(_ticksRatio * 100))) + " " + localize "str_GRAD_transmissionTime_2" + _string_2;


         
        drawIcon3D [getText (configFile >> "CfgVehicles" >> (typeOf _truck) >> "icon"), _colorTruck, getPos _truck, 1, 1, 0, _string, 2, 0.03, "RobotoCondensed"];

        if (GRAD_TERMINAL) then {
            private _strength = (str GRAD_TERMINAL_DISTANCE + " % strength");
            drawIcon3D [getText (configFile >> "CfgVehicles" >> (typeOf _terminal) >> "icon"), _colorTerminal, [0,0,0], 1, 1, 0, _strength, 2, 0.03, "RobotoCondensed"];
        };
    };
}, 0, [_canHearSpectators]] call CBA_fnc_addPerFrameHandler;/*
    Breaking Contact

    Author: joko // Jonas

    Description:
    Register Streamator Search Target and Defining Icons to Draw

    Parameter(s):
    None

    Returns:
    None
*/

// Register Radio Vehicle as a Custom Search Target
["Radio Vehicle", GRAD_tracking_radioVehObj, 15, 5] call Streamator_fnc_addSearchTarget;

// Macros for UI calclulations
#define PYN 108
#define PX(X) ((X)/PYN*safeZoneH/(4/3))
#define PY(Y) ((Y)/PYN*safeZoneH)

// Add Icon Renderer over Radio vehicle
private _position = [GRAD_tracking_radioVehObj, "", [0, 0, 5]];
private _color = [0.93, 0.7, 0.01, 0.6];

private _icons = [];
private _shadow = 0;

private _id = format ["BC_setup_ID_%1", GRAD_tracking_radioVehObj];
private _fncScaleIcon = {
    if (isNull GRAD_tracking_radioVehObj) exitWith { false };
    private _distance = (positionCameraToWorld [0, 0, 0]) distance getPos (_position select 0);
    private _size = (((500 / _distance) ^ 0.8) min 1) max 0.4;

    _width = _size * _width;
    _height = _size * _height;
    _textSize = [
        [
            [_textSize, PY(2)] select (_size < 0.8),
            PY(1.8)
        ] select (_size < 0.6),
        PY(1.5)
    ] select (_size < 0.4);
    private _isTransmitting = [GRAD_tracking_radioVehObj] call GRAD_tracking_fnc_radioVehIsSending;
    if (_isTransmitting) then {
        switch (true) do {
            case (_shadow == 2): {
                _color = [0.6, 0, 0, 1];
            };
            case (_texture == "A3\ui_f\data\igui\rsctitles\rschvtphase\JAC_A3_Signal_0_ca.paa"): {
                _texture = format ["A3\ui_f\data\igui\rsctitles\rschvtphase\JAC_A3_Signal_%1_ca.paa", floor(time) % 5];
            };
            default {
                private _ticksRatio = GRAD_TICKS_DONE / GRAD_TICKS_NEEDED;
                _text = format ["%1%4 | Done: %2/%3", _ticksRatio*100, GRAD_TICKS_DONE,GRAD_TICKS_NEEDED, "%."];
            };
        };
    };
};

_icons pushBack ["ICON", "A3\ui_f\data\gui\rsc\rscdisplaymultiplayersetup\flag_opfor_empty_ca.paa", [1, 1, 1, 1], _position, 70 / 18, 35 / 18, 0, "", 0, 0.05, "RobotoCondensedBold", "center", false, _fncScaleIcon];
_icons pushBack ["ICON", "A3\ui_f\data\igui\rsctitles\rschvtphase\JAC_A3_Signal_0_ca.paa", [1, 1, 1, 1], _position, 1*2, 1, 0, "", 0, 0.05, "RobotoCondensedBold", "center", false, _fncScaleIcon];
_shadow = 2;
_color set [3, 1];
_icons pushBack ["ICON", "A3\ui_f\data\gui\rsc\rscdisplaymultiplayersetup\flag_opfor_ca.paa", _color, _position, 70 / 18, 35 / 18, 0, "", _shadow, PY(2), "RobotoCondensedBold", "center", false, _fncScaleIcon];
reverse _icons;

[
    _id,
    +_icons
] call Streamator_fnc_addCustom3dIcon;


// Add Icon Renderer over Terminal
private _position = [objNull, "", [0, 0, 5]];
private _color = [0.93, 0.7, 0.01, 0.6];

private _icons = [];
private _shadow = 0;

private _id = "BC_setup_ID_Terminal";
private _fncScaleIcon = {
    private _termial = missionNamespace getVariable ["GRAD_tracking_terminalObj", objNull];
    if (isNull _termial) exitWith { false }; // exit if Terminal Object does not exists
    _position set [0, _termial];
    private _distance = (positionCameraToWorld [0, 0, 0]) distance getPos (_position select 0);
    private _size = (((500 / _distance) ^ 0.8) min 1) max 0.4;

    _width = _size * _width;
    _height = _size * _height;
    _textSize = [
        [
            [_textSize, PY(2)] select (_size < 0.8),
            PY(1.8)
        ] select (_size < 0.6),
        PY(1.5)
    ] select (_size < 0.4);
    private _isTransmitting = call GRAD_tracking_fnc_terminalIsSending;
    if (_isTransmitting) then {
        switch (true) do {
            case (_shadow == 2): {
                _color = [0.6, 0, 0, 1];
            };
            case (_texture == "A3\ui_f\data\igui\rsctitles\rschvtphase\JAC_A3_Signal_0_ca.paa"): {
                _texture = format ["A3\ui_f\data\igui\rsctitles\rschvtphase\JAC_A3_Signal_%1_ca.paa", floor(time) % 5];
            };
            default {
                _text = format ["%1%2 strength", GRAD_TERMINAL_DISTANCE, "%"];
            };
        };
    };
    GRAD_TERMINAL;
};

_icons pushBack ["ICON", "A3\ui_f\data\gui\rsc\rscdisplaymultiplayersetup\flag_opfor_empty_ca.paa", [1, 1, 1, 1], _position, 70 / 18, 35 / 18, 0, "", 0, 0.05, "RobotoCondensedBold", "center", false, _fncScaleIcon];
_icons pushBack ["ICON", "A3\ui_f\data\igui\rsctitles\rschvtphase\JAC_A3_Signal_0_ca.paa", [1, 1, 1, 1], _position, 1*2, 1, 0, "", 0, 0.05, "RobotoCondensedBold", "center", false, _fncScaleIcon];
_shadow = 2;
_color set [3, 1];
_icons pushBack ["ICON", "A3\ui_f\data\gui\rsc\rscdisplaymultiplayersetup\flag_opfor_ca.paa", _color, _position, 70 / 18, 35 / 18, 0, "", _shadow, PY(2), "RobotoCondensedBold", "center", false, _fncScaleIcon];
reverse _icons;

[
    _id,
    +_icons
] call Streamator_fnc_addCustom3dIcon;
if (hasInterface) then {
    if ((typeOf player) == "VirtualSpectator_F" ||
        (typeOf player ) == "VirtualCurator_F") then {
        player setVariable ["tf_forcedCurator", false, true];
        player setVariable ["TFAR_forceSpectator", false, true];
        player setVariable ["tf_voiceVolume", 0, true];
        player setVariable ["tf_voiceVolume", 0, true];
        player setVariable ["tf_unable_to_use_radio", true];


        diag_log format ["streaming spectator: disabling tfar spectator channel for %1", player];

        if ((typeOf player) == "VirtualSpectator_F") then {
            [ "Initialize",
                [player,  [west, east, independent, civilian],true,true,true,true,false,false,true,true] 
            ] call BIS_fnc_EGSpectator;
        };

        [] spawn {
            waitUntil {!isNull (missionNameSpace getVariable ["GRAD_tracking_radioVehObj", objNull])};
            private _truck = missionNameSpace getVariable ["GRAD_tracking_radioVehObj", objNull];
            private _position = getPos _truck;
            private _camPos = _truck getPos [50,0];
            _camPos set [2,30];
            private _camera = ["GetCamera"] call BIS_fnc_EGSpectator; 
            _camera setPos _camPos;
            _camera camSetTarget _truck;
            _camera camCommit 0;
        };

        // as we dont have any events we force spectator false here in a cheap local loop
        [false] call BC_setup_fnc_spectatorDraw3D;
    };
};

/*
private _truck = missionNamespace getVariable ["GRAD_tracking_radioVehObj", objNull];
        [
            "AddCustomIcon", 
            [
                "truckIcon2", 
                _truck, 
                ["\A3\ui_f\data\map\mapcontrol\taskIcon_ca.paa", [1,1,1,1], [0,0,0], 4.0, -0.7, 0, "", 2, 0.035, "PuristaLight", "center"], 
                [false, [1,1,1,0.5]], 
                {true}
            ]
        ] call BIS_fnc_EGSpectator;
*/#include "\z\ace\addons\main\script_component.hpp"

params ["_position"];

["Preparing teleport..."] call EFUNC(common,displayTextStructured);
cutText ["", "BLACK OUT", 0.1];
if (str player != "opfor_teamlead") then { sleep (random 7);};

private _emptyPosition = [];
private _foundPosition = false;
while {!_foundPosition} do {
    _emptyPosition = [_position, 15, 50, 3, 0, 20, 0] call BIS_fnc_findSafePos; // _position findEmptyPosition [15, 30, "B_Soldier_F"];
    _foundPosition = count _emptyPosition > 0;
    diag_log ["searching teleport target for player: %1", _emptyPosition];
    sleep 0.1;
};

diag_log format ["teleporting %1 to %2.", player, _emptyPosition];

sleep 1;

player setVariable ["BC_choosingSpawn", true];

playSound "beam";
player setPos _emptyPosition;
openMap [false, false];
hintSilent "";

sleep 2;
cutText ["", "BLACK IN", 1];

// make player vulnerable again if necessary
player allowDamage true;
// 3 call fn_sthud_usermenu_changeMode;
sleep 1;
cutText ["", "PLAIN"];

["<img size= '8' shadow='false' image='pic\bc_logo.paa'/>",0,0,4,2] spawn BIS_fnc_dynamicText;

openMap [false, false];// tfarSettings.sqf 0.9.12

tfar_give_microdagr_to_soldier = false;
tfar_same_lr_frequencies_for_side = true;
tfar_same_sw_frequencies_for_side = true;
tfar_terrain_interception_coefficient = 6.0;
tfar_no_auto_long_range_radio  = true;
tfar_give_personal_radio_to_regular_soldier = false;
BC_IS_WOODLAND = ["isWoodland",true] call BC_setup_fnc_getIslandCfgEntry;

CONQUER_MODE = (["CONQUER_MODE", 1] call BIS_fnc_getParamValue) == 0;
publicVariable "CONQUER_MODE";/* ripped from diod @prometheus */

params ["_center", ["_radii", [0,15]], ["_angles", [0,360]], ["_vehicleType", "B_Soldier_F"]];
private ["_pos"];
_radii params ["_minRad", "_maxRad"];
_angles params ["_minAngle", "_maxAngle"];

_center = if (typeName _center == "OBJECT") then {getPos _center} else {_center};

for [{private _i=0}, {_i<30}, {_i=_i+1}] do {
    _searDist = (random (_maxRad - _minRad)) + _minRad;
    _searAngle = (random (_maxAngle - _minAngle)) + _minAngle;
    _searchPos = _center getPos [_searDist, _searAngle];
    _pos = _searchPos findEmptyPosition [0,10,_vehicleType];

    if (str _pos != "[]") exitWith {};
};

if (str _pos == "[]") then {
    _pos = _center;
};

_posparams ["_heli"];

diag_log format ["starting fuelDrain for %1", _heli];

[{
    params ["_args", "_handle"];
    _args params ["_heli"];

    if (!alive _heli) exitWith { [_handle] call CBA_fnc_removePerFrameHandler; };

    if (!local _heli) exitWith {
        [_handle] call CBA_fnc_removePerFrameHandler;
        [_heli] remoteExec ["BC_setup_fnc_fuelDrain", _heli];
    };

    private _fuel = fuel _heli;
    if (_fuel > 0 && isEngineOn _heli) then {
        _heli setFuel (_fuel -0.001);
    };

},1,[_heli]] call CBA_fnc_addPerFrameHandler;params ["_side", ["_excludeUnit", objNull]];

private _sideUnits = [];
private _return = objNull;

diag_log format ["getting highest rank for %1", _side];

// get all units of side
{
    if (side _x isEqualTo _side) then {
        _sideUnits pushback _x;
    };
} forEach (playableUnits + switchableUnits);

if (!isNull _excludeUnit && (_sideUnits find _excludeUnit > -1)) then {
    _sideUnits = _sideUnits - [_excludeUnit];
};

// extract highest rank of side
{
    if (isNull _return) then {
          _return = _x;
    } else {
          if (rankId _x > rankId _return) then {
              _return = _x;
          };
    };
} forEach _sideUnits;

_return
/* ripped from diod @prometheus */

params ["_entryName",["_defaultValue",false]];

private _return = [(missionConfigFile >> "cfgGradIslands" >> worldName), _entryName, _defaultValue] call BIS_fnc_returnConfigEntry;
if (_return isEqualTo "true") then {_return = true};
if (_return isEqualTo "false") then {_return = false};

_return
private _playerPositionsForCurrentWorld = 	[
	["spawnPosOpf", [0,0,0]] call BC_setup_fnc_getIslandCfgEntry,
	["spawnPosBlu", [0,0,0]] call BC_setup_fnc_getIslandCfgEntry,
	["spawnPosInd", [0,0,0]] call BC_setup_fnc_getIslandCfgEntry
];


_targetPosition= _playerPositionsForCurrentWorld select 0;
"respawn_east" setMarkerPos _targetPosition;

_targetPosition= _playerPositionsForCurrentWorld select 1;
"respawn_west" setMarkerPos _targetPosition;
"respawn_civilian" setMarkerPos _targetPosition;

_targetPosition= _playerPositionsForCurrentWorld select 2;
"respawn_guerrila" setMarkerPos _targetPosition;

[_playerPositionsForCurrentWorld] spawn {
	params ["_playerPositionsForCurrentWorld"];

		{
			if (!isPlayer _x) then {
 			sleep 0.1;

			_targetPosition = switch (side _x) do {
				case (EAST): {_playerPositionsForCurrentWorld select 0};
				case (INDEPENDENT): {_playerPositionsForCurrentWorld select 2};
				default {_playerPositionsForCurrentWorld select 1};
			};

			_tmpPos = [_targetPosition,[0,10],[0,360]] call BC_setup_fnc_findRandomPos;
			_x setPos _tmpPos;
			_x switchmove "AmovPercMstpSnonWnonDnon";
			};
		} forEach allUnits;
};
/*
[this, 'Command'] call mission_helpers_fnc_registerDynamicGroup;
*/

params ["_unit", "_groupCallsign"];

if (isServer) then {

  private _group  = group _unit;
  private _leader = leader _group;
  _data   = [nil, _groupCallsign, false]; // [<Insignia>, <Group Name>, <Private>]

  ["RegisterGroup", [_group, _leader, _data]] call BIS_fnc_dynamicGroups;

};
if (!isServer) exitWith {};

private _pumps = nearestObjects [
    [(worldSize/2), (worldSize/2), 0],
    [
        "Land_fs_feed_F",                           // Gas Station Pump (Altis)
        "Land_FuelStation_01_pump_F",               // Tanoa
        "Land_FuelStation_02_pump_F",
		"Land_FuelStation_Feed_F",	                // Stratis/Esseker
        "Land_A_FuelStation_Shed",	                // Esseker/Chernarus
	    "Land_A_FuelStation_Feed"	                // Chernarus
    ],
    worldSize,
    true
];

{
    _x setFuelCargo 0; // necessary?
    [_x, 0] call ace_refuel_fnc_setFuel;
}forEach _pumps;private _teamleads= [
"B_Soldier_TL_F",
"B_G_Soldier_TL_F",
"B_recon_TL_F",
"O_G_Soldier_TL_F",
"O_soldierU_F",
"O_Soldier_TL_F",
"O_recon_TL_F",
"O_soldierU_TL_F",
"O_G_officer_F",
"O_Soldier_TL_F",
"O_recon_TL_F",
"O_soldierU_TL_F"
];

private _squadleads= [
"B_Soldier_SL_F",
"B_G_Soldier_SL_F",
"O_Soldier_SL_F"
];

private _commanders = [
"opfor_assistant",
"opfor_teamlead",
"blufor_assistant",
"blufor_teamlead"
];

private _allofthem = _teamleads + _squadleads + _commanders;
private _drawIconsStacked = [];

{
	_drawIconSymbol = "Sign_Pointer_Cyan_F";
	if (!((typeOf _x) in _allofthem)) then {} else {


          if ((typeOf _x) in _teamleads) then {
               _drawIconSymbol = "Sign_Arrow_Green_F";
          };
          if ((typeOf _x) in _squadleads) then {
               _drawIconSymbol = "Sign_Arrow_Pink_F";
          };
          if (str _x in _commanders) then {
               _drawIconSymbol = "Sign_Arrow_Yellow_F";
          };
          _drawIconTemp = _drawIconSymbol createVehicle position _x;
          _drawIconTemp attachTo [_x,[0,0,2.5]];

          _drawIconsStacked = _drawIconsStacked + [_drawIconTemp];
     };

} forEach allUnits;

waitUntil {time > 180};
{deleteVehicle _x} forEach _drawIconsStacked;
params ["_unit"];

private _location = [0,0];
if (side _unit == west) then {
  _location = BLUFOR_TELEPORT_TARGET;
} else {
  _location = OPFOR_TELEPORT_TARGET;
};

_spawn = _location findEmptyPosition [2, 20, "B_Soldier_F"];
diag_log format ["teleporting %1 to %2.", _unit, _location];
_unit setPos _spawn;#define CT_STATIC           0
#define CT_BUTTON           1
#define CT_EDIT             2
#define CT_SLIDER           3
#define CT_COMBO            4
#define CT_LISTBOX          5
#define CT_TOOLBOX          6
#define CT_CHECKBOXES       7
#define CT_PROGRESS         8
#define CT_HTML             9
#define CT_STATIC_SKEW      10
#define CT_ACTIVETEXT       11
#define CT_TREE             12
#define CT_STRUCTURED_TEXT  13
#define CT_CONTEXT_MENU     14
#define CT_CONTROLS_GROUP   15
#define CT_SHORTCUTBUTTON   16
#define CT_XKEYDESC         40
#define CT_XBUTTON          41
#define CT_XLISTBOX         42
#define CT_XSLIDER          43
#define CT_XCOMBO           44
#define CT_ANIMATED_TEXTURE 45
#define CT_OBJECT           80
#define CT_OBJECT_ZOOM      81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83
#define CT_LINEBREAK        98
#define CT_USER             99
#define CT_MAP              100
#define CT_MAP_MAIN         101
#define CT_LISTNBOX         102

#define ST_POS            0x0F
#define ST_HPOS           0x03
#define ST_VPOS           0x0C
#define ST_LEFT           0x00
#define ST_RIGHT          0x01
#define ST_CENTER         0x02
#define ST_DOWN           0x04
#define ST_UP             0x08
#define ST_VCENTER        0x0C

#define ST_TYPE           0xF0
#define ST_SINGLE         0x00
#define ST_MULTI          0x10
#define ST_TITLE_BAR      0x20
#define ST_PICTURE        0x30
#define ST_FRAME          0x40
#define ST_BACKGROUND     0x50
#define ST_GROUP_BOX      0x60
#define ST_GROUP_BOX2     0x70
#define ST_HUD_BACKGROUND 0x80
#define ST_TILE_PICTURE   0x90
#define ST_WITH_RECT      0xA0
#define ST_LINE           0xB0

#define ST_SHADOW         0x100
#define ST_NO_RECT        0x200
#define ST_KEEP_ASPECT_RATIO  0x800

#define ST_TITLE          ST_TITLE_BAR + ST_CENTER

#define SL_DIR            0x400
#define SL_VERT           0
#define SL_HORZ           0x400

#define SL_TEXTURES       0x10

#define ST_VERTICAL       0x01
#define ST_HORIZONTAL     0

#define LB_TEXTURES       0x10
#define LB_MULTI          0x20

#define TR_SHOWROOT       1
#define TR_AUTOCOLLAPSE   2

#define MB_BUTTON_OK      1
#define MB_BUTTON_CANCEL  2
#define MB_BUTTON_USER    4

#define GUI_GRID_X    (0)
#define GUI_GRID_Y    (0)
#define GUI_GRID_W    (0.025)
#define GUI_GRID_H    (0.04)
#define GUI_GRID_WAbs    (1)
#define GUI_GRID_HAbs    (1)

class BC_setup_RscSlider
{
    style = "0x400 + 0x10";
    type = 43;  // this is the more "modern" slider. Type = 3 is the old dull one.
    shadow = 0;
    color[] = {1,1,1,0.4};
    colorActive[] = {1,1,1,1};
    colorDisabled[] = {0.5,0.5,0.5,0.2};
    arrowEmpty = "\A3\ui_f\data\gui\cfg\slider\arrowEmpty_ca.paa";
    arrowFull = "\A3\ui_f\data\gui\cfg\slider\arrowFull_ca.paa";
    border = "\A3\ui_f\data\gui\cfg\slider\border_ca.paa";
    thumb = "\A3\ui_f\data\gui\cfg\slider\thumb_ca.paa";
};

class BC_setup_RscStructuredText
{
    access = 0;
    idc = -1;
    type =  CT_STRUCTURED_TEXT;
    style = ST_MULTI;
    lineSpacing = 0.5;
    colorBackground[] = {-1,-1,-1,0};
    colorText[] = {1,1,1,0.7};
    size = 0.038;
    text = "";
    fixedWidth = 0;
    x = 0;
    y = 0;
    h = 0;
    w = 0;
    shadow = 0;
};

class BC_setup_RscStructuredTextTooltip
{
    access = 0;
    idc = -1;
    type =  CT_STRUCTURED_TEXT;
    style = ST_MULTI;
    lineSpacing = 0.5;
    colorBackground[] = {-1,-1,-1,0};
    colorText[] = {1,1,1,0.7};
    size = 0.028;
    text = "";
    fixedWidth = 0;
    x = 0;
    y = 0;
    h = 0;
    w = 0;
    shadow = 0;
};

class BC_setup_RscStructuredTextHeadline
{
    access = 0;
    idc = -1;
    type =  CT_STRUCTURED_TEXT;
    style = ST_CENTER;
    colorBackground[] = {-1,-1,-1,0};
    colorText[] = {0.5,0.5,0.5,1};
    size = 0.048;
    text = "";
    fixedWidth = 0;
    x = 0;
    y = 0;
    h = 0;
    w = 0;
    shadow = 0;
    font = "puristaMedium";
};




class BC_setup_RscText
{
    access = 0;
    idc = -1;
    type = CT_STATIC;
    style = ST_MULTI;
    linespacing = 1;
    colorBackground[] = {0,0,0,0};
    colorText[] = {1,1,1,0.5};
    text = "";
    shadow = 0;
    font = "PuristaLight";
    SizeEx = 0.02300;
    fixedWidth = 0;
    x = 0;
    y = 0;
    h = 0;
    w = 0;

};

class BC_setup_RscPicture
{
    access = 0;
    idc = -1;
    type = CT_STATIC;
    style = ST_PICTURE;
    colorBackground[] = {0,0,0,0};
    colorText[] = {1,1,1,1};
    font = "PuristaLight";
    sizeEx = 0;
    lineSpacing = 0;
    text = "";
    fixedWidth = 0;
    shadow = 0;
    x = 0;
    y = 0;
    w = 0.2;
    h = 0.15;
};

class BC_setup_RscButton
{

   access = 0;
    type = CT_BUTTON;
    text = "";
    colorText[] = {1,1,1,.9};
    colorDisabled[] = {0.4,0.4,0.4,1};
    colorBackground[] = {0.75,0.75,0.75,0.8};
    colorBackgroundDisabled[] = {0,0.0,0};
    colorBackgroundActive[] = {0.75,0.75,0.75,1};
    colorFocused[] ={0.75,0.75,0.75,0.8};
    colorShadow[] = {0.023529,0,0.0313725,1};
    colorBorder[] = {0.023529,0,0.0313725,1};
    soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter", 0.09, 1};
    soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush", 0.09, 1};
    soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick", 0.09, 1};
    soundEscape[] = {"\A3\ui_f\data\sound\ReadOut\ReadoutHideClick1",0.09,1};
    style = 2; //2
    x = 0;
    y = 0;
    w = 0.055589;
    h = 0.039216;
    shadow = 2;
    font = "PuristaLight";
    sizeEx = 0.03921;
    offsetX = 0.003;
    offsetY = 0.003;
    offsetPressedX = 0.002;
    offsetPressedY = 0.002;
    borderSize = 0;
    period = 0;
};

class BC_setup_RscButtonSmall
{

    access = 0;
    type = CT_BUTTON;
    text = "";
    colorText[] = {1,1,1,.9};
    colorDisabled[] = {0.4,0.4,0.4,1};
    colorBackground[] = {0.75,0.75,0.75,0.8};
    colorBackgroundDisabled[] = {0,0.0,0};
    colorBackgroundActive[] = {0.75,0.75,0.75,1};
    colorFocused[] = {0.75,0.75,0.75,0.8};
    colorShadow[] = {0.023529,0,0.0313725,1};
    colorBorder[] = {0.023529,0,0.0313725,1};
    soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter", 0.09, 1};
    soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush", 0.09, 1};
    soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick", 0.09, 1};
    soundEscape[] = {"\A3\ui_f\data\sound\ReadOut\ReadoutHideClick1",0.09,1};
    style = 2;
    x = 0;
    y = 0;
    w = 0.055589;
    h = 0.039216;
    shadow = 0;
    font = "PuristaLight";
    size = 0.03921;
    sizeEx = 0.02921;
    offsetX = 0.003;
    offsetY = 0.003;
    offsetPressedX = 0.002;
    offsetPressedY = 0.002;
    borderSize = 0;
};

class BC_setup_RscFrame
{
    type = CT_STATIC;
    idc = -1;
    style = ST_FRAME;
    shadow = 2;
    colorBackground[] = {1,1,1,1};
    colorText[] = {1,1,1,0.9};
    font = "PuristaLight";
    sizeEx = 0.03;
    text = "";
};

class BC_setup_RscBackground
{
   type = CT_STATIC;
    idc = -1;
    style = ST_CENTER;
    shadow = 2;
    colorText[] = {1,1,1,1};
    font = "PuristaLight";
    sizeEx = 0.02;
    colorBackground[] = { 0,0,0, 0.8 };
    text = "";

};
class BC_setup_RscModel {
        onObjectMoved = "systemChat str _this";
        idc = -1;
        type = CT_OBJECT_CONTAINER;
        model = "\A3\Structures_F\Items\Food\Can_V3_F.p3d";
        scale = 10;
        direction[] = {0, -0.35, -0.65};
        up[] = {0, 0.65, -0.35};

        position[] = {0,0,0.2};
        x = 0.5; y = 0.5; z = 0.2;
        positionBack[] = {0,0,1.2};
        xBack = 0.5; yBack = 0.5; zBack = 1.2;
        inBack = 1;
        enableZoom = 1;
        zoomDuration = 0.001;
};
class BC_setup_RscCombo {
        access = 0;
        type = 4;
        colorSelect[] =
        {       0,          0,          0,          1
        };
        colorText[] =
        {
            0.95,           0.95,           0.95,           1
        };
        colorBackground[] =
        {
            0,          0,          0,          1
        };
        colorScrollbar[] =
        {
            1,          0,          0,          1
        };
        soundSelect[] =
        {
            "\A3\ui_f\data\sound\RscCombo\soundSelect",
            0.1,
            1
        };
        soundExpand[] =
        {
            "\A3\ui_f\data\sound\RscCombo\soundExpand",
            0.1,
            1
        };
        soundCollapse[] =
        {
            "\A3\ui_f\data\sound\RscCombo\soundCollapse",
            0.1,
            1
        };
        maxHistoryDelay = 1;
        class ScrollBar
        {
            color[] =
            {
                1,              1,              1,              0.6
            };
            colorActive[] =
            {
                1,              1,              1,              1
            };
            colorDisabled[] =
            {
                1,              1,              1,              0.3
            };
            shadow = 0;
            thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
            arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
            arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
            border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
        };
        style = 16;
        x = 0;
        y = 0;
        w = 0.12;
        h = 0.035;
        shadow = 0;
        colorSelectBackground[] =
        {
            1,
            1,
            1,
            0.7
        };
        arrowEmpty = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_ca.paa";
        arrowFull = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_active_ca.paa";
        wholeHeight = 0.45;
        color[] =
        {
            1,
            1,
            1,
            1
        };
        colorActive[] =
        {
            1,
            0,
            0,
            1
        };
        colorDisabled[] =
        {
            1,
            1,
            1,
            0.25
        };
        font = "PuristaMedium";
        sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
      class ComboScrollBar : ScrollBar
       {
        color[] = {1,1,1,0.6};
        colorActive[] = {1,1,1,1};
        colorDisabled[] = {1,1,1,0.3};
        thumb = "#(argb,8,8,3)color(1,1,1,1)";
        arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
        arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
        border = "#(argb,8,8,3)color(1,1,1,1)";
        shadow = 0;
       };
};

class BC_setup_RscMapControl
{
  access = 0;
  idc = -1;
  type = CT_MAP_MAIN;
  style = ST_PICTURE;

  x = 0.10;
  y = 0.10;
  w = 0.80;
  h = 0.60;
  widthRailWay = 1;
  moveOnEdges = 0;
    shadow = 1;
    ptsPerSquareSea = 5;
    ptsPerSquareTxt = 3;
    ptsPerSquareCLn = 10;
    ptsPerSquareExp = 10;
    ptsPerSquareCost = 10;
    ptsPerSquareFor = 9;
    ptsPerSquareForEdge = 9;
    ptsPerSquareRoad = 6;
    ptsPerSquareObj = 9;
    showCountourInterval = 1;
    scaleMin = 0.001;
    scaleMax = 1.0;
    scaleDefault = 0.16;
    maxSatelliteAlpha = 0;
    alphaFadeStartScale = 0.35;
    alphaFadeEndScale = 0.4;
    colorBackground[] = {0.969,0.957,0.949,1.0};
    colorSea[] = {0.467,0.631,0.851,0.5};
    colorForest[] = {0.624,0.78,0.388,0.5};
    colorForestBorder[] = {0.0,0.0,0.0,0.0};
    colorRocks[] = {0.0,0.0,0.0,0.3};
    colorRocksBorder[] = {0.0,0.0,0.0,0.0};
    colorLevels[] = {0.286,0.177,0.094,0.5};
    colorMainCountlines[] = {0.572,0.354,0.188,0.5};
    colorCountlines[] = {0.572,0.354,0.188,0.25};
    colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6};
    colorCountlinesWater[] = {0.491,0.577,0.702,0.3};
    colorPowerLines[] = {0.1,0.1,0.1,1.0};
    colorRailWay[] = {0.8,0.2,0.0,1.0};
    colorNames[] = {0.1,0.1,0.1,0.9};
    colorInactive[] = {1.0,1.0,1.0,0.5};
    colorOutside[] = {0.0,0.0,0.0,1.0};
    colorTracks[] = {0.84,0.76,0.65,0.15};
    colorTracksFill[] = {0.84,0.76,0.65,1.0};
    colorRoads[] = {0.7,0.7,0.7,1.0};
    colorRoadsFill[] = {1.0,1.0,1.0,1.0};
    colorMainRoads[] = {0.9,0.5,0.3,1.0};
    colorMainRoadsFill[] = {1.0,0.6,0.4,1.0};
    colorGrid[] = {0.1,0.1,0.1,0.6};
    colorGridMap[] = {0.1,0.1,0.1,0.6};
    fontLabel = "PuristaMedium";
    sizeExLabel = "(            (           (           ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
    fontGrid = "TahomaB";
    sizeExGrid = 0.02;
    fontUnits = "TahomaB";
    sizeExUnits = "(            (           (           ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
    fontNames = "PuristaMedium";
    sizeExNames = "(            (           (           ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2";
    fontInfo = "PuristaMedium";
    sizeExInfo = "(         (           (           ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
    fontLevel = "TahomaB";
    sizeExLevel = 0.02;

    colorText[] = {1,1,1,1.0};
    font = "PuristaMedium";
    text = "#(argb,8,8,3)color(1,1,1,1)";
    SizeEx = "(         (           (           ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
    //size = "(         (           (           ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

    class Legend
    {
        x = "SafeZoneX +                    (           ((safezoneW / safezoneH) min 1.2) / 40)";
        y = "SafeZoneY + safezoneH - 4.5 *                  (           (           ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
        w = "10 *                   (           ((safezoneW / safezoneH) min 1.2) / 40)";
        h = "3.5 *                  (           (           ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
        font = "PuristaMedium";
        sizeEx = "(         (           (           ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
        colorBackground[] = {1,1,1,0.5};
        color[] = {0,0,0,1};
    };
    class Task
    {
        icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa";
        iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa";
        iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa";
        iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa";
        iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa";
        color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"};
        colorCreated[] = {1,1,1,1};
        colorCanceled[] = {0.7,0.7,0.7,1};
        colorDone[] = {0.7,1,0.3,1};
        colorFailed[] = {1,0.3,0.2,1};
        size = 27;
        importance = 1;
        coefMin = 1;
        coefMax = 1;
    };
    class Waypoint
    {
        icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
        color[] = {0,0,0,1};
        size = 27;
        importance = 1;
        coefMin = 1;
        coefMax = 1;
    };
    class WaypointCompleted
    {
        icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa";
        color[] = {0,0,0,1};
        size = 27;
        importance = 1;
        coefMin = 1;
        coefMax = 1;
    };
    class CustomMark
    {
        icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa";
        size = 24;
        importance = 1;
        coefMin = 1;
        coefMax = 1;
        color[] = {0,0,0,1};
    };
    class Command
    {
        icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
        size = 18;
        importance = 1;
        coefMin = 1;
        coefMax = 1;
        color[] = {1,1,1,1};
    };
    class Bush
    {
        icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
        color[] = {0.45,0.64,0.33,0.4};
        size = "14/2";
        importance = "0.2 * 14 * 0.05 * 0.05";
        coefMin = 0.25;
        coefMax = 4;
    };
    class Rock
    {
        icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa";
        color[] = {0.1,0.1,0.1,0.8};
        size = 12;
        importance = "0.5 * 12 * 0.05";
        coefMin = 0.25;
        coefMax = 4;
    };
    class SmallTree
    {
        icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
        color[] = {0.45,0.64,0.33,0.4};
        size = 12;
        importance = "0.6 * 12 * 0.05";
        coefMin = 0.25;
        coefMax = 4;
    };
    class Tree
    {
        icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
        color[] = {0.45,0.64,0.33,0.4};
        size = 12;
        importance = "0.9 * 16 * 0.05";
        coefMin = 0.25;
        coefMax = 4;
    };
    class busstop
    {
        icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class fuelstation
    {
        icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class hospital
    {
        icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class church
    {
        icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class lighthouse
    {
        icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class power
    {
        icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class powersolar
    {
        icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class powerwave
    {
        icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class powerwind
    {
        icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class quay
    {
        icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class shipwreck
    {
        icon = "\A3\ui_f\data\map\mapcontrol\shipwreck_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class transmitter
    {
        icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class watertower
    {
        icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class Cross
    {
        icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {0,0,0,1};
    };
    class Chapel
    {
        icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {0,0,0,1};
    };
    class Bunker
    {
        icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
        size = 14;
        importance = "1.5 * 14 * 0.05";
        coefMin = 0.25;
        coefMax = 4;
        color[] = {0,0,0,1};
    };
    class Fortress
    {
        icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
        size = 16;
        importance = "2 * 16 * 0.05";
        coefMin = 0.25;
        coefMax = 4;
        color[] = {0,0,0,1};
    };
    class Fountain
    {
        icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa";
        size = 11;
        importance = "1 * 12 * 0.05";
        coefMin = 0.25;
        coefMax = 4;
        color[] = {0,0,0,1};
    };
    class Ruin
    {
        icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa";
        size = 16;
        importance = "1.2 * 16 * 0.05";
        coefMin = 1;
        coefMax = 4;
        color[] = {0,0,0,1};
    };
    class Stack
    {
        icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa";
        size = 20;
        importance = "2 * 16 * 0.05";
        coefMin = 0.9;
        coefMax = 4;
        color[] = {0,0,0,1};
    };
    class Tourism
    {
        icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa";
        size = 16;
        importance = "1 * 16 * 0.05";
        coefMin = 0.7;
        coefMax = 4;
        color[] = {0,0,0,1};
    };
    class ViewTower
    {
        icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa";
        size = 16;
        importance = "2.5 * 16 * 0.05";
        coefMin = 0.5;
        coefMax = 4;
        color[] = {0,0,0,1};
    };

    class ActiveMarker
    {
        //icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa";
        size = 24;
        importance = 1;
        coefMin = 1;
        coefMax = 1;
        color[] = {0,0,0,1};
    };
   class LineMarker { lineDistanceMin = 3e-005; lineLengthMin = 5; lineWidthThick = 0.014; lineWidthThin = 0.008; textureComboBoxColor = "#(argb,8,8,3)color(1,1,1,1)"; };
};
#include "rscDefines.hpp"

class gui_spawn_opfor
{
		idd = 8010;
		movingenable = 0;
		enableSimulation = 1;
		enableDisplay = 1;
		objects[] = {};
		onUnload = "_this spawn BC_setup_fnc_exitChooseSpawn";

		class ControlsBackground
		{
			class gui_spawn_opfor_bg: BC_setup_RscBackground
			{
				idc = 8011;
				x = 10 * GUI_GRID_W + GUI_GRID_X;
				y = 0 * GUI_GRID_H + GUI_GRID_Y;
				w = 20 * GUI_GRID_W;
				h = 10 * GUI_GRID_H;
				colorBackground[] = {0,0,0,0.8};
			};
		};

		class Controls {

			class text_spawn_opfor1: BC_setup_RscStructuredText
			{
				idc = -1;
				text = "<t align='center' size='1.2'>Hello Commander!</t>";
				x = 11 * GUI_GRID_W + GUI_GRID_X;
				y = 1 * GUI_GRID_H + GUI_GRID_Y;
				w = 18 * GUI_GRID_W;
				h = 3 * GUI_GRID_H;
				colorBackground[] = {-1,-1,-1,0};
			};

			class text_spawn_opfor2: BC_setup_RscStructuredText
			{
				idc = -1;
				text = $STR_GRAD_choose_spawn_location_hint;
				x = 11 * GUI_GRID_W + GUI_GRID_X;
				y = 3 * GUI_GRID_H + GUI_GRID_Y;
				w = 18 * GUI_GRID_W;
				h = 3 * GUI_GRID_H;
				colorBackground[] = {-1,-1,-1,0};
			};

			class btn_spawn_opfor3: BC_setup_RscButton
			{
				idc = -1;
				text = $STR_GRAD_choose_spawn_location;
				x = 11 * GUI_GRID_W + GUI_GRID_X;
				y = 6 * GUI_GRID_H + GUI_GRID_Y;
				w = 18 * GUI_GRID_W;
				h = 3 * GUI_GRID_H;
				colorText[] = {0,0,0,1};
				colorBackground[] = {0.81,0.55,0.12,1};
				tooltip = $STR_GRAD_choose_spawn_location_road;
				onButtonClick = "[] call BC_setup_fnc_chooseSpawn; closeDialog 0;";
			};
		};
};#include "rscDefines.hpp"



class gui_spawn_waitplease
{
        idd = 8020;
        movingenable = 0;
        enableSimulation = 1;
        enableDisplay = 1;
        objects[] = {};

        class ControlsBackground
        {
            class gui_spawn_waitplease_bg: BC_setup_RscBackground
            {
                idc = 8021;
                x = 10 * GUI_GRID_W + GUI_GRID_X;
                y = 0 * GUI_GRID_H + GUI_GRID_Y;
                w = 20 * GUI_GRID_W;
                h = 10 * GUI_GRID_H;
                colorBackground[] = {0,0,0,0.8};
            };
        };

        class Controls {

            class btn_wait_opfor: BC_setup_RscStructuredText
            {
                idc = 8022;
                text = $STR_GRAD_choose_spawn_location;
                x = 16 * GUI_GRID_W + GUI_GRID_X;
                y = 2 * GUI_GRID_H + GUI_GRID_Y;
                w = 12 * GUI_GRID_W;
                h = 3 * GUI_GRID_H;
                colorBackground[] = {0,0,0,1};

            };
        };
};

    class gui_pleasewait
    {
        idd = -1;
        duration = 10e10;
        name = "gui_pleasewait";
        fadeIn = 1;
        fadeOut = 1;
        onLoad = "uiNamespace setVariable ['GRAD_rattrap_loading', (_this select 0)];";

        class controls {
            class gui_pleasewait_pic: BC_setup_RscPicture
            {
                idc = -1;
                x = 10 * GUI_GRID_W + GUI_GRID_X;
                y = 10 * GUI_GRID_H + GUI_GRID_Y;
                w = 20 * GUI_GRID_W;
                h = (10 * GUI_GRID_H) * 3/4;
                text = "pic\loading_pic.jpg";
            };
            class gui_pleasewait_txt : BC_setup_RscStructuredText {
                idc = 4444;
                text = "<t size='1' shadow='0' align='center'>Emergency Landing Zone Search.</t>";
                color[] = {1,1,1,0.3};
                x = 10 * GUI_GRID_W + GUI_GRID_X;
                y = 19 * GUI_GRID_H + GUI_GRID_Y;
                w = 20 * GUI_GRID_W;
                h = 1 * GUI_GRID_H;
                colorBackground[] = {0,0,0,0.7};
            };
        };
    };

    class gui_intel
    {
        idd = -1;
        duration = 10;
        name = "gui_intel";
        fadeOut = 5;

        class controls {
            class gui_intel_paper_pic_us: BC_setup_RscPicture
            {
                idc = -1;
                x = safeZoneX + safeZoneW - 0.3;
                y = safeZoneY + safeZoneH - 1.5;
                w = 0.3;
                h = 0.4;
                text = "pic\intel.paa";
            };
        };
    };

    class gui_intel_paper_us
    {
        idd = -1;
        duration = 10;
        name = "gui_intel_paper_us";
        fadeOut = 5;

        class controls {
            class gui_intel_paper_pic_us: BC_setup_RscPicture
            {
                idc = -1;
                x = safeZoneX + safeZoneW - 0.3;
                y = safeZoneY + safeZoneH - 1.5;
                w = 0.3;
                h = 0.4;
                text = "pic\us_satellite_badge.paa";
            };
        };
    };

    class gui_intel_paper_us_lost
    {
        idd = -1;
        duration = 10;
        name = "gui_intel_paper_us_lost";
        fadeOut = 5;

        class controls {
            class gui_intel_paper_pic_us_lost: BC_setup_RscPicture
            {
                idc = -1;
                x = safeZoneX + safeZoneW - 0.3;
                y = safeZoneY + safeZoneH - 1.5;
                w = 0.3;
                h = 0.4;
                text = "pic\us_satellite_badge_lost.paa";
            };
        };
    };

    class gui_intel_paper_rus
    {
        idd = -1;
        duration = 10;
        name = "gui_intel_paper_rus";
        fadeOut = 5;

        class controls {
            class gui_intel_paper_pic_rus: BC_setup_RscPicture
            {
                idc = -1;
                x = safeZoneX + safeZoneW - 0.3;
                y = safeZoneY + safeZoneH - 1.5;
                w = 0.3;
                h = 0.4;
                text = "pic\rus_satellite_badge.paa";
            };
        };
    };

    class gui_intel_paper_rus_lost
    {
        idd = -1;
        duration = 10;
        name = "gui_intel_paper_rus_lost";
        fadeOut = 5;

        class controls {
            class gui_intel_paper_pic_rus_lost: BC_setup_RscPicture
            {
                idc = -1;
                x = safeZoneX + safeZoneW - 0.3;
                y = safeZoneY + safeZoneH - 1.5;
                w = 0.3;
                h = 0.4;
                text = "pic\rus_satellite_badge_lost.paa";
            };
        };
    };

    class gui_intel_paper_civ_killed
    {
        idd = -1;
        duration = 10;
        name = "gui_intel_paper_civ_killed";
        fadeOut = 5;

        class controls {
            class gui_intel_paper_pic_killed: BC_setup_RscPicture
            {
                idc = -1;
                x = safeZoneX + safeZoneW - 0.3;
                y = safeZoneY + safeZoneH - 1.5;
                w = 0.3;
                h = 0.4;
                text = "pic\civ_killed_badge.paa";
            };
        };
    };

    class gui_intel_paper_civ_gunfight
    {
        idd = -1;
        duration = 10;
        name = "gui_intel_paper_civ_gunfight";
        fadeOut = 5;
        onLoad = "with uiNameSpace do { gui_intel_paper_civ_gunfight = _this select 0 }";

        class controls {

            class gui_intel_paper_pic_gunfight: BC_setup_RscPicture
            {
                idc = -1;
                x = safeZoneX + safeZoneW - 0.3;
                y = safeZoneY + safeZoneH - 1.5;
                w = 0.3;
                h = 0.4;
                text = "pic\civ_gunfight_badge.paa";
            };
        };
    };

    class gui_intel_paper_markerupdate
    {
        idd = -1;
        duration = 10;
        name = "gui_intel_paper_markerupdate";
        fadeOut = 5;

        class controls {
            class gui_intel_paper_markerupdate_pic: BC_setup_RscPicture
            {
                idc = -1;
                x = safeZoneX + safeZoneW - 0.3;
                y = safeZoneY + safeZoneH - 1.5;
                w = 0.3;
                h = 0.4;
                text = "pic\rus_markerupdate.paa";
            };
        };
    };

    class gui_blufor_pleasewait
    {
        idd = -1;
        duration = 10e10;
        name = "gui_blufor_pleasewait";
        fadeIn = 1;

        class controls {
            class gui_blufor_pleasewait_pic: BC_setup_RscPicture
            {
                idc = -1;
                x = 10 * GUI_GRID_W + GUI_GRID_X;
                y = 10 * GUI_GRID_H + GUI_GRID_Y;
                w = 16 * GUI_GRID_W;
                h = 8 * GUI_GRID_H;
                text = "pic\blufor_please_wait.paa";
            };
        };
    };

    class gui_opfor_pleasewait
    {
        idd = -1;
        duration = 10e10;
        name = "gui_opfor_pleasewait";
        fadeIn = 1;

        class controls {
            class gui_opfor_pleasewait_pic: BC_setup_RscPicture
            {
                idc = -1;
                x = 10 * GUI_GRID_W + GUI_GRID_X;
                y = 10 * GUI_GRID_H + GUI_GRID_Y;
                w = 18 * GUI_GRID_W;
                h = 8 * GUI_GRID_H;
                text = "pic\opfor_please_wait.paa";
            };
        };
    };
#include "node_modules\grad-tvtsettings\cba_settings.sqf"A l t i s 
 t e m _ a n i z a y 
 B e k e t o v 
 B o r n h o l m 
 B o o t c a m p _ A C R 
 C h e r n a r u s 
 C h e r n a r u s _ S u m m e r 
 d i n g o r 
 F D F _ I s l e 1 _ a 
 f a l l u j a h 
 E s s e k e r 
 G o r g o n a 
 h e l l a n m a a 
 I s o l a D i C a p r a i a 
 K u n d u z 
 l i n g o r 3 
 l y t h i u m 
 M a l d e n 
 m b g _ c e l l e 2 
 n a m a l s k 
 p r e i _ k h m a o c h _ l u o n g 
 P r o v i n g G r o u n d s _ P M C 
 P a n t h e r a 3 
 r u h a 
 S a r a _ d b e 1 
 S h a p u r _ B A F 
 S u g a r L a k e 
 S t r a t i s 
 t e m _ c h a m 
 T h i r s k 
 W o o d l a n d _ A C R 
 Z a r g a b a d 
 c l a f g h a n 
 f a t a 
 s a r u 
 t a k i s t a n 
 T a n o a 
 t a v i a n a 
 T e m b e l a n 
 v t 5 
 v t 7 
 g m _ w e f e r l i n g e n _ s u m m e r 
 W L _ r o s c h e 
 x c a m _ p r o t o t y p e 
 p j a 3 0 5 
 p j a 3 1 0 
 p j a 3 1 4 
 #define MODULES_DIRECTORY node_modules

#include "node_modules\grad-fortifications\grad_fortifications.hpp"
#include "node_modules\@gruppe-adler\replay\ui\defines.hpp"
#include "node_modules\@gruppe-adler\replay\ui\dialog.hpp"
#include "node_modules\grad-islandconfig\cfgGradIslands.hpp"
#include "BC_setup\rscDialogs.hpp"

#include "BC_buymenu\dialog\baseDefines.hpp"
#include "BC_buymenu\dialog\baseRsc.hpp"
#include "node_modules\grad-listBuymenu\grad_listBuymenu.hpp"

class CfgFunctions {
    #include "BC_buymenu\cfgFunctions.hpp"
    #include "BC_loadouts\cfgFunctions.hpp"

    #include "grad_carryBoat\cfgFunctions.hpp"
    #include "grad_islands\cfgFunctions.hpp"
    #include "grad_civMarker\cfgFunctions.hpp"
    #include "grad_tracking\cfgFunctions.hpp"
    #include "BC_flagsOnVehicles\cfgFunctions.hpp"
    #include "BC_objectives\cfgFunctions.hpp"
    #include "BC_setup\cfgFunctions.hpp"
    #include "BC_buyables\cfgFunctions.hpp"
    #include "node_modules\grad-listBuymenu\cfgFunctions.hpp"
    #include "node_modules\@gruppe-adler\replay\cfgFunctions.hpp"

    #include "node_modules\grad-loadout\cfgFunctions.hpp"
    #include "node_modules\grad-fortifications\cfgFunctions.hpp"
};

class RscTitles {
    #include "node_modules\grad-fortifications\dialog\hint\title.hpp"
    #include "BC_objectives\rscTitles.hpp"
    #include "BC_setup\rscTitles.hpp"
};

cba_settings_hasSettingsFile = 1;

class GRAD_Replay {
    precision = 5;                                    // precision of replay, 5 means every 5 seconds one snapshot (number)
    trackedSides[] = {"west", "east", "civilian"};    // defines the sides that will be tracked (possible are "west", "east", "independant", "civilian") (array)
    stepsPerTick = 1;                                 // defines steps played back at once (number)
    trackedVehicles = 1;                              // defines if empty and AI steered vehicles will be tracked (0/1)
    trackedAI = 1;                                    // defines if AI will be tracked (0/1)
    sendingChunkSize = 10;                            // higher number means replay loading is faster, but might cause instability / lags during loading (number)
    trackShots = 1;                                   // defines if shots will be tracked (0/1)
    upload = 1;                                       // upload replay to server (0/1)
};

class CfgGradBuymenu {
    vehicleMarkers = 1;
    tracking = 1;
    trackingTag = "Breaking Contact";

    #include "BC_buyables\factions.hpp"
};

OnLoadMission = "A mobile radio station is trying to get a message sent - their adversaries try to stop them from completing the broadcast";
author = "Gruppe Adler";  //appears as author in overview and loading screen
overviewText = "US vs. Russians"; //appears in overview and loading screen
onLoadName = "Breaking Contact"; //mission name for loading screen only
overviewPicture = ""; //mission picture for loading screen only
onLoadMissionTime = True;
disabledAI = 0; //1
enableDebugConsole = 1;
loadScreen = "pic\loading.jpg";
respawnDelay = 9999999;

respawn = 3;
respawnButton = 1;
respawnTemplates[] = {"ace_spectator"};

class Header
{
    gameType = TDM;
    minPlayers = 15;
    maxPlayers = 102;
};


class Params
{
    #include "BC_buyables\params.hpp"

    class TIME_OF_DAY
    {
        title = "Time of Day";
        values[] = {0,1,2,3,4,5,6,6.5,7,8,9,10,11,12,13,14,15,16,16.5,17,17.5,18,19,20,21,22,23};
        texts[] = {"00:00","01:00","02:00","03:00","04:00","05:00 - Full Moon","06:00","06:30 - Dawn","07:00 - Sunrise","08:00","09:00","10:00","11:00","12:00","13:00","14:00","15:00","16:00","16:30 - Sunset will arrive","17:00 - Sunset","17:30 - Dusk","18:00 - really dark already","19:00","20:00","21:00","22:00","23:00 - Moon Rise"};
        default = 7;
    };

    class WEATHER_OVERCAST
    {
        title = "Overcast Settings";
        values[] = {0, 0.4, 0.5, 1, -1};
        texts[] = {"SUNNY", "CLOUDY", "SLIGHT RAIN", "HEAVY RAIN", "RANDOM"};
        default = 0.4;
    };

    class WEATHER_FOG
    {
        title = "Fog Settings";
        values[] = {0, 0.05, 0.1, 0.2, 0.5, 1, -1};
        texts[] = {"None", "0.05", "0.1", "0.2", "0.5", "maximum perversum", "random"};
        default = 0.1;
    };

    class WEATHER_WIND
    {
        title = "Wind Settings";
        values[] = {0, 1, 2, 4, 8, 32, -1};
        texts[] = {"None", "1 m/s", "2 m/s", "4 m/s", "8 m/s", "maximum perversum", "random"};
        default = 1;
    };

    class BLUFOR_SPAWN_DISTANCE
    {
        title = "Spawn Distance BLUFOR";
        values[] = {1000, 2000, 3000, 4000, 5000, 6000};
        texts[] = {"1km", "2km", "3km", "4km","5km","6km"};
        default = 4000;
    };

    class GRAD_MIN_DISTANCE_TO_RADIOPOSITION
    {
        title = "Minimum Distance from radio position to next radio position";
        values[] = {500, 1000, 2000, 3000, 4000, 5000, 6000};
        texts[] = {"500m", "1km", "2km", "3km", "4km","5km","6km"};
        default = 1000;
    };

    class GRAD_TICKS_NEEDED
    {
        title = "Length of sending time";
        values[] = {30, 300, 600, 900, 1320, 1800, 2700, 3600, 4500, 5400, 6300};
        texts[] = {"30s (DEBUG)", "5'","10' (recommended for 3 radio positions)", "15'", "22'", "30' (recommended for 2 radio positions)", "45' (recommended for 1 radio position)", "1h'", "1h15'","1h30'","1h45'"};
        default = 1800;
    };

    class GRAD_INTERVALS_NEEDED
    {
        title = "Number of random places opfor needs to transmit at";
        values[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
        texts[] = {"none","2","3","4","5","6","7","8","9","10"};
        default = 2;
    };

    class PLAYER_COUNT
    {
        title = "Determine Player Count (relevant for buy options)";
        values[] = {-1,25,45,65};
        texts[] = {"automatic","20+","40+","60+"};
        default = 65;
    };

    class TIME_ACCELERATION
    {
        title = "Time Acceleration";
        values[] = {1,2,4};
        texts[] = {"normal","2h in 1h","4h in 1h"};
        default = 1;
    };

    class GRAD_REPLAY_PRECISION
    {
        title = "InGame Replay Precision";
        values[] = {1,2,3,4,5};
        texts[] = {"every 1s","every 2s","every 3s","every 4s","every 5s"};
        default = 5;
    };

    class JIP_TIME_ALLOWED
    {
        title = "JIP allowed for";
        values[] = {60, 180, 600, 1800, 999999};
        texts[] = {"1min","3min","10min","30min","always (16h)"};
        default = 999999;
    };

    class CONQUER_MODE {
        title = "Win Condition";
        values[] = {0, 1};
        texts[] =  {"Conquer Radio Truck", "Destroy Radio Truck"};
        default = 0;
    };

     class PREPARATION_TIME {
        title = "Preparation time";
        values[] = {0,60,120,180,240,300,480,600,900};
        texts[] = {"off","1min","2min","3min","4min","5min","8min","10min","15min"};
        default = 300;
    };
};

class CfgDebriefing
{
    class OpforWinsByElimination
    {
        title = "Opfor wins";
        subtitle = "by elimination";
        description = "All Blufor units are eliminated.";
        picture = "pic\gruppe-adler.paa";
    };

    class OpforWinsByTransmission
    {
        title = "Opfor wins";
        subtitle = "by completing transmission";
        description = "Opfor managed to complete their transmission. Too slow Blufor, next time hurry up!";
        picture = "pic\gruppe-adler.paa";
    };

    class OpforWinsByBluforDestroyingTheTruck
    {
        title = "Opfor wins";
        subtitle = "The radio truck was destroyed by Blufor";
        description = "Next time better make sure where to shoot at.";
        picture = "pic\gruppe-adler.paa";
    };

    class BluforWinsByElimination
    {
        title = "Blufor wins";
        subtitle = "by elimination";
        description = "All Opfor units are eliminated.";
        picture = "pic\gruppe-adler.paa";
    };

    class BluforWinsByDestruction
    {
        title = "Blufor wins";
        subtitle = "by destroying the radio unit";
        description = "Blufor managed to destroy the radio unit. Opfor, you had one job!";
        picture = "pic\gruppe-adler.paa";
    };

    class BluforWinsByConquering
    {
        title = "Blufor wins";
        subtitle = "by conquering the radio unit";
        description = "Blufor managed to conquer the radio unit. Opfor, you had one job!";
        picture = "pic\gruppe-adler.paa";
    };

    class BluforWinsByOpforDestroyingTheTruck
    {
        title = "Blufor wins";
        subtitle = "The radio truck was destroyed by Opfor";
        description = "Next time better make sure where to shoot at.";
        picture = "pic\gruppe-adler.paa";
    };

    class DrawRadioTruckDestroyed
    {
        title = "No one wins";
        subtitle = "The radio truck was destroyed by unknown source";
        description = "Next time better make sure where to shoot at.";
        picture = "pic\gruppe-adler.paa";
    };

    class DrawError
    {
        title = "No one wins";
        subtitle = "End mission error: couldnt decide on winner";
        description = "Blame nomisum, as always.";
        picture = "pic\gruppe-adler.paa";
    };
};

class CfgDebriefingSections
{
    class TransmissionTime
    {
        title = "Transmission Completion";
        variable = "BC_transmissionPercentage";
    };
};

class CfgSounds
{
    #include "grad_carryBoat\cfgSounds.hpp"
    #include "BC_buymenu\cfgSounds.hpp"

    class beam
    {
        name = "beam";
        // filename, volume, pitch
        sound[] = {"sounds\beam.ogg", 1, 1};
        // subtitle delay in seconds, subtitle text
        titles[] = {0, ""};
    };
    class beep
    {
        name = "beep";
        // filename, volume, pitch
        sound[] = {"sounds\beep2.ogg", 1, 1};
        // subtitle delay in seconds, subtitle text
        titles[] = {0, ""};
    };
    class signal_lost
    {
        name = "signal_lost";
        // filename, volume, pitch
        sound[] = {"sounds\signal_lost.ogg", 1, 1};
        // subtitle delay in seconds, subtitle text
        titles[] = {0, ""};
    };
    class signal_distortion
    {
        name = "signal_distortion";
        // filename, volume, pitch
        sound[] = {"sounds\signal_distortion.ogg", 0.5, 1};
        // subtitle delay in seconds, subtitle text
        titles[] = {0, ""};
    };

};




class Loadouts {
    #include "LIST_N.hpp"

    resetLoadout = 1;
    handleRadios = 1;

    class AllUnits {
        binoculars = "Binocular";
        map = "ItemMap";
        compass = "ItemCompass";
        watch = "ItemWatch";
    };
    class Faction {
        #include "BC_loadouts\factions.hpp"
    };
};



class CfgGradFortifications {
    boundingBoxSizeFactor = 1;
    canDemolishDefault = 1;
    demolitionTimeFactor = 1;
    playerInventorySize = 1;
    vehicleInventorySizeFactor = 1;
    canStoreInLandVehicles = 1;
    canStoreInShips = 0;
    canStoreInHelicopters = 0;
    canStoreInPlanes = 0;

    class Land_BagFence_Long_F {
        boundingBoxSize = 0.8;
        canFloat = 0;
        canCollide = 0;
        size = 1;
        demolitionTime = 10;
    };

    class Land_BagFence_End_F {
        boundingBoxSize = 0.8;
        canFloat = 0;
        canCollide = 0;
        size = 1;
        demolitionTime = 10;
    };

    class rhs_Flag_DNR_F {
        boundingBoxSize = 0.1;
        canFloat = 0;
        canCollide = 1;
        size = 0.5;
        demolitionTime = 3;
    };

    class Land_Wreck_Ural_F {
        boundingBoxSize = 0.9;
        canFloat = 0;
        canCollide = 0;
        size = 1;
        demolitionTime = 30;
    };

    class Land_Wreck_UAZ_F {
        boundingBoxSize = 0.9;
        canFloat = 0;
        canCollide = 0;
        size = 1;
        demolitionTime = 15;
    };

    class Land_Razorwire_F {
        boundingBoxSize = 0.1;
        canFloat = 0;
        canCollide = 1;
        size = 0.5;
        demolitionTime = 10;
    };

    class MetalBarrel_burning_F {
        boundingBoxSize = 0.9;
        canFloat = 0;
        canCollide = 1;
        size = 0.5;
        demolitionTime = 5;
    };

    class Campfire_burning_F {
        boundingBoxSize = 0.9;
        canFloat = 0;
        canCollide = 1;
        size = 0.5;
        demolitionTime = 5;
    };

    class Land_PortableLight_single_F {
        boundingBoxSize = 0.9;
        canFloat = 0;
        canCollide = 1;
        size = 0.5;
        demolitionTime = 5;
    };
};
// Streamator Loading Instructions
class CLib {
    Modules[] = {"CLib", "Streamator"};
};
class GRAD_carryBoat {

     class misc {
        file = grad_carryBoat\functions;

                  class createBoat;
                    class dropBoat;
                    class interpretMouseClick;
                    class interpretMouseWheel;
                  class pickupBoat;
    };
};
class pick
{
  name = "pick";
  // filename, volume, pitch
  sound[] = {"sounds\pick.ogg", 1, 1};
  // subtitle delay in seconds, subtitle text
  titles[] = {0, ""};
};
class strain1
{
  name = "strain1";
  // filename, volume, pitch
  sound[] = {"sounds\strain1.ogg", 1, 1};
  // subtitle delay in seconds, subtitle text
  titles[] = {0, ""};
};
class strain2
{
  name = "strain2";
  // filename, volume, pitch
  sound[] = {"sounds\strain2.ogg", 1, 1};
  // subtitle delay in seconds, subtitle text
  titles[] = {0, ""};
};
class strain3
{
  name = "strain3";
  // filename, volume, pitch
  sound[] = {"GRAD_carryBoat\sounds\strain3.ogg", 1, 1};
  // subtitle delay in seconds, subtitle text
  titles[] = {0, ""};
};
class strain4
{
  name = "strain4";
  // filename, volume, pitch
  sound[] = {"GRAD_carryBoat\sounds\strain4.ogg", 1, 1};
  // subtitle delay in seconds, subtitle text
  titles[] = {0, ""};
};
class release_easy
{
  name = "release_easy";
  // filename, volume, pitch
  sound[] = {"GRAD_carryBoat\sounds\release_easy.ogg", 1, 1};
  // subtitle delay in seconds, subtitle text
  titles[] = {0, ""};
};
class release_medium
{
  name = "release_medium";
  // filename, volume, pitch
  sound[] = {"GRAD_carryBoat\sounds\release_medium.ogg", 1, 1};
  // subtitle delay in seconds, subtitle text
  titles[] = {0, ""};
};
class release_hard
{
  name = "release_hard";
  // filename, volume, pitch
  sound[] = {"GRAD_carryBoat\sounds\release_hard.ogg", 1, 1};
  // subtitle delay in seconds, subtitle text
  titles[] = {0, ""};
};
params ["_parentObj"];

private _boat = "B_Boat_Transport_01_F" createVehicle [0,0,0];

clearBackpackCargoGlobal _boat;
clearItemCargoGlobal _boat;
clearMagazineCargoGlobal _boat;
clearWeaponCargoGlobal _boat;

_boat addItemCargoGlobal ["ItemGPS",1];
_boat addItemCargoGlobal ["U_B_Wetsuit",4];
_boat addItemCargoGlobal ["V_RebreatherB",4];
_boat addItemCargoGlobal ["G_B_Diving",4];

private _count = (_parentObj getVariable ["grad_carryBoatCargo", 1]);
(_parentObj setVariable ["grad_carryBoatCargo", _count - 1]);
_boat allowDamage false;

player setVariable ["GRAD_carryBoat_boatObj", _boat];

[_boat] spawn GRAD_carryBoat_fnc_pickupBoat;

{
    [_boat, _x] remoteExecCall ["disableCollisionWith", 0, _boat];
    [_boat, _x] remoteExecCall ["disableCollisionWith", 0, _x];
} forEach allUnits;#include "\z\ace\addons\main\script_component.hpp"
#include "\z\ace\addons\main\script_macros.hpp"

params ["_boat", "_mouseClickEH", "_mouseWheelEH"];

detach _boat;
addCamShake [10, 1, 3];
_boat setVelocity [velocity player select 0, velocity player select 1, 1];
(findDisplay 46) displayRemoveEventHandler ["MouseButtonDown", _mouseClickEH];
(findDisplay 46) displayRemoveEventHandler ["MouseZChanged", _mouseWheelEH];

// play sound depending on fatigue
if (getFatigue player < 0.4) then {
  playSound "release_easy";
};
if (getFatigue player >= 0.4 && getFatigue player < 0.75) then {
  playSound "release_medium";
};
if (getFatigue player >= 0.75) then {
  playSound "release_hard";
};

[] call EFUNC(interaction,hideMouseHint);

inGameUISetEventHandler ["PrevAction", "false"];
inGameUISetEventHandler ["NextAction", "false"];
player setVariable ["GRAD_carryBoat_status",0];
player setVariable ["GRAD_carryBoat_boatObj", objNull];

[{
    isTouchingGround (_this select 0)
},{
    
    params ["_boat"];

    [{
        params ["_boat"];

        _boat allowdamage true;
        {
            [_boat, _x] remoteExecCall ["enableCollisionWith", 0, _boat];
            [_boat, _x] remoteExecCall ["enableCollisionWith", 0, _x];
        } forEach allUnits;

    }, [_boat], 1] call CBA_fnc_waitAndExecute;


}, [_boat]] call CBA_fnc_waitUntilAndExecute;
if ((_this select 1) == 0) then {
  player setVariable ["GRAD_carryBoat_status",2];
};
private _boat = player getVariable ["GRAD_carryBoat_boatObj", objNull];
if (isNull _boat) exitWith {};

private _offset = _boat getVariable ["GRAD_carryBoat_attachPosition", [0, 4.5, 1.5]];

_offset params ["_carryAttachX", "_carryAttachY", "_carryAttachH"];

// min and max height player can carry boat on
private _min = 1;
private _max = 2;

if ((_this select 1) > 1 && (_carryAttachH < _max)) then {
  _carryAttachH = _carryAttachH + 0.1;
  addCamShake [4, 1, 2];
};
if ((_this select 1) < -1 && (_carryAttachH > _min)) then {
  _carryAttachH = _carryAttachH - 0.1;
  addCamShake [4, 1, 2];
};

_boat attachTo [player,[_carryAttachX, _carryAttachY, _carryAttachH]];
_boat setVariable ["GRAD_carryBoat_attachPosition", [_carryAttachX, _carryAttachY, _carryAttachH]];#include "\z\ace\addons\main\script_component.hpp"
#include "\z\ace\addons\main\script_macros.hpp"

/*

"GRAD_carryBoat_status" Variable

0 - not carrying anything
1 - carrying a boat
2 - pressed mouse button to place boat

*/

params ["_boat"];
// "B_Boat_Transport_01_F" createVehicleLocal [position player select 0,position player select 1,100];
[player] call ace_weaponselect_fnc_putWeaponAway;
sleep 1;

// sounds
private _strains = [
"strain1",
"strain2",
"strain3",
"strain4"
];

[localize "str_GRAD_carry_place","",""] call EFUNC(interaction,showMouseHint);

private _mouseClickEH = (findDisplay 46) displayAddEventHandler [
      "MouseButtonDown",
      "_this call GRAD_carryBoat_fnc_interpretMouseClick"
];
private _mouseWheelEH = (findDisplay 46) displayAddEventHandler [
      "MouseZChanged",
      "_this call GRAD_carryBoat_fnc_interpretMouseWheel"
];

inGameUISetEventHandler ["PrevAction", "true"];
inGameUISetEventHandler ["NextAction", "true"];



private _carryAttachX = 0;
private _carryAttachY = 4.5;
private _carryAttachH = 1.5;

_boat setVariable ["GRAD_carryBoat_attachPosition", [_carryAttachX, _carryAttachY, _carryAttachH]];


_boat attachTo [player,[_carryAttachX, _carryAttachY, _carryAttachH]];
player setVariable ["GRAD_carryBoat_status",1];
addCamShake [5, 1, 10];
playSound "pick";


[{
    params ["_args", "_handle"];
    _args params ["_boat", "_strains", "_mouseClickEH", "_mouseWheelEH"];

    // dropped boat, exit loop
    if (player getVariable ["GRAD_carryBoat_status",0] != 1) exitWith {
          [_handle] call CBA_fnc_removePerFrameHandler;
          [_boat, _mouseClickEH, _mouseWheelEH] call GRAD_carryBoat_fnc_dropBoat;
    };

    // drain fatigue
    player setFatigue ((getFatigue player) + 0.05);

    // add camshake
    if (getFatigue player > 0.5 && getFatigue player < 0.7) then {
        addCamShake [2, 1, 2];
    };

    // play sounds
    if (getFatigue player >= 0.7 && getFatigue player < 0.9) then {
        addCamShake [3, 1, 5];
        if (random 10 > 9) then {
        playSound (selectrandom _strains);
      };
    };

    if (getFatigue player >= 0.9) then {
      addCamShake [5, 1, 10];
      if (random 3 > 2) then {
        playSound (selectrandom _strains);
      };
    };

    if (getFatigue player > 0.9) then {
      player setVariable ["GRAD_carryBoat_status",2];
    };

},1, [_boat, _strains, _mouseClickEH, _mouseWheelEH]] call CBA_fnc_addPerFrameHandler;OggS         2      dpvorbis    D       w     OggS          2     -vorbis   Xiph.Org libVorbis I 20070622    vorbis)BCV    1L ŀАU    `$)fI)(yHI)0c1c1c 4d   (	Ij9g'r9iN8 Q9	&cnkn)%Y   @H!RH!b!b!r!r
*
2 L2餓N:騣:(B-JL1Vc]|s9s9s	BCV    BdB!R)r
2ȀАU        GI˱$O,Q53ESTMUUUUu]Wvevuv}Y[}Y[؅]aaaa}}} 4d   #9)"9 d    	")Ifjihm˲,˲        iiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h* @ @qq$ER$r,Y    @R,r4Gs4s<s<GtDɔLLY        @1q$OR-r5Ws=sMu]WUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUАU    !fj3a 4d    CY     К9堩T's9ls)ʙŠКsIКsyҚsasiҚXsYК樹sΉ'Ts9s9sΩ^9sΉڛk	]sd	s9s9s	BCV @  aƝ }b!!t1)FJPR'tАU     RH!RH!RH!b!r
**(2,2ˬ:C1J,5Vcs9HkZ+RJ) 4d   @ dARH!r)
Y      $Q%Q%2-S3=UTUWvmYu۷]u}׍_eYeYeYeYeYe	BCV     B!RH!b1ǜNB	АU        GqǑɑ$K$M,4O4EQ4MS]ueS6]5eUeveٶe[}Y}}}}}u 4d   #9")"9H d   (8#I$Y&yg驢
        h爎(ilʮ뺮뺮뺮뺮뺮뺮뺮뺮뺮뺮뺮@h* @ @Gr$Gr$ER$Er$Y    1CR$ǲ,M4O4=3=UtEY        K$QR-R5R-UT=UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU4M4А    #ArBn=X1$939"tA'=9R(DL%7 ¦\I8BCV Q  11rIɠD1	9'I)-3)%c㜣IɤKc     А@  bR
)R)R1RJ9S91)S)A圃A(     B(4dE ' p$ϓ4K%KEeMו445QTUUTUMU%MMMTUEUUӖMUm4eTUUնe~Wu3MYUMUuז}_m]445QTUMUTU6U׶5QtUQUeYTUYveYUW}KUSMUUUmU}tU]WeUY~[ׅ}UMuU}aeau(iij(m[誢ʲgʲl(,,,붨ʲ,p,뺭q0|)˦꺩nq̶m*°ʲ/u!QUuݔ]WeYm_w[m;q9omn+?a8gmn+ìBQU}]e7]Yn7[׍*˾ʲ1o0]6[ם}c	kq:u	Ǐ    @!+8 !S* tR T1!sNJPJj!* TIȜJh)RPJkRkb Ji-ZjZc2dI	Ji-sNJ砤BJKJ-VIɠAHSIPJkKJ1[n1Ji-[I)Sm-ƚ# dIɜJi-Z嘔BJJJR̜AHJI)JLJJRZl1֜Rl5ZI)ƒJl-Z[LuZJiVkjPJk%KJkn1Ji[I[-ƚSk5jn1[m=֚sJR-ƚcm՚{ Ji-bj-bJ*Zl1Z9bIŒR-ƚ[ljl1Rsl5Z-ƚSKZsV   @	eА @  ARIir9*	B9'rLB))UA%9))9%K*-Vk))k-    M
Y	 D   c"sNJcIsB*cA()PJ*)JI%  
  lДXА@  `b1 tT2*LJ'ZuRkZj@2K%ZfĘZ+   B(4d%  @c9gb941*ƜBcA!9!BBBA!RJ B)tBR
  *p  QdsBCV y  1J9F) RcJIrB))V9Z Zl5vJi-ZCJXk!b5ZkJ-Zk͹   E6'	*4d%   c1b1C)Řs)s9b9s1s9Ƙs9s9s9s9s9s9s	  *p  QdsBCV    Vb11c1Fb1cl1c1Ƙb1c1c1c1c1c1c1c1c1c1c1[kZkZkZk @
 VG8),4d%   Øs9)褄BCJ9(%PJ))sNJJZJsRR*%R ZJ-Z%Rj:ZkAH)Z-PJJb5RRjb1Rl-cZk1k-)bZkIb5Z np HqBCV ! B9sB!R1砃B!DJ1tB!1砃B!1tB!:BRJtB!PB BRJ)B(RJ)%B	RJ)BJ)BRJ)B!RJ)RBPJ)RJ!RJ)RJ	!PJ)RJ)!J)RJ)    #$"l4PhJ   qj) ŜKrb.R9GeHՔ1SRkbQOcJ1ìVJ(rv    0!3@ ) 1\2

Ǆsi Xb: X\`2]u  !nxO	:E         ""9      $f$Dd%                 OggS /      2     RwuL*'l,C'ٷ>Z\HrѣNO%+e(^RC_fW%bp#:%%:<nي<ڑ0V'  bճ39oymoe)axJֲQzwJQ"	s\ŖBŭR\\cW
̹v"A?auCy-.uֆV#zRzoAj+d~:-bֲYY\@4  vԫ_'οm;f^_Ǒ4Eys9z٠\4I$(mF:`:Znh &U4v/yIoqqwj!qr
xuMh a;{[`HN;>;ۂdKM uJ>K*GcU#$`?  `빰Gfĵ'vi״#HUSӿu|IJ7>r2Be>ri>M:l:`d+Ė|	Ih,+<J&hߣYHr(j&>w㑍2>tڒ)QیI=[r   S/wSgv7~7L<OZ-9QQi w޷23B}Ƃ0v9,K4	UeM*Jz׎VBӟD' Ev)yj6CDq?aAy ialKUiX$ eT,ߵaGރ.#HX2 +@Ue  Qv=<6V7]f݇R̛%aN@ PMcܣnͽbL}1634a]glq(a\N9n=BJӓ枺Pq^퓣Fv~ 1brO P3&%I8+  xX%z;e"97%+-+jB(xo+h{ 95]V`yhˑYZ`2vg{1zU뚷8"
<Z#vĄ9kE4F`YZp$6[TSo_4C`8%Œc~d~ +{%	&d!  @c)b'2\hOhkчc*_%='XjNQk'w,,Zh@E>A-RC-J7Fql>mm\xR=peD >餬_h~u ;c$ 98?r`nTLu{ߊ%{3iZ"G~{M ebPE5jkJәk+`0PUqL*U®OE7:#cU+t4(XE6SJzxUVxtfO(})`IX  82.=qKG=BIT{?;c% MtlYwȵRyH#G:A}/qme̝C(S]H)(IO7GSLV$(f]gVcng2؆!q@:I  4md7V3ÿ7(ZrAb@V65qk
G=$Ķl"?k)`P *ʙmF{l3)BwǺܱ >f,~VI  @xzn^"ԇ=np*ʲ\~++r7`Nk+k!-[Q&xf`$0,UcsXpk{sp(VX8^kSs e|]!Q Q  Z=<Ǖ~e[}die,|̊&
c_zxUJ	cÊ0n`?a OggS               yvorbis    D       w     OggS               X_-vorbis   Xiph.Org libVorbis I 20070622    vorbis)BCV    1L ŀАU    `$)fI)(yHI)0c1c1c 4d   (	Ij9g'r9iN8 Q9	&cnkn)%Y   @H!RH!b!b!r!r
*
2 L2餓N:騣:(B-JL1Vc]|s9s9s	BCV    BdB!R)r
2ȀАU        GI˱$O,Q53ESTMUUUUu]Wvevuv}Y[}Y[؅]aaaa}}} 4d   #9)"9 d    	")Ifjihm˲,˲        iiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h* @ @qq$ER$r,Y    @R,r4Gs4s<s<GtDɔLLY        @1q$OR-r5Ws=sMu]WUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUАU    !fj3a 4d    CY     К9堩T's9ls)ʙŠКsIКsyҚsasiҚXsYК樹sΉ'Ts9s9sΩ^9sΉڛk	]sd	s9s9s	BCV @  aƝ }b!!t1)FJPR'tАU     RH!RH!RH!b!r
**(2,2ˬ:C1J,5Vcs9HkZ+RJ) 4d   @ dARH!r)
Y      $Q%Q%2-S3=UTUWvmYu۷]u}׍_eYeYeYeYeYe	BCV     B!RH!b1ǜNB	АU        GqǑɑ$K$M,4O4EQ4MS]ueS6]5eUeveٶe[}Y}}}}}u 4d   #9")"9H d   (8#I$Y&yg驢
        h爎(ilʮ뺮뺮뺮뺮뺮뺮뺮뺮뺮뺮뺮@h* @ @Gr$Gr$ER$Er$Y    1CR$ǲ,M4O4=3=UtEY        K$QR-R5R-UT=UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU4M4А    #ArBn=X1$939"tA'=9R(DL%7 ¦\I8BCV Q  11rIɠD1	9'I)-3)%c㜣IɤKc     А@  bR
)R)R1RJ9S91)S)A圃A(     B(4dE ' p$ϓ4K%KEeMו445QTUUTUMU%MMMTUEUUӖMUm4eTUUնe~Wu3MYUMUuז}_m]445QTUMUTU6U׶5QtUQUeYTUYveYUW}KUSMUUUmU}tU]WeUY~[ׅ}UMuU}aeau(iij(m[誢ʲgʲl(,,,붨ʲ,p,뺭q0|)˦꺩nq̶m*°ʲ/u!QUuݔ]WeYm_w[m;q9omn+?a8gmn+ìBQU}]e7]Yn7[׍*˾ʲ1o0]6[ם}c	kq:u	Ǐ    @!+8 !S* tR T1!sNJPJj!* TIȜJh)RPJkRkb Ji-ZjZc2dI	Ji-sNJ砤BJKJ-VIɠAHSIPJkKJ1[n1Ji-[I)Sm-ƚ# dIɜJi-Z嘔BJJJR̜AHJI)JLJJRZl1֜Rl5ZI)ƒJl-Z[LuZJiVkjPJk%KJkn1Ji[I[-ƚSk5jn1[m=֚sJR-ƚcm՚{ Ji-bj-bJ*Zl1Z9bIŒR-ƚ[ljl1Rsl5Z-ƚSKZsV   @	eА @  ARIir9*	B9'rLB))UA%9))9%K*-Vk))k-    M
Y	 D   c"sNJcIsB*cA()PJ*)JI%  
  lДXА@  `b1 tT2*LJ'ZuRkZj@2K%ZfĘZ+   B(4d%  @c9gb941*ƜBcA!9!BBBA!RJ B)tBR
  *p  QdsBCV y  1J9F) RcJIrB))V9Z Zl5vJi-ZCJXk!b5ZkJ-Zk͹   E6'	*4d%   c1b1C)Řs)s9b9s1s9Ƙs9s9s9s9s9s9s	  *p  QdsBCV    Vb11c1Fb1cl1c1Ƙb1c1c1c1c1c1c1c1c1c1c1[kZkZkZk @
 VG8),4d%   Øs9)褄BCJ9(%PJ))sNJJZJsRR*%R ZJ-Z%Rj:ZkAH)Z-PJJb5RRjb1Rl-cZk1k-)bZkIb5Z np HqBCV ! B9sB!R1砃B!DJ1tB!1砃B!1tB!:BRJtB!PB BRJ)B(RJ)%B	RJ)BJ)BRJ)B!RJ)RBPJ)RJ!RJ)RJ	!PJ)RJ)!J)RJ)    #$"l4PhJ   qj) ŜKrb.R9GeHՔ1SRkbQOcJ1ìVJ(rv    0!3@ ) 1\2

Ǆsi Xb: X\`2]u  !nxO	:E         ""9      $f$Dd%                 OggS &          N*++-*((I_oqQ	 nxڰ2m)\wo|OD(5yv XɎtVe<|B&g
 1@ |)9_N|\J'5kZVe.f^W^Z\ 1Pds~hkn$W^# bZTRSC3GAϐc$r5'BNM8.GWE/E<?w&?	 îs"׈Hk JD?t};] ?0m۾p8  8~V8XRnu5sy>?iyqhsֽj>v6 FWf䞩wG\wBg~sps@KP̣cd11X\0]KDH[!=8U0҅"u_F* L+βiGϮ7&MY  Χ-׆^NՋz~kk} G"PPcDb |qP ws?f ;m6k/$lmuX,?.  4ٖ+]ɶ)KfjʯH@,=Ri5Bs>, 6cmV}̾wpn|> cۋ   M}ylǩ_{qtܾaKdա硼o2yG~R,fWwJRSkQdq#:؏U^Jh(b>-Yѕ`6l^mC\WZ̀v˻xi!0)'my<"k<0^mH3d`i8-ߛJ  h]c~h#e3Iv_OVC~9zȍ-=	4.U CB83,s7Jvu~%S|7Q%"L:W{)q!vSŗ[pUxQ٧$hnmVa0,	I  5[/C2]֐jtw'ГgoMbC!T/VL#ѷ7F̳dtK@2-4 {aP$̛Ă#* u
]k ^?Qf"KK  @$IpY/.֟qKX{'sFfS+J+"@^bNZYOǣ'䧄IO7M;޲j8 	#4+6^e=3is  >qV15AE5`VWE  `GϤq<ڗz@z{v9.HNዧ:r{Ԫí	q:r8u͋Svw
aJ&IIgLaDo=:8tiT.9)p >^ʡ51V  1EN]z*z/$wL)ϯM1peX-?*MTZ7&eƬ}#V;/\,Ȣ~	b>a}'*;Q <4Rm GH)xPà
 lSi{HUU, (ܴ#]mߕHϷ'/;z`*xP|G
ߺv"R<ra^213*\ )'ca'QH>U	X5-	aF:6'ß!"0d
Ĉd hA"	NmX,g  ԯ_{<1mtRhuwxDxpOQ \.2tIVQEpn7 0u}}|t `z֦t?t@(X0u#
 OggS         _P      6)vorbis    "V            OggS          _P     HNI-vorbis   Xiph.Org libVorbis I 20070622    vorbis"BCV @  B*c:!B)B!$C:5cGdBɁАU  @  WPrI-sWq s gq	%s9r1sWr)-sGqsGqsm1r9s Rr5sgr%s gq s5r9s9s9s1s9sn1s9s9s9s 4d   ((
   @qGK$Y     HHXfi&z(*iʲ,˲.
 H  PQpY d  `(8XY     PGM$<<<<<<<Y     (dBCV @  !CR\
BCBC)%cSA!|={АU    a8$!b'Dq !$Xy$݃B{˹{ 4d    B!B)RH)b)s1 2蠓N:ɤN:$Rk)SLc֜sA)c1c1c1#Y   dA!RH)r1BCV      ER$Gr$G$ɒ,I<˳<˳<MDMUUmm_meee]eݵm]]]u]u]u]u]u]ׁАU  88HH

   8HX%Y&igyy
        (8$Yiz(jiiiiiiiiiii!  	  qGqq$G$ 4d      CQEr,ǒ4K<D\Q6uSWm 4d          s<s<ɓ<s<Ǔ<I4M4M4M4M4M4M4M4M4M4M4M4M4M4MBCV d  JNWF)$^*{bL:B)J!2R{Bꡃ1sϽY D   c1&%1$dR"眔NJ&VZ̤JsNJ'%RZeJk%    ,BCV Q  1H)RJ1CJ)ǔcH)rN9ǘt*tJr9s2sB&     А@  s1cB	)PRAIRIŒRsR:	)uR*)XR-Tci-R-Ɯ[b-ZZXs59J:)jMIi-bi-b)Ɯ3)b+b5si-c)ƞkǜ0՜Z9Ř{̱ss:)uRZK՚Z5ZiƐZ-Ɯ[1gRZ,XZ1Řs-Z)ƜS9Z^Z9Ř{s06Ǟ;Jz.^s.B܋h-j*ƞs܃j={9s[EȜй{0Fڃ̵s:"txj.\Z=|9Z)Sמ!Z=؃1s0:bTǜ{/J kP2"t蠋/  `  2PhȊ  N A9J)B()UIȘ1'RZ%1cR2ǤZ*%JiZ(Z)C)RZ+Z1VcĘ9)cRJ)RZ1(J))RRsR2tJ*TRiR)ŒRl)T[RZ,VRj1T[1׈1)sR2礔RR+9'J栤Rk3tJ RR-S(RlZZ-%VRj[1KMJ*1RZk1Z1[))ƒJlŚ[l9RZ,VJjՖckR)[lƔSZ5TckX[o֜;)RZ+%ŘZXs(%Rl[lcXJjck1[Z[lb[n=kR5cM9  0  `B(4d%   csNJsIɜBJsBH)sNBJ-eAHPJJJI  (p  ASbqBCV Q  1J11F) 4(J)ƜP)ŘsP2ǜPJsJ	!RJJ!RJI    4%(4dE   c3!
R$Qk(KV{{m7J֎k˹iM=  ;p  ;
Y	  (Řss9R9s1眃BŘsA!s99J蜃PJ)tAR: RJ)sJ) 
  lٜ`$А @  `BIia9-0bRFAH)Ơ;()l𝄔Z9R5ރH=VsϽb5s/  w F	F
Y	  )Řss9R1s1ƜsAc9!c9 1sBsB!t9!:砃BsB! 
  lٜ`$А @8   !B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!Bs9s9s9s9' ȷV
GY	   
A(bJ)%N:)PJ)RJ餔RJ	RJRJRB)RJ)RJ)R:)RJ)9)RJ)DI)!RJ)RJ)RJ)RJ)RJ)B!B!B!B!B!B!B!   la%p4А @H  sJ)RB))RJ
cIPR(9B*!uA%R	!:(PR*%9(JJ)BHtR(%B*!RJH%J
TJ
TRtB'%J
R*%JJ%tRB*)BJJH)NRIB(!RJ%JJ!TB	R(TRJ)R)    :ɨM    @tiI"1E') ,Sc9(FC1Jb<&CPQ9c|     ( #m 	
A& <@DH 	҅.!td7m       P UX\`dhlptx|      |  $"@DD4s !        @@@         @@OggS  ?      _P     ܸ^"Q`\fGleJe-awkٿ;A3(,X9l< wiM`ůuVOLZ <>. ڬX^z`dd$.4:Ź7Cm<!x<9SWe7ݬ DɍfМ/@Gp6>Yo9L%M餉F1mi/ө߯m#i<^y҃.
Pʝ͜]	z-r=)z#!G&y: PzZ	_$o=OC~dc哠ς'WAZE1ѝ*_'aHhCUzmi_DJtNc_Z@̸G=n.;]A^j>pqĐ-5j/	Z*6]ǯ1xiz?ypt֝[etV{P7A]D 4]
"!H}+'QSrL~%kȍ%|IqZuQj,
u ~9]Ch,z+yL<=a%nk1EN6lų*5	<J*^[˳RC)V*76Oޑ ,a6Aw:Ee'
 ޸.iɻõmͶtcK{-#o+lӡnGs=KAHE$	j{X4{?MDϘJ{uE;J uF?k8rruUU9 ^RO J:yWfkFrmoާ#AkŹdnze>'ҋB=7~ӋAppAgkc	Ppp+%6<sw$8Q nVcvlg]qch=:çh_C)lW-5Sy4W^O;~l<`ae-?nV.|ZX͡qN{9\_4}m|j.-j.X\M_:R<ȻHY$l\uxq&La*5ԍ]C!"z"\܍}j@]ƖVhѸg.VM%'=p=7]$,2$J1NMpJ<ŧ h3W[~teDŏ(0S=J^ϿW|
	ARb0 Ɓj_o- P#jHCfL]\'+azXZYR <pX Ilvhҹ)kC.VHg0C<
5sjEվG5u̖B
9[Ja$@BaiBjjT)ed7ϐ	^&UV/6W UCnF&^l_ܷo=Jy5VIwٻ#y7?4x8׌g2v\Ï'c;Bx#k	t]eĪE<椪)v_  m=̶+tX97i@Y*L`s(F%1oT(赕y 9leGcW^x{Ҡ2 Ec}JcUJ>&Ee] mg3WyuOLI[I+eZq&/##eLLov^_H^KkPQ7F>diia*T\Ľ1VAyU$3Ӈ7r<J5>
xbampEe_'W̷/.{yvd=8TL=PO7ZRH7c6WAܻ,O\:R	Y)~华㉥Fjŋ&hFU`aѹv-jd0.G1vDr$(/=/ӰԇgO֑TH9OvA17%@$dBQO~4	CV; yY5
fviK|]q[cb.Es-ƼfȠɯ|=U.0cwtOπ{KiHi`s/V{hi^f:i,K(!,c CivrR%jOЍ25&:]en1C!9o|8JS'p\ĨBYgnh'6䆋6Jº2ד-s%n+WfAѐ{kgCmszmu<{=/_Zۉ4(㢵KDͺzQJ׌L-"isU	Rk&wY!`w{4D(:4j`o fܘ=e6gL^8&奓LyŵfܜH!?Lq)W~c:,c]`Y/$sF{NI6UxzOh#:k+F[VjѾb 1`۶+sS̎bw=+O)mު>DX7:()b:RYdOQ+>#V7⩃E*^{zFd3'nY$#F_Hi`j)`  )guǦÏՍ9إts;Lv'aiy^rWH}(Qc:U}
1.`5*v[-+YA\pocA|z l\*o  ն]=:8o(^t[B?p2:mbw;5}c)OqB۴9# t[J؜{-I~\ѿ$58!{cȪ:->D8<;T0҃wm}`d=;i?Q%A=(hR,ayD ӟH5/è:dPP0T[Icƨ\+Y/\51~CϝCf  yΩ9ִ7Z$8:*Y4V%?HADZBҴPY}u:Bh/hUnD>Ij"?q49BF#Vl} ^X
(-Ǉ]  @c۶
c&M,[osΦZF""19<kZVG鬹?d'[`od4(<<?p@hvXCsU-P »o\ȍ(SkX&5
,]nGX,|/p	mmm;{;gu~8jaϭ|ULNΖÀQSϼ/20sW@.xj}xJ2~^&D7Mc-K""ElegXlp( x|/~~#:<O1ϊS0(|`%NXiA\ӆkQK]iI .<Qhl8G`Evr-šs*q:H)B^F 9zMktaHoيNs,4ۀs*gFMRjv _oSRsL~8s1rQ$(S/I>8y	ˀMQVFV[gcE&'|@Y)[<Y+JlD8HDQ <[ze///
6cG}]fOS8X( ͠RKȆ]iZʥ,A .lGEUIW*Rj
$jh c=ceY0j\^~yU$O7: sEM$c(VJ%_~s~s;`;@Ӱ!,f'`jP>l/;~ً T){26L+hwMYM:7OggS \      _P     :JdHg^Hm^DkVIoTH2u8YHZK8ɉKϟ)C	qX/4~:w٢Ni%8`y?)YmKȕU&ý$V<glG`Xק,4dRl Q\r2l@eLd
/^N p94dKfH]t(S;,TS0uGH&CWbcdZF~-EG>C-ZYX+# I!fЗO*s3%
8L$L?~	Ev)OEJ )IZ왬S$%Α-aZ|j䮞,XpʛtgㆿxR%}6gL3B   ymHv٥*W;?	kڒC`1^A
E6AJ5)LהEEb)<R
n|fp;c=[Q+# IH+kB XRɓgUU#M0MvUQϩgJ}(/HQ_r\q]B3XKIj{uK#  }̓FOJәEhrlk pM
c-Wx`ѓz=T/>ouv4"kyh+:$׉X' 0s1:+LƷ!{C=r]x̀%v=,,#OjPgy*{+ Hb!f;2O'Z
 )4u7)=#6	0zW=u⶷Q/픈Cd5&/b:l8G
`E1k@W~G(N_s (w3[@Å?D_k}gQȄWP uBPuUV68+{vq%ܺʳ
o|REMX}JQM&}iFT\ܬ)#$"qb}/JSB]KJ#9D)[vλd@=01lVU"8/ UNrCmz1>wy5!UMQ lG
E1e~L3evRJpp_Nɓ	}S^ot[8Ni7{h.%'K# 8 HK Rǹx
 NW̌.!`q.i_),OggS         P      vorbis    "V            OggS          P     Q-vorbis   Xiph.Org libVorbis I 20070622    vorbis"BCV @  B*c:!B)B!$C:5cGdBɁАU  @  WPrI-sWq s gq	%s9r1sWr)-sGqsGqsm1r9s Rr5sgr%s gq s5r9s9s9s1s9sn1s9s9s9s 4d   ((
   @qGK$Y     HHXfi&z(*iʲ,˲.
 H  PQpY d  `(8XY     PGM$<<<<<<<Y     (dBCV @  !CR\
BCBC)%cSA!|={АU    a8$!b'Dq !$Xy$݃B{˹{ 4d    B!B)RH)b)s1 2蠓N:ɤN:$Rk)SLc֜sA)c1c1c1#Y   dA!RH)r1BCV      ER$Gr$G$ɒ,I<˳<˳<MDMUUmm_meee]eݵm]]]u]u]u]u]u]ׁАU  88HH

   8HX%Y&igyy
        (8$Yiz(jiiiiiiiiiii!  	  qGqq$G$ 4d      CQEr,ǒ4K<D\Q6uSWm 4d          s<s<ɓ<s<Ǔ<I4M4M4M4M4M4M4M4M4M4M4M4M4M4MBCV d  JNWF)$^*{bL:B)J!2R{Bꡃ1sϽY D   c1&%1$dR"眔NJ&VZ̤JsNJ'%RZeJk%    ,BCV Q  1H)RJ1CJ)ǔcH)rN9ǘt*tJr9s2sB&     А@  s1cB	)PRAIRIŒRsR:	)uR*)XR-Tci-R-Ɯ[b-ZZXs59J:)jMIi-bi-b)Ɯ3)b+b5si-c)ƞkǜ0՜Z9Ř{̱ss:)uRZK՚Z5ZiƐZ-Ɯ[1gRZ,XZ1Řs-Z)ƜS9Z^Z9Ř{s06Ǟ;Jz.^s.B܋h-j*ƞs܃j={9s[EȜй{0Fڃ̵s:"txj.\Z=|9Z)Sמ!Z=؃1s0:bTǜ{/J kP2"t蠋/  `  2PhȊ  N A9J)B()UIȘ1'RZ%1cR2ǤZ*%JiZ(Z)C)RZ+Z1VcĘ9)cRJ)RZ1(J))RRsR2tJ*TRiR)ŒRl)T[RZ,VRj1T[1׈1)sR2礔RR+9'J栤Rk3tJ RR-S(RlZZ-%VRj[1KMJ*1RZk1Z1[))ƒJlŚ[l9RZ,VJjՖckR)[lƔSZ5TckX[o֜;)RZ+%ŘZXs(%Rl[lcXJjck1[Z[lb[n=kR5cM9  0  `B(4d%   csNJsIɜBJsBH)sNBJ-eAHPJJJI  (p  ASbqBCV Q  1J11F) 4(J)ƜP)ŘsP2ǜPJsJ	!RJJ!RJI    4%(4dE   c3!
R$Qk(KV{{m7J֎k˹iM=  ;p  ;
Y	  (Řss9R9s1眃BŘsA!s99J蜃PJ)tAR: RJ)sJ) 
  lٜ`$А @  `BIia9-0bRFAH)Ơ;()l𝄔Z9R5ރH=VsϽb5s/  w F	F
Y	  )Řss9R1s1ƜsAc9!c9 1sBsB!t9!:砃BsB! 
  lٜ`$А @8   !B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!Bs9s9s9s9' ȷV
GY	   
A(bJ)%N:)PJ)RJ餔RJ	RJRJRB)RJ)RJ)R:)RJ)9)RJ)DI)!RJ)RJ)RJ)RJ)RJ)B!B!B!B!B!B!B!   la%p4А @H  sJ)RB))RJ
cIPR(9B*!uA%R	!:(PR*%9(JJ)BHtR(%B*!RJH%J
TJ
TRtB'%J
R*%JJ%tRB*)BJJH)NRIB(!RJ%JJ!TB	R(TRJ)R)    :ɨM    @tiI"1E') ,Sc9(FC1Jb<&CPQ9c|     ( #m 	
A& <@DH 	҅.!td7m       P UX\`dhlptx|      |  $"@DD4s !        @@@         @@OggS  =      P     u'aYj[B]`Y]UTc\_a~~}?jHeiIhdHj-, 4(/Q=Qm[cȼw)h7Fmgiϩ9o˶ԴMvH⠡@5éå q<<{z{3 fq  sERm^\ۆ?##/
t7sHd#K.hx .|7(^$ܴ;8%U-!|vhBIv8|3쁃 (o^zgq d4~gx6ݨ(=;TzOWX.x%`V&| ;ƣa 4wph$4Z^ײWQIiHD!z}\UFDb!1J	ֈU'%3 4~j?@Q&LF3G,bڂ[shy[KR=kG u?/j Mmb wrXGJK_.jRpy;3#er"}w6~+6 1o   eu?_+\y8ӿ<8mnC6zuVYo!Zk>541O7x>6A   s}cuv;HrK>yxA7\ϞNq՗=mV<dyAbQ}+F"4[œ秵 o 4.({j΢~S^E]Zr,en7/LZ.=Ǡ"L(V͠<uujP's[F@ m Ɣ'7]pkv4wk永#V;3$n[ FRaz-=nhn(3S;۹=tGxhgTVQXN   ${ @c~]=P mX$au-4S3"HD{|r<Z &ʍC治I7B.Ew/ L3q&nuX~0ކ3!{OC4"39#	K&?vwV U]Wg1T_쮬T=N- M'٩ 9RϭEc2/>vwddt[4!hѱXe͜δ<bqُK,~&x=әFv6l^ej3|<`$i܈yl	n^G&Ȃqgߪ:NIü<yxt:e  |UPn8-xb7o嶑<	6.,ot\%	$[k%4#h;Yr0dwudwa`(7Y!m|8\cxP|w   kthmf\!)%j<u[׃Z*ՠbF݇?LT;Bmۭwo}IݯGo|f?nu4iZFkˇ Ulץ⇷_je&^[ 9wU"3eG?D>Yʆ#Ny7Z6%llU#Dz JW+DO@S >4NJ -mrzx9fyaie6oT,cC%Z,{PY & o@Q՝&ބɅtS<}Dwiu28aK?	79(~m5]t <X5
GUJLEv$B*_rYk~\hnrqu,%M*OK=t6rs$Osƥl=[qݝz+&]fW<ϱXjtֺ`m Ӭ}e藧sy]!鬬`I~QKvu?#ۺ2vFUڱs>S)@V+2h$bĵR[{yF[(SDy|D?`af2*|;[^k8PMviv/	Wkڬ~WXxk)UZY:z?9%Q)61gR!<w?GX`߄x"b̋6X
>O[wiOpE9Y^`rZL=ζzIkjpY(liz{2ąy}Oߴk{~Wܺ k(=aS^.ܹ&Z6IɱxK"/Քp>3o=yƯj ,ja%VG^&m]>#MuQ$-幣y[ڌ"r,C'*4jh5kR\b]<_0}aG%TY΍c)b9
W>Z,z4}P5إm3Je)xgs;Gy*%nAŗLE	a)T;fShLHfW#z[Ej*&<tZ;s]qYS1MgEI mVF/cWST.>ji2h0.,!+Vbw,EO5ϾUg^vI~[UQCQutw >tehou=rf۷L/%9xZ	H- ^ٳ:K4.c{絉ɍ'/iBg]Y理ܙ/1s0SPm~bkYcWվ+3x1ǭ.FGMJmHzV|eHSȊэۑ/ L۶mJ{6l6@й*FrniQw(8$'= b<y3#(iy'B/fEK =ʵߥE[o=Z  (kV] ٶ{hΥG LweՇ6ɝ穮m7}^Bg,B=@Eۃ2*q")͢V5)^mW/o3麵v El۶mwwfgEim	Nڧ]wq[O(?!qd4ZL^%<y|ra'{7w_2i4x-IQ˄QhtڧS N6hJ0d1Aبt0߫/unCatDjۉ /OY?2,/4>>> l%gu`07z/uY{L4Q	$j&Tk&A"%65Ij]Vj㯬K# H (fp%J򱌻ʅ(6 ToS+W~H*EZ*s	FHEx9H*L l<V7xsy.R_ 7Xo:1!c_7d0>(sik7&J&HhW 箳_*||||||\`pd+sOA>L]f;\3gobv*IJ}֮==7-bL.
Mx%	ɑxBbh0v?l	WOa+
WxҗtUS<s-Vxl%l'RD$R,&lY
Nݯ |JB㳴\%AHo\YiЅz]E!CRd8hcVº:+#7΋$Ru	16,r~Oa%%xQI		 q9l/lYb83"%Fi)!(ub(aW+# H(yJ8YtQ(!*ͤ8ooW|ضΚ81#
>9!w=s6Rbv!އ_\;ăHp0s)w2P<,୴`Dқ.[!(a #XV\InOggS T      P     AbHk`Fm\Ki^C,lyR$bm䵖<O]`g1m;R?}[p՝b%z/)l)=uT`8;u- lGEe@	*Gk3È U/=77jze:I9FA(vS4GS]t,0bU49-}s2*߆X^KJ*
Avu=_ʑ4?4/(H}jvY~5IW*\0lOH	H9?T CX9@}^^םzTU!dK(t9['e=M)h6{Ԭ429 K#  (tܪJ+0)fg# /śB+[6D%
)?Ʀ YŢW
I\1P: iIiEȕG>mB#&ܺR3Um͖;Ѭt6uҥ@$*h[FYx 8 meý-"'OBTUZӮ`Obe<<[M]͕j9MK,XSgܡ"-
j>klG
Eb	{v<;,\BH1h@Q̾k&saHC$Xg>9
ubݎ&h.ᜳ׷iHWج~Ҏ许u
,t]61~e،5o氤v;5ՠM_P5-ʘk	q$H[񊘝@x~1DU &@0&ugV޸I"6zgt΀rwZ
emrYՎw9.3Le%%%	Αde'Sl5٬_sEw )*\QLX\x/yE7l~LK# 8 9\/>VA狯˷嫌ˀOggS         jB      vorbis    "V            OggS          jB     d-vorbis   Xiph.Org libVorbis I 20070622    vorbis"BCV @  B*c:!B)B!$C:5cGdBɁАU  @  WPrI-sWq s gq	%s9r1sWr)-sGqsGqsm1r9s Rr5sgr%s gq s5r9s9s9s1s9sn1s9s9s9s 4d   ((
   @qGK$Y     HHXfi&z(*iʲ,˲.
 H  PQpY d  `(8XY     PGM$<<<<<<<Y     (dBCV @  !CR\
BCBC)%cSA!|={АU    a8$!b'Dq !$Xy$݃B{˹{ 4d    B!B)RH)b)s1 2蠓N:ɤN:$Rk)SLc֜sA)c1c1c1#Y   dA!RH)r1BCV      ER$Gr$G$ɒ,I<˳<˳<MDMUUmm_meee]eݵm]]]u]u]u]u]u]ׁАU  88HH

   8HX%Y&igyy
        (8$Yiz(jiiiiiiiiiii!  	  qGqq$G$ 4d      CQEr,ǒ4K<D\Q6uSWm 4d          s<s<ɓ<s<Ǔ<I4M4M4M4M4M4M4M4M4M4M4M4M4M4MBCV d  JNWF)$^*{bL:B)J!2R{Bꡃ1sϽY D   c1&%1$dR"眔NJ&VZ̤JsNJ'%RZeJk%    ,BCV Q  1H)RJ1CJ)ǔcH)rN9ǘt*tJr9s2sB&     А@  s1cB	)PRAIRIŒRsR:	)uR*)XR-Tci-R-Ɯ[b-ZZXs59J:)jMIi-bi-b)Ɯ3)b+b5si-c)ƞkǜ0՜Z9Ř{̱ss:)uRZK՚Z5ZiƐZ-Ɯ[1gRZ,XZ1Řs-Z)ƜS9Z^Z9Ř{s06Ǟ;Jz.^s.B܋h-j*ƞs܃j={9s[EȜй{0Fڃ̵s:"txj.\Z=|9Z)Sמ!Z=؃1s0:bTǜ{/J kP2"t蠋/  `  2PhȊ  N A9J)B()UIȘ1'RZ%1cR2ǤZ*%JiZ(Z)C)RZ+Z1VcĘ9)cRJ)RZ1(J))RRsR2tJ*TRiR)ŒRl)T[RZ,VRj1T[1׈1)sR2礔RR+9'J栤Rk3tJ RR-S(RlZZ-%VRj[1KMJ*1RZk1Z1[))ƒJlŚ[l9RZ,VJjՖckR)[lƔSZ5TckX[o֜;)RZ+%ŘZXs(%Rl[lcXJjck1[Z[lb[n=kR5cM9  0  `B(4d%   csNJsIɜBJsBH)sNBJ-eAHPJJJI  (p  ASbqBCV Q  1J11F) 4(J)ƜP)ŘsP2ǜPJsJ	!RJJ!RJI    4%(4dE   c3!
R$Qk(KV{{m7J֎k˹iM=  ;p  ;
Y	  (Řss9R9s1眃BŘsA!s99J蜃PJ)tAR: RJ)sJ) 
  lٜ`$А @  `BIia9-0bRFAH)Ơ;()l𝄔Z9R5ރH=VsϽb5s/  w F	F
Y	  )Řss9R1s1ƜsAc9!c9 1sBsB!t9!:砃BsB! 
  lٜ`$А @8   !B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!Bs9s9s9s9' ȷV
GY	   
A(bJ)%N:)PJ)RJ餔RJ	RJRJRB)RJ)RJ)R:)RJ)9)RJ)DI)!RJ)RJ)RJ)RJ)RJ)B!B!B!B!B!B!B!   la%p4А @H  sJ)RB))RJ
cIPR(9B*!uA%R	!:(PR*%9(JJ)BHtR(%B*!RJH%J
TJ
TRtB'%J
R*%JJ%tRB*)BJJH)NRIB(!RJ%JJ!TB	R(TRJ)R)    :ɨM    @tiI"1E') ,Sc9(FC1Jb<&CPQ9c|     ( #m 	
A& <@DH 	҅.!td7m       P UX\`dhlptx|      |  $"@DD4s !        @@@         @@OggS       jB     x7[Zag_4<X qu6gZOTfP0,|ӿohn fHoyȊqwŊ Э1l4jt30o] PN]߶i6	ɇcf:bڽ}yР<pfg)K=L.tFKIi <^l ,@H՗Vcki8T58Ib#48PV2v ncl/WiYyf0 O8gITlŖXpu$}ve,MS+Xf{h~U7 Z4	&dVi6nC	NG
j 'J->?I1ɔ$EQlŎ'  @s[u38Z2t/3]U	
۫SEl7<;MIl~U{CֳڜA} Y
P"M, T<z/N][T:n75vohk+65֒9!9L1tL taыwFasN5Y)#PǞ>ucBnfUwGu+0I%exi +	kb(cݳr|S]+:B-05TqOV!OkShng}L,3vs4
a-z&(\}m ~)		9iPgyKXhI&H\o:_ԦWı ?{"cdpwWgVgoN.U3<XxՋ¾*4UfT:Vлr#מdw	na
H Y[\.ê-H.vjZOi?9dܪq{K#f;'"-b'5v) pv~j* kk$Ԗ5"SMKM`,	EzDPx<VOm%{FZ'רoI/F͈餫j^$mw9!LrIEcTz}(468Ϩe}gle6flCKk&\%HTCM:"^.xBj'<;ť{V1z#c}G@9jnQ	XjKzX*2ue8!41DT.>p/H7RdG>KK~H:"k,Thzӻ4T=Oyf>kޓjǈoJ-'LMX6Iq*Xȗ^!]$ɔ-Mq>-2V2(?M+ɚS>Mf^̕x`
<6F ,
  \ OggS         P      ovorbis    "V            OggS          P     r-vorbis   Xiph.Org libVorbis I 20070622    vorbis"BCV @  B*c:!B)B!$C:5cGdBɁАU  @  WPrI-sWq s gq	%s9r1sWr)-sGqsGqsm1r9s Rr5sgr%s gq s5r9s9s9s1s9sn1s9s9s9s 4d   ((
   @qGK$Y     HHXfi&z(*iʲ,˲.
 H  PQpY d  `(8XY     PGM$<<<<<<<Y     (dBCV @  !CR\
BCBC)%cSA!|={АU    a8$!b'Dq !$Xy$݃B{˹{ 4d    B!B)RH)b)s1 2蠓N:ɤN:$Rk)SLc֜sA)c1c1c1#Y   dA!RH)r1BCV      ER$Gr$G$ɒ,I<˳<˳<MDMUUmm_meee]eݵm]]]u]u]u]u]u]ׁАU  88HH

   8HX%Y&igyy
        (8$Yiz(jiiiiiiiiiii!  	  qGqq$G$ 4d      CQEr,ǒ4K<D\Q6uSWm 4d          s<s<ɓ<s<Ǔ<I4M4M4M4M4M4M4M4M4M4M4M4M4M4MBCV d  JNWF)$^*{bL:B)J!2R{Bꡃ1sϽY D   c1&%1$dR"眔NJ&VZ̤JsNJ'%RZeJk%    ,BCV Q  1H)RJ1CJ)ǔcH)rN9ǘt*tJr9s2sB&     А@  s1cB	)PRAIRIŒRsR:	)uR*)XR-Tci-R-Ɯ[b-ZZXs59J:)jMIi-bi-b)Ɯ3)b+b5si-c)ƞkǜ0՜Z9Ř{̱ss:)uRZK՚Z5ZiƐZ-Ɯ[1gRZ,XZ1Řs-Z)ƜS9Z^Z9Ř{s06Ǟ;Jz.^s.B܋h-j*ƞs܃j={9s[EȜй{0Fڃ̵s:"txj.\Z=|9Z)Sמ!Z=؃1s0:bTǜ{/J kP2"t蠋/  `  2PhȊ  N A9J)B()UIȘ1'RZ%1cR2ǤZ*%JiZ(Z)C)RZ+Z1VcĘ9)cRJ)RZ1(J))RRsR2tJ*TRiR)ŒRl)T[RZ,VRj1T[1׈1)sR2礔RR+9'J栤Rk3tJ RR-S(RlZZ-%VRj[1KMJ*1RZk1Z1[))ƒJlŚ[l9RZ,VJjՖckR)[lƔSZ5TckX[o֜;)RZ+%ŘZXs(%Rl[lcXJjck1[Z[lb[n=kR5cM9  0  `B(4d%   csNJsIɜBJsBH)sNBJ-eAHPJJJI  (p  ASbqBCV Q  1J11F) 4(J)ƜP)ŘsP2ǜPJsJ	!RJJ!RJI    4%(4dE   c3!
R$Qk(KV{{m7J֎k˹iM=  ;p  ;
Y	  (Řss9R9s1眃BŘsA!s99J蜃PJ)tAR: RJ)sJ) 
  lٜ`$А @  `BIia9-0bRFAH)Ơ;()l𝄔Z9R5ރH=VsϽb5s/  w F	F
Y	  )Řss9R1s1ƜsAc9!c9 1sBsB!t9!:砃BsB! 
  lٜ`$А @8   !B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!Bs9s9s9s9' ȷV
GY	   
A(bJ)%N:)PJ)RJ餔RJ	RJRJRB)RJ)RJ)R:)RJ)9)RJ)DI)!RJ)RJ)RJ)RJ)RJ)B!B!B!B!B!B!B!   la%p4А @H  sJ)RB))RJ
cIPR(9B*!uA%R	!:(PR*%9(JJ)BHtR(%B*!RJH%J
TJ
TRtB'%J
R*%JJ%tRB*)BJJH)NRIB(!RJ%JJ!TB	R(TRJ)R)    :ɨM    @tiI"1E') ,Sc9(FC1Jb<&CPQ9c|     ( #m 	
A& <@DH 	҅.!td7m       P UX\`dhlptx|      |  $"@DD4s !        @@@         @@OggS ]E      P     ='@SZZ_df|~~~}~wpJNnFVpFXoF_kIdlCafF>-aG `o{9_F]NvZUN]N!:	NkY  X:>Ddݑ VI.z3)x_~Y)g>?~^%,{7>̔sT־qvGXN|ꎥnN/_j~BB
Tx25dZl8F~غk49N ʺ\`.s2:l&D?'6ՍhIĪXPY 3^ޘMd D6&EۺrZֱD1c\qgVݷ`~z K})J%sA܉Owܟ>*ٹLH zIˉl4FtkB-,?zt|>ogfx|xoI$ؓB+dՓcq	\NinA(5Jkdit08qycK)BAGMYF*h"Ns
V6pJQAzypYLHRBzNG|ZB3 K
NiTXؤ;~בhFrHC[*ag8Izj47rK(O^XZg\׷SBg<Q:t) (go޷״aJ%65['IqX&P
D2)vc(HMEc|ZЮb t~` ?(G^AvUΎ)њ̑)&\s<|?$*w{ <iJvWVk	T~?#˨
dzcf@Poma'67v^t_(kƃJeyuʯ VAhErxsWv]"B?Xw6JM1GzL<a@Ƹ\G^p t(C;'v|ϫI V1ES:&]eߑs`|J>-״w}%Uۣ%XYѳd|J.''-{90ڌz+ǢZ"cw>ݷuKX9Pt=/qqDY[wr./CKy٫sX׃MXqXmf _<XpoLuG-4 ;{^^	'?h{lrGE;v<>sH3i~MO@A=i(L^AY<~>  &y|$)x5{5|k1~^|>:cIsea^1j۶m/>2=,:Wnٲ%yL3rW@nGݴC^~V:뀌jaqBy,כ4]leq8jL] e@j[gﺣ&m}lsnu9O{sMē\ E{N˛6ew̌eZ{m$>L)G/eeJ'<۰X@ ^v3(UNK:1ryqB7%0q=|F-!	(q00Jk&23eDki+p3	3!̞B%jB$5mȢ$P6ŉ+P-&¢xOAn6[t<v)Q֤b.DNPe֖7
]bٻtm'm֣gP'̚˚BlJiRWW\(ڃ"P-ӿ~q~{GVUKuVRRRKJSOMxa||g2>	BI/ظ\A>C ~ (S^mR<hEf&m{80a-3 {9i;vN@OuEGCдwfPɸa|mR(YXNYꂶk9lG`	ٶl1P@Yh]_z	q:f|fpA8_I(G/ ~\NI
Gsvܔ Kh_)ݏ_ ݜZG=|KOZFTzҍ/7hSK:p@$+DSEY<2QгA=?"{5Iӫ猋~mSB!4]&y
*.."vK# H ,!f@I.by|2GiYPf5rS$\_~G(д %#CbhÛ&me!('CANOOC6;+?be'WR㚦Yn
zRFSJ$O[ w=w]0u/. ۭSMHy8Vʹ/rpi^+Vf:*reL}w	K# H +ڰ2BY8K6QdwLaʖƞaؗVŵ9.[+ƁlCIp%!{ߎ͆ m-"j%ALbGnM)][T}ۧ zl)g#Sԍ)C,:;a/<qfهG/Z('lE @'RIgbcw$#U.΋I㙹TD)iS`5:K# H *X%|dΨx%ImbAdV2-`!ռ5xv1nCUs(Ɠ!*e6p 7ѹyWqj}8 `2NF׋u᜵>mC	V.v{pjPb	m&yT]fE0Lvuȋ +7$q[ݽ+U)دh&|ƋJo°Ddh	͊R텻i;K# H ,!;ЍSͯcU;7y.DmMT?o!kg6	l'$OD"VL@J2H;$`"Y8 OBSR7hyQjl.W˖QN!@B[`X(ґeu'֢.8^)0<<[Bp+%-F'g<hGn`(Y5"9;*b:#;Dsω/K# H l(f]s	$C7xX]և0%p(.ΛƤJQ}HJA'	Ufv6Zsb~2cاfT_)X7
;8CQj%}w>Ⱦy$jcQȄdHꊎ6@tN-X_.KHqky;g@᫅	mk:`AWzf_(%nK# H ܉KXvsX'{g"Vo읷>`
(k/47w5h+# 8 A W.fiCeƋwLNsyb<	>s߷
OggS         ~O      vorbis    "V            OggS          ~O     Vں-vorbis   Xiph.Org libVorbis I 20070622    vorbis"BCV @  B*c:!B)B!$C:5cGdBɁАU  @  WPrI-sWq s gq	%s9r1sWr)-sGqsGqsm1r9s Rr5sgr%s gq s5r9s9s9s1s9sn1s9s9s9s 4d   ((
   @qGK$Y     HHXfi&z(*iʲ,˲.
 H  PQpY d  `(8XY     PGM$<<<<<<<Y     (dBCV @  !CR\
BCBC)%cSA!|={АU    a8$!b'Dq !$Xy$݃B{˹{ 4d    B!B)RH)b)s1 2蠓N:ɤN:$Rk)SLc֜sA)c1c1c1#Y   dA!RH)r1BCV      ER$Gr$G$ɒ,I<˳<˳<MDMUUmm_meee]eݵm]]]u]u]u]u]u]ׁАU  88HH

   8HX%Y&igyy
        (8$Yiz(jiiiiiiiiiii!  	  qGqq$G$ 4d      CQEr,ǒ4K<D\Q6uSWm 4d          s<s<ɓ<s<Ǔ<I4M4M4M4M4M4M4M4M4M4M4M4M4M4MBCV d  JNWF)$^*{bL:B)J!2R{Bꡃ1sϽY D   c1&%1$dR"眔NJ&VZ̤JsNJ'%RZeJk%    ,BCV Q  1H)RJ1CJ)ǔcH)rN9ǘt*tJr9s2sB&     А@  s1cB	)PRAIRIŒRsR:	)uR*)XR-Tci-R-Ɯ[b-ZZXs59J:)jMIi-bi-b)Ɯ3)b+b5si-c)ƞkǜ0՜Z9Ř{̱ss:)uRZK՚Z5ZiƐZ-Ɯ[1gRZ,XZ1Řs-Z)ƜS9Z^Z9Ř{s06Ǟ;Jz.^s.B܋h-j*ƞs܃j={9s[EȜй{0Fڃ̵s:"txj.\Z=|9Z)Sמ!Z=؃1s0:bTǜ{/J kP2"t蠋/  `  2PhȊ  N A9J)B()UIȘ1'RZ%1cR2ǤZ*%JiZ(Z)C)RZ+Z1VcĘ9)cRJ)RZ1(J))RRsR2tJ*TRiR)ŒRl)T[RZ,VRj1T[1׈1)sR2礔RR+9'J栤Rk3tJ RR-S(RlZZ-%VRj[1KMJ*1RZk1Z1[))ƒJlŚ[l9RZ,VJjՖckR)[lƔSZ5TckX[o֜;)RZ+%ŘZXs(%Rl[lcXJjck1[Z[lb[n=kR5cM9  0  `B(4d%   csNJsIɜBJsBH)sNBJ-eAHPJJJI  (p  ASbqBCV Q  1J11F) 4(J)ƜP)ŘsP2ǜPJsJ	!RJJ!RJI    4%(4dE   c3!
R$Qk(KV{{m7J֎k˹iM=  ;p  ;
Y	  (Řss9R9s1眃BŘsA!s99J蜃PJ)tAR: RJ)sJ) 
  lٜ`$А @  `BIia9-0bRFAH)Ơ;()l𝄔Z9R5ރH=VsϽb5s/  w F	F
Y	  )Řss9R1s1ƜsAc9!c9 1sBsB!t9!:砃BsB! 
  lٜ`$А @8   !B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!Bs9s9s9s9' ȷV
GY	   
A(bJ)%N:)PJ)RJ餔RJ	RJRJRB)RJ)RJ)R:)RJ)9)RJ)DI)!RJ)RJ)RJ)RJ)RJ)B!B!B!B!B!B!B!   la%p4А @H  sJ)RB))RJ
cIPR(9B*!uA%R	!:(PR*%9(JJ)BHtR(%B*!RJH%J
TJ
TRtB'%J
R*%JJ%tRB*)BJJH)NRIB(!RJ%JJ!TB	R(TRJ)R)    :ɨM    @tiI"1E') ,Sc9(FC1Jb<&CPQ9c|     ( #m 	
A& <@DH 	҅.!td7m       P UX\`dhlptx|      |  $"@DD4s !        @@@         @@OggS `?      ~O     NR$?@WZYb~^Jo]In\GlVHmU@qNDrIG(0f $p:aPtǹl"=vR3=Y!ra؇N' 2;_ z\"W<nyغǕ5iKl/|2Pp
(=s?N-nͺS]/AeĐeZGc4vrj|l^ț@UX[)쒥0v5&zh 6ҌNc`m\y=5^h\ĩ5IE	V+tX]Juf0`PܸoD!zKx7NA]I;Umio~zBmCz\DctgE \ƅm'w	cbt;0U#7-eFbgb[WGj3B65Ք~ -2o	 ՕOQTkpuq<>zt,Pdڶ8mdRcm R'gdw_ĕ 3T{7T   (vT]]ذp84[Kcynj7#}Y͗?ΑFX.TV!Mx*%~vXq$r-LI3 @{>-rkVj5Q`6;u%ISezdMBVU$_Hx(e?`0+uCY \)̪U 6W1&A<y$A sgkdd'6Eާõ.CIC(O%K	Ve,,/ zqs5.;T=Ť8;.Otoi|Yr[\t ~7gFKV\"Ic2.=R>w3Z5F(h'Hya=̾|7`9ka~A) @5,]nVֻE`G0' 0˔$GXY~\D13"cq=ٕ:a1(#=!j0c D[3}\v)URW mr|1oݽt|Iے."Dp_:1pM|%ᩓOՎ{f#sԥu쉅f3P(XLb39$A*02TtkPǻfo>U
M(qOɋsBK}q,o4y)45r)n~M^Sd2С	؇DiSkUyǺsu.^0H,Tl;O#}xǮyt*a
Sh3&y&
h
?J
rGM-k~ƗBUf΢qQClu͘*m/ĸSIZ9wś	 ~ g+5l[;_xkmhGΐLJfcgGӨ]ϣ<KbITR{{~vi\81.N/sVR{W :1 )P@۲X=I莓5O|qxQ<@<='&6-ybd
ąOh9+,4ASɨrrcwty20SO¬l;7>.ire?ф^։f2RDv)f;hمWK9&: PJ`t.X~Ӳ lwA=8M-dPQ8R?DںHK# H̉UJx9{-zuK
LEͶ9!~veNCEIϿ\Wikatq-2 H
2j1F	[,><a#[X\yt4W/Gjɋ
|W^E؀b[s8gwm|ru9Rl%"+e67gw%%8}XRn%.MxP89pLم 2"v*ųFp͕%	ɑ-VtЕcA^U=Q쫛|+|LVeM\#F+DHS73&(	CΎ6Fy>paXU~V(1au	T_0?K\F9|I_J{Axo\VB}$dǦ~0p:+ 爒	q-73TWa."uw I *3gYg㮼kKm&SZ9p\r-F9YU( K# H:8-EըhtmDv1P1dѣ~x⽅wRH2f4^2e:۶cZi|}OtLYI#	e_;8觺́CRznojspRejt2Շ^le#|2`,%Q|lG(Y)fѯj=#( @FAUXWl56uO</=vNߕwaQ;_oV6I
G
`lk	+*XTR16HGúcGE|wMټ3i^&C+	C6+7*s*yMOź0R ]$ٖf'&I@4O' vv2aBXܹEzMb8Z@
lGfEv@Ue" 2 _ߥsMd65Ax
jWe3wˑCx2iyK&90OW9|S-_lK7eb3)jt%uS/j.ʿK
 (3.V&/1Tˢ͊V`hL{NOVQ93FM#Ez
j5j&o]~8JpV
l`]J4l	Wm+]CtvnM.-l8G<Ċ	[j-15_w}Ͼ* PVDّ>luͽX׬͋L2 %	l1ATlfqrf3 +H_>SZm8M77|]*ʧܮ (S^(1TJ+0UQĒ?Vfm	{
kKfU+EmƔ (G*z@~[J(:VC6(g?:lG
b;c%90oIwaZ!,@+鑺ٜ|@>٩(i6t K# H(fpijm;0ĺ<[%XUX j­Zceq;.
7Wcv^ܱ %  @8\||@a&0OggS         IO      33vorbis    "V            OggS          IO     3]"-vorbis   Xiph.Org libVorbis I 20070622    vorbis"BCV @  B*c:!B)B!$C:5cGdBɁАU  @  WPrI-sWq s gq	%s9r1sWr)-sGqsGqsm1r9s Rr5sgr%s gq s5r9s9s9s1s9sn1s9s9s9s 4d   ((
   @qGK$Y     HHXfi&z(*iʲ,˲.
 H  PQpY d  `(8XY     PGM$<<<<<<<Y     (dBCV @  !CR\
BCBC)%cSA!|={АU    a8$!b'Dq !$Xy$݃B{˹{ 4d    B!B)RH)b)s1 2蠓N:ɤN:$Rk)SLc֜sA)c1c1c1#Y   dA!RH)r1BCV      ER$Gr$G$ɒ,I<˳<˳<MDMUUmm_meee]eݵm]]]u]u]u]u]u]ׁАU  88HH

   8HX%Y&igyy
        (8$Yiz(jiiiiiiiiiii!  	  qGqq$G$ 4d      CQEr,ǒ4K<D\Q6uSWm 4d          s<s<ɓ<s<Ǔ<I4M4M4M4M4M4M4M4M4M4M4M4M4M4MBCV d  JNWF)$^*{bL:B)J!2R{Bꡃ1sϽY D   c1&%1$dR"眔NJ&VZ̤JsNJ'%RZeJk%    ,BCV Q  1H)RJ1CJ)ǔcH)rN9ǘt*tJr9s2sB&     А@  s1cB	)PRAIRIŒRsR:	)uR*)XR-Tci-R-Ɯ[b-ZZXs59J:)jMIi-bi-b)Ɯ3)b+b5si-c)ƞkǜ0՜Z9Ř{̱ss:)uRZK՚Z5ZiƐZ-Ɯ[1gRZ,XZ1Řs-Z)ƜS9Z^Z9Ř{s06Ǟ;Jz.^s.B܋h-j*ƞs܃j={9s[EȜй{0Fڃ̵s:"txj.\Z=|9Z)Sמ!Z=؃1s0:bTǜ{/J kP2"t蠋/  `  2PhȊ  N A9J)B()UIȘ1'RZ%1cR2ǤZ*%JiZ(Z)C)RZ+Z1VcĘ9)cRJ)RZ1(J))RRsR2tJ*TRiR)ŒRl)T[RZ,VRj1T[1׈1)sR2礔RR+9'J栤Rk3tJ RR-S(RlZZ-%VRj[1KMJ*1RZk1Z1[))ƒJlŚ[l9RZ,VJjՖckR)[lƔSZ5TckX[o֜;)RZ+%ŘZXs(%Rl[lcXJjck1[Z[lb[n=kR5cM9  0  `B(4d%   csNJsIɜBJsBH)sNBJ-eAHPJJJI  (p  ASbqBCV Q  1J11F) 4(J)ƜP)ŘsP2ǜPJsJ	!RJJ!RJI    4%(4dE   c3!
R$Qk(KV{{m7J֎k˹iM=  ;p  ;
Y	  (Řss9R9s1眃BŘsA!s99J蜃PJ)tAR: RJ)sJ) 
  lٜ`$А @  `BIia9-0bRFAH)Ơ;()l𝄔Z9R5ރH=VsϽb5s/  w F	F
Y	  )Řss9R1s1ƜsAc9!c9 1sBsB!t9!:砃BsB! 
  lٜ`$А @8   !B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!B!Bs9s9s9s9' ȷV
GY	   
A(bJ)%N:)PJ)RJ餔RJ	RJRJRB)RJ)RJ)R:)RJ)9)RJ)DI)!RJ)RJ)RJ)RJ)RJ)B!B!B!B!B!B!B!   la%p4А @H  sJ)RB))RJ
cIPR(9B*!uA%R	!:(PR*%9(JJ)BHtR(%B*!RJH%J
TJ
TRtB'%J
R*%JJ%tRB*)BJJH)NRIB(!RJ%JJ!TB	R(TRJ)R)    :ɨM    @tiI"1E') ,Sc9(FC1Jb<&CPQ9c|     ( #m 	
A& <@DH 	҅.!td7m       P UX\`dhlptx|      |  $"@DD4s !        @@@         @@OggS F      IO     q	)@ZW]^@]`Yzw{rjF_kIeaGkbIjdFhbHo[I6)4aU1GCCoQc7'-`5JI	
wF  :vJX)ڶm[+;.=\]:C.:;''opms߮28&>6xOk~/~ajgMmĿA'-$]d)kǕFzx}FmtEvIy޼7y7+Ef}{.lRێ>uޢ=gcI$?%^>mo -@`&x̯GhcNT̦B7<,ҷ\X":pJ:Y`Ɓ W*jRє46/ ʵN:g$ǵ-c8?4TH2<-gzy}!vs_2z 5 <l$e_nsqQAjM;0j\/J/Jtaq[h>IJɼO3ny1*bvOX	lE7\N $netge47>d]_>24fRjݲĳv|UDVQ굟繉^ \) ?F#auGr{Фb}Ƕfyupur1("5an
1lhRO]<DAd.gЃIB]~r6eEx^Q4 kt|7?O!|({t d>L  f|>2v@3;fcgl'4~á#8#5( ΌpSUsю}h<@> )	ꃻ;FnGkstDYZ`J4.<3;TÒ|T	k4gL/v|ӎ_| zH  `Qז?DQ@ jpUT[pZ5gԎDίͷB1I~䢻fU$I<*1띂BGab'+0?&<lfߺ@Tp,jg?~YrVӳ#y\i(V6o\.Ml]h}7@}\!
Ce2PIPwyM"pD :{{~s[Zmf(;|{$y3R{r}e	r	ڢ6wˤ|2E[ZC%$HIC -C%VfaR*-g&sHPɌkz.
8va\>mϖk `
|t^:5*" (hH6`evUu.	.)
2?eHZ	*ːpy%  g"{w^+5Wp:`to>{oS1@M15)v=;W0F2W%h:)Xӂ?f-T Qfb,_ p^ǳ-<k ^*[;,ANkE۶míڗdjSrsbބ4~c&>!تiP/Nύ[\OfylO%#TMv^.6d:XJ5ST&*+XPmvQ_n>|bǼ~NTGQTgwA,|@2_%LM

<Gue;zB=Qn!	VRCg5$^Zv4Wt]t]
|c.?	<g's3,fܣAAΑKZkO{Nd6Ra	o˿KXADm$1<	#Y i >R@նmy_Of`=QYH͸eQYW׊шlV@3쨆[3&3?)p!l/f/7f_$3b?ְmbZ9Q*cxzt	@Dw 6s*:֩Yy2[?p%-tUYDd@hjRMo ̸Jd Xw/bd!8$A?с?#8lqDl`-r⟤l?6?/N5jŬyPqlU**ԵAAҗaOP
jK# H (V`m֐P(?UZ!}XlJ<;L0!L)oWuxtB-g{ m'X*: o@eX5n>is?t6CD7i)oCPs	5YMmtu}CkJH.:f g[xKiX'KliF׽wƬ92Cb̙]f唃a*1'zp_:BH(4lG`XA7%ú0?st4=[? J_GP0μ7%1Z9M3T)Eg;S>5jjwɔB)Tz6Hv6^l_C3Π
T[GKkEi{ANSAl'zuzt@yp<%JneFU/u.Ԭ :\)|?:.tH ƿ]X+#  @F7JC#h3#8ŵs"e2r^Jp7 K"M"Cծ8V9h3?\Ol`XHzQƞTJjeUnqc9]z}EF%ցaV Kqki07# K#AER$RUB.?-0WaKJJJ&Z  ̤rN4o>CaPWE4_򌇼Ow7CbO lGEJRI~"q4GR.Ékq3W8V6DautMZ%.[ER$:۱p@"ut~+ss+3)Ξo(-e;OGW]eE~X\c
5#tM!2ֵK#%$RU) ̣KJJJJ?{`Y"01Kx"{:V:9 -l}(ג\\pvOzmp%K# H̖<?ֿ;?jjg)P$յ7pזSn0PtS]7}vĬƋ3jvζ=E#/'|Y+BɁגXف1\w]}
Uhbƒ*Y_)$.th-	lOq(	E(p=:>.~
@˨fTp` o[q]Ql	!4>&K⹹	-icaïCNelG඘5`;`|zYݣCֳb%" GҴsPh2TČ\s4oƷH3f^'eU;;VZ95Ԕ?ᾙ@wrȕ5tkn~2B,YiQ//i(DW/ݹڜ@ui
k	qDI[5ޖܭ~ɚ ` V~qg_Ѕb[6$~BDP~R`5mXglGEb,<<GN|-" /bBD3=#~
֙y{+~B(K# 8 PG5G\<< 'γ>ω-i~yҀh class grad_civMarker {

  class client {
    file = grad_civMarker\functions\client;

        class civGunfightCreateClient;
        class civKilledCreateClient;
        class createCivGunfightMarker;
        class createCivKilledMarker;
        class showCivGunfightHint;
        class showCivKilledHint;
  };

  class server {
    file = grad_civMarker\functions\server;

        class civGunfightListener;
        class civKilledListener;
  };
};
_pos = _this select 0;
_delay = 120; // 120 default

_closestTown = nearestLocation [_pos,"NameCity"];
_closestVillage = nearestLocation [_pos,"NameVillage"];

_distanceTown = _closestTown distance _pos;
_distanceVillage = _closestVillage distance _pos;

_closestInstance = "";

if (_distanceTown < _distanceVillage) then {
	_closestInstance = text _closestTown;
	_town_pos = position _closestTown;
	_distance = floor (_town_pos distance _pos);
	_delay = _distance / 10;
	diag_log format ["distance of gunfight civ to next town %2 is %1, delay is %3 secs.",_distance,text _closestTown,_delay/2];
} else {
	_closestInstance = text _closestVillage;
	_village_pos = position _closestVillage;
	_distance = floor (_village_pos distance _pos);
	_delay = _distance / 10;
	diag_log format ["distance of gunfight civ to next village %2 is %1, delay is %3 secs.",_distance,text _closestVillage,_delay/2];
};



sleep (_delay/2);



if (player getVariable ["GunfightTimeout",false]) exitWith {};

[_pos] spawn grad_civMarker_fnc_createCivGunfightMarker;
[] spawn grad_civMarker_fnc_showCivGunfightHint;
_pos = _this select 0 select 0;
_delay = 120; // 120 default


_closestTown = nearestLocation [_pos,"NameCity"];
_closestVillage = nearestLocation [_pos,"NameVillage"];

_distanceTown = _closestTown distance _pos;
_distanceVillage = _closestVillage distance _pos;

if (_distanceTown < _distanceVillage) then {
	_town_pos = position _closestTown;
	_distance = floor (_town_pos distance _pos);
	_delay = _distance / 10;
	diag_log format ["distance of killed civ to next town %2 is %1, delay is %3 secs.",_distance,text _closestTown,_delay];
} else {
	_village_pos = position _closestVillage;
	_distance = floor (_village_pos distance _pos);
	_delay = _distance / 10;
	diag_log format ["distance of killed civ to next village %2 is %1, delay is %3 secs.",_distance,text _closestVillage,_delay];
};



sleep _delay;

[_pos] spawn grad_civMarker_fnc_createCivKilledMarker;
[] spawn grad_civMarker_fnc_showCivKilledHint;
_markerPos = _this select 0;

_marker = createMarkerLocal [format["gunfight_shape_%1",_markerPos],_markerPos];
_marker setMarkerShapeLocal "ELLIPSE";
_marker setMarkerColorLocal "ColorUnknown";
_marker setMarkerSizeLocal [200,200];

_marker2 = createMarkerLocal [format["gunfight_icon_%1",_markerPos],_markerPos];
_marker2 setMarkerShapeLocal "ICON";
_marker2 setMarkerTypeLocal "hd_warning";
_marker2 setMarkerColorLocal "ColorUnknown";

_markerAlpha = 0.5;

diag_log format ["CivGunfight: Marker %1 created", _marker];

for "_i" from 0 to 49 do
{
  _markerAlpha = _markerAlpha - 0.01;
  _marker setMarkerAlphaLocal _markerAlpha;
  sleep 2;
};
deleteMarkerLocal _marker;
deleteMarkerLocal _marker2;
_markerPos = _this select 0;

_marker = createMarkerLocal [format["civkill_shape_%1",_markerPos],_markerPos];
_marker setMarkerShapeLocal "ELLIPSE";
_marker setMarkerColorLocal "ColorCivilian";
_marker setMarkerSizeLocal [200,200];

_marker2 = createMarkerLocal [format["civkill_icon_%1",_markerPos],_markerPos];
_marker2 setMarkerShapeLocal "ICON";
_marker2 setMarkerTypeLocal "KIA";
_marker2 setMarkerColorLocal "ColorCivilian";

_markerAlpha = 0.5;

diag_log format ["CivGunfight: Marker %1 created", _marker];

for "_i" from 0 to 49 do
{
  _markerAlpha = _markerAlpha - 0.01;
  _marker setMarkerAlphaLocal _markerAlpha;
  sleep 2;
};
deleteMarkerLocal _marker;
deleteMarkerLocal _marker2;


diag_log format ["CivKills: Marker %1 created", _marker];
playSound "signal_lost";
cutRsc ["gui_intel_paper_civ_gunfight","PLAIN",0];

player setVariable ["GunfightTimeout",true];
sleep 7;
player setVariable ["GunfightTimeout",false];
playSound "signal_lost";
cutRsc ["gui_intel_paper_civ_killed","PLAIN",0];	
_CIV_GUNFIGHT_POS_listener = {
    publicVariable "CIV_GUNFIGHT_POS";

    [CIV_GUNFIGHT_POS] remoteExec ["grad_civMarker_fnc_civGunfightCreateClient", [0, -2] select isDedicated];

};


"CIV_GUNFIGHT_POS" addPublicVariableEventhandler _CIV_GUNFIGHT_POS_listener;
_CIV_KILLED_listener = {
    publicVariable "CIV_KILLED";

    [CIV_KILLED] remoteExec ["grad_civMarker_fnc_civKilledCreateClient", [0, -2] select isDedicated];
};


"CIV_KILLED" addPublicVariableEventhandler _CIV_KILLED_listener;
class GRAD_civs {

     class behaviour {
        file = grad_civs\functions\behaviour;

        class addBrainEventhandler {};
        class addConversationAnswers {};
        class findPositionOfInterest {};
        class fleeYouFool {};
        class getOpposingDirection {};
        class stopCiv {};
        class stopCivAbort {};
          class taskPatrol {};
    };

     class debug {
        file = grad_civs\functions\debug;

        class createDebugMarker {};
        class showWhatTheyThink {};
    };

    class player {
        file = grad_civs\functions\player;

        class addPointerTick {};
        class addQuestioningAction {};
        class checkWeaponOnCivilianPointer {};
        class createPilotMarker {};
        class playerLoop {};
        class removePointerTick {};
        class questionCiv {};
        class showQuestioningAnswer {};
        class startTalkLips {};
    };

    class spawn {
        file = grad_civs\functions\spawn;

        class addNewCivilian {};
        class addNewVehicle {};
        class clothDefinitions {};
        class createVehicleCargo {};
        class createVehicleDriver {};
          class dressAndBehave {};
        class findSpawnSegment {};
        class getPlayerPositions {};
        class serverLoop {};
    };
};params ["_unit"];


/* diag_log format ["adding fired and firedmp eh to %1", _unit]; */

_unit removeAllEventHandlers "FiredNear";
_unit setVariable ["asr_ai_exclude", true, true];

_unit addEventHandler ["FiredNear",{
     
     params ["_unit", "_shooter", "_distance"];

     /* _unit setVariable ["GRAD_civs_currentlyThinking", "someones shooting", true]; */

     _canSeeShooter = [objNull, "VIEW"] checkVisibility [eyePos _unit, eyePos _shooter] == 1;
     _shooterPersons = _unit getVariable ["GRAD_civs_shooterPersons", []];
     _shooterSides = _unit getVariable ["GRAD_civs_shooterSides", []];

     _sideShooter = side _shooter;

     
     [_unit, _shooter] call GRAD_civs_fnc_fleeYouFool;
     

     // add side of shooter to enemy sides/persons
     if (_canSeeShooter) then {

          /* _unit setVariable ["GRAD_civs_currentlyThinking", "i can see the shooter, omg", true]; */
               
          if (!(side _shooter in _shooterSide)) then {
               _unit setVariable ["GRAD_civs_shooterSide", _shooterSides + [_sideShooter]];
          };

          if (_distance < 25 && !(_shooter in _shooterPersons)) then {
               _unit setVariable ["GRAD_civs_shooterPersons", _shooterPersons + [_shooter]];
          };

          
          [_unit, _shooter] call GRAD_civs_fnc_fleeYouFool;
          
          
     } else {

          /* _unit setVariable ["GRAD_civs_currentlyThinking", "i cant see the shooter but im outta here anyway", true]; */

          
          
          [_unit] spawn GRAD_civs_fnc_stopCiv;
          
          
     };     
}];

_unit addMPEventHandler ["MPHit",{
     
     params ["_unit", "_causedBy", "_damage", "_shooter"];

     _canSeeShooter = [objNull, "VIEW"] checkVisibility [eyePos _unit, eyePos _shooter] == 1;
     _hostilePersons = _unit getVariable ["GRAD_civs_hostilePersons", []];
     _shooterSides = _unit getVariable ["GRAD_civs_shooterSides", []];

     _sideShooter = side _shooter;

     

     // add side of shooter to enemy sides/persons
     if (_canSeeShooter) then {

          /* _unit setVariable ["GRAD_civs_currentlyThinking", "i can see the shooter AND HE SHOOTS ME, omg", true]; */

          if (!(side _shooter in _shooterSide)) then {
               _unit setVariable ["GRAD_civs_shooterSide", _shooterSides + [_sideShooter]];
          };

          if (_unit distance2D _shooter < 25 && !(_shooter in _hostilePersons)) then {
               _unit setVariable ["GRAD_civs_hostilePersons", _hostilePersons + [_shooter]];
          };

          
          
          [_unit, _shooter] call GRAD_civs_fnc_fleeYouFool;
          
     } else {
          /* _unit setVariable ["GRAD_civs_currentlyThinking", "IM HIT, i cant see the shooter, im outta here, omg", true]; */

          
          [_unit] spawn GRAD_civs_fnc_stopCiv;
          
     };
}];params ["_unit"];

_unit addEventHandler ["killed", {_this execVM 'civilianOutrage\civilianKilled.sqf'}];


_unit setVariable ["sentenceDenyingCalm", [
    "Ich weiß von nichts.",
    "Ich habe niemand gesehen.",
    "Nein. Ich habe nichts gehört oder gesehen.",
    "Nein. Ich habe nichts gehört.",
    "Tut mir leid, davon weiß ich nichts.",
    "Wirklich keine Ahnung, tut mir leid.",
    "Keinen blassen Schimmer.",
    "Ich habe nichts gehört.",
    "Davon wüsste ich."
    ]];

_unit setVariable ["sentenceDenyingSerious", [
     "Bitte lasst mich laufen, ich habe keine Ahnung.",
     "Ich bin unschuldig, glaubt mir.",
     "Ich weiß wirklich nichts!",
     "Brüder, glaubt mir, ich weiß nichts!",
     "Nein, ich habe wirklich niemand gesehen!",
     "Nein! Ich schwöre bei meiner Mutter, nein!",
     "Ich weiß nichts!"
     ]];

_unit setVariable ["sentenceDenyingBegging", [
     "Aaaah, bitte lasst mich doch gehen!",
     "O Gott, o Gott, o Gott... Neiiin!",
     "Bitte, bitte! Ich weiß doch nichts!",
     "Bitte lasst mich! Ich weiß nichts!",
     "Wenn ich es euch doch sage, ich kann euch nichts sagen! Ich weiß es nicht!",
     "Gott wird euch richten!",
     "Schmort in der Hölle ihr Sadisten!",
     "Bitte nein, lasst mich leben! Bitte, ich bin unschuldig!"
     ]];

_unit setVariable ["sentenceQuestionCalm", [
     "Hast du einen fremden Piloten gesehen?",
     "Wir suchen abgeschossene Piloten.",
     "Hast du von den abgeschossenen Piloten gehört?",
     "Wir brauchen deine Hilfe - wir suchen einen Piloten!",
     "Den Piloten suchen wir. Schon von ihm gehört?",
     "Wir wollen mal nett sein und fragen erst höflich: Wo ist der Pilot?",
     "Den oder die Piloten, die abgeschossen wurden.. wo sind die?",
     "Wir suchen einen oder mehrere Piloten."
     ]];

_unit setVariable ["sentenceQuestionSerious", [
     "Wo ist der Pilot?",
     "Hör auf zu lügen!",
     "Wir wissen, wo deine Familie wohnt!",
     "Du und nichts wissen, willst du uns verarschen?",
     "Schon mal gegen ne Faust gerannt?",
     "Pass bloß auf, erzähl uns keinen Scheiß!",
     "Noch ein letztes Mal: Wo ist der verdammte Pilot?",
     "Du kannst uns nicht zum Narren halten!",
     "Rücks raus, aber plötzlich!"
     ]];


_unit setVariable ["sentenceQuestionRage", [
     "Du Penner, jetzt gibts was!",
     "Nimm das, du Stück Scheiße!",
     "Wo ist der Pilot, verdammte Kacke! Rücks raus!"
     ]];

_unit setVariable ["GRAD_civs_isQuestioned",0,true];
_unit setVariable ["GRAD_civs_hasRevealed",false,true];
_unit setVariable ["GRAD_civs_isOccupied",false,true];

_unit setVariable ["BIS_noCoreConversations", true];

if (random 1 < 0.8) then {
     _unit setVariable ["civ_knowsSomething",true,true];
} else {
     _unit setVariable ["civ_knowsSomething",false,true];
};

/*
_unit addEventHandler ["FiredNear", {
          _this execVM 'civilianOutrage\civilianFiredNear.sqf';
}];
*/

/*
_unit addEventHandler ["Hit", {
          _questioned = (_this select 0) getVariable ["GRAD_civs_isQuestioned",0];
          (_this select 0) setVariable ["GRAD_civs_isQuestioned",_questioned + 0.4,true];
}];

_unit remoteExec ["GRAD_civs_fnc_addQuestioningAction", [0,-2] select isDedicated, true];

*//* rip from diod */
private ["_buildingPositions"];

params ["_searchPosition"];

_buildings = nearestObjects [_searchPosition, ["House", "Building"], 100];
_nearestBuilding = if (count _buildings > 0) then {_buildings select 0} else {objNull};

if (!isNull _nearestBuilding) then {
     _buildingPositions = [_nearestBuilding] call BIS_fnc_buildingPositions;
};

_position = if (!isNull _nearestBuilding && {count _buildingPositions > 0}) then {
     selectRandom _buildingPositions
} else {
     [_searchPosition,[50,100],random 360] call SHK_pos
};

_positionparams ["_unit", ["_shooter", objNull]];

if (_unit getVariable ["GRAD_civs_isFleeing", false]) exitWith { diag_log format ["%1 already fleeing", _unit]; };

CIV_GUNFIGHT_POS = (position _unit);
diag_log format ["civ gunfight at %1",CIV_GUNFIGHT_POS];
publicVariableServer "CIV_GUNFIGHT_POS";

_shooterPosition = if (!(isNull _shooter)) then { position _shooter } else { [[position _unit, 200, 200, 0, false]] call CBA_fnc_randPosArea };
_hostileSides = _unit getVariable ["GRAD_civs_hostileSides", []];
_targetPosition = [position _unit] call GRAD_civs_fnc_findPositionOfInterest;
_escapePosition = [0,0];

_group = group _thisUnit;

_car = if ((vehicle _unit) isKindOf 'LandVehicle') then { vehicle _unit } else { objNull };


if (!isNull _car) then {

     if (canMove _car && {fuel _car > 0}) then {

          _escapePosition = [_unit, _shooter, 1000] call GRAD_civs_fnc_getOpposingDirection;

          _unit doMove _escapePosition;
          _unit setSpeedMode "FULL";
          _unit setVariable ["GRAD_civs_isFleeing", true];

          [{playSound3D ["a3\sounds_f\weapons\horns\truck_horn_2.wss", _this];}, [_car], 1 + random 2] call CBA_fnc_waitAndExecute;
          

          // _unit setVariable ["GRAD_civs_currentlyThinking", "driving away as fast as i can", true];
     } else {

          doStop _unit;

         { unassignVehicle _x } forEach crew _car;

         { doGetOut _x } forEach crew _car;
          _escapePosition = [_unit, _shooter, 100] call GRAD_civs_fnc_getOpposingDirection;
          _targetPosition = [_escapePosition] call GRAD_civs_fnc_findPositionOfInterest;
          _unit doMove _targetPosition;

          // _unit setVariable ["GRAD_civs_currentlyThinking", "running away as fast as i can, my car is broke", true];

     };
} else {

     _escapePosition = [_unit, _shooter, 200] call GRAD_civs_fnc_getOpposingDirection;
     _targetPosition = [_escapePosition] call GRAD_civs_fnc_findPositionOfInterest;
     _unit doMove _targetPosition;

     // _unit setVariable ["GRAD_civs_currentlyThinking", "running away as fast as i can", true];
};["GRAD_civs_thoughtDebugger", "onEachFrame", {
     _color = [1,1,1,0.9];

     {     
          
          _text = driver _x getVariable ["GRAD_civs_currentlyThinking", "no special purpose"];

          _number = count (driver _x getVariable ["GRAD_civs_isPointedAtBy",[]]);
          _panic = driver _x getVariable ["GRAD_civs_brainPanic",0];
          _stop = driver _x getVariable ["GRAD_civs_brainStop",0];
                         
          drawIcon3D [
               "#(argb,8,8,3)color(0,0,0,0)", 
               _color, [(getPos _x select 0), (getPos _x select 1), (getPos _x select 2) + 2],
               1, 1, 0, _text + " | guns on me: " + str _number + " | panic: " + str _panic + " | stopping for: " + str _stop, 1, 0.02, "EtelkaNarrowMediumPro", "center", true
          ];

     }forEach (allUnits - playableUnits - switchableUnits);

},[]] call BIS_fnc_addStackedEventHandler;params ["_unit"];

/* raise pointing tickets */
_otherUnits = _unit getVariable ["GRAD_civs_isPointedAtBy",[]];

if (player in _otherUnits) exitWith {
     diag_log format ["player already in other units"];
};

/* raise pointing counter globally */
_unit setVariable ["GRAD_civs_isPointedAtBy", _otherUnits + [player], true];


player setVariable ["GRAD_isPointingAtObj", _unit];
diag_log format ["pointing at %1", _unit];// for local execution of interrogation actions

_verhoer = _this addAction ["<t color='#66aa66'>Verhören</t>",{
     [_this select 0, _this select 1] remoteExec ["GRAD_civs_fnc_questionCiv", [2,0] select (isMultiplayer && isDedicated), false];
[player] call ace_weaponselect_fnc_putWeaponAway;},
0, 100, true, true, '',
"player distance _target < 3 && !(_target getVariable ['GRAD_civs_isOccupied',false]) && alive _target"];
_this setUserActionText [_verhoer, "<t color='#66aa66'>Verhören</t>"];

_endVerhoer = _this addAction ["<t color='#F24F0F'>Verhör beenden</t>",{
     [_this select 0] remoteExec ["GRAD_civs_fnc_stopCivAbort", [2,0] select (isMultiplayer && isDedicated), false];},
0, 100, true, true, '',
"player distance _target < 3 && !(_target getVariable ['GRAD_civs_isOccupied',false]) && alive _target"];
_this setUserActionText [_endVerhoer, "<t color='#ff3333'>Verhör beenden</t>"];// _pos = _this select 0;
// _trackingPrecision = _this select 1;

params ["_pos", "_trackingPrecision"];

randomize_coord = {
     params ["_coord","_precision"];
     _coord + random(_precision * 2) - _precision
};

randomize_pos =
{
     params ["_pos","_precision"];
     private ["_randomizedPos", "_trueX", "_trueY"];
     _trueX = _pos select 0;
     _trueY = _pos select 1;
     _randomizedPos = [
     [_trueX,_precision] call randomize_coord,
     [_trueY,_precision] call randomize_coord,
     _pos select 2
     ];
     _randomizedPos
};


_markerPos = _pos;
_markerPos = [_pos,_trackingPrecision] call randomize_pos;

_marker = createMarkerLocal [format ["pilotmarker_%1", _markerPos],_markerPos];
_marker setMarkerTypeLocal "mil_unknown";
_marker setMarkerColorLocal "ColorBlufor";
_marker setMarkerShapeLocal "ELLIPSE";
_marker setMarkerSizeLocal [_trackingPrecision*2, _trackingPrecision*2];
_marker setMarkerBrushLocal "Solid";
_marker setMarkerAlphaLocal 0.5;

_marker2 = createMarkerLocal [format["pilotmarker_icon_%1",_markerPos],_markerPos];
_marker2 setMarkerShapeLocal "ICON";
_marker2 setMarkerTypeLocal "hd_warning";
_marker2 setMarkerColorLocal "ColorBlufor";params ["_civilian", "_player"];
  
doStop _civilian;
_civilian setVariable ["GRAD_civs_brainStop", 1, true];

diag_log format ["executing GRAD_civs_fnc_questionCiv with civ %1 and player %2 ...", _civilian, _player];



// dont do anything if the civilian is already in 'use'
if (_civilian getVariable ["GRAD_civs_civOccupied",false]) exitWith {};


 _sentenceGetOffMe = selectRandom [
  "Ich hab euch schon alles gesagt, was ihr hören wolltet!",
  "Mehr weiß ich nicht! Ihr habt alles gehört!",
  "Mehr kann ich euch nicht sagen! Geht jetzt.",
  "Ich habe euch bereits geholfen."
];

// exit if civ was already interviewed
if (_civilian getVariable ["isInterviewedByWest",false] && side _player == west) exitWith {
    [position _civilian,"Nochmal: Wo ist der Pilot?", []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
    sleep 4;
    [position _civilian,_sentenceGetOffMe, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
    _civilian setVariable ["GRAD_civs_civOccupied",false,true];
    _civilian doFollow _civilian;
 };

 if (_civilian getVariable ["isInterviewedByEast",false] && side _player == east) exitWith {
    [position _civilian,"Nochmal: Wo ist der Pilot?", []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
    sleep 4;
    [position _civilian,_sentenceGetOffMe, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
    _civilian setVariable ["GRAD_civs_civOccupied",false,true];
    _civilian doFollow _civilian;
 };

_civilian setVariable ["GRAD_civs_civOccupied",true,true];


_GRAD_civs_isQuestioned = _civilian getVariable ["GRAD_civs_isQuestioned",0];
_civilian setVariable ["GRAD_civs_isQuestioned",_GRAD_civs_isQuestioned + 0.05,true];

_knowsSomething = _civilian getVariable ["civ_knowsSomething",false];
_alreadyRevealed = _civilian getVariable ["GRAD_civs_hasRevealed",false];

_sentenceDenyingCalmArray = _civilian getVariable ["sentenceDenyingCalm",["Ich weiß nichts."]];
_sentenceDenyingSeriousArray = _civilian getVariable ["sentenceDenyingSerious",["Bitte, ich weiß nichts."]];
_sentenceDenyingBeggingArray = _civilian getVariable ["sentenceDenyingBegging",["Aaaaaah..."]];

_sentenceDenyingCalm = selectRandom _sentenceDenyingCalmArray;
_sentenceDenyingSerious = selectRandom _sentenceDenyingSeriousArray;
_sentenceDenyingBegging = selectRandom _sentenceDenyingBeggingArray;

_sentenceQuestionCalmArray = _civilian getVariable ["sentenceQuestionCalm",["Wo ist der Pilot?"]];
_sentenceQuestionSeriousArray = _civilian getVariable ["sentenceQuestionSerious",["Erzähl uns keine Scheiße!"]];
_sentenceQuestionRageArray = _civilian getVariable ["sentenceQuestionRage",["Du verdammter Wichser, wir hängen dich auf wenn du nichts rausrückst!"]];

_sentenceQuestionCalm = selectRandom _sentenceQuestionCalmArray;
_sentenceQuestionSerious = selectRandom _sentenceQuestionSeriousArray;
_sentenceQuestionRage = selectRandom _sentenceQuestionRageArray;

_sentenceReveal = selectRandom [
     "Ja, ja.. ich sag es ja. Ich hab jemanden gesehen bei ",
     "Ok, ok. Ich habe gehört, jemand sei bei ",
     "Gut, ich hab etwas gesehen bei ",
     "Lasst mich und ich verrate euch auch alles. Ich habe gehört, es sei jemand bei ",
     "Ich habe gehört bei "
     ];



_chanceToReveal = 0.2;


 


if (side _player == west) then {
  _chanceToReveal = CHANCE_TO_REVEAL_BLUFOR + _GRAD_civs_isQuestioned;
} else {
  _chanceToReveal = CHANCE_TO_REVEAL_OPFOR + _GRAD_civs_isQuestioned;
};

// even if he already revealed sth you might ask and reveal again! good for other sides coming by... but beware he will be dead somewhen.
if (_knowsSomething) exitWith {
     if (random 1 > _chanceToReveal) then {
          if (_GRAD_civs_isQuestioned < 0.4) then {
      [position _civilian,_sentenceQuestionCalm, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
      _civilian setVariable ["sentenceQuestionCalm", _sentenceQuestionCalmArray - [_sentenceQuestionCalm],true];
               sleep 4;
               [_civilian] spawn GRAD_civs_fnc_startTalkLips;
               [position _civilian,_sentenceDenyingCalm, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
      _civilian setVariable ["sentenceDenyingCalm", _sentenceDenyingCalmArray - [_sentenceDenyingCalm],true];
          };
          if (_GRAD_civs_isQuestioned >= 0.4 && _GRAD_civs_isQuestioned <= 0.7) then {
      [position _civilian,_sentenceQuestionSerious, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
      _civilian setVariable ["sentenceQuestionSerious", _sentenceQuestionSeriousArray - [_sentenceQuestionSerious],true];
      [_player, "Acts_Executioner_Forehand"] remoteExec ["playMoveNow", _player];
               sleep 0.5;

      [_civilian, selectRandom ["smack1","smack2","smack3"]] remoteExec ["say3D",0,false];
               sleep 0.1;
      [_civilian, selectRandom ["ouch1","ouch2","ouch3"]] remoteExec ["say3D",0,false];
               sleep 1.9;
               [_player, "AidlPercMstpSnonWnonDnon_G01"] remoteExec ["switchMove", _player];
               [_civilian] spawn GRAD_civs_fnc_startTalkLips;
               [position _civilian,_sentenceDenyingSerious, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
      _civilian setVariable ["sentenceDenyingSerious", _sentenceDenyingSeriousArray - [_sentenceDenyingSerious],true];
          };

          
  if (_GRAD_civs_isQuestioned > 0.4) then {
      _damage = (random 0.3);
      [_civilian, _damage, "leg_l", "punch"] call ace_medical_fnc_addDamageToUnit;
      _civilian setVariable ["ACE_medical_lastDamageSource",_player];
      _civilian playMoveNow "RHS_flashbang_cover";
      sleep 0.1;
      _civilian disableAI "ANIM";
  };

          if (_GRAD_civs_isQuestioned > 0.7) then {
      [position _civilian,_sentenceQuestionSerious, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
      _civilian setVariable ["sentenceQuestionSerious", _sentenceQuestionSeriousArray - [_sentenceQuestionSerious],true];
               [_player, "Acts_Executioner_Backhand"] remoteExec ["playMoveNow", _player];
               sleep 0.5;
               [_civilian, selectRandom ["smack1","smack2","smack3"]] remoteExec ["say3D",0,false];
               sleep 0.1;
               [_civilian, selectRandom ["ouch1","ouch2","ouch3"]] remoteExec ["say3D",0,false];
               sleep 4;
               [_player, "AidlPercMstpSnonWnonDnon_G01"] remoteExec ["switchMove", _player];
               [_civilian] spawn GRAD_civs_fnc_startTalkLips;
               [position _civilian,_sentenceDenyingBegging, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
      _civilian setVariable ["sentenceDenyingBegging", _sentenceDenyingBeggingArray - [_sentenceDenyingBegging],true];
     
          };

     } else {
    [position _civilian,_sentenceQuestionSerious, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
    diag_log "civilian knows and talks";
          sleep 4;
          [_civilian] spawn GRAD_civs_fnc_startTalkLips;
          [position _civilian,format ["Zivilist: %1",_sentenceReveal + (CURRENT_PILOTS_POSITION select 0) + ". Ich markiere es auf eurer Karte."],[CURRENT_PILOTS_POSITION select 1, CURRENT_PILOTS_POSITION select 2]] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
          _civilian setVariable ["GRAD_civs_hasRevealed",true,true];

    if (side _player == west) then {
      _civilian setVariable ["isInterviewedByWest",true,true];
    } else {
      _civilian setVariable ["isInterviewedByEast",true,true];
    };
     };
     _civilian setVariable ["GRAD_civs_civOccupied",false,true];
};

if (!_knowsSomething) exitWith {
     if (_GRAD_civs_isQuestioned < 0.4) then {
    [position _civilian,_sentenceQuestionCalm, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
    _civilian setVariable ["sentenceQuestionCalm", _sentenceQuestionCalmArray - [_sentenceQuestionCalm],true];
          sleep 4;
          [_civilian] spawn GRAD_civs_fnc_startTalkLips;
          [position _civilian,_sentenceDenyingCalm, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
    _civilian setVariable ["sentenceDenyingCalm", _sentenceDenyingCalmArray - [_sentenceDenyingCalm],true];

     };
     if (_GRAD_civs_isQuestioned >= 0.4 && _GRAD_civs_isQuestioned <= 0.7) then {
    [position _civilian,_sentenceQuestionSerious, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
    _civilian setVariable ["sentenceQuestionSerious", _sentenceQuestionSeriousArray - [_sentenceQuestionSerious],true];
          [_player, "Acts_Executioner_Forehand"] remoteExec ["playMoveNow", _player];
          sleep 0.5;
          [_civilian, selectRandom ["smack1","smack2","smack3"]] remoteExec ["say3D",0,false];
          sleep 0.1;
          [_civilian, selectRandom ["ouch1","ouch2","ouch3"]] remoteExec ["say3D",0,false];
          sleep 1.9;
          [_player, "AidlPercMstpSnonWnonDnon_G01"] remoteExec ["switchMove", _player];
          [_civilian] spawn GRAD_civs_fnc_startTalkLips;
          [position _civilian,_sentenceDenyingSerious, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
    _civilian setVariable ["sentenceDenyingSerious", _sentenceDenyingSeriousArray - [_sentenceDenyingSerious],true];
     };
     if (_GRAD_civs_isQuestioned > 0.7) then {
    [position _civilian,_sentenceQuestionSerious, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
    _civilian setVariable ["sentenceQuestionSerious", _sentenceQuestionSeriousArray - [_sentenceQuestionSerious],true];
          [_player, "Acts_Executioner_Backhand"] remoteExec ["playMoveNow", _player];
          sleep 0.5;
          [_civilian, selectRandom ["smack1","smack2","smack3"]] remoteExec ["say3D",0,false];
          sleep 0.1;
          [_civilian, selectRandom ["ouch1","ouch2","ouch3"]] remoteExec ["say3D",0,false];
          sleep 4;
          [_player, "AidlPercMstpSnonWnonDnon_G01"] remoteExec ["switchMove", _player];
          [_civilian] spawn GRAD_civs_fnc_startTalkLips;
          [position _civilian,_sentenceDenyingBegging, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
    _civilian setVariable ["sentenceDenyingBegging", _sentenceDenyingBeggingArray - [_sentenceDenyingBegging],true];
    
     };

     if (_GRAD_civs_isQuestioned > 0.4) then {
               _damage = (random 0.3);
               [_civilian, _damage, "leg_l", "punch"] call ace_medical_fnc_addDamageToUnit;
               _civilian setVariable ["ACE_medical_lastDamageSource",_player];
      _civilian playMoveNow "RHS_flashbang_cover";
      sleep 0.1;
      _civilian disableAI "ANIM";
     };

     // when someone questions too hard, reveal something random
     if (_GRAD_civs_isQuestioned > 3 && alive _civilian) then {
    diag_log "civilian doesnt know and talks";
          _location = ((nearestLocations [getPos _civilian,
                  [
              "NameCity",
              "NameCityCapital",
              "NameMarine",
              "NameVillage",
              "NameLocal"
             ],6000]) call BIS_fnc_selectRandom);
          _text = text _location;
          [_civilian] spawn GRAD_civs_fnc_startTalkLips;
          [position _civilian,format ["Zivilist: %1",_sentenceReveal + _text + ". Ich markiere es auf eurer Karte."],[getpos _location]] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
          _civilian setVariable ["GRAD_civs_hasRevealed",true,true];

    if (side _player == west) then {
      _civilian setVariable ["isInterviewedByWest",true,true];
    } else {
      _civilian setVariable ["isInterviewedByEast",true,true];
    };

     };

     _civilian setVariable ["GRAD_civs_civOccupied",false,true];
};

// if you just go on hitting him...


if (_GRAD_civs_isQuestioned > 0.4) then {
  _damage = (random 0.3);
  [_civilian, _damage, "leg_l", "punch"] call ace_medical_fnc_addDamageToUnit;
  _civilian setVariable ["ACE_medical_lastDamageSource",_player];
  _civilian playMoveNow "RHS_flashbang_cover";
  sleep 0.1;
  _civilian disableAI "ANIM";
};


[position _civilian,_sentenceQuestionSerious, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
_civilian setVariable ["sentenceQuestionSerious", _sentenceQuestionSeriousArray - [_sentenceQuestionSerious],true];
[_player, "Acts_Executioner_Forehand"] remoteExec ["playMoveNow", _player];
sleep 0.5;
[_civilian, selectRandom ["smack1","smack2","smack3"]] remoteExec ["say3D",0,false];
sleep 0.1;
[_civilian, selectRandom ["ouch1","ouch2","ouch3"]] remoteExec ["say3D",0,false];
sleep 4;
[_player, "AidlPercMstpSnonWnonDnon_G01"] remoteExec ["switchMove", _player];
[_civilian] spawn GRAD_civs_fnc_startTalkLips;
[position _civilian,_sentenceDenyingBegging, []] remoteExec ["GRAD_civs_fnc_showQuestioningAnswer", [0, -2] select isMultiplayer, false];
_civilian setVariable ["sentenceDenyingBegging", _sentenceDenyingBeggingArray - [_sentenceDenyingBegging],true];

_civilian setVariable ["GRAD_civs_civOccupied",false,true];params ["_pos", "_answer", "_markerPositionArray"];

// dont display if too far away
if (position player distance _pos > 8) exitWith {};

// create marker for bystanders
if (count _markerPositionArray > 0) then {
          [(_markerPositionArray select 0), 250] call grad_civs_fnc_createPilotMarker;
};

cutText [format ["%1",_answer],"PLAIN"];
/* params ["_playerPositions"];

[_playerPositions] spawn {
     params ["_playerPositions"];

     _position = [
          _playerPositions, 
          GRAD_CIV_MIN_SPAWN_DISTANCE, 
          GRAD_CIV_MAX_SPAWN_DISTANCE, 
          GRAD_CIV_ONFOOT_GROUPS
     ] call GRAD_civs_fnc_findSpawnSegment;

     if (_position isEqualTo [0,0,0]) exitWith {};

     diag_log format ["%1", _position];

     _group = createGroup [civilian, true];
     _unit = _group createUnit ["C_man_1", _position, [], 0, "NONE"];
     

     // _unit disableAI "MOVE";
     _unit disableAI "FSM";
     _unit setBehaviour "CARELESS";

     [_unit] call GRAD_civs_fnc_dressAndBehave;
     _unit enableDynamicSimulation true;

     [_unit, _position, 400 - (random 300), [3,6], [0,2,10]] call GRAD_civs_fnc_taskPatrol;

     if (GRAD_CIV_DEBUG || (!isNil "DEBUG_MODE" && {DEBUG_MODE})) then {
          [_position] call GRAD_civs_fnc_createDebugMarker; 
     };

     GRAD_CIV_ONFOOT_COUNT = GRAD_CIV_ONFOOT_COUNT + 1;
     GRAD_CIV_ONFOOT_GROUPS = GRAD_CIV_ONFOOT_GROUPS + [_unit];

     diag_log format ["added civilian on foot, now %1", GRAD_CIV_ONFOOT_COUNT];

};
*/params ["_pos", "_vehicleType", "_side"];
_pos = _this select 0;
_vehicleType = _this select 1;
_side = _this select 2;

_crewCount = floor (random 1);




_veh = createVehicle [_vehicleType, _pos, [], 0, "NONE"];
/* waitUntil {!isNull _veh};*/

_group = createGroup _side;


[_group,_veh] call GRAD_civs_fnc_createVehicleDriver;

if (_vehicleType == "RDS_Ikarus_Civ_01" || _vehicleType == "RDS_Ikarus_Civ_02") exitWith {

     _crewCount = floor (random 5);

     for [{_i=0}, {_i<_crewCount}, {_i=_i+1}] do {
          [_group,_veh] call GRAD_civs_fnc_createVehicleCargo;
     };
     [_veh,_group]
};


if (_crewCount > 0) then {
     for [{_i=0}, {_i<_crewCount}, {_i=_i+1}] do {
          [_group,_veh] call GRAD_civs_fnc_createVehicleCargo;
     };
};

_veh addEventhandler ["HandleDamage",{if ((_this select 4) == "") then {0};}]; // ignore crash damage


[_veh,_group]GRAD_civ_clothes_MUD = [
     "LOP_U_AM_Fatigue_01",
    "LOP_U_AM_Fatigue_01_2",
    "LOP_U_AM_Fatigue_01_3",
    "LOP_U_AM_Fatigue_01_4",
    "LOP_U_AM_Fatigue_01_5",
    "LOP_U_AM_Fatigue_01_6",
    "LOP_U_AM_Fatigue_02",
    "LOP_U_AM_Fatigue_02_2",
    "LOP_U_AM_Fatigue_02_3",
    "LOP_U_AM_Fatigue_02_4",
    "LOP_U_AM_Fatigue_02_5",
    "LOP_U_AM_Fatigue_02_6",
    "LOP_U_AM_Fatigue_03",
    "LOP_U_AM_Fatigue_03_2",
    "LOP_U_AM_Fatigue_03_3",
    "LOP_U_AM_Fatigue_03_4",
    "LOP_U_AM_Fatigue_03_5",
    "LOP_U_AM_Fatigue_03_6",
    "LOP_U_AM_Fatigue_04",
    "LOP_U_AM_Fatigue_04_2",
    "LOP_U_AM_Fatigue_04_3",
    "LOP_U_AM_Fatigue_04_4",
    "LOP_U_AM_Fatigue_04_5",
    "LOP_U_AM_Fatigue_04_6"
];

GRAD_civ_clothes_EUR = [
     "rds_uniform_Worker1",
     "rds_uniform_Worker2",
     "rds_uniform_Worker3",
     "rds_uniform_Worker4",
     "rds_uniform_Woodlander1",
     "rds_uniform_Woodlander2",
     "rds_uniform_Woodlander3",
     "rds_uniform_Woodlander4",
     "rds_uniform_Villager1",
     "rds_uniform_Villager2",
     "rds_uniform_Villager3",
     "rds_uniform_Villager4",
     "rds_uniform_Profiteer1",
     "rds_uniform_Profiteer2",
     "rds_uniform_Profiteer3",
     "rds_uniform_Profiteer4",
     "rds_uniform_citizen1",
     "rds_uniform_citizen2",
     "rds_uniform_citizen3",
     "rds_uniform_citizen4"
];

GRAD_civ_headgear_EUR = [
     "rds_Villager_cap1",
     "rds_Villager_cap2",
     "rds_Villager_cap3",
     "rds_Villager_cap4",
     "rds_worker_cap1",
     "rds_worker_cap2",
     "rds_worker_cap3",
     "rds_worker_cap4",
     "rds_Profiteer_cap1",
     "rds_Profiteer_cap2",
     "rds_Profiteer_cap3",
     "rds_Profiteer_cap4",
     "rhs_beanie_green",
     "rhs_beanie_green"
];

GRAD_civ_headgear_MUD = [
     "LOP_H_Turban",
    "LOP_H_Turban",
    "LOP_H_Pakol",
    "LOP_H_Pakol",
    "LOP_H_Pakol",
    "LOP_H_Pakol"
];

GRAD_civ_faces = [
     "PersianHead_A3_01",
     "PersianHead_A3_02",
     "PersianHead_A3_03",
     "PersianHead_A3_01",
     "PersianHead_A3_02",
     "PersianHead_A3_03",
     "PersianHead_A3_01",
     "PersianHead_A3_02",
     "PersianHead_A3_03",
     "WhiteHead_08",
     "WhiteHead_16",
     "GreekHead_A3_01",
     "GreekHead_A3_02",
     "GreekHead_A3_03",
     "GreekHead_A3_04"
];

GRAD_civ_beards = [
     "TRYK_Beard_BK",
        "TRYK_Beard_BK2",
    "TRYK_Beard_BK3",
    "TRYK_Beard_BK4",
    "TRYK_Beard_BW",
    "TRYK_Beard_BK",
    "TRYK_Beard_BK",
    "TRYK_Beard_BK"
];

// check if woodland param is already set by mission, otherwise spawn euro civs
_IS_WOODLAND = missionNamespace getVariable ["IS_WOODLAND",false];



if (_IS_WOODLAND) then {
     // check if rds is available
     if (!(isClass (configfile >> "CfgVehicles" >> "RDS_Gaz24_Civ_01"))) exitWith {};
     GRAD_civ_headgear = GRAD_civ_headgear_EUR;
     GRAD_civ_clothes = GRAD_civ_clothes_EUR;
} else {
     // check if lop is available
     if (!(isClass (configfile >> "CfgVehicles" >> "LOP_AM_OPF_Infantry_SL"))) exitWith {};
     GRAD_civ_headgear = GRAD_civ_headgear_MUD;
     GRAD_civ_clothes = GRAD_civ_clothes_MUD;
};_grp1 = _this select 0;
_car1 = _this select 1;

_crewCargo = _grp1 createUnit ["C_man_1", _pos, [], 0, "CARGO"];

_crewCargo disableAI "FSM";

_crewCargo call GRAD_civs_fnc_dressAndBehave;
[_crewCargo] call GRAD_civs_fnc_addConversationAnswers;
[_crewCargo] call GRAD_civs_fnc_addBrainEventhandler;

_crewCargo assignAsCargo _car1;
_crewCargo moveInCargo _car1;

if (!isNil "GRAD_REPLAY_CIVILIAN_TRAFFIC_TRACKED" && {GRAD_REPLAY_CIVILIAN_TRAFFIC_TRACKED}) then {
     _crewCargo setVariable ["GRAD_replay_track", true];
};_grp0 = _this select 0;
_car0 = _this select 1;

_crewDriver = _grp0 createUnit ["C_man_1", _pos, [], 0, "CARGO"];

_crewDriver call GRAD_civs_fnc_dressAndBehave;
[_crewDriver] call GRAD_civs_fnc_addConversationAnswers;
[_crewDriver] call GRAD_civs_fnc_addBrainEventhandler;

[_crewDriver, _car0, true] call ACE_VehicleLock_fnc_addKeyForVehicle;
_car0 setFuel 0.1;

_crewDriver assignAsDriver _car0;
_crewDriver moveInDriver _car0;
sleep 0.1;
_crewDriver action ["lightOn", _car0];

_crewDriver setVariable ["GRAD_civs_carOwnerOf", _car0];

if (!isNil "GRAD_REPLAY_CIVILIAN_TRAFFIC_TRACKED" && {GRAD_REPLAY_CIVILIAN_TRAFFIC_TRACKED}) then {
     _crewDriver setVariable ["GRAD_replay_track", true];
};
// hintsilent format ["ordered %1 to enter %2", _crewDriver,_car0];/*
 civ unit redressing
*/


params ["_unit"];
_unit setVariable ["asr_ai_exclude", true];
/*
_stripHim = {
     _it = _this select 0;
     removeAllWeapons _it;
     removeAllItems _it;
     removeAllAssignedItems _it;
     removeUniform _it;
     removeVest _it;
     removeBackpack _it;
     removeHeadgear _it;
     removeGoggles _it;
     _return = true;
     _return
};
*/


//_unitLoadout = [[],[],[],[""LOP_U_AM_Fatigue_01"",[]],[],[],""LOP_H_Pakol"","""",[],["""","""","""","""","""",""""]];

_unitLoadout = [[],[],[],[selectRandom GRAD_civ_clothes,[]],[],[],selectRandom GRAD_civ_headgear,"""",[],["""","""","""","""","""",""""]];


_reclotheHim = {
     params ["_guy", "_loadout"];
     
     _guy setUnitLoadout _loadout;

     [[_guy, selectRandom GRAD_civ_faces], "setCustomFace"] call BIS_fnc_MP;
     _guy setVariable ["BIS_noCoreConversations", true];
     
};

_addBeard = {
     params ["_guy"];

     _firstBeard = GRAD_civ_beards select 0;
     // add beards if possible
     if (!(isClass (configfile >> "CfgGlasses" >> "TRYK_Beard"))) exitWith {};

        _guy addGoggles selectRandom GRAD_civ_beards;
};

_addBackpack = {
     params ["_unit"];

     if (random 2 > 1) then {
          _unit addBackpackGlobal "rhs_sidor";
     };
};



_addBehaviour = {
     group (_this select 0) setBehaviour "CARELESS";
     (_this select 0) disableAI "FSM";
};


_addKilledNews = {
   (_this select 0) addEventhandler ["Killed",
    {
     CIV_KILLED = [(position (_this select 0)), (_this select 0) getVariable ["ace_medical_lastDamageSource", objNull]];
     diag_log format ["civ killed: %1",CIV_KILLED];
     publicVariableServer "CIV_KILLED";
     
     (_this select 0) removeAllEventHandlers "Killed";
     (_this select 0) removeAllEventHandlers "FiredNear";
     (_this select 0) switchMove "";
     GRAD_CIV_ONFOOT_COUNT = GRAD_CIV_ONFOOT_COUNT - 1;
     GRAD_CIV_ONFOOT_GROUPS = GRAD_CIV_ONFOOT_GROUPS - [(_this select 0)];
    }];
};

// _stripped = [_unit] call _stripHim;
[_unit, _unitLoadout] call _reclotheHim;


[_unit] call _addKilledNews;
[_unit] call _addBehaviour;
[_unit] call _addBeard;
[_unit] call _addBackpack;/* blatantly ripped and modified from engima traffic */

/*

private ["_refPlayerPos", "_roadSegments", "_roadSegment", "_isOk", "_tries", "_result", "_spawnDistanceDiff", "_refPosX", "_refPosY", "_dir", "_tooFarAwayFromAll", "_tooClose", "_tooCloseToAnotherVehicle"];

// 
params ["_allPlayerPositions", "_minSpawnDistance", "_maxSpawnDistance", "_civilianGroups"];

if (count _allPlayerPositions == 0) exitWith { diag_log "_allPlayerPositions is empty"; [0,0,0] };
   
_spawnDistanceDiff = _maxSpawnDistance - _minSpawnDistance;
_roadSegment = "NULL";
_refPlayerPos = (_allPlayerPositions select floor random count _allPlayerPositions);

if (isNil "_refplayerpos") exitWith { diag_log "refplayerpos is nil"; };
    
_isOk = false;
_tries = 0;

while {!_isOk} do {
    _isOk = true;
    
    _dir = random 360;

    _refPosX = (_refPlayerPos select 0) + (_minSpawnDistance + _spawnDistanceDiff / 2) * sin _dir;
    _refPosY = (_refPlayerPos select 1) + (_minSpawnDistance + _spawnDistanceDiff / 2) * cos _dir;
    
    _roadSegments = [_refPosX, _refPosY] nearRoads (_spawnDistanceDiff / 2);
    
    if (count _roadSegments > 0) then {
        _roadSegment = _roadSegments select floor random count _roadSegments;
        
        // Check if road segment is ok
        _tooFarAwayFromAll = true;
        _tooClose = false;
        _tooCloseToAnotherVehicle = false;
        
        
        
       
        {
            private ["_tooFarAway"];
            
            _tooFarAway = false;
            
            if (_x distance (getPos _roadSegment) < _minSpawnDistance) then {
                _tooClose = true;
            };
            if (_x distance (getPos _roadSegment) > _maxSpawnDistance) then {
                _tooFarAway = true;
            };
            if (!_tooFarAway) then {
                _tooFarAwayFromAll = false;
            };
            
            sleep 0.01;
        } foreach _allPlayerPositions;
     
        {
            private ["_unit"];
            if (count units _x == 0) exitWith {
                diag_log format ["grad_civs empty group"];
            };
            _unit = (units _x) select 0;
            
            if ((getPos _roadSegment) distance _unit < 100) then {
                _tooCloseToAnotherVehicle = true;
            };
            
            sleep 0.01;
        } foreach _civilianGroups;
          
                
        _isOk = true;
        
        if (_tooClose || _tooFarAwayFromAll || _tooCloseToAnotherVehicle) then {
            _isOk = false;
            _tries = _tries + 1;
        };
    }
    else {
        _isOk = false;
        _tries = _tries + 1;
    };
    
     sleep 0.1;
};

_result = getPos _roadSegment;

diag_log format ["found spawn %2 for civ in %1 tries", _tries, _result];

_result


*//* blatantly ripped from engima traffic */
/*
_allPlayerPositionsTemp = [];
_allPlayerPositions = [];

if (isMultiplayer) then {
     {
          if (isPlayer _x) then {
               _allPlayerPositionsTemp = _allPlayerPositionsTemp + [position vehicle _x];
          };
     } foreach (playableUnits);
}
else {
     _allPlayerPositionsTemp = [position vehicle player];
};

if (count _allPlayerPositionsTemp > 0) then {
     _allPlayerPositions = _allPlayerPositionsTemp;
};

_allPlayerPositions
*/[{
    params ["_args", "_handle"];

    if (MISSION_COMPLETED) exitWith { [_handle] call CBA_fnc_removePerFrameHandler; };

    // _playerPositions = call GRAD_civs_fnc_getPlayerPositions;

   
    {
    
        _stopOrder = _x getVariable ["GRAD_civs_brainStop", 0];

        if (_stopOrder > 0) then {
            _x setVariable ["GRAD_civs_brainStop", _stopOrder - 0.05];
        } else {
            if (count (_x getVariable ["GRAD_civs_isPointedAtBy",[]]) == 0) then {

                if (GRAD_CIV_DEBUG) then {
                    _x setVariable ["GRAD_civs_currentlyThinking", "i can goooo", true];
                };

                if (_x getVariable ["GRAD_civs_stopScriptRunning", false]) then {
                    [_x] call GRAD_civs_fnc_stopCivAbort;
                };

                _x doFollow _x;
            };
        };

     } forEach (allunits - playableUnits - switchableUnits);

    /*
    if (GRAD_CIV_ONFOOT_COUNT < GRAD_CIV_MAX_COUNT) then {
         [_playerPositions] call GRAD_civs_fnc_addNewCivilian;
    };
    */


},10,[]] call CBA_fnc_addPerFrameHandler;
GRAD_CIV_DEBUG = false;

if (isServer) then {

     // maximum persons on map
     GRAD_CIV_MAX_COUNT = 15;

     GRAD_CIV_MIN_SPAWN_DISTANCE = 1000;
     GRAD_CIV_MAX_SPAWN_DISTANCE = 4500;

     // do not edit below //
     GRAD_CIV_ONFOOT_COUNT = 0;
     GRAD_CIV_ONFOOT_GROUPS = [];

     // default clothes from vanilla + apex
     GRAD_civ_clothes = [
          "U_C_Man_casual_1_F",
          "U_C_Man_casual_2_F",
          "U_C_Man_casual_3_F",
          "U_C_Man_casual_4_F",
          "U_C_Man_casual_5_F",
          "U_C_Man_casual_6_F",
          "U_Competitor",
          "U_C_Poloshirt_tricolour",
          "U_C_Poloshirt_stripped",
          "U_C_Poloshirt_salmon",
          "U_C_Poloshirt_redwhite",
          "U_C_Poloshirt_burgundy",
          "U_C_Poloshirt_blue",
          "U_I_C_Soldier_Bandit_1_F",
          "U_I_C_Soldier_Bandit_2_F",
          "U_I_C_Soldier_Bandit_3_F",
          "U_I_C_Soldier_Bandit_4_F",
          "U_I_C_Soldier_Bandit_5_F",
          "U_C_Man_casual_1_F",
          "U_C_Man_casual_2_F",
          "U_C_Man_casual_3_F",
          "U_I_G_resistanceLeader_F",
          "U_BG_Guerrilla_6_1",
          "U_BG_Guerilla1_1",
          "U_BG_Guerilla2_1",
          "U_BG_Guerilla2_2",
          "U_BG_Guerilla2_3",
          "U_C_Journalist",
          "U_C_HunterBody_grn",
          "U_Marshal",
          "U_Rangemaster",
          "U_C_Poor_1"
     ];

     // default headgear from vanilla + apex
     GRAD_civ_headgear = [
          "H_Bandanna_gry",
          "H_Beret_blk",
          "H_Booniehat_khk",
          "H_Booniehat_tan",
          "H_Booniehat_oli",
          "H_Cap_blk",
          "H_Cap_oli",
          "H_Cap_blu",
          "H_Cap_red",
          "H_Hat_tan",
          "H_Hat_brown",
          "H_Hat_grey",
          "H_MilCap_blue",
          "H_MilCap_gry",
          "H_StrawHat_dark",
          "H_Watchcap_blk",
          "H_Watchcap_cbr"
     ];

     GRAD_civ_vehicles = 
     [
          "C_Offroad_01_F",
          "C_Offroad_01_repair_F",
          "C_Hatchback_01_F",
          "C_Hatchback_01_sport_F",
          "C_SUV_01_F",
          "C_Van_01_transport_F",
          "C_Van_01_box_F",
          "C_Van_01_fuel_F",
          "C_Truck_02_box_F",
          "C_Truck_02_fuel_F",
          "C_Truck_02_covered_F",
          "C_Offroad_02_unarmed_F"
     ];

     GRAD_civ_vehicles_rds = [
          "RDS_Gaz24_Civ_01",
          "RDS_Gaz24_Civ_02",
          "RDS_Gaz24_Civ_03",
          "RDS_Gaz24_Civ_01",
          "RDS_Gaz24_Civ_02",
          "RDS_Gaz24_Civ_03",
          "RDS_Gaz24_Civ_01",
          "RDS_Gaz24_Civ_02",
          "RDS_Gaz24_Civ_03",

          "RDS_Ikarus_Civ_01",
          "RDS_Ikarus_Civ_02",
          "RDS_Ikarus_Civ_02",

          "RDS_S1203_Civ_01",
          "RDS_S1203_Civ_02",
          "RDS_S1203_Civ_03",

          "RDS_Octavia_Civ_01",

          "RDS_Lada_Civ_01",
          "RDS_Lada_Civ_02",
          "RDS_Lada_Civ_03",

          "RDS_Lada_Civ_05",
          "RDS_Lada_Civ_01",
          "RDS_Lada_Civ_02",
          "RDS_Lada_Civ_03",

          "RDS_Golf4_Civ_01",

          "RHS_Ural_Civ_01",
          "RHS_Ural_Civ_02",
          "RHS_Ural_Civ_03",
          "RHS_Ural_Open_Civ_01",
          "RHS_Ural_Open_Civ_02",
          "RHS_Ural_Open_Civ_03",

          "RDS_MMT_Civ_01",
          "RDS_Old_bike_Civ_01",
          "RDS_Zetor6945_Base",
          "RDS_JAWA353_Civ_01",
          "RDS_tt650_Civ_01"
     ];

     if (!(isClass (configfile >> "CfgVehicles" >> "RDS_Gaz24_Civ_01"))) then {
          GRAD_civ_vehicles = GRAD_civ_vehicles + GRAD_civ_vehicles_rds;
     };

     publicVariable "GRAD_civ_vehicles";

     call GRAD_civs_fnc_clothDefinitions;
     call GRAD_civs_fnc_serverLoop;
};

if (hasInterface) then {

     call GRAD_civs_fnc_playerLoop;

     if (GRAD_CIV_DEBUG) then {
          call GRAD_civs_fnc_showWhatTheyThink;
     };

};class GRAD_islands {

    class functions {
        file = grad_islands\functions;

        class getIslandCfgValue {};
    };
};#define PREFIX GRAD
#define COMPONENT islands
#include "\x\cba\addons\main\script_macros_mission.hpp"


params ["_entry"];
_cfg = missionConfigFile >> "cfgGradIslands" >> worldName;
if (!isClass _cfg) exitWith {diag_log format ["Config for island %1 not found.", worldName];};

if (isNumber (_cfg >> _entry)) exitWith {getNumber (_cfg >> _entry)};
if (isArray (_cfg >> _entry)) exitWith {getArray (_cfg >> _entry)};
if (isText (_cfg >> _entry)) exitWith {
    _return = getText (_cfg >> _entry);
    if (_return == "true") then {
        _return = true
    } else {
        if (_return == "false") then {_return = false};
    };
    _return
};

diag_log format ["%1 not found in config for %2.",_entry, worldName];
-1;
class GRAD_tracking {

     class player {
        file = grad_tracking\functions\player;

        class createMarkerLastSeen {};
        class createMarkerRadioVeh {};
        class createMarkerTerminal {};
        class createRadioPositionMarkerLocal {};
        class ensureRadioVehMarkerAnimation {};
        class ensureTerminalMarkerAnimation {};
        class hintEndTransmission {};
        class initClient {};
        class listenerInterval {};
        class listenerTicks {};
        class radioVehMarkerAnimation {};
        class setMarkerColorAndText {};
        class showIntervalWarning {};
        class showMarkerUpdateHint {};
        class showTicksInstant {};
        class showTicksWarning {};
        class terminalClose {};
        class terminalDistanceHint {};
        class terminalDistanceListenerClient {};
        class terminalMarkerAnimation {};
        class terminalOpen {};
        class terminalDetach;
    };

     class server {
        file = grad_tracking\functions\server;
        
        class bluforCaptured {};
        class bluforSurrendered {};
        class booleanEqual {};
        class createRadioPositionMarker {};
        class getTransmissionPercentage {};
        class mainLoop {};
        class nearestIsFinished {};
        class radioTruckCookoffFix {};
        class radioTruckDeploy {};
        class radioTruckRetract {};
        class radioVehIsSending {};
        class randomizeMarker {};
        class setRadioVehMarkerPosition {};
        class setRadioVehMarkerSize {};
        class setRadioVehMarkerStatus {};
        class setTerminalMarkerPosition {};
        class setTerminalMarkerStatus {};
        class showTicksInstant {};
        class terminalAttachToVeh {};
        class terminalCalculateDistanceModifier {};
        class terminalDistanceListenerServer {};
        class terminalDistanceToVehCalc {};
        class terminalIsSending {};
    };
};OggS         B
Q    t*theora (                   OggS         rԃ    y2vorbis    D    OggS          B
Q   ࣲtheora   Lavf57.11.100   !   creation_time=2016-01-07 00:04:22   language=eng-   handler_name=Mainconcept Video Media Handler   encoder=Lavc57.12.100 libtheora   major_brand=mp42   minor_version=0   compatible_brands=mp42mp41theora(kIJs1R!1b!@         mSgVx9[l*hT()$Zy9fS	xU)$|<AV*	b!|<@86y,a/ǃbVB2E瓙e0%R8H!j4b@F"`,@!AAP!QQ@!AQQP1AQQQAQQQQQ!1AQQQQQAQQQQQQQQQQQQQQQ A!QA1a1Aѱ 31pSa5u!bSFtт3tvwT'Fv11111111111111111111111111111111111111111111111111111111111111111!!Q!AaQa!aBBBA!A"BBBAaBBBBA"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBA!6661!Q&666166662&66666666666666666666666666666666666661QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ!!!Qq!!Qq!QqQqqсᑱAqAq!Aq"QAq"RQq"RRQ"RRR"RRR"RRRAAAA |^\t}^?/f'|{rE7~DR4̮؄	LaRw;i]/GPld~rbWGy'	UHAUHƂ3҃<!co?'RDfSPk-!Gz̻#@P{GrmwW*$ErD;_!iŕ7NJPo:T8N.7]⇻ud);,VcʎFDɵԥX|'ɴx-3VZcɕԥ	E}	[`p&MtNUH$ܽN&jγa7+?G~pѝdģ_ɥGsqlmE(pYE$_w!6}á?dP#YYI~ڄDZdNuR,_(}ډצxF"e.;x`Y|N+[rvDGFήqm
jihpM+$\7#qgK'T3'-a;6
&Y"k+f`zdZ 0k.,s+b=YU"o;h,݀jLmGNY9T:n];]y*RFC)<c.CspP_f+b͢$d7ՕpqPT*;h	Mh7>]XVy̱R"PY4GxþG+1g	oPY]Jw	#͵I2ߎLbU'"Lcbusi.webHVr.egEva4mʣ(TF匷}	Mi;:Zt|*Rz1jɦtavV=hK 5='$Mu)UsCa4{Z̷?;G3+\h&i=Z_|G|YeJXu|
UsYixmG'=pUmvF~a
ncSPcIk,:=E d63L塎?#=Э4\XM?hSP9to8R:>!ڤM.een)PM+mt<cAedzRbH6+Iʈ[u~a+W`APޥ0k෧ވK͵Jl)FJP$^!g/9N߫xcU8$/Jm3Qs VFǕ)#H2imqKGBbimh@R:iIMa4	p{YY`DHJmc*˿0M+mt4T_~1AmyUHFHJi3ms,p!v/{W 
1j f˖#´/z8q1mF	/Gʚ>#q<9U$OQ
mY4/끦m07$hOeDO-a\8UIedBsᶪ^3c^Jւ6+I<y!ݰe)P_-P`H%i1M޻SPV=#nB##me&iWYYP#|2r	ޏGwŊƙfXoA^wǅU,ZfmfG): G
JQ"G%amLi5RYX~\NmX̺!<MA'0$4Yrǻ

#EzNH2rS ܱǪSQ@F!(imL&enŊuF-363r5|EpB,Zfm*)x5nx!p:pglLGrK+y*FC t"ܙG~VUT$"1E3]ʎ,䪩RpL3meF8Cż]c/\Y\i?"U,Q@pH^imIcݣ[YYF'm Bt~0+3mDȁvB#n-?b2fktIBOVWJyeNkpgp$	EְD}?`W<b=%TRYX~\NmX̺!OggS          rԃ   NZN<vorbis   Lavf57.11.100   !   creation_time=2016-01-07 00:04:22   language=eng1   handler_name=#Mainconcept MP4 Sound Media Handler   encoder=Lavc57.12.100 libvorbis   major_brand=mp42   minor_version=0   compatible_brands=mp42mp41vorbis)BCV   "LĀАU    7{Ƚ{G{{Gz{{˽s 4d   )rBQ*ǽ0=Z!B=Y   @!RH!RH!RH)b)b)s1 :褓PB	)PJ*RJ-ZssA B!B!BBCV    B!dB!RH!b)АU        I˱%Q%2-R5S3=UTETUWU]]wmvmՖmVmvmVmYm۶m۶m۶m۶m۶m 4d   #9#)")8 d   (8H%ifyg詞
        xxgyxgyiiiiiiiiiiiiiii@h* @ @qqqGr$Y    @R$r,Gs4s<GtDtLɔTɵ\Y        @,ES<Ǔ<54MQ4M4M4M4M4M4M4M4M4M4M4M4M4MSАU    !fj3a 4d    CY     К9堩T's9ls)ʙŠКsIКsyҚsasiҚXsYК樹sΉ'Ts9s9sΩ^9sΉڛk	]sd	s9s9s	BCV @  aƝ }b!!t1)FJPR'tАU     RH!RH!RH!b!r
**(2,2ˬ:C1J,5Vcs9HkZ+RJ) 4d   @ dARH!r)
Y      $Q%Q%2-S3=UTUWvmYu۷]u}׍_eYeYeYeYeYe	BCV     B!RH!b1ǜNB	АU        GqǑɑ$K$M,4O4EQ4MS]ueS6]5eUeveٶe[}Y}}}}}u 4d   #9")"9H d   (8#I$Y&yg驢
        h爎(ilʮ뺮뺮뺮뺮뺮뺮뺮뺮뺮뺮뺮@h* @ @Gr$Gr$ER$Er$Y    1CR$ǲ,M4O4=3=UtEY        K$QR-R5R-UT=UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU4M4А    ôrύH*G֒Q$Vs4I!b
!&1:S)sTsl!TI:R)-BCV  $$K       I         @44@<                                                                    $M44        OO      <=E                                                                    M44        O      @<EE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           B!+8 $A I4dY4hL Y4         @4h44M(          i4QHMA         LQi<ӄ(Ba                          @!+8 X  8cY  8e eY  "                                                                    @!+(  XpcY@,`Y h@    4%(4d%  P4Q8iȑ,KDei&4Ly	<ӄiQ4M    6hJ,PhJ  $ 8yyhq,DQMSUUh牢(*4EQ4MUU]h牢(.<DQMSU]y(QE4MUUUh@E4UUU](4MUUUו]iTUU]ue꺮+ u]וeYຮʲ,    :ɨM "   aJ1cB
aLBH!dRR*)
B*%RAHR2J-R!J RR) 8 X   cb1$BJ1s!s9c9眔1sNJs9'd9眓R:sI)t9礔RBtRJ)sB @  6lN0ThJ   8i'iIy牦ji'<DQMSUy牢(r]QE4MU%ˢh4MTUׅii¶UUU]ua۪u]ueȮ뺮,  Op  *auBCV   1)R BH)    @!+T  kZkcZk笵ZkZkZkZkZkZkZkZkZkZkZkZkZkZkZkZkZkV  vN#   A1$RJcIH+PJJ<RZj-9 Z1&BH)bB*)bRj-kŨJK1k0Z1Z1:K1Zc"Zcj͹#-Vk <8 @%8JYhp!+  !c9sBR9BRRs9!PB)1BRJi)e9!PJ)RsBRJ)%9 PJ)RJJ-B(RJ)RJ!PJ)RJ)BRJ)RRJ)B)RJ)Z+RJ)RJI-R(RJ)ZJ)RJ)RJ)%RJRJ)RJKJ)RJ)RJ)TJ)RJ))ZJ)J)RZk)R*RJ)Zk-J)RJiRJ)RJ)R  Ё @bW#
&BCV d  RI-E"B%sPR(sRB $1T2RA
!eL):Ƙj*c   A  	
@  $H "@  "$&TEt  ie@AB( 'ptJ     <  $@DD4s !"#$%&'(       I
GHI	J                  OggS  @       B
Q   xEa,>{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{r>}x>}x>}x>}xǋx>}x>}x>}x>}                                  ^+Op OggS  B       B
Q   g  OggS         B
Q   N5,_{x{_~=}}{_yxvo}y翿Ͽ>~~}>;{}>}7O4>6vw49x>A}=Z+߾O]{v}S>}y㿼}>g }w{}x>}x}x>}x>}_v xy4x _ v   p @ >h }{}}{}{}{}{}ｯwo}wo{}{_{      v{kGc"Ay訪/uQTMTU\K9Q*xz MXYK(YKQ;ԩy4=Jԩ},U,_K)`<)(*^ p꒤qP<tuGJ&:xFp)23Ӄ~if4$)w
d**<xid
eݼM'MR
%K<\'GQF "96ze2M\ўM,@*  LLu4$;ܹsk@*8~xy>4;J4v*J< 8TO"<`o: POϙ}0%̷M948F@偮x 4[ߣ)O=wx@x%|ɮ\{Q9uPyNp?L/s1SdCA!
ꢨR,#2>33y@?MTUEQF<>Rf<lȔj{8zGg3J(!@hh ;˝<#T u8f7ωL$$㗏̇oeP"DP\eJT<4srfc~)Hl?=s9̹n^o6d744$Ӵ4p8M#3<{Mh)9&\FsEh C.FSOhIy$ӗ>
XuAP9Q?'cM8sK3PrPw2\y4}KNoˉl3:s$xY9_!o>8i/9E0  &\9{.Q{C.SKpD
/EEQѤ
s 	sL09K)f
 X Y8S)%ʃie,5YK)cnNHI0:MMp@H9'Js@JIy@ <4s.wz tT8AP,qL)},EQ6@m4u(SKd'UEꊣ2EAPbzsNiHQTtKXYK4(ju<98:A?_QzM(S&uQT^:vҬlÒK)fK32HҖ*!3.ިh ܹr r}<NQJ@BQTUQTED(TUl])U*T5|Ӵ)U*TUkAQTUDG0{8a&FRv4)U(AD |<s Kd q8˚ C@AP vxe6oe>Fs}7柋Tva
q$y6MvMAe{!)E-9Tӏ?3L4HH*^t:%H%HndqTp
p \x˗D*=8VK=i<>aaeRpatpEn\ӢMD
"pi    \BQX:q%33/,_3?`mz|',g8y<V2!4ᦈbdO),sr931 7&;L'G;.tТN8Azay<&z  3L h.heB8i#.(%ǏO56Gy@4 N1#4xiwTE:h*4* <XQTUD  QTUD%EQT@y " &׌.xSqL 	g7!*4Q*EQT@x<5QTUXlRXK RYK8EQl! D<!<4@y<x<x<x<x 44ᦏ 4vrqhQx<TUi5%v)znprc{Q{sץ2-9mzi!z=p\1uCX\X
[
&` <x X`!`yTzB:Lf@Ӫds0|CyͻJsi:Bxsi< s@҃9<dȑOu&c'^Gc	"uOwl>*A?0 G::{<Q x<,@1u4Kwc4~o<#Ζnoit=O; D'8O7:sΝH 9O9еCP:'v"	)`P0XCG<=䤋G\ap.Ʈ.cwkfc/~S󂍆Yfn{h96}wWn.?	td
m$,..#..;KIAcϿn*>|yߚPD}U;m.g?k}\rP+6YeOfm#$-Nc"uӚ(!ȕfiJ~qߏڶm\FC#3*gW|fs#\f~.\0v9I%}Ig2fSybM9պ}Jdp,rffhQ2i㄰N_U$H.Kzxk-ދ'9sHH#gms&'[mh.}Q`uATAKKZIhz?*$˅qqCjrd<7uJ&fU~ry.O~~8hGqqqsWÝH'ϋ2h&[o?s4~i\\/hO6?s\wH~u;?wxKZ~?uqsfyS.	Ng<'W%._La_߿u_ߚ9>|E0,KEFoZ$'_$Ji^8݋]QyutITi]YJ;TRKIw%FJaK'|ΖK4YR?B$.3?A0R>̭Q%U:G\KńU;*/'hE)4'ƴh<.2?ɐ`@=YRW1_>F	;_c=F)O铙4RS1qgot18gF>0gp"SUQ%;*0<<Q9sy<.F_6/ ݧx**#cLDF9%έ,=4A=Gb$zL"0%zFQ<S26#֗B<GBI`jZ@stBX.m߿~牢1K2{7WWLa$KTHK5_>|	qcqn$fQH[8%§e0}o`uo[}X9c8a,Xk0`+F%$`eө#a$guuca8$0-@
)X3;WX'q2Xpok3$I$$VdGGΉ$nLĜqva,}+0¨${xbN|RҞz[uuFWWXc^ׯ[I>SׯTfm]]muuuucu]]`"&qD)q0tg{k{XfJ(xpqm4{Ui5[Fq%7WH`90TK%b%M tp$ȺN%P\K2;qgadZ$gӰ
ՍT0WWWWL~߿~{S]OzN°{߽~ۛ	.IR]H*!"R9,'3ɒMU5UUUDUUUUFUOF5ELLʔI$.d	!<@vq$K$^;S$C/
I/K(KI<kVmmD͖ʙvfgS2%)Iu33ffxzfl6rfejR]"R\L̤I$lRi$I.
cI%ㄒI%)/Μ/Yb-UBU>%AV`;TIj&6p$I)JK$$Q$Z4hѣFF4h9)^(;r0</Q'yg4檟S{}	{m)}߻O{ꪪQsO}^SeU?&ުy;{zURh焳HsØOggS        B
Q   1hY  5 lO>|/m~4z'JHoH+V_AԖ2OggS  @      B
Q   Pg/;,M^xw`{kzW_zI!{4)Pѧ_{}f|=x}xz75ywm߼>lvot#z+ٝ~o}߽6Z_u|xtwAkB&O/ږktl}vuxy|pؿ{_xx~	i>}o
mEv_/}{kv;7~{}    } } w>x;  >} >Z߼}>{_x5{k_xQ9Vޯlxv;4 Ͻ۵} x}}>xx{}}v{}}ｯvޯ{}ｯ÷m}v;}):M;πf?搨T#T~!yuG؃=tOQNii0">!̐UGv>! Jxpb3`qXNSCG+l[A!ϜL'w1JnPeV*!oQLU0:pT&hĄ*.VT_9ꉏ9K#R&fӒd<fdttٙleǹs~FruD[2.ZEBf{4O\9 &aPbNF[}'='⺤Ͷ@Uڡ}6Vmvf7{=w&/n:Q}ؑPiJN
嗍aL-js1f_MB\
AϢ?M;BIaLSHÊGTwp
	jP4*mbʈKoYQz'R1zլTmUԬn7x'gG~*>O~ګ=P]X^ؽC8uEQd:TUQTaýQT]T-~9l2?GG?{@Ma\Mr9S.UPT&Lm?O:G.usH|[c$ϼ,\X2a]iZ&="i7y&y[
6 4/*??>Уxkk82ʸz8KɅ
)F[,T8hZh(l̸HKΚlswyU T䦪T4=s c#jh<Lo`k-;4~سӕ__?8T)Ps32=;2C28Tv/C6+TLko>ouGgng7K)q0rvqx)kxy	&@lB>yP*
0ӹUGQ-[ң-oaPT%Y˕Gx8f=ToL*2ڼ mP{5xUl)1֪>uG|s0k\2ALPT.\\L*#LdR4DeP9Jɘ| PΪ
C2f;YDe|&5Qਛf\b͵TMTUF=*\ɍ\fȨ:*&3u:yTV:k3Ty֫~G&*X͋qEQ^UP?+E@UDfhꎊ"ZӚp[	p߼ZgOp$nq*%;EAPT k&A"D"i6\*+$_i3i**mƚqQ 봕FՅFtI&]`:/z<yGD* laPzI.+V4y6F4t4*rs2UJ}S/HPL#(c<@y2U+592L2E>L鄊mԔAWn5ueAPeBmP+*k]v̶  ;ω<toŊSU10ۥK7?l]jKsǋߒY3"eM<xG&׭bJdsM	ʡOr*~y3]N(2>8.6*]|Tdpu65P}T2epW`
ڽ449̼%ɝL^F2Ub7t>qoBla[/54:K@$9@DC yD}sbZX溥{)vԦ&S3Nl䩅B%9|ڵVF/-aȗy<D4sM4t4AS[˭ٷQT0Zs=m{9von*Q⠨q<t5#a{@ .]{t#35LPbv ɳWe@[6s$τ95'(G5Ps(4:QJePJgEgB@ h 7:h WK0Rfҡfҡ,ph.o>"2 r9y	ᡲhng£@'0!N3TrHhI3N΀L? 	ZI/]]tQ4mPJc+ӕ&3&3ڷLVޑlq
|υG3&&0@£N̓$Tk4<f̹4@xhv@4h @	$ 6t 4C@ : \$M  B@@6M 4 yh d4А	I$[#m'@$
a#@o?+<?G߼N?;߽A"B<wƏ7w x>(99Gy〃>p~w~yawB.#|oAQ"4=Ǣ~/?Qz.FAtExh+7[賀D:(}} ҈:Aǃ.xo< x:hyX͐dМr
J8L"  '@ F-)QҩT8yJ"iS'BG]dtRCaD>iSi`˂rr_u>#+|Rs6Md%ˇ -L-LTEFAҟ=e;l5 fL)Ɵ?<~q+4S%ůN\7Dy3ҝLE@A)sN8pڗ3y">by8s>|K%<M6)*2.&q J9Jqbq7*i1Iw84	Q#4Jhj62RTM3IzcC&\ĸ9=,{磊٥,8󘽐R]6YҖRY
3S&9.	q947顲G0L^f%u9cYcU,q0hǆ y:PplͳL9w	}d},֠/5I86ڦ2a@s\oGZo:{LS-dZgr]
?}Q\Θ?^}Hz>:@ @]q@@~~xi 4zƬf~zNBP 嫊ch!BS~
9V)/_9t @} i aTBu=jo;7߹j1Os79(=4"z-&~c<:DAQ+r܁@A94A:b&U]Y'<T=* BT/{QZ&9U/vؓr|as[&ۢa:1vzuR@*dwr@c:<&Z؁ 'ДQTJU:i )VjϹ=>U@@~|."'#ݯR
1u}~zV5F0wuu~2XT-Tj2ײ~5öBAѠ*$J,gW1TG]zhdΠK>Y
+?>sο)PBTҟ֮׮cP] K K*\)G]0e@^A ?.\]J-܀; @=vvU׺ݸQ
P?JyүֽskMjwJz	jW@ h{5J}+@z0S A8@'@Z+Z]P PW@s|z++X贲+:0q_Ⰲi'\4\h4Abn|kcɲ(bks+bWƦX@DƁb*WZSkh_=t@hK\h+*>hUQd [?J-Hcΐt~4Ϡ@r?ɱR:ַU˱/..>_\^*#@/O>A<:@H ~S@˧sӟ@4S?J'W@ݧ\ĺ
TjFUVJ~:bѨ$y@@yq$q\qp}y^8+&ZutSYCk_m'<ӗPQO/QQunڍE)MF^? VB&W߲۵
nez@vɠA`.mmogrL e:8O_u:
E.g.3Xr:-,_f˧vZ|J(e@)Mnb#9ʟcy*"u} (|Z TiOu?JQ?jFR+Uh{QhXlcgtAR1W871}TS=r:^7pR2|_( ] @]P @t @ @鎐 @c @/,P]xJz{?PD21?c >@ ݐ @T= A<( A @srO\.h@{/\>ßύ׌`&(둙ce9@xtD_e߾~ۋĺ~W߿n\u}:zҸLNLHy=\O
tG}$}vߺWU?u\}.3y/:@9-u+GGXOQ
,s
T6fk"c'?~p9qq:n.;q?8.:닋pqԸQGOV>~_~.ۍw"IΪ+.$w77wQߪw|;߾)O~~tw
:KK2A!*zRi{{ܚ~1޳̣߿x9ޑ(Ԓa9
~]Z_g!lSZI3ffގ::;utwϺEOؽuyUjuZNz˗XaeQE[Rc1c-1#sh!Tpޢ}ۘHy*+INS~9蠲|Zu}r=/wg=juUz7;EڝFS?VWF֔"O^}޽{TO"܉$_VQLJҹBj-*U/(xׄ"D
L~\窧͔=1+]/P1xx,Q͔UNE*DǛ"܉sOͼ~~ۗnD$Hz^z$OU5I&"PNGU("~X.D}pǋrjnwwYuDׯ^^z޽B^ǈ-xPVQ~Q"DPH<x㞺#z'"D$HudH"D(EE$1a9#
"D"fGU*sۈEء"xw4Hh8ڡMkꨱǟcDᨾEC_1
G8_Fiz$_/z}ؘ稑"D'"D$H"}$H"DOR$^,DI&{R$|G<Oe8u}goE֢E8(.[+^-Zkq+VN&=Dz$H"D"4H"D$Tݨԯ{Hg5G2_j8-[a"D2]VQaEFwC;-YLxQ[[QODS3g5DGi6fQy%Ȳ/D杸$z"[+jI5(2m)Kרz+;&)#|ʅ9H"&n4^=D`"E(UK/a3,	XVH"DQH"pbź-X*Tb%wEc%bŋ~%R,XJ>k-4EDZb(PbńMZP+V[JY+.^Iy5_a$"D"DOQ"Dh"D4Ct:Ct:-vCЬպCjş+@O"5j*5)TJTT,IyЊPAAۛ($OQ=zD$H"Yψը=+PEWb&QN~NZF{">R'HqA	$Yj3B?dD=)O
+$G$H=}׾$H"Dm]ⰸWjTE/JZ$JeJ>y$H=zׯO$H"	Pgq)x&L:~~MWC_NAe*z/""܊$LELfrn:$H"Dׯ_H,@2JJ*/4O׏(QK;I
Tzl"DD.jD*SiJUj*SUjKvYe^WejZ(Ŗv}ZUbՖZ%Yj"ЍNS)u4)5FSCQҔjAOD?Sׯ^&KHKr;?m~ȉm"^z {~8"L#][}W-Y)e)m0DXhQBĐ|mKo[ӓ茶!Ƚܻm,II{AT1aO{=OӶ
VNɬxUOQTpbX\vr5jyS"\Ha9`*$0cn]]VmmQU*Ҋ(((QEQFQfQER(tQEb(DA<̈́bI-,`A4.{Kc6L!q`!
6҂|fdz1OF|Cj :'9{l7f+Όu'e'tseYB+쬓XCB 饛FQGwLRY܂qGSG8e!cL()Nfe̡
~^˚ˬ8dQf`TJ!V)<*u1L )]S舔1A1C߾>gٌu6S130=c3ǈ9"vY#86b&bz:c9~(9Uy?dfc7Z1d T=YwgVWerʞB:3~:sGW.gh.ee3A(,?aA8  ^ܒA|gAK,"qY,ebY`łcPTqJ
Ҕ *TRJ*_>fk3!Lfq'$JSB'cgM 0P1 ?p:Y䔵ZX%ڱ+Nվ\пZr˗埋}wVq)~~:8sP@G}>ixPڄgC
 'ye=?M]Ǟ;E@wfqB5c1$CZsG?dng38DDghx>kckcsc1݌1݊]17\čh뚎j: u:5p.0x؜c;1N113܆IF<HIc;%%L&2#Q$Kh|Z:6#%#K2Y:'G9LM94K5RXI$zxI$$N$,	}`I%1q2I'IZ$NJWƁ<'`RE$9B	
feLʕ332+I%3*fffdda"D$H"D"D$H"Da"D$H"DzD$H"D99e*W7774
#ܼ,|9:z	0	˦}gFVr 9<xE_yw`P&ٙI@6˛GKqu{.r999999997NNNNNNNNNNLwDu'LFʞ= rA _r
2&:=ܼ ȣsK9ygӔpP=ts{"]pLq?c	TM`ts ?7JĿ9]y~.r{yR>@x1N99nnnn|,DYNnnn H9s7770>9ssssCK998:G771}=nnnsrrrrrrrrr$c)$}?)]>?D؞rvIZOWr<]"{y<yuiF\vrr?^cL[̌Q+>.x/}l~=;|<or~Xr$
\D$NNI$H"DNNNI$H"DNNNI$r~p}(7S}j	rrrrrrH"G'''$$rrrrH#DNNNI$Hq3⃫I=tI
JY@$SWl)iF9@^<	 T$v{.l<=<%z<J%A$B,'+%S&lS<>
Otd
q4|tK#ǜkiEҋ&ĎdBmJ**"c0*OgsjiEg9DTt+tMZrUL8RD*l#Xbq4vU}~3XOK^.0+;\"Z/9kER*yĘ˹tcGCx}A7(㧯:ŗǛmZ9c9ͥҤRK6y4,WL<e-~Bůf*\b'
.edmż]h^9s˥.c̗3*K)Hi})5~DFb^S(áh_+O^j9eҔ.aE.֬LfW5esׯb$0H"wXbPXԬ{2V[Z11bޙ:A~D^FSmBPZ?GLT嫖FN~Q?1GC#Kw[5VZs<Xn3ݙ_/s,BشxZ<`^ݥ֭-a][lٴׯ_ɇ#%21vۚF3dIpP'!'RRHIwa$ݤowA.B	fH*Ԓ˄+g$gn	)%fzO}nSNso۩,)!DWOU89̟~X%%څwTkJI{v` @۽ɔmJ\8ܻQZnVֹ%f{LP O5-Ҵ+73W	_80Ui-bc]R=ceV32_p {sp%vޫ1,η3)F̻'+\W~祍?;xQHH)Tk:]p=XRv`)Nnչ<ˮZf+Wf{xr0礖TagIVVO9Ӹs&WI`*a 3
s<D'uڌ {ZָII/p秜
Mwp@Ht'"=SNN]]kRsK*P\$pkQZ	)%MxK8p'
x&t5j_#@kZ31%t..[P`ޥtØnЛըǙ,.xzKxxo3		$| ^٠f ca&f5#v665/WZ`&4-Fn{Ėܞv
&$F/7n.h .R'lG666&&7.D"b[8dǠkTlllO#WL"6Cbۙ}G#c@@cbv4ډ1:w	ձ:Bz5.a]Wշm6Tlllkclllke,9{+OlllmsԼUPޓzqa{}9}M<+@ DPU\j.sto <] r!nnWo|oe
<R_q zQvq VgW8+lWZ*a޶H HXĬ< N :T6{ABy=G!
)L)JR)JR)JRk6^d%
dv]K#q0ÄRl8[,BWp&kZֵ̦ҘR%s6X("qfS)LfS3333K
33333332rBi{IvVWwwwv]ݫWwwwwwm%Q$ҐlGKl`:a	'اDUs.	$I$Dwd$ݒM$9vO:s6nM7&E~MfQ$I$P$OggS  B      B
Q   Ԓ\ lWHj0-OggS         B
Q   %&BS,Ԛ$OxdԓO>߿qޏZ;OUtϾmǾ}>tmƾ~n}k:۽]7߼}}e]i[Ͻpg3{}}pTc܏q5$yyl'컾%9GBvk~ҳ3A>򼭇}櫊<%>󿿶}ݝ߷~;<ỎiNtܢW;{x|g}voc{w>T)>߼ҏxz}>@ v  x c֍Ǿ@@h4x   >Z xàO}ֻP}۷4Ckhq*{}ٹtQ О{񸽗Jp 	z; 	ƵOx xx;}}}>ox{}}{}^.a{su^.9r|G0r礧ǈƜwYϸav~OFq7؍">7cLzQ8"(b҈<wwHYho|Aȃ~y(0堤ۍwqQT3p/\Z2WfN\˘2kL1ŕA6PS_`bbSYM\\	EP;8㘧HM3ff0LO^&!b[z7aZ8d3r\Juˀq3ˣ[{q5ioUPFgÆިnZͥ/L*	
cZ*|Sy%l|tall.uL*&e@^Z\3_fPū֬啩[5.OՉZ52!#Yf}$-OcBrj@ے	dT*kDFN<79sPʡ6'AsBXD`іB+ɿITT'㓜;#-0YNO۬s)ೞ]-C4ʔՕF.mjH~֕7s]SÝmzU%:B	]_ڮ0_B GS[tx7
l@&מغ>>9HS	Øsvg3};:[F{YBI%TqPs܎g;;brDOņhȇY|G]sLճuHLA5y~{JƯX-)@[kqFZePj\G!^څ^BZ_
i̲ҏ%Ĥʠmă%*rvUBfh	qhq#cϋgC/h*AP㣗'&g)[/yYϵ[}/f*5>S5Ӑ?Rɣ˫F$qyO_iT)ZoT?QL 	T.sbI8T>ڔ̧+>8ᜏ+>#2!jMTUOn8o،ӜM֜O_d{7xU 3Avq˗.r9y
f"X`HM9?jq@&h]QkC#T{+oTVC6$V,GsUϙn)ۡ"RVejɈtzC7BA/TkqTcl=8u@/ɊۛVk
eP1N
p6ܧn',rʠlɍU2IX7's
|f}4/#;&APQ}NUqPT?9D|]fWTu$)ZG*:Ϲ$sNdv29BIBEQ]YLK;fjWlT,5Y
.UT|\i	S7iT\M<j
խTEزHP[ɪ͌K:b+mUCTWsJZ[**;ܹt1jqPHd4&GG ܻ3Fgj(l*gkCfUEQTs:O)tȨ"2'(JG?htq$smN5Q2Q$a ߡeV{
3r~4 ynw+l2i4<Tw.<摌|f]M7uM?rV!n($l:jT"
	PHL$N4W*K'
jl]LMe]5 LC$Fr-NOJON6rWQ__}g1UVNDϨ^7G&>tUI75'B3.fYa{AP*9T@rs?9*vvMCV感	'Bs-ВGuSu$ck*4_Rա&HVP|٫R+	ՀN&;ܻ7Ŭʣ9~d&\2JN&R>!l,jy*yљ;\M [=yʠNfU⠨T>OIܚiyQ~s)1)ĥjBa-QZV	F*:}]7]ixO$/VoZ*JfKh
gэ7#9yx<:9K6^lpl:<4G+*hSpB#[fǶLLH.S}JnHb/̪
s# 9s@<̎5UVPX(IeBeEumA:-ɤlV	ŉΚh P8K>i._8#.y#W?FU$M]&@Me!$$Κlo|.Ig.9Ηz	Z.BΪ;ekB@sxM'fSiɠe!I3Qɦ˖FfvBy$ɕP|q(\[
7 	ڪO'j$QA$Y	5mgP/TiTȠmE(PDeK|Fs;;&GIs%A[̸2Kq>p	
95ˑ lM$ I IrhDBBI@$ 4@I 'd6@s*
pTB@6vvBgM 	BA(@:IgCggBv@~t$Of+SHl()Dy$Ҏot;7ߧw<89ǟyy@iyoi
c~!wI>8~ot}4M8p?4O<9Șq@LLDH|6cK:o&?>99͞|Giwxޠ?Poi8?GGNo;G8s΋oy;wǸ ?FEAiт7?D B:M	xht;E!o4}!ÿ (w7?Ht4|Ӽy!7 %4ty6@ȨȨ(*bTGU^ I(Eˬf!Ld<C7;eO%"-SLʣ'O9Xk
p8pө K,,T\m,"G?3_b@7}Q;[UFSݙ]lDV6Xsk$Qv>brq`%8e7n"ŋ'mmXYP!`{ie2U՗tePdSEK3eQbJwbjpI	CT8OpAĲM[n,g
32y5։108d_{s.gJE9v삢`ÈRܨbkG'M<IjrC{8	eA>UTNJ֕EAJ.rBkB\]uTJ_+0GѱTBWVf|x,uQTU`O%46AM
cFn-^q5_T?2_j`i{˗P>mtzo~e8ZT3JmMM)Jwy4${QUSK$60%5|$cpev,OgYn*-D=nZ7ʢv*M<L䩯nmھ<9EG~N۝F5 @#|'x5 Aΐ 4 ? @h>] fw> ?چ}@fJy=;}4Z=.Y/ݔ 9{P e'+}:v^סkp;zh}>oZnCMkM@{P]=bߚBvv
+M߾>G=  9@c@]J|T׻1?+JW+PZϽ@{F/ii?:/4}iX%gҮR`ޜ,dXUf
SEm6FKA%I;Kwۜtgm\vRzL^OB뫷vƭAӲ$??h>>o-VAxo͂p!owwwsE_MPTh@ɱZס4S5=N9PCĿOY]6'Z ?j1BCi4nT~ u33Y_@:! 1W3?s}`Cx4=IBmqӯ5/Z$(nM)gWS@hkIiI]5믏?%F).?Ջ&x/CWiX*ْZL8v9ns9U(Jk|b	^y>hz-EOe[m8_|/E鹐;8Uk]vKf8,<{^PgKA=]uXt0d:Aҁ8M>rdէ?>
:-_$Yghvq=z# d @.!ysAG &i4bZ$H,@ƥJH6 ԉ" fA]>zB#VW|X^aj:tB;I8TQ=^/A$SuK@	k>Pw~^("BV^RH xۘkJk¾Rr@`@P|hUM&_MhS=.ڟ>o*s~h?eiu:4 A}ADYfJH4Ǚ]?4b:(H>"2gQ3>dYg\!S]|ge.@3׏AI6}=zH9t@@tnOݡ߭?(%Q3$|F}emw:~_,a?8SVI}B:=X+^U+UjuzM.fB|*qe|ǟȧ_+WscEN3cr@Z
Az @Z,XB@\sNFoNEUc2~I?A[֌}|H |,м|ꪃntORBQ漃_J_a>*U8O4}V>?δcϟ'̋~!_+AYs<7El#Uť/GF(է8-n>T
:KW//PAڍfv70S']{u 2K+fCR
5 i4w̟Jch_;R򋺰]V$J"1E+?;^w_ wg"ؒ|VuۜM_aY6?fs3Ͻ/  LJA~";eߺv@q@@똁= @    @  c Ri:s;-^;c6 gJ%[ c+}1 @c @ 0 } az t @{@\O>|>޹	`@c.0γcr#gws0̹^wH gcu0/f>ߣ  ̀uE|ì83C>j23+qDsHge'	:{Nf(x# /ִֵc!d~E c7
ቇ!bapD!\>W+&j*Iw3оttn(}_GE	_GG']GA@ǬQtz>[kg}?xΎqо_E{t,_F
ɫG]^³u'7_4/цsgB:qNadΎdco	Ϲ}p̒m-o~| tP?>q{ۣ}΁磣󣣇>:	?&T>V:>'gz:jrgD=O9:>tt^~|ߠ	+ǣnLHp`֛ڎH~'tt5~j(zE|@5@W&U}ttD_Cu xͤ7L0Ftt,_B~_@5Xk.ߢ: +@=:?~'7о*6%D|;w;|~[|5Un|/^rb_,XY|Ye,Xfjŋ,eIӌLot]&܉.D$W~ݹHhtDף\yC{=:=[~E94-ilG\J,5:5zn~5~f!tnm㵶ۛJE-W"E=S|s_K}ob`;~Wsw>/D6m(hm}	^VEoSj4z]}=Q+ȬCgg9z)aI>w)PM(Wy0ahD/:cz&<Tp~JA,i"DxnDvHg5Sviǔh"]"}'"Ewݽ$O)#(իm/C,*[_R\I=܋{
HZn[W>b/}Ñfz$\$ZH|oD[|Q<D"3ןƉ$\h"}'"EsH"D$Y":M3hs~V-$[>_;oZnF8<T+IkǏ^E2ܳEIQZ/SHzE(M}}a:U&q,X""XXwH"D'"D$\/uϢD$HXm/ 4HȑcAS6xVsǛT
vk׿j-j zgY5R-R'7r.=z ~y$H"DHDh"H_;EV@ R^o|/0JZaUދĉ)_|'PY*W.Q7Ly*~j
-JUǞZ+o9zkmR|o`
.TS7ZkwQ!xJg@h3ԝ
<eN4OQ"=LF:+S(O[tzKJѢDz#D"E繋=$^"%rQj/)ƧQi?/^SSjz}1^Wb.WRxW·U=VK^:NEK;SDFfU~Whh,=^z=ܷX[4u*T_;}?F_"~"ވ"?D$Ho7;xw7Vo+xzN^+x+5zW^/]:{x/J/?]14M&i4Z=C-t
Zjժ)TTR[o?ϫhgw"Eȑ"E#-ȑ"DU]>5W8TCv
'O=oEqjt*_;+UƒwDD+}|19ΦUvkWS;#4ֹ<7nyD~hID"}$WdH"D/l=į%V6-ƹn[?]*zoitOj"D0s4vHZSEWWH$\$HHD٠UE)PR!(,@];
j|4RT$^FyVPIΉ$Hl]bz/Jb[|dFV9$H"E={Q"EҴD=_U-&bFG?YJSƉG>_^BVC2tE{TQH"D#D׾N,_KI>A7;AA_[AA7_KA_[}
_[}33*tWMrZvQiJWUO΄u+Eh5ɧ7_KJ	w2w2,W_+,>|}_e|Y"DzH/" 1'	1d@%gcg *_pӗIqFzwP8O88pݣDF=qDDFDo 76MU)bV7euxH77q>駖0z4D$VP"
NK%RH/wJST yΤ-IĉseĒQHM}ߛ_T*V疜P/qF/vAy5<_ͬ9>]]]Kri?Myl۞͚zٵus70}uuuuaݽq(d.=^2nkl+XXz]I,owy^I k_&]q7ą$&.w\5VԢ̵U.\q\zbEtzbׯXz:^ׯ^}r]4Js(BAjԥDVZAOGsT(!$"Nv	$$ioaR(ґK;Ca;z!bw!9~1?_9Cr	 1Ynr:WEv<\>^Je\0x#P?ND+F-;8n
Tԓ;*ĒZ{)`$:0ۊR9.̈́Q˯Dv!f,9
e(!ȶBJS L~S}߿ ?LXǯ6td,8RaGc'Agvm'$Qec",7B idq1iDE,<!i:Ȃ)^2s(j+ ,9,vg76MydX+ !C1`e0 'Ћx21/+Zh~uo{9;вPSj1VEA
duhVEJ
FMU['o&fd}6ߙvoϡE#VՖ~9Mmͥ2-Df
R:h ok-uW6q-C$
'2J*T_RT[_J*2Zg9hU?5j*ĭRgJ**BVj
J?-J*hF2BeDG $	 XAH@QRJ*T3 Yfe}ӌ`01n1l)L`T(tAT!

 	tJuBꂑBQ8y}6P೚fe/Жd&'
!RUJU_NY:|,NYku2z?kŊ[Hmyt[AU2O}{>x½T:ֲή_4N]RdGRڃ܊ D@TYS!S~*t6Ei2?#lGrTLloСJ:AJf攺e}ZjwfGsV"6|1Áw]iEF!YV!cUj!]D,E\ŖDwYeXJT~aqaqsw*ҋ(vEUj߻mpcTD+JB]Df?19EGBsZWAcp#Cr5rUAffA	1#o<f xpy?>#W3W	,IT5UNtfdwOãPɶnff@ޢ~ڢ`$:	u kuXDUS1hڵ ЪBg N0A!  UU| o`h   $` 	32&g#&f@h37fẁ$K  /`Lxffdj$327[Ud~o/"o&{	T(㩑 .g:sYsڮ-V
@UjS2;kTCȽ"D$I$I$4$H$HD$H"D="DH$H$HrrJi$H"RL$gH @ '<OϠ{
 ^"G4="G774ni@^׉R
\Ó* &ƽ=9 mPTUs(04(8AEi*OSP$H#bB9}"D!$IX/	$&ȶ`,H쒲z5rrc
r !rD$H"D$H"D$@8lg-H,	e|bH
Fw!"V]tH۠4g>X{JuHgCd nҁ$@,@ZJC|T$̔ Iu329G99?rLC!4s~Tr''ɻgLr@Ь:]g<*G;:vs񠃉{g?;?sH$Ҹ@"D$ED	$yo$I"D;IQI$HT.$HNI$H"R[)DYH"La"D&sD
$v*$H#<?H"Avh"D^$CD ssssrNIAi$H"IH"J"DxDeJV }qӔQ [  r v>'''' ~Urrrr:e2*/90@'"NW»
B*B<,Q\s!Dœ_AO l7zI Rm:BWNx
!q6'L]%XU  e"G$(uI%+D%J"D$H"D9$H"D$H%d`7[VАP>D$H"D$rH"G'''$%"G'''$$rrrrH"G'&VR|x1o#Η
t|tQZȁ23O~>z5hO [Tg~aoyW\+а9`kTA쎎##%GGx厵!&)s9*$h.Huxb+AT-oF'u(&5]ݻJZ=`RI*,ROF<^޲ȘzgiB)EfLQic"	i
*PPTh9gQ3<v~~q9cWR,cs#$I"ǣ
R~&D!B

	݉yp*^fb3fY'8bZ֥, -9]^mEDTM&I#eY/W(fJX*Pk
TEiY+*,1IZk#'Gc5,V#sUVR1uƽyq2ǗUB&BQoI&N^ņ9#찱c$HnR,Y,ZY1cY,_G|VL JiȱƻY\ɒ`Nf%BQUgXSjЊdLĤ༯]BX~EqKMY\Z~cǩAE$qM9$*TH"<oWE(QE	yǓa`],1O6xY|1cu:#RB(3R"jcȩH)WV*:^IHcyî:oZZtj:Z$UͥnA:;8~W*fYŒ`Y["lELJ^+W_+:yji$y:\DLdb܊3J#fY)sEv|oюjA6K&,!bEh]#Qf].Ȉ%F:p\FY<kE81Z/7mf
T(˲YX!$hq[SY+uN0!AmV\5ڌT|5;mT##^Փ8+T+JkV עp:5IRbT'	1 p̮hjS9+3H|ּ r بi@W,O{Mj<Qu$JkwidSwD]_[8;7.LF4_gQZiwuU%GCmffZKR\8L( A9OȠ
d-@Li+",u5p:s:\UiL˻XZKLyKҔ˻EA
d	]	.ep#UAtu>҆C*)9җ`fzDժI%l!R^ ݬ(4\X^)<O5rꀴ3N}o)>`ۮpL{L5K_~+Z^ 5Gj[.s
!TR~	ftIPc)Jka1L &V%+ʧHu*$V"EH
DG_P}?y玄Ex
> 11!RD!z.'4K0P:W[( $pGR{}"	 $ Rk~B)t	 ,Z[.X=2B 	nSQ8r@:җt˸8v\echٗ8?G`[̥.$y s|=p'*{\rR}Ҕ˻D!z-r)nG0bZ$rB'F 逰{1I˗JRv̦H_؄~ynj"Y4}VM_:L{-JR$*ҮI*Vn2I*<NfeXcn'>L>s=ICvA?=cPlllllllo(DTx+F_aBGIbbbbbbIQ?ƅ4LLllllllllLLLO-)ͣ"yTlli#Xy6-r
fLkqÓ7-ؘ
2ZHg1uLkcllllllllLLLI&$kW&4IXJ'6&&5D㒦-zNU.%oLLIl+籕 OLOv%R&%_ѱY5uVeb80ma%ë.cyq昘&'TN#FdN^v67nxH`\{AXTȒw+TbLLNa
crr lmLLJBFۮFbbbHw鈘6|<lO111&UTUJ1ƓĚ:CoU	+kqkT/щURlllollllLLLM_Ŗ( DrAϏTL2ƽ1Ѱ9V:BOq'JYlopbψÆrLW[26qQ+6  ~wk@?P3 @zN3ВYU%wH|n
ak8vx* {x<܊<V	d@yCc @׈9{oǀ9.@ϱk~wK  `Rp
 WjDV`TY%ٖvgn#." Q4dHEyd֞P	ߍX&SKTxJ8_q 1`4c :ތ_핤
,QozAX \`RID3g=W.d2U~R)y־"IAXbD<!j̐Bt˴E5WJ8+ڍeH
p4/G v	7į|}t@ubL`'GJ+ţ*TRxyyyxR<<<!f]j7}fZo32k2r~nwZ~ZaU&[[D®f)0NI$fC1CPQ¼Vm`ffS)L̥)JSMI8!$IIi
|fJ4ÔNs3I<5UaMNZi;hF貔3&L9o 0VuceZkZGZ֣$c1usܭF3Zֵ֥8Xky]f]\}}CʝֵIVݣr)J`!}]j1a;~&%"MD!Jy(2Ipmɤ_`"`uiZtVݻͲ܂KduBK09[,ka&J(c$^B!B!Y
T.LHT T,BB!	PByA3uiʕck!a7wwuֵkQZֵZַZֵkZֵֵkZc[2&RIvBIk1#K
m%dJDJD%%s3		<f]\
JL	6gf$IOI$N[%t&d''S٦n?Wָϙu$$tIĆc)-'{StP.T[$0L.lR$I"IDIQD'0̘I'It!>r'O$Ç3	2M&ip&$|%a8i:\1I)+7kE$RK.̻3+Z֔+Z֙k\ֵV=p<d/X&i	8mekZfVfekZfVe2s3+ZS2' 
!G	(2Ml`Lp79)^dɖΙb	IVӃx냆wxj{ohg-s 9*lYxzM|->:t/MPK/xWWWzd٭enɻ[ךtӗwwwwwwwwۻ$,wwwvI$sB7ww	7
iEznZ+n'iI6OfRI~I6MI|&)I6JuiPmi$fLmI|&)mlI$OlF6_mSOggS        B
Q	   eL3lv~.C~4!}<0ojc{`OggS        B
Q
   ƻSS,;1w_x'}$p޻Kܶ{i;7Nn>{_y}GOm{Ewf7Eo}c{{soj}ݍH﷾W>>O>KrNx$>}wޯ$>.3jK>6nhgϼ'o_{wߊ齓kCʽUߗޞ>'~>gk{׷>!3{7uy{_}y=ϙg ;vx g`}. >{~߼0  }	 _ ޠ x g( uk]>־kQإրx}AZ }׿1<vx=x;Ei-~۰ ݏpO@}>}Tx}x4}v}{}}{} c@ F4\\X5
>c55^rUyȨthf;13Ve 111:c&yA8?,(z!Ap|j#]QYj8!|Xw
r'HiڅMN)c*2_dl&[	b9hĄ	!(V^و)һ{o	[fd_}n<}"yxF}.9V|A9uի\2d^q+q>SIDH!H0GրE6&7Z$5ol×1Wu)eHYԅ"*ɥCI\!JP>F00~Fԅ)KgY1bcO-`kDv0vA0CV(f9)gj`CDt
Ԓo[>`	W!Kp|`ͅ߷Ao	÷%.8$ۣ{6t$+FD7%#
ovޯzFxVQ6W,GI.[O_FVlNzvSžJsp/"z=QY;w 1ViTUigSéw6冧dT·?K~+~M#{oG{KpwAOsqq81VEw6
꭯ח.eyI="Nb($Gcs0x᱗tM"D"T1œ/!ت[΅DG:^UQNH1{mazH{0ǎ[Oɏ7B''Kl2s.E:^	T`DOogBx!;@U*s?BQ=k|xx_9cR()=dV_1[~r.[YwQVJ16[{הaXx,OVTӚ0sa=\xLrvUlsŸЭf=䲞E}˴YǠ\Dq~-`=j{*;#ψm{ݓg <!)=OBe6hFhǣqX~{וȅ+F`iemϲqVxq@yAX2ArpH
FyEIa֝oF`00x;sd0@/H+{}'f1Vn~Zqbuժscqm1_cq<X@v@К0B/9A^~X,[OwUϩO仵<8\(=nen~ć_tLHIY~hýI@5ϯc%3-FyNԌlY]:V1K1<vX^u<AYd%I֏hcrw~q,Sv$8ƕ0YxV'rƐOzrX
ه;iV]Dk|.|-a^4nN.oο[*yf<l]uGj7oy^ox衇կO҆Hcf5:w<p ׽Xtck,+v]Ni{>o0U#cv;_vO[F8-8f+h:kXϬq-
1G-lV66tVfkkPZ&~-+Sc䔘<%=kwzśa9f`Ɏ4Bև;m9ބF4p9e˘p/PݜKf?l0 [|?zo^&/":mxнMԝ_(!e?܆=*yjf77Ǥo3˩B:Ж;GYu@sDdst~p-?neF&
aF	oǎɌcZnjyOq]sp"wN!nIqA8NӇsc8tawx6k=W:L	ߟ)k9|^'ΦǎJ4jXzy)ǛVMbc\&VE9-)*i`R͕2&	Lą`+%-d.<xlIjN[C||NK1q`_}%ϯ~ϏsψtgԷJrR_N,Ǽ>E03^JGwwcmm ZYMmjvGӶ~~IxC*׏^?t-HKke:X|TсAfmkEcO1eAUiOjr-kXF*k#jyzp¬ۚ2&mnvۥ<x~-_5mt}fb(ـVc*bXX:!b0con!:#)VD
gmioho$QUh5hj@z*qе5u_* {хm:¬NT?fM{m)G';Z`B/֭XWYMY)^qY,ݶx1P{l(qq{O_E\m mҖ;o{l5,,MlbR^"WK5/)E4ng!t96&ԀoF.NSXZ$6166$[m՚Vehִ鱵HֵlVM­*;zuVfkZk\xk-0gEV!.D]hE3Z(U
MkUZVkhk0M|ڳ~c_JXS
hbkD9VhiĜ]i9xr)gw1 G7? oӿҏ?;<	6"r!Gb\
<}4A 
\O_t)@scc@8$GMH{T#qÐr'CA'߾9MKFgo!l똂~͏8B|N#P}sH AiAH)R4E E pwoQAHp:3pϠTA<=ƟxO(q<?F96;ǟ?zo'Gl;>wވq\ üA i7C`1RyɁ< No"wp7ÚhLpPopbCMDpNߦ hJ y~_.y^ب2BTGvr3u@zY3{_uL\rg|brrifnO_zӳ9l*9ZJ$peuTYT\K)oLe9PͻQ5JVWjQ̮sncSN6C9	?*	& Iv`Ǻɏ!LfhBI]+OYe"bujltʄōBYUKe1fBcT%N'F*<T+U,S#9ms[SSґLPGT!4pZfYKrW6%zd̲2
cĶ2[nyt𑑃/v⢨8qFunY:/>-pOyq'p6Ml҉Q%Qڊ+fj\eQ1
TMC&&yS>=}EQH]L]Fl/:SD]Tz+jU	C9TfeÉُM)/TWcQiL$5P̋coN n]jvVT1Nf3|l[MG?Ul/HP S%=ÃJ's"MRIs7vøqQi?jZ&jnAP9乵Us}V&U*3 '){;m!s<B~fc6`yK\
\1/2yz6Ls[f43C@`0˥)K-1l0bd0@R0-1qfg0b&^.h;װדCcQ
Rv|Ofk\nDQ,q8cQs*borf0bX(fdM9Ȋb6Fޘ1ke353?10D AD<AȠъb71p2޽xpsokםxb/┠۵qGq4KƘƹX&w:*ETE<9g/Grܜ5H8Ҙ&sLngiK06zEDI0/b9&\˽|2iD;D$$LqnsٓD1?D;28`jWFIO(v7^ޓwPXOspת,okL.7<kSQEY|y:&LsJ0c:Tyߘ11!rϞ}31ۯ[MHKGQ!2`<0b2."6b:,O)"XDEgx0!g4ơ k1<FS/icp7Lg371+F:q;VqT7o-kdYweQAĜ
Uu_>ٙ#UV8$Io%gLoatMLx|YQ,I)3"7X:|t/)Hg}ݟz 77-+K]y/^.Gbg0y1U).#
9||enHM`<ڎhՑ=:;gA޶[&۔Y}c`f3o!E@&rB뮾ff7<QH8Qy!8T6bH52$^̇HdyPC1JE9Ͼv1cX*+"1xu2tXBg6<xxcc6mt$7!@&DW]u3F66Z2Keg{`Ʊ
fi9dn6:$c"(4fGSsQS
\1w%9E4LNcc7`BL0`zEalh\j5&}"Ld"D`9TqD3w#I{ Lo$
}Yv|i;6sȢa!:7w'(!rq#RB?ƴ5;fa'$3y7Gf|240 ;|fn?np3?3ؒ*&yᏘ1H0fooV6iIWwdHI13.0yӥ15~2p10wdSwCI.ᤓ"Bjɓ3̍cU$G<Le1!Cr0`}ocxcI3d0c^\[Zfi0c0b`4=L0N0C.\0w)IIɋ0o+!H5SAl~?\=~2&6zMg[9b󮛏URlbsqW̕Q$e> w5u9oCGG7L_GFL0cp?~bcLjhZc6c?8jqT5e!t'yUZP>sy*W9&NHH_1uG1ԉ#Xxe󨜌1@}	/!r~fxiINyZA뛗ܜa&Sܩ.\"pݶ&7I焪TR$+Qp]lffdu˗&:Kl&O\ƫ&0h1vJNW"VޝIK냓h9cet)\\pq!6?	M$;|k=U0b Uws]#I4>Y#04?IRqpݑ"@rVe6`xO~Qy\ٯs'LK0L1n<pDsw$;Iv8ƐϘƭTQOCs0<fΌę^5w{d9Iϒ&\3w#=msL܊\sDwply&C?``1s`1.\&a.!40`HK%0ca.\B\0cLKCIp!.8<<Kw'.f=-3.˚㨫.1t\RfJۛp00c3.!0`ˡ4a0Ƙ0`lCicMnf1QUhv|aBs>B!	H}˄wap4!B$;HBٝ.B\!4& d!B&f?p.%Cn\rHGO>B ww&˺d>A'{|{o{;|" c`ZV|:ּG63_>6 B7tڋּ!ßG'W&$&"m?;A&~P`;'_֠uAk{ִYz1">j:5u_"}^1ga
P^KC+V;
዇!^4i}1Z :֍ptttttkj_GB::GGtX^GF :?/I+LUA85zk̇kzGt{I==о sp3AӠ_GB:&_wY'OB:2j.8szAm'	&i~?~߁pټ=-ѱ{'QFEglg|;ѝtN;[7y&dɫt;OA?~9玎~&~5GCO@H> tt|G@'s:G@GGGCY/{sӣtzП}?*/}S4::z&z 9Oλ=g	etV3z-9J+Vgo<:\JdLtӸ'Vx"U?\5WÞ8Xw)Z_B:3}FчP=` q!_oc?ryFt`Kp7ѽ|׌  FѣA`m=fl=~{G͑kacHܱcsόQ|ϟ=0ׇΝy&/cw60[5lqsݳ1{cYFCs?VZ(mZcoٞ*<#o=_QJ登7r&1=iQgF4QmZ]~f]~_uu.L3;10>>tѣ]:cRMH?0zG'M
Ge[55F3FZj/44MGn:;FO"D'9c)EoWtZJJD*I6qI(.Z:Gt)ç +1ey9:Zr~$Dzh<[YN{ڍbM0|bSfjѮ64hfhѬZky%6tWQ2s6lE0z5Iӹ%V6ZLSpFߍcVc^7Q}Aܶguo7nGG128
lh4kc,4qpG$Π㬎FH2XhbW:[wCFfMϚ4FF4h4k+mw'eMeRtѣkQ.Jq
y2WSNA 6#A/5Ui85i6{xLH2NKsb)șDM贅(+FѣFiͧ-eSww[n4hѣAnѬFXFfq9IŢל;zhk?GgXvAWt<w'$A8[g3[#6ǜ%4d/Ȍ#8FQa-as3K%G@4hѣF4hfhѠ_4jBlynLHݎc:p*SɻGnl2#'$m4	snʟ:Sܴ:weJ>clr2s[|uL{tsy1wyQq{WmqЭoѭO0nhGZgYuyA9!Zv+ڹ\^!͈4i[iFڹ?MRG>F?>WvфaM[|{5?scFQɁFQdıc@4FdTv??+F1lG$0115j[(1kA1wst12>gn4Ր(4688wn닫<5lѯF4hѣVEQ^qd[~+⸬X1\W:0~yq\Wخ+xc*F1LQ=b'q5 ѯ4IÈ8$aqCD^]#w`G.nnnz_37WnZFo[vڴktѭ4pb݈F1D%;%-y1%~&2ii\	$yCB_\#&c4ѭb(6@FģXks,s,kGYWۃBqrQTu:.:bS;V	PwHC[[FwvF4h9D)Ǻ0Ue{Y)64g]"W2|h$Iu lG4jѨtGC[D{G͉2ĺi﹫ѧ4Ѭ5i4hջZkaD43I%Tp'xtM\03]u$	7hȮ9>ʒ-5.;~[E1UiyǾx*фT]V5~l;M4FFwSCFn٭4]oSg>D\w	,B A?ubkdZhy>U5x*!"HZE'M!5v;TV5c2L<2uL>2uǱ}ɒ((#
 pp㋄}G񳃓WQ9y3ޟTuJQ);>?o(Z=cN&T{G;&LyG$Gqw!V;BdG1sSwu$HcDVhѣ[w"&j&!\Z@wM bI'
ϚXI|8IEC'Wo9$E|d|hkjf4hJ^zQ@T=z8z!*
O^KLѡ-P  kMZW5grZ)f7܇"P~!]힚xz-5$$i%QjT'u̟w*x}yW5v3zP7Xz[9IAH-J+Sz삄mBCn[6o.m"w7mǴVʛWTwH/{vܶ[uM]Iw![o׷]N6E}H	'-z*"!X5盼,ܷ9sϾ_	wϻ>%+uu/<&[4&J'-n+A<!<߶^??+nKM <}]I{n,G/`o`oz2
ɽM}\- p:YhlxMzz=F{{ǷgǶ{}oo|xf|}hc>>>41񡏏ox/ϏpǷǷs遙$7NR9fuuuuԼR:92SJW	r
b3#4*U;RItbLRIdY&}.X/*,c]f&4&3ff6am!(86ETUM8ɾ}]Cfm،!}%fd4uZi4ňdL4m	Jji.G7/wn2T
ŔIRkKj~RJ*}'%K}jIp@2fB\u!	eGؘUYBe%UUuUUd}U{k0%dktɒBΩ<<wtBIhA!tBBYOWoSfvH^JZW9),DzAnk.aL3~z:kuX#I5fˑYE̖d"̛-1[hқ2Od(B1ɗ*4%]͒d{C-᜶FY"+zuA5UJԶ&"%ԹM2dɐfL'LZNEbV!|QMQE|CIKՌnY/Q-!Y" Sʋs\e[ҋ<]'p16)J&ˮBgY8q(vgE4n2k@g1oud@ qyUf3=ٙYLNefF/[G0ɜ-l5r3<;T}bĀBdYtIrs㋋2mt
Nnn#JzssstҨtt+%ߺ:9򫢁QDrW <>a}	rjD6#*Ks^+e}edH&L"LHCw0ӧNө)?8b9JP9)*Re-XA	Q<(EU_(UdHV2dCeK&J@̙3+QO㊃_9K'`v.pX.N9C<:q/\0_|%:w0FyFh$D⯩hikA*&L/ru<%nѵw~Ճ~ff~a"H3&LM4v^!ӫ)0^1Q1:z;ۉxHFQIڠw+Hp=arNka2wN'̙f/733nS~a_004y9.gYZ];U|bJs2,dfXɒ҉Ygy~):tيyQEYe*{Q@XQJUPXU^bªө;?;횼W3CDӦhi2b`XU]:tª:wV)N)Z־x*?}r,բ82 ," 122@33371|h^8$<`G XB`%`  0|ѯ+xşo,z>,^LդUyގ7vI;A0g$UCW&ro7?X0UQϗ Б a ,3gSN# L m{2f`o* țlLdHZL32(l	Й3"o0L0Hq7owd|Ͼ_qyQQW'g@vT*S3w	&wxCdu7YZË@!]׆Vwq4k56UlZzvqYƳUÆV)8p̅ߒ9>pÁ8Áߜ8Á8ß8p388Á8Á99s pÇXq0`n tDu7awfNdØXCp3g8pt*8X@F
@#N8s :%0_۰0G&8]^\cUyFݤ/p5	2H$[7C6/&8pF8sݝCKV8p*L]OIrÇ\ 9ӭpÇ8p縩Úp˟8p"-Fk_Kw;Nq.B}E8wnL$3ZOd.0rhLՌsetZרJkB^Ɇs3Aud^^GV8e16ZT pvx^b+I>,hMjJ2u16H\!0צ13.ۇKVAW / 6]     0`D YZq'Ǆʤ(޶(jhsȿ3Aj71`/?	c7#j21S!ֻ8 8p<8eÄ_08pC8p׼C1Yu8r
9<YC8aHI¡Ç+ќ8p8prp'ӇkÇHIÇ!NB8q\8s8pp8s}8pӧNbHÇ+4Ç	8pÊ-!(X\蒛e֦6v^˳5ELspըe @XRciÆ8O8
`QP (@#	wDpg8p3=/&IŔD%y5G^9&t|B?xFh`1,R¨=baSҗ]{Ex4ʇCZS&#~%i2-NVkTyrԼ&鈢V!FgS)'l;؀@@[ፃ ۴YWPF$a8]8ՔpÀ@@@G8pÀ@G8pÇ8pÇ8pɜ9^łOy8=jkwU8pÇ8pÇ8pÇpÇ8q8pÇg9;TVWs+:#G?ФVAןx$V㣣:8GLp"9sSIǮ>:9f<=OB=D*F蝬RGG棁#11#VGGy4Dtttr&Q&;#;B:8h>:u{."#]ߣM爚_ggdQR#΄4)x㙼m{4:ˍT|~G7h͵Dg;#vvv~֔7%؝GGGj;::;|݊'oh)P8uoF:9˒[$%EB4%Mq\bXnJddH<46ljԽol6]4%%
FVxn#p vv1qIRRcX-'s&$PR<X->fO#U;-(V'Q#y`VB.R&ѽmseMe{})/T6ՉgQ͒[F1uTr궖ɏoksSR)-E%tQA	;.VDUVf^WN)FWR3#>2̓/Z>.юl2ZWRsr )E%8ITR; Yi!Ux(RVy8!^n>gNM}GfQY
V*FTH5nΜQm̛?z>>H)W
?hAs%''7%JEEĢuxլUYȐk	ڨ+VX5}'gMJr(3Yuen{ڒeqHoњuQ%R)~{eSe9j'2(VzO8M|aeVB/=Y~F%0ʼ{*8ZOodꭼ%^{m]z7ϑl뮺,/Ѩ.l~yI-Y2`xԉ*YL9)F$wVLyx!oc>Fq8Q'qG,%Km-G%1]BO<fX^Fuc"*L("#2y>srcF/2eQU^!."S_?MFQgR|i<Sr7HRZ7hٕ#;e1TOOsʒ9y%Wbt^yټ[i~*nzƳSm:.\K'*ɞ>;δNSRwgƤ!SZ{9Dm380$y{༝oc#:U/KQs+^ekZpqpIoOCz|1ZG`c[Bm&(c(1TSurGޟ{QIc8Yys:TSrܔ^W燅{`Gez̰*qM(ZLIUT\IPTOMhTB#Xo <fk`PLQR]鉒bZPKT5!@(UkY Zm&6	/z	6L֏QbAf1Yd\%Y
-@/3w_/߻Y빥G0xȔV#XRs1yk[;oA-P/uBJxUrM+/:*#3<_Q>6	UPA őYfo#n1K('a)GyP5t~8+	 /,Dj^R/37=,ȢY9_ڴHل3:e"DbI{W:P)EJܩ\q7aoA*YUS cѲR.csWҳUE$?*sfUomJ;$R2B98$
Bs*Uʕ81[V3Pn*<7 -@y<q+ظ_*HNLO5S=ӭJPc>/T{^R}>(fk\f_lYNӉ̞ /|=`Y`n|q賈aD׾a n@E\'޾^1
jPq1sxfիfP?gG#̌wRA[:>jyS"v	u5V:/ Rs,ÈB1OXT-%.[t	RB77ªj`9
1^y)XC{
{Hv₞
@*  aĞ/.[ʗBp+Z,kƘHLD ,'?:"$'= [.\|qo{|qc4}@'THã{WXOx Rfr倪H@Q`!)le˗/!fbPA!|]] T(Rk0yRsGٖ)PRHIa%IbMۖ(BBySRHqA@VxSyv5ݸr@6RduI$"=~d@{5F=TjT?:?p_YPHʻH	,+4)>_.*-X]OYюⴘ_ͣ;[Ń.<{x|>|	 	!$I\{sǚW'y|MEOO//y|>>(Cn\/ˋ 0ӬͥU=NbM&>n×|=?r>.m+e)oC)B_/KL`Q1<'-yV`%UxMSLZ^FY~f: Ny|׏-W'axip1FoVoBwڻP0Q%\8wb:'^;17T0N?P yjG|\nb \^h+Mcχqx|c?4b<QFQ7\Oy~_/o]xc>'VPs~	r|'<\
7~_/{G?_//eZP´<r57O_/0oz9,5<
֜oV?6<F0 4X	ͺ,5n,180kAq#>Aވ_5L}xA]j>8 cowdPy$0#"tƜe6/9f ^rp U_OҨ(ݭ]yc s@PͬI`JR`;"t)HGZ>dAG 7qH;'7Q@fT:ַP Ҡh@T  dv\mC!b4t	hRekz8XxKL1\]g@IچB8~# <scG[/c#$p/ǩ(CU7md~%T'|$V.xE%o@|t<?;JPݣKh1E	F!
-a#޲X.@>J^ff:ת#Cq.Jܧ-\7C]}(. QXW
(\nD<t]s!@t`GDNY,ȸ
rAyV*Kd{&Us5S{@mr3v37!!!!)"B"=DDBL2dɒ#"D$H"Dx&D$H"@jǑKR֡۽F1koqx1F9F9߃ۋwwoz5-so#P-xqW}{[&dokDͷe(1G|u6?1h9甚ku9zҎ7gZ֡Bj֡B5^8Îplg|[en40L@D	w~8HBo]]{WwwCW	ΡN':hO*vu[Y'\fqeCC\g:Zp7tjtld  [Oz$kZLQ=bGAvl1-cd<-c-/9nuf?<͟|4j\7|<1I11_h1צG|d{}j;˕*TRJq_y^cQb7DPp0}>oy׮OrOzw2dȒO.ɹ蛻nk572UxNj_H;v)J	ܟ@?=yA.]@fRkW<Q6 ˷fBkuGZ$|aai#]azqƵqkZh _\n9Bӎ5k8Zָ5X58]݌7]0Y1mγ)aLHԼN!g#ww0R]zo{1c1c1c1c1c1<<LU[v_Xu0*"HI$˼˼˼˵yyyyyiYoZb6M);K+M,T$Mtw4Ԟwz3I]$n³i=:I]Ȟ}3SV
Mnvs=g¯uFjRuCҕ=%wBjJF		L}BKaQ-\C-5Ж*6B3|tkXgNt#Y-#}=􇷵̍RRJb~;}fNjt%t=)л	'$DX	JwwfwwkT7[6l%fə$w{ޔW{/wwfhNgnJNJIY$$Ok7KF+<yZ6I{U3>&J/&.,IIfg1%]:5050cCPckZyF1j78Td'ƭLQ$޻j1uj1uj1uj1uB1uj1aB12%AĔC8N>A" 9A@EgCB=A|?@?OyvuN쓮LT&Zay~̔Uz@[!$OI۱=!]N:jZAe%	O^)pJ&T,^ :@ ]$t{"RQCk_@߳ʔ1%7; 9u{'ס<?~?~?~?~?~?~9ό1@<k~?~?~?~?~?~?d `v6$V$juVOS&%U@Ifh>f%T9	>&$zfne><CWIk4=s3	TR)200Vʀw4&+F@hpWH
ufcP`0x*8yy]|_}@] W$xON׫A{
j[4%d΀(o/:\@D|N}K֍,Z6]W|9Gm@SOJtuI#*m PH
Om8rm!ΐ*<qӦ31D{y{wffo._kf3}yff]ݣ'g{fywo{3^kWv&yo{{o{eeڻ3֯{fc{w{N]ݓЍy.NSdfo32zI(z|foywx'fff]ݝ#wy33{0Ӓi'Ef[Hݪ;ߧI&۠ݛmmmRIt)U6t}Reۺ|wu^[?mۡk326u{NfeHzmJf]=c[\6mЫwwBfcmZKK/mٙAЫi#祿_GŬ6fT31g#vivݧiviviviivviviiviiu;NӴ;NӴ;NӴ;NӴ;Hԣ;NӴ;NӴ;NӴ;NӴ;NӴ=ivB w5z_E* XmmmmmmmmmmmmmmRmI6I1@OggS       rԃ   Z " 
OggS       B
Q   βRm^M<Ol~/d5?w4%?Fo{ S:&@&4%DHCammZ*lx;|0>Ӎ&/A"b*7 5Cd;4QU0[FunP䗐āydv%8	o	>NΡHO/t@\:}TW»#G^ψa5>s                *                                             P                  cP        2                        v7 ~   ,T     @?ty!CWXxN뮼T߽7]qݵ݃}Ӂю:q8wz{x,s_qvYx|<KygJG/&󧔳F<\+/~20~xDtx:tT$G>fǲ1.nIf܌^!(&Z.-"\O	_q14o՟D">%3ݨG(/6QlA#rVM4(Z}u^<<զ愻EDFA%&rGwC/ z]*o/O$Rdӝz>~r.>K{&RtX8'{$;>|\;^SIҹh?/WH,̱E؇s,ɢakc#=}g.o߬	KO#cG='h(ǧi&K}3aC9P+Z9cU/rk.!?<O?"ZؐsѲ]apim7	ԹD?
/M{b;6MpdWᘓ!Е[Te&NZàN=}?<Y{Kj98[.E1^l_jɈ}M;deZҋCTzC8Y'ZmM'}'妁4|ϟ6͢BI1fqp&$)$qC?z(̷8^k:X?2mMyGn>%wYۯ?:WSCs'_=g%*Q]95j2vxOT_6+cu9:n*+%G.K&|ECM\B'³;׫d|޾"VJֵ.-\y?>MT"H8od7X5؅i߅ZyKJ7}7'w}☪yp圄QvOzJ0ܙ	s2"P~+4[-(єDrob+ߠ$&__Qo~g&;R]J0uXaK>)ŲyÓ9rI<]Lr':_4oWm/W/~IIML1B"gvUJ,9#*9{~ftr}MdoEݩ }l"b;͕&+Jwջ,ghygϦ"R>5m4A:*x9/eXpdl~]ړ	jי<UAnM$͉k}y00a3`ky$?t~"&=B?A=aF;2?,DֲDE6NQft<6Dy>ݧןAH\JM/
phzgk	lٿ$Gm_NS\wyG]>?`5+d8#YG	vg޴E7|q8cꖿJ9Ppv!nnA#9ξ}t(*`8?tG44ކ^l=<8p}ń%M~I"
b7ȏ{!Aǩz7+g$t:L<d9D(}pz'%jj:p|$maUy͌Ɓ	Nm([lU*wLa2l\gŽ5.G\bQvBÓ7Y$8Pj@ y+u砗S*8iu p*SS:8pW?̦<Wt'2A;:D<Fz^ML_9Y8\~S4>uWN},'.W򴠻?hXߘ0Nav\1YgI'eR
tE[hճ{	#iJZ<]u/]e@s2|l>!!,LV4DH2~e`s5xsKR
R߼9<IRy02YKdƝ9tf@Js%C^3iCo|#r}[h>9r	>}ios]E6mucj(oJbg&jyj,PT=Tk5^1F0>nܗ<*P$O2Hx$Z]u]MRpûZ_NC5MPhŜq5Ўc/
JN\Sv'ʅD}z]݃
A`mdi0iI3#yij~R0E )2|5-(4Q?6>z]I|oTP-6ܤIѻK-/~Z	¹*`<W9z4}+P7qqΕK{2fŭTxfXM@beeM('DӶ o?<\o/8g+7^`|ih`%Ke@6ϣ>3\ڠL]vM==<U*:nљ-L
5t,R>ޒRIsjI4|I)I#II^y	> Hay+ȔjJcIһyxuׇ[6Q9梌-iMgapY/	s }4}OXDokjF.mns0aMb#_MOi$>R=0trLT\dXMqJ2׈) x7=(_+PpܕR'c5?7]1d4QLr~}='5䕶I@zjJ\ɣ8N:_^XNgy=iAɯpCnͫoԔ(ZL6)s8%-ʉG}ߢًq8{-a'mN)&G{\caU/dDOרGAy̷P%!66:s%2C)^jL9>*V_uĻ̣]uIL%ԩ_> ʝ#7'S?=~+S7[8@g>Nczz/E2}MlJerϧI)NRII*T=3R~}==)IJB}=6s%N%E1v==7}&OnRi$7螶R
OIJc'>z5>^z%蒙4Cc9BW/m~TѩJ6dD$1qbέ u,]`,\ŋapZ2H:lhLĬ`Eab)^NvŐ8/C^ٲ"VkqLSaٍB!T#
D2;($U!YbHͱDBXӋ  ""g)^qC:70Ôm|cMKOL`Zƻ3+}XPLG|fy-Sz(P;e:},!	l`@cjBB帼4C܋/K5gHͪ*ߘ
Cqɢٯ¼L6XQLf;zvx=4rгSĭg$
9Yo8;}qgeto5WggAvB2ԗ{u(7Nz=u;d^$]Z.ٱVf:Yha*M lEjP39s=掫y$nЩL$(Ej	mA
=d02Щ*7iZ1F6dm)}/-Z:fN`*Z^9mȧkT;;Xbش䰾#IlZF02>2e:R^Ce'VQ?{ԢKε}D2zs;Xu0LTయۨw.Noye͝WfӭO?5>qX
x\Քo!>u34p2pc[`1'>-Cc0m3F&ۿm(YS2	S+V t<`Y)(^n$nUPx{XU9}kydZp4k/3hPp33!7Wf{3
\0)L1C^06.^0cLd4Ɠ0/ɆyR1vi54)zRfL7.[l1)w]a1x!3H\1LnӅ9M|3x}g"WS2PR鋩J6n۪́qDaF>
nk<NfwF7! Ap!0´w:Snf`0[
\.i??Z0bbQ,# 	Ra?4Mn*&6ЈMln0* +PVT~G\̈6s{D1)VVw3w`7H@8#RԈǘY6IڼN}<ZAT_RG5v''y[<)$6JV[)ZM_(<&)[s2&ɱɺ>*2T}ZfE$fEL`RT\0m@S8T9+Cx$vv1ztf.F;dL8"c0ZAP0l.aD*3|
q7IEx@ZyGZpƦ}3CJ{G9`a4m1?796RI_}]ŇcJ5Gް)9Io>p(*bغp&;=ِM*T
W1U|@`CsfW6{zȜIVDM008>)B)ma9(6Y@i1G0BOyzsswץ֙@L`;˓=[:Q@5<wN	L11X'ܷ{ח)Ž14'kPoob*(xK>l0R0RɴOahncYe08X*Р(c{E|']
CȮEa:pC3!>Cs7Tbqws>@oq߀&W}ϓfPfh]ZFsldݭVC)8(bqpėlƅQ|0NQb'uޘ1#&	#9/aG5\CAl
m1/0&NZ#]1I` $#Τ{<Te09IxbfԘc+h ؅en{_\c8ppQǍMPwyHאMݣf(#רk!g*ɗs^∆!8 wJpo<B PBD2F3s33?whyG
c7g-űhR$}w]`iߘߘ֍E
$nfnI]ow3;>yx~cf3Т
*n닄|cē̈́l{H$0І6?_nl.i5sMlrvu&vq-
 !P
q&h<!0`00c.?$MLıi3sr9i>`]Dmu:Hfon` `ׯ(z`z`hC?8I_H91hr&q>+f
@$(NyfysxQ7-\<WCڱ"df*Kuȷ%ÜuESMf1mD$q?ߴI4G[!kA/>c0&b|d.iMrʹFtyz`☄j2cW[>GLǙRIG'.RN I,f36`xL
`qpp
`}9;|^%#sX!{߻F!&8Ǝap8=3/?2Dݛu*WDC			92SB[{tv&uݻ~f2D?)i&)w,dBDώn{Co6ffg¤*])A;30o4}-9
'=ǳÌq\umI/DD.(2(7h74|R!ƍ(#xsCSAa! 0ϓ754p93e"<bG0@fK⅞bgXz1(6}u1Q5(-G'OnKp'&NUS02x|Ly	-͐Ed&|0Q-Wc>adɓ Ŭ 7-/>03u7	шQ>5HZ.,{$5L%]]܏B1w.7[p!]nsG	4I.[8d,0B3kd)LIR0R2L!40` K˗n4 vm۷tU"˭_9۸&%DDwtwIZ]ݸB\fa	s	p0b\0cLf!K&0B44t!0M%ˆI-aTP432	=aB|0@˗HBHL!M!@Ʉ!BCHB!BfwB4&IsHBi&73	&1L!!.0%\!BKG
~4.r&.jmog{yjCNkH/Z8ᭃ'{^"wj$9zX"$0AwA;C·Nk^H uk>|Ϛֵyы0c.p]y։GGGGGGGFovΎt/GGB: GBƇGTI'::cz:G@uΉ$o-H?-o`:M>}=[@|=ܴ:$GB/2ta_FR|ttbf-$n
;a[fz<_k?}=4_8el}z:0t
{<;ͦlp$̒joOA?~}>&z+}z$E}I{H@' VxߢAOGGGEUA'ΎZQK:::-:C:[8_hZcN}]$DΎϵI97yY+nf8iߦWͷ	8ף7}n>Ē]h/w6n:TdQ:}qt~6 8k!n@_F::"=+[	u_[*6c浨qB(F%̭X@,{KF}h3&cfk||¾>>?G:؞y׉&gkP0ݭYJr,h(5j̃͝Yoj֚5Pku&HZ6Y~w޷SLn-ާ9<c&_@AFb뛰!v6{Μ9W2zlc:׸FǹcF+Y֐B**/"V^etBD݉mckT30=V[oRsbAQLM&#ϱDY(MɥeGQdY.
@-6P@̉Ѕs-L@q\ jߎ\9|̷jEZej'S$y#eb;X!	O_x0`<aD5iѮfcicSDe^l7H;s)5j٨ACm15--EΓ^^Xe∟ozn</F%1un<5B\(B4' mf,[g`QZJyaIdz 
6R(?Jޅ&5xk
p))Q*3?PFa5Zy^]U{M.s[0Ѭ4h|Ѡ6	MioZ]}A`ՙΧR&5M:$+ώ8F)ykyˮS{s:Hr4ոg?+*jQWkJkk}rߞYNr~ŏ+59q7.(kJKF52VUvW{4hѬMn0`s2vh!q罭57gXs>Y\{i[X0r!9%Wkm5j9N-3j#Au{2=GqISc̎5eMw1V&3[ߑJ304h&Ѡ &8KL TPR&75**6qn:Jո/NNo{l+͍T0S&Q))]:n.Ц^ rjݴzPFq$FbHSHTjDOєE))u"%"15lu3iG͘oflE=h""_ZBDMƑ"SbGDKgZrݭLLZ&"؈io)/>*'v5/&s  iݒ*~2Í#۱mƺBV%#X9 Bn35R%dc: ܷcxpwcZ9po"mGQqw*'G:؂Zv89Eql[@SPdq9lyGQ#آ)ǑQ~'GG#oF[L~m}-M
("h")>],EV76BfA4hѫ~(DWP",")4EPEV""B'_#7B$"("wFѮ DHDJ$pw;[ C8B$e
ktѣ[ El^[EqU&v<Ku$IDI;Qo6QC#	ٍDkSF0`h[}ɵ{;'Q>qB%ЭHxG/UQSY7Iv"+9B*B+
_4ZM4kt{Oc#f~)
`:hRFJ3sЦ)Sr!qVÀ,{m.D5_)]r_Ӑ 53R&~;w`~hѣFe Q u-^e<
O{cD/S4
6g|_wlwjѬ[nEn"1iCCRΙmZٮFsS`}iPMdv4hջZkwt熔p1s\q9)Ui*H^tQ%THê .SG\Ѥq5sr#WGjE#lPm`/\M&w5wUR%eh0u*tƱܩ_Y}4CaB$,_wwQFX=(s@{ئ-_P݊B6j^u7yOyEUUDZ񾟴kHO-AVȩOhԎ#x-kT~SN8$g^"#Qڜmt45j7Sb]yygvt'O?gϟ=\:6y]rS3S*GDDLNMIR9$J#8"DpqUo(Fm)(+ƑnIj4j	wwwSvO&jnwr"SA^FrG $+pkDy' v&!޽ZkfzZiפ}z\h׮^KLVhFBբ22Q}Xzy4v\JYM~8D<}bFcF}]4ѣFiiABBBIjTSԺ72yR}Kֆ_Ɣz|nz ^o	()
$-ܶP[~Ollҥoq>lֺV]}sswE9r뛻jp$}]]K{oklٷ^ﶍ{{Z6L@<Ʌw<}?^K<y7ϺIyK~}I2ݳ߻\z}ɳsbJbCn:iah)$4O߾Ehsx{ |7 jk>}{2y{2WԽE `	C^WsaCcɣ(82ƌ.h3f3٣8ͶqgH3`4~f#Vi7cHѡiF3̌&#8Ɂa8Ͳ2e$k,+TJv)]bؖ%b]BnٱVIQ691]\TL`ώnnmb%]e\@71998zdYϦ߫UZVd!mҔhc37ٙ`j!/n*T;yqRl"%_)yܟnfA
d0W)uyug,N=zLg4DNmdrs"(bQynnÕ%l]]w)]G7_QDl.ٓ&L	wޒtQYsUdolU.G)C$ˬ@Y)-5kJ-ʗ/~Q۲쑙2TQ]@jWꪛ8
-k|PB?oh~yl-~!JZ҄x)^Saw;ڱd%$dC&k@=8'\]W9dpϘcni-3]Kqٱ.I-LZsz8/;.Z'k.qQl_j׫W/.۶RuYV<H]D3pR ;F0a@y~m9>B#(ü)_BAWbHfHrM.TA"|_ɖ+"6Y33c|dɘ++&]yJ/J*h)˖jQ~QUUVKNE\2J0<IM?=)rs
|Ԥ<'?=~)D3[NMMǅ|o9	
{|'M!v3Z`^qa7^gs-K?}2dJ`huEk|ɦI `ݲ#$3㣫n`	= #7JWgx"2)"1y@#8y_q'#s!&#4P8E}_H"Ey&O-.6D1@;ρ}Y~zή,͈%;[ts7?9e8K/ܜ\-i@3l:t4Hg)k>JR}fAAsg/<>S'<2g?)UUT2?ULR rKpKVT`!36̙3VVdJFS˦56Պ26|{/"PY@&ynحj
d]t29pks^FY#yxYq6=B
<0(BW^%i!3lɐXƮ.5jUPk'-A9N]YٳC6n]_;\bL]˯MϬ`lP\qK\LaLM0N^!M1OK1$Uh滲)9٭
L5&ڮ&HCD*LzIZ8ּ>׸b"?q5N2dɓ ٙ1{6` ֳ+`8bUVg3U_t~f`,fOdeצ~EN4	b{8cXg+ꮪoR3c7s7f@O͛ɳHak53722d-bˮ  _Ѣ  {ﾀ  ,    F11ªڴ0ҥZs4@9_gi
NQ@XUSsVU{Z9?╭kT~FozP C	op&3<@ lO>3xGW{ɩ$`H3xW` ǌA <b  <`֍x^3y>2 Xk4.MLՀZ3UoFuTI'drN s|| 1j*ˀhH a lpkQ$AkZ0ʵ Z &`o*֐fdL ؙȑV2fdQֶ Й&D̉!7{H^fo37ș&@^陝ffTu37hMymgZCߢ^o?&DBM|uVkVhȸw	2 5YwUkp.|Ul,38-\k88<LP*$!ÇXMrpÁE8p38Á8Á@w`@8C~57Sm鍕	Y*@ߜw`0-NxǠ@@YпAm̄C!8p)0\H0@,;p4Ӈ`)NUB020܄ҶYT"6'&Z}<y;IZ*aOry5\-.S9/&ڡ朅`8<EЧ1U.؎8,sBA铕$L[CIz8ZNJ˧B8pϜ8K8p3>pS^]$*e.ܮO!wQuW.lkG>Mqff4ڏu q1Y%0Ʉ٦~LWi<1qwhX0sV|w%΄C.mݮb۹vos몔JsqU{yYs<g$~&*kz{HA2BZ錂pj1J	̅3qZcc^Umrۿ"4<w|e(Az` 'L2wzv0*(|תB%!HP-÷StZH\f/wny'*W1`%Ef#jg;M=V#jv;穾ZÜUq9qB969O(pÚ 8r28s2UQKpXY>=9
͓
pÆ;GpÒÇ,,N8rNB!4c4kڐÄ9˦8rSzÇQvCBy!Úpr @@G;/\8poGB!aNRÒf,.UT@z]x3[$㮭Q^WNOQ5k̷a%K8(_%# a WÀ`g! zr=X\#ӌ/wڸM{4ϸNBH+	%
UeW8Y@sċ+JU}/^U1&Eu	p춺4ǥbӎW]S6B"'?ML@EUs֦	ּ(*,1z3z'l!R1/C	/8@5`|@5:t0                    #%Jŉʴ{U^}Vq*t!Ç8pÇ8pÇ C8iÀ@@ SKd{#O쏎_S#rGkttvG] |1#"ϑGkUz*F|ȑ:8p1v&:;v
|vGGG`;B:8h>8jitN>#ѧD:!E} rͅ4,Z"ejӎsFt,|~G%+Z)<;##{;;;7<Dx?IgDr㣣vGGGGGGdt||#;7hBBJA
FU\'=!mM0PZfQW JK~T/\*f0QV|cy,=V>ACpsTMqZ9:vwwl&Fkv( *"jKlIɫiVU[~y|U)%R-'92JrJ^=dQ3_9G?ƑKףbR׽Wyr_]>2GRȁI2b9RU)$]fj;Uj9==^J
D`?cHtӗ]|1dc6
htf>Aͩ]JnOnӛ}ן^pI(ͽ64OP*%go:UU_VMcTH(iR/VtvJxAF}j=q:_-^5OzyӧN9n.Q`W\H'G'S=RKR)rɻ^7-tf;	Qկ}Pq'ׯjAknǑaGgN6km%[VqrJ4SlNBF)˕D,m,Er#%`ǫzjs<d#ox,ohˈji9T۸y*2!-0)Y.W#(9]잾Uc/9{GbP>tyrcXV'yߊEJrq{::H1r媜.azRe\UELԏBI{(#۪+
P'No8yV=ӑr*R;}!
5UUI`*1u *W\ƎNNqn彩s<V}1Dq;#rޞndnG$}>.Zu'յY.'4OK߯GmT**t77H3sF^tiGtkXʮ}UޫVIÏ>VZ!j#PjVRLήޝ	A"|/9&Wr^W>c^\pUw);q}GƠK-ubTǸw*u"wb?z8V))ϟ?r0}}YRtrTZ:#_מm-o
>GqdeV[ !#)k_W
P
YΥ&Nih/)	.
g[]td7'@>⊚Q)RTIUQ%AT)F֪$iN'@q'ZPMF(K&T()CG4,(5kZpASIGp֔y&ֵE@2:k +qK 9 $ֵIQI%5~
)(MZvό.;4IzpL.TR^dۚ*Wq<vfRX+ a% 9RL$$t)-x+eJ_kw? ׎0+A/7/
@t%|A|oq868OE1=߽BU#**07^dHnAYȱ/:
=IDr2-~/eܩ{u7J։7]6-dXɧ5b9yꔛBbEH7<ɓ%g6^֎Ҫ}-盻NtY27`v?1K*J`b
KLWzRL4^iso
k[!z<ɓWdijwޅEF d&KrX _)Z;IM~/̸<4@JX/4WpNY $t?IAN8PPa.y/'3k)4W~(:o!	ާ)ؚv9|dSݳlUvb{ܮ/Wrn\ܑ_oM_br_v"؈NĐM^o!?CQB4d$2<^)5dTW3fkWK_dG*ڸ.ASayp4`mkJHCW&Hn|֏ӠP#	$I"G'	>ªVP?BS3}gx,-"}ɓ2UQvAIe<*@V)^8x(&K̿N~/0C]AM	ᒹie~ J$aE2drSQP7`QBA O(0Ɛ.././7:lհK8 D-z1W}"D̌r&viEŅ$9prxAK'1aaqq!y"7C||!tpR?jhU-ydgnXbpbF	s+3>(}Nn..0Td:Zdآ\۫@(L![C>Q{|y?;y$Am\BRHlvn'g {8#+HEc;}'==B;6!u*y~_/_+|_cYS\,V*_ҙEODzOEg<?hmf|ݭR;5A|ּXǖ%X$ĊRZ:1oͻJG1|	!]Bsdz_7p䏲b<{>?_^SQ|9|_x|+^/|>>Ǝ[ܛ]BGݎ?m/חbKYY{9K1y|Y/Dto6Xt*[zW~Vhq(U	(?[%ᚔԷy|PRbO&I֜`l	Z0MSLPP7'0?Q/^?8)!Y#^5zsMq#ald[<$n?,ˎ\[^.8#!r8fLGtصy۳-'ɏʑ</O׮;tQs9x??~5/ز__ Wc^^Xo?y|W7$q~9DiY9.O|_-߄щ.fx|2|K{I1qg8|R6~/	nI1# :oī@Ϡ u=vח˿+߇_R[ڌO_餸x_?*OoCBmՓ-៙mr=;.1%1awPA=	\ Y`U>իWfOMy$ݫ%کw/G0A[%?Y%Z!^Mnx(3M.OgF1$Z97Iׅ^iiUFn5hˉG`	cBOHJlJ"]nQ.l q_H	_	|O"O<?>DWG`.İHg oC`noُXk@T0R篃ow9*|B@A G2O2p mX&7dǥbXJ,tuVۋ;
⪥nbKp6,z:qWj*^C:qӊ\p;F_Us:9R>gQteq_RG-DŚHGr*o壨"=d#,|!X4^Y0^ B Ơ!iw,HqA#jEL .Z<Kw
8'WάxGpR
Mr"yȭxZ:[^y
hXVsz@sY7	)e\Se`	$TUla%),ifz1ٞE̫
:][5S$ ߃|""""B]OuNԄR]K			H#<E-p#άqʇ#i{mq#y{<z7"rkZWwgȶ8ȏc˾o6&4MޯoNָsŖ{.nk|\8:.\\}}}Z%KM!RKGJW1Xg<	pq?8n8
{fLX{ɒu'CfH$ddx0HzI_RFק_.ccqouhi8Io6i#'P|${+՘vQps_Hl͍N7v7!#7BpnڍwR{ M ޭ~^w.rON]ttٗNe >M#8KR:R˻yRK0rʉ}K*Vf:*T^*TOz#q=y|Vy<B=EEEEe_.TU8|Q7hYɓ$A2g#ʖ]}}>lML寫[o"bWb"VĤ!	L.۽Y'OTTߕoJSZFĻf-#ߘjlA){L w9OOd[}小ln។gQe$m8n8֯Vc$9F'\sֵq^/WgkOaby3>mm@@Iԙq[HﾻA}1<<<<?<888888D˖S~S]I{t)m?=Sͤ2N$XryozffkYfnywwwz,˵7p32hCZ&44bo%S%G++2IUU(V5'ֵBֆ=7
I=Oγ.tJ}{UzV{4	_)9uR@ zzJtNSOJWIuuFɷ)Y˻&#q]]!5s4{ޯjwm}OBnضzF_Jw~f=-hWگaY3#̓egFUG%g\7Ғ@ڜrwmjRHi'h]-JhzNJt̕`zwQ[&i2wwwwwwg+wv޵zZ֡]V	fFK'$}웷[n_OKVz'V{ii-]	MMIY>ffffffR%+J7LP(^]òoǍ3?j_u#G=Jڗ_I3{.I,-ж
Nsi,=!dM;;I{'ZwڭRZI֣Z֣Z֢<Gֵ1ֵ1cD*I'\m$HdP<8:@Cb>r<]&{Bs-	dH"S??I~?x~?F/; 4mv͔d@(	zJV3tzפ zBwojh[R|{Sw2W\An4U7I؂B^t ^.t1SdC>' G	⠤JI@ H:cYVZ*ONyOE^aFȕ&Jݺ{vti,x1|~uֈ֍/-WtZ_r5:Mtx~?=~G=~G=~G~G=~?~51#@[~?~?~?~?~?~?m  HO}9b|b{)aĹ`O}*x[U9Zo yO%m1|YOe]uLSzn1O95E#KS->[l8l`E#i11VAb@mr [G<3lY|<6e5'7''-y\, Ml=垏|NI6]4/[{U%˜;+=}|u鴯jOnkSuo6'۞zj @T	
+L>j?ρʭ
X{kHeZ{T{uU>ᴼ/\ǥiТa,M/BΔdkJEI+ۈ[0Hbutrozs1]޵Okqg$wkg>^רwj=3;[xqc޵GOeZٵ[{wؒ^Zbh#QZ{71zĭGq}#-Ojqq1§;;1#i^MǱqwwwvE;wwck='%{Zs-{9{Z֮l8Lp<oy%Y'YQfGiVݓk2uggwߧIMPͶzmۮI]ۻIT[m޸Cm#Pm9l;m66!wW@Pm@[HE*!vmbI$6v5fmNcCm6)%JEH@I-{L{mI$NǱ~ŊlI"I괕SI#cuhB >S!ڶ@
Mfav;M	@i{NӴm;NӴ;NPu;NӴ-kiv|vivm4ivivMiv6@B-bضih\v'ihZui;HivIivh;NӴ;MT	\xRgi$znx%nh,mt4KeG݅mZIRtI$i6i6i6(-IIImm{^׵Д[nl??Ȭy2{#Gy?gO'֑!ȟx:=&r'<=h`~ 
tQkv<Vq8V1tҖJZڶխ6|lc?5`I<)~lt}6Q$xF}R`Y5!/u{oϨ?{|Hrt'E=M|94><Dρ>Oo`:k78NJcBRP"ԥ)ČbGbꚘ"(EDQj?ǫ?S8ByEU+OmTD)DcgoK{8gRKD+	?Up  l]8d~Χ{<t}OSz=>(Ekzk8unݛXUGGATCGVA   BGGATCXAM   GGATSFFO@   p                                                                    BABbEBA
b*z Bb	 .  cb "	 `@H	L! c
$* DV26	p4v " 2b(9 P!+z#"H*5T5d0t0)
0t 8|42$ 828L.	 vApZ9$
@ 
<h=Ŕr
Ɯe   j;Q Tkl`A~f^D3$
:'%Bt\8W&B	B00Zln  2g D
xB\BHoba&FCS 
ce\?;wCLx+Č	 R5Rp̜B0HCŶV0p0  |02:P6O $oZOHPr rWbtuu:diX65̚眜HVJ83 >tP(NB @]CVN|A&3
 >?21:0 'NG 8CD84O F1§`&?N@ ~q_B@ P?$0f` 42(?,땜@N2 Q ZϒGt ģ(@^T &	,A,3V3 ak@! 25<2('J4''<0hV&&NP@P EHO #%6ܩ$NT P' pi2z0 hLcz&Da J7*@Z *lBJ\1!dt3dc((	&0d; s'q'&
 B1v`HIc\ ~bpdf &V86D`O X̤"2$*tH<w *,2GH(P4
v1(L`(8)H"(\2xEnE4∣aTGLTķ	dTnrA0(?G'8@0(HHiǙh iHHF1H0hG()J ))uI ()Rc((H pa
<0 $87FU`27l儀 ƌ-ƈ  H\R>QT
%%%@ &%$E%&g'batHHh`iIHwiI j( jI(EIH(3&f&GVaGDjI62`b
BA`Zgtqo^A  	SPuz &b
@2F H> (ȋi(Hh쑪̍ˍ̍.ˉ̉i̍푊4쿕III( p0Wiji r h IJ
KI88.& , PǍň< "0Ɛǔ`BÐ dBUv	$C2D':GDFLPA,
dE(pGGhGúڿˍi O55V6xO˺pU( p1``
AJA zhjiI
jGl&@8401爤 W% ׅ&''G	g
Ffg?     @ ݪ h6j(VNVۻOwVxpV۷pWӢڳڷyjN0̑< n0ˍ ]1    hghh hHIIHG&GFAŘĜĜnŌȌ	zz{ y ޻޿߿  ǚ͍kzQݿioVwNxoo6ҢҚvҢܿd 
  
%  ˾u üX'7@^40BԬiﲢ Ҟ
  ˢ
qqpqp^
 po -O nmnMNM앩x NU3T!ϘU5UwUwVMVѦMU5V0o-?NNj  Oonoop95A4	Ϫ&_̙'Ҡ:0朞VᒒlgwǨ r&2	&  t6`xdfjQGgh vtqʑꕉ ˕o?M
 ˙˙N 3Ԑ^in%iR b ^
h"& 0P"dhF%Gx%ÔC4127ê'^ s<qB(VxiH  jshHrsv*M6<Dh PJ  ooil Fo
 * .
 :6 J L \ 2X (G< ˡHV媐B JШ:XƠ䃲@ \ђ
Gxቔ"vj.4"&~̝>p7hi	24> d~8($>ܘGCfb@ʍ'Bܡ~t*101Hhi
BН4@ hЁh04j1h0j AjAB+~3F 1`B@0yF2̥^0 t1r2t0Np2˥`  8;@945~11X3bF2̎0':0G87:1le@rD (1 Az"3p)Ih 1 H0@*ERXE @b
A3S1n1H2L4@ bA81oB;@̡ :B*2!20
 261   <3~6AH:2A}H wÿLH'qi42*1^c@(blnjp\b212rpߍ ˍT8D81Üza10005A`%J1  A4cA1v0̝̙ ˕˕rqipA85Cbaw&hMop.HHxi `Њix Њh,howث׫ ߘN<1ro,16O6P*Pp#DJQPԺPpvH .vvvv߳u 5 rc&F@qp'-W:2q6ٷ򒷯ڿiOpЉOOOˁӪNoʞZ֣֛֟ٷN~arOA*W5".pO<2>dJABpٿu V 
ٷ-83Ĝj`<-V86fcC.'P5w6˅Wʁ6ڻڳVw wڷڻUX >oףtקS2ןt٧ٳN6`ne6o̚q@̙̑6ڿ爫̙f@ʁڿwp`Bu67q̩س0 ק׫덜p82H(ӜC46FNVh@dg5-׷
eMwWW۷x4A,k+@ѪD@ٳأ00٧ߖ ٷnPaz0`Opbd `˕5w4˕-6ۿҖٻNW7*`@JahdА{ ̡P ٳدثuاادْH%pk 8lcA.P/VnULLT
fpʙߍ@@@r` p`CoǑ˝˕pԲxêpʍV5ʍx66ˡb̩Z1ja졑@BA@؃0£`Ę63O82 BJhj hɁgg:Ъ.p:B0ˑN
xN`杁vcBͩa0( ˠNZ./|,2˙-4
4UTT4 344s88Gg82&nl46oDx
r8I"hHNZ d@\FtjˑђD0L0˕ʕ뜠`~DO` xc&00FaA>72`` ydhѢ@~H(  N`@pf00w()80I' Ğ˘˙䰐DF B"<B 4 !@@82ڜ fdLb"#x063 קOtaw.TPaҢAw.t}j`N2 7ק p`H38?K() H BP8:|",2sL 4FuO흝T"Q 1C~  <8f3<j$. R 01ͥ̥uҦ̡.T̥wuዥj#81 89'6241J Qڤ83"AИ4Fz!3CҜѢ\N@65q4"zRPBj1MhT 83R!̰4`!j TۧNp N߶p␫*ID'82BHH1lb@jVTˆQUzTh ؐ!?ҢѢPH1B 6b81 ׇ.21$a<7̐ C*RT7`DH
Xi`F3A0OVN4T@Y@Ap`F'p`85Bp`4~|౦5Gpc AFBvaA6x\^nr.@4f zt ק`1{z!קnƜ@tX̙DDmRiPc vP@:za01͜pdh2⨑?-&n` pmH <0j:<DNxCjx͜H0b20@´j1` 65~gF|46ͩq 85Av  360a`q83G@|`dHGҜi26
 81Azc!H89	~`Bx7l̜ŔM82DPaF~g&DIra:1Fύ' 88'ҪIbc
BRJ=eGѨ2p.>p@̀4N ^8781nnI?jJ3`85\bҪoܔH81MFG67<1'Ӫ5H865AO2pgB a
.t`̝BOjjlͩ.Fđ.U61>|a82pgD:8084xA583Ip|>Ǌ6<.c46q.@:$tue85qr<2p  AC$H6h za:|Ape83@@DHpblnda&jciz
 ^h @PhC>˥WNͭrᝬ~@L( 0 |2<HR`V`  f` ̥" 2( 4`ͭͭV89paCHpc81480AiÎ80Bjj
  C,rv˝ʙ]ʂ̡ q<4nd̥uHD@s˩V0<V367D 80@fh@p`Df<jjvpe!@:0peG.183B AL2ӫ60`0˝G슐D0\1`\Ta @1v>d&064<18apH1p
$0*3$p`	: ,0'G.p`(DAGp`A@и HPii@H@ B0lcAF2 &60.H2˕^˕  >  PB .qtJ鏡F<P1P1̙
    V1AVf@i>''(('
664GF0N.pAi˝ʀ`L0*4 rbF0Cn42 ˕5}U4U4V56Vzj003Cͥ< 4NR V U d ?󮑦L0. (2Bza	ldpH81'8080' 'Kiǖuد덪NùN.O-ʉoOCE`f䙫  N˕4DN85.`pÖسدٳn ADCSj@'<1F-% BƜ61Ih6ÐHi-ڿڻٯUvǑvabE
G⡊ڷأأا٫٧٧ڧ٫-3ܜ.x`ߐxثקtק اث`  n ˕"6`i`83(1	lb'p`&-  |86hA89GҦiOH0Mگ󖘳6̜.ada ljӪٻ061>Tu<H0FF˝oٿׄ0vگot`@udii0qHh`4&P80i@($h-5h앹4ӦN5p ƆqB&ʑAG@81AAڻ-d쨐80pcˢzou0دu0  *QID2d 0P @80p0 f80CPzF|0p2hq:iVDR#fL
 
ؔ"
 Oncf@80NٷXcڷڻ˻ \` ۻ;pb n`-zBtb813gGC+kJh !$xF<?.c"^~ᕱT`Рء
򡤓ܖ<.*a-wM++ LTn+,M,O-M ~N~2j@Po MMM  -
 LL3ɑ&%;ŐHA80> r>3j0*sᡋ 40<c*dZ1*>Nr24P-ðoo p  pòOpO$ O $O/OP/./. ./..Vw.m  ,-ʑd`82Ax4663I(5AxPF ZGzPbtQ̡6`KF0PUUvvҦ.vf`  aOU.`>
.<᫡{˙Ù ûûǻ      ˼Q H83D`jb|` VvntpOp"<81.QAE>0Eo.0pp.-
 .Ҫ˕  hQ( @5Wˑ  d쨀?--P8;GF|/&AnoAB>AnaJ@Hn𬥎!A*ثN* U8 |04Ӫd08<\ͥpaClﲺ.l hbﲶ.dQʝ˩˥ pЀvZ񪡩띨ɑɕѶ8pbAF&'_v
(89JCҞ@ÜX1>0@A흢9OѣEs,ͩ~$0Ӳ/͝t.qpD P.pѦ A   
 P PRdq̑홬jDGpgr`HCiD@
`qE\ah̜/81F288I@A436W@~`큥nv@˘×M:ҤVq8ґD2Ҳ5Ɂw&:86-% z@pdiBJJBhi4Apt89*2F3*5AA"3pd6گV`혌c.4AAB-wT߶ؿoX`ٻM :1nhѐx -V6ˉ(p :1spa|B'z'vJ2GU<22987&Fa4splTch"C$탡AqtdҬ̕wØwLඐCC쥒OѢҢvTNt@3bat>5où썜C6G.GŐŞi .@Ap bpi	ӲӲlb$nᑮx.55!nF
8$7x.!F\G&~|)83H:zI::ثv
̡ r86@aĐ ٩D Y⊰f`Z Jp2Њx   Ԑ󰒕'F-80&FBH@58< L>D&| tPxP\@j릡| f.ffg	84pϜ@Z|~DF̭ddw&zX&p	ĀzlcB
Ipb446<zfzb "pܰ CD" JslarJaFۜ !zF6 (=
@47jQ $رҒp`ČB 82EO43K狐8!N z!J!q1I`$pe zlzb0Ox83 QjIL!@3j>@%:583GD361 2B7 :4J!N"T33 n%f,C8&B A!`^@f`p RAjŶZ65 >4d@BȲ RsP@FA DD80MH87Dhb Z`A .85>5Ba`Eќ͡  ja@qB0Р$2̈́`ͭ΢D1BVEEVË
Pl@&80@xlhHiG54oh`j@ƕ.Z:@02pA	X| `.a8b#|r˙.?.~: Ω` 64 E, `8xc<q>p pi Hg,%%Ð妔x~HHDHӪHiiH>II( gGg h=

  ߈i V ( @       b ˕˕"`*
%!|ʕ,2 &2& <#α1sFBC`//e>|81((p`pa55wvUVV6VV6m V( 5
D $ ,66>  Ԫˏ  . ӢԦ   q qp	POO 
/.. 0qP//.  ߍ  ."1 z@:0 5ҦҢ 45677WXyyzyۿy {zÛ{ 
 ˼Ï|(FY_û *  Ǻ$  ,u ù] Ǻ,   > ڻڿ" Ǚ  Ϸڷ. 'ifڐ5Ҫ&HHx@hHIfA@Ch`f	CB4Ahz ؿlבApQ˙ʕS˕<<Q̙̕$r+V Ðu
  .    ,_NGGpkH gvh6*Q QRR裬UQtʁtjXөr`O͡tp~q t  ̝qF8Ԓ|  pbŊ̡ 0 Gphnw-'h' 娒Az-iDVvH 	ii,͡WƮth䕋r ǐ쐐r B6> .rv ˃\> !|΀Rh ǐ쑀ܔV1h@ٿ-&H惔ŪDIwi
LX\
zJx˙ʍ ,4Ѓŀ"o˕TP4˕R@ʱ V5|D&12NL81٘ 쁝8:ԌъFiHii顜'p`C~CJVhfAj @֥t.1PPw󶉍2H0X1 ¢jΤPO
0F*Q|d1tBV2C(`"`ƶRl  lQ>44RoX  VR0CD:QQ$AIjkj.'oH
8s64jH@<fp1@xar`ˡi`n1Npxˑ˙#~⪝:( P`Þ<@pBB2221r>d@~@p@ l`B8B^C.Ap`pq``Q2 tB"r#˪r.aiN&G&487IGApaБ,a6al @ށˍxˍ홫ʑʑ,TAPCXB
!F6ǏRh!BL1̕ " 0 g̑xq0vb̥Af~`1P>a*  P͡h(2X8"~0 Aᩜ|PAMG䨖GEihixxWxOWˍˑ.W쑪pxo:ТW쬠-V1xÑ0ʢҡQ
0qOӪwpNߕpAQ6 P0'ppJ6নb<40F`p 0B/O.r .@0@|00qP.ȃڐO\t x1`qۉp`-83DleŜUp`vPV5F0NwNVǲN5Ӟ/W5Ɂvˑx۳Wxp.of@:OWPPpӢpp:yØڻxڻҖӪPXBӦ. ӦppWO-JӮÐNP^!ˈpU-o.p.p̝/ט/ͥӶs . ˍB!߫흊 ~@ʑh81-&G81̕qvҒVxwڷӦ̉̍ԮҞӚxʑhܳߚӚB -O.@ۻ5WڿpqۿwۻoW6X5V0q80-̙p5N5nJ" ڿǙ˙6w0WV6.tṦV0N0 6pٻ򚏒ӦoVۻo-F |~ᤘAˑo-ڻ6ˉ6êVʍAי6 ڈoùV80ϐڊ@}"p@x< ٳۻҚp۳( øڷO쑺V- xǿ81 ҚxD0-ۖ.ʐ0O6ǺԮ6WڿoxyǺND먐. pxx~QuسҢ.WدۯɜMA jc~Aip-0xpVMў-php( x앱ѢʅVWpҞ~ ʑ5ʅˉ.JӦWߏ@V6w6pV4v-vW .퉚?oN@66ҞNp.wHWqyx0WWWy﷚X@.0o@/P67홺60 U5P765L80g@F63nVUy632 3c  2nV͕ђFVB[
>"ђ ВLٻ뾂,Т4 пђі( Вώϖњ њњoҚo 80.N  oH  ooזn! Ѣ t ONOpN " LҪn-o,,nM-,++MȁNFp`&rkV5vا֧٧٧أ  & ٯ vDڻ  0 ٫۳   ۷ڷp.͕0۷ ܳ|V :b ۙ:F ( ܯ2 N WҞڿ@pUٿv Qڳۤ  YPQ  pٳٳ0>2 p`8vtس@׫2tu uuu3T M'&FBncC<pף ا٣٣ۣ ] nh@pڷګ,8f* ٫.2 oٷ@PZڌ ۫R!8اק֣֧ hjJ N!vzvv p OxnV 2  ` D! ٿ- ?ؿ!0  "! ث +ٿMGha~kp6pzݻ0ףw80vVث\0" :0ףۣخ4ꑏ  v124d11 "ӢܫNLD 00ۧ, ~Қ-.Uu40:A  @2!uU٫8 l20 Ɓ--v5^1& S?t~Aأ ,NGhG84vTtsף~D0ןן t`0!Қv두?٧ی uث00X   w> HTܳpڿ80Q,x0u <!﫶 {2٫ 0۫ܯJ Wpa`uس < !Q!P* pP QD-OQ4@T6AQv@"@u2 4h81O63Uܠ8Q1P8a<`ٖP0H`!1V5@*b c`Xa` <`d4AaN`<@ڻ}o ̕jP< J" `aalB|a``j`ܯd-4tPuS`tOVA QB똧q(0wˣ p@읱ٿؘ
PBQAt@q6 T#!pPp 82A
|hT3NOnmLnopPO  P>pz𑚐5V4TT3w̙~^  & Ӫ
 ўu2T.КК,ؿn@NӮӦ TX333T3S2T|0ط f <Q1~apa$2P,2NгTQ-.ٿLڀr4pF1 TQJ\BLp`Ngg%87ii5󮈅j @`jw  ʉUUі+͡יִЕʝ   ˍʅw po-O͙ˡ˰(R  ~ ʕ 6:  :,uUuo0 }-p`4ٷap`Ȁp|`ArHA6@@C{uPv0@v*44pZK؜GjF@BvIi82i54;|`]`" {˝0wX<wwNx̡̝ 
f0ﺷWA.Om͝$ ͥӪw`yT׳֫J`°(aH07tAv8bq*RAla`ڷlQnׯׯH¨4קFBD+DFJ0 55VʁwA쑺ÙӖڌ`WӢ셀E"ӡҚwۻwpT`ацLzbEBٳٻs|ruTD>F3>+"~˜85N@Ӯ6554U߿Mpb"~00̚@W绘ʰL Wxppˡz͜wx60ϲ㦑@|vT࠶R\arxѣ ~쑠|.@txjخاֆuV <5Dgz83tcmHh 05(1A@@ @85~Pn-wˍ	\269D5^1 :&Plp@42
^(1<2:1O..NO.80UTط׳tbh0 &  ØڿoZZB1|^B	%JB@81,18426H1 E63AAB`apWpp 0FCV1@`0B.8읪ذO j`n`r`BH @CӪPO5<l HPҪӪ(Ӳoo|ػlL
Dx0XC
MFF%EH@U80p`j(1|dc<1jb4L@Vʉ b3`EEeКa`p Nlfd\`D`:PX >!0pNR}f`ONp`-Ѧtq`n.2G	82~88  B.8jd<DW64Tanpj2oxx<80o˕pdGC$H8Px̡E& .z1-.џSF`@uקtxb&80pe:8G.5t46|#D+|0q80>bf@62ba62/@L1ґ5Мp`򦖯S828з3seK@-G'xH h4~aD2 @0Rcrb땩U1 `2""B6`a`R43nʑ
,Ra,B`jC`ahp̑@@00I& @B2 h2}.Ax0Ҧطس٫ 0tv؟81ƐggF&&Di4Vhp/ʍ`~}p& O@4 ˄𪑬  q81읉V5v-OӮ-ppA*1JO` FHc:4P|BP.pp PҐ̙.4̕./j1@v`p`펲B 2LZ.@A.tb/F@C82Aسp
@1\`B^gF83hv|lٻ.p-ʁ˱ҦN.ONO.D6ˉ6vڬ_ў-, @OOh@˲NAnDD͑ۿӚۿw. ˅Npxxǉ.@p`ˑxpw寧.z Wp ?ˍ-ƱZW6 .0Br`o 앟ҢطЗ&Ж>ujHV\3v5,UMMٷwMڷ
v4nภˑ65X5ڷoOؠ Ӣy-ٷoh`oz5Doj4L  OMіڻ~B󮘲/푲Ӗx.N-: O0ǑnC,.@uدm@>|剜81Aji|.U N4-jwz:A5pWV ٯ߯Z0ԪVo?RbٿnJ1푺úwڷ5ۻxV6wٳw!vᘿ,0@˕.푳Wگڷ쑙ÐV0.P.M.󮸿&da׆࢑&@u80@HF980M2S%pcFHV@&045xҞ-oNXڿ ÑϢpU5xqB00̉5wǲ0x-voqaoryxxO/x ڻwo5p*P/-v `N$pӨhP
 {xL ڳڻ0r1.VϿO`O?P82 壘ѫt&gG&ʋMLLMN-M-MіnMnn,MoNo`.N˖`Ud@nn-po߲p poo-N-> Қ.\F  -p:o --.O8 o : .jowOt -pˍҦ.̕NM:-p Vі --ꁐwn,-<Ǆ`p`ٷp`p٫A81`:4~82h |p`IѦ׳00"z ~ (0!VPٯڻVNu9QA@  @qگ@r@:Pp@Hxpwv律wwvRV WN  w6`T4uuvV65v U4UvT4TuUT T30 UuҢڷگ"P|R03
r84|82G87:3~DҮVMٷbZ11"ްVꟑn0pؼ7۫ ѯ  ߱P쑖# * :\ P"ݯV~0p  PT ۯn* \pҞڿOu@  >1LJ3F18vNˑiAH4@j@ҪVʑ˩v٣Vv.b>иL~>xڧ6nu	|Sښ*8qҢJ 0!"@۫ܯܫRJ   ܳV80v7u10 F~"dpv @C80jP4#ק\@Bva Aum80ʑG&&'z/ʍʉFPP@W (1 ٣v٣&"ۜW쟍nD@:5H1820VQJr1rv121z817vvP,":1ْPڧ baqJԑd1Қ-pcut TPAt3ֶ*ף TgFpeÜD80pN8pE@02 TP"fPd"@4WN,@65DP,4&2d-@`QPPB2qf80/O83zP$@DA `ap:2B?umŜ@@x5556V wNpVիwZrv Vvvqp6|N۷a@|OC. Dalq.344U@wR pvn1"dqV " QAWC80@S^@v2=TأrTnɍ/hh@|rdj|@˕镾  ʿʕNvTіȁVˍۯpfAJBT2 O>80PAF:3'G|pq5PwTn2@ @XP4rWC4lQ HaL`8UʜpaHLAHi& 
  ˡ˝ڳPP,@MC@ps
|a А8A2%pe!}Ӣ۷#qpfvplP`PRVtpxt*! P3*VBN4@s=tAv ٧vǛ
pbJת˷˙>1 ʙ˕̍ۻyXxwM$H |aQ84zӢDbpqqBAⱊq٧URc*80wx ̓6"зvpL,qjq:۷W Q5@B^bfb4 ਑ja|Ag&83F85HiiWAW8180 <2@D1˦ם̡ |x4Қ{xP0/p`(쑹Rv~:10ʔ~̑P3 0rx&(v wڻ$BdH2bQ0LTc"0,Ӛ.?4ЦuXa2ǟ\؟}AwD 82 IHV40{n`A@>1<0@̡@> oowˉOڻC> Jrrx@o̕80D:LLF880w-.'ڄPTjQƒA۳80솜v~^u P04nvhG HpD* $Ɛ˙을NN̕ѩMʕv56655  UV V65VvvVNow2ͫ,x  6:ҞU?.V ۙ 2  
 , ڻ6--U@QF1pBprhF'&
)oVˍwٿ󢱞.oo.,N-ϑʑV뉓P̾ő
̕wU,녘o$ 9L`4 ,`[D 5ͥĀ 
	j0../Op.Ҧ-UN`7Q4"Ѹr` (jb؞VWg%83
IPW썘0p󞘬 5ʁĠVxpڳ3ڰ-BӮV4̥
P@ ̝
"͝ܠ R ǹNp홅D `6H>	LV	6ˑx (	  RpͶt4@w-DvuZ`vǖp St ט٧U7g|t
~jX쑙@p󞹷V6oùd̍.Vw6ڷx
?̑Ӫw@`ܑސ:Q QxN l`pV_셜L *҂
z ̙ӶV-@سܐXad@׮ףytn`Rpa80Ĝ|~HHOWrMJUђv`ʉ-v `nҞT1@!BA NA
 z V`Vw5w?O  8"F14@40  L21	F8F ̡Q̙V-nPU8082\St @כ@򒗰V80hn`zT<4HihNwp.Mmm+L,MNm MMLm Ln,,𚎒-oɁJ ֐v` C#Z2pNp -9Nn`^1̝SEp2#&00Lb`ˍ@P̥V«@2 CA̕PpT>@ Iht N0Ў:h@&|xxKH.oSׯHذ`dЯثثpRT گ}ږڳL籚z`oVжҪҪx`@`@oӪb.ʕÜ̕.-^n3n,noƠjtb̰OOEA`p͡\epЖBxf:p1800V؞Ā*ttaPFG''ZAn`|Hr`H-woStدכןn.8ٟ>U왫òWNNN-ONN4ʁpOo-_:-NҞˁNOP$PVܠ.38P̥``󮫜@t$V0|@626˼`V4t^ 3uvvX疛>2utі 81'ᕘp`xNtt"أ֟ןtBS3٘4o67͑̑rXOÙVӦoʁx6Oû/.Py.2V0 ڿy4B˨ӮanAp51Uvrŵ@A:ur@@{&刨Ō:1Ǥˍn֛"ثx@ڮ0A1 5ٷ5$-Wq_U@w2 VҒڳۻڷ|o&кvwxVӚRp̕VrЗ_5wnB읫.43<=0 Q-SR2 pl`sR֧ώA%F䟈䌣:3DHLxpop`r`ra`XQBhQ|xᲮʅ덗ٷuЎدUwҞ-uuM+ٻNW54vߘ805.А-͝@4ı왪ӪDBK:<Z9Q QˉU *t@뛷ٚᛕQգϊpaE3F80䈜rc`Fpa80˚444vVv@uuTvu3v젘0 DppaovnΐnnM+КM ov`.n"L np".MN@-`-o-.owN N
 $ -|a   ntbKȑˑ6,ҕ؜  p40"L|P1p`80p`rb:4~ˑi~onp N!Ɂn,ˉXMʁ0ˁL`p $0 ށr2ԁ{ Ңj1L (wuP ٳ>F.ѯ"B0!f0A5p`pA@N:ZȟNa5 U5Vw um'5%|ઑ tfhʉh0UB@wVВ3Mf8 4 5p끐ˑ둘`JpD_RҐ`ڧۧܧ۫۬p9L`ˑ` ڰ⢀T!`PhP۷۳ۯ۫ ò*80A @	^a̙*Х #ˬˋ ˑfʁf'GAr`~80FHˉV55<Pvuv+ٯwNh0ØҎpҖ˅OˉˍvT`>a٧Pן(М HooҢv*@٫ɯ `۷:	& D3NWˑbJlr 0Hi@G81n`Ҧ6qnڷhڿp,ڢ-N$Pv/دd"q81ОOˍўvPPbq|1XDj1`0x0Drbo6860īWÑL`˝졑̦H0:hF$G~pa䄤HIAiўnl`nɁњҞ몂. d`~ɞ4Ҟʁ@0 Aʉ48ttІڧwOB۰o_Ou3jqxpb`	D1: w `~,R:x80B01"1˘R2 ip 81Ҧ;x匨63-$PTS,3TSTuӛ &4 43і4 oٿ-ˍvدpTa(~pۧpؠA둿v ڷٷڷ ڻoڻڻ"" px!ǼIGI$naǑ̕~A'.@Q	6 h %4g@rb.uS֧֟N*VpƲ*j٫`$̍wvpU<zBvUAbaUT1"ಐp`OPˑw  -}..̍X|F|loܞyǐ`Nٻ !pPT<;v4 3 8=IiwB@32sttNJ4f؟3Ttd@̍5ؖз``٣STDĐaBAp! frp̥xxó|v~㙫pvTs!b$0CקmTD剄JpohWii𖶫S zqpקpBr֣ףSР2wD̑ j1uj1aqđWS`pf Bp`Q̡.`T$Π ˒ | `6L˜˜ttP@tаTLAް\ ٟbpؠ +Tn?'A猣:6(6qpc2SS 8000Zu v@R՛1s3-ݖ4u.ףnRj@Pl$n@J1P3ТpR4qvtxhr!zP]NЕ0ףb FA3 Rrڣٟٛחf0LtMw&@ 80:1'~HG6i4׫T tuuvvp$ڳ/̅W%(ȠLPr`la(1ra`0 ow?pˍ̕ܧE@`˝^wò#69C& * ժЪ80O@NٻدP2Av`pܚٟ`Lv-'
80FڐiD쑾-.NXpmnMn n皏ўѢ-ߖޱpҮҪҦ_6V 
W6WW wV
oyOp͕40B X4yÒ_͙. H
1^`a͕y0͑PyBJڢ 0,ثدKu+%80䈨ja؜84~hHIׅH	G&G&FF G	Hh HiZЈwʍr>ұ ~ ʍw.  >10ѨB&pP1BD:~f1@.RVPZj="V.&--,M,ɍ$FČ~AH))JiVWW5 _Ӟ\Ҟp/OO.ON. -    vʅɁ?- "oAg6   T #\  *&b תjЩ w X b ˑXH pF  g&`` % ɍ&Aᥞpb
IӪ6 xwxx}y u  ۿ ú
 _     _ݿ Wܿ ׼,   ܿ	 
 |8ûJf   @úy xxWQQ66Ǫo|@)I((@(@II Jjjj@i
`a蠑$&.../P.P0 / Pq QQrrRrrRsrQRRM 	
 V, 6Pf  ԪԪp n@X !x|a` !ڻڿxê^`BtdBFI>0JIjjJ  i
 " iP, \itbx`
`oiͰ!4ai !th .iH . Hmni  hHp \qihhZ{  ~ (Hip.61ŨDvb~:0Bz`I 	,1jB0 4J2摋j2:D wrH8
hr$`LН̳DX:#!GG&j`c >4xc,1
 |%H9	1 *!B&, !&#5k

j~n⡫¬tH'z60 
ADLA>2 )L2I@ DX2 2l#.X 6%8BB$q@(86a @1 X8Cc$F #nb"pXro.>ZQ1,2.061 t*1At$%!60140vB:E B1K T8?/8*7*Z 37d9f5+670040  :2Czz4
`CrŐB3 k$cJ`Hd4%>412245ji,{hD!`aC.3jrNf`CvcƐƮ` 'l5a `Z`􄜡jbHR ^`25h`DCrႄ      UGGATCGVA   BGGATCXAM   GGATSFFO@   p                                                                   s BABbEBA
b*z Bb	 .  cb "	 `@H	L! c
$* DV26	p4v " 2b(9 P!+z#"H*5T5d0t0)
0t 8|42$ 828L.	 vApZ9$
@ 
<h=Ŕr
Ɯe   j;Q Tkl`A~f^D3$
:'%Bt\8W&B	B00Zln  2g D
xB\BHoba&FCS 
ce\?;wCLx+Č	 R5Rp̜B0HCŶV0p0  |02:P6O $oZOHPr rWbtuu:diX65̚眜HVJ83 >tP(NB @]CVN|A&3
 >?21:0 'NG 8CD84O F1§`&?N@ ~q_B@ P?$0f` 42(?,땜@N2 Q ZϒGt ģ(@^T &	,A,3V3 ak@! 25<2('J4''<0hV&&NP@P EHO #%6ܩ$NT P' pi2z0 hLcz&Da J7*@Z *lBJ\1!dt3dc((	&0d; s'q'&
 B1v`HIc\ ~bpdf &V86D`O X̤"2$*tH<w *,2GH(P4
v1(L`(8)H"(\2xEnE4∣aTGLTķ	dTnrA0(?G'8@0(HHiǙh iHHF1H0hG()J ))uI ()Rc((H pa
<0 $87FU`27l儀 ƌ-ƈ  H\R>QT
%%%@ &%$E%&g'batHHh`iIHwiI j( jI(EIH(3&f&GVaGDjI62`b
BA`Zgtqo^A  	SPuz &b
@2F H> (ȋi(Hh쑪̍ˍ̍.ˉ̉i̍푊4쿕III( p0Wiji r h IJ
KI88.& , PǍň< "0Ɛǔ`BÐ dBUv	$C2D':GDFLPA,
dE(pGGhGúڿˍi O55V6xO˺pU( p1``
AJA zhjiI
jGl&@8401爤 W% ׅ&''G	g
Ffg?     @ ݪ h6j(VNVۻOwVxpV۷pWӢڳڷyjN0̑< n0ˍ ]1    hghh hHIIHG&GFAŘĜĜnŌȌ	zz{ y ޻޿߿  ǚ͍kzQݿioVwNxoo6ҢҚvҢܿd 
  
%  ˾u üX'7@^40BԬiﲢ Ҟ
  ˢ
qqpqp^
 po -O nmnMNM앩x NU3T!ϘU5UwUwVMVѦMU5V0o-?NNj  Oonoop95A4	Ϫ&_̙'Ҡ:0朞VᒒlgwǨ r&2	&  t6`xdfjQGgh vtqʑꕉ ˕o?M
 ˙˙N 3Ԑ^in%iR b ^
h"& 0P"dhF%Gx%ÔC4127ê'^ s<qB(VxiH  jshHrsv*M6<Dh PJ  ooil Fo
 * .
 :6 J L \ 2X (G< ˡHV媐B JШ:XƠ䃲@ \ђ
Gxቔ"vj.4"&~̝>p7hi	24> d~8($>ܘGCfb@ʍ'Bܡ~t*101Hhi
BН4@ hЁh04j1h0j AjAB+~3F 1`B@0yF2̥^0 t1r2t0Np2˥`  8;@945~11X3bF2̎0':0G87:1le@rD (1 Az"3p)Ih 1 H0@*ERXE @b
A3S1n1H2L4@ bA81oB;@̡ :B*2!20
 261   <3~6AH:2A}H wÿLH'qi42*1^c@(blnjp\b212rpߍ ˍT8D81Üza10005A`%J1  A4cA1v0̝̙ ˕˕rqipA85Cbaw&hMop.HHxi `Њix Њh,howث׫ ߘN<1ro,16O6P*Pp#DJQPԺPpvH .vvvv߳u 5 rc&F@qp'-W:2q6ٷ򒷯ڿiOpЉOOOˁӪNoʞZ֣֛֟ٷN~arOA*W5".pO<2>dJABpٿu V 
ٷ-83Ĝj`<-V86fcC.'P5w6˅Wʁ6ڻڳVw wڷڻUX >oףtקS2ןt٧ٳN6`ne6o̚q@̙̑6ڿ爫̙f@ʁڿwp`Bu67q̩س0 ק׫덜p82H(ӜC46FNVh@dg5-׷
eMwWW۷x4A,k+@ѪD@ٳأ00٧ߖ ٷnPaz0`Opbd `˕5w4˕-6ۿҖٻNW7*`@JahdА{ ̡P ٳدثuاادْH%pk 8lcA.P/VnULLT
fpʙߍ@@@r` p`CoǑ˝˕pԲxêpʍV5ʍx66ˡb̩Z1ja졑@BA@؃0£`Ę63O82 BJhj hɁgg:Ъ.p:B0ˑN
xN`杁vcBͩa0( ˠNZ./|,2˙-4
4UTT4 344s88Gg82&nl46oDx
r8I"hHNZ d@\FtjˑђD0L0˕ʕ뜠`~DO` xc&00FaA>72`` ydhѢ@~H(  N`@pf00w()80I' Ğ˘˙䰐DF B"<B 4 !@@82ڜ fdLb"#x0 63 ͥOuPaAj`Noק tp`Hg8?K() HBP8:|",2sLT4FuO_TT d!Q 1 C~ <8f3< j$. R 01<5ܞ.T̥ዥjF81 <89'62041J  Qڤ83"A0n#4Fzg!3C7ҜѢ\N@65q4"@zRBj14?EO0u|4mNj TNp␫ID'82BHH1lb@jVTQUz"Th ؐAҢѢPH1B 6b81 ק.21$a<7 ̐ǰC*RT7`DHP
XiGP;6 0*	4T@@AKp`F'>p`85Bp`4|౦5GpcAdFBvaA6x^nrK.@4f ̌ `1Bn@tX̙DDmRi PcvP@:laxpSq	n pcP⨑-&n`pm H<0j:<DNxCjx H0b2@´j1`65~gF OɪCNC60`q83BG@`dHGҜi26
 81Azc!H89XpBx7l ŔM`61Z$1Q&Ira:1F' 88^'ҪI bc
BRJ=eG2pe.>p@􁶧4РN|!^8781 nnI?jJ3jj65nҋoDcH81MFG67<1'?Ӫ5H 865AO2pgBCQ
.t`̝BOj@jlA62@LB62h061K>|a82pgD8084A583Ip|>"Ǌ6<.c6q.@vFq:TD85qrhbF  pgcHah za:|Ape83@@DHpblndajciz
 ^h @(hC>˥Nrᝬ~@L( 0 |2<@zV`  f` " 2( 4ͩͭV89paCpc81480iÎ80Bjj  C,rv˝ʻʂ̡ q<4Ú̥u|D@삓s˩V0x~c 67D80@fh@p`Df<j!jvpe!@:0pe.183 BAL2᫙60`0ˏ슐D0 \1`\Ta1vt8&064<18apH1
$0*3$p`: ,0'G.p`(DAGp`A@иؘ HPi̥i@H@ B0lcAF2 &60.H2˕˕ |   P B.qtJ顪F<P1P1̙
  Nf@i>''(('
664GF0N.pAi˝ʀ`L0*4 rbF0Cn42 ˕5}U4U4V56Vzj003Cͥ< 4NR V U d  @& 2Brab@R1dpH81'8080' 'Kiǖuد덪NùN.O-oOCE`f䙫_  N˕4DN85.`pÖسدٳn Z`CCj@'<1F?-%BƜ61Ih6ÐHi-ڿڻٯUvǑvabE
Gڷأأا٫٧٧ڧ٫-3.x`읐6ثקtק oاث`  n "4Xi`3,;:7lb'p`&-  |86hA89GҦiOH0Mگ󖘳6̜.ada ljӪٻ061>Tu<H0FF˝oٿׄ0vݷ68BlPF0Hh`\4&P80i@($˕h-5h4ӦN5pqB&ߑA@81AAڇ-d0D80pcˢzou0Cu0  *QD2d 0PL h(^u80\CĜ(zF|0px2hq멕:iV뙈DRfL
 
ؔߘ"
 'ncf@~80NٷXcڷڻڻ 
 ۻpc|n`-UzBtb813gGCVkJ h!$xF<?.c"~ᕱT`Рء
򡤓xܖ.T-wM++ٞ LTn+,M,-M N ~2j@Po M/MM  -
 LL3?ɑ&%wŐ&HA80@>r>3j`*sᡋ $40<c *dZ1*>Nr24P-_oo p  pòOpO$ O $O/OP/./. ./..Vw.  ,-ʑd`82Ax4663I(5AxPF ZGzPbtþQ̡6`F0PUUvҦ.vf` 9 aOU.`>
.<1˙Ù~ ûûǻ    ݿ  ˼Q H83D`#jb|` V2vntp'Op"<81.AE>0Eoמ.0p.-
 . ˑҪ˕  hQ( @5W  d쨀--P8;GF|&AnoA B>AnaJ@HM𬥎!Aۡ*ث* U)8 |0~4Ӫd؜08<\ͥApaCt쥲{.씐혒p.dQʝɝ˩˥ʡ 9pЀvZ񪡩ɑɕѶ8pbAF&'v
A(89JCCҞ@ÜX1>0@vA흢OѬE̙͜,ͩ$0/͝|:qpD P.p A   (
 P PRdq핫_̑홬jDGapgr`HCiD@
qE\ajh̜/81F288I@A436gW@~`n`v@˘×M:ҤVq8ґD2Ҳ5Ɂw&:.86-%z@pdiBJ%JBhiAptB89*2F3*5A A"3pd6V+`c.4AAB-wTؿoX`읐?ٻM:1nhѐx -V6ˉ(p:1spa|B'zÑ'vJ2GU<229087&Fa4splTch"C$ڠAqtdҬwØw82CC̭쥒OѢҢvTNt@3bat>5où卜C6G.GŐŞi Œ0.Apbpi	ӲӲ`lb$nᑮx.55!nF
8$7x.!狡F\G&~|)83H:zI:::ثv:
̡r86@aaĐ ̩vD f`ZJ؀p2x   Ԑ󰒕'F-80&FBH@58< >D&| tPxP\@j릡|f.ffg	84p @Z|~DF̭ddw&z@X&pĀzlcBIpb446<zfzb"pܰ  CD"Js larJaFۜ !zF6 (=F
@ 47jQ$رҒp`ČB82EO43K 8!Nz!J! q1I$pez lzbOx83Q jIL!D@3j>@%䌁:583 GD361 2B7:4 J!N"T33n%f@,C8&B A`^㰐f`pR AjŶZ65>4d @BȲRsP@FADD80MH87D hb Z`A. 85>5BaEќ͡ ja @qB0$2̈́`ͭ΢D1BVEEVË
l@Ԡ&80@xlhHiG54h`j@ƕ.Z:@@02pAX| `.a8b#|r˙..~: Ω` 64E , `xc<q>p pi Hg,%%px~HHDHӪHiiHIωI( GYg h
ω
  wi V ( h@       b ˕/˕"`*
%!|ʕ ,2 &2&<#α1sFBC~`//e>|81((p`pa5ڷ5wvUVV6VgV6 ۫V( ?5
*D $ ,66 O Ԫ  . ӢԦ   q qp	~POO 
/.. 0qP//.  ̍  ."1 z@:0 5ҦҢ 45677WXyyzy/ۿy {zÛ#{ 
 ˼Ü|(FYû *  Ǻ$ s , ]ù Ǻ,   > ڻwڿ"  & ڷ. 'ifڐ5Ҫ&HH|x@hHIfA@Ch`f	CB4Ah l5㪙Ap惡Q˙3ʕS˕<Q̙̕$rV Ð
 ݢ B.    ,NGGpkH gvh6*QQRR裬UQtʍ tjXөr`Otp~q t  ̝qwF8ҀԒ|  pbŊ̡ 0 Gphnw-'h'B 娒AziDKVvH iBi,͡W Ʈth䕋r ǐ쐐r 6> .rv  \> !|Rh 쑀ܔV1h@-&HઐDIi
L(X\
zJx˙ɉ?ʍʊ ,4Ѓŀ"oTP4˕R@ʱV 5|D&12NL81n٘ ೠ8:ԌъFiHii'`p`C~CJVh fAj@֥t.1PPw2H0X1¢ jΤPOì
0F *Q|d1tBV2C(`̕"`1Rl  Q>44R+oX VR0CD:QQ$AIjkj.'H
s64jH@fp1@xa>r`ˡiXn1Npxˑ˙0#~⪝:( P`<@pBB2221r>d@~@p̕@l`B8B^୸C.Ap`pq ``Q2 B"r#˪r.aiN&/G&87IGApaБ,a6al @ށˍxˍ홫ʑˍÍ,TAPCXB
!F6ǏRh!BL1'̕ " 0 g̑xq0vb̥CAf~`1P>a*  ?P͡(2X8"~0( AᩜPA߈MQ䨖GEihixxWxOWˍˑߊ.W쑻pxoڿ:W-V1xÑ!0ʢҡQ
0qOӪwpߦNЕpAQ PͲ0p	pJ6নb40F`ϲp 0B/O. .@0@00qP.ȃFڐO\t x̴`qp`-83!DleŜUp`vPۻV5F0ۿNwNV̑ǲN5Ӟ/W5ɿvxWxpҞ.of@:OWPPpӢp?p:yØxҖӢӪPXB. ӦpߢpWO-JӮÐNP^!pU-o.p.p/ט/ͥӶ . ˍB!w흊 ~@ʑh81-&G81̕qvҒV왉xwڷӦ̉̍ԮҞӚxꁗʑhܳӚB -O.@ۻ5WڿpqwۻۊW6Xˑ5V0q80-̙p5N5nJ" ڿǙ6w0WV6_.tV0N0 6pٻӦoVۻo򢩁?-F@|~ᤘAˑo򞺿-ڻ6ٷˉ6êV߳ʍA6 ڈoùV80ϐv@"p@x< ٳۻҚp۳( øڷO쑺V- xǱ81 ҚxD0-.ʐ0O6ǺԮ6ӪWڿoxyǺNvD먐. pxx~QٷuسҢ.WدvM Мjc~Aip-ߩ0xpVMў-php( x앱ѢʅVWpҞ󢐚~ ʑ5ʅˉ.JӦW@V6w6pV4v-vW .퉚oN@66ҞNp.wHWqyx0WWWyX@.0o@/P67홺60 U5PӦ765ɅL80g@F63nVUy632 3  2nV͕ђFVB
>"ђ ВЖLٻ낰,Т4 Ві( ώϒњ њњoҚo 80.NŰ  oH  oon! Ѣ t ONOpN " LҪn-o,,nM-,++MȁNFp`&rkV5vا֧٧٧أ  & ٯ vDڻ?  0 ٫}گ۳   ۷ڷp.͕0۷ ܳ?V :b :F ( ܯ2 N Wڿ@pU_v QGڳۤ  PVQ  pٳٳ02 Ϙp`8vtس@׫2tu uuu3T _M'&FBncC<pף֟ ا٣ڧ٣٣v  nh@pڷګi,8* ٫.2 ocٷ@PZڌ~ ۫R!8اק֣_֧ hjJ N!vzvv p ڧxSnV 2  ` D! ٿ- Oؿ!0  "! ث +MGh~Xkp6p}zݻ0ף80vVث\0" :0ף4oꑏ  v124d11 "ٳ댰ۯܫLD 00, ~Қ-.Uu40A  @2!u?U٫ lN20 Ɓ--v5^1& Sϣt~Aأ ,NGhG镜84vTtاsףD0ߟןw t`0!Қv두٧ی uث00X   w> HTܳpڷo80,x0u <! 2٫ 0۫ܯJ Wpa`ugس < !Q!.P* pP QD-Q4@6AQ՗v@"@u2 4hĜ81O63߉Uܠ8Q@1P8a<`ٖP10H`!1zV5@/*b c/Xa` <`d4AazN`<@ڻo П̕jP< J" `aalBd|a``j`wܯd-4tPuS`tVA QBq(0wr p@읱ٿEؘ
PBQACt@q6 T#pPp 82A
|hT3NӪOnmLnopPcO  P>pz𑚐5V4TT3w̙^ߢ Ҿ  ɪ
 ўu2T.КК,ؿn@NӮӦ oTX333T3S?2T|=0طf  <Q1~apa$2P,2NгTQ-.ALڀr4p怀F1 TQJ\BLp`Ngg%87ii5󮈅j @`j݉  oʉU૗Uі+͡Еʝ{   ˕?ʅw po-O͙͡?ˡ(R  ~ ʕ :  :,uUuo0 -p`4ٷap`Ȁp|`ArHA6@@Cu^Pv0@v*44pZ7K؜GjF@BvIi82i54N|`׫`" ˝0wX<wwNx'̡ 
f0WA.O͝$ ͥ~Ӫw`y?T׳֫J`°(aH0ثtAv8bq*RAla`ڷlQnׯׯH4ק FBD+FQJ0 55VʁwA쑺ÙӖڌ`WӢ{셀"wۻwpT`8ацLzbEBٳٻ\|ruTD>F3+~H˜85N@Ӯ6554UMpb~0H0̚@WʰL Wx~ppˑz͜wx60ϲ@|vT࠶ R\arxѣ摀~쑠|.@txjؾاֆuV <5DgDz83tcHۙh 05(1A@ @85~Pn-wˍ\269D5^1 :&P}lp@42
^(1<2:1O..NO.80UTط׳9tb0 &  ØڿoZZB1B|^B%JB81,18426H1E63AAB`apWpp 0 FCV1@`0B.8읪ذ앺?Oj`Ȟn`r`BH @CӪ߹PO<l HPҪӪ(Ӳoo|lL
x0XC
~MFF%EH*@U80p`j(1 |dc<1jb4šL@Vʉ b3`EEea`p NClfd\`D`̕:PX >!LpNRf`ONp`-Ѧtq``n.2G82~88 B .8jdDW64Tan0pj2ox<80o˕pdGC$,H8Px̡gѦ& .z1-.Ѣ'SF`@uקtxb&80pe:8GG.5t46|#D+|0q 80>bf62ba62@L1ґ5:졜p`?S828з3_s٧K@-$G'xH wh4~a?D2? @0RcrbU1 `2"BH6`a`R43ǯnʑ,Ra,BjئC`ahp̑D@@00& @B2g h2.Aߦx0?طس٫ 0ףtv81ƐggF&&ÍDi4VhpʍK`~p& O@ ˄𪑬  q81읉V5v-OӮ?-ppA*1JO` FHc:4P|BP.pp PҐ̙.4./j1@v`p`!펲B 2ZГ.@A췡.tb/@ѥC82Aسp 
@1\`BgF83hv|lٻ.p-ʁ˱ҦN.ONO.竑D6ˉ6vڬўט-, @OOh@NжnDD͑ۿӚۿw. ˅Npxx.@p`ˑx쑌pwҦ.z Wp ϶ˍ-ƱZW6 .0Br`o Ңgط5&Ж¬>ujHV\3v5,UMMٷwMڷҖ
v4nภˑ65X5ڷoڿOؠ Ӣy-ٷoh`oz5Doj4L  OMџڻB󮘲/푲Ӗx.N-˱_: O0ǑnC,.@ҪuدثP>|981Aǿji|.U߳ N4ʁ-~jwڳzάA5pWV Z0VoϷRbٿnJ1úwڷ5ۻxV6wwў!vᘿ,0@.푳Wگگڷ쿑ÐV0.P.M.󮸿da׆࢑@Iu80@HF80M2%ԜpcFHV@&045x-oNXڿ ÑpU5xqB00̉5w0_x-voqaoryxxO/x ڻw5p*P-v `$pәӨhP
 xL ڳڻ0r1.VO`OPw82g yt&gGb&ʋMLLMN-M-MіnMnn,MoNo`.N`Ud@nn-pop poo-N-> ?Қ.F  -p:o --.߱O8 oo : .joOt -pˍҦ.̕NM:-p V --ꁐwn,-<|`p`ٷp`p٫A81`:4~82ꍃh |p`IѦ׳00"z ~ (v0!VPٯڻVNuQA@ ? @qگ@r@:Pp@HxpwvwwvRV WN  w6`T4uuvV65v U4UvT4Tu߯UT T30 UuҢڷگ"P|R03
84\|82G87:3D_ҮVٷbZ1r1"ްVng0pؼ۫M   P쑠#e *! :\ P"ݯV0_p  PT ۯn* \pҞڿO_u@  >1LJ3F18vNˑiH4Ѐ@j@ҪVʑvٿVvb>иL~>xڧ6nu|Sښ*ΪqҁJ 0!"@۫ܯܫxRJ   ܳV80vu10 ~"dpv C80jP;4#ק\@Bva qAum80ʑG&&'zʍʉFPP@ (1 ٣v_&"ۜWgn@D@:5H1820VQJr1rv1`21z81vvP,"1َPڧ baqJԑd1-pcut TPAt3* Tɍ_gFpeÜD80p8pSE@302 TP"fPd"@4WN,@h65DڷP,4&2d-@د `QPPB2qf80O83zP$@DAC `ap畛:2BuOmŜᕜ@@x5556kV wNpVwZrv Vvvqp6|Na@|OC. Dalq.344U@w9Rp vn1"dqV" QAWC80@S٧E^@v2TأrTnɍhh@|rdj|@_˕  ʑʕNvTіȁVˍ;ۯfAJBT2OH>80P AF:3'Gpq5PwTn2@ @XP4WC4lQHa L`8oUʜpaHLAHi 
  ˝̑_ڳPP,@M@ps
|aА8A@2%pe!Ӣ۷#qpf!vplP`PRVtpxt*!P3*VB4S@sϷtAv ٧vpbBJ˝>1 ʙ˕̍ۻyXxwM$H|aрQ84ӢDbpqqBAⱊq٧URc*80w7x ̓6"зvpL,qjq:W Q5@^bfb4 ਑ja|A+g&83F85HiiWA8180 <2@몑D1˦̝ |x4ҚxP0/p`J쑹Rv~:1>0ʔ~̑ P3 0rx&(v wڻ $BdH2bQLT̖c"0,Ӛ.O4ЦuXa2q\؟AwD 82 IHV40n`A@>15<0@̡@ﷲ> oowˉOǻ> Jrrx@o̕80 D:LLF880w-.	ڄPTjQྒƒA۳80v~^u P04nvhG gHpD덶 $Ɛ˙을NN̕ѩMvʉ56655  UV V65VvvVNo_w2,3x  6:ҞU.V  2  
 , ڻ6--?UQF1pBprhF&
)oVˍwٿ󢱞.oo.,N-ϑʑVdP̾ˑ
q̕wU,녘o_$ L`4 ,`D 5ͥĀ 
	j0../Op.Ҧ-UN`Q4"Ѹ@r` (jb؞Vg%83
IPW썘0p 5ʁĠVxp߿ڳ3ڰ-Bˍ߮V4_̥
P@ ̝
"͝mܠ R ǹNwpD a`6H>	LV	6߿ˑx (	  Rpt4@w-DvuZ`v௖qp Set ט٧Ug|
~jX쑙@pV6oùd̍.Vw6ڷx
̑Ӫw@`ܑސ:Q QxN l`pV셜쀠L̕* ҂
z ӶV-=@سܐXatd@׮ףtn`pa80Ĝ|~HHOWrMJUђv`ʉ-v `򞸷nҞT1ˉ @!BANA
 z V`Vw5wO  8"F1@40 ЎL21	F8F ̡Q̙V-nPU_80982\?St @כ@򒰒V80hn`zT<4HihNwp.Mmm+L,MNm MMLm Lnߎ,,-Ɂ۱J ֐v` C#Z2pNpߐ -Nn`^1̝SEp2#&00Lb`ˍ@P̥V«@2 CAPpTO@ ht N0Ўh@&|xKH.oׯHذ`d?ثثR\T گږߘڳLz`oVҪҪx`@`@Ӫb.ʕ|Ü̕.Ӯ-^n3n,noƠjtb̰OEA`p͡\eˀpЖBx:p٦1800V؞ŀ*qttaѴPFG''An`Hr`H-woStدכןn.8ٟ>UòWNNN-ONN4ʁpOo-א:-NҞˁNOP$PVܠ.8P̥``󮫜@t	V0@626˼`_V4t^ 3uvvX9>2utі` 81'p`xNtt"أߟןtB3T٘4o67͑̑rXOVӦoʁx6Oÿ/.Pyw.2V|0 ڿ4ޒB˨Ӯ anA51_Uvrq@A:u״@@&ޜ刨Ō:1Ǥˍn֛m"ثx@ڮ0A1 5ٷ5$-WqױU@w2 VҒڳۻڷ|o&кvwxVӚRp̕VrЗ5wnB.43<=0 Q-SR#2 l`sR֧ώA%F':3DHLxpop`r`|ra`<XQBhQ|xᲮ덗ٷuدUwҞ-ЖuuM+ٻNW54v򚘳805.А-͝@4ı왪DBK:<Z9|Q QˉU *t@ٚᛕQգϊpaEF80䈜rcFpa80˚444vVv@uuTvu3v젘0 DpwpaovnΐnnM+КM ov`o.n"L np".MN@-`-o-.oN N
 $ -|a   ntbKȑˑ6,ҕب  p40";LP1p`80xp`rb:4~ˑ}i~onp N!n,XMߊʁ0=L`p $0; ށr2ԁ^ Ңj1L (uݛP ٳf>F."tB0!f05p`pAN:ZȟNa5 U5Vw um5I%|ઑ tfhh0UB@wʁVВ3Mf8 і4 5p끐ˑ둘`JpDأRҐ`ڧo۫۬pL`ˑ`𖧟 ڰٸT!`PhP۷۳ۯ۫ ò80
A@	aת̙*Х ˈˋ ˧fʁfGIAr`~80FHˉV55<Pvuv+ٯwNh0ØҎpҖ˅OˉˍvT`aϧPן (М HooҢv*@ `v:Ӧ& D3NWbJlr 0Hi@G81An`ȑҦ6qnҚhp,-N$Pv˯d"q81OˍўǸvPP bq|1XDj10x0 Drbo6860WÑL}`˝̦dH0:hF$Gpa䄤HIAiҢўnl`nɁњҞ. d`~4gʁ@0 Aʉ48ttІڧwB۰oOu3jqx-pb`t	D1: w `~R:x80B01)"1˘R2 ip 81Ҧx匨63-$PTS,3TSTu &4 43і4 oٿ-ˍvدpTa(pۧpA둱v ڷٷڷ ڻڻڻ"~" px! ǼIGI$na侜Ǒ̕Aߖ.@Q	6 h %4@rb.uS֧֟oN(*VpƲ*fj٫`$̍w7vpUzBvUAbaUT1"າp`OPˑ s -..̍X|૑!F|loyǐ`N_ٻ ȎpPT<v4 3 8=IiwB@32s?ttNJ4f؟Ttd@5ؖз``٣?STD ĐaBAp! 0frp̥xxó|v~㙫pvTs!b$0CקmoTD儞⨒JpohWiiʜ?S zqpק׮pBr֣ףSР2D̑f j1uj1aqđS`pfB p`Q̡.`T$Π= ˒| `6L˜˜ttP@tаTLAް ٟbpؠ +Tn'A:6(6qpc2SS 8000Zu v@R՛1֣s3-4u8.ףnR+j@P$n @J1P3ТdpR4@qvtx`hr!zPNЕ0ף'b FA3 Rrڣٛٟחf0LtM&@ 80:1'~HG6i4T tuuvvp$/̅W۷(ȠLPr`la(1ra`0 owpˍ̕ÖܧĮE@`˝^wò69Cm& * 80O@NٻدP2Av`pٟ`Lv-'
(80FڐiD쑀-.NXpmnMn nѢ-ޱpҮҪҦ6V 
W6WW wV
yOp͕40B X4yÒ͙. 
1^`a͕y0͑Py߿_BJiڢ گ0,ثدKu+%80䈨ja84~ԮhHIH	G&G&FF G	Hh HiZЈʝrұ ~ ~ʍʍ?w.  >10ѨB&pP1BD:~f<1@.RFVPZjO"V.&--,M,ɍ$yFČ~AH))JiVWW5߫ עӞ\ߞp/OO.ON._     띉ʅɁ-"vog6   T #\  *&b jЩ w1 X b ˑH pF  g&`` % ɍ&aApb
IӪ6 xwxxy _ ݺ ۿ ú
      ׿ ܿռ u, û  ܿ 
 8_ûJf   @úy xxWQQ66ђǪ|@)I((@(@II Jjjj@i
`a=蠑$&.../P.P0 / Pq QQrrRrrRsrQRR S	i
 8V, 6Pf  ԪԪGp n@X !x|a` !ڻڿxê^`?BtdaBFI>0JIjjJ  i
  iP, \itbx`
`coiͰ4Hai !th .iH p. Hni  hHp \qihhZ{   (Hip61ŨDvb~:0z`I 	,1jB0 J2͋j2:D  wrH 8
hr$`LН̳DX:#!GG&j`:c >4xc,1
|% H9	1 *!B&,!&#H5k

j~n⡫ ¬tH'60
A DLA>2 )L2I@ DX22 l#.X6%8BB$ q@("86a@1 X8C c$F#nb "pXro.>ZQ1,2.061t*1At$%!60140v:E B1 KT8? /8*7*Z37d9f5+67&0040 :2C zz4
XCrŐB3k$cJ `Hd4%>412245ji,{hD !`aC.3jrぃNf`CcƮ` 'l5a` Z􄜡j bHR ^`25h`DCro      UGGATCGVA   BGGATCXAM   GGATSFFO@   p                                                                    BABbEBA
b*z Bb	 .  cb "	 `@H	L! c
$* DV26	p4v " 2b(9 P!+z#"H*5T5d0t0)
0t 8|42$ 828L.	 vApZ9$
@ 
<h=Ŕr
Ɯe   j;Q Tkl`A~f^D3$
:'%Bt\8W&B	B00Zln  2g D
xB\BHoba&FCS 
ce\?;wCLx+Č	 R5Rp̜B0HCŶV0p0  |02:P6O $oZOHPr rWbtuu:diX65̚眜HVJ83 >tP(NB @]CVN|A&3
 >?21:0 'NG 8CD84O F1§`&?N@ ~q_B@ P?$0f` 42(?,땜@N2 Q ZϒGt ģ(@^T &	,A,3V3 ak@! 25<2('J4''<0hV&&NP@P EHO #%6ܩ$NT P' pi2z0 hLcz&Da J7*@Z *lBJ\1!dt3dc((	&0d; s'q'&
 B1v`HIc\ ~bpdf &V86D`O X̤"2$*tH<w *,2GH(P4
v1(L`(8)H"(\2xEnE4∣aTGLTķ	dTnrA0(?G'8@0(HHiǙh iHHF1H0hG()J ))uI ()Rc((H pa
<0 $87FU`27l儀 ƌ-ƈ  H\R>QT
%%%@ &%$E%&g'batHHh`iIHwiI j( jI(EIH(3&f&GVaGDjI62`b
BA`Zgtqo^A  	SPuz &b
@2F H> (ȋi(Hh쑪̍ˍ̍.ˉ̉i̍푊4쿕III( p0Wiji r h IJ
KI88.& , PǍň< "0Ɛǔ`BÐ dBUv	$C2D':GDFLPA,
dE(pGGhGúڿˍi O55V6xO˺pU( p1``
AJA zhjiI
jGl&@8401爤 W% ׅ&''G	g
Ffg?     @ ݪ h6j(VNVۻOwVxpV۷pWӢڳڷyjN0̑< n0ˍ ]1    hghh hHIIHG&GFAŘĜĜnŌȌ	zz{ y ޻޿߿  ǚ͍kzQݿioVwNxoo6ҢҚvҢܿd 
  
%  ˾u üX'7@^40BԬiﲢ Ҟ
  ˢ
qqpqp^
 po -O nmnMNM앩x NU3T!ϘU5UwUwVMVѦMU5V0o-?NNj  Oonoop95A4	Ϫ&_̙'Ҡ:0朞VᒒlgwǨ r&2	&  t6`xdfjQGgh vtqʑꕉ ˕o?M
 ˙˙N 3Ԑ^in%iR b ^
h"& 0P"dhF%Gx%ÔC4127ê'^ s<qB(VxiH  jshHrsv*M6<Dh PJ  ooil Fo
 * .
 :6 J L \ 2X (G< ˡHV媐B JШ:XƠ䃲@ \ђ
Gxቔ"vj.4"&~̝>p7hi	24> d~8($>ܘGCfb@ʍ'Bܡ~t*101Hhi
BН4@ hЁh04j1h0j AjAB+~3F 1`B@0yF2̥^0 t1r2t0Np2˥`  8;@945~11X3bF2̎0':0G87:1le@rD (1 Az"3p)Ih 1 H0@*ERXE @b
A3S1n1H2L4@ bA81oB;@̡ :B*2!20
 261   <3~6AH:2A}H wÿLH'qi42*1^c@(blnjp\b212rpߍ ˍT8D81Üza10005A`%J1  A4cA1v0̝̙ ˕˕rqipA85Cbaw&hMop.HHxi `Њix Њh,howث׫ ߘN<1ro,16O6P*Pp#DJQPԺPpvH .vvvv߳u 5 rc&F@qp'-W:2q6ٷ򒷯ڿiOpЉOOOˁӪNoʞZ֣֛֟ٷN~arOA*W5".pO<2>dJABpٿu V 
ٷ-83Ĝj`<-V86fcC.'P5w6˅Wʁ6ڻڳVw wڷڻUX >oףtקS2ןt٧ٳN6`ne6o̚q@̙̑6ڿ爫̙f@ʁڿwp`Bu67q̩س0 ק׫덜p82H(ӜC46FNVh@dg5-׷
eMwWW۷x4A,k+@ѪD@ٳأ00٧ߖ ٷnPaz0`Opbd `˕5w4˕-6ۿҖٻNW7*`@JahdА{ ̡P ٳدثuاادْH%pk 8lcA.P/VnULLT
fpʙߍ@@@r` p`CoǑ˝˕pԲxêpʍV5ʍx66ˡb̩Z1ja졑@BA@؃0£`Ę63O82 BJhj hɁgg:Ъ.p:B0ˑN
xN`杁vcBͩa0( ˠNZ./|,2˙-4
4UTT4 344s88Gg82&nl46oDx
r8I"hHNZ d@\FtjˑђD0L0˕ʕ뜠`~DO` xc&00FaA>72`` ydhѢ@~H(  N`@pf00w()80I' Ğ˘˙䰐DF B"<B 4 !@@82ڜ fdLb"#x063 ҦҦfa.UBaTA.]tj`N7ק p`H38?K() H|BTwu B00up @4(̑ѢקѢJA`1HϧNN XF~  <8f3<j$. Ra 
.T̥wuዥj#81 89'6241DT@T"dN DD\π65qBrSBj1p4
0*12un
04ե!Őj TT X!߶p␫*ID'82BHH1la T80quQR0.O@HA.V03  12ZPaT`$a<7 ̐ǰC*RT7`DH
XiҜTͥO4̩
UN4T@/up`F' p`85Bp`4|?5GpcAPFBvaҊ@oCѢ('1nAPB!O@ A T1QVH7BwbDDm RiPcFQ@84'Tl>1pdb0T⨑-&n`pmHBi@1&1X183``R2A@laqi  p``65~gF810	F5 q r FATP83G@`dHG
i26
6rE	 Rs20>0 C83,a832CVtCH.ҢA4@d1oz̜Ŕ2NR8080BaB~oDIra:1Fύ' 88'ҪIbc
iepcj<NpeB axbv(y@3pd,Rp8281nnI?qJ3ͩcbҪdp#oDCH81MFG67<1'5H8tT|x,ѢNa.1a81.aNBOjlC.v`	ȶZ61>|aB82pgD8084A/583Ip|>i3p:43Bp̝qtÜ ʡ:3XD85q r<2 E .1	H ^1hza:|A`pe83@@DHpbln`daj` i
 ^AhC젎C(˥4p`Ҡ衝0" @L(0 |琠2<Be0    ̥" 2( 4`ͭͭV89paCHpc81480AiÎ80jj
 R0A!0rv˝ʙʂ̡>P˝Ŝq<4nd̋~ZD@3ܬ˩D4F1V0<V367D 80@fh@p`Df<jjsj
ij!@~:0*0.183@`L2᫙``0˝D0\1֑2Ta@1v<a
&064&<18a pH1
$0*3.$p`: ,0'~G.p`?(D^AGp`A@и H}Pi̥i@H@ B0@1&1@ F2 &60.H2ߙ˕˕    PBPqtJ顪1F8:P1L1̙
 4,,&&RP̥i>''(('
664GF0N.p_Ai˝ʀ`L0*4rbF0C^142>3R(05U4U4V56z2j003CͥԱ< 4NR V U d ,, &|&R󮑦PmH81'8080' 'Kiǖuد덪NùN.O-ʉoOCED  N˕㤓pdN85.`pÖسدOٳn K,, &&RϞj@'<1F-% BƜ61Ih6ÐHi-ڿڻٯUvǑvabF6F
G⡊ڷأأا٫٧٧ڧ٫-3ܜ.j`ثڰtק 7ث`  2n ,,٫&&RҦ˕lb'p`&- |86hA89GҦiOH0Mߒگ6̜.adaE ljӪٻx 61 Tu	H0FFˌ˝oٿׄ0?v|߸6گ٪0,,&&R읪0Hh`4& BP80i@(߳$˕h-5h앹4Ӧ?N5p
DqB&ʑA@81AAڻ-d쨐80pc|zou دu0  *Q$"d 0PTٳ,,&&RF8180C.ĜzF|`hqu:iV뙈ǨDRf
 
ؔￗ"
 ncf@80Nٷcڻڻ 
`ٷ ۻc,,&&Rn`-UzBtb813gGCVk "!H$xF<?.c"~ᕱT`Рء
xܖ.̠-wM++ٞ LTn+,M,-M N ~2j@Po M/MM  -
 LL3?ɑ&%wŐ&HA80@>r>3j`*sᡋ $40<c *d<Z1*><Nr24P-_oo p  pòOpO$ O $O/OP/./. ./..Vw.  ,-ʑd`82Ax4663I(5AxPF ZGzPbtþQ̡6`F0UUͤvҦ.vf`򦈐 9 aOUP>
.<1˙Ù~ ûûǻ    ݿ  ˼Q H83D`#jb|` V2v"p'Op"<<81.AE>0Eoמ.w0pp.-
 .pˑҪ˕  hQ( @5Wˑ G d쨀--P8;GF~|&A!noABP`AnaJ@pHӬ!A؀ثt* U8 |04Ӫ0v8<ͥpaК C  f. ̩ ̩ˡd.dQʝɝ_˥ʡ pЀvZ띨ɑɕѶp8pbAF&'Ev
(89МJPCҞ@ÜX1>0@A흝O3ѬE:̙,ͩ$0Ӳ/͝  qpD P.p A  @  (
 P PRdq핫_̑홬jDGapgr`HCiD@
qE\aj̜/81F288I@A436gW@~`n`v@˘×M:ҤVq8ґD2Ҳ5Ɂw&:.86-%z@pdiBJ%JBhiAptB89*2F3*5A A"3pd6V+`c.4AAB-wTؿoX`읐?ٻM:1nhѐx -V6ˉ(p:1spa|B'zÑ'vJ2GU<229087&Fa4splTch"C$ڠAqtdҬwØw82CC̭쥒OѢҢvTNt@3bat>5où卜C6G.GŐŞi Œ0.Apbpi	ӲӲ`lb$nᑮx.55!nF
8$7x.!狡F\G&~|)83H:zI:::ثv:
̡r86@aaĐ ̩v~ f`ZJ؀p֤2x   Ԑ󰒕'F-80&FBH@58< >D| tPxP\@j릡|f.ffg	84p @Z|~DF̭ddw&z@&pĀzlcBIpb446<zfzb"pܰ  CD"Js larJaFۜ !zF6 (=ѼF
@ 47jQ$رҒp`ČB82EO43K 8!Nz!J! q1I$pez lzbO83Q jIL!D@3j>@%䌁:583 GD361 2B7:4 J!N"T33n%f@,C8&B A`^@f`pR AjŶZ65>4d @BȲRsP@FADD80MH87D hb Z`A. 85>5BaEќ͡ ja @qB0$2̈́`ͭ΢D1BVEEVË
l@Ԡ&80@xlhHiG54h`j@ƕ.ZԠ@@02pA| `.a8b#|r˙..~: Ω` 64E , xc<q>p pi Hg,%%px~HHDHӪHiiHIωI( GYg h
ω
  wi V ( h@       b ˕/˕"`*
%!|ʕ ,2 &2&<#α1sFBC~`//e>|81((p`pa5ڷ5wvUVV6VgV6 ۫V( ?5
*D $ ,66 O Ԫ  . ӢԦ   q qp	~POO 
/.. 0qP//.  ̍  ."1 z@:0 5ҦҢ 45677WXyyzy/ۿy {zÛ#{ 
 ˼Ü|(FYû *  Ǻ$ s , ]ù Ǻ,   > ڻwڿ"  & ڷ. 'ifڐ5Ҫ&HH|x@hHIfA@Ch`f	CB4Ah l5㪙Ap惡Q˙3ʕS˕<Q̙̕$rV Ð
 ݢ B.    ,NGGpkH gvh6*QQRR裬UQtʍ tjXөr`Otp~q t  ̝qwF8ҀԒ|  pbŊ̡ 0 Gphnw-'h'B 娒AziDKVvH iBi,͡W Ʈth䕋r ǐ쐐rl 6> .rv  \> !|Rh 쑀ܔV1h@-&HઐDIi
L(X\
zJx˙ɉ?ʍʊ ,4Ѓŀ"oTP4˕R@ʱV 5|D&12NL81n٘ ೠ8:ԌъFiHii'`p`C~CJVh fAj@֥t.1PPw2H0X1¢ jΤPOì
0F *Q|d1tBV2C(`̕"`1Rl  Q>44R+oX VR<0CD:QQ$AIjkj.'H
s64jH@fp1@xa>r`ˡiXn1Npxˑ˙0#~⪝:( P`<@pBB2221r>d@~@p̕@l`B8B^୸C.Ap`pq ``Q2 B"r#˪r.aiN&/G&87IGApaБ,a6al @ށˍxˍ홫ʑˍÍ,TAPCXB
!F6ǏRh!BL1'̕ " 0 g̑xq0vb̥CAf~`1P>a*  ?P͡(2X8"~0( AᩜPA߈MQ䨖GEihixxWxOWˍˑߊ.W쑻pxoڿ:W-V1xÑ!0ʢҡQ
0qOӪwpߦNЕpAQ PͲ0p	pJ6নb40F`ϲp 0B/O. .@0@00qP.ȃFڐO\t x\@̴`qp`-83!DleŜUp`vPۻV5F0ۿNwNV̑ǲN5Ӟ/W5ɿvxWxpҞ.of@:OWPPpӢp?p:yØxҖӢӪPXB. ӦpߢpWO-JӮÐNP^!pU-o.p.p/ט/ͥӶ . ˍB!w흊 ~@ʑh81-&G81̕qvҒV왉xwڷӦ̉̍ԮҞӚxꁗʑhܳӚB -O.@ۻ5WڿpqwۻۊW6Xˑ5V0q80-̙p5N5nJ" ڿǙ6w0WV6_.tV0N0 6pٻӦoVۻo򢩁?-F@|~ᤘAˑo򞺿-ڻ6ٷˉ6êV߳ʍA6 ڈoùV80ϐv@"p@x< ٳۻҚp۳( øڷO쑺V- xǱ81 ҚxD0-.ʐ0O6ǺԮ6ӪWڿoxyǺNvD먐. pxx~QٷuسҢ.WدvM Мjc~Aip-ߩ0xpVMў-php( x앱ѢʅVWpҞ󢐚~ ʑ5ʅˉ.JӦW@V6w6pV4v-vW .퉚oN@66ҞNp.wHWqyx0WWWyX@.0o@/P67홺60 U5PӦ765ɅL80g@F63nVUy632 3  2nV͕ђFVB
>"ђ ВЖLٻ낰,Т4 Ві( ώϒњ њњoҚo 80.NŰ  oH  oon! Ѣ t ONOpN " LҪn-o,,nM-,++MȁNFp`&rkV5vا֧٧٧أ  & ٯ vDڻ?  0 ٫}گ۳   ۷ڷp.͕0۷ ܳ?V :b :F ( ܯ2 N Wڿ@pU_v QGڳۤ  PVQ  pٳٳ02 Ϙp`8vtس@׫2tu uuu3T _M'&FBncC<pף֟ ا٣ڧ٣٣v  nh@pڷګi,8* ٫.2 ocٷ@PZڌ~ ۫R!8اק֣_֧ hjJ N!vzvv p ڧxSnV 2  ` D! ٿ- Oؿ!0  "! ث +MGh~Xkp6p}zݻ0ף80vVث\0" :0ף4oꑏ  v124d11 "ٳ댰ۯܫLD 00, ~Қ-.Uu40A  @2!u?U٫ lN20 Ɓ--v5^1& Sϣt~Aأ ,NGhG镜84vTtاsףD0ߟןw t`0!Қv두٧ی uث00X   w> HTܳpڷo80,x0u <! 2٫ 0۫ܯJ Wpa`ugس < !Q!.P* pP QD-Q4@6AQ՗v@"@u2 4hĜ81O63߉Uܠ8Q@1P8a<`ٖP10H`!1zV5@/*b c/Xa` <`d4AazN`<@ڻo П̕jP< J" `aalBd|a``j`wܯd-4tPuS`tVA QBq(0wr p@읱ٿEؘ
PBQACt@q6 T#pPp 82A
|hT3NӪOnmLnopPcO  P>pz𑚐5V4TT3w̙^ߢ Ҿ  ɪ
 ўu2T.КК,ؿn@NӮӦ oTX333T3S?2T|=0طf  <Q1~apa$2P,2NгTQ-.ALڀr4p怀F1 TQJ\BLp`Ngg%87ii5󮈅j @`j݉  oʉU૗Uі+͡Еʝ{   ˕?ʅw po-O͙͡?ˡ(R  ~ ʕ :  :,uUuo0 -p`4ٷap`Ȁp|`ArHA6@@Cu^Pv0@v*44pZ7K؜GjF@BvIi82i54N|`׫`" ˝0wX<wwNx'̡ 
f0WA.O͝$ ͥ~Ӫw`y?T׳֫J`°(aH0ثtAv8bq*RAla`ڷlQnׯׯH4ק FBD+FQJ0 55VʁwA쑺ÙӖڌ`WӢ{셀"wۻwpT`8ацLzbEBٳٻ\|ruTD>F3+~H˜85N@Ӯ6554UMpb~0H0̚@WʰL Wx~ppˑz͜wx60ϲ@|vT࠶ R\arxѣ摀~쑠|.@txjؾاֆuV <5DgDz83tcHۙh 05(1A@ @85~Pn-wˍ\269D5^1 :&P}lp@42
^(1<2:1O..NO.80UTط׳9tb0 &  ØڿoZZB1B|^B%JB81,18426H1E63AAB`apWpp 0 FCV1@`0B.8읪ذ앺?Oj`Ȟn`r`BH @CӪ߹PO<l HPҪӪ(Ӳoo|lL
x0XC
~MFF%EH*@U80p`j(1 |dc<1jb4šL@Vʉ b3`EEea`p NClfd\`D`̕:PX >!LpNRf`ONp`-Ѧtq``n.2G82~88 B .8jdDW64Tan0pj2ox<80o˕pdGC$,H8Px̡gѦ& .z1-.Ѣ'SF`@uקtxb&80pe:8GG.5t46|#D+|0q 80>bf62ba62@L1ґ5:졜p`?S828з3_s٧K@-$G'xH wh4~a?D2? @0RcrbU1 `2"BH6`a`R43ǯnʑ,Ra,BjئC`ahp̑D@@00& @B2g h2.Aߦx0?طس٫ 0ףtv81ƐggF&&ÍDi4VhpʍK`~p& O@ ˄𪑬  q81읉V5v-OӮ?-ppA*1JO` FHc:4P|BP.pp PҐ̙.4./j1@v`p`!펲B 2ZГ.@A췡.tb/@ѥC82Aسp 
@1\`BgF83hv|lٻ.p-ʁ˱ҦN.ONO.竑D6ˉ6vڬўט-, @OOh@NжnDD͑ۿӚۿw. ˅Npxx.@p`ˑx쑌pwҦ.z Wp ϶ˍ-ƱZW6 .0Br`o Ңgط5&Ж¬>ujHV\3v5,UMMٷwMڷҖ
v4nภˑ65X5ڷoڿOؠ Ӣy-ٷoh`oz5Doj4L  OMџڻB󮘲/푲Ӗx.N-˱_: O0ǑnC,.@ҪuدثP>|981Aǿji|.U߳ N4ʁ-~jwڳzάA5pWV Z0VoϷRbٿnJ1úwڷ5ۻxV6wwў!vᘿ,0@.푳Wگگڷ쿑ÐV0.P.M.󮸿da׆࢑@Iu80@HF80M2%ԜpcFHV@&045x-oNXڿ ÑpU5xqB00̉5w0_x-voqaoryxxO/x ڻw5p*P-v `$pәӨhP
 xL ڳڻ0r1.VO`OPw82g yt&gGb&ʋMLLMN-M-MіnMnn,MoNo`.N`Ud@nn-pop poo-N-> ?Қ.F  -p:o --.߱O8 oo : .joOt -pˍҦ.̕NM:-p V --ꁐwn,-<|`p`ٷp`p٫A81`:4~82ꍃh |p`IѦ׳00"z ~ (v0!VPٯڻVNuQA@ ? @qگ@r@:Pp@HxpwvwwvRV WN  w6`T4uuvV65v U4UvT4Tu߯UT T30 UuҢڷگ"P|R03
84\|82G87:3D_ҮVٷbZ1r1"ްVng0pؼ۫M   P쑠#e *! :\ P"ݯV0_p  PT ۯn* \pҞڿO_u@  >1LJ3F18vNˑiH4Ѐ@j@ҪVʑvٿVvb>иL~>xڧ6nu|Sښ*ΪqҁJ 0!"@۫ܯܫxRJ   ܳV80vu10 ~"dpv C80jP;4#ק\@Bva qAum80ʑG&&'zʍʉFPP@ (1 ٣v_&"ۜWgn@D@:5H1820VQJr1rv1`21z81vvP,"1َPڧ baqJԑd1-pcut TPAt3* Tɍ_gFpeÜD80p8pSE@302 TP"fPd"@4WN,@h65DڷP,4&2d-@د `QPPB2qf80O83zP$@DAC `ap畛:2BuOmŜᕜ@@x5556kV wNpVwZrv Vvvqp6|Na@|OC. Dalq.344U@w9Rp vn1"dqV" QAWC80@S٧E^@v2TأrTnɍhh@|rdj|@_˕  ʑʕNvTіȁVˍ;ۯfAJBT2OH>80P AF:3'Gpq5PwTn2@ @XP4WC4lQHa L`8oUʜpaHLAHi 
  ˝̑_ڳPP,@M@ps
|aА8A@2%pe!Ӣ۷#qpf!vplP`PRVtpxt*!P3*VB4S@sϷtAv ٧vpbBJ˝>1 ʙ˕̍ۻyXxwM$H|aрQ84ӢDbpqqBAⱊq٧URc*80w7x ̓6"зvpL,qjq:W Q5@^bfb4 ਑ja|A+g&83F85HiiWA8180 <2@몑D1˦̝ |x4ҚxP0/p`J쑹Rv~:1>0ʔ~̑ P3 0rx&(v wڻ $BdH2bQLT̖c"0,Ӛ.O4ЦuXa2q\؟AwD 82 IHV40n`A@>15<0@̡@ﷲ> oowˉOǻ> Jrrx@o̕80 D:LLF880w-.	ڄPTjQྒƒA۳80v~^u P04nvhG gHpD덶 $Ɛ˙을NN̕ѩMvʉ56655  UV V65VvvVNo_w2,3x  6:ҞU.V  2  
 , ڻ6--?UQF1pBprhF&
)oVˍwٿ󢱞.oo.,N-ϑʑVdP̾ˑ
q̕wU,녘o_$ L`4 ,`D 5ͥĀ 
	j0../Op.Ҧ-UN`Q4"Ѹ@r` (jb؞Vg%83
IPW썘0p 5ʁĠVxp߿ڳ3ڰ-Bˍ߮V4_̥
P@ ̝
"͝mܠ R ǹNwpD a`6H>	LV	6߿ˑx (	  Rpt4@w-DvuZ`v௖qp Set ט٧Ug|
~jX쑙@pV6oùd̍.Vw6ڷx
̑Ӫw@`ܑސ:Q QxN l`pV셜쀠L̕* ҂
z ӶV-=@سܐXatd@׮ףtn`pa80Ĝ|~HHOWrMJUђv`ʉ-v `򞸷nҞT1ˉ @!BANA
 z V`Vw5wO  8"F1@40 ЎL21	F8F ̡Q̙V-nPU_80982\?St @כ@򒰒V80hn`zT<4HihNwp.Mmm+L,MNm MMLm Lnߎ,,-Ɂ۱J ֐v` C#Z2pNpߐ -Nn`^1̝SEp2#&00Lb`ˍ@P̥V«@2 CAPpTO@ ht N0Ўh@&|xKH.oׯHذ`d?ثثR\T گږߘڳLz`oVҪҪx`@`@Ӫb.ʕ|Ü̕.Ӯ-^n3n,noƠjtb̰OEA`p͡\eˀpЖBx:p٦1800V؞ŀ*qttaѴPFG''An`Hr`H-woStدכןn.8ٟ>UòWNNN-ONN4ʁpOo-א:-NҞˁNOP$PVܠ.8P̥``󮫜@t	V0@626˼`_V4t^ 3uvvX9>2utі` 81'p`xNtt"أߟןtB3T٘4o67͑̑rXOVӦoʁx6Oÿ/.Pyw.2V|0 ڿ4ޒB˨Ӯ anA51_Uvrq@A:u״@@&ޜ刨Ō:1Ǥˍn֛m"ثx@ڮ0A1 5ٷ5$-WqױU@w2 VҒڳۻڷ|o&кvwxVӚRp̕VrЗ5wnB.43<=0 Q-SR#2 l`sR֧ώA%F':3DHLxpop`r`|ra`<XQBhQ|xᲮ덗ٷuدUwҞ-ЖuuM+ٻNW54v򚘳805.А-͝@4ı왪DBK:<Z9|Q QˉU *t@ٚᛕQգϊpaEF80䈜rcFpa80˚444vVv@uuTvu3v젘0 DpwpaovnΐnnM+КM ov`o.n"L np".MN@-`-o-.oN N
 $ -|a   ntbKȑˑ6,ҕب  p40";LP1p`80xp`rb:4~ˑ}i~onp N!n,XMߊʁ0=L`p $0; ށr2ԁ^ Ңj1L (uݛP ٳf>F."tB0!f05p`pAN:ZȟNa5 U5Vw um5I%|ઑ tfhh0UB@wʁVВ3Mf8 і4 5p끐ˑ둘`JpDأRҐ`ڧo۫۬pL`ˑ`𖧟 ڰٸT!`PhP۷۳ۯ۫ ò80
A@	aת̙*Х ˈˋ ˧fʁfGIAr`~80FHˉV55<Pvuv+ٯwNh0ØҎpҖ˅OˉˍvT`aϧPן (М HooҢv*@ `v:Ӧ& D3NWbJlr 0Hi@G81An`ȑҦ6qnҚhp,-N$Pv˯d"q81OˍўǸvPP bq|1XDj10x0 Drbo6860WÑL}`˝̦dH0:hF$Gpa䄤HIAiҢўnl`nɁњҞ. d`~4gʁ@0 Aʉ48ttІڧwB۰oOu3jqx-pb`t	D1: w `~R:x80B01)"1˘R2 ip 81Ҧx匨63-$PTS,3TSTu &4 43і4 oٿ-ˍvدpTa(pۧpA둱v ڷٷڷ ڻڻڻ"~" px! ǼIGI$na侜Ǒ̕Aߖ.@Q	6 h %4@rb.uS֧֟oN(*VpƲ*fj٫`$̍w7vpUzBvUAbaUT1"າp`OPˑ s -..̍X|૑!F|loyǐ`N_ٻ ȎpPT<v4 3 8=IiwB@32s?ttNJ4f؟Ttd@5ؖз``٣?STD ĐaBAp! 0frp̥xxó|v~㙫pvTs!b$0CקmoTD儞⨒JpohWiiʜ?S zqpק׮pBr֣ףSР2D̑f j1uj1aqđS`pfB p`Q̡.`T$Π= ˒| `6L˜˜ttP@tаTLAް ٟbpؠ +Tn'A:6(6qpc2SS 8000Zu v@R՛1֣s3-4u8.ףnR+j@P$n @J1P3ТdpR4@qvtx`hr!zPNЕ0ף'b FA3 Rrڣٛٟחf0LtM&@ 80:1'~HG6i4T tuuvvp$/̅W۷(ȠLPr`la(1ra`0 owpˍ̕ÖܧĮE@`˝^wò69Cm& * 80O@NٻدP2Av`pٟ`Lv-'
(80FڐiD쑀-.NXpmnMn nѢ-ޱpҮҪҦ6V 
W6WW wV
yOp͕40B X4yÒ͙. 
1^`a͕y0͑Py߿_BJiڢ گ0,ثدKu+%80䈨ja84~ԮhHIH	G&G&FF G	Hh HiZЈʝrұ ~ ~ʍʍ?w.  >10ѨB&pP1BD:~f<1@.RFVPZjO"V.&--,M,ɍ$yFČ~AH))JiVWW5߫ עӞ\ߞp/OO.ON._     띉ʅɁ-"vog6   T #\  *&b jЩ w1 X b ˑH pF  g&`` % ɍ&aApb
IӪ6 xwxxy _ ݺ ۿ ú
      ׿ ܿռ u, û  ܿ 
 8_ûJf   @úy xxWQQ66ђǪ|@)I((@(@II Jjjj@i
`a=蠑$&.../P.P0 / Pq QQrrRrrRsrQRR S	i
 8V, 6Pf  ԪԪGp n@X !x|a` !ڻڿxê^`?BtdaBFI>0JIjjJ  i
  iP, \itbx`
`coiͰ4Hai !th .iH p. Hni  hHp \qihhZ{   (Hip61ŨDvb~:0z`I 	,1jB0 J2͋j2:D  wrH 8
hr$`LН̳DX:#!GG&j`:c >4xc,1
|% H9	1 *!B&,!&#H5k

j~n⡫ ¬tH'60
A DLA>2 )L2I@ DX22 l#.X6%8BB$ q@("86a@1 X8C c$F#nb "pXro.>ZQ1,2.061t*1At$%!60140v:E B1 KT8? /8*7*Z37d9f5+67&0040 :2C zz4
XCrŐB3k$cJ `Hd4%>412245ji,{hD !`aC.3jrぃNf`CcƮ` 'l5a` Z􄜡j bHR ^`25h`DCr5      private ["_marker"];

_marker = createMarkerLocal ["mrk_lastSeen", [0, 0, 0]];
"mrk_lastSeen" setMarkerShapeLocal "ICON";
"mrk_lastSeen" setMarkerColorLocal "ColorOpfor";
"mrk_lastSeen" setMarkerAlphaLocal 0;
"mrk_lastSeen" setMarkerTypeLocal "hd_dot";
"mrk_lastSeen" setMarkerTextLocal (localize "str_GRAD_lastTransmission");

_markerprivate ["_marker"];

_marker = createMarkerLocal ["mrk_radioVeh", [0, 0, 0]];
"mrk_radioVeh" setMarkerShapeLocal "ELLIPSE";
"mrk_radioVeh" setMarkerColorLocal "ColorRed";
"mrk_radioVeh" setMarkerAlphaLocal 0;
"mrk_radioVeh" setMarkerSizeLocal [1, 1];
"mrk_radioVeh" setMarkerBrushLocal "SolidFull";

_markerprivate ["_marker"];

_marker = createMarkerLocal ["mrk_terminal", [0, 0, 0]];
"mrk_terminal" setMarkerShapeLocal "ELLIPSE";
"mrk_terminal" setMarkerColorLocal "ColorBlue";
"mrk_terminal" setMarkerAlphaLocal 0;
"mrk_terminal" setMarkerSizeLocal [1, 1];
"mrk_terminal" setMarkerBrushLocal "SolidFull";

_marker
// TODO NOT NEEDED?

params ["_pos"];

     
_name = format ["marker_radio_%1", str _pos];
_name = _name splitString " " joinString ""; // remove whitespaces

_marker = createMarkerLocal [_name, _pos];

_marker setMarkerShapeLocal "ICON";
_marker setMarkerTypeLocal "hd_flag";
_marker setMarkerAlphaLocal 1;
_marker setMarkerColorLocal "ColorOpfor";
_marker setMarkerTextLocal " 0 %";

_name2 = format ["marker_radio_%1_radiusInner", str _pos];
_name2 = _name2 splitString " " joinString ""; // remove whitespaces

_marker2 = createMarkerLocal [_name2, _pos];

_marker2 setMarkerShapeLocal "ELLIPSE";
_marker2 setMarkerSizeLocal [GRAD_MIN_DISTANCE_TO_RADIOPOSITION/2, GRAD_MIN_DISTANCE_TO_RADIOPOSITION/2];
_marker2 setMarkerAlphaLocal 0.25;
_marker2 setMarkerBrushLocal "Solid";
_marker2 setMarkerColorLocal "ColorBlack";


_name3 = format ["marker_radio_%1_radiusOuter", str _pos];
_name3 = _name3 splitString " " joinString ""; // remove whitespaces

_marker3 = createMarkerLocal [_name3, _pos];

_marker3 setMarkerShapeLocal "ELLIPSE";
_marker3 setMarkerSizeLocal [GRAD_MIN_DISTANCE_TO_RADIOPOSITION, GRAD_MIN_DISTANCE_TO_RADIOPOSITION];
_marker3 setMarkerAlphaLocal 0.3;
_marker3 setMarkerBrushLocal "Border";
_marker3 setMarkerColorLocal "ColorOpfor";

diag_log format ["creating marker %1 at %2", _name2, _pos];private ["_maxSize", "_size", "_animationSpeed", "_delayBetweenPulse"];

_maxSize = GRAD_SIGNAL_SIZE; // marker radius
_size = 0.01; // initial size
_animationSpeed = 0.02; // delay between growth steps
_delayBetweenPulse = GRAD_SIGNAL_DELAY;
_isRunning = player getVariable ["GRAD_tracking_radioVehAnimation",false];

if (!_isRunning) then {
     
     [
          _size,
          _maxSize,
          _animationSpeed,
          _delayBetweenPulse
     ] spawn GRAD_tracking_fnc_radioVehMarkerAnimation;
};private ["_maxSize", "_size", "_animationSpeed", "_delayBetweenPulse"];

_maxSize = GRAD_SIGNAL_SIZE*0.75; 
_size = 0.01;
_animationSpeed = 0.02;
_delayBetweenPulse = GRAD_SIGNAL_DELAY;
_isRunning = player getVariable ["GRAD_tracking_terminalAnimation",false];

if (!_isRunning) then {
     
     [
          _size,
          _maxSize,
          _animationSpeed,
          _delayBetweenPulse
     ] spawn GRAD_tracking_fnc_terminalMarkerAnimation;
};playSound "signal_lost";
if (playerSide == west) then {
     cutRsc ["gui_intel_paper_us_lost","PLAIN",0];
} else {
     cutRsc ["gui_intel_paper_rus_lost","PLAIN",0];
};player setVariable ["radioAttached",false]; // for use in detaching radio from radio truck

// create initial markers
mrk_lastSeen = call GRAD_tracking_fnc_createMarkerLastSeen;
mrk_radioVeh = call GRAD_tracking_fnc_createMarkerRadioVeh;
mrk_terminal = call GRAD_tracking_fnc_createMarkerTerminal;


_GRAD_RADIO_VEH_MARKER_POS_listener = {
     mrk_radioVeh setMarkerPosLocal (_this select 1);
};

_GRAD_RADIO_VEH_MARKER_HIDDEN_listener = {
	if (_this select 1) then {
		mrk_radioVeh setMarkerAlphaLocal 0;
	} else {
		[] call GRAD_tracking_fnc_ensureRadioVehMarkerAnimation;
	};
};

_GRAD_TERMINAL_MARKER_POS_listener = {
     mrk_terminal setMarkerPosLocal (_this select 1);
};

_GRAD_TERMINAL_MARKER_HIDDEN_listener = {
     if (_this select 1) then {
          mrk_terminal setMarkerAlphaLocal 0;
     } else {
          [] call GRAD_tracking_fnc_ensureTerminalMarkerAnimation;
     };
};

// initial set
grad_interval_nextWarning = 1;
grad_ticks_nextWarning = 0.2;

// add listener for intervals
call GRAD_tracking_fnc_listenerInterval;
call GRAD_tracking_fnc_listenerTicks;


// add listener for radio signal marker
"GRAD_RADIO_VEH_MARKER_POS" addPublicVariableEventHandler _GRAD_RADIO_VEH_MARKER_POS_listener;
"GRAD_RADIO_VEH_MARKER_HIDDEN" addPublicVariableEventHandler _GRAD_RADIO_VEH_MARKER_HIDDEN_listener;


// add listener for terminal signal marker
"GRAD_TERMINAL_MARKER_POS" addPublicVariableEventHandler _GRAD_TERMINAL_MARKER_POS_listener;
"GRAD_TERMINAL_MARKER_HIDDEN" addPublicVariableEventHandler _GRAD_TERMINAL_MARKER_HIDDEN_listener;


// runs in SP to emulate addPublicVariableEventHandler (which doesnt work in SP)
if (!isMultiplayer) then {
     [_GRAD_RADIO_VEH_MARKER_HIDDEN_listener, _GRAD_RADIO_VEH_MARKER_POS_listener, _GRAD_TERMINAL_MARKER_HIDDEN_listener, _GRAD_TERMINAL_MARKER_POS_listener] spawn {
          while {true} do {
               [0, GRAD_RADIO_VEH_MARKER_HIDDEN] call (_this select 0);
               [0, GRAD_RADIO_VEH_MARKER_POS] call (_this select 1);
               [0, GRAD_TERMINAL_MARKER_HIDDEN] call (_this select 2);
               [0, GRAD_TERMINAL_MARKER_POS] call (_this select 3);
               sleep 2;
          };
     };
};
#include "\z\ace\addons\main\script_component.hpp"

_GRAD_INTERVALS_DONE_listener = {

     _interval = _this select 1;

     _interval call GRAD_tracking_fnc_showIntervalWarning;
};

"GRAD_INTERVALS_DONE" addPublicVariableEventHandler _GRAD_INTERVALS_DONE_listener;

// runs in SP to emulate addPublicVariableEventHandler (which doesnt work in SP)
if (!isMultiplayer) then {
     _GRAD_INTERVALS_DONE_listener spawn {
          _cur = GRAD_INTERVALS_DONE;
          while {true} do {
               waitUntil {sleep 1; GRAD_INTERVALS_DONE > _cur};
               _cur = GRAD_INTERVALS_DONE;
               [0, GRAD_INTERVALS_DONE] call _this;
               sleep 3;
          };
     };
};
#include "\z\ace\addons\main\script_component.hpp"

_GRAD_TICKS_DONE_listener = {

     _ticks = _this select 1;

     _ticks call GRAD_tracking_fnc_showTicksWarning;
};

"GRAD_TICKS_DONE" addPublicVariableEventHandler _GRAD_TICKS_DONE_listener;

// runs in SP to emulate addPublicVariableEventHandler (which doesnt work in SP)
if (!isMultiplayer) then {
     _GRAD_TICKS_DONE_listener spawn {
          _cur = GRAD_TICKS_DONE;
          while {true} do {
               waitUntil {sleep 1; GRAD_TICKS_DONE > _cur};
               _cur = GRAD_TICKS_DONE;
               [0, GRAD_TICKS_DONE] call _this;
               sleep 3;
          };
     };
};private ["_pulseSpeed","_pulsesize","_pulseMaxSize", "_modifier"];

playSound "beep";
if (playerSide == west) then {
     cutRsc ["gui_intel_paper_us","PLAIN",0];
} else {
     cutRsc ["gui_intel_paper_rus","PLAIN",0];
};

player setVariable ["GRAD_tracking_radioVehAnimation", true];
_pulsesize = _this select 0;
_pulseMaxSize = _this select 1;
_pulseSpeed = _this select 2;
_pulseDelayBetween = _this select 3;
_modifier = 1;

mrk_radioVeh setMarkerAlphaLocal 1;

player setVariable ["BC_trackingMarker_pulseSize", _pulsesize];
player setVariable ["BC_trackingMarker_pulseMaxSize", _pulseMaxSize];

[{
     params ["_args", "_handle"];

     private _pulsesize = player getVariable ["BC_trackingMarker_pulseSize", 0];
     private _pulseMaxSize = player getVariable ["BC_trackingMarker_pulseMaxSize", 100];
     private _modifier = player getVariable ["BC_trackingMarker_modifier", 1];

     // systemChat (str _pulsesize + "  " + str _pulseMaxSize + "  " + str _modifier);

     if (_pulsesize > _pulseMaxSize) then {
         
          _pulsesize = 0.01;
          _modifier = 0.3;
          player setVariable ["BC_trackingMarker_pulseSize", _pulsesize];
          player setVariable ["BC_trackingMarker_modifier", _modifier];

     };
     

     _pulsesize = _pulsesize + _modifier;
     _modifier = _modifier + 0.1;
     mrk_radioVeh setMarkerAlphaLocal (1 - (_pulsesize/_pulseMaxSize));
     mrk_radioVeh setMarkerSizeLocal [_pulsesize, _pulsesize];

     if (GRAD_RADIO_VEH_MARKER_HIDDEN) exitWith {
          mrk_radioVeh setMarkerAlphaLocal 0;
          [_handle] call CBA_fnc_removePerFramehandler;
          player setVariable ["GRAD_tracking_radioVehAnimation", false];
          call GRAD_tracking_fnc_hintEndTransmission;
     };

     player setVariable ["BC_trackingMarker_pulseSize", _pulsesize];
     player setVariable ["BC_trackingMarker_modifier", _modifier];

     
}, 0, []] call CBA_fnc_addPerFramehandler;params ["_locationname", "_color", ["_text", ""]];

_markerName = format["marker_radio_%1", _locationname];
_markerName = _markerName splitString " " joinString ""; // remove whitespaces

/* diag_log format ["setting color and text for %1", _markerName]; */

_markerName setMarkerColorLocal _color;

if (!(_text isEqualTo "")) then {
     _markerName setMarkerTextLocal _text;
};#include "\z\ace\addons\main\script_component.hpp"

private ["_string"];

_interval = _this;

if (_interval >= grad_interval_nextWarning) then { // alle 10% die Warnung
     _string = 
          localize "str_GRAD_intervalReached_1" + " " +
          (str grad_interval_nextWarning) + " / " + (str GRAD_INTERVALS_NEEDED) + " " +
          localize "str_GRAD_intervalReached_2";
          
     [_string] call EFUNC(common,displayTextStructured);
     playSound "beep";
     grad_interval_nextWarning = grad_interval_nextWarning + 1;
};cutRsc ["gui_intel_paper_markerupdate","PLAIN",0];#include "\z\ace\addons\main\script_component.hpp"

params ["_side"];

private ["_string_1", "_string_2"];

if (playerSide == _side) then {
     
     _ticksRatio = GRAD_TICKS_DONE / GRAD_TICKS_NEEDED;
     

     _string_2 = " | Done: " + str GRAD_INTERVALS_DONE + "/" + str GRAD_INTERVALS_NEEDED;

     _string = " " + (str (round(_ticksRatio * 100))) + " " + localize "str_GRAD_transmissionTime_2" + _string_2;
     [_string] call EFUNC(common,displayTextStructured);
};#include "\z\ace\addons\main\script_component.hpp"

private ["_string_1"];

ticks = _this;
ticksRatio = ticks / (GRAD_TICKS_NEEDED * GRAD_INTERVALS_NEEDED);

if (ticksRatio >= grad_ticks_nextWarning) then { // alle 10% die Warnung
     
     _string_1 = localize "str_GRAD_transmissionTime_1";
     

     _string_2 = " | Done: " + str GRAD_INTERVALS_DONE + "/" + str GRAD_INTERVALS_NEEDED;

     _string = _string_1 + " " + (str (round(ticksRatio * 100))) + " " + localize "str_GRAD_transmissionTime_2" + _string_2;
     [_string] call EFUNC(common,displayTextStructured);
     playSound "beep";
     if (grad_ticks_nextWarning >= 0.8) then {
          if (grad_ticks_nextWarning >= 0.9) then {
               grad_ticks_nextWarning = grad_ticks_nextWarning + 0.05;
          } else {
               grad_ticks_nextWarning = grad_ticks_nextWarning + 0.2;
          };
     } else {
          grad_ticks_nextWarning = grad_ticks_nextWarning + 0.2;
     };
};_object = _this select 0;
_object setVariable ["TerminalStatus",1,true];
[_object,0] call BIS_fnc_dataTerminalAnimate;
GRAD_TERMINAL_ACTIVE = false;
publicVariable "GRAD_TERMINAL_ACTIVE";
(uiNamespace getVariable "BIS_RscMissionScreen") closeDisplay 1;
sleep 2;
_object setVariable ["TerminalStatus",0,true];
_object setVariable ["grad_replay_color", nil, true];private _terminal = missionNamespace getVariable ["GRAD_tracking_terminalObj", objNull];
private _radioVeh = missionNamespace getVariable ["GRAD_tracking_radioVehObj", objNull];


detach _terminal;
// safely put down
_terminal setVehiclePosition [_radioVeh getRelPos [3, 180], [], 3, "NONE"];


GRAD_TERMINAL = true; publicVariable "GRAD_TERMINAL";

[_terminal, true, [0,1.4,0], 270] remoteExec ["ace_dragging_fnc_setDraggable", 0, true];params ["_perc"];

if (playerSide != east) exitWith {}; // just to make sure, as playerside is initially bugged

_green = "<t size='2' color='#48c617'>%1 %%</t>";
_yellow = "<t size='2' color='#e9c138'>%1 %%</t>";
_red = "<t size='2' color='#c62317'>%1 %%</t>";

_result = '#ffffff';

if (_perc > 90) then { _result = _green; };
if (_perc <= 90) then { _result = _yellow; };
if (_perc <= 70) then { _result = _red; };

_string = "<t size='1.25' 'color='#ff0000'>%1</t>";

hintSilent parseText format[
     "<t size='1.25'>" + (localize "str_GRAD_radio_signalstrength") + "</t><br/>" + 
     _result + "<t size='1.25'> percent.</t>", _perc];
if (playerSide != east) exitWith {};

_GRAD_TERMINAL_DISTANCE_listener = {
	[GRAD_TERMINAL_DISTANCE] call GRAD_tracking_fnc_terminalDistanceHint;
};

"GRAD_TERMINAL_DISTANCE" addPublicVariableEventHandler _GRAD_TERMINAL_DISTANCE_listener;

// only works once, not really feasible in sp
if (!isMultiplayer) then {
     _GRAD_TERMINAL_DISTANCE_listener spawn {
          waitUntil {GRAD_TERMINAL_DISTANCE != 0};
          [0, GRAD_TERMINAL_DISTANCE] call _this;
     };
};
private ["_pulseSpeed","_pulsesize","_pulseMaxSize", "_modifier"];

playSound "beep";
if (playerSide == west) then {
     cutRsc ["gui_intel_paper_us","PLAIN",0];
} else {
     cutRsc ["gui_intel_paper_rus","PLAIN",0];
};

player setVariable ["GRAD_tracking_terminalAnimation", true];
_pulsesize = _this select 0;
_pulseMaxSize = _this select 1;
_pulseSpeed = _this select 2;
_pulseDelayBetween = _this select 3;
_modifier = 1;

mrk_terminal setMarkerAlphaLocal 1;

player setVariable ["BC_trackingMarker_terminalpulseSize", _pulsesize];
player setVariable ["BC_trackingMarker_terminalpulseMaxSize", _pulseMaxSize];

[{
     params ["_args", "_handle"];

     private _pulsesize = player getVariable ["BC_trackingMarker_terminalpulseSize", 0];
     private _pulseMaxSize = player getVariable ["BC_trackingMarker_terminalpulseMaxSize", 100];
     private _modifier = player getVariable ["BC_trackingMarker_terminalmodifier", 1];

     // systemChat (str _pulsesize + "  " + str _pulseMaxSize + "  " + str _modifier);

     if (_pulsesize > _pulseMaxSize) then {
         
          _pulsesize = 0.01;
          _modifier = 0.3;
          player setVariable ["BC_trackingMarker_terminalpulseSize", _pulsesize];
          player setVariable ["BC_trackingMarker_terminalmodifier", _modifier];

     };
     

     _pulsesize = _pulsesize + _modifier;
     _modifier = _modifier + 0.1;
     mrk_terminal setMarkerAlphaLocal (1 - (_pulsesize/_pulseMaxSize));
     mrk_terminal setMarkerSizeLocal [_pulsesize, _pulsesize];

     if (GRAD_TERMINAL_MARKER_HIDDEN) exitWith {
          mrk_terminal setMarkerAlphaLocal 0;
          [_handle] call CBA_fnc_removePerFramehandler;
          player setVariable ["GRAD_tracking_terminalAnimation", false];
          call GRAD_tracking_fnc_hintEndTransmission;
     };

     player setVariable ["BC_trackingMarker_terminalpulseSize", _pulsesize];
     player setVariable ["BC_trackingMarker_terminalmodifier", _modifier];

     
}, 0, []] call CBA_fnc_addPerFramehandler;_object = _this select 0;
_object setVariable ["TerminalStatus",1,true];
[_object,3] call BIS_fnc_dataTerminalAnimate;
sleep 2;
with uiNamespace do {
     disableserialization; //thank you so much tankbuster
    _object setObjectTextureGlobal [0,"grad_tracking\data\frequency_mockup.ogv"];
    _object setObjectTextureGlobal [1,"grad_tracking\data\frequency_mockup.ogv"];
    1100 cutRsc ["RscMissionScreen","PLAIN"];
    _scr = BIS_RscMissionScreen displayCtrl 1100;
    _scr ctrlSetPosition [-10,-10,0,0];
    _scr ctrlSetText "grad_tracking\data\frequency_mockup.ogv"; // _scr ctrlSetText "\A3\Missions_F_EPA\video\A_in_intro.ogv";
    _scr ctrlAddEventHandler ["VideoStopped", {
        (uiNamespace getVariable "BIS_RscMissionScreen") closeDisplay 1;
    }];
    _scr ctrlCommit 0;
    sleep 2;
    _object setObjectTextureGlobal [0,"grad_tracking\data\monitor_01.paa"];
    _object setObjectTextureGlobal [1,"grad_tracking\data\monitor_01.paa"];
};

[_object] spawn {

    _textures = [
        "grad_tracking\data\monitor_01.paa",
        "grad_tracking\data\monitor_02.paa"
    ];

    while {(_this select 0) getVariable ["TerminalStatus",-1] != 0} do {
        _texture1 = selectRandom _textures;
        _texture2 = selectRandom _textures;
        if (random 100 > 50) then {
            _texture1 = "grad_tracking\data\monitor_03.paa";
            _texture2 = "grad_tracking\data\monitor_03.paa";
        };
        [(_this select 0), "signal_distortion"] remoteExec ["say3D",0,false];
        (_this select 0) setObjectTextureGlobal [0,_texture1];
        (_this select 0) setObjectTextureGlobal [1,_texture2];
        sleep 6;
        // (_this select 0) setObjectTextureGlobal [4, "#(argb,8,8,3)color(1,0.2,0,1.0,co)"];
        sleep 1;
        // (_this select 0) setObjectTextureGlobal [0, "#(argb,8,8,3)color(1,1,1,1.0,co)"];
    };
};

GRAD_TERMINAL_ACTIVE = true;
publicVariable "GRAD_TERMINAL_ACTIVE";
_object setVariable ["TerminalStatus",2,true];
_object setVariable ["grad_replay_color", {GRAD_FUNKWAGEN_RED}, true];BLUFOR_CAPTURED = TRUE; publicVariable "BLUFOR_CAPTURED";TRANSMISSION_COMPLETE = true; publicVariable "TRANSMISSION_COMPLETE";

publicVariable "GRAD_TICKS_DONE";params ["_a", "_b"];

(_a && _b) || (!_a && !_b)params ["_center"];

_currentLocations = missionNamespace getVariable ["GRAD_tracking_radioPositions", []];
_finishedLocations = missionNamespace getVariable ["GRAD_tracking_radioPositionsFinished", []];
_addLocation = _currentLocations + [_center];

_anotherCloseBy = false;

{
     if (_x distance _center < GRAD_MIN_DISTANCE_TO_RADIOPOSITION) then {
          _anotherCloseBy = true;
     };
} forEach _currentLocations + _finishedLocations;

// rescue exit if flag is planted too close to other flags
if (_anotherCloseBy) exitWith { [0,0,0]; };

missionNamespace setVariable ["GRAD_tracking_radioPositions", _addLocation, true];
[_center] remoteExec ["GRAD_tracking_fnc_createRadioPositionMarkerLocal", east, true];

// execute on server to have reference points
if (isMultiplayer) then {
     [_center] call GRAD_tracking_fnc_createRadioPositionMarkerLocal;
};

_centerif (GRAD_INTERVALS_DONE >= GRAD_INTERVALS_NEEDED) then {
     100
} else {
     round (GRAD_TICKS_DONE/GRAD_TICKS_NEEDED*100)
};params ["_radioVeh", "_terminal", "_endCondition"];

private ["_result"]; 

_result = [1,0];

grad_tracking_currentLoop = 0;



GRAD_tracking_mainLoop = [{

    params ["_args", "_handle"];
    _args params ["_radioVeh", "_terminal", "_endCondition", "_result"];

    private [
        "_activeItem",
        "_isCloseEnough",
        "_currentLocation", 
        "_currentLocationName", 
        "_locationsCreated", 
        "_finishedCloserThanUnfinished"
    ];

    _isCloseEnough = false;
    _allLocations = missionNamespace getVariable ["GRAD_tracking_radioPositions", []];
    _locationsCreated = (count _allLocations) > 0;
    _finishedCloserThanUnfinished = false;
    _currentLocation = [];

     // who the fuck is sending a signal currently
    _radioVehIsSending = [_radioVeh] call GRAD_tracking_fnc_radioVehIsSending;    
    _terminalIsSending = [] call GRAD_tracking_fnc_terminalIsSending;

    if (_terminalIsSending) then {
        _activeItem = _terminal;
    } else {
        _activeItem = _radioVeh;
    };
    _finishedCloserThanUnfinished = [_activeItem] call GRAD_tracking_fnc_nearestIsFinished;

    

    // diag_log format ["_finishedCloserThanUnfinished is %1", _finishedCloserThanUnfinished];
   
    // nearestPosition wont work well with empty input
   

    if (!_finishedCloserThanUnfinished && _locationsCreated) then {
        _currentLocation =  [_allLocations, getPos _activeItem] call BIS_fnc_nearestPosition;
        
        if (_radioVehIsSending || _terminalIsSending) then {
            _isCloseEnough = _activeItem distance _currentLocation <= GRAD_MIN_DISTANCE_TO_RADIOPOSITION/2;
        };
    };

    if (_radioVehIsSending || _terminalIsSending && !_finishedCloserThanUnfinished) then {
        if (_currentLocation distance _activeItem > GRAD_MIN_DISTANCE_TO_RADIOPOSITION || !_locationsCreated) then {
            _currentLocation = [getPos _activeItem] call GRAD_tracking_fnc_createRadioPositionMarker;
        };
    };

    _currentLocationName = str _currentLocation;
    _currentActiveMarkerProgress = missionNameSpace getVariable [_currentLocationName, 0];
    GRAD_TICKS_DONE = _currentActiveMarkerProgress;
    // diag_log format ["currentLocationName is %1, _locationsCreated is %2", _currentLocation, _locationsCreated];
    
 

    /* diag_log format ["_radioVehIsCloseEnough is %1, _terminalIsCloseEnough is %2", _radioVehIsCloseEnough, _terminalIsCloseEnough];*/

    // make everything red which isnt in use
    _allOtherLocations = _allLocations;

    if (_isCloseEnough) then {
        _allOtherLocations = _allOtherLocations - [_currentLocation];

        if (count _allOtherLocations > 0) then {
            {
                [
                        str _x, 
                        "ColorOpfor", 
                        ""
                ] remoteExec ["GRAD_tracking_fnc_setMarkerColorAndText", east, false];
            } forEach _allOtherLocations;
        };
    };

    


    // _terminalPos = getPos _terminal;

    ///////////////////////////////

    

    // stop loop if necessary
    if (call _endCondition) exitWith { 
        [_handle] call CBA_fnc_removePerFrameHandler;

        [true, _radioVeh] call GRAD_tracking_fnc_setRadioVehMarkerStatus;
        [true, _terminal] call GRAD_tracking_fnc_setTerminalMarkerStatus;
    };

    // if all ticks and intervals are reached, end mission
    if (GRAD_INTERVALS_DONE >= GRAD_INTERVALS_NEEDED) exitWith {
        [_handle] call CBA_fnc_removePerFrameHandler;   // remove PFH

        [true, _radioVeh] call GRAD_tracking_fnc_setRadioVehMarkerStatus;
        [true, _terminal] call GRAD_tracking_fnc_setTerminalMarkerStatus;
        
        [] call GRAD_tracking_fnc_bluforSurrendered;
    };

    // if vehicles are destroyed, end mission
    if (!alive _radioVeh && {(_radioVeh getVariable ["detachableRadio", 0] != 2)} && {!CONQUER_MODE}) exitWith {
        [_handle] call CBA_fnc_removePerFrameHandler;
        
        [] call GRAD_tracking_fnc_bluforCaptured;    // call Mission End
        [true, _radioVeh] call GRAD_tracking_fnc_setRadioVehMarkerStatus;
        [true, _terminal] call GRAD_tracking_fnc_setTerminalMarkerStatus;      
    };

    if (!alive _radioVeh && {(_radioVeh getVariable ["detachableRadio", 0] != 2)} && {CONQUER_MODE}) exitWith {
        [_handle] call CBA_fnc_removePerFrameHandler;
        
        TRUCK_DESTROYED_NOT_CONQUERED = true;    // call Mission End
        publicVariable "TRUCK_DESTROYED_NOT_CONQUERED";
    };

    // check if cookoff needs fixing
    [_radioVeh] call GRAD_tracking_fnc_radioTruckCookoffFix;

   

    // check if radio truck is sending alone with terminal detached (he cant do that anymore)
    // GRAD_TERMINAL_ACTIVE
    if (GRAD_TERMINAL && !_terminalIsSending && _radioVehIsSending) then {
        _radioVehIsSending = false;
    };

    _bothAreSending = (_terminalIsSending && _radioVehIsSending);

    // add one tick  if only vehicle is sending
    if (_radioVehIsSending && !_bothAreSending && !GRAD_TERMINAL && !_finishedCloserThanUnfinished && _isCloseEnough) then {
           // diag_log ["entering onetick snippet radioveh"];

            GRAD_TICKS_DONE = GRAD_TICKS_DONE + 1;

            missionNameSpace setVariable [_currentLocationName, GRAD_TICKS_DONE, true];

            _ticksRatio = GRAD_TICKS_DONE/GRAD_TICKS_NEEDED;
        
            [
                _currentLocationName, 
                "ColorYellow", 
                (" " + (str (round(_ticksRatio * 100))) + " %")
            ] remoteExec ["GRAD_tracking_fnc_setMarkerColorAndText", east, false];
    };  
    

    // add only terminal is sending, add half a tick
    if (!_radioVehIsSending && _terminalIsSending && !_finishedCloserThanUnfinished && _isCloseEnough) then {
        // diag_log ["entering halftick snippet"];

        GRAD_TICKS_DONE = GRAD_TICKS_DONE + 0.5;

        missionNameSpace setVariable [_currentLocationName, GRAD_TICKS_DONE, true];

        _ticksRatio = GRAD_TICKS_DONE/GRAD_TICKS_NEEDED;

        [
            _currentLocationName, 
            "ColorYellow", 
            (" " + (str (round(_ticksRatio * 100))) + " %")
        ] remoteExec ["GRAD_tracking_fnc_setMarkerColorAndText", east, false];  
    };

    // if truck and terminal are sending, add terminal to truck distance dependent tick
    if (_bothAreSending && !_finishedCloserThanUnfinished && _isCloseEnough) then {
        // diag_log ["entering onetick snippet both"];
        _tempModifier = _result select 0;
        _tempDistance = _result select 1;

        _result = [_radioVeh distance _terminal] call GRAD_tracking_fnc_terminalDistanceToVehCalc;
        _modifier = _result select 0;
        _distanceToRadioTruck = _result select 1;
        
        // check if distance changed, if yes, broadcast for client hint
         [_modifier, _tempModifier, _tempDistance, _result] call GRAD_tracking_fnc_terminalCalculateDistanceModifier;
     
        GRAD_TICKS_DONE = GRAD_TICKS_DONE + (1 * _modifier);

        missionNameSpace setVariable [_currentLocationName, GRAD_TICKS_DONE, true];

        _ticksRatio = GRAD_TICKS_DONE/GRAD_TICKS_NEEDED;

   
        [
            _currentLocationName, 
            "ColorYellow", 
            (" " + (str (round(_ticksRatio * 100))) + " %")
        ] remoteExec ["GRAD_tracking_fnc_setMarkerColorAndText", east, false];
         
    };

    // toggle marker visbility
    _radioVehMarkerStatusChange = [!_radioVehIsSending, _radioVeh] call GRAD_tracking_fnc_setRadioVehMarkerStatus;
    _terminalMarkerStatusChange = [!_terminalIsSending, _terminal] call GRAD_tracking_fnc_setTerminalMarkerStatus;

    if (GRAD_TICKS_DONE >= GRAD_TICKS_NEEDED && (time > 10) && !_finishedCloserThanUnfinished) then {
            
        _finishedRadioLocations = missionNamespace getVariable ["GRAD_tracking_radioPositionsFinished", []];
        _finishedRadioLocations = _finishedRadioLocations + [_currentLocation];
        missionNamespace setVariable ["GRAD_tracking_radioPositionsFinished", _finishedRadioLocations, true];

        _allOtherLocations = _allLocations - [_currentLocation];
        missionNamespace setVariable ["GRAD_tracking_radioPositions", _allOtherLocations, true];

        GRAD_INTERVALS_DONE = GRAD_INTERVALS_DONE + 1;
        publicVariable "GRAD_INTERVALS_DONE";

        if (_locationsCreated) then {
            [
                _currentLocationName, 
                "ColorGreen",
                " DONE"
            ] remoteExec ["GRAD_tracking_fnc_setMarkerColorAndText", east, true];        
        };

        GRAD_TICKS_DONE = 0;
        publicVariable "GRAD_TICKS_DONE";
    };

    if (_terminalIsSending || _radioVehIsSending) then {

             if  (grad_tracking_currentLoop < GRAD_SIGNAL_DELAY && 
            (!_radioVehMarkerStatusChange || !_terminalMarkerStatusChange)) then {

            grad_tracking_currentLoop = grad_tracking_currentLoop + 1;

         } else {

             grad_tracking_currentLoop = 0; // reset delay for position update

             _radioVehX = getPos _radioVeh select 0;
             _radioVehY = getPos _radioVeh select 1;
             _markerPos = [_radioVehX, _radioVehY];

             if (!GRAD_TERMINAL_ACTIVE) then {
                 _markerPos call GRAD_tracking_fnc_setRadioVehMarkerPosition;
             } else {
                 _markerPos call GRAD_tracking_fnc_setRadioVehMarkerPosition;
                 [getPos _terminal select 0, getPos _terminal select 1] call GRAD_tracking_fnc_setTerminalMarkerPosition;
             };
         };
    };

},1,[_radioVeh, _terminal, _endCondition, _result]] call CBA_fnc_addPerFrameHandler;


GRAD_tracking_syncLoop = [{
    params ["_args", "_handle"];

    "mrk_spawn_blufor_land_1" setMarkerPos BLUFOR_TELEPORT_TARGET;
    "mrk_spawn_opfor_land_1" setMarkerPos OPFOR_TELEPORT_TARGET;
    publicVariable "GRAD_TICKS_DONE";

},5,[]] call CBA_fnc_addPerFrameHandler;
params ["_obj"];

private ["_nearestIsFinished"];

_pos = getPos _obj;
_nearestIsFinished = false;

_localRadioLocations = missionNamespace getVariable ["GRAD_tracking_radioPositions", []];
_finishedRadioLocations = missionNamespace getVariable ["GRAD_tracking_radioPositionsFinished", []];

_currentLocation = [_localRadioLocations, getPos _obj] call BIS_fnc_nearestPosition;
_finishedLocation = [_finishedRadioLocations, getPos _obj] call BIS_fnc_nearestPosition;

if (count _finishedRadioLocations > 0) then {
     _nearestIsFinished = _currentLocation distance _pos > _finishedLocation distance _pos;
};

// diag_log format ["_nearestIsFinished %1,  _currentLocation %2, _finishedLocation %3, _finishedRadioLocations %4", 
// _nearestIsFinished, _currentLocation, _finishedLocation, _finishedRadioLocations];

_nearestIsFinishedparams ["_radioVeh"];

if (typeOf _radioVeh == "rhs_gaz66_r142_vv") then {
    if (_radioVeh getHit "karoserie" == 1 && _radioVeh getHit "motor" == 1 && !(_radioVeh getVariable ["isCookingOff", false])) then {
        _radioVeh setVariable ["isCookingOff", true, true];
        [_radioVeh] remoteExec ["ace_cookoff_fnc_cookOff",_radioVeh,false];
    };
};params ["_radiotruck"];

_radiotruck setVariable ["GRAD_isAnimating", true, true];

private _fuel = fuel _radiotruck;
private _owner = owner _radiotruck;
private _canMove = _radiotruck getVariable ["BC_canMoveDuringTransmission", false];

if (typeOf _radiotruck == "rhs_gaz66_r142_vv") exitWith {
	[_radiotruck, 1] spawn rhs_fnc_gaz66_radioDeploy;
    sleep 3;
    _radiotruck setVariable ["GRAD_isDeployed", true, true];
    _radiotruck setVariable ["GRAD_isAnimating", false, true];
};

_radiotruck setVariable ["GRAD_fuel", _fuel, true];
[_radiotruck, 0] remoteExecCall ["setFuel", _owner];

sleep 3;
_radiotruck setVariable ["GRAD_isDeployed", true, true];
_radiotruck setVariable ["GRAD_isAnimating", false, true];
_radiotruck setVariable ["tf_range", 50000, true]; // for vehicles other than rhs gaz66

/*
private _antennaOffset = _radiotruck getVariable ["BC_antennaOffset", []];
if (count _antennaOffset > 0) then {
    private _antenna = "Land_SatelliteAntenna_01_F" createVehicle [0,0,0];
    _antenna attachTo [_radiotruck, _antennaOffset];
    _radiotruck setVariable ["BC_antennaObj", _antenna, true];
};
*/

if (_canMove) then {
	[_radiotruck, _fuel] remoteExecCall ["setFuel", _owner];
};
params ["_radiotruck"];

_radiotruck setVariable ["GRAD_isAnimating", true, true];

if (typeOf _radiotruck == "rhs_gaz66_r142_vv") exitWith {
	[_radiotruck, 0] spawn rhs_fnc_gaz66_radioDeploy;
    sleep 3;
    _radiotruck setVariable ["GRAD_isDeployed", false, true];
    _radiotruck setVariable ["GRAD_isAnimating", false, true];
};
_radiotruck setVariable ["tf_range", 0, true]; // for vehicles other than rhs radio truck


sleep 3;
_radiotruck setVariable ["GRAD_isDeployed", false, true];
_radiotruck setVariable ["GRAD_isAnimating", false, true];


_fuel = _radiotruck getVariable ["GRAD_fuel", 1];
[_radiotruck, _fuel] remoteExecCall ["setFuel", owner _radiotruck];

// [_radiotruck, true] remoteExec ["engineOn", owner _radiotruck];

/*
private _antenna = _radiotruck getVariable ["BC_antennaObj", objNull];
if (!isNull _antenna) then {
    detach _antenna;
    deleteVehicle _antenna;
};
*/
params ["_obj"];

// rhs gaz66 radio truck and GM command BTR
(
	((_obj getVariable ["tf_range",0]) == 50000) && 
	alive _obj
)params ["_pos", "_size"];

private ["_posX", "_posY", "_randomElement"];

_randomElement = (_size) - (random (_size/2));
_posX = _pos select 0;
_posY = _pos select 1;

if (random 2>1) then {
     _posX = _posX + _randomElement;
} else {
     _posX = _posX - _randomElement;
};

if (random 2>1) then {
     _posY = _posY + _randomElement;
} else {
     _posY = _posY - _randomElement;
};

[_posX, _posY]_prev = GRAD_RADIO_VEH_MARKER_POS;
GRAD_RADIO_VEH_MARKER_POS = _this;
if ((_prev select 0 != GRAD_RADIO_VEH_MARKER_POS select 0) ||
      (_prev select 1 != GRAD_RADIO_VEH_MARKER_POS select 1)) then {
      publicVariable "GRAD_RADIO_VEH_MARKER_POS";
};params ["_bool", "_radioVeh"];


if (_bool) then {
     if (vehicle _radioVeh getVariable ["GRAD_publicTransport_isTaxi", false] ||
     vehicle _radioVeh getVariable ["GRAD_publicTransport_isBus", false]) exitWith {};
     GRAD_SIGNAL_DELAY = 3;
     GRAD_SIGNAL_DELAY_RANDOM = 3;
     GRAD_SIGNAL_SIZE = 25;
     publicVariable "GRAD_SIGNAL_SIZE";

} else {

     GRAD_SIGNAL_DELAY = 30;
     GRAD_SIGNAL_DELAY_RANDOM = 30;
     GRAD_SIGNAL_SIZE = 250;
     publicVariable "GRAD_SIGNAL_SIZE";

};params ["_bool", "_radioVeh"];

_previous = GRAD_RADIO_VEH_MARKER_HIDDEN;
GRAD_RADIO_VEH_MARKER_HIDDEN = _bool;

if (     
     MISSION_COMPLETED ||
     !alive _radioVeh ||
     missionnamespace getVariable ["GRAD_replay_isRunning", false]
) then {
     GRAD_RADIO_VEH_MARKER_HIDDEN = true;
     publicVariable "GRAD_RADIO_VEH_MARKER_HIDDEN";
};

if (!([GRAD_RADIO_VEH_MARKER_HIDDEN, _previous] call GRAD_tracking_fnc_booleanEqual)) then {
      publicVariable "GRAD_RADIO_VEH_MARKER_HIDDEN";
};

false_prev = GRAD_TERMINAL_MARKER_POS;
GRAD_TERMINAL_MARKER_POS = _this;
if ((_prev select 0 != GRAD_TERMINAL_MARKER_POS select 0) ||
      (_prev select 1 != GRAD_TERMINAL_MARKER_POS select 1)) then {
      publicVariable "GRAD_TERMINAL_MARKER_POS";
};params ["_bool", "_radioTerminal"];

_previous = GRAD_TERMINAL_MARKER_HIDDEN;
GRAD_TERMINAL_MARKER_HIDDEN = _bool;

_return = false;

if (
     MISSION_COMPLETED || GRAD_TERMINAL_DESTROYED ||
     missionnamespace getVariable ["GRAD_replay_isRunning", false]
     ) exitWith {
     GRAD_TERMINAL_MARKER_HIDDEN = true;
     publicVariable "GRAD_TERMINAL_MARKER_HIDDEN";
};

if (!([GRAD_TERMINAL_MARKER_HIDDEN, _previous] call GRAD_tracking_fnc_booleanEqual)) then {
     publicVariable "GRAD_TERMINAL_MARKER_HIDDEN";
};

_returndiag_log format ["debug: someone checks transmission progress manually."];params ["_terminal", "_radioVeh"];

/*
private _offset = _radioVeh getVariable ["BC_terminal_position_offset", [0,-2,0]];
private _vectorDirAndUp = _radioVeh getVariable ["BC_terminal_position_vectorDirAndUp", [[0,0,0],[0,0,0]]];
*/

_terminal attachTo [_radioVeh,[0.3,-2.85,0.7]];
_terminal setVectorDirAndUp [[0,1,0.3],[0,0,0.7]];

[_terminal, false, [0,1.4,0], 270] remoteExec ["ace_dragging_fnc_setDraggable", 0, true];
_terminal setVariable ["TerminalStatus",0,true];

_terminal setObjectTextureGlobal [0, "#(argb,8,8,3)color(0,0,0,0.0,co)"];
_terminal setObjectTextureGlobal [1, "#(argb,8,8,3)color(0,0,0,0.0,co)"];
_terminal setObjectTextureGlobal [2, "#(argb,8,8,3)color(0,0,0,0.0,co)"];
_terminal setObjectTextureGlobal [3, "#(argb,8,8,3)color(0,0,0,0.0,co)"];
_terminal setObjectTextureGlobal [4, "#(argb,8,8,3)color(0,0,0,0.0,co)"];

_radioVeh setVariable ["detachableRadio", 1, true];
/* publicVariable "_terminal";*/
// what did i intent to do here

_terminal hideObjectGlobal false;
params ["_modifier", "_tempModifier", "_tempDistance", "_result"];
private _distanceToRadioVeh = _result select 1;

// check if distance changed, if yes, broadcast for client hint
if ((_distanceToRadioVeh != _tempDistance) || (_modifier != _tempModifier)) then {
    GRAD_TERMINAL_DISTANCE = _modifier * 100;
    publicVariableServer "GRAD_TERMINAL_DISTANCE";
};
_GRAD_TERMINAL_DISTANCE_listener = {
    publicVariable "GRAD_TERMINAL_DISTANCE";

   };

"GRAD_TERMINAL_DISTANCE" addPublicVariableEventhandler _GRAD_TERMINAL_DISTANCE_listener;params ["_distance"];

_mod = 1;
if ((_distance > 50) && (_distance < 500)) then {
    _substractor = (_distance)/1000;
    // round value
    _substractor = _substractor * 100;
    _substractor = floor (_substractor);
    _substractor = _substractor / 100;

    _mod = _mod - _substractor;
};
if (_distance >= 500) then {
    _mod = 0.5;
};

[_mod,_distance]
(GRAD_TERMINAL_ACTIVE)params ["_radioVeh", "_terminal"];

GRAD_TICKS_DONE = 0;

if (isServer) then {

     GRAD_TICKS_NEEDED = ["GRAD_TICKS_NEEDED", 2700] call BIS_fnc_getParamValue;
     publicVariable "GRAD_TICKS_NEEDED"; // clients need to know this

     GRAD_INTERVALS_NEEDED = ["GRAD_INTERVALS_NEEDED", 1] call BIS_fnc_getParamValue;
     publicVariable "GRAD_INTERVALS_NEEDED"; // clients need to know this

     GRAD_INTERVALS_DONE = 0;
     publicVariable "GRAD_INTERVALS_DONE";

     // radio box related
     GRAD_TERMINAL = false;
     publicVariable "GRAD_TERMINAL";
     GRAD_TERMINAL_ACTIVE = false;
     publicVariable "GRAD_TERMINAL_ACTIVE";

     GRAD_TERMINAL_MARKER_HIDDEN = true;
     publicVariable "GRAD_TERMINAL_MARKER_HIDDEN";
     GRAD_TERMINAL_MARKER_POS = [0,0];
     publicVariable "GRAD_TERMINAL_MARKER_POS";

     GRAD_TERMINAL_DISTANCE = 0;
     publicVariable "GRAD_TERMINAL_DISTANCE";
     GRAD_TERMINAL_DESTROYED = false;
     publicVariable "GRAD_TERMINAL_DESTROYED";

     // radio VEHICLE related
     GRAD_RADIO_VEH_MARKER_HIDDEN = true;
     publicVariable "GRAD_RADIO_VEH_MARKER_HIDDEN";
     GRAD_RADIO_VEH_MARKER_POS = [0,0];
     publicVariable "GRAD_RADIO_VEH_MARKER_POS";

     GRAD_SIGNAL_DELAY = 1;
     publicVariable "GRAD_SIGNAL_DELAY";

     

     GRAD_MIN_DISTANCE_TO_RADIOPOSITION = ["GRAD_MIN_DISTANCE_TO_RADIOPOSITION", 1000] call BIS_fnc_getParamValue;;

     GRAD_SIGNAL_SIZE = GRAD_MIN_DISTANCE_TO_RADIOPOSITION/2;
     publicVariable "GRAD_SIGNAL_SIZE";

     if (GRAD_INTERVALS_NEEDED isEqualTo 1) then { GRAD_MIN_DISTANCE_TO_RADIOPOSITION = 100000; };
     publicVariable "GRAD_MIN_DISTANCE_TO_RADIOPOSITION";
     

     GRAD_FUNKWAGEN_RED = [1, 0, 0, 1];

     sleep 2;

     [
          _radioVeh,
          _terminal,
          {MISSION_COMPLETED}
     ] call GRAD_tracking_fnc_mainLoop;

     [] call GRAD_tracking_fnc_terminalDistanceListenerServer;
};

if (hasInterface) then {

     [] call GRAD_tracking_fnc_initClient;
     [] call GRAD_tracking_fnc_terminalDistanceListenerClient;
};
#include "\z\ace\addons\main\script_component.hpp"
#include "\z\ace\addons\main\script_macros.hpp"

enableDynamicSimulationSystem true;

// optimize for PVP
disableRemoteSensors true; // disable ai combat ability

// Initialize Loading of Streamator
if !(isNil "CLib_fnc_loadModules") then { call CLib_fnc_loadModules; };

/*
if (BC_IS_WOODLAND) then {
// us vs russians
     ["BLU_F", "US_Woodland"] call GRAD_Loadout_fnc_FactionSetLoadout;
     ["OPF_F", "RU_Woodland"] call GRAD_Loadout_fnc_FactionSetLoadout;
} else {
     ["BLU_F", "US_Desert"] call GRAD_Loadout_fnc_FactionSetLoadout;
     ["OPF_F", "RU_Desert"] call GRAD_Loadout_fnc_FactionSetLoadout;
};
*/

// call compile preprocessfile "BC_loadouts\setLoadoutRandomization.sqf";
waitUntil {!isNil "JIP_TIME_ALLOWED"};
waitUntil {!isNil "CONQUER_MODE"};
waitUntil {!isNil "PREPARATION_TIME"};
jipTime = JIP_TIME_ALLOWED;

waitUntil {!isNil "GRAD_REPLAY_PRECISION"};

if (hasInterface) then {
     call compile preprocessfile "node_modules\shk_pos\functions\shk_pos_init.sqf";

     /* SERVER TIME is taken from server pv */
     checkJIP = {
          if ((OPFOR_TELEPORT_TARGET select 0 != 0) && didJIP && CBA_missionTime > jipTime) then {
               player setDamage 1;
          } else {
               if (!didJIP) exitWith {};
          
               BIS_fnc_establishingShot_skip = true; // just in case its necessary
          };
     };

     [] call BC_setup_fnc_addBriefing;

     waitUntil {!isNil "OPFOR_TELEPORT_TARGET"};
     waitUntil {!isNil "BLUFOR_TELEPORT_TARGET"};

     [[worldSize/2,worldSize/2,0],"",1500] spawn BC_setup_fnc_establishingShot;

};
[] call BC_setup_fnc_initialSpawnClient;

["InitializePlayer", [player, true]] call BIS_fnc_dynamicGroups;
[] call BC_setup_fnc_addInteractions; // add interactions

player addEventHandler ["handleRating", {
    0
}];

// disable spectating the fucking civs
[[west, east], [civilian, independent]] call ace_spectator_fnc_updateSides;#include "\z\ace\addons\main\script_component.hpp"
#include "\z\ace\addons\main\script_macros.hpp"

call compile preprocessfile "node_modules\shk_pos\functions\shk_pos_init.sqf"; // absolute basic!

DEBUG_MODE = false;
if (!isMultiplayer) then {
  DEBUG_MODE = true;
};
publicVariable "DEBUG_MODE";


[] call BC_setup_fnc_initialSpawnServer;

addMissionEventHandler ["HandleDisconnect",{
    params ["_unit", "_id", "_uid", "_name"];

    if (_unit getVariable ["BC_spawnSelector", false] && !OPFOR_TELEPORTED) then {
        private _spawnSelector = [east, _unit] call BC_setup_fnc_getHighestRankOfSide;
        _spawnSelector setVariable ["BC_spawnSelector", true];
        [] remoteExec ["BC_setup_fnc_openSpawnDialog", _spawnSelector];
    };
    if (_unit getVariable ["BC_potentToBuy", false]) then {
        private _potentToBuy = [side _unit, _unit] call BC_setup_fnc_getHighestRankOfSide;
        _potentToBuy setVariable ["BC_potentToBuy", true, true];
        ["The Commander disconnected. You are now authorized to buy."] remoteExec ["hint", _unit];
    };
    if (_unit getVariable ["GRAD_loadout_applicationCount",0] < 1) then {
        deleteVehicle _unit;
    };
    false
}];

// read parameters
TIME_OF_DAY = ["TIME_OF_DAY", 10] call BIS_fnc_getParamValue;
publicVariable "TIME_OF_DAY";

WEATHER_OVERCAST = ["WEATHER_OVERCAST", -1] call BIS_fnc_getParamValue;
publicVariable "WEATHER_OVERCAST";

WEATHER_FOG = ["WEATHER_FOG", -1] call BIS_fnc_getParamValue;
publicVariable "WEATHER_FOG";

WEATHER_WIND = ["WEATHER_WIND", -1] call BIS_fnc_getParamValue;
publicVariable "WEATHER_WIND";

BLUFOR_SPAWN_DISTANCE = ["BLUFOR_SPAWN_DISTANCE", 3000] call BIS_fnc_getParamValue;
publicVariable "BLUFOR_SPAWN_DISTANCE";

TIME_ACCELERATION = ["TIME_ACCELERATION", 1] call BIS_fnc_getParamValue;

GRAD_REPLAY_PRECISION = ["GRAD_REPLAY_PRECISION", 4] call BIS_fnc_getParamValue;
publicVariable "GRAD_REPLAY_PRECISION"; // clients need to know this

AR3PLAY_ENABLE_REPLAY = (["AR3PLAY_ENABLE_REPLAY", 0] call BIS_fnc_getParamValue) == 1;
AR3PLAY_IS_STREAMABLE = (["AR3PLAY_IS_STREAMABLE", 0] call BIS_fnc_getParamValue) == 1;

JIP_TIME_ALLOWED = ["JIP_TIME_ALLOWED", 999999] call BIS_fnc_getParamValue;
publicVariable "JIP_TIME_ALLOWED"; // clients need to know this


// todo activate grad civs

PREPARATION_TIME = [3, ["PREPARATION_TIME", 0] call BIS_fnc_getParamValue] select (!DEBUG_MODE);
publicVariable "PREPARATION_TIME";

TRUCK_DESTROYED_NOT_CONQUERED = false;
publicVariable "TRUCK_DESTROYED_NOT_CONQUERED";


setCustomWeather = {

  // get random shit
  if (str WEATHER_OVERCAST isEqualTo "-1") then {
    WEATHER_OVERCAST = [[
    0.0,
    0.1,
    0.2,
    0.3,
    0.4,
    0.5,
    0.6,
    0.7,
    0.8,
    0.9,
    1.0
    ], [
    0.3,
    0.3,
    0.1,
    0.1,
    0.05,
    0.025,
    0.025,
    0.025,
    0.025,
    0.025,
    0.025]] call BIS_fnc_selectRandomWeighted;
  };

  if (str WEATHER_FOG isEqualTo "-1") then {
    WEATHER_FOG = [[
    0.0,
    0.05,
    0.1,
    0.2,
    0.3,
    0.4,
    0.5,
    0.6,
    0.7,
    0.8,
    1.0
    ], [
    0.5,
    0.3,
    0.1,
    0.075,
    0.01,
    0.005,
    0.005,
    0.004,
    0.003,
    0.002,
    0.001]] call BIS_fnc_selectRandomWeighted;
  };

  if (str WEATHER_WIND isEqualTo "-1") then {
    WEATHER_WIND = (random 2) - (random 4);
  };

  diag_log format ["BC setup: setting wind to %1", WEATHER_WIND];

  // basics
  10 setOvercast WEATHER_OVERCAST;
  10 setFog WEATHER_FOG;
  setWind [WEATHER_WIND, WEATHER_WIND, true];
  10 setWindForce 0.1;

  // add specials dependent on values
  if (WEATHER_OVERCAST > 0.5 && WEATHER_OVERCAST < 0.8) then {
    10 setRain 0.5;
    10 setRainbow 0.8;
  };

  if (WEATHER_OVERCAST >= 0.8) then {
    10 setRain 1;
    10 setLightnings 0.8;
  };

  // enforce changes
  forceWeatherChange;
};


// allow view distance to be up to 10k

// set to full moon date
setDate [2015, 2, 1, TIME_OF_DAY, 1]; // set to 5:00 for perfect full moon

call setCustomWeather;

// set time acceleration
setTimeMultiplier TIME_ACCELERATION;

["Initialize", [true]] call BIS_fnc_dynamicGroups;

MISSION_STARTED = false;
publicVariable "MISSION_STARTED";

BLUFOR_ELIMINATED = false;
publicVariable "BLUFOR_ELIMINATED";
OPFOR_ELIMINATED = false;
publicVariable "OPFOR_ELIMINATED";

BLUFOR_CAPTURED = false;
publicVariable "BLUFOR_CAPTURED";

TRANSMISSION_COMPLETE = false;
publicVariable "TRANSMISSION_COMPLETE";

MISSION_COMPLETED = false;
publicVariable "MISSION_COMPLETED";


OPFOR_TELEPORT_TARGET = [0, 0];
publicVariable "OPFOR_TELEPORT_TARGET";
BLUFOR_TELEPORT_TARGET = [0, 0];
publicVariable "BLUFOR_TELEPORT_TARGET";

VEHICLE_ORDERED_WEST = [false,0];
publicVariable "VEHICLE_ORDERED_WEST";
VEHICLE_ORDERED_EAST = [false,0];
publicVariable "VEHICLE_ORDERED_EAST";

BUY_OPTION_BLUFOR = true;
publicVariable "BUY_OPTION_BLUFOR";
BUY_OPTION_OPFOR = true;
publicVariable "BUY_OPTION_OPFOR";

OPFOR_TELEPORTED = false;
publicVariable "OPFOR_TELEPORTED";
BLUFOR_TELEPORTED = false;
publicVariable "BLUFOR_TELEPORTED";



// civilian traffic
CIV_KILLED = [[0,0,0],objNull];
publicVariable "CIV_KILLED";
CIV_GUNFIGHT_POS = [0,0,0];
publicVariable "CIV_GUNFIGHT_POS";

// replay
REPLAY_FINISHED = false;
publicVariable "REPLAY_FINISHED";
REPLAY_SPEED = 0.05;
REPLAY_STEPS_PER_TICK = 1;


// spectator side center
SPEC_CENTER = createCenter independent;
SPEC_GROUP = createGroup [SPEC_CENTER, false];
publicVariable "SPEC_GROUP";



[] call grad_civMarker_fnc_civGunfightListener;
[] call grad_civMarker_fnc_civKilledListener;

// let highest player rank choose spawn
private _spawnSelector = [east] call BC_setup_fnc_getHighestRankOfSide;
_spawnSelector setVariable ["BC_spawnSelector", true];
[] remoteExec ["BC_setup_fnc_openSpawnDialog", _spawnSelector];

/*
[] spawn {
    waitUntil {
      BLUFOR_TELEPORT_TARGET select 0 != 0
    };
  {
      if (!isPlayer _x) then {
        sleep 0.5;
        _x setVariable ["BIS_noCoreConversations", true];
        [_x] call BC_setup_fnc_teleportAI;
      };
  } forEach allUnits;
};
*/

diag_log format ["setup: server done"];
Sounds
====
Cash Register by Kiddpark: https://freesound.org/people/kiddpark/

====
Design by nomisum

Contributors:
Fusselwurm
McDiod
Salbei
Ainer


====
MIT License

Copyright (c) 2018 Gruppe Adler

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
// brazenly stolen from 1tac
#define LIST_2(var1) var1,var1
#define LIST_3(var1) var1,var1,var1
#define LIST_4(var1) var1,var1,var1,var1
#define LIST_5(var1) var1,var1,var1,var1,var1
#define LIST_6(var1) var1,var1,var1,var1,var1,var1
#define LIST_7(var1) var1,var1,var1,var1,var1,var1,var1
#define LIST_8(var1) var1,var1,var1,var1,var1,var1,var1,var1
#define LIST_9(var1) var1,var1,var1,var1,var1,var1,var1,var1,var1
#define LIST_10(var1) var1,var1,var1,var1,var1,var1,var1,var1,var1,var1
#define LIST_11(var1) var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1
#define LIST_12(var1) var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1
#define LIST_13(var1) var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1
#define LIST_14(var1) var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1
#define LIST_15(var1) var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1
#define LIST_16(var1) var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1
#define LIST_17(var1) var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1
#define LIST_18(var1) var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1
#define LIST_19(var1) var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1
#define LIST_20(var1) var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1,var1version=54;
class EditorData
{
	moveGridStep=1;
	angleGridStep=0.2617994;
	scaleGridStep=1;
	autoGroupingDist=10;
	toggles=1;
	class ItemIDProvider
	{
		nextID=1624;
	};
	class MarkerIDProvider
	{
		nextID=16;
	};
	class Camera
	{
		pos[]={1733.7382,33.589039,5848.4458};
		dir[]={0.44633555,-0.42495474,0.78752667};
		up[]={0.20953308,0.90521455,0.36970589};
		aside[]={0.86998886,0,-0.4930715};
	};
};
binarizationWanted=0;
sourceName="TvT_BreakingContact";
addons[]=
{
	"A3_Ui_F",
	"A3_Data_F_Exp_A_Virtual",
	"A3_Modules_F_Curator_Curator",
	"A3_Characters_F",
	"A3_Characters_F_Mark",
	"ace_explosives",
	"A3_Characters_F_Tank",
	"A3_Data_F_Curator_Virtual"
};
class AddonsMetaData
{
	class List
	{
		items=9;
		class Item0
		{
			className="A3_Ui_F";
			name="Arma 3 - User Interface";
			author="Bohemia Interactive";
			url="https://www.arma3.com";
		};
		class Item1
		{
			className="A3_Data_F_Exp_A";
			name="Arma 3 Nexus Update - Main Configuration";
			author="Bohemia Interactive";
			url="https://www.arma3.com";
		};
		class Item2
		{
			className="A3_Modules_F_Curator";
			name="Arma 3 Zeus Update - Scripted Modules";
			author="Bohemia Interactive";
			url="https://www.arma3.com";
		};
		class Item3
		{
			className="A3_Characters_F";
			name="Arma 3 Alpha - Characters and Clothing";
			author="Bohemia Interactive";
			url="https://www.arma3.com";
		};
		class Item4
		{
			className="A3_Characters_F_Mark";
			name="Arma 3 Marksmen - Characters and Clothing";
			author="Bohemia Interactive";
			url="https://www.arma3.com";
		};
		class Item5
		{
			className="ace_explosives";
			name="ACE3 - Explosives";
			author="ACE-Team";
			url="http://ace3mod.com/";
		};
		class Item6
		{
			className="ace_nouniformrestrictions";
			name="ACE3 - No Uniform Restrictions";
			author="ACE-Team";
			url="http://ace3mod.com/";
		};
		class Item7
		{
			className="A3_Characters_F_Tank";
			name="Arma 3 Tank - Characters and Clothing";
			author="Bohemia Interactive";
			url="https://www.arma3.com";
		};
		class Item8
		{
			className="A3_Data_F_Curator";
			name="Arma 3 Zeus Update - Main Configuration";
			author="Bohemia Interactive";
			url="https://www.arma3.com";
		};
	};
};
class DynamicSimulation
{
	class EnableRadiuses
	{
		EmptyVehicle=100;
		Vehicle=450;
		Group=150;
	};
	class EnableRadiuseCoefs
	{
		IsMoving=3;
	};
};
randomSeed=6764181;
class ScenarioData
{
	author="nomisum";
	wreckRemovalMaxTime=3600;
};
class CustomAttributes
{
	class Category0
	{
		name="Scenario";
		class Attribute0
		{
			property="cba_settings_hash";
			expression="false";
			class Value
			{
				class data
				{
					class type
					{
						type[]=
						{
							"ARRAY"
						};
					};
					class value
					{
						items=4;
						class Item0
						{
							class data
							{
								class type
								{
									type[]=
									{
										"STRING"
									};
								};
								value="#CBA_HASH#";
							};
						};
						class Item1
						{
							class data
							{
								class type
								{
									type[]=
									{
										"ARRAY"
									};
								};
								class value
								{
									items=58;
									class Item0
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_finger_enabled";
										};
									};
									class Item1
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_interaction_disablenegativerating";
										};
									};
									class Item2
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_bleedingcoefficient";
										};
									};
									class Item3
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_enableadvancedwounds";
										};
									};
									class Item4
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_preventinstadeath";
										};
									};
									class Item5
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_enablerevive";
										};
									};
									class Item6
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_maxrevivetime";
										};
									};
									class Item7
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_littersimulationdetail";
										};
									};
									class Item8
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_littercleanupdelay";
										};
									};
									class Item9
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_uselocation_pak";
										};
									};
									class Item10
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_uselocation_surgicalkit";
										};
									};
									class Item11
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_usecondition_pak";
										};
									};
									class Item12
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_usecondition_surgicalkit";
										};
									};
									class Item13
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_painisonlysuppressed";
										};
									};
									class Item14
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_mk6mortar_airresistanceenabled";
										};
									};
									class Item15
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_mk6mortar_allowcomputerrangefinder";
										};
									};
									class Item16
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_weather_enabled";
										};
									};
									class Item17
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="acex_sitting_enable";
										};
									};
									class Item18
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_hearing_enablecombatdeafness";
										};
									};
									class Item19
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_hearing_disableearringing";
										};
									};
									class Item20
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="acex_headless_enabled";
										};
									};
									class Item21
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="acex_headless_endmission";
										};
									};
									class Item22
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="acex_headless_log";
										};
									};
									class Item23
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_map_mapshowcursorcoordinates";
										};
									};
									class Item24
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_map_bft_enabled";
										};
									};
									class Item25
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_map_bft_hideaigroups";
										};
									};
									class Item26
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_nightvision_effectscaling";
										};
									};
									class Item27
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_nightvision_fogscaling";
										};
									};
									class Item28
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_nightvision_noisescaling";
										};
									};
									class Item29
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_nightvision_aimdownsightsblur";
										};
									};
									class Item30
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_nightvision_disablenvgswithsights";
										};
									};
									class Item31
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_vehiclelock_lockvehicleinventory";
										};
									};
									class Item32
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="sthud_settings_occlusion";
										};
									};
									class Item33
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="sthud_settings_squadbar";
										};
									};
									class Item34
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="sthud_settings_removedeadviaproximity";
										};
									};
									class Item35
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_advanced_fatigue_performancefactor";
										};
									};
									class Item36
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_advanced_fatigue_recoveryfactor";
										};
									};
									class Item37
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_medicsetting_pak";
										};
									};
									class Item38
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_medicsetting_surgicalkit";
										};
									};
									class Item39
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_repair_engineersetting_repair";
										};
									};
									class Item40
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_repair_repairdamagethreshold_engineer";
										};
									};
									class Item41
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_repair_fullrepairlocation";
										};
									};
									class Item42
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_repair_autoshutoffenginewhenstartingrepair";
										};
									};
									class Item43
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_healhitpointafteradvbandage";
										};
									};
									class Item44
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="tfar_samesrfrequenciesforside";
										};
									};
									class Item45
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="tfar_setting_defaultfrequencies_sr_west";
										};
									};
									class Item46
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="tfar_setting_defaultfrequencies_sr_east";
										};
									};
									class Item47
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_ivflowrate";
										};
									};
									class Item48
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_limping";
										};
									};
									class Item49
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_spontaneouswakeupchance";
										};
									};
									class Item50
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_playerdamagethreshold";
										};
									};
									class Item51
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_statemachine_fatalinjuriesplayer";
										};
									};
									class Item52
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_treatment_advanceddiagnose";
										};
									};
									class Item53
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_treatment_advancedbandages";
										};
									};
									class Item54
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_treatment_cleartraumaafterbandage";
										};
									};
									class Item55
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_treatment_advancedmedication";
										};
									};
									class Item56
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_treatment_allowselfstitch";
										};
									};
									class Item57
									{
										class data
										{
											class type
											{
												type[]=
												{
													"STRING"
												};
											};
											value="ace_medical_ai_enabledfor";
										};
									};
								};
							};
						};
						class Item2
						{
							class data
							{
								class type
								{
									type[]=
									{
										"ARRAY"
									};
								};
								class value
								{
									items=58;
									class Item0
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item1
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item2
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0.5;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item3
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item4
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item5
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item6
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1200;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item7
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=2;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item8
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=300;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item9
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0;
													};
												};
											};
										};
									};
									class Item10
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0;
													};
												};
											};
										};
									};
									class Item11
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item12
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item13
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item14
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item15
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item16
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item17
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item18
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item19
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item20
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item21
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item22
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item23
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item24
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item25
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item26
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0.5;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item27
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0.1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item28
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0.32913101;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item29
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0.40000001;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item30
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item31
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item32
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item33
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item34
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item35
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1.5;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item36
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1.5;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item37
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item38
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0;
													};
												};
											};
										};
									};
									class Item39
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=2;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item40
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0.29586822;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item41
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=4;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item42
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item43
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item44
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item45
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"STRING"
															};
														};
														value="50,60,70,80,90,100,110,120,130";
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item46
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"STRING"
															};
														};
														value="55,65,75,85,95,105,115,125,135";
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item47
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=4.0260425;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item48
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item49
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0.70162708;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item50
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1.5;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item51
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item52
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item53
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item54
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item55
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"BOOL"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item56
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
									class Item57
									{
										class data
										{
											class type
											{
												type[]=
												{
													"ARRAY"
												};
											};
											class value
											{
												items=2;
												class Item0
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=0;
													};
												};
												class Item1
												{
													class data
													{
														class type
														{
															type[]=
															{
																"SCALAR"
															};
														};
														value=1;
													};
												};
											};
										};
									};
								};
							};
						};
						class Item3
						{
							class data
							{
								nil=1;
								class type
								{
									type[]=
									{
										"ANY"
									};
								};
							};
						};
					};
				};
			};
		};
		class Attribute1
		{
			property="cba_settings_hasSettingsFile";
			expression="false";
			class Value
			{
				class data
				{
					class type
					{
						type[]=
						{
							"BOOL"
						};
					};
					value=1;
				};
			};
		};
		nAttributes=2;
	};
};
class Mission
{
	class Intel
	{
		timeOfChanges=3600;
		startWeather=0;
		startWind=0;
		forecastWeather=0;
		forecastWind=0;
		forecastWaves=0;
		rainForced=1;
		lightningsForced=1;
		wavesForced=1;
		windForced=1;
		year=2015;
		month=2;
		day=4;
		hour=12;
		minute=0;
		startFogBase=-1000;
		forecastFogBase=-1000;
		startFogDecay=0;
		forecastFogDecay=0;
	};
	class Entities
	{
		items=34;
		class Item0
		{
			dataType="Marker";
			position[]={1761.2158,5.5,5864.6362};
			name="respawn_west";
			type="Empty";
			id=0;
		};
		class Item1
		{
			dataType="Marker";
			position[]={1761.2158,5.5,5843.5986};
			name="respawn_east";
			type="Empty";
			id=1;
		};
		class Item2
		{
			dataType="Marker";
			position[]={1760.215,3.9902805e+018,5731.311};
			name="mrk_spawn_blufor_land_1";
			type="Empty";
			id=200;
			atlOffset=3.9902805e+018;
		};
		class Item3
		{
			dataType="Marker";
			position[]={1750.889,-5.4391075e-038,5692.0771};
			name="mrk_spawn_opfor_land_1";
			type="Empty";
			id=201;
			atlOffset=-5.5;
		};
		class Item4
		{
			dataType="Logic";
			class PositionInfo
			{
				position[]={999.77393,0,6001.1782};
			};
			isPlayable=1;
			description="streaming slot (not in tfar spectator channel)";
			id=632;
			type="VirtualSpectator_F";
			atlOffset=45.478767;
			class CustomAttributes
			{
				class Attribute0
				{
					property="AllowFreeCamera";
					expression="_this setVariable ['AllowFreeCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute1
				{
					property="WhitelistedSides";
					expression="_this setVariable ['WhitelistedSides', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				class Attribute2
				{
					property="ShowFocusInfo";
					expression="_this setVariable ['ShowFocusInfo', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute3
				{
					property="AllowAi";
					expression="_this setVariable ['AllowAi', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=0;
						};
					};
				};
				class Attribute4
				{
					property="Allow3PPCamera";
					expression="_this setVariable ['Allow3PPCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				nAttributes=5;
			};
		};
		class Item5
		{
			dataType="Logic";
			class PositionInfo
			{
				position[]={1000.4653,0,5899.541};
			};
			isPlayable=1;
			description="streaming slot (not in tfar spectator channel)";
			id=633;
			type="VirtualSpectator_F";
			atlOffset=48.434372;
			class CustomAttributes
			{
				class Attribute0
				{
					property="AllowFreeCamera";
					expression="_this setVariable ['AllowFreeCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute1
				{
					property="WhitelistedSides";
					expression="_this setVariable ['WhitelistedSides', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				class Attribute2
				{
					property="ShowFocusInfo";
					expression="_this setVariable ['ShowFocusInfo', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute3
				{
					property="AllowAi";
					expression="_this setVariable ['AllowAi', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=0;
						};
					};
				};
				class Attribute4
				{
					property="Allow3PPCamera";
					expression="_this setVariable ['Allow3PPCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				nAttributes=5;
			};
		};
		class Item6
		{
			dataType="Logic";
			class PositionInfo
			{
				position[]={999.77393,0,5799.978};
			};
			isPlayable=1;
			description="streaming slot (not in tfar spectator channel)";
			id=634;
			type="VirtualSpectator_F";
			atlOffset=58.262772;
			class CustomAttributes
			{
				class Attribute0
				{
					property="AllowFreeCamera";
					expression="_this setVariable ['AllowFreeCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute1
				{
					property="WhitelistedSides";
					expression="_this setVariable ['WhitelistedSides', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				class Attribute2
				{
					property="ShowFocusInfo";
					expression="_this setVariable ['ShowFocusInfo', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute3
				{
					property="AllowAi";
					expression="_this setVariable ['AllowAi', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=0;
						};
					};
				};
				class Attribute4
				{
					property="Allow3PPCamera";
					expression="_this setVariable ['Allow3PPCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				nAttributes=5;
			};
		};
		class Item7
		{
			dataType="Logic";
			class PositionInfo
			{
				position[]={1100.028,8.7738037e-005,5999.7949};
			};
			isPlayable=1;
			description="streaming slot (not in tfar spectator channel)";
			id=635;
			type="VirtualSpectator_F";
			atlOffset=41.902;
			class CustomAttributes
			{
				class Attribute0
				{
					property="AllowFreeCamera";
					expression="_this setVariable ['AllowFreeCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute1
				{
					property="WhitelistedSides";
					expression="_this setVariable ['WhitelistedSides', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				class Attribute2
				{
					property="ShowFocusInfo";
					expression="_this setVariable ['ShowFocusInfo', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute3
				{
					property="AllowAi";
					expression="_this setVariable ['AllowAi', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=0;
						};
					};
				};
				class Attribute4
				{
					property="Allow3PPCamera";
					expression="_this setVariable ['Allow3PPCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				nAttributes=5;
			};
		};
		class Item8
		{
			dataType="Logic";
			class PositionInfo
			{
				position[]={1099.3368,0,5899.541};
			};
			isPlayable=1;
			description="streaming slot (not in tfar spectator channel)";
			id=636;
			type="VirtualSpectator_F";
			atlOffset=45.462914;
			class CustomAttributes
			{
				class Attribute0
				{
					property="AllowFreeCamera";
					expression="_this setVariable ['AllowFreeCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute1
				{
					property="WhitelistedSides";
					expression="_this setVariable ['WhitelistedSides', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				class Attribute2
				{
					property="ShowFocusInfo";
					expression="_this setVariable ['ShowFocusInfo', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute3
				{
					property="AllowAi";
					expression="_this setVariable ['AllowAi', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=0;
						};
					};
				};
				class Attribute4
				{
					property="Allow3PPCamera";
					expression="_this setVariable ['Allow3PPCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				nAttributes=5;
			};
		};
		class Item9
		{
			dataType="Logic";
			class PositionInfo
			{
				position[]={1099.3368,0,5799.978};
			};
			isPlayable=1;
			description="streaming slot (not in tfar spectator channel)";
			id=637;
			type="VirtualSpectator_F";
			atlOffset=45.159836;
			class CustomAttributes
			{
				class Attribute0
				{
					property="AllowFreeCamera";
					expression="_this setVariable ['AllowFreeCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute1
				{
					property="WhitelistedSides";
					expression="_this setVariable ['WhitelistedSides', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				class Attribute2
				{
					property="ShowFocusInfo";
					expression="_this setVariable ['ShowFocusInfo', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute3
				{
					property="AllowAi";
					expression="_this setVariable ['AllowAi', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=0;
						};
					};
				};
				class Attribute4
				{
					property="Allow3PPCamera";
					expression="_this setVariable ['Allow3PPCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				nAttributes=5;
			};
		};
		class Item10
		{
			dataType="Logic";
			class PositionInfo
			{
				position[]={1629.8856,-0.034353241,6101.4536};
			};
			id=159;
			type="ModuleCurator_F";
			atlOffset=10.617355;
			class CustomAttributes
			{
				class Attribute0
				{
					property="ModuleCurator_F_Owner";
					expression="_this setVariable ['Owner',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"STRING"
								};
							};
							value="#adminLogged";
						};
					};
				};
				class Attribute1
				{
					property="ModuleCurator_F_Forced";
					expression="_this setVariable ['Forced',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=0;
						};
					};
				};
				class Attribute2
				{
					property="ModuleCurator_F_Name";
					expression="_this setVariable ['Name',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"STRING"
								};
							};
							value="";
						};
					};
				};
				class Attribute3
				{
					property="ModuleInfo";
					expression="false";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute4
				{
					property="ModuleCurator_F_Addons";
					expression="_this setVariable ['Addons',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=2;
						};
					};
				};
				nAttributes=5;
			};
		};
		class Item11
		{
			dataType="Logic";
			class PositionInfo
			{
				position[]={1650.6526,0.038330682,6102.3599};
			};
			id=160;
			type="ModuleCurator_F";
			atlOffset=7.2275386;
			class CustomAttributes
			{
				class Attribute0
				{
					property="ModuleCurator_F_Owner";
					expression="_this setVariable ['Owner',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"STRING"
								};
							};
							value="#adminVoted";
						};
					};
				};
				class Attribute1
				{
					property="ModuleCurator_F_Forced";
					expression="_this setVariable ['Forced',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=0;
						};
					};
				};
				class Attribute2
				{
					property="ModuleCurator_F_Name";
					expression="_this setVariable ['Name',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"STRING"
								};
							};
							value="";
						};
					};
				};
				class Attribute3
				{
					property="ModuleInfo";
					expression="false";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute4
				{
					property="ModuleCurator_F_Addons";
					expression="_this setVariable ['Addons',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=2;
						};
					};
				};
				nAttributes=5;
			};
		};
		class Item12
		{
			dataType="Logic";
			class PositionInfo
			{
				position[]={999.59094,5.3729019,5700.9072};
			};
			isPlayable=1;
			description="streaming slot (not in tfar spectator channel)";
			id=753;
			type="VirtualSpectator_F";
			atlOffset=59.363842;
			class CustomAttributes
			{
				class Attribute0
				{
					property="AllowFreeCamera";
					expression="_this setVariable ['AllowFreeCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute1
				{
					property="WhitelistedSides";
					expression="_this setVariable ['WhitelistedSides', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				class Attribute2
				{
					property="ShowFocusInfo";
					expression="_this setVariable ['ShowFocusInfo', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute3
				{
					property="AllowAi";
					expression="_this setVariable ['AllowAi', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=0;
						};
					};
				};
				class Attribute4
				{
					property="Allow3PPCamera";
					expression="_this setVariable ['Allow3PPCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				nAttributes=5;
			};
		};
		class Item13
		{
			dataType="Logic";
			class PositionInfo
			{
				position[]={1099.1538,-7.5757561,5700.9072};
			};
			isPlayable=1;
			description="streaming slot (not in tfar spectator channel)";
			id=754;
			type="VirtualSpectator_F";
			atlOffset=46.324871;
			class CustomAttributes
			{
				class Attribute0
				{
					property="AllowFreeCamera";
					expression="_this setVariable ['AllowFreeCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute1
				{
					property="WhitelistedSides";
					expression="_this setVariable ['WhitelistedSides', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				class Attribute2
				{
					property="ShowFocusInfo";
					expression="_this setVariable ['ShowFocusInfo', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute3
				{
					property="AllowAi";
					expression="_this setVariable ['AllowAi', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=0;
						};
					};
				};
				class Attribute4
				{
					property="Allow3PPCamera";
					expression="_this setVariable ['Allow3PPCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				nAttributes=5;
			};
		};
		class Item14
		{
			dataType="Logic";
			class PositionInfo
			{
				position[]={1000.0428,-9.4208488,5601.5664};
			};
			isPlayable=1;
			description="streaming slot (not in tfar spectator channel)";
			id=755;
			type="VirtualSpectator_F";
			atlOffset=61.297131;
			class CustomAttributes
			{
				class Attribute0
				{
					property="AllowFreeCamera";
					expression="_this setVariable ['AllowFreeCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute1
				{
					property="WhitelistedSides";
					expression="_this setVariable ['WhitelistedSides', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				class Attribute2
				{
					property="ShowFocusInfo";
					expression="_this setVariable ['ShowFocusInfo', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute3
				{
					property="AllowAi";
					expression="_this setVariable ['AllowAi', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=0;
						};
					};
				};
				class Attribute4
				{
					property="Allow3PPCamera";
					expression="_this setVariable ['Allow3PPCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				nAttributes=5;
			};
		};
		class Item15
		{
			dataType="Logic";
			class PositionInfo
			{
				position[]={1099.6057,-20.131138,5601.5664};
			};
			isPlayable=1;
			description="streaming slot (not in tfar spectator channel)";
			id=756;
			type="VirtualSpectator_F";
			atlOffset=48.325672;
			class CustomAttributes
			{
				class Attribute0
				{
					property="AllowFreeCamera";
					expression="_this setVariable ['AllowFreeCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute1
				{
					property="WhitelistedSides";
					expression="_this setVariable ['WhitelistedSides', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				class Attribute2
				{
					property="ShowFocusInfo";
					expression="_this setVariable ['ShowFocusInfo', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				class Attribute3
				{
					property="AllowAi";
					expression="_this setVariable ['AllowAi', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=0;
						};
					};
				};
				class Attribute4
				{
					property="Allow3PPCamera";
					expression="_this setVariable ['Allow3PPCamera', _value];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"BOOL"
								};
							};
							value=1;
						};
					};
				};
				nAttributes=5;
			};
		};
		class Item16
		{
			dataType="Group";
			side="West";
			class Entities
			{
				items=2;
				class Item0
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1520.5935,5.5014391,5047.561};
						angles[]={0,5.5101619,0};
					};
					side="West";
					flags=6;
					class Attributes
					{
						rank="CAPTAIN";
						init="[this, 'Command'] call BC_setup_fnc_registerDynamicGroup;";
						name="blufor_teamlead";
						description="Commander (must be selected) @Command";
						isPlayable=1;
					};
					id=1093;
					type="B_officer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male01ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.99000001;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item1
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1522.2384,5.5014391,5046.5898};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="CAPTAIN";
						name="blufor_assistant";
						description="Assistant Commander";
						isPlayable=1;
					};
					id=1094;
					type="B_Soldier_SL_F";
				};
			};
			class Attributes
			{
			};
			id=1092;
		};
		class Item17
		{
			dataType="Group";
			side="West";
			class Entities
			{
				items=10;
				class Item0
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1523.964,5.5014391,5051.1108};
						angles[]={0,5.5101619,0};
					};
					side="West";
					flags=6;
					class Attributes
					{
						rank="LIEUTENANT";
						init="[this, 'Alpha'] call BC_setup_fnc_registerDynamicGroup;";
						description="Squad Leader@Alpha";
						isPlayable=1;
					};
					id=1096;
					type="B_Soldier_SL_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male12ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item1
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1530.6571,5.5014391,5053.5669};
						angles[]={0,5.51016,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="LIEUTENANT";
						description="Squad Medic";
						isPlayable=1;
					};
					id=1097;
					type="B_medic_F";
				};
				class Item2
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1527.2565,5.5014391,5054.7905};
						angles[]={0,2.7052603,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Ammo Bearer (M240B)";
						isPlayable=1;
					};
					id=1098;
					type="B_Soldier_A_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male10ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item3
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1525.5875,5.5014391,5055.0054};
						angles[]={0,2.7052603,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Medium MG (M240B)";
						isPlayable=1;
					};
					id=1099;
					type="B_HeavyGunner_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male08ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.03;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item4
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1528.8096,5.5014391,5054.1182};
						angles[]={0,2.7052603,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="LAT-Specialist (M72A7)";
						isPlayable=1;
					};
					id=1100;
					type="B_soldier_LAT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.02;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item5
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1522.093,5.5014391,5056.6099};
						angles[]={0,2.7052603,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="LIEUTENANT";
						description="Team Leader@Alpha2";
						isPlayable=1;
					};
					id=1101;
					type="B_Soldier_TL_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.94999999;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item6
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1515.5234,5.5014391,5057.0181};
						angles[]={0,2.7322259,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Machine Gunner (M249)";
						isPlayable=1;
					};
					id=1102;
					type="B_soldier_AR_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male05ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item7
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1518.756,5.5014391,5056.8237};
						angles[]={0,2.7322259,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Heavy AT (Carl Gustav)";
						isPlayable=1;
					};
					id=1104;
					type="B_soldier_AT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male08ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.99000001;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item8
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1520.339,5.5014391,5057.022};
						angles[]={0,2.7322259,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="CORPORAL";
						description="Rifleman";
						isPlayable=1;
					};
					id=1105;
					type="B_Soldier_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male12ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item9
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1517.15,5.5014391,5056.9678};
						angles[]={0,2.7322259,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="HAT Ammo Carrier";
						isPlayable=1;
					};
					id=1358;
					type="B_soldier_AAT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male06ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.05;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
			};
			class Attributes
			{
			};
			id=1095;
		};
		class Item18
		{
			dataType="Group";
			side="West";
			class Entities
			{
				items=10;
				class Item0
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1524.3433,5.5014391,5061.5806};
						angles[]={0,5.5101619,0};
					};
					side="West";
					flags=6;
					class Attributes
					{
						rank="LIEUTENANT";
						init="call{[this, 'Bravo'] call BC_setup_fnc_registerDynamicGroup;}";
						description="Squad Leader@Bravo";
						isPlayable=1;
					};
					id=1107;
					type="B_Soldier_SL_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male12ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item1
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1531.0364,5.5014391,5064.0366};
						angles[]={0,5.51016,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="LIEUTENANT";
						description="Squad Medic";
						isPlayable=1;
					};
					id=1108;
					type="B_medic_F";
				};
				class Item2
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1527.6357,5.5014391,5065.2603};
						angles[]={0,2.7052603,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Ammo Bearer (M240B)";
						isPlayable=1;
					};
					id=1109;
					type="B_Soldier_A_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male10ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item3
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1525.9668,5.5014391,5065.4751};
						angles[]={0,2.7052603,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Medium MG (M240B)";
						isPlayable=1;
					};
					id=1110;
					type="B_HeavyGunner_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male08ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.03;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item4
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1529.1888,5.5014391,5064.5879};
						angles[]={0,2.7052603,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="LAT-Specialist (M72A7)";
						isPlayable=1;
					};
					id=1111;
					type="B_soldier_LAT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.02;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item5
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1522.473,5.5014391,5067.0796};
						angles[]={0,2.7052603,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="LIEUTENANT";
						description="Team Leader@Bravo2";
						isPlayable=1;
					};
					id=1112;
					type="B_Soldier_TL_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.94999999;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item6
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1515.9027,5.5014391,5067.4878};
						angles[]={0,2.7322259,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Machine Gunner (M249)";
						isPlayable=1;
					};
					id=1113;
					type="B_soldier_AR_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male05ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item7
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1519.1353,5.5014391,5067.2935};
						angles[]={0,2.7322259,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Heavy AT (Carl Gustav)";
						isPlayable=1;
					};
					id=1115;
					type="B_soldier_AT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male08ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.99000001;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item8
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1520.7183,5.5014391,5067.4917};
						angles[]={0,2.7322259,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="CORPORAL";
						description="Rifleman";
						isPlayable=1;
					};
					id=1116;
					type="B_Soldier_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male12ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item9
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1517.5291,5.5014391,5067.438};
						angles[]={0,2.7322259,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="HAT Ammo Carrier";
						isPlayable=1;
					};
					id=1359;
					type="B_soldier_AAT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male06ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.05;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
			};
			class Attributes
			{
			};
			id=1106;
		};
		class Item19
		{
			dataType="Group";
			side="West";
			class Entities
			{
				items=10;
				class Item0
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1525.7939,5.5014391,5073.9771};
						angles[]={0,5.5101619,0};
					};
					side="West";
					flags=6;
					class Attributes
					{
						rank="LIEUTENANT";
						init="call{[this, 'Charlie'] call BC_setup_fnc_registerDynamicGroup;}";
						description="Squad Leader@Charlie";
						isPlayable=1;
					};
					id=1118;
					type="B_Soldier_SL_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male12ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item1
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1532.4867,5.5014391,5076.4331};
						angles[]={0,5.51016,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="LIEUTENANT";
						description="Squad Medic";
						isPlayable=1;
					};
					id=1119;
					type="B_medic_F";
				};
				class Item2
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1529.0861,5.5014391,5077.6567};
						angles[]={0,2.7052603,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Ammo Bearer (M240B)";
						isPlayable=1;
					};
					id=1120;
					type="B_Soldier_A_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male10ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item3
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1527.4171,5.5014391,5077.8716};
						angles[]={0,2.7052603,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Medium MG (M240B)";
						isPlayable=1;
					};
					id=1121;
					type="B_HeavyGunner_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male08ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.03;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item4
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1530.6392,5.5014391,5076.9844};
						angles[]={0,2.7052603,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="LAT-Specialist (M72A7)";
						isPlayable=1;
					};
					id=1122;
					type="B_soldier_LAT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.02;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item5
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1523.923,5.5014391,5079.4756};
						angles[]={0,2.7052603,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="LIEUTENANT";
						description="Team Leader@Charlie2";
						isPlayable=1;
					};
					id=1123;
					type="B_Soldier_TL_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.94999999;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item6
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1517.353,5.5014391,5079.8843};
						angles[]={0,2.7322259,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Machine Gunner (M249)";
						isPlayable=1;
					};
					id=1124;
					type="B_soldier_AR_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male05ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item7
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1520.5856,5.5014391,5079.6899};
						angles[]={0,2.7322259,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Heavy AT (Carl Gustav)";
						isPlayable=1;
					};
					id=1126;
					type="B_soldier_AT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male08ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.99000001;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item8
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1522.1686,5.5014391,5079.8882};
						angles[]={0,2.7322259,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="CORPORAL";
						description="Rifleman";
						isPlayable=1;
					};
					id=1127;
					type="B_Soldier_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male12ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item9
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1518.979,5.5014391,5079.834};
						angles[]={0,2.7322259,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="HAT Ammo Carrier";
						isPlayable=1;
					};
					id=1360;
					type="B_soldier_AAT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male06ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.05;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
			};
			class Attributes
			{
			};
			id=1117;
		};
		class Item20
		{
			dataType="Group";
			side="West";
			class Entities
			{
				items=10;
				class Item0
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1529.41,5.5014391,5085.7759};
						angles[]={0,5.5101619,0};
					};
					side="West";
					flags=6;
					class Attributes
					{
						rank="LIEUTENANT";
						init="call{[this, 'Delta'] call BC_setup_fnc_registerDynamicGroup;}";
						description="Squad Leader@Delta";
						isPlayable=1;
					};
					id=1174;
					type="B_Soldier_SL_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male12ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item1
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1536.1025,5.5014391,5088.2314};
						angles[]={0,5.51016,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="LIEUTENANT";
						description="Squad Medic";
						isPlayable=1;
					};
					id=1175;
					type="B_medic_F";
				};
				class Item2
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1532.7019,5.5014391,5089.4551};
						angles[]={0,2.7052603,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Ammo Bearer (M240B)";
						isPlayable=1;
					};
					id=1176;
					type="B_Soldier_A_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male10ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item3
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1531.033,5.5014391,5089.6699};
						angles[]={0,2.7052603,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Medium MG (M240B)";
						isPlayable=1;
					};
					id=1177;
					type="B_HeavyGunner_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male08ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.03;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item4
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1534.255,5.5014391,5088.7827};
						angles[]={0,2.7052603,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="LAT-Specialist (M72A7)";
						isPlayable=1;
					};
					id=1178;
					type="B_soldier_LAT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.02;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item5
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1527.5389,5.5014391,5091.2749};
						angles[]={0,2.7052603,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="LIEUTENANT";
						description="Team Leader@Delta2";
						isPlayable=1;
					};
					id=1179;
					type="B_Soldier_TL_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.94999999;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item6
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1520.9689,5.5014391,5091.6826};
						angles[]={0,2.7322259,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Machine Gunner (M249)";
						isPlayable=1;
					};
					id=1180;
					type="B_soldier_AR_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male05ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item7
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1524.2014,5.5014391,5091.4883};
						angles[]={0,2.7322259,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Heavy AT (Carl Gustav)";
						isPlayable=1;
					};
					id=1182;
					type="B_soldier_AT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male08ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.99000001;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item8
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1525.7844,5.5014391,5091.6865};
						angles[]={0,2.7322259,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="CORPORAL";
						description="Rifleman";
						isPlayable=1;
					};
					id=1183;
					type="B_Soldier_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male12ENG";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item9
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1522.595,5.5014391,5091.6328};
						angles[]={0,2.7322259,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="HAT Ammo Carrier";
						isPlayable=1;
					};
					id=1361;
					type="B_soldier_AAT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male06ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.05;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
			};
			class Attributes
			{
			};
			id=1173;
		};
		class Item21
		{
			dataType="Group";
			side="West";
			class Entities
			{
				items=3;
				class Item0
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1550.8848,5.5014391,5077.9326};
						angles[]={0,3.3324971,0};
					};
					side="West";
					flags=6;
					class Attributes
					{
						rank="LIEUTENANT";
						init="[this, 'Foxtrot'] call BC_setup_fnc_registerDynamicGroup;";
						description="Engineer-Commander@Foxtrot";
						isPlayable=1;
					};
					id=1185;
					type="B_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="ace_isEngineer";
							expression="if !(_value == ([0,1] select (_this getUnitTrait 'engineer'))|| {_value == -1}) then {_this setVariable ['ace_isEngineer', _value, true]}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=2;
								};
							};
						};
						class Attribute2
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male10ENG";
								};
							};
						};
						class Attribute3
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.01;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item1
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1552.5758,5.5014391,5080.7109};
						angles[]={0,3.3324971,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Engineer";
						isPlayable=1;
					};
					id=1186;
					type="B_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isEngineer";
							expression="if !(_value == ([0,1] select (_this getUnitTrait 'engineer'))|| {_value == -1}) then {_this setVariable ['ace_isEngineer', _value, true]}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=2;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male09ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.03;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item2
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1553.5798,5.5014391,5078.5869};
						angles[]={0,3.3324971,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Engineer";
						isPlayable=1;
					};
					id=1187;
					type="B_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="ace_isEngineer";
							expression="if !(_value == ([0,1] select (_this getUnitTrait 'engineer'))|| {_value == -1}) then {_this setVariable ['ace_isEngineer', _value, true]}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=2;
								};
							};
						};
						class Attribute2
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male10ENG";
								};
							};
						};
						class Attribute3
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.98000002;
								};
							};
						};
						nAttributes=4;
					};
				};
			};
			class Attributes
			{
			};
			id=1184;
			class CustomAttributes
			{
				class Attribute0
				{
					property="TFAR_freq_lr";
					expression="if (_value isEqualTo '' || _value isEqualTo []) exitWith {}; if (_value isEqualType '') then { _value = [_value,9,87,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_lr',_value,true]; } else { _value = [str _value,9,87,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_lr',_value,true]; }";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				class Attribute1
				{
					property="TFAR_freq_sr";
					expression="if (_value isEqualTo '' || _value isEqualTo []) exitWith {}; if (_value isEqualType '') then { _value = [_value,8,512,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_sr',_value,true]; } else { _value = [str _value,8,512,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_sr',_value,true]; }";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				nAttributes=2;
			};
		};
		class Item22
		{
			dataType="Group";
			side="West";
			class Entities
			{
				items=3;
				class Item0
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1542.1858,5.5014391,5073.6187};
						angles[]={0,3.3324971,0};
					};
					side="West";
					flags=6;
					class Attributes
					{
						rank="LIEUTENANT";
						init="call{[this, 'Golf'] call BC_setup_fnc_registerDynamicGroup;}";
						description="Engineer-Commander@Golf";
						isPlayable=1;
					};
					id=1189;
					type="B_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="ace_isEngineer";
							expression="if !(_value == ([0,1] select (_this getUnitTrait 'engineer'))|| {_value == -1}) then {_this setVariable ['ace_isEngineer', _value, true]}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=2;
								};
							};
						};
						class Attribute2
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male10ENG";
								};
							};
						};
						class Attribute3
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.01;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item1
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1543.8757,5.5014391,5076.3965};
						angles[]={0,3.3324971,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Engineer";
						isPlayable=1;
					};
					id=1190;
					type="B_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isEngineer";
							expression="if !(_value == ([0,1] select (_this getUnitTrait 'engineer'))|| {_value == -1}) then {_this setVariable ['ace_isEngineer', _value, true]}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=2;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male09ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.03;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item2
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1544.8798,5.5014391,5074.2725};
						angles[]={0,3.3324971,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Engineer";
						isPlayable=1;
					};
					id=1191;
					type="B_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="ace_isEngineer";
							expression="if !(_value == ([0,1] select (_this getUnitTrait 'engineer'))|| {_value == -1}) then {_this setVariable ['ace_isEngineer', _value, true]}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=2;
								};
							};
						};
						class Attribute2
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male10ENG";
								};
							};
						};
						class Attribute3
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.98000002;
								};
							};
						};
						nAttributes=4;
					};
				};
			};
			class Attributes
			{
			};
			id=1188;
			class CustomAttributes
			{
				class Attribute0
				{
					property="TFAR_freq_lr";
					expression="if (_value isEqualTo '' || _value isEqualTo []) exitWith {}; if (_value isEqualType '') then { _value = [_value,9,87,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_lr',_value,true]; } else { _value = [str _value,9,87,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_lr',_value,true]; }";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				class Attribute1
				{
					property="TFAR_freq_sr";
					expression="if (_value isEqualTo '' || _value isEqualTo []) exitWith {}; if (_value isEqualType '') then { _value = [_value,8,512,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_sr',_value,true]; } else { _value = [str _value,8,512,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_sr',_value,true]; }";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				nAttributes=2;
			};
		};
		class Item23
		{
			dataType="Group";
			side="West";
			class Entities
			{
				items=3;
				class Item0
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1545.4618,5.5014391,5085.8818};
						angles[]={0,3.3324971,0};
					};
					side="West";
					flags=6;
					class Attributes
					{
						rank="LIEUTENANT";
						init="call{[this, 'Hotel'] call BC_setup_fnc_registerDynamicGroup;}";
						description="Engineer-Commander@Hotel";
						isPlayable=1;
					};
					id=1193;
					type="B_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="ace_isEngineer";
							expression="if !(_value == ([0,1] select (_this getUnitTrait 'engineer'))|| {_value == -1}) then {_this setVariable ['ace_isEngineer', _value, true]}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=2;
								};
							};
						};
						class Attribute2
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male10ENG";
								};
							};
						};
						class Attribute3
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.01;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item1
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1547.1528,5.5014391,5088.6597};
						angles[]={0,3.3324971,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Engineer";
						isPlayable=1;
					};
					id=1194;
					type="B_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isEngineer";
							expression="if !(_value == ([0,1] select (_this getUnitTrait 'engineer'))|| {_value == -1}) then {_this setVariable ['ace_isEngineer', _value, true]}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=2;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male09ENG";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.03;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item2
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1548.1567,5.5014391,5086.5356};
						angles[]={0,3.3324971,0};
					};
					side="West";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Engineer";
						isPlayable=1;
					};
					id=1195;
					type="B_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="ace_isEngineer";
							expression="if !(_value == ([0,1] select (_this getUnitTrait 'engineer'))|| {_value == -1}) then {_this setVariable ['ace_isEngineer', _value, true]}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=2;
								};
							};
						};
						class Attribute2
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male10ENG";
								};
							};
						};
						class Attribute3
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.98000002;
								};
							};
						};
						nAttributes=4;
					};
				};
			};
			class Attributes
			{
			};
			id=1192;
			class CustomAttributes
			{
				class Attribute0
				{
					property="TFAR_freq_lr";
					expression="if (_value isEqualTo '' || _value isEqualTo []) exitWith {}; if (_value isEqualType '') then { _value = [_value,9,87,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_lr',_value,true]; } else { _value = [str _value,9,87,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_lr',_value,true]; }";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				class Attribute1
				{
					property="TFAR_freq_sr";
					expression="if (_value isEqualTo '' || _value isEqualTo []) exitWith {}; if (_value isEqualType '') then { _value = [_value,8,512,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_sr',_value,true]; } else { _value = [str _value,8,512,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_sr',_value,true]; }";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				nAttributes=2;
			};
		};
		class Item24
		{
			dataType="Group";
			side="East";
			class Entities
			{
				items=2;
				class Item0
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1793.0221,5.5014391,5975.0684};
						angles[]={0,0.69184852,0};
					};
					side="East";
					flags=6;
					class Attributes
					{
						rank="CAPTAIN";
						init="[this, 'Command'] call BC_setup_fnc_registerDynamicGroup;";
						name="opfor_teamlead";
						description="Commander (must be selected) @Command";
						isPlayer=1;
						isPlayable=1;
					};
					id=1240;
					type="O_officer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.03;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item1
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1791.7334,5.5014391,5973.5259};
						angles[]={0,6.0767708,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="CAPTAIN";
						name="opfor_assistant";
						description="Assistant Commander";
						isPlayable=1;
					};
					id=1241;
					type="O_Soldier_SL_F";
				};
			};
			class Attributes
			{
			};
			id=1239;
		};
		class Item25
		{
			dataType="Group";
			side="East";
			class Entities
			{
				items=10;
				class Item0
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1784.6681,5.5014391,5978.4321};
						angles[]={0,0.30510101,0};
					};
					side="East";
					flags=6;
					class Attributes
					{
						rank="CAPTAIN";
						init="[this, 'Alpha'] call BC_setup_fnc_registerDynamicGroup;";
						description="Squad Leader@Alpha";
						isPlayable=1;
					};
					id=1243;
					type="O_Soldier_SL_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.97000003;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item1
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1782.8367,5.5014391,5990.0796};
						angles[]={0,6.1167812,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="LIEUTENANT";
						description="Squad Medic";
						isPlayable=1;
					};
					id=1244;
					type="O_medic_F";
				};
				class Item2
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1779.7897,5.5014391,5991.0464};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Ammo Bearer (PKP)";
						isPlayable=1;
					};
					id=1245;
					type="O_Soldier_A_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item3
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1777.8617,5.5014391,5991.3022};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Medium Machine Gunner (PKP)";
						isPlayable=1;
					};
					id=1246;
					type="O_HeavyGunner_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item4
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1781.1997,5.5014391,5991.1172};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="LAT-Specialist (RPG26)";
						isPlayable=1;
					};
					id=1247;
					type="O_Soldier_LAT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.01;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item5
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1789.751,5.5014391,5984.3179};
						angles[]={0,3.7784286,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="LIEUTENANT";
						description="Team Leader@Alpha2";
						isPlayable=1;
					};
					id=1248;
					type="O_Soldier_TL_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male01PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.02;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item6
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1790.9718,5.5014391,5988.8271};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Light Machine Gunner (AKM)";
						isPlayable=1;
					};
					id=1249;
					type="O_Soldier_AR_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item7
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1794.7888,5.5014391,5988.4492};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Heavy AT-Specialist (RPG7)";
						isPlayable=1;
					};
					id=1250;
					type="O_Soldier_AT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.99000001;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item8
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1796.9008,5.5014391,5988.1963};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="CORPORAL";
						description="Assistant Heavy AT (RPG7)";
						isPlayable=1;
					};
					id=1251;
					type="O_Soldier_AHAT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.03;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item9
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1792.7288,5.5014391,5988.7344};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="CORPORAL";
						description="Rifleman";
						isPlayable=1;
					};
					id=1252;
					type="O_Soldier_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=2;
					};
				};
			};
			class Attributes
			{
			};
			id=1242;
		};
		class Item26
		{
			dataType="Group";
			side="East";
			class Entities
			{
				items=10;
				class Item0
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1785.0331,5.5014391,5993.8555};
						angles[]={0,0.30510101,0};
					};
					side="East";
					flags=6;
					class Attributes
					{
						rank="CAPTAIN";
						init="call{[this, 'Bravo'] call BC_setup_fnc_registerDynamicGroup;}";
						description="Squad Leader@Bravo";
						isPlayable=1;
					};
					id=1254;
					type="O_Soldier_SL_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.97000003;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item1
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1783.2013,5.5014391,6005.5034};
						angles[]={0,6.1167812,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="LIEUTENANT";
						description="Squad Medic";
						isPlayable=1;
					};
					id=1255;
					type="O_medic_F";
				};
				class Item2
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1780.1543,5.5014391,6006.4702};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Ammo Bearer (PKP)";
						isPlayable=1;
					};
					id=1256;
					type="O_Soldier_A_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item3
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1778.2263,5.5014391,6006.7261};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Medium Machine Gunner (PKP)";
						isPlayable=1;
					};
					id=1257;
					type="O_HeavyGunner_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item4
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1781.5643,5.5014391,6006.541};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="LAT-Specialist (RPG26)";
						isPlayable=1;
					};
					id=1258;
					type="O_Soldier_LAT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.01;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item5
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1790.116,5.5014391,5999.7417};
						angles[]={0,3.7784286,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="LIEUTENANT";
						description="Team Leader@Bravo2";
						isPlayable=1;
					};
					id=1259;
					type="O_Soldier_TL_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male01PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.02;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item6
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1791.3364,5.5014391,6004.251};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Light Machine Gunner (AKM)";
						isPlayable=1;
					};
					id=1260;
					type="O_Soldier_AR_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item7
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1795.1534,5.5014391,6003.873};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Heavy AT-Specialist (RPG7)";
						isPlayable=1;
					};
					id=1261;
					type="O_Soldier_AT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.99000001;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item8
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1797.2654,5.5014391,6003.6201};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="CORPORAL";
						description="Assistant Heavy AT (RPG7)";
						isPlayable=1;
					};
					id=1262;
					type="O_Soldier_AHAT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.03;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item9
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1793.0934,5.5014391,6004.1582};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="CORPORAL";
						description="Rifleman";
						isPlayable=1;
					};
					id=1263;
					type="O_Soldier_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=2;
					};
				};
			};
			class Attributes
			{
			};
			id=1253;
		};
		class Item27
		{
			dataType="Group";
			side="East";
			class Entities
			{
				items=10;
				class Item0
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1788.5962,5.5014391,6008.2051};
						angles[]={0,0.30510101,0};
					};
					side="East";
					flags=6;
					class Attributes
					{
						rank="CAPTAIN";
						init="call{[this, 'Charlie'] call BC_setup_fnc_registerDynamicGroup;}";
						description="Squad Leader@Charlie";
						isPlayable=1;
					};
					id=1265;
					type="O_Soldier_SL_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.97000003;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item1
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1786.765,5.5014391,6019.853};
						angles[]={0,6.1167812,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="LIEUTENANT";
						description="Squad Medic";
						isPlayable=1;
					};
					id=1266;
					type="O_medic_F";
				};
				class Item2
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1783.718,5.5014391,6020.8198};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Ammo Bearer (PKP)";
						isPlayable=1;
					};
					id=1267;
					type="O_Soldier_A_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item3
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1781.79,5.5014391,6021.0757};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Medium Machine Gunner (PKP)";
						isPlayable=1;
					};
					id=1268;
					type="O_HeavyGunner_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item4
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1785.1281,5.5014391,6020.8906};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="LAT-Specialist (RPG26)";
						isPlayable=1;
					};
					id=1269;
					type="O_Soldier_LAT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.01;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item5
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1793.6801,5.5014391,6014.0918};
						angles[]={0,3.7784286,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="LIEUTENANT";
						description="Team Leader@Charlie2";
						isPlayable=1;
					};
					id=1270;
					type="O_Soldier_TL_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male01PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.02;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item6
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1794.9001,5.5014391,6018.6006};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Light Machine Gunner (AKM)";
						isPlayable=1;
					};
					id=1271;
					type="O_Soldier_AR_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item7
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1798.7172,5.5014391,6018.2227};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Heavy AT-Specialist (RPG7)";
						isPlayable=1;
					};
					id=1272;
					type="O_Soldier_AT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.99000001;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item8
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1800.8291,5.5014391,6017.9697};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="CORPORAL";
						description="Assistant Heavy AT (RPG7)";
						isPlayable=1;
					};
					id=1273;
					type="O_Soldier_AHAT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.03;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item9
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1796.6571,5.5014391,6018.5078};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="CORPORAL";
						description="Rifleman";
						isPlayable=1;
					};
					id=1274;
					type="O_Soldier_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=2;
					};
				};
			};
			class Attributes
			{
			};
			id=1264;
		};
		class Item28
		{
			dataType="Group";
			side="East";
			class Entities
			{
				items=10;
				class Item0
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1793.2662,5.5014391,6026.6738};
						angles[]={0,0.30510101,0};
					};
					side="East";
					flags=6;
					class Attributes
					{
						rank="CAPTAIN";
						init="call{[this, 'Delta'] call BC_setup_fnc_registerDynamicGroup;}";
						description="Squad Leader@Delta";
						isPlayable=1;
					};
					id=1276;
					type="O_Soldier_SL_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.97000003;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item1
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1791.4347,5.5014391,6038.3213};
						angles[]={0,6.1167812,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="LIEUTENANT";
						description="Squad Medic";
						isPlayable=1;
					};
					id=1277;
					type="O_medic_F";
				};
				class Item2
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1788.3877,5.5014391,6039.2881};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Ammo Bearer (PKP)";
						isPlayable=1;
					};
					id=1278;
					type="O_Soldier_A_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item3
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1786.4597,5.5014391,6039.5439};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Medium Machine Gunner (PKP)";
						isPlayable=1;
					};
					id=1279;
					type="O_HeavyGunner_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item4
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1789.7977,5.5014391,6039.3589};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="LAT-Specialist (RPG26)";
						isPlayable=1;
					};
					id=1280;
					type="O_Soldier_LAT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.01;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item5
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1798.349,5.5014391,6032.5596};
						angles[]={0,3.7784286,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="LIEUTENANT";
						description="Team Leader@Delta2";
						isPlayable=1;
					};
					id=1281;
					type="O_Soldier_TL_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male01PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.02;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item6
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1799.5698,5.5014391,6037.0688};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Light Machine Gunner (AKM)";
						isPlayable=1;
					};
					id=1282;
					type="O_Soldier_AR_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item7
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1803.3868,5.5014391,6036.6909};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Heavy AT-Specialist (RPG7)";
						isPlayable=1;
					};
					id=1283;
					type="O_Soldier_AT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="ace_isHandcuffed";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleHandcuffed}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.99000001;
								};
							};
						};
						class Attribute3
						{
							property="ace_isSurrendered";
							expression="if (_value) then {[objNull, [_this], true] call ace_captives_fnc_moduleSurrender}";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						nAttributes=4;
					};
				};
				class Item8
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1805.4988,5.5014391,6036.438};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="CORPORAL";
						description="Assistant Heavy AT (RPG7)";
						isPlayable=1;
					};
					id=1284;
					type="O_Soldier_AHAT_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.03;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item9
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1801.3268,5.5014391,6036.9761};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="CORPORAL";
						description="Rifleman";
						isPlayable=1;
					};
					id=1285;
					type="O_Soldier_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=2;
					};
				};
			};
			class Attributes
			{
			};
			id=1275;
		};
		class Item29
		{
			dataType="Group";
			side="East";
			class Entities
			{
				items=3;
				class Item0
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1818.92,5.5014391,6036.125};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=6;
					class Attributes
					{
						rank="LIEUTENANT";
						init="[this, 'Foxtrot'] call BC_setup_fnc_registerDynamicGroup;";
						description="Engineer-Commander@Foxtrot";
						isPlayable=1;
					};
					id=1287;
					type="O_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male03PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item1
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1816.213,5.5014391,6038.583};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Engineer";
						isPlayable=1;
					};
					id=1288;
					type="O_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item2
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1814.8929,5.5014391,6034.8389};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Engineer";
						isPlayable=1;
					};
					id=1289;
					type="O_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.95999998;
								};
							};
						};
						nAttributes=2;
					};
				};
			};
			class Attributes
			{
			};
			id=1286;
			class CustomAttributes
			{
				class Attribute0
				{
					property="TFAR_freq_lr";
					expression="if (_value isEqualTo '' || _value isEqualTo []) exitWith {}; if (_value isEqualType '') then { _value = [_value,9,87,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_lr',_value,true]; } else { _value = [str _value,9,87,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_lr',_value,true]; }";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				class Attribute1
				{
					property="TFAR_freq_sr";
					expression="if (_value isEqualTo '' || _value isEqualTo []) exitWith {}; if (_value isEqualType '') then { _value = [_value,8,512,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_sr',_value,true]; } else { _value = [str _value,8,512,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_sr',_value,true]; }";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				nAttributes=2;
			};
		};
		class Item30
		{
			dataType="Group";
			side="East";
			class Entities
			{
				items=3;
				class Item0
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1817.0811,5.5014391,6024.4756};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=6;
					class Attributes
					{
						rank="LIEUTENANT";
						init="call{[this, 'Golf'] call BC_setup_fnc_registerDynamicGroup;}";
						description="Engineer-Commander@Golf";
						isPlayable=1;
					};
					id=1291;
					type="O_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male01PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.01;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item1
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1814.426,5.5014391,6026.9868};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Engineer";
						isPlayable=1;
					};
					id=1292;
					type="O_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male01PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.04;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item2
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1813.106,5.5014391,6023.2427};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Engineer";
						isPlayable=1;
					};
					id=1293;
					type="O_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=0.97000003;
								};
							};
						};
						nAttributes=2;
					};
				};
			};
			class Attributes
			{
			};
			id=1290;
		};
		class Item31
		{
			dataType="Group";
			side="East";
			class Entities
			{
				items=3;
				class Item0
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1814.2729,5.5014391,6013.666};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=6;
					class Attributes
					{
						rank="LIEUTENANT";
						init="[this, 'Hotel'] call BC_setup_fnc_registerDynamicGroup;";
						description="Engineer-Commander@Hotel";
						isPlayable=1;
					};
					id=1295;
					type="O_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="acex_headless_blacklist";
							expression="_this setVariable [""acex_headless_blacklist"",_value,true]";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"BOOL"
										};
									};
									value=0;
								};
							};
						};
						class Attribute1
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male01PER";
								};
							};
						};
						class Attribute2
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.02;
								};
							};
						};
						nAttributes=3;
					};
				};
				class Item1
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1811.86,5.5014391,6016.5947};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Engineer";
						isPlayable=1;
					};
					id=1296;
					type="O_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1;
								};
							};
						};
						nAttributes=2;
					};
				};
				class Item2
				{
					dataType="Object";
					class PositionInfo
					{
						position[]={1810.6591,5.5014391,6013.499};
						angles[]={0,2.8504543,0};
					};
					side="East";
					flags=4;
					class Attributes
					{
						rank="SERGEANT";
						description="Engineer";
						isPlayable=1;
					};
					id=1297;
					type="O_engineer_F";
					class CustomAttributes
					{
						class Attribute0
						{
							property="speaker";
							expression="_this setspeaker _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"STRING"
										};
									};
									value="Male02PER";
								};
							};
						};
						class Attribute1
						{
							property="pitch";
							expression="_this setpitch _value;";
							class Value
							{
								class data
								{
									class type
									{
										type[]=
										{
											"SCALAR"
										};
									};
									value=1.01;
								};
							};
						};
						nAttributes=2;
					};
				};
			};
			class Attributes
			{
			};
			id=1294;
			class CustomAttributes
			{
				class Attribute0
				{
					property="TFAR_freq_lr";
					expression="if (_value isEqualTo '' || _value isEqualTo []) exitWith {}; if (_value isEqualType '') then { _value = [_value,9,87,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_lr',_value,true]; } else { _value = [str _value,9,87,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_lr',_value,true]; }";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				class Attribute1
				{
					property="TFAR_freq_sr";
					expression="if (_value isEqualTo '' || _value isEqualTo []) exitWith {}; if (_value isEqualType '') then { _value = [_value,8,512,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_sr',_value,true]; } else { _value = [str _value,8,512,30,10] call tfar_fnc_parseFrequenciesInput; _this setVariable ['TFAR_freq_sr',_value,true]; }";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				nAttributes=2;
			};
		};
		class Item32
		{
			dataType="Logic";
			class PositionInfo
			{
				position[]={1098.306,-27.629967,5501.8569};
			};
			isPlayable=1;
			description="zeus slot (not in tfar spectator channel)";
			id=1503;
			type="VirtualCurator_F";
			atlOffset=50.197006;
			class CustomAttributes
			{
				class Attribute0
				{
					property="TFAR_freq_lr";
					expression="if !(_value isEqualTo []) then {_value=[str _value,9,87,30,10] call tfar_fnc_parseFrequenciesInput;_this setVariable ['TFAR_freq_lr',_value,true];}";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				class Attribute1
				{
					property="TFAR_freq_sr";
					expression="if !(_value isEqualTo []) then {_value=[str _value,8,512,30,10] call tfar_fnc_parseFrequenciesInput;_this setVariable ['TFAR_freq_sr',_value,true];}";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"ARRAY"
								};
							};
						};
					};
				};
				nAttributes=2;
			};
		};
		class Item33
		{
			dataType="Logic";
			class PositionInfo
			{
				position[]={1102.4862,0,5476.6631};
			};
			id=1505;
			type="ModuleCurator_F";
			atlOffset=74.347244;
			class CustomAttributes
			{
				class Attribute0
				{
					property="ModuleCurator_F_Owner";
					expression="_this setVariable ['Owner',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"STRING"
								};
							};
							value="";
						};
					};
				};
				class Attribute1
				{
					property="ModuleCurator_F_Forced";
					expression="_this setVariable ['Forced',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=0;
						};
					};
				};
				class Attribute2
				{
					property="ModuleCurator_F_Name";
					expression="_this setVariable ['Name',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"STRING"
								};
							};
							value="";
						};
					};
				};
				class Attribute3
				{
					property="ModuleCurator_F_Addons";
					expression="_this setVariable ['Addons',_value,true];";
					class Value
					{
						class data
						{
							class type
							{
								type[]=
								{
									"SCALAR"
								};
							};
							value=3;
						};
					};
				};
				nAttributes=4;
			};
		};
	};
	class Connections
	{
		class LinkIDProvider
		{
			nextID=1;
		};
		class Links
		{
			items=1;
			class Item0
			{
				linkID=0;
				item0=1505;
				item1=1503;
				class CustomData
				{
					type="Sync";
				};
			};
		};
	};
};
#define debugLog(msg) if (DEBUG_MODE) then { [msg, "GRAD_mission_debug", [true, true, false] ] call CBA_fnc_debug; }
#define adminLog(msg) [msg, "GRAD_mission_admin", [DEBUG_MODE, true, false] ] call CBA_fnc_debug
{
  "name": "tvt-breaking-contact",
  "version": "0.0.5",
  "lockfileVersion": 2,
  "requires": true,
  "packages": {
    "node_modules/@gruppe-adler/replay": {
      "version": "1.6.0",
      "resolved": "https://registry.npmjs.org/@gruppe-adler/replay/-/replay-1.6.0.tgz",
      "integrity": "sha512-i1kfwH+oUuVFf5uHP8sRgtfwOsRvh4OWXUi2y/98VIbdcZBrPwdNf9uqcfmZLp/q+pDzpN9z7jxky01Bjv8E3w=="
    },
    "node_modules/grad-fortifications": {
      "version": "0.9.3",
      "resolved": "https://registry.npmjs.org/grad-fortifications/-/grad-fortifications-0.9.3.tgz",
      "integrity": "sha512-Gb6GlUuLf7bqrVtrfVVR6/slTZqmlgD7Yviacueix7sYUZ1LfVwdCs4Xem5lwDLK2r9XHzUiVPNmxjAo0HNW/A=="
    },
    "node_modules/grad-islandconfig": {
      "version": "0.3.3",
      "resolved": "https://registry.npmjs.org/grad-islandconfig/-/grad-islandconfig-0.3.3.tgz",
      "integrity": "sha512-JMDwLAG1FfNgnbBmuFLMHYmfGajoegLzBjKDqTnsDadPYgJCjD3j22cGE4//FqYGKhGZDPOH3AuuoyDBbNI0ZA=="
    },
    "node_modules/grad-listbuymenu": {
      "version": "0.9.0",
      "resolved": "https://registry.npmjs.org/grad-listbuymenu/-/grad-listbuymenu-0.9.0.tgz",
      "integrity": "sha512-1ylx27z+5ba+5Zpmxgno6joaCu9qL5X2+pzLY7JkHQWg+q1z6TIGJt18AgLmmpGNWTsPlKV4Cut9Fgl+CzmFYA=="
    },
    "node_modules/grad-loadout": {
      "version": "4.11.5",
      "resolved": "https://registry.npmjs.org/grad-loadout/-/grad-loadout-4.11.5.tgz",
      "integrity": "sha512-Fr7MTkEFhwtRJQB9gnR2cPV9wwy6dx0HNbejboBJ0wbAbvHEez5SXWYZKrN0zYcw2bIs39n2k8C6NWZbGTpJEg=="
    },
    "node_modules/grad-tvtsettings": {
      "version": "0.0.3",
      "resolved": "https://registry.npmjs.org/grad-tvtsettings/-/grad-tvtsettings-0.0.3.tgz",
      "integrity": "sha512-fIzPWJ9ttWtbey8ScLxVFiq8fOzuzvpHOg1/uG7Xo69SbyK7voRuoiURYZgO95VML8pM0AMDAABLt0vHuaB/Rg=="
    },
    "node_modules/shk_pos": {
      "version": "0.0.1",
      "resolved": "git+ssh://git@github.com/gruppe-adler/shk_pos.git#65c30a1e4d08ecd23cb85b0b96c7410d7c66415d"
    }
  }
}
#ifndef MODULES_DIRECTORY
    #define MODULES_DIRECTORY node_modules
#endif

class GRAD_replay {

    class player {
        file = MODULES_DIRECTORY\@gruppe-adler\replay\functions\player;

        class addReplayPart {};
        class animateShot {};
        class assembleReplayData {};
        class createMapOverlay {};
        class drawIcon {};
        class getColorFromID {};
        class getRecordEntry {};
        class initReplay {};
        class onPlaybackPosChanged {};
        class preparePlaybackClient {};
        class receiveData {};
        class setPlayPauseDisplay {};
        class setTimeDisplay {};
        class showHintPause {};
        class showHintPlay {};
        class showHintReplayFinished {};
        class showPlaybackControl {};
        class showProgressBar {};
        class startPlaybackClient {};
        class stopPlaybackClient {};
        class syncPlaybackPos {};
    };

    class server {
        file = MODULES_DIRECTORY\@gruppe-adler\replay\functions\server;

        class getColorIdForUnit {};
        class getColorIdForUnit_bySide {};
        class canTrackUnit {};
        class getSideColorID {};
        class init {};
        class onFiredMan {};
        class pauseRecord {};
        class preparePlaybackServer {};
        class setMeSpectator {};
        class startRecord {};
        class stopRecord {};
        class storeValue {};
    };
};
#include "script_component.hpp"

params ["_chunk", "_startIndex"];

// add all received parts to database
{
    GRAD_REPLAY_DATABASE_LOCAL set [_startIndex + _forEachIndex, _x];
} forEach _chunk;

// start assembling, if everything has been received
private _targetCount = missionNamespace getVariable ["GRAD_REPLAY_DATABASE_TARGET_COUNT_LOCAL",9999999];
if ({!isNil "_x"} count GRAD_REPLAY_DATABASE_LOCAL >= _targetCount) then {

    // apparently function can run multiple times in parallel --> exit here if other instance was first
    if (player getVariable ["grad_replay_playerReceiptComplete",false]) exitWith {};
    player setVariable ["grad_replay_playerReceiptComplete",true,true];

    INFO_1("Client replay receipt completed at serverTime %1",serverTime);

    [{[] call grad_replay_fnc_assembleReplayData},[],1] call CBA_fnc_waitAndExecute;
};
params ["_map", "_index"];

private _positionData = GRAD_REPLAY_DATABASE_LOCAL_ASSEMBLED param [grad_replay_playbackPosition,[]];
if !(_positionData isEqualType []) exitWith {};

private _iconData = _positionData param [_index,[]];
if !(_iconData isEqualType []) exitWith {};

_iconData params [
    "",
    ["_colorID", -1],
    ["_pos", [0,0,0]],
    "",
    "",
    "",
    ["_firedTarget",[]]
];

// unit did not fire shot this tick
if (_firedTarget isEqualTo []) exitWith {};

private _color = [_colorID] call grad_replay_fnc_getColorFromID;
private _shotDir = _pos getDir _firedTarget;
private _shotDistance = _pos distance _firedTarget;
private _drawEH = -1;
private _shotAnimTicks = (floor (_shotDistance / GRAD_REPLAY_SHOTANIMSPEED)) min 30;
private _shotAnimCurrentTick = 1;

// flying lines Star Wars style animation
[{
    params ["_args","_handle"];
    _args params ["_drawEH","_shotAnimCurrentTick","_shotAnimTicks","_map","_pos","_firedTarget","_color","_shotDir"];

    _newShotEndPos = if (_shotAnimCurrentTick > _shotAnimTicks) then {
        _firedTarget
    } else {
        _pos getPos [GRAD_REPLAY_SHOTANIMSPEED * _shotAnimCurrentTick,_shotDir]
    };

    _startPosTick = (_shotAnimCurrentTick - 2) max 0;
    _newShotStartPos = if (_startPosTick > _shotAnimTicks) then {
        _firedTarget
    } else {
        _pos getPos [GRAD_REPLAY_SHOTANIMSPEED * _startPosTick,_shotDir]
    };

    // remove previous draw EH
    _map ctrlRemoveEventHandler ["Draw",_drawEH];

    // create new draw EH and save ID in _drawEH (_args set [0,...])
    if (_startPosTick > _shotAnimTicks) then {
        [_handle] call CBA_fnc_removePerFrameHandler;
    } else {
        _args set [0,
            _map ctrlAddEventHandler ["Draw",
                format ["(_this select 0) drawLine [%1,%2,%3]",_newShotStartPos,_newShotEndPos,_color]
            ]
        ];
    };

    _args set [1,_shotAnimCurrentTick + 1];

},0.1,[_drawEH,_shotAnimCurrentTick,_shotAnimTicks,_map,_pos,_firedTarget,_color,_shotDir]] call CBA_fnc_addPerFrameHandler;


// continuous lines style animation
/* [{
    params ["_args","_handle"];
    _args params ["_drawEH","_shotAnimCurrentTick","_shotAnimTicks","_map","_pos","_firedTarget","_color","_shotDir"];

    _newShotPos = if (_shotAnimCurrentTick > _shotAnimTicks) then {
        _color set [3,(_color select 3) - 0.2];
        _firedTarget;
    } else {
        _pos getPos [GRAD_REPLAY_SHOTANIMSPEED * _shotAnimCurrentTick,_shotDir];
    };

    // remove previous draw EH
    _map ctrlRemoveEventHandler ["Draw",_drawEH];

    // create new draw EH and save ID in _drawEH (_args set [0,...])
    if (_color select 3 <= 0) then {
        [_handle] call CBA_fnc_removePerFrameHandler;
    } else {
        _args set [0,
            _map ctrlAddEventHandler ["Draw",
                format ["(_this select 0) drawLine [%1,%2,%3]",_pos,_newShotPos,_color]
            ]
        ];
    };

    _args set [1,_shotAnimCurrentTick + 1];

},0.1,[_drawEH,_shotAnimCurrentTick,_shotAnimTicks,_map,_pos,_firedTarget,_color,_shotDir]] call CBA_fnc_addPerFrameHandler; */
#include "script_component.hpp"

params [["_part",0],["_startIndex",0],["_startTime",diag_tickTime],["_currentUnitsDataStates",[]]];

if (_part == 0) then {
    INFO("Assembling replay data.");
} else {
    INFO_2("Continuing assembly at index %1 (recursion %2).",_startIndex,_part);
};

if (isNil "GRAD_REPLAY_DATABASE_LOCAL_ASSEMBLED") then {
    GRAD_REPLAY_DATABASE_LOCAL_ASSEMBLED = [];
};

private _typeDefaults = [
    "",         // icon
    -1,         // color ID
    [0,0],      // pos2D
    -1,         // dir
    "",         // name
    "",         // group name
    []          // fired target
];

private _interrupt = false;
private _startTimePart = diag_tickTime;
private _continueAt = 0;

for [{_i=_startIndex},{_i< count GRAD_REPLAY_DATABASE_LOCAL},{_i=_i+1}] do {

    _compressedIntervalData = GRAD_REPLAY_DATABASE_LOCAL select _i;
    _intervalData = [];

    {
        // catch nil entries, not sure what's causing them
        if (!isNil "_x") then {

            // timestamp
            if (_x isEqualType 0) exitWith {
                _intervalData pushBack _x;
            };

            // data array
            if (_x isEqualType []) then {
                _unitData = [];
                _compressedUnitData = _x;

                // replace typeOf with icon
                _type = _compressedUnitData param [0,""];
                if !(_type isEqualTo "") then {
                    _compressedUnitData set [0,getText (configfile >> "CfgVehicles" >> _type >> "icon")];
                };

                // check if this unit has existing data states or if it is new
                if (_forEachIndex >= count _currentUnitsDataStates) then {
                    _currentUnitsDataStates pushBack [];
                };
                _currentUnitDataState = _currentUnitsDataStates select _forEachIndex;

                {
                    if (isNil "_x") then {
                        _unitData pushBack (_currentUnitDataState param [_forEachIndex,_typeDefaults select _forEachIndex]);
                    } else {
                        _currentUnitDataState set [_forEachIndex,_x];
                        _unitData pushBack _x;
                    };
                } forEach _compressedUnitData;

                _intervalData pushBack _unitData;
            };
        };
    } forEach _compressedIntervalData;

    GRAD_REPLAY_DATABASE_LOCAL_ASSEMBLED pushBack _intervalData;

    if ((diag_tickTime - _startTimePart) > 0.2) exitWith {_interrupt = true; _continueAt = _i + 1};
};

if (_interrupt) then {
    [{_this call grad_replay_fnc_assembleReplayData},[_part + 1,_continueAt,_startTime,_currentUnitsDataStates]] call CBA_fnc_execNextFrame;
} else {
    player setVariable ["grad_replay_playerAssemblyComplete",true,true];
    INFO_1("Assembling completed in %1s",diag_tickTime - _startTime);
};
createDialog "playbackControl";params ["_map", "_index"];

private _positionData = GRAD_REPLAY_DATABASE_LOCAL_ASSEMBLED param [grad_replay_playbackPosition,[]];
if !(_positionData isEqualType []) exitWith {};

private _iconData = _positionData param [_index,[]];
if !(_iconData isEqualType []) exitWith {};

_iconData params [
    ["_icon", ""],
    ["_colorID", -1],
    ["_pos", [0,0,0]],
    ["_dir", 0],
    ["_name", ""],
    ["_groupname", ""],
    ""
];

private _showName = (ctrlMapScale _map) < 0.03;
private _name =  if (_showName) then { _name + " " + _groupname } else { "" };
private _color = [_colorID] call grad_replay_fnc_getColorFromID;

_map drawIcon [
    _icon,
    _color,
    _pos,
    24,
    24,
    _dir,
    _name,
    1,
    0.03,
    'TahomaB',
    'right'
];
/*  Color lookup table to reduce variable size when saving.
 *
 */


#define DEFAULT_COLOR [0.7,0.6,0,1]

params [["_colorID",-1]];

GRAD_REPLAY_COLORS param [_colorID,DEFAULT_COLOR]
params ["_database", "_cluster", "_iteration", "_index", "_defaultValue"];

private ["_return"];

_return = _database;
{

    if (isNil "_x" || {count _return <= _x}) exitWith {
    	if (isNil "_x") then { diag_log format ["fucking nil detected"]; };
        if (isNil "_defaultValue") then {_return = nil} else {_return = _defaultValue};
    };
    _return = _return select _x;

    false
} count [_cluster,_iteration,_index];



/* diag_log format ["playback reading cluster %1 at iteration %2 at index %3", _cluster, _iteration, _index];*/

_return
// heal everything
[player, player] call ace_medical_treatment_fnc_fullHeal; // new with medical rewrite

[] call GRAD_replay_fnc_preparePlaybackClient;
params ["_control"];

if (isMultiplayer && !(serverCommandAvailable "#kick")) exitWith {};

grad_replay_playbackPosition =
    ceil (
        linearConversion [
            0,
            10,
            sliderPosition ctrlIDC (_control select 0),
            0,
            count GRAD_REPLAY_DATABASE_LOCAL_ASSEMBLED,
            true]
        );
(_control select 0) ctrlSetTooltip format ["%1 / %2", grad_replay_playbackPosition, count GRAD_REPLAY_DATABASE_LOCAL_ASSEMBLED];
// systemchat format ['sliderPosition: %1 %', grad_replay_playbackPosition];
{_x setMarkerAlphaLocal 0;} forEach allMapMarkers; // hide all markers for replay --> to be tested

if (dialog) then {closeDialog 0;};

[ "TIMER", "onEachFrame" ] call BIS_fnc_removeStackedEventHandler;
ctrlDelete (uiNamespace getVariable "GRAD_replay_rsc_loadingBar");
ctrlDelete (uiNamespace getVariable "GRAD_replay_txt_loading");
ctrlDelete (uiNamespace getVariable "GRAD_replay_txt_loadingInfo");

[] spawn GRAD_replay_fnc_startPlaybackClient;
params ["_replayLength", "_index", "_playerCount"];

// quit EG spec
if (["IsInitialized"] call BIS_fnc_EGSpectator) then {
    ["Terminate"] call BIS_fnc_EGSpectator;
};


// quit ACE spec
if (!isNil "ace_spectator_isSet") then {
    [false] call ace_spectator_fnc_setSpectator;
};

GRAD_REPLAY_DATABASE_TARGET_COUNT_LOCAL = _replayLength;
[_replayLength, _index, _playerCount] spawn GRAD_replay_fnc_showProgressBar;


// quit grad cam
GRAD_CINEMACAM = objNull;


// quit gcam
GCamKill = true;

// let players be able to talk already
if (isClass (configFile >> "CfgPatches" >> "task_force_radio")) then {
    [player, true] call TFAR_fnc_forceSpectator;
};
if (isClass (configFile >> "CfgPatches" >> "acre_main")) then {
    [true] call acre_api_fnc_setSpectator;
};
params ["_array"];

// diag_log "removing draw eh";

// delete icons frame before
if (count _array > 0) then {
    {
        ((findDisplay 12) displayCtrl 51) ctrlRemoveEventHandler ["Draw", _x];
    } forEach _array;
};
params ["_isPlay"];

disableSerialization;

if (_isPlay) then {
    ((findDisplay 80000) displayCtrl 80005) ctrlSetText "node_modules\@gruppe-adler\replay\ui\play.paa";
} else {
    ((findDisplay 80000) displayCtrl 80005) ctrlSetText "node_modules\@gruppe-adler\replay\ui\pause.paa";
};
params ["_position"];

disableSerialization;
private _time = GRAD_REPLAY_DATABASE_LOCAL_ASSEMBLED select _position select (count (GRAD_REPLAY_DATABASE_LOCAL_ASSEMBLED select _position) - 1);

// if (_time find ".paa" > -1) exitWith { diag_log format ["grad-replay: catch unvalid time display: %1", _position]; };

((findDisplay 80000) displayCtrl 80004) ctrlSetText ([_time,"HH:MM:SS"] call BIS_fnc_timeToString);
[true] call GRAD_replay_fnc_setPlayPauseDisplay;

disableSerialization;

private _control = (findDisplay 80000) ctrlCreate ['grad_replay_RscPicture', -1];
_control ctrlSetText 'node_modules\@gruppe-adler\replay\ui\pause.paa';
_control ctrlSetPosition [0.45,0.45,(150 / 1920) * SafeZoneW,(150 / 1080) * SafeZoneH];

_control ctrlSetFade 0;
_control ctrlCommit 0;
_control ctrlSetFade 2;
_control ctrlCommit 2;
uiSleep 2;
ctrlDelete _control;
[false] call GRAD_replay_fnc_setPlayPauseDisplay;

disableSerialization;

private _control = (findDisplay 80000) ctrlCreate ['grad_replay_RscPicture', -1];
_control ctrlSetText 'node_modules\@gruppe-adler\replay\ui\play.paa';
_control ctrlSetPosition [0.45,0.45,(150 / 1920) * SafeZoneW,(150 / 1080) * SafeZoneH];

_control ctrlSetFade 0;
_control ctrlCommit 0;
_control ctrlSetFade 2;
_control ctrlCommit 2;
uiSleep 2;
ctrlDelete _control;private ["_xPos", "_yPos", "_width", "_height"];

with uiNamespace do {
    disableSerialization;

    _xPos = SafeZoneX + (160 / 1920) * SafeZoneW;
    _yPos = SafeZoneY + (910 / 1080) * SafeZoneH;
    _width = (1600 / 1920) * SafeZoneW;
    _height = (40 / 1080) * SafeZoneH;

    GRAD_replay_txt_finished = (findDisplay 80000) ctrlCreate ["grad_replay_RscStructuredText", -1];
    GRAD_replay_txt_finished ctrlSetPosition [ _xPos, _yPos, _width, _height];
    GRAD_replay_txt_finished ctrlSetBackgroundColor [0, 0, 0, 0.8];
    GRAD_replay_txt_finished ctrlSetFont "RobotoCondensed";
    GRAD_replay_txt_finished ctrlSetStructuredText parseText format["<t align='center' size='1.2' shadow='0'>REPLAY FINISHED</t>"];
    GRAD_replay_txt_finished ctrlCommit 0;
};createDialog "playbackControl";

if (serverCommandAvailable "#kick" || !isMultiplayer) then {

    (findDisplay 80000) displayAddEventHandler [
        "KeyDown",
        format ["if ((_this select 1) == 57) then {
            GRAD_REPLAY_PLAYBACK_PAUSED = !GRAD_REPLAY_PLAYBACK_PAUSED;

            if (GRAD_REPLAY_PLAYBACK_PAUSED) then {
                [] remoteExec ['GRAD_replay_fnc_showHintPause', [0,-2] select isDedicated, false];
            } else {
                [] remoteExec ['GRAD_replay_fnc_showHintPlay', [0,-2] select isDedicated, false];
            };

            publicVariable 'GRAD_REPLAY_PLAYBACK_PAUSED'; true
        };"]
    ];

};
params ["_count", "_index", "_playerCount"];

_xPos = SafeZoneX + (160 / 1920) * SafeZoneW;
_yPos = SafeZoneY + (910 / 1080) * SafeZoneH;
_width = (1600 / 1920) * SafeZoneW;
_height = (40 / 1080) * SafeZoneH;

with uiNamespace do {
    disableSerialization;
    GRAD_replay_txt_loading = findDisplay 46 ctrlCreate ["grad_replay_RscStructuredText", -1];
    GRAD_replay_txt_loading ctrlSetPosition [ _xPos, 0.4, _width, 0.1];
    GRAD_replay_txt_loading ctrlSetBackgroundColor [0, 0, 0, 0.8];
    GRAD_replay_txt_loading ctrlSetFont "RobotoCondensed";
    GRAD_replay_txt_loading ctrlSetStructuredText parseText format["<t align='center' size='2.3' shadow='0'>WAITING FOR REPLAY</t>"];
    GRAD_replay_txt_loading ctrlCommit 0;

    GRAD_replay_txt_loadingInfo = findDisplay 46 ctrlCreate ["grad_replay_RscStructuredText", -1];
    GRAD_replay_txt_loadingInfo ctrlSetPosition [ _xPos, 0.475, _width, 0.1];
    GRAD_replay_txt_loadingInfo ctrlSetBackgroundColor [0, 0, 0, 0];
    GRAD_replay_txt_loadingInfo ctrlSetTextColor [1, 1, 1, 0.35];
    GRAD_replay_txt_loadingInfo ctrlSetFont "RobotoCondensed";
    GRAD_replay_txt_loadingInfo ctrlSetStructuredText parseText format["<t align='right' size='0.5' shadow='0'>You are number %1 of %2 players receiving data</t>", _index, _playerCount];
    GRAD_replay_txt_loadingInfo ctrlCommit 0;

    GRAD_replay_rsc_loadingBar = findDisplay 46 ctrlCreate ["grad_replay_RscProgress", -1];
    GRAD_replay_rsc_loadingBar ctrlSetPosition [ _xPos, 0.4, _width, 0.005];
    GRAD_replay_rsc_loadingBar ctrlSetTextColor [209/255, 141/255, 31/255, 1];
    GRAD_replay_rsc_loadingBar progressSetPosition 0;
    GRAD_replay_rsc_loadingBar ctrlCommit 0;
};


[ "TIMER", "onEachFrame", {
    params[ "_start", "_end" ];
    _progress = linearConversion[ _start, _end, count GRAD_REPLAY_DATABASE_LOCAL, 0, 1 ];
    (uiNamespace getVariable "GRAD_replay_rsc_loadingBar") progressSetPosition _progress;

    private _loadText = switch (true) do {
        case (_progress == 0): {"WAITING FOR REPLAY"};
        case (_progress < 1): {"RECEIVING REPLAY DATA"};
        case (!(player getVariable ["grad_replay_playerAssemblyComplete",false])): {"ASSEMBLING REPLAY DATA"};
        default {"WAITING FOR OTHERS"};
    };

    (uiNamespace getVariable "GRAD_replay_txt_loading") ctrlSetStructuredText parseText format ["<t align='center' size='2.3' shadow='0'>%1</t>",_loadText];

    /*
    // loading bar gets deleted in initreplay
    */

}, [ 0, _count ] ] call BIS_fnc_addStackedEventHandler;
#include "script_component.hpp"

grad_current_ehs = [];
grad_playback_finished = false;
grad_replay_playbackPosition = 0;
grad_current_playbackLoopPosition = 0;

INFO_1("Playing replay at serverTime %1.", serverTime);

// openMap [true, false];

[] call GRAD_replay_fnc_showPlaybackControl;

[{
    params ["_args", "_handle"];

    // delete icons frame before
    if (count grad_current_ehs > 0) then {
        {
            ((findDisplay 80000) displayCtrl 1337) ctrlRemoveEventHandler ["Draw", _x];
        } forEach grad_current_ehs;
    };

    grad_current_ehs = []; // reset eventhandler draws
    grad_current_playbackLoopPosition = 0; // reset loop

    // adjust progressbar
    if (!isNull (findDisplay 80000)) then {
        sliderSetPosition [80003, linearConversion [0,count GRAD_REPLAY_DATABASE_LOCAL_ASSEMBLED,grad_replay_playbackPosition,0,10]];
        ((findDisplay 80000) displayCtrl 80003) ctrlSetTooltip format ["%1 | %2", grad_replay_playbackPosition, count GRAD_REPLAY_DATABASE_LOCAL_ASSEMBLED - 1];
    };

    {
        private _fickediefackfack = grad_current_playbackLoopPosition;
        private _map = ((findDisplay 80000) displayCtrl 1337);

        private _eh = _map ctrlAddEventHandler ["Draw",
            format [
                "[
                   _this select 0,
                   %1
                ] call GRAD_replay_fnc_drawIcon;",
            _fickediefackfack]
        ];

        [_map,_fickediefackfack] call grad_replay_fnc_animateShot;

        grad_current_ehs pushBack _eh;

        if (grad_current_playbackLoopPosition < (count (GRAD_REPLAY_DATABASE_LOCAL_ASSEMBLED select (grad_replay_playbackPosition))) - 1) then {
            grad_current_playbackLoopPosition = grad_current_playbackLoopPosition + 1;
        };

    } forEach (GRAD_REPLAY_DATABASE_LOCAL_ASSEMBLED select grad_replay_playbackPosition);

    // end playback
    if (
           grad_replay_playbackPosition >= (count (GRAD_REPLAY_DATABASE_LOCAL_ASSEMBLED) - 1) &&
           count (GRAD_REPLAY_DATABASE_LOCAL_ASSEMBLED) >= GRAD_REPLAY_DATABASE_TARGET_COUNT_LOCAL &&
           !(grad_playback_finished)
        ) exitWith {
            INFO_3("playbackpos: %1, count: %2, count target: %3",grad_replay_playbackPosition,count (GRAD_REPLAY_DATABASE_LOCAL_ASSEMBLED),GRAD_REPLAY_DATABASE_TARGET_COUNT_LOCAL);

            if ((isMultiplayer && !(serverCommandAvailable "#kick")) || !isMultiplayer) then {
                [] remoteExec ["GRAD_replay_fnc_showHintReplayFinished", [0,-2] select isDedicated];
            };

            grad_playback_finished = true;
            // grad_replay_playbackPosition = grad_replay_playbackPosition - 1;
            [_handle] call CBA_fnc_removePerFrameHandler;
            [] spawn GRAD_replay_fnc_stopPlaybackClient;
            ((findDisplay 80000) displayCtrl 80003) ctrlEnable false;

    };

     // counter
    if (!grad_playback_finished && !GRAD_REPLAY_PLAYBACK_PAUSED) then {
        grad_replay_playbackPosition = grad_replay_playbackPosition + 1;
        [grad_replay_playbackPosition] call GRAD_replay_fnc_setTimeDisplay;

        if (!dialog) then {
            [] call GRAD_replay_fnc_showPlaybackControl;
        };
    };



},0.1,[]] call CBA_fnc_addPerFrameHandler;

// admin client syncs his progress
if (isMultiplayer && !(serverCommandAvailable "#kick")) exitWith {};

[{
    [grad_replay_playbackPosition] remoteExec ["GRAD_replay_fnc_syncPlaybackPos", [0,-2] select isDedicated, false];
},10,[]] call CBA_fnc_addPerFrameHandler;
#include "\z\ace\addons\main\script_component.hpp"
// ["Replay finished."] call EFUNC(common,displayTextStructured);

//disableSerialization;
uiSleep 5;
// openMap [false,false];
if (dialog) then {closeDialog 2;};
REPLAY_FINISHED = true;
publicVariable "REPLAY_FINISHED";
["GRAD_replay_finished",{true}] call CBA_fnc_globalEvent;params ["_pos"];

grad_replay_playbackPosition = _pos;#include "..\script_component.hpp"
#include "..\script_component.hpp"
params ["_unit","_veh","_isVehicle","_isEmptyVehicle","_isMan"];

// always track things
if (!_isVehicle && !_isMan) exitWith {true};

// always track empty vehicles
if (_isEmptyVehicle) exitWith {true};

// never track non empty vehicle objects (only effective commander has icon)
if (_isVehicle) exitWith {false};

// never track more than the effective commander in a vehicle to avoid duplicate icons
if (effectiveCommander _veh != _unit) exitWith {false};

// always track if explicitly set by user
if (_unit getVariable ["grad_replay_track",false]) exitWith {true};

// always track players
if (isPlayer _unit) exitWith {true};

// only track AI if in included sides
if ((side _unit) in GRAD_REPLAY_SIDES && (_unit getVariable ["grad_gcamspec_firstSpawn", true])) exitWith {true};

false
params [
	["_unit", objNull, [objNull]]
];

if (!alive _unit) exitWith {10};

private _coloringCallback = _unit getVariable [
	"grad_replay_color", 
	grad_replay_fnc_getColorIdForUnit_bySide
];

assert(_coloringCallback isEqualType {});

private _colorId = _unit call _coloringCallback;
if (_colorId isEqualType []) then {
	private _color = _colorId;
	if (_unit getVariable ["ACE_isUnconscious", false]) then {
		_color set [3, _color#3 / 2];
	};
	_colorId = GRAD_REPLAY_COLORS find _color;
	if (_colorId == -1) then {
		_colorId = GRAD_REPLAY_COLORS pushBack _color;
	};
};

_colorIdprivate _side = if (_this isKindOf "Man") then {side _this} else {sideEmpty};
private _sideColor = [_side] call GRAD_replay_fnc_getSideColorID;

if (_this getVariable ["ACE_isUnconscious", false]) exitWith {_sideColor + 5};

_sideColorparams [["_side",sideUnknown]];

[
    WEST,
    EAST,
    INDEPENDENT,
    CIVILIAN,
    sideEmpty
] find _side
// idea from a script by austin_medic
// completely reworked by nomisum for Gruppe Adler
GRAD_REPLAY_DATABASE_LOCAL = [];
GRAD_REPLAY_DATABASE_TARGET_COUNT_LOCAL = 999999; // something really high to prevent from finishing at once
GRAD_REPLAY_PLAYBACK_PAUSED = false;
GRAD_REPLAY_SHOTANIMSPEED = 60;     // how fast projectiles move during replay in meters per 0.1s

if (!isServer) exitWith {};

GRAD_REPLAY_COLORS = [

    // side color IDs
    [0,0.3,0.6,1],          // 0: WEST
    [0.5,0,0,1],            // 1: EAST
    [0,0.5,0,1],            // 2: INDEPENDENT
    [0.4,0,0.5,1],          // 3: CIVILIAN
    [0.7,0.6,0,1],          // 4: SIDEEMPTY

    // unconscious IDs are currently hardcoded to be exactly +5 in fn_startRecord!
    [0,0.3,0.6,0.5],        // 5: WEST unconscious
    [0.5,0,0,0.5],          // 6: EAST unconscious
    [0,0.5,0,0.5],          // 7: INDEPENDENT unconscious
    [0.4,0,0.5,0.5],        // 8: CIVILIAN unconscious
    [0.7,0.6,0,0.5],        // 9: SIDEEMPTY unconscious

    // other
    [0.2,0.2,0.2,0.5]      // 10: dead unit

    // NOTE: this color array can change during recording
];

// constants
GRAD_REPLAY_DATABASE = [];
GRAD_REPLAY_RECORDING_PAUSED = false;
GRAD_REPLAY_RECORDING_STOPPED = false;
GRAD_REPLAY_SENDING_DELAY = 0.05;


// vehicle setVariable ["GRAD_replay_track", true];

if (isNil "GRAD_REPLAY_SIDES") then {
    GRAD_REPLAY_SIDES = ([(missionConfigFile >> "GRAD_Replay"), "trackedSides", ["west", "east", "civilian"]] call BIS_fnc_returnConfigEntry) apply {call compile _x};
};
if (isNil "GRAD_REPLAY_AI_VEHICLES_TRACKED") then {
    GRAD_REPLAY_AI_VEHICLES_TRACKED = ([(missionConfigFile >> "GRAD_Replay"), "trackedVehicles", 0] call BIS_fnc_returnConfigEntry) == 1;
};
if (isNil "GRAD_REPLAY_AI_ONFOOT_TRACKED") then {
    GRAD_REPLAY_AI_ONFOOT_TRACKED = ([(missionConfigFile >> "GRAD_Replay"), "trackedAI", 0] call BIS_fnc_returnConfigEntry) == 1;
};
if (isNil "REPLAY_STEPS_PER_TICK") then {
    REPLAY_STEPS_PER_TICK = [(missionConfigFile >> "GRAD_Replay"), "stepsPerTick", 1] call BIS_fnc_returnConfigEntry;
};
if (isNil "GRAD_REPLAY_SENDING_CHUNK_SIZE") then {
    GRAD_REPLAY_SENDING_CHUNK_SIZE = [(missionConfigFile >> "GRAD_Replay"), "sendingChunkSize", 10] call BIS_fnc_returnConfigEntry;
};
if (isNil "GRAD_REPLAY_TRACKSHOTS") then {
    GRAD_REPLAY_TRACKSHOTS = ([(missionConfigFile >> "GRAD_Replay"), "trackShots", 0] call BIS_fnc_returnConfigEntry) == 1;
};
if (isNil "GRAD_REPLAY_PRECISION") then {
    GRAD_REPLAY_PRECISION = [(missionConfigFile >> "GRAD_Replay"), "precision", 1] call BIS_fnc_returnConfigEntry;
};

if (GRAD_REPLAY_TRACKSHOTS) then {
    ["CAManBase","firedMan",{_this call grad_replay_fnc_onFiredMan}] call CBA_fnc_addClassEventHandler;
};

[] call GRAD_replay_fnc_startRecord;

/* to start playback:
[] GRAD_replay_fnc_stopRecord;
*/

#include "script_component.hpp"

params ["_unit", "", "", "", "", "", "_projectile", "_vehicle"];

// only effective commander is tracked if unit is inside a vehicle --> proceed as if effective commander fired the shot
_unit = effectiveCommander vehicle _unit;

// make sure unit is being tracked
private _unitID = _unit getVariable [QGVAR(unitID),-1];
if (_unitID < 0) exitWith {};

// a projectile is being tracked already
if (!isNil {_unit getVariable QGVAR(firedTarget)}) exitWith {};

// track projectile
private _lastProjectilePos = [0,0,0];
[{
    params ["_args","_handle"];
    _args params ["_projectile","_unit","_lastProjectilePos"];

    if (!isNil {_unit getVariable QGVAR(firedTarget)}) exitWith {[_handle] call CBA_fnc_removePerFrameHandler};

    if (!isNull _projectile) then {
        _lastProjectilePos resize 0;
        _lastProjectilePos append (getPos _projectile);
    } else {
        _lastProjectilePos resize 2;
        _unit setVariable [QGVAR(firedTarget),_lastProjectilePos];
        [_handle] call CBA_fnc_removePerFrameHandler;
    };
},0,[_projectile,_unit,_lastProjectilePos]] call CBA_fnc_addPerFrameHandler;
params [["_set", true]];

GRAD_REPLAY_RECORDING_PAUSED = _set;
["GRAD_replay_paused",{true}] call CBA_fnc_globalEvent;#include "script_component.hpp"

if (!isServer) exitWith {};

["GRAD_replay_preparingPlayback",{true}] call CBA_fnc_globalEvent;

private _fnc_disableUnit = if (isMultiplayer) then {
    {
        _this enableSimulationGlobal false;
        [""] remoteExec ["switchMove", _this];

        // freeze vehicle
        if (!(vehicle _this isEqualTo _this) && _this isEqualTo (driver vehicle _this)) then {
            vehicle _this attachTo [_this];
        };
    }
} else {
    {
        _this enableSimulation false;
        _this switchMove "";
    }
};

{
    _x call _fnc_disableUnit;
    _x setVariable ["ace_map_hideBlueForceMarker", true];
} count allUnits;

// remove ace blu force tracking marker

ace_map_BFT_Enabled = false;
ace_map_mapShake = false;
// call ACE_map_fnc_blueForceTrackingUpdate;

publicVariable "ace_map_BFT_Enabled";
publicVariable "ace_map_mapShake";
publicVariable "GRAD_REPLAY_COLORS";

missionnamespace setVariable ["GRAD_replay_isRunning", true, true];

INFO("Sending database to clients.");
private _startTime = diag_tickTime;

private _replayLength = count GRAD_REPLAY_DATABASE;
INFO_1("Replay length is %1",_replayLength);

private _allPlayers = allPlayers - entities "HeadlessClient_F";

// set every client to know whats his number in line and display progress bar
{
    [_replayLength, _forEachIndex + 1, count _allPlayers] remoteExec ["GRAD_replay_fnc_receiveData", _x];
} forEach _allPlayers;

// send to all clients at once, but one tidbit after another --> hopefully this works
for [{_i=0},{_i < ceil (_replayLength / GRAD_REPLAY_SENDING_CHUNK_SIZE)},{_i=_i+1}] do {

    _startIndex = _i * GRAD_REPLAY_SENDING_CHUNK_SIZE;
    if (_startIndex >= _replayLength) exitWith {};

    _endIndex = _startIndex + GRAD_REPLAY_SENDING_CHUNK_SIZE;
    if (_endIndex >= _replayLength) then {_endIndex = _replayLength - 1};

    _chunk = GRAD_REPLAY_DATABASE select [_startIndex, _endIndex - _startIndex + 1];

    [_chunk,_startIndex] remoteExecCall ["GRAD_replay_fnc_addReplayPart", _allPlayers];
    sleep GRAD_REPLAY_SENDING_DELAY; // set to zero for debugging ordering
};

INFO_1("Database sending completed in %1s.",(diag_tickTime - _startTime));

// wait until all clients have received all the data and assembled it
private _waitCondition = {
    params ["_allPlayers"];
    (_allPlayers arrayIntersect allPlayers) findIf {!(_x getVariable ["grad_replay_playerAssemblyComplete",false])} < 0
};

private _onComplete = {
    params ["_allPlayers","_startTime"];

    _allPlayers = _allPlayers select {!isNull _x};
    INFO_1("All players have received and assembled database. Total time since start of function: %1.",(diag_tickTime - _startTime));
    [] remoteExec ["GRAD_replay_fnc_initReplay", _allPlayers, false];
};

private _onTimeout = {
    params ["_allPlayers","_startTime"];
    private _missingPlayers = _allPlayers select {!(_x getVariable ["grad_replay_playerReceiptComplete",false])};
    _allPlayers = _allPlayers select {!isNull _x};

    [] remoteExec ["GRAD_replay_fnc_initReplay", _allPlayers, false];
    INFO_1("Waiting for players timed out. Missing players: %1",_missingPlayers);
};

[_waitCondition,_onComplete,[_allPlayers,_startTime],45,_onTimeout] call CBA_fnc_waitUntilAndExecute;

// copyToClipboard str GRAD_REPLAY_DATABASE;
params ["_unit", "_deathPos"];

player setPos [_deathPos select 0, _deathPos select 1, 10];

_unit enableSimulationGlobal false;
_unit hideObjectGlobal true;#include "script_component.hpp"

INFO_1("Starting recording with precision %1",GRAD_REPLAY_PRECISION);

{
    _x setVariable ["GRAD_replay_track", true];
    _x setVariable ["asr_ai_exclude", true];
} forEach playableUnits + switchableUnits + allPlayers;

// currentSaveState array contains last relevant data
private _currentSaveState = [];

[{
    params ["_args", "_handle"];
    _args params ["_currentSaveState"];

    // end recording and start playback
    if (GRAD_REPLAY_RECORDING_STOPPED) exitWith {
        [_handle] call CBA_fnc_removePerFrameHandler;
        [] spawn GRAD_replay_fnc_preparePlaybackServer;
    };

    // skip if currently paused
    if (GRAD_REPLAY_RECORDING_PAUSED) exitWith {};

    _players = playableUnits + switchableUnits + allDeadMen;
    _trackedUnits = _players;
    _terminals = allMissionObjects "Land_DataTerminal_01_F"; // speciality for mission "breaking contact"
    _trackedUnits append _terminals;

    if (GRAD_REPLAY_AI_VEHICLES_TRACKED ) then {
        // filter weapon holders
        _vehicles = (vehicles + allDead - allDeadMen) select {
            !(typeOf _x in ["WeaponHolder","WeaponHolder_Single_F","WeaponHolderSimulated","WeaponHolderSimulated_Scripted","GroundWeaponHolder","GroundWeaponHolder_Scripted"])
        };
        _trackedUnits append _vehicles;
    };

    if (GRAD_REPLAY_AI_ONFOOT_TRACKED) then {
        _ai = allUnits - playableUnits - switchableUnits;
        _trackedUnits append _ai;
    };

    /* diag_log ["_trackedUnits",_trackedUnits]; */

    // _nextTickData contains all the data of the next timestamp that is then appended to GRAD_REPLAY_DATABASE
    _nextTickData = [];

    {
        _unit = _x;
        _veh = vehicle _unit;
        _isMan = _unit isKindOf "Man";
        _isVehicle = !_isMan && {_unit isKindOf "AllVehicles"};
        _isEmptyVehicle = _isVehicle && {{alive _x} count (crew _unit) == 0};

        if ([_unit,_veh,_isVehicle,_isEmptyVehicle,_isMan] call grad_replay_fnc_canTrackUnit) then {

            // set tracking ID if unit doesn't have one
            private _unitID = _unit getVariable "grad_replay_unitID";
            if (isNil "_unitID") then {
                _unitID = _currentSaveState pushBack [];
                _unit setVariable ["grad_replay_unitID",_unitID];
            };
            private _currentUnitData = _currentSaveState select _unitID;

            // use ACE_Name so it works with dead units
            private _name = _unit getVariable ["ACE_Name",""];

            private _pos = getpos _unit;
            _pos resize 2;
            
            private _dir = round (getDir _veh);
            private _type = typeOf _veh;

            // firedTarget is being set by fn_onFiredMan --> if it has a value, save and reset the variable
            private _firedTarget = _unit getVariable ["grad_replay_firedTarget",[]];
            _unit setVariable ["grad_replay_firedTarget",nil];


            private _groupname = if (_unit isEqualTo (leader group _unit)) then {" (" + groupId (group _unit) + ")"} else {""};
            if (alive _unit && {_unit getVariable ["ACE_isUnconscious", false]}) then {
                _groupname = "unconscious";
            };

            private _colorID = [_unit] call grad_replay_fnc_getColorIdForUnit;

            [
                _currentUnitData,
                _nextTickData,
                _unitID,
                [_type, _colorID, _pos, _dir, _name, _groupname, _firedTarget]
            ] call GRAD_replay_fnc_storeValue;
        };

    } forEach _trackedUnits;

    _nextTickData pushBack dayTime;
    GRAD_REPLAY_DATABASE pushBack _nextTickData;

},GRAD_REPLAY_PRECISION,[_currentSaveState]] call CBA_fnc_addPerFrameHandler;
GRAD_REPLAY_RECORDING_STOPPED = true;
["GRAD_replay_stopped",{true}] call CBA_fnc_globalEvent;#include "script_component.hpp"

params [["_currentUnitData",[]],["_nextTickData",[]],["_unitID",-1],["_newUnitData",[]]];

// _newUnitData contents: [_type,_colorID,_pos,_dir,_name,_groupname]
if (count _newUnitData == 0) exitWith {};

private _newSaveData = [];
private _typeDefaults = [
    "",         // typeOf
    -1,         // color ID
    [0,0],      // pos2D
    -1,         // dir
    "",         // name
    "",         // group name
    []          // fired target
];

for [{_i=0},{_i<((count _currentUnitData) max (count _newUnitData))},{_i=_i+1}] do {
    _typeDefault = _typeDefaults select _i;
    _newUnitDataSelected = _newUnitData param [_i,_typeDefault];

    if !((_currentUnitData param [_i,_typeDefault]) isEqualTo _newUnitDataSelected) then {
        _currentUnitData set [_i,_newUnitDataSelected];
        _newSaveData set [_i,_newUnitDataSelected];
    } else {
        _newSaveData set [_i,nil];
    };
};

_nextTickData set [_unitID,_newSaveData];
#include "..\script_component.hpp"
                    GNU GENERAL PUBLIC LICENSE
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                            Preamble

  The GNU General Public License is a free, copyleft license for
software and other kinds of works.

  The licenses for most software and other practical works are designed
to take away your freedom to share and change the works.  By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.  We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors.  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.

  To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights.  Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received.  You must make sure that they, too, receive
or can get the source code.  And you must show them these terms so they
know their rights.

  Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.

  For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software.  For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.

  Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so.  This is fundamentally incompatible with the aim of
protecting users' freedom to change the software.  The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable.  Therefore, we
have designed this version of the GPL to prohibit the practice for those
products.  If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.

  Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary.  To prevent this, the GPL assures that
patents cannot be used to render the program non-free.

  The precise terms and conditions for copying, distribution and
modification follow.

                       TERMS AND CONDITIONS

  0. Definitions.

  "This License" refers to version 3 of the GNU General Public License.

  "Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.

  "The Program" refers to any copyrightable work licensed under this
License.  Each licensee is addressed as "you".  "Licensees" and
"recipients" may be individuals or organizations.

  To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy.  The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.

  A "covered work" means either the unmodified Program or a work based
on the Program.

  To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy.  Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.

  To "convey" a work means any kind of propagation that enables other
parties to make or receive copies.  Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.

  An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License.  If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.

  1. Source Code.

  The "source code" for a work means the preferred form of the work
for making modifications to it.  "Object code" means any non-source
form of a work.

  A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.

  The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form.  A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.

  The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities.  However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work.  For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.

  The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.

  The Corresponding Source for a work in source code form is that
same work.

  2. Basic Permissions.

  All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met.  This License explicitly affirms your unlimited
permission to run the unmodified Program.  The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work.  This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.

  You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force.  You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright.  Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.

  Conveying under any other circumstances is permitted solely under
the conditions stated below.  Sublicensing is not allowed; section 10
makes it unnecessary.

  3. Protecting Users' Legal Rights From Anti-Circumvention Law.

  No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.

  When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.

  4. Conveying Verbatim Copies.

  You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.

  You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.

  5. Conveying Modified Source Versions.

  You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:

    a) The work must carry prominent notices stating that you modified
    it, and giving a relevant date.

    b) The work must carry prominent notices stating that it is
    released under this License and any conditions added under section
    7.  This requirement modifies the requirement in section 4 to
    "keep intact all notices".

    c) You must license the entire work, as a whole, under this
    License to anyone who comes into possession of a copy.  This
    License will therefore apply, along with any applicable section 7
    additional terms, to the whole of the work, and all its parts,
    regardless of how they are packaged.  This License gives no
    permission to license the work in any other way, but it does not
    invalidate such permission if you have separately received it.

    d) If the work has interactive user interfaces, each must display
    Appropriate Legal Notices; however, if the Program has interactive
    interfaces that do not display Appropriate Legal Notices, your
    work need not make them do so.

  A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit.  Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.

  6. Conveying Non-Source Forms.

  You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:

    a) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by the
    Corresponding Source fixed on a durable physical medium
    customarily used for software interchange.

    b) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by a
    written offer, valid for at least three years and valid for as
    long as you offer spare parts or customer support for that product
    model, to give anyone who possesses the object code either (1) a
    copy of the Corresponding Source for all the software in the
    product that is covered by this License, on a durable physical
    medium customarily used for software interchange, for a price no
    more than your reasonable cost of physically performing this
    conveying of source, or (2) access to copy the
    Corresponding Source from a network server at no charge.

    c) Convey individual copies of the object code with a copy of the
    written offer to provide the Corresponding Source.  This
    alternative is allowed only occasionally and noncommercially, and
    only if you received the object code with such an offer, in accord
    with subsection 6b.

    d) Convey the object code by offering access from a designated
    place (gratis or for a charge), and offer equivalent access to the
    Corresponding Source in the same way through the same place at no
    further charge.  You need not require recipients to copy the
    Corresponding Source along with the object code.  If the place to
    copy the object code is a network server, the Corresponding Source
    may be on a different server (operated by you or a third party)
    that supports equivalent copying facilities, provided you maintain
    clear directions next to the object code saying where to find the
    Corresponding Source.  Regardless of what server hosts the
    Corresponding Source, you remain obligated to ensure that it is
    available for as long as needed to satisfy these requirements.

    e) Convey the object code using peer-to-peer transmission, provided
    you inform other peers where the object code and Corresponding
    Source of the work are being offered to the general public at no
    charge under subsection 6d.

  A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.

  A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling.  In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage.  For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product.  A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.

  "Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source.  The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.

  If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information.  But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).

  The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed.  Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.

  Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.

  7. Additional Terms.

  "Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law.  If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.

  When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it.  (Additional permissions may be written to require their own
removal in certain cases when you modify the work.)  You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.

  Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:

    a) Disclaiming warranty or limiting liability differently from the
    terms of sections 15 and 16 of this License; or

    b) Requiring preservation of specified reasonable legal notices or
    author attributions in that material or in the Appropriate Legal
    Notices displayed by works containing it; or

    c) Prohibiting misrepresentation of the origin of that material, or
    requiring that modified versions of such material be marked in
    reasonable ways as different from the original version; or

    d) Limiting the use for publicity purposes of names of licensors or
    authors of the material; or

    e) Declining to grant rights under trademark law for use of some
    trade names, trademarks, or service marks; or

    f) Requiring indemnification of licensors and authors of that
    material by anyone who conveys the material (or modified versions of
    it) with contractual assumptions of liability to the recipient, for
    any liability that these contractual assumptions directly impose on
    those licensors and authors.

  All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10.  If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term.  If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.

  If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.

  Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.

  8. Termination.

  You may not propagate or modify a covered work except as expressly
provided under this License.  Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).

  However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.

  Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.

  Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License.  If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.

  9. Acceptance Not Required for Having Copies.

  You are not required to accept this License in order to receive or
run a copy of the Program.  Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance.  However,
nothing other than this License grants you permission to propagate or
modify any covered work.  These actions infringe copyright if you do
not accept this License.  Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.

  10. Automatic Licensing of Downstream Recipients.

  Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License.  You are not responsible
for enforcing compliance by third parties with this License.

  An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations.  If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.

  You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License.  For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.

  11. Patents.

  A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based.  The
work thus licensed is called the contributor's "contributor version".

  A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version.  For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.

  Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.

  In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement).  To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.

  If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients.  "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.

  If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.

  A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License.  You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.

  Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.

  12. No Surrender of Others' Freedom.

  If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all.  For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.

  13. Use with the GNU Affero General Public License.

  Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work.  The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.

  14. Revised Versions of this License.

  The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

  Each version is given a distinguishing version number.  If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation.  If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.

  If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.

  Later license versions may give you additional or different
permissions.  However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.

  15. Disclaimer of Warranty.

  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  16. Limitation of Liability.

  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.

  17. Interpretation of Sections 15 and 16.

  If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.

                     END OF TERMS AND CONDITIONS

            How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

  If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

    <program>  Copyright (C) <year>  <name of author>
    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".

  You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.

  The GNU General Public License does not permit incorporating your program
into proprietary programs.  If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.  But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
{
    "name": "@gruppe-adler/replay",
    "description": "Arma3 mission replay script",
    "version": "1.6.0"
}
[![Release](https://img.shields.io/github/release/gruppe-adler/grad-replay.svg)](https://github.com/gruppe-adler/grad-replay/release)
[![License](https://img.shields.io/github/license/gruppe-adler/grad-replay.svg)](https://github.com/gruppe-adler/grad-replay/license)

# grad-replay
ARMA3 mission replay script (working but wip)
* Records player and AI movement and replays at end of mission.
* Meant for PvP but pimped to support AI as well
* Mission duration should be matched to replay precision (see below) - the longer the mission, the less precision is recommended. Better precision (smaller values) results in longer loading times.

### Required Mods
CBA, ACE3

# How to install
### 1. Download Release
### 2. extract GRAD_replay folder into [mission folder]/node_modules
### 3. Add the following to the description.ext

```
#include "node_modules\@gruppe-adler\replay\ui\defines.hpp"
#include "node_modules\@gruppe-adler\replay\ui\dialog.hpp"
```

```
// if CfgFunctions already exists, just put the #include part inside
class CfgFunctions {
    #include "node_modules\@gruppe-adler\replay\cfgFunctions.hpp"
};
```

### 4. Initialize script in init.sqf
`[] call GRAD_replay_fnc_init;`

### 5. Put this where you want the replay to start (recommended: end of mission)
Must be executed on server only!
```
// stops record, sends data and starts replay
call GRAD_replay_fnc_stopRecord;

// ends mission after replay is over
[{
    REPLAY_FINISHED
}, {
    ["END1"] remoteExec ["endMission",0,false]; // your custom end mission call or whatever you want to do after replay
}, []] call CBA_fnc_waitUntilAndExecute;
```

### 6. Configure (optional)
Optionally configure grad-replay by adding the following to your missionconfig (`description.ext`):

```
class GRAD_Replay {
    precision = 5;                                    // precision of replay, 5 means every 5 seconds one snapshot (number)
    trackedSides[] = {"west", "east", "civilian"};    // defines the sides that will be tracked (possible are "west", "east", "independent", "civilian") (array)
    stepsPerTick = 1;                                 // defines steps played back at once (number)
    trackedVehicles = 0;                              // defines if empty and AI steered vehicles will be tracked (0/1)
    trackedAI = 0;                                    // defines if AI will be tracked (0/1)
    sendingChunkSize = 10;                            // higher number means replay loading is faster, but might cause instability / lags during loading (number)
    trackShots = 0;                                   // defines if shots will be tracked (0/1)
    upload = 1;                                       // defines if replay data will be uploaded to replay.gruppe-adler.de (0/1)
};
```

Note that for the upload setting to have an effect, you need to have [grad-replay-intercept](https://github.com/gruppe-adler/grad_replay_intercept) (and the Intercept mod) loaded on your server. Check the repo's README to see how to configure it to upload to your server.

#### individual colors for units

define *grad_replay_color* global variable on a unit as a callback that returns a color in the format `[<red>, <green>, <blue>, <opacity>]` , each value a number from the interval 0..1

example:

```sqf
_unit setVariable ["grad_replay_color", {[[0.0, 0.9, 1.0, 0.8]}, true];
```

you can change the color anytime during the mission to cause the color to change during replay.
NOTE: color will be adjusted automatically for incapacitation & death

### Important
Currently there is **no helper function to resume normal gameplay after replay has played**, this means all assets will be frozen and TFAR spectator channel will be set for all players, furthermore every wound will be healed and all spectator cams left.

### Script commands
to pause recording, set `GRAD_REPLAY_RECORDING_PAUSED` to true on server / false to resume
#define PREFIX grad
#define COMPONENT replay

#include "\x\cba\addons\main\script_macros.hpp"
#define CT_STATIC           0
#define CT_BUTTON           1
#define CT_EDIT             2
#define CT_SLIDER           3
#define CT_COMBO            4
#define CT_LISTBOX          5
#define CT_TOOLBOX          6
#define CT_CHECKBOXES       7
#define CT_PROGRESS         8
#define CT_HTML             9
#define CT_STATIC_SKEW      10
#define CT_ACTIVETEXT       11
#define CT_TREE             12
#define CT_STRUCTURED_TEXT  13
#define CT_CONTEXT_MENU     14
#define CT_CONTROLS_GROUP   15
#define CT_SHORTCUTBUTTON   16
#define CT_XKEYDESC         40
#define CT_XBUTTON          41
#define CT_XLISTBOX         42
#define CT_XSLIDER          43
#define CT_XCOMBO           44
#define CT_ANIMATED_TEXTURE 45
#define CT_OBJECT           80
#define CT_OBJECT_ZOOM      81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83
#define CT_LINEBREAK        98
#define CT_USER             99
#define CT_MAP              100
#define CT_MAP_MAIN         101
#define CT_LISTNBOX         102

#define ST_POS            0x0F
#define ST_HPOS           0x03
#define ST_VPOS           0x0C
#define ST_LEFT           0x00
#define ST_RIGHT          0x01
#define ST_CENTER         0x02
#define ST_DOWN           0x04
#define ST_UP             0x08
#define ST_VCENTER        0x0C

#define ST_TYPE           0xF0
#define ST_SINGLE         0x00
#define ST_MULTI          0x10
#define ST_TITLE_BAR      0x20
#define ST_PICTURE        0x30
#define ST_FRAME          0x40
#define ST_BACKGROUND     0x50
#define ST_GROUP_BOX      0x60
#define ST_GROUP_BOX2     0x70
#define ST_HUD_BACKGROUND 0x80
#define ST_TILE_PICTURE   0x90
#define ST_WITH_RECT      0xA0
#define ST_LINE           0xB0

#define ST_SHADOW         0x100
#define ST_NO_RECT        0x200
#define ST_KEEP_ASPECT_RATIO  0x800

#define ST_TITLE          ST_TITLE_BAR + ST_CENTER

#define SL_DIR            0x400
#define SL_VERT           0
#define SL_HORZ           0x400

#define SL_TEXTURES       0x10

#define ST_VERTICAL       0x01
#define ST_HORIZONTAL     0

#define LB_TEXTURES       0x10
#define LB_MULTI          0x20

#define TR_SHOWROOT       1
#define TR_AUTOCOLLAPSE   2

#define MB_BUTTON_OK      1
#define MB_BUTTON_CANCEL  2
#define MB_BUTTON_USER    4

#define GUI_GRID_X    (0)
#define GUI_GRID_Y    (0)
#define GUI_GRID_W    (0.025)
#define GUI_GRID_H    (0.04)
#define GUI_GRID_WAbs    (1)
#define GUI_GRID_HAbs    (1)

class grad_replay_RscSlider
{
    style = "0x400 + 0x10";
    type = 43;  // this is the more "modern" slider. Type = 3 is the old dull one.
    shadow = 0;
    colorActive[] = {1,1,1,1};
    colorDisabled[] = {0.5,0.5,0.5,0.2};

    color[] = {1,1,1,0.4};

    arrowEmpty = "\A3\ui_f\data\gui\cfg\slider\arrowEmpty_ca.paa";
    arrowFull = "\A3\ui_f\data\gui\cfg\slider\arrowFull_ca.paa";
    border = "\A3\ui_f\data\gui\cfg\slider\border_ca.paa";
    thumb = "\A3\ui_f\data\gui\cfg\slider\thumb_ca.paa";
};

class grad_replay_RscProgress {
    type = 8;
    style = 0;
    colorFrame[] = {0,0,0,0};
    colorBar[] = {1,1,1,1};
    texture = "#(argb,8,8,3)color(1,1,1,1)";
    x = 0;
    y = 0;
    w = 1;
    h = 0.03;
};

class grad_replay_RscStructuredText
{
    access = 0;
    idc = -1;
    type =  CT_STRUCTURED_TEXT;
    style = ST_MULTI;
    lineSpacing = 0.5;
    colorBackground[] = {-1,-1,-1,0};
    colorText[] = {1,1,1,0.7};
    size = 0.038;
    text = "";
    fixedWidth = 0;
    x = 0;
    y = 0;
    h = 0;
    w = 0;
    shadow = 0;
};

class grad_replay_RscStructuredTextTooltip
{
    access = 0;
    idc = -1;
    type =  CT_STRUCTURED_TEXT;
    style = ST_MULTI;
    lineSpacing = 0.5;
    colorBackground[] = {-1,-1,-1,0};
    colorText[] = {1,1,1,0.7};
    size = 0.028;
    text = "";
    fixedWidth = 0;
    x = 0;
    y = 0;
    h = 0;
    w = 0;
    shadow = 0;
};

class grad_replay_RscStructuredTextHeadline
{
    access = 0;
    idc = -1;
    type =  CT_STRUCTURED_TEXT;
    style = ST_CENTER;
    colorBackground[] = {-1,-1,-1,0};
    colorText[] = {0.5,0.5,0.5,1};
    size = 0.048;
    text = "";
    fixedWidth = 0;
    x = 0;
    y = 0;
    h = 0;
    w = 0;
    shadow = 0;
    font = "puristaMedium";
};


class grad_replay_RscText
{
    access = 0;
    idc = -1;
    type = CT_STATIC;
    style = ST_MULTI;
    linespacing = 1;
    colorBackground[] = {0,0,0,0};
    colorText[] = {1,1,1,0.5};
    text = "";
    shadow = 0;
    font = "PuristaLight";
    SizeEx = 0.02300;
    fixedWidth = 0;
    x = 0;
    y = 0;
    h = 0;
    w = 0;

};

class grad_replay_RscPicture
{
    access = 0;
    idc = -1;
    type = CT_STATIC;
    style = ST_PICTURE;
    colorBackground[] = {0,0,0,0};
    colorText[] = {1,1,1,1};
    font = "PuristaLight";
    sizeEx = 0;
    lineSpacing = 0;
    text = "";
    fixedWidth = 0;
    shadow = 0;
    x = 0;
    y = 0;
    w = 0.2;
    h = 0.15;
};

class grad_replay_RscButton
{

   access = 0;
    type = CT_BUTTON;
    text = "";
    colorText[] = {1,1,1,.9};
    colorDisabled[] = {0.4,0.4,0.4,1};
    colorBackground[] = {0.75,0.75,0.75,0.8};
    colorBackgroundDisabled[] = {0,0.0,0};
    colorBackgroundActive[] = {0.75,0.75,0.75,1};
    colorFocused[] ={0.75,0.75,0.75,0.8};
    colorShadow[] = {0.023529,0,0.0313725,1};
    colorBorder[] = {0.023529,0,0.0313725,1};
    soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter", 0.09, 1};
    soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush", 0.09, 1};
    soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick", 0.09, 1};
    soundEscape[] = {"\A3\ui_f\data\sound\ReadOut\ReadoutHideClick1",0.09,1};
    style = 2; //2
    x = 0;
    y = 0;
    w = 0.055589;
    h = 0.039216;
    shadow = 2;
    font = "PuristaLight";
    sizeEx = 0.03921;
    offsetX = 0.003;
    offsetY = 0.003;
    offsetPressedX = 0.002;
    offsetPressedY = 0.002;
    borderSize = 0;
    period = 0;
};

class grad_replay_RscButtonSmall
{

    access = 0;
    type = CT_BUTTON;
    text = "";
    colorText[] = {1,1,1,.9};
    colorDisabled[] = {0.4,0.4,0.4,1};
    colorBackground[] = {0.75,0.75,0.75,0.8};
    colorBackgroundDisabled[] = {0,0.0,0};
    colorBackgroundActive[] = {0.75,0.75,0.75,1};
    colorFocused[] = {0.75,0.75,0.75,0.8};
    colorShadow[] = {0.023529,0,0.0313725,1};
    colorBorder[] = {0.023529,0,0.0313725,1};
    soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter", 0.09, 1};
    soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush", 0.09, 1};
    soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick", 0.09, 1};
    soundEscape[] = {"\A3\ui_f\data\sound\ReadOut\ReadoutHideClick1",0.09,1};
    style = 2;
    x = 0;
    y = 0;
    w = 0.055589;
    h = 0.039216;
    shadow = 0;
    font = "PuristaLight";
    size = 0.03921;
    sizeEx = 0.02921;
    offsetX = 0.003;
    offsetY = 0.003;
    offsetPressedX = 0.002;
    offsetPressedY = 0.002;
    borderSize = 0;
};

class grad_replay_RscFrame
{
    type = CT_STATIC;
    idc = -1;
    style = ST_FRAME;
    shadow = 2;
    colorBackground[] = {1,1,1,1};
    colorText[] = {1,1,1,0.9};
    font = "PuristaLight";
    sizeEx = 0.03;
    text = "";
};

class grad_replay_RscBackground
{
   type = CT_STATIC;
    idc = -1;
    style = ST_CENTER;
    shadow = 2;
    colorText[] = {1,1,1,1};
    font = "PuristaLight";
    sizeEx = 0.02;
    colorBackground[] = { 0,0,0, 0.8 };
    text = "";

};
class grad_replay_RscModel {
        onObjectMoved = "systemChat str _this";
        idc = -1;
        type = CT_OBJECT_CONTAINER;
        model = "\A3\Structures_F\Items\Food\Can_V3_F.p3d";
        scale = 10;
        direction[] = {0, -0.35, -0.65};
        up[] = {0, 0.65, -0.35};

        position[] = {0,0,0.2};
        x = 0.5; y = 0.5; z = 0.2;
        positionBack[] = {0,0,1.2};
        xBack = 0.5; yBack = 0.5; zBack = 1.2;
        inBack = 1;
        enableZoom = 1;
        zoomDuration = 0.001;
};
class grad_replay_RscCombo {
        access = 0;
        type = 4;
        colorSelect[] =
        {         0,            0,            0,            1
        };
        colorText[] =
        {
            0.95,            0.95,            0.95,            1
        };
        colorBackground[] =
        {
            0,            0,            0,            1
        };
        colograd_replay_rScrollbar[] =
        {
            1,            0,            0,            1
        };
        soundSelect[] =
        {
            "\A3\ui_f\data\sound\grad_replay_RscCombo\soundSelect",
            0.1,
            1
        };
        soundExpand[] =
        {
            "\A3\ui_f\data\sound\grad_replay_RscCombo\soundExpand",
            0.1,
            1
        };
        soundCollapse[] =
        {
            "\A3\ui_f\data\sound\grad_replay_RscCombo\soundCollapse",
            0.1,
            1
        };
        maxHistoryDelay = 1;
        class ScrollBar
        {
            color[] =
            {
                1,                1,                1,                0.6
            };
            colorActive[] =
            {
                1,                1,                1,                1
            };
            colorDisabled[] =
            {
                1,                1,                1,                0.3
            };
            shadow = 0;
            thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
            arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
            arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
            border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
        };
        style = 16;
        x = 0;
        y = 0;
        w = 0.12;
        h = 0.035;
        shadow = 0;
        colorSelectBackground[] =
        {
            1,
            1,
            1,
            0.7
        };
        arrowEmpty = "\A3\ui_f\data\GUI\grad_replay_RscCommon\grad_replay_rsccombo\arrow_combo_ca.paa";
        arrowFull = "\A3\ui_f\data\GUI\grad_replay_RscCommon\grad_replay_rsccombo\arrow_combo_active_ca.paa";
        wholeHeight = 0.45;
        color[] =
        {
            1,
            1,
            1,
            1
        };
        colorActive[] =
        {
            1,
            0,
            0,
            1
        };
        colorDisabled[] =
        {
            1,
            1,
            1,
            0.25
        };
        font = "PuristaMedium";
        sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
      class ComboScrollBar : ScrollBar
       {
        color[] = {1,1,1,0.6};
        colorActive[] = {1,1,1,1};
        colorDisabled[] = {1,1,1,0.3};
        thumb = "#(argb,8,8,3)color(1,1,1,1)";
        arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
        arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
        border = "#(argb,8,8,3)color(1,1,1,1)";
        shadow = 0;
       };
};

class grad_replay_RscMapControl
{
  access = 0;
  idc = -1;
  type = CT_MAP_MAIN;
  style = ST_PICTURE;

  x = 0.10;
  y = 0.10;
  w = 0.80;
  h = 0.60;
  widthRailWay = 1;
  moveOnEdges = 0;
    shadow = 1;
    ptsPerSquareSea = 5;
    ptsPerSquareTxt = 3;
    ptsPerSquareCLn = 10;
    ptsPerSquareExp = 10;
    ptsPerSquareCost = 10;
    ptsPerSquareFor = 9;
    ptsPerSquareForEdge = 9;
    ptsPerSquareRoad = 6;
    ptsPerSquareObj = 9;
    showCountourInterval = 1;
    scaleMin = 0.001;
    scaleMax = 1.0;
    scaleDefault = 0.16;
    maxSatelliteAlpha = 0.4;
    alphaFadeStartScale = 1;
    alphaFadeEndScale = 1;
    colorBackground[] = {0.969,0.957,0.949,1.0};
    colorSea[] = {0.467,0.631,0.851,0.5};
    colorForest[] = {0.624,0.78,0.388,0.5};
    colorForestBorder[] = {0.0,0.0,0.0,0.0};
    colorRocks[] = {0.0,0.0,0.0,0.3};
    colorRocksBorder[] = {0.0,0.0,0.0,0.0};
    colorLevels[] = {0.286,0.177,0.094,0.5};
    colorMainCountlines[] = {0.572,0.354,0.188,0.5};
    colorCountlines[] = {0.572,0.354,0.188,0.25};
    colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6};
    colorCountlinesWater[] = {0.491,0.577,0.702,0.3};
    colorPowerLines[] = {0.1,0.1,0.1,1.0};
    colorRailWay[] = {0.8,0.2,0.0,1.0};
    colorNames[] = {0.1,0.1,0.1,0.9};
    colorInactive[] = {1.0,1.0,1.0,0.5};
    colorOutside[] = {0.0,0.0,0.0,1.0};
    colorTracks[] = {0.84,0.76,0.65,0.15};
    colorTracksFill[] = {0.84,0.76,0.65,1.0};
    colorRoads[] = {0.7,0.7,0.7,1.0};
    colorRoadsFill[] = {1.0,1.0,1.0,1.0};
    colorMainRoads[] = {0.9,0.5,0.3,1.0};
    colorMainRoadsFill[] = {1.0,0.6,0.4,1.0};
    colorGrid[] = {0.1,0.1,0.1,0.6};
    colorGridMap[] = {0.1,0.1,0.1,0.6};
    fontLabel = "PuristaMedium";
    sizeExLabel = "(            (            (            ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
    fontGrid = "TahomaB";
    sizeExGrid = 0.02;
    fontUnits = "TahomaB";
    sizeExUnits = "(            (            (            ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
    fontNames = "PuristaMedium";
    sizeExNames = "(            (            (            ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2";
    fontInfo = "PuristaMedium";
    sizeExInfo = "(            (            (            ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
    fontLevel = "TahomaB";
    sizeExLevel = 0.02;

    colorText[] = {1,1,1,1.0};
    font = "PuristaMedium";
    text = "#(argb,8,8,3)color(1,1,1,1)";
    SizeEx = "(            (            (            ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
    //size = "(            (            (            ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

    class Legend
    {
        x = "SafeZoneX +                     (            ((safezoneW / safezoneH) min 1.2) / 40)";
        y = "SafeZoneY + safezoneH - 4.5 *                     (            (            ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
        w = "10 *                     (            ((safezoneW / safezoneH) min 1.2) / 40)";
        h = "3.5 *                     (            (            ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
        font = "PuristaMedium";
        sizeEx = "(            (            (            ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
        colorBackground[] = {1,1,1,0.5};
        color[] = {0,0,0,1};
    };
    class Task
    {
        icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa";
        iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa";
        iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa";
        iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa";
        iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa";
        color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"};
        colorCreated[] = {1,1,1,1};
        colorCanceled[] = {0.7,0.7,0.7,1};
        colorDone[] = {0.7,1,0.3,1};
        colorFailed[] = {1,0.3,0.2,1};
        size = 27;
        importance = 1;
        coefMin = 1;
        coefMax = 1;
    };
    class Waypoint
    {
        icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
        color[] = {0,0,0,1};
        size = 27;
        importance = 1;
        coefMin = 1;
        coefMax = 1;
    };
    class WaypointCompleted
    {
        icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa";
        color[] = {0,0,0,1};
        size = 27;
        importance = 1;
        coefMin = 1;
        coefMax = 1;
    };
    class CustomMark
    {
        icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa";
        size = 24;
        importance = 1;
        coefMin = 1;
        coefMax = 1;
        color[] = {0,0,0,1};
    };
    class Command
    {
        icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
        size = 18;
        importance = 1;
        coefMin = 1;
        coefMax = 1;
        color[] = {1,1,1,1};
    };
    class Bush
    {
        icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
        color[] = {0.45,0.64,0.33,0.4};
        size = "14/2";
        importance = "0.2 * 14 * 0.05 * 0.05";
        coefMin = 0.25;
        coefMax = 4;
    };
    class Rock
    {
        icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa";
        color[] = {0.1,0.1,0.1,0.8};
        size = 12;
        importance = "0.5 * 12 * 0.05";
        coefMin = 0.25;
        coefMax = 4;
    };
    class SmallTree
    {
        icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
        color[] = {0.45,0.64,0.33,0.4};
        size = 12;
        importance = "0.6 * 12 * 0.05";
        coefMin = 0.25;
        coefMax = 4;
    };
    class Tree
    {
        icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
        color[] = {0.45,0.64,0.33,0.4};
        size = 12;
        importance = "0.9 * 16 * 0.05";
        coefMin = 0.25;
        coefMax = 4;
    };
    class busstop
    {
        icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class fuelstation
    {
        icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class hospital
    {
        icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class church
    {
        icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class lighthouse
    {
        icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class power
    {
        icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class powersolar
    {
        icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class powerwave
    {
        icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class powerwind
    {
        icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class quay
    {
        icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class shipwreck
    {
        icon = "\A3\ui_f\data\map\mapcontrol\shipwreck_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class transmitter
    {
        icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class watertower
    {
        icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {1,1,1,1};
    };
    class Cross
    {
        icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {0,0,0,1};
    };
    class Chapel
    {
        icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa";
        size = 24;
        importance = 1;
        coefMin = 0.85;
        coefMax = 1.0;
        color[] = {0,0,0,1};
    };
    class Bunker
    {
        icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
        size = 14;
        importance = "1.5 * 14 * 0.05";
        coefMin = 0.25;
        coefMax = 4;
        color[] = {0,0,0,1};
    };
    class Fortress
    {
        icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
        size = 16;
        importance = "2 * 16 * 0.05";
        coefMin = 0.25;
        coefMax = 4;
        color[] = {0,0,0,1};
    };
    class Fountain
    {
        icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa";
        size = 11;
        importance = "1 * 12 * 0.05";
        coefMin = 0.25;
        coefMax = 4;
        color[] = {0,0,0,1};
    };
    class Ruin
    {
        icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa";
        size = 16;
        importance = "1.2 * 16 * 0.05";
        coefMin = 1;
        coefMax = 4;
        color[] = {0,0,0,1};
    };
    class Stack
    {
        icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa";
        size = 20;
        importance = "2 * 16 * 0.05";
        coefMin = 0.9;
        coefMax = 4;
        color[] = {0,0,0,1};
    };
    class Tourism
    {
        icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa";
        size = 16;
        importance = "1 * 16 * 0.05";
        coefMin = 0.7;
        coefMax = 4;
        color[] = {0,0,0,1};
    };
    class ViewTower
    {
        icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa";
        size = 16;
        importance = "2.5 * 16 * 0.05";
        coefMin = 0.5;
        coefMax = 4;
        color[] = {0,0,0,1};
    };

    class ActiveMarker
    {
        //icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa";
        size = 24;
        importance = 1;
        coefMin = 1;
        coefMax = 1;
        color[] = {0,0,0,1};
    };
   class LineMarker { lineDistanceMin = 3e-005; lineLengthMin = 5; lineWidthThick = 0.014; lineWidthThin = 0.008; textureComboBoxColor = "#(argb,8,8,3)color(1,1,1,1)"; };
};
class playbackControl {
    duration = 99999;
    idd = 80000;
    movingenable = 0;
    showOverMap = 0;
    enableSimulation = 0;

    class controlsBackground
        {
            class backgroundMap : grad_replay_RscMapControl {
                idc = 1337;
                x = safezoneXAbs;
                y = safezoneY;
                w = safezoneWAbs;
                h = safezoneH;
            };
        };


    class controls {

        // this can't be a controlsBackground class, or it will disappear while slider is unselected
        class dlgBackground: grad_replay_RscBackground
        {
            idc = 1336;
            x = "SafeZoneX + (160 / 1920) * SafeZoneW";
            y = "SafeZoneY + (910 / 1080) * SafeZoneH";
            w = "(1600 / 1920) * SafeZoneW";
            h = "(40 / 1080) * SafeZoneH";
            colorBackground[] = {0,0,0,0.8};
        };

        // A slider to change the overcast value (look at grad_replay_RscXSlider - more pretty version of RscSlider)
        class overcastSlider: grad_replay_RscSlider {
            idc = 80003;
            x = "SafeZoneX + (160 / 1920) * SafeZoneW";
            y = "SafeZoneY + (920 / 1080) * SafeZoneH";
            w = "(1600 / 1920) * SafeZoneW";
            h = "(20 / 1080) * SafeZoneH";
            // type = CT_XSLIDER;
            // style = SL_HORZ;
            color[] = {1,1,1,1};
            colorActive[] = {1,1,1,1}; // {0.8,0.5,0.1,1};
            colorDisabled[] = {0.5,0.5,0.5,0.2};

            colorFocused[] = {1,1,1,0.4};
            colorBackground[] = {1,1,1,0.4};
            colorBackgroundDisabled[] = {1,1,1,0.4};
            thumb = "#(argb,8,8,3)color(0.8,0.5,0.1,1)";
            arrowEmpty = "#(argb,8,8,3)color(0,0,0,0)";
            arrowFull = "#(argb,8,8,3)color(0,0,0,0)";
            border = "#(argb,8,8,3)color(1,1,1,1)";
            shadow = 0;
            vspacing = 0.5;
            tooltip = "Set replay position";
            onSliderPosChanged = "[_this] call GRAD_replay_fnc_onPlaybackPosChanged"; // added onSliderPosChanged event handler
        };

        class timeDisplay: grad_replay_RscStructuredText {

            idc = 80004;
            access = 0;
            type = CT_STRUCTURED_TEXT;
            style = ST_LEFT;
            colorBackground[] = {0,0,0,0.85};

            size = 0.1;
            text = "00:00:00";
            class Attributes {
                font = "RobotoCondensed";
                color = "#ffffff";
                align = "center";
                valign = "middle";
                shadow = false;
                shadowColor = "#ff0000";
                size = "0.5";
            };

            x = "SafeZoneX + (1760 / 1920) * SafeZoneW";
            y = "SafeZoneY + (910 / 1080) * SafeZoneH";
            w = "(120 / 1920) * SafeZoneW";
            h = "(40 / 1080) * SafeZoneH";
        };

        class playPauseDisplay: grad_replay_RscPicture {

            idc = 80005;
            access = 0;
            colorBackground[] = {0,0,0,0.85};

            text = "node_modules\@gruppe-adler\replay\ui\pause.paa";

            x = "SafeZoneX + (120 / 1920) * SafeZoneW";
            y = "SafeZoneY + (910 / 1080) * SafeZoneH";
            w = "(40 / 1920) * SafeZoneW";
            h = "(40 / 1080) * SafeZoneH";
        };
    };
};
GGATCGVA   dddpGGATCXAM   GGATGALF      GGATSFFO@         K  '[  ._  5`  |`                                          
   A  )          <         <      %< Q T  += U     < & I$IDm۶1~$%~'= R} -> , +?,,>'  (|;=    T)  Gw5k6$mM'< ̆\'? ̅)+?  ]? @*< )\MI$+,>' .  }i  Yz(  1)?E! m _? E ,C  
))M   i&$P*~ | ?  *< $̄)1H   )_Ia/@e4L)}  /| = ,|@̲I$+?  0_[6'?  n| ? --ۡ  +$Mg3h)=  o< N<1̳I$,$  u".m#A6b%K$  | < ÁI$,>	  xz}3a'^}$H   >= \I$+	 Q< ,-</>b%   ,>< >̙)=, F0 _7f   J>= !| 	d  8!Va6c%'  0|}   >  -~a]!}a  #=%'|0   n?q `)> !@ !@ @6c$n   j|/ ? @̡!PD !|/6b3' ~/"?$rE!!9  E=b>= G< |̰Mہ $Fb&H 
ȿ))**(? ||^p  <*2=]}@ <%	I !>מ?' <Op p_'u@ 85=  Y@  ` `\8 =# }@@  P O$H& @%` |? H   H  # = .<)	 H#=_'|E@   )= IeO$ 6̶i;6b/   -< 7̴ہ vc$Vb&    
̩ n$J  
  IId &#=;̄ ?  ̅,<@i E{i(    -< F=۵ ̶k;c#    * J$H' *!|#b+    *+́ؑ ^|H     *^|H   IH     ,/h&H  +!/    -+!/ !/!O    ,x!O$ ocg    ,o]۳ o!cm(R    v  & i K$H    !DI -   fb%Fb7    
		 7#!H@    
8̙رM BE  <@  *?I H' . H&P4   	IЉ@` PI'=t  > O3P P^mYO !O~8O*PP   Pa  (<h$L p%L?fb  p|'@mA pX GPtp^9 pX\,
 p[@# |%I	     6c#i' < "<8AE'=  \ A=>= K< +̡ش .  AJ&Fb3 <  @I	     6b{m'~Q   
 { A 'Á=۶m     1Vb3k(|0 P {@Aa  (
ڵ  .   Kb&vc#   i!ЩY@0 0*}>_$V " : 09(>
H2  8.  {6b)}5~Fb   *} }	(	 #<?  (/?v6b*|!U$V   =B^}d)vm S  . +-0!| &6c{'t   <Q=(N\A=( E</  H> 1h!}ae,q   9 ,(Iڲ a<  h. +=A@$Fc['<	 | o}A_),' c.  >  `b)=	$]M$H'=
  /|-}}%-	A(<P |  >   '*8I$(9 F |! 0)*>  s<>  >  I ɑ*<8Lbc*ny'} Mbh'}  n,I:)< @)I8*I x tM  '+< h   = &܇DcX|Mb)= &H)= R]@,> " , "+>I
*|D`*= &w  (|:< )         <         <     <      @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     `            U            U            U            U            U            U            U            U            U            U I$I    U)mm۶5    U|m۶6    U|m۶    U)mm۶    U I$I$    U            U            U            U            U            U            U            U            U            U            U            	                                                          ````                                                                                    !zm۶m#    
̶mX$    0̶!&I$    _                                                 _X        0̰PI$    
̶$    !zm۶                                                                                                  				                                                          ````                                                            K I$I     I|'      ,`$I$                                                                                                        ,	$I$     I' @    K I$I$                                                                          				                                                          ````                                                j̶m۶a/     `                                                                                                                                                           j̶m۰                                                              				                                                          ````                                    m6b$                                                                                                                                                                             @       ہ                                                  				                                                          ````                        j̶m۶g#                                                                                                                                                                                                 @       j̶m۳                                      				                                                          ````            J I$I     1p                                                                                                                                                                                                                     Nm۰                          				                                                          ````             ɕ9                                                                                    I$IB   UUUI$I&  UUUX                    I$I  UUU%I$I  UUU                                                                                 z&,                          				                                                          ````!zm۶a;    ,H$I$                                                                          I  5         ?9`                      9	           K&P%  \PPP                                                                      -II$    !zm۰              				                                                          ````
6b/vc$                                                                                    @@                }@@@@                      }              PPPP                                                                                ́٩              				                                                          ````2Vb&N$                                                                                    @@                }@@@@                      }              PPPP                                                                                2̉I              				                                                 I$I  ````bP                                                                                       @@                }@@@@                      }              PPPP                                                                                b        I$I$  				                                                 p  
   ````                                                                                          @@                }@@@@                      }              PPPP                                                                                          *p=۵  				                                                a{k;  ````                                                                                          @@                }@@@@                      }              PPPP                                                                                          M۱  				                                                cg  ````                                                                                          @@                }@@@@                      }              PPPP                                                                                          ]۳  				                                                 p  `  ````                                                                                          @@                }@@@@                      }              PPPP                                                                                          *p]۳  				                                                 I$I$  ````b 0                                                                                      @@                }@@@@                      }              PPPP                                                                                b  ` 
      H$I$  				                                                          ````2H$fb%                                                                                    @@                }@@@@                      }              PPPP                                                                                2I	              				                                                          ````Fb7b#                                                                                    @@                }@@@@                      }              PPPP                                                                                	ڙ              				                                                          ````!zcm    -I$L$                                                                          ̉	d  5         ?9  `                    9  	         P%`$  PPP\                                                                      -I$I    "z۶m              				                                                          ````             	\                                                                                    $I$  UUU`$I$  XUUU                    	$I$  %UUU $I$  UUU                                                                                 <`'                          				                                                          ````            K I$I$      0                                                                                                                                                                                                                `8    N۶m                          				                                                          ````                        j6b{m                                                                                                                                                                                                   (    ḱ=۶m                                      				                                                          ````                                     Fb#a                                                                                                                                                                               (     	ذm                                                  				                                                          ````                                                mbm                                                                                                                                                            =    n̙۶m                                                              				                                                          ````                                                            K I$I$     pɗ$    ,I$I&                                                                                                        ,I$I      {$    Km۶m                                                                          				                                                          ````                                                                                    !z6b۶m    
I5a    0I$bb    _I$I5                                            _I$I    0I$	    
Im    !zm۶m                                                                                                  				                                                          `            U            U            U            U            U            U            U            U            U            U   I$I$  U  )mXc۶m  U  }`c۶m  U  })a۶m  U  )m`۶m  U   H$I$  U            U            U            U            U            U            U            U            U            U            U            	                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          @ @                                                                                                                                                                                                                          XX           UU           UU           UUm۶a1   UU9̶mX$   jUU̶II$   UUU̶-	I$   UUU9̶m$   UUm۰   UU           UU           UU           UU           *%%                                  XXXX            sm۶m#    ̶e0J$    ̕                                                 ̕         ̲I$    sm۶                          %%%%                                  XXXXsm۶a;    6b%H$                                                                                    ́I$    sm۰              %%%%                                  XXXX̶b$f$                                  I$I   UUUI$I$  UUUTI$I  UUUI$I$  UUUP                              ̑	D              %%%%                        m[i#  XXXX̕                                       ȏ  	'    XPPP @  %?  `@@@                              ̕         -۴  %%%%                        96b/vc'  XXXT                                        ȏȏ      PPPP@@    @@@@                                        :́٩  %%%                        Fb%Vb%  TTTT                                        ȏȏ      PPPP@@    @@@@                                        	ȉ                          Vb%Vb$  TTTT                                        ȏȏ      PPPP@@    @@@@                                        ̉ȉ                          :vb7b#  TXXX                                        ȏȏ      PPPP@@    @@@@                                        :̉ڙ  %%%                        6be  XXXX̕                                       ȏ  	 p  PPPX@@  %  @@@`                              ̕          M۲m  %%%%                                  XXXXJb&Fb+                                  	$I$  UUUH$I$  TUUUI$I$  UUU@$I$  PUUU                              I	              %%%%                                  XXXXscm     0                                                                                       `%    s۶m              %%%%                                  XXXX            t6b۶m    I$c[    ̕                                                 ̕          ID!,    tm۶m                          %%%%                                  XX           UU           UU           UU cm  UU :I5m  UUj I$d  UUU I$`  UUU :Im  UU ۶m  UU           UU           UU           UU           %%*                                                                                                                                                                                                                               `            U
Pm۶m#    U I$?     VU I$`    U
Pm۶    U            U            	          ````m6b$    _F$I$                        _)I$    ہ              				
Pm۶a;  ````_f$M$                 {  UUBB   ȇ  UU          `	I$    
Pm۰  				 Iɑ  `PPP                      BBBB??                       K$x'  	 ɑId  PPP`                      BBBB??                       x'H$  	
Pcm  `````I$Hb&                   BBUU|     UU          `II    
P۶m  				          ````Fb#a    `I$Lb4                        `I$I    	ذm              				          `            U  
P6b۶m  U   I$  UV    'I$  U  
Pm۶m  U            U            	      m۶a#   XX I     VUU I>     UUm۰   *%% 	)  XTTT  @  U     UPPP `<@0  % !9  TTTX@@   U     PPPU  4&  %6bm  XX   @ y$  UUV    $  UU ۶m  %%*   @  2̶a4n  PT2̰I  VT2H&Fc  TP2O)ۻ  TV    oH`q  UAAU      GGATCGVA   eeepGGATCXAM   GGATGALF      GGATSFFO@        L  \  `  a  a                                              A  )          <         <      %< Q T  += U     < & I$IDm۶1~$%~'= R} -> , +?,,>'  (|;=    T)  Gw5k6$mM'< ̆\'? ̅)+?  ]? @*< )\MI$+,>' .  }i  Yz(  1)?E! m _? E ,C  
))M   i&$P*~ | ?  *< $̄)1H   )_Ia/@e4L)}  /| = ,|@̲I$+?  0_[6'?  n| ? --ۡ  +$Mg3h)=  o< N<1̳I$,$  u".m#A6b%K$  | < ÁI$,>	  xz}3a'^}$H   >= \I$+	 Q< ,-</>b%   ,>< >̙)=, F0 _7f   J>= !| 	d  8!Va6c%'  0|}   >  -~a]!}a  #=%'|0   n?q `)> !@ !@ @6c$n }/՛ 49$$9bT  p?@̡!PD !|/6b3' |/h$J#~	  ̘`-x |z8}~Tp  p|̰Mہ $Fb&H  	<O H IJ@ ./ s@~IWtUVX  `<%	I !>מ?'  <O>/= |	p?tWX` %0E)  G0-P O$H& @%`  n =< \p 'Y  F< )	 H#=_'|E@   //<p]RU! 1  1<E )= IeO$ 6̶i;6b/  ( ?.> #0B E)"QI$h0W\`  0<7̴ہ vc$Vb&  /= &?AY@  !\! 1 L !0W  |̩ n$J  * `>< K= aVP %~Q{  =AKId &#=;̄  ? .< `, ^A!a S # ! 1 ,<@i E{i(  /|8 .}Q&?A  `A]$9#\ F=۵ ̶k;c#  .= '{  J!}' *!|#b+   	8~& +! <A+́ؑ ^|H    ?|QJ'`&wV\X =^|H   IH    )f
 MkX@p\TWU /h&H  +!/   f`P[} \!>TU //!/ !/!O   	?q"|?!D`Xp">`\W Ѽ0x!O$ ocg  oGP#< XVH~}-k]EU /o]۳ o!cm(R   ^ @/
8zp\ |/= v  & i K$H  .= v ,@`? #~`\ |N 1DI -   fb%Fb7  |=ߖP`".uX > < 		 7#!H@  l|~p\x#> > < 8̙رM BE   <@ 0!>P!}}!m'0_!!/%~N  6a)?I H' . &P4  X'>c}} XV  2|=< 	IЉ@` PI'=t   
<  fp/Pe< <z Pa  (<h$L p%L?fb Ap&<w`X%=} <x pI	     6c#i' < 	#m!=$m ^U%>c  7>) +̡ش .  AJ&Fb3  Y
 I@I	     6b{m'~Q   * [ A 'Á=۶m     1Vb3k(|0  P [@Aa  (
ڵ  .   Kb&vc#   i!ЩY@0 0*}>_$V B  09(>
H2  8.  {6b)}5~Fb   *} }	(	 #<?  (/?v6b*|!U$V   =B^}d)vm S  . +-0!| &6c{'t   <Q=(N\A=( E</  H> 1h!}ae,q   9 ,(Iڲ a<  h. +=A@CFc['<	 | ^}A_),' c.  >  `b)=	$]M$H'=
  /|-}}%-	A(<P |  >   '*8I$(9 F |! 0)*>  s<>  >  I ɑ*<8Lbc*ny'} Mbh'}  n,I:)< @)I8*I x tM  '+< !8  != &܇DcX|Mb)= &H)= R]@,> " , "+>I
*|D`*= &w  (|:< )         <         <     <      @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     `            U            U            U            U            U            U            U            U            U            U I$I    U)mm۶5    U|m۶6    U|m۶    U)mm۶    U I$I$    U            U            U            U            U            U            U            U            U            U            U            	                                                          ````                                                                                    !zm۶m#    
̶mX$    0̶!&I$    _                                                 _X        0̰PI$    
̶$    !zm۶                                                                                                  				                                                          ````                                                            K I$I     I|'      ,`$I$                                                                                                        ,	$I$     I' @    K I$I$                                                                          				                                                          ````                                                j̶m۶a/     `                                                                                                                                                           j̶m۰                                                              				                                                          ````                                    m6b$                                                                                                                                                                             @       ہ                                                  				                                                          ````                        j̶m۶g#                                                                                                                                                                                                 @       j̶m۳                                      				                                                          ````            J I$I     1p                                                                                                                                                                                                                     Nm۰                          				                                                          ````             ɕ9                                                                                      @@  UU%%   !!UUX@                                                                                                                         z&,                          				                                                          ````!zm۶a;    ,H$I$                                                                                    @@  %%%%     <@   O'@`  WX`I$I$  UUUT                                                                                                    -II$    !zm۰              				                                                          ````
6b/vc$                                                                                              @@  %%%%                      \p I$I$  UUUT                                                                                                    ́٩              				                                                          ````2Vb&N$                                                                                              @@  %%%%                              X   !X        UUVX                                                                                          2̉I              				                                                 I$I  ````bP                                                                                                 @@  %%%%                                        ?`        UW\`                                                                                b        I$I$  				                                                 p  
   ````                                                                                                    @@  %%%%                                                       @   I'!UTp                                                                                *p=۵  				                                                a{k;  ````                                                                                                    @@  %%%%                                                                     ?  VX`@                                                                      M۱  				                                                cg  ````                                                                                                    @@  %%%%                                                                  u   @ =K$\  @pTU                                                                      ]۳  				                                                 p  `  ````                                                                                                    @@  %%%%                                                  b   `    `\WU                                                                                *p]۳  				                                                 I$I$  ````b 0                                                                                                @@  %%%%                                          @%  X@      XVUU                                                                                b  ` 
      H$I$  				                                                          ````2H$fb%                                                                                              @@  %%%%                              gP    p\H$I$u  TUUU                                                                                          2I	              				                                                          ````Fb7b#                                                                                              @@  %%%%                <   @ 4r$  `\WH$I$  VUUU                                                                                                    	ڙ              				                                                          ````!zcm    -I$L$                                                                                    @@  %%%%     (Mk   @    `XVU                                                                                                              -I$I    "z۶m              				                                                          ````             	\                                                                                    	I$  %UU       pWUU                                                                                                                         <`'                          				                                                          ````            K I$I$      0                                                                                                                                                                                                                `8    N۶m                          				                                                          ````                        j6b{m                                                                                                                                                                                                   (    ḱ=۶m                                      				                                                          ````                                     Fb#a                                                                                                                                                                               (     	ذm                                                  				                                                          ````                                                mbm                                                                                                                                                            =    n̙۶m                                                              				                                                          ````                                                            K I$I$     pɗ$    ,I$I&                                                                                                        ,I$I      {$    Km۶m                                                                          				                                                          ````                                                                                    !z6b۶m    
I5a    0I$bb    _I$I5                                            _I$I    0I$	    
Im    !zm۶m                                                                                                  				                                                          `            U            U            U            U            U            U            U            U            U            U   I$I$  U  )mXc۶m  U  }`c۶m  U  })a۶m  U  )m`۶m  U   H$I$  U            U            U            U            U            U            U            U            U            U            U            	                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          @ @                                                                                                                                                                                                                          XX           UU           UU           UUm۶a1   UU9̶mX$   jUU̶II$   UUU̶-	I$   UUU9̶m$   UUm۰   UU           UU           UU           UU           *%%                                  XXXX            sm۶m#    ̶e0J$    ̕                                                 ̕         ̲I$    sm۶                          %%%%                                  XXXXsm۶a;    6b%H$                                                                                    ́I$    sm۰              %%%%                                  XXXX̶b$f$                                  I$I  UUU    ]  UUUX                                                  ̑	D              %%%%                        m[i#  XXXX̕                                       II<    `  I$K=]  UU\p                                        ̕         -۴  %%%%                        96b/vc'  XXXT                                        II<            Q@    @ /G  UVX                                        :́٩  %%%                        Fb%Vb%  TTTT                                        II<                           @   p!WX`                              	ȉ                          Vb%Vb$  TTTT                                        II<                            Y   @    p\U                              ̉ȉ                          :vb7b#  TXXX                                        II<            9   `@'O$  `XWU                                        :̉ڙ  %%%                        6be  XXXX̕                                       II<  ?    p@      XVUU                                        ̕          M۲m  %%%%                                  XXXXJb&Fb+                                  I$I$  UUUH$I$  TUUU                                                  I	              %%%%                                  XXXXscm     0                                                                                       `%    s۶m              %%%%                                  XXXX            t6b۶m    I$c[    ̕                                                 ̕          ID!,    tm۶m                          %%%%                                  XX           UU           UU           UU cm  UU :I5m  UUj I$d  UUU I$`  UUU :Im  UU ۶m  UU           UU           UU           UU           %%*                                                                                                                                                                                                                               `            U
Pm۶m#    U I$?     VU I$`    U
Pm۶    U            U            	          ````m6b$    _F$I$                        _)I$    ہ              				
Pm۶a;  ````_f$M$                 Ui	I$I$  UUU\          `	I$    
Pm۰  				 Iɑ  `PPP                    ȏȏ  				     p        UUVX           K$x'  	 ɑId  PPP`                    ȏȏ  				    p@      XVUU           x'H$  	
Pcm  `````I$Hb&              )$  	}UH$I$  TUUU          `II    
P۶m  				          ````Fb#a    `I$Lb4                        `I$I    	ذm              				          `            U  
P6b۶m  U   I$  UV    'I$  U  
Pm۶m  U            U            	      m۶a#   XX I     VUU I>     UUm۰   *%% 	)  XTTT׀@  %%% 0 '  UWX` `<@0  % !9  TTTX(
 ]  %%%p    `XWU  4&  %6bm  XX   @ y$  UUV    $  UU ۶m  %%*   @  2̶a4n  PT2ΰI]  W\2H&Fc  TP2O)<  \W    oH`q  UAAU      # Auto detect text files and perform LF normalization
* text=auto

# Custom for Visual Studio
*.cs     diff=csharp

# Standard to msysgit
*.doc	 diff=astextplain
*.DOC	 diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot  diff=astextplain
*.DOT  diff=astextplain
*.pdf  diff=astextplain
*.PDF	 diff=astextplain
*.rtf	 diff=astextplain
*.RTF	 diff=astextplain
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

# =========================
# Operating System Files
# =========================

# OSX
# =========================

.DS_Store
.AppleDouble
.LSOverride

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
#ifndef MODULES_DIRECTORY
    #define MODULES_DIRECTORY modules
#endif

class GRAD_fortifications {
    class collision {
        file = MODULES_DIRECTORY\grad-fortifications\functions\collision;

        class checkCollisionPFH {};
        class getBoundingLines {};
        class getGroundLines {};
        class getVisualLines {};
        class isColliding {};
        class isOnGround {};
        class linesToWorld {};
        class shrinkLines {};
    };

    class common {
        file = MODULES_DIRECTORY\grad-fortifications\functions\common;

        class addFort {};
        class addVehicleInteractions {};
        class allowDemolition {};
        class allowPackUp {};
        class canTake {};
        class doAnimation {};
        class getDisplayName {};
        class getModuleRoot {};
        class getObjectSize {};
        class getVehicleInventorySize {};
        class initModule {postInit = 1;};
        class initSettings {preInit = 1;};
        class isOwner {};
        class isVehicle {};
        class removeFort {};
        class setBuildTimeFactor {};
        class setCollisionDebugMode {};
        class setDemolishTimeFactor {};
        class setPackUpTimeFactor {};
        class stopAnimation {};
        class storageAction {};
    };

    class drop {
        file = MODULES_DIRECTORY\grad-fortifications\functions\drop;

        class dropFort {};
        class initDropCrate {};
        class requestInteractionServer {};
        class respondInteractionClient {};
    };


    class place {
        file = MODULES_DIRECTORY\grad-fortifications\functions\place;

        class addKeyEHs {};
        class addMouseEHs {};
        class addUpdatePFH {};
        class cancelPlacement {};
        class demolish {};
        class initFort {};
        class packUp {};
        class placeFortification {};
        class removeAllEHs {};
        class setDirection {};
        class setPosition {};
        class setUp {};
        class spawnFortification {};
        class startPlacement {};
    };

    class ui {
        file = MODULES_DIRECTORY\grad-fortifications\functions\ui;

        class doBuild {};
        class doDrop {};
        class doTake {};
        class loadFortDialog {};
        class loadVehicleDialog {};
        class onSelChanged {};
        class openHint {};
        class rotateModel {};
        class updateButtons {};
        class updateHint {};
        class updateItemList {};
        class updateListTitles {};
        class updateModel {};
    };

    class vehicle {
        file = MODULES_DIRECTORY\grad-fortifications\functions\vehicle;

        class requestStoreTake {};
        class respondStoreTake {};
    };
};
GGATCGVA   GGATCXAM   GGATGALF      GGATSFFO@        I  
Y  ]  ^  _^                                          u   A  )          <         <         <     < 6  4öm۶tUU $涍5U\0` 
0I*|    2< 0	*^q)<uu@?| I$IU|aߞ	^+    {>  +|vP@}$}T  @~    | <  ptTPP@Ώ    .< #< "t0+>    ? Zf'| L @t$@U mۼUU $'   < ^Y )<X   ]Ua G{Pm!PU\%     6ba\aFn#݃ @_@- H"|aT_|!a˴!xq &t"#=B-<d   <  ?Y@|]AaؾaTPIe\e@oi |^ӏهPPT.F%Q   <>$<N1~vn6n;}  <`=۲TA L!qI#}B    =,~*Pϱ'`c{e'  H$H$P P*    }^P-`                     e(= @f } '= v $,}    0# W='   H    @!'< '|!vn    `	ځ]'@#='}`*#}    !>/?)${ve<(~`Q(<0`nb$vc#  ;P)ID).`J*} &\	    !3ҏ})|!/' -<@?(!a'~ =<   r?6(<(+P\	   #.'=,6o9<!,)> ,<  o    z/@ߝI%#ُ(|"= e'>ߔ    [,*<_`6b7) )| >> P4:<!po    Z|@s)?;I  '>   q )`@@    Kp()<KЏ 9<a7<M@o    :0"'=_p(}?Cs H]ہ'!`vnc[    +,@!m)|~k#vc$ Z"=  7 <   ?(,~?@_ gۇ(po 7    h                                            C-۳ ,Pca't  j  a< a(~*Pm a[g; ӱ}؟؜ - A  q_	նcnB0@\?tq-3#pw6hށUzo
Y   < Y{ @s^AP@@<@L<-@@	~3UP      a@LU6bʵgʀ< r IB' BD_!!AN I   < Y (< _]bU|aXqd    b< }l*%=    @@ }a    "<   @@~|vo|    ~ < u(<|ǯ&aP@>|R4o+$BXc	 U0f&'0v $    :< mq`'<4u@!	        <         <         <     <      @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             UU&Ķm6     mH        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        I    mI    &ĶmۃG    P             UUiޏ                                                                                                                                                                                                                                                                                                               }  P@@ n                                                                                                                                                                                                                                                                                                                n                                  "    @P7۶m   PUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU7om   UU#Fn;                                                      B    @@m[n  TKƖ    I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        K?    !ۗ  TPPC                                            0H?  @@@@(                                                                                                                                                                                                                                                  (?  @@@@0Ioo                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                          4?                                  `g?                    }                                                                                                                       (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                ?    n;e                                  `                                                                                                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                ؗ    4箽y    Po                         `           `I	$    ߁m۶    Hb۶                                                                                                             (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                      @    2bv             ;                        `                                                                                                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                      ؟X    o۶        $    m۶    0o               `                                                                                                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ            |?    vn                        d?    Pvo               `                                                                                                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ            Ï}    Ώ                                  0?    lo     `                                                                                                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                          0H?ÿ  @@@@(o                                                                                                                                                                                                                                                  (  @@@@0Io                                          B?  @@  vn  TLol        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $    L    }ٲm  PPTC                                                      "  P@  7۶m۰'  UUP  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU 7۶m۶  UU "c                                  n                                                                                                                                                                                                                                                                                                                n?    6o                                                                                                                                                                                                                                                                                                               ϧM   @@P          UU  &ocm     $m     $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $       m    &4ضm   P            UU                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  @ @                                                                                                                                                                                                         ,     ̶m۶$     I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I     ̶m۶              PYޏQ                                                                                                                                               YQ@             Qӯ}     m`"$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  m d$$   U  RovO                         ~~                                                                                                                            G                                                f              0                                                                     G~G~                                          oA              0G~G~    b    p@                                                      G~G~                                      x"HH    	?S-M    6    0G~G~                                                                 G~G~                            (                 Fu~    0G~G~                                                                 G~G~                                                                                                                                                    G~G~                                                                                                                                                    G~G~                        ~                                                                                                                                                    Q??     mI"-     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U mIBR@    U R4n               YQ                                                                                                                                               Y?Q   @          Hb۶m      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$    I`۶m            P                                                                                                                                                                                                         9fm۶m$׽   f I$I     f I$I     f I$I     f I$I     f I$I     f I$I     9fm۶׽   @0    6   I2I    6   I"I    6   I"I    6   I"I    6   I"I    6   I"i    0?    ww                                                        ȿ        M_    1?    5|    q                        ȏȏ        aP       S    p˱                                ȏȏ    w                                                                    0    6$       6$       6$       6$       6$       6$       0    9fFb۶m׽   f  $I$    f  $I$    f  $I$    f  $I$    f  $I$    f  $I$    9f	l۶m׽@       ڶI    3 $    3 $    ڶ-	C    s    v  HG        @ @     Gz                 @ @     /d    3I `    3I `    d?`      @   Ӗ     6    Mi     ?I         t о           GGATCGVA   GGATCXAM   GGATGALF      GGATSFFO@      	  I   Z  ^  _  U_                                          k	   A  )          <         <         <     < 6  4öm۶tUU $涍5U\0` 
0I*|    2< 0	*^q)<uu@?| I$IU|aߞ	^+    {>  +|vP@}$}T  @~    | <  ptTPP@Ώ    .< #< "t0+>    ? Zf'| L @t$@U mۼUU $'   < ^Y )<X   ]Ua G{Pm!PU\%     6ba\aFn#݃ @_@- H"|aT_|!a˴!xq &t"#=B-<d   <  ?Y@|]AaؾaTPIe\e@oi |^ӏهPPT.F%Q   <>$<N1~vn6n;}  <`=۲TA L!qI#}B    =,~*Pϱ'`c{e'  H$H$P P*    }^P-`                #?OIm #<l    Mx,(!q P    }fϐ 	-< =6nn    z}- m6h' %`     J]} A">a#	X    ,!!L' r (5F <   4+ Y,|˟  
   qgX۶ 	^)IĶb   Q,>+CB 	7?q'   >-6h0X(0   A,'\'<+= *<+-b[)9!o iG?@&Ù=ذm N>ֶe+F'    @_'d-۰ 	Z<6b*= ="-L , 6@I  @ D]' 8,=: o<-, .|/ac(   ,E  P?t*<= >;,>= N=t (<mϜ 3#0H Uh  `_wI)? ><,>; ->, ,!   os-|  =,>> =,RS'* >~<,>~ ͼ   s,= 0:>| -) ,|0'    u -} =-@K l'= / T,~a!    !s-@ < = '-1    Aq,~  -=-- u  o -0DҶe#*   t2q!t<">M'NP'~    @*}                   !1 ,Pca'u   a(~*Pm a[g; ӱ}؟؜ - A  q_	նcnC0@?A?tq-3#p6hށUzo
y '||   < Y{ @s^AP@@<@L<-@@	~3UP      a@LU6bʵgʃ<+ IB' BD_!!AN I   < Y (< _]bU~aX [B     < }(a    "< @ }a    "<   @@~|vo|    ~ < u(<|ǯ&aP@>|R4o+$BXc	 Ujh&'0v $    :< m q`'<4u@!?@        <         <         <     <      @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             UU&Ķm6     mH        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        I    mI    &ĶmۃG    P             UUiޏ                                                                                                                                                                                                                                                                                                               }  P@@ n                                                                                                                                                                                                                                                                                                                n                                  "    @P7۶m   PUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU7om   UU#Fn;                                                      B    @@m[n  TKƖ    I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        K?    !ۗ  TPPC                                            0H?  @@@@(                                                                                                                                                                                                                                                  (?  @@@@0Ioo                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                  o    hXn#                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                        #    
۶m    ϶ia;                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                              S?    0-۶m    Um۶a;    inȟ                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                        /ذm     I$I    36b                                                                           (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                              E    زm     I$I    6b                                                                                     (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                ?    /۲    KVn#a    K                                                U}?|ڱm                2e+F                                                                                              (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                         &])                KFn#a    M                                                  Ƕe#F                                                                                                        (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                   $ϰ                MFn#a    N              5=                ya;vo                                                                                                             (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                             %ϰ                LFn#a    !,     H$I$    Ŷm[6b    @                                                                                                                        (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                       #ΰ                            m6b                                                                                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                 %ϰG    m۶,    OV                                                                                                                                       (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                           P                                                                                                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                          0H?ÿ  @@@@(o                                                                                                                                                                                                                                                  (  @@@@0Io                                          B?  @@  vn  TLol        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $    L    }ٲm  PPTC                                                      "  P@  7۶m۰'  UUP  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU 7۶m۶  UU "c                                  n                                                                                                                                                                                                                                                                                                                n?    6o                                                                                                                                                                                                                                                                                                               ϧM   @@P          UU  &ocm     $m     $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $       m    &4ضm   P            UU                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  @ @                                                                                                                                                                                                         ,     ̶m۶$     I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I     ̶m۶              PYޏQ                                                                                                                                               YQ@             Qӯ}     m`"$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  m d$$   U  RovO                         ~~                                                                                                                            G                                                                                                  A    /)e[                                  G~G~                                                                                                  ?ڱm    6b                                  G~G~                                          3
                                     Ucޏ                                            G~G~                                               F    o6b    ?     o/     e+F                                                     G~G~                                                         E    iжm    m;6o                                                               G~G~                                                                   FX    i                                                                G~G~                        ~                                                                                                                                                    Q??     mI"-     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U mIBR@    U R4n               YQ                                                                                                                                               Y?Q   @          Hb۶m      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$    I`۶m            P                                                                                                                                                                                                         9fm۶m$׽   f I$I     f I$I     f I$I     f I$I     f I$I     f I$I     9fm۶׽   @0    6   I2I    6   I"I    6   I"I    6   I"I    6   I"I    6   I"i    0?    ww                                                          ȿ                  '>              ")    Ώ              ȏȏ                 <2r_    !׊e    B֏                        ȏȏ    w                       C                                      0    6$       6$       6$       6$       6$       6$       0    9fFb۶m׽   f  $I$    f  $I$    f  $I$    f  $I$    f  $I$    f  $I$    9f	l۶m׽@       ڶI    3 $    3 $    ڶ-	C    <    <    EG.    @ @           /yB    d    @ @     /d    3I `    3I `    d?`      @  Im0    IMVa    ;@ږ$    `۔$        pI"L"$          GGATCGVA   GGATCXAM   GGATGALF      GGATSFFO@      	  I  Y  ]  _  I_                                          _	   A  )          <         <         <     < 6  4öm۶tUU $涍5U\0` 
0I*|    2< 0	*^q)<uu@?| I$IU|aߞ	^+    {>  +|vP@}$}T  @~    | <  ptTPP@Ώ    .< #< "t0+>    ? Zf'| L @t$@U mۼUU $'   < ^Y )<X   ]Ua G{Pm!PU\%     6ba\aFn#݃ @_@- H"|aT_|!a˴!xq &t"#=B-<d   <  ?Y@|]AaؾaTPIe\e@oi |^ӏهPPT.F%Q   <>$<N1~vn6n;}  <`=۲TA L!qI#}B    =,~*Pϱ'`c{e'  H$H$P P*    }^P-`                  00pf*<  $f1#& W$0y,>  -|   * a'°m'= `&-06b* @oa'> pBo 8<  H (? @H   .>h    0&|'}Su6%)> 5)| `:`*|  ( ^(϶b)|o    *\'-  (P'  >,ϰؿ)<ci(      '|]*</an)| ^},<@ } !<#'= &<M)|!`b*<3- \	@7<A!*?(<^O2	T(<v ('<!*In*#P P!`   *\W_8)@;*&+L +rr7 7<!\	~5("زm{(CmȚޏA)%   .@?)Nm!=-; 	 ' ./..|@6n   Z/ @$H ,||	 | O0   Y??p\	I$,|@  ?@a;c;   iO 6`  (`   o-<]-۱}' o6b[ x| .|" ? ?|5   .I@Hb%6b H|0-|rPǧ)|loe{+     /|@	'= -< o/)~z Coc,=7<+ 6)!)}p@	    *?*| O 6  E&= += 0-}0/|O (|F ?   ??.=*%p϶* pX ;|                                           -۳ ,Pca't 鼷  < a(*Pm a[g; !s؜ - A  q_	նcnC0@?A?tq-3#p6hށU"vo
 j   < Y{ @s^AP@@<@L<-@@	~3UP      a@LU6bʵgʀ< r IB' BD_!!AN I   < Y (< _]bU~aX [>B   :<  p< }a    "< @ }a    "<   @@~|vo|    ~ < u(<|ǯ&aP@>|R4o+$BXc	 U)]0v $    :< m@jq`'<4u@!	        <         <         <     <      @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             UU&Ķm6     mH        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        I    mI    &ĶmۃG    P             UUiޏ                                                                                                                                                                                                                                                                                                               }  P@@ n                                                                                                                                                                                                                                                                                                                n                                  "    @P7۶m   PUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU7om   UU#Fn;                                                      B    @@m[n  TKƖ    I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        K?    !ۗ  TPPC                                            0H?  @@@@(                                                                                                                                                                                                                                                  (?  @@@@0Ioo                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                      h    ?l    m           o                        ?    o                                             '?                                                                               (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ            0    Ïذg     6&I$         Z        E؏_    (o                    ȏȏ                                             @$@$                                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ            Ï}    4                                                    `    	l۶    Fb۶    o    @Orq    µ    8Zn     @$@$                                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ            @qs;                                                                               ȏȏ               @      T               @$@$                                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ            u٧    l                                                                      ȏȏ              @X8                         @$@$                                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                 Lnb$b[                                 t                         ȏȏ               @                           @$@$                                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                      I$    8o]     6`    Lm    ϑm    ȟ                    ȏȏ               @                           @$@$                                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                I$I$    `    t                                                                                                                                                                                         (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                          0H?ÿ  @@@@(o                                                                                                                                                                                                                                                  (  @@@@0Io                                          B?  @@  vn  TLol        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $    L    }ٲm  PPTC                                                      "  P@  7۶m۰'  UUP  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU 7۶m۶  UU "c                                  n                                                                                                                                                                                                                                                                                                                n?    6o                                                                                                                                                                                                                                                                                                               ϧM   @@P          UU  &ocm     $m     $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $       m    &4ضm   P            UU                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  @ @                                                                                                                                                                                                         ,     ̶m۶$     I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I     ̶m۶              PYޏQ                                                                                                                                               YQ@             Qӯ}     m`"$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  m d$$   U  RovO                         ~~                                                                                                                            G                                      T    En    b    `    `                                                     G~G~                            *?    15    y    B    0ID    *`    W    6                                        G~G~                            S                            `        `      q                                                 G~G~                            %?    B4    yj    L0    `        `                                                        G~G~                                               $I$                                                                                              G~G~                                                                                                                                                    G~G~                        ~                                                                                                                                                    Q??     mI"-     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U mIBR@    U R4n               YQ                                                                                                                                               Y?Q   @          Hb۶m      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$    I`۶m            P                                                                                                                                                                                                         9fm۶m$׽   f I$I     f I$I     f I$I     f I$I     f I$I     f I$I     9fm۶׽   @0    6   I2I    6   I"I    6   I"I    6   I"I    6   I"I    6   I"i    0?    ww        d                                         ȿ        Yx    f)?    S''    P l                    ȏȏ        O    ZG      H       `HDI$                      ȏȏ    w                                                                    0    6$       6$       6$       6$       6$       6$       0    9fFb۶m׽   f  $I$    f  $I$    f  $I$    f  $I$    f  $I$    f  $I$    9f	l۶m׽@       ڶI    3 $    3 $    ڶ-	C    `Ȍ     Iz    S    @ @           $I$    P$I$    @ @     /d    3I `    3I `    d?`      @   }ަ     $?    4 ږ$    `۔$        pI2I$          GGATCGVA   GGATCXAM   GGATGALF      GGATSFFO@      	  I  Y  ]  ^  ^                                             A  )          <         <         <     < 6  4öm۶tUU $涍5U\0` 
0I*|    2< 0	*^q)<uu@?| I$IU|aߞ	^+    {>  +|vP@}$}T  @~    | <  ptTPP@Ώ    .< #< "t0+>    ? Zf'| L @t$@U mۼUU $'   < ^Y )<X   ]Ua G{Pm!PU\%     6ba\aFn#݃ @_@- H"|aT_|!a˴!xq &t"#=B-<d   <  ?Y@|]AaؾaTPIe\e@oi |^ӏهPPT.F%Q   <>$<N1~vn6n;}  <`=۲TA L!qI#}B    =,~*Pϱ'`c{e'  H$H$P P*    }^P-`                   Xm|L$wXn(| Ko y?|D)<Lb*> !6j'> u    @ï}/E'<iE i>kr]}(}w'  7vo   	]۴M? _>^e]}?(i .< c[a   ǲ۷} '| O>QW,}] ..< Ck;6n   ? ( (= !; 8=F.=F >DJ,P > *6 <  _	 g>9?,=/C >-v  
  o O=Y-=O >-    O< /= -     =-v     .> G-     U!>n(|om*< ?.<Q)*    8.W >N = ,->.  <  } w>= 2->5    QV N}->@ 58->8;#   VX,X >-v)N)=Q >=>->>B    ?  G-,>)< ?| .G] |   J6t= 8}^- ->n,= >>Xki{   -۳ )}~- M},= .>!g;   ڿ =|-| m,> ~+!!   OJ?(=-_eA'=N К'| 66 |R)_?~a+)}        `             &{,Pca't  < a*Pma[#< ӱ}؟؜ - A  q_	նcnC0@?A?tq-3#p6hށU"j|o
y '|   < Y{ @s^AP@@<@L<-@@	~3UP      a@LU6bʵgʀ< r IB' BD_!!AN I   < Y (< _]bUaX Z~C   <N < }a    "< @ }a    "<   @@~|vo|    ~ < u(<|ǯ&aP@>|R4o+$BXc	 U0f&'0v $    :< mq`'<4u@!?         <         <         <     <      @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             UU&Ķm6     mH        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        I    mI    &ĶmۃG    P             UUiޏ                                                                                                                                                                                                                                                                                                               }  P@@ n                                                                                                                                                                                                                                                                                                                n                                  "    @P7۶m   PUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU7om   UU#Fn;                                                      B    @@m[n  TKƖ    I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        K?    !ۗ  TPPC                                            0H?  @@@@(                                                                                                                                                                                                                                                  (?  @@@@0Ioo                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                        1×    b۶m    Fn#                                                 $I$    1o6n                                                                           (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                        K۲                 I$I$    Fn#                             H$I$                Vee;                                                                           (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                        9?    9 I$I$                 I$I$    M&Fc    I)\     H$I$                / I$I    0nȟ                                                                           (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                  9?    9 I$I$                 I$I$     H$I$                , I$I    -6bȟ                                                                                     (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                            9?    > I$I$                            ' I$I    *6bȟ                                                                                               (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                 H$I$                             I$I$    Fn#                                                                                               (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                       H$I$                . I$I    + I$I$                 I$I$    Fn#                                                                                     (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                        |     H$I$                $ I$I    &6bȟ    '?    + I$I$                 I$I$    Fn                                                                           (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                        L۰=                ! I$I    #6bȟ                        .?    1 I$I$                 II                                                                           (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                        R}??    _¶m۶-,    6b                                            4    bŶm۶A    EiF                                                                           (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                          0H?ÿ  @@@@(o                                                                                                                                                                                                                                                  (  @@@@0Io                                          B?  @@  vn  TLol        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $    L    }ٲm  PPTC                                                      "  P@  7۶m۰'  UUP  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU 7۶m۶  UU "c                                  n                                                                                                                                                                                                                                                                                                                n?    6o                                                                                                                                                                                                                                                                                                               ϧM   @@P          UU  &ocm     $m     $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $       m    &4ضm   P            UU                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  @ @                                                                                                                                                                                                         ,     ̶m۶$     I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I     ̶m۶              PYޏQ                                                                                                                                               YQ@             Qӯ}     m`"$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  m d$$   U  RovO                         ~~                                                                                                                            G                                                          m    Pn;                            qx                                  G~G~                                                          ο?     I$I$    Fn#         L$I    ȟ                                  G~G~                                                                    ȁ?             
m۶m;    6bȟ                                            G~G~                                                                         L$I     I$I$    Fn#                                            G~G~                                                               K$I    	6bȟ    ?    a۶    'o                                  G~G~                                                          ?    4Ƕ                        ƁL    }Ɵ                                  G~G~                        ~                                                                                                                                                    Q??     mI"-     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U mIBR@    U R4n               YQ                                                                                                                                               Y?Q   @          Hb۶m      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$    I`۶m            P                                                                                                                                                                                                         9fm۶m$׽   f I$I     f I$I     f I$I     f I$I     f I$I     f I$I     9fm۶׽   @0    6   I2I    6   I"I    6   I"I    6   I"I    6   I"I    6   I"i    0?    ww              {                  y                   ȿ                  ?    6n    ۶c                  ȏȏ                           !L0h0    6n[                  ȏȏ    w                       !    "                           0    6$       6$       6$       6$       6$       6$       0    9fFb۶m׽   f  $I$    f  $I$    f  $I$    f  $I$    f  $I$    f  $I$    9f	l۶m׽@       ڶI    3 $    3 $    ڶ-	C              n    @ @           ?    _    @ @     /d    3I `    3I `    d?`      @   G     6    }?i     ʛm         tIؐ$          GGATCGVA   OGGATCXAM   GGATGALF      GGATSFFO@      @  P  T  U  U                                               @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         J I$I    ;Im۶h    DQm۶1    Uam۶1    epm۶1    t~m۶1    m۶5    m۶1    lm۶                             I$I    !m۶5    &-m۶5    ).m۶    $m۶     I$I$                             I$I    ~m۶-0    m۶1    m۶1    m۶1    m۶1    m۶5    m۶    /m۶                                        ami;    ?                                                                          ?    ӏ    h    X            X                        Og    ö#~                                                                                            }                            Jic;i                                                                                                                                                                            7                                                                                              ڟ}                            7ce                                                                                                                                                                          9yX                                                                                              [ڟ}                	 I$I    )8m۶     .6     2t)@    M&    \@    ~rH    E4]     k    Z!`    b? `    ΏpnC    I     I     	           "O    `    `    `    ym    Co    ~
    ,                                                     o    ,ڇ۳m                Oζb    D                                                                   ߙW     ж    ^v    |h        `    Z@       zX    8ˆ    HX    \i    nz    }    E    	    '}	    4۟     Ēd    %DI    @R5    ?g 6    !&        4=    o                                                                          5                                                                Z1^                                                                                    q)**                                                                ӿ    `oo                                                                          G                                                          "5N                                                                                    .~                                                                ?    0on              c    kx    Td    BO    2=
    ).    ˏ-    o0    5    %         
         NdI$                                                                              ~9K{                                                               )?د}                @hb۶m    k1    %:    /@    DS    WeP    h    `    /?    ߶ہ     `H      &    )41    8E5    IR1    J[N:    Oe$     k?      }    7    fI    ,^i	h    4b06    s5    0 &    4 $        2 i    `    :Ia    :۶m                                                                                                      z~                                                                                    ?                                                                                  L$K$                                                                @x                                                                          yG                                                                                    h?g                                                                                                                                                      o                                                                          
1_#                                                                                    @                                                                    }                                                                            j6b۶m    `c۶m    c۶m    I m    I m    I m    I m     ۶m     I$I$    ohm    =em    27m    *I m    I m    Im    ͡`۶m    3lnm    ݏ,ضm    o0m    &m    m    
m    m    
m    O(m    q?ضm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    @ @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                m۶$    #0m۶1    3>m۶1    AUm۶)    Vm۶     I$I     I$I	     I$I     I$I$    K I$I    @Km۶1    NWm۶1    Z_m۶1    ,`m۶                4ac                                           0    ֹ	                R        _        J?                                           
}؇      
@      r    4     =   ږ$    D    2x        w=    Yw    KW
    /    O                                   H$L$    ȿ                                     `        :h    H             I    * P    7HX    @QM    )k    u         
    
    $GN+    &        ?                                           I_/                        _    0F6b۶m    0iK 0             {I    I#0    X    (    >[h    9    <    AJ    =uP    _?    K$    -n<ضm                )                                                                    `?                                                                         cFc۶m    ir`c۶m    suHf۶m    yIa۶m    c۶m    `۶m    `۶m    T}`۶m    L`۶m    <hb۶m    `۶m    `۶m    &I`۶m                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  	mc    1    !    mX        !Ķm     (/5    "{-    yo        sk    `y    / l    =&I    `     ?I?    'k    	Z    8/&)    $    m    P    xL     I     vn6d    6:hb    !e    CU`    &?`    DyHb    ;?`                                                                                                                                                                                                                                                                    	h    CD    $$     _Ѥ    M&o     #    &H    .
                                                      @  Cm4    SmҐ    ;Lm    Iɶm        =vc`          GGATCGVA   GGATCXAM   GGATGALF      GGATSFFO@        H  X  \  ]  '^                                          =   A  )          <         <         <     < 6  4öm۶tUU $涍5U\0` 
0I*|    2< 0	*^q)<uu@?| I$IU|aߞ	^+    {>  +|vP@}$}T  @~    | <  ptTPP@Ώ    .< #< "t0+>    ? Zf'| L @t$@U mۼUU $'   < ^Y )<X   ]Ua G{Pm!PU\%     6ba\aFn#݃ @_@- H"|aT_|!a˴!xq &t"#=B-<d   <  ?Y@|]AaؾaTPIe\e@oi |^ӏهPPT.F%Q   <>$<N1~vn6n;}  <`=۲TA L!qI#}B  }<=!2TI$fb4   3}t,~*Pϱ'`c{e'  H$H$P P* n&|B.#6b[&|6!B&C   9= P-` ~ !@&ETT <RFng]u    {;#fe۰}!xB  aon |6    -ڱ$<B@@PT  . 	-V$o f   !ӯ$<ea~  N  ¶c)@@ f   @L-  ^  vo#e&@Ue#   f=s'>TT <%o6b[  @ ,<?|'<?@~ ,XR%U  ~0
j		@  Fn  @ "!n]&</9*<Um[XU!|)<  H %|  x(</r@_gAz(@!@ o  ټ@ q"n'>!n6	Ua1M%]\n  /  	F!)M&<Tf6n$P    3 _    b                                qΧ}ڏ@ p#="?= {" !  <  p   <                                      -۳ ,Pca't   + < a{*P a[g; ӱ}؟؜1A  L@ < _ 	նcn@?A?tq-{3{p6hށUzo
z $'   < Ys^AP@@<@Lź-@@@~3UP      a 6bʵgʀ< r IB' _!!@I   < Y (< _]bUaX X  @  < }@@;%=    @ }a    "<   @>T +|voA|    ~ < u(<|ǯ&aP&4o+;BXc	 U0f&'0v $    :< mq`'<4u@! ,	        <         <         <     <      @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             UU&Ķm6     mH        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        I    mI    &ĶmۃG    P             UUiޏ                                                                                                                                                                                                                                                                                                               }  P@@ n                                                                                                                                                                                                                                                                                                                n                                  "    @P7۶m   PUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU7om   UU#Fn;                                                      B    @@m[n  TKƖ    I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        K?    !ۗ  TPPC                                            0H?  @@@@(                                          iç   @PP)o                                                                                                                                                                                        (?  @@@@0Ioo                                           0  @@@@ (ȏȏ                                ?    @@( H$I$  TUUUɶcm  UUG                                                                                                                                                                                (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                      ~    -۶m  PTUU                        vo#e  Um                                                                                                                                                                     (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                      |ٳm  @PTT                                                on{                                                                                                                                                                    (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ            )×M   @PTm۶a1  UU!ضmK  UE@@                        -y  UP  m۶  UUU@Fn                                                                                                                                                           (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ  ?    6                 @@@@                                  &,                                                                                                                                                            (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                   @@@@                                                                                                                                                                                                         (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                   @@@@                                                                                                                                                                                                         (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                   @@@@                                                                                                                                                                                                         (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                   @@@@                                                                                                                                                                                                         (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                I  @    8 $  U   8;   U                                                                                                                                                                                  (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                          0H?ÿ  @@@@(o                                                                                                                                                                                                                                                  (  @@@@0Io                                          B?  @@  vn  TLol        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $    L    }ٲm  PPTC                                                      "  P@  7۶m۰'  UUP  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU 7۶m۶  UU "c                                  n                                                                                                                                                                                                                                                                                                                n?    6o                                                                                                                                                                                                                                                                                                               ϧM   @@P          UU  &ocm     $m     $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $       m    &4ضm   P            UU                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  @ @                                                                                                                                                                                                         ,     ̶m۶$     I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I     ̶m۶              PYޏQ                                                                                                                                               YQ@             Qӯ}     m`"$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  m d$$   U  RovO                         ~~              &    ;_O;a   Uq                                                                                    G                                      |ڱ  @PPT            on{                                                                                   G~G~                            C?   @  u                 Cܶ]  T   h                                                                          G~G~                                      l                                                                                                          G~G~                                      l                                                                                                          G~G~                                                                                                                                             G~G~                                                                                                                                                    G~G~                        ~                                                                                                                                                    Q??     mI"-     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U mIBR@    U R4n               YQ                                                                                                                                               Y?Q   @          Hb۶m      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$    I`۶m            P                                                                                                                                                                                                         9fm۶m$׽   f I$I     f I$I     f I$I     f I$I     f I$I     f I$I     9fm۶׽   @0    6   I2I    6   I"I    6   I"I    6   I"I    6   I"I    6   I"i    0?    ww         @on{                                            ȿ        '<?    `vn  `                                      ȏȏ            vo@                                            ȏȏ    w                                                                    0    6$       6$       6$       6$       6$       6$       0    9fFb۶m׽   f  $I$    f  $I$    f  $I$    f  $I$    f  $I$    f  $I$    9f	l۶m׽@       ڶI    3 $    3 $    ڶ-	C    L_    Ro^             @ @     {<                   @ @     /d    3I `    3I `    d?`      @   .     $?    i     ?I         p P>           GGATCGVA   GGATCXAM   GGATGALF      GGATSFFO@      v	  }I  Y  ]  ^  ^                                             A  )          <         <         <     < 6  4öm۶tUU $涍5U\0` 
0I*|    2< 0	*^q)<uu@?| I$IU|aߞ	^+    {>  +|vP@}$}T  @~    | <  ptTPP@Ώ    .< #< "t0+>    ? Zf'| L @t$@U mۼUU $'   < ^Y )<X   ]Ua G{Pm!PU\%     6ba\aFn#݃ @_@- H"|aT_|!a˴!xq &t"#=B-<d   <  ?Y@|]AaؾaTPIe\e@oi |^ӏهPPT.F%Q   <>$<N1~vn6n;}  <`=۲TA L!qI#}B    =,~*Pϱ'`c{e'  H$H$P P*    }^P-`          ?LC@" 7>1CDCo    Z$|D {'<v²m66nvn    Z'| 'W'~!&<  ɐH     z4??QL 
|    ̀(}'Mnn#'}v $  =    ) /|>< $I6f۶m/2I<۶$  ? 3e ^'-,   #!s/Ȍ/ 5vo6n    z?M)~)_    ??o,|Ӳ}'~9&      @'=  ?@.-'g->1!6o    [/W)RU 3JW)|$F&)|a 	v 
(m_a'd&C 7O-'i}   
O   < H 6|3b)/o['=u  FI,]   _  @>< 6^n)~Co I-F#=7   
/  `.= C*(6h'~Jf   )$('} v $  	< ( 6 G3,<1"S*   '= PI)|  >  W.<     T/ +/.= @ɼ9m{F'~O:R;M     p?!>!6 Ƣ9<v    O$a/(|     r-.7'aF +|CU=۰(!    L,< ;.< + @        p                 -۳ ,Pca't 鼇  < a  *Pvm a[g; ӱ}؟؜ - A  q_	նcnC0@?A?tq-3#p!s6hށUzo
x )   < Y{ @s^AP@@<@L<-@@	~3UP      a@LU6bʵgʀ< r IB' BD_!!AN I   < Y (< _]bU~aX K.?   V   < }a    "< @ }a    "<   @@~|vo|    ~ < u(<|ǯ&aP@>|R4o+$BXc	 U0f&'0v $    :< mq`'<4u@!	        <         <         <     <      @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             UU&Ķm6     mH        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        I    mI    &ĶmۃG    P             UUiޏ                                                                                                                                                                                                                                                                                                               }  P@@ n                                                                                                                                                                                                                                                                                                                n                                  "    @P7۶m   PUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU7om   UU#Fn;                                                      B    @@m[n  TKƖ    I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        K?    !ۗ  TPPC                                            0H?  @@@@(                                                                                                                                                                                                                                                  (?  @@@@0Ioo                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ            cg?    }              P    5_c;                                                                                                                                                                                         (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                 8    ̄m    , H$I$     II                                                                                                                                                                                         (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                 v	l۶m                             II    % $    % $    % $    % $    % $    % $    % $    % $    % $    , F2                                                                               (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                 Iض{    m۶                ܶca                                                                                                                                                                                         (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                 }    n    -'g    ۶c;;                                                                                                                                                                                         (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ            ;t                                 C                                                      ~?    o0e    }o              $?                                                                               (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                    %6b۶m    o[    %??                                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ            !?s    l$     l$     l$     l$     l$     l$     l$     l$     l$     6d                                        g $I$                                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                            m
    l˿                                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                ?    N۶m۶m#    +g             %&??                                                                               (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                     (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                          0H?ÿ  @@@@(o                                                                                                                                                                                                                                                  (  @@@@0Io                                          B?  @@  vn  TLol        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $    L    }ٲm  PPTC                                                      "  P@  7۶m۰'  UUP  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU 7۶m۶  UU "c                                  n                                                                                                                                                                                                                                                                                                                n?    6o                                                                                                                                                                                                                                                                                                               ϧM   @@P          UU  &ocm     $m     $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $       m    &4ضm   P            UU                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  @ @                                                                                                                                                                                                         ,     ̶m۶$     I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I     ̶m۶              PYޏQ                                                                                                                                               YQ@             Qӯ}     m`"$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  m d$$   U  RovO                         ~~                                                                                                                            G                                 
     $I                                                                                              G~G~                                    :Ȱm۰    ncc;    I     I     I     I     I                                            G~G~                                R       WԶX                            o                                              G~G~                            N    6I     6I     6I     6I     6I     6 I$I$    6l                                        G~G~                                                                                  N޶m۶g                                          G~G~                                                                                                                                                G~G~                        ~                                                                                                                                                    Q??     mI"-     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U mIBR@    U R4n               YQ                                                                                                                                               Y?Q   @          Hb۶m      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$    I`۶m            P                                                                                                                                                                                                         9fm۶m$׽   f I$I     f I$I     f I$I     f I$I     f I$I     f I$I     9fm۶׽   @0    6   I2I    6   I"I    6   I"I    6   I"I    6   I"I    6   I"i    0?    ww    k   /                                                ȿ        }G     P     ?    ]                        ȏȏ              $       z#	?    Fj                    ȏȏ    w                                                            0    6$       6$       6$       6$       6$       6$       0    9fFb۶m׽   f  $I$    f  $I$    f  $I$    f  $I$    f  $I$    f  $I$    9f	l۶m׽@       ڶI    3 $    3 $    ڶ-	C    }4    H    /    @ @     Gx    ?    ,V    @ @     /d    3I `    3I `    d?`      @  II     $?    Mi     ?I         pIA$          GGATCGVA   GGATCXAM   GGATGALF      GGATSFFO@      [  bK  i[  p_  w`  `                                          
   A  )          <         <         <     < 6  4öm۶tUU $涍5U\0` 
0I*|    2< 0	*^q)<uu@?| I$IU|aߞ	^+    {>  +|vP@}$}T  @~    | <  ptTPP@Ώ    .< #< "t0+>    ? Zf'| L @t$@U mۼUU $'   < ^Y )<X   ]Ua G{Pm!PU\%     6ba\aFn#݃ @_@- H"|aT_|!a˴!xq &t"#=B-<d   <  ?Y@|]AaؾaTPIe\e@oi |^ӏهPPT.F%Q   <>$<N1~vn6n;}  <`=۲TA L!qI#}B    =,~*Pϱ'`c{e'  H$H$P P*    }^P-`           q <"9vCb=lbc' u     *fٲm |oe' +#  9   ! ؇M >< !o6n    j&&'4%ɶeH+<Ȳ?6 '|(&|    I,<?^۰8|/mcT<S,~!}6|6o#g'  @   
?| .Lvoο >K 
o    *,<O4ٱ۶8an6=!?'<R )<o7 ]ۗ7= 6'c)>  P  :"=O]7< 78|/;u}؇8</<|vn6n6 ?'};@)5=#P    
C!''=O=<Orkv | < H 7</<@H  <p}؏6=-PD P  ,>O]8~/
"g#(<0% ' /2,P7~!!~!i(P P    |M.6c$n$  ./|/ P    %,>OU<>O'6)=O  ?,<&˶Mۇ8PV,P& ݼP  ]<=O ->OW! (< @-> V"1(<=P^ ݼP  	!/^'}L,=>ON <O < 6<د8_7<vnvo 7L<P--P

   ,<O׏}ٵ7E">Oa;UBv1!~?8>2!ƿ 8,PD^7|vnk,| P  !|	 6!} I;,|0%O(} M"}_ =J&Fb3   jDu '<x:>O-=OeBD7!A9/!=n H,P<Py4L)~E P  Q!ݏ}7->O7 -<O > 8!98!9 ?< 6	I'?=PS!vn   a!}? 6|
c K<=< l?*=0߶O'? m@}ۇ8~@f!@6n   YI}ڏ7}?,~{ !h]#;(}]v $ < '4;"}!'~"<|gn <  6+=̙=*   > ,dd;   Q_})>._U  q 6n   ,|[J+}=A  < A+}                 -۳ ,Pca't b@  < a(?*P@w a[g; x؜ -   q_	
!nC0@?A?tq-3#p6hށUzo
x )   < Y{ @s^AP@@<@L<-@@	~3UP      a@LU6bʵgʀ<* IB' BD_!!AN I   < Y (< _]bU~aX [     < } Za    "< @ }a    "<   @@~|voE   <  Z|ǯ&aP@>|R4o+$BXc	 U0f&'0v $    :< mq`'<4u@! P
        <         <         <    <      @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             UU&Ķm6     mH        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        I    mI    &ĶmۃG    P             UUiޏ                                                                                                                                                                                                                                                                                                               }  P@@ n                                                                                                                                                                                                                                                                                                                n                                  "    @P7۶m   PUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU  $I$   UUU7om   UU#Fn;                                                      B    @@m[n  TKƖ    I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        I        K?    !ۗ  TPPC                                            0H?  @@@@(                                                                                                                                                                                                                                                  (?  @@@@0Ioo                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                *wm    AIm    
o                                                                                                         (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                      ϯ}    <fm۶c    ;mۉ    6b{m    =                                                                                               (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                            s?    ۶m    v             =ہ}    fb$b                                                                                               (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                            |ځ=    en    4?    ;oc    4??    Dc۶    o                                                                                     (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                  !_    [m۶m;    /          II              .´}؏    !vnk                                                                                    (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                  R۰m    6b                    II                  'm۰    o                                                                           (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                             mc    S                  c;c                        _    n;a    [                                                                     (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                  -±۶m    K6c$n$                         ?      
O                                 J޶۱    o6o#                                                                 (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                              Gڇ    ٶan                                 ?    6bi                                  ??    cc۶    H                                                       (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                              ͳ۱}    9o#             $        $    $    @$        $        $        $    >    .۰m    Ώ                                                       (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                              &?    sm۶                                                                                                                4m6                                                           (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                            I        I        I        I        I        I        I        I                                                                                   (  @@@@ 0ȏȏ                                           0  @@@@ (ȏȏ                                                                                                                                                                                                                                                   (  @@@@ 0ȏȏ                                          0H?ÿ  @@@@(o                                                                                                                                                                                                                                                  (  @@@@0Io                                          B?  @@  vn  TLol        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $    L    }ٲm  PPTC                                                      "  P@  7۶m۰'  UUP  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU  I$I   UUU 7۶m۶  UU "c                                  n                                                                                                                                                                                                                                                                                                                n?    6o                                                                                                                                                                                                                                                                                                               ϧM   @@P          UU  &ocm     $m     $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $        $       m    &4ضm   P            UU                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  @ @                                                                                                                                                                                                         ,     ̶m۶$     I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I      I$I     ̶m۶              PYޏQ                                                                                                                                               YQ@             Qӯ}     m`"$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  l `$$   U  m d$$   U  RovO                         ~~                                                                                                                            G                                                                              A][    Ao#                                                     G~G~                                                                        2n|    ?=    oFn                                            G~G~                                                                    ʏ}    O     Oȏȏ    X                                      G~G~                                                          I    v    O    Oo    h    ^b7B                                  G~G~                                                          U;N;         X$    Xo˟$        $    חؿ    ]                        G~G~                                                           ܱ        I        I        I        I    $mm                                 G~G~                        ~                                                                                                                                                    Q??     mI"-     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U lIB     U mIBR@    U R4n               YQ                                                                                                                                               Y?Q   @          Hb۶m      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$      $I$    I`۶m            P                                                                                                                                                                                                         9fm۶m$׽   f I$I     f I$I     f I$I     f I$I     f I$I     f I$I     9fm۶׽   @0    6   I2I    6   I"I    6   I"I    6   I"I    6   I"I    6   I"i    0?    ww                            ?                        ȿ                            ,{u    ׾"                       ȏȏ                      ΁    ($                  ȏȏ    w              ??      $      $    =Ɵ                  0    6$       6$       6$       6$       6$       6$       0    9fFb۶m׽   f  $I$    f  $I$    f  $I$    f  $I$    f  $I$    f  $I$    9f	l۶m׽@       ڶI    3 $    3 $    ڶ-	C          Z#    e  6    @ @           W's<    t#    @ @     /d    3I `    3I `    d?`      @  Im4     $?    4hږ$    6a۔$        tIА$          // Control types
#define CT_STATIC           0
#define CT_BUTTON           1
#define CT_EDIT             2
#define CT_SLIDER           3
#define CT_COMBO            4
#define CT_LISTBOX          5
#define CT_TOOLBOX          6
#define CT_CHECKBOXES       7
#define CT_PROGRESS         8
#define CT_HTML             9
#define CT_STATIC_SKEW      10
#define CT_ACTIVETEXT       11
#define CT_TREE             12
#define CT_STRUCTURED_TEXT  13
#define CT_CONTEXT_MENU     14
#define CT_CONTROLS_GROUP   15
#define CT_SHORTCUTBUTTON   16
#define CT_XKEYDESC         40
#define CT_XBUTTON          41
#define CT_XLISTBOX         42
#define CT_XSLIDER          43
#define CT_XCOMBO           44
#define CT_ANIMATED_TEXTURE 45
#define CT_OBJECT           80
#define CT_OBJECT_ZOOM      81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83
#define CT_LINEBREAK        98
#define CT_USER             99
#define CT_MAP              100
#define CT_MAP_MAIN         101
#define CT_LISTNBOX         102

// Static styles
#define ST_POS            0x0F
#define ST_HPOS           0x03
#define ST_VPOS           0x0C
#define ST_LEFT           0x00
#define ST_RIGHT          0x01
#define ST_CENTER         0x02
#define ST_DOWN           0x04
#define ST_UP             0x08
#define ST_VCENTER        0x0C

#define ST_TYPE           0xF0
#define ST_SINGLE         0x00
#define ST_MULTI          0x10
#define ST_TITLE_BAR      0x20
#define ST_PICTURE        0x30
#define ST_FRAME          0x40
#define ST_BACKGROUND     0x50
#define ST_GROUP_BOX      0x60
#define ST_GROUP_BOX2     0x70
#define ST_HUD_BACKGROUND 0x80
#define ST_TILE_PICTURE   0x90
#define ST_WITH_RECT      0xA0
#define ST_LINE           0xB0

#define ST_SHADOW         0x100
#define ST_NO_RECT        0x200
#define ST_KEEP_ASPECT_RATIO  0x800

#define ST_TITLE          ST_TITLE_BAR + ST_CENTER

// Slider styles
#define SL_DIR            0x400
#define SL_VERT           0
#define SL_HORZ           0x400

#define SL_TEXTURES       0x10

// progress bar
#define ST_VERTICAL       0x01
#define ST_HORIZONTAL     0

// Listbox styles
#define LB_TEXTURES       0x10
#define LB_MULTI          0x20

// Tree styles
#define TR_SHOWROOT       1
#define TR_AUTOCOLLAPSE   2

// MessageBox styles
#define MB_BUTTON_OK      1
#define MB_BUTTON_CANCEL  2
#define MB_BUTTON_USER    4
class grad_fortifications_RscBackground {
	idc = -1;
	type = CT_STATIC;
	style = ST_HUD_BACKGROUND;
	text = "";
	colorText[] = {0, 0, 0, 0};
	font = "PuristaMedium";
	sizeEx = 0.04 * TEXT_SCALE;
	shadow = 0;
	colorBackground[] = {0, 0, 0, 0.7};
};

class grad_fortifications_RscText {

	idc = -1;
	type = CT_STATIC;
	style = ST_LEFT;
	colorBackground[] = { 1 , 1 , 1 , 0 };
	colorText[] = { 1 , 1 , 1 , 1 };
	font = "PuristaMedium";
	sizeEx = 0.025;
	h = 0.25;
	text = "";
};

class grad_fortifications_RscPicture
{
    access = 0;
    type = CT_STATIC;
    idc = -1;
    style = ST_PICTURE;
    colorBackground[] = {0,0,0,0};
    colorText[] = {1,1,1,1};
    font = "TahomaB";
    sizeEx = 0;
    lineSpacing = 0;
    text = "";
    fixedWidth = 0;
    shadow = 0;
};

class grad_fortifications_RscButton {
	access = 0;
	type = CT_BUTTON;
	style = ST_RIGHT;
	text = "";
	colorText[] = {1,1,1,1};
	colorDisabled[] = {1,1,1,0.1};
	colorBackground[] = {0,0,0,0.8};
	colorFocused[] = {1,1,1,0.5};
	colorBackgroundActive[] = {1,1,1,0.8}; // hover
	colorBackgroundDisabled[] = {0.3,0.3,0.3,1};
	colorBackgroundFocused[] = {0,0,0,0.5};
	colorShadow[] = {0,0,0,0};
	colorBorder[] = {0,0,0,1};
	soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter", 0.09, 1};
	soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush", 0.09, 1};
	soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick", 0.09, 1};
	soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape", 0.09, 1};
	animTextureDefault = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";
	animTextureNormal = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";
	animTextureDisabled = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";
	animTextureOver = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\over_ca.paa";
	animTextureFocused = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\focus_ca.paa";
	animTexturePressed = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\down_ca.paa";
	shadow = 0;
	font = "PuristaMedium";
	sizeEx = 0.04;
	offsetX = 0.003;
	offsetY = 0.003;
	offsetPressedX = 0.002;
	offsetPressedY = 0.002;
	borderSize = 0;
};

class grad_fortifications_RscListNBox
{
	access = 0;
	idc = -1;
	type = CT_LISTNBOX;
	style = ST_LEFT + LB_TEXTURES;
	default = 0;
	blinkingPeriod = 0;

	colorSelectBackground[] = {0.95, 0.95, 0.95, 1};
	colorSelectBackground2[] = {1, 1, 1, 0.5};

	sizeEx = 0.035 * TEXT_SCALE;
	font = "PuristaMedium";
	shadow = 0;
	colorText[] = {1,1,1,1};
	colorDisabled[] = {1, 1, 1, 0.25};
	colorSelect[] = {0, 0, 0, 1};
	colorSelect2[] = {0, 0, 0, 1};
	colorShadow[] = {0,0,0,0.5};

	tooltip = "";
	tooltipColorText[] = {1, 1, 1, 1};
	tooltipColorBox[] = {1, 1, 1, 1};
	tooltipColorShade[] = {0, 0, 0, 0.65};

	columns[] = {0.021,0.1};

	drawSideArrows = 0;
	idcLeft = 1000;
	idcRight = 1001;

	period = 0.8;

	rowHeight = 0;
	maxHistoryDelay = 1;

	soundSelect[] = {"\A3\ui_f\data\sound\RscListbox\soundSelect",0.09,1};

	class ListScrollBar
	{
		width = 0;
		height = 0;
		scrollSpeed = 0.01;

		arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
		arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
		border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
		thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";

		color[] = {1,1,1,1};
	};
};

class grad_fortifications_RscCloseButton {
    access = 0;
    type = CT_BUTTON;
    action = "closeDialog 0";
    text = "X";
    colorText[] = {1,1,1,1};
    colorDisabled[] = {1,1,1,0.25};
    colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0])",1};
    colorFocused[] = {1,1,1,0.5};
    colorBackgroundActive[] = {1,1,1,0.8}; // hover
    colorBackgroundDisabled[] = {0.3,0.3,0.3,1};
    colorBackgroundFocused[] = {1,1,1,0};
    colorShadow[] = {0,0,0,0};
    colorBorder[] = {0,0,0,1};
    soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter", 0.09, 1};
    soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush", 0.09, 1};
    soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick", 0.09, 1};
    soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape", 0.09, 1};
    animTextureDefault = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";
    animTextureNormal = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";
    animTextureDisabled = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";
    animTextureOver = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\over_ca.paa";
    animTextureFocused = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\focus_ca.paa";
    animTexturePressed = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\down_ca.paa";
    style = 2;
    x = 0;
    y = 0;
    w = 0.055589;
    h = 0.039216;
    shadow = 0;
    font = "PuristaMedium";
    sizeEx = 0.04;
    offsetX = 0.003;
    offsetY = 0.003;
    offsetPressedX = 0.002;
    offsetPressedY = 0.002;
    borderSize = 0;
};
//CONTROLS =====================================================================
#define grad_fortifications_hint_TITLE      57000
#define grad_fortifications_hint_BG_LINE1   57010
#define grad_fortifications_hint_TXT_LINE1  57011
#define grad_fortifications_hint_PIC_LINE1  57012
#define grad_fortifications_hint_BG_LINE2   57020
#define grad_fortifications_hint_TXT_LINE2  57021
#define grad_fortifications_hint_PIC_LINE2  57022
#define grad_fortifications_hint_BG_LINE3   57030
#define grad_fortifications_hint_TXT_LINE3  57031
#define grad_fortifications_hint_PIC_LINE3  57032
#define grad_fortifications_hint_BG_LINE4   57040
#define grad_fortifications_hint_TXT_LINE4  57041
#define grad_fortifications_hint_PIC_LINE4  57042
#define grad_fortifications_hint_BG_LINE5   57050
#define grad_fortifications_hint_TXT_LINE5  57051
#define grad_fortifications_hint_PIC_LINE5  57052


//DIMENSIONS AND POSITIONS =====================================================
#define grad_fortifications_spacing_Y       (0.0025 * Y_SCALE)
#define grad_fortifications_spacing_X       (0.0025 * X_SCALE)

#define grad_fortifications_hint_W          (0.3 * X_SCALE)
#define grad_fortifications_hint_H          (0.0275 * Y_SCALE)

#define grad_fortifications_hint_picture_W  (0.0275 * X_SCALE)

#define grad_fortifications_hint_X          (1.3 * X_SCALE)
#define grad_fortifications_hint_Y          (0.3 * Y_SCALE)

#define grad_fortifications_hint_textScale  (0.03 * TEXT_SCALE)

#define grad_fortifications_hint_Text_X     (grad_fortifications_hint_X + grad_fortifications_hint_picture_W + grad_fortifications_spacing_X)
#define grad_fortifications_hint_Text_W     (grad_fortifications_hint_W - grad_fortifications_hint_picture_W - grad_fortifications_spacing_X)
#include "..\ui_toolkit.hpp"
#include "defines.hpp"

class grad_fortifications_empty {
    idd = -1;
    fadein = 0;
    fadeout = 0;
    duration = 0;
};

class grad_fortifications_hint {
    idd = grad_fortifications_hint_TITLE;
    duration = 99999;

    enableSimulation = 1;
    enableDisplay = 1;

    onLoad = "uiNamespace setVariable ['grad_fortifications_hint', _this select 0];";
    onUnload = "uiNamespace setVariable ['grad_fortifications_hint', displayNull];";

    class ControlsBackground {
        class BG1: grad_fortifications_RscText {
            idc = grad_fortifications_hint_BG_LINE1;

            w = grad_fortifications_hint_W;
            h = grad_fortifications_hint_H;
            x = grad_fortifications_hint_X;
            y = grad_fortifications_hint_Y + 0*(grad_fortifications_spacing_Y + grad_fortifications_hint_H);

            colorBackground[] = {0,0,0,0.65};
        };
        class Text1: grad_fortifications_RscText {
            idc = grad_fortifications_hint_TXT_LINE1;

			sizeEx = grad_fortifications_hint_textScale;

            w = grad_fortifications_hint_Text_W;
            h = grad_fortifications_hint_H;
            x = grad_fortifications_hint_Text_X;
            y = grad_fortifications_hint_Y + 0*(grad_fortifications_spacing_Y + grad_fortifications_hint_H);
        };
        class Pic1: grad_fortifications_RscPicture {
            idc = grad_fortifications_hint_PIC_LINE1;

            w = grad_fortifications_hint_picture_W;
            h = grad_fortifications_hint_H;
            x = grad_fortifications_hint_X + grad_fortifications_spacing_X;
            y = grad_fortifications_hint_Y + 0*(grad_fortifications_spacing_Y + grad_fortifications_hint_H);
        };

        class BG2: grad_fortifications_RscText {
            idc = grad_fortifications_hint_BG_LINE2;

            w = grad_fortifications_hint_W;
            h = grad_fortifications_hint_H;
            x = grad_fortifications_hint_X;
            y = grad_fortifications_hint_Y + 1*(grad_fortifications_spacing_Y + grad_fortifications_hint_H);

            colorBackground[] = {0,0,0,0.65};
        };
        class Text2: grad_fortifications_RscText {
            idc = grad_fortifications_hint_TXT_LINE2;

			sizeEx = grad_fortifications_hint_textScale;

            w = grad_fortifications_hint_Text_W;
            h = grad_fortifications_hint_H;
            x = grad_fortifications_hint_Text_X;
            y = grad_fortifications_hint_Y + 1*(grad_fortifications_spacing_Y + grad_fortifications_hint_H);
        };
        class Pic2: grad_fortifications_RscPicture {
            idc = grad_fortifications_hint_PIC_LINE2;

            w = grad_fortifications_hint_picture_W;
            h = grad_fortifications_hint_H;
            x = grad_fortifications_hint_X + grad_fortifications_spacing_X;
            y = grad_fortifications_hint_Y + 1*(grad_fortifications_spacing_Y + grad_fortifications_hint_H);
        };

        class BG3: grad_fortifications_RscText {
            idc = grad_fortifications_hint_BG_LINE3;

            w = grad_fortifications_hint_W;
            h = grad_fortifications_hint_H;
            x = grad_fortifications_hint_X;
            y = grad_fortifications_hint_Y + 2*(grad_fortifications_spacing_Y + grad_fortifications_hint_H);

            colorBackground[] = {0,0,0,0.65};
        };
        class Text3: grad_fortifications_RscText {
            idc = grad_fortifications_hint_TXT_LINE3;

			sizeEx = grad_fortifications_hint_textScale;

            w = grad_fortifications_hint_Text_W;
            h = grad_fortifications_hint_H;
            x = grad_fortifications_hint_Text_X;
            y = grad_fortifications_hint_Y + 2*(grad_fortifications_spacing_Y + grad_fortifications_hint_H);
        };
        class Pic3: grad_fortifications_RscPicture {
            idc = grad_fortifications_hint_PIC_LINE3;

            w = grad_fortifications_hint_picture_W;
            h = grad_fortifications_hint_H;
            x = grad_fortifications_hint_X + grad_fortifications_spacing_X;
            y = grad_fortifications_hint_Y + 2*(grad_fortifications_spacing_Y + grad_fortifications_hint_H);
        };

        class BG4: grad_fortifications_RscText {
            idc = grad_fortifications_hint_BG_LINE4;

            w = grad_fortifications_hint_W;
            h = grad_fortifications_hint_H;
            x = grad_fortifications_hint_X;
            y = grad_fortifications_hint_Y + 3*(grad_fortifications_spacing_Y + grad_fortifications_hint_H);

            colorBackground[] = {0,0,0,0.65};
        };
        class Text4: grad_fortifications_RscText {
            idc = grad_fortifications_hint_TXT_LINE4;

			sizeEx = grad_fortifications_hint_textScale;

            w = grad_fortifications_hint_Text_W;
            h = grad_fortifications_hint_H;
            x = grad_fortifications_hint_Text_X;
            y = grad_fortifications_hint_Y + 3*(grad_fortifications_spacing_Y + grad_fortifications_hint_H);
        };
        class Pic4: grad_fortifications_RscPicture {
            idc = grad_fortifications_hint_PIC_LINE4;

            w = grad_fortifications_hint_picture_W;
            h = grad_fortifications_hint_H;
            x = grad_fortifications_hint_X + grad_fortifications_spacing_X;
            y = grad_fortifications_hint_Y + 3*(grad_fortifications_spacing_Y + grad_fortifications_hint_H);
        };

        class BG5: grad_fortifications_RscText {
            idc = grad_fortifications_hint_BG_LINE5;

            w = grad_fortifications_hint_W;
            h = grad_fortifications_hint_H;
            x = grad_fortifications_hint_X;
            y = grad_fortifications_hint_Y + 4*(grad_fortifications_spacing_Y + grad_fortifications_hint_H);

            colorBackground[] = {0,0,0,0.65};
        };
        class Text5: grad_fortifications_RscText {
            idc = grad_fortifications_hint_TXT_LINE5;

			sizeEx = grad_fortifications_hint_textScale;

            w = grad_fortifications_hint_Text_W;
            h = grad_fortifications_hint_H;
            x = grad_fortifications_hint_Text_X;
            y = grad_fortifications_hint_Y + 4*(grad_fortifications_spacing_Y + grad_fortifications_hint_H);
        };
        class Pic5: grad_fortifications_RscPicture {
            idc = grad_fortifications_hint_PIC_LINE5;

            w = grad_fortifications_hint_picture_W;
            h = grad_fortifications_hint_H;
            x = grad_fortifications_hint_X + grad_fortifications_spacing_X;
            y = grad_fortifications_hint_Y + 4*(grad_fortifications_spacing_Y + grad_fortifications_hint_H);
        };
    };
};
//CONTROLS =====================================================================
#define grad_fortifications_DIALOG          42000
#define grad_fortifications_TITLE           42001
#define grad_fortifications_ITEMLIST        42002
#define grad_fortifications_BUILDBUTTON     42003
#define grad_fortifications_DROPBUTTON      42004
#define grad_fortifications_3DMODEL         42005


//DIMENSIONS AND POSITIONS =====================================================
#define grad_fortifications_textSize       (0.04 * TEXT_SCALE)

#define grad_fortifications_Item_H         (0.025 * Y_SCALE)
#define grad_fortifications_Item_W         (0.025 * X_SCALE)
#define grad_fortifications_ItemSpace_Y    (0.0025 * Y_SCALE)
#define grad_fortifications_ItemSpace_X    (0.0025 * X_SCALE)

#define grad_fortifications_Padding_Y      (0.5 * grad_fortifications_Item_H)
#define grad_fortifications_Padding_X      (0.5 * grad_fortifications_Item_W)

#define grad_fortifications_Column_W       (0.35 * X_SCALE)
#define grad_fortifications_Column_H       (0.4 * Y_SCALE)

#define grad_fortifications_Column1_X      (grad_fortifications_BG_X + grad_fortifications_Padding_X)
#define grad_fortifications_Column2_X      (grad_fortifications_Column1_X + grad_fortifications_Column_W + grad_fortifications_Padding_X)

#define grad_fortifications_Itemlist_H     (grad_fortifications_Column_H - grad_fortifications_Item_H - grad_fortifications_ItemSpace_Y)
#define grad_fortifications_Picture_H      (0.4* (grad_fortifications_Column_H-grad_fortifications_ItemSpace_Y))
#define grad_fortifications_Description_H  (0.6* (grad_fortifications_Column_H-grad_fortifications_ItemSpace_Y))

#define grad_fortifications_BG_W           (3*grad_fortifications_Padding_X + 3*grad_fortifications_Column_W)
#define grad_fortifications_BG_H           (2*grad_fortifications_Padding_Y + grad_fortifications_Column_H)
#define grad_fortifications_BG_X           CENTER(1, grad_fortifications_BG_W)
#define grad_fortifications_BG_Y           CENTER(1, grad_fortifications_BG_H)

#define grad_fortifications_Button_W       (0.2 * X_SCALE)

#define grad_fortifications_CloseButton_W  (grad_fortifications_Item_H - (2 * grad_fortifications_ItemSpace_Y))
#define grad_fortifications_TopBar_Y       (grad_fortifications_BG_Y - grad_fortifications_Item_H * 1.1)
class grad_fortifications {
    idd = grad_fortifications_DIALOG;
    movingEnable = true;
    enableSimulation = true;

    class ControlsBackground {
        class MainBackground: grad_fortifications_RscBackground {
            x = grad_fortifications_BG_X;
            y = grad_fortifications_BG_Y;
            w = grad_fortifications_BG_W;
            h = grad_fortifications_BG_H;
        };

        class TopBar: grad_fortifications_RscBackground {
            x = grad_fortifications_BG_X;
            y = grad_fortifications_TopBar_Y;
            w = grad_fortifications_BG_W;
            h = grad_fortifications_Item_H;

            colorBackground[] = {
                "(profilenamespace getvariable ['GUI_BCG_RGB_R', 0])",
                "(profilenamespace getvariable ['GUI_BCG_RGB_G',0])",
                "(profilenamespace getvariable ['GUI_BCG_RGB_B',0])",
                1
            };
        };

        class DialogTitleText: grad_fortifications_RscText {
            idc = grad_fortifications_TITLE;
            text = "MY FORTIFICATIONS";
            sizeEx = 0.04 * TEXT_SCALE;

            x = grad_fortifications_BG_X;
            y = grad_fortifications_TopBar_Y;
            w = grad_fortifications_BG_W;
            h = grad_fortifications_Item_H;
        };

        class ItemListBG: grad_fortifications_RscBackground {
            idc = -1;
            colorBackground[] = {0,0,0,0.4};

            x = grad_fortifications_Column1_X;
            y = grad_fortifications_BG_Y + grad_fortifications_Padding_Y;
            w = grad_fortifications_Column_W;
            h = grad_fortifications_Column_H;
        };

        class PreviewPictureBG: grad_fortifications_RscBackground {
            idc = -1;
            colorBackground[] = {0,0,0,0.4};

            x = grad_fortifications_Column2_X;
            y = grad_fortifications_BG_Y + grad_fortifications_Padding_Y;
            w = 2*grad_fortifications_Column_W;
            h = grad_fortifications_Column_H;
        };
    };

    class Controls {
        class ItemList: grad_fortifications_RscListNBox {
            idc = grad_fortifications_ITEMLIST;

            x = grad_fortifications_Column1_X;
            y = grad_fortifications_BG_Y + grad_fortifications_Padding_Y + grad_fortifications_ItemSpace_Y;
            w = grad_fortifications_Column_W;
            h = grad_fortifications_Column_H - 2*grad_fortifications_ItemSpace_Y;

            onLBSelChanged = "_this call grad_fortifications_fnc_onSelChanged";
        };

        class BuildButton: grad_fortifications_RscButton {
            idc = grad_fortifications_BUILDBUTTON;
            text = "BUILD";
            action = "['NORMAL'] call grad_fortifications_fnc_doBuild; closeDialog 0";

            x = grad_fortifications_BG_X + grad_fortifications_BG_W - grad_fortifications_Button_W;
            y = grad_fortifications_BG_Y + grad_fortifications_BG_H + grad_fortifications_ItemSpace_Y;
            w = grad_fortifications_Button_W;
            h = grad_fortifications_Item_H;
        };

        class DropButton: grad_fortifications_RscButton {
            idc = grad_fortifications_DROPBUTTON;
            text = "DROP";
            action = "_this call grad_fortifications_fnc_doDrop";

            x = grad_fortifications_BG_X + grad_fortifications_BG_W - grad_fortifications_ItemSpace_X - 2*grad_fortifications_Button_W;
            y = grad_fortifications_BG_Y + grad_fortifications_BG_H + grad_fortifications_ItemSpace_Y;
            w = grad_fortifications_Button_W;
            h = grad_fortifications_Item_H;
        };

        class CloseButton: grad_fortifications_RscCloseButton {
          idc = -1;
          x = grad_fortifications_BG_X + grad_fortifications_BG_W - grad_fortifications_ItemSpace_X - grad_fortifications_CloseButton_W;
          y = grad_fortifications_TopBar_Y + grad_fortifications_ItemSpace_Y;
          w = grad_fortifications_CloseButton_W;
          h = grad_fortifications_CloseButton_W;
        };
    };

    class Objects {
        class previewModel {
            idc = grad_fortifications_3DMODEL;
            type = 82;
            model = "\A3\Structures_F\Items\Food\Can_V3_F.p3d";
            scale = 0.05;

            direction[] = {-0.40, 0.35, 0.65};
			up[] = {0, 0.65, -0.35};

            x = grad_fortifications_Column2_X + grad_fortifications_Column_W;
            y = grad_fortifications_BG_Y + grad_fortifications_Padding_Y + 0.5*grad_fortifications_Column_H;
            z = 0.2;

            xBack = grad_fortifications_Column2_X + grad_fortifications_Column_W;
            yBack = grad_fortifications_BG_Y + grad_fortifications_Padding_Y + 0.5*grad_fortifications_Column_H;
            zBack = 1.2;

            inBack = 1;
            enableZoom = 0;
            zoomDuration = 0.001;
            onLoad = "_this call grad_fortifications_fnc_rotateModel;";
        };
    };
};
// ******************************************************************************************
// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *
// ******************************************************************************************
//	@file Name: ui_toolkit.hpp
//	@file Author: AgentRev

// Arma UI Mini Toolkit v1.0 by AgentRev

// Uncomment the define below if you want your UIs to scale according to the UI size selected by the user
//#define FOLLOW_UI_SIZE

// Uncomment the define below if you want your UIs to scale according to the resolution selected by the user
#define FOLLOW_RESOLUTION

// This is the percentage from the dev resolution that the UI must start compensating in order to stay at a reasonable size (ex: UI cannot get smaller than 75% from the dev resolution)
#define FOLLOW_RES_LOWER_CAP 0.75

// Effects:
// FOLLOW_UI_SIZE only = UI will be scaled according to the user's UI size, relative from UI_SIZE_DEV below, regardless of the resolution (not recommended)
// FOLLOW_RESOLUTION only = UI will be scaled according to the resolution, relative from RES_Y_DEV below, regardless of the user's UI size
// both commented = UI will be the same size in pixels across all UI sizes and resolutions
// both uncommented = UI will be scaled according to the resolution, then scaled according to the user's UI size

// ----- Interface size & resolution -----
#define UI_VSMALL 0.47
#define UI_SMALL 0.55
#define UI_NORMAL 0.7
#define UI_LARGE 0.85
#define UI_VLARGE 1.0

#define UI_SIZE_DEV UI_SMALL // If you want your text to stay the same size across all UI sizes, change this to your UI size
#define UI_SIZE (getResolution select 5) // Interface size selected in game options

#define RES_Y_DEV 1080 // If you want your UIs to stay the same size across all resolutions, change this to your game's resolution height
#define RES_Y (getResolution select 1) // Resolution height in pixels

// ----- Safezone & scales -----
#define SZ_LEFT safezoneX      // X left
#define SZ_RIGHT (1 - SZ_LEFT) // X right
#define SZ_TOP safezoneY       // Y top
#define SZ_BOTTOM (1 - SZ_TOP) // Y bottom

// Determine if UI & text scales are relative to UI size
#ifdef FOLLOW_UI_SIZE
	#define UI_SCALE (UI_SIZE / UI_SIZE_DEV) // Constant UI scale across all UI sizes
	#define TEXT_SCALE_UI 1 // Regular text scale
#else
	#define UI_SCALE 1 // Regular UI scale
	#define TEXT_SCALE_UI (UI_SIZE_DEV / UI_SIZE) // Compensate text scale against UI size
#endif

// Determine if UI scale is relative to resolution
#ifdef FOLLOW_RESOLUTION
	#define RES_SCALE (((RES_Y_DEV * FOLLOW_RES_LOWER_CAP) / RES_Y) max 1) // Regular UI scale, with lower cap
#else
	#define RES_SCALE (RES_Y_DEV / RES_Y) // Constant UI scale across all resolutions below dev resolution
#endif

#define TEXT_SCALE (TEXT_SCALE_UI * RES_SCALE) // Compensate text scale against resolution

// Set scales
#define SZ_SCALE_ABS (safezoneW min safezoneH)
#define SZ_SCALE (SZ_SCALE_ABS * RES_SCALE * UI_SCALE) // the smallest safezone is used for size ref (because W < H if ratio < 4/3)
#define X_SCALE (SZ_SCALE * 0.75) // cancels 4/3 ratio applied on X and W values by engine, so that X and Y have a uniform scale
#define Y_SCALE (SZ_SCALE * 1.0)

// Offsets
#define X_OFFSET 0
#define Y_OFFSET 0

// Positions relative to top left, plus above offsets
#define X_POS(VALUE) (SZ_LEFT + ((VALUE + X_OFFSET) * X_SCALE)) // stretches X value to full screen width
#define Y_POS(VALUE) (SZ_TOP + ((VALUE + Y_OFFSET) * Y_SCALE)) // stretches Y value to full screen height

// Function to find child offset relative to parent pos for centering inside
#define CENTER(PARENT_SIZE, CHILD_SIZE) ((PARENT_SIZE / 2) - (CHILD_SIZE / 2))
#define grad_fortifications_vehicle_ITEMLIST                42100
#define grad_fortifications_vehicle_ITEMLISTTITLEVEHICLE    42101
#define grad_fortifications_vehicle_ITEMLISTTITLE           42102
#define grad_fortifications_vehicle_TAKEBUTTON              42103
#define grad_fortifications_vehicle_STOREBUTTON             42104

#define grad_fortifications_vehicle_BG_W                    (3*grad_fortifications_Padding_X + 4*grad_fortifications_Column_W + 2*grad_fortifications_ItemSpace_X + grad_fortifications_Item_W)
#define grad_fortifications_vehicle_BG_X                    CENTER(1, grad_fortifications_vehicle_BG_W)

#define grad_fortifications_vehicle_Column1_X               (grad_fortifications_vehicle_BG_X + grad_fortifications_Padding_X)
#define grad_fortifications_vehicle_Button_X                (grad_fortifications_vehicle_Column1_X + grad_fortifications_Column_W + grad_fortifications_ItemSpace_X)
#define grad_fortifications_vehicle_Column2_X               (grad_fortifications_vehicle_Button_X + grad_fortifications_Item_W + grad_fortifications_ItemSpace_X)
#define grad_fortifications_vehicle_Column3_X               (grad_fortifications_vehicle_Column2_X + grad_fortifications_Column_W + grad_fortifications_Padding_X)

#define grad_fortifications_vehicle_Button_Y                CENTER(1, 2*grad_fortifications_Item_H + grad_fortifications_ItemSpace_Y)
class grad_fortifications_vehicle: grad_fortifications {
    class ControlsBackground: ControlsBackground {
        class MainBackground: MainBackground {
            x = grad_fortifications_vehicle_BG_X;
            w = grad_fortifications_vehicle_BG_W;
        };
        class TopBar: TopBar {
            x = grad_fortifications_vehicle_BG_X;
            w = grad_fortifications_vehicle_BG_W;
        };
        class DialogTitleText: DialogTitleText {
            x = grad_fortifications_vehicle_BG_X;
            text = "FORTIFICATIONS";
        };

        class ItemListBG1: ItemListBG {
            x = grad_fortifications_vehicle_Column1_X;
        };
        class ItemListBG2: ItemListBG {
            x = grad_fortifications_vehicle_Column2_X;
        };

        class PreviewPictureBG: PreviewPictureBG {
            x = grad_fortifications_vehicle_Column3_X;
        };
    };

    class Controls: Controls {
        class ItemListVehicleTitle: grad_fortifications_RscText {
            idc = grad_fortifications_vehicle_ITEMLISTTITLEVEHICLE;
            x = grad_fortifications_vehicle_Column1_X;
            y = grad_fortifications_BG_Y + grad_fortifications_Padding_Y;
            w = grad_fortifications_Column_W;
            h = grad_fortifications_Item_H;

            sizeEx = 0.035 * TEXT_SCALE;
            colorBackground[] = {
                "(profilenamespace getvariable ['GUI_BCG_RGB_R', 0])",
                "(profilenamespace getvariable ['GUI_BCG_RGB_G',0])",
                "(profilenamespace getvariable ['GUI_BCG_RGB_B',0])",
                0.7
            };
        };

        class ItemListVehicle: ItemList {
            idc = grad_fortifications_vehicle_ITEMLIST;
            x = grad_fortifications_vehicle_Column1_X;
            y = grad_fortifications_BG_Y + grad_fortifications_Padding_Y + grad_fortifications_ItemSpace_Y + grad_fortifications_Item_H;
            h = grad_fortifications_Column_H - 2*grad_fortifications_ItemSpace_Y - grad_fortifications_Item_H;
            onLBSelChanged = "_this call grad_fortifications_fnc_onSelChanged";
        };

        class ItemListTitle: grad_fortifications_RscText {
            idc = grad_fortifications_vehicle_ITEMLISTTITLE;
            x = grad_fortifications_vehicle_Column2_X;
            y = grad_fortifications_BG_Y + grad_fortifications_Padding_Y;
            w = grad_fortifications_Column_W;
            h = grad_fortifications_Item_H;

            sizeEx = 0.035 * TEXT_SCALE;
            colorBackground[] = {
                "(profilenamespace getvariable ['GUI_BCG_RGB_R', 0])",
                "(profilenamespace getvariable ['GUI_BCG_RGB_G',0])",
                "(profilenamespace getvariable ['GUI_BCG_RGB_B',0])",
                0.7
            };
        };

        class ItemList: ItemList {
            idc = grad_fortifications_ITEMLIST;
            x = grad_fortifications_vehicle_Column2_X;
            y = grad_fortifications_BG_Y + grad_fortifications_Padding_Y + grad_fortifications_ItemSpace_Y + grad_fortifications_Item_H;
            h = grad_fortifications_Column_H - 2*grad_fortifications_ItemSpace_Y - grad_fortifications_Item_H;
            onLBSelChanged = "_this call grad_fortifications_fnc_onSelChanged";
        };

        class StoreButton: grad_fortifications_RscButton {
            idc = grad_fortifications_vehicle_STOREBUTTON;
            style = ST_CENTER;

            x = grad_fortifications_vehicle_Button_X;
            y = grad_fortifications_vehicle_Button_Y;
            w = grad_fortifications_Item_W;
            h = grad_fortifications_Item_H;

            colorBackground[] = {0,0.8,0,0.8};
            text = "<";
            action = "['STORE'] call grad_fortifications_fnc_requestStoreTake";
        };

        class TakeButton: grad_fortifications_RscButton {
            idc = grad_fortifications_vehicle_TAKEBUTTON;
            style = ST_CENTER;

            x = grad_fortifications_vehicle_Button_X;
            y = grad_fortifications_vehicle_Button_Y + grad_fortifications_Item_H + grad_fortifications_ItemSpace_Y;
            w = grad_fortifications_Item_W;
            h = grad_fortifications_Item_H;

            colorBackground[] = {0,0.8,0,0.8};
            text = ">";
            action = "['TAKE'] call grad_fortifications_fnc_requestStoreTake";
        };

        class BuildButton: BuildButton {
            idc = grad_fortifications_BUILDBUTTON;
            text = "BUILD";
            action = "[] call grad_fortifications_fnc_doBuild; closeDialog 0";

            x = grad_fortifications_vehicle_BG_X + grad_fortifications_vehicle_BG_W - grad_fortifications_Button_W;
            y = grad_fortifications_BG_Y + grad_fortifications_BG_H + grad_fortifications_ItemSpace_Y;
            w = grad_fortifications_Button_W;
            h = grad_fortifications_Item_H;
        };

        class CloseButton: CloseButton {
            x = grad_fortifications_vehicle_BG_X + grad_fortifications_vehicle_BG_W - grad_fortifications_ItemSpace_X - grad_fortifications_CloseButton_W;
        };
    };

    class Objects: Objects {
        class previewModel: previewModel {
            x = grad_fortifications_vehicle_Column3_X + grad_fortifications_Column_W;
            y = grad_fortifications_BG_Y + grad_fortifications_Padding_Y + 0.5*grad_fortifications_Column_H;
            z = 0.2;

            xBack = grad_fortifications_vehicle_Column3_X + grad_fortifications_Column_W;
            yBack = grad_fortifications_BG_Y + grad_fortifications_Padding_Y + 0.5*grad_fortifications_Column_H;
            zBack = 1.2;
        };
    };
};
grad_fortifications_checkCollisionPFH = [{
    params ["_args", "_handle"];
    _args params ["_builder","_visualLines","_boundingLines","_groundLines","_fort","_canFloat","_canCollide","_canPlaceOnRoad","_moduleRoot","_surfaceNormal","_surfaceNormalForced"];

    if (isNull _fort) exitWith {[_handle] call CBA_fnc_removePerFrameHandler};

    _visualLinesWorld = [_visualLines,_fort] call grad_fortifications_fnc_linesToWorld;
    _boundingLinesWorld = [_boundingLines,_fort] call grad_fortifications_fnc_linesToWorld;
    _groundLinesWorld = [_groundLines,_fort] call grad_fortifications_fnc_linesToWorld;

    _isOnGround = if (_canFloat) then {true} else {[_groundLinesWorld,_fort] call grad_fortifications_fnc_isOnGround};
    _isOnRoad = if (_canPlaceOnRoad) then {false} else {isOnRoad _fort};
    _customCondition = [_fort,_builder] call compile ([missionConfigFile >> "CfgGradFortifications" >> "Fortifications" >> typeOf _fort >> "condition","text","true"] call CBA_fnc_getConfigEntry);

    //check bounding box
    _builder setVariable ["grad_fortifications_isColliding",false];
    _builder setVariable ["grad_fortifications_isOnGround",_isOnGround];
    _builder setVariable ["grad_fortifications_isOnRoad",_isOnRoad];
    _builder setVariable ["grad_fortifications_isCustomCondition",_customCondition];
    {
        _isColliding = if (_canCollide) then {false} else {[_x,_fort] call grad_fortifications_fnc_isColliding};

        _color = [0,1,0,1];
        if (_isColliding) then {
            _color = [1,0,0,1];
            _builder setVariable ["grad_fortifications_isColliding",true];
        };

        if (!_isOnGround || _isOnRoad || !_customCondition) then {
            _color = [1,1,0,1];
        };

        if (missionNamespace getVariable ["grad_fortifications_collisionDebugMode",false]) then {
            drawLine3D [_x select 0, _x select 1, _color];
        } else {
            _visualLine = _visualLinesWorld select _forEachIndex;
            drawLine3D [_visualLine select 0, _visualLine select 1, _color];
        };
    } forEach _boundingLinesWorld;


    //draw ground lines if debug mode
    if (missionNamespace getVariable ["grad_fortifications_collisionDebugMode",false]) then {
        _color = if (!_isOnGround) then {[1,1,0,1]} else {[0,1,0,1]};
        {
            drawLine3D [_x select 0,_x select 1,_color];
            false
        } count _groundLinesWorld;
    };


    //update hint
    switch (true) do {
        case (!_customCondition): {
            ["CUSTOM",_moduleRoot,_surfaceNormal,_surfaceNormalForced,_builder,typeOf _fort] call grad_fortifications_fnc_updateHint;
        };
        case (!_isOnGround): {
            ["FLOATING",_moduleRoot,_surfaceNormal,_surfaceNormalForced,_builder] call grad_fortifications_fnc_updateHint;
        };
        case (_isOnRoad): {
            ["ONROAD",_moduleRoot,_surfaceNormal,_surfaceNormalForced,_builder] call grad_fortifications_fnc_updateHint;
        };
        case (_builder getVariable ["grad_fortifications_isColliding",true]): {
            ["COLLIDING",_moduleRoot,_surfaceNormal,_surfaceNormalForced,_builder] call grad_fortifications_fnc_updateHint;
        };
        default {
            ["CANPLACE",_moduleRoot,_surfaceNormal,_surfaceNormalForced,_builder] call grad_fortifications_fnc_updateHint;
        };
    };
},0,_this] call CBA_fnc_addPerFrameHandler;

grad_fortifications_checkCollisionPFH
params ["_obj","_boundingBoxSize","_boundingBoxOffset"];

// resize to 2 here to get rid of boundingboxSphere value
private _boundingBox = boundingBoxReal _obj;
_boundingBox resize 2;
_boundingBox = _boundingBox apply {_x vectorAdd _boundingBoxOffset};

_boundingBox params ["_p0","_p1"];
_p0 params ["_x0","_y0","_z0"];
_p1 params ["_x1","_y1","_z1"];

_lines = [
    //x-axis
    [[0,0,0],[0,0,0]],
    [[_x0,_y0,_z1],[_x1,_y0,_z1]],
    [[0,0,0],[0,0,0]],
    [[_x0,_y1,_z1],[_x1,_y1,_z1]],

    //y-axis
    [[0,0,0],[0,0,0]],
    [[_x0,_y0,_z1],[_x0,_y1,_z1]],
    [[0,0,0],[0,0,0]],
    [[_x1,_y0,_z1],[_x1,_y1,_z1]],

    //z-axis
    [[_x0,_y0,_z1],[_x0,_y0,_z0]],
    [[_x1,_y0,_z1],[_x1,_y0,_z0]],
    [[_x0,_y1,_z1],[_x0,_y1,_z0]],
    [[_x1,_y1,_z1],[_x1,_y1,_z0]],

    //diagonals
    [[_x0,_y0,_z0],[_x1,_y1,_z1]],
    [[_x0,_y0,_z1],[_x1,_y1,_z0]],
    [[_x1,_y0,_z0],[_x0,_y1,_z1]],
    [[_x1,_y0,_z1],[_x0,_y1,_z0]]
];

_smallLines = _lines apply {[(_x select 0) vectorMultiply (0.8 * _boundingBoxSize * grad_fortifications_boundingBoxSizeFactor), (_x select 1) vectorMultiply (0.8 * _boundingBoxSize * grad_fortifications_boundingBoxSizeFactor)]};

_smallLines
params ["_obj"];

_boundingBox = boundingBoxReal _obj;
_boundingBox params ["_p0","_p1"];
_p0 params ["_x0","_y0","_z0"];
_p1 params ["_x1","_y1","_z1"];


_groundLines = [
    //x-axis
    [[_x0,_y0,_z0],[_x1,_y0,_z0]],
    [[_x0,_y1,_z0],[_x1,_y1,_z0]],

    //y-axis
    [[_x0,_y0,_z0],[_x0,_y1,_z0]],
    [[_x1,_y0,_z0],[_x1,_y1,_z0]],

    //z-axis
    [[_x0,_y0,_z1],[_x0,_y0,_z0]],
    [[_x1,_y0,_z1],[_x1,_y0,_z0]],
    [[_x0,_y1,_z1],[_x0,_y1,_z0]],
    [[_x1,_y1,_z1],[_x1,_y1,_z0]]
];

for [{_i=0}, {_i<4}, {_i=_i+1}] do {
    _line = _groundLines select _i;

    _p1 = _line select 0;
    _p2 = _line select 1;

    _z0 = _p1 select 2;
    _z1 = _p2 select 2;

    _line set [0,(_line select 0) vectorMultiply 0.8];
    _line set [1,(_line select 1) vectorMultiply 0.8];

    _p1 = _line select 0;
    _p2 = _line select 1;
    _p1 set [2,_z0];
    _p2 set [2,_z1];
};

_groundLines
params ["_obj"];

_boundingBox = boundingBoxReal _obj;
_boundingBox params ["_p0","_p1"];
_p0 params ["_x0","_y0","_z0"];
_p1 params ["_x1","_y1","_z1"];

[
    //x-axis
    [[_x0,_y0,_z0],[_x1,_y0,_z0]],
    [[_x0,_y0,_z1],[_x1,_y0,_z1]],
    [[_x0,_y1,_z0],[_x1,_y1,_z0]],
    [[_x0,_y1,_z1],[_x1,_y1,_z1]],

    //y-axis
    [[_x0,_y0,_z0],[_x0,_y1,_z0]],
    [[_x0,_y0,_z1],[_x0,_y1,_z1]],
    [[_x1,_y0,_z0],[_x1,_y1,_z0]],
    [[_x1,_y0,_z1],[_x1,_y1,_z1]],

    //z-axis
    [[_x0,_y0,_z1],[_x0,_y0,_z0]],
    [[_x1,_y0,_z1],[_x1,_y0,_z0]],
    [[_x0,_y1,_z1],[_x0,_y1,_z0]],
    [[_x1,_y1,_z1],[_x1,_y1,_z0]],

    //diagonals
    [[_x0,_y0,_z0],[_x1,_y1,_z1]],
    [[_x0,_y0,_z1],[_x1,_y1,_z0]],
    [[_x1,_y0,_z0],[_x0,_y1,_z1]],
    [[_x1,_y0,_z1],[_x0,_y1,_z0]]
]
#define CF_ONLY_WATER       1
#define CF_NEAREST_CONTACT  2
#define CF_ONLY_STATIC      4
#define CF_ONLY_DYNAMIC     8
#define CF_FIRST_CONTACT    16
#define CF_ALL_OBJECTS      32

params ["_line",["_ignoreObj",objNull]];

_startPos = AGLToASL (_line select 0);
_endPos = AGLToASL (_line select 1);

_intersectingObjects = lineIntersectsObjs [_startPos, _endPos, objNull, _ignoreObj, false, CF_ALL_OBJECTS + CF_FIRST_CONTACT];
_isColliding = (count _intersectingObjects) > 0;

_isColliding


/*  Other methods:
*   _intersectingObjects = lineIntersectsSurfaces [_startPos, _endPos, _ignoreObj];     //always collides with floor
*   _intersectingObjects = lineIntersectsWith [_startPos, _endPos];                     //seems to be less accurate than lineIntersectsObjs
*/
params ["_lines",["_ignoreObj",objNull]];

_isOnGround = true;
for [{_i=0}, {_i<4}, {_i=_i+1}] do {

    _x = _lines select _i;
    _intersectingObjects = lineIntersectsSurfaces [AGLToASL (_x select 0), AGLToASL (_x select 1), _ignoreObj];
    if (count _intersectingObjects == 0 && !(terrainIntersect [_x select 0, _x select 1])) exitWith {_isOnGround = false};
};

_isOnGround
params ["_lines","_fort"];
private ["_linesCopy","_linesWorld"];

_linesCopy = +_lines;
_linesWorld = _linesCopy apply {[_fort modelToWorld (_x select 0),_fort modelToWorld (_x select 1)]};

_linesWorld
params ["_lines"];

_smallLines = _lines apply {[(_x select 0) vectorMultiply 0.8, (_x select 1) vectorMultiply 0.8]};

_smallLines
params ["_unit","_type",["_amount",1]];

if (_type == "") exitWith {};
if (!local _unit) exitWith {
    [_unit,_type,_amount] remoteExec ["grad_fortifications_fnc_addFort",_unit,false];
};

_amount = round _amount;
private _myForts = _unit getVariable ["grad_fortifications_myFortsHash",[[],0] call CBA_fnc_hashCreate];

private _stock = [_myForts,_type] call CBA_fnc_hashGet;
if (_stock + _amount <= 0) then {
    [_myForts,_type] call CBA_fnc_hashRem;
} else {
    [_myForts,_type,_stock+_amount] call CBA_fnc_hashSet;
};

private _size = [(missionConfigFile >> "CfgGradFortifications" >> "Fortifications" >> _type >> "size"),"number",[_type] call grad_fortifications_fnc_getObjectSize] call CBA_fnc_getConfigEntry;
if (_amount < 0) then {_size = -_size};
if (_stock + _amount >= 0) then {
    _unit setVariable ["grad_fortifications_inventoryCargo",(_unit getVariable ["grad_fortifications_inventoryCargo",0]) + _size, true];
};

private _isPublic = !(_unit isKindOf "Man");
_unit setVariable ["grad_fortifications_myFortsHash",_myForts,_isPublic];
if (_isPublic) then {
    [_unit,_myForts] remoteExec ["grad_fortifications_fnc_updateItemList",0,false];
} else {
    [] call grad_fortifications_fnc_updateItemList;
};
private _action = [] call grad_fortifications_fnc_storageAction;

if (([(missionConfigFile >> "CfgGradFortifications" >> "canStoreInLandVehicles"),"number",1] call CBA_fnc_getConfigEntry) == 1) then {
    ["LandVehicle",0,["ACE_MainActions"],_action,true] call ace_interact_menu_fnc_addActionToClass;
};
if (([(missionConfigFile >> "CfgGradFortifications" >> "canStoreInShips"),"number",1] call CBA_fnc_getConfigEntry) == 1) then {
    ["Ship",0,["ACE_MainActions"],_action,true] call ace_interact_menu_fnc_addActionToClass;
};
if (([(missionConfigFile >> "CfgGradFortifications" >> "canStoreInHelicopters"),"number",1] call CBA_fnc_getConfigEntry) == 1) then {
    ["Helicopter",0,["ACE_MainActions"],_action,true] call ace_interact_menu_fnc_addActionToClass;
};
if (([(missionConfigFile >> "CfgGradFortifications" >> "canStoreInPlanes"),"number",1] call CBA_fnc_getConfigEntry) == 1) then {
    ["Plane",0,["ACE_MainActions"],_action,true] call ace_interact_menu_fnc_addActionToClass;
};
if (([(missionConfigFile >> "CfgGradFortifications" >> "canStoreInContainers"),"number",1] call CBA_fnc_getConfigEntry) == 1) then {
    ["ThingX",0,["ACE_MainActions"],_action,true] call ace_interact_menu_fnc_addActionToClass;
};
params ["_unit", ["_allow",true]];

_unit setVariable ["grad_fortifications_canDemolish",_allow,true];
params ["_unit", ["_allow",true]];

_unit setVariable ["grad_fortifications_canPackUp",_allow,true];
params ["_unit","_type",["_amount",1],["_showMessage",false]];

_inventoryCargo = _unit getVariable ["grad_fortifications_inventoryCargo",0];
_inventorySpace = (_unit getVariable ["grad_fortifications_inventorySize",[_unit] call grad_fortifications_fnc_getVehicleInventorySize]) - _inventoryCargo;
_size = [(missionConfigFile >> "CfgGradFortifications" >> "Fortifications" >> _type >> "size"),"number",[_type] call grad_fortifications_fnc_getObjectSize] call CBA_fnc_getConfigEntry;

_canTake = if ((_size*_amount) > _inventorySpace) then {false} else {true};

if (_showMessage && !_canTake) then {
    systemChat format ["Not enough space in inventory: (%1/%2) - required: %3", round _inventoryCargo,_inventorySpace,round _size];
};

_canTake
/*  Credits to ACE-team - this is from the repair component, slightly modified
*
*/

params ["_caller", "_animation"];

// Player Animation
_callerAnim = if (typeName _animation == "CONFIG") then {
    [getText (_animation >> "animationCaller"), getText (_animation >> "animationCallerProne")] select (stance _caller == "PRONE")
} else {
    _animation;
};
_caller setVariable ["uo_selectedWeaponOnAnimation", currentWeapon _caller];

// Cannot use secondairy weapon for animation
if (currentWeapon _caller == secondaryWeapon _caller) then {
    _caller selectWeapon (primaryWeapon _caller);
};

_wpn = ["non", "rfl", "pst"] select (1 + ([primaryWeapon _caller, handgunWeapon _caller] find (currentWeapon _caller)));
_callerAnim = [_callerAnim, "[wpn]", _wpn] call CBA_fnc_replace;
if (vehicle _caller == _caller && {_callerAnim != ""}) then {
    if (primaryWeapon _caller == "") then {
        _caller addWeapon "ACE_FakePrimaryWeapon";
    };
    if (currentWeapon _caller == "") then {
        _caller selectWeapon (primaryWeapon _caller); // unit always has a primary weapon here
    };

    if (stance _caller == "STAND") then {
        _caller setVariable ["uo_prevAnimCaller", "amovpknlmstpsraswrfldnon"];
    } else {
        _caller setVariable ["uo_prevAnimCaller", animationState _caller];
    };
    [_caller, _callerAnim] call ace_common_fnc_doAnimation;
};
params ["_type"];

_displayName = [configfile >> "CfgVehicles" >> _type >> "displayName","text","UNKNOWN ITEM"] call CBA_fnc_getConfigEntry;

_displayName
/*  Finds root directory of buymenu
*
*/

_functionsPath = [(missionConfigFile >> "CfgFunctions" >> "GRAD_fortifications" >> "common" >> "file"), "text", ""] call CBA_fnc_getConfigEntry;
_functionsPathArray = _functionsPath splitString "\";
_functionsPathArray deleteAt (count _functionsPathArray - 1);
_functionsPathArray deleteAt (count _functionsPathArray - 1);
_root = _functionsPathArray joinString "\";

_root
params ["_type"];


private _vehicle = _type createVehicleLocal [0,0,0];
private _dimensions = _vehicle call BIS_fnc_boundingBoxDimensions;
_dimensions params ["_h","_l","_w"];
private _size = sqrt(_h*_h + _l*_l + _w*_w);

//static weapons tend to be a little too small
if (_type isKindOf "StaticWeapon") then {_size = _size*1.2};

deleteVehicle _vehicle;

_size
params ["_unit"];


if (_unit isKindOf "CAManBase") exitWith {grad_fortifications_playerInventorySize};

private _size = [missionConfigFile >> "CfgGradFortifications" >> "Vehicles" >> typeOf _unit,"vehicleInventorySize",-1] call BIS_fnc_returnConfigEntry;

if (_size < 0) then {
    _size = grad_fortifications_vehicleInventorySizeFactor * 15 * ([configFile >> "CfgVehicles" >> typeOf _unit,"ace_cargo_space",-1] call BIS_fnc_returnConfigEntry);
};

if (_size < 0) then {
    _size = grad_fortifications_vehicleInventorySizeFactor * 15 * ([configFile >> "CfgVehicles" >> typeOf _unit,"ace_cargo_size",-1] call BIS_fnc_returnConfigEntry);
};

if (_size < 0) then {
    _size = grad_fortifications_vehicleInventorySizeFactor * 0.015 * ([configFile >> "CfgVehicles" >> typeOf _unit,"maximumLoad",0] call BIS_fnc_returnConfigEntry);
};

_size
if (hasInterface) then {

    [] call grad_fortifications_fnc_addVehicleInteractions;
    private _moduleRoot = [] call grad_fortifications_fnc_getModuleRoot;
    private _action = ["grad_fortifications_mainBuildAction", "Fortifications", _moduleRoot + "\data\sandbags.paa", {
        [grad_fortifications_fnc_loadFortDialog,[_this select 0, _this select 1]] call CBA_fnc_execNextFrame
    },{
        params ["","_unit"];
        isNull (objectParent _unit) &&
        {count ((_unit getVariable ["grad_fortifications_myFortsHash",[[],0] call CBA_fnc_hashCreate]) select 1) > 0} &&
        {!(_unit getVariable ["grad_fortifications_isPlacing", false])}
    }] call ace_interact_menu_fnc_createAction;

    ["CAManBase",1,["ACE_SelfActions","ACE_Equipment"],_action,true] call ace_interact_menu_fnc_addActionToClass;
};
grad_fortifications_canDemolishDefault = ([(missionConfigFile >> "CfgGradFortifications" >> "canDemolishDefault"),"number",1] call CBA_fnc_getConfigEntry) == 1;
grad_fortifications_canPackUpDefault = ([(missionConfigFile >> "CfgGradFortifications" >> "canPackUpDefault"),"number",1] call CBA_fnc_getConfigEntry) == 1;
grad_fortifications_buildTimeFactor = [(missionConfigFile >> "CfgGradFortifications" >> "buildTimeFactor"),"number",1] call CBA_fnc_getConfigEntry;
grad_fortifications_demolishTimeFactor = [(missionConfigFile >> "CfgGradFortifications" >> "demolishTimeFactor"),"number",1] call CBA_fnc_getConfigEntry;
grad_fortifications_packUpTimeFactor = [(missionConfigFile >> "CfgGradFortifications" >> "packUpTimeFactor"),"number",1] call CBA_fnc_getConfigEntry;
grad_fortifications_playerInventorySize = [(missionConfigFile >> "CfgGradFortifications" >> "playerInventorySize"),"number",70] call CBA_fnc_getConfigEntry;
grad_fortifications_boundingBoxSizeFactor = [(missionConfigFile >> "CfgGradFortifications" >> "boundingBoxSizeFactor"),"number",1] call CBA_fnc_getConfigEntry;
grad_fortifications_vehicleInventorySizeFactor = ([(missionConfigFile >> "CfgGradFortifications" >> "vehicleInventorySizeFactor"),"number",1] call CBA_fnc_getConfigEntry) max 0;
grad_fortifications_fortificationOwnerType = [(missionConfigFile >> "CfgGradFortifications" >> "fortificationOwner"),"text","BUILDER"] call CBA_fnc_getConfigEntry;
params ["_fort","_unit"];

_fortOwner = (_this select 0) getVariable ["grad_fortifications_fortOwner",objNull];

_isOwner = switch (typeName _fortOwner) do {
    case ("OBJECT"): {
        _unit == _fortOwner;
    };
    case ("GROUP"): {
        _unit in (units _fortOwner);
    };
    case ("SIDE"): {
        side _unit == _fortOwner;
    };
};

_isOwner
/*  Checks if type is vehicle
*
*/

params ["_type"];

_isVehicle = switch (true) do {
    case (_type isKindOf "StaticWeapon"): {true};
    case (_type isKindOf "LandVehicle"): {true};
    case (_type isKindOf "Air"): {true};
    case (_type isKindOf "Ship"): {true};
    default {false};
};

_isVehicle
params ["_unit","_type",["_amount",1]];

if (_type == "") exitWith {};

_amount = -(abs _amount);

if (!local _unit) then {
    [_unit,_type,_amount] remoteExec ["grad_fortifications_fnc_addFort",_unit,false];
} else {
    [_unit,_type,_amount] call grad_fortifications_fnc_addFort;
};
params ["_unit","_factor"];

_unit setVariable ["grad_fortifications_buildTimeFactor",_factor,true];
params ["_onOff"];

missionNamespace setVariable ["grad_fortifications_collisionDebugMode",_onOff];
params ["_unit","_factor"];

_unit setVariable ["grad_fortifications_demolishTimeFactor",_factor,true];
params ["_unit","_factor"];

_unit setVariable ["grad_fortifications_packUpTimeFactor",_factor,true];
/*  Credits to ACE-team - this is from the repair component, slightly modified
*
*/

params ["_caller"];

if (primaryWeapon _caller == "ACE_FakePrimaryWeapon") then {
    _caller removeWeapon "ACE_FakePrimaryWeapon";
};
if (vehicle _caller == _caller) then {
    [_caller, _caller getVariable ["uo_prevAnimCaller", ""], 2] call ace_common_fnc_doAnimation;
};
_caller setVariable ["uo_prevAnimCaller", nil];

_weaponSelect = (_caller getVariable ["uo_selectedWeaponOnAnimation", ""]);
if (_weaponSelect != "") then {
    _caller selectWeapon _weaponSelect;
} else {
    [_caller] call ACE_weaponSelect_fnc_putWeaponAway;
};
private _moduleRoot = [] call grad_fortifications_fnc_getModuleRoot;

private _condition = {
    params [["_vehicle",objNull],["_unit",objNull]];

    alive _vehicle &&
    {!(locked _vehicle in [2,3])} &&
    {isNull (objectParent _unit)} &&
    {!(_vehicle getVariable ["ace_cookoff_isCookingOff",false])} &&
    {!(_unit getVariable ["grad_fortifications_isPlacing", false])} &&
    {
        [
            missionConfigFile >> "CfgGradFortifications" >> "Vehicles" >> typeOf _vehicle,
            "isStorage",
            [0,1] select ([configFile >> "CfgVehicles" >> typeOf (_vehicle),"maximumLoad",-1] call BIS_fnc_returnConfigEntry > 0)
        ] call BIS_fnc_returnConfigEntry > 0
    } &&
    {
        (count (((_this select 0) getVariable ["grad_fortifications_myFortsHash",[[],0] call CBA_fnc_hashCreate]) select 1) > 0) ||
        (count (((_this select 1) getVariable ["grad_fortifications_myFortsHash",[[],0] call CBA_fnc_hashCreate]) select 1) > 0)
    }
};

private _onActivate = {
    [grad_fortifications_fnc_loadVehicleDialog,[_this select 0, _this select 1]] call CBA_fnc_execNextFrame;
};

_action = ["grad_fortifications_containerBuildAction", "Fortifications", _moduleRoot + "\data\sandbags.paa",_onActivate,_condition] call ace_interact_menu_fnc_createAction;

_action
#include "..\..\dialog\menu\defines.hpp"

params [["_builder",objNull],"_type",["_mode","NORMAL"],"_pos"];

if (_mode == "NORMAL") then {
    [_builder,_type] call grad_fortifications_fnc_removeFort;
};

private _crateType = if (isClass (configfile >> "CfgPatches" >> "CUP_Core")) then {"Fort_Crate_wood"} else {"Land_WoodenCrate_01_F"};
private _crate = createVehicle [_crateType,[0,0,0],[],0,"NONE"];
_crate setDir (random 360);

if (isNil "_pos") then {
    _pos = (_builder getRelPos [2.5,0]) findEmptyPosition [0, 10, _crateType];
    if (count _pos == 0) exitWith {};
    _crate setPos _pos;
} else {
    _crate setPosASL _pos;
};

if (count _pos == 0) exitWith {systemChat "No position found. Fortification added to inventory."; playSound "AddItemFailed"; [_builder,_type] call grad_fortifications_fnc_addFort};
[_crate,_type] remoteExec ["grad_fortifications_fnc_initDropCrate",0,true];


disableSerialization;
_dialog = findDisplay grad_fortifications_DIALOG;
_listCtrl = _dialog displayCtrl grad_fortifications_ITEMLIST;
[] call grad_fortifications_fnc_updateItemList;
params ["_crate","_type"];

if (isNil "_crate") exitWith {};
if (isNull _crate) exitWith {};

_crate setVariable ["grad_fortifications_dropCrate_type", _type];

if (isClass (configfile >> "CfgPatches" >> "CUP_Core")) then {
    [_crate,true,[0,2,0]] call ace_dragging_fnc_setDraggable;
    [_crate,true,[0,1.5,0.8]] call ace_dragging_fnc_setCarryable;

    if (isServer) then {
        [cursorTarget, 1] call ace_cargo_fnc_setSize;
    };
};

_moduleRoot = [] call grad_fortifications_fnc_getModuleRoot;
_displayName = [_type] call grad_fortifications_fnc_getDisplayName;
_pickUpName = format ["Pick up (%1)", _displayName];
_buildName = format ["Build (%1)", _displayName];

_action = ["grad_fortifications_pickupAction", _pickUpName, "\A3\ui_f\data\igui\cfg\actions\take_ca.paa", {[_this select 0, _this select 1,"TAKE"] call grad_fortifications_fnc_requestInteractionServer}, {true}] call ace_interact_menu_fnc_createAction;
[_crate, 0, ["ACE_MainActions"], _action] call ace_interact_menu_fnc_addActionToObject;

_action = ["grad_fortifications_buildAction", _buildName, _moduleRoot + "\data\sandbags.paa", {[_this select 0, _this select 1,"BUILD"] call grad_fortifications_fnc_requestInteractionServer}, {true}] call ace_interact_menu_fnc_createAction;
[_crate, 0, ["ACE_MainActions"], _action] call ace_interact_menu_fnc_addActionToObject;
params ["_crate","_unit","_mode"];

_fortType = _crate getVariable ["grad_fortifications_dropCrate_type",""];

if (_mode == "TAKE") then {
    if ([_unit,_fortType,1,true] call grad_fortifications_fnc_canTake) then {
        [_crate,_unit,_mode] remoteExec ["grad_fortifications_fnc_respondInteractionClient",2,false];
    } else {
        playSound "AddItemFailed";
    };
} else {
    [_crate,_unit,_mode] remoteExec ["grad_fortifications_fnc_respondInteractionClient",2,false];
};
params ["_crate","_unit","_mode"];

_fortType = _crate getVariable ["grad_fortifications_dropCrate_type",""];
_crate setVariable ["grad_fortifications_dropCrate_type",""];
deleteVehicle _crate;

if (_fortType == "" || isNull _crate) exitWith {};

if (_mode == "TAKE") then {
    [_unit,_fortType,1] call grad_fortifications_fnc_addFort;
};

if (_mode == "BUILD") then {
    [_fortType,"DROPPED"] remoteExec ["grad_fortifications_fnc_startPlacement",_unit,false];
};
grad_fortifications_keydownEH = (findDisplay 46) displayAddEventHandler ["KeyDown", {
    params ["_control","_DIK"];

    private _builder = ACE_player;

    switch (true) do {
        case (_DIK in [42,54]): {
            _builder setVariable ["grad_fortifications_shiftDown",true];
        };
        case (_DIK in [29,157]): {
            _builder setVariable ["grad_fortifications_ctrlDown",true];
        };
        case (_DIK in [56,184]): {
            _builder setVariable ["grad_fortifications_altDown",true];
        };
    };

    _return = if (_DIK in [42,54,29,157,56,184,15]) then {
        true
    } else {
        false
    };

    _return
}];

grad_fortifications_keyupEH = (findDisplay 46) displayAddEventHandler ["KeyUp", {
    params ["_control","_DIK"];

    private _builder = ACE_player;

    switch (true) do {
        case (_DIK in [42,54]): {
            _builder setVariable ["grad_fortifications_shiftDown",false];
        };
        case (_DIK in [29,157]): {
            _builder setVariable ["grad_fortifications_ctrlDown",false];
        };
        case (_DIK in [56,184]): {
            _builder setVariable ["grad_fortifications_altDown",false];
        };
        case (_DIK == 15): {
            if !(_builder getVariable ["grad_fortifications_surfaceNormalForced",false]) then {
                _builder setVariable ["grad_fortifications_surfaceNormal",!(_builder getVariable ["grad_fortifications_surfaceNormal",true])];
            };
        };
    };

    _return = if (_DIK in [42,54,29,157,56,184,15]) then {
        true
    } else {
        false
    };

    _return
}];
grad_fortifications_mousewheelEH = (findDisplay 46) displayAddEventHandler ["MouseZChanged", {
    params ["_control","_wheelChange"];

    _builder = ACE_player;
    _accelFactor = if (_builder getVariable ["grad_fortifications_altDown",false]) then {3} else {1};

    switch (true) do {
        case (_builder getVariable ["grad_fortifications_shiftDown",false]): {
            _currentDir = _builder getVariable ["grad_fortifications_currentDirection",0];
            _newDirection = _currentDir + _wheelChange*_accelFactor;
            _builder setVariable ["grad_fortifications_currentDirection", _newDirection];
        };

        case (_builder getVariable ["grad_fortifications_ctrlDown",false]): {
            _currentHeight = _builder getVariable ["grad_fortifications_currentHeight",0];
            _minHeight = _builder getVariable ["grad_fortifications_minHeight",-0.8];
            _maxHeight = _builder getVariable ["grad_fortifications_maxHeight",3];
            _newHeight = ((_currentHeight + (_wheelChange/45)*_accelFactor) max _minHeight) min _maxHeight;
            _builder setVariable ["grad_fortifications_currentHeight",_newHeight];
        };

        default {
            _currentDistance = _builder getVariable ["grad_fortifications_currentDistance",4],
            _size = _builder getVariable ["grad_fortifications_currentSize",1];
            _newDistance = ((_currentDistance + (_wheelChange/20)*_accelFactor) max (((_size*2)^(1/2)) max 2)) min ((_size*6)^(1/2));
            _builder setVariable ["grad_fortifications_currentDistance",_newDistance];
        };
    };

    false
}];

grad_fortifications_mousebuttonEH = (findDisplay 46) displayAddEventHandler ["MouseButtonUp", {
    params ["_control","_button"];

    if !(_button in [0,1]) exitWith {};

    if (_button == 0) then {
        [ACE_player] call grad_fortifications_fnc_placeFortification;
    };

    if (_button == 1) then {
        [] call grad_fortifications_fnc_cancelPlacement;
    };

    false
}];

grad_fortifications_fireOverride = ACE_player addAction ["", {true}, "", 0, false, true, "DefaultAction", "true"];
grad_fortifications_updatePFH = [{
    params ["_args", "_handle"];
    _args params ["_unit", "_fort", "_surfaceNormal"];

    if (isNull _fort || !alive _unit || currentWeapon _unit != "") exitWith {[] call grad_fortifications_fnc_cancelPlacement};

    [_unit, _fort] call grad_fortifications_fnc_setPosition;
    [_unit, _fort] call grad_fortifications_fnc_setDirection;
    [_unit, _fort, _surfaceNormal] call grad_fortifications_fnc_setUp;

},0,_this] call CBA_fnc_addPerFrameHandler;


grad_fortifications_updatePFH
private _builder = ACE_player;

[] call grad_fortifications_fnc_removeAllEHs;
[false] call grad_fortifications_fnc_openHint;
call ace_interaction_fnc_hideMouseHint;

_builder forceWalk false;

private _fort = _builder getVariable ["grad_fortifications_currentFort", objNull];
private _fortPos = getPosASL _fort;
private _fortType = typeOf _fort;

private _onPlaceCancel = [(missionConfigFile >> "CfgGradFortifications" >> "Fortifications"  >> _fortType >> "onPlaceCancel"),"text",([(missionConfigFile >> "CfgGradFortifications" >> "onPlaceCancel"),"text",""] call CBA_fnc_getConfigEntry)] call CBA_fnc_getConfigEntry;
[_builder,_fortType,_fort] call compile _onPlaceCancel;

deleteVehicle _fort;

_builder setVariable ["grad_fortifications_isPlacing", false];

_type = _builder getVariable ["grad_fortifications_currentType", ""];
_mode = _builder getVariable ["grad_fortifications_currentMode", "NORMAL"];

if (_mode == "DROPPED") then {
    if (_builder getVariable ["grad_fortifications_isColliding",true] || !(_builder getVariable ["grad_fortifications_isOnGround",true])) then {
        [_builder,_type,_mode] call grad_fortifications_fnc_dropFort;
    } else {
        [_builder,_type,_mode,_fortPos] call grad_fortifications_fnc_dropFort;
    };
};
params ["_fort","_unit"];

if (isNull _fort) exitWith {};

_type = typeOf _fort;
_size = [_type] call grad_fortifications_fnc_getObjectSize;

_objDemolitionTimeAuto = 10*(_size);
_objDemolitionTime = [(missionConfigFile >> "CfgGradFortifications" >> "Fortifications" >> _type >> "demolitionTime"),"number",_objDemolitionTimeAuto] call CBA_fnc_getConfigEntry;
_ownerFactor = if ([_fort,_unit] call grad_fortifications_fnc_isOwner) then {0.5} else {1};
_demolitionTime = _ownerFactor * _objDemolitionTime * (_unit getVariable ["grad_fortifications_demolishTimeFactor",grad_fortifications_demolishTimeFactor]);

[_unit,(configFile >> "ACE_Repair" >> "Actions" >> "FullRepair")] call grad_fortifications_fnc_doAnimation;
_onComplete = {
    _args = _this select 0;
    _args params ["_fort","_unit"];
    [_unit] call grad_fortifications_fnc_stopAnimation;
    deleteVehicle _fort;
};
_onCancel = {
    _args = _this select 0;
    _args params ["_fort","_unit"];
    [_unit] call grad_fortifications_fnc_stopAnimation;
};
[_demolitionTime, [_fort,_unit], _onComplete, _onCancel, "Demolishing..."] call ace_common_fnc_progressBar;
params ["_fort","_owner"];

if (!hasInterface) exitWith {};
if (isNull _fort) exitWith {};

private _type = typeOf _fort;
if ([_type] call grad_fortifications_fnc_isVehicle) exitWith {};

switch (grad_fortifications_fortificationOwnerType) do {
    case ("BUILDER"): {
        _fort setVariable ["grad_fortifications_fortOwner",_owner,false];
    };
    case ("GROUP"): {
        _fort setVariable ["grad_fortifications_fortOwner",group _owner,false];
    };
    case ("SIDE"): {
        _fort setVariable ["grad_fortifications_fortOwner",side _owner,false];
    };
};

//demolition
_canDemolish = ([(missionConfigFile >> "CfgGradFortifications" >> "Fortifications" >> _type >> "canDemolish"),"number",1] call CBA_fnc_getConfigEntry) == 1;
if (_canDemolish) then {
    _moduleRoot = [] call grad_fortifications_fnc_getModuleRoot;
    _action = ["grad_fortifications_demolishAction", "Demolish fortification", "", {[_this select 0, _this select 1] call grad_fortifications_fnc_demolish}, {(_this select 1) getVariable ["grad_fortifications_canDemolish", grad_fortifications_canDemolishDefault]}] call ace_interact_menu_fnc_createAction;
    [_fort, 0, ["ACE_MainActions"], _action] call ace_interact_menu_fnc_addActionToObject;
};

//pack up
_canPackUp = ([(missionConfigFile >> "CfgGradFortifications" >> "Fortifications" >> _type >> "canPackUp"),"number",1] call CBA_fnc_getConfigEntry) == 1;
if (_canPackup) then {
    _moduleRoot = [] call grad_fortifications_fnc_getModuleRoot;
    _condition = {
        [_this select 0, _this select 1] call grad_fortifications_fnc_isOwner &&
        (_this select 1) getVariable ["grad_fortifications_canPackUp", grad_fortifications_canPackUpDefault]
    };
    _action = ["grad_fortifications_packUpAction", "Pack up fortification", "", {[grad_fortifications_fnc_packUp,[_this select 0, _this select 1]] call CBA_fnc_execNextFrame}, _condition] call ace_interact_menu_fnc_createAction;
    [_fort, 0, ["ACE_MainActions"], _action] call ace_interact_menu_fnc_addActionToObject;
};
params ["_fort","_unit"];

if (isNull _fort) exitWith {};

private _type = typeOf _fort;
private _size = [_type] call grad_fortifications_fnc_getObjectSize;

private _objPackUpTimeAuto = 15*(_size);
private _objPackUpTime = [(missionConfigFile >> "CfgGradFortifications" >> "Fortifications" >> _type >> "packUpTime"),"number",_objPackUpTimeAuto] call CBA_fnc_getConfigEntry;
private _packUpTime = _objPackUpTime * (_unit getVariable ["grad_fortifications_packUpTimeFactor",grad_fortifications_packUpTimeFactor]);


[_unit,(configFile >> "ACE_Repair" >> "Actions" >> "FullRepair")] call grad_fortifications_fnc_doAnimation;
private _onComplete = {
    _args = _this select 0;
    _args params ["_fort","_unit","_type"];
    [_unit] call grad_fortifications_fnc_stopAnimation;

    _pos = getPos _fort;
    deleteVehicle _fort;
    [_unit,_type] call grad_fortifications_fnc_addFort;
};
private _onCancel = {
    _args = _this select 0;
    _args params ["_fort","_unit"];
    [_unit] call grad_fortifications_fnc_stopAnimation;
};
[_packUpTime, [_fort,_unit,_type], _onComplete, _onCancel, "Packing up..."] call ace_common_fnc_progressBar;
params [["_builder",objNull]];

_doPlace = {
    params ["_args"];
    _args params ["_builder","_anim"];

    _builder forceWalk false;
    [false] call grad_fortifications_fnc_openHint;
    _builder setVariable ["grad_fortifications_isPlacing", false];

    _fort = _builder getVariable ["grad_fortifications_currentFort", objNull];
    _spawnParams = [typeOf _fort, getDir _fort, vectorUp _fort, getPosASL _fort, _builder];
    deleteVehicle _fort;
    _spawnParams remoteExec ["grad_fortifications_fnc_spawnFortification",2,false];

    if (_builder getVariable ["grad_fortifications_currentMode", "NORMAL"] == "NORMAL") then {
        [_builder,_builder getVariable ["grad_fortifications_currentType",""],1] call grad_fortifications_fnc_removeFort;
    };
    if (_anim) then {
        [_builder] call grad_fortifications_fnc_stopAnimation;
    };
};


if (_builder getVariable ["grad_fortifications_isColliding",true] || !(_builder getVariable ["grad_fortifications_isOnGround",false]) || (_builder getVariable ["grad_fortifications_isOnRoad",false]) || !(_builder getVariable ["grad_fortifications_isCustomCondition",false])) then {
    playSound "AddItemFailed";

} else {
    [] call grad_fortifications_fnc_removeAllEHs;
    [] call ace_interaction_fnc_hideMouseHint;

    _currentType = typeOf (_builder getVariable ["grad_fortifications_currentFort", objNull]);

    _objBuildTimeAuto = 3*([_currentType] call grad_fortifications_fnc_getObjectSize);
    _objBuildTime = [(missionConfigFile >> "CfgGradFortifications" >> "Fortifications" >> _currentType >> "buildTime"),"number",_objBuildTimeAuto] call CBA_fnc_getConfigEntry;
    _buildTime = _objBuildTime * (_builder getVariable ["grad_fortifications_buildTimeFactor",grad_fortifications_buildTimeFactor]);

    if ([_currentType] call grad_fortifications_fnc_isVehicle) then {_buildTime = 0};

    _onBuildStart = [(missionConfigFile >> "CfgGradFortifications" >> "Fortifications"  >> _currentType >> "onBuildStart"),"text",([(missionConfigFile >> "CfgGradFortifications" >> "onBuildStart"),"text",""] call CBA_fnc_getConfigEntry)] call CBA_fnc_getConfigEntry;
    [_builder,_currentType,_builder getVariable ["grad_fortifications_currentFort", objNull]] call compile _onBuildStart;

    if (_buildTime < 1) then {
        [_builder,false] call _doPlace;
    } else {
        [_builder,(configFile >> "ACE_Repair" >> "Actions" >> "FullRepair")] call grad_fortifications_fnc_doAnimation;
        [
            _buildTime,
            [_builder,true],
            _doPlace,
            {(_this select 0) call grad_fortifications_fnc_stopAnimation; [] call grad_fortifications_fnc_cancelPlacement},
            "Placing..."
        ] call ace_common_fnc_progressBar;
    };
};
(findDisplay 46) displayRemoveEventHandler ["MouseZChanged",grad_fortifications_mousewheelEH];
(findDisplay 46) displayRemoveEventHandler ["MouseButtonUp",grad_fortifications_mousebuttonEH];
(findDisplay 46) displayRemoveEventHandler ["KeyDown",grad_fortifications_keydownEH];
(findDisplay 46) displayRemoveEventHandler ["KeyUp",grad_fortifications_keyupEH];

[grad_fortifications_updatePFH] call CBA_fnc_removePerFrameHandler;
[grad_fortifications_checkCollisionPFH] call CBA_fnc_removePerFrameHandler;

ACE_player removeAction grad_fortifications_fireOverride;
params ["_unit", "_fort"];

_currentDirection = _unit getVariable ["grad_fortifications_currentDirection",0];
_dir = (getDir _unit) + _currentDirection;
_fort setDir _dir;

_dir
params ["_unit", "_fort"];

_currentDistance = _unit getVariable ["grad_fortifications_currentDistance",3];
_pos = _unit getRelPos [_currentDistance,0];
_pos set [2, (_unit getVariable ["grad_fortifications_currentHeight",0]) + (getPosATL _unit select 2)];

_fort setPos _pos;

_pos
params ["_unit", "_fort", "_surfaceNormal"];

switch (true) do {
    case (!_surfaceNormal): {
        _fort setVectorUp [0,0,1];
    };
    case (_unit getVariable ["grad_fortifications_surfaceNormal",true]): {
        _fort setVectorUp surfaceNormal (getPos _fort);
    };
    case (!(_unit getVariable ["grad_fortifications_surfaceNormal",true])): {
        _fort setVectorUp [0,0,1];
    };
};
params ["_type","_dir","_vectorUp","_posASL",["_owner",objNull]];

private _fort = createVehicle [_type, [0,0,0], [], 0, "NONE"];
_fort setDir _dir;
_fort setVectorUp _vectorUp;
_fort setPosASL _posASL;

[_fort,_owner] remoteExec ["grad_fortifications_fnc_initFort",0,true];

private _onBuildComplete = [(missionConfigFile >> "CfgGradFortifications" >> "Fortifications"  >> _type >> "onBuildComplete"),"text",([(missionConfigFile >> "CfgGradFortifications" >> "onBuildComplete"),"text",""] call CBA_fnc_getConfigEntry)] call CBA_fnc_getConfigEntry;
[_owner,_fort] call compile _onBuildComplete;

_fort
params ["_type",["_mode","NORMAL"],["_builder",ACE_player],["_container",objNull]];

if (_type == "") exitWith {};
if (ACE_player != _builder) exitWith {};

private _boundingBoxSize = [(missionConfigFile >> "CfgGradFortifications" >> "Fortifications" >> _type >> "boundingBoxSize"),"number",1] call CBA_fnc_getConfigEntry;
private _boundingBoxOffset = [(missionConfigFile >> "CfgGradFortifications" >> "Fortifications" >> _type >> "boundingBoxOffset"),"array",[0,0,0]] call CBA_fnc_getConfigEntry;
private _minHeight = [(missionConfigFile >> "CfgGradFortifications" >> "Fortifications" >> _type >> "minHeight"),"number",-0.8] call CBA_fnc_getConfigEntry;
private _maxHeight = [(missionConfigFile >> "CfgGradFortifications" >> "Fortifications" >> _type >> "maxHeight"),"number",3] call CBA_fnc_getConfigEntry;
private _canFloat = ([(missionConfigFile >> "CfgGradFortifications" >> "Fortifications" >> _type >> "canFloat"),"number",0] call CBA_fnc_getConfigEntry) == 1;
private _canCollide = ([(missionConfigFile >> "CfgGradFortifications" >> "Fortifications"  >> _type >> "canCollide"),"number",0] call CBA_fnc_getConfigEntry) == 1;
private _canPlaceOnRoad = ([(missionConfigFile >> "CfgGradFortifications" >> "Fortifications"  >> _type >> "canPlaceOnRoad"),"number",1] call CBA_fnc_getConfigEntry) == 1;
private _surfaceNormal = ([(missionConfigFile >> "CfgGradFortifications" >> "Fortifications"  >> _type >> "surfaceNormal"),"number",1] call CBA_fnc_getConfigEntry) == 1;
private _surfaceNormalForced = ([(missionConfigFile >> "CfgGradFortifications" >> "Fortifications"  >> _type >> "surfaceNormalForced"),"number",0] call CBA_fnc_getConfigEntry) == 1;
private _onPlaceStart = [(missionConfigFile >> "CfgGradFortifications" >> "Fortifications"  >> _type >> "onPlaceStart"),"text",([(missionConfigFile >> "CfgGradFortifications" >> "onPlaceStart"),"text",""] call CBA_fnc_getConfigEntry)] call CBA_fnc_getConfigEntry;

private _moduleRoot = [] call grad_fortifications_fnc_getModuleRoot;

private _fort = _type createVehicleLocal [0,0,0];
private _size = [_type] call grad_fortifications_fnc_getObjectSize;
_fort allowDamage false;
_fort enableSimulation false;
_fort disableCollisionWith _builder;
_fort disableCollisionWith _container;

[_builder,_type,_fort] call compile _onPlaceStart;

if (missionNamespace getVariable ["grad_fortifications_collisionDebugMode",false]) then {
    _fort hideObject true;
};

_builder setVariable ["grad_fortifications_isPlacing", true];
_builder setVariable ["grad_fortifications_currentType", _type];
_builder setVariable ["grad_fortifications_currentFort", _fort];
_builder setVariable ["grad_fortifications_currentMode", _mode];
_builder setVariable ["grad_fortifications_currentSize", _size];
_builder setVariable ["grad_fortifications_currentDistance", (((_size*2.5)^(1/2)) max 2)];
_builder setVariable ["grad_fortifications_currentDirection", 0];
_builder setVariable ["grad_fortifications_currentHeight",(0 max _minHeight) min _maxHeight];
_builder setVariable ["grad_fortifications_minHeight",_minHeight];
_builder setVariable ["grad_fortifications_maxHeight",_maxHeight];
_builder setVariable ["grad_fortifications_surfaceNormal",_surfaceNormal];
_builder setVariable ["grad_fortifications_surfaceNormalForced",_surfaceNormalForced];

_builder call ace_common_fnc_fixLoweredRifleAnimation;
[_builder] call ace_weaponselect_fnc_putWeaponAway;
_builder forceWalk true;

[true,_surfaceNormal] call grad_fortifications_fnc_openHint;

private _boundingLines = [_fort,_boundingBoxSize,_boundingBoxOffset] call grad_fortifications_fnc_getBoundingLines;
private _visualLines = [_fort] call grad_fortifications_fnc_getVisualLines;
private _groundLines = [_fort] call grad_fortifications_fnc_getGroundLines;
[_builder,_visualLines,_boundingLines,_groundLines,_fort,_canFloat,_canCollide,_canPlaceOnRoad,_moduleRoot,_surfaceNormal,_surfaceNormalForced] call grad_fortifications_fnc_checkCollisionPFH;


[_builder,_fort,_surfaceNormal] call grad_fortifications_fnc_addUpdatePFH;
[] call grad_fortifications_fnc_addMouseEHs;
[] call grad_fortifications_fnc_addKeyEHs;

["Place", "Cancel", "Manipulate"] call ace_interaction_fnc_showMouseHint;
#include "..\..\dialog\menu\defines.hpp"
#include "..\..\dialog\vehicle\defines.hpp"

params ["_mode"];

disableSerialization;
private _dialog = findDisplay grad_fortifications_DIALOG;
private _modelCtrl = _dialog displayCtrl grad_fortifications_3DMODEL;
private _listCtrl = _dialog displayCtrl grad_fortifications_ITEMLIST;
private _vehicleListCtrl = _dialog displayCtrl grad_fortifications_vehicle_ITEMLIST;
private _builder = ACE_player;


private _container = _builder getVariable ["grad_fortifications_currentContainer", objNull];
if (isNil "_mode") then {
    if (_builder getVariable ["grad_fortifications_ui_lastSelectedContainer", _builder] == _builder) then {
        _mode = "NORMAL";
    } else {
        _mode = "DROPPED";
    };
};

_type = if (!isNull _vehicleListCtrl && (_builder getVariable ["grad_fortifications_ui_lastSelectedContainer", _builder] != _builder)) then {
    _curSelID = lnbCurSelRow _vehicleListCtrl;
    _vehicleListCtrl lnbData [_curSelID,0]
} else {
    _curSelID = lnbCurSelRow _listCtrl;
    _listCtrl lnbData [_curSelID,0]
};

if (_mode == "DROPPED" && _builder != _container) then {
    [_builder,_container,_type,"BUILD"] remoteExec ["grad_fortifications_fnc_respondStoreTake",2,false];
} else {
    [_type,_mode,_builder,_container] call grad_fortifications_fnc_startPlacement;
};
#include "..\..\dialog\menu\defines.hpp"

disableSerialization;
private _dialog = findDisplay grad_fortifications_DIALOG;
private _modelCtrl = _dialog displayCtrl grad_fortifications_3DMODEL;
private _listCtrl = _dialog displayCtrl grad_fortifications_ITEMLIST;

private _curSelID = lnbCurSelRow _listCtrl;
private _type = _listCtrl lnbData [_curSelID,0];

[ACE_player,_type] call grad_fortifications_fnc_dropFort;
#include "..\..\dialog\menu\defines.hpp"

disableSerialization;
private _dialog = findDisplay grad_fortifications_DIALOG;
private _modelCtrl = _dialog displayCtrl grad_fortifications_3DMODEL;
private _listCtrl = _dialog displayCtrl grad_fortifications_ITEMLIST;

private _builder = ACE_player;

private _curSelID = lnbCurSelRow _listCtrl;
private _type = _listCtrl lnbData [_curSelID,0];
private _container = _builder getVariable ["grad_fortifications_currentContainer", objNull];

[_container,_type] call grad_fortifications_fnc_removeFort;
[_builder,_type] call grad_fortifications_fnc_addFort;
[_container] call grad_fortifications_fnc_updateItemList;
#include "..\..\dialog\menu\defines.hpp"

params ["_container","_caller"];

disableSerialization;
createDialog "grad_fortifications";
_dialog = findDisplay grad_fortifications_DIALOG;
_modelCtrl = _dialog displayCtrl grad_fortifications_3DMODEL;
_listCtrl = _dialog displayCtrl grad_fortifications_ITEMLIST;
_titleCtrl = _dialog displayCtrl grad_fortifications_TITLE;
_buildCtrl = _dialog displayCtrl grad_fortifications_BUILDBUTTON;
_takeCtrl = _dialog displayCtrl grad_fortifications_DROPBUTTON;

_caller setVariable ["grad_fortifications_currentContainer", _container];
[_container] call grad_fortifications_fnc_updateItemList;
#include "..\..\dialog\menu\defines.hpp"
#include "..\..\dialog\vehicle\defines.hpp"

params ["_container","_caller"];

_caller setVariable ["grad_fortifications_currentContainer", _container];

disableSerialization;
createDialog "grad_fortifications_vehicle";
private _dialog = findDisplay grad_fortifications_DIALOG;
private _modelCtrl = _dialog displayCtrl grad_fortifications_3DMODEL;
private _listCtrl = _dialog displayCtrl grad_fortifications_ITEMLIST;

[_container] call grad_fortifications_fnc_updateItemList;
[_caller,true] call grad_fortifications_fnc_updateListTitles;
#include "..\..\dialog\menu\defines.hpp"
#include "..\..\dialog\vehicle\defines.hpp"

params ["_control","_curSel"];
private ["_selectedContainer","_targetContainer"];

if (_curSel < 0) exitWith {};

private _builder = ACE_player;
private _dialog = findDisplay grad_fortifications_DIALOG;
private _listCtrl = _dialog displayCtrl grad_fortifications_ITEMLIST;
private _vehicleListCtrl = _dialog displayCtrl grad_fortifications_vehicle_ITEMLIST;

private _type = _control lnbData [_curSel,0];
[_control,_type] call grad_fortifications_fnc_updateModel;

if (_control == _listCtrl) then {
    _selectedContainer = _builder;
    _targetContainer = _builder getVariable ["grad_fortifications_currentContainer",_builder];
} else {
    _selectedContainer = _builder getVariable ["grad_fortifications_currentContainer",_builder];
    _selectedContainer setVariable ["grad_fortifications_ui_lastSelectedItem", _curSel];
    _targetContainer = _builder;
};

//save last category selection
_builder setVariable ["grad_fortifications_ui_lastSelectedContainer", _selectedContainer];
_builder setVariable ["grad_fortifications_ui_lastSelectedItem", _curSel];

if (!isNull _vehicleListCtrl) then {
    _type = if (_builder == _selectedContainer) then {_listCtrl lnbData [_curSel,0]} else {_vehicleListCtrl lnbData [_curSel,0]};
    _canTakeStore = [_targetContainer,_type] call grad_fortifications_fnc_canTake;

    [_canTakeStore,_builder] call grad_fortifications_fnc_updateButtons;
    [_selectedContainer,_canTakeStore] call grad_fortifications_fnc_updateListTitles;

    if (_selectedContainer == _builder) then {_vehicleListCtrl lnbSetCurSelRow -1} else {_listCtrl lnbSetCurSelRow -1};
};
#include "..\..\dialog\ui_toolkit.hpp"
#include "..\..\dialog\hint\defines.hpp"

params ["_open",["_surfaceNormal",true]];
if (!hasInterface) exitWith {};

if (_open) then {
    titleRsc ["grad_fortifications_hint", "PLAIN", 1, true];
};

disableSerialization;
_hint   = uiNamespace getVariable "grad_fortifications_hint";

if (isNull _hint) exitWith {};

_l1BG   = _hint displayCtrl grad_fortifications_hint_BG_LINE1;
_l1Txt  = _hint displayCtrl grad_fortifications_hint_TXT_LINE1;
_l1Pic  = _hint displayCtrl grad_fortifications_hint_PIC_LINE1;
_l2BG   = _hint displayCtrl grad_fortifications_hint_BG_LINE2;
_l2Txt  = _hint displayCtrl grad_fortifications_hint_TXT_LINE2;
_l2Pic  = _hint displayCtrl grad_fortifications_hint_PIC_LINE2;
_l3BG   = _hint displayCtrl grad_fortifications_hint_BG_LINE3;
_l3Txt  = _hint displayCtrl grad_fortifications_hint_TXT_LINE3;
_l3Pic  = _hint displayCtrl grad_fortifications_hint_PIC_LINE3;
_l4BG   = _hint displayCtrl grad_fortifications_hint_BG_LINE4;
_l4Txt  = _hint displayCtrl grad_fortifications_hint_TXT_LINE4;
_l4Pic  = _hint displayCtrl grad_fortifications_hint_PIC_LINE4;
_l5BG   = _hint displayCtrl grad_fortifications_hint_BG_LINE5;
_l5Txt  = _hint displayCtrl grad_fortifications_hint_TXT_LINE5;
_l5Pic  = _hint displayCtrl grad_fortifications_hint_PIC_LINE5;

_xScale = X_SCALE;
if (_open) then {
    _moduleRoot = [] call grad_fortifications_fnc_getModuleRoot;

    _l1Txt ctrlSetText "ROTATE";
    _l1Pic ctrlSetText (_moduleRoot + "\data\shiftkey.paa");
    _l2Txt ctrlSetText "LOWER/RAISE";
    _l2Pic ctrlSetText (_moduleRoot + "\data\ctrlkey.paa");
    _l3Txt ctrlSetText "SPEED UP";
    _l3Pic ctrlSetText (_moduleRoot + "\data\altkey.paa");
    _l4Pic ctrlSetText (_moduleRoot + "\data\tabkey.paa");

    {
        _lineNumber = _forEachIndex;
        {
            _curPos = ctrlPosition _x;
            _x ctrlSetPosition [(_curPos select 0) - (0.28 * _xScale), grad_fortifications_hint_Y+_lineNumber*(grad_fortifications_spacing_Y+grad_fortifications_hint_H)];
            _x ctrlCommit 0.5;
            false
        } count _x;
    } forEach [[_l1BG,_l1Txt,_l1Pic],[_l2BG,_l2Txt,_l2Pic],[_l3BG,_l3Txt,_l3Pic],[_l4BG,_l4Txt,_l4Pic],[_l5BG,_l5Txt,_l5Pic]];

} else {
    {
        _lineNumber = _forEachIndex;
        {
            _curPos = ctrlPosition _x;
            _x ctrlSetPosition [(_curPos select 0) + (0.28 * _xScale), grad_fortifications_hint_Y+_lineNumber*(grad_fortifications_spacing_Y+grad_fortifications_hint_H)];
            _x ctrlCommit 0.5;
            false
        } count _x;
    } forEach [[_l1BG,_l1Txt,_l1Pic],[_l2BG,_l2Txt,_l2Pic],[_l3BG,_l3Txt,_l3Pic],[_l4BG,_l4Txt,_l4Pic],[_l5BG,_l5Txt,_l5Pic]];

    [{
        titleRsc ["grad_fortifications_empty", "PLAIN"];
    },[],1] call CBA_fnc_waitAndExecute;
};
/*  Rotates 3D Model while dialog is open
*
*/

params ["_modelCtrl"];

_modelCtrl ctrlSetModelDirAndUp [[0,1,0.06],[0,0,1]];
_modelCtrl ctrlEnable false;

[{
    params ["_modelCtrl", "_handle"];
    if (isNull _modelCtrl) exitWith {[_handle] call CBA_fnc_removePerFrameHandler};

    (ctrlModelDirAndUp _modelCtrl) params ["_currentDir"];
    _currentDir params ["_x", "_y","_z"];

    ([[_x,_y], 0.8] call BIS_fnc_rotateVector2D) params ["_newX","_newY"];

    _modelCtrl ctrlSetModelDirAndUp [[_newX,_newY,_z],[0,0,1]];
    _modelCtrl ctrlCommit 0;
} , 0.036, _modelCtrl] call CBA_fnc_addPerFrameHandler;
#include "..\..\dialog\menu\defines.hpp"
#include "..\..\dialog\vehicle\defines.hpp"

params ["_canTakeStore","_builder"];

private _dialog = findDisplay grad_fortifications_DIALOG;
private _takeButton = _dialog displayCtrl grad_fortifications_vehicle_TAKEBUTTON;
private _storeButton = _dialog displayCtrl grad_fortifications_vehicle_STOREBUTTON;
private _listCtrl = _dialog displayCtrl grad_fortifications_ITEMLIST;
private _vehicleListCtrl = _dialog displayCtrl grad_fortifications_vehicle_ITEMLIST;

private _selectedContainer = _builder getVariable ["grad_fortifications_ui_lastSelectedContainer", _builder];

private _takeButtonEnable = switch (true) do {
    case (_selectedContainer == _builder): {false};
    case (!_canTakeStore): {false};
    case (lnbSize _vehicleListCtrl select 0 == 0): {false};
    default {true};
};

private _storeButtonEnable = switch (true) do {
    case (_selectedContainer != _builder): {false};
    case (!_canTakeStore): {false};
    case (lnbSize _listCtrl select 0 == 0): {false};
    default {true};
};

_takeButton ctrlEnable _takeButtonEnable;
_storeButton ctrlEnable _storeButtonEnable;
#include "..\..\dialog\ui_toolkit.hpp"
#include "..\..\dialog\hint\defines.hpp"

if (!hasInterface) exitWith {};

params ["_mode","_moduleRoot","_surfaceNormal","_surfaceNormalForced","_builder",["_fortType",""]];

disableSerialization;
private _hint = uiNamespace getVariable "grad_fortifications_hint";

if (isNull _hint) exitWith {};

private _l4BG   = _hint displayCtrl grad_fortifications_hint_BG_LINE4;
private _l4Txt  = _hint displayCtrl grad_fortifications_hint_TXT_LINE4;
private _l4Pic  = _hint displayCtrl grad_fortifications_hint_PIC_LINE4;
private _l5BG   = _hint displayCtrl grad_fortifications_hint_BG_LINE5;
private _l5Txt  = _hint displayCtrl grad_fortifications_hint_TXT_LINE5;
private _l5Pic  = _hint displayCtrl grad_fortifications_hint_PIC_LINE5;

switch (true) do {
    case (_builder getVariable ["grad_fortifications_surfaceNormal",true]): {
        _l4Txt ctrlSetText "SURFACENORMAL ON";
        _l4BG ctrlSetBackgroundColor ([[0,0.7,0,0.65],[0.4,0.4,0.4,0.75]] select _surfaceNormalForced);
    };
    case (!(_builder getVariable ["grad_fortifications_surfaceNormal",true])): {
        _l4Txt ctrlSetText "SURFACENORMAL OFF";
        _l4BG ctrlSetBackgroundColor ([[0.65,0.65,0,0.65],[0.4,0.4,0.4,0.75]] select _surfaceNormalForced);
    };
};

switch (_mode) do {
    case ("COLLIDING"): {
        _l5BG ctrlSetBackgroundColor [0.8,0,0,0.65];
        _l5Txt ctrlSetText "COLLIDING!";
        _l5Pic ctrlSetText (_moduleRoot + "\data\error.paa");
    };

    case ("FLOATING"): {
        _l5BG ctrlSetBackgroundColor [0.65,0.65,0,0.65];
        _l5Txt ctrlSetText "NOT ON GROUND!";
        _l5Pic ctrlSetText (_moduleRoot + "\data\warning.paa");
    };

    case ("ONROAD"): {
        _l5BG ctrlSetBackgroundColor [0.65,0.65,0,0.65];
        _l5Txt ctrlSetText "CAN'T PLACE ON ROAD!";
        _l5Pic ctrlSetText (_moduleRoot + "\data\warning.paa");
    };

    case ("CUSTOM"): {
        _l5BG ctrlSetBackgroundColor [0.65,0.65,0,0.65];
        _conditionHint = [missionConfigFile >> "CfgGradFortifications" >> "Fortifications" >> _fortType >> "conditionHint","text","CAN'T PLACE!"] call CBA_fnc_getConfigEntry;
        _l5Txt ctrlSetText (toUpper _conditionHint);
        _l5Pic ctrlSetText (_moduleRoot + "\data\warning.paa");
    };

    case ("CANPLACE"): {
        _l5BG ctrlSetBackgroundColor [0,0.7,0,0.65];
        _l5Txt ctrlSetText "CAN PLACE";
        _l5Pic ctrlSetText (_moduleRoot + "\data\checkmark.paa");
    };
};
/*  Updates itemlist based on chosen category
*
*/

#define PREFIX grad
#define COMPONENT fortifications
#include "\x\cba\addons\main\script_macros_mission.hpp"

#include "..\..\dialog\menu\defines.hpp"
#include "..\..\dialog\vehicle\defines.hpp"

private _builder = ACE_player;

params [["_container",_builder getVariable ["grad_fortifications_currentContainer", _builder]],"_containerFortsHash"];
private ["_containerFortsHash"];

disableSerialization;

if (_builder getVariable ["grad_fortifications_currentContainer", _builder] != _container && _builder !=_container) exitWith {};

private _dialog = findDisplay grad_fortifications_DIALOG;
private _listCtrl = _dialog displayCtrl grad_fortifications_ITEMLIST;
private _vehicleListCtrl = _dialog displayCtrl grad_fortifications_vehicle_ITEMLIST;
if (isNull _listCtrl) exitWith {};

if !([_builder getVariable ["grad_fortifications_myFortsHash",[[],0] call CBA_fnc_hashCreate]] call CBA_fnc_isHash) exitWith {ERROR("Unit does not have myFortsHash.")};

_myFortsHash = _builder getVariable ["grad_fortifications_myFortsHash",[[],0] call CBA_fnc_hashCreate];
if (isNil "_containerFortsHash") then {
    _containerFortsHash = _container getVariable ["grad_fortifications_myFortsHash",[[],0] call CBA_fnc_hashCreate];
};


{
    _x params ["_control","_hash"];
    if (isNull _control) exitWith {};

    lnbClear _control;
    _listIndex = 0;
    _updateList = {
        _displayName = [_key] call grad_fortifications_fnc_getDisplayName;

        if (_value > 0) then {
            _control lnbAddRow [str _value, _displayName];
            _control lnbSetData [[_listIndex,0], _key];
            _listIndex = _listIndex + 1;
        };
    };
    [_hash, _updateList] call CBA_fnc_hashEachPair;

    false
} count [[_listCtrl,_myFortsHash],[_vehicleListCtrl,_containerFortsHash]];

_itemCount = if (isNull _vehicleListCtrl) then {lnbSize _listCtrl select 0} else {(lnbSize _listCtrl select 0) + (lnbSize _vehicleListCtrl select 0)};
if (_itemCount == 0) exitWith {closeDialog grad_fortifications_DIALOG};

_lastSelectedContainer = _builder getVariable ["grad_fortifications_ui_lastSelectedContainer", _builder];
_listToSelect = switch (true) do {
    case (isNull _vehicleListCtrl): {0};
    case ((lnbSize _listCtrl select 0) == 0): {1};
    case (_lastSelectedContainer == _builder): {0};
    case ((lnbSize _vehicleListCtrl select 0) == 0): {0};
    default {1};
};

if (_listToSelect == 0) then {
    _lastSel = _builder getVariable ["grad_fortifications_ui_lastSelectedItem",0];
    _curSel = if (_lastSel > (lnbSize _listCtrl select 0)) then {0} else {_lastSel};
    _listCtrl lnbSetCurSelRow _curSel;
} else {
    _lastSel = _container getVariable ["grad_fortifications_ui_lastSelectedItem",0];
    _curSel = if (_lastSel > (lnbSize _vehicleListCtrl select 0)) then {-1} else {_lastSel};
    _vehicleListCtrl lnbSetCurSelRow _curSel;
};
#include "..\..\dialog\menu\defines.hpp"
#include "..\..\dialog\vehicle\defines.hpp"

params ["_selectedContainer","_canTakeStore"];

disableSerialization;
private _dialog = findDisplay grad_fortifications_DIALOG;
private _vehicleTitleCtrl = _dialog displayCtrl grad_fortifications_vehicle_ITEMLISTTITLEVEHICLE;
private _myTitleCtrl = _dialog displayCtrl grad_fortifications_vehicle_ITEMLISTTITLE;

private _builder = ACE_player;

private _interactedContainer = _builder getVariable ["grad_fortifications_currentContainer", objNull];
private _displayName = toUpper ([configFile >> "CfgVehicles" >> (typeOf _interactedContainer) >> "displayName", "text", ""] call CBA_fnc_getConfigEntry);

if (_builder == _selectedContainer) then {
    _myTitleCtrl ctrlSetText (toUpper profileName);
    _vehicleTitleCtrl ctrlSetText (if (_canTakeStore) then {_displayName} else {_displayName + " (NO SPACE)"});
} else {
    _vehicleTitleCtrl ctrlSetText _displayName;
    _myTitleCtrl ctrlSetText (if (_canTakeStore) then {toUpper profileName} else {toUpper profileName + " (NO SPACE)"});
};
/*  Updates item picture
*
*/

#include "..\..\dialog\menu\defines.hpp"
disableSerialization;

params ["_listCtrl","_type"];

_dialog = findDisplay grad_fortifications_DIALOG;
if (isNull _dialog) exitWith {};

_modelCtrl = _dialog displayCtrl grad_fortifications_3DMODEL;

_modelPath = getText (configfile >> "CfgVehicles" >> _type >> "model");
_modelSize = [_type] call grad_fortifications_fnc_getObjectSize;
_modelScale = 1/_modelSize * 0.65;

_modelCtrl ctrlSetModel _modelPath;
_modelCtrl ctrlSetModelScale _modelScale;

_modelCtrl ctrlCommit 0;
#include "..\..\dialog\menu\defines.hpp"
#include "..\..\dialog\vehicle\defines.hpp"

params ["_mode"];

private _dialog = findDisplay grad_fortifications_DIALOG;
private _listCtrl = _dialog displayCtrl grad_fortifications_ITEMLIST;
private _vehicleListCtrl = _dialog displayCtrl grad_fortifications_vehicle_ITEMLIST;

private _builder = ACE_player;

private _selectedContainer = _builder getVariable ["grad_fortifications_ui_lastSelectedContainer", _builder];
private _currentContainer = _builder getVariable ["grad_fortifications_currentContainer", _builder];
private _type = if (_selectedContainer == _builder) then {
    _curSel = lnbCurSelRow _listCtrl;
    _listCtrl lnbData [_curSel,0]
} else {
    _curSel = lnbCurSelRow _vehicleListCtrl;
    _vehicleListCtrl lnbData [_curSel,0]
};

if (_type == "") exitWith {};

switch (_mode) do {
    case ("TAKE"): {
        [_builder,_currentContainer,_type,"TAKE"] remoteExec ["grad_fortifications_fnc_respondStoreTake",2,false];
    };
    case ("STORE"): {
        [_builder,_type] call grad_fortifications_fnc_removeFort;
        [_builder,_currentContainer,_type,"STORE"] remoteExec ["grad_fortifications_fnc_respondStoreTake",2,false];
    };
};
params ["_caller","_container","_type","_mode"];

_containerForts = _container getVariable ["grad_fortifications_myFortsHash",[[],0] call CBA_fnc_hashCreate];
_containerStock = [_containerForts,_type] call CBA_fnc_hashGet;

_callerForts = _caller getVariable ["grad_fortifications_myFortsHash",[[],0] call CBA_fnc_hashCreate];
_callerStock = [_callerForts,_type] call CBA_fnc_hashGet;

switch (_mode) do {
    case ("BUILD"): {
        if (_containerStock > 0) then {
            [_container,_type] call grad_fortifications_fnc_removeFort;
            [_type,"DROPPED"] remoteExec ["grad_fortifications_fnc_startPlacement",_caller,false];
        };
    };
    case ("STORE"): {
        if ([_container,_type] call grad_fortifications_fnc_canTake) then {
            [_container,_type] call grad_fortifications_fnc_addFort;
        } else {
            //reimburse
            [_caller,_type] call grad_fortifications_fnc_addFort;
        };
    };
    case ("TAKE"): {
        if (_containerStock > 0) then {
            [_container,_type] call grad_fortifications_fnc_removeFort;
            [_caller,_type] call grad_fortifications_fnc_addFort;
        };
    };
};
#include "dialog\ui_toolkit.hpp"

#include "dialog\baseDefines.hpp"
#include "dialog\baseRsc.hpp"

#include "dialog\menu\defines.hpp"
#include "dialog\menu\dialog.hpp"

#include "dialog\vehicle\defines.hpp"
#include "dialog\vehicle\dialog.hpp"
{
  "_from": "grad-fortifications@0.9.3",
  "_id": "grad-fortifications@0.9.3",
  "_inBundle": false,
  "_integrity": "sha512-Gb6GlUuLf7bqrVtrfVVR6/slTZqmlgD7Yviacueix7sYUZ1LfVwdCs4Xem5lwDLK2r9XHzUiVPNmxjAo0HNW/A==",
  "_location": "/grad-fortifications",
  "_phantomChildren": {},
  "_requested": {
    "type": "version",
    "registry": true,
    "raw": "grad-fortifications@0.9.3",
    "name": "grad-fortifications",
    "escapedName": "grad-fortifications",
    "rawSpec": "0.9.3",
    "saveSpec": null,
    "fetchSpec": "0.9.3"
  },
  "_requiredBy": [
    "#USER",
    "/"
  ],
  "_resolved": "https://registry.npmjs.org/grad-fortifications/-/grad-fortifications-0.9.3.tgz",
  "_shasum": "fa801309e91c1d94f97a8e41b61040f877a8f41d",
  "_spec": "grad-fortifications@0.9.3",
  "_where": "C:\\Users\\nomisum\\Documents\\Arma 3\\missions\\TvT_BreakingContact.Stratis",
  "author": {
    "name": "McDiod"
  },
  "bundleDependencies": false,
  "deprecated": false,
  "description": "Gruppe Adler object placement system",
  "name": "grad-fortifications",
  "version": "0.9.3"
}
# GRAD Fortifications
GRAD Fortifications is an object placement system similar to [Plank](https://github.com/kami-/plank), but more user friendly for mission creators and players.

# [Fortifications WIKI](https://github.com/gruppe-adler/grad-fortifications/wiki)
Information on installation, configuration and usage here.

## Pictures
**Virtual Fortification Inventory:**  
![](http://i.imgur.com/J3vvsR2.jpg)

**Storing Fortifications in Vehicles:**
![](http://i.imgur.com/Je0Xg1B.jpg)

**Collision Detection:**  
![](http://i.imgur.com/6cKvbjC.jpg)

**Dropping Fortifications:**  
![](http://i.imgur.com/6FR7OWe.jpg)

***

## Credits
### Creative Commons
https://creativecommons.org/licenses/by/3.0/

1. Fortifications action icon (slight modifications to improve low resolution display): *Sandbags* by Chris from the Noun Project
2. Checkmark icon (modified): *checkmark* by ✦ Shmidt Sergey ✦ from the Noun Project
3. Not on ground icon (modified): *Error* by Shastry from the Noun Project
4. Collision icon (modified): *Cross* by Doub.co from the Noun Project
5. Surfacenormal toggle icon (modified): *tab* by icon 54 from the Noun Project

### Flaticon Basic
http://file000.flaticon.com/downloads/license/license.pdf

1. Shift key icon (also modified to show ctrl and alt instead):  
Made by [Freepik](http://www.flaticon.com/authors/freepik) from www.flaticon.com
class cfgGradIslands {
    class Altis {
        displayName = "Altis";
        type = "mediterranean";
        isWoodland = true;
        spawnPosBlu[] = {8782,25180,0};
        spawnPosOpf[] = {8481,25263,0};
        spawnPosInd[] = {8216,24939,0};
        urbanops_locationBlacklist[] = {
            "AAC airfield",
            "Agios Georgios",
            "Agios Georgios",
            "Agios Kosmas",
            "Agios Panagiotis",
            "Aktinarki",
            "Almyra",
            "Atsalis",
            "Bomos",
            "Cap Agrios",
            "Cap Drakontas",
            "Cap Kategidis",
            "Cap Makrinos",
            "Cap Thelos",
            "Cap Zefyris",
            "Chelonisi",
            "Drimea",
            "dump",
            "Edoris",
            "Faros",
            "Fournos",
            "Gori",
            "Kavala Pier",
            "Limni",
            "Livadi",
            "Makrynisi",
            "Mazi",
            "mine",
            "Molos Airfield",
            "Monisi",
            "Nychi",
            "Ochrolimni",
            "Pyrgi",
            "quarry",
            "Sagonisi",
            "Savri",
            "Sideras",
            "Surf Club",
            "Xirolimni Dam",
            "Zeloran"
        };
    };

    class Bootcamp_ACR {
        displayName = "Bukovina";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {3225,4342,0};
        spawnPosOpf[] = {3449,4376,0};
        spawnPosInd[] = {3807,4346,0};
    };

    class Beketov {
        displayName = "Beketov";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {-258.376,308.728,0};
        spawnPosOpf[] = {-249.061,955.673,0};
        urbanops_locationBlacklist[] = {
            "Belokamenka",
            "Dorogino",
            "Limonovo",
            "Malaevo",
            "Oblepikhino",
            "SWAMP"
        };
    };

    class Chernarus {
        displayName = "Chernarus (Autumn)";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {-599,2508,0};
        spawnPosOpf[] = {-567,3402,0};
        spawnPosInd[] = {-568,4180,0};
        urbanops_locationBlacklist[] = {
            "airfield",
            "airstrip",
            "Black Forest",
            "Blunt Rocks",
            "Cap Golova",
            "Dichina",
            "Drakon",
            "Green Mountain",
            "Grozovoy Pass",
            "Kopyto",
            "Krutoy Cap",
            "Kumyrna",
            "Novy Lug",
            "Old Fields",
            "Pass Oreshka",
            "Pass Sosnovy",
            "power plant",
            "quarry",
            "Skalisty Island",
            "Skalka",
            "Three Valleys",
            "Vysota"
        };
    };

    class Chernarus_Summer: Chernarus {};
    class Chernarus_winter: Chernarus {};

    class d41_ruegen {
        displayName = "Ruegen";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {-312,604,0};
        spawnPosOpf[] = {-364,1481,0};
        spawnPosInd[] = {-474,2161,0};
    };

    class d41_ruegen_scorched: d41_ruegen {};

    class dingor {
        displayName = "Dingor";
        type = "middle eastern";
        isWoodland = false;
        spawnPosBlu[] = {1096.81,9389.22,0};
        spawnPosOpf[] = {889.053,9438.74,0};
        urbanops_locationBlacklist[] = {
            "Puente Malargo",
            "Mt. Toris"
        };
    };

    class Enoch {
        displayName = "Livonia";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {-331,2112,0};
        spawnPosOpf[] = {-288,3004,0};
        spawnPosInd[] = {-313,3951,0};
    };

    class gm_weferlingen_summer {
        displayName = "Weferlingen";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {602,-414,0};
        spawnPosOpf[] = {1349,-483,0};
        spawnPosInd[] = {2194,-376,0};
    };

    class gm_weferlingen_winter: gm_weferlingen_summer {};

    class hellanmaa {
        displayName = "hellanmaa";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {8199,8295,0};
        spawnPosOpf[] = {7785,8293,0};
        urbanops_locationBlacklist[] = {};
    };

    class Intro {
        displayName = "Ramahdi";
        type = "middle eastern";
        isWoodland = false;
        urbanops_sizeFactor = 0.30;
        spawnPosBlu[] = {1604.93,1575.83,0};
        spawnPosOpf[] = {1542.37,1750.86,0};

        class customLocations {
            class Ramahdi {
                name = "Ramahdi";
                type = "NameVillage";
                pos[] = {2893.81,2879.46,0};
            };
        };
    };

    class fallujah {
        displayName = "Fallujah";
        type = "middle eastern";
        isWoodland = false;
        spawnPosBlu[] = {10226.5,605.61,0};
        spawnPosOpf[] = {10204.2,1033.22,0};

        class customLocations {
            class airfieldN {
                name = "Airfield North";
                type = "NameCityCapital";
                pos[] = {7972.45,2142.85,0};
            };

            class airfieldS {
                name = "Airfield South";
                type = "NameCityCapital";
                pos[] = {8304.41,1593.64,0};
            };

            class hotel {
                name = "Hotel";
                type = "NameVillage";
                pos[] = {8231.46,5520.07,0};
            };

            class village1 {
                name = "Shakbur";
                type = "NameVillage";
                pos[] = {9068.4,9026.81,0};
            };

            class FOB {
                name = "FOB";
                type = "NameVillage";
                pos[] = {5692.07,9856.37,0};
            };

            class powerplant {
                name = "Power Plant";
                type = "NameVillage";
                pos[] = {687.158,8340.91,0};
            };

            class outskirts1 {
                name = "Outskirts";
                type = "NameVillage";
                pos[] = {3890.94,2827.52,0};
            };

            class milbase {
                name = "Military Base";
                type = "NameCity";
                pos[] = {2927.96,6340.07,0};
            };
        };
    };

    class fata {
        displayName = "Fata";
        type = "middle eastern";
        isWoodland = false;
        spawnPosBlu[] = {10616.3,8942.11,0};
        spawnPosOpf[] = {10723.9,10105,0};
        urbanops_locationBlacklist[] = {
            "Goram Valley",
            "Kabashir Forest",
            "Mouaneb",
            "Mussara Bridge",
            "Paktita Valley",
            "Serpent's Road",
            "Sirika",
            "Suhani Valley",
            "Sukri River",
            "Tamir Bridge",
            "Tamir Highway",
            "Tamir River"
        };
    };

    class pja314 {
        displayName = "G.O.S. Leskovets";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {-1000,-1000,0};
        spawnPosOpf[] = {-3000,-1000,0};
        urbanops_locationBlacklist[] = {};
    };

    class lingor3 {
        displayName = "Lingor";
        type = "tropical";
        isWoodland = true;
        spawnPosBlu[] = {1096.81,9389.22,0};
        spawnPosOpf[] = {889.053,9438.74,0};
        urbanops_locationBlacklist[] = {
            "Puente Malargo",
            "Mt. Toris"
        };
    };

    class lythium {
        displayName = "Lythium";
        type = "middle eastern";
        isWoodland = false;
        spawnPosBlu[] = {-205,71,0};
        spawnPosOpf[] = {-333,833,0};
        spawnPosInd[] = {-286,1336,0};
        urbanops_locationBlacklist[] = {};
    };

    class Majan {
        displayName = "Majan";
        type = "mediterranean";
        isWoodland = false;
        spawnPosBlu[] = {10035,2134,0};
        spawnPosOpf[] = {10159,2200,0};
        spawnPosInd[] = {9983,2289,0};
    };

    class Malden {
        displayName = "Malden";
        type = "mediterranean";
        isWoodland = true;
        spawnPosBlu[] = {10035,2134,0};
        spawnPosOpf[] = {10159,2200,0};
        spawnPosInd[] = {9983,2289,0};
        urbanops_locationBlacklist[] = {
            "Pegasus Air Co.",
            "Moray",
            "Faro",
            "harbor"
        };
    };

    class mbg_celle2 {
        displayName = "Celle";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {13121.7,12175.6,0};
        spawnPosOpf[] = {12488.2,12689.2,0};
        urbanops_locationBlacklist[] = {};
    };

    class pja310 {
        displayName = "GOS Al Rayak";
        type = "middle eastern";
        isWoodland = true;
        spawnPosBlu[] = {850,1240,0};
        spawnPosOpf[] = {1700,1170,0};
        spawnPosInd[] = {850,1040,0}; // not tested
    };

    class Porto {
        displayName = "Porto";
        type = "middle eastern";
        isWoodland = false;
        spawnPosBlu[] = {1376.64,628.892,0};
        spawnPosOpf[] = {1136.77,671.378,0};
        urbanops_sizeFactor = 0.30;

        class customLocations {
            class portoHarbor {
                name = "Porto Harbor";
                type = "NameCity";
                pos[] = {2589.53,2232.25,0};
            };
        };
    };

    class prei_khmaoch_luong {
        displayName = "Prei Khmaoch Luong";
        type = "tropical";
        isWoodland = true;
        spawnPosBlu[] = {-172,640,0};
        spawnPosOpf[] = {-193,887,0};
        spawnPosInd[] = {-253,1608,0};
    };

    class rhspkl {
        displayName = "RHSPKL";
        type = "tropical";
        isWoodland = true;
        spawnPosBlu[] = {6277.15,5772.99,0};
        spawnPosOpf[] = {6175.65,7714.31,0};
        spawnPosInd[] = {2435.66,7402.81,0};
    };

    class ruha {
        displayName = "Ruha";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {-84,38,0};
        spawnPosOpf[] = {-100,367,0};
        spawnPosInd[] = {-91,629,0};
    };

    class Stratis {
        displayName = "Stratis";
        type = "mediterranean";
        isWoodland = true;
        spawnPosBlu[] = {7100,5936,0};
        spawnPosOpf[] = {3782.86,7923.07,0};
        spawnPosInd[] = {7109,6010,0};
        urbanops_locationBlacklist[] = {
            "airfield",
            "Kamino Coast",
            "LZ Baldy",
            "Pythos",
            "The Spartan",
            "Xiros"
        };
    };

    class sara_dbe1 {
        displayName = "United Sahrani";
        type = "mediterranean";
        isWoodland = true;
        spawnPosBlu[] = {1590,2190,0};
        spawnPosOpf[] = {1475,2278,0};
        spawnPosInd[] = {1641,2344,0};
        urbanops_locationBlacklist[] = {
            "Antigua",
            "Cabo Canino",
            "Cabo de Fidel",
            "Cabo Gavio",
            "Cabo Gavio",
            "Cabo Indice",
            "Cabo Juventudo",
            "Cabo Santa Lucia",
            "Cabo Valiente",
            "Calha de Cayo",
            "Calheta de Cedras",
            "Calheta Demiseca",
            "Calheta Seca",
            "Cimas Dobles",
            "El Gordo",
            "Isla Arimar",
            "Isla de la Caja",
            "Isla de Libertad",
            "Isla de los Tojos",
            "Isla de Matey",
            "Isla del Vassal",
            "Isla del Vida",
            "Isla del Zorra",
            "Isla des Compadres",
            "Islas Gatunas",
            "Matas",
            "Monte Asharah",
            "Monte Galassi",
            "Parvulo",
            "Passo Epone",
            "Passo Paradiso",
            "Passo San Andres",
            "Passo San Marco",
            "Pesadas",
            "Puntas Occidental",
            "Puntas Oriental",
            "Roca del Dror",
            "Rocara",
            "San Peregrino",
            "San Tomas",
            "Sierra de los Pinos",
            "Sierra Madre",
            "Sierra Masbete",
            "Sierra Pita",
            "Terra Acorcha",
            "Terra Marismo",
            "Trelobada",
            "Tres Valles",
            "Valle Azul",
            "Valle de Carmen",
            "Vallejo"
        };
    };

    class Shapur_BAF {
        displayName = "Shapur";
        type = "middle eastern";
        isWoodland = false;
        spawnPosBlu[] = {-198,171,0};
        spawnPosOpf[] = {-183,1006,0};
        spawnPosInd[] = {-178,1787,0};
        urbanops_sizeFactor = 0.75;
        urbanops_locationBlacklist[] = {
            "airfield"
        };
    };

    class Takistan {
        displayName = "Takistan";
        type = "middle eastern";
        isWoodland = false;
        spawnPosBlu[] = {954,-672,0};
        spawnPosOpf[] = {1508,-661,0};
        spawnPosInd[] = {2074,-596,0};
        urbanops_locationBlacklist[] = {
            "airfield",
            "Bala pass",
            "Darbang pass",
            "Jaza",
            "Loy Manara oilfield",
            "military base",
            "Nagara-1 oilfield",
            "Nar",
            "Naran Darre pass",
            "Naygul valley",
            "Par-e Siah oilfield",
            "Sar-e Sang pass"
        };
    };

    class Tanoa {
        displayName = "Tanoa";
        type = "tropical";
        isWoodland = true;
        spawnPosBlu[] = {10513,14650,0};
        spawnPosOpf[] = {10421,14542,0};
        spawnPosInd[] = {10693,14660,0};
        urbanops_locationBlacklist[] = {
            "camp remnants",
            "Ile Sainte-Marie",
            "Ravi-ta Island",
            "vehicle range",
            "GSM station",
            "Comms Whiskey",
            "firing range",
            "maze",
            "Mont Tanoa",
            "harbor remnants",
            "Ile Douen",
            "Red Spring surface mine",
            "Yasa Island",
            "Sosovu Island",
            "railway depot",
            "diesel power plant",
            "temple ruins",
            "banana plantations",
            "plantation",
            "lumberyard",
            "fuel depot",
            "Yani Islets",
            "cocoa plantations",
            "sawmill",
            "Ile Saint-George",
            "ferry",
            "fortress ruins",
            "Tuadua Island",
            "Imuri Island"
        };
    };

    class tem_cham {
        displayName = "Cham";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {8158,8286,0};
        spawnPosOpf[] = {7637,8314,0};
        spawnPosInd[] = {7022,8327,0};
    };
    
    class tem_chamw {
        displayName = "Cham Winter";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {8158,8286,0};
        spawnPosOpf[] = {7637,8314,0};
        spawnPosInd[] = {7022,8327,0};
    };

    class tem_kujari {
        displayName = "Kujari";
        type = "tropical";
        isWoodland = true;
        spawnPosBlu[] = {1495,16760,0};
        spawnPosOpf[] = {1895,16760,0};
        spawnPosInd[] = {2295,16760,0};
    };

    class tem_vinjesvingenc {
        displayName = "Vinjesvingen";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {113,-136,0};
        spawnPosOpf[] = {575,-173,0};
        spawnPosInd[] = {1170,-176,0};
    };

    class Tembelan {
        displayName = "Tembelan";
        type = "tropical";
        isWoodland = true;
        spawnPosBlu[] = {457,5194,0};
        spawnPosOpf[] = {943,5161,0};
        spawnPosInd[] = {1120,5690,0};
    };

    class utes {
        displayName = "Utes";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {1995,4349,0};
        spawnPosOpf[] = {2342,4073,0};
        spawnPosInd[] = {2168,3823,0};
        urbanops_sizeFactor = 0.75;
        urbanops_locationBlacklist[] = {
            "USS Khe Sanh"
        };
    };

    class vt5 {
        displayName = "vt5";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {5709.2,6239.52,0};
        spawnPosOpf[] = {6156.56,5841.48,0};
        urbanops_sizeFactor = 0.75;
        urbanops_locationBlacklist[] = {};
        class customLocations {
            class powerplant {
                name = "power plant";
                type = "NameCity";
                pos[] = {3260.85,3464.43};
            };
            class radiotower {
                name = "Mätäsvaara";
                type = "NameVillage";
                pos[] = {801.424,484.858};
            };
            class airfield {
                name = "airfield";
                type = "NameVillage";
                pos[] = {212.334,405.515};
            };
            class gasStation {
                name = "gas station";
                type = "NameVillage";
                pos[] = {2381.52,1499.99};
            };
            class factory {
                name = "Röykkä";
                type = "NameCity";
                pos[] = {741.191,5601.93};
            };
            class garages {
                name = "Klaukkala";
                type = "NameCity";
                pos[] = {4921.19,4142.72};
            };
            class fields {
                name = "Hyrylä";
                type = "NameCity";
                pos[] = {5009.03,2233.1};
            };
            class haybales {
                name = "Kärpänkylä";
                type = "NameVillage";
                pos[] = {4194.69,2172.19};
            };
            class forest {
                name = "Parkumäki";
                type = "NameVillage";
                pos[] = {3900.89,2701.57};
            };
            class peninsula {
                name = "Tuukkala";
                type = "NameVillage";
                pos[] = {3482.91,1596.57};
            };
        };
    };

    class vt7 {
        displayName = "vt7";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {60,18055,0};
        spawnPosOpf[] = {3000,18055,0};
        spawnPosInd[] = {6664,18055,0};
        urbanops_locationBlacklist[] = {
            "Korpisaari",
            "Pytersaari",
            "Karhusaari",
            "Sumari",
            "Tuuholmi",
            "Pieni Lakasaari",
            "Suuri Lakasaari",
            "Kauholmi",
            "Kuppari",
            "Lehtinen",
            "Lapuri",
            "Pulteri",
            "Santasaari",
            "Hanholmi",
            "Lylysaari",
            "Raitsaari",
            "Näästiö",
            "Souvio",
            "Kujaholmi",
            "Pirkholmi",
            "Haapasaari",
            "Korkiasaari"
        };
    };

    class WL_Rosche {
        displayName = "Rosche";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {-128,60,0};
        spawnPosOpf[] = {-146,519,0};
        spawnPosInd[] = {-170,938,0};
    };

    class Woodland_ACR {
        displayName = "Bystrica";
        type = "russian";
        isWoodland = true;
        spawnPosBlu[] = {-582,-361,0};
        spawnPosOpf[] = {1022,-770,0};
        spawnPosInd[] = {2236,-679,0};
        urbanops_locationBlacklist[] = {};
        class customLocations {
            class cherno {
                name = "Chernogorsk";
                type = "NameCityCapital";
                pos[] = {1358.15,1684.27,0};
            };
            class elektro {
                name = "Elektrozavodsk";
                type = "NameCity";
                pos[] = {5145.3,1462.94,0};
            };
            class elektroHarbor {
                name = "Elektro Harbor";
                type = "NameCity";
                pos[] = {4735.83,1111.63,0};
            };
            class farms {
                name = "Farms";
                type = "NameCity";
                pos[] = {2560.86,2637.29,0};
            };
            class pusta {
                name = "Pusta";
                type = "NameVillage";
                pos[] = {3761.12,3020.14,0};
            };
        };
    };

    class Zargabad {
        displayName = "Zargabad";
        type = "middle eastern";
        isWoodland = false;
        spawnPosBlu[] = {-311,341,0};
        spawnPosOpf[] = {17,945,0};
        spawnPosInd[] = {371,1715,0};
        urbanops_locationBlacklist[] = {
            "airfield",
            "Firuz Baharv"
        };
        class customLocations {
            class barracks {
                name = "Barracks";
                type = "NameVillage";
                pos[] = {3956.09,2787.43,0};
            };
        };
    };
};
Altis
Bootcamp_ACR
Woodland_ACR
tem_cham
Enoch
tem_kujari
lythium
Malden
prei_khmaoch_luong
pja310
WL_Rosche
rhspkl
ruha
sara_dbe1
Shapur_BAF
Stratis
takistan
Tanoa
Tembelan
utes
tem_vinjesvingenc
gm_weferlingen_summer
gm_weferlingen_winter
vt7
Zargabad
                    GNU GENERAL PUBLIC LICENSE
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                            Preamble

  The GNU General Public License is a free, copyleft license for
software and other kinds of works.

  The licenses for most software and other practical works are designed
to take away your freedom to share and change the works.  By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.  We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors.  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.

  To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights.  Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received.  You must make sure that they, too, receive
or can get the source code.  And you must show them these terms so they
know their rights.

  Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.

  For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software.  For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.

  Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so.  This is fundamentally incompatible with the aim of
protecting users' freedom to change the software.  The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable.  Therefore, we
have designed this version of the GPL to prohibit the practice for those
products.  If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.

  Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary.  To prevent this, the GPL assures that
patents cannot be used to render the program non-free.

  The precise terms and conditions for copying, distribution and
modification follow.

                       TERMS AND CONDITIONS

  0. Definitions.

  "This License" refers to version 3 of the GNU General Public License.

  "Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.

  "The Program" refers to any copyrightable work licensed under this
License.  Each licensee is addressed as "you".  "Licensees" and
"recipients" may be individuals or organizations.

  To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy.  The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.

  A "covered work" means either the unmodified Program or a work based
on the Program.

  To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy.  Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.

  To "convey" a work means any kind of propagation that enables other
parties to make or receive copies.  Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.

  An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License.  If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.

  1. Source Code.

  The "source code" for a work means the preferred form of the work
for making modifications to it.  "Object code" means any non-source
form of a work.

  A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.

  The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form.  A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.

  The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities.  However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work.  For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.

  The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.

  The Corresponding Source for a work in source code form is that
same work.

  2. Basic Permissions.

  All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met.  This License explicitly affirms your unlimited
permission to run the unmodified Program.  The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work.  This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.

  You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force.  You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright.  Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.

  Conveying under any other circumstances is permitted solely under
the conditions stated below.  Sublicensing is not allowed; section 10
makes it unnecessary.

  3. Protecting Users' Legal Rights From Anti-Circumvention Law.

  No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.

  When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.

  4. Conveying Verbatim Copies.

  You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.

  You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.

  5. Conveying Modified Source Versions.

  You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:

    a) The work must carry prominent notices stating that you modified
    it, and giving a relevant date.

    b) The work must carry prominent notices stating that it is
    released under this License and any conditions added under section
    7.  This requirement modifies the requirement in section 4 to
    "keep intact all notices".

    c) You must license the entire work, as a whole, under this
    License to anyone who comes into possession of a copy.  This
    License will therefore apply, along with any applicable section 7
    additional terms, to the whole of the work, and all its parts,
    regardless of how they are packaged.  This License gives no
    permission to license the work in any other way, but it does not
    invalidate such permission if you have separately received it.

    d) If the work has interactive user interfaces, each must display
    Appropriate Legal Notices; however, if the Program has interactive
    interfaces that do not display Appropriate Legal Notices, your
    work need not make them do so.

  A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit.  Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.

  6. Conveying Non-Source Forms.

  You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:

    a) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by the
    Corresponding Source fixed on a durable physical medium
    customarily used for software interchange.

    b) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by a
    written offer, valid for at least three years and valid for as
    long as you offer spare parts or customer support for that product
    model, to give anyone who possesses the object code either (1) a
    copy of the Corresponding Source for all the software in the
    product that is covered by this License, on a durable physical
    medium customarily used for software interchange, for a price no
    more than your reasonable cost of physically performing this
    conveying of source, or (2) access to copy the
    Corresponding Source from a network server at no charge.

    c) Convey individual copies of the object code with a copy of the
    written offer to provide the Corresponding Source.  This
    alternative is allowed only occasionally and noncommercially, and
    only if you received the object code with such an offer, in accord
    with subsection 6b.

    d) Convey the object code by offering access from a designated
    place (gratis or for a charge), and offer equivalent access to the
    Corresponding Source in the same way through the same place at no
    further charge.  You need not require recipients to copy the
    Corresponding Source along with the object code.  If the place to
    copy the object code is a network server, the Corresponding Source
    may be on a different server (operated by you or a third party)
    that supports equivalent copying facilities, provided you maintain
    clear directions next to the object code saying where to find the
    Corresponding Source.  Regardless of what server hosts the
    Corresponding Source, you remain obligated to ensure that it is
    available for as long as needed to satisfy these requirements.

    e) Convey the object code using peer-to-peer transmission, provided
    you inform other peers where the object code and Corresponding
    Source of the work are being offered to the general public at no
    charge under subsection 6d.

  A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.

  A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling.  In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage.  For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product.  A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.

  "Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source.  The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.

  If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information.  But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).

  The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed.  Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.

  Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.

  7. Additional Terms.

  "Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law.  If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.

  When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it.  (Additional permissions may be written to require their own
removal in certain cases when you modify the work.)  You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.

  Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:

    a) Disclaiming warranty or limiting liability differently from the
    terms of sections 15 and 16 of this License; or

    b) Requiring preservation of specified reasonable legal notices or
    author attributions in that material or in the Appropriate Legal
    Notices displayed by works containing it; or

    c) Prohibiting misrepresentation of the origin of that material, or
    requiring that modified versions of such material be marked in
    reasonable ways as different from the original version; or

    d) Limiting the use for publicity purposes of names of licensors or
    authors of the material; or

    e) Declining to grant rights under trademark law for use of some
    trade names, trademarks, or service marks; or

    f) Requiring indemnification of licensors and authors of that
    material by anyone who conveys the material (or modified versions of
    it) with contractual assumptions of liability to the recipient, for
    any liability that these contractual assumptions directly impose on
    those licensors and authors.

  All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10.  If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term.  If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.

  If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.

  Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.

  8. Termination.

  You may not propagate or modify a covered work except as expressly
provided under this License.  Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).

  However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.

  Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.

  Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License.  If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.

  9. Acceptance Not Required for Having Copies.

  You are not required to accept this License in order to receive or
run a copy of the Program.  Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance.  However,
nothing other than this License grants you permission to propagate or
modify any covered work.  These actions infringe copyright if you do
not accept this License.  Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.

  10. Automatic Licensing of Downstream Recipients.

  Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License.  You are not responsible
for enforcing compliance by third parties with this License.

  An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations.  If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.

  You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License.  For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.

  11. Patents.

  A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based.  The
work thus licensed is called the contributor's "contributor version".

  A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version.  For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.

  Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.

  In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement).  To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.

  If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients.  "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.

  If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.

  A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License.  You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.

  Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.

  12. No Surrender of Others' Freedom.

  If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all.  For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.

  13. Use with the GNU Affero General Public License.

  Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work.  The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.

  14. Revised Versions of this License.

  The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

  Each version is given a distinguishing version number.  If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation.  If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.

  If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.

  Later license versions may give you additional or different
permissions.  However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.

  15. Disclaimer of Warranty.

  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  16. Limitation of Liability.

  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.

  17. Interpretation of Sections 15 and 16.

  If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.

                     END OF TERMS AND CONDITIONS

            How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

  If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

    <program>  Copyright (C) <year>  <name of author>
    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".

  You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.

  The GNU General Public License does not permit incorporating your program
into proprietary programs.  If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.  But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
{
    "name": "grad-islandconfig",
    "description": "Gruppe Adler configs for some maps",
    "version": "0.3.3",
    "author": "McDiod"
}
# GRAD IslandConfig
![npm](https://img.shields.io/npm/v/grad-islandconfig)

Mission-specific configs for a collection of islands. There won't be any GitHub releases, so whatever is in master branch (or released as an npm package) is what you need.

## Installation

### Variant 1: npm

Highly recommended: `>= npm-3.x`, which comes with NodeJS 6.x. Don't use older versions!

`npm install grad-islandconfig --save`

For updating, change the desired version number in your mission's `package.json`, and do `npm install`

### Variant 2: manually

Alternatively, you can install `grad-islandconfig` manually.

* download  `grad-islandconfig` as a zipfile from github, and put the contents into a `node_modules` directory, so that you get:

```
myMission.altis/node_modules/grad-islandconfig
```

## Implementation

Include in your `description.ext` like so:

```
#include node_modules\grad-islandconfig\cfgGradIslands.hpp
```

To get a value you can use:

```
_valueName = "isWoodland";
_defaultValue = false;
_return = [missionConfigFile >> "cfgGradIslands",_valueName,_defaultValue] call BIS_fnc_returnConfigEntry;

// true and false are returned as strings --> convert to bool here
if (_return isEqualType "" && {toLower _return in ["true","false"]}) then {_return = _return == "true"};
```

## Building

The included file `islands.txt` aims to list all maps currently in our modset that are relevant to our multi-map missions. To use this list in your build script you can do:

```
islands=($(curl -k https://raw.githubusercontent.com/gruppe-adler/grad-islandconfig/master/islands.txt))
islands=("${islands[@]%%:*}")
```
# Auto detect text files and perform LF normalization
* text=auto

# Custom for Visual Studio
*.cs     diff=csharp

# Standard to msysgit
*.doc	 diff=astextplain
*.DOC	 diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot  diff=astextplain
*.DOT  diff=astextplain
*.pdf  diff=astextplain
*.PDF	 diff=astextplain
*.rtf	 diff=astextplain
*.RTF	 diff=astextplain
#ifndef MODULES_DIRECTORY
    #define MODULES_DIRECTORY modules
#endif

class GRAD_lbm_tracking {
    class tracking {
        file = MODULES_DIRECTORY\grad-listBuymenu\functions\tracking;
        class clearTrackingData {};
        class createBackground {};
        class createMain {};
        class createSidebar {};
        class deleteEntry {};
        class enableTracking {};
        class fillEditBox {};
        class getMax {};
        class getTrackingTag {};
        class initTracking {postInit = 1;};
        class onTrackingTagKeydown {};
        class openDialog {};
        class receiveData {};
        class requestData {};
        class trackHashCleanup {};
        class trackHashUpdate {};
        class trackPurchase {};
        class updateBuyablesDropdown {};
        class updateCategoryDropdown {};
        class updateMain {};
    };
};

class GRAD_lbm {
    class common {
        file = MODULES_DIRECTORY\grad-listBuymenu\functions\common;
        class addFunds {};
        class addInteraction {};
        class addStock {};
        class checkCargoSpace {};
        class getCurrentFunds {};
        class getDescription {};
        class getDisplayName {};
        class getFunds {};
        class getItemPermissionLevel {};
        class getModuleRoot {};
        class getPermissionLevel {};
        class getPicturePath {};
        class getStock {};
        class isVehicle {};
        class loadBuymenu {};
        class rotateModel {};
        class setFunds {};
        class setPermissionLevel {};
        class setStock {};
    };

    class buy {
        file = MODULES_DIRECTORY\grad-listBuymenu\functions\buy;
        class buyClient {};
        class buyItem {};
        class buyServer {};
        class buyUnit {};
        class buyVehicle {};
        class buyWeapon {};
        class buyWearable {};
        class callCodeClient {};
        class callCodeServer {};
        class reimburse {};
        class vehicleMarker {};
    };

    class init {
        file = MODULES_DIRECTORY\grad-listBuymenu\functions\init;
        class addPlayerEHs {};
        class initClient {postInit = 1;};
        class initStocks {postInit = 1;};
        class initVehicles {postInit = 1;};
    };

    class update {
        file = MODULES_DIRECTORY\grad-listBuymenu\functions\update;
        class updateBuyButton {};
        class updateCategories {};
        class updateFunds {};
        class updateItemData {};
        class updateList {};
        class updatePicture {};
    };
};
GGATCGVA   SGGATCXAM   GGATGALF      GGATSFFO@                                                            @ @                                                                                                                                                                                                                                                                                                                                                                                                                                                               [m۶a    m    5            [m۰                                                                                                    " I$I    e3h$                                                        I    ! I$I$                                                                            6j7f$                        w    UIаm    oa    fI$hb+                        	D                                                                [m[c                                 UM۰m    fmέ    mVe    w I$I$    D                       =ہ                                                    vn                                            "m     Dȏȏ    UA                                                                                o                                  Uۗ    " 	$I$    o0m     I$b                                  ?                                                    o                                               ml     I$I$    D                        ?                                                    o                        w?    "m     IM     Dȏȏ    ݰ۷    Dwo                        ?                                                    n#g                                "۱    mĶm    Dodm    w H$ID                            س                                                                Jb&vc                        U    "̶    "ݶmc    D                        IЩ]                                                                            " I$I$    M&6c[                                  Dȏ                        I-    " H$I$                                                                                                    [Vnm    j    `n    a    ?l    [۶m                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  	 I$I    m    7?    7?    ]??     I$I$                            c                  o+        }?                            7Ώ    ?     N'    "xo+             7                            7              f_eW    "w8    /p      7_                            o6o;             	{    l    f    ç                            	 I$I$    o6j    7oh    z    Ӆm    	 H$I$                                                                                                                     I$I     I$9G      I$     I$I$     I	    K    ;̏     L'`%     ɐɑ    )W    pC1B&     X&x$     I$I$            ,Y¶m     H$I$      @  6϶m/    Tжٸ    mi6b    9Hϙm        Oa          GGATCGVA   GGATCXAM   GGATGALF      GGATSFFO@      @  P  T  U  U                                               @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               1    mX    0m0    @    @h    i        )    @     ߶     ߶m!    @ I$I$                                                                                                                                                                                                                                                    @6                                                                                                       @    ۑ                                                                                                                                                                                                                                        @                                                                                                                             Pۧ                                                                                                                                                                                                                            @                          H    0m    @ m               5       0c    `                                       P߶m۰                                                                                                                                                                                                                @g        0!l۶m                                                                            Fnm    `                                   ?                                                                                                                                                                                                                 l۶m                                                                                                                @vnc{                                  0_                                                                                                                                                                                                                                                                                                                                          I$I$                            ?                                                                                                                                                                                                                                                                                                                                                                            ?                                                                                                                                                                                                                                                                                                                                         `m۶a;                            @_                                                                                                                                                                                                                                                                                                                                        `g;6b7                                  P?                                                                                                                                                                                                                                                                                                                            P I$I     ؏                                   }ر-                                                                                                                                                                                                                                                                                                                 I$I    ϶nȟ                                   ?                                                                                                                                                                                                                                                                                                                m۶m#      
                                  p    0-۶m                                                                                                                                                                                                                                                                                                    m
&    @F$I$                                  `p                                                                                                                                                                                                                                                                                                 @϶m۶m#     e                                           @I\    ۶m                                                                                                                                                                                                                                                                                                     @@                                  P    ρm     H$I$                                                                                                                                                                                                                                                                                                                 @@                        ?    <۶m                                                                                                                                                                                                                                                                                                                                         @@                                                                                                                                                                                                                                                                                                                                                                                 @@                                                                                                                                                                                                                                                                                                                                                                                 @@                                                                                                                                                                                                                                                                                                                                                                                `6c36d     I      I     @?I`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ȏȏ                                   H$H$                                                                                                                                                                                                                                                                                                                                         ȏȏ                                   H$H$                                                                                                                                                                                                                                                                                                                                         ȏȏ                                   H$H$                                                                                                                                                                                                                                                                                                                                        `Vb%Vb        $        $        $    ۱                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            @ @                                                                                                                                                                                                                                                   Dm6b    Tm    X    X         }       ۙ                                                                                                                 @@              HC    !d    oc                      (߰د                                                                                                    (6c6l    T׏۶m                                        Poc               _                                                                                                                                                                 I$I$        _                                                                                                                                                                 ϶mg;                                                                                                                                                                  I$I    n               ˏ}                                                                                                                                        Ƕm۶a+    ,Ӷk              t|    \ H$I$                                                                                                                            D߶mc;                  0    L H$I$                                                                                                                                         II              t|ڧ}                                                                                                                                                                 II                                                                                                                                                                                 8߶cm     @$       0-ضm                                                                                                                                                                                                                                                                                                                                                                 @@@               `                                                                                                                                                                @6n6n#        $    `		                                                                                                                                                                                                                                                                                                                      m6    mX    Um)    ;ڶm۶                                                    a    B	m    !?6b[                                                                                Nm۶a;    ۿ                                                                > I$I    ڶk֟                                                                        ρ     H$I$                                                                FFb    ߱۰m                                                                                ȏ     0                                                                                o$m                                                                *6{	    Ra                             I$I    {vbֱ                            Pn6o#    #]۵                            Nm6b    ۰m                  @  qbm    kȰؾ     IdI    %۰        fmǞl          #define MAIN_IDC                            5001
#define MAIN_CENTERTEXT_IDC                 5002
#define DROPDOWN_BUYABLES_IDC               5003
#define DROPDOWN_CATEGORY_IDC               5004
#define MAIN_BG_IDC                         5005
#define BAR_STARTING_IDC                    5100
#define BAR_TEXT_STARTING_IDC               5400
#define MAIN_LINES_IDC                      5700
#define MAIN_NUMBERS_IDC                    6000


#define BGCOLOR                             [0.8,0.8,0.8,1]
#define DROPDOWN_BGCOLOR                    [1,1,1,1]
#define SIDEBAR_TEXTCOLOR                   [0,0,0,1]
#define TOPBAR_DIVIDER_COLOR                [1,1,1,1]
#define MAIN_BGCOLOR                        [1,1,1,1]
#define TAGTEXTCOLOR_SUCCESS                [0,0.8,0,1]
#define TAGTEXTCOLOR_FAILURE                [0.8,0,0,1]
#define LINECOLOR                           [0,0,0,1]
#define NUMBERCOLOR                         [0,0,0,1]
#define BARCOLORS_RGBA                      [[46,107,46,255],[46,46,107,255],[107,46,86,255],[107,46,46,255],[46,107,86,255],[87,107,46,255],[46,86,107,255],[107,46,46,255],[107,87,46,255],[86,46,107,255],[107,107,46,255],[46,107,107,255],[46,107,66,255],[107,46,107,255],[66,107,46,255],[107,66,46,255],[46,66,107,255],[107,46,66,255],[66,46,107,255]]
//sorted by hue:
//#define BARCOLORS_RGBA                    [[107,46,46,255],[107,66,46,255],[107,87,46,255],[107,107,46,255],[87,107,46,255],[66,107,46,255],[46,107,46,255],[46,107,66,255],[46,107,86,255],[46,107,107,255],[46,86,107,255],[46,66,107,255],[46,46,107,255],[66,46,107,255],[86,46,107,255],[107,46,107,255],[107,46,86,255],[107,46,66,255],[107,46,46,255]]


#define TOPBAR_H                            (0.025 * Y_SCALE)
#define CLOSEBUTTON_H                       (0.020 * Y_SCALE)
#define CLOSEBUTTON_W                       (0.020 * X_SCALE)
#define TOPBAR_DIVIDER_H                    (0.002 * Y_SCALE)

#define SIDEBAR_W                           (0.200 * X_SCALE)
#define SIDEBAR_DIVIDER_W                   (0.002 * X_SCALE)

#define DROPDOWN_START_Y                    (2 * TOPBAR_H)
#define DROPDOWN_W                          (0.800 * SIDEBAR_W)
#define DROPDOWN_H                          (0.025 * Y_SCALE)
#define DROPDOWN_DISTANCE                   (0.080 * Y_SCALE)
#define DROPDOWN_TEXTDISTANCE_Y             (0.025 * Y_SCALE)

#define MAIN_W                              ((safezoneW - SIDEBAR_W) * 0.95)
#define MAIN_H                              ((safezoneH - TOPBAR_H) * 0.85)
#define MAIN_BG_W                           (MAIN_W * 0.97)
#define MAIN_BG_H                           (MAIN_H * 1.05)
#define MAIN_X                              (safezoneX + SIDEBAR_W) + ((safezoneX + safezoneW - (safezoneX + SIDEBAR_W)) - MAIN_W)/2
#define MAIN_Y                              (safezoneY + TOPBAR_H + ((safezoneH - TOPBAR_H) - MAIN_BG_H)/2)
#define MAIN_CENTERTEXT_W                   (0.6 * X_SCALE)
#define MAIN_CENTERTEXT_H                   (0.3 * Y_SCALE)
#define MAIN_BG_X                           (MAIN_X + (MAIN_W - MAIN_BG_W)/2)
#define MAIN_BG_Y                           (MAIN_Y + (MAIN_H - MAIN_BG_H)/2)

#define BAR_X                               ((MAIN_W*0.07)/2)
#define BAR_STARTING_Y                      ((MAIN_H*0.0)/2)
#define BAR_DISTANCE_Y                      (0.010 * Y_SCALE)
#define BAR_H                               (0.040 * Y_SCALE)
#define BAR_MAX_W                           (MAIN_W*0.73)
#define BAR_TEXT_X                          ((BAR_X + BAR_MAX_W) * 1.05)
#define BAR_TEXT_W                          ((MAIN_W - BAR_TEXT_X)*0.9)

#define LINE_W                              (0.002 * X_SCALE)
#define LINE_H                              (0.013 * Y_SCALE)
#define LINE_Y                              (MAIN_BG_Y + MAIN_BG_H - (LINE_H/3))

#define NUMBER_W                            (0.020 * X_SCALE)
#define NUMBER_H                            (0.015 * Y_SCALE)
#define NUMBER_Y                            (LINE_Y + LINE_H * 1.3)
// Control types
#define CT_STATIC           0
#define CT_BUTTON           1
#define CT_EDIT             2
#define CT_SLIDER           3
#define CT_COMBO            4
#define CT_LISTBOX          5
#define CT_TOOLBOX          6
#define CT_CHECKBOXES       7
#define CT_PROGRESS         8
#define CT_HTML             9
#define CT_STATIC_SKEW      10
#define CT_ACTIVETEXT       11
#define CT_TREE             12
#define CT_STRUCTURED_TEXT  13
#define CT_CONTEXT_MENU     14
#define CT_CONTROLS_GROUP   15
#define CT_SHORTCUTBUTTON   16
#define CT_XKEYDESC         40
#define CT_XBUTTON          41
#define CT_XLISTBOX         42
#define CT_XSLIDER          43
#define CT_XCOMBO           44
#define CT_ANIMATED_TEXTURE 45
#define CT_OBJECT           80
#define CT_OBJECT_ZOOM      81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83
#define CT_LINEBREAK        98
#define CT_USER             99
#define CT_MAP              100
#define CT_MAP_MAIN         101
#define CT_LISTNBOX         102

// Static styles
#define ST_POS            0x0F
#define ST_HPOS           0x03
#define ST_VPOS           0x0C
#define ST_LEFT           0x00
#define ST_RIGHT          0x01
#define ST_CENTER         0x02
#define ST_DOWN           0x04
#define ST_UP             0x08
#define ST_VCENTER        0x0C

#define ST_TYPE           0xF0
#define ST_SINGLE         0x00
#define ST_MULTI          0x10
#define ST_TITLE_BAR      0x20
#define ST_PICTURE        0x30
#define ST_FRAME          0x40
#define ST_BACKGROUND     0x50
#define ST_GROUP_BOX      0x60
#define ST_GROUP_BOX2     0x70
#define ST_HUD_BACKGROUND 0x80
#define ST_TILE_PICTURE   0x90
#define ST_WITH_RECT      0xA0
#define ST_LINE           0xB0

#define ST_SHADOW         0x100
#define ST_NO_RECT        0x200
#define ST_KEEP_ASPECT_RATIO  0x800

#define ST_TITLE          ST_TITLE_BAR + ST_CENTER

// Slider styles
#define SL_DIR            0x400
#define SL_VERT           0
#define SL_HORZ           0x400

#define SL_TEXTURES       0x10

// progress bar
#define ST_VERTICAL       0x01
#define ST_HORIZONTAL     0

// Listbox styles
#define LB_TEXTURES       0x10
#define LB_MULTI          0x20

// Tree styles
#define TR_SHOWROOT       1
#define TR_AUTOCOLLAPSE   2

// MessageBox styles
#define MB_BUTTON_OK      1
#define MB_BUTTON_CANCEL  2
#define MB_BUTTON_USER    4
class grad_lbm_RscBackground {
	idc = -1;
	type = CT_STATIC;
	style = ST_HUD_BACKGROUND;
	text = "";
	colorText[] = {0, 0, 0, 0};
	font = "RobotoCondensed";
	sizeEx = 0.04 * TEXT_SCALE;
	shadow = 0;
	colorBackground[] = {0, 0, 0, 0.6};
};

class grad_lbm_RscText {

	idc = -1;
	type = CT_STATIC;
	style = ST_LEFT;
	colorBackground[] = { 1 , 1 , 1 , 0 };
	colorText[] = { 1 , 1 , 1 , 1 };
	font = "RobotoCondensed";
	sizeEx = 0.025;
	h = 0.25;
	text = "";
};

class grad_lbm_RscStructuredTextLeft {
	idc = -1;
	access = 0;
	type = CT_STRUCTURED_TEXT;
	style = 0;
	colorText[] = { 1 , 1 , 1 , 1 };
	colorBackground[] = {0,0,0,0.4};
	class Attributes {
		font = "RobotoCondensed";
		//color = "#e0d8a6";
		align = "left";
		shadow = 0;
	};
	text = "";
	size = 0.03921;
	shadow = 2;
};

class grad_lbm_RscPicture {
	shadow = 0;
	type = CT_STATIC;
	style = 48 + 2048;
	sizeEx = 0.023;
	font = "RobotoCondensed";
	text = "";
	colorBackground[] = {};
	colorText[] = {};
	x = 0;
	y = 0;
	w = 0.2;
	h = 0.15;
	tooltipColorText[] = {1,1,1,1};
	tooltipColorBox[] = {1,1,1,1};
	tooltipColorShade[] = {0,0,0,0.65};
};

class grad_lbm_RscButton {
	access = 0;
	type = CT_BUTTON;
	style = ST_RIGHT;
	text = "";
	colorText[] = {1,1,1,1};
	colorDisabled[] = {1,1,1,0.1};
	colorBackground[] = {0,0,0,0.8};
	colorFocused[] = {1,1,1,0.5};
	colorBackgroundActive[] = {1,1,1,0.8}; // hover
	colorBackgroundDisabled[] = {0.3,0.3,0.3,1};
	colorBackgroundFocused[] = {0,0,0,0.5};
	colorShadow[] = {0,0,0,0};
	colorBorder[] = {0,0,0,1};
	soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter", 0.09, 1};
	soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush", 0.09, 1};
	soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick", 0.09, 1};
	soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape", 0.09, 1};
	animTextureDefault = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";
	animTextureNormal = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";
	animTextureDisabled = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";
	animTextureOver = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\over_ca.paa";
	animTextureFocused = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\focus_ca.paa";
	animTexturePressed = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\down_ca.paa";
	shadow = 0;
	font = "RobotoCondensed";
	sizeEx = 0.04;
	offsetX = 0.003;
	offsetY = 0.003;
	offsetPressedX = 0.002;
	offsetPressedY = 0.002;
	borderSize = 0;
};


class grad_lbm_RscScrollbar {
	color[] = {1, 1, 1, 1};
	colorActive[] = {"(profileNamespace getVariable ['GUI_BCG_RGB_R', 0.69])", "(profileNamespace getVariable ['GUI_BCG_RGB_G', 0.75])", "(profileNamespace getVariable ['GUI_BCG_RGB_B', 0.5])", 1};
	colorDisabled[] = {};
	arrowEmpty = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_ca.paa";
	arrowFull = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_active_ca.paa";
	thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
	border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
};

class grad_lbm_RscCombo {
	idc = -1;
	type = CT_COMBO;
	style = ST_CENTER;
	sizeEx = 0.042;
	font = "RobotoCondensed";
	rowHeight = 0.04;
	wholeHeight = 0.48;
	maxHistoryDelay = 0;
	autoScrollDelay = 5;
	autoScrollSpeed = -1;
	autoScrollRewind = 0;
	color[] = {0, 0, 0, 0};
	colorText[] = {1, 1, 1, 1};
	colorSelect[] = {0, 0, 0, 1};
	colorDisabled[] = {};
	colorBackground[] = {0, 0, 0, 1};
	colorSelectBackground[] = {"(profileNamespace getVariable ['GUI_BCG_RGB_R', 0.69])", "(profileNamespace getVariable ['GUI_BCG_RGB_G', 0.75])", "(profileNamespace getVariable ['GUI_BCG_RGB_B', 0.5])", 1};
	colorSelectBackground2[] = {"(profileNamespace getVariable ['GUI_BCG_RGB_R', 0.69])", "(profileNamespace getVariable ['GUI_BCG_RGB_G', 0.75])", "(profileNamespace getVariable ['GUI_BCG_RGB_B', 0.5])", 1};
	colorScrollbar[] = {"(profileNamespace getVariable ['GUI_BCG_RGB_R', 0.69])", "(profileNamespace getVariable ['GUI_BCG_RGB_G', 0.75])", "(profileNamespace getVariable ['GUI_BCG_RGB_B', 0.5])", 1};
	soundSelect[] = {"\dss_sfx\Dialogs\SubSel.ogg", 0, 1};
	soundExpand[] = {"\dss_sfx\Dialogs\Hover.ogg", 0, 1};
	soundCollapse[] = {"\dss_sfx\Dialogs\Hover.ogg", 0, 1};
	arrowEmpty = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_ca.paa";
	arrowFull = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_active_ca.paa";
	class ComboScrollbar : grad_lbm_RscScrollbar {
		color[] = {1, 1, 1, 1};
		colorActive[] = {0, 0, 0, 1};
		colorDisabled[] = {};
		autoScrollEnabled = 1;
		arrowEmpty = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_ca.paa";
		arrowFull = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_active_ca.paa";
		thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
		border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
	};
};

class grad_lbm_RscListBox
{
	idc = -1;
	type = CT_LISTBOX;
	style = ST_MULTI;
	w = 0.4;
	h = 0.4;
	rowHeight = 0;
	colorText[] = {1, 1, 1, 1};
	colorDisabled[] = {1, 1, 1, 0.25};
	colorScrollbar[] = {1, 0, 0, 0};
	colorSelect[] = {0, 0, 0, 1};
	colorSelect2[] = {0, 0, 0, 1};
	colorSelectBackground[] = {0.95, 0.95, 0.95, 1};
	colorSelectBackground2[] = {1, 1, 1, 0.5};
	colorBackground[] = {0, 0, 0, 0.4};
	soundSelect[] = {"\A3\ui_f\data\sound\RscListbox\soundSelect", 0.09, 1};
	autoScrollSpeed = -1;
	autoScrollDelay = 5;
	autoScrollRewind = 0;
	arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
	arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
	colorPicture[] = {1, 1, 1, 1};
	colorPictureSelected[] = {1, 1, 1, 1};
	colorPictudeDisabled[] = {1, 1, 1, 0.25};
	tooltipColorText[] = {1, 1, 1, 1};
	tooltipColorBox[] = {1, 1, 1, 1};
	tooltipColorShade[] = {0, 0, 0, 0.65};
	font = "RobotoCondensed";
	sizeEx = 0.035;
	shadow = 0;
	colorShadow[] = {0, 0, 0, 0.5};
	period = 0.8;
	maxHistoryDelay = 1;
	colorPictureDisabled[] = {1, 1, 1, 1};

	class ListScrollBar
	{
		color[] = {1, 1, 1, 1};
		colorActive[] = {1, 1, 1, 1};
		colorDisabled[] = {1, 1, 1, 0.3};
		thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
		arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
		arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
		border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
	};
};

class grad_lbm_RscListNBox
{
	access = 0;
	idc = -1;
	type = CT_LISTNBOX;
	style = ST_LEFT + LB_TEXTURES;
	default = 0;
	blinkingPeriod = 0;

	colorSelectBackground[] = {0.95, 0.95, 0.95, 1};
	colorSelectBackground2[] = {1, 1, 1, 0.5};

	sizeEx = 0.035 * TEXT_SCALE;
	font = "RobotoCondensed";
	shadow = 0;
	colorText[] = {1,1,1,1};
	colorDisabled[] = {1, 1, 1, 0.25};
	colorSelect[] = {0, 0, 0, 1};
	colorSelect2[] = {0, 0, 0, 1};
	colorShadow[] = {0,0,0,0.5};

	tooltip = "";
	tooltipColorText[] = {1, 1, 1, 1};
	tooltipColorBox[] = {1, 1, 1, 1};
	tooltipColorShade[] = {0, 0, 0, 0.65};

	columns[] = {0.021,0.25};

	drawSideArrows = 0;
	idcLeft = 1000;
	idcRight = 1001;

	period = 0.8;

	rowHeight = 0;
	maxHistoryDelay = 1;

	soundSelect[] = {"\A3\ui_f\data\sound\RscListbox\soundSelect",0.09,1};

	class ListScrollBar
	{
		width = 0;
		height = 0;
		scrollSpeed = 0.01;

		arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
		arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
		border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
		thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";

		color[] = {1,1,1,1};
	};
};
//CONTROLS BACKGROUND ==========================================================
#define grad_lbm_DIALOG         2000
#define grad_lbm_TITLE          2001
#define grad_lbm_MYFUNDS        2002
#define grad_lbm_PICTURE        2003
#define grad_lbm_DESCRIPTION    2004
#define grad_lbm_3DMODEL        2005

//CONTROLS =====================================================================
#define grad_lbm_CATEGORY       3001
#define grad_lbm_ITEMLIST       3002
#define grad_lbm_BUYBUTTON      3003

//DIMENSIONS AND POSITIONS =====================================================
#define grad_lbm_textSize       (0.04 * TEXT_SCALE)

#define grad_lbm_Item_H         (0.025 * Y_SCALE)
#define grad_lbm_Item_W         (0.025 * X_SCALE)
#define grad_lbm_ItemSpace_Y    (0.0025 * SZ_SCALE)

#define grad_lbm_Padding_Y      (0.5 * grad_lbm_Item_H)
#define grad_lbm_Padding_X      (0.5 * grad_lbm_Item_W)

#define grad_lbm_Column_W       (0.35 * X_SCALE)
#define grad_lbm_Column_H       (0.4 * Y_SCALE)

#define grad_lbm_Column1_X      (grad_lbm_BG_X + grad_lbm_Padding_X)
#define grad_lbm_Column2_X      (grad_lbm_Column1_X + grad_lbm_Column_W + grad_lbm_Padding_X)

#define grad_lbm_Itemlist_H     (grad_lbm_Column_H - grad_lbm_Item_H - grad_lbm_ItemSpace_Y)
#define grad_lbm_Picture_H      (0.4* (grad_lbm_Column_H-grad_lbm_ItemSpace_Y))
#define grad_lbm_Description_H  (0.6* (grad_lbm_Column_H-grad_lbm_ItemSpace_Y))

#define grad_lbm_BG_W           (3*grad_lbm_Padding_X + 2*grad_lbm_Column_W)
#define grad_lbm_BG_H           (2*grad_lbm_Padding_Y + grad_lbm_Column_H)
#define grad_lbm_BG_X           CENTER(1, grad_lbm_BG_W)
#define grad_lbm_BG_Y           CENTER(1, grad_lbm_BG_H)

#define grad_lbm_Button_W       (0.2 * X_SCALE)

#define grad_lbm_CloseButton_W  (grad_lbm_Item_H - (2 * grad_lbm_ItemSpace_Y))
#define grad_lbm_TopBar_Y       (grad_lbm_BG_Y - grad_lbm_Item_H * 1.1)
class grad_lbm {
    idd = grad_lbm_DIALOG;
    movingEnable = true;
    enableSimulation = true;

    class ControlsBackground {
        class MainBackground: grad_lbm_RscBackground {
            x = grad_lbm_BG_X;
            y = grad_lbm_BG_Y;
            w = grad_lbm_BG_W;
            h = grad_lbm_BG_H;
        };

        class TopBar: grad_lbm_RscBackground {
            moving = true;

            x = grad_lbm_BG_X;
            y = grad_lbm_TopBar_Y;
            w = grad_lbm_BG_W;
            h = grad_lbm_Item_H;

            colorBackground[] = {
                "(profilenamespace getvariable ['GUI_BCG_RGB_R', 0])",
                "(profilenamespace getvariable ['GUI_BCG_RGB_G',0])",
                "(profilenamespace getvariable ['GUI_BCG_RGB_B',0])",
                1
            };
        };

        class DialogTitleText: grad_lbm_RscText {
            idc = grad_lbm_TITLE;
            text = "NAME OF VENDOR";
            sizeEx = 0.04 * TEXT_SCALE;

            x = grad_lbm_BG_X;
            y = grad_lbm_TopBar_Y;
            w = grad_lbm_BG_W;
            h = grad_lbm_Item_H;
        };

        class MyFunds: grad_lbm_RscText {
            idc = grad_lbm_MYFUNDS;
            text = "MY FUNDS";
            sizeEx = 0.04 * TEXT_SCALE;
            style = ST_RIGHT;

            x = grad_lbm_BG_X;
            y = grad_lbm_TopBar_Y;
            w = grad_lbm_BG_W;
            h = grad_lbm_Item_H;
        };

        class ItemListBG: grad_lbm_RscBackground {
            idc = -1;
            colorBackground[] = {0,0,0,0.4};

            x = grad_lbm_Column1_X;
            y = grad_lbm_BG_Y + grad_lbm_Padding_Y + grad_lbm_Item_H + grad_lbm_ItemSpace_Y;
            w = grad_lbm_Column_W;
            h = grad_lbm_Itemlist_H;
        };

        class PreviewPictureBG: grad_lbm_RscBackground {
            idc = -1;
            colorBackground[] = {0,0,0,0.4};

            x = grad_lbm_Column2_X;
            y = grad_lbm_BG_Y + grad_lbm_Padding_Y;
            w = grad_lbm_Column_W;
            h = grad_lbm_Picture_H;
        };

        class PreviewPicture: grad_lbm_RscPicture {
            idc = grad_lbm_PICTURE;
            colorBackground[] = {0,0,0,0.4};

            x = grad_lbm_Column2_X;
            y = grad_lbm_BG_Y + grad_lbm_Padding_Y;
            w = grad_lbm_Column_W;
            h = grad_lbm_Picture_H;
        };

        class Description: grad_lbm_RscStructuredTextLeft {
            idc = grad_lbm_DESCRIPTION;
            text = "";

            x = grad_lbm_Column2_X;
            y = grad_lbm_BG_Y + grad_lbm_Padding_Y + grad_lbm_Picture_H + grad_lbm_ItemSpace_Y;
            w = grad_lbm_Column_W;
            h = grad_lbm_Description_H;
        };
    };

    class Controls {
        class Category: grad_lbm_RscCombo {
            idc = grad_lbm_CATEGORY;

            x = grad_lbm_Column1_X;
            y = grad_lbm_BG_Y + grad_lbm_Padding_Y;
            w = grad_lbm_Column_W;
            h = grad_lbm_Item_H;

            onLBSelChanged = "_this call grad_lbm_fnc_updateList";
        };

        class ItemList: grad_lbm_RscListNBox {
            idc = grad_lbm_ITEMLIST;

            x = grad_lbm_Column1_X;
            y = grad_lbm_BG_Y + grad_lbm_Padding_Y + grad_lbm_Item_H + grad_lbm_ItemSpace_Y;
            w = grad_lbm_Column_W;
            h = grad_lbm_Itemlist_H;

            onLBSelChanged = "_this call grad_lbm_fnc_updateItemData; _this call grad_lbm_fnc_updatePicture";
        };

        class BuyButton: grad_lbm_RscButton {
            idc = grad_lbm_BUYBUTTON;
            text = "BUY";
            action = "[] call grad_lbm_fnc_buyClient";

            x = grad_lbm_BG_X + grad_lbm_BG_W - grad_lbm_Button_W;
            y = grad_lbm_BG_Y + grad_lbm_BG_H + grad_lbm_ItemSpace_Y;
            w = grad_lbm_Button_W;
            h = grad_lbm_Item_H;
        };
    };

    class Objects {
        class previewModel {
            idc = grad_lbm_3DMODEL;
            type = 82;
            model = "\A3\Structures_F\Items\Food\Can_V3_F.p3d";
            scale = 0.05;

            direction[] = {-0.40, 0.35, 0.65};
			up[] = {0, 0.65, -0.35};

            x = grad_lbm_Column2_X + 0.5*grad_lbm_Column_W;
            y = grad_lbm_BG_Y + grad_lbm_Padding_Y + 0.5*grad_lbm_Picture_H;
            z = 0.2;

            xBack = grad_lbm_Column2_X + 0.55*grad_lbm_Column_W;
            yBack = grad_lbm_BG_Y + grad_lbm_Padding_Y + 0.5*grad_lbm_Picture_H;
            zBack = 1.2;

            inBack = 1;
            enableZoom = 0;
            zoomDuration = 0.001;
            onLoad = "ctrlShow [_this, false]; _this call grad_lbm_fnc_rotateModel;";
        };
    };
};
// ******************************************************************************************
// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *
// ******************************************************************************************
//	@file Name: ui_toolkit.hpp
//	@file Author: AgentRev

// Arma UI Mini Toolkit v1.0 by AgentRev

// Uncomment the define below if you want your UIs to scale according to the UI size selected by the user
//#define FOLLOW_UI_SIZE

// Uncomment the define below if you want your UIs to scale according to the resolution selected by the user
#define FOLLOW_RESOLUTION

// This is the percentage from the dev resolution that the UI must start compensating in order to stay at a reasonable size (ex: UI cannot get smaller than 75% from the dev resolution)
#define FOLLOW_RES_LOWER_CAP 0.75

// Effects:
// FOLLOW_UI_SIZE only = UI will be scaled according to the user's UI size, relative from UI_SIZE_DEV below, regardless of the resolution (not recommended)
// FOLLOW_RESOLUTION only = UI will be scaled according to the resolution, relative from RES_Y_DEV below, regardless of the user's UI size
// both commented = UI will be the same size in pixels across all UI sizes and resolutions
// both uncommented = UI will be scaled according to the resolution, then scaled according to the user's UI size

// ----- Interface size & resolution -----
#define UI_VSMALL 0.47
#define UI_SMALL 0.55
#define UI_NORMAL 0.7
#define UI_LARGE 0.85
#define UI_VLARGE 1.0

#define UI_SIZE_DEV UI_SMALL // If you want your text to stay the same size across all UI sizes, change this to your UI size
#define UI_SIZE (getResolution select 5) // Interface size selected in game options

#define RES_Y_DEV 1080 // If you want your UIs to stay the same size across all resolutions, change this to your game's resolution height
#define RES_Y (getResolution select 1) // Resolution height in pixels

// ----- Safezone & scales -----
#define SZ_LEFT safezoneX      // X left
#define SZ_RIGHT (1 - SZ_LEFT) // X right
#define SZ_TOP safezoneY       // Y top
#define SZ_BOTTOM (1 - SZ_TOP) // Y bottom

// Determine if UI & text scales are relative to UI size
#ifdef FOLLOW_UI_SIZE
	#define UI_SCALE (UI_SIZE / UI_SIZE_DEV) // Constant UI scale across all UI sizes
	#define TEXT_SCALE_UI 1 // Regular text scale
#else
	#define UI_SCALE 1 // Regular UI scale
	#define TEXT_SCALE_UI (UI_SIZE_DEV / UI_SIZE) // Compensate text scale against UI size
#endif

// Determine if UI scale is relative to resolution
#ifdef FOLLOW_RESOLUTION
	#define RES_SCALE (((RES_Y_DEV * FOLLOW_RES_LOWER_CAP) / RES_Y) max 1) // Regular UI scale, with lower cap
#else
	#define RES_SCALE (RES_Y_DEV / RES_Y) // Constant UI scale across all resolutions below dev resolution
#endif

#define TEXT_SCALE (TEXT_SCALE_UI * RES_SCALE) // Compensate text scale against resolution

// Set scales
#define SZ_SCALE_ABS (safezoneW min safezoneH)
#define SZ_SCALE (SZ_SCALE_ABS * RES_SCALE * UI_SCALE) // the smallest safezone is used for size ref (because W < H if ratio < 4/3)
#define X_SCALE (SZ_SCALE * 0.75) // cancels 4/3 ratio applied on X and W values by engine, so that X and Y have a uniform scale
#define Y_SCALE (SZ_SCALE * 1.0)

// Offsets
#define X_OFFSET 0
#define Y_OFFSET 0

// Positions relative to top left, plus above offsets
#define X_POS(VALUE) (SZ_LEFT + ((VALUE + X_OFFSET) * X_SCALE)) // stretches X value to full screen width
#define Y_POS(VALUE) (SZ_TOP + ((VALUE + Y_OFFSET) * Y_SCALE)) // stretches Y value to full screen height

// Function to find child offset relative to parent pos for centering inside
#define CENTER(PARENT_SIZE, CHILD_SIZE) ((PARENT_SIZE / 2) - (CHILD_SIZE / 2))
/*  Sends buy request to server
*
*   executed on click of buy button in buy menu
*/

#include "..\..\dialog\defines.hpp"
disableSerialization;

_dialog = findDisplay grad_lbm_DIALOG;
_listCtrl = _dialog displayCtrl grad_lbm_ITEMLIST;
_selIndex = lnbCurSelRow _listCtrl;
(call compile (_listCtrl lnbData [_selIndex,0])) params ["_baseConfigName", "_categoryConfigName", "_itemConfigName", "_displayName", "_price", "_description", "_code", "_picturePath"];

if (([] call grad_lbm_fnc_getCurrentFunds) < _price) exitWith {systemChat "Not enough funds."};
if (missionNamespace getVariable ["grad_lbm_currentAccount",player] isEqualType objNull) then {
    [missionNamespace getVariable ["grad_lbm_currentAccount",player], -_price] call grad_lbm_fnc_addFunds;
    [] call grad_lbm_fnc_updateFunds;
};

//buy
[_baseConfigName, _categoryConfigName, _itemConfigName, player, _price, (missionNamespace getVariable ["grad_lbm_currentOwnerObject",player]) getVariable ["grad_lbm_currentVehiclespawn", objNull],missionNamespace getVariable ["grad_lbm_currentAccount",player]] remoteExec ["grad_lbm_fnc_buyServer",2,false];
/*  Adds item to player/cargospace
*
*   remote executed by server
*/

params ["_buyer","_account","_price","_code","_baseConfigName", "_categoryConfigName", "_itemConfigName"];
if (player != _buyer) exitWith {};

_cargospace = (missionNamespace getVariable ["grad_lbm_currentOwnerObject",player]) getVariable ["grad_lbm_currentCargospace", objNull];
_amount = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "amount"), "number", 1] call CBA_fnc_getConfigEntry;

//add to cargospace function
_addToCargo = {
    params ["_cargospace", "_itemConfigName", "_amount"];

    _cargospace = [_cargospace] call grad_lbm_fnc_checkCargoSpace;

    if (isNil {_cargospace canAdd _itemConfigName} || {!(_cargospace canAdd _itemConfigName)}) exitWith {
        [_buyer,_account,_price,"Could not add your purchase to trader's cargo. You have been reimbursed."] call grad_lbm_fnc_reimburse;
    };

    _isMagazine = isClass (configfile >> "CfgMagazines" >> _itemConfigName);
    if (_isMagazine) then {
        _cargospace addMagazineCargoGlobal [_itemConfigName, _amount];
    } else {
        _cargospace addItemCargoGlobal [_itemConfigName, _amount];
    };

    player say "taskSucceeded";
    systemChat "Your purchase is in the trader's cargo.";
};

//add to player inventory
switch (true) do {
    case (player canAddItemToVest [_itemConfigName, _amount]): {
        for "_i" from 1 to _amount do {
            player addItemToVest _itemConfigName;
        };
    };
    case (player canAddItemToUniform [_itemConfigName, _amount]): {
        for "_i" from 1 to _amount do {
            player addItemToUniform _itemConfigName;
        };
    };
    case (player canAddItemToBackpack [_itemConfigName, _amount]): {
        for "_i" from 1 to _amount do {
            player addItemToBackpack _itemConfigName;
        };
    };

    default {
        [_cargospace, _itemConfigName, _amount] call _addToCargo;
    };
};

[_buyer,_itemConfigName] call _code;
/*  Processes buy request sent by client
*
*   remote executed by client
*/

params ["_baseConfigName", "_categoryConfigName", "_itemConfigName", "_buyer", "_price", "_vehiclespawn","_account"];

//detract from account
private _notEnoughMoney = if (typeName _account == "SIDE") then {
    if ([_account] call grad_lbm_fnc_getFunds < _price) then {
        "Teamaccount did not have enough money. Purchase canceled." remoteExec ["systemChat",_buyer,false];
        true
    } else {
        [_account,-_price] call grad_lbm_fnc_addFunds;
        false
    };
} else {
    false
};

if (_notEnoughMoney) exitWith {};

//check if in stock
_stock = [_baseConfigName, _categoryConfigName, _itemConfigName] call grad_lbm_fnc_getStock;
if (_stock <= 0) exitWith {
    [_buyer, _price, "Item out of stock. You got your money back."] remoteExec ["grad_lbm_fnc_reimburse",0,false];
};

//detract 1 from stock
_hashKey = format ["%1_%2_%3", _baseConfigName, _categoryConfigName, _itemConfigName];
[GRAD_LBM_ITEMSTOCKS, _hashKey, _stock - 1] call CBA_fnc_hashSet;
publicVariable "GRAD_LBM_ITEMSTOCKS";

//get code
_code = compile ([(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "code"), "text", ""] call CBA_fnc_getConfigEntry);

//do different stuff based on category type
_type = toUpper ([(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "kindOf"), "text", ""] call CBA_fnc_getConfigEntry);
if (_type == "") then {_type = toUpper ([(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> "kindOf"), "text", ""] call CBA_fnc_getConfigEntry)};
switch (_type) do {
    case ("WEAPONS"): {
        [_buyer,_account,_price,_code,_baseConfigName, _categoryConfigName, _itemConfigName] remoteExec ["grad_lbm_fnc_buyWeapon",0,false];
        [[_buyer,_itemConfigName],_code] call grad_lbm_fnc_callCodeServer;
    };

    case ("ITEMS"): {
        [_buyer,_account,_price,_code,_baseConfigName, _categoryConfigName, _itemConfigName] remoteExec ["grad_lbm_fnc_buyItem",0,false];
        [[_buyer,_itemConfigName],_code] call grad_lbm_fnc_callCodeServer;
    };

    case ("WEARABLES"): {
        [_buyer,_account,_price,_code,_baseConfigName, _categoryConfigName, _itemConfigName] remoteExec ["grad_lbm_fnc_buyWearable",0,false];
        [[_buyer,_itemConfigName],_code] call grad_lbm_fnc_callCodeServer;
    };

    case ("VEHICLES"): {
        [_buyer,_account,_price,_code,_baseConfigName,_categoryConfigName,_itemConfigName,_vehiclespawn] call grad_lbm_fnc_buyVehicle;
    };

    case ("UNITS"): {
        [_buyer,_account,_price,_code,_baseConfigName,_categoryConfigName,_itemConfigName,_vehiclespawn] call grad_lbm_fnc_buyUnit;
    };

    case ("OTHER"): {
        [_buyer,_itemConfigName] call _code;
        [[_buyer,_itemConfigName],_code] remoteExec ["grad_lbm_fnc_callCodeClient",0,false];
    };

    default {
        [_buyer,_account,_price,"Unknown item type. You got your money back."] remoteExec ["grad_lbm_fnc_reimburse",0,false];
    };
};

//track
if (missionNamespace getVariable  ["grad_lbm_trackingTag",""] != "") then {
    [_baseConfigName,_categoryConfigName,_itemConfigName] call GRAD_lbm_tracking_fnc_trackPurchase;
};
/*  Spawns unit(s)
*
*/

params ["_buyer","_account","_price","_code","_baseConfigName","_categoryConfigName","_itemConfigName","_vehiclespawn"];

_amount = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "amount"), "number", 1] call CBA_fnc_getConfigEntry;
_minDistance = 0;

//vehiclespawn is object
if (_vehiclespawn isEqualType objNull) then {
    _minDistance = 5;
    _vehiclespawn = getPos _vehiclespawn;
};

//find spawn position
_spawnPosition = [];
for "_i" from 1 to 50 do {
    _spawnPosition = _vehiclespawn findEmptyPosition [_minDistance, 15 + 5*_i, _itemConfigName];
    if (str _spawnPosition != "[]") exitWith {};
};
if (str _spawnPosition == "[]") exitWith {[_buyer,_account,_price,"No unit spawn position found. You got your money back."] remoteExec ["grad_lbm_fnc_reimburse",0,false]};

//spawn units
_group = createGroup side _buyer;
for "_i" from 1 to _amount do {
    _itemConfigName createUnit [_spawnPosition, _group];
};

[_buyer,_itemConfigName,_group,_spawnPosition] call _code;
[[_buyer,_itemConfigName,_group,_spawnPosition],_code] remoteExec ["grad_lbm_fnc_callCodeClient",0,false];


//vehicle marker
_c1 = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> "vehicleMarkers"), "number", 2] call CBA_fnc_getConfigEntry;
_c2 = [(missionConfigFile >> "CfgGradBuymenu" >> "vehicleMarkers"), "number", 1] call CBA_fnc_getConfigEntry;
switch (true) do {
    case (_c1 == 1): {
        [_buyer, leader _group, _baseConfigName, _categoryConfigName, _itemConfigName] remoteExec ["grad_lbm_fnc_vehicleMarker", 0, false];
    };
    case (_c1 == 0): {false};
    case (_c2 == 1): {
        [_buyer, leader _group, _baseConfigName, _categoryConfigName, _itemConfigName] remoteExec ["grad_lbm_fnc_vehicleMarker", 0, false];
    };
    default {false};
};
/*  Spawns vehicle
*
*/

params ["_buyer","_account","_price","_code","_baseConfigName","_categoryConfigName","_itemConfigName","_vehiclespawn"];

_spawnEmpty = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "spawnEmpty"), "number", -1] call CBA_fnc_getConfigEntry;
if (_spawnEmpty == -1) then {
    _spawnEmpty = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> "spawnEmpty"), "number", 0] call CBA_fnc_getConfigEntry;
};

_minDistance = 0;
if (_vehiclespawn isEqualType objNull) then {
    _minDistance = 15;
    _vehiclespawn = getPos _vehiclespawn;
};

//find spawn position
_spawnPosition = [];
for "_i" from 1 to 50 do {
    _spawnPosition = _vehiclespawn findEmptyPosition [_minDistance, 15 + 5*_i, _itemConfigName];
    if (str _spawnPosition != "[]") exitWith {};
};
if (str _spawnPosition == "[]") exitWith {[_buyer,_account,_price,"No vehicle spawn position found. You got your money back."] remoteExec ["grad_lbm_fnc_reimburse",0,false];};

//spawn vehicle
_vehicle = _itemConfigName createVehicle _spawnPosition;

//bis vehicle init
private _init = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "vehicleInit"), "text", "[[],[]]"] call CBA_fnc_getConfigEntry;
private _compiledInit = call compile _init;
_compiledInit params ["_initTexture", "_initAnimationsource"];

[_vehicle, _initTexture, _initAnimationsource] call BIS_fnc_initVehicle;

// spawn empty
if (_spawnEmpty == 1) then {
    clearBackpackCargoGlobal _vehicle;
    clearItemCargoGlobal _vehicle;
    clearMagazineCargoGlobal _vehicle;
    clearWeaponCargoGlobal _vehicle;
};

[_buyer,_itemConfigName,_vehicle,_spawnPosition] call _code;
[[_buyer,_itemConfigName,_vehicle,_spawnPosition],_code] remoteExec ["grad_lbm_fnc_callCodeClient",0,false];

//vehicle marker
_c1 = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> "vehicleMarkers"), "number", 2] call CBA_fnc_getConfigEntry;
_c2 = [(missionConfigFile >> "CfgGradBuymenu" >> "vehicleMarkers"), "number", 1] call CBA_fnc_getConfigEntry;
switch (true) do {
    case (_c1 == 1): {
        [_buyer, _vehicle, _baseConfigName, _categoryConfigName, _itemConfigName] remoteExec ["grad_lbm_fnc_vehicleMarker", 0, false];
    };
    case (_c1 == 0): {false};
    case (_c2 == 1): {
        [_buyer, _vehicle, _baseConfigName, _categoryConfigName, _itemConfigName] remoteExec ["grad_lbm_fnc_vehicleMarker", 0, false];
    };
    default {false};
};
/*  Adds weapon to player/cargospace
*
*   remote executed by server
*/

params ["_buyer","_account","_price","_code","_baseConfigName", "_categoryConfigName", "_itemConfigName"];
if (player != _buyer) exitWith {};

//add to cargospace function
_addToCargo = {
    params ["_itemConfigName", "_muzzleItem", "_opticsItem", "_pointerItem", "_underbarrelItem"];

    _cargospace = (missionNamespace getVariable ["grad_lbm_currentOwnerObject",player]) getVariable ["grad_lbm_currentCargospace", objNull];
    _cargospace = [_cargospace] call grad_lbm_fnc_checkCargoSpace;

    if (isNil {_cargospace canAdd _itemConfigName} || {!(_cargospace canAdd _itemConfigName)}) exitWith {
        [_buyer,_account,_price,"Could not add your purchase to trader's cargo. You have been reimbursed."] call grad_lbm_fnc_reimburse;
    };

    _cargospace addWeaponCargoGlobal [_itemConfigName, 1];
    _cargospace addItemCargoGlobal [_muzzleItem, 1];
    _cargospace addItemCargoGlobal [_opticsItem, 1];
    _cargospace addItemCargoGlobal [_pointerItem, 1];
    _cargospace addItemCargoGlobal [_underbarrelItem, 1];

    player say "taskSucceeded";
    systemChat "Your purchase is in the trader's cargo.";
};

//get attachments
_muzzleItem = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "muzzleItem"), "text", ""] call CBA_fnc_getConfigEntry;
_opticsItem = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "opticsItem"), "text", ""] call CBA_fnc_getConfigEntry;
_pointerItem = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "pointerItem"), "text", ""] call CBA_fnc_getConfigEntry;
_underbarrelItem = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "underbarrelItem"), "text", ""] call CBA_fnc_getConfigEntry;

//switch weapontype
_type = getNumber (configFile >> "CfgWeapons" >> _itemConfigName >> "Type");
switch (_type) do {
    //primary
    case (1): {
        if (primaryWeapon player == "") then {
            player addWeapon _itemConfigName;
            player addPrimaryWeaponItem _muzzleItem;
            player addPrimaryWeaponItem _opticsItem;
            player addPrimaryWeaponItem _pointerItem;
            player addPrimaryWeaponItem _underbarrelItem;
        } else {
            [_itemConfigName, _muzzleItem, _opticsItem, _pointerItem, _underbarrelItem] call _addToCargo;
        };
    };

    //handgun
    case (2): {
        if (handgunWeapon player == "") then {
            player addWeapon _itemConfigName;
            player addHandgunItem _muzzleItem;
            player addHandgunItem _opticsItem;
            player addHandgunItem _pointerItem;
            player addHandgunItem _underbarrelItem;
        } else {
            [_itemConfigName, _muzzleItem, _opticsItem, _pointerItem, _underbarrelItem] call _addToCargo;
        };
    };

    //launcher
    case (4): {
        if (secondaryWeapon player == "") then {
            player addWeapon _itemConfigName;
            player addSecondaryWeaponItem _muzzleItem;
            player addSecondaryWeaponItem _opticsItem;
            player addSecondaryWeaponItem _pointerItem;
            player addSecondaryWeaponItem _underbarrelItem;
        } else {
            [_itemConfigName, _muzzleItem, _opticsItem, _pointerItem, _underbarrelItem] call _addToCargo;
        };
    };

    default {
        systemChat format ["ERROR: Classname %1 not found in CfgWeapons.", _itemConfigName];
    };
};

[_buyer,_itemConfigName] call _code;
/*  Adds wearable to player/cargospace
*
*   remote executed by server
*/

params ["_buyer","_account","_price","_code","_baseConfigName", "_categoryConfigName", "_itemConfigName"];
if (player != _buyer) exitWith {};

_cargospace = (missionNamespace getVariable ["grad_lbm_currentOwnerObject",player]) getVariable ["grad_lbm_currentCargospace", objNull];

//add to cargospace function
_addToCargo = {
    params ["_cargospace", "_itemConfigName", "_type"];

    _cargospace = [_cargospace] call grad_lbm_fnc_checkCargoSpace;

    if (isNil {_cargospace canAdd _itemConfigName} || {!(_cargospace canAdd _itemConfigName)}) exitWith {
        [_buyer,_account,_price,"Could not add your purchase to trader's cargo. You have been reimbursed."] call grad_lbm_fnc_reimburse;
    };

    if (_type == "BACKPACK") then {
        _cargospace addBackpackCargoGlobal [_itemConfigName, 1];
    } else {
        _cargospace addItemCargoGlobal [_itemConfigName, 1];
    };

    player say "taskSucceeded";
    systemChat "Your purchase is in the trader's cargo.";
};

//get type
_type = switch (true) do {
    case ("Uniform_Base" in ([(configfile >> "CfgWeapons" >> _itemConfigName), true] call BIS_fnc_returnParents)): {"UNIFORM"};
    case ((getText (configfile >> "CfgWeapons" >> _itemConfigName >> "ItemInfo" >> "_generalMacro")) == "HeadgearItem"): {"HELMET"};
    case ((getText (configfile >> "CfgWeapons" >> _itemConfigName >> "ItemInfo" >> "_generalMacro")) == "VestItem"): {"VEST"};
    case ((getNumber (configfile >> "CfgVehicles" >> _itemConfigName >> "isBackpack")) == 1): {"BACKPACK"};
    default  {"UNKNOWN"};
};

//switch type
switch (_type) do {
    case ("UNIFORM"): {
        if (uniform player == "") then {
            player forceAddUniform _itemConfigName;
        } else {
            [_cargospace, _itemConfigName, _type] call _addToCargo;
        };
    };
    case ("HELMET"): {
        if (headgear player == "") then {
            player addHeadgear _itemConfigName;
        } else {
            [_cargospace, _itemConfigName, _type] call _addToCargo;
        };
    };
    case ("VEST"): {
        if (vest player == "") then {
            player addVest _itemConfigName;
        } else {
            [_cargospace, _itemConfigName, _type] call _addToCargo;
        };
    };
    case ("BACKPACK"): {
        if (backpack player == "") then {
            player addBackpack _itemConfigName;
        } else {
            [_cargospace, _itemConfigName, _type] call _addToCargo;
        };
    };
    default {
        [_cargospace, _itemConfigName, _type] call _addToCargo;
    };
};

[_buyer,_itemConfigName] call _code;
params ["_args","_code"];
_buyer = _args select 0;

if (player != _buyer) exitWith {};
if (isServer) exitWith {};

_args call _code;
params ["_args","_code"];
_buyer = _args select 0;

if (!isServer) exitWith {};
if (player == _buyer) exitWith {};

_args call _code;
/*  Reimburses player in case something went wrong
*
*/

params ["_target", "_account", "_price", "_message"];
if (!hasInterface) exitWith {};
if (player != _target) exitWith {};

systemChat _message;

[_account,_price] call grad_lbm_fnc_addFunds;
/*  Displays 3D marker on bought vehicle.
*
*/

params ["_buyer", "_vehicle", "_baseConfigName", "_categoryConfigName", "_itemConfigName"];

if (!hasInterface) exitWith {};
if (player != _buyer) exitWith {};

_displayName = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "displayName"), "text", "Vehicle"] call CBA_fnc_getConfigEntry;



_function = {
    params ["_args", "_handle"];
    _args params ["_vehicle", "_displayName"];

    if (isNull _vehicle) exitWith {};
    drawIcon3D ["a3\ui_f\data\gui\Rsc\RscDisplayIntel\azimuth_ca.paa", [1,1,1,1], (getPosATL _vehicle) vectorAdd [0,0,1], 1, 1, 45, format ["%1 (%2m)", _displayName, round (player distance _vehicle)], 1, 0.04, "PuristaMedium", "center", true];
};
_handle = [_function, 0, [_vehicle, _displayName]] call CBA_fnc_addPerFrameHandler;

[{
    params ["_handle"];
    [_handle] call CBA_fnc_removePerFrameHandler;
}, _handle, 30] call CBA_fnc_waitAndExecute;
params ["_account", ["_funds",0]];

if (typeName _account == "OBJECT") then {
    if (!local _account) then {
        [_account,_funds] remoteExec ["grad_lbm_fnc_addFunds",_account,false];
    } else {
        _account setVariable ["grad_lbm_myFunds", ((_account getVariable ["grad_lbm_myFunds",0]) + _funds) max 0, true];
        [] call grad_lbm_fnc_updateFunds;
    };
} else {
    if (isServer) then {
        switch (_account) do {
            case (WEST): {missionNamespace setVariable ["grad_lbm_teamFunds_WEST",(missionNamespace getVariable ["grad_lbm_teamFunds_WEST",0]) + _funds,true]};
            case (EAST): {missionNamespace setVariable ["grad_lbm_teamFunds_EAST",(missionNamespace getVariable ["grad_lbm_teamFunds_EAST",0]) + _funds,true]};
            case (INDEPENDENT): {missionNamespace setVariable ["grad_lbm_teamFunds_INDEPENDENT",(missionNamespace getVariable ["grad_lbm_teamFunds_INDEPENDENT",0]) + _funds,true]};
            case (CIVILIAN): {missionNamespace setVariable ["grad_lbm_teamFunds_CIVILIAN",(missionNamespace getVariable ["grad_lbm_teamFunds_CIVILIAN",0]) + _funds,true]};
        };
        [] remoteExec ["grad_lbm_fnc_updateFunds",0,false];
    } else {
        [_account,_funds] remoteExec ["grad_lbm_fnc_addFunds",2,false];
    };
};
/*  Adds ACE-interaction to open buy menu to an object
*
*/

params ["_object", "_baseConfigName", ["_cargospace", objNull], ["_vehiclespawn", objNull], ["_shopName", ""], ["_actionDescription", "Buy Gear"], ["_condition", {true}], ["_position",[0,0,0]], ["_distance",3], "_rootAction", ["_account",objNull]];

_actionName = format ["grad_lbm_interaction_%1_%2", str _object, _baseConfigName];
_icon = (missionNamespace getVariable ["grad_lbm_moduleRoot", [] call grad_lbm_fnc_getModuleRoot]) + "\data\moneyIcon.paa";
_isSelfInteraction = if (player == _object) then {1} else {0};
if (isNil "_rootAction" || {_rootAction isEqualTo ""}) then {
    _rootAction = if (_isSelfInteraction == 1) then {["ACE_SelfActions"]} else {["ACE_MainActions"]};
};

_action = [_actionName,_actionDescription,_icon,{

    _args = _this select 2;
    _args params ["_object","_cargospace","_vehiclespawn","_baseConfigName","_shopName","_account"];

    if (_account isEqualType objNull && {isNull _account}) then {_account = player};
    [_object,_cargospace,_vehiclespawn,_baseConfigName,_shopName,_account] call grad_lbm_fnc_loadBuymenu;

},_condition,{},[_object,_cargospace,_vehiclespawn,_baseConfigName,_shopName,_account],_position,_distance] call ace_interact_menu_fnc_createAction;
[_object, _isSelfInteraction, _rootAction, _action] call ace_interact_menu_fnc_addActionToObject;
params ["_baseConfigName", "_categoryConfigName", "_itemConfigName", ["_add",0]];

private _currentStock = _this call grad_lbm_fnc_getStock;
if (_currentStock < 0) exitWith {systemChat "Stock could not be added."; -1};

private _hashKey = format ["%1_%2_%3", _baseConfigName, _categoryConfigName, _itemConfigName];
private _newStock = (_currentStock + _add) max 0;
[GRAD_LBM_ITEMSTOCKS,_hashKey,_newStock] call CBA_fnc_hashSet;

publicVariable "GRAD_LBM_ITEMSTOCKS";

_newStock
/*  Checks if a weaponholder needs to be spawned
*
*/

params ["_cargospace"];

_cargospacePosition = (missionNamespace getVariable ["grad_lbm_currentOwnerObject",player]) getVariable "grad_lbm_currentCargoSpacePosition";

if (typename _cargospace == "OBJECT" && {isNull _cargospace && !isNil "_cargospacePosition"}) then {
    _cargospace = createVehicle ["groundWeaponHolder", [0,0,0], [], 0, "can_Collide"];
    _cargospace setPosASL _cargospacePosition;
    (missionNamespace getVariable ["grad_lbm_currentOwnerObject",player]) setVariable ["grad_lbm_currentCargospace", _cargospace, true];
};

_cargospace
params [["_account", missionNamespace getVariable ["grad_lbm_currentAccount",player]]];

private _funds = if (typeName _account == "OBJECT") then {
    _account getVariable ["grad_lbm_myFunds",0]
} else {
    switch (missionNamespace getVariable ["grad_lbm_currentAccount",SIDEUNKNOWN]) do {
        case (SIDEUNKNOWN): {0};
        case (WEST): {missionNamespace getVariable ["grad_lbm_teamFunds_WEST",0]};
        case (EAST): {missionNamespace getVariable ["grad_lbm_teamFunds_EAST",0]};
        case (INDEPENDENT): {missionNamespace getVariable ["grad_lbm_teamFunds_INDEPENDENT",0]};
        case (CIVILIAN): {missionNamespace getVariable ["grad_lbm_teamFunds_CIVILIAN",0]};
    };
};

_funds
params ["_itemClass"];

_description = [configfile >> "CfgWeapons" >> _itemClass >> "descriptionShort", "text", ""] call CBA_fnc_getConfigEntry;
if (_description == "") then {
    _description = [configfile >> "CfgMagazines" >> _itemClass >> "descriptionShort", "text", ""] call CBA_fnc_getConfigEntry;
};

_description
params ["_itemClass"];

private _displayName = "";
_displayName = [configfile >> "CfgWeapons" >> _itemClass >> "displayName", "text", ""] call CBA_fnc_getConfigEntry;

if (_displayName == "") then {
    _displayName = [configfile >> "CfgMagazines" >> _itemClass >> "displayName", "text", ""] call CBA_fnc_getConfigEntry;

    if (_displayName == "") then {
        _displayName = [configfile >> "CfgVehicles" >> _itemClass >> "displayName", "text", ""] call CBA_fnc_getConfigEntry;

        if (_displayName == "") then {
            _displayName = [configfile >> "CfgGlasses" >> _itemClass >> "displayName", "text", ""] call CBA_fnc_getConfigEntry;

            if (_displayName == "") then {
                _displayName = "UNDEFINED DISPLAYNAME";
            };
        };
    };
};

_displayName
params ["_account"];

_funds = if (typeName _account == "OBJECT") then {
    _account getVariable ["grad_lbm_myFunds",0];
} else {
    switch (_account) do {
        case (SIDEUNKNOWN): {0};
        case (WEST): {missionNamespace getVariable ["grad_lbm_teamFunds_WEST",0]};
        case (EAST): {missionNamespace getVariable ["grad_lbm_teamFunds_EAST",0]};
        case (INDEPENDENT): {missionNamespace getVariable ["grad_lbm_teamFunds_INDEPENDENT",0]};
        case (CIVILIAN): {missionNamespace getVariable ["grad_lbm_teamFunds_CIVILIAN",0]};
    };
};


_funds
params ["_baseConfigName","_categoryConfigName","_itemConfigName"];

_modulePermissionLevel = [(missionConfigFile >> "CfgGradBuymenu" >> "permissionLevel"), "number", -1] call CBA_fnc_getConfigEntry;
_basePermissionLevel = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> "permissionLevel"), "number", -1] call CBA_fnc_getConfigEntry;
_categoryPermissionLevel = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> "permissionLevel"), "number", -1] call CBA_fnc_getConfigEntry;
_itemPermissionLevel = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "permissionLevel"), "number", -1] call CBA_fnc_getConfigEntry;

_permissionLevel = switch (true) do {
    case (_itemPermissionLevel != -1): {_itemPermissionLevel};
    case (_categoryPermissionLevel != -1): {_categoryPermissionLevel};
    case (_basePermissionLevel != -1): {_basePermissionLevel};
    case (_modulePermissionLevel != -1): {_modulePermissionLevel};
    default {0};
};

_permissionLevel
/*  Finds root directory of buymenu
*
*/

_functionsPath = [(missionConfigFile >> "CfgFunctions" >> "GRAD_lbm" >> "common" >> "file"), "text", ""] call CBA_fnc_getConfigEntry;
_functionsPathArray = _functionsPath splitString "\";
_functionsPathArray deleteAt (count _functionsPathArray - 1);
_functionsPathArray deleteAt (count _functionsPathArray - 1);
_root = _functionsPathArray joinString "\";

_root
params ["_unit"];

private _permissionLevel = _unit getVariable ["grad_lbm_permissionLevel", 0];

_permissionLevel
/*  Finds picture based on classname
*
*/

params ["_configName"];
private ["_picturePath"];

switch (true) do {
    case (isClass (configFile >> "CfgWeapons" >> _configName)): {
        _picturePath = getText (configFile >> "CfgWeapons" >> _configName >> "picture");
        if (_picturePath == "") then {
            _picturePath = getText (configFile >> "CfgWeapons" >> _configName >> "uipicture");
        };
    };

    case (isClass (configFile >> "CfgVehicles" >> _configName)): {
        if (_configName isKindOf "Man" || _configName isKindOf "StaticWeapon") then {
            _picturePath = getText (configfile >> "CfgVehicles" >> _configName >> "editorPreview");
        } else {
            _picturePath = getText (configFile >> "CfgVehicles" >> _configName >> "picture");
            if (_picturePath == "") then {
                _picturePath = getText (configFile >> "CfgVehicles" >> _configName >> "icon");
            };
        };
    };

    case (isClass (configFile >> "CfgMagazines" >> _configName)): {
        _picturePath = getText (configFile >> "CfgMagazines" >> _configName >> "picture");
        if (_picturePath == "") then {
            _picturePath = getText (configFile >> "CfgMagazines" >> _configName >> "uipicture");
        };
    };

    case (isClass (configFile >> "CfgGlasses" >> _configName)): {
        _picturePath = getText (configFile >> "CfgGlasses" >> _configName >> "picture");
        if (_picturePath == "") then {
            _picturePath = getText (configFile >> "CfgGlasses" >> _configName >> "uipicture");
        };
    };

    default {
        _picturePath = "";
    };
};

_picturePath
/*  Gets stock of an item from public hash
*
*/

params ["_baseConfigName", "_categoryConfigName", "_itemConfigName"];
_hashKey = format ["%1_%2_%3", _baseConfigName, _categoryConfigName, _itemConfigName];

if (isNil "GRAD_LBM_ITEMSTOCKS") exitWith {systemChat "Stocks hash is nil."; -1};
if !([GRAD_LBM_ITEMSTOCKS, _hashKey] call CBA_fnc_hashHasKey) exitWith {systemChat format ["%1 is not a stock hash key.", _hashKey]; -1};

_stock = [GRAD_LBM_ITEMSTOCKS, _hashKey] call CBA_fnc_hashGet;

_stock
/*  Checks if type is vehicle
*
*/

params ["_type"];

_isVehicle = switch (true) do {
    case (_type isKindOf "Man"): {false};
    case (_type isKindOf "Thing"): {true};
    case (_type isKindOf "StaticWeapon"): {true};
    case (_type isKindOf "Static"): {true};
    case (_type isKindOf "LandVehicle"): {true};
    case (_type isKindOf "Air"): {true};
    case (_type isKindOf "Ship"): {true};
    default {false};
};

_isVehicle
/*  Opens the buymenu
*
*/

#include "..\..\dialog\defines.hpp"
params [["_object", player],["_cargospace", objNull], ["_vehiclespawn", objNull],["_baseConfigName", ""],["_title", ""],["_account",player]];

if (typeName _cargospace == "OBJECT") then {
    if (isNull _cargospace) then {_cargospace = _caller};
};

if (_vehiclespawn isEqualType objNull) then {
    if (isNull _vehiclespawn) then {_vehiclespawn = _caller};
};

missionNamespace setVariable ["grad_lbm_currentAccount", _account];
missionNamespace setVariable ["grad_lbm_currentOwnerObject", _object];
_object setVariable ["grad_lbm_currentVehiclespawn", _vehiclespawn];
if (typeName _cargospace == "ARRAY") then {
    _object setVariable ["grad_lbm_currentCargoSpacePosition", _cargospace];
} else {
    _object setVariable ["grad_lbm_currentCargospace", _cargospace];
};


//create dialog
disableSerialization;
createDialog "grad_lbm";
_dialog = findDisplay grad_lbm_DIALOG;
_dialog setVariable ["grad_lbm_currentBaseConfig", _baseConfigName];

//update titlebar
_titleCtrl = _dialog displayCtrl grad_lbm_TITLE;
_titleCtrl ctrlSetText toUpper _title;
[] call grad_lbm_fnc_updateFunds;

//update categories
[_baseConfigName] call grad_lbm_fnc_updateCategories;
/*  Rotates 3D Model while dialog is open
*
*/

params ["_modelCtrl"];
_modelCtrl ctrlSetModelDirAndUp [[0,1,0.08],[0,0,1]];

[{
    params ["_modelCtrl", "_handle"];
    if (isNull _modelCtrl) exitWith {[_handle] call CBA_fnc_removePerFrameHandler};

    (ctrlModelDirAndUp _modelCtrl) params ["_currentDir"];
    _currentDir params ["_x", "_y","_z"];

    ([[_x,_y], 1] call BIS_fnc_rotateVector2D) params ["_newX","_newY"];

    _modelCtrl ctrlSetModelDirAndUp [[_newX,_newY,_z],[0,0,1]];
    _modelCtrl ctrlCommit 0;
} , 0.03, _modelCtrl] call CBA_fnc_addPerFrameHandler;
params ["_unit", ["_funds",0]];

if (typeName _unit == "OBJECT") then {
    _unit setVariable ["grad_lbm_myFunds",_funds,true];
} else {
    switch (_unit) do {
        case (WEST): {missionNamespace setVariable ["grad_lbm_teamFunds_WEST",_funds,true]};
        case (EAST): {missionNamespace setVariable ["grad_lbm_teamFunds_EAST",_funds,true]};
        case (INDEPENDENT): {missionNamespace setVariable ["grad_lbm_teamFunds_INDEPENDENT",_funds,true]};
        case (CIVILIAN): {missionNamespace setVariable ["grad_lbm_teamFunds_CIVILIAN",_funds,true]};
    };
};
params ["_unit", ["_permissionLevel",0]];

_unit setVariable ["grad_lbm_permissionLevel", _permissionLevel, true];

true
params ["_baseConfigName", "_categoryConfigName", "_itemConfigName", ["_newStock",0]];

private _currentStock = _this call grad_lbm_fnc_getStock;
if (_currentStock < 0) exitWith {systemChat "Stock could not be set."; -1};

private _hashKey = format ["%1_%2_%3", _baseConfigName, _categoryConfigName, _itemConfigName];
[GRAD_LBM_ITEMSTOCKS,_hashKey,_newStock] call CBA_fnc_hashSet;

publicVariable "GRAD_LBM_ITEMSTOCKS";

_newStock
[{!isNull player}, {

    player addEventHandler ["Killed", {
        params ["_unit"];

        player setVariable ["grad_lbm_myFundsOnDeath",[player] call grad_lbm_fnc_getFunds];

        // if player keeps money on death, save in temp variable so that corpse cannot be looted during respawn time
        if (!grad_lbm_playersLoseMoneyOnDeath) then {
            [player,0] call grad_lbm_fnc_setFunds;
        };
    }];

    player addEventHandler ["Respawn",{
        params ["_unit", "_corpse"];

        // use addFunds here in case user has their own respawn event handler, that fired first and added money
        if (grad_lbm_playersLoseMoneyOnDeath) then {
            [_unit,-(_unit getVariable ["grad_lbm_myFundsOnDeath",0])] call grad_lbm_fnc_addFunds;
        } else {
            [_unit,_unit getVariable ["grad_lbm_myFundsOnDeath",0]] call grad_lbm_fnc_addFunds;
        };
    }];

}, []] call CBA_fnc_waitUntilAndExecute;
/*  Initializes some stuff on client.
*
*   runs automatically during postInit
*/

if (!hasInterface) exitWith {};

grad_lbm_playersLoseMoneyOnDeath = ([missionConfigFile >> "CfgGradBuymenu","playersLoseMoneyOnDeath", 1] call BIS_fnc_returnConfigEntry) == 1;
[] call grad_lbm_fnc_addPlayerEHs;

//PVEH on item stock update
if (!isServer) then {
    "GRAD_LBM_ITEMSTOCKS" addPublicVariableEventHandler {[] call grad_lbm_fnc_updateItemData};
} else {
    grad_lbm_fnc_localHostPubVar = {
        params ["_oldStocks"];
        [{!(str (missionNamespace getVariable ["GRAD_LBM_ITEMSTOCKS", []]) == _this)}, {
            [] call grad_lbm_fnc_updateItemData;

            _oldStocks = str (missionNamespace getVariable ["GRAD_LBM_ITEMSTOCKS", []]);
            [_oldStocks] call grad_lbm_fnc_localHostPubVar;
        }, _oldStocks] call CBA_fnc_waitUntilAndExecute;
    };

    _oldStocks = str (missionNamespace getVariable ["GRAD_LBM_ITEMSTOCKS", []]);
    [_oldStocks] call grad_lbm_fnc_localHostPubVar;
};


//set module root
missionNamespace setVariable ["grad_lbm_moduleRoot", [] call grad_lbm_fnc_getModuleRoot];
/*  Reads item stocks from config publishes them in a hash
*
*/

if (!isServer) exitWith {};

GRAD_LBM_ITEMSTOCKS = [] call CBA_fnc_hashCreate;

_baseConfigs = "true" configClasses (missionConfigFile >> "CfgGradBuymenu");
{
    _baseConfig = _x;
    _baseConfigName = configName _baseConfig;

    _categoryConfigs = "true" configClasses _baseConfig;
    {
        _categoryConfig = _x;
        _categoryConfigName = configName _categoryConfig;

        _itemConfigs = "true" configClasses _categoryConfig;
        {
            _itemConfig = _x;
            _itemConfigName = configName _itemConfig;

            if (isNumber (_itemConfig >> "stock")) then {
                _hashKey = format ["%1_%2_%3", _baseConfigName, _categoryConfigName, _itemConfigName];
                [GRAD_LBM_ITEMSTOCKS, _hashKey, getNumber (_itemConfig >> "stock")] call CBA_fnc_hashSet;
            };
        } forEach _itemConfigs;
    } forEach _categoryConfigs;
} forEach _baseConfigs;

publicVariable "GRAD_LBM_ITEMSTOCKS";
/*  Gets bounding box size of all buyable vehicles
*
*/

#include "..\..\dialog\ui_toolkit.hpp"
#include "..\..\dialog\defines.hpp"

GRAD_LBM_VEHICLESIZES = [] call CBA_fnc_hashCreate;

//find all vehicle types
_types = [];
_baseConfigs = "true" configClasses (missionConfigFile >> "CfgGradBuymenu");
{
    _categoryConfigs = "true" configClasses _x;
    {
        _itemConfigs = "true" configClasses _x;
        {
            _item = configName _x;
            if ([_item] call grad_lbm_fnc_isVehicle) then {
                _types pushBackUnique _item;
            };
        } forEach _itemConfigs;
    } forEach _categoryConfigs;
} forEach _baseConfigs;


//check sizes
_aspectRatio = grad_lbm_Column_W/grad_lbm_Picture_H;
{
    _type = _x;
    _vehicle = _type createVehicleLocal [0,0,0];
    _dimensions = _vehicle call BIS_fnc_boundingBoxDimensions;
    _dimensions params ["_w","_l","_h"];
    _highObject = _l/_h < _aspectRatio && _w/_h < _aspectRatio;

    _size = if (_highObject) then {_h * grad_lbm_Picture_H * 8} else {(_l max _w) * grad_lbm_Column_W * 2};

    //static weapons tend to be a little too small
    if (_type isKindOf "StaticWeapon") then {_size = _size*0.8};
    if (_type isKindOf "Static") then {_size = _size*1.3};

    [GRAD_LBM_VEHICLESIZES, _type, _size] call CBA_fnc_hashSet;

    deleteVehicle _vehicle;
} forEach _types;
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

#include "..\..\defines_tracking.hpp"


params [["_tag",[(missionConfigFile >> "CfgGradBuymenu" >> "trackingTag"), "text", ""] call CBA_fnc_getConfigEntry]];

if (!isServer) exitWith {};
private _trackingTag = [_tag] call grad_lbm_tracking_fnc_getTrackingTag;
if (_trackingTag == "") exitWith {false};


if (isNil {profileNamespace getVariable _tag}) exitWith {ERROR_1("Tracking data for tag %1 not found. Can't clear.",_tag); false};

profileNamespace setVariable [_tag,nil];
saveProfileNamespace;

INFO_1("Tracking data for tag %1 deleted.",_tag);
(format ["Tracking data for tag %1 deleted.",_tag]) remoteExec ["systemChat",0,false];

true
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

#include "..\..\ui_toolkit.hpp"
#include "..\..\defines_tracking.hpp"

params ["_display"];

private _background = _display ctrlCreate ["RscBackground",-1];
_background ctrlSetBackgroundColor BGCOLOR;
_background ctrlSetPosition [safezoneX,safezoneY,safezoneW,safezoneH];
_background ctrlCommit 0;

private _sidebarDivider = _display ctrlCreate ["RscBackground",-1];
_sidebarDivider ctrlSetBackgroundColor [0,0,0,1];
_sidebarDivider ctrlSetPosition [safezoneX + SIDEBAR_W,safezoneY,SIDEBAR_DIVIDER_W,safezoneH];
_sidebarDivider ctrlCommit 0;

private _topbar = _display ctrlCreate ["RscText",-1];
_topbar ctrlSetBackgroundColor [(profilenamespace getvariable ['GUI_BCG_RGB_R',0]),(profilenamespace getvariable ['GUI_BCG_RGB_G',0]),(profilenamespace getvariable ['GUI_BCG_RGB_B',0]),1];
_topbar ctrlSetPosition [safezoneX,safezoneY,safezoneW,TOPBAR_H];
_topbar ctrlSetText "GRAD LISTBUYMENU STATISTICS";
_topbar ctrlCommit 0;

private _topbarDivider = _display ctrlCreate ["RscBackground",-1];
_topbarDivider ctrlSetBackgroundColor TOPBAR_DIVIDER_COLOR;
_topbarDivider ctrlSetPosition [safezoneX,safezoneY+TOPBAR_H,safezoneW,TOPBAR_DIVIDER_H];
_topbarDivider ctrlCommit 0;

private _closeButton = _display ctrlCreate ["RscButtonSmall",-1];
_closeButton ctrlSetText "X";
_closeButton ctrlSetPosition [safezoneX + safezoneW - 1.1*CLOSEBUTTON_W,safezoneY + CENTER(TOPBAR_H,CLOSEBUTTON_H),CLOSEBUTTON_W,CLOSEBUTTON_H];
_closeButton ctrlSetEventHandler ["ButtonClick","(ctrlParent (_this select 0)) closeDisplay 2"];
_closeButton ctrlCommit 0;
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

#include "..\..\ui_toolkit.hpp"
#include "..\..\defines_tracking.hpp"

params ["_display"];

private _mainBG = _display ctrlCreate ["RscBackground",MAIN_BG_IDC];
_mainBG ctrlSetPosition [MAIN_BG_X,MAIN_BG_Y,MAIN_BG_W,MAIN_BG_H];
_mainBG ctrlSetBackgroundColor MAIN_BGCOLOR;
_mainBG ctrlCommit 0;

private _mainGroup = _display ctrlCreate ["RscControlsGroupNoHScrollbars",MAIN_IDC];
_mainGroup ctrlSetPosition [MAIN_X,MAIN_Y,MAIN_W,MAIN_H];
_mainGroup ctrlCommit 0;

private _mainCenterText = _display ctrlCreate ["RscTextNoShadow",MAIN_CENTERTEXT_IDC,_mainGroup];
_mainCenterText ctrlSetText "";
_mainCenterText ctrlSetTextColor [0.8,0,0,1];
_mainCenterText ctrlSetFontHeight (TEXT_SCALE * 0.06);
_mainCenterText ctrlSetPosition [(MAIN_W/2)-(MAIN_CENTERTEXT_W/2),(MAIN_H/2)-(MAIN_CENTERTEXT_H/2),MAIN_CENTERTEXT_W,MAIN_CENTERTEXT_H];
_mainCenterText ctrlCommit 0;
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

#include "..\..\ui_toolkit.hpp"
#include "..\..\defines_tracking.hpp"

params ["_display"];

private _sidebarGroup = _display ctrlCreate ["RscControlsGroupNoScrollbars",-1];
_sidebarGroup ctrlSetPosition [safezoneX,safezoneY+TOPBAR_H,SIDEBAR_W,safezoneH-TOPBAR_H];
_sidebarGroup ctrlCommit 0;

private _trackingTagText = _display ctrlCreate ["RscBackground",-1,_sidebarGroup];
_trackingTagText ctrlSetPosition [CENTER(SIDEBAR_W,DROPDOWN_W)*0.7,(DROPDOWN_START_Y + 0*DROPDOWN_DISTANCE)-DROPDOWN_TEXTDISTANCE_Y,DROPDOWN_W,DROPDOWN_H];
_trackingTagText ctrlSetText "TRACKING TAG";
_trackingTagText ctrlSetBackgroundColor [0,0,0,0];
_trackingTagText ctrlSetFontHeight (0.04 * TEXT_SCALE);
_trackingTagText ctrlSetTextColor SIDEBAR_TEXTCOLOR;
_trackingTagText ctrlCommit 0;

private _trackingTagEdit = _display ctrlCreate ["RscEdit",-1,_sidebarGroup];
_trackingTagEdit ctrlSetPosition [CENTER(SIDEBAR_W,DROPDOWN_W),DROPDOWN_START_Y + 0*DROPDOWN_DISTANCE,DROPDOWN_W,DROPDOWN_H];
_trackingTagEdit ctrlSetBackgroundColor DROPDOWN_BGCOLOR;
_trackingTagEdit ctrlSetTextColor TAGTEXTCOLOR_SUCCESS;
_trackingTagEdit ctrlSetEventHandler ["KillFocus","_this call grad_lbm_tracking_fnc_onTrackingTagKeydown"];
_trackingTagEdit ctrlSetEventHandler ["KeyDown","_this call grad_lbm_tracking_fnc_onTrackingTagKeydown"];
_trackingTagEdit ctrlCommit 0;
_trackingTagEdit ctrlSetText ([(missionConfigFile >> "CfgGradBuymenu" >> "trackingTag"), "text", ""] call CBA_fnc_getConfigEntry);
_trackingTagEdit ctrlCommit 0;

private _buyablesText = _display ctrlCreate ["RscBackground",-1,_sidebarGroup];
_buyablesText ctrlSetPosition [CENTER(SIDEBAR_W,DROPDOWN_W)*0.7,(DROPDOWN_START_Y + 1*DROPDOWN_DISTANCE)-DROPDOWN_TEXTDISTANCE_Y,DROPDOWN_W,DROPDOWN_H];
_buyablesText ctrlSetText "BUYABLES SET";
_buyablesText ctrlSetBackgroundColor [0,0,0,0];
_buyablesText ctrlSetFontHeight (0.04 * TEXT_SCALE);
_buyablesText ctrlSetTextColor SIDEBAR_TEXTCOLOR;
_buyablesText ctrlCommit 0;

private _buyablesDropdown = _display ctrlCreate ["RscCombo",DROPDOWN_BUYABLES_IDC,_sidebarGroup];
_buyablesDropdown ctrlSetPosition [CENTER(SIDEBAR_W,DROPDOWN_W),DROPDOWN_START_Y + 1*DROPDOWN_DISTANCE,DROPDOWN_W,DROPDOWN_H];
_buyablesDropdown ctrlSetBackgroundColor DROPDOWN_BGCOLOR;
_buyablesDropdown ctrlSetTextColor [0,0,0,1];
_buyablesDropdown ctrlSetEventHandler ["LBSelChanged", "_this call grad_lbm_tracking_fnc_updateCategoryDropdown"];
_buyablesDropdown ctrlCommit 0;

private _categoryText = _display ctrlCreate ["RscBackground",-1,_sidebarGroup];
_categoryText ctrlSetPosition [CENTER(SIDEBAR_W,DROPDOWN_W)*0.7,(DROPDOWN_START_Y + 2*DROPDOWN_DISTANCE)-DROPDOWN_TEXTDISTANCE_Y,DROPDOWN_W,DROPDOWN_H];
_categoryText ctrlSetText "CATEGORY";
_categoryText ctrlSetBackgroundColor [0,0,0,0];
_categoryText ctrlSetFontHeight (0.04 * TEXT_SCALE);
_categoryText ctrlSetTextColor SIDEBAR_TEXTCOLOR;
_categoryText ctrlCommit 0;

private _categoryDropdown = _display ctrlCreate ["RscCombo",DROPDOWN_CATEGORY_IDC,_sidebarGroup];
_categoryDropdown ctrlSetPosition [CENTER(SIDEBAR_W,DROPDOWN_W),DROPDOWN_START_Y + 2*DROPDOWN_DISTANCE,DROPDOWN_W,DROPDOWN_H];
_categoryDropdown ctrlSetBackgroundColor DROPDOWN_BGCOLOR;
_categoryDropdown ctrlSetTextColor [0,0,0,1];
_categoryDropdown ctrlSetEventHandler ["LBSelChanged", "_this call grad_lbm_tracking_fnc_updateMain"];
_categoryDropdown ctrlCommit 0;

_trackingTagEdit
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

params [["_path",[]],["_tag",[(missionConfigFile >> "CfgGradBuymenu" >> "trackingTag"), "text", ""] call CBA_fnc_getConfigEntry]];

if (!isServer) exitWith {};
if (count _path == 0) exitWith {};

private _trackingTag = [_tag] call grad_lbm_tracking_fnc_getTrackingTag;
if (_trackingTag == "") exitWith {false};

_path params ["_buyablesSet","_category","_item"];
private _trackHash = profileNamespace getVariable [_trackingTag,[]];
if !([_trackHash] call CBA_fnc_isHash) exitWith {ERROR_1("No data for %1. Cannot delete entry.",_tag)};

if !([_trackHash,_buyablesSet] call CBA_fnc_hashHasKey) exitWIth {ERROR_2("Buyables set %1 not found in data for %2. Cannot delete entry.",_buyablesSet,_tag)};
if (isNil "_category") exitWith {
    INFO_2("Deleting %1 from %2.",_buyablesSet,_tag);
    [_trackHash,_buyablesSet] call CBA_fnc_hashRem;
    saveProfileNamespace;
};

private _baseData = [_trackHash,_buyablesSet] call CBA_fnc_hashGet;
_baseData params ["","_categoryHash"];
if !([_categoryHash] call CBA_fnc_isHash) exitWith {ERROR_2("%1 >> %2 is apparently not a hash. Cannot delete entry.",_tag,_buyablesSet)};
if !([_categoryHash,_category] call CBA_fnc_hashHasKey) exitWIth {ERROR_3("%1 >> %2 >> %3 not found. Cannot delete entry.",_tag,_buyablesSet,_category)};
if (isNil "_item") exitWith {
    INFO_3("Deleting %1 >> %2 from %3",_buyablesSet,_category,_tag);
    [_categoryHash,_category] call CBA_fnc_hashRem;
    saveProfileNamespace;
};

private _categoryData = [_categoryHash,_category] call CBA_fnc_hashGet;
_categoryData params ["","_itemHash"];
if !([_itemHash] call CBA_fnc_isHash) exitWith {ERROR_3("%1 >> %2 >> %3 is apparently not a hash. Cannot delete entry.",_tag,_buyablesSet,_category)};
if !([_itemHash,_item] call CBA_fnc_hashHasKey) exitWIth {ERROR_4("%1 >> %2 >> %3 >> %4 not found. Cannot delete entry.",_tag,_buyablesSet,_category,_item)};

INFO_4("Deleting %1 >> %2 >> %3 from %4",_buyablesSet,_category,_item,_tag);
[_itemHash,_item] call CBA_fnc_hashRem;
saveProfileNamespace;
params [["_enable",true]];

grad_lbm_tracking_enabled = _enable;
if (grad_lbm_tracking_enabled && !(missionNamespace getVariable ["grad_lbm_tracking_initialized",false])) then {
    [true] remoteExec ["grad_lbm_tracking_fnc_initTracking",0,true];
};
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

#include "..\..\defines_tracking.hpp"

params ["_editBox","_config"];

lbClear _editBox;
private _allCategories = "true" configClasses _config;
{
    _config = _x;
    _configName = configName _x;
    _displayName = [(_config >> "displayName"), "text", _configName] call CBA_fnc_getConfigEntry;

    _editBox lbAdd _displayName;
    _editBox lbSetData [_forEachIndex, _configName];
} forEach _allCategories;

if (lbSize _editBox > 0) then {_editBox lbSetCursel 0};
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

params ["_data"];

private _max = 0;
{
    _x params ["",["_keys",[]],["_values",[]]];
    {
        _x params ["_amount"];
        if (_amount > _max) then {_max = _amount};

        false
    } count _values;

    false
} count _data;

_max
params [["_tag",[(missionConfigFile >> "CfgGradBuymenu" >> "trackingTag"), "text", ""] call CBA_fnc_getConfigEntry]];

if (_tag == "") exitWith {""};
private _trackingTag = format ["mcd_lbm_tracking_%1",[_tag] call BIS_fnc_filterString];

_trackingTag
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

params ["_enableOrPostInit"];
if (!isNil "_enableOrPostInit") then {if (_enableOrPostInit isEqualType true) then {grad_lbm_tracking_enabled = _enable}};

["lbmstats", {
    [] call grad_lbm_tracking_fnc_openDialog;
}, "adminLogged"] call CBA_fnc_registerChatCommand;
grad_lbm_tracking_lastRequest = "";
grad_lbm_tracking_lastRequestTime = 0;

if (missionNamespace getVariable ["grad_lbm_tracking_initialized",false] || !(missionNamespace getVariable ["grad_lbm_tracking_enabled",true])) exitWith {};

grad_lbm_trackingTag = [] call grad_lbm_tracking_fnc_getTrackingTag;
if (grad_lbm_trackingTag == "") exitWith {INFO("Not tracking purchases.")};
grad_lbm_tracking_initialized = true;

if (!isServer) exitWith {};

private ["_trackHash"];

if (isNil {profileNamespace getVariable grad_lbm_trackingTag}) then {
    INFO_1("Creating tracking data for tag %1.",grad_lbm_trackingTag);
    _trackHash = [[],false] call CBA_fnc_hashCreate;
    profileNamespace setVariable [grad_lbm_trackingTag,_trackHash];
};

private _trackHash = profileNamespace getVariable grad_lbm_trackingTag;
[_trackHash] call grad_lbm_tracking_fnc_trackHashCleanup;
[_trackHash] call grad_lbm_tracking_fnc_trackHashUpdate;

INFO("Tracking initialized.");

_trackHash
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

#include "..\..\defines_tracking.hpp"
#include "\A3\ui_f\hpp\defineDIKCodes.inc"

params ["_editBox",["_DIK",28]];

if !(_DIK in [DIK_RETURN,DIK_NUMPADENTER]) exitWith {};


private _display = ctrlParent _editBox;
private _inputText = [ctrlText _editBox] call BIS_fnc_filterString;


if (_inputText == "") exitWith {};
if (CBA_missionTime - grad_lbm_tracking_lastRequestTime < 5 && {grad_lbm_tracking_lastRequest == _inputText}) exitWith {};

grad_lbm_tracking_lastRequest = _inputText;
grad_lbm_tracking_lastRequestTime = CBA_missionTime;


private _didReceiveVarName = format ["%1_received",_inputText];
private _dataVarName = format ["grad_lbm_tracking_receivedData_%1",_inputText];
[player,_inputText,_dataVarName] remoteExec ["grad_lbm_tracking_fnc_requestData",2,false];
missionNamespace setVariable [_didReceiveVarName,false];


private _mainCenterText = _display displayCtrl MAIN_CENTERTEXT_IDC;
_mainCenterText ctrlSetText "REQUESTING DATA FROM SERVER...";
_mainCenterText ctrlSetTextColor TAGTEXTCOLOR_SUCCESS;


private _fnc_onReceive = {
    params ["_didReceiveVarName","_inputText","_display","_dataVarName","_editBox","_mainCenterText"];

    missionNamespace setVariable [_didReceiveVarName,nil];
    _data = missionNamespace getVariable [_dataVarName,[]];

    if !([_data] call CBA_fnc_isHash) then {
        _mainCenterText ctrlSetText (format ["NO DATA FOR '%1'",_inputText]);
        _mainCenterText ctrlSetTextColor TAGTEXTCOLOR_FAILURE;
        _editBox ctrlSetTextColor TAGTEXTCOLOR_FAILURE;

        [_mainCenterText,-1] call grad_lbm_tracking_fnc_updateMain;
    } else {
        _mainCenterText ctrlSetText "";
        _editBox ctrlSetTextColor TAGTEXTCOLOR_SUCCESS;
    };

    [_data,_display] call grad_lbm_tracking_fnc_updateBuyablesDropdown;
};

private _fnc_onTimeout = {
    params ["_didReceiveVarName","_inputText","_display","_dataVarName","_editBox","_mainCenterText"];

    _mainCenterText ctrlSetText "ERROR: REQUEST TIMEOUT";
    _mainCenterText ctrlSetTextColor TAGTEXTCOLOR_FAILURE;
    _editBox ctrlSetTextColor TAGTEXTCOLOR_FAILURE;

    [_mainCenterText,-1] call grad_lbm_tracking_fnc_updateMain;

    ERROR_1("Data for tag %1 not received within 5 seconds.",_this select 0);
};

[{missionNamespace getVariable [_this select 0,false]},_fnc_onReceive,[_didReceiveVarName,_inputText,_display,_dataVarName,_editBox,_mainCenterText],5,_fnc_onTimeout] call CBA_fnc_waitUntilAndExecute;
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

#include "..\..\ui_toolkit.hpp"
#include "..\..\defines_tracking.hpp"


private _display = (findDisplay 46) createDisplay "RscDisplayEmpty";
[_display] call grad_lbm_tracking_fnc_createBackground;
private _trackingTagEdit = [_display] call grad_lbm_tracking_fnc_createSidebar;
[_display] call grad_lbm_tracking_fnc_createMain;

[_trackingTagEdit,28] call grad_lbm_tracking_fnc_onTrackingTagKeydown;
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

params ["_data","_inputText","_dataVarName"];

missionNamespace setVariable [_dataVarName,_data];

private _didReceiveVarName = format ["%1_received",_inputText];
missionNamespace setVariable [_didReceiveVarName,true];
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

params ["_caller","_inputText","_dataVarName"];

private _trackingTag = [_inputText] call grad_lbm_tracking_fnc_getTrackingTag;
_data = profileNamespace getVariable [_trackingTag,[]];

[_data,_inputText,_dataVarName] remoteExec ["grad_lbm_tracking_fnc_receiveData",_caller,false];
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

params ["_hash"];

if (([(missionConfigFile >> "CfgGradBuymenu" >> "trackingCleanup"), "number", 1] call CBA_fnc_getConfigEntry) == 0) exitWith {}; 

private _allBaseSets = "true" configClasses (missionConfigFile >> "CfgGradBuymenu");
private _allBaseSetNames = _allBaseSets apply {configName _x};
private _deleteBaseKeys = [];

private _fnc_forEachPair = {

    _value params ["_baseDisplayName","_categoriesHash"];
    _baseName = _key;

    if !(_baseName in _allBaseSetNames) then {_deleteBaseKeys pushBack _baseName} else {

        _allCategories = "true" configClasses (missionConfigFile >> "CfgGradBuymenu" >> _baseName);
        _allCategoryNames = _allCategories apply {configName _x};
        _deleteCategoryKeys = [];

        _fnc_forEachCategoryPair = {
            _value params ["_categoryDisplayName","_itemsHash"];
            _categoryName = _key;

            if !(_categoryName in _allCategoryNames) then {_deleteCategoryKeys pushBack _categoryName} else {

                _allItems = "true" configClasses (missionConfigFile >> "CfgGradBuymenu" >> _baseName >> _categoryName);
                _allItemNames = _allItems apply {configName _x};
                _deleteItemKeys = [];

                _fnc_forEachItemPair = {
                    _itemName = _key;

                    if !(_itemName in _allItemNames) then {_deleteItemKeys pushBack _itemName};
                };

                [_itemsHash, _fnc_forEachItemPair] call CBA_fnc_hashEachPair;
                {
                    INFO_2("%1 category no longer available - deleting from %2.",_x,_categoryDisplayName);
                    [_itemsHash,_x] call CBA_fnc_hashRem;
                    false
                } count _deleteItemKeys;
            };
        };

        [_categoriesHash, _fnc_forEachCategoryPair] call CBA_fnc_hashEachPair;
        {
            INFO_2("%1 category no longer available - deleting from %2.",_x,_baseDisplayName);
            [_categoriesHash,_x] call CBA_fnc_hashRem;
            false
        } count _deleteCategoryKeys;
    };
};

[_hash, _fnc_forEachPair] call CBA_fnc_hashEachPair;
{
    INFO_2("%1 base class no longer available - deleting from %2.",_x,grad_lbm_trackingTag);
    [_hash,_x] call CBA_fnc_hashRem;
    false
} count _deleteBaseKeys;
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

params ["_hash"];

private _allBaseSets = "true" configClasses (missionConfigFile >> "CfgGradBuymenu");
{
    _baseConfigName = configName _x;
    _allCategories = "true" configClasses _x;
    {
        _categoryConfigName = configName _x;
        _allItems = "true" configClasses _x;
        {
            _itemConfigName = configName _x;
            ([_baseConfigName,_categoryConfigName,_itemConfigName,0,false] call grad_lbm_tracking_fnc_trackPurchase) params ["_itemDisplayName","_itemAmount"];
            if (_itemAmount == 0 && _itemDisplayName != "") then {INFO_3("New item: %1 >> %2 >> %3.",_baseConfigName,_categoryConfigName,_itemConfigName)};
            false
        } count _allItems;
        false
    } count _allCategories;
    false
} count _allBaseSets;
/*  Tracks purchase.
*
*   Hash structure:
*   Trackinghash [HASH - Basesets]
*       Basedata [BaseDisplayName,[HASH - Categories]]
*           Categorydata [CategoryDisplayName,[HASH - Items]]
*               Itemsdata [ItemDisplayName,ItemAmount]
*
*   Returns:
*   [ItemDisplayName,ItemAmount]
*/

#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

#include "..\..\defines_tracking.hpp"

params ["_baseConfigName","_categoryConfigName","_itemConfigName",["_purchaseAmount",1],["_save",true]];

private _doTrack = [(missionConfigFile >> "CfgGradBuymenu" >>  "tracking"), "number", 0] call CBA_fnc_getConfigEntry;
_doTrack = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> "tracking"), "number", _doTrack] call CBA_fnc_getConfigEntry;
_doTrack = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> "tracking"), "number", _doTrack] call CBA_fnc_getConfigEntry;
_doTrack = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "tracking"), "number", _doTrack] call CBA_fnc_getConfigEntry;
if (_doTrack != 1 || !(missionNamespace getVariable ["grad_lbm_tracking_enabled",true])) exitWith {["",0]};

private _trackHash = profileNamespace getVariable [grad_lbm_trackingTag,false];
if (_trackHash isEqualType false) then {_trackHash = [] call grad_lbm_fnc_tracking_initTracking};

if !([_trackHash,_baseConfigName] call CBA_fnc_hashHasKey) then {
    [_trackHash,_baseConfigName,[_baseConfigName,[[],false] call CBA_fnc_hashCreate]] call CBA_fnc_hashSet;
};

private _baseHash = ([_trackHash,_baseConfigName] call CBA_fnc_hashGet) select 1;

if !([_baseHash,_categoryConfigName] call CBA_fnc_hashHasKey) then {
    _categoryConfigDisplayName = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> "displayName"), "text", _categoryConfigName] call CBA_fnc_getConfigEntry;
    [_baseHash,_categoryConfigName,[_categoryConfigDisplayName,[[],[0,""]] call CBA_fnc_hashCreate]] call CBA_fnc_hashSet;
};

private _categoryHash = ([_baseHash,_categoryConfigName] call CBA_fnc_hashGet) select 1;

([_categoryHash,_itemConfigName] call CBA_fnc_hashGet) params ["_itemAmount","_itemDisplayName"];

_itemAmount = _itemAmount + _purchaseAmount;
_itemDisplayName = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "displayName"), "text", [_itemConfigName] call grad_lbm_fnc_getDisplayName] call CBA_fnc_getConfigEntry;
[_categoryHash,_itemConfigName,[_itemAmount,_itemDisplayName]] call CBA_fnc_hashSet;

if (_save) then {saveProfileNamespace};

[_itemDisplayName,_itemAmount]
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

#include "..\..\defines_tracking.hpp"

params ["_data","_display"];

if (isNull _display) exitWith {};

private _buyablesDropdown = _display displayCtrl DROPDOWN_BUYABLES_IDC;
lbClear _buyablesDropdown;
if !([_data] call CBA_fnc_isHash) exitWith {[_buyablesDropdown,-1] call grad_lbm_tracking_fnc_updateCategoryDropdown};

if ([_data] call CBA_fnc_hashSize > 0) then {
    _dropdownIndex = _buyablesDropdown lbAdd "ALL";
    _buyablesDropdown lbSetData [_dropdownIndex,str _data];
};

private _fnc_forEachSet = {
    _value params ["_displayName","_buyablesdata"];

    _dropdownIndex = _buyablesDropdown lbAdd _displayName;
    _buyablesDropdown lbSetData [_dropdownIndex, str _buyablesdata];
};
[_data, _fnc_forEachSet] call CBA_fnc_hashEachPair;
if (lbSize _buyablesDropdown > 0) then {_buyablesDropdown lbSetCursel 0};
[_buyablesDropdown,lbCursel _buyablesDropdown] call grad_lbm_tracking_fnc_updateCategoryDropdown;
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

#include "..\..\ui_toolkit.hpp"
#include "..\..\defines_tracking.hpp"

params ["_buyablesDropdown","_curSelIndex"];

private _display = ctrlParent _buyablesDropdown;
private _categoryDropdown = _display displayCtrl DROPDOWN_CATEGORY_IDC;
lbClear _categoryDropdown;

if (_curSelIndex < 0) exitWith {};

private _selData = _buyablesDropdown lbData _curSelIndex;
private _selHash = call compile _selData;


private _selDataSets = if (_buyablesDropdown lbText _curSelIndex == "ALL") then {
    _dataSets = [];
    _fnc_forEachPair = {
        _value params ["_baseDisplayName","_baseHash"];
        _dataSets pushBack _baseHash;
    };
    [_selHash,_fnc_forEachPair] call CBA_fnc_hashEachPair;
    _dataSets
} else {
    [_selHash]
};


if ([_selHash] call CBA_fnc_hashSize > 0) then {
    _dropdownIndex = _categoryDropdown lbAdd "ALL";
    _allCategoryData = [];
    {
        _fnc_forEachSet = {
            _value params ["_displayName","_categoryData"];
            _allCategoryData pushBack _categoryData;
        };
        [_x,_fnc_forEachSet] call CBA_fnc_hashEachPair;

        false
    } count _selDataSets;
    _categoryDropdown lbSetData [_dropdownIndex,str _allCategoryData];
};


{
    _fnc_forEachSet = {
        _value params ["_displayName","_categoryData"];

        _dropdownIndex = _categoryDropdown lbAdd _displayName;
        _categoryDropdown lbSetData [_dropdownIndex, str [_categoryData]];
    };
    [_x,_fnc_forEachSet] call CBA_fnc_hashEachPair;
    if (lbSize _categoryDropdown > 0) then {_categoryDropdown lbSetCursel 0};

    false
} count _selDataSets;
#define PREFIX GRAD
#define COMPONENT lbm_tracking
#include "\x\cba\addons\main\script_macros_mission.hpp"

#include "..\..\ui_toolkit.hpp"
#include "..\..\defines_tracking.hpp"

params ["_categoryDropdown","_curSelIndex"];

private _display = ctrlParent _categoryDropdown;
private _data = if (_curSelIndex >= 0) then {call compile (_categoryDropdown lbData _curSelIndex)} else {[]};
asdasd = _data;
private _maxAmount = [_data] call grad_lbm_tracking_fnc_getMax;
private _mainGroup = _display displayCtrl MAIN_IDC;
private _mainBG = _display displayCtrl MAIN_BG_IDC;
private _barIDC = BAR_STARTING_IDC;
private _textIDC = BAR_TEXT_STARTING_IDC;
private _linesIDC = MAIN_LINES_IDC;
private _numbersIDC = MAIN_NUMBERS_IDC;


//CLEAR ========================================================================
while {!isNull (_display displayCtrl _barIDC)} do {
    ctrlDelete (_display displayCtrl _barIDC);
    _barIDC = _barIDC + 1;
};

while {!isNull (_display displayCtrl _textIDC)} do {
    ctrlDelete (_display displayCtrl _textIDC);
    _textIDC = _textIDC + 1;
};

while {!isNull (_display displayCtrl _linesIDC)} do {
    ctrlDelete (_display displayCtrl _linesIDC);
    _linesIDC = _linesIDC + 1;
};

while {!isNull (_display displayCtrl _numbersIDC)} do {
    ctrlDelete (_display displayCtrl _numbersIDC);
    _numbersIDC = _numbersIDC + 1;
};


//CREATE BARS ==================================================================
private _previousAmount = 0;
private _previousIndex = 0;
{
    _x params ["",["_keys",[]],["_values",[]]];
    _previousAmount = _previousAmount + _previousIndex;
    _categoryIndex = if (count _data == 1) then {(_curSelIndex-1) max 0} else {_forEachIndex};
    {
        _barColorRGBA = BARCOLORS_RGBA select (_categoryIndex mod (count BARCOLORS_RGBA));
        _barColor = _barColorRGBA apply {_x/255};

        _key = _x;
        _value = _values select _forEachIndex;
        _value params ["_amount","_displayName"];

        _barY = BAR_STARTING_Y + BAR_DISTANCE_Y*(_forEachIndex+_previousAmount) + BAR_H*(_forEachIndex+_previousAmount);
        _barW = if (_amount > 0) then {BAR_MAX_W * (_amount/(_maxAmount max 1))} else {BAR_MAX_W * 0.01};

        _bar = _display ctrlCreate ["RscBackground",BAR_STARTING_IDC + (_forEachIndex+_previousAmount),_mainGroup];
        _bar ctrlSetPosition [BAR_X, _barY, _barW, BAR_H];
        _bar ctrlSetBackgroundColor _barColor;
        _bar ctrlSetTooltip format ["%1\n%2\nAmount: %3",_key,_displayName,_amount];
        _bar ctrlCommit 0;

        _text = _display ctrlCreate ["RscBackground",BAR_TEXT_STARTING_IDC + (_forEachIndex+_previousAmount),_mainGroup];
        _text ctrlSetPosition [BAR_TEXT_X, _barY, BAR_TEXT_W, BAR_H];
        _text ctrlSetText _displayName;
        _text ctrlSetBackgroundColor [0,0,0,0];
        _text ctrlSetFontHeight (0.04 * TEXT_SCALE);
        _text ctrlSetTextColor [0,0,0,1];
        _text ctrlCommit 0;

        _previousIndex = _forEachIndex;
    } forEach _keys;
    _previousIndex = _previousIndex + 1;

    false
} forEach _data;


//CREATE DIVISIONS =============================================================
private _maxNumberOfDivisions = 14;
private _numberOfDivisions = 4;
private _minMod = 100;
for [{_i=_numberOfDivisions}, {_i<=_maxNumberOfDivisions}, {_i=_i+1}] do {
    if (_maxAmount mod _i < _minMod) then {
        _xStepTest = floor (_maxAmount/_i);

        if (
            _xStepTest mod 2 == 0 ||
            _xStepTest mod 5 == 0 ||
            _xStepTest mod 10 == 0
        ) then {
            _numberOfDivisions = _i; _minMod = _maxAmount mod _i
        };
    };
};
_numberOfDivisions = (_numberOfDivisions min _maxAmount);

private _xStep = (floor (_maxAmount/(_numberOfDivisions max 1))) max 1;
private _xStepW = BAR_MAX_W / ((_maxAmount / _xStep) max 1);

for [{_i=0}, {_i <= _numberOfDivisions}, {_i=_i+1}] do {

    _xPercentage = _xStep * _i;

    _line = _display ctrlCreate ["RscBackground",MAIN_LINES_IDC+_i];
    _line ctrlSetPosition [MAIN_X + BAR_X - (LINE_W/2) + (_i * _xStepW),LINE_Y,LINE_W,LINE_H];
    _line ctrlSetBackgroundColor LINECOLOR;
    _line ctrlCommit 0;

    _number = _display ctrlCreate ["RscTextNoShadow",MAIN_NUMBERS_IDC+_i];
    _number ctrlSetPosition [MAIN_X + BAR_X - (NUMBER_W/2) + (_i * _xStepW),NUMBER_Y,NUMBER_W,NUMBER_H];
    _number ctrlSetTextColor NUMBERCOLOR;
    _number ctrlSetText str (_i * _xStep);
    _number ctrlCommit 0;
};
/*  Updates (enables/disables) the buy button
*
*/

#include "..\..\dialog\defines.hpp"
params ["_baseConfigName", "_categoryConfigName", "_itemConfigName", "_price"];
disableSerialization;

_dialog = findDisplay grad_lbm_DIALOG;
_buyCtrl = _dialog displayCtrl grad_lbm_BUYBUTTON;

//no permission
_permissionLevel = [_baseConfigName,_categoryConfigName,_itemConfigName] call grad_lbm_fnc_getItemPermissionLevel;
if (_permissionLevel > (player getVariable ["grad_lbm_permissionLevel",0])) exitWith {
    _buyCtrl ctrlEnable false;
    _buyCtrl ctrlSetText "NO PERMISSION";
};

//not enough money
if (([] call grad_lbm_fnc_getCurrentFunds) < _price) exitWith {
    _buyCtrl ctrlEnable false;
    _buyCtrl ctrlSetText "NOT ENOUGH CREDITS";
};

//out of stock
_stock = [_baseConfigName, _categoryConfigName, _itemConfigName] call grad_lbm_fnc_getStock;
if (_stock <= 0) exitWith {
    _buyCtrl ctrlEnable false;
    _buyCtrl ctrlSetText "OUT OF STOCK";
};

//all is well
_buyCtrl ctrlEnable true;
_buyCtrl ctrlSetText "BUY";
/*  Updates category combolistbox
*
*/

#include "..\..\dialog\defines.hpp"
params [["_baseConfigName", ""]];
disableSerialization;

_dialog = findDisplay grad_lbm_DIALOG;
_categoryCtrl = _dialog displayCtrl grad_lbm_CATEGORY;

_baseConfig = missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName;
_allCategories = "true" configClasses _baseConfig;
_categoryIndex = 0;
{
    _config = _x;
    _condition = [(_config >> "condition"), "text", "true"] call CBA_fnc_getConfigEntry;

    if (call compile _condition) then {
        _configName = configName _config;

        _displayName = [(_config >> "displayName"), "text", ""] call CBA_fnc_getConfigEntry;
        if (_displayName == "") then {_displayName = _configName};

        _categoryCtrl lbAdd _displayName;

        _data = str [_baseConfigName, _configName];
        _categoryCtrl lbSetData [_categoryIndex, _data];

        _categoryIndex = _categoryIndex + 1;
    };
} forEach _allCategories;

if (lbSize _categoryCtrl > 0) then {
    _selection = (player getVariable ["grad_lbm_lastSelectedCategoryIndex",0]);
    if (_selection > (lbSize _categoryCtrl - 1)) then {_selection = 0};
    _categoryCtrl lbSetCurSel _selection;
};
/*  Updates funds text (top right) in buy menu
*
*/

#include "..\..\dialog\defines.hpp"
disableSerialization;

_dialog = findDisplay grad_lbm_DIALOG;
if (isNull _dialog) exitWith {};

_funds = [] call grad_lbm_fnc_getCurrentFunds;

_myfundsCtrl = _dialog displayCtrl grad_lbm_MYFUNDS;
_myfundsCtrl ctrlSetText format ["CREDITS: %1",_funds];
/*  Updates stock, description in buy menu
*
*/

#include "..\..\dialog\defines.hpp"
disableSerialization;

_dialog = findDisplay grad_lbm_DIALOG;
if (isNull _dialog) exitWith {};

_descCtrl = _dialog displayCtrl grad_lbm_DESCRIPTION;
_listCtrl = _dialog displayCtrl grad_lbm_ITEMLIST;

_selIndex = lnbCurSelRow _listCtrl;

(call compile (_listCtrl lnbData [_selIndex,0])) params ["_baseConfigName", "_categoryConfigName", "_itemConfigName", "_displayName", "_price", "_description", "_code", "_picturePath"];

//set description
_stock = [_baseConfigName, _categoryConfigName, _itemConfigName] call grad_lbm_fnc_getStock;
_categoryDescription = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> "description"),"text",""] call CBA_fnc_getConfigEntry;
_inStockText = if (_stock > 0) then {format ["IN STOCK: %1<br/><br/>", _stock]} else {"<t color='#FF0000'>OUT OF STOCK</t><br/><br/>"};
_descCtrl ctrlSetStructuredText parseText (_inStockText + _categoryDescription + _description);

//disable buy button if out of stock
[_baseConfigName, _categoryConfigName, _itemConfigName, _price] call grad_lbm_fnc_updateBuyButton;
/*  Updates itemlist based on chosen category
*
*/

#include "..\..\dialog\defines.hpp"
params ["_categoryCtrl", "_selIndex"];
disableSerialization;

_dialog = findDisplay grad_lbm_DIALOG;
_listCtrl = _dialog displayCtrl grad_lbm_ITEMLIST;

(call compile (_categoryCtrl lbData _selIndex)) params ["_baseConfigName", "_categoryConfigName"];

_allItems = "true" configClasses (missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName);
lnbClear _listCtrl;
_listIndex = 0;
{
    _config = _x;
    _condition = [(_config >> "condition"), "text", "true"] call CBA_fnc_getConfigEntry;

    if (call compile _condition) then {
        _itemConfigName = configName _config;
        _displayName = [(_config >> "displayName"), "text", [_itemConfigName] call grad_lbm_fnc_getDisplayName] call CBA_fnc_getConfigEntry;
        _price = [(_config >> "price"), "number", 999999] call CBA_fnc_getConfigEntry;
        _description = [(_config >> "description"), "text", [_itemConfigName] call grad_lbm_fnc_getDescription] call CBA_fnc_getConfigEntry;
        _code = compile ([(_config >> "code"), "text", ""] call CBA_fnc_getConfigEntry);
        _picturePath = [(_config >> "picture"), "text", ""] call CBA_fnc_getConfigEntry;

        _listCtrl lnbAddRow [format ["%1 Cr", _price], _displayName];

        _data = str [_baseConfigName, _categoryConfigName, _itemConfigName, _displayName, _price, _description, _code, _picturePath];
        _listCtrl lnbSetData [[_listIndex,0], _data];

        _listIndex = _listIndex + 1;
    };
} forEach _allItems;

if (((lnbSize _listCtrl) select 0) > 0) then {_listCtrl lnbSetCurSelRow 0};

//save last category selection
player setVariable ["grad_lbm_lastSelectedCategoryIndex", lbCurSel _categoryCtrl];
/*  Updates item picture
*
*/

#include "..\..\dialog\defines.hpp"
disableSerialization;

_dialog = findDisplay grad_lbm_DIALOG;
if (isNull _dialog) exitWith {};

_listCtrl = _dialog displayCtrl grad_lbm_ITEMLIST;
_pictureCtrl = _dialog displayCtrl grad_lbm_PICTURE;
_modelCtrl = _dialog displayCtrl grad_lbm_3DMODEL;

_selIndex = lnbCurSelRow _listCtrl;

(call compile (_listCtrl lnbData [_selIndex,0])) params ["_baseConfigName", "_categoryConfigName", "_itemConfigName", "_displayName", "_price", "_description", "_code", "_picturePath"];

_isVehicle = [_itemConfigName] call grad_lbm_fnc_isVehicle;

//3D model
if (_isVehicle) then {
    _modelPath = getText (configfile >> "CfgVehicles" >> _itemConfigName >> "model");
    _modelSize = [GRAD_LBM_VEHICLESIZES, _itemConfigName] call CBA_fnc_hashGet;
    _modelFactor = [(missionConfigFile >> "CfgGradBuymenu" >> _baseConfigName >> _categoryConfigName >> _itemConfigName >> "previewScale"), "number", 1] call CBA_fnc_getConfigEntry;
    _modelScale = 1/_modelSize * 0.5 * _modelFactor;

    _modelCtrl ctrlSetModel _modelPath;
    _modelCtrl ctrlSetModelScale _modelScale;

    _modelCtrl ctrlCommit 0;
    _pictureCtrl ctrlShow false;
    _modelCtrl ctrlShow true;
    _modelCtrl ctrlEnable false;

//picture
} else {
    if (_picturePath == "") then {
        _picturePath = [_itemConfigName] call grad_lbm_fnc_getPicturePath;
    };
    if (_picturePath == "") then {
        _picturePath = (missionNamespace getVariable ["grad_lbm_moduleRoot", [] call grad_lbm_fnc_getModuleRoot]) + "\data\questionmark.paa";
    };
    _pictureCtrl ctrlSetText _picturePath;

    _modelCtrl ctrlShow false;
    _pictureCtrl ctrlShow true;
};
#include "dialog\ui_toolkit.hpp"

#include "dialog\baseDefines.hpp"
#include "dialog\baseRsc.hpp"

#include "dialog\defines.hpp"
#include "dialog\dialog.hpp"
{
  "_from": "grad-listbuymenu@0.9.0",
  "_id": "grad-listbuymenu@0.9.0",
  "_inBundle": false,
  "_integrity": "sha512-1ylx27z+5ba+5Zpmxgno6joaCu9qL5X2+pzLY7JkHQWg+q1z6TIGJt18AgLmmpGNWTsPlKV4Cut9Fgl+CzmFYA==",
  "_location": "/grad-listbuymenu",
  "_phantomChildren": {},
  "_requested": {
    "type": "version",
    "registry": true,
    "raw": "grad-listbuymenu@0.9.0",
    "name": "grad-listbuymenu",
    "escapedName": "grad-listbuymenu",
    "rawSpec": "0.9.0",
    "saveSpec": null,
    "fetchSpec": "0.9.0"
  },
  "_requiredBy": [
    "#USER",
    "/"
  ],
  "_resolved": "https://registry.npmjs.org/grad-listbuymenu/-/grad-listbuymenu-0.9.0.tgz",
  "_shasum": "750592a78456ffbc2d7497ffc3e2a9e1a047d22a",
  "_spec": "grad-listbuymenu@0.9.0",
  "_where": "C:\\Users\\nomisum\\Documents\\Arma 3\\missions\\TvT_BreakingContact.Stratis",
  "bundleDependencies": false,
  "deprecated": false,
  "description": "a simple interface to buy stuff",
  "name": "grad-listbuymenu",
  "version": "0.9.0"
}
# GRAD List-Buymenu - [WIKI](https://github.com/gruppe-adler/grad-listBuymenu/wiki) for more information
A simple interface to buy stuff.

![](http://i.imgur.com/asSxvsi.jpg)

## Dependencies
* [CBA_A3](https://github.com/CBATeam/CBA_A3)
* [ACE3](https://github.com/acemod/ACE3)
// ******************************************************************************************
// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *
// ******************************************************************************************
//	@file Name: ui_toolkit.hpp
//	@file Author: AgentRev

// Arma UI Mini Toolkit v1.0 by AgentRev

// Uncomment the define below if you want your UIs to scale according to the UI size selected by the user
//#define FOLLOW_UI_SIZE

// Uncomment the define below if you want your UIs to scale according to the resolution selected by the user
#define FOLLOW_RESOLUTION

// This is the percentage from the dev resolution that the UI must start compensating in order to stay at a reasonable size (ex: UI cannot get smaller than 75% from the dev resolution)
#define FOLLOW_RES_LOWER_CAP 0.75

// Effects:
// FOLLOW_UI_SIZE only = UI will be scaled according to the user's UI size, relative from UI_SIZE_DEV below, regardless of the resolution (not recommended)
// FOLLOW_RESOLUTION only = UI will be scaled according to the resolution, relative from RES_Y_DEV below, regardless of the user's UI size
// both commented = UI will be the same size in pixels across all UI sizes and resolutions
// both uncommented = UI will be scaled according to the resolution, then scaled according to the user's UI size

// ----- Interface size & resolution -----
#define UI_VSMALL 0.47
#define UI_SMALL 0.55
#define UI_NORMAL 0.7
#define UI_LARGE 0.85
#define UI_VLARGE 1.0

#define UI_SIZE_DEV UI_SMALL // If you want your text to stay the same size across all UI sizes, change this to your UI size
#define UI_SIZE (getResolution select 5) // Interface size selected in game options

#define RES_Y_DEV 1080 // If you want your UIs to stay the same size across all resolutions, change this to your game's resolution height
#define RES_Y (getResolution select 1) // Resolution height in pixels

// ----- Safezone & scales -----
#define SZ_LEFT safezoneX            // X left
#define SZ_RIGHT (1 - SZ_LEFT) // X right
#define SZ_TOP safezoneY             // Y top
#define SZ_BOTTOM (1 - SZ_TOP) // Y bottom

// Determine if UI & text scales are relative to UI size
#ifdef FOLLOW_UI_SIZE
	#define UI_SCALE (UI_SIZE / UI_SIZE_DEV) // Constant UI scale across all UI sizes
	#define TEXT_SCALE_UI 1 // Regular text scale
#else
	#define UI_SCALE 1 // Regular UI scale
	#define TEXT_SCALE_UI (UI_SIZE_DEV / UI_SIZE) // Compensate text scale against UI size
#endif

// Determine if UI scale is relative to resolution
#ifdef FOLLOW_RESOLUTION
	#define RES_SCALE (((RES_Y_DEV * FOLLOW_RES_LOWER_CAP) / RES_Y) max 1) // Regular UI scale, with lower cap
#else
	#define RES_SCALE (RES_Y_DEV / RES_Y) // Constant UI scale across all resolutions below dev resolution
#endif

#define TEXT_SCALE (TEXT_SCALE_UI * RES_SCALE) // Compensate text scale against resolution

// Set scales
#define SZ_SCALE_ABS (safezoneW min safezoneH)
#define SZ_SCALE (SZ_SCALE_ABS * RES_SCALE * UI_SCALE) // the smallest safezone is used for size ref (because W < H if ratio < 4/3)
#define X_SCALE (SZ_SCALE * 0.75) // cancels 4/3 ratio applied on X and W values by engine, so that X and Y have a uniform scale
#define Y_SCALE (SZ_SCALE * 1.0)

// Offsets
#define X_OFFSET 0
#define Y_OFFSET 0

// Positions relative to top left, plus above offsets
#define X_POS(VALUE) (SZ_LEFT + ((VALUE + X_OFFSET) * X_SCALE)) // stretches X value to full screen width
#define Y_POS(VALUE) (SZ_TOP + ((VALUE + Y_OFFSET) * Y_SCALE)) // stretches Y value to full screen height

// Function to find child offset relative to parent pos for centering inside
#define CENTER(PARENT_SIZE, CHILD_SIZE) ((PARENT_SIZE / 2) - (CHILD_SIZE / 2))
#ifndef MODULES_DIRECTORY
    #define MODULES_DIRECTORY modules
#endif

class GRAD_Loadout {
    class Api {
        file = MODULES_DIRECTORY\grad-loadout\functions\api;
        class doLoadoutForUnit {};
        class loadoutViewer {};
        class setAllowedCategories {};
        class setRandomizationMode {};
        class verifyLoadouts {};
    };
    class customgear {
        file = MODULES_DIRECTORY\grad-loadout\functions\customgear;
        class addCustomGearInteraction {};
        class createCustomGearDialog {};
        class getCurrentItem {};
        class getCustomGearOptions {};
        class initCustomGear {preInit = 1;};
        class onCustomGearListSelection {};
        class onCustomGearTabButton {};
        class onCustomGearUnload {};
        class openCustomGearDialog {};
        class updateCamera {};
    };
    class Defactionizers {
        file = MODULES_DIRECTORY\grad-loadout\functions\defactionizers;
        class vanillaCivDefactionizer {};
        class vanillaMilitaryDefactionizer {};
    };
    class Extract {
        file = MODULES_DIRECTORY\grad-loadout\functions\extract;
        class getPathExtractor {};
        class extractLoadoutFromConfig {};
    };
    class General {
        file = MODULES_DIRECTORY\grad-loadout\functions\general;
        class addChatCommands {postInit = 1;};
        class applyLoadout {};
        class assignRespawn {postInit = 1;};
        class defactionizeType {};
        class doLoadout {};
        class factionGetLoadout {};
        class factionSetLoadout {};
        class getApplicableUnits {};
        class getLoadoutConfigPath {};
        class getUnusedConfigs {};
        class getUnitLoadoutFromConfig {};
        class hashToUnitLoadout {};
        class initGlobals {preinit = 1;};
        class mergeLoadoutHierarchy {};
        class normalizeContent {};
        class randomizeLoadout {};
        class removeRadios {preinit = 1;};
        class scheduleLoadout {postInit = 1;};
        class weaponIsCompatibleMagazine {};
    };
    class Revivers {
        file = MODULES_DIRECTORY\grad-loadout\functions\revivers;
        class getRevivers {};
        class addReviver {};
        class applyRevivers {};
    };
};
# Configuration
You can configure GRAD Loadout by adding the `Loadouts` class to your `description.ext`. This is entirely optional, as all parameters have default values.

## Parameters

Parameter                   | Default Value | Description
----------------------------|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
baseDelay                   | 10            | Number - Base delay in seconds after mission start before loadout is applied.
perPlayerDelay              | 1             | Number - A random delay between 0 and `(number of players) * perPlayerDelay` is added to `baseDelay`.
handleRadios                | 0             | 0/1 - Sets if loadouts will contain radios. Set this to 0 if you plan on using TFAR's automatic radio distribution for example.
resetLoadout                | 0             | 0/1 - Sets if a unit's default loadout will be cleared before GRAD Loadout is applied. Set this to 0 if you plan to only replace a factions uniforms for example.
randomizationMode           | 1             | 0/1/2/3 - Sets randomization mode (if [supported by loadout](creatingLoadouts.md#Randomization)). 0 to disable, 1 to enable, 2 to enable for players only, 3 to enable for AI only.
customGear                  | 300           | Number or Statement - See [customGear](customGear.md) for more info. Condition for `customGear` interaction. Set to -1 to disable `customGear`.
customGearAllowedCategories | all supported | Array of strings - See [customGear](customGear.md) for more info. Sets allowed categories that can be customized with `customGear`.

## Example

```sqf
class Loadouts {
    baseDelay = 10;
    perPlayerDelay = 1;
    handleRadios = 0;
    resetLoadout = 1;
    randomizationMode = 1;
    customGear = 300;
    customGearAllowedCategories[] = {"uniform","vest"};
};
```
# Creating Loadouts
Loadouts are defined in the `Loadouts` class in your `description.ext`. If you don't want to read all this, there is also a [generator here](http://gruppe-adler.de/api/grad-loadout/).

**Short Example:**
```sqf
class Loadouts {
    class AllPlayers {
        primaryWeapon = "RH_m4a1_ris";
    };
    class Type {
        class AV_IndUs_SL_Des {
            primaryWeaponOptics = "RH_ta31rco";
        };
        class AV_IndUs_Marksman_M14_Des {
            primaryWeapon = "RH_mk12mod1";
            primaryWeaponOptics = "RH_ta31rco";
        };
    };
};
```

## Debugging
To see if your loadouts were applied correctly, you can use the chat command `#grad-loadout viewer` to open the loadoutViewer and inspect all units.
To check all currently loaded loadouts, you can use the chat command `#grad-loadout verify`. This will test the loadouts of all units currently in the game and output errors and warning to your rpt file.

## Randomization
If you are defining an array where you would usually expect a single item (e.g. `uniform`, `primaryWeapon`, etc.) a random item of the array will be selected on a per-unit basis, if not disabled by config or script (see [GRAD_Loadout_fnc_setRandomizationMode](functions.md#GRAD_Loadout_fnc_setRandomizationMode) and [Configuration](configuration.md)).

**Example:**
```sqf
class AllUnits {
	uniform[] = {"U_C_man_sport_1_F", "U_BG_Guerilla2_1"};
};
```

## Options
These are the different options can use for making a loadout, with a bit of an explanation of how they behave.
The loadout options are completely modular, just use what you need and nothing more:

| Option                             | Explanation                                                                      |
|------------------------------------|----------------------------------------------------------------------------------|
| `uniform`                          | Replaces uniform.                                                                |
| `backpack`                         | Replaces backpack.                                                               |
| `vest`                             | Replaces vest.                                                                   |
| `addItemsToUniform[]`              | Adds items/magazines to the uniform.                                             |
| `addItemsToVest[]`                 | Adds items/magazines to the vest.                                                |
| `addItemsToBackpack[]`             | Adds items/magazines to the backpack.                                            |
| `primaryWeapon`                    | Replaces primary weapon.                                                         |
| `secondaryWeapon`                  | Replaces secondary weapon.                                                       |
| `handgunWeapon`                    | Replaces handgun.                                                                |
| `primaryWeaponMagazine`            | Set loaded magazine for primary weapon.                                          |
| `primaryWeaponMuzzle`              | Set muzzle attachment of primary weapon.                                         |
| `primaryWeaponOptics`              | Set scope of primary weapon.                                                     |
| `primaryWeaponPointer`             | Set flashlight attachment of primary weapon                                      |
| `primaryWeaponUnderbarrel`         | Set bipod/GL attachment of primary weapon.                                       |
| `primaryWeaponUnderbarrelMagazine` | Set loaded GL magazine of primary weapon.                                        |
| `secondaryWeapon...`               | same as with primary weapon attachments.                                         |
| `handgunWeapon...`                 | same as with primary weapon attachments.                                         |
| `headgear`                         | Replaces headgear.                                                               |
| `goggles`                          | Replaces goggles.                                                                |
| `nvgoggles`                        | Replaces nightvision goggles.                                                    |
| `binoculars`                       | Replaces binoculars.                                                             |
| `map`                              | Replaces map.                                                                    |
| `gps`                              | Replaces gps.                                                                    |
| `compass`                          | Replaces compass.                                                                |
| `watch`                            | Replaces watch.                                                                  |
| `radio`                            | Replaces radio (set also `handleRadios`, see [Configuration](configuration.md) ) |

## Classes
There are a couple of generic classes for you to use, ontop of being able to specify a unit classname and just designating a unit name. The priority in order is this:

* Loadouts/
    * AllUnits
    * AllAi
    * AllPlayable
    * AllPlayers
    * Side/
        * Blufor|Opfor|Independent|Civilian
        * BluforAi|OpforAi|IndependentAi|CivilianAi
        * BluforPlayer|OpforPlayer|IndependentPlayer|CivilianPlayer
    * Type/
        * class name, e.g. B_Soldier_F
    * Rank/
        * rank, e.g. CAPTAIN
    * Name/
        * editor name
    * Role/
        * unit role
    * Faction/
        * faction name, e.g. BLU_F . Aliasing possible, see [GRAD_Loadout_fnc_FactionSetLoadout](functions.md#GRAD_Loadout_fnc_factionSetLoadout)!
            * AllUnits
            * AllAi
            * AllPlayers
            * Type – here, the de-factionized type name, e.g. Soldier_F
            * Rank
            * Name

Loadout is read from top to bottom, and augemented/overwritten along the way.

## Special Case: Using "Faction"
Most of the classes mentioned above are self explanatory, but a few words need to be said about the `Faction` class:

`Faction` allows you to create `typeOf` unit based loadouts that can then be dynamically assigned to any of the three main vanilla faction (NATO, CSAT, AAF) - this is shown in the [Complete Example](creatingLoadouts.md#Complete-Example). For this to work, you need to use the *defactionized* type of a unit, so instead of `B_Soldier_F` (which is a BLUFOR rifleman) you would use `Soldier_F` (which is any rifleman).

Grad-Loadout will check if a unit can be defactionized and then check if an applicable loadout exists. If Grad-Loadout encounters a unit that can not be defactionized (i.e. a unit that is not one of the three vanilla factions), it will instead look for its full `typeOf` name.

**Example 1:**
```sqf
// initServer.sqf
// the "MyLoadout" loadouts class is assigned to both the BLU_F and gmx_fc_tak factions
["BLU_F", "MyLoadout", true] call GRAD_Loadout_fnc_factionSetLoadout;
["gmx_fc_tak", "MyLoadout", true] call GRAD_Loadout_fnc_factionSetLoadout;
```

```sqf
class Loadouts {
    class Faction {
        class MyLoadout {
            class Type {
                // a NATO (BLU_F) Rifleman will receive this loadout
                class Soldier_F {
                    // Soldier_F loadout
                };

                // a Takistan Army (gmx_fc_tak) Rifleman will receive this loadout
                class gmx_tak_army_rifleman: Soldier_F {};
            };
        };
    };
};
```

## Special Case: Weapons in backpacks
If you want to add a weapon to a backpack, simply add the weapon's classname to `addItemsToBackpack` like you would with any other item. However, if you want the weapon to have attachments and/or loaded magazines, the config has to look like the following examples. Note that the weapon class has to be inside the same parent class as the `addItemsToBackpack` property where it is used.

**Example 1:**
```sqf
addItemsToBackpack[] = {"arifle_Mk20C_F", ...};
class arifle_Mk20C_F {
    muzzle = "";
    pointer = "";
    optics = "";
    magazine = "30Rnd_556x45_Stanag";
    underBarrelMagazine = "";
    underBarrel = "";
};
```

**Example 2:**
```sqf
addItemsToBackpack[] = {"FancySchmazyWeapon", ...};
class FancySchmazyWeapon {
    weapon = "arifle_Mk20C_F";
    muzzle = "";
    pointer = "";
    optics = "";
    magazine = "30Rnd_556x45_Stanag";
    underBarrelMagazine = "";
    underBarrel = "";
};
```

## Complete Example
In this example the vanilla `BLU_F` faction is being used for US OCP loadouts. All units of this faction will have the OCP uniform, vest and an M4A1 primary weapon as well as a number of other items. The Rifleman (Type `Soldier_F`) is then assigned uniform and vest contents, which will be used for other roles via inheritance. For example the Assistant Autorifleman will have the same loadout as the standard Rifleman, but with an added backpack. The Autorifleman will then overwrite the `primaryWeapon` assigned in `AllUnits` to use an LMG instead. The `vest` contents that he inherits from the Rifleman will also be overwritten.

Note that a `LIST` macro is utilized here, which can be found [here](https://github.com/gruppe-adler/grad-factions/blob/master/list_macros.hpp).

```sqf
// initServer.sqf
["BLU_F", "USOCP", true] call GRAD_Loadout_fnc_factionSetLoadout;
```

```sqf
//description.ext
class Loadouts {
    class Faction {
        class USOCP {
            class AllUnits {
                uniform = "rhs_uniform_cu_ocp";
                vest = "rhsusf_iotv_ocp_Rifleman";
                backpack = "";
                headgear = "rhsusf_ach_helmet_ocp";
                primaryWeapon = "rhs_weap_m4a1_blockII_bk";
                primaryWeaponMagazine = "30Rnd_556x45_Stanag";
                primaryWeaponOptics = "rhsusf_acc_g33_T1";
                primaryWeaponUnderbarrel = "";
        		primaryWeaponUnderbarrelMagazine = "";
                secondaryWeapon = "";
                secondaryWeaponMagazine = "";
                handgunWeapon = "rhsusf_weap_m9";
                handgunWeaponMagazine = "rhsusf_mag_15Rnd_9x19_JHP";
                binoculars = "Binocular";
                map = "ItemMap";
                compass = "ItemCompass";
                watch = "ItemWatch";
                gps = "ItemGPS";
                radio = "tfar_anprc152";
            };

            class Type {
                //Rifleman
                class Soldier_F {
                    addItemsToUniform[] = {
                        LIST_1("ACE_MapTools"),
                        LIST_1("ACE_DefusalKit"),
                        LIST_2("ACE_CableTie"),
                        LIST_1("ACE_Flashlight_MX991"),

                        LIST_4("ACE_packingBandage"),
                        LIST_4("ACE_elasticBandage"),
                        LIST_4("ACE_quikclot"),
                        LIST_4("ACE_tourniquet"),
                        LIST_2("ACE_morphine"),
                        LIST_2("ACE_epinephrine")
                    };
                    addItemsToVest[] = {
                        LIST_2("HandGrenade"),
                        LIST_2("SmokeShell"),
                        LIST_2("rhsusf_mag_15Rnd_9x19_JHP"),
                        LIST_7("30Rnd_556x45_Stanag")
                    };
                };

                //Asst. Autorifleman
                class soldier_AAR_F: Soldier_F {
                    backpack = "rhsusf_assault_eagleaiii_ocp";
                    addItemsToBackpack[] = {
                        LIST_2("rhs_200rnd_556x45_M_SAW"),
                        "rhsusf_100Rnd_556x45_soft_pouch"
                    };
                };

                //Autorifleman
                class soldier_AR_F: Soldier_F {
                    primaryWeapon = "rhs_weap_m249_pip_S";
                    primaryWeaponMagazine = "rhs_200rnd_556x45_M_SAW";
                    handgunWeapon = "";
                    handgunWeaponMagazine = "";
                    vest = "rhsusf_iotv_ocp_SAW";
                    backpack = "rhsusf_assault_eagleaiii_ocp";
                    addItemsToBackpack[] = {
                        LIST_2("rhs_200rnd_556x45_M_SAW"),
                        "rhsusf_100Rnd_556x45_soft_pouch"
                    };
                    addItemsToVest[] = {
                        LIST_2("HandGrenade"),
                        LIST_2("SmokeShell")
                    };
                };

            };
        };
    };
};
```
# customGear
`customGear` is a functionality included in GRAD Loadout that allows players to customize their loadout based on a set of options. By default a player can `ACE-Selfinteract >> Equipment >> Customize loadout`, for a certain time after his loadout was applied.

A player will only ever be able to choose between the options of a randomized item in his loadout. Let's say that this is his loadout (abbreviated):

```sqf
headgear = "SMM_Helmet_A_BW_FT";
uniform[] = {"U_C_man_sport_1_F", "U_BG_Guerilla2_1"};
primaryWeapon = "rhs_weap_hk416d10";
primaryWeaponOptics[] = {"rhsusf_acc_acog2_usmc","rhsusf_acc_acog3_usmc"};
```

Only the `uniform` and `primaryWeaponOptics` are randomized, so the player will only be able to choose from the available options in those two categories. This can be further restricted (but not expanded) with the `customGearAllowedCategories` parameter below.

## Configuration
There are a set of config parameters that can be used to define how `customGear` will behave (see [Configuration](configuration.md)).

### customGear
This parameter sets when exactly a player can access the `customGear` interface via his selfinteraction menu.

* -1 to disable entirely
* number to allow for this value in seconds after last loadout application
* statement to allow while this returns `true`, parameters are `[unit]`

**Example 1:**
```sqf
class Loadouts {
    // players can access the customGear interface for 5 minutes after last loadout application
    customGear = 300;
};
```

**Example 2:**
```sqf
class Loadouts {
    // players can access the customGear interface while closer than 100 to the BLUFOR respawn marker
    customGear = "(_this select 0) distance2D (getMarkerPos "respawn_west") < 100";
};
```

### customGearAllowedCategories
This parameter sets what categories players can customize (e.g. only vest and uniform). By default these are all supported categories.

**Example:**
```sqf
class Loadouts {
    // players can only customize uniform, vest, primary weapon and optic
    customGearAllowedCategories[] = {
        "uniform",
        "vest",
        "primaryWeapon",
        "primaryWeaponOptics"
    };
};
```

## Functions

### GRAD_Loadout_fnc_addCustomGearInteraction
This will add an interaction to an object to access the `customGear` interface. Note that the condition defined via the `customGear` parameter in your `description.ext` is not applied here. Effect is local.

Param | Type   | Default Value       | Description
------|--------|---------------------|----------------------------------------------------------------------------------------------------
0     | object | -                   | The object to attach the interaction to.
1     | code   | {true}              | Condition for this interaction to be available. Passed parameters [target object, caller]
2     | array  | ["ACE_MainActions"] | Action path. See also [ACE-Wiki](https://ace3mod.com/wiki/framework/interactionMenu-framework.html)

**Example:**
```sqf
[someObject, {WEST isEqualTo side (_this select 0)}, ["ACE_MainActions"]] call grad_loadout_fnc_addCustomGearInteraction
```

### GRAD_Loadout_fnc_setAllowedCategories
This will set the allowed customization categories on a per-unit basis. Effect is global.

Param | Type   | Default Value | Description
------|--------|---------------|-----------------------------------
0     | object | -             | The unit to set the categories of.
1     | array  | []            | Array of all allowed categories.

**Example:**
```sqf
// initServer.sqf
{
    [_x, ["vest", "uniform", "backpack", "headgear"]] call GRAD_Loadout_fnc_setAllowedCategories;
} forEach (playableUnits select {EAST isEqualTo side _x });
```

## Pictures

The `customGear` interface is reminiscent of BI's virtual arsenal:
![](https://i.imgur.com/FNN54BO.jpg)
# Functions

## GRAD_Loadout_fnc_factionSetLoadout
You can dynamically alias a faction name and optionally broadcast it over network (parameter 2, bool):

Param | Type   | Default Value | Description
------|--------|---------------|--------------------------------------------------------------------------------------------
0     | string | -             | Faction name. Get this with [faction](https://community.bistudio.com/wiki/faction) command.
1     | string | -             | Loadout classname.
2     | bool   | false         | Set to true for global effect (`publicVariable`).


**Example:**
```sqf
// initServer.sqf - Set BLU_F faction to use USMC loadout.
["BLU_F", "USMC", true] call GRAD_Loadout_fnc_factionSetLoadout;
```

```sqf
// description.ext
class Loadouts {
    class Faction {
        class USMC {
            class AllUnits {
                backpack = "";
            };
        };
    };
};
```

## GRAD_Loadout_fnc_factionGetLoadout
Get loadout classname set via `GRAD_Loadout_fnc_factionSetLoadout`.

Param | Type   | Default Value | Description
------|--------|---------------|--------------------------------------------------------------------------------------------
0     | string | -             | Faction name. Get this with [faction](https://community.bistudio.com/wiki/faction) command.

**Return Value**
String - Loadout classname.

**Example:**
```sqf
// get loadout from above example
private _bluLoadoutClassname = ["BLU_F"] call GRAD_Loadout_fnc_factionGetLoadout;
```

## GRAD_Loadout_fnc_doLoadoutForUnit
Call this with unit as first parameter to dynamically assign loadout during scenario.

Param | Type   | Default Value | Description
------|--------|---------------|------------------------
0     | object | -             | Unit to do loadout for.

**Example:**
```sqf
[player] call GRAD_Loadout_fnc_doLoadoutForUnit;
```

## GRAD_Loadout_fnc_addReviver
Use to dynamically adjust loadout values. This example adds a bit of randomization to Russian helmets and broadcasts the reviver over network (parameter 2, bool):

Param | Type   | Default Value | Description
------|--------|---------------|------------------------------------------------------------------------------------------------------
0     | code   | {}            | Code block that has to return an item classname. Parameters to this are `[previous classname, unit]`.
1     | string | ""            | item option name
2     | bool   | false         | Set to true for global effect (`publicVariable`).

**Example:**
```sqf
[
    {
        params ["_value"];
        if (_value == "rhs_6b27m_digi") then {
            _value = selectRandom ["rhs_6b27m_digi", "rhs_6b27m_digi_bala"];
        };
        _value
    },
    "headgear",
    true
] call GRAD_Loadout_fnc_addReviver;
```

## GRAD_Loadout_fnc_setRandomizationMode
Sets randomization mode of a unit, overriding the [config set value](configuration.md). Effect is global.

Param | Type   | Default Value | Description
------|--------|---------------|-------------------------------------------
0     | object | -             | The unit to set the randomization mode of.
1     | number | 0             | Randomization mode. 0 to disable, 1 to enable, 2 to enable for players only, 3 to enable for AI only.

**Example:**
```sqf
[player, 2] call GRAD_Loadout_fnc_setRandomizationMode;
```

## customGear Functions
There are a number of functions specifically for the `customGear` funcionality. See [customGear](customGear.md#Functions) page for more information.
# GRAD Loadout
[![GitHub tag](https://img.shields.io/github/tag/gruppe-adler/grad-loadout.svg)](https://github.com/gruppe-adler/grad-loadout/releases)  
Declarative loadout system for Arma3 by [Gruppe Adler](https://www.gruppe-adler.de/).

## Acknowledgment
*This is a continuation of mostly [Cephei](https://github.com/Cephel)'s work in [A3G Loadout](https://github.com/v-Arma/a3g-loadout).*
*However, that project seems so dead and I changed so much that I saw it fit to rename repo & project. –– Fusselwurm, 2016-08-16*
<!-- index.html -->

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <meta charset="UTF-8">
  <link rel="stylesheet" href="//unpkg.com/docsify/themes/vue.css">
</head>
<body>
  <div id="app"></div>
  <script>
    window.$docsify = {
        name: "GRAD Loadout",
        repo: "gruppe-adler/grad-loadout",
        alias: {
          "/.*/_sidebar.md": "/_sidebar.md"
        },
        homepage: "home.md",
        auto2top: true,
        loadSidebar: true,
        subMaxLevel: 2,
        notFoundPage: true,
        themeColor: "#d18d1f",
        search: 'auto'
    }
  </script>
  <script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
  <script src="//unpkg.com/docsify/lib/plugins/search.min.js"></script>
  <script src="//unpkg.com/prismjs/components/prism-sqf.min.js"></script>
</body>
</html>
# Installation

You should know what the `description.ext` (aka *missionconfig*) is. If you don't, you can read about it [here](https://community.bistudio.com/wiki/Description.ext).

## Dependencies

* [CBA_A3](https://github.com/CBATeam/CBA_A3/releases)
* [ACE3](https://github.com/acemod/ACE3/releases), specifically the `ace_interact_menu` component, is required if you want to use [customGear](customGear.md)

## Installing Manually

1. Create a folder in your mission root folder and name it `modules`. Then create one inside there and call it `grad-loadout`. If you want change the containing directory name you will have to adjust the MODULES_DIRECTORY definition, see [Configuration](configuration.md)
2. Download the contents of this repository (there's a download link in the sidebar) and put it into the directory you just created.
3. Append the following lines of code to the `description.ext`:

```sqf
class CfgFunctions {
  #include "modules\grad-loadout\CfgFunctions.hpp"
};
```

## Installing Via npm

*For details about what npm is and how to use it, look it up on [npmjs.com](https://www.npmjs.com/).*

1. Install package `grad-loadout` : `npm install --save grad-loadout`
2. Prepend your mission's `description.ext` with `#define MODULES_DIRECTORY node_modules`
3. Append the following lines of code to the `description.ext`:

```sqf
class CfgFunctions {
  #include "node_modules\grad-loadout\CfgFunctions.hpp"
};
```
# Variables


## GRAD_Loadout_Chosen_Prefix
You can define a global variable called `GRAD_Loadout_Chosen_Prefix` – this will lead to GRAD Loadout reading from a *subclass* of `Loadouts`.

**Example:**
```sqf
// init.sqf:
`GRAD_Loadout_Chosen_Prefix = "Something_Something_Chosen_Prefix";`

// description.ext:
class Loadouts {
    class Something_Something_Chosen_Prefix {
        class AllUnits {
            // loadout value
        };
    };
};
```

## GRAD_Loadout_lastLoadoutApplicationTime
This is a unit-specific variable that saves the time the last loadout was applied (derived from `CBA_missionTime`). This variable is public.

**Example:**
```sqf
private _lastApplication = player getVariable "GRAD_Loadout_lastLoadoutApplicationTime";
hint format ["Player loadout was applied %1s ago.", round (CBA_missionTime - _lastApplication)];
```

## GRAD_Loadout_applicationCount
This is a unit-specific variable that saves how many times a loadout has been applied to the unit. This variable is public.

**Example:**
```sqf
private _applicationCount = player getVariable ["GRAD_Loadout_applicationCount",0];
hint format ["Player loadout was applied %1 times.", _applicationCount];
```
- [Home](/)
- [Installation](installation.md)
- [Configuration](configuration.md)
- [Functions](functions.md)
- [Variables](variables.md)
- [Creating Loadouts](creatingLoadouts.md)
- [customGear](customGear.md)

- [Releases](https://github.com/gruppe-adler/grad-loadout/releases)
#include "..\component.hpp"
#include "component.hpp"

params [["_unit", objNull]];

private _configPath = missionConfigFile >> "Loadouts";

if (GVAR(Chosen_Prefix) != "") then {
    _configPath = _configPath >> GVAR(Chosen_Prefix);
};

TRACE_1("applying loadout from mission config file %1 to %2 ...", _configPath, _unit);

private _loadoutHash = [_unit, _configPath] call FUNC(GetUnitLoadoutFromConfig);
[_loadoutHash, _unit] call FUNC(randomizeLoadout);
_loadoutHash = [_loadoutHash, _unit] call FUNC(ApplyRevivers);

if (([_loadoutHash] call CBA_fnc_hashSize) > 0) then {
    [_loadoutHash, _unit] call FUNC(DoLoadout);
} else {
    TRACE_1("no loadout entries found for %1, skipping unit", _unit);
};
#include "component.hpp"

// DIALOG DEFINES ==============================================================
#define SZ_SCALE            (safezoneW min safezoneH)
#define X_SCALE             (SZ_SCALE * 0.75)
#define Y_SCALE             (SZ_SCALE * 1.0)

#define PADDING_X           (0.025 * X_SCALE)
#define PADDING_Y           (0.025 * Y_SCALE)

#define CAMERA_W            (0.75 * X_SCALE)
#define COLUMN_Y            (safeZoneY + PADDING_Y)
#define COLUMN_W            ((safeZoneW - 4 * PADDING_X - CAMERA_W) / 2)
#define CAMERA_X            (safeZoneX + 2 * PADDING_X + COLUMN_W)
#define COLUMN_H            (safeZoneH - 2 * PADDING_Y)

#define COLUMN1_X           (safeZoneX + PADDING_X)
#define COLUMN2_X           (safeZoneX + safeZoneW - PADDING_X - COLUMN_W)

#define TREE_H              (COLUMN_H - 2 * PADDING_Y)
#define CHECKBOX_Y          (COLUMN_Y + COLUMN_H - PADDING_Y)

#define INFOPIC_W           (COLUMN_W - 8 * PADDING_X)
#define INFOPIC_H           (COLUMN_H/2 - 8 * PADDING_Y)
#define INFOPIC_X           (COLUMN2_X + 4 * PADDING_X)
#define INFOPIC_Y           (COLUMN_Y + 8 * PADDING_Y)

#define INFOTEXT_W          ((COLUMN_W - 3 * PADDING_X)/2)
#define INFOTEXTL_X         (COLUMN2_X + 2 * PADDING_X)
#define INFOTEXTR_X         (INFOTEXTL_X + INFOTEXT_W - PADDING_X)
#define INFOTEXT_Y          (INFOPIC_Y + INFOPIC_H + PADDING_Y)
#define INFOTEXT_H          (5.000 * Y_SCALE)

#define SWITCHBUTTON_H      (0.025 * Y_SCALE)
#define SWITCHBUTTON_W      (COLUMN_W - 6 * PADDING_X)
#define SWITCHBUTTON_X      (COLUMN2_X + (COLUMN_W - SWITCHBUTTON_W) / 2)
#define SWITCHBUTTON_Y      (safeZoneY + safeZoneH - PADDING_Y - SWITCHBUTTON_H)


// OTHER DEFINES ===============================================================
#define DEFAULT_CAMPROPS            [7,45,20,[0,0,0.9],objNull]
#define BACKGROUND_COLOR            [0.1,0.1,0.1,1]
#define QUADS(var1,var2,var3,var4)  ##var1##_##var2##_##var3##_##var4
#define DISPLAYFUNC(var)            (_display getVariable [QUOTE(QUADS(PREFIX,COMPONENT,fnc,var)),{}])
#define DISPLAYCONTROL(var)         (_display getVariable [QUOTE(TRIPLES(PREFIX,COMPONENT,var)),controlNull])
#define DISPLAYVAR(var1,var2)       (_display getVariable [QGVAR(var1),var2])
#define CONVERTTOKG(var)            (round ((0.1 * var) * (1/2.2046) * 100)) / 100

// CREATE DIALOG ===============================================================
private _display = (findDisplay 46) createDisplay "RscDisplayEmpty";
if (isNull _display) exitWith {systemChat "[GRAD] (loadout) ERROR: Display is null."};
_display setVariable [QGVAR(sides),_this];

{
    _bgCtrl = _display ctrlCreate ["RscBackground",-1];
    _bgCtrl ctrlSetPosition _x;
    _bgCtrl ctrlSetBackgroundColor BACKGROUND_COLOR;
    _bgCtrl ctrlCommit 0;
} forEach [
    [safeZoneX,safeZoneY,safeZoneW,PADDING_Y],
    [safeZoneX,safeZoneY + safeZoneH - PADDING_Y,safeZoneW,PADDING_Y],
    [safeZoneX,safeZoneY + PADDING_Y,2 * PADDING_X + COLUMN_W,safeZoneH - 2 * PADDING_Y],
    [safeZoneX + safeZoneW - 2 * PADDING_X - COLUMN_W,safeZoneY + PADDING_Y,2 * PADDING_X + COLUMN_W,safeZoneH - 2 * PADDING_Y]
];

private _camInteractionCtrl = _display ctrlCreate ["RscTextMulti",-1];
_camInteractionCtrl ctrlSetPosition [CAMERA_X,COLUMN_Y,CAMERA_W,COLUMN_H];
_camInteractionCtrl ctrlSetBackgroundColor BACKGROUND_COLOR;
_camInteractionCtrl ctrlCommit 0;
_display setVariable [QGVAR(camInteractionCtrl),_camInteractionCtrl];

private _tvCtrl = _display ctrlCreate ["RscTree",-1];
_tvCtrl ctrlSetPosition [COLUMN1_X,COLUMN_Y,COLUMN_W,TREE_H];
_tvCtrl ctrlCommit 0;
_display setVariable [QGVAR(tvCtrl),_tvCtrl];

private _checkboxCtrl = _display ctrlCreate ["RscCheckBox",-1];
_checkboxCtrl ctrlSetPosition [COLUMN1_X,CHECKBOX_Y,PADDING_X,PADDING_Y];
_checkboxCtrl ctrlCommit 0;
_checkboxCtrl cbSetChecked (missionNamespace getVariable [QGVAR(loadoutViewer_onlyPlayable),false]);
_display setVariable [QGVAR(checkboxCtrl),_checkboxCtrl];

private _checkboxTextCtrl = _display ctrlCreate ["RscText",-1];
_checkboxTextCtrl ctrlSetPosition [COLUMN1_X + PADDING_X,CHECKBOX_Y,COLUMN_W,PADDING_Y];
_checkboxTextCtrl ctrlSetText (["Hide Non-Playable (only in works in multiplayer)","Hide Non-Playable"] select isMultiplayer);
_checkboxTextCtrl ctrlCommit 0;

private _infoPicCtrl = _display ctrlCreate ["RscPictureKeepAspect",-1];
_infoPicCtrl ctrlSetPosition [INFOPIC_X,INFOPIC_Y,INFOPIC_W,INFOPIC_H];
_infoPicCtrl ctrlCommit 0;
_display setVariable [QGVAR(infoPicCtrl),_infoPicCtrl];

private _infoTextCtrlL = _display ctrlCreate ["RscStructuredText",-1];
_infoTextCtrlL ctrlSetPosition [INFOTEXTL_X,INFOTEXT_Y,2 * X_SCALE,5 * X_SCALE];
_infoTextCtrlL ctrlCommit 0;
_display setVariable [QGVAR(infoTextCtrlL),_infoTextCtrlL];

private _infoTextCtrlR = _display ctrlCreate ["RscStructuredText",-1];
_infoTextCtrlR ctrlSetPosition [INFOTEXTR_X,INFOTEXT_Y,INFOTEXT_W,INFOTEXT_H];
_infoTextCtrlR ctrlCommit 0;
_display setVariable [QGVAR(infoTextCtrlR),_infoTextCtrlR];

private _switchUnitCtrl = _display ctrlCreate ["RscButtonMenu",-1];
_switchUnitCtrl ctrlSetPosition [SWITCHBUTTON_X,SWITCHBUTTON_Y,SWITCHBUTTON_W,SWITCHBUTTON_H];
_switchUnitCtrl ctrlSetBackgroundColor [profilenamespace getvariable ['GUI_BCG_RGB_R',0.13],profilenamespace getvariable ['GUI_BCG_RGB_G',0.54],profilenamespace getvariable ['GUI_BCG_RGB_B',0.21],profilenamespace getvariable ['GUI_BCG_RGB_A',0.8]];
_switchUnitCtrl ctrlSetText "Switch to Unit";
_switchUnitCtrl ctrlEnable false;
_switchUnitCtrl ctrlCommit 0;
_display setVariable [QGVAR(switchUnitCtrl),_switchUnitCtrl];


// SUBFUNCTIONS ================================================================
_display setVariable [QGVAR(fnc_getParentClass),{
    params ["_thisItemClassname"];
    private _parentClass = "";
    {
        if (isClass (configFile >> _x >> _thisItemClassname)) exitWith {_parentClass = _x};
        false
    } count ["CfgWeapons","CfgMagazines","CfgVehicles"];
    _parentClass
}];

_display setVariable [QGVAR(fnc_fillDialog),{
    params ["_display","_sides","_onlyPlayable"];

    tvClear DISPLAYCONTROL(tvCtrl);

    if (count _sides == 0) then {_sides = [WEST,EAST,INDEPENDENT,CIVILIAN]};

    private _unitsCache = [];
    {
        [_display,_x,_onlyPlayable] call DISPLAYFUNC(addSide);
    } forEach _sides;
    _display setVariable [QGVAR(unitsCache),_unitsCache];
}];

_display setVariable [QGVAR(fnc_addSide),{
    params ["_display","_side","_onlyPlayable"];

    _sideUnitsCache = _unitsCache select (_unitsCache pushBack []);
    _sideGroups = allGroups select {side _x == _side && {count units _x > 0}};
    _filteredGroups = _sideGroups select {!_onlyPlayable || {{_x in playableUnits} count (units _x) > 0}};

    _sidePath = [DISPLAYCONTROL(tvCtrl) tvAdd [[],str _side]];
    {[_display,_sidePath,_x,_onlyPlayable] call DISPLAYFUNC(addGroup)} forEach _filteredGroups;
}];

_display setVariable [QGVAR(fnc_addGroup),{
    params ["_display","_sidePath","_group","_onlyPlayable"];

    _groupUnitsCache = _sideUnitsCache select (_sideUnitsCache pushBack []);
    _groupPath = _sidePath + [DISPLAYCONTROL(tvCtrl) tvAdd [_sidePath,str _group]];
    _filteredUnits = (units _group) select {!_onlyPlayable || {_x in playableUnits}};
    {[_display,_groupPath,_x] call DISPLAYFUNC(addUnit)} forEach _filteredUnits;
}];

_display setVariable [QGVAR(fnc_addUnit),{
    params ["_display","_groupPath","_unit"];

    _groupUnitsCache pushBack _unit;
    _unitDisplayName = roleDescription _unit;
    if (_unitDisplayName == "") then {
        _unitDisplayName = [configfile >> "CfgVehicles" >> typeOf _unit,"displayName","ERROR: NO DISPLAYNAME"] call BIS_fnc_returnConfigEntry;
    };
    _unitPath = _groupPath + [DISPLAYCONTROL(tvCtrl) tvAdd [_groupPath,_unitDisplayName]];
    DISPLAYCONTROL(tvCtrl) tvSetTooltip [_unitPath,typeOf _unit];

    {
        [_display,_unitPath,_x,_forEachIndex] call DISPLAYFUNC(addAnItem);
    } forEach [
        (assignedItems _unit) + [headgear _unit,goggles _unit,hmd _unit],
        uniformItems _unit,
        vestItems _unit,
        backpackItems _unit,
        (primaryWeaponItems _unit) + (primaryWeaponMagazine _unit),
        (secondaryWeaponItems _unit) + (secondaryWeaponMagazine _unit),
        (handgunItems _unit) + (handgunMagazine _unit)
    ];
}];

_display setVariable [QGVAR(fnc_addAnItem),{
    params ["_display","_unitPath","_itemsList","_containerType"];

    _sanitizedItemsList = _itemsList select {_x != ""};
    _uniqueItemsList = _sanitizedItemsList arrayIntersect _sanitizedItemsList;
    _containerClassName = [QGVAR(STR_ASSIGNED_ITEMS),uniform _unit,vest _unit,backpack _unit,primaryWeapon _unit,secondaryWeapon _unit,handgunWeapon _unit] select _containerType;
    _containerParentClass = [_containerClassName] call DISPLAYFUNC(getParentClass);
    _containerDisplayName = [[configFile >> _containerParentClass >> _containerClassName,"displayName","ERROR: NO DISPLAY NAME"] call BIS_fnc_returnConfigEntry,"Assigned Items"] select (_containerType == 0);

    _tvCtrl = DISPLAYCONTROL(tvCtrl);

    if (_containerClassName != "") then {
        _containerContentMass = 0;
        _containerPath = _unitPath + [_tvCtrl tvAdd [_unitPath,_containerDisplayName]];
        _tvCtrl tvSetTooltip [_containerPath,_containerClassName];
        _tvCtrl tvSetData [_containerPath,_containerClassName];
        _tvCtrl tvSetPicture [_containerPath,[configFile >> _containerParentClass >> _containerClassName,"picture",""] call BIS_fnc_returnConfigEntry];

        {
            _itemClassname = _x;
            _itemCount = {_x == _itemClassname} count _sanitizedItemsList;
            _itemParentClass = [_itemClassname] call DISPLAYFUNC(getParentClass);
            _itemPic = [_itemClassname,_itemParentClass] call DISPLAYFUNC(getItemPic);

            _itemPath = _containerPath + [_tvCtrl tvAdd [_containerPath,format ["%1x %2",_itemCount,[configFile >> _itemParentClass >> _itemClassname,"displayName","ERROR: NO DISPLAY NAME"] call BIS_fnc_returnConfigEntry]]];
            _tvCtrl tvSetTooltip [_itemPath,_itemClassname];
            _tvCtrl tvSetValue [_itemPath,_itemCount];
            _tvCtrl tvSetData [_itemPath,_itemClassname];
            _tvCtrl tvSetPicture [_itemPath,[configFile >> _itemParentClass >> _itemClassname,"picture",""] call BIS_fnc_returnConfigEntry];

            _containerContentMass = _containerContentMass + _itemCount * ([_itemClassname] call DISPLAYFUNC(getItemMass));
        } forEach _uniqueItemsList;
        _tvCtrl tvSetValue [_containerPath,_containerContentMass * 100];
    };
}];

_display setVariable [QGVAR(fnc_updateCamera),{
    params [["_display",displayNull]];

    if (isNull _display) exitWith {};

    private _cam = DISPLAYVAR(cam,objNull);
    private _camProperties = _display getVariable [QGVAR(camProperties),DEFAULT_CAMPROPS];
    _camProperties params ["_dis","_dirH","_dirV","_targetHelperOffset",["_targetUnit",objNull]];

    private _targetHelper = _targetUnit getVariable [QGVAR(targetHelper),objNull];
    if (isNull _targetHelper) exitWith {ERROR("_targetHelper is null")};

    [_targetHelper,[_dirH + 180,-_dirV,0]] call bis_fnc_setobjectrotation;
    _targetHelper attachto [_targetUnit,_targetHelperOffset,""];

    _cam setpos (_targetHelper modeltoworld [0,-_dis,0]);
    _cam setvectordirandup [vectordir _targetHelper,vectorup _targetHelper];

    //--- Make sure the camera is not underground
    if ((getposasl _cam select 2) < (getposasl _cam select 2)) then {
        _disCoef = ((getposasl _targetHelper select 2) - (getposasl _cam select 2)) / ((getposasl _targetHelper select 2) - (getposasl _cam select 2) + 0.001);
        _cam setpos (_targetHelper modeltoworldvisual [0,-_dis * _disCoef,0]);
    };

    _cam camCommit 0;
}];

_display setVariable [QGVAR(fnc_getItemMass),{
    params ["_className"];

    private _mass = [configFile >> "CfgWeapons" >> _className >> "ItemInfo","mass",0] call BIS_fnc_returnConfigEntry;
    if (_mass isEqualTo 0) then {
        _mass = [configFile >> "CfgWeapons" >> _className >> "WeaponSlotsInfo","mass",0] call BIS_fnc_returnConfigEntry;
    };
    if (_mass isEqualTo 0) then {
        _mass = [configFile >> "CfgMagazines" >> _className,"mass",0] call BIS_fnc_returnConfigEntry;
    };
    if (_mass isEqualTo 0) then {
        _mass = [configFile >> "CfgVehicles" >> _className,"mass",0] call BIS_fnc_returnConfigEntry;
    };
    if !(_mass isEqualType 0) then {
        _mass = 0;
    };
    CONVERTTOKG(_mass)
}];


// CREATE CAMERA ===============================================================
private _cam = "camera" camcreate (getPos player);
_cam cameraeffect ["External","back"];

showCinemaBorder false;
if (sunOrMoon < 0.35) then {camUseNVG true};

_display setVariable [QGVAR(camProperties),DEFAULT_CAMPROPS];
_display setVariable [QGVAR(cam),_cam];


// DIALOG FUNCTIONALITY ========================================================
_tvCtrl ctrlAddEventHandler ["treeSelChanged",{
    params ["_tvCtrl","_selPath"];
    _selPath params [["_sideIndex",999999],["_groupIndex",999999],["_unitIndex",999999],["_containerIndex",999999],["_itemIndex",999999]];

    _display = ctrlParent _tvCtrl;
    _switchUnitCtrl = _display getVariable [QGVAR(switchUnitCtrl),controlNull];

    // center cam on selected unit/group
    _unitsCache = DISPLAYVAR(unitsCache,[]);
    _unit = if (count _selPath > 1) then {
        if (count _selPath > 2) then {
            _unitsCache select _sideIndex select _groupIndex select _unitIndex
        } else {
            leader (_unitsCache select _sideIndex select _groupIndex select 0)
        };
    } else {objNull};

    _camProperties = _display getVariable [QGVAR(camProperties),DEFAULT_CAMPROPS];
    _camProperties params ["_dis","_dirH","_dirV","_targetHelperOffset",["_targetUnit",objNull]];

    if (count _selPath > 2 && {!isNull _unit} && {!isPlayer _unit}) then {
        _switchUnitCtrl ctrlEnable true;
    } else {
        _switchUnitCtrl ctrlEnable false;
    };

    if (!isNull _unit) then {
        if (isNull _targetUnit) then {
            DISPLAYCONTROL(camInteractionCtrl) ctrlSetBackgroundColor [0,0,0,0];
        };

        if (_targetUnit != _unit) then {
            deleteVehicle (_targetUnit getVariable [QGVAR(targetHelper),objNull]);
            _camProperties set [4,_unit];

            _targetHelper = createagent ["Logic",getPos _unit,[],0,"NONE"];
            _targetHelper attachto [_unit,_targetHelperOffset,""];
            _unit setVariable [QGVAR(targetHelper),_targetHelper];
        };

        [_display] call DISPLAYFUNC(updateCamera);
    } else {
        if (!isNull _targetUnit) then {
            DISPLAYCONTROL(camInteractionCtrl) ctrlSetBackgroundColor BACKGROUND_COLOR;
            _camProperties set [4,_unit];
        };
    };

    // display info
    _infoPicCtrl = DISPLAYCONTROL(infoPicCtrl);
    _infoTextCtrlL = DISPLAYCONTROL(infoTextCtrlL);
    _infoTextCtrlR = DISPLAYCONTROL(infoTextCtrlR);

    if (count _selPath > 2) then {
        // _infoTextArrayR needs <br/> instead of lineBreak because it's converted to structured text differently in order for <t align='right'> to work
        _infoTextArrayL = [(_tvCtrl tvText _selPath),lineBreak,lineBreak];
        _infoTextArrayR = ["<br/>","<br/>"];

        if (count _selPath == 3) then {
            _infoTextArrayL pushBack "Total Load:";
            _infoTextArrayR pushBack format ["%1 kg",CONVERTTOKG(loadAbs _unit)];
        };

        if (count _selPath in [4,5]) then {
            _infoPicCtrl ctrlSetText (_tvCtrl tvPicture _selPath);

            _itemWeight = [_tvCtrl tvData _selPath] call DISPLAYFUNC(getItemMass);

            // assigned items container has no weight
            if (_selPath select 3 > 0 || count _selPath == 5) then {
                _infoTextArrayL pushBack "Item Weight:";
                _infoTextArrayR pushBack format ["%1 kg",_itemWeight];
                _infoTextArrayL pushBack lineBreak;
                _infoTextArrayR pushBack "<br/>";
            };

            if (count _selPath == 4) then {
                _containerClassName = (_tvCtrl tvData _selPath);
                _infoTextArrayL pushBack "Content Weight:";
                _infoTextArrayR pushBack format ["%1 kg",(_tvCtrl tvValue _selPath)/100];


                if ((isClass (configFile >> "CfgWeapons" >> _containerClassName) || (isClass (configFile >> "CfgVehicles" >> _containerClassName))) && {getContainerMaxLoad _containerClassName > -1}) then {
                    _infoTextArrayL pushBack lineBreak;
                    _infoTextArrayR pushBack "<br/>";

                    _maxLoad = CONVERTTOKG(getContainerMaxLoad _containerClassName);
                    _currentLoad = ((_tvCtrl tvValue _selPath)/100);
                    _spaceleft = _maxLoad - _currentLoad;

                    _infoTextArrayL pushBack "Space Left:";
                    _infoTextArrayR pushBack ([
                        format ["%1 kg (%2%3)",_spaceleft,(round ((_spaceleft/(_maxLoad max 0.0001))*100)),"%"],
                        "<t color='#ff2b2b'>Beyond max. capacity!"
                    ] select (_spaceleft < 0));
                };
            };

            if (count _selPath == 5 && {(_tvCtrl tvValue _selPath) > 1}) then {
                _infoTextArrayL pushBack "Total Weight:";
                _infoTextArrayR pushBack format ["%1 kg",_itemWeight * (_tvCtrl tvValue _selPath)];
            };
        } else {
            _infoPicCtrl ctrlSetText "";
        };

        _infoTextCtrlL ctrlSetStructuredText composeText _infoTextArrayL;
        _infoTextCtrlR ctrlSetStructuredText parseText call {_t = "<t align='right'>"; {_t=_t+_x} forEach _infoTextArrayR;_t + "</t>"};
    } else {
        _infoTextCtrlL ctrlSetStructuredText parseText "";
        _infoTextCtrlR ctrlSetStructuredText parseText "";
        _infoPicCtrl ctrlSetText "";
    };
}];

_switchUnitCtrl ctrlAddEventHandler ["buttonClick",{
    params [["_switchUnitCtrl",controlNull]];


    _display = ctrlParent _switchUnitCtrl;
    _tvCtrl = _display getVariable [QGVAR(tvCtrl),controlNull];
    _selPath = tvCurSel _tvCtrl;

    _selPath params [["_sideIndex",999999],["_groupIndex",999999],["_unitIndex",999999],["_containerIndex",999999],["_itemIndex",999999]];
    _unitsCache = DISPLAYVAR(unitsCache,[]);

    _unit = if (count _selPath > 1) then {
        if (count _selPath > 2) then {
            _unitsCache select _sideIndex select _groupIndex select _unitIndex
        } else {
            leader (_unitsCache select _sideIndex select _groupIndex select 0)
        };
    } else {objNull};

    if (!isNull _unit) then {
        _display closeDisplay 1;
        selectPlayer _unit;
        player action ["Gear",player];
    } else {
        _switchUnitCtrl ctrlEnable false;
        playSound "taskFailed";
    };
}];

_camInteractionCtrl ctrlAddEventHandler ["mouseMoving",{
    params ["_camInteractionCtrl","_mouseX","_mouseY","_mouseOver"];

    _display = ctrlParent _camInteractionCtrl;
    _display setVariable [QGVAR(mouseOver),_mouseOver];

    if !(DISPLAYVAR(rMouseDown,false)) exitWith {
        _display setVariable [QGVAR(oldMouseCoords),[_mouseX,_mouseY]];
    };

    if (isNil {DISPLAYVAR(oldMouseCoords,nil)}) exitWith {
        _display setVariable [QGVAR(oldMouseCoords),[_mouseX,_mouseY]];
    };

    (_display getVariable [QGVAR(oldMouseCoords),[0,0]]) params ["_mouseXOld","_mouseYOld"];

    _camProperties = _display getVariable [QGVAR(camProperties),DEFAULT_CAMPROPS];
    _camProperties params ["_dis","_dirH","_dirV","_targetHelperOffset",["_targetUnit",objNull]];;

    _dX = (_mouseXOld - _mouseX) * 0.75;
    _dY = (_mouseYOld - _mouseY) * 0.75;
    _targetHelperOffset = [
        [0,0,_targetHelperOffset select 2],
        [[0,0,0],_targetHelperOffset] call bis_fnc_distance2D,
        ([[0,0,0],_targetHelperOffset] call bis_fnc_dirto) - _dX * 180
    ] call bis_fnc_relpos;

    _camProperties set [1,(_dirH - _dX * 180) % 360];
    _camProperties set [2,(_dirV - _dY * 100) max -89 min 89];
    _camProperties set [3,_targetHelperOffset];

    _display setVariable [QGVAR(oldMouseCoords),[_mouseX,_mouseY]];

    [_display] call DISPLAYFUNC(updateCamera);
}];

_camInteractionCtrl ctrlAddEventHandler ["mouseZChanged",{
    params ["_camInteractionCtrl","_mouseZ"];

    _display = ctrlParent _camInteractionCtrl;
    if !(DISPLAYVAR(mouseOver,false)) exitWith {};

    _camProperties = _display getVariable [QGVAR(camProperties),DEFAULT_CAMPROPS];

    _camProperties params ["_dis"];
    _camProperties set [0,((_dis - _mouseZ/2) max 2) min 20];

    [_display] call DISPLAYFUNC(updateCamera);
}];

_checkboxCtrl ctrlAddEventHandler ["checkedChanged",{
    params ["_checkboxCtrl","_checkedID"];

    missionNamespace setVariable [QGVAR(loadoutViewer_onlyPlayable),_checkedID == 1];
    _display = ctrlParent _checkboxCtrl;
    [_display,DISPLAYVAR(sides,[]),_checkedID == 1] call DISPLAYFUNC(fillDialog);
}];

_display displayAddEventHandler ["unload",{
    params ["_display","_exitCode"];

    _cam = DISPLAYVAR(cam,objNull);
    _cam cameraeffect ["terminate", "back"];
    camDestroy _cam;
}];

_display displayaddeventhandler ["mousebuttondown",{
    params ["_display","_button"];
    if (_button == 1) then {
        _display setVariable [QGVAR(rMouseDown),true];
    };
}];

_display displayaddeventhandler ["mousebuttonup",{
    params ["_display","_button"];
    if (_button == 1) then {
        _display setVariable [QGVAR(rMouseDown),false];
    };
}];

// FILL DIALOG =================================================================
[_display,_this,missionNamespace getVariable [QGVAR(loadoutViewer_onlyPlayable),false]] call DISPLAYFUNC(fillDialog);
#include "component.hpp"

params [["_unit", objNull], ["_allowedCategories", []]];

_unit setVariable [QGVAR(customGearAllowedCategories), _allowedCategories, true];
#include "component.hpp"

params [["_unit", objNull], ["_randomization", 0, [0]]];

_unit setVariable [QGVAR(randomizationMode), _randomization, true];
#include "component.hpp"

#define CENTER(PARENT_SIZE, CHILD_SIZE)     ((PARENT_SIZE / 2) - (CHILD_SIZE / 2))
#define SZ_SCALE                            (safezoneW min safezoneH)
#define X_SCALE                             (SZ_SCALE * 0.75)
#define Y_SCALE                             (SZ_SCALE * 1.0)

#define PADDING_X                           (0.025 * X_SCALE)
#define PADDING_Y                           (0.025 * Y_SCALE)
#define SPACER_Y                            (0.000 * Y_SCALE)

#define TOTAL_W                             (safeZoneW)
#define TOTAL_H                             (safeZoneH)
#define TOTAL_X                             (CENTER(1,TOTAL_W))
#define TOTAL_Y                             (CENTER(1,TOTAL_H))

#define TITLE_H                             (0.025 * Y_SCALE)
#define BACKGROUND_H                        (TOTAL_H - SPACER_Y - TITLE_H)
#define BACKGROUND_Y                        (TOTAL_Y + SPACER_Y + TITLE_H)

#define BACKGROUND_COLOR                    [0.1,0.1,0.1,1]

// SUBFUNCTIONS ================================================================
private _fnc_verify = {
    params ["_loadoutHash","_unit"];

    _this call _fnc_checkContainers;
    _this call _fnc_checkWeapons;
    _this call _fnc_checkOther;
};

private _fnc_getMass = {
    params ["_className"];

    // workaround for weapons with attachments arrays --> handle all classnames as arrays
    if !(_className isEqualType []) then {
        _className = [_className];
    };

    private _mass = 0;
    {
        _thisMass = [configFile >> "CfgWeapons" >> _x >> "ItemInfo","mass",0] call BIS_fnc_returnConfigEntry;
        if (_thisMass isEqualTo 0) then {
            _thisMass = [configFile >> "CfgWeapons" >> _x >> "WeaponSlotsInfo","mass",0] call BIS_fnc_returnConfigEntry;
        };
        if (_thisMass isEqualTo 0) then {
            _thisMass = [configFile >> "CfgMagazines" >> _x,"mass",0] call BIS_fnc_returnConfigEntry;
        };
        if (_thisMass isEqualTo 0) then {
            _thisMass = [configFile >> "CfgVehicles" >> _x,"mass",0] call BIS_fnc_returnConfigEntry;
        };
        if !(_thisMass isEqualType 0) then {
            _thisMass = 0;
        };

        _mass = _mass + _thisMass;
    } forEach _className;

    _mass
};

private _fnc_getLoad = {
    params ["_container","_itemsList"];
    _load = 0;
    {
        _load = _load + ([_x] call _fnc_getMass);
        false
    } count _itemsList;
    _maxLoad = getContainerMaxLoad _container;

    _loadRatio = if (_maxLoad <= 0) then {-1} else {_load/_maxLoad};
    _loadRatio
};

private _fnc_checkClassExists = {
    params ["_className",["_allowedConfigs",["cfgVehicles","cfgWeapons","cfgMagazines","cfgGlasses"]]];

    _classExists = false;
    {
        if (isClass (configFile >> _x >> _className)) exitWith {_classExists = true};
    } forEach _allowedConfigs;
    _classExists
};

private _fnc_getRoleDescription = {
    params ["_unit"];
    _roleDescription = roleDescription _unit;
    if (_roleDescription == "") then {
        _roleDescription = [configfile >> "CfgVehicles" >> typeOf _unit,"displayName",""] call BIS_fnc_returnConfigEntry;
    };
    _roleDescription
};

private _fnc_checkContainers = {
    params ["_loadoutHash","_unit"];
    {
        _x params ["_containerKey","_itemsKey"];
        _container = [_loadoutHash,_containerKey] call CBA_fnc_hashGet;
        _itemsList = [_loadoutHash,_itemsKey] call CBA_fnc_hashGet;

        if (!isNil "_itemsList" && (isNil "_container" || {_container == ""}) && {count _itemsList > 0}) then {
            _errorLog pushBack [format ["no %1 for %2",_containerKey,_itemsKey],_unit];
        };

        if (!isNil "_container" && {_container != ""}) then {
            _containerExists = [_container,["cfgVehicles","cfgWeapons"]] call _fnc_checkClassExists;
            if (!_containerExists) then {
                _errorLog pushBack [format ["%1 %2 does not exist",_containerKey,_container],_unit];
            };
        };

        if (!isNil "_itemsList" && !isNil "_container" && {count _itemsList > 0} && {_container != ""}) then {
            if (count _itemsList == 0) then {
                _warningLog pushBack [format ["no items in %1",_containerKey],_unit];
            } else {
                _load = [_container,_itemsList] call _fnc_getLoad;
                if (_load > 1) then {
                    _errorLog pushBack [format ["%1 %2 loaded beyond capacity (%3%4)",_containerKey,_container,round (_load*100),"%"],_unit];
                };
                if (_load < 0) then {
                    _errorLog pushBack [format ["%1 %2 can not hold any items",_containerKey,_container],_unit];
                };
            };
        };

    } forEach [
        ["uniform","addItemsToUniform"],
        ["vest","addItemsToVest"],
        ["backpack","addItemsToBackpack"]
    ];
};

private _fnc_checkWeapons = {
    params ["_loadoutHash","_unit"];

    {
        _x params ["_weaponKey","_weaponAccessoryKeys","_magazineKeys"];
        _weaponClassname = [_loadoutHash,_weaponKey] call CBA_fnc_hashGet;
        if (!isNil "_weaponClassname" && {_weaponClassname != ""}) then {
            if !([_weaponClassname,["cfgWeapons"]] call _fnc_checkClassExists) then {
                _errorLog pushBack [format ["%1 %2 does not exist",_x,_weaponClassname]];
            } else {
                {
                    _accessoryClassname = [_loadoutHash,_x] call CBA_fnc_hashGet;
                    if (!isNil "_accessoryClassname" && {_accessoryClassname != ""}) then {
                        if !([_weaponClassname,_accessoryClassname,_forEachIndex] call _fnc_checkAccessoryFits) then {
                            _errorLog pushBack [format ["%1 %2 is not compatible with weapon %3",_x,_accessoryClassname,_weaponClassname],_unit];
                        };
                    };
                } forEach _weaponAccessoryKeys;

                {
                    _magazineClassname = [_loadoutHash,_x] call CBA_fnc_hashGet;
                    if (!isNil "_magazineClassname" && {_magazineClassname != ""}) then {
                        if !([_weaponClassname,_magazineClassname,_forEachIndex] call _fnc_magazineFits) then {
                            _errorLog pushBack [format ["%1 %2 is not compatible with weapon %3",_x,_magazineClassname,_weaponClassname],_unit];
                        };
                    };
                } forEach _magazineKeys;
            };
        };
    } forEach [
        ["primaryWeapon",["primaryWeaponMuzzle","primaryWeaponPointer","primaryWeaponOptics","primaryWeaponUnderbarrel"],["primaryWeaponMagazine","primaryWeaponUnderbarrelMagazine"]],
        ["secondaryWeapon",["secondaryWeaponMuzzle","secondaryWeaponPointer","secondaryWeaponOptics","secondaryWeaponUnderbarrel"],["secondaryWeaponMagazine","secondaryWeaponUnderbarrelMagazine"]],
        ["handgunWeapon",["handgunWeaponMuzzle","handgunWeaponPointer","handgunWeaponOptics","handgunWeaponUnderbarrel"],["handgunWeaponMagazine","handungWeaponUnderbarrelMagazine"]]
    ];
};

private _fnc_checkAccessoryFits = {
    params ["_weaponClassname","_accessoryClassname","_accessoryTypeID"];
    _accessorySlots = [["MuzzleSlot"],["PointerSlot"],["CowsSlot"],["UnderBarrelSlot","GripodSlot"]] select _accessoryTypeID;

    _accessoryFits = false;
    {
        // check if class exists first, because Arma throws some bullshit error message when nonexistant class is accessed
        private _configPath = (configFile >> "CfgWeapons" >> _weaponClassname >> "WeaponSlotsInfo" >> _x);
        if (isClass _configPath) then {

            // compatibleItems are in separate class
            if (([_configPath >> "compatibleItems",_accessoryClassname,0] call BIS_fnc_returnConfigEntry) == 1) exitWith {
                _accessoryFits = true;
            };

            // compatibleItems are in array
            private _compatibleItems = [_configPath,"compatibleItems",[]] call BIS_fnc_returnConfigEntry;
            if (_compatibleItems isEqualType [] && {_accessoryClassname in _compatibleItems}) exitWith {
                _accessoryFits = true;
            };
        };
    } forEach _accessorySlots;

    _accessoryFits
};

private _fnc_magazineFits = {
    params ["_weaponClassname","_magazineClassname","_magazineTypeID"];

    if (_magazineTypeID > 1) exitWith {
        ERROR_1("_magazineTypeID > 1 in _fnc_magazineFits for weapon (%1)",_weaponClassname);
        false
    };

    _magazineClassname = toLower _magazineClassname;
    private _magazineFits = false;

    // main magazine
    if (_magazineTypeID == 0) then {

        private _weaponConfig = configfile >> "CfgWeapons" >> _weaponClassname;
        private _magazines = ([_weaponConfig,"magazines",[]] call BIS_fnc_returnConfigEntry) apply {toLower _x};
        _magazineFits = _magazineClassname in _magazines;

        // check magazine wells
        if (!_magazineFits) then {
            _magazineFits = [_magazineClassname,_weaponConfig] call _fnc_magazineFitsMagwell;
        };
    };

    // underbarrel magazine
    if (_magazineTypeID == 1) then {
        _muzzles = [configfile >> "CfgWeapons" >> _weaponClassname,"muzzles",[]] call BIS_fnc_returnConfigEntry;
        {
            private _muzzleConfig = configfile >> "CfgWeapons" >> _weaponClassname >> _x;
            private _magazines = ([_muzzleConfig,"magazines",[]] call BIS_fnc_returnConfigEntry) apply {toLower _x};
            if (_magazineClassname in _magazines) exitWith {
                _magazineFits = true;
            };

            if ([_magazineClassname,_muzzleConfig] call _fnc_magazineFitsMagwell) exitWith {
                _magazineFits = true;
            };
        } forEach _muzzles;
    };

    _magazineFits
};

private _fnc_magazineFitsMagwell = {
        params ["_magazineClassname", "_configPath"];

        _magazineClassname = toLower _magazineClassname;
        private _magazineFitsMagwell = false;

        // magazine well names
        {
            // get all magazines from compatibility sets (e.g."BI_Magazines")
            private _compatibleMagazines = [];
            private _magWellConfigPath = configfile >> "CfgMagazineWells" >> _x;
            {
                _compatibleMagazines append ([_magWellConfigPath,configName _x,[]] call BIS_fnc_returnConfigEntry);
            } forEach (configProperties [_magWellConfigPath]);
            _compatibleMagazines = _compatibleMagazines apply {toLower _x};

            // check if magazine is in compatible magazines
            if (_magazineClassname in _compatibleMagazines) exitWith {_magazineFitsMagwell = true};
        } forEach ([_configPath,"magazineWell",[]] call BIS_fnc_returnConfigEntry);

        _magazineFitsMagwell
};

private _fnc_checkOther = {
    params ["_loadoutHash","_unit"];

    {
        _otherClassname = [_loadoutHash,_x] call CBA_fnc_hashGet;
        if (!isNil "_otherClassname" && {_otherClassname != ""}) then {
            if !([_otherClassname] call _fnc_checkClassExists) then {
                _errorLog pushBack [format ["%1 %2 does not exist",_x,_otherClassname],_unit];
            };
        };
    } forEach ["headgear","goggles","nvgoggles","binoculars","map","gps","compass","watch","radio"];
};

private _fnc_errorDisplay = {
    params ["_textArray",["_title",""]];

    private _display = (findDisplay 46) createDisplay "RscDisplayEmpty";
    if (isNull _display) exitWith {systemChat "[GRAD] (loadout) ERROR: Display is null."};

    private _titleCtrl = _display ctrlCreate ["RscTitle",-1];
    _titleCtrl ctrlSetPosition [TOTAL_X,TOTAL_Y,TOTAL_W,TITLE_H];
    _titleCtrl ctrlSetBackgroundColor [profilenamespace getvariable ['GUI_BCG_RGB_R',0.13],profilenamespace getvariable ['GUI_BCG_RGB_G',0.54],profilenamespace getvariable ['GUI_BCG_RGB_B',0.21],profilenamespace getvariable ['GUI_BCG_RGB_A',0.8]];
    _titleCtrl ctrlSetText _title;
    _titleCtrl ctrlCommit 0;

    private _bgCtrl = _display ctrlCreate ["RscBackground",-1];
    _bgCtrl ctrlSetPosition [TOTAL_X,BACKGROUND_Y,TOTAL_W,BACKGROUND_H];
    _bgCtrl ctrlSetBackgroundColor BACKGROUND_COLOR;
    _bgCtrl ctrlCommit 0;

    _cgCtrl = _display ctrlCreate ["RscControlsGroupNoHScrollbars",-1];
    _cgCtrl ctrlSetPosition [TOTAL_X,BACKGROUND_Y,TOTAL_W,BACKGROUND_H];
    _cgCtrl ctrlCommit 0;

    _textCtrl = _display ctrlCreate ["RscStructuredText",-1,_cgCtrl];
    _textCtrl ctrlSetStructuredText parseText (_textArray joinString "<br/>");
    _textCtrl ctrlSetPosition [0,0,TOTAL_W,(ctrlTextHeight _textCtrl) * 0.10];
    _textCtrl ctrlCommit 0;
};

// MAIN ========================================================================
systemChat "grad-loadout verifier: checking loadouts";

private _configPath = missionConfigFile >> "Loadouts";

if ((missionNamespace getVariable [QGVAR(Chosen_Prefix),""]) != "") then {
    _configPath = _configPath >> GVAR(Chosen_Prefix);
};

private _errorLog = [];
private _warningLog = [];
private _verifiedLoadoutCount = 0;

{
    _loadoutHash = [_x,_configPath] call FUNC(GetUnitLoadoutFromConfig);
    [_loadoutHash] call FUNC(randomizeLoadout);
    _loadoutHash = [_loadoutHash,_x] call FUNC(ApplyRevivers);

    if (([_loadoutHash] call CBA_fnc_hashSize) > 0) then {
        [_loadoutHash,_x] call _fnc_verify;
        _verifiedLoadoutCount = _verifiedLoadoutCount + 1;
    };
} forEach allUnits;

private _displayText = [];

diag_log "GRAD-LOADOUT VERIFICATION REPORT =====================================";
diag_log format ["%1 loadouts checked",_verifiedLoadoutCount];
diag_log format ["%1 errors, %2 warnings",count _errorLog,count _warningLog];
{
    _logType = ["ERROR","WARNING"] select _forEachIndex;
    {
        _x params ["_message","_unit"];
        _log = format ["%1: %2 - %3 (%4)",_logType,_message,_unit,[_unit] call _fnc_getRoleDescription];
        diag_log _log;
        _displayText pushBack _log;
    } forEach _x;
} forEach [_errorLog,_warningLog];
diag_log "======================================================================";

systemChat format ["grad-loadout verifier: %1 loadouts checked",_verifiedLoadoutCount];
systemChat format ["grad-loadout verifier: %1 errors, %2 warnings",count _errorLog,count _warningLog];
if (count _errorLog > 0 || count _warningLog > 0) then {systemChat "grad-loadout verifier: see rpt file for results"};

[_displayText,format ["GRAD-LOADOUT VERIFIER  -  %1 ERRORS, %2 WARNINGS",count _errorLog,count _warningLog]] call _fnc_errorDisplay;
#define PREFIX grad
#define COMPONENT loadout
#include "\x\cba\addons\main\script_macros_mission.hpp"
#include "..\component.hpp"

#define CUSTOMGEAR_SUPPORTED_KEYS   "uniform", \
                                    "vest", \
                                    "backpack", \
                                    "primaryWeapon", \
                                    "primaryWeaponMuzzle", \
                                    "primaryWeaponOptics", \
                                    "primaryWeaponPointer", \
                                    "primaryWeaponUnderbarrel", \
                                    "secondaryWeapon", \
                                    "secondaryWeaponMuzzle", \
                                    "secondaryWeaponOptics", \
                                    "secondaryWeaponPointer", \
                                    "secondaryWeaponUnderbarrel", \
                                    "handgunWeapon", \
                                    "handgunWeaponMuzzle", \
                                    "handgunWeaponOptics", \
                                    "handgunWeaponPointer", \
                                    "handgunWeaponUnderbarrel", \
                                    "headgear", \
                                    "goggles", \
                                    "nvgoggles", \
                                    "binoculars", \
                                    "map", \
                                    "gps", \
                                    "compass", \
                                    "watch", \
                                    "radio"
#include "component.hpp"

params [["_obj", objNull], ["_condition", {true}], ["_actionPath", ["ACE_MainActions"]]];

private _action = [
    QGVAR(customGearAction),
    "Customize loadout",
    "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\uniform_ca.paa",
    {[{_this call FUNC(openCustomGearDialog)}, _this] call CBA_fnc_execNextFrame},
    _condition
] call ace_interact_menu_fnc_createAction;
[_obj, 0, _actionPath, _action] call ace_interact_menu_fnc_addActionToObject;
#include "component.hpp"

#define X_SCALE     (((safezoneW / safezoneH) min 1.2) / 40)
#define Y_SCALE     ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)


params [["_display",displayNull]];

private _tabXRight = safezoneX + safezoneW - 2 * X_SCALE;
private _tabXLeft = safezoneX + 0.5 * X_SCALE;
private _tabW = 1.4 * X_SCALE;
private _tabH = ((1.4 * Y_SCALE) min (safezoneH / 18 / 1.5));

private _loadoutOptionsHash = _display getVariable [QGVAR(loadoutOptionsHash), []];

// shows which tab is currently selected --> is moved on tab selector button click
private _ctrlTabSelectedLeft = _display ctrlCreate ["RscText", -1];
_display setVariable [QGVAR(ctrlTabSelectedLeft), _ctrlTabSelectedLeft];
_ctrlTabSelectedLeft ctrlSetPosition [safeZoneX, -safeZoneH, 0.5 * X_SCALE, 1.4 * Y_SCALE];
_ctrlTabSelectedLeft ctrlSetBackgroundColor [0, 0, 0, 0.8];
_ctrlTabSelectedLeft ctrlCommit 0;

// create right selection indicator
private _ctrlTabSelectedRight = _display ctrlCreate ["RscText", -1];
_display setVariable [QGVAR(ctrlTabSelectedRight), _ctrlTabSelectedRight];
_ctrlTabSelectedRight ctrlSetPosition [_tabXRight + _tabW, -safeZoneH, 0.7 * X_SCALE, 1.4 * Y_SCALE];
_ctrlTabSelectedRight ctrlSetBackgroundColor [0, 0, 0, 0.8];
_ctrlTabSelectedRight ctrlCommit 0;

// create left list
private _ctrlListBoxLeft = _display ctrlCreate ["RscListBox", -1];
_display setVariable [QGVAR(ctrlListBoxLeft), _ctrlListBoxLeft];
_ctrlListBoxLeft ctrlSetPosition [safezoneX + 2.5 * X_SCALE, -safeZoneH, 15 * X_SCALE, 10 * Y_SCALE];
_ctrlListBoxLeft ctrlSetBackgroundColor [0,0,0,1];
_ctrlListBoxLeft ctrlCommit 0;
_ctrlListBoxLeft ctrlAddEventHandler ["lbSelChanged", {_this call FUNC(onCustomGearListSelection)}];

// create right list
private _ctrlListBoxRight = _display ctrlCreate ["RscListBox", -1];
_display setVariable [QGVAR(ctrlListBoxRight), _ctrlListBoxRight];
_ctrlListBoxRight ctrlSetPosition [safezoneX + safezoneW - 17.5 * X_SCALE, -safeZoneH, 15 * X_SCALE, 10 * Y_SCALE];
_ctrlListBoxRight ctrlSetBackgroundColor [0,0,0,1];
_ctrlListBoxRight ctrlSetFade 1;
_ctrlListBoxRight ctrlCommit 0;
_ctrlListBoxRight ctrlAddEventHandler ["lbSelChanged", {_this call FUNC(onCustomGearListSelection)}];

// create tab buttons
private _ctrlFirstActivated = controlNull;
{
    _x params ["_tooltip", "_pic", "_hashKey", ["_subKeys", []]];

    private _tabY = safezoneY + 0.02 + _forEachIndex * 1.5 * (((safezoneH - 0.1) / 18 / 1.5) min (0.04));

    private _ctrlButton = _display ctrlCreate ["RscButtonArsenal", -1];
    _ctrlButton ctrlSetPosition [_tabXLeft, _tabY, _tabW, _tabH];
    _ctrlButton ctrlSetText format ["\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\%1", _pic];
    _ctrlButton ctrlCommit 0;
    _ctrlButton setVariable [QGVAR(hashKey), _hashKey];
    _ctrlButton ctrlAddEventHandler ["buttonClick", {[_this#0, true] call FUNC(onCustomGearTabButton)}];

    private _availableOptions = [_loadoutOptionsHash, _hashKey] call CBA_fnc_hashGet;

    // check if weapon categories have accessories available
    private _hasSubOptionsAvailable = false;
    {
        private _availableSubOptions = [_loadoutOptionsHash, _x] call CBA_fnc_hashGet;
        if (_availableSubOptions isEqualType [] && {count _availableSubOptions > 0}) exitWith {
            _hasSubOptionsAvailable = true;
        };
    } forEach _subkeys;

    if ((_availableOptions isEqualType [] && {count _availableOptions > 0}) || _hasSubOptionsAvailable) then {
        _ctrlButton ctrlSetTooltip _tooltip;
        if (isNull _ctrlFirstActivated) then {
            _ctrlFirstActivated = _ctrlButton;
        };
    } else {
        _ctrlButton ctrlEnable false;
        _ctrlButton ctrlSetTooltip format ["%1 unavailable", _tooltip];
        _ctrlButton ctrlSetFade 0.5;
        _ctrlButton ctrlCommit 0;
    };

} forEach [
    ["Rifle", "PrimaryWeapon_ca.paa", "primaryWeapon", ["primaryWeaponOptics", "primaryWeaponMuzzle", "primaryWeaponPointer", "primaryWeaponUnderbarrel"]],
    ["Launcher", "SecondaryWeapon_ca.paa", "secondaryWeapon", ["secondaryWeaponOptics", "secondaryWeaponMuzzle", "secondaryWeaponPointer", "secondaryWeaponUnderbarrel"]],
    ["Handgun", "Handgun_ca.paa", "handgunWeapon", ["handgunWeaponOptics", "handgunWeaponMuzzle", "handgunWeaponPointer", "handgunWeaponUnderbarrel"]],
    ["Uniform", "Uniform_ca.paa", "uniform"],
    ["Vest", "Vest_ca.paa", "vest"],
    ["Backpack", "Backpack_ca.paa", "backpack"],
    ["Headgear", "Headgear_ca.paa", "headgear"],
    ["Facewear", "Goggles_ca.paa", "goggles"],
    ["Nightvision", "NVGs_ca.paa", "nvgoggles"],
    ["Binoculars", "Binoculars_ca.paa", "binoculars"],
    ["Map", "Map_ca.paa", "map"],
    ["GPS", "GPS_ca.paa", "gps"],
    ["Radio", "Radio_ca.paa", "radio"],
    ["Compass", "Compass_ca.paa", "compass"],
    ["Watch", "Watch_ca.paa", "watch"]
];

_display setVariable [QGVAR(attachmentButtons), []];
private _attachmentButtons = _display getVariable [QGVAR(attachmentButtons), []];
{
    _x params ["_tooltip", "_pic"];

    private _tabY = safezoneY + 0.02 + _forEachIndex * 1.5 * (((safezoneH - 0.1) / 18 / 1.5) min (0.04));

    private _ctrlButton = _display ctrlCreate ["RscButtonArsenal", -1];
    _ctrlButton ctrlSetPosition [_tabXRight, _tabY, _tabW, _tabH];
    _ctrlButton ctrlSetText format ["\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\%1", _pic];
    _ctrlButton ctrlAddEventHandler ["buttonClick", {[_this#0, false] call FUNC(onCustomGearTabButton)}];
    _ctrlButton ctrlSetTooltip _tooltip;
    _ctrlButton ctrlEnable false;
    _ctrlButton ctrlSetFade 1;
    _ctrlButton ctrlCommit 0;
    _ctrlButton setVariable [QGVAR(tooltip), _tooltip];

    _attachmentButtons set [_forEachIndex, _ctrlButton];

} forEach [
    ["Optics", "ItemOptic_ca.paa"],
    ["Rail Attachment", "ItemAcc_ca.paa"],
    ["Muzzle Attachment", "ItemMuzzle_ca.paa"],
    ["Underbarrel Attachment", "ItemBipod_ca.paa"]
];

// activate first button on left side last, so right side is already loaded
[_ctrlFirstActivated, true] call FUNC(onCustomGearTabButton);
#include "component.hpp"

params [["_unit", objNull], ["_key", ""], ["_getBaseWeapon", false]];

private _keyID = [CUSTOMGEAR_SUPPORTED_KEYS] find _key;

private _currentItem = "";
if (_keyID < 0) exitWith {_currentItem};

private _fnc_getCurrent = [
    {((getUnitLoadout _unit) param [3, []]) param [0, ""]},
    {((getUnitLoadout _unit) param [4, []]) param [0, ""]},
    {((getUnitLoadout _unit) param [5, []]) param [0, ""]},
    {((getUnitLoadout _unit) param [0, []]) param [0, ""]},
    {((getUnitLoadout _unit) param [0, []]) param [1, ""]},
    {((getUnitLoadout _unit) param [0, []]) param [3, ""]},
    {((getUnitLoadout _unit) param [0, []]) param [2, ""]},
    {((getUnitLoadout _unit) param [0, []]) param [6, ""]},
    {((getUnitLoadout _unit) param [1, []]) param [0, ""]},
    {((getUnitLoadout _unit) param [1, []]) param [1, ""]},
    {((getUnitLoadout _unit) param [1, []]) param [3, ""]},
    {((getUnitLoadout _unit) param [1, []]) param [2, ""]},
    {((getUnitLoadout _unit) param [1, []]) param [6, ""]},
    {((getUnitLoadout _unit) param [2, []]) param [0, ""]},
    {((getUnitLoadout _unit) param [2, []]) param [1, ""]},
    {((getUnitLoadout _unit) param [2, []]) param [3, ""]},
    {((getUnitLoadout _unit) param [2, []]) param [2, ""]},
    {((getUnitLoadout _unit) param [2, []]) param [6, ""]},
    {(getUnitLoadout _unit) param [6, ""]},
    {(getUnitLoadout _unit) param [7, ""]},
    {((getUnitLoadout _unit) param [9, []]) param [5, ""]},
    {((getUnitLoadout _unit) param [8, []]) param [0, ""]},
    {((getUnitLoadout _unit) param [9, []]) param [0, ""]},
    {((getUnitLoadout _unit) param [9, []]) param [1, ""]},
    {((getUnitLoadout _unit) param [9, []]) param [3, ""]},
    {((getUnitLoadout _unit) param [9, []]) param [4, ""]},
    {((getUnitLoadout _unit) param [9, []]) param [2, ""]}
] select _keyID;

private _current = call _fnc_getCurrent;

if (_getBaseWeapon) then {
    _current = [configfile >> "CfgWeapons" >> _current, "baseWeapon", _current] call BIS_fnc_returnConfigEntry;
};

_current
#include "component.hpp"

params [["_unit", objNull], ["_loadoutHash", []], ["_ignoreCurrentLoadout", false]];

private _loadoutOptionsHash = [[], false] call CBA_fnc_hashCreate;
private _currentLoadout = getUnitLoadout _unit;
private _allowedCategories = _unit getVariable [QGVAR(customGearAllowedCategories), GVAR(customGearAllowedCategories)];

{
    private _key = _x;
    private _value = [_loadoutHash, _key] call CBA_fnc_hashGet;
    if (!isNil "_value" && {_value isEqualType []}) then {_value = _value apply {toLower _x}};

    if (
        !isNil "_value" &&
        {_value isEqualType []} &&
        {count _value > 0} &&
        {
            _ignoreCurrentLoadout ||
            ((toLower ([_unit, _key] call FUNC(getCurrentItem))) in _value) ||
            ((toLower ([_unit, _key, true] call FUNC(getCurrentItem))) in _value)
        }
    ) then {
        [_loadoutOptionsHash, _key, _value] call CBA_fnc_hashSet;
    };
} forEach ([CUSTOMGEAR_SUPPORTED_KEYS] arrayIntersect _allowedCategories);

_loadoutOptionsHash
#include "component.hpp"

private _enabled = [missionConfigFile >> "Loadouts", "customGear", 300] call BIS_fnc_returnConfigEntry;
if (_enabled isEqualType 0 && {_enabled <= 0}) exitWith {};

if (!(_enabled isEqualType 0) && !(_enabled isEqualType "")) exitWith {
    ERROR_1("[missionConfigFile >> Loadouts >> customGear] is of type %1 - only number or string allowed.", typeName _enabled);
};

if !(isClass (configfile >> "CfgPatches" >> "ace_interact_menu")) exitWith {
    ERROR("customGear needs ace_interact_menu addon.");
};

// get allowed categories from config
GVAR(customGearAllowedCategories) = [missionConfigFile >> "Loadouts", "customGearAllowedCategories", [CUSTOMGEAR_SUPPORTED_KEYS]] call BIS_fnc_returnConfigEntry;

// user supplied number for custom gear timeout
GVAR(customGearCondition) = if (_enabled isEqualType 0) then {
    GVAR(customGearTimeout) = _enabled;
    {
        params ["_unit"];
        (CBA_missionTime - (_unit getVariable [QGVAR(lastLoadoutApplicationTime), 0])) < GVAR(customGearTimeout) &&
        {(_unit getVariable [QGVAR(applicationCount), 0]) > 0}
    }

// user supplied string for custom gear condition
} else {
    compile _enabled
};

[QGVAR(loadoutApplied), {
    params [["_unit", objNull]];

    if (_unit != ACE_player) exitWith {};

    // cache loadout options for interaction condition check
    private _configPath = missionConfigFile >> "Loadouts";
    if ((missionNamespace getVariable [QGVAR(Chosen_Prefix), ""]) != "") then {
        _configPath = _configPath >> GVAR(Chosen_Prefix);
    };
    private _loadoutHash = [_unit, _configPath] call FUNC(GetUnitLoadoutFromConfig);
    private _customGearOptionsHash = [_unit, _loadoutHash, true] call FUNC(getCustomGearOptions);
    _unit setVariable [QGVAR(customGearOptionsCache), _customGearOptionsHash];

    // notification the first time customization becomes available after loadout application
    if (count ([_customGearOptionsHash] call CBA_fnc_hashKeys) > 0) then {
        [{(missionNamespace getVariable ["CBA_missionTime", 0]) > 10 && {[_this] call GVAR(customGearCondition)}}, {
            if (isClass (configfile >> "CfgNotifications" >> "GRAD_saveMarkers_notification")) then {
                ["GRAD_saveMarkers_notification", ["GRAD CUSTOM GEAR", "Loadout customization now available. (Selfinteract >> Equipment)"]] call BIS_fnc_showNotification;
            } else {
                ["TaskUpdated", ["", "Loadout customization now available. (Selfinteract >> Equipment)"]] call BIS_fnc_showNotification;
            };
        },_unit] call CBA_fnc_waitUntilAndExecute;
    };
}] call CBA_fnc_addEventHandler;

// add interaction
private _action = [
    QGVAR(customGearAction),
    "Customize loadout",
    "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\uniform_ca.paa",
    {
        [{_this call FUNC(openCustomGearDialog)}, _this] call CBA_fnc_execNextFrame
    },
    {
        params ["_unit"];
        !visibleMap &&
        {[_unit] call GVAR(customGearCondition)} &&
        {
            private _customGearOptionsHash = _unit getVariable QGVAR(customGearOptionsCache);
            if (isNil "_customGearOptionsHash") then {
                private _configPath = missionConfigFile >> "Loadouts";
                if (GVAR(Chosen_Prefix) != "") then {
                    _configPath = _configPath >> GVAR(Chosen_Prefix);
                };
                private _loadoutHash = [_unit, _configPath] call FUNC(GetUnitLoadoutFromConfig);
                private _customGearOptionsHash = [_unit, _loadoutHash] call FUNC(getCustomGearOptions);
            };
            count ([_customGearOptionsHash] call CBA_fnc_hashKeys) > 0
        }
    }
] call ace_interact_menu_fnc_createAction;
["CAManBase", 1, ["ACE_SelfActions", "ACE_Equipment"], _action, true] call ace_interact_menu_fnc_addActionToClass;
#include "component.hpp"

params ["_ctrlListBox", "_curSelIndex"];

private _display = ctrlParent _ctrlListBox;
private _unit = _display getVariable [QGVAR(unit), objNull];
private _unitLoadout = getUnitLoadout _unit;

private _itemClassname = _ctrlListBox lbData _curSelIndex;
private _hashKey = _ctrlListBox getVariable [QGVAR(hashKey), ""];

private _keyID = [CUSTOMGEAR_SUPPORTED_KEYS] find _hashKey;

if (_keyID < 0) exitWith {};

private _fnc_set = [
    {(_unitLoadout select 3) set [0, _itemClassname]},
    {(_unitLoadout select 4) set [0, _itemClassname]},
    {(_unitLoadout select 5) set [0, _itemClassname]},
    {(_unitLoadout select 0) set [0, _itemClassname]},
    {(_unitLoadout select 0) set [1, _itemClassname]},
    {(_unitLoadout select 0) set [3, _itemClassname]},
    {(_unitLoadout select 0) set [2, _itemClassname]},
    {(_unitLoadout select 0) set [6, _itemClassname]},
    {(_unitLoadout select 1) set [0, _itemClassname]},
    {(_unitLoadout select 1) set [1, _itemClassname]},
    {(_unitLoadout select 1) set [3, _itemClassname]},
    {(_unitLoadout select 1) set [2, _itemClassname]},
    {(_unitLoadout select 1) set [6, _itemClassname]},
    {(_unitLoadout select 2) set [0, _itemClassname]},
    {(_unitLoadout select 2) set [1, _itemClassname]},
    {(_unitLoadout select 2) set [3, _itemClassname]},
    {(_unitLoadout select 2) set [2, _itemClassname]},
    {(_unitLoadout select 2) set [6, _itemClassname]},
    {_unitLoadout set [6, _itemClassname]},
    {_unitLoadout set [7, _itemClassname]},
    {(_unitLoadout select 9) set [5, _itemClassname]},
    {(_unitLoadout select 8) set [0, _itemClassname]},
    {(_unitLoadout select 9) set [0, _itemClassname]},
    {(_unitLoadout select 9) set [1, _itemClassname]},
    {(_unitLoadout select 9) set [3, _itemClassname]},
    {(_unitLoadout select 9) set [4, _itemClassname]},
    {(_unitLoadout select 9) set [2, _itemClassname]}
] select _keyID;

call _fnc_set;
_unit setUnitLoadout [_unitLoadout, false];
#include "component.hpp"

params ["_button", "_isLeftSide"];

private _display = ctrlParent _button;
private _unit = _display getVariable [QGVAR(unit), objNull];

// move selection indicator to selected tab
private _ctrlTabSelected = _display getVariable [[QGVAR(ctrlTabSelectedRight), QGVAR(ctrlTabSelectedLeft)] select _isLeftSide, controlNull];
private _ctrlTabSelectedPosition = ctrlPosition _ctrlTabSelected;
_ctrlTabSelectedPosition set [1, (ctrlPosition _button) select 1];
_ctrlTabSelected ctrlSetPosition _ctrlTabSelectedPosition;
_ctrlTabSelected ctrlSetFade 0;
_ctrlTabSelected ctrlCommit 0;

// get available options for selected category
private _hashKey = _button getVariable [QGVAR(hashKey), ""];
private _loadoutOptionsHash = _display getVariable [QGVAR(loadoutOptionsHash), []];
private _availableOptions = if !([_loadoutOptionsHash] call CBA_fnc_isHash) then {
    ERROR("_loadoutOptionsHash got lost along the way and is no longer a hash.");
    []
} else {
    [_loadoutOptionsHash, _hashKey] call CBA_fnc_hashGet
};

// fill listbox with available options
// check if _availableOptions is type array, because default return for hash is *false*
if (_availableOptions isEqualType []) then {
    private _ctrlListBox = _display getVariable [[QGVAR(ctrlListBoxRight), QGVAR(ctrlListBoxLeft)] select _isLeftSide, controlNull];
    _ctrlListBox setVariable [QGVAR(hashKey), _hashKey];
    lbClear _ctrlListBox;
    private _ctrlListBoxPosition = ctrlPosition _ctrlListBox;
    _ctrlListBoxPosition set [1, [-safeZoneH, (ctrlPosition _button) select 1] select (count _availableOptions > 0)];
    _ctrlListBox ctrlSetPosition _ctrlListBoxPosition;
    _ctrlListBox ctrlSetFade 0;
    _ctrlListBox ctrlCommit 0;
    {
        private _itemClassname = _x;
        private _displayName = "";
        private _parentClass = "";

        if (_itemClassname == "") then {
            _displayName = "empty";
        } else {
            {
                if (isClass (configFile >> _x >> _itemClassname)) exitWith {_parentClass = _x};
            } forEach ["CfgWeapons", "CfgMagazines", "CfgVehicles", "CfgGlasses"];
            _displayName = [configFile >> _parentClass >> _itemClassname, "displayName", "ERROR: NO DISPLAY NAME"] call BIS_fnc_returnConfigEntry;
        };

        private _pic = [configFile >> _parentClass >> _itemClassname, "picture", ""] call BIS_fnc_returnConfigEntry;

        private _lbIndex = _ctrlListBox lbAdd _displayName;
        _ctrlListBox lbSetData [_lbIndex, _itemClassname];
        _ctrlListBox lbSetPicture [_lbIndex, _pic];

        if (
            (toLower _itemClassname) == (toLower ([_unit, _hashKey, true] call FUNC(getCurrentItem)))
        ) then {
            _ctrlListBox lbSetCurSel _lbIndex;
        };
    } forEach _availableOptions;
};

//update camera
[_unit, _hashKey] call FUNC(updateCamera);

if (_isLeftSide) then {

    private _weaponID = ["primaryWeapon", "secondaryWeapon", "handgunWeapon"] find _hashKey;
    private _attachmentButtons = _display getVariable [QGVAR(attachmentButtons), []];

    // hide right side selection indicator
    private _ctrlTabSelectedRight = _display getVariable [QGVAR(ctrlTabSelectedRight), controlNull];
    _ctrlTabSelectedRight ctrlSetFade 1;
    _ctrlTabSelectedRight ctrlCommit 0;

    // hide right side listbox
    private _ctrlListBoxRight = _display getVariable [QGVAR(ctrlListBoxRight), controlNull];
    _ctrlListBoxRight ctrlSetFade 1;
    _ctrlListBoxRight ctrlCommit 0;

    // activate right side tabs and listbox, if weapon has been selected
    if (_weaponID >= 0) then {
        private _hashKeyArray = [
            ["primaryWeaponOptics", "primaryWeaponPointer", "primaryWeaponMuzzle", "primaryWeaponUnderbarrel"],
            ["secondaryWeaponMuzzle", "secondaryWeaponOptics", "secondaryWeaponPointer", "secondaryWeaponUnderbarrel"],
            ["handgunWeaponMuzzle", "handgunWeaponOptics", "handgunWeaponPointer", "handgunWeaponUnderbarrel"]
        ] select _weaponID;

        private _firstActivated = false;
        {
            private _ctrlButton = _x;
            private _tooltip = _ctrlButton getVariable [QGVAR(tooltip), ""];

            _hashKey = _hashKeyArray select _forEachIndex;
            _ctrlButton setVariable [QGVAR(hashKey), _hashKey];
            _availableOptions = [_loadoutOptionsHash, _hashKey] call CBA_fnc_hashGet;

            if !(_availableOptions isEqualType [] && {count _availableOptions > 0}) then {
                _ctrlButton ctrlEnable false;
                _ctrlButton ctrlSetTooltip format ["%1 unavailable", _tooltip];
                _ctrlButton ctrlSetFade 0.5;
                _ctrlButton ctrlCommit 0;
            } else {
                _ctrlButton ctrlSetTooltip _tooltip;
                _x ctrlEnable true;
                _x ctrlSetFade 0;
                _x ctrlCommit 0;
                if (!_firstActivated) then {
                    [_x, false] call FUNC(onCustomGearTabButton);
                    _firstActivated = true;
                };
            };

        } forEach _attachmentButtons;

    // otherwise hide right side
    } else {
        {
            _x ctrlEnable false;
            _x ctrlSetFade 1;
            _x ctrlCommit 0;
        } forEach _attachmentButtons;

        _ctrlTabSelected ctrlSetFade 1;
        _ctrlTabSelected ctrlCommit 0;
    };
};
#include "component.hpp"

params [["_display",displayNull]];

// destroy cam
GVAR(customGearCam) cameraeffect ["terminate", "back"];
camDestroy GVAR(customGearCam);
GVAR(customGearCam) = nil;

// save selected loadout
private _unit = _display getVariable [QGVAR(unit), objNull];
private _loadoutOptionsHash = _display getVariable [QGVAR(loadoutOptionsHash), []];

private _savedCustomGearHash = [[], false] call CBA_fnc_hashCreate;

[_loadoutOptionsHash, {
    private _currentItem = [_unit, _key, true] call FUNC(getCurrentItem);
    if (_currentItem isEqualType "" && {_currentItem != ""}) then {
        [_savedCustomGearHash, _key, toLower _currentItem] call CBA_fnc_hashSet;
    };
}] call CBA_fnc_hashEachPair;

_unit setVariable [QGVAR(savedCustomGearHash), _savedCustomGearHash, false];
#include "component.hpp"

params ["",["_unit", objNull]];

// save currently selected weapon for camera, because unit will re-select primary on every setUnitLoadout without actually switching to it
GVAR(curSelectedWeaponID) = -1;
private _curWeapon = currentWeapon _unit;
{
    if (_curWeapon == _x) exitWith {
        GVAR(curSelectedWeaponID) = _foreachindex;
    };
} forEach [
    primaryWeapon _unit,
    secondaryWeapon _unit,
    handgunWeapon _unit
];

disableSerialization;

// create camera
if !(isNull (missionNamespace getVariable [QGVAR(customGearCam), objNull])) exitWith {};
GVAR(customGearCam) = "camera" camcreate (getPos _unit);
GVAR(customGearCam) cameraeffect ["External", "back"];
showCinemaBorder false;
[_unit, "uniform", 0] call FUNC(updateCamera);

// get gear options
private _configPath = missionConfigFile >> "Loadouts";
if (GVAR(Chosen_Prefix) != "") then {
    _configPath = _configPath >> GVAR(Chosen_Prefix);
};
private _loadoutHash = [_unit, _configPath] call FUNC(GetUnitLoadoutFromConfig);
private _loadoutOptionsHash = [_unit, _loadoutHash] call FUNC(getCustomGearOptions);

// create dialog
private _display = (findDisplay 46) createDisplay "RscDisplayEmpty";
uiNamespace setVariable [QGVAR(customGearDisplay), _display];
_display setVariable [QGVAR(loadoutOptionsHash), _loadoutOptionsHash];
_display setVariable [QGVAR(unit), _unit];

_display displayAddEventHandler ["unload", {_this call FUNC(onCustomGearUnload)}];

[_display] call FUNC(createCustomGearDialog);
#include "component.hpp"

params [["_unit", objNull], ["_hashKey", ""], ["_commitTime", 0.4]];

private _keyID = [
    "uniform",
    "vest",
    "backpack",
    "primaryWeapon",
    "secondaryWeapon",
    "handgunWeapon",
    "headgear",
    "goggles",
    "nvgoggles",
    "binoculars",
    "map",
    "gps",
    "compass",
    "watch",
    "radio"
] find _hashKey;

if (_keyID < 0) exitWith {};

private _selectionData = [
    ["Pelvis", 0, [0.4,2.4,0.3]],
    ["Spine3", -0.1, [0,1.4,0.1]],
    ["Spine3", 0, [-1,-1.2,0]],
    ["proxy:\A3\Characters_F\Proxies\weapon.001", [-0.1, 0.1] select (GVAR(curSelectedWeaponID) == 0), [[0.8,-0.8,0], [0.8,0.8,0]] select (GVAR(curSelectedWeaponID) == 0)],
    ["proxy:\A3\Characters_F\Proxies\launcher.001", 0, [[-1.7,-0.1,0], [0.8,0.8,0]] select (GVAR(curSelectedWeaponID) == 1)],
    ["proxy:\A3\Characters_F\Proxies\pistol.001", 0, [[0.4,2.4,0.3], [0.5,0.5,0]] select (GVAR(curSelectedWeaponID) == 2)],
    ["Head_axis", 0, [-0.7,0.7,0]],
    ["Head_axis", 0, [-0.7,0.7,0]],
    ["Head_axis", 0, [-0.7,0.7,0]],
    ["Pelvis", 0, [0.4,2.4,0.3]],
    ["Pelvis", 0, [0.4,2.4,0.3]],
    ["Pelvis", 0, [0.4,2.4,0.3]],
    ["Pelvis", 0, [0.4,2.4,0.3]],
    ["Pelvis", 0, [0.4,2.4,0.3]],
    ["Pelvis", 0, [0.4,2.4,0.3]]
] select _keyID;

_selectionData params ["_selectionName", "_selectionOffsetZ", "_selectionRelPos"];
private _selectionPosition = (_unit selectionPosition _selectionName) vectorAdd [0, 0, _selectionOffsetZ];

private _camTarget = _unit modelToWorldVisual _selectionPosition;
GVAR(customGearCam) camSetTarget _camTarget;
GVAR(customGearCam) camSetPos (_camTarget vectorAdd ([_selectionRelPos, getDir _unit, 2] call BIS_fnc_rotateVector3D));
GVAR(customGearCam) camCommit _commitTime;
#include "..\component.hpp"
#include "component.hpp"

params ["_unit"];

private _faction = faction _unit;
private _type = typeOf _unit;
private _result = "";

if (_faction != "CIV_F") exitWith {""};

_type select [2];
#include "component.hpp"

params ["_unit"];

private _faction = faction _unit;
private _type = typeOf _unit;
private _result = "";

if (side _unit == civilian) exitWith {""};

private _getTypePrefix = {
     params ["_faction"];

    private _prefix =  _faction select [0, (count _faction) - 1]; // cut suffix F
    private _initial = _prefix select [0, 1];

    (_initial + (_prefix select [3])); // cut middle part & return
};

private _typePrefix = [_faction] call _getTypePrefix;

private _idx = _type find _typePrefix;
if (_idx == 0) then {
    _result = _type select [count _typePrefix];
} else {
    _result = "";
};

_result
#include "..\component.hpp"
#include "component.hpp"

params ["_configPath"];

GVAR(usedConfigs) pushBack _configPath;

private _isWeapon = {
    params ["_type"];
    ((_type call BIS_fnc_itemType) select 0) == "Weapon"
};

{
    private _value = [_configPath >> _x, "array", false] call CBA_fnc_getConfigEntry;
    if (_value isEqualTo false) then {
        _value = [_configPath >> _x, "text", false] call CBA_fnc_getConfigEntry;
    };
    if (!(_value isEqualTo false)) then {
        // "Unsupported loadout value",  // TODO use the TITLE variant added 2016-10
        ERROR_2("Config property %1 is not supported anymore, was found in %2. Please see README", _x, _configPath);
    };
} forEach [
    "magazines",
    "items",
    "addMagazines",
    "addItems",
    "weapons",
    "linkedItems",
    "primaryWeaponAttachments",
    "secondaryWeaponAttachments",
    "handgunWeaponAttachments"
];

private _configValues = [] call CBA_fnc_hashCreate;

{
    private _value = [_configPath >> _x, "text", false] call  CBA_fnc_getConfigEntry;
    if (!(_value isEqualTo false)) then {
        [_configValues, _x, _value] call CBA_fnc_hashSet;
    };
    _value = [_configPath >> _x, "array", false] call CBA_fnc_getConfigEntry;
    if (!(_value isEqualTo false)) then {
        [_configValues, _x, _value] call CBA_fnc_hashSet;
    };
} forEach [
    "uniform",
    "vest",
    "backpack",
    "primaryWeapon",
    "primaryWeaponMagazine",
    "primaryWeaponMuzzle",
    "primaryWeaponOptics",
    "primaryWeaponPointer",
    "primaryWeaponUnderbarrel",
    "primaryWeaponUnderbarrelMagazine",
    "secondaryWeapon",
    "secondaryWeaponMagazine",
    "secondaryWeaponMuzzle",
    "secondaryWeaponOptics",
    "secondaryWeaponPointer",
    "secondaryWeaponUnderbarrel",
    "secondaryWeaponUnderbarrelMagazine",
    "handgunWeapon",
    "handgunWeaponMagazine",
    "handgunWeaponMuzzle",
    "handgunWeaponOptics",
    "handgunWeaponPointer",
    "handgunWeaponUnderbarrel",
    "handgunWeaponUnderbarrelMagazine",
    "headgear",
    "goggles",
    "nvgoggles",
    "binoculars",
    "map",
    "gps",
    "compass",
    "watch",
    "radio"
];

{
    private _value = [_configPath >> _x, "array", false] call  CBA_fnc_getConfigEntry;
    if (!(_value isEqualTo false)) then {
        [_configValues, _x, _value] call CBA_fnc_hashSet;
    };
} forEach [
    "addItemsToUniform",
    "addItemsToVest"
];


// special functionality for adding weapons with attachments to backpack
private _value = [_configPath >> "addItemsToBackpack", "array", false] call  CBA_fnc_getConfigEntry;
if (!(_value isEqualTo false)) then {
    {

        /* entry is a weapon classname --> read attachments from a sibling class with the same classname, e.g.:
        *  addItemsToBackpack[] = {"arifle_Mk20C_F",...};
        *  class arifle_Mk20C_F {
        *     muzzle = "";
        *     ...
        *  };
        */

        if ([_x] call _isWeapon) then {
            private _muzzle = [_configPath >> _x >> "muzzle", "text", ""] call  CBA_fnc_getConfigEntry;
            private _pointer = [_configPath >> _x >> "pointer", "text", ""] call  CBA_fnc_getConfigEntry;
            private _scope = [_configPath >> _x >> "optics", "text", ""] call  CBA_fnc_getConfigEntry;
            private _magazine = [_configPath >> _x >> "magazine", "text", ""] call  CBA_fnc_getConfigEntry;
            private _underBarrelMagazine = [_configPath >> _x >> "underBarrelMagazine", "text", ""] call  CBA_fnc_getConfigEntry;
            private _underBarrel = [_configPath >> _x >> "underBarrel", "text", ""] call  CBA_fnc_getConfigEntry;
            _value set [_forEachIndex, [_x, _muzzle, _pointer, _scope, _magazine, _underBarrelMagazine, _underBarrel]];
        } else {

            /* entry is not a weapon classname --> check if it's not a classname of any other item either --> if so, it has to be a custom weapon class, e.g.:
            *  addItemsToBackpack[] = {"FancySchmazyWeapon", ...};
            *  class FancySchmazyWeapon {
            *      weapon = "arifle_Mk20C_F";
            *      muzzle = "";
            *      ...
            *  };
            */

            private _type = _x;
            if ((["CfgWeapons", "CfgAmmo", "CfgVehicles", "CfgMagazines", "CfgItems"] findIf {isClass (configFile >> _x >> _type)}) < 0) then {
                private _weapon = [_configPath >> _x >> "weapon", "text", ""] call  CBA_fnc_getConfigEntry;

                if (!(_weapon isEqualTo "") && {[_weapon] call _isWeapon}) then {
                    private _muzzle = [_configPath >> _type >> "muzzle", "text", ""] call  CBA_fnc_getConfigEntry;
                    private _pointer = [_configPath >> _type >> "pointer", "text", ""] call  CBA_fnc_getConfigEntry;
                    private _scope = [_configPath >> _type >> "optics", "text", ""] call  CBA_fnc_getConfigEntry;
                    private _magazine = [_configPath >> _type >> "magazine", "text", ""] call  CBA_fnc_getConfigEntry;
                    private _underBarrelMagazine = [_configPath >> _type >> "underBarrelMagazine", "text", ""] call  CBA_fnc_getConfigEntry;
                    private _underBarrel = [_configPath >> _type >> "underBarrel", "text", ""] call  CBA_fnc_getConfigEntry;
                    _value set [_forEachIndex, [_weapon, _muzzle, _pointer, _scope, _magazine, _underBarrelMagazine, _underBarrel]];
                };
            };
        };

    } forEach _value;
    [_configValues, "addItemsToBackpack", _value] call CBA_fnc_hashSet;
};

_configValues
#include "component.hpp"

params ["_unit", "_loadoutHierarchy"];

#ifdef DEBUG_MODE_FULL
    assert (_unit in allUnits);
    assert (typeName _loadoutHierarchy == "ARRAY");
#endif

{
    params ["_path", "_discriminator"];

    if (isClass(_path) && ([_unit] call _discriminator)) then {
        TRACE_2("adding values from %1 to %2", _path, _unit);
        _loadoutHierarchy pushBack ([_path] call FUNC(ExtractLoadoutFromConfig));
    };
};
#include "..\component.hpp"
#include "component.hpp"

["grad-loadout", {
    params ["_command"];

    switch (_command) do {
        case ("viewer"): {
            [] call FUNC(loadoutViewer);
        };
        case ("verify"): {
            [] spawn FUNC(verifyLoadouts);
        };
    };
},"admin"] call CBA_fnc_registerChatCommand;
#include "component.hpp"

params [["_mode", ""]];

private _configPath = missionConfigFile >> "Loadouts";

if (GVAR(Chosen_Prefix) != "") then {
    _configPath = _configPath >> GVAR(Chosen_Prefix);
};

private _isMissionStart = if (typeName _mode == "STRING") then {if (_mode == "postInit") then {true} else {false}} else {false};
_units = ([_isMissionStart] call FUNC(GetApplicableUnits));

LOG_2("applying loadouts from mission config file to %! units...", count _units);

{
    [_x] call FUNC(DoLoadoutForUnit);
} forEach _units;
#include "component.hpp"

if ( isDedicated ) exitWith {};

player addEventHandler ["Respawn", FUNC(ApplyLoadout)];
#include "component.hpp"

params ["_unit"];

private _defactionedClassname = "";
{
    _defactionedClassname = [_unit] call _x;
    if (_defactionedClassname != "") exitWith {true};
} forEach [FUNC(VanillaMilitaryDefactionizer), FUNC(VanillaCivDefactionizer)];

if (_defactionedClassname == "") then {
    WARNING_1("type name of unit %1 cannot be defactionized :( defaulting to classname", _unit);
    _defactionedClassname = typeOf _unit;
};

TRACE_2("unit class %1 defactionized to %2", typeOf _unit, _defactionedClassname);

_defactionedClassname
#include "component.hpp"

params ["_loadoutHash", "_loadoutTarget"];

if (typeName _loadoutHash != "ARRAY") then {
    throw "loadoutHash is not of type array (and thus, no cba hash) :(("
};

private _unitLoadout = [
  [], [], [], // weapons
  [], [], [], // containers
  "", "", // helm, goggles
  [], // binos (weap4)
  ["", "", "", "", "", "" ] // assignedItems
];

private _resetLoadout = [(missionConfigFile >> "Loadouts"), "resetLoadout", 0] call BIS_fnc_returnConfigEntry;
if (_resetLoadout == 0) then {
    _unitLoadout = getUnitLoadout _loadoutTarget;
};
if (count _unitLoadout == 0) exitWith {};

_unitLoadout = [_loadoutHash, _unitLoadout] call FUNC(HashToUnitLoadout);

if (_loadoutTarget == player) then {
    INFO_1("player loadout: %1", _unitLoadout);
};

_loadoutTarget setVariable [QGVAR(applicationCount), (_loadoutTarget getVariable [QGVAR(applicationCount), 0]) + 1, true];
_loadoutTarget setVariable [QGVAR(lastLoadoutApplicationTime), CBA_missionTime, true];

[_loadoutTarget, [_unitLoadout, true]] remoteExec ["setUnitLoadout", _loadoutTarget, false];
[QGVAR(loadoutApplied), [_loadoutTarget, _unitLoadout], _loadoutTarget] call CBA_fnc_targetEvent;
#include "component.hpp"

params [["_faction",""]];

// return faction as path if no value exists
GVAR(factionPathMap) getVariable [_faction,_faction]
// usage: ["BLU_T", "BwFleck"] call GRAD_Loadout_FactionSetLoadout;

#include "component.hpp"

params [["_faction",""],["_loadoutClass",""],["_global",false]];

GVAR(factionPathMap) setVariable [_faction,_loadoutClass,_global];
#include "component.hpp"

params ["_isMissionStart"];

// Make sure that only local player is considered as target on respawn.
// This is because AI don't respawn, and we especially don't want to have local AI go through an entire loadout loop again, everytime the player respawns that the AI belongs to.


private _units = [];
if( !_isMissionStart ) then {
	_units pushBack player;
} else {
	{
		if ( local _x ) then {
			_units pushBack _x;
		};
	} forEach allUnits;
};

_units
#include "component.hpp"

private _configPath = missionConfigFile >> "Loadouts";

if (GRAD_Loadout_Chosen_Prefix != "") then {
    _configPath = _configPath >> GRAD_Loadout_Chosen_Prefix;
};

_configPath
#include "component.hpp"

params ["_unit", "_configPath"];

private _getSidePath = {
    _configPath >> "Side" >> _this;
};

TRACE_2("finding config values for %1 in path %2 ...", _unit, _configPath);

private _loadoutHierarchy = [];

private _extractor = [_unit, _loadoutHierarchy] call FUNC(GetPathExtractor);

[_configPath >> "AllUnits", {true}] call _extractor;
[_configPath >> "AllAi", {!isPlayer _unit}] call _extractor;
[_configPath >> "AllPlayable", {_unit in playableUnits}] call _extractor;
[_configPath >> "AllPlayers", {isPlayer _unit}] call _extractor;

[_configPath >> "AllUnits" >> "Type" >> typeOf _unit, {true}] call _extractor;
[_configPath >> "AllAi" >> "Type" >> typeOf _unit, {!isPlayer _unit}] call _extractor;
[_configPath >> "AllPlayable" >> "Type" >> typeOf _unit, {_unit in playableUnits}] call _extractor;
[_configPath >> "AllPlayers" >> "Type" >> typeOf _unit, {isPlayer _unit}] call _extractor;

[("Blufor" call _getSidePath), {side _unit == blufor}] call _extractor;
[("Opfor" call _getSidePath),{side _unit == opfor}] call _extractor;
[("Independent" call _getSidePath), {side _unit == independent}] call _extractor;
[("Civilian" call _getSidePath), {side _unit == civilian}] call _extractor;

["BluforAi" call _getSidePath, { side _unit == blufor && { !isPlayer _unit }}] call _extractor;
["OpforAi" call _getSidePath, {side _unit == opfor && { !isPlayer _unit }}] call _extractor;
["IndependentAi" call _getSidePath, { side _unit == independent && { !isPlayer _unit }}] call _extractor;
["CivilianAi" call _getSidePath, {side _unit == civilian && { !isPlayer _unit }}] call _extractor;

["BluforPlayers" call _getSidePath, { side _unit == blufor && { isPlayer _unit }}] call _extractor;
["OpforPlayers" call _getSidePath, {side _unit == opfor && { isPlayer _unit }}] call _extractor;
["IndependentPlayers" call _getSidePath, { side _unit == independent && { isPlayer _unit }}] call _extractor;
["CivilianPlayers" call _getSidePath, {side _unit == civilian && { isPlayer _unit }}] call _extractor;

[_configPath >> "Type" >> typeOf _unit, {true}] call _extractor;
[_configPath >> "Rank" >> rank _unit, {true}] call _extractor;
[_configPath >> "Type" >> typeof _unit >> "Rank" >> rank _unit, {true}] call _extractor;

private _str = str _unit splitString "_" select 0;
private _namePath = _configPath >> "Name" >> _str;
[_namePath, {true}] call _extractor;

private _role = [roleDescription _unit] call BIS_fnc_filterString;
private _rolePath = _configPath >> "Role" >> _role;
[_rolePath, {true}] call _extractor; // Roledescription based loadouts

private _factionPathBit = ([faction _unit] call FUNC(FactionGetLoadout));
private _factionPath = _configPath >> "Faction" >> _factionPathBit;

[_factionPath >> "AllUnits", {true}] call _extractor;
[_factionPath >> "AllAi", {!isPlayer _unit}] call _extractor;

[_factionPath >> "AllPlayers", {isPlayer _unit}] call _extractor;

private _factionTypeConfig = "true" configClasses (_factionPath >> "Type");
if (count _factionTypeConfig > 0) then {
    TRACE_1("type configs for faction %1 exist", _factionPath);
    private _typeBit = [_unit] call FUNC(DefactionizeType);
    if (_typeBit != "") then {
        [_factionPath >> "Type" >> _typeBit, {true}] call _extractor;
        [_factionPath >> "Type" >> _typeBit >> "Rank" >> rank _unit, {true}] call _extractor;
    };
} else {
    TRACE_1("no type configs for faction %1", _factionPath);
};

[_factionPath >> "Rank" >> (rank _unit), {true}] call _extractor;
[_factionPath >> "Role" >> _role, {true}] call _extractor;

#ifdef DEBUG_MODE_NORMAL
if (count _loadoutHierarchy == 0) then {
    INFO_1("no loadout config values could be found for %1", _unit);
};
#endif
#ifdef DEBUG_MODE_FULL
if (_unit == player) then {
    INFO_1("complete loadout config for player: %1", _loadoutHierarchy);
};
#endif

private _actualLoadout = [_loadoutHierarchy] call FUNC(MergeLoadoutHierarchy);

_actualLoadout
// GRAD_Loadout_usedConfigs

#include "component.hpp"

// get all config Classes within Loadouts, array diff with GRAD_Loadout_usedConfigs

private _configPath = [] call FUNC(GetLoadoutConfigPath);
private _maxConfigDepth = 10; // err on high side :P

private _allLoadoutClasses = ([_configPath, _maxConfigDepth, true] call BIS_fnc_returnChildren);

private _unusedClasses = _allLoadoutClasses - GVAR(usedConfigs);

private _unusedClassesAsStrings = [];
{
    _unusedClassesAsStrings pushBack [_x, "STRING"] call BIS_fnc_configPath;
} forEach _unusedClasses;

private _unusedClassesWithoutParents = [];
{
    private _potentialParentClass = _x;
    private _hasBeenFound = false;
    {
        if ((_x find _potentialParentClass) == 0) exitWith { _hasBeenFound = true; };
    } forEach _unusedClassesAsStrings;
    if (!_hasBeenFound) then {
        _unusedClassesWithoutParents pushBack _potentialParentClass;
    };
} forEach _unusedClassesAsStrings;

_unusedClassesWithoutParents;
#include "component.hpp"

params ["_loadoutHash", "_unitLoadout"];

if (typeName _loadoutHash != "ARRAY") then {
    throw "loadoutHash is not of type array (and thus, no cba hash) :(("
};
if (typeName _unitLoadout != "ARRAY") then {
    throw "_unitLoadout is not of type array :(("
};

// CBA_fnc_findTypeName ? CBA_fnc_findTypeOf ?

private _getFirstOfType = {
    params ["_array","_classPath"];

    private _className = configName _classPath;
    private _hierarchy = (configHierarchy _classPath);
    _hierarchy call BIS_fnc_ArrayPop;
    private _butLast = _hierarchy call BIS_fnc_ArrayPop;

    _result = "";
    {
        if (_x isKindOf [_className, _butLast]) exitWith {_result = _x; };
    } forEach _array;

    _result
};

private _walkIntoArray = {
    params [["_array",[]],["_indices",[]]];
    {
        _array = _array select _x;
    } forEach _indices;

    _array
};

private _assignFromLoadoutHash = {
    params [["_indices",[]],["_entryName",""],"_classNameToPickOrMapper"];

    if ( [_loadoutHash, _entryName] call CBA_fnc_hashHasKey ) then {
        private _value = [_loadoutHash, _entryName] call CBA_fnc_hashGet;
        if (!(isNil "_classNameToPickOrMapper")) then {
            if (typeName _classNameToPickOrMapper == "CONFIG") then {
                _value = [_value, _classNameToPickOrMapper] call _getFirstOfType;
            };
            if (typeName _classNameToPickOrMapper == "CODE") then {
                _value = [_value] call _classNameToPickOrMapper;
            };
        };

        if (!(isNil "_value")) then {
            _index =  _indices call BIS_fnc_arrayPop;
            _targetArray = [_unitLoadout, _indices] call _walkIntoArray;
            _targetArray set [_index, _value];
        };
    };
};

private _assignValue = {
    params [["_indices",[]], "_value"];

    if (!(isNil "_value")) then {
        _index =  _indices call BIS_fnc_arrayPop;
        _targetArray = [_unitLoadout, _indices] call _walkIntoArray;
        _targetArray set [_index, _value];
    };
};

private _setEmptyParentArrayIfEmptyString = {
    private _indices = _this;
    if (count _indices < 2) then {
        throw '_setEmptyParentArrayIfEmptyString needs two indices at least';
    };
    _testValue = [_unitLoadout, _indices] call _walkIntoArray;
    if (_testValue == "") then {
        _indices call BIS_fnc_arrayPop;
        _targetIdx = _indices call BIS_fnc_arrayPop;
        _targetArray = [_unitLoadout, _indices] call _walkIntoArray;
        _targetArray set [_targetIdx, []];
    };
};

private _normalizeWeaponArray = {
    private _weaponArray = _this;
    if ((count _weaponArray) > 0) then {
        _weaponValue = _weaponArray select 0;
        if ((isNil "_weaponValue") || (_weaponValue == "")) then {
            _weaponArray resize 0;
        } else {
            _weaponArray resize 7;
            {
                private _defaultValue = "";
                if (_forEachIndex >= 4 && _forEachIndex <= 5) then {
                    _defaultValue = [];
                };
                if (isNil "_x") then {
                    _weaponArray set [_forEachIndex, _defaultValue];
                } else {
                    if (_forEachIndex >= 4 && _forEachIndex <= 5) then {
                        if (typeName _x == "STRING") then {
                            if (count _x > 0) then {
                                _weaponArray set [_forEachIndex, [_x, 1]];
                            } else {
                                _weaponArray set [_forEachIndex, _defaultValue];
                            };
                        };
                        // doesnt work for UGL values. no idea where to get those, btw
                        // if (!([_weaponValue, _x select 0] call FUNC(WeaponIsCompatibleMagazine))) then {
                        //    _weaponArray set [_forEachIndex, _defaultValue];
                        //};


                    };
                };
            } forEach _weaponArray;
        };
    };
   _weaponArray
};

private _defaultValueForItemCarriers = {
    private _targetArray = _unitLoadout select _this;
    private _carrierClassName = _targetArray select 0;
    if (!(isNil "_carrierClassName")) then {
        _val = _targetArray select 1;
        if (isNil "_val") then {
            _targetArray set [1, []];
        };
    };
};

[[0, 0], "primaryWeapon"] call _assignFromLoadoutHash;
[[0, 1], "primaryWeaponMuzzle"] call _assignFromLoadoutHash;
[[0, 2], "primaryWeaponPointer"] call _assignFromLoadoutHash;
[[0, 3], "primaryWeaponOptics"] call _assignFromLoadoutHash;
[[0, 4], "primaryWeaponMagazine"] call _assignFromLoadoutHash;
[[0, 5], "primaryWeaponUnderbarrelMagazine"] call _assignFromLoadoutHash;
[[0, 6], "primaryWeaponUnderbarrel"] call _assignFromLoadoutHash;
(_unitLoadout select 0) call _normalizeWeaponArray;

// launcherShit
[[1, 0], "secondaryWeapon"] call _assignFromLoadoutHash;
[[1, 1], "secondaryWeaponMuzzle"] call _assignFromLoadoutHash;
[[1, 2], "secondaryWeaponPointer"] call _assignFromLoadoutHash;
[[1, 3], "secondaryWeaponOptics"] call _assignFromLoadoutHash;
[[1, 4], "secondaryWeaponMagazine"] call _assignFromLoadoutHash;
[[1, 5], "secondaryWeaponUnderbarrelMagazine"] call _assignFromLoadoutHash;
[[1, 6], "secondaryWeaponUnderbarrel"] call _assignFromLoadoutHash;
(_unitLoadout select 1) call _normalizeWeaponArray;

// handgun
[[2, 0], "handgunWeapon"] call _assignFromLoadoutHash;
[[2, 1], "handgunWeaponMuzzle"] call _assignFromLoadoutHash;
[[2, 2], "handgunWeaponPointer"] call _assignFromLoadoutHash;
[[2, 3], "handgunWeaponOptics"] call _assignFromLoadoutHash;
[[2, 4], "handgunWeaponMagazine"] call _assignFromLoadoutHash;
[[2, 5], "handgunWeaponUnderbarrelMagazine"] call _assignFromLoadoutHash;
[[2, 6], "handgunWeaponUnderbarrel"] call _assignFromLoadoutHash;
(_unitLoadout select 2) call _normalizeWeaponArray;

[[3, 0], "uniform"] call _assignFromLoadoutHash;
[[3, 1], "addItemsToUniform", FUNC(normalizeContent)] call _assignFromLoadoutHash;
3 call _defaultValueForItemCarriers;
[3, 0] call _setEmptyParentArrayIfEmptyString;

[[4, 0], "vest"] call _assignFromLoadoutHash;
[[4, 1], "addItemsToVest", FUNC(normalizeContent)] call _assignFromLoadoutHash;
4 call _defaultValueForItemCarriers;
[4, 0] call _setEmptyParentArrayIfEmptyString;

[[5, 0], "backpack"] call _assignFromLoadoutHash;
[[5, 1], "addItemsToBackpack", FUNC(normalizeContent)] call _assignFromLoadoutHash;
5 call _defaultValueForItemCarriers;
[5, 0] call _setEmptyParentArrayIfEmptyString;

[[6], "headgear"] call _assignFromLoadoutHash;
[[7], "goggles" ] call _assignFromLoadoutHash;

[[8, 0], "binoculars"] call _assignFromLoadoutHash; // dont be surprised: it's ... the quaternary weapon, so to speak.
(_unitLoadout select 8) call _normalizeWeaponArray;

[[9, 0], "map"] call _assignFromLoadoutHash;
[[9, 1], "gps"] call _assignFromLoadoutHash;
[[9, 2], "radio"] call _assignFromLoadoutHash;
[[9, 3], "compass"] call _assignFromLoadoutHash;
[[9, 4], "watch"] call _assignFromLoadoutHash;
[[9, 5], "nvgoggles"] call _assignFromLoadoutHash;

_unitLoadout
#include "component.hpp"

GVAR(usedConfigs) = [];
GVAR(Chosen_Prefix) = "";

// note: units get property GRAD_Loadout_applicationCount

GVAR(factionPathMap) = [true] call CBA_fnc_createNamespace;
GVAR(revivers) = [true] call CBA_fnc_createNamespace;
#include "component.hpp"

params ["_loadoutHierarchy"];

private _mergedLoadout = [] call CBA_fnc_hashCreate;

{
    private _currentLevel = _x;

    {
        if ([_currentLevel, _x] call CBA_fnc_hashHasKey) then {
            _newValue = [_currentLevel, _x] call CBA_fnc_hashGet;
            [_mergedLoadout, _x, _newValue] call CBA_fnc_hashSet;
        };
    } forEach [
        "uniform",
        "vest",
        "backpack",
        "primaryWeapon",
        "primaryWeaponMagazine",
        "primaryWeaponMuzzle",
        "primaryWeaponOptics",
        "primaryWeaponPointer",
        "primaryWeaponUnderbarrel",
        "primaryWeaponUnderbarrelMagazine",
        "secondaryWeapon",
        "secondaryWeaponMagazine",
        "secondaryWeaponMuzzle",
        "secondaryWeaponOptics",
        "secondaryWeaponPointer",
        "secondaryWeaponUnderbarrel",
        "secondaryWeaponUnderbarrelMagazine",
        "handgunWeapon",
        "handgunWeaponMagazine",
        "handgunWeaponMuzzle",
        "handgunWeaponOptics",
        "handgunWeaponPointer",
        "handgunWeaponUnderbarrel",
        "handgunWeaponUnderbarrelMagazine",
        "headgear",
        "goggles",
        "nvgoggles",
        "binoculars",
        "map",
        "gps",
        "compass",
        "watch",
        "radio"
    ];

    // add* values must be appended
    {
        if ([_currentLevel, _x] call CBA_fnc_hashHasKey) then {
            _oldValue = [_mergedLoadout, _x] call CBA_fnc_hashGet;
            if (isNil "_oldValue") then {
                _oldValue = [];
            };
            _addValue = [_currentLevel, _x] call CBA_fnc_hashGet;
            [_mergedLoadout, _x, _oldValue + _addValue] call CBA_fnc_hashSet;
        };
    } forEach [
        "addItemsToUniform",
        "addItemsToVest",
        "addItemsToBackpack"
    ];

} forEach _loadoutHierarchy;

_mergedLoadout
#include "component.hpp"

// normalize magazines in content.
// input: ["stanag_foo", "stanag_blub", "handgrenade", "something_else"]
// output: [["stanag_foo", 2], ["handgrenade", 1],  "something_else"]

params ["_contentFromConfig"];

private _CBA_fnc_hashIncr = {
    params ["_hash","_key"];

    _value = 1;
    if ([_hash, _key] call CBA_fnc_hashHasKey) then {
        _value = _value + ([_hash, _key] call CBA_fnc_hashGet);
    };
    [_hash, _key, _value] call CBA_fnc_hashSet;
};

private _magazines = [] call CBA_fnc_hashCreate;
private _contentForLoadout = [];

{
    if ((typeName _x) == "ARRAY") then {
        if (isClass (configFile >> "CfgWeapons" >> (_x select 0))) then {
            _x params ["_weapon", "_muzzle", "_pointer", "_optics", "_magazine", "_underbarrelMagazine", "_underbarrel"];

            if (!(_magazine isEqualTo "") && isNumber (configFile >> "CfgMagazines" >> _magazine >> "count")) then {
                _magazine = [_magazine, (getNumber (configFile >> "CfgMagazines" >> _magazine >> "count"))];
            };
            if (!(_underbarrelMagazine isEqualTo "") && isNumber (configFile >> "CfgMagazines" >> _underbarrelMagazine >> "count")) then {
                _underbarrelMagazine = [_underbarrelMagazine, (getNumber (configFile >> "CfgMagazines" >> _underbarrelMagazine >> "count"))];
            };
            _contentForLoadout pushBack [[_weapon, _muzzle, _pointer, _optics, _magazine, _underbarrelMagazine, _underbarrel],1];
        };
    } else {
        [_magazines, _x] call _CBA_fnc_hashIncr;
    };
} forEach _contentFromConfig;

[
    _magazines,
    {
        _className = _key;

        if (_className isKindOf ["CA_Magazine", configFile >> "CfgMagazines"]) then {
            _contentForLoadout pushBack [_key, _value, 1];
        } else {
            _contentForLoadout pushBack [_key, _value];
        };
    }
] call CBA_fnc_hashEachPair;

_contentForLoadout
#include "component.hpp"

params [["_loadoutHash", []], ["_unit", objNull]];

private _savedCustomGearHash = _unit getVariable QGVAR(savedCustomGearHash);

private _randomizationModeConfig = if (isNil QGVAR(randomizationModeConfig)) then {
    [(missionConfigFile >> "Loadouts"), "randomizationMode", 1] call BIS_fnc_returnConfigEntry;
} else {
    GVAR(randomizationModeConfig)
};
private _randomizationMode = _unit getVariable QGVAR(randomizationMode);
if (isNil "_randomizationMode") then {
    _randomizationMode = _randomizationModeConfig;
};
private _randomizationEnabledForUnit = switch (true) do {
    case (_randomizationMode == 0): {false};
    case (_randomizationMode == 1): {true};
    case (_randomizationMode == 2 && isPlayer _unit): {true};
    case (_randomizationMode == 3 && !isPlayer _unit): {true};
    default {false};
};

{
    private _value = [_loadoutHash, _x] call CBA_fnc_hashGet;
    if (!isNil "_value" && {_value isEqualType []}) then {
        if (count _value == 0) then {_value = ""} else {
            _value = _value apply {toLower _x};
            if (
                !isNil "_savedCustomGearHash" &&
                {[_savedCustomGearHash, _x] call CBA_fnc_hashHasKey} &&
                {([_savedCustomGearHash, _x] call CBA_fnc_hashGet) in _value}
            ) then {
                _value = [_savedCustomGearHash, _x] call CBA_fnc_hashGet;
            } else {
                if (_randomizationEnabledForUnit) then {
                    _value = selectRandom _value;
                } else {
                    _value = _value param [0, ""];
                };
            };
        };
        [_loadoutHash, _x, _value] call CBA_fnc_hashSet;
    };
} forEach [
    "uniform",
    "vest",
    "backpack",
    "primaryWeapon",
    "primaryWeaponMagazine",
    "primaryWeaponMuzzle",
    "primaryWeaponOptics",
    "primaryWeaponPointer",
    "primaryWeaponUnderbarrel",
    "primaryWeaponUnderbarrelMagazine",
    "secondaryWeapon",
    "secondaryWeaponMagazine",
    "secondaryWeaponMuzzle",
    "secondaryWeaponOptics",
    "secondaryWeaponPointer",
    "secondaryWeaponUnderbarrel",
    "secondaryWeaponUnderbarrelMagazine",
    "handgunWeapon",
    "handgunWeaponMagazine",
    "handgunWeaponMuzzle",
    "handgunWeaponOptics",
    "handgunWeaponPointer",
    "handgunWeaponUnderbarrel",
    "handgunWeaponUnderbarrelMagazine",
    "headgear",
    "goggles",
    "nvgoggles",
    "binoculars",
    "map",
    "gps",
    "compass",
    "watch",
    "radio"
];
#include "component.hpp"

private _handleRadios = [(missionConfigFile >> "Loadouts"), "handleRadios", 0] call BIS_fnc_returnConfigEntry;
if (_handleRadios == 1) then {
    _units = [true] call FUNC(GetApplicableUnits);
    {
        _x unlinkItem "ItemRadio";
    } forEach _units;
};
#include "component.hpp"

params ["",["_didJIP",false]];

private _getDelay = {
    params ["_didJIP"];

    private _baseDelay = [(missionConfigFile >> "Loadouts"), "baseDelay", 10] call BIS_fnc_returnConfigEntry;
    if (_didJIP) exitWith {_baseDelay};

    private _perPlayerDelay = [(missionConfigFile >> "Loadouts"), "perPlayerDelay", 1] call BIS_fnc_returnConfigEntry;

    _baseDelay + floor(_perPlayerDelay * random (count allPlayers))
};

private _delay = [_didJIP] call _getDelay;

INFO_1("waiting %1 s for loadout...", _delay);

[
	{
		INFO("triggering loadout...");
		[_this select 0] call FUNC(ApplyLoadout);
        INFO("loadout was applied.");
	},
	[_this select 0],
	_delay
] call CBA_fnc_waitAndExecute;
#include "component.hpp"

params ["_weaponClassName", "_magazineClassName"];

private _compatibleMagazines = (configFile >> "CfgWeapons" >> _weaponClassName >> "magazines") call BIS_fnc_getCfgData;

(_magazineClassName in _compatibleMagazines)
#include "..\component.hpp"
#include "component.hpp"

params [["_callBack",{}],["_propertyName",""],["_global",false]];

private _pRevivers = GVAR(revivers) getVariable [_propertyName,[]];

_pRevivers pushBack _callback;
GVAR(revivers) setVariable [_propertyName,_pRevivers,_global];
#include "component.hpp"

params [["_loadoutHash", []], ["_unit", objNull]];

[
    _loadoutHash,
    {
        _oldValue = _value;
        _revivers = [_key] call FUNC(GetRevivers);
        {
            _value = [_value, _unit] call _x;
        } forEach _revivers;

        TRACE_2("revivers: replaced %1 with %2", _oldValue, _value);

        [_loadoutHash, _key, _value] call CBA_fnc_hashSet;
    }
] call CBA_fnc_hashEachPair;

_loadoutHash
#include "component.hpp"

params [["_propertyName",""]];

GVAR(revivers) getVariable [_propertyName,[]]
#ifdef A3GFramework_state_Module
class A3G_Loadout {
  name = "A3G Loadout";
  description = "Superheroic Arma 3 loadout script!";
  authors[] = {"Cephei", "Fusselwurm"};
};
#endif

#ifdef A3GFramework_state_Functions
  #include "cfgFunctions.hpp"
#endif
{
    "name": "grad-loadout",
    "contributors": [
        {
            "name": "Cephei"
        },
        {
            "name": "BaerMitUmlaut"
        },
        {
            "name": "Steven Koeberich"
        },
        {
            "name": "Moritz Schmidt",
            "email": "fusselwurm@gmail.com"
        }
    ],
    "description": "Declarative loadout script for Arma3",
    "version": "4.11.5"
}
# GRAD Loadout
[![GitHub tag](https://img.shields.io/github/tag/gruppe-adler/grad-loadout.svg)](https://github.com/gruppe-adler/grad-loadout/releases)  
Declarative loadout system for Arma3 by [Gruppe Adler](https://www.gruppe-adler.de/).

## Documentation
Check out https://gruppe-adler.github.io/grad-loadout/ .

## Acknowledgment
*This is a continuation of mostly [Cephei](https://github.com/Cephel)'s work in [A3G Loadout](https://github.com/v-Arma/a3g-loadout).*
*However, that project seems so dead and I changed so much that I saw it fit to rename repo & project. –– Fusselwurm, 2016-08-16*
import {unitLoadoutToGradLoadout} from './unitLoadoutToGradLoadout';
declare function require(module: string): any;
declare var process: any;

var readline = require('readline');
// var unitLoadoutToGradLoadout = require('unitLoadoutToGradLoadout').unitLoadoutToGradLoadout;
var rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
    terminal: false
});

var input = [];

rl.on('line', function(line) {
    input.push(line);
});

rl.on('close', function () {

    var inputString: string = input.join('');
    let inputArray: Array<any> = JSON.parse(inputString);

    let out = unitLoadoutToGradLoadout(inputArray);
    
    process.stdout.write(out + "\n");
});
function assign(target: Object, ...sources: Array<Object>) {
    sources.forEach(function (source: Object) {
        Object.getOwnPropertyNames(source).forEach(function (key: string) {
            target[key] = source[key];
        });
    });
}

interface Loadout {
    uniform?: Array<string|Array<any>>;
    backpack?: Array<string|Array<any>>;
    vest?: Array<string|Array<any>>;
    addItemsToUniform?: Array<string|Array<string>>;
    addItemsToVest?: Array<string|Array<string>>;
    addItemsToBackpack?: Array<string|Array<string>>;
    primaryWeapon?: string;
    secondaryWeapon?: string;
    handgunWeapon?: string;
    primaryWeaponMuzzle?: string;
    primaryWeaponOptics?: string;
    primaryWeaponPointer?: string;
    primaryWeaponUnderbarrel?: string;
    secondaryWeaponMuzzle?: string;
    secondaryWeaponOptics?: string;
    secondaryWeaponPointer?: string;
    secondaryWeaponUnderbarrel?: string;
    handgunWeaponMuzzle?: string;
    handgunWeaponOptics?: string;
    handgunWeaponPointer?: string;
    handgunWeaponUnderbarrel?: string;
    headgear?: string;
    goggles?: string;
    nvgoggles?: string;
    binoculars?: string;
    map?: string;
    gps?: string;
    compass?: string;
    watch?: string;
    radio?: string;
}


function augmentWeapon(weaponName: string, weaponArray: Array<any>): Object {
    let result = {};
    result[weaponName] = weaponArray[0] || "";
    result[weaponName + 'Muzzle'] = weaponArray[1] || "";
    result[weaponName + 'Pointer'] = weaponArray[2] || "";
    result[weaponName + 'Optics'] = weaponArray[3] || "";
    result[weaponName + 'Underbarrel'] = weaponArray[6] || "";

    return result;
}

var useListNMacro = true;

var depth = 0;

export function unitLoadoutToGradLoadout(inputArray: Array<any>) {

    var loadout: Loadout = {};
    
    assign(loadout, 
        augmentWeapon('primaryWeapon', inputArray[0]),
        augmentWeapon('secondaryWeapon', inputArray[1]),
        augmentWeapon('handgunWeapon', inputArray[2])
    );

    loadout.uniform = inputArray[3][0] || "";
    if (loadout.uniform) {
        loadout.addItemsToUniform = transformContainerContents(inputArray[3][1]);
    }
    loadout.vest = inputArray[4][0] || "";
    if (loadout.vest) {
        loadout.addItemsToVest = transformContainerContents(inputArray[4][1]);
    }
    loadout.backpack = inputArray[5][0] || "";
    if (loadout.backpack) {
        loadout.addItemsToBackpack = transformContainerContents(inputArray[5][1]);
    }
    loadout.headgear = inputArray[6];
    loadout.goggles = inputArray[7];
    loadout.binoculars = inputArray[8][0] || "";
    loadout.map = inputArray[9][0] || "";
    loadout.gps = inputArray[9][1] || "";
    loadout.radio = inputArray[9][2] || "";
    loadout.compass = inputArray[9][3] || "";
    loadout.watch = inputArray[9][4] || "";
    loadout.nvgoggles = inputArray[9][5] || "";

    cleanupGradLoadoutConfig(loadout);

    let out = stringifyToConfig('', loadout);

    if (useListNMacro) {
        out = out.replace(/"LIST_(\d+)\(\\"([^\)]+)\\"\)"/g, 'LIST_$1("$2")');
    }

    return out;
}

function transformContainerContents(contents: Array<string|Array<string>>): Array<string> {
    const result = [];

    contents.forEach(function (contentItem: string|Array<any>) {
        if (typeof  contentItem === 'string') {
            contentItem = [contentItem, 1];
        }
        if (Array.isArray(contentItem)) {
            if (useListNMacro && contentItem[1] > 1) {
                result.push(asListNExpression(contentItem));
            } else {
                result.push(...expandContents(contentItem));
            }
        }
    });

    return result;
}

function asListNExpression(arr: Array<any>): string {
    let [className, count] = arr;
    if (count > 1) {
        return `LIST_${count}("${className}")`;
    }
}

function expandContents(arr: Array<any>): Array<string> {
    let [classname, count] = arr;
    return new Array(...(new Array(count))).map(() => classname)
}

function cleanupGradLoadoutConfig(loadout: Loadout) {
    Object.getOwnPropertyNames(loadout).forEach(function (key: string) {
        if (loadout[key] === "") {
            delete loadout[key];
        }
    });
}

function stringifyToConfig(name: string, object: Object): string {

    depth += 1;

    let contents = Object.getOwnPropertyNames(object).map(function (key: string): string {
        const subject = object[key];
        if (Array.isArray(subject)) {
            return stringifyArray(key, subject);
        }
        if (subject && typeof subject === 'object') {
            return stringifyToConfig(key, subject);
        }

        if (typeof subject === 'boolean') {
            return stringifyScalar(key, subject ? 1 : 0);
        }
        if (typeof subject === 'string' || typeof subject === 'number') {
            return stringifyScalar(key, subject);
        }

        throw new Error('unexpected value ' + subject);
    });

    depth -= 1;

    return formatClass(name || 'NAME', contents.join('\n'));
}

interface Formatter {
    (name: string, subject: any): string;
}

function addIndentationDecorator(fn: Formatter): Formatter {
    const maxIndent = (new Array(...(new Array(10)))).map(() => '\t').join('');
    return function (name: string, subject: any): string {
        return maxIndent.substr(0, depth) + fn.apply(this, arguments);
    };
}

let stringifyScalar = addIndentationDecorator(function stringifyScalar(name: string, value: number|string): string {
    const valAsString = JSON.stringify(value);
    return `${name} = ${valAsString};`;
});

let stringifyArray = addIndentationDecorator(function (name: string, arr: Array<any>) {
    return JSON.stringify(arr).replace(/^\[(.*)]$/, `${name}[] = {$1};`);
});

let formatClass = addIndentationDecorator(function (name: string, contents: string) {
    return `class ${name} {\n${contents}\n};\n`;
});
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Konvertierung von getUnitLoadout-output nach grad-loadout-Config</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

    <style>
    </style>
</head>
<body>
    <div id="messages" class="alert alert-danger">

    </div>
    <button class="form-control" id="button_convert">konvertieren</button>
    <div class="row">
        <div class="col-md-6 col-sm-12">
            <div class="input-group">
                <label>diag_log getUnitLoadout player;</label>
                <textarea class="form-control" cols="80" rows="10" id="input_unitLoadout"></textarea>
            </div>
        </div>
        <div class="col-md-6 col-sm-12">
            <div class="input-group">
            <label>grad-loadout</label>
                <textarea readonly class="form-control" cols="80" rows="20" id="output_grad-loadout"></textarea>
            </div>
        </div>
        <script>
            exports = {};
        </script>
        <script src="unitLoadoutToGradLoadout.js"></script>

        <script>
            document.querySelector('#button_convert').addEventListener('click', function () {
                try {
                    var input = document.querySelector('#input_unitLoadout').value;
                    var json = JSON.parse(input);
                    document.querySelector('#output_grad-loadout').value = unitLoadoutToGradLoadout(json);
                } catch (e) {
                    document.querySelector('#messages').innerHTML += ('<br/>' + e.message);
                }
            });
        </script>
    </div>
</body>
</html>
theme: jekyll-theme-slateforce ace_advanced_fatigue_loadFactor = 0.75;
force ace_advanced_fatigue_performanceFactor = 1.3;
force ace_advanced_fatigue_recoveryFactor = 1.1;

force ace_hearing_autoAddEarplugsToUnits = false;
force ace_hearing_disableEarRinging = true;
force ace_hearing_enableCombatDeafness = false;
force ace_hearing_enabledForZeusUnits = false;

force ace_repair_engineerSetting_fullRepair = 1;
force ace_repair_engineerSetting_repair = 0;
force ace_repair_fullRepairLocation = 0;

force ace_map_BFT_Enabled = true;
force ace_map_BFT_Interval = 3;
force ace_map_mapShowCursorCoordinates = true;

force ace_medical_AIDamageThreshold = 0.8;
force ace_medical_bleedingCoefficient = 1.0;
force ace_medical_fractures = 0;
force ace_medical_painCoefficient = 1;
force ace_medical_playerDamageThreshold = 1.3;
force ace_medical_treatment_advancedBandages = false;
force ace_medical_treatment_advancedDiagnose = false;
force ace_medical_treatment_advancedMedication = false;
force ace_medical_treatment_allowSelfIV = 0;
force ace_medical_treatment_clearTraumaAfterBandage = true;
force ace_medical_ai_enabledFor = 2;
force ace_medical_blood_enabledFor = 2;
force ace_medical_fatalDamageSource = 2;
force ace_medical_fractureChance = 0.8;
force ace_medical_limping = 1;
force ace_medical_spontaneousWakeUpChance = 0.15;
force ace_medical_spontaneousWakeUpEpinephrineBoost = 3;
force ace_medical_statemachine_cardiacArrestTime = 30;
force ace_medical_statemachine_fatalInjuriesAI = 0;
force ace_medical_statemachine_fatalInjuriesPlayer = 0;
force ace_medical_treatment_advancedBandages = 0;
force ace_medical_treatment_holsterRequired = 0;
force ace_medical_treatment_locationEpinephrine = 0;
force ace_medical_treatment_medicEpinephrine = 0;
force ace_medical_treatment_medicIV = 1;

force ace_finger_enabled = true;

force ace_vehiclelock_lockVehicleInventory = true;

force ace_viewdistance_limitViewDistance = 8000;

force ace_weather_enabled = false;
force ace_weather_windSimulation = false;

force TFAR_takingRadio = 0;
                    GNU GENERAL PUBLIC LICENSE
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                            Preamble

  The GNU General Public License is a free, copyleft license for
software and other kinds of works.

  The licenses for most software and other practical works are designed
to take away your freedom to share and change the works.  By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.  We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors.  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.

  To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights.  Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received.  You must make sure that they, too, receive
or can get the source code.  And you must show them these terms so they
know their rights.

  Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.

  For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software.  For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.

  Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so.  This is fundamentally incompatible with the aim of
protecting users' freedom to change the software.  The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable.  Therefore, we
have designed this version of the GPL to prohibit the practice for those
products.  If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.

  Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary.  To prevent this, the GPL assures that
patents cannot be used to render the program non-free.

  The precise terms and conditions for copying, distribution and
modification follow.

                       TERMS AND CONDITIONS

  0. Definitions.

  "This License" refers to version 3 of the GNU General Public License.

  "Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.

  "The Program" refers to any copyrightable work licensed under this
License.  Each licensee is addressed as "you".  "Licensees" and
"recipients" may be individuals or organizations.

  To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy.  The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.

  A "covered work" means either the unmodified Program or a work based
on the Program.

  To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy.  Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.

  To "convey" a work means any kind of propagation that enables other
parties to make or receive copies.  Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.

  An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License.  If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.

  1. Source Code.

  The "source code" for a work means the preferred form of the work
for making modifications to it.  "Object code" means any non-source
form of a work.

  A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.

  The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form.  A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.

  The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities.  However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work.  For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.

  The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.

  The Corresponding Source for a work in source code form is that
same work.

  2. Basic Permissions.

  All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met.  This License explicitly affirms your unlimited
permission to run the unmodified Program.  The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work.  This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.

  You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force.  You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright.  Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.

  Conveying under any other circumstances is permitted solely under
the conditions stated below.  Sublicensing is not allowed; section 10
makes it unnecessary.

  3. Protecting Users' Legal Rights From Anti-Circumvention Law.

  No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.

  When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.

  4. Conveying Verbatim Copies.

  You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.

  You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.

  5. Conveying Modified Source Versions.

  You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:

    a) The work must carry prominent notices stating that you modified
    it, and giving a relevant date.

    b) The work must carry prominent notices stating that it is
    released under this License and any conditions added under section
    7.  This requirement modifies the requirement in section 4 to
    "keep intact all notices".

    c) You must license the entire work, as a whole, under this
    License to anyone who comes into possession of a copy.  This
    License will therefore apply, along with any applicable section 7
    additional terms, to the whole of the work, and all its parts,
    regardless of how they are packaged.  This License gives no
    permission to license the work in any other way, but it does not
    invalidate such permission if you have separately received it.

    d) If the work has interactive user interfaces, each must display
    Appropriate Legal Notices; however, if the Program has interactive
    interfaces that do not display Appropriate Legal Notices, your
    work need not make them do so.

  A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit.  Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.

  6. Conveying Non-Source Forms.

  You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:

    a) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by the
    Corresponding Source fixed on a durable physical medium
    customarily used for software interchange.

    b) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by a
    written offer, valid for at least three years and valid for as
    long as you offer spare parts or customer support for that product
    model, to give anyone who possesses the object code either (1) a
    copy of the Corresponding Source for all the software in the
    product that is covered by this License, on a durable physical
    medium customarily used for software interchange, for a price no
    more than your reasonable cost of physically performing this
    conveying of source, or (2) access to copy the
    Corresponding Source from a network server at no charge.

    c) Convey individual copies of the object code with a copy of the
    written offer to provide the Corresponding Source.  This
    alternative is allowed only occasionally and noncommercially, and
    only if you received the object code with such an offer, in accord
    with subsection 6b.

    d) Convey the object code by offering access from a designated
    place (gratis or for a charge), and offer equivalent access to the
    Corresponding Source in the same way through the same place at no
    further charge.  You need not require recipients to copy the
    Corresponding Source along with the object code.  If the place to
    copy the object code is a network server, the Corresponding Source
    may be on a different server (operated by you or a third party)
    that supports equivalent copying facilities, provided you maintain
    clear directions next to the object code saying where to find the
    Corresponding Source.  Regardless of what server hosts the
    Corresponding Source, you remain obligated to ensure that it is
    available for as long as needed to satisfy these requirements.

    e) Convey the object code using peer-to-peer transmission, provided
    you inform other peers where the object code and Corresponding
    Source of the work are being offered to the general public at no
    charge under subsection 6d.

  A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.

  A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling.  In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage.  For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product.  A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.

  "Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source.  The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.

  If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information.  But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).

  The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed.  Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.

  Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.

  7. Additional Terms.

  "Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law.  If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.

  When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it.  (Additional permissions may be written to require their own
removal in certain cases when you modify the work.)  You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.

  Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:

    a) Disclaiming warranty or limiting liability differently from the
    terms of sections 15 and 16 of this License; or

    b) Requiring preservation of specified reasonable legal notices or
    author attributions in that material or in the Appropriate Legal
    Notices displayed by works containing it; or

    c) Prohibiting misrepresentation of the origin of that material, or
    requiring that modified versions of such material be marked in
    reasonable ways as different from the original version; or

    d) Limiting the use for publicity purposes of names of licensors or
    authors of the material; or

    e) Declining to grant rights under trademark law for use of some
    trade names, trademarks, or service marks; or

    f) Requiring indemnification of licensors and authors of that
    material by anyone who conveys the material (or modified versions of
    it) with contractual assumptions of liability to the recipient, for
    any liability that these contractual assumptions directly impose on
    those licensors and authors.

  All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10.  If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term.  If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.

  If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.

  Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.

  8. Termination.

  You may not propagate or modify a covered work except as expressly
provided under this License.  Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).

  However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.

  Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.

  Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License.  If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.

  9. Acceptance Not Required for Having Copies.

  You are not required to accept this License in order to receive or
run a copy of the Program.  Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance.  However,
nothing other than this License grants you permission to propagate or
modify any covered work.  These actions infringe copyright if you do
not accept this License.  Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.

  10. Automatic Licensing of Downstream Recipients.

  Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License.  You are not responsible
for enforcing compliance by third parties with this License.

  An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations.  If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.

  You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License.  For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.

  11. Patents.

  A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based.  The
work thus licensed is called the contributor's "contributor version".

  A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version.  For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.

  Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.

  In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement).  To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.

  If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients.  "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.

  If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.

  A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License.  You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.

  Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.

  12. No Surrender of Others' Freedom.

  If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all.  For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.

  13. Use with the GNU Affero General Public License.

  Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work.  The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.

  14. Revised Versions of this License.

  The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

  Each version is given a distinguishing version number.  If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation.  If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.

  If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.

  Later license versions may give you additional or different
permissions.  However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.

  15. Disclaimer of Warranty.

  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  16. Limitation of Liability.

  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.

  17. Interpretation of Sections 15 and 16.

  If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.

                     END OF TERMS AND CONDITIONS

            How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

  If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

    <program>  Copyright (C) <year>  <name of author>
    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".

  You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.

  The GNU General Public License does not permit incorporating your program
into proprietary programs.  If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.  But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
{
  "_from": "grad-tvtsettings@0.0.3",
  "_id": "grad-tvtsettings@0.0.3",
  "_inBundle": false,
  "_integrity": "sha512-fIzPWJ9ttWtbey8ScLxVFiq8fOzuzvpHOg1/uG7Xo69SbyK7voRuoiURYZgO95VML8pM0AMDAABLt0vHuaB/Rg==",
  "_location": "/grad-tvtsettings",
  "_phantomChildren": {},
  "_requested": {
    "type": "version",
    "registry": true,
    "raw": "grad-tvtsettings@0.0.3",
    "name": "grad-tvtsettings",
    "escapedName": "grad-tvtsettings",
    "rawSpec": "0.0.3",
    "saveSpec": null,
    "fetchSpec": "0.0.3"
  },
  "_requiredBy": [
    "#USER",
    "/"
  ],
  "_resolved": "https://registry.npmjs.org/grad-tvtsettings/-/grad-tvtsettings-0.0.3.tgz",
  "_shasum": "3d7c29bf73a891947146049bad6aef9db3460915",
  "_spec": "grad-tvtsettings@0.0.3",
  "_where": "C:\\Users\\nomisum\\Documents\\Arma 3\\missions\\TvT_BreakingContact.Stratis",
  "bundleDependencies": false,
  "contributors": [
    {
      "name": "McDiod"
    },
    {
      "name": "nomisum"
    }
  ],
  "deprecated": false,
  "description": "CBA settings for Gruppe Adler TvT missions",
  "name": "grad-tvtsettings",
  "version": "0.0.3"
}
# grad-tvtsettings
CBA settings for Gruppe Adler TvT missions.

## Installation
In your mission's `description.ext` add the following flag:

```
cba_settings_hasSettingsFile = 1;
```

In your mission's root directory create the file `cba_settings.sqf` and add the following line to it:

```
#include "node_modules\grad-tvtsettings\cba_settings.sqf"
```

Adjust accordingly, if you are not using the default npm folder path.


### Variant 1: npm

Highly recommended: `>= npm-3.x`, which comes with NodeJS 6.x. Don't use older versions!

`npm install grad-tvtsettings --save`

For updating, change the desired version number in your mission's `package.json`, and do `npm install`

### Variant 2: manually

Alternatively, you can install `grad-tvtsettings` manually.

* download `grad-tvtsettings` as a zipfile from github, and put the directories into a `node_modules` directories, so that you get:

```
myMission.altis/node_modules/grad-tvtsettings
```
// Return the closest position from array to the positionA.
//  In: [positionA,[array of positions]]
// Out: positionB
private ["_pA","_ps","_p1","_p2"];
_pA = _this select 0;
_ps = _this select 1;

_p1 = _ps select 0;

if (count _ps > 1) then {
  for "_i" from 1 to (count _ps - 1) do {
    _p2 = _ps select _i;
    if ((_p2 distance _pA) < (_p1 distance _pA)) then {
      _p1 = _p2;
    };
  };
};

_p1//  In: marker
// Out: array of positions
private ["_area","_corners"];
_area    = _this;
_corners = [];

// Center point
private ["_center","_centerX","_centerY"];
_center  = getMarkerPos _area;
_centerX = _center select 0;
_centerY = _center select 1;

// Direction and make sure it's between 0 and 360.
private ["_dir","_dirCos","_dirSin"];
_dir    = (markerDir _area) * -1;
_dir    = _dir % 360;
_dirCos = cos _dir;
_dirSin = sin _dir;

// Size
private ["_size","_sizeX","_sizeY"];
_size  = getMarkerSize _area;
_sizeX = _size select 0;
_sizeY = _size select 1;


private ["_cosX","_sinX","_cosY","_sinY","_addX","_addY","_subX","_subY"];
_cosX = _dirCos * _sizeX;
_sinX = _dirSin * _sizeX;
_cosY = _dirCos * _sizeY;
_sinY = _dirSin * _sizeY;

_addX = _cosX + _sinY;
_addY = _sinX + _cosY;
_subX = _cosX - _sinY;
_subY = _sinX - _cosY;

private ["_posX","_posY"];
// Bottom Left
_posX = _centerX - _subX;
_posY = _centerY - _addY;
_corners set [0,[_posX,_posY]];

// Top Left
_posX = _centerX - _addX;
_posY = _centerY - _subY;
_corners set [1,[_posX,_posY]];

// Top Right
_posX = _centerX + _subX;
_posY = _centerY + _addY;
_corners set [2,[_posX,_posY]];

// Bottom Right
_posX = _centerX + _addX;
_posY = _centerY + _subY;
_corners set [3,[_posX,_posY]];

_corners//  In: marker
// Out: string (marker shape)

private ["_size","_x","_y","_ret"];
_size = markersize _this;
_x = _size select 0;
_y = _size select 1;

_ret = "";

switch (tolower(markershape _this)) do {
  case "rectangle": {
    if (_x == _y) then {
      _ret = "SQUARE";
    } else {
      _ret = "RECTANGLE";
    };
  };
  case "ellipse": {
    if (_x == _y) then {
      _ret = "CIRCLE";
    } else {
      _ret = "ELLIPSE";
    };
  };
  case "icon": {
    _ret = "ICON";
  };
};
_ret//  In: [position,distance,direction]
// Out: position
private ["_pos","_dst","_dir","_orgX","_orgY","_posX","_posY"];
_pos = _this select 0;
_dst = _this select 1;
_dir = _this select 2;

_orgX = _pos select 0;
_orgY = _pos select 1;
_posX = _orgX + (_dst * sin _dir);
_posY = _orgY + (_dst * cos _dir);

[_posX,_posY,0]//  In: marker
// Out: position

// Center point
private ["_center","_centerX","_centerY"];
_center  = getMarkerPos _this;
_centerX = _center select 0;
_centerY = _center select 1;

// Size
private ["_size"];
_size  = getMarkerSize _this;
_size = _size select 0;

// Randomly pick a direction, 
private ["_dir","_posX","_posY","_rand","_pos"];
_dir  = random 360;
_rand = sqrt random 1;
_posX = (_size * (cos _dir)) * _rand;
_posY = (_size * (sin _dir)) * _rand;
_pos  = [_posX,_posY];

_posX = _centerX + (_pos select 0);
_posY = _centerY + (_pos select 1);

[_posX,_posY,0]
//  In: ellipseMarker
// Out: position

// Center point
private ["_center","_centerX","_centerY"];
_center  = getMarkerPos _this;
_centerX = _center select 0;
_centerY = _center select 1;

// Direction and make sure it's between 0 and 360.
private ["_dirMrk"];
_dirMrk = (markerDir _this) * -1;
_dirMrk = _dirMrk % 360;

// Size
private ["_size","_sizeX","_sizeY"];
_size  = getMarkerSize _this;
_sizeX = _size select 0;
_sizeY = _size select 1;

// If B axis is longer than A, switch them and fix direction.
if (_sizeX < _sizeY) then {
  _sizeX = _size select 1;
  _sizeY = _size select 0;
  _dirMrk = _dirMrk + 90;
};

// Randomly pick a direction, 
private ["_dir","_posX","_posY","_rand","_pos"];
_dir  = random 360;
_rand = sqrt random 1;
_posX = (_sizeX * (cos _dir)) * _rand;
_posY = (_sizeY * (sin _dir)) * _rand;
_pos  = [_posX,_posY];

if (_dirMrk != 0) then {
  _pos = [_pos,_dirMrk] call SHK_pos_fnc_rotatePosition;
};

_posX = _centerX + (_pos select 0);
_posY = _centerY + (_pos select 1);

[_posX,_posY,0]
//  In: marker
// Out: position

// Center point
private ["_center","_centerX","_centerY"];
_center  = getMarkerPos _this;
_centerX = _center select 0;
_centerY = _center select 1;

// Size
private ["_size","_sizeX","_sizeY"];
_size  = getMarkerSize _this;
_sizeX = _size select 0;
_sizeY = _size select 1;

// Direction and make sure it's between 0 and 360.
private ["_dir","_dirCos","_dirSin"];
_dir    = (markerDir _this) * -1;
_dir    = _dir % 360;
_dirCos = cos _dir;
_dirSin = sin _dir;

private ["_rndX","_rndY","_posX","_posY"];
// Select random X and Y
_rndX = (random (_sizeX * 2)) - _sizeX;
_rndY = (random (_sizeY * 2)) - _sizeY;

// If area is angled, shift X and Y
if (_dir != 0) then {
  _posX = _centerX + (_dirCos * _rndX - _dirSin * _rndY);
  _posY = _centerY + (_dirSin * _rndX + _dirCos * _rndY);
} else {
  _posX = _centerX + _rndX;
  _posY = _centerY + _rndY;
};

[_posX,_posY,0]//  In: marker
// Out: position

// Center point
private ["_center","_centerX","_centerY"];
_center  = getMarkerPos _this;
_centerX = _center select 0;
_centerY = _center select 1;

// Size
private ["_size"];
_size  = getMarkerSize _this;
_size = _size select 0;

// Direction and make sure it's between 0 and 360.
private ["_dir","_dirCos","_dirSin"];
_dir    = (markerDir _this) * -1;
_dir    = _dir % 360;
_dirCos = cos _dir;
_dirSin = sin _dir;

private ["_rndX","_rndY","_posX","_posY"];
// Select random X and Y
_rndX = (random (_size * 2)) - _size;
_rndY = (random (_size * 2)) - _size;

// If area is angled, shift X and Y
if (_dir != 0) then {
  _posX = _centerX + (_dirCos * _rndX - _dirSin * _rndY);
  _posY = _centerY + (_dirSin * _rndX + _dirCos * _rndY);
} else {
  _posX = _centerX + _rndX;
  _posY = _centerY + _rndY;
};

[_posX,_posY,0]//  In: [position,blackListMarker]
// Out: boolean

private ["_pos","_area","_return"];
_pos = _this select 0;
_area = _this select 1;
_return = false;

// Find corner positions of the rectangle
private ["_dir"];
_dir = markerDir _area;
_dir = _dir % 360;

// Center point
private ["_center","_centerX","_centerY"];
_center  = getMarkerPos _area;
_centerX = _center select 0;
_centerY = _center select 1;

private ["_shape"];
_shape = _area call SHK_pos_fnc_getMarkerShape;

if (_shape == "ICON") then {
  // Icon has only one position, so if it equals to the given position, then it's blacklisted.
  if ([_pos,_center] call SHK_pos_fnc_isSamePosition) then {
    _return = true;
  };

// Markers that have an area.
} else {
  if (_shape in ["RECTANGLE","SQUARE"]) then {
    private ["_corners"];
    _corners = _area call SHK_pos_fnc_getMarkerCorners;

    // If rectangle is not axis-aligned.
    if (_dir % 90 != 0) then {
      // Add the point position to the array to have it shifted by the FOR below
      _corners set [4,_pos];
      
      // Rotate each corner position so that the rectangle is aligned with x and y axises
      // Use origo as center while rotating, but for comparison shift positions back
      private ["_posCor","_posNew","_orgX","_orgY","_shiftedX","_shiftedY","_newX","_newY"];
      for "_i" from 0 to (count _corners - 1) do {
        _posCor = _corners select _i;
        
        // Original coordinates
        _orgX = _posCor select 0;
        _orgY = _posCor select 1;
        
        // Subtract the marker center coordinates from corner coordinates.
        // Rotation is done using origo (0,0) as anchor/centerpoint.
        _shiftedX = _orgX - _centerX;
        _shiftedY = _orgY - _centerY;
        
        // Axis-aligned corner position
        _posNew = [[_shiftedX,_shiftedY],_dir] call SHK_pos_fnc_rotatePosition;
        
        // Shift the aligned corner position back near to the original marker location.
        _newX = _posNew select 0;
        _newY = _posNew select 1;
        _newX = _newX + _centerX;
        _newY = _newY + _centerY;
        
        _posCor = [_newX,_newY];
        
        _corners set [_i,_posCor];
      };

      // Point position
      _pos = _corners select 4;
    };
    
    // Check if the position is within the marker area.
    _return = [_pos,_corners] call SHK_pos_fnc_isInRectangle;
  } else {
    if (_shape == "CIRCLE") then {
      _return = [_pos,_area] call SHK_pos_fnc_isInCircle;
    } else {
      _return = [_pos,_area] call SHK_pos_fnc_isInEllipse;
    };
  };
};


_return//  In: [position,marker]
// Out: boolean

private ["_pos","_area","_posX","_posY"];
_pos = _this select 0;
_area = _this select 1;

_posX = _pos select 0;
_posY = _pos select 1;

// Center point
private ["_center","_centerX","_centerY"];
_center  = getMarkerPos _area;
_centerX = _center select 0;
_centerY = _center select 1;

// Size
private ["_size"];
_size  = getMarkerSize _area;
_size = _size select 0;

// Difference in coordinates
private ["_difX","_difY"];
_difX = _posX - _centerX;
_difY = _posY - _centerY;

private ["_return"];
_return = false;

// If distance from center of marker to the given position is
// smaller than the radius of the circle, then position is inside.
if (sqrt((_difX * _difX) + (_difY * _difY)) < _size) then {
  _return = true;
};

_return//  In: [position,ellipseMarker]
// Out: boolean

private ["_pos","_area","_return"];
_pos = _this select 0;
_area = _this select 1;
_return = false;

// Ellipse size
private ["_size","_sizeX","_sizeY"];
_size  = getMarkerSize _area;
_sizeX = _size select 0;
_sizeY = _size select 1;

// Direction and make sure it's between 0 and 360.
private ["_dir"];
_dir = markerDir _area;
_dir = _dir % 360;

// Ellipse center position
private ["_center","_centerX","_centerY"];
_center  = getMarkerPos _area;
_centerX = _center select 0;
_centerY = _center select 1;

// If marker is not axis-aligned, rotate the dot position.
if (_dir % 90 != 0) then {
  private ["_orgX","_orgY","_shiftedX","_shiftedY"];
  _orgX = _pos select 0;
  _orgY = _pos select 1;
  _shiftedX = _orgX - _centerX;
  _shiftedY = _orgY - _centerY;
  _pos = [[_shiftedX,_shiftedY],_dir] call SHK_pos_fnc_rotatePosition;
  _pos set [0,(_pos select 0) + _centerX];
  _pos set [1,(_pos select 1) + _centerY];
};
// Dot position
private ["_posX","_posY"];
_posX = _pos select 0;
_posY = _pos select 1;

// Distance between dot and ellipse center
private ["_dstX","_dstY"];
_dstX = abs(_posX - _centerX);
_dstY = abs(_posY - _centerY);

private ["_sum"];
_sum = ((_dstX * _dstX)/(_sizeX * _sizeX)) + ((_dstY * _dstY)/(_sizeY * _sizeY));

if (_sum <= 1) then {
  _return = true;
};

_return//  In: [pointPosition,corners]
// Out: boolean
private ["_pos","_corners","_return"];
_pos     = _this select 0;
_corners = _this select 1;
_return  = false;

private ["_dotX","_dotY","_bottomLeft","_left","_bottom","_topRight","_right","_top"];
_dotX = _pos select 0;
_dotY = _pos select 1;

_bottomLeft = _corners select 0;
_left       = _bottomLeft select 0;
_bottom     = _bottomLeft select 1;

_topRight   = _corners select 2;
_right      = _topRight select 0;
_top        = _topRight select 1;

// x is between left and right
// y is between bottom and top
if (_dotX >= _left && _dotX < _right && _dotY >= _bottom && _dotY < _top) then {
  _return = true;
};

_return//  In: [array1,array2]
// Out: boolean

private ["_p1","_p2","_return"];
_p1 = _this select 0;
_p2 = _this select 1;
_return = true;

// Only compare X and Y coordinates, ignore Z.
for "_i" from 0 to 1 do {
  if ((_p1 select _i) != (_p2 select _i)) exitwith {
    _return = false;
  };
};

_return//  In: [position,direction]
// Out: position
private ["_pos","_dir","_orgX","_orgY","_newX","_newY"];
_pos = _this select 0;
_dir = _this select 1;

_orgX = _pos select 0;
_orgY = _pos select 1;

_newX = (_orgX * (cos _dir)) - (_orgY * (sin _dir));
_newY = (_orgX * (sin _dir)) + (_orgY * (cos _dir));

[_newX,_newY]/*  Select a random position based on anchor position, direction and distance.
     In: [position,distance,direction,water,road,emptySpace]
    Out: position
*/
private ["_org","_dst","_dir","_pos","_water","_road","_empty"];
_org = _this select 0;
_dst = _this select 1;
_dir = if (count _this > 2) then {_this select 2} else {random 360};
_water = if (count _this > 3) then {_this select 3} else {0};
_road = if (count _this > 4) then {_this select 4} else {[0,200]};
_empty = if (count _this > 5) then {_this select 5} else {[]};

// Object instead of position array given
if (typename _org == "OBJECT") then {_org = getpos _org};

// Distance given as an array of min and max. Pick a random between them.
if (typename _dst == "ARRAY") then {
  private ["_min","_max"];
  _min = _dst select 0;
  _max = _dst select 1;
  _dst = (_min + random(_max - _min));
};

// Direction given as an array of min and max. Pick a random dir between them.
if (typename _dir == "ARRAY") then {
  private ["_min","_max","_ang"];
  _min = _dir select 0;
  _max = _dir select 1;
  
  _ang = _max - _min;
  
  // Min bigger than max, can happen with directions around north
  if (_ang < 0) then { _ang = _ang + 360 };
  
  _dir = (_min + random _ang);
};

_pos = [_org,_dst,_dir] call SHK_pos_fnc_getPos;

// Water position
if (typeName _water == "SCALAR") then {
  switch _water do {
    case 0: { // Water not allowed
      if (surfaceIsWater _pos) then {
        private ["_p","_d","_l"];
        _d = 0; _l = true;
        
        // Search for a land position starting from the randomly picked position and
        // then going outwards from it in full circles in 20m steps.
        while {_d = _d + 20; _l && _d < 5000} do {
          for "_i" from 0 to 340 step 20 do {
            _p = [_pos,_d,_i] call SHK_pos_fnc_getpos;
            if (!surfaceIsWater _p) exitwith {_l = false};
          };
        };
        _pos = _p;
      };
    };
    case 1: { // Water allowed
      
    };
    case 2: { // Only water allowed
      if !(surfaceIsWater _pos) then {
        private ["_p","_d","_l"];
        _d = 0; _l = true;
        
        // Search for a water position starting from the randomly picked position and
        // then going outwards from it in full circles in 20m steps.
        while {_d = _d + 20; _l && _d < 5000} do {
          for "_i" from 0 to 340 step 20 do {
            _p = [_pos,_d,_i] call SHK_pos_fnc_getpos;
            if (surfaceIsWater _p) exitwith {_l = false};
          };
        };
        _pos = _p;
      };
    };
  };
} else { // For backward compatibility
  // Water position is not allowed
  if !_water then {
    if (surfaceIsWater _pos) then {
      private ["_p","_d","_l"];
      _d = 0; _l = true;
      
      // Search for a land position starting from the randomly picked position and
      // then going outwards from it in full circles in 20m steps.
      while {_d = _d + 20; _l && _d < 5000} do {
        for "_i" from 0 to 340 step 20 do {
          _p = [_pos,_d,_i] call SHK_pos_fnc_getpos;
          if (!surfaceIsWater _p) exitwith {_l = false};
        };
      };
      _pos = _p;
    };
  };
};

// Road position.
if (count _road > 0) then {
  if ((_road select 0) > 0) then {
    private ["_mode","_range","_roads","_cnt","_p","_p2"];
    _mode  = _road select 0;
    _range = _road select 1;
    _roads = _pos nearroads _range;
    _cnt   = count _roads;
    _p     = [];

    // Road position(s) found.
    if (_cnt > 0) then {
      _p = getpos (_roads select 0);
      
      // Found more than one road position, return closest.
      if (_cnt > 1) then {
        for "_i" from 1 to (_cnt - 1) do {
          _p2 = getpos (_roads select _i);
          if ((_p2 distance _pos) < (_p distance _pos)) then {
            _p = _p2;
          };
        };
      };
    };
    
    switch _mode do {
      // Road position preferred but not forced.
      case 1: {
        if (count _p > 0) then {
          _pos = _p;
        };
      };
      // Only accept road position, return empty array if none found.
      case 2: {
        if (count _p > 0) then {
          _pos = _p;
        } else {
          _pos resize 0;
        };
      };
    };
  };
};

// Find empty position 
private ["_dst","_veh","_p"]; 

_dst = 200; 
_veh = ""; 
switch (typename _empty) do { 
  case "OBJECT": { _veh = typeof _empty }; // Only vehicle given, use default distance 
  case "SCALAR": {_dst = _empty;}; 
  case "ARRAY": { 
    if (count _empty > 0) then { 
      _dst = _empty select 0; 
      _veh = _empty select 1; 
      if (typename _veh == typename objNull) then { _veh = typeof _veh }; 
    }; 
  }; 
}; 

_p = []; 
if (count _pos > 0) then {_p = _pos findEmptyPosition [0,_dst,_veh];}; 


// If an empty position is found, use it. Otherwise, return the original position. 
if (count _p > 0) then { 
  _pos = _p; 
}; 

// Return position 
_pos/*  Select a random position from an area defined by a marker.
     In: [marker,water,blacklist,emptySpace]
    Out: position
*/
private ["_area","_water","_blist","_pos","_empty"];
_area = _this select 0;
_water = if (count _this > 1) then {_this select 1} else {0};
_blist = if (count _this > 2) then {_this select 2} else {[]};
_empty = if (count _this > 3) then {_this select 3} else {[]};
_pos = [];

if (typename _blist == "STRING") then {_blist = [_blist]};

private ["_shape"];
_shape = _area call SHK_pos_fnc_getMarkerShape;

// Limited loop so the script won't get stuck
private ["_i","_exit"];
_exit = false;
for [{_i = 0}, {_i < 1000 && !_exit}, {_i = _i + 1}] do {

	// Rectangle or Ellipse marker given?
	if (_shape in ["SQUARE","RECTANGLE"]) then {
	  _pos = _area call SHK_pos_fnc_getPosFromRectangle;
	} else {
	  _pos = _area call SHK_pos_fnc_getPosFromEllipse;
	};

  // Find empty position
  private ["_dst","_veh","_p"];
  
  _dst = 200;
  _veh = "";
  switch (typename _empty) do {
    case (typename objNull): { _veh = typeof _empty }; // Only vehicle given, use default distance
    case ("STRING"): { _veh = _empty };
    case (typename []): {
      if (count _empty > 0) then {
        _dst = _empty select 0;
        _veh = _empty select 1;
        if (typename _veh == typename objNull) then { _veh = typeof _veh };
      };
    };
  };

  _p = _pos findEmptyPosition [0,_dst,_veh];
  
  // If an empty position is found, use it. Otherwise, return the original position.
  if (count _p > 0) then {
    _pos = _p;
  };

	// Water position
	if (typeName _water == "SCALAR") then {
	  switch _water do {
	  
		case 0: { // Water position is not allowed
		  // Position is on land, try to exit script.
		  if !(surfaceIsWater _pos) then {
			_exit = true;
		  };
		};
		
		case 1: { // Doesn't matter if position is on water or land.
		  _exit = true;
		};
	  
		case 2: { // Only water position is allowed
		  // Position is on water, try to exit script.
		  if (surfaceIsWater _pos) then {
			_exit = true;
		  };
		};
	  };
	} else { // For backward compatibility
	  // Water position is not allowed
	  if !_water then {
		// Position is on land, try to exit script.
		if !(surfaceIsWater _pos) then {
		  _exit = true;
		};
	  // Doesn't matter if position is on water or land.
	  } else {
		_exit = true;
	  };
	};

	// Position is not allowed in blacklisted areas
	if (count _blist > 0 && _exit) then {
	  // Check each blacklist marker
	  {
		// If blacklisted, jump out of blacklist check and continue main loop.
		if ([_pos,_x] call SHK_pos_fnc_isBlacklisted) exitwith {
		  _exit = false;
		};
	  } foreach _blist;
	};
};

// Return position
_pos/*
  SHK_pos
  
  Version 0.24
  Author: Shuko (shuko@quakenet, miika@miikajarvinen.fi)
  Contributors: Cool=Azroul13, Hatifnat

  Forum: http://forums.bistudio.com/showthread.php?162695-SHK_pos

  Marker Based Selection
    Required Parameters:
      0 String   Area marker's name.
      
    Optional Parameters:
      1 Number            Water position. Default is only land positions allowed.
                            0   Find closest land. Search outwards 360 degrees (20 degree steps) and 20m steps.
                            1   Allow water positions.
                            2   Find only water positions.
      2 Array or String   One or multiple blacklist area markers which are excluded from the main marker area.
      3 Array, Number, Object or Vehicle Type         Force finding large enough empty position.
                            0   Max range from the selection position to look for empty space. Default is 200.
                            1   Vehicle or vehicle type to fit into an empty space.
                            
                            Examples:
                              [...,[300,heli]]       Array with distance and vehicle object.
                              [...,350]              Only distance given
                              [...,(typeof heli)]    Only vehicle type given
                              [...,heli]             Only vehicle object given

  Position Based Selection
    Required Parameters:
      0 Object or Position  Anchor point from where the relative position is calculated from.
      1 Array or Number     Distance from anchor.
      
    Optional Parameters:
      2 Array of Number     Direction from anchor. Default is random between 0 and 360.
      3 Number              Water position. Default is only land positions allowed.
                              0   Find closest land. Search outwards 360 degrees (20 degree steps) and 20m steps.
                              1   Allow water positions.
                              2   Find only water positions.
      4 Array               Road positions.
                              0  Number  Road position forcing. Default is 0.
                                   0    Do not search for road positions.
                                   1    Find closest road position. Return the generated random position if none found.
                                   2    Find closest road position. Return empty array if none found.
                              1  Number   Road search range. Default is 200m.
      5 Array, Number, Object or Vehicle Type         Force finding large enough empty position.
                              0   Max range from the selection position to look for empty space. Default is 200.
                              1   Vehicle or vehicle type to fit into an empty space.
                            
                            Examples:
                              [...,[300,heli]]       Array with distance and vehicle object.
                              [...,350]              Only distance given
                              [...,(typeof heli)]    Only vehicle type given
                              [...,heli]             Only vehicle object given                              
    
  Usage:
    Preprocess the file in init.sqf:
      call compile preprocessfile "node_modules\shk_pos\functions\shk_pos_init.sqf";
    
    Actually getting the position:
      pos = [parameters] call SHK_pos;
*/
// Functions
SHK_pos_getPos = compile preprocessfilelinenumbers "node_modules\shk_pos\functions\shk_pos_getpos.sqf";
SHK_pos_getPosMarker = compile preprocessfilelinenumbers "node_modules\shk_pos\functions\shk_pos_getposmarker.sqf";

// Sub functions
SHK_pos_fnc_findClosestPosition = compile preprocessfilelinenumbers "node_modules\shk_pos\functions\shk_pos_fnc_findclosestposition.sqf";
SHK_pos_fnc_getMarkerCorners = compile preprocessfilelinenumbers "node_modules\shk_pos\functions\shk_pos_fnc_getmarkercorners.sqf";
SHK_pos_fnc_getMarkerShape = compile preprocessfilelinenumbers "node_modules\shk_pos\functions\shk_pos_fnc_getmarkershape.sqf";
SHK_pos_fnc_getPos = compile preprocessfilelinenumbers "node_modules\shk_pos\functions\shk_pos_fnc_getpos.sqf";
SHK_pos_fnc_getPosFromCircle = compile preprocessfilelinenumbers "node_modules\shk_pos\functions\shk_pos_fnc_getposfromcircle.sqf";
SHK_pos_fnc_getPosFromEllipse = compile preprocessfilelinenumbers "node_modules\shk_pos\functions\shk_pos_fnc_getposfromellipse.sqf";
SHK_pos_fnc_getPosFromRectangle = compile preprocessfilelinenumbers "node_modules\shk_pos\functions\shk_pos_fnc_getposfromrectangle.sqf";
SHK_pos_fnc_getPosFromSquare = compile preprocessfilelinenumbers "node_modules\shk_pos\functions\shk_pos_fnc_getposfromsquare.sqf";
SHK_pos_fnc_isBlacklisted = compile preprocessfilelinenumbers "node_modules\shk_pos\functions\shk_pos_fnc_isblacklisted.sqf";
SHK_pos_fnc_isInCircle = compile preprocessfilelinenumbers "node_modules\shk_pos\functions\shk_pos_fnc_isincircle.sqf";
SHK_pos_fnc_isInEllipse = compile preprocessfilelinenumbers "node_modules\shk_pos\functions\shk_pos_fnc_isinellipse.sqf";
SHK_pos_fnc_isInRectangle = compile preprocessfilelinenumbers "node_modules\shk_pos\functions\shk_pos_fnc_isinrectangle.sqf";
SHK_pos_fnc_isSamePosition = compile preprocessfilelinenumbers "node_modules\shk_pos\functions\shk_pos_fnc_issameposition.sqf";
SHK_pos_fnc_rotatePosition = compile preprocessfilelinenumbers "node_modules\shk_pos\functions\shk_pos_fnc_rotateposition.sqf";

// Wrapper function
// Decide which function to call based on parameters.
SHK_pos = {
  private ["_pos"];
  _pos = [];

  // Only marker is given as parameter
  if (typename _this == "STRING") then {
    _pos = [_this] call SHK_pos_getPosMarker;

  // Parameter array
  } else {
    if (typename (_this select 0) == "STRING") then {
      _pos = _this call SHK_pos_getPosMarker;
    } else {
      _pos = _this call SHK_pos_getPos;
    };
  };

  // Return position
  _pos
};
{
  "_from": "github:gruppe-adler/shk_pos#master",
  "_id": "shk_pos@0.0.1",
  "_inBundle": false,
  "_location": "/shk_pos",
  "_phantomChildren": {},
  "_requested": {
    "type": "git",
    "raw": "github:gruppe-adler/shk_pos#master",
    "rawSpec": "github:gruppe-adler/shk_pos#master",
    "saveSpec": "github:gruppe-adler/shk_pos#master",
    "fetchSpec": null,
    "gitCommittish": "master"
  },
  "_requiredBy": [
    "#USER",
    "/"
  ],
  "_resolved": "github:gruppe-adler/shk_pos#65c30a1e4d08ecd23cb85b0b96c7410d7c66415d",
  "_spec": "github:gruppe-adler/shk_pos#master",
  "_where": "C:\\Users\\nomisum\\Documents\\Arma 3\\missions\\TvT_BreakingContact.Stratis",
  "bundleDependencies": false,
  "deprecated": false,
  "description": "Arma3 random position generator/selector by Shuko",
  "name": "shk_pos",
  "version": "0.0.1"
}
Random position generator for Arma3 by Shuko. See https://forums.bistudio.com/topic/153382-shk-pos/
#include "\z\ace\addons\main\script_component.hpp"

params ["_player", "_killer"];

[_player, true] call TFAR_fnc_forceSpectator;

if (!(_killer isEqualTo player)) then {

     private _string = format ['Killed by %1',name _killer];
     //systemChat _string;
     [_string] call EFUNC(common,displayTextStructured);
};

[true] call ace_spectator_fnc_setSpectator;

// only draw icons if not streamator
if (!isNil "CLib_fnc_registerEntryPoint") then {
    
    if (!("Streamator" call CLib_fnc_modLoaded)) then {
        [true] call BC_setup_fnc_spectatorDraw3D;
    };  
} else {
    [true] call BC_setup_fnc_spectatorDraw3D;
};if (player getVariable ["grad_gcamspec_firstSpawn", true]) exitWith {
     player setVariable ["grad_gcamspec_firstSpawn", false, true];
     player setVariable ["GRAD_replay_track", true, true];

     hint "";
     openMap [false, false];
};

// move player to side civilian
[player] joinsilent SPEC_GROUP;

// disable damage
player allowDamage false;
player setVariable ["ace_medical_allowDamage", false];

if (missionNamespace getVariable ["GRAD_replay_isRunning", false]) exitWith {
     [] call GRAD_replay_fnc_preparePlaybackClient;
};


setPlayerRespawnTime 999999;
[true] call ace_spectator_fnc_setSpectator;
[player, true] call TFAR_fnc_forceSpectator;
{
  "name": "tvt-breaking-contact",
  "version": "0.0.5",
  "lockfileVersion": 2,
  "requires": true,
  "packages": {
    "": {
      "name": "tvt-breaking-contact",
      "version": "0.0.5",
      "dependencies": {
        "@gruppe-adler/replay": ">=1.5.0",
        "grad-fortifications": "^0.9.3",
        "grad-islandconfig": ">=0.3.1",
        "grad-listbuymenu": "^0.9.0",
        "grad-loadout": ">=4.11.4",
        "grad-tvtsettings": "0.0.3",
        "shk_pos": "github:gruppe-adler/shk_pos#master"
      }
    },
    "node_modules/@gruppe-adler/replay": {
      "version": "1.6.0",
      "resolved": "https://registry.npmjs.org/@gruppe-adler/replay/-/replay-1.6.0.tgz",
      "integrity": "sha512-i1kfwH+oUuVFf5uHP8sRgtfwOsRvh4OWXUi2y/98VIbdcZBrPwdNf9uqcfmZLp/q+pDzpN9z7jxky01Bjv8E3w=="
    },
    "node_modules/grad-fortifications": {
      "version": "0.9.3",
      "resolved": "https://registry.npmjs.org/grad-fortifications/-/grad-fortifications-0.9.3.tgz",
      "integrity": "sha512-Gb6GlUuLf7bqrVtrfVVR6/slTZqmlgD7Yviacueix7sYUZ1LfVwdCs4Xem5lwDLK2r9XHzUiVPNmxjAo0HNW/A=="
    },
    "node_modules/grad-islandconfig": {
      "version": "0.3.3",
      "resolved": "https://registry.npmjs.org/grad-islandconfig/-/grad-islandconfig-0.3.3.tgz",
      "integrity": "sha512-JMDwLAG1FfNgnbBmuFLMHYmfGajoegLzBjKDqTnsDadPYgJCjD3j22cGE4//FqYGKhGZDPOH3AuuoyDBbNI0ZA=="
    },
    "node_modules/grad-listbuymenu": {
      "version": "0.9.0",
      "resolved": "https://registry.npmjs.org/grad-listbuymenu/-/grad-listbuymenu-0.9.0.tgz",
      "integrity": "sha512-1ylx27z+5ba+5Zpmxgno6joaCu9qL5X2+pzLY7JkHQWg+q1z6TIGJt18AgLmmpGNWTsPlKV4Cut9Fgl+CzmFYA=="
    },
    "node_modules/grad-loadout": {
      "version": "4.11.5",
      "resolved": "https://registry.npmjs.org/grad-loadout/-/grad-loadout-4.11.5.tgz",
      "integrity": "sha512-Fr7MTkEFhwtRJQB9gnR2cPV9wwy6dx0HNbejboBJ0wbAbvHEez5SXWYZKrN0zYcw2bIs39n2k8C6NWZbGTpJEg=="
    },
    "node_modules/grad-tvtsettings": {
      "version": "0.0.3",
      "resolved": "https://registry.npmjs.org/grad-tvtsettings/-/grad-tvtsettings-0.0.3.tgz",
      "integrity": "sha512-fIzPWJ9ttWtbey8ScLxVFiq8fOzuzvpHOg1/uG7Xo69SbyK7voRuoiURYZgO95VML8pM0AMDAABLt0vHuaB/Rg=="
    },
    "node_modules/shk_pos": {
      "version": "0.0.1",
      "resolved": "git+ssh://git@github.com/gruppe-adler/shk_pos.git#65c30a1e4d08ecd23cb85b0b96c7410d7c66415d"
    }
  },
  "dependencies": {
    "@gruppe-adler/replay": {
      "version": "1.6.0",
      "resolved": "https://registry.npmjs.org/@gruppe-adler/replay/-/replay-1.6.0.tgz",
      "integrity": "sha512-i1kfwH+oUuVFf5uHP8sRgtfwOsRvh4OWXUi2y/98VIbdcZBrPwdNf9uqcfmZLp/q+pDzpN9z7jxky01Bjv8E3w=="
    },
    "grad-fortifications": {
      "version": "0.9.3",
      "resolved": "https://registry.npmjs.org/grad-fortifications/-/grad-fortifications-0.9.3.tgz",
      "integrity": "sha512-Gb6GlUuLf7bqrVtrfVVR6/slTZqmlgD7Yviacueix7sYUZ1LfVwdCs4Xem5lwDLK2r9XHzUiVPNmxjAo0HNW/A=="
    },
    "grad-islandconfig": {
      "version": "0.3.3",
      "resolved": "https://registry.npmjs.org/grad-islandconfig/-/grad-islandconfig-0.3.3.tgz",
      "integrity": "sha512-JMDwLAG1FfNgnbBmuFLMHYmfGajoegLzBjKDqTnsDadPYgJCjD3j22cGE4//FqYGKhGZDPOH3AuuoyDBbNI0ZA=="
    },
    "grad-listbuymenu": {
      "version": "0.9.0",
      "resolved": "https://registry.npmjs.org/grad-listbuymenu/-/grad-listbuymenu-0.9.0.tgz",
      "integrity": "sha512-1ylx27z+5ba+5Zpmxgno6joaCu9qL5X2+pzLY7JkHQWg+q1z6TIGJt18AgLmmpGNWTsPlKV4Cut9Fgl+CzmFYA=="
    },
    "grad-loadout": {
      "version": "4.11.5",
      "resolved": "https://registry.npmjs.org/grad-loadout/-/grad-loadout-4.11.5.tgz",
      "integrity": "sha512-Fr7MTkEFhwtRJQB9gnR2cPV9wwy6dx0HNbejboBJ0wbAbvHEez5SXWYZKrN0zYcw2bIs39n2k8C6NWZbGTpJEg=="
    },
    "grad-tvtsettings": {
      "version": "0.0.3",
      "resolved": "https://registry.npmjs.org/grad-tvtsettings/-/grad-tvtsettings-0.0.3.tgz",
      "integrity": "sha512-fIzPWJ9ttWtbey8ScLxVFiq8fOzuzvpHOg1/uG7Xo69SbyK7voRuoiURYZgO95VML8pM0AMDAABLt0vHuaB/Rg=="
    },
    "shk_pos": {
      "version": "git+ssh://git@github.com/gruppe-adler/shk_pos.git#65c30a1e4d08ecd23cb85b0b96c7410d7c66415d",
      "from": "shk_pos@github:gruppe-adler/shk_pos#master"
    }
  }
}
{
  "name": "tvt-breaking-contact",
  "description": "Asymmetric TvT scenario for Arma3",
  "version": "0.0.5",
  "dependencies": {
    "@gruppe-adler/replay": ">=1.5.0",
    "grad-fortifications": "^0.9.3",
    "grad-islandconfig": ">=0.3.1",
    "grad-listbuymenu": "^0.9.0",
    "grad-loadout": ">=4.11.4",
    "grad-tvtsettings": "0.0.3",
    "shk_pos": "github:gruppe-adler/shk_pos#master"
  }
}
GGATCGVA   -GGATCXAM   GGATGALF      GGATSFFO@      S                                                    ̘   A  )          <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <    > ATT,> UU < #ݶm6lE  ]>         '      < ATT(?A! @  o> !?e#xt=ۅ w W< f$        ?       <  ?n'?rگ}mf      6?Q P  +? UUU o<  I$IE@|	 u I%Y$ w 	<   <q(%uQUU>= ][ 1 Jj|E)][bm۰!e)@ R9@ Be1P)|91@ ms9=@ Ӝ	Jr@ ZIJ@ -kC@ 1X@ (  @ ( IJ@ ,cZ@ iZ(~@ 'R5A )}  *? 	4ȟQ(J5%{,=ہ}ٶiR'>@T > **?     -<% ? !6+~ .')>H  "$_m#     ?*|0 w   IDI
xɚ	@  @ " 6 $<1.=  o  >,?,?4< 6bg۶@Gt 
   É/!\r& pXkE)UUU' ?$}&\ 5546bӜ/K K e)bh(ޗشےA'U U > ?      6?;}g'=+l6>< 9? %|'^'ڲا      ?!~H 
ɖLɔy  \$$!":}WT%$ aj(M  55O˲ v  Ƕ~\\' =@.      - UU _= 	#!A_ -G_?W_ g < :TTYUU >> c׽!@@l֣'A<` ?s) X%˶-'gBUUVp%?R f?|Ew(JUU%AFPE/p	56~r & N'x$Ӝ)J(b( < c??   ͼA @-= U > e),> !1 (> a  '=E]<~ō5M]6DZ^~0U
f1#z

 -_*|5|(> 1,~,> ,> ,~  |  
|R U?-=Gv ??' x]$ <+a{k;'+) /_E ?!!!EE o}$P?"'6\cU
:o^F09 z^h^{z]@u^^Bzq!_\gUf{_ }~(    B?	P	]%@ ? >>UV)  Fo,h(  5U`'}	 z'</  XVUU	۰t
UUad(7| 5D}
٦Up ~'s' C? SF~e,Ɯ#5ƺ&I_%ܠ| "`$}X@.	1\ Mϼ0 &<E /  |<]1)	-k!)UU>< BcH,}^	56pap	 #L?
z΢5\CWL}$)Wx%IP
]9UUWXG$}9=__9$? \
Y΁P\ 1} +=0 XX) # 
喵A>65M$8$!/zx%|I-4!j'g-!<xz^u\0 )< < 9?   !?@  \*|O9@ (?   B )r}B '\D}}Ͷ|bW ݆"O8!?*_py	|		}IJ 1|\|׽U'< 	}﷽zU l	|W )|<{U p Ɓ_\>Ŷ\׽A]^M!<`
   H|{]]U'Sh!26 7E)'@ "uDR@   ?Ji+Fc& ? $X'< :^_} >!3]g^7<BI%! s?EEEE ?#&M|}!'\^_6Jt!6$O `!Ǟ	  )'  ? `\ 'GW _u!|x%u|o*| C~(   ?\I"J__mi«_$| !<<6?PI %?\"WVVT\ɕ|UW\XP 1p)  5	E ,  ``-|`w\ W!  		%!b `X_'u$W  p'Nk~MI ?%$&'@ !6H-R"6d0|}f1*<ޥ(|=6< "{ T]V@c7UWx&_ ?%)*?RF1 < NoZ!(?6XpyA{O Xsi-%)p`rs)FnkE)5U_]b@o䒔!}U׽9u
 \	с}گ÷E)W\kZ! oT%57(<$(?~m(|f1%T jZ7?!WqX^f1) = !~a  < $~~  D@@UU )=0Af%"t6e1\i%1"t.!=g$>0-
)|X-*T+/<\	*= _\)<\)|7}U+| <U(= |]@(?|)=\!@V#<A
\sz 7Äg]y!U%ڶۡ9\^Q$|%?X ?	7[6bg |.< &?Qb0T |>
o  ) ?.>~yhd8"<,Ͷ`x"~m5:~>BY x(< 9 ^U(< (BW(|z'B)s#)>*)~ U)<^
)> 1U-.~!0~X]Õ$BVp    "?6h6b'8 Wȅ\ȅ(	#ؑ 7?,?	{??  |6`cbSLՕ Hm_?g@@@$($|  |~!iڦ  ?0X\	
TVU]   b(0\ 
2G  i 0<dT!9W _?O-?޶m{VCfBRޔ!|W4%!x!%*+$,c@4 ?.< "@~~ %W@
\ 	  bU\ ߲}8$\+$% _?"!)?EU < vo#eR_U(?	%!@`'|"|?4]G XƂMHpVӿ8E1SSZ'<* 9bcbp=6b{a9ŽP !U	!< u!_U9Ppuy	,k U5)oFn0!&6ֵ XviUj!AZ@ ns(e)UQ  ?   j @   ?  .<	6d"%֑'b_\[[!9$K q Ɗo\\5/%|.4yɂ(}
w5]sY @(> {x	*|?]XTVص
}(}	%'!X(>[*<7}2*9Y(} eV (>!*@UU_~}U)|@P'{	D ??Y  | F I$H$"t >< |
% 5?]-|V 	?W:R$*!LÊ uB(29 >vo t$!݁ ?mF\U%	L R /}?`*?xW'>",cT(
HJ(B)) hJYU*=  = )< })|HJ1 )A%*@"@&>)p]؏GVpH "   ?cA\g 
um.n,38  CCCp &P@X#}U'4y{ ,> Ls4.?,?z'r#|zTT\\0  @ -k?ҨX0.(4 @%UU4}@
x  pRZ 3	0'\Mɝ'JL@
$  K\ j'| < '!?>5Fޟ|U-f̕r\!}C	,}?p)V;-|>#%(&U
*= V+<Y!-=  8< #}%X*?'}]\_\S#|%!!"<z|x6\'(BI.@>?R@"=/'{IDF(~'.> jR| c{a{iJ U"i5W_-x'|"$|(<p`B"D {9g#nsזfuB1b6(|^ jRٲ[UAlZbg=,c' 5յ%(Fn4f17Ӝ'		YΦ1SV(|A-  
!r^W9$XE)(XF1 *< \)> YΜ'~+*!|.@j  08-Qp!sI$8+UP|	Miq|Yqai"<aA#t:  X?ovo%5';R(n \P`(< )Xe!v@W(.!|.'=!?z(<)(鵮|))?p})+ !B `(|p\'|IpVU(5' zΨ(|?<??(u @4(|@*<mj"v\``  c&6bޏ6<e~0r4'?#)IrI|	k<zhFLu /k >>!h[ V| ?k
a#F&?	,?9YgX(?B\)g#? (> HB* ? hJ} +=)< 8'B)1 5&>@"<@"0W\p@ <@   ?6ə&>9	Fs!Uu"=u	Ĕ#>^\  2d!wA 	d폜;  p
'd,PUWV\*?.= }o_RR5?d,?7p"\aH'|T\XZc)<xfpp 'z'{"@TV`P$J  X\	 x$O(<? i\'<  )<  @*|  /?,"i{4)5)0"~as5!=&{(   |~]k @`(|R W'>'p(~8,> <} _/-'>on)6|B"=A5!|('#~@"B'gI!~! 3?*%Z!|S(?)J(> Z*0BE)f Z -Fnvn_7'<j+x'm{_(|= ]~޼"|7\50 AIJ#0g(>~)J	TbP(|  iJ4K]O8Ɔ1%MvX!յ(<NW(B D ^5/ڏP{!s%)W'9!}  'RA CZ'*~R <   $~%}>	\&@5 Wa($ՕCօ)p8({ZWEȯ85	][_^ ?W_|	imee#1ɕ|	5=#@T\p׍_e]_0V   ?vn6n">;55(?}XrB(
U'<sHWT(|i!]*

(>5+=?p`sq!?(</)j!տ'<  i(I\)Z)*~U*!( 	 (=U+?})?<<(C]^~`` ? =)~<}:=Os*,ƺ'@9AH;<@y^'< 6l0L`'| {<f=<> ɕ\ '~6!ۿ w?$|"=&U![7Z,?+?4BT-?,= $= j0ΈRUIIA+}    7+k1*(!!>@ "0 M$~\P    ?!<?xID&<9 菥H! 	UU\,@<b6`N𒹟 $|w_L
\_\\V 	AS@ 1?d*$?}$?
\V(!?*< UU .iW\_WV\ G%6"?j7534͏${-	$]8*#| 
 ?IJ`pppP!uV \Am10\a b@'=(^	(|xɫ/(+	*|62~@͕ p%a"4
M~u=UWT 9?Z* 0sB ,E)DdBeVLp$<"**b-{(Ei(}*'>
'=Wݵ@A5$))< (| 9p(<D!I.W$(!	((?!~'u@ /,]"@h^  7UU6"'O'[![ \(?IJ@ ce)@  ?.>~Qa %|?Ӷ(-|u	%	|y	{[VGI$O%|
B(|ͩf YW}T\}	TBu$<|	%Nv}'\*b'|	;
~qڼTXPh}	Uؑۧ|ܻ&^WWV^#|l  |@J ,?b(|xU_(?
)!!=HIU(j (?!)]K+(!e%'RS|j^UT( M@J	?( -_(<*(}Bu!?(۝')ZU ((@`P\&?~CA   ?F%h$6;qfٲa[Po{<!ou'<""'< J (KDx?&<'< -''@_FA,<ذMۗ W?)!|6l#%>.!}"K(a)<K#?)~<!?)},G:* < ,(B*̒}'Pm'HA_'> \ 7T+|J #|}`!hrm؂Mk@A   ?!<g#z&<9 p)z,H)=)} @A 5%%%	#>@4LY 
L+$|8$=R'|$?i⽕\(}a"?RB*\!&9+!hO(<Wf pP(> }\y'| 
		5   ꀀ`PrP  
ZZ	k<"CMU)$ /?$vf˶a5;"="	)<"=<9<< !?`@*d!(< A{Xp'|l,!9"U 95u(<MkV[(<\c'(<%%/?(?K  '"<@"|%<8U 8?0Zv#|5;{"l(@F'7CR(| *=^4!?!9u(|!T(=!'~!?T>(|=S (9@@(|b(<A( Џ*| 0&'?"E"|'}l8,z' a/~(<  h'0J+</}	5B(!# Xr!$R)!?		  ?!Q6d(%|nZ#?	Qa"|=	&p'"|?	^XVWˀد|	5m?L	|aS\T42- #?_V$<-}!@M$z'|@\Z\
0 *@|	[mu	ۿ|UVfy}	'|Ԅ|oo.ذ"Wb<O   vn6n.?*]F \'RU'-RR^kj!*-)*!?'|X))(>3%) Sk)>JYE(|!5( & 
5(?p(~J4-(/27"*p'|2Jt}ko$?UA ?!xi'~->?}ڱ6<%:l*?66j2FPIW\H n'P `6W" (<? ? \\(AS G?h( }|(>L *'<K9pG!~|*:,| < BU5'}m!<?	bP'{(< 9%'_6'!'VX`*Q ':%5)<@d* %|T\Pp   #(|@wq$  Vʢ  0h&h&+@'\\	ɝs]/ʔ\pp\Ƣ[U5H6!4obIU ">H~KR
u"'a@'}4M!<!|  ?  ppph\؅@9.~l#6/R{#~ zq '|'&& 7f`54u< N?.< eՕ(faxxx\6 嵵'(@'<(<~  8(+ /?MH'T =?J9$<9BMx *)*~׽5$!ia(<@!^(~  )F!> U(? (<\!ߝe( ~y֢nX!|'%w	* zoӜV("<A z3 >'|\"7(C*|"<Iџ"@\e~sm" _ T-2~@k "?U %;-?  -.%{+-a!+,'< A ^= !5> +|	UȆg("<<55G_#<	{8Nm|	_Ok ` |!<Jo^,|>t$>@0b,b'?y
#?V\^[*P;p>8|	__YyNyxəH|
SiE/b	[iZ.1PA!?,7|...$<XRZR*~#O%?@U*#$! < `|O ,-,.</= /~ (5~\!?v.?\綽(V"EoBp(=J!TU}p(~
xRkX'|P2)
'^.21U(?@ؽ"}?I(} "Os(?Z!%(|.cV	@1S@( *[+?R/*A)_@%? ?<nvo7;,{9ʰ=B @(<A?o' * LڿG)A{,<B.Xe	,~B  g<@) 7?A.Al'<~	(<l) 'B1( 'J(+; < R9?(|>(B	*>7%(<B9 (< (?(55(<))*kB(m!?@UWT '<~#@()	 @}+`G& O#ݣT   ?.  +/clfC($<@C>$QZ!po 06}LX!<5'Mfe!;"č @;W#\1	``x_c
,}%1!(#	A ~l1B%(<@w(|" f uU,?GV  ~]' ;I8  DVtcx$8  /_3#! 66lvl53 f?}!|~"(!G|6?,("=\TTT7K'h& $6| ?A ?*$?ƶm0ʟT! s&޶'TF1ݚ$|e׽ cRXT(~;$*<)!(|"{M'@:X'>5W'|*9U (< f1_@j(UC$!W	YirMV*~ez'<.4A(? T#(>J` \XZ'>!d(~n%)/!_$|*	׽ %U)@pw WU  ^x1ɝ"t	UTSIk"9WU2W	b$4	*? (= I'<{ > 	8~ I:| b < TIE#ɑ|	5O?|	c)
0t/bSVW!@ȿ	mY[$ 4=|IAQS&<ك-
6dC$8(UR!#|9Qqyo*?A -A '|/me%p'MPb~  $"|e((6#~ pc}#<	!=$|A['`P|ymuH-| |(=>	 <6<  :>
,} [YUmZ
{X'|	
]UL,"< 0pJ ,],?}(5(? |)<!] ~)*SO22p:.
( O2oB	'0B( 	 (<( `)<n:	'< ~ *?֬!>_}'r΋\WT ?*o |;p?\mmq"'{6o¿RAW~JP
 }=$?'|=/A g?,DE!s '?6dc6j "<e">$=!@?9pPX\(;B*{BB*<$ < b1??'@VX'!~%%'>2AAW(
cI'}">՗(=@/r`+<A5!VVU '<.< |'S(< /M@VV   ?.  B&)<@	I%Ia(P"5R+=#D$ `,InS?'ܥ{VO?$\!@iT7ɟx^"<ɟ$8$=-Ay3	Uh@[$X# 6i1X!Or{| 5'_ ZJbaj* h$s  UUPO#<*   "ma?50%?\ `? (<(w@`6?~155*?T9?lPr(?l$ <(  ?0
 ? g6bmsY(<< P\(:5])hY5(=_pq!'<kL)ZU'<m1-(Wڞ(|
M<4'|1`xbmk/9u{*b'|!G4<'uA
)UCAS@-+@'|.4asscc)<BBOֵ\%)!! ! C)< \O aW^R@	ndd#	\CP
">5ztK6L #|UI#<|*UԜ ,= .= => Ӽ^,> }2U$~bV\*|=tM>W#<	MIIi8؉؃>|	#k|^ߗ&|\@^
p
|!8K\2&(\ȯw=iCO#|~JΆ.? |!<B=+! [[|!(-M<\&L~!|ZP|	vQ|	)PP|奥.<,DrO-T1I1.9H6 > MU|+UJT$|WUȶ#}?\Yn	6(A)G	' ?)>4}ֽ	)?f (V')VX[U(<>cu'< n:k(<">=(?! '~v*?c!~T-(*5Օ/(|ص	,A\X'2s(<@B @P'?BK!='Ք2	VB8'Js|~&?u  s?@F ~j$<ao?)B>د 4嘇 h=@/M' ?4k#nbd*<e<??(>9!!'!&B+|;>< 'BAx-= (|1}!<sy]'| JkU'!<@W' Z!hi(@9$4'w(|HJMu^B7 kj-=  Y`*|!x-cٯ##\\XX   ?.  	uaC6f @6ȿ"Lf1u0`-Fӣ&2IS\E K#|"|0Am+cC/Z6dB /əy!|D?)"A	&>&|d})  A'   TXP u  s! UU+&r'B"|!b@I"|8	U},GB H@64fac5% f?**'Azp':?556?!?rrb'|9P /C|H  ?6oFn"@ @ TVW7<#>{@'~8asR'~vI'~q133'<qzz{',<@~E(=\Q!?
 RY'<$)(| E)y'e)
6(|!? uW0b '+'.Q-(p49IOF(<rsqi(Abcɍ(<60@\ U'کT  j|hh I*}I@- )< 	MMm d'q?2h"}5\1 @	w|쪵UwCET= 
Vh%$ cp$|wU/= "}7
!>w|	
USѯ0A|	XABW /|QI*|<X	Vp?%y! UN9p[|	䷖D|N:(¾#<@4*><W} ?|	[YmJɛ||Օާ$|1|	^\^^m(z|6.|*}!@/$	T\R؆h( |k* A+G! |	qIIe{ȳ|	n`?H|L̓<PCB}rW+!?}O_.9|-	m[9g|%%O|U_)}o1	72|,? w9A=%H#	+pU$~^@& Ķ'|
C YO(
')
!+=~ .?]+!?Pp(|A>'={Jr\( _(<cA':!

(@:)Xq:(()<0L Kt (}4+?J!(A*hH'VSI-'
-:jjjh(I  w?4A%gH$K$ (;߸g9?Y )5|A' 8<?!'~6"Ao  :A@&?FoFn
5%%)<]**(;VWW(><B>> Q!|'r^W(|@'^!!|' h7=  | |!9U,(= '+)_X`^,} B1 `(| <8!	p   ??~]B5% Q\g B|$ @TW  O!+"\
B» UU6 yc"=> !;t \pv8@_ s ؿG  p``@ V}C
4*P%Zm `'<0# X"#<+^ PJ$ZtB ,< 65vdGv`5- U?@}!}O@!w-=/(} A!5)>ZUG%(|'鳠b`)*<]qH @O
H  ?i\Ztt)=::<:b l!X\\\*qq!'|3F14'r/(/'kq_ nі0'>`$rg( Q(|wU(B!',kb'R+0j'o8'@,d-I*?n	-}1<'>1bx(<!%CIJ3UWVT6E)ZZE?"Hhh8@` \{$%Bcha'?}l+~$|"=8AB!3w&#>:X !˰h|;'9U#w_x$6%>׫^UX&=tj'W%>ZoZausVP_z|	¢ n 7|
M#|OO-}<U*"U"~9$|!Wn?G|aIͪ#VT\C '-!>'%|U	lI|!8%;"t   :b  7'$<[Wl!~Z#<5P^r0/Y\'=* 
 b#@I
_ 	#_[Q!?-'	
z/'!=~$}~!<?)M |"[T)7	 l'<	 4,=\h,  .?"?9`)W!=2)|\*>*]!q1[P2Y*%(pB53׵	(< K (? f)|J*?3K2(<B:Xxxx(?!` O:	 '< ׵sV'Tl!&?ص  t?1@%! )|@ ,'< &nk[(~ ,<>%.s} 7?4\Fo+gC/@CU&?Fc4H  ()$HJ9(<;
m = (!}^'	-%	)=HL 'Q_VW'sB_\BU(+>Z, "?U-' qR z(> 9U*-} 	?1@)<u^	"|A2pA "/H$   ?!6` !yE-/$D%v3% L+6׽aLLNNQR\  ?(<4 B(³  VV? PwpU/I $⻀\ P\/% 5D@p'x')#'pɝ"<!8.lH"Bu!,=؂! +~
#UUsH0%aBk(?9@ (=   ɞ	55 ?? >8|?c}m 'LZT'|Y"5?R)  X  4!)(\:^9(r 1~!Y|,>}Q>?X# ?o#?btt*?8?n!~(]e)TCUu^(~-v\=)|kq/~+(< P '``'>Eq'!>'*{1='M!?@=U_'n,kU(|e1(p(?{'<rS'~"#	m)--'m'?J'<Cj%)</SdI<>'c@T9?]=r@  '4 l>G' 	+ +|:kI);{ "}8L @7#|^U#$<?OIjT|5^ͅ$:	VWw|`p#?	
ɇG"|:	6۸C<C|.m#|W^X"B#<z	ժ^U>}!?B\^s #<}!<|[ycD.lw~%m ?!<=$DxlSM|	Uk5] "}? /vp @ 	oZ	.Y#L|gJWtbVUX_%P|r-q-W`?)5	`W,N #~'h a~@>XU;I*X)) p"~}U!=:  ^ $q.U,< ~,= ]B

*| 
	 p()}(~/2<)`1\' .RH
%(AB6)|K @XWQ2C"<'pq]_'|s}(<Q[JR'<! /(|K\|-?C o?7Y +?<w@ 8=~Jf '<~''   C@f,'BD!6o `,>	(<&|&?!Fo0?<Jʪ*(?_9W)>\B*.> Q(@BNQU(? 1!>(`9-X(9A!|!()}>\ "?{xUU'#Q	/(< !@)\*$"VXp >(B7!=(~[	a"$?P
H@   ?+b`fMk$g  Hy  U	Cl+iAUZ & D$}@ad$"MJ\yA"!?@ J Y#|6 
P  Ur$ "ĠIu\[]deP#=p TC@55?t P^!A~{ 0(i"@1$u
^U`'~'\	!A'}H	@#}@}8< 66e۶a #=u \璔 !Cy(%!.9(|&"> p(< p'5IZWU6|$~D(_UW^x6 ,k@''(e) (Z)"3.@z}E) >(">@.?(* ?o_
iRd t(>I5=:m!?X'<+ED!$C=-+'<<e5
+(</]
@P/~'< C``( '>('Mkf1#5(U({U'c*(@ ?U(`$!_< -'@I
(?~'|I)'ֵBb([!TTV6"<^j?@!?z(> ; /?  -?+|O p(hP#u|/1f#;AbZh|UUDJ]5#~UX`8`\|	^i߷Ia
|	k?g|h.Ώy#~R`JcdOT56hc^WH|	^S}e*|?x  $?m+>}! 20@=|Mu}Y< N' ?|	'|	ꫂ #g6@DTʔK|ִ_}!RUrNO7$>?-+<@[i@-ue!!%)  }~]	x b?$Q=?]|-?|;<@")|o*!pX&(> O:*?@	(<1*%/*~=3(|?q)++(X|z)AVp(<[Bֽ(|@[Zx(>  \ W$!b@ 6^Z'iJ}-??? /?܋LP  ~<]@ ٜ1F'ȿ 8>,< <UC@ 76@'&D!rE'|E P A'~D&?FnoB%?'<׽9*=\!|{*c.= !=)%Z"?(}@(1^`(}(-~1	 D)  8( c@)AT9*=0!U)-1(~ZU@iJ]? >\!|	Ѓ=X^  =\*   ?@5? !ɗQ ZWp  pX>|*5_!j9"0#]": U\0x Իl <  z6M  768k@"ArJ"$"Aj~W]]|", ;JHYc1E鑸T U ; 8e`;U'<' ? 26b6h  ]1pp@(7,~9	(!9, .>T ^?-($- *>Y -]e)p *&	VW1K2Uh0(> ygM'< b  *Y"A5)|h<_]TW.?͑ z"?Ztt,?(<:#E&(}"<'<!@=-g$
+(>@,)<@h5
(/n'< q#!*=}V)|O$w(=@(<?$)(<?!%-( E)(|] 'm'.j$@)'?(F @ ~'<@(<@Ø7%(^_\+YA*ZdWrp(|5aW2 '?    cH)9Tci(y	'@"M-`"yE% qO?k
H";.|, StW	<b)z~ϓ@}:f#<	Xj Z1]wpFe$AUTR-оc#p
0^WIP`|(bD|6QU|	 7oOc*	|bu9g0#ej_U|@#}~Y@d~)E/!*>?p|-}@ (|5,    W?8fq,?N)=T@i(+}sxU(/K_@$( r*o:``)<i -	
)`&( 0)^(< 46( YΕ <x'\~^_(?p'<ӜU(|T0$?BB +:Cb_]S[,'DIr(~IJ\ @ʏ H':y4
'  ->< $ܯ%OT@ -> ,-E5oe(p|C'?φb6hc@%@k"'%}@\XP(~{1*A:]6*=UU-'b0!;)|MiJ@)< ^- '~|_PXb"(|((>}WU)>P.<1*>r%A"x 	(?9)|*_U`-6}\'*|+
??مM=E   ? (UU.= !? ɟ!|b(>X"< 	<pO?]aH
x1V#|!'Bb9`\6B*zb\R|t 8~  +L0  pXVUd	 m'|&	nIB r,< $[c|5c79$(BkP#4X@| @@  {C ?6b#6b+&? vJ**(\x*}=u-])> s~|U/**&]!$ K(|~1^x'}WXB6A.> HBI; "|%l! ?oFnc(<U764(<Ye1-zA}TUs{G$*'|,
(?E!}@/'<.~i=](<u*+(|@)}q\+<FuW(^W\(j=( .(.)<N -	 (~?!?'<
^'<1)<
 jjj(xiՕ(>dӜ(WU'.nsA%׿Ïnhll| '4 W?   +@-I'< Q(|$˯h"~@$|h"<	 zu |	S/?Z|k%
I$u) {:0mI#@U?$#|~]$	I@ 	Wu
-k|	c?&"|	~WH6|=W%|?o_UW4 >4*=
' <W5?@X G?mcF"<z-6*"4}]-%G@2ӜD)0"*?U(|Ju *}Eox*?>-,)>~+xp(? 1~: p\(|.P:^(|=:*@o12 )< 
(J`~(Ơ^(`V()\'))<!
UUu'tD!c	zy"^@1IJ   )% @?+Sn# ;!ӏu!QVG_o}QG?'=A49d'    >6{SC9 #-|@ )< =K"<&?+ 6-ɛC,["'}\!<p`@'>%9!} );9?(<9z)|}!=5(|!xU-( UW4+?@U]\(<*HJ(=h]\ix(U-} ( JC{]AA!U'!%Wx*X{,-(}!WTW? "B 	pII](B @p=؂IJ   &6fc6j+ ;gz Cc&T	UUZ3h1{ "8!yQWe D 4]TV5Nei\z,؂N"{#"R$>PBUXl| UD)X1sF!Xw	C'}$  . ,,@D ?,? }iJp)<eCWVX6<=":E}\7 .= "<>)&9P'!WXPT6}b5-(|'X\UU>,4 ?g6j (\\'}!|}	'Pzi'Aɍ'\ WVT'E
+(}	'}O}+
0J (~	+?), pX(|^^z#B ){	8> v \'<A*WȖEf	'ȣ(}i@$Y(qsZ\(_m(>HbWE !^0!|RJJB .? ?>  @CiIIu>"h6cbh} f	"|?rZh?  \ z`| 
/LN$!0fūDyP)9|8xR	% {m :|/9 _R_UG ~' ۰|U*>W   uR#?^Y r'4s"R"  '<d(,!))))}) (~!FN)>ALPB 	(|*U+(~]! *( !~W`'>%B A(< )`)|?!U-(>)\Bvh 7P
4yb$88]! T<,^>=۵ UWB? A!9I'9k 4};D?(ȕ'> v[p@͐'o@6  (?2+|o6j'~rd1 bɜI'~-&?]5)V7T o(">I([}j**!<VT'9+GJq%'=!=	'|!}A*=
)<Lz9)e)*}!<=A ))]!B* \_)1}*Y `*^ 'c9@B.|(Ӝòp#  pP\M۲2|(   ?%!QXI PP@4݆1"R#,"1A`@@b4 @"~EeY\%	HGK`B] j#<!=R@aL	?e)-!0		"S`#^a!EIEcaiJ5+<r"`ag!!?!N0 "=1|&|5~]X ? ?!6h#5~T		*<;P:;*}!m^xp'%T(|!A(>!G	O">UU)|99Pf'}f-~YBFյCjR)<i7љ "~	**
`̿<"Y!U ?1mc#^Z|!%l@suZscK(ZAS-'<CUx'~׽ (<T'<?'~6͍'|;T"
'Q*>6(>|7?}s@ D)?'|HJ(</Z78?i(? U@ 4r'5xX\'a(!X'v0bq	(|Ebml"* EMiq6r!oBy p=S-3Bvv~N'<{Ibwx 8?^	'!|r'\.7 XPr?W[IJ* CoH
 =!<XM?~ļu7c6$.UlĖ#<B@bF]8>) K+!)| ~ҡ@'r6x_(yՕ,~8 g~	6o\5$*B]u" 
*0/1  <(<!)~!Fp'}!~%-(<!c<(9 *<C?@(2	(|!?: `^'Q2X)?:#)/2*<O2p(^ ](ABh(!p(<R*\ l!y 	8bBc$o (B@%\\Za$%<_ @.< Fo+7=OP
)|{t'}  M/= ,}?"/w 3,==*Fn[k'M"!^=B$/ bc6d#<D!hR"T(<ަ1*gZe!ng*=)"}*~Mc])>91)9+ ?< A)!>I*9*+^\_,A!z(|9%|B!
 @Lؚ k:|(   ?& !=S
[  rrsis$As@ x U_ȟ\igWej*@:
''m  p\BNL"=ioB!]앜J 	2@``(I(CfC x<!14\!?! 	 {$<9-,ذm>A,><<? '?vcb509|1XU/J='t$<Z 'V*|]Ҕ*|CW_~'<<*?š)W*UV(:D!-(û!<?B	"ja"<	 xW$@hL|M> o畵f1ϧ?'~"~z(? Tu(Z\Sy'|ֵs'|Ca
UTZq@ (n%u(3dp'_		(}y!
(|,?P%B6/)@{ar( >.)<A~s^(.i@@ (?XAxA*ɚIsQ'|QA<riX*<E ^[8?E)SXT' Q\ a? !R
(V=	"&!<! g$~\AzR]|	6h b(@ z$OrAAmU|#	W_P^6 Cc#! p\[	Q$_I^uBo=߿W	}	"< m   Ak	p	VXYXh6bP>>"Q	99?m||	w6Iɝܜ!8m;|	*k{,5L Rf(Jm? 08]@AVVWT6` #`<?  ?/!||+	xhjjAY6@ B	5Km>"<]UTTT Oz	uݶi;|IV!}xkA(+!UcXsI"rR/6o0xXY=7~!s{,y΍^J)|Pr+|)).֔* p:/2	ps)Q*UU(?p:!q'/2)>+)}!)< Rl\02)xz(q))z^'sLB@	#!Ql? CCFn<  %%A(V D5WX1#ܛ8 O? I)2f$o'|?#5?"ԙ  @ <@pNtN7 S<>! <6b)|@'TXc*= %| ? ɑ)"!bcO%ޚ:_*>TX}9"}	(}?!=UU ? 9d^ (|15'<ߚ/ )`P\V= |0   ?"5 
a  -Q

#=P}KCV	!x@|\^i~@= zTjp	~  p^WUE@}V 4cnr()"}-t=,?{.`$]\IIN $|?=		l'%|~pZ %%?$P^ P>#<(L&~~\^ ?.5Fn/q?FoCFN[?#<X^_\!Z#;	!"<d(?@)|&"@\_UU_@AAq@)|"YVl#G]#C\4h];`!%	Z̄( < ?:T!7n;\YmkBB$<\Zs'=!z'|Ԝ!.a(]U[(<;r'<GkA		Wr)*'	'8	'?Y|(<1`\',9/ (~(~H)< v*?n		)| xPof
 5cX(*{;( bp{h!}*9@5Mq?|Re)U'<%u_j@ a?ɑ|I'<	'p#f@G@/Iwe/|](6&O!<JS #;W\#\6 gV&/>\ZIM|	_(UOU(}_		Ul$ $|6\aE\Au_Jc}m}}^	+$߶U-)  2]]g$6' \w"Ɇ@LEU^ϖ
"bS`&W$^ߖ! }hO^!\&X'
_XUOC?~'!5I   #c^aU!~!tau(<A4y!<@^\G.s(Qmk---(||+(|7. XJ (1'=!}=)W/21 "B(|)5*>E)!ys( L'=.	_(1*'!?))z'|S)!@
: *jjj\%eiy3'~?sX( ե)	SUڧ"<^ O?.? v6\(:l!gNWD8\!~.?'} "rIA"? '<E_D"*/(<em*<>)c)< X	ɛ'~>!LlbH	wG ?. !ne'#Pn("?;	%']y/(yΦ1WX<( *|91 = !<CZ(1)?8ơ)Gϐ8	@p\F<"    ?,hI,#Ǻ#EB&fT zzh3<H!-F)ta$?!_`!?NiU$̾@<@\@n~bjBS<y&? P؅]` h+ʃ\	R[UӶ!?DV 9W/>ff'<h FmèAUIM"| UT\AUbL    3Ѳ- ߶{	 TM\@~1<Hc_TTW >o+)|@Go'm_W%^V@H#<> 7 =	om$#B!d$Wl	Xm,Kt\%۶ V 1?R*%ZdVUU*vo'BUW(<ӜS\%ÿI'<55U{9cVr' 5"'B"P](-nkA		@1,c*(=O#)'ԔNk(-Ӕmk*?n+? QM+< 0|Ei@@j(x' X*|\ @5b\(> *?#;'<'"!,!xO%1ϯ}<%)Z1c9*b e?.!q@Ln'	9:$"|S{U6@#|;%U8pWZZUBKȿL#|(U,??$!"~U(	V!GKJ "z_-51'|\X_U8zG  	-+U}d'#<YVTW@V>= ?-= DMv''\W$bk}'4%%]'||/ǡtBN M<C>,I}@l1j!T^!w2>Ԟ?|
kBKUAP=P	 U	W= c'v$ _	 "!0w:Cq~b'|{T'<9/(|s ' i]P'?-:k!*=' 1)9(|X'?k!}}U'ص9u%u(N:wXz'|R[KA{'@Rk!*<W+}j()!(~ I\'Fs!p(=ӶWU5%'<\^L^b5is|$|} R>? y6!za{CfȤ}'<(onDn@@@k	*<$p3/!cO A|> g?.  Nb6d#|B`*Cn!	%
?UU'~~`( 9Ʀ^qWX*=@ G< "I`*8^(|y50gPY\o"<R~0"?95/   ?]f&pS  	UUl@
L-oa૕d	J**
@4~Jx!|[O@ü A#?b@< !2B*?X/MF'h#e"|5y|#bbcc  'b+h@@j&z$A\1 >t'aB#扑%|I{
#< e̛m#	x&J   U-~$]b!<:N m']@
Sж$}^|*L0MCX+|@cSo#<}}?"&o\"k5Ap |?> @%WL L/0/J5\ 2|? !?j+?R(o[k  R9@/o䶵bc?(<UT(?KrZ\'~ s!}(|mx-()\(c		'</MkZjm,ce)@n,ccY*-< ' Lcc*>sY3(~I!x=@^z 8UU%(> b\) V	UWpC% "uVW_E$)Mqx$,sE)'$9Ljj a?> \ - (-`(<  +)In)0 T) /*  )> 1*?  P* 4I;]2*L  (|Dbh6(  ֶ)<	1cm),+<m) 4MJr)4 `) 5,?*I+ 2O*|.	l 	 Q%>0Ӽ"?E,BUŕ9qi(]qq(<!-(Ux	/)UU |%Ҝ)!~|IG	\	I!U'<"ҫ'֔*_7Ǹ^<!U|I!}ß5G~Ok~!}v]J}(^SP(|Ua%5(TUxpVw&~!56زw\VW@q ST!XꚐ'<|5$`'<  *|.H` {MI) M}c&)> |()< 9" )< )*0dcE'\۳(| μ<(-0&(< ;簝Pj, ?/<8c
jH  Bzn$%) )Q+׵1Wx*> 1MZ~Ux*|YU > R'"!~?(< !?5)~mkRX`#S 9\M#?A ?   ?@. 7I$RR	jlf#=\eH$9\\MO? &@.?#>w@%!sb 0{J  CCCA؁)-=$+<  `b!ɕɟ$
tUS!<j'#!? $ M?O*~+?o @ |]. '-|@(c),2g#*}l3U]#~@VT,@?K6"?%|`"?QV|"@x^@W HU (?)J*%)@L6b )J$)ࠠt 4PC5BIJA'@rԍaR'| qVZ2([-	g}(x'|BW-(|(BU_,^f+< yAW (|9_](l X+b%(<Aj'(a%0X\	[u#l#APTO-"<(ms@ -msmk*.>  |-   ? A@)A %>^o#?	&'55(pr'9!|{W\i/ rZ $"Y MkaP!b1)J  Uuu\2'vq@ 0 0!<3PC`  | *lt~	O05Ƣ	=p^0@.	B  zv 
`p-\|	--U[P|	^W /}Bc "(]XW(S_94 pUY!?	%_r\W@1 |*6`%&?7 $) < <)< ʃ}Bo'<?6'| =Q	) 4  < $j')> =,| )>  bM\HA(*=6' =6D w?.  y ZidAf	׵! Uxt=断E+|@u*^(?@Ӕ`)<Z_)@RU*< R*|A-) |!a|d S 'D
XUD	ۖ!&, Ch   @R@ .<= ,|; |6Օ'=\LV> ! \ɗ(!!"Y I"? i0@,@P D9 W?> Y-|@?yg'<F^{<0(^b#|GU3"` ah#$ ,|HV  f   '?IJAZC brv@B)5e-Co$!z5)<= UV@R+U*<a(|\rI1!Uc84Us3nsUW'=1 ! P'/=,M(>'~'UU*BUS*<W
(| bZYj(\R Da_U,#H!<c\uaq#|)(~?    ? !}<A ]#|A"	_o/"<4xB4%m`bPՕ(<Q_s(~nXsP+UPT	)uU N'| u
|$I Ӝ! ĳ $@O 
 06!WU
5m"??UUAv"#p#(RBah '~u!B(<D)^w(|A\U+d/ `5pLٰmۺւpT(<t/:| q@&?H@}S @fp < E 9 ?.  .?% H6`9%~@	#=UAh}(		Yu!@
!SEl !LU>E\wU2	 vU*!#UYN$BVR g* *}? Vh   ? '~  $*=@T
e'X @ x
IM]؄=     ,> UU a> L[[X)< 6,*|  o > g /?9!B ) IJ R P`׽f1Bu!|!m\-(|>/(B1!>V'}.Q!<@<(A7&
'U}'9M=*"-n(A-?0_k(<iMW(|A"ޥw "|,	U5x%W', ?b$}Hʤ(?"?    4?]A 6%<0@ b"<< Y$!}p(o)}@\x{)_U:AUWё n!)<| TUU]'|U'(^&(#Sr(UkpAm(<C@VU!!_U5"VL\%X<}!t\]  )@  O?u3cn:yڧqz' db<lQ ?	@?l8گz(o/' ^؇u8 n7|> @__'| mca>"kB@U?Fn % (IjH'}	'e7$h  5? o|$AՑ | *<  )< !"/)<  * )*( X*|  {~(   <  M?   DIlV	1\!=@N ?  <  %?( @ A)G ZA8````nc9$)[8Ux'~!=ƀ)Uz>(,r(= -}h,c)!|BWU$>U!B!0!?le1!@ AxB !}@ Ӝf1M@     R?&?"}B  " V6jۂ  /x/$!G4^-U.->,o)|  }(|[R]9Y@ybk(|aJ$U(^8V b]U-@>_5xU6A"qE)p@"=t!*?a@  _?~{{'|=4?iKZ ?ɐl㩑'?"? 	@	(|}Ϗ gQq'>οK&)iq'dDSn6?+՟} 1GAvc<H $@(?F+?%,< J'@ 9ӭ   8?A<     <  >y[[<|  UQж*P%| |y   ?"? ())C A[%)w\	 5aۯ{^Ch! "P
U1U8Fd	&9U U?J|1EV"0! 	9U/'`e1
_WV]?x
">_-k#]S  (?D)@ E) 2@     ?#?@ ]C J #|p}3@ lnh\!Xf"~5,@
lniJW=UBf5!<b|
1@!3Ɵh?! 	O*!U
U!"q\_W(
^] oee lH"<(a@ (@ *? s?s8sY!!]xx~!'~ `!<%)?*~=<'>< \'<5P*b͇w8)BC+~ '<
HO'OiF'=@x.?#-?[o6?1H)<PP(򹩗(E      ?        ? A@-= U;>  = a-= b=< >   I'|*_+   += !-W+? !e- +> !, E)U; -. >=  |>P)3g/(|='< &?'< @9)|{Iւe#){!r<'@}dq7<MqO(| \bm( J!?~(| J#o'< ^Xi( Ɖ) I(|/j(^ɖ`I(S^(|m9@j             <   < ]yoQ @  > }"        ?       M? h %<!?\gh` 5$=g '|   D? fI+( !=         '        <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <    <     s3   A  )          <         <         <         <         <         <         <       V< A ```+= U   < mv ۰ '| =      |v T,> U <  I$I._aؾQ |<> 
 ~q)qW Uy_+a;(B S!WZ( e)  *~9,> Ruu(> R,~ (> c,~ (J~
_6h\{) {|,> 	   =`)AA @  > ~me#H]S_6 ܣ  < }   T@  -  = H 
(  QB .̝t\~P` e@ ,>  @-= U = +<# U_~p$_ Y)$ |=< )Q``X hce$!@9?9b\ۙ4$!ЂBf1@ Q)J@ ZRg@ s @ (> RP,Ӝ(JUU5ah3  r93۳MӜIJӜc(_ns	   J,~׽,	.=  > ~cm0$( V*/e$<*]i&~_ |8< 3	 .@*B\6<boد 6 >9#S~6_~~(;?x .=%  P\96`$laO$ s<s4UCq   /a6jc6bq  ՗	
p  `^ZZIa! U	l<ؙ  PXVU @@ > -{;|-.붊^\W 8@ <璔p&%v<_UX tWU~U\ <#,.A*Zf1 UU\-]$}\@z\1- E)8b"(JVcf
׶a-0f1W)|| iJZ
[]۴1ַWT	e).! 98Q?Q$)bJ$ H|+$Mk(@~ *@		 /$ @= G# *=   /<&Nb\]U|E)UUE`1t\
 И~]T|	\綵U'\euC~<_+Mzߑ]z  S\]\%-E)<2e	@  
ҶiFn6׈)< <G'< ovn%'>!!. ׽,?6
֟57+d!U% /`tA\'!QU(= H!O弍$<R
UB؄G`X 	$<2 	=%@   @-<Fc4F)fʜرM۲E'=7ҽp.
Gs0r aaAAPi #D/BHO  ZZj  IpXT g=g Q\y	U۱@WTUU \	a 	9K  ~U%?ߕ4(\!1$(> ]-< `O񿞛  pO?\Wx_m"44]T 	9``(_{_ -< oE)>
 e)x/{?u1jLD IIms!WW dxZ
}گu\ OӜ9 //ˏ|4%)Z*(?%|' 4!38_X^ I ?> 8}a!WG
)^|Aak&\Z <.< &6j6b~c5%a
0`hF]\`'<YI']F
 A(=i^u' (	(~ 8!"`(< u !}YSPX!6, -j !/cD !H+-R)7' Ir L\e' أ'>Y e6>!L!2@'=a-  We(#|3%1Fs]	*?XW'iJB)HJHB )< hJ(B)} )~ ]5Bb$~ !| ;Z~VX  H!= XI@$TXQ[1\C
TVUjQP"%c=؁خ  V(-XVuzE  dI'"Hȏ7   WWU"?'  bj ?,]ؐ^UW!=")#|;(~2H*< .&<|!!.$h]-C$1  	+ީ)
<,c @EW  \`*5  ( r 0}?\rI"+;q^p8R*s )A 4%& {1ZPPP6b#`P9xo9'"@C#|/U$!=@@^#|69X  Bl'c܁}? %@yR!Z  "X@  _1ޝ4٧[Z3hȐ"|<	%iz[d?~$  '@
|s\|U5|UW~k6 W< ʶc{a||O'<e ,ppkBI!	I	ei)
')a_YQk)))8%(J L
|}}؇}غ~EZZ /?"?'<>'|  )X͇'<_EF<O' {<?i;6^8<A-< #õ? Lvn%(2Bp\('JiB*<.> o]	-qHJ_[PJk]T6 H! Y!@ )]۟}TPp  @cHD&?Rai 	1  ]؁OXV|Jy\EE|,b#\1PiM@5@ @ `j7 x$O$b\BHR|Wm2{W| ,<!W
\s@ =%E6< @)| 1o\	mk_(-k( };3ZH #@+|< U!=b `R0V(W1TjRz&(A(|#IJg!0 8r!?Bΐ'9΋'U💔!I07 ]  `9] }U$3 !$~=5= A < 	_U U|&0M|	Lb|	%!!~ZVq}!<,B`u} VxC_|	RF(<iM|	 !!ƶ=ہ}TT$~!$ 7,|-} ;;,cb(=+!=`p(R)MUUe2' )QUU[U	?(<)	)|MmB'?֋!P@	z|؟}  	P a{c!j' x$O'=!'c#'AE_(<_a .> |!N)|`!n-]E Sضe;6n]~9%*@`PX)J'BYU6> r\) 1LA'>G1 '&rp&\ 
c(B*< .}\!HU(??"<B@|Q^7!  D_.<bcA@8k"MV@B	AX "HgI	|M
j^/6h@
U1m\;*ZH\ H]@ +@&1s  >e\Z[*-؀؏4y}yg'? .= \\!]'~L,}!_V@ (< <4$;3|'6E&=C|
ؐ#<> TV%> \TU(| '<[r`'|uiJU4/5!|`(<@B'|!?VTrŎ'|T)VV6N$|/	!WT+|~BgpS$mk \9VT"Ich|	 Z	UIUɒ  $}\/= ż_ ~/U' !cW"|	+*43|	hhB*Gy|
dFfa#na|y|	VVZZ|	YQqI	>؏|	!i#!c|	6![e~ I%UOH'+~ >='?V-_ Z?U!$^_ Ǆ#8c/Rb(|! 	W(|@)`WU'|/3S.2U=(i:#5(|Y+
b@(< pc4(b(< .2Xv'|A!UhpZxy\!
@ %H6nvo6t_'(xŔ97<9'} S  > H!2@']$|6"q	("~T '(B,?B|'>EŵBqc'Z[ZިZԜ~bTWUU-}6!|"	=ذ=۵#|:'&$$  Q-<Fo"~&  
.P6]@hxۀ [ \S^Ĝ jC d#\	5U&@&S|

%
Ip\T\X0Cq\!(
	
VW'
 |k;g!q6"? "<X	'>2(>(Sͤ>??#?6!s2n}@ IJ!T)T\EEM1髦3'P 
9\h(@1l~_|W]Y'} !#'<#A'|+-'|Te1kl(<" ZSQsZ!< ^+S{}!<WPXXbHFMb|?|\5f~,rӐ|VwSO)0U
p5|!aV_ t|	ZQjw/'| %uD
dDb  ;IdH`}E@		EE`Y_|PPjA!#8]eBa!Yl" 	d"|a	{{|)JZ5OU~S	c
B9_	|		ՋV#R ۝j+ 'O$}Z_-* )}-=m%.<LB@)|K!>b)lnB'|9p:Xc(@k.'
J @(<BPT(>5'9)ZRX`wx$_u!}bR@  vnFn <Bh"}Q72'>_!2;@  !N'A'} s'| &Uȏ"<]*,c,<B:*>	'iJ_'@l' ]p(| 'B@zU1@'}|V\8]9"<7?ٯ#$,  Pʶa,f^\		$  m>"}_z#eé\ :zw@ppp$mB̠ U̿y<Ġ &X/<aUU	,IL"[U p_"K-#oU^T'}\U*"$q!|m!@0?"_P(sEd(< F(}3D|V(
<!U]'2!%(f5(= !rx(" k7_gp6nv~Z*%! @ Nu-(^E*% 'uqe
'| RX\\\Z9;(|$)]2'<c1jR=)|-)M '<!/(pprr')jYb؏"<X;?C  I+<&c* 	ch6`# \?6f~X\7P9
|	"jmS|((*:&*\  *8, Sn|	*bXb`|	HeE#??P!s|	5uВ\|	tN{|*wu7#|?	! `-,:|	Z	 0#!\ӡ4mP\*)}W >"<a{,]*}+nBX@(<LO:%	 (9[')SX^(
:U(|!Xp:(< 
y-:{m  w I (?9,<>vc3b#7=Ƹ#=/>   V(< 3@OY  B,<F( +<cݰMۗ}U_7	}.!nUWV'?^{!|_(|Q9 /'Q(B\U(B)=`}\@
*uU5'<T1HJ*~ z@*9*}ف]  $  ?? %{ 0Fe`  l(!	$0'3h/+9  0pP$t\= I \U5l``\
A	
M#'X\TV p3a$}I._'!?#_{*~_I|Xp'25Y(>
v$()>*|"WX(~]kO
UUX(} 2[U* 	[75nn#i"?'k !$"t!I5
/'.~(-
-'NF:^**(IJY(|E)(_](> y' '|#~(<rģ sSb/_@\{_XPP> <.< :c)jMaXU2h"&	մۜ%&"<@	M#|WsL @ 1Ii|	W_- >m| 	m_p6۴a! q#APVIR!~)J4|>"~ Y |B$<'5¶c;h 	 (_8^(|!	(?(+<_2S(b(~:)?:(|@8'X-: (?A4! UoZz\!<@X((B ?=!H6P!1G7E <IArx
'} ,>?A[8'= ,~ $,<o"H>`l&_oFn"<v!9]%*VT\'~{_{%U(O9 s9IpWo(W(=[
(<}@z' !!& %'>^,'~5hJ]UvR9o"#_&&'  Ag6j# (97  p 6#\ 
5]\p5#'"^	^* u"#|o޶ʴ
* g
|\`XJ x$%RTBK{,L@ .a[e']!2R (
0*!,WV\(|$!- |`"'=X!$x`xZ(A5%	*|/6be__jRBH\{$)$'|1&'|ӜUWT(|`+!(|]/%(!)|NnkA)6
O	(< Xð
7UU(W!|{	QA:; @"3M!$PZP_; |
I,jlB&-( II'
~Q4 6#<>(EUQO(\9#Ӳ#<QU
#>>Jz:\#<B!xL,~b,?= UUU>n֏"<%%3P#(B (<# (	(1)?:Xx(KQ2 W)p:x(>2!@' ׽!^%p(,)!|M n Ȁr'/ ނp`L&	B.  Cc)V](|*@֢`# &]@ \H(<?'o6'}!<]5"~T6!0!=t<|!u9p`'?'R]'~{ (= |0(~4]`_(> mk*=\!} `+> (~Ts\pm'> \!@A #!@`P H]s$  8|!Of|	 _'IL: \pA
Um   @p
|91&"=i w!h#h^h&d\X ^}!E3p,ذm۵"U\(||Ps6,Ɵ'#o.Eʼy&@B^h}%^Q _{X|a![] 	#*iJ* !p!~ߐ<|	!}&!ĴW\U"M"V,0Z|oq N(L{('|R'(}ӓ)"&6'|@Zjsի(<s(|N h'|#Ӕbhsɵ'|4 Is\(/\{?ii^^ !zdO|0ۘ#<)	ɜԶ|xJ 6bݡ¥PPRFb%֜	L$ |	WW;hhfmI䵾UУ>-I~b^9&M䴾VVHn%!@!UIv)IǉP|hO_V 7KDK]!"5 4U5#5 (s(>)'|>1)|l[/2)}P:Ue'|p:)p'S2) 1k' 1**jsWa`(|Ii-\a

>.< '~oc'<?㏾Ku('}tO@@9#?)QZ_'2ݿ+c,'}o 7 ?%k(l۶m7-lʏo"W	%'9"91*<~ /= y\!I% v(  @	'ز  \V,<  4 !?6j[ )0 S@  4?ql%1<~}!< @&|R"=z!Qb6hc1\
U'|!\¾$|fhHP!<P=b  U@
6d#.\=
%\$z+@$@(0B"#:  )hd+)|U+_(Ja+#|L!x)uO %(|\/bKL\0pV	0Ʉm}X]%  iJ|n;aӜ)JUUGh!</ ea!vKo(4Ts's"55='VsiRښ'|r-c *?p-c)< bHZ^_/u 5p's &PK$?
uE)]I!\Gu9I ,!?ZX^  >c6dG!D+2@\"^\Ra}@0A]^\MGi[IG!n'6!)<	>m`)> d~\*JDgA\2F|R $) oB!7@qr((tr"?*͔>)_c
|)U',v-:Mԛ>U Ҝ)Ɵ |h!|(=`ip(9 }{sPK	?8!Ir#k} "?4!4 #B''|^_r"1X( ^	a'< i s#'`S9$(..  - ɑ%<"<Foc8G	%ս91\`(3~V(1X	'<9d1*~~U%(<G^!v"}'!1+!b!5TUW  5%|(_cCJRs#<T} g1$|: }  i_PXTVcg'S$<8/!R@ NDI$&|WHMM l]X\. '    >.= 
-|,e0\}`"| -Uv,	 ]6*,~7`^- | )J*)- izoi۲f1WWW!|@yVC(b"*|~(`!t~(|) '@ W* @W{ 2FxV 4Y%kz?شmU 'msmkrmk,V X׽}cR_!|jBz(\Vnc*<W	|:l	N>O{"l-iw`\L 	;Ӷ9uݪ/vRb"0V?|-`C"L5\(< @)?y7P kg $<2*I|\PI+.< z	w'>'`*|׈+_==Y* dI+ ') ;| )? `6b*}o(^u\'! !!<B!ʌvt-U3rt1U#b~9*$$ U
!%FP!=ʖ|!"k1 |j  @.|#@"=5Va~	Kf".SQY ;@-}U = O)|$| *<  |:= +< 4(? )@ Vn\k!7Www%]w`|rW$|/ V (A00#^*^?+)<~/"z"\AU%)XU	̏Lض|( *<  h(\A ] a;oe!CC	o0(~ [ /(g] *^ UH_Sx
iUC/d	ֵaz% 8 %C\Unm|  twww*=@ /9@H 1W%jTO6jVG '< /_tGp #(+3JTTGG'<?/  'E3.$)<+&R| '('() }+0 =- +> 
!C%u|  7}%  =<\-= W "!{ G ||,> UU*> 1,= -? E)W@:Ucu9,59>fhB|#A\P!lu*}e-*>  ,> ms, |  <|2 *UU)> 2= '<k@)~ SIIU vI9x '	!ת J x܅\K+e),<\	+>   ,< ~ .?G)|~#.@7cG'~^(RX'<7L'< |w?(|!{)('"G(|@#GtDy%'| И %B("(15     '      < -9vna!`BBI%#U > Dm۽9&}*       ּ        <         <         <         <         <         <    q<    @    A  )          <        > AX,> U.< ݶmۆU> <> * <S VV,< UU I$IjT$L|V\3Z. +? (> ׽Y U.> M~	m$f
= )|  \\\"Ŷmc n_9W)jR ]]](= U F\ B u.1۱=R ( 4  Y @(> ,<1##^P1$!2 8> Y 5(?   X@ AAB  {6n:~c' ].<׽@ >		U0IJ_&`~mEb> -= 	 <{uT@ ,SQQ^K { xa \&5   xp8/r\J K$G&_	WR_*B DI-k	6bCU5K=h<mkp'4  Vp _}UX(~  ,~9X Bvnn#1%9` 8v!Vo$)%'22q
$E9B	 H|%$!U+WW; = 1!~_ |.> vi|)3SK
 `|1	]) PI~\HPk5 bzYݶ]ǻUZ@@*%@ .~a;'دpZ6n;G[)˯?.QN+t|O  TOHu]3]\\Op ?cg|}~	TP* <hlۏMa 0 S:o  ij/	|3 15\A_YYw!   GyڳD~bxZL+b$2s+p+;iA Ql^'-P@ @(> [SWCMtrK:S#_7(AB 9Q94s/=iJG]??\0f1*Xx_e)q IJDZUA>= |6\Ϲ%o|	hZ/}-4|	
fy:$|a
"|}O	T? !d ; ֵ(<)^\X׵)S_\aYƫVW'<2	P9\7@`lo>nou%o'eGWHMʴ"'} ,;ܳ}؏6,6b|uTU(~U-qֈRW\,BXBA	I|@)* *|``;6nT	u5%3]| X16Frr\	):}\ 
BLl  ^KA>Ta[c[tXB~|#=߀q~3(<W;j}ڏ~^  66iH!|\\00!	RtЀ{9obྏ{ 
)T(k.M  UVTT$PcC|m
Un : 1Zj^
M|	"	񤕹'|	u}G<|	fI*:|	(
$RB˔|	X|IҶ蟒 Z
 R   }$
TU(i +<pk x(|O:V]'<:+"֐B@ԕ]?JLLH>k(<J '| G68 @'> _U~QOBcpPP|UU5ɉ^ZT(BWUcX(
9%5/M۵|WA /9| 	J}+7%#?`Anm8I䣫 Ұ|ӝauB`# O$O$^;TZ%@@BAAp ^E)@(a[(	Av'= y!|05p( b 6}}ڗ}Xo!/U1)	):jj+\RX'<Q,'>γ|	T~۵+ M @ ZbH}m@y-a &ZbcyDX?Mҕ|	 ),|
 @ 4yVU 'H:T) oU]W p|;ue  *|l@F߶e[e0{}5']rFx/{(|s'R@ /( s[ݪP?v\@
y)<%-/..hkouu?6|r?v?_'g,E,|P "9's'(	iJXPc@'HBZ)}\\'%]۳e) 
 7t 	TkŽq`\	968]X}'Xf ٲm"</PXWW3P]
M  D]"~)a_|!{D5)\+%6, 6< ` 0v9"6 	 `d}ٰm  
ovnbTT|\e"oGZׇ2/?'X\U(< fqz Qo$?QB=oFIm!<CVTWV.~?S6c|oUU_PD|UUR#fI߇ÑT	 pSe!,R|	ZU<+_	pJ$/ m!>]	`*=\$~AKyQ({7.2^'|:2']'61_UV1.%?|(//.o6bu^AߥR'|?g \'< .`м)c0]'<P\CP6o;Y  '#9UV'9)>0)> rj@(*?"9BP%|H /	Fn,6d +	$TtmKU@U){e|} \TV`My  TT	+dέ\uU 7^U0&'!O7 {|ecI-6f<  %UU_SGW,} \,|"JTUUU.O!0K\FJ! 
$hb4{%)q'{d):'|{9
 '| `*иgq9t?Q=qE)Ӥ*|+WW*< t% ɑA|! !|dAx]') !(%vI* 	!) .<.<   Fn#b5U'11BͲ>	Ԝ
UM\B P   InJ !  E쐶IBmx'	|ٳ;*&%wSF\\TTXm'|;L'/B	I(< Ǔ'= SH'~ _6?!<[|s&>&0?6h"" z5/1U^ h|9U  | `W\Q\UUU O*vv- ]%ĝQ A-KVW/ :? )? ׽U/< > 1V? *= +> )J[ 
1X3^WB!`b_9!>_^`#&#1})~)o^) @ axWo0hh]^AP
k   qa_a?l!'!<dr $!kV("<<"?ga=|"4wqǷMu$ B0w:ZYExqUÁDn$evxz o2<	 *	 XU =
	 |  < o%"#D!|R$" < U(   <        <   <                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Q   V
Bm۶m     Z        Q   U        Q                                                                                                             ```_m   UVv&t   @(Cm۴\a %&&5m۶a=    &my]    m۶}    	6d#cjRԶ=8Ƨ9 #a+ೞ8IJ۰m<  /~             U             Utm۶m!  U             U             U@ I$I    P4Ӷm`$! @*ܶmE) Fnm۰  # I$IyATTTTavd~JAA m!<AA  I$I$QA
ζm6h    .mIJ U@¶mہ}    PC        4                                                 ,vfm  P``)ݳ=`Fh@+F|j TvIjS IHj  EFJB<綵      HB7c?<Qx```GiΏE)|@     ӝZ|PORDMۏmk!zXrNmI5A  Um[@rA  
*01;
A   'ۀ$$A  P I$  A  U
@$X        1v\x      mB'^_؇}ؚ  "cnyATTTT m
%mAA X0 0AA *ͳ}؏,cAȿ}9qX\      /HJmJ?HJ%&Km۰A                                                 Hm۶a;  ```-Yv<x֋R	CɟB&y  

@p- NI  HEILlM$M&iJX      (Bb [8      uR\b      yzp?0  NNjz6d۶a#b  WU-kb-  UH%o3A    9MBvA  hT (m۶A  ڕVPζe6c<{  %5      <N: 
z      .2VʟO\yC9?ncyATTTT	AA _AAA -i
,,cAUU(oY        yBKU$97D۶m                                                   Ͷcm  ` ݑ۶m  neU _Cm;  Vu)۶m۝  :%%  @   <  %U  Im]   b 3m۶m}    $Fn+aۚIJ\t  olZUU0bWU x$I$1_/-
 I$I$  U   >M#b۶maU   H`۶m  U   9NDj۶maU   =m۶m  U   6n;m۾bPP1OoC4=/&3ֵNkUImyD!n*.ն$
yATUUU7 lA	AA 44GAA s؄]QAFncm    m  V <ضm  j^          4                                                                                                                                                                                                                                                                                                 *Hb۶mAU     $I$AU     $I$AU   >m۶mA                                                                                                                                                                                                                                                                                                                                                                                                                                                                           @                                                                                                                                         I$IA   h        y   U                                                md+  h|8䶽=  **zbzm  p  .sZhXUѩOk~m1  W_ IM! ZUUem۰ͦ! UUmO@m޶?E)	b&ӔATTTTۀ,cAU	6 hJ ƶ؏þ                           vc4lxhX>羓$  b`*Xh  	
_0jRZw8kCUU(mA__k `$AUUU &!<mAUU 0caMT9{0յKnnC2ӔATTUUcT,cAUUiFb۾!P?؅m۝  
                                                                                                                                                 .GHb۶mAU   G $I$A                                            Nm۶a#  `m2Fj  ms  Vm۶A6   CWm6!  mۄ-A @XZ    }    m۲  	cm{p  
y/mJ  8omcW  ömAWW  #mA  16`AZ_P YNamA *۶m{	    @   I$  *߶Bd   zz &-hb! @ii@۾   ))      GGATCGVA   


JGGATCXAM   GGATGALF      GGATSFFO@      8  Y       
 E                                                                                                                    ϶mcA  U M۟VZJ        |           @ I$I!MU    Џb   "?j  m۰ T           @o!$m# _6' O l+> i(= O o#~&'       =6bޏ  !  @ .<  ؿb  [_       =\   y "~?e0a'>(> ,  < _*< ߰'= #}@       |@!|Y`#<"3?/?	` \#ZO$	UUV           @`!>v'~  +|? < ??+|@ہ      /|$|>?>< }؟"?VV^Z           !<m!H` l??< 0@)= #>@}      <\n"  ?.< 0ߏ?"?^Zjz      ܜ     %|d!2 ?=< @??'|$      <߶an"<>~ | ?_^|zzjj Pr "|B!{?       A M  @߶e;6nB"!Eu ="|"mc\TU?o
8v] ?1 c_
 YΝ	T  |ۇ      $Ώd !  0.< _ځ]"PPX?!<m[AU! |}tP  WVV       @ @   vc$V%#=Q]] |=#" e)#%Uo۶m$DQ!> |o$<@yeߕ | <@ڏ       o$~ @? ?"|A_ H"z VB0 A@^hX~ <B߰=۱#>ATT        ? A  o9  QY]Y <}?|uuEU ?o|W\UU ??!<!Ȧ      `ab}~ ??$Y  "\#>p\PXTTU@pF|}  p pT@            o9  YQQQ <=?}ڗ} GFb76c3~QU ?߿ÿ"EUUU  4L	     /  ">}c$<} 0` D~?!|"~_g$<" ,۳&        ? @  0ou  ]]Y ?0ه}]UQ @<=@ovnn |.> 0!B}  64	     % BZ@|> ?-? @D#= ! BA]۲ 0">G;x      |    o6o6!>}uu(@ ! I@@H  |/!|%!|e      |< iFn#<ե O? P= 0O  @ | 6h4f$ G*߄|VZj      |\    6n;i=E'>=?}؇ H>}@`+vn6<.< &      }O $`H@=O o< @A 9@&ƕs +<@  '|TVZj        R  mk]T ~?_5 I?!B6o 	?ӿ{#=CE      d||!}@~ -<   '"`XP vo}9t <DEj!3ؼE       0B#5C ~7 ^b$vc3e??_ M?!|!o6</}B$IJ_]QQ.=#<*
 #0#UO      4> v֏#@ Ǽ?%  =0%=GB$<G@ ' /"<A_      4<    P϶g#eqUWbT@ *  ' 6nc1|??<?@@_$?~U0"_?$=K_~	 d0oo ?CM i' #'= ߼#"@~7BSMu      @ `$<U@~ p| \?q&? x ?.  g%  ?<0ϳ}؏        ~$]?|<_o IdI$bU7 ,? p@F 	<p?1  YEU 	?o H$M' =!p?|      %>x! $> A$~ }!|GL!PTo%~A ?. @!=!<}@ YBQ'۱}$~WZ      |    !dIR$%(   h 5 A 7<?*?! 	|>?|B}~ BQ/<B   U  IH  = G Mk_	      <!|	nb   ?o&!ȅ~^WA|=@^"C%%% P<?"~Io!%`A4        @ };_<?7? ?$~> <.??G|h ȏH 6 _I*<  ?#"}E@      !an"5~ ~#A*| P#~[!9!UU__
þjz 6^bGL%% a!3@       |0@c;c /?8?@ o <-> 0'>?.< ?!=AD!JAZ#?     #}up!~1 o= 0> ۶%|[U `n##~ > wG_o;!?/b#% `? ,-ہ$~WR       |%|;'| 0:>0?-?o6o# </<ځ]>Vb%Vb7?? e)#|*U @ac; 	0CՕ       |!8 *8XQ0@?\A A{%}zJ |z@c{a!\U,xU%~!        | 	!c_6? o|UW]q@!cM~EUYVp I#'_('AA!	?+_<~UUuQ  %(<ovn#u/<\p|	uEY @cm) }|#     !|e#6w@~ 9!X `c U~$(<@UVZ ~zSoF?     <    b';`"[?";' ؅mAO%>?Ӝ@?a/*@c?Fc)<>?)l~B"@ <Ohh|}]/%@u.  G!}h' ~!&'<S
$A_?سm_MQT'      ֶg#$|C @ <|فM#>|XX	:^o!||	\!}z;j\ ;voc{| p.|]۟J     |   1 0#C@DB$ 7< -      =@@$~  ?4 ?mM%>-!>@  TUP%<]"}<!?@!~$| ߴ}ا$VZ* ;	@!>Gt\\"(`       /@H  >< !H       ,gFn"?  ?$ "\"4?p@!8
?II|-.   o/%UUo'<@P%WZj |  |K b      Bm0~6'} @^X'@`^(x~'> _}'@9      ?Pr 1`ȍ%c͈@
'      Q<@AT#|sľ`H"|:@~ = &'? #???7? P&L#ZV < 6o;%>@%>@;  '"<=VW_ x !I!@ <@د~-W[       #}a'1Ym(7 ƚv /9 +|σ)!|d)|~ @  _?@im,'|
_b(
1)<`# G0?)|*<mۄG'|    A@p@~%< F =ϸ?%}t`|!~??, X
0P'+jZZ0/\$ !1 {mzj/ Cvn 	%%_	I$]o}O  L$H& w<TX    :    a'<8 e)1 ><? ?=  @߰)}3_"   ??"L6@ K|L ??*@ !H@H'    !|@b4f$"9&>~K@[&>"uS)X)> %>!>:d?ؓ$!\/|?-= !|	 PT#??$=!~c1\}-U@@`)8.=o%|9&%9T} A(| "<G!}z_ @
|G    Ӷa'= !? +|q = ,|@ ߰}(<v' @  ?#>|g*L     !|@!8a"9 =o#6*>? '>=>%}>!>?~ > = /$~A!?#=jVU->@[o#?B ('R 6*>B
Y @ pZ/>@!|^b$A$=: |`vnn@ <J@ߵ?    0%|(<"q'q6 Z~v 5CU-`/U
J-k]+!܏ ^Z](\U÷bnz&P ???+} "~ <;$?'=$~)	''|CBe¿c  0a* |3 ?p-|!?a/A M=? ^]=O}y~?U~k'eTU^5A\F^cWUCo0DU O|@_!	 @)Mr>   4 ; .< #?|_&;?x|A 3=?$:%???S)[TU}N] U; $=  .  Fn6o#@ ?r$H'|?4">Ad@^e5!s|_|9k3'<@  )"i# ~>z@!36n"@@'|9!P      `#~E)E"qc(-X [~_#=U#05[#m[|KT?Q
(~W!6H~~^"=3B2"?(~P#}Y!}3+\!>~p%^$T\To"<3bv_^U&|@'T @s.2' 	@o}Mm ^6(9H(|~(B@N?6b  ȶm |?.6(> F K=?B$~?M!KʰMVU PV|!}+]~-h%UQU߶%&DBP?BPL,|(<KodXg|iVn@UWql eiX @.?)#΄t'<   < vqø&{!~0r$&?{{?H'|?~?,&<<#>$$>>PUUU+?IR(}>2	@!>*@\'` J|6n;i{ |ߧtڏ|__S6(A}y%! %\~	X\%}G{Y="Gto H|-U@}@         Y}` 7@vP@$nq%~uMk\ /-~@5O0ٶm#}MT"F$?>}WA8a@ /= _'z ρ":[ t o#3  q\!<3Fn[$sq'u (| ' X{$=)~+~; ,_)|wޑ WP-=.=XJ@su!'iU5YT@WӜ$j ~@
pvn@UA #WTu  },= G+X@Wfy*>i- ;?$QU5!?r'#<5KT%|U q,    `ab$@~? #'N$!9+&"}T$>P/7|>m0%z$[2
 vrh %|%|XUk|YBYP$?? V![}P\F^#%Up$=G-ܽ@"D   ]	 ;%?@M_      0~5`$|u\!po0%W]!~.dU__WI`#>oU #UPUo S|m6|TuU #>t$<= 0}4!\{F':F  ߕ? !sB\"|S	o (<?<}(=_ rCb@6 m<-9߲] 8<#A6h(>  K<$~gkUMLضi}e^kp B
_vJI'}K$O&| !b!~#,c%|K >b۰}\!<la"@c !\$R>]&~+U!~ÓޑU/|$18!S   t|?/  #>L xΏ|} b|3?/p%y!<@'O 0${@ރ˾U!4#>| <0@=!\!=b}oT))TXw ,}?`P?F*<\?|	jj?߯o%<A	d#X` <P @@ @ < QwG     }#(T-]  -!Y=umۂ0_ ;6b;i%~&~|Z 5|!}'|pڲm'#ȟ (6"|I#<#!_ x  6hB& '<0?@'g,mۡ)|}I(B!;Cy0@(=p==@ 0|m^(=p ><%Jc\Y%?z]V_%}gUBPCkۦQEUk  ,|Ag{$<k o6o, ;#  R7K7-#(<CPXC+? +<g%Q!O#|3|7   1 nޏ$ `}Ss_%?۶#V
"^m#$~@`?+ꮪTg&`'|4s§A<M%/__!]vnbn/=&<6w??}U!}v@ 0+mc\}U!!|?$|\BBz?|"@\?A0|_V |y3gp;    0)<z]*|*@} Gp"~UE] "g"?1Ta!<RA?|/OOm)<!4e'}&M$ '\??|f1#?Q!]}/~WT@o]cT ! _D#=-!4!?|"!'|"^n g| ? _.O(<8  J}o#J~_E gٰm~5[!|"`(|FK' e "}U@T&>@A %M@߄~WSE]Y!)O C@oc' %| ,?GǏ7|!|ek(| h} _%JSU%s  #!(On >$Q'| N2o-#UT@_PP!>!L/ '"C!>}!
Z% ^^a/}Z L0 |. %]E+ A¿FSM$ 1۵$~8V  8`|  _ ? w<@@oΏ3IWj    |!'`)ȫ  g* \"<UEU .m @,@- 0,?`b&|",0l*|bc'<"}v,)z`h+<9#$?U m6j4|"u5D P@*A ' !e'$D 3<  @< "}\g7mS`vna[CJ  <	  #E\	o+1ے"|!|"+>GW  @
?m\c">Eۙ@o 	*<`c*?.?!l3.C3n*<P M ? P!@\'D  @@vo%}4 r|4pۇ}Z6l!|o&}>
;z'>so%}<>_'01|"}}^ o, B<!R'<F&=A-|$P !,@!}AA|	PPXP@n%Fb'|	?!} X<@I$ L AϞ5RZ   A  .'@  ,`A>XQ ?|p4(?>>0%9#<jp06*` 2Bn)M' *<0Fc, B(-u(|m(F0  +"#]'ρ+!C"!_q'6#K  = oB9@9Iʄ$<KmSU ,K0g'@ (=CI;E@
"li!A '$^bI_UTqf!  +!?lÂܕ@_+!=P;&!@W\`+I+|!*|  Sg(Q(o, WP#?UEgذ@  @  \c@;,<y `=2A'}69/}ܿ!Ѷn @] W < =۵#CTW0 o"(@ ?_~Tb#c(  ߴ ;Wop 0 6!=K J >= 0@H@H   B `oC)< _5*8!<*p!Μ,>l3)? !m*,b ?'; _;<-<!=1g@s0o*<EB$\QUU;**}  b"F(? -u?;'8  &\|aX&>s  v?@> L#\'|U@*$<(:!=f'< o6b(} (0 ~<e!~p"Ѱ !B!%}!ʏP = UBBU=0@="=?Q >0`c"Qu'cM_+\/?GX!=V=}O7)}0"QPc'< #?h(|^)a( B'B ]Ro xQ B !2xBP~:j$| 
 +>_#~~#\	% =@%<V' #~ѐ$*~ +~A!?}#|VWVR.<^b%Fb7@(D!?8#!RA\ < ~OoDG5R*>@%@p϶aޟ |? ߏ
Zj\5    
 	@m',@6s w"\(}!{6))AoX >0+5\Uu	 )5   _'A?_,<\#v  EQߪ8,?1$y  C U%]Vmv5` H.!|*+)|HMb4$>UE8 ?Ï=(<
_I(|<϶)}ҟ!}0+6+?~`*? @`I+t%;} q##AYUK;B=WQ @ -k M UQuU=@   !/= ]=$=&T ?`c"]}_g0|@@}؏$<ZZ^? `|B'  R:"BO$<R|b[$#|I$j% O!1ħ^B.o6b?8ϳM۱}~	VT  DCHÇ p'}@] @CQ_X&=  |    	.=!]#2UT @x(m[(0ua&|uSm2< $~m % ^)'P?,"*?	;o!?U!@&|BBTW(?~5	~ -(|8< @,< !4X  !1"e)%? 
I'o">Xb*>)	^Q(=x}(<yym60{RC~0#~">_!+k!Ȼ#H?,PP |P ( Y" /e|u AN_@N&U]@!?   *Џti_Z$"=9XJ8$X@! M#N$  "4	*3I³k":#~0|<~9_o	%|D|"}D@_0D@(AZB !q­  @=BVZ   *     ɑ,|6d$rDo# (1#a$TU~`+?(|@ ](|RV(oFT9 4"~v',$~5I\4e"|By^0C~u\U>1`}!@&}P"=5~#<s"}/CoT~T=0"!<mF U"<%?<!|>9<"}@)| }  = p  #!|,@_@"| `^M(=_AI)|@>>  _m#U]Q01+}6&)P,},| +|@=(@ I04Ns  %qUc?#vu1U&<%$/"?SmUXU m     `n$L$`ϸڱ9@PV >_6%#?3V$I}+;@}j@ vn6   <"$| @}|-P@@`@oH|>  V?|PA@  < W@       I'A 	+Q@B8B5S?!~%[ v|AU(=?Q "; >(>'A#/$0$5a\'R  v8@`!~b ->ým!<W]U-A¯o#^1p$! 5<')=@&(?  8<A@_   y!<g;6n#~ P}v ï~zZZ }p\\1P "?	 $ * E &? @@ '?"=v)>  O! Vy4U !=M#}]p"??? !!k}@  <     [Á ,c{?Xc"2UUU"<`n(B~ U#~`'= o"~n`n">߇nP> &-TmCzF ;}!+A'?@v!~xV  |? ?(||po '!A!=gYe$?O'%|Q oaQe\Q") 2N  +<])~@ɗK&|~Oϼ0$|~'|#(}o＇'|   }   "v?h?_}؇PX gζa+V;IЙ9$1Pt6<!|?`@@!vn (?/=&p~TT0  ߟد@	Z^ZWo|	>}xCo!dI#T&Y  ? SA'~CUW     n  voP<'? &$?0&}\1?_#=(w^	)=O^i(8 -?#q@   = 0A>!ͤ)"C   	}5U z)!~@|!zV A. z!<Mz!>iJ &|@N?!qϗ   z<> ?  @tP$6h4ϧ"%?@ &ζg/F&$? .9Q~**] @ >>Cڟ}' !<FoO  _!~!=+D^Y5_5F V` Z@> !b     ?` B2)<  2>`8*<  $f|eqYY/<!~?gA? /b*&/)t %CU6??@`-`CFc[ (!!p \QN/ 7@;"MUM ۰%|WTU`6bB=bA$<UUH`/!~AAR  @ >  i! W	8"#<"/ o}t{6b3 E
d!@ |<۴T@ P?@  _@	VZ^B.  |      `!f@	\TVW  w?oc*9 b(;#@ <?:(-~   ]ۗ$><]E/> 8 >!?7`]*$='}_~%K?^GBS$>J8    B @#}y·0p_"|z[_ _MFk6h#r+ ?oj O v <7oχBtXW @  =W       GW!t0-|   .9 k*| ">Xc` |= @< !u h -< ocAw/">lu |<oFn  #E    T= `}"|9s s  G`P"A "]B?}[B v$<  @ ? VX`o6n;   >@ F`G@ O	        . 4eEE O?/-v|eQY\BU@l´}BEVS?=/ "<?Uf(ŏ    w   Zg;%9  o>@PQx  B0`Sc$|p` ^> "|[(>@@p$<7!VZc"<[%  <@P         	h "?EE a?"}#[|Ɵ ;B; M ~> ;ß=#>e    ԼO
 " <0 .=@0[L}#H !{? @#~{`X;L!WEz_  ?|cC[_ ^`C|#Zk=@BAY@H%%<E@  2|Á"W_o   C:$'|1^$@k = oۚ^TT   M o?.  v`CF@~   <   vn >u _!s? <@qc6n$~D) ":0%ɑ\=UU@^|1@_@"ڂo!?A ^A AE/|Fb/k[@  }   &3'<  |3 H$J Z    w?     C @@y |0>>@@`n$~D%% a  ">">_ߗ |ZWWU"~
&$>@b"}r@|Ba;$> <7?ǜ%jzj 6c@ T
V_  %UR$<  2=          ? P!~y .?@`o6= ? ?% g"S &\'o϶a{k;  ={ @ I$O$%TM&Fc|_o  ?	@_b}@   Q       3?@FbA ? #~5   _"|,    o $? |0_~#}9;"&0%? )\ذ(?0-pv$=;88@7!^!?!~aLT vZo
. < !}Mb|q       ?oBm#?"? 1>  @ P}5A _܍    
?@@;!9 |Z B&?!|ڱ#jZW 6b#|;  Z|%RZz@@@Z  Y__ !I   }@n +? I8< ?A@ߴM#?]-    > ](< @ F?U o]|$?VU  ,~ ^I'=      6 P(} | @|:!|+z^^. g#Fc < \ !^*`n%?0!r6-<7[6o#e#|U  I?"Ü_ #>F <     /<     <   `|   < / C;c | 0< #&
('&=T
PB@!)oAy@C@$<v&7!9vo@ | 1}ڇ}_PPXgv =FV        ?!0)|"   q @ "<.!?  !3	ځ]CXV%<%=:m^σ۴-$zVVPo  ? ߴO$ķ "_\[!@J #FP1 @ I =TV0K0wn}3@        ?"??   ?!J ! _  ?IO!>g"|?WU !t9!$zj&|@10A  $|y@@ovo#<!{@7 !]ɜ~1U[w@}	 ?< Oa>p Goc }\%<   [|      ?$><|  ݀   ?0#?z!#`>!<:ek#  'jj/<0FnC/ H?"=@B4_M$  ??ا}ٜ[@  <n;ac"<P2H8  y       AUUM"AS   Q O  oc%?  ? +`PV/ @z 0'߶MBwJ*C T@ ";_o9  o6b[$> }p@  j@@ ,c_MU5US$    >  `XUZ  |E}o%yT\B  "@#"|z ?|"|!$
	?% O%Uh ?@_ !<QYE5   TH> L ?g$  
ϧ$>z^W.U%	 G.5&<@TRZj6o*}y@~  "=@]!H@/VZJ #F |     r  `ȏH _@A?| G|ّQ@ .8&} 
 {  VQUU  H< < (q$= #^|UTSE P   o$? 0 !|Td	$>yH*<Pm;6o@?U  1?>= ,~@@Ü1v |y0V ; Gp!?o L b     r   ~?0vnn G"=||YYIM oa'<#e H|:| n"|C?'|  x   `ce$U (<PXT"|BEc|)@   ??&?bC!<W7o|!۱v |y Fc+g#<AU A0%|J   C|       @ G|O??|MEee x 6b",'|6jӜ^^"|*=| |@@'?C0)= P"c(| B   i@  C =#?@XTT#O?ޏ9A#W%~@ X@3o :Mہ@:=Xy  p~1k%\3%|y$?UU"Z@ A/{R9  o6b[~=% <!=*         ~?-" ".P}% 5W|/<k@@B-/!<xU"|goU Ä P+< P)< -'> @! (A_
'   A0B#t <_?&|/@`!<Se!.c_ @PΏB  B!ZAz@  !<mvb$!~۳%uUV/~!36b{~ +L'E`!rvnsߟ        .)o ?!$<>!=e]!=|}|Q _"e'<D H ? *< 0o*Ao,A0߶*<B+|$>t'%|H `|    o$ }z&Oߗ|!ZWWU ?6hB?`f}] ? @@PT`߶g;6B Zy.> ot@c{@TT!}G&|!?}5U 6To  2|pߏ . |!|Son$>@ (V        N? : ?b#i[ G@_|]Eu<  6b' G| < ؏$|HH   5n$s%A4 3o`PX! P??? @ Џ@  A?4_?|9!{j !c@U.<8"u%<A7 s|R  80 @5jj 1oiHUP"  w<@.0p$%     >  P?J  ?. @#o 8Mk$>P %#7UVSY p<` G< <   H   ?6o6n;#}t% ¼ ">?0> @ xV @!<{cB? 3 ? @#} @-y !o#|9". P\$z#<Az  3@@WR 1;P|M %!#bo w        ?vnk G !?$ Mu0}`w@  G|   ?0Aa4U s ;| @?)ٳXTA? !D ¿  <!t@P`P@@!7@0=,^y ?< ]%<S@"(|6h@"#H   v      ?/!ro` ߱}_WYM=#|@    ?/ A9 9C2``X n96bU`H"0  h?<9\; _9ہ RJ     $UU`  h D  ?@}!B?!2@6j  U
 G~@p0]Y  d      ?@ @ 8}$>mså߶=@$}Y=!=i'0%< G<   q?Q#} ;A?IB?c$qȄ"?  Cw @GI|=%~_,~?n?	% 9HVW_ `{`-< o,%@!x@QL`BB$I '<I$Á_      ?/</^b36j`<7@  e%% }%<  "/o$oUQ   ?@QcɀӚ&- '$XV"?a; ֏B?  ? |y"<9!xy~I*4@@O~'#|:(V   ^w&FR ?)@#dcn"\O5 !@_Kb$@Uu@cU"?AXn۽S!|m@L[__U  $4      ?.  "{aU\"?,Lb$W YT6<$?<U5??ذmIRT /<Co{q   ?-=*@@rvMA?P/0n"?$  H P<?#=#4VV`hb+%40&|@]c$|C@?̋.|	8}!      K<    ?>   c۶$>!/o|"; \o	a~
]?% }T\  o#%\#^#B"=D\   -  oo	A?-3`ab#|w_wL#pnV<۶e#<ZV  i< ? |;VWR^ 8Okg#?)Upۇ-&|]Po6nz%  ?ؗ=PPP =Lb&Fc~ 	  @     5<    ?    0%(R$t`Mb4a~TQ"
\   ?!< =o@Aÿ.|.|?Nٰm["<_U .p߀@"0  xؿ%?<P$$ H%/<.@@!~o MyBM?"_%K}V ^ M&>@ <@B@    <Ôm#n"'}  v g    ?YD!"q_ UT@o~ >  a}B gUT!@\Mb0U~Wq   a?/% p @~P	CV?|#<0{Z^ @n$L$  O??9zj9P t 7_)DL$)|̾CRj/~	6!>gUxy  #| 9~_۲'|8@806o}!|#|"W@     # !^'U)T1. +@ ' _ < N?!}*!*8 ?$<K%=|B2hH}VUB-$|.<A/*|b oG <	o,%@W a[Ӝ%z#sjR U<  ?Fn6b@^	&}so%|s#<Bb  F&af?@'}T@!>g73 p  P_Z?4/t!%J$nb&K!K$}% @A]GEURJ@o$}< `?	0BPUi	C/@!Z    }gFn 7. B_  O$ ?@%|m%<vn|eY\W  ,K ]۟ >O$<"=@A*?!]!~IW"|!%c$~UwU'B @؟}  ?.|J@1 W> #1PXTV  (X0@~\aӿ¿@X/|oί "}@C.=!|@ 8>?pv? 6@!A@ }T,J 0vB{U^n݅ @     c@! - < -|@Mۇ  0    O?lb["uY @z 'V $ 0'>¡Uo!*!~7?6*U0%AU"SS H o  B< s`cί(?>o-CTVTg  h 	 O$KVWV`vnnǥ )@IMVP@\e">}zCMpj 9 '| ? o/%@U$hb  (@      p1PtT   N?\û#?M }"| !-$~-Y!aWUh|"    */ 4P  ^; ? 4/6nvn6  м?.< ߰-۴$;V W@	"<x96	|!{ 8| |,o#^o	UoA 1<A @=    , `Y`;< O~4} @` ?|C? IQR @߶noz  eeqQ `|_(<   I@Ulo@0?BPP. ?  ¼=< 0}"<$?RZ߶c;g#9 2~ |>@о!Zj oo   t(Fo&@%@h%U0oC<#5      8!|i;6n'@o p%IJ$=Ǆ F(<O'ovn; '<@|%ISp N0@XW|= mJ ]\TT o_' <   1  B1Lt#~	hB1?u
$<wZZVV)UՕ 5  P> ?!cC	XP#?AH@<9|y0p _ $}ğm#}\l%}A@#    #   4@%'8  n=4!|z  jޏ7}I'w$(|   5? A H$I~  TT\ʟ8= $UU@%~z{ H$L$5\!@ pK_}٧    @  @  8}ϸ=۰$.|!<cn  ڀ)	/@$HZZH W      } X>< A!|@ !`!#<!)@' "?@I(=@!1(|x _|	U%I ۶m~PT"6bȟ ~@!]!H|@ AK;!)$c u?oُ    <?. @Atm҂&?"/	   <|7I ! @@@ O?%~^`?6be"A`-&     #<   Fb%^b& o<4!??5  " '>"=(,<@muS@&6j4n@  ?0  uu  P 
 
 |*$!$m o    P?. 0Fe#Up0 ~?}	j@ /|%=!!:An|``#= b=A"j5 ?!_{c; (P&>0!`g/<_ZV %<!|B }\!|@6j 
%U?|GHY@    ʀ} @ y?	:?´!| ?F%f 8|E @eƟ 9<\	 @9  Օ `oaa;$? {??    k| #5~U#Dq!t?}&6@"=iU br@!ٰ$["XaB}/T  Kb46A6% | ?? }&}gGXG ?Cٟ;[&R 2$=> @<B@N|U?"oF~}%|    } O   h '<  ~~4A:!qE y|*c  !$! &, w|???   C@ 1@-<@=|_o} wZ^^Z`7i 7_3@6 "	]1Za;6o#?  <Zj0o+a!@\< 'o#> ?H|MXPTT@o6 @.}%?T%~?P\;@ wx?c&}/1 SbcOc <    } _  oo ~:?4!?{ ?@W |>< ?v <+? ?_!?   D@  ?  n#%=s!s@#=&v!6!!Ȁ|zj^.o6bc T
Po&?^V"<v!?6bApAp,$}(P  >< }ø'	ߏزCXVW/"@oA^AI?%>  %O@@} $!xXx?'@(\!0o,]|I
5  ^_'>TV    . }    |:_ H$J R\ ?^6n; |?!}*/uuE !;!mҔ _o"    ?. !=%=%!1?ˆ$|1JkQU` .`BM/"<z   $80|L ɛɟLՕ>y )س%|8^| c ^> @Ayj
Cyf!b[@0i!p\!&~	 ?|5! {vocEE_        ey8t$"yVTTW yo-gP & AUQ \% ? @    c#=_#8> 6h#6n"BϏ!/}CD C@ P@.< c$<yƸ5W&<-؄WWV?o&>_C;      ;      ? 1"V  Fng~&< w ׏"(E | ?    ?0%B%@Ώ"}"|7xp% <
oo   A B@tzjj0.|!V`~U!} |  ?A5"   9ȏ	؇}|;\^\X @!@$=!>&<    \   i ! ?ϰM">e)^TU ?  @)' ^<@?ׇ]zdc{Ӝ ?    0 @? #9'IɐU%??ۏ@P
@o%}q?tn5? <> ~#O'uV}ز G0|o%|/"F@  o&>@!ؾPP       Y z 9\!@[X#"} 2>  #}U9 _؁ئ1 I|"}P]o [    ȏ@ ??.  -|o)=T)< ' @uE  :!='< -/~	@'    *x.;XӕB~5!7P!=T*u, !~?&) @=n^"?&| '7PV gc##SL#?	صM۟	TTV  	MbH4\15_Rb5U\Pc'}A"<X(A#A$#|Fb	$'<>.< $a V '=">`S_) AGAî\
\oOP%~DU9|06o6n;" Z??@ Zjjz}QN!z nk@  WQ!}Q^'_WT?@B`B @Q}!U]S0]]WZ\/tZ%i       E _   $<$~QQXE y 	j b! "?!> h     I p;$~2!կ%|3"8?P!%=;uIn* s$|g&;PU&8!BQ0q/l{Y b\	"?\ o!  		%o߰z  P	 ,}IBc ?|5``@X K |Ao>lOE
Mn]OO#B>A>o}WW V__['
\_"|ED ߙHqO'TR    J   Y    C?#y|$QUUU  P    ?%5@/!5ޏA{ Y×#<3jZ_mk's-=s}(|% g I'|~"< ؟ `8`g#vcG  ^ @(A\[$U@-< e!ov/#ipz     /      @?&9` $9    ?`"{m#BU$:] <  6nv>@Em%5`nο#2dI <aa$	Av*T ="6 0%|Aa  am
" !!'=  '< C;	Օ08/   /> 0CG""I ߧش-ZWW. s(~!,} ARP#?JK, '!6`a;!@c۶\\i  `$ "~M_!  0]'~ |VRZ* <&Cܱ     |      t? o">.   @w>< ۰uTþ$|!-|s ={F} $"y?@  = @*<	 ߂M[CQVJ#@IIP_Yx?Y"uP` 8|   j   9   Y        t?  9@    .@"<wW &51AA9V?P
Ux @  @< {DIU @'@0߳WS}Y     ?%<%F   :   X    H? '| (9    ?	">u  A}]'  @  @> !0)~ܳA§>@O>#̦  !        ?    ?, |+0mg$   a?>< 0M۱}AWDH !y][0|"  #|      $? 6fvn' @I+ => '< ` <  
6`F+=-   = 	 <)BE( 1< ?6<@ " ?!(~ *|=  ,    ?.4AgAj\A%   < P?WZ#F&L "  3
      %@H  =#|`&>6xA_<~ >	 ?,-|( -    ?     <         ?   ?CvV luov$f1U?C1o<_W y".< S2co 	6` 5. ?o~p' ?, /5Z@]U.= }}U#
  }?)O{  )Mn`9I&@701>>> @/P ~y7 >_}P7_~E b'
 }l[}e o;o[%b 3? <?+@n? ~Qd'0%oU        ?    2?"??I%? x@:3 ;@o ;/=-}~PP)`)_ Ko@/ @$H 6`6<6  c  <!|>$Vb3$3>| %\/	8B@/ 8ϱ]۲WV caXB  =>  FnAB<$C6>K ;}RA @C  }; / $'IB   -<o6b[|	        ?    "??}ر]#=2X 5K$}8߶ @ `b,Ǡ"r ?$ !-R_MI5!!4' @| ?? ܓ~ ? $|U_߶\vUVB@e ?.= ]·U\)=TV
|	>?9!<DC]= @|?= Pz?@!}5 &y= 06C>?_}\A||!:+Z o6o}\ o?@ؖ@}; ?  t9=?$o#IU^^BS!J  T	 7$~        ?    ?=۰&|tVVo$<7%<=C|Br&=4)|<2 >?<<>_}د؟R^^. )< n? ܣ!>1	o߇Z  0* ? ?ߵo})WT[%A2.?>h 6o|	 ?;>> |\ @`vn6n}% r? |?=@?j0Doo 8      $?@bm(#$+@#<>  g) Oo$ 
<!D* -  | < @9< </) c >`,    ? <3  <- ?0_$:^^0>p!? ?7\X0 ,<6  ?]))!z9V!<@ ?!}H~jZ\C" #<yUo I$L&=VV0vnn< /?/J|~ @( ?o?6?       ?`"?a$MkU"-  <  'p'R   b$Q  eeeEU < 6ɚ$   V   o?ϙ ' a6= 3 7<= ? 	1+$O$~UII  ??!:V0`!0S@ ?9'}!ǳ'U ~"<!9 ?$%?U\D-=  C? ;/<CصM'TTV@i;oY;%Z\5@` ? @"~( 6</= } ?BJS0!=GSj^^V/x            u   o??$  + > @$|n$| @?@"||$<>38>?&~ 8#ªZBC H|'|Q cvn" ?!69D&$""[
G 	G@)|	 #$80O$<\+b3vc#=@ ک%~ZE!$K$ ?  -|F@ So6|}    @@=  < }<    	%+ -|	 ~< !(@     n??_,:.$:D""<.UTWW ?! M$::VV@6nc{$ p .??5==&~({P$>CU!z3@;|>?:C:U \]-UDY߼ .PA{@C7.< ^ ;??$~0|@Fb%f&i0!=?8< o"|D ?_U$ Y~!Us?}$| 	 ܝ @]_=!SZZ %|F|B@!?     @5=x@9    E
 O< B      < A<X$=@A<A< ?G? > _ ??@`PX. !rKb#PC! DI  /Vb$vc3@~  @@ %}F/+o3        ?    "? P    >3! 9?!>0_}	z2=0#=0}		2<0=<>P` @  ??}%=V@% .= 0C~V 6@o#>3 /?e%?Um@ &?% @ @) @$!Dр%             $?@A4 VVZ` =C8o 2Z $@k;6n$>88 =<0 6oc|_o.Fn[$?q?rA5>!<Pa[i#}8+A ?0;HF'??tH>= p07 $MVUO?=~ۇVDIBCUUL ? B A`nvn}} ?$UZ >== [`>?J$JIB==?Gw8R#~VP1| :<     ?@vn ~< ,@    !?&X = /     N? y?"_ ,<t7@> Fc&K$|	G *=0T.|&~3  | "9 VZ y A<-| ?  < ?0  >0?6o6"==??<~ߧڏ @9.?@I`&<L`b?mP^SkUΏA2|-?  } x =$<~/o0N ?<           R   N?.< _%==Z@>)$? yml @}}@7#?0`t#? @x0?%4jj\	Oo0 A?2X1A|[_ۀU6"x"1 |?'} "0I!2 (r?>O8I \3|'L"?/ = @= G0 P y @o,<	.=o9|;< U aU]e1G=@ȔH  e~[[ #?(~ =< |"?	 :o R%}[!!I(        ?      ^?     <         ?   R          ?                  ?                  ?          `^%Fb$?      d?߿\I@XT                                                                                    O      >    M @         <       D< m۶a;A  UU$_۾VR     c|, I$Il~6,> $$    
|@6n| $_ !      T!1{F|F| 6< 鐤 '< =/    !.-|!@ ?\ J}       3׶an'>;| ?  *< L۶Mۇ   }"~Le#$<_|  ).< 0}ڏ}~  .~T~Ui     4UUTW.{ ?f1\u]$O	JbTlnc\~h_V\Q.>D    |_ob_?hvM۰m[}V  a+#`89}j@      XpB_WVT.H}۱]]QUU><6o6bduUEU.<Ǧ1#U   <g#v>.< 4ß"~@8b]	1@lH"@       dX/-۰-~WT c[a6=`0!?   0"]g#|U 0 .? Ȕf   \? ?;a"a_}#     ^b$vc/-k  YQu/S =!<[i;6!0s})J#rQ   %<%}@v%H$"|_  < فM|!x 0~!so$,8? !|%!    c|#~c$~U!|R{]\06n;yXbvE  .ϰ=+51}=uOSn6h!?s#_	VTW	U|5U@`$>1}	V   r~ ᥩ OH!s"?!p H]o 3?vnoB\?<"|#ZZj    boB/<0ڏ">  'H[p%|R'|(@L"> H6ne%<Օr\6~ !#ZQYY]   b<!D}@ |??` |^ = ۸-ۜVUU @ }@ ? *< װMۗ"UW_o    R 8  H '|wG~  "!Q!P!ȟ'ȏȏ7>!0"}9}Q   R?@,|_0F# 1~_ l
 " !N*(t]\ ˶هٝZ   ?<o 	-< LɜI$}^	C%    C~`!=vn6^}'<8{|W\~8Q$|_QW S'}~%|A- N9!U5_o7=#^c!>YY   R!lc녥 @<_:=A@!} ? (<_c}j`V /=$ Co6o $!3@   bCLXvnH)<  x$>DFf"~LvB R'><6b(@<m|}Q^ _I?'>@" J^0D,>ۼ"?!8U߁|" STU   B~ K^$|_ < < ?ˏ$}n;#<	??@ع"B_o 0|8c|u|[\#/ c,~`8!"8"|`W[_   Se5e<~'|<^0_ h  @,$W, BÝ0@># 2|_ ~n!ϑ4	,&%'<oi|!@ <۳?}V 2o| )CmM'   i>`~m#'c`';0+=%]X|*<)>_  <^%6')<HX!@* g)> p,|   !s^ 1lv
?W$?g@}^}}ׂ6V8]aU!*Ӷ]ُÜTo# !^$L$? <vn6n}  /83$|`(<%=T   1~,$_k{`'|`F  8^U="}$!_oc$?W a UT/} }I'}ߞc' 7|Dn&n'B"d'^@'? 8}5g
 	~($5331KC3ŋ3P>~p!0 ) A(>dP} a e3@>/|>#)<O$?$I}?- :\?Sl?)<%|l")??`@?H   $|4nc}!`#}`_ !Se$>`?? ?<D}~  ;C߶VnUśu7-= "?/dQض =\W46S8_`#})@)_0+\4F~Xmk~|A}SX>A[u$| 7| @)= @7ۧ @@,C !b(>$h&)} *P G ~#(<`;=&9,\g-CӜ_MVW!)^3Mv"~y@WW\8)x}V57]5|Gv\	\Up#>oAW|?D,PJ@%~`!3 ۾MS  !@>$&|  $|> Niۖ  Y@I\"<<	WU,p`۶ͤ|@ P^|\ <[^avbo|Q}86>#=!!Fٶe|ZH6#ٰm#jZV  >pttO!d G`AKp%<C  ~`$~a'< !C)|` T*	c?q  @Mʝ$e]|TUH۶㮂P\>"<L-(>,?0^]ܗU,/+m"}T^ S ; 
(~#'}](@ C/= ,Blװ}';-~\,<?L6b >?dv "|%X I$?y0bU  [tU\h](~'F>/G|YeU` |P^30!@_@JtOm/]?!l	8&K^\)IH^%?*UP#< D0@ $=2&B~W"0y}!y%?>\,|LO~`|P}[!}[]%{/|R#K݁"i#A^dT  >X	$޿!@xE^O O|׿]H A^Yb'  &*~w5)L|A]#?m0'o0~X"Sa#|9D= ʶ'|Ε;|C ( U(x0Z  MVU<PV#y\=@0H|"> !>:}$@s <C O< P'*=~ !"<%P8-mR(ρm1U[B"P4"+|o\]U#94|߅\|+SUU,Q'^TR `j'cwǄ(<$pc*|T͟o# >
?"bE@8߶M\?DQ@}	\| !($YD}\ogd"hod,}:X#!V!:˰n$1~;w?8!?jm+ 0 7 O~~!  o? [tE = !FC _ Ah I+ a$B`RXc'"v	a'> S `(PXV`|\Uƚ|	]->g"'|]Lز(o/'} bbE#?l) /0#V(9<"H!s@|<x!#aq\&@ o>> L$" 5Ă׽  mSU6@B8>@缫AA@
 /#"]iQu0|E`n۪"@WU#>A%gP({^;%)|TUk6bBuP " 2XT+*PoG	U5v`^ huElu ' ^G!m(k]$ vnΏ#=8.= p#< Qk$$=j%XSھo\A&n'; ~ n}@ ,@	@@sz}! o.?#""=Bu%K)WVZ/#k? a,>01  AL!_/vnEEP 9%'\^(9X:? i!/# SW!6U@""hh'=HUm)|9 e#FA\|WU%	 '? U\` ,/@#0?">MW4@}IDXv O (<RM'>$!c]!|#?_ãU@ӑ(<Ӷd\'D'<`+GG@6j|VqU ~$EWa>8!|"_a^	!?}#|  öa{c}= ?,<P.!hn$|!l/ `c% ]!qj!O!g+n|  <]"^}W!o&|=>/ ??@P  	}+>B%@ _> Hg'C$3 A@-@ohHB L|\#|>!&Fo%/ex6   pN"5[/L^ބh}]UP#"\!#*}7@
)x  \!eȼXWPMk,}?4-=  -=  ?@$0'׶5(|?ﶝ)<\=??$~'eQ|!E$ۼ;4h*<!*<0"?xLb0 ^c$A8oc}~W&%U!@\S\"~BUr\-| <Xnob@/|\]@} /}#@
v"}o#Q9{}@ >:ü$~9a|i, '` ȏ/ _ ? }~%Zj  BX;^1$u,|5^,c@!0V\#}Z*(a<B4o (">_x$|>@%<{aXVU<v9'}Tv (ӕ  |_>? t+| @x'  :?(!I!|'	[MUow"<VuE\ 
#^WE/=,0ǰ!}'< <o)]_&)> 8CDہm |^ = %<%]?d!_ <:$M۵%<]  >=_gF`A}}~,|B(C|?!A%="{׆?A` #' ,<\r>#d ,>,  XA+o*L`*> Xnd	euuχM(|=<8$x6b*<o)< ![(#1 8=,|"@$cSn{U,T!=O'<@@o#)~$p,v %~8!/"<MTH&&!&oC]Q!_!XKBb$8Ǿe)%  O=4eHd < / '<8Fk$|-=b{,a>p$^  ?LN5{ .|G"VX$|Z  P| < xvc"H"e!A >W-?d(+<; 6d(:t$|QU]Q? @b6$|#	UuH?}!<.~o$|QU"=? @06o$=   !Z zT?<(߶gH#/},d|زm%?|A$=ZaB=p!;% ? (ϯ ApCH+> I(vpS	#UEE  0 j e)@ `p!J49$<em%<.]a%<'|~QW Bl! 8z.< o}?7< @ /p%}@"n$l@iU @ P H|ɜ&<\ضm#c0D  |A A6 `H ~EE  r   !|L,H$K$ W< o '> BL@`  `ޟ#|yYg|Ze_!M&[8ˮ=v}!?v.'#? XA!}`$|  R|`  `N$df1YU "I( -= h_I` I߀ "I+.= #|"=#B  0!>#=T@   `H' io)|?|'ځ-]ZV 6b!  ?<  $o%?  FG 9|`A< HAn)> $*:}`@̝u!}X-   < 6)bfb0T!|ad-I@U  P0`"}k`y8@Z!t"%]0!~vb¡Up" O= #%<! MHc	UT\I$Hb& g?}!EӼo 7<c}ڿ BA!=H    > b$|@  Pp}c x@!ΰb|_0熼Ï}^i! @"/  /< 4 4߄"};_8Fb30#N}؝ H$$@[5 (,(ABH )@   q!<4 DUt۳}B>TV  | > tSc w$'_ô#|<?? ox!?'$vo;q#"ZP??  {=۵D/>icn{$>#HU@f > p ps !A $\   b> 0}iDTAP`!\xEA]H E>=!.?|U%EEI%U_oTHC@TQM5  @<pg% o0~M'۟]۶a  ZV$F||=> <!#=|o0X ?8t !|&}~@=~~#}' /~`  &A }F0<64\4so B |u5.> $D Fnue#"UU\ = $O|y"簝 1A.( ſUU~7 h ?؇=[%|8vn{V#9;_4T g_?<]+@!H`|jj<`#\L&Vb3 7 O}~!Y |K (-}`AI   XQ; >$<^u$<^~UT ~MD$| e\og"=?^  9a+#c\   %϶-(z)'= s$MkD Y>_?'}ǆڗG@Y׌$ A<X}ӆ|X)Xk|Wo(&|# v}%Bt,\"o (< |W  rA ?p58P ~!Iz!SYMe |$`6o; @s!4 go@{ A8q͟#=_ |CB$| ?< 5rX|	_o($/g'B$~~! @ "|@&= D  'C(A ǀ ?p$? $ovo ~8&>@$>@WY Hpn? =|@ uL$H  voB\ @,8\v߿[D"WWTΏ`~@ C6'FnY"[  i<f ˟&_gt0e?8s$o @j   t,=@"-o ##|m5 /0Ai'}\Bb}E @"~Vi[ A=,?B X!b  _? D#:$<\v# @"S/Og!0^!H>~; }~%| }?}4@hG"oC'c@ ">3MA  A  `/-߶b"> $@Pɝ$@H ^Ma=/Up°"|  %KTX @uH ,#|  /-|V <P@(ϯփ%}_sn _?<+	VV y<l|Zji(# '<AA&x0o*~~$< '($<Qd<R@  = 47"  ?= `/"|">, mӪR%~aBWux0BV  /vn~  =v@'	p #|_Ux}|ZYZ$_ {8`ϱ}X 	VZ0ۙ`vc+i$~$ d ?|ڏ@)= h .#=Q(,|  A  Xl}c'|{LF)@ L= `py U4iq\V B@_)>$|O4A)\<Uj#<AUWU SU
!4a /<!{@"6`p |؇Y$<,F? 0ǳg;6n| .< ٧@ dBa <!o$}D uq%R/]%P&<  +#<  ? hv@ 	|.?   L`!
O UX_vn`XeqY(b"} g # e! t%a]"8nb%vc# <@` 'ؿ8?$7AY$}hAo h3~:?}"K >@>& |o+)=~@=},   .= !9I?@0? J=B6d0QHov ~w|%eIR 	@>X8!%?]  b<p   r%=!%>@T ?z<{- b<H  O> |](DpC EB$$Z !$x I @qB4a%,_`Ǫ @>= (!_6n '~w\@P#Yfh@q'AK'!F.APA!<%MS2b}$>:D ?A#^VUQ %_@a-VVW ֵ  z/<"ڶg"AX<~7jC˲i!_ /= u 8~}' @ȏB&hjP# ~(,$   9 > \PP '~?#ٕJ@  > ,< Pcֵ@6 Xχ}ڏC}YQY8@_ 4a[k;d!ax <>> !?}  /~,> ,w&6c7Fb%a*!@!~!$] *<A?@{"]0@~; ]SDlo7?88L%>=\.oa'=Tq)|^=<.$ H  < pvnn '/ O$K#<xTVWW ,~6o 8.< ا}_QYY  ?@, ',$  } C6j$?W!g!}{'|;oFn&=!:s@ZZ"}ax,T|سm@`W ֜}Z 4 hb40J.= ;,?coP?ˏ}#TRl!?D M	F ' a<k1B,SXc1,>9}   R?`pv!? 90@W|T:_I'$@^ <P!k]QV  lLPa;c;Ҕ 1}ُ  .< \e!_~(PU*]ۋ";\	 P (nο? `ɜ|!;,kvn%#?C@$,?,@  : plS6n 7Hd-۴ECWVW /&T&0 d6ǯ,} 2~P\@!
 Ӝ 5Ph}  ?.< mg 0|';^\"{Ca6?U4eS h|L @ 9!$c  
z.|0e<vn$_@*=   R|] = 8\#JB@^!r=@p2|z
P׆1  %Pi||}V.> 8$}V[DID@' ? I'|"}`-`"Y
?(=a +@m  p|_6$|k!]_8c"=^oU46W$lfCVe$?!%?
ac"!x)Ux{? => 'Z\(o㪥!||5)<[%)= )> L)< #*]0` 0=^%<#'a#~; I$H)@{i+!~]D߀gcn"}/O 6O	!|0ӰWo}V[!ȞTZ   >A<> @ h! =P  |ÿ &,0 %  ?>  _#?? 4r2ڏ|	Uo_6>S۶m#"2~\mۀ "~	@7VZ
'  o= 6)ٴ-jZV6$_ BL	lCe;!@1>'}b]V P   o   ,P!skvnW@<߲-3_#ګ! ϶apox`_ |'Ü` &%P"= ȶ| ~ !2}'    |@   P@H  |qxP/KDz7vb$@ '^|[j e D   H c   qx\@06| x)PH)}, 0< &C =<,= 0*}6dvn6<P6| (	˿  d,: ? +>@H+    * -7|0pH 7=[(|^ <? ?= 0-߼7>,.@,  p = =8m#~!AvP B :_ 0&   A\$p@)>I\CW7 @|\UU \@X P ] VVP|(&^\_o'}c_7|-< I #'חB {g04+ *g',  
>i\q>>0_#1//)hr|l/0@,~D6b      <ֲWi#@)| Pc[!  9h6`"|H}@  &Y$wo&$<!EAI}@ XA!=j*D @|" -$ې?'<<6"G{~?<  U,F=I+B@}@  @".@'} `, !_!|]٩|5U__o$Bf '|Y<>-|\h)| *~F `,|$pHK' !2VW (@   yR]#<"'= ?@F-߰;~ ,HH;  O< (I`*?6;|Ha:| 8	l+ޏ"$'-k³  H@ HH $&'}y(- `^?S _  ,A\$o!.O?K'.(Vb%Vbl,<?<~>?!Bj6l&~ 8  0 }	JB  ,|  P~ߝ6P)d}FZ  V8   Z\"2SF'> CI '> $_} @^!6b'C - =  	  8!$@v_P`A'#<0B_">3{%<<Ȅ@~= @#=!A.("=*C)5UCޏ@ .@"~+`%< TkF^. P^P@U@i  < ?ا  nBii!}E!Bn'D ^(9 	!>%@8-##jjPe+o$>ǡ   b_<^ >  @,<_ <` !@ H8P`}Q#=>1_.?ۗ}ڜ	!X`'-*~]|'<.?,>|.?/ .صM#~e_W!<M  I$||<6b	{7>jo (,<&/|-8rtC4	[3?<   aX!Fk)YS I  '< $}ف A:@b(=- =  	l  @ QA PD)< =>4!szɜ&>~o@;H}؏|[__poE{6j3 _4o$A!Ap-,u2 k;
ϴU$<\`?<'>c\!sFb47$m{"<F__Wt&C۾\+`O6n@.d!0t)"~c;'.&(7t&']#   {   <  P,] \}˔^ `,||@]a,%P6*} , ߰$XCZ0-
6*<>󰝶  |*~ $}2= -l,~  -|.,',<H`x+}$}1_ X$ '=1 `,> = },\QGb?)| Ɵ@      T   q<       P;    _   @        <       <     I    M @    < ' I$I!?A$   <	mB`\ 	'G  h 3kFA  Mُ !     ,ʶa;ne)  UUuET|5UXb۪R|	UGMk|WTɲؗ}  HBmc~}U~!@ ?}j ޑ_\  lvn6o|
ueEEF?E\eUEU. Po@	QQUU'ا}؜K\  0~i!<&HܱޏH~( 8B(<?? \P > _ǟ;UQj  %8$!|9 U6n;OIJ  ETJe??'R|OU=T'|0M3 Z7Wh%9(BT   16bޏb_o/>? s} >e6bB\H?)~!!7}#A  c6n1]sE!(9@vv?C9~ bP>;TU'|@M۱ۆ^TV    |an|<C9~}m۳~	VU <Vtnvn}{@ .!?}]2  Q_gKs	l'< 9m\{
wXU?ܶ\	5EUc6Lu"< %US^bۜUUE]JNcWWT  >0$|/g??T;|/.< *?"Z~&/ hb8|u_?=~Ce۝?Eu7!3 %Q  !}%|.^C'-S&)<^(-'> ^ |^p@H '  ~^6'>!=K(> 7'> B,= n~ >/0?v}-?,(EWb["@	|Rث} |`o	/? *< ¶=ۇ|UW_o [`n9|Wr!F)~S@\#]5c\ > 	U0I2&j|zU=N	U\J@(~6>?/'#1' ڐ]6 4/'|Ӷ
(>$~w -B  UP]Z#<A{UVPO,A|VXTH	"?:d]5 gv|?.>>v#sJ ۼo}`۶Ob?{ !d ϐɛd|o	̇ ْ"&"<7}>8e$W~>|0#"^^A%}) ~0}a()<^ Q@X"-%"<N	 ]U  $"<-	VW^E0G!
WBY |9X)|k	uUW% ` $XTU?T4!1*+.?) p^Q'? ++O @\{\5IPHEo"=Q_##`T"<BUWASD$<1T])|!"A&k	Fn#i]\⃽^S\H\|	UMU4~O W,|/Ϟ#"4|@ g`' 0 4lq}m^-c#RZFۿ`#<1&奭7A}=>oΏ#}"  QD!3 ?_ |0chP||f=me;uH^e)[Sby4}@U'<
h"}nUw8uCW S		P1` ]  ey._.| < *,ԏ"_	5IZW=?BSol"=   |+`)[R!_UUj-d~Uh!Da nnG0  T]@Q{UUX,_a" UIUߤ^9ޏ<^/Mk U|rn&}.~3WƁ6j#=< yv.|<W`|GZSF.	??%_I%<!-G!#<%]B_\$܇ /= ,~0!1|W[_ < I$)*yh {\S}t@Z;كk$|n	U-P)a|/U&@P "> %r*@ |aJEȟ|a\Wt{  @})<  '1v#!@k|]]snIY^%"S _,cR `b'|R4̥l"=!CM G\'"a\ H*| O}->DPD .|K۲}0},]	A,6h1c&@bԏ	E?}\\O#7! >< ?'#P7H%  ?q1F'<!|:Ѓi"=_!<U\*} '-Eo)| @I&6h'> S oUUE.~q qz,c|6Ay|qUQ]Q?iJo)^s]?$~$!#C@) \"2bU >!|k#}Y? ><i}yZZj/~)"' @% `$o?K G.? !2?&<2&|Wܝ \!|[#n07~ =$_"=2E@ .u؏|XUm|u""Q\sNl"-]u ?C66o6|/= ,,iwWa@b'p<7C)>k'<Hrnkf	 O.< ,ѳ}]KVZj ($|GP@(>L0~P!#_`BI'|  o< 1vn$fEe`h$ (_N-ؒ 	}(< I*	+EEuU])|YQ <.#\ \>? !Eg'<0#o|c |E"t؂OW  (}au
'~.<!@," w!}-H  '< > )!s!|]]Me :@ l>> %g_|s|b$_!<?  |(qϜ	r (!}ל!<Ro6b[|y?> #$<q!}0+ n\%|=&^"Y  < [c#6b#}`1|Pp؇}">Q (!sO&bo L  Aoa}_!>0~#bUUA/|?_Kb!= e#n;< `?3!o&l  }<WZ2P~	jL!}u (~2Sk'/o8 !}F-=->!3 o?>$#6D  != <]\[Q5]' $>;R,~=}|TVWY16b"@}\2on{"PT <b*7+< Ͱ)<   
4\!| ?Mvnn ?-> *SqsX"l!1d <n-> ,|'䂅|߿CR (~P& }~E0 |%^(#Vn7=,D$  "<= $Mk;\P$8;#|W|Mu?<Exn'u <1 hH ~EE A"i[~ӥ   }"!?%<!#+ |_  1f!'o p0# ,-joo+\~{ 	3"b#*3&K$$` 6_md W. Vc"|q"u!  = ؜  K0=`/#<7R8Z4g<o#\"]eh"hb"<! oW36>-zt(-"lќw* G]?˿ ]!?Y|i7?ݏٱ${! o7=,>.+= ~ 6nr*+:Ƶ}? 7!$?2>< k  q]\d,=/$J&6 .|oc\"=^! I&6d^U_ .ulTN P<rPo6n6KXC'|;t$?< Om-K&MG̟'>!q7<0F&=N->!rʶj%<<8M}'+=R 6}9dI = %}f$<n|?"|!U@*| 5  YTU`3{~TW.}%|"z" W.+: +-!S/o&> ,u>$  "M p'| 3ߓM'w8>o!p!~0>	L$<H#ln`"q"($O)!0!|i7; "~}%!-sz4|zac6<	"v~ֵ\1|N]۱M# Bc;|!'<<|2Ou" 7H"|@["4 5ed(!%Gk( ݊'> ;> <?(#>'_a{$/ZQsDcu^!r6f'~.!3AoC		">X] 0 !o </=۴#~]VW/[c*>H!6o7/y*?ü? H|"~WT0~'+[!Ӝ>$ >X!0,!-Uሼڑ]	jZZV:ӊg ]!|/&|-{lvs/FlW6b#2!2@ @ #<)"^ .'UU$tpڧ}"}}I] ?̂v!n#Eeu.|Ə}ؗ}  K%+d"<p0@nvo)]g!>N!+!(=2 \.= _%= a >= \	vB|</kWi$[?"3H%|+	U.a	}
6ĄMڎl|__G#$[l'= ~I,? Ii+? Qm"9-'l)8	(/۶- H!%DN0\޶]ج|TZZ*%  > <$O  ?N(} X5&"L0~.!} ~(B%   w~#= '<"??CUF|/ _.?B_@q_ )|!'   Xr~-	$-H']@+<^-+^I__|e(B"/(R JH  ȏ7Y%~;`"rMhVb6PJ!V&>/ WO{	W oPV i	 I&} "<\L$W0u'>O&Ym'}H!b?',pV'=xbeaU d(<. $|v  $ U *pg'rP?#OppOJ^f'>  pG = B?$(pR`'< pOB( W=3o/_C  2	<"|"(M,`<H&\z~#8I a\|_u8s#@ '9s|	P0p}@ 
GW~ٷ~ PH$,pI$!|'Ȭ$|}9<6p0]#?y0#<!:   $)< $7> }"U W'~ -->  $ @'||`=3="h IA,};9]
!\Чus:%gs |$<p PqCm "D`(6%=H149|{	0a/ H QyH 8kݑ\ȿ}\D!8"   HP)^ H"~  6< -۶m X0,~a @--=  Z :pRi[^$<t:"$}&`\"t,p{'0P܁B $|'<J $U'| ̼"A01a\	"Hm$H;?@$c{ (0ە\l`hJ' ^    O> !>3o (O = v"=J   y  <    @                                                                                                    )m6    Jm۶                                                                                                                                        
mc!   ??۴!                                                                                                                                                                                                    IDID  U"H}؊R  U%]]*ĿzE)  UTVU                                                                                                                         I$I!   ?Wvn ! 왟 !             #cm۶m!                                                                                                                                                                           !cd$!  U}iJ  U%UUD츌c  uUVw۱(B  UTVV                                                                                                              Џb        !  6קA  jj            /c ! ܶMۗ!                                                                                                                           mԶm۶m#    (m    4m۶    ~km     Ym{  ]TUU/cۮs  ]QUUl۶mc  WTUU>m۶    m۰g     I$I$                                                                3ֶmc!   ?}!     5!  #'u !  I$K'!   Won ! P ! m۰A  UUVR                                                                                    0m۶m#     ahE)  UU6BOkB  UpH0,XQB9  o.UU 3@Б  UTY|-=  UUUTlkl    -ۧ7    #6E)  UU. f1  I}c2I   \W5B  UhUmۃ1  UUS]                                    / I$I!   ?ޏ ! )xS ! ( O ! 
m !  n2'{B< ! pnn!         !  &ɟ !                                                                                     e6b۶m    ?JMk6db  YUQZ  UUU?*`e޿9  Uzl?Eq  %V      8  UX_U                    Lf1  SVU29F  WVzAA!  %UU/?6E)  uU	!۶mۢ  eTUU                                      
 !   ?4s ! vcնmA  iU?H " G~.!  D{!  "F !       !       !  8۰ۧ!                                                                           EmۆZ  UU                        Yb[miJ  UU
a۶m     I$    o  U]QQ?iJ  uq}UڀmE)  U]SU!d۶mZ  UUU Q     1  XUUU                                                            3 ! t ! Pcs ! 7~?!        !  (X!        !        !        !  !   I$M'A  UTVZ                                                *@mc;    ޡZ  UU  $      $      $      $      $    F$  QUUU-II$      6    I!UUUM۱}ؖ  UWWS                                                            "        !  T!  2ʏ!        !  B!  z!        !  A?!   ! 6 !  I$I$!                                        I$I$e)  UUU`  $I$9   UUU`  $I$9   UUU`  $I$9   UUU`  $I$9   UUU`  $I$9   UUU`  $I$9   UUU`9  \UUUaES/5R;IJ  PTTT	  }]Mub{s  UUqU>A  QUUUȶ    4m!T  UU                                     !       !  2!  !        !  !  HB!        !       !  vO# !    !  } !                                                                                      I$I                             h&h&     H$H$)J  TTTTпeMk  5/U      D1  UUUE'o6j۪R  UUV!  UUUX4    4                                      4ovn !       !  r\!        !        !        !  EE~z !        !  &E># ! T !  I$O$!   ?@Im!      I$I$!                                                                           Fc&H$    @ء     I$If1  UUU&c  UUU J$|B<s  VV\w I$I  UUUfރ  \WWWۇ}    @6b۶mۦ1  UUUem4  )UU                                    6n;a!   ??9 H !  @?ȏ!        !        !        !  nG!  p   !  q ! ﯿoa!    ?5Km!                                                                                                   Y^    ?Q  UEuuX II$    _$!  UUU3x?!  euEUac;]            >W٧                                                                            ca!   ??o/  ! N  !       !  eX!  >O_
 ! +Ág۶m!    !cm!    E۶m!                                                                                                                FnvnA  PUUU۱  SUUU            oo  QY]Uڱ=۳              UUU>>%)  RQQQ                                              TmvnA  U  $ ! ( ! V ! xpb  wY A   fI	 a b  Rdb  ^ !   $A  U H?  U*                                                                                                            vnvn#  UUUɗ|	   UUUTY_.H    8     8O     Uő    #>E)  QQQQ                                                 T@@!   #W?!  L@!  @OEC0!  T \!  2?!  L `!    b ! , p>2!  8O?#!  @ :/!  HIM!                                                                                                               #L     $ωl                                        $`a;g     $I     6ڙm                                         T@@!    ??!  %Y_	  " 7 #!  ݟ!  (I:@!  .؟!  18'!  ,-22a!  8?#"Զ!  ;|/"A!  H  " !                                                                                                                                                                                                                                                  NTvnm!       I$!         I$!         I$!         I$!         I$!         I$!         I$!         I$!         I$!         I$!     BHm!                                                     @                                         <gm۶a;  UU:g  UUaw                                                            .m{6b!   ??Eʶ-ۄ!   " I$I$!                                                               Pm۶m    &g+6(%)  UUU`4' A  UwU|=۲m/(B  TVVU@m۶                            m۶a;!   ??<ޏ< ! Jߟ]ہ- !  8 ! 3 I$I$!                                        I9Ģ  J
~f1  \쁍įMk  UUAnH W    J  %e3y9E)AE_5)؄mۂ  UV[U            *n !  /@L!  @אL !  ! }ڿ !                          m۶a;    Xݶ9  UQYUX6fI9  UUU70b    j4]   4WU e)  %VU~ O$N$IJ  VUVT                        *!  \V ! t!  I$M$!  ZO~!  !¶=ۇb  VW_             I$I$e)  UUU0  $I$9   UUU0Ib۶m9   UUU0  $I$9   UUU"<IJ  GEEE#Q~xٯ{A_I]3ځ?o  TUUa\MؙIJ  UQQQ             !  N#!  ?!  iO!  !?!  1?V !  I$H$!                           06nvn    )۷qQ  UQ]iiJ  EՀ6bo  uQYY N$H$E)  UUU]|m۶mۊR  SUUU            c6j ! @!  _?!  m  ! Yrآm ! ￪܁-ضm!                                       6b;c;B  EUUV$3i  WUUTb8yM  TWUU`6b#"(Q  quuu H$I$                mc ! Hii!  (ՖICr " *ـ}ޯ " >ǆͻ " Ia                                                 DvcCm    =ضm                Vblm    ?۶m                to ! @FrIb ! a"ưIb ! `;o ! jto ! ]ۼk !                                          Um{b  UU }"%f1  U_EO0 I$I$    + I$I!   ?; ! :ݶmۄ!               6fcle)  UEu/MѶB  _YUD\2!  ;)!\¶B  __VTTk6c!   <&<!  P ! m۰!   Fb۶m9  	UUU `9   UU@%Y̅uA}mEǂ<9  eeIUvo6b[!   ?ˣ~!  K7$!  !iڴm!                	Y$  }yUU͕06hIJ  UU2m۱m    *hH!  ՀMc$!  i͚0"	!                   I11  U5]ɳMiQB!U]uE/6`G4 ! 4=۝!   a`6k9  UUUa
m9  ]UMNn# ! KLإM !      FVg9!UU )- !       GGATCGVA   JGGATCXAM   GGATGALF      GGATSFFO@      2  9_  @o  Gs  Nt  t                                             A  )          <         <         <         <         <         <         <     < Q P  += U   < "m۶m#1U^hUW   +=     P)   [ I$I8UU-:hb	`WUU	$J]p T?\\
WX.CAiV4_ } ,Q T   _~}e'|<ƶM؏  <| uR_;66jIXƘ5M~u%)|4;߀=;< }%@B?U^\ '?<|V`
尝'.~Q T) W   v'l,Ò$  A| UIߝ畩09{ȔU}	B <뤪 | < .C`  " WX K/$}\ۙW  (.ɶgvn+)  ?tE6|G9MM۱  H,~) By{U5:$.}aX+.T@j6|<(>RE" 7<6I#<1}B`\$=1V\t[Tp_# | UGc;*,.D|'}@ H$O y- 8\ۉ $|Ma/'\F8{%A|3",*=>^{pV '~]	_ 7"!!!=} *B~$<1"~ x\?#2UXp=ܼ'? &* !-F7.> 0'=H(ˑ *6nw?(N  noFοF5x|y^5) )|.<粔x}FW]!1U(> E)*< 1T 9= -> 9*? ^''}Q(< r ,44 AA(G%A^! !I/O'WxJ۶/ | c֏ $!|#"@^Mk\
sPUX؏SR <Ho7<?_ -:af+UP`$Q-$.\\*<>} :-R``pP{ V\Q  >  }'9/	'<'9@ 6<  A
B*!xb A㇝m֟3\B">1 <#}/:|/ > U|!Y"%YR`K\Y?Fnn7 *> !~A PW ~~/i;6/|#~&l  5-<>\UUU G|=.< }b0Q 7.< ,k(ޫ(<(< !BWWV 0=RȼO]e)"Apň#QVPpʰ}ڏ g_a;Q qwםU/'~ Y!H@( 0 U%?"|IV\Rs=$
|c{a'07 ?_)}0X Fa ~76d\qov">/(>M*| O.< ]$!@ (Oկ'< \mk(  WUV6>	c *P  (|BU)aA	)< //@ VV A}p@ ۺ gڶn?|]%' (~x{A	(< r@(r`fk  c!I.۰m |@T ډ w*m;c;^0o  |@@@'4U7,c,}7`\1O*(< Ȼ** 7GgPS W
!sX{6b'^ ~N}'=Dh^`_}'  5)<*"<4 559^W_W & 	_sIۯ6-<<^ 	>R$1.!1 g7|Irvn \A(ZO^_[:(|!,c	 <"!/`'|
~lY)p(< _'V_] ?i~ Fr%_r& WB S5d Au'|5d@) ~U(<  Up`Z,<|T\XX*|'5Uʼ
!WT\R}
).-i !<B !?$ ^|g6jgkvo ]!}@)"t`[[RP6~1.@  	!`)rrsc}ޢ ? Gmق H?_YI'4<O$>UU(|  s (< @	( DYD\XV*G[QSSiJ]9(< "O`]6">0I'1$|P ?<I}ڿ Xa?oRp. ~*<([ZX\6=/U =!/Y(_
ccaa(<@֣ A!H 7٧ H/Jcn <	%'*=u^`(y,~@9~;TU <A'}\E!= X ?s-|0ƶ-H Gk1Ps^ ?uY*|X\VVW6>E)|(8T 0JJJ*= @ (< Q @H ٯ I_Fno <"= )>}})>*	\s#>{~uVW <|	5*GRrkw /_6~ 2,}06 >~S,]uOs ]qJ*|?WW[R6~1^OՕ./8~UV(~oWY(/Ȼ (  B-ّ I/! })>)s UU'~aZh ' }5*TXSk  }"(7۲(|D8~ |0 |ݶn6n#0s.r /!E(E)`*|R_R^6"8YU( !	6[(|	(|KRRr(<tT(< Ņ( C!,ڟ} Hȏȏ  0|A%m'~_jkqP '|"@'}^@x*|8 #<@=ٟ'76o;)~|A-(T,~0B" '#}['pp q\!|mQ(~Ob(jZ'}n_yU7<84  ee]T)!u)HX!'< <i®r(|?V*#!#(ć(`0	@  ?-, MS /"F5͡*N\WUW 7|>|a%5*|x u 7~  !3 !on{6 F?'U K%|0 |rs 6o <+<a!F'`(<v 8<Xƪ*B(<S X(<!&iZ'B^QUU GwUUu'>9<~  ,|: AUU*|%yN )}*!9+5(r(| -}>>-g} KERo  |!}`%(|'~'!  < Ay*|@!=0r? ' (Gg'~t (7k)n](O8oc(|&)<  x&I =#'zv~ o<Z*|Yp{**("u:1("~`(|7W\*nA\ 	%&5(H)Q	( $!_~x, \` u%)<
v@75)}H0	7*|@*ZTW*|r,	'>>F|(oQ MFn6o "=u@*|irXV G}z^5)!@ˤ-|p/>,.,<_o6o7>#O'U 3 >Oaa'}7 ]{`+V	G\:E)|AW >mk}1'<9U(|󜁨:*"Tp)<^W' |x">%U,Ky7%|++	(|~0>i,M۳ H6n;g' , -%*?U_\ H||*sI ~&,<_!*<#c'Yf-5Ł!v 7!?)yw~ %|(<ua~x |->< t*>_8(|{  ?{p)<q^z'}4#W (x| -+>b?r"' M.  - >08_%*'*|TWUU G"t!=P(<!6*PVTXPW?'~!6| p  I$I 8P)/n7~w~ !?Mk@-<W_~| 	<f,|i%(1)< O<RuJ*(Ai4P'0VP #I5(|Z	 ' C?/4r] Y6o#);4= !4q)uMaQ G.< "|'*<Q\X'x!<9	pAŕ?Tv]'@#<_'>Tf,~0  %< ~{c{x}w _.
}xXp@+%T\P:ͥ']?	/@O ?< ;b  (C\@yS |)"<@= '"]&,-۰M h!;0|[ (?u!>%RX8=V+=X 	A> <*"|"RSs|yo!,~A$?R3+<_\6b)NH)< 9m W}g'Q ~׽|!=tξ]l(<Z*|*<|]~|*:}0}_M'ƪ W|(|p<*%}/=($Z    |c"dKXW;|O #o6j"$!Ε#X#~-\+)<`sXT o">15]3 \r@Q Gm?زm9'~e۝Wj|(4->_ 5 'c*+}O' ^n}|~ C,-"}  	|,c@ @AW_*=PU'(R) .|?7A<c-\x'>0Ҕ~W(c% <#$p">X\!*`V$#]$x^|Crm '| ?'!i6I#|u 9??ó Ic` $I$"?߃I) PBXc'ap^`b'> 7h^`'= U*)0\|
I}Ώ\ %%	γ??  WUVp5fw'c*~X!N)< m w* %\);R' 1!Q%A8 \"
t,
Vr8<E)`(\1@1 o//C/%)#]R@c)| #!=0|!߈xgm"X\+4Q'Dؙ |	 '  n\ I' >< 6"'!}md(%(<`XVybr~_U  > ]`UU"ܼD %U)|z@=4W`WV />Yb7 W>o/)*?oo
w'g' $^^	Sc$$}"E%-\ |  #|A!DqL؝"|5@,d-k$<9 !8&O`$| -bA|m(wó \V'> 0 =| L:)>}V 0` H$H$ w. @-~bLRe'|D&6o#_;GFn{!]&A"~+ 	(i |ֵ">>&n#|XW;ٶM" E
j$)|H H$IH8 ?.s*UXr eU'\]_*gW'!'cW  *| (*D'&$* _)<_	*?@z7<|3}AC+ %%%*<G](| !8|G, 8>)|E)U.+hUVT > ~,SQ(|6ӄ'|d3o|!"=U" o+"O! ),נ W|0%"%n|CW^ ̄a3"?XUȲg%]'8  3| _"Fss*}UA$!|RR"*|*}+  )s()|$$&+x%%'\	+?UpzR,aw¨<4+H@Q)<};*?554'7 *}T!@8 > ?,|X6(|q'|UCo}-!>&w$<f@`0AWP <!=> $?p\g~Xk>m# \ITTU{tڰm A!?^ss*= c r(RR(<AP*} 6}|)\ *=j\yXUWW* !'~}U`*>(|;< (*!'&(!b^--}@( }i,5>*< '7QAcW    Fn[)|o[6(|"#<R!{bU3!~($!1AT, @*!M??]{ `^ t,[F_#@m "!}n%.Z V@  o K*<S|qBNP_,~ s}(< ØuU)!,~ TW,>)=>,| ~ 	,> @,= 5)~s,~ ,,= `-=~,> 8(< "~",<| ?  X`*< ۯ)b<"AZ$Ag"Afٶ|/|UL'2|]|Y'<  wFb  AI$|W<  ? YbBr}  < )x   <  '<  װs(|	ضm  8|        <         <         <         <         <         <         <       <      @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         T            U            U            U            U            U            U*Ŷm۶a    jֶm۶    W            U            U            U            U            U            U                                                                                                                                                                                                                      TTTT                                                m6(  UUU޶<  U	      <Z	       <X  j峍''  UUX                                                                                        ```        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU?׽  UUU I$I(׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU                                TTTT                         I$    mƶ	E  U%F؟<          <s         =      =      |/{I'  V`  ??  UUWxb I$I$                                                            ````                                    "g#v    o ,       (?                ɶm۶m                                                                                    TTTTֶm۶a+    'e4K  UUa5	        <TUUU      ]֪j      <   ^      \s   U      \Mk   U      <Mk         <        <4@      UX !d  UUU\ I$I$                                    ````                        mc    0    ?9  UUM%`]۳}b  UUUT             x p     7Ѷ۱                                                              Em6d5  TTTgF*<  %      <׽         =      =      \iJ@@      c  VTTT                            55%%      ͠@      ]      =@@   <  `   %<  UVp@lm۰                        ````            " I$I    Tvn          s  UUU5      8!U5f?ֽ  \P@ I$I$    oo    ?     I$I$                                                  ƞb b   Ԕ      <VVVV      =      =      =      <u@         {        VWTV      }  ===               @@@      ~<VVTV      =      =|?<e)@@@@M۳                        ````            kFn          P  U5%      d)W      y    II$΁pg+m۰    nn              Gݴ}؏                                                  Ok  Ԕ      <VVVV      =      =      =      =      <@@@@      iJ  VVVT        -      =      ]LLLL      ]      =      =?<!@@@@&l=۰=                        ````Dm۶a;    P             d̠ 9.       d  `      m  V      u  TXZ?!VTZQ              6    	۱                                        Ԕ      <VVVV      =      =      =      =      <@@        VTVW            =      <sll      <x      =      =iq<e)@@@@M۵                        ````Զi;6n                    d  	%      1  Z6      1  TVWW                  aO¡                    tc    ?     I$I$                          Ǝ*.b"        <VVVV      =      =      =      =      <s   `      Z  WVTT              < @@      <Đ      <6      =      =qv?<E)@@@@۴                        ````\6nvn                              u́M                          UAM	        UUUT          ޿    Lo    }                          !b;  Ԕ      <VVVV      <窪      <4   5      }/      <   n        VUU      {  U5      Z  UUW        %U      ;A  #'      <      <Z   )      ;t?<E)@@@@]۳                        ````-vnn                      UU        izPZ                          y  5      4  UWT\              x    M?`c    ۱m              ǆ11  Ԕ      <VVVV      <$!Pp      ]  *      }  ^U      9  XUUU        UU-      <  -        <VX         UUW\      Z  )UU      u        UU      <Z ?<$!@@@@c]۳                        ````cg                   u  Օ5        XTWT                          ׽  U      U  PXXQ         
N    	 @N     I$K'                          [b,b,        <VVVV      <1`        U  UUW\      {  UUU      <  ե+
      <Q         =      ;      9p        ;  UWz                <  յ%      \_?<!@@@@Q]۳                        ````            o          Y΂      (B  TUUU                          Z  UU      AhB gb  UUUV7    m۰                                      _b,bL             =      <  \p      ׽  5UU      <1
	      =      =      =      <窪*        `hX      U  U5      <1	        =]\@@@`۱m                        ````            L6b[m    8o䒔  EII      u  U5a      f1  TTUU      iJ  UU     !s  UUV}!V^RZ"   TUUU $I$    m۶m                                       )Cɗ$  TTTT?+  UU/\    	      }j*      <  ׾       <Y         =      =      =      =      <e)h        <5
       <   @,&   XUm۶  \UUU                      	m۶a/  ``PP	m $    	m    UUF>@łb $z 7  RYWU	I $    	* $    4En  U
  UTp	i $    	m $    	mۀ                                                TTTTR6b۶m    '꙱Db    Ao<  %UU<          =      =      =      =      =      \   .<    `V?۾  xWUUC۶m                                       l@@  PPPP        UUc      @UUb      X@VU      ׽  UU         UU8"        UUX_        UU      Y  }u2        UU%        UU# 0mk  UUUT                                            TTTT                        "Fn[m     5Ďs  UUU
 `M!9<A 	U<R   	      =      ]0    9<    x&bRں  XUU!(ضm                                                               l@@  PPPP      YE)\      E)D@lD      XƧ9      <*0      b1075      ׽  Uܕ      ޢ0*      e)      !EE      yA113 00  TWUV                                            TTTT                                                fFj[m    Rbi#  %UUU^^`<   -U$  ,2<! pVU*Dȳm۪R  TUUU H$I$                                                                          2wvovo#  PPPPw    $  cUUUw    $u  UUUw    $  UUUw    $  UUUw    $  5UUUw    $  UUUw    $  UUUw    $  8UUUw    $  UUUw    $  0UUU w  VUU        ׽  UUU                                 T            U            U            U            U            U            U   F<I$  U  *m۶m  U           U            U            U            U            U            U                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  @ @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           0   `        Q   U        Q   U        Q   U|m۶T     y        Q   U        Q   U        Q   U        y                                                                                                 ````            m6  UUU%	6   {<粔B    <  U\ m۲4  UUUT                    ׽          XXX        Q   UUU6f7ދQ  PUUUmہ}Q   UUU6 I$Ir$Q   UUU        Q   UUU          *%%%m۶m#  ```Bg4  U5	 <c             px      8    UU          	m<  `   Ѷ]  UWxS I$I$            XXXX,жm{6n    4  U-%-ہڒ  UUTP9Ӌ?     I$I$              %%%%u6b;j  А      ]      =      <疵؀        777      电      ]_<8@@@@lM۲   I$I  XXXX+'  5      S~q  PZhD    ´}              %%%%G~vhb        ]      =      <Y@            <``HD      ]ު?<y@@@@]z۱  Zöak;  XXXX        %UU      0  hrSR      4  5      b  UUUV(G"    ,m۳  %%%% |ɕ        <1  @      <    }      <!ZU      <b]]c       X  )W          [_?<8@@CA7r]۳   IDI  XXXX       U      0  \TTV      0  U    0  WTTT&俦[3    $̏=  %%06b#6b       <U@         z  UלX      A       =        x      a%?<u@@@&=۲            XXXX0o  %      {  WUyR     (  UU4?$!XRVT              %%%%%6b[m  P```L)Fe[  %UUT< %      ]֩      =      <4@      \Am<  `VUU        ׽[ml  XTT;62@եu(-U  TUU 4  U
'  W^_Ӝ  UUUp          %%%%          ````            	hhmۊR  UUU' i<   	U[J<!  yt%,  XWURm۶m                        ׽^%^bl  T    $U    U    $u   U    $  U    $U  0U4  pp~U          %%%*        0`           QU           QU           QU   4Jl۶m             QU           QU           QU           y                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     y   \        y   U"%m۶E)           y   U        }                                       &ζm۶i<  XX6  5	 #	?  `  %MӶ=<  UVx I$I$<  @@Ag/Fc  @U5Mr7  UUT I$I$<  ?Eto}b      <Y@      			?<@@^۳I;  aaaamO  -e{  TXQQfۡM  Igo}c      !%      <e)5X_?   	 W2`    aaaaZ  MAQA?Mk  aIMI R<H$  Uccm  4XXX Xoc<  -AV<  Xٰmۚ  XUU[6hvn  PАJݨ$U y Zڐ$IҶ  m#݂}ڧ  ?        y\           yU   "m۶m             yU           }                                                                                                                                                   <   V I$I$mk                          
  $ 'g?  `նgpz  xٵŰ-T  5V*^n3	?y  
  Po^k&}  1?4  _**        <V    H$I$                              @  )mmk m۞G    }}!Vm۞    lI$  }      \ö h        GGATCGVA   HGGATCXAM   GGATGALF      GGATSFFO@         O _  c 'd nd                                     !   A  )          <         <         <         <         <         <         <         <         <         <         <         <  < v UU        <  =      I$I,= 	-}   > I.= $    ,       J IlٶIl0'} v۶Ib6)	+< ) ҶjH( Mۊm)|$ۂm)< $@         N\I)|vIvY
m'I~-7'< Ib$)'d
(< Cۢ kX*}$,~"m)!  *"$(=  !![m, `+!-=$    s<B    : ɖlɐ'?({.U'}D'6'> S tk	UUR`~h	uBu>c'm6j)?m(!=AU'I6I	)"!A) )| b'"H)|+<B[m)<[-؂m       m$>:,< -| <~)  i'<w1(S(| !r@'> !\I8\ $9_@@@)~:)	r	u>b	3(<@\6E'!
'}s4)Am.G'>	_(A(| (!~Bm( NR;)< %,,    d<@   	*|۶*?~m( !<<m+-})*| ";@ml'?U'qys.e'< %{w/(> 6,<@ 3IDɑ  5%t?@=&Z'<_-u:b'|:b(uB?'%G'	%'}%E'< I(9#|EEII~#(!	c'>]c(Z(<H$H       O_v(}6e'	}4'6(o(<[$*;Obi( yr0(<_w1'.yS`'B,qR(<@GI|%?pk@  b8~R?)J"<`WT:%:(?##b'> 
bɛn'<ys'##r( ȅ\}  AA$3,?"	X(A	# K$K%       =$|Y(1'wd'	w'}*>	C\UU~)}~'<@.(<ySP';&\)BIɟT|UP|	jkB|?UDVVTTB,#:X(((< t'is.(|B%w7(|b/!qr'<1\ȅ_~  0&}>`'|%PN!'a3:)a~5(X%X       BI(_!w9^)u'!](<`*}''؏ȏ[\"O$K$]T  "~	'<  떤$(yyw)L4*<P |5%%i ,|	Pz'?y  XTK15).^'=kb!?7(<B*ISp'<"7*1(<B Iz?s<,3:Z(|+#)a]P(< `(|!<&k&       =!)ysHys)}+y{wT(}>%!> &W'< QT[{1p p\3$Nb(.#!&' <'+Y9qwS/(^|		..< YkP}R6:X(=0*<@r`'_ W)?1"qS/'< A11wO)|B _UCCCBA1X(|1##* ,>|(? h&h       ? Ii(1S1'? "1!](%!=>)(<U2{w1$<^P _[<!Bp/X@ =1u2(>`8/^'E2yyS)cG!_)?i)|			>_p
vT\ Y:#?'~4~|>߲'9/a'|5%1N'>G6'N)_uB  @F6*A4%b6)|!9)> \H        $~(= ۶*> m*~I*<  s7(~"};'*s);A+"<@(< DIɕ"}}!.
O' ]  PB M<"B:O^#	'M<ywWP'~lP|(>"o!}A"|A!>d
"!]?9(=8#<>(%~R۫q)36:,^'b<۹wR"#K ׽!@I9,6&'> "P.H      .\'y!=ޖ!l6I'} 	69*> b)k-'	!]'> 0^'J1q]`'> TdI"0XP%@<tVF]'JCOB#'>SD^.Q'~tV!<B)=]>p/#!PPdF+B,!<(0$OR#	M''{)~B1](FI|?!#^"!|M<*~?8(#!'= #-|      }$~ )= XB[Ҷ)<>  > #<'Io'> 
!((<	o%7(Ir| $m'|;);'> =(!_)R:1uS([UPtY55%.^up  `[M#X'PJM#'}YKyu/a'^yqE)$|at  >s?G"@"!nM\(<~L6#'>6#%57^ɏTT<MШc'>S !#$#Q=,:)+~%,H       lz*|!='mnY)|*|I~%7(|I*\<? ޶(> #%9' I%(|:$):-*!9?"<UM4In$''| :$)=H,`FqwsT(}~!3@uY%"<-f?`C bS\(?VO}c'^P1u(|Ab{Q4|a>> ,!z^#:)\G#(<J@%`&}!N ?S"\PP/M!@_޾"_~u~UA#'~<+\)<       dZ@Z	w(}.'>
!=-@XI~,>^ "^&' 'm)-)>!)> 33#<;ՕO<p;I$v"|;VTG  _Pp`]I{w)|AnUyr'|i$< /=k7[(hY+?[T}b'=dUquS.(|jɗ\ɕy5|a=> ,!jZ(]tI%'m&9"a?RAa`Baudc)<&j~ .N"?'YB,a+=,|      D.^@[(|#]@'< I.'^}(-(%(?%O |%+	H|p@@;%,<'> &\"\U5-  Y;M1+|?Y=}*M΀P.5%/|> ]!b  ^\@s_)&'|`}		/>o|o_#X(<aY|c'|ZywS(n5 $!@@|+tOZ$ ]p(  ^4/	  zI9$?`{WR/#c5B T|aF#*<@+#*|     S )| %,= -~ l6 p )-^/(@+I.(|}I|*>]%\)/,<',< 4	9p"=!|<	V?8Z CR IB^CIb)E@گ\A%	 GX  WI$ˏ  WVTTw\}w@Zj?ܷ}\ z##	I!W{v(>@!3p ~	0>ޜsvf\(f^t*_o_](t P%% _aX# ܊Id |aP pBA!c%B ;]4eH5+,_&     B$Cin@m&(;$):v!}:Cm)< _%s%$=6*$-< .|~- +)<#^7(P(}^\*}!=?%(>!#=|_(_\F.x(#]BI* Z(|<3mN$J_\f"? F2IzUjȿuA!/<rpIw*?b ]#<[ ҏN'T"|!VTݶP^J70<IDI#<{j@{jd{"'ufy'@f	ɐ &>#RX#B"~] aA\!B]'"!}kMB_E-,?',     #.ɖِ+?1e-;(<[_.(	!S*Rch( (<5_B'sCl+!ٰ'<"@+6(!$(|"I)B!%(~|	,<".G'2[(+'#> iJpO?}p!?jM,?w\,< pȯ^2ڇOXpI/  "`%	?~HB;wY%\ .< K$x_,{"}!0#|\3|! @@pS$CWTqj}	'|k{*)}Џ$B!y &A4|(+^?A!>$<`@/&oP+F.,}'     2?@w'qv*!<(CӖ(|m'I? #iAAO:cAZ@3'5"|A6e( ɝ/W'>'<*>D!?"o"<:!<Q!<$'
b!!$'' *!<~)?; +?P+\!)<EЯv3%Yu{!]\x߶{|$ Y >> !3:O"<"!{p	p!$>% ~!;%|!	\XɪIgZ%}!&~! ~!zB$\r~B['~Hv!6@@7|>> |"e"?cu!"D_GW</<   ^e)~	"}G"'rS+G/,(     2@5Bw
^9'
WRksB),: DHDKƄӜAÂ*~ 5@N)(< 36X's">(
y y
/(<B *kI#&}b@9$Ib*>@@%!(~Z1!"|w_AU:,|G۷k0_!]#|   |'@GuX!`R#% //< @( `!=)p$! !|`%P#|!!!IDJܺ >#>A?@N#	
C\C)>&!p @ <̸}۪R$<c/8>? 9pI$ H |e~uS,~J0,?     3!ڗLw/U W w,ys)><''?#y] a+O'WT-3*>,|wW(!@2'|2 H%v5&>w[ Z?!(zH=\"^BT6V $It/UWVu ߗ1%	 ~|&<!|Y_ Ȕ9	 3 N< 	ɐuP![p/ <Ilt!\!e"< 	UU^XI1p"$%%<&iJ !<#L$zT$A)		 ~&?wU.     A? H 1U$S'> 5#|(<r6ɝ_Օ/|7>@S $66&%t>
.'*yBC& ¹A!}v@95%0`IrTi![%<w5%  `? Ȁ
T
@"<A!<\!31 |d.< h&@~У)#b|!b&R_ > !A$|W! @?= ,?.K  m <  IH  _1'9\'_(@u)~ @+(CI\45<IJ$x'#\XC@@w'?,"|(k"7#|'1ywS7X!pv5|VLYμ#Z	  !.= &  ?+te)  ɐIdtp`` 8 17H&A@1 ~,?xV,|L2+"<(, (| C"	'| IbBh	m+,> @6  >  vJ\"I(\(8 %= (~ -kl+? m6 	$*= ,B1H,<'2#%-}d.}(<!~Ғ6BO	!m9+< )3= d(|blm*;(=M}`*/<   H P)*+|@A1H Hɕɑ84P!BG4C0+|sr>IT9(<9!1u*]?!= (> fti޹!>7p )<7  I< @ @!APW@ֵ #~,~Y  'S5+|,0#:@$
3b(>mC	(>/Ir*Bhb)>	,.= ~,> ; (= ^#(? O+>]#(,h,c\	'<	'=  )A)]r*|InlBM~' += #( r*~ K,?$@kȒ- 1~)=Cp-*~Ғ
!(G|;A0])<O)= c'=cRN/R$(Wl'	$-| @ R9)|'= BSMIDI<AM74&>xG69(](?(!y!}Bq'!?'(G!(~"l!rV`!0|6h߿P 3X  ? @ 2~  "Ე_^< DC@;# @+c(>%|)=\)~-,.|))|	7= .4| '>+,~('= $+R)> #,~"%,}&(|^)#\)>)> #!I(< \lI)#!?$7	+>,|9kB	@K(|$­(@!*$ 1Bp.6o)>;#,|(~7,2m)S#(]'(|8R?c()
~B?b(@vB;$(< @  ^1'|(pOH')R7w=Nk.b}#UUP$'UUL?#q@wUUE1X3'-^#(`"&-A$)?B*#|B'> jK\)>B2Gp]&~Zfv0`~,~,= .= Hm@"U^l\<+Un Bx# ~f"|#	  @$  -=--= -= -< .>]c	"t ~??`P--< .~ C	ȏ	 O~!#?U\CC !W@!_OtUUXp7RB?)#|;'<0v ")%1X]		5-> 6<< $\X5ii6<}2-= 0?	\\)?<(BK1P @.ߜ-	!p,> *_`@4O|'')'oBI/An)h	<CP(`@1~*%#*>>'\)~A5\)*!"ħHU ; 柙_zv`pI\	\D$^\8 \O3X]rWp4B&b(),>
'| 6[' !` ` S)~_1W"]6N7G0`N7L<mmK7Cm?;*c>*!~s' +kk'=?)@)C+P)_Mz-u_u 0X	( xG cM' l]' P'? ?+= M)<mv(> MnВe)\@~H~%]R%B? "~93c]'<'>3m'> ](<@nv' ~.J㲜!~v'>6'cZ|+.< J$|PXX\*? |Q'}'\7$>%5 oA^Wg@pjM}Bd^F!<#(WG@ꯗ	 =k J @TpIF"|O	XTVUV.[O  ~HcD"9(>>\D()Gm/BGrlҔ )8I$YΜ@#|>'>:>*CN/ny&PӜ <DH mN1~*?+I+AE-]-(~A<P |AXμU A	 /& @|#  <  UTP@A'~(,? \(J	!? k  h%v(<G1'|?
R1(=@w(|5Prw(8']n(|8'(<-"
ѫ_'%:_' "9-q*F0!?)jM*r wqf1 	 }W] 0!"O't'<j '~g)in(o+< t@rv'|P*~'[.-?5!}AA{!< /|)(֬'w*<l4)k|(q\=(r("c'0'cX '?{$|TTVV#|&',"@Nw(.)
 ov,i!=y(:e"9k)q |b@pPvO¶(<w / C_Qe"|\'<ydIb*>h)@gZ)kXC@'~
TB'=aG捚Q a,iH]"(YC!?KI}+@lP)` 6	 a	@n]A   !;%X6!?j(8u,,tB:(w#H <@ @'<.aWq(_vr(< l2'?%"|;'% D)$ȶ'| Og'~%\AIz$>1rMpG7)fN+Bj!s 1sR|%>"?'?mգ'BvZ!< )"gS6'S`IB'~m^~R $TUf~`%<O tcr1fP\'s|(J.(E!%5/>,oI@z^((<jY6(<#YgmB\;'g%Ux$%}2UL &)< F6)< q./ }_ 
 |d`'9L@(fЦ)>yd,?&f+<%znqc\!>%_3L$|2<% O? ?]''8Ip"~H%*A"&?dT @ \TWUIºP/Z "~U~Q|]Z(||Inꁚ g_V$!+o[~hCGTjW,?]w{ z,ayP3o^IR*~CjC@ ,7a!<q\U@E
C   P_$<`@R,"(>0|(?+(<@3?(K$[`	 `(< W!?v(?Pnw(?'| l26(? ww/"{s4IX "jLKX7`OY{f1'b}!<cb$?@|
V/>(|cX-:'dPX=C'QJ&'|#SLpS?'?BH @_1`!5~\Pf^r(Zu_)Ek]w(Ԁɝ$ֵ]1%z;x}'zab'<fT-S'<UN m'^Sp*~ElnQ|%) Q_$|:@`dg'<1Sm)WN(6K]IR&'>&Sn,Bj+Kȏ"(XC `?+?#8I#<u=	*GS*?X`(|۰mtvP }'P
(xIz%'<˿ /~!<|lI^*uS)Qs ,z}u"|C(~yv#}	 < 4@%`PXc(|r	-(K@ v%5 K Q0@ h?"~?"t\QT:!#**\  ۰mٖm)> '< жi`S'!@)?>/+.y+BC}wd'? UvXU_1[ udSqw(<7(?R1>x,rZ!(|VJP9'|KHjTEYLX3_ _Yڦњ'|dYpw)%as,l"|%(4` |ou,mY*>XM|(#NK|'>dQ|Bhos@]$! S?#c`pPPyU}/'<Y>+֫(f:G!=F(Y>"j(<zY*(	xB(,_Id|<(BE&8#8t	 '?Ш(~h"ZR #@ j>(<X[6a'	!1@ !@4|!-IR*>~B'~wmk ,H'~.-&+ͥoJpaX pT+<*n-aB$>4"<_$|2t M}?$?6G(B7&7Bk(h@  R?z@)< @z@zII(RP)S(~9 yKB(?L!2L#1<Q/$!\b[yv-'od9+s"<@($:Ru,nYTK>(*RIɛw{dSB"\3" 8dYZV@['fYRq'<ueN1(#!|>#	x8jm,_fM9*<M#>(< RK{w(lS]57(>#v~ TuΏ
p	?\\ToMX)<#J7X-(<#92(<CK6pS)?qM**|P5 _?S)_@'| 8,?|)<Hsж)sNv(IZ!? *,|H 6ȏ (&<{@p^!|L}  UEKAK'>1M ,s>w(BA%@/=?x$"TTB !<)|@r)@
.'$>T <Vz??ֿL1+*B 9  X;Z(|} &E'<,	Il%%zx$(>
Գ''|(|>(1RCGV"j2}&2#D@fH$M$|!Ugam)=Mt@ uɟɛ@&|\1|/Z+
UM^(< }q'iY1$]j2~n!>[#Ҁ!C[h[YVHhu`X!2C7u'c@!PjeX9TN"-=(< y?(?YB( Od$ p?S?|VWUhK:)C5+<41ktk6D11jK"(phC `>%k0`} \; ??'&?j,td+ze+DyZ _ ^.? BiW!Xp`{-(a&+,c -`'ɗ_Z  _'s;(|}n*w,P USx'|e,~*,< 
H (9  JF(@n'	}(>^z-B	@(| JI'#|YQQyR)~*!1\(A.)MS$ !U^">I
%| UgN`^UjgX5['hlf{t'>zj(~݀ϖ5u.,
UM:#'TL!|a(?9jV+? %4mp`pX\i]}#'<[XKh'|CdYyR(~EkC:I~	[jl&&?CSK!w(?Jv(?^1'~\t]~ D \#!$kX5'Jd|E6!Q`(55]rUF6P)dL,ȍJ  $~Tmk H&? #?u,gu[!d(cWF(?nZK7'|$uX ff̰I߶$<-TϽ ,k2>)ɑ| #~P\zj!(|mg@s'~k!K)P&!W<!}`!Hhv_ Q		#=6WH0+~Q),~,<  S+Cq(|wq.B'<  a%Q$"'Q@ ${B/!!1\(<a]N'C'_R	(< f^Pnq(fa	%Bi	@5t5L|UA >v,o-_SHX`(< PG`S(bM+4ci(k `d?$iJ$d\XS'Nb[Iw'~p_@'~n!ȿ%1>Xmo&jWB9RG^X'< KE`'\dK!)<#d𻹝\Ȍ] `Ԥp">s!#  !!\9!pk!bHc<)q<J+ b*`AÂK<q'
dN,?lK	ׯcpf](gS!dC'	UN0Nu'hTC0qP -> fKA.V!&n -B3tH  )P{j+kfMZj(~tj^]1Lx\'|`N/'א!='|lb3:(L!<.*M+QqX(>&W,|   P_d		 @	qw{w)%"(|%Y||~*#'2(~>4"u'	M@*<*VLp*?T]L+|d\*{h    w!?||T }w-oW,~RE\W'|-GA0R(4TBaO`R)"dV cX6' ^Yɖv'=i^ətck;(P#5.2ppt 佑m-QCX\(<.F?'0WBG{\\5)|zN7(嵜+>!< @!/p#FpkP)dU|O4IU'\ HIUgT1l|(<`@"|)% ^
@/"~ +5^N*dPL4a['	dS@P'>$n R#ek e-j>' .,pPJ)UoRU s,< xP5b,| }	'~ hz(> Ht!?%M\A+sª0_  8 -< I1wS)>#qN)4!.+|1o8=#9SSRR3+ߖ'| 7.iwD'< >61R)BS I%JmH@M_ WQ'%\aZ)+*pd)~u\S)6Iø%?= v-nV,<OAX*<+A:ڳ(C;R(P@N)= S2P=(5!q(]^T.R)a%95	 9ux@oW,>PB,<@<%J'?N?+\lT|+'~u,? B!@c pP!xVk#*h[!1X(Z$B[BJ%TTg[P'l,?"Ԡ  ?J^N!=(8QLiu'}fp9)o JR`( ?|/Z'H  7H'?\%} /R> | > O!<%=XC F++(ʘ(< *,   |!|_(@	A_"=`'<y#q*|#3=:+qr(|:<R  P=5O+>@6!%'=J,>I!H @.	_%@^a!? M$@qVTdn"=
'@o+9.!7%B]!=:Ⱦ 0=u-_mU.?9"'<<86a'$ OK?E)B  JENiVRK7)dT1@n9	#}*Zy{"(_pX+RB,<A<tLj	S?yWT`#ߩ_qU_8~&4 4A|	T@|C?'1$~qzj^3'%ha:CaKII b@!X1qwu'yj*{{"<xm @K^ziC
 <BkX<@, `@gS#WP[#'iU9u _!|9U^ 0=g Nx"&@B. HVN1]`(-+Q	\):  .<!>v)|?Ag'}v(%	7(> 2 ,N-}n	r%TP<.I%FC"$BPB H>2"I?m.(GV-W</2#M je1Rm	zi+|v`
/(Z@/r-j@RC*|B;` lB:k &\@ JO$K$$VMW)h")<znɑ|ɛ}d?|~,tZ,DSN'<GAO4'ZEy'goEM    (w">ċq!zb(zsbX-)dC'd``b$GP`'Ctb]Gw(r /(>@$@"= B<_u!`b }&9|`~'Mk{aYOB"ao\y+~du} !!}u/@ <- @ 8_#_' 7.|!Je\Ud< UҜ^k,c_ <+Z(T6@
'~2,?
,1!.  ?mvÜy+> \8| =3IC|Hp IRt	յ%MYO|SG}@o'<>RGk-@bNysd\UH  m?)|kdb+֘o,|nry'< 3\\c/o--SG+G@b sKA)\y @SH'`%}\@ZRW/E' j[!1@/(o,ݏ"<]~aX 2~,u\,?VI,WOGI6W'Wh"}/(>qyM v?/pPhX(Z^X6([0
[,?[t~YP^	aWf'|hZ`*kR)>@B XT	XCW&ǀl'A$>K@KD <"u |"qdNR)>wd!<){ $?
°@\P f  0_!(? 2\Ц {6NR c,^<
6+,  _7'
qN2,M+_T zQPɚ	C">i^'H;aA.  YgS)\Pt2X(<Q{w-A(}W\)o0 s-~c|G'|-f_r'>sd,p}k>|2m,}h-TJ)TMGO)TSGyR `]@8 ;@`Y\# _j1'}]S:"=| 2.],?XM\(VL!=6(qUqE|U  )@\\{_X-_aS" fWQ4r'<YS	'ZVi;(|  ( WQ(aS+{b"(!3 _%YG'ƾ(B z@<QJp~Bb܀qmE'PZ 㿴 '(p)	  |0'}!?\ɗiJ|9	,@v'3P'>!2o j,`A,~18!,?,	*| V}'(@:F$yys/(??} ?!Q]=@=w!T?}ռX	er}fWb(<YVI'~Bk],}r t]!8po_8(<`\"AR(j`*|o 
l,gY,_VO!~+'MI6(|5d*A8@s@!AT gaOB#ib"=ze(i")/ ^݇+N{}"@t^,YP!m(? Py*<u]1*AS  t?hVWrYX/)YO`-(QNVI'Sv&%?[wU$=-`j&(|#|' s[/*w_^=/ @>@(?D'yI >`@<|®VT}iW '>+]X !;'|'gI'% "|.`'|	/Rqt&FB F	"|V)C"<'</usy!_\*m-aB,9!  =	"~q)?+1|X2qws)<W]Q$qq{]U  ??Gߜp`=ozR|[kP*|YU R)'}X,~lP _oP&x#PFj^!_[|(cl`qS)[p%1|x.Yg3AWQ#?(AWP!>w(X\-`g$>z$=f7dI'~ud,u&+~#<^%)2>`y{-]<YN`>(?@.aSrYC
 (!I!qo:>Aj"CTO!E'~Q~G3#{"{kO\AT!~*'>FjX 'T(uu4K@| E')D =ܜ MF>_ ?ߝ$?@rBȵ@||9"I   -`-`0%<o =!3q,C"<'Fw6(u  0   _"\9<\ ;!1*bAy+| lHDȅ\}AB BD!B\&>"H$B(0Yu}'o\ sZT/?U`4Cd 'v%q!V]:r
 Xug-:(7d]>d\^.Q'>vcU'>"r­)	/>o-[#:YR!XAO[/Q'|!w)~%&\ @!3@PkdNB'(Dkd9('}o\(>!Rɐ2}x,_q],?YN SMX['U+v7%'f1 b6J }\J ~/5Bj,dYw'<\TO^$] D]-BU\}[TBFWgX (jn@p\!: 0=)kO O$n]0-$<U]ZX <`?"|":`]!'1 P/Z> ی#??׽l',!}ii }g`͢?'P6'|- =C{@|I$PAVRwU A!:l=8  1ɐ\"|(@(1|jG1 =tȇ|H }B &>Hu <H}?*?z` )_bU@[UpOM'}]"(|;dol2	'| pj'leX3:'ha}Rm'|aua{)uI\"?/%?|x`'~fY,iY\A{!!s)&3tw6&<hwI@Mngiw({o1(>$>`.W$>`y},tb9bQ*|VOi$'7fVPkB!}F!B($#YO !PX}jl^t) m, 5%)m,<^n0Iܖ s^lЪcio a)9Hh!@!6 gP!(%I >`] 0!$|T\@ +X $Rj/؃#?'vж*|x3wϒ)@}%͌o"Gy  },nv@0ɟ#<o
&>1{ 
 ?:<  +~#B|B*oM1*< zȉȃ~ >W,l''k^}>XBZd!?ۖ(>yw.5'<7jd9x9@ mhn[(|=hO.˫jlqlq|) !@B	)& #5~m!"Z(>Mue!}±{g!u,~&?5}&>B"<s2}pu!=C Fqr(V$=Qe#>`,m.qZ+|bXO^"'; j]!}7(D~l1G\Q@hHč(YN/'@ uk>bqykN[)lA%V}!'< =wPWp`lh(BK$%'vqwBK!05IМ 8ѿAUP\žwr%>`#<[^ ?[/!pJ"~Y<    X)|`|} vtiO'>wi'*ts(?2$Xi?Ǌ u@t@r(xPT"E2U&! J	B%ܐp\Y ~mk !e,\?,6!,?U ) )$A6$[,= m(= |$[@ ,< 9@B G-$,> E+,pN,> {(|M <w%>IP\7m)> f	$*= ,< j 8o @'= \rI	ËȔP	 "<?g`\u)>y,{ *< *&>zu@VmW!n,=*| [ &|P\!{z+?l+> g,h,~p?,? +~,= "-@ @IV]-,>~,  +~$a0T ~=,-;* *-T#=? 25@Q1}  {!H|"H!%XvH	VBI"U}'> ؝$m(U! @|!{U, , ,_m$UXva[(>@ZU,,> }*'q'~'v#UUmdX٠@	nd.qs(|o9(~~$ m,-> P  %o
(|#rk'FOn#a'>q@
%( 	!>_fA$ -(~S
?z@ `VUh{^qE)$!2 	A7	/+'~eC0	VU\B'~?&!1Z(?X% '	~BB, I@IRh(Ac (5vk'C$@+  gD>+   > &~'Rpk@\$!^\H&@|!<N'r&"WV\X)<I)|E)WnC@  md'(g)< c'!}|@v'|\ry@mmQШc];(<t9сqBod]`(|Ijd{?(zkq'{BH!&( #zc:(JXkg$-'=uIWI(cts'N/(|	'<ض$L\d'(c!n) &(@Mb(fhC`K G4#Q'7!B*Ay\)>%I$'~! ' O+? 	~B"Cu(s!wb,(}@H  Y_,|.oM,> { &<    ?m"|` w%BX,~N,C)<  )? ,|G@)\)	)= ":O݁|C݉ 5> {]n,> j,oݾ|,> * ,> |,> o,> i!=$	 '= l,> u!?) @)> ,= *}-oƒ (|  $(<  ^i'| $) ~'< f0	'} | Bw i( 6a\)+ZI)~ +B!?W .$|^?U +H}(i "_O"<_= 's\3(< !}  W
#:(|[%؂-(@$@ z,> C*<{(?    +W@ |  o"|ApP[:&Z"~W0~_U"p|焲 ^E,> |	wIm)> x, {,< &)> ,~ ,> ,> ,=  '> ,> , -= ,> %)| ^~])~,~ ,~ &ӗ,> -> _;V_N_m]]i"&w"*I]v~)OUg~9	^}_M* Ts*<hUPy|&UMx}	UKj*<eUHi,> Ge^!'> ;L_IWU6S,)<XB'\YP!<t>(|H#(>`[*<  S*.",~B*oM-z!H  (',"|^ `B)'C$ 5)=] I$C c@+U%< `"f~V X !f'(>)*]QU[U%cUq 4]z$U(< DI W/<4= 0| =P) ',> $ .= ,<)| /]:\,BA,A@!B&HH:[P]AH\}' uoU4$4ס?~ U̏?'Tz!~_b'<{o)?{d (Yvasa Mm'^vi@~pP
Z!(<۹9P$?8^@$U! *!)> `
%= DPt3!9`CZ3Z {lvv'~͇S1ICuU	3 Ӌ u-ו/؜ۢIE'ܨݮ$<'} #<<'> ؤ	ї?Њ&XuЈ*_{g(<o^غ`S!Z['| YQ(~SMhh'| PLNNKۆm'MIi' KFdb(gF?X='?6ZX(|5+5`(|b'5P(>5w`( "h@TX%X%(P \I/"-?B),> lL,> x ?_P# XV"\BH@J)>!i(>(>q '~Mn(vq"=5\P% 1<-<h`\Wݛm~\)=}m(}m}(;@nn(;@Nn 6]|)|\P d#. "yX`i[6'oIҲ)<nǴB$~5@_@Ʒ"x  !|"|y(OI)yR.R )쳰{$hTV ^Qm'?
\(> !~d'> \5) +{|)
]\U'~]Yn绥 :'| p7 $!))-5>3$$! `El$A><B" h!{@BL#bAh`BMk+7'!^գ(<lSc'> cJB'ZF,^J(<jTR)zg(<}iP$W5X&- 4<E'"y$V!e|\+\];lՌ45y@??^b#<d)>mR\G뱬(T?@<LIR)L<!&H;]{m(> G:]o(> F8|m(? D6 )< B38 8+&(> .'%'>Q(~:(?-ڢC;+X =d H !B),> jK,<@u))"J	#$D0
D q`P\cM'>cBt,>os*nn@r)|rMv(>'n	8v'$|pXV,t|_'70*m,\+?s|'|Pr) ZP">A 0X$)|(+<&/	"F  BX@*>	!Y)>']P8֡$Ӝ$ר, *w!}*(*o,&n,<Cyu|9'~|\)>''Hԕv$9WɛA%!@*ɑd}-!wPiC$Օ  =%| F@w_([G@a(G7!= (~8A6r(<J<@IaMp+<lIɕ#~5%s  a!r!Bͱ!@8X7TiS0(=@5 xI^|uZXh\AЪF1]i(;)7',6',,/= &\)~4%,~ %2!=!'; 1 (*]Ѭ(!$!")/]k(	Ќ(	b(؊[' _`#_,?&@@( gH 9rȃ<ȋu Mٜ!?!|[Q	@Վ$$ȗu!)<f8)< u`6g'< j_ 0;h$@jCj^@(s^(|gr]w /׉vq|~m$<k >}\D`'9q()}^(<r_H*>*i^](h_Ж(E)Ak^\(t_](8i](> y,䑷ɝ d Y~,O{"F'|~@N)?B %{ Ӝ~\B)> 'Ri(=sc(/v^#<;'? jQ +@eO\9)~gO#r)&oU#F'<*{bP(o]v(}n)># ',Kʑna_[s[ЏlLPXZ_5%9B
Z
wYW(S=!< );/'6+\#(G3@eM1jNA J&P4|/dI@q i@hG*_M3+Bc7,>@'}m'~ #," > !,>  \)>0"<A(~]m(5l(Bc'](-ڤm'?-[$)! h `ۑ'?|'< <$o`B?)| j1MMm}#<WY8}6^l(d},|j[;ֵ(>]#k%?i_SA  $/B_[?">\!MbYvO$ TiXv}_@'}"!@T?KY\q{^+*Yg)M '[] '|Q]!-$~uZ!_ 
 [jc#'a,u,X	,r+|yf4*>#{e'?plf!?|"_Њբ(w}]'<y@E zlT])=^(= *_[O2!$SB*?J<+K>C(?YE+<X̀%$}dUFn)^z"2耀q7)rPr) z+>!\)\ 1<Y~'?|yÊO8@I3*>/)['2@A'Mɛ|ɑ"pՕ  N!d$|!NFO$<"|nZ-\"%+= -E)djVh'z&$r!U!H?Y  !&G	p@k!0w!0	^	 #=)^C&8*?;\%,>"|M(,SIB*<`.> ,_\+-\+>](~2,|a
4)56(< H'= m'<a (@ a ^y'>MV(_6*?Y<)?vX!>闗"=QZ=v7s!		tpP Vxb\)TiW(< \VG]N%)/Z L"<X\YS`~(|=Vps)~g BW.> |$"<dXVe-)~dT\)|SYS6sXZ)BZZ@\UX[U@{'|jViB @?cza,>WdP"c'fQr(=[*vwR/i"|'!xZU  4~w@yo9(!o9% 	>? T_?="3N?`*~>7]Cw?8(-RCPm)U<~?^~of!#k(Arem,G{`
(?/[~u} /]dX;!|)8+ 9+ɛBlU7^A@ 	< KI #败'@N)?E Bc  (ϒ@\(<:PR)>o,,!1 *<Opt!@ Z(>?g(}B,3G)'~ *,?	P83?(< M)| жI > *< R/m;? $)< ]-= $  .   G'	@'>1Qy(~I2,G`,	^Bs`|q|\?M$~iVW\!(DWP!|_(<>`Tywy(~d9)$=! =2^\R][RW(>o[|(v -H#<	@nOc?ZYpZX/'<ZR^x)a 5`Cw?@ ]SO?:(/w(#v[NArV@@UB)SRA|'jI<i+|	L$h%_'ru(pj-?{'uj!*{& >> [jCW@R>7'B7ww(}BPODY?R?kcZ/ d^0rsapS)tŹ 0y 2~jdbE*E5tBE6,bB)i &(HШ*>z(@w!R.A%:\K!}XBy!k(|yP*>',<< < Otg-}k"|BqS,,~?4|(|(?\&    _ "1¸!}m)(~?$\@3=$NP6`*<QK		qYDF1"{PD4*EQG.(~AhT^{1'On ~eyjTiw$  =o[/Y8[@}g\)KdUX6 :TRXdK(!=3u'm u'eT@(#VSkX7m^ XXu,kP(;L:X ?60N'X;+y[#)'>
{E~%	|U~}n\)!lih&h&(y+>| -?ds?W'	bF@G<|>`(	J<yCMaHy+c<ƾpc\:b^!$r'l`sɗ\ɑ";XB"oaE@lO@='O?s@L?gS'~kO|Bqe ~|}G'h"|(f{$*|#cZ@  zL&|D+j+<wi@*n@?)?OP ,?|O'vW*>_Y8,??;+"^S'='< 	?>t'(|>Xk6  H iv/q@&` |-pS<%`nw(<D1P$A^B3*B5.(~PClT'U°u ~v,|a@'k^BHc	sd qyWw|M Au  B ub!|)^S\@VRXa'>smX|(<t`&`& o|,YjX#*YUSK*eUyW!QsOF3P!'6-(<G/*>bcG,|Ibwqߎ%d&%uxl)|khXk'#vj,>} -o{\ ~/hQ_>)LB#)ND7a''gQQ1/(>l<~{h>)Af`{"	'~qa!|! /xIYk\WS?iJ$YI|s(~WI,$sXy+w| ~|G}#Hz,||k&)>zl!wz(;C^p}
t[\q^ )g[|',w!>/(>Ă ->m^'hE|#(>B)](*X- 	=~(<غk!|%[$    a ِl(<	7w(~!x7'> n)+(!}(~-#'? 0!+9+\)7M7\W(?oU,}y <Ŀs~RHߍ n7I  o۶'> @M -?.~&Ur`[S\Ry(Yq\9<z #u|ϼ}l bVR-۰qbT-'hq^ MX\(D1,.&) 9'`<V<,?oQ!}I/An^A%@">&/d"}R'<hd R'h*}~ .t~(<~/jR,MFPG9+|-p<>"?ϟ|n  mf| 	 zhyw*|{&\!	 !+"h @{ iM$z#<cR#?(,6(v^1@} ,hl+|()l^vpڐ% #bTdO;+N!4n(0+~y -<g]]>!<3B:,3+< 	(<%|*-K  W"<*nI+|`Jw(>#<BxMn' 7(>1!`7(I1+
oR1 +< ?> }'s_j[S>(P)r\,{ #v,Ym@EVRpB`SBGe MjC'~E0,+$%/G1BYD"|q^ɑG_%EBd[!=(|Ac[@
-(?Auf/,@ 3Sj,MG;'PjV Ƽtk">tm~Nb	'\o@+)?`X^	)J"<|9@@2r  +jZ#dY!}n-dP# &hX*.eS_R"'Ys,>f,|wIn'z)},nM+<UE9*~RG@'<jSpsP ,f}$@Z<X+~4,~
,O+     G0<@ِ'PVi(F!_2)~#|'?
"}'?*\(F.+nO  &5$yv`+<>s],| w-n/?B_S,d!?H  ?N!})9G1@G-$>(< !au';-!)>bO=#i'|@XHM.(iR||  uUZN4)P_d32)|t^7(~z - Op~sOx] |uOl'{Iɗ9U! ~!E``IDI|+BxB`e@u(haYW}j,!_2@}b,]JCMIK\G'?~hP1uYN(< #|'|hK)X<,<C:q¦M?t(+q -<+0,~4>   	"|(!0 *A(`ж)V'>@)=$AC+AAn _ @= xa,>\S^ hUR"<^SGd ?t-kSL6!1X(?6("|w'~*Y!}U!6]K@ZV\PA:'qw'H>PN)>J?!n$*= MXG*ioW!<(Iv ?#:Bc|O~#*||OlmBy! ?g@!+I$8f;@Ȋ?"t!k pi,(Bp9!q'~0] *`X+YE!=ˠ(<[C;3'(< R(Q>!<t)?WG&(< !?m?( "<(?2ժ(?81$'7p*gM   .2< . ,>   +)`"<+B*,n y/ }, u-nX,?R@#*A11F /[N@x<P8!A<RK'>;=6aZ-'<<2 4@;1 @N8N8*~lO"|(s F3*~%-E'6Џ#)C? /p$|XXǒ@Jm(>@@ P@&<"u' wpO^#ov, +|^,WD,A8:(<<76Wv'|C<mJEv'@KEO:E;7140a'>F7,}f-p   0   ,|
mL -?!~'f̸@.> A=  /"_8?vj v-p[NXI,K?u(>?X^ZBXB"}DdB`ּ@53>(|2+ј Y1*`(F2pS9(hI+p "_~Z|Ou*|%iw'! |pp!xTĤ`S P ~!q$ +\~w}ζB|(~䐓 -?|`5(?)<F<t>b>F  $!JBFL<< . 8I$x$=U\92[#'~G8C`'fNv   1? Q,} x=<g?`pt"1Ȼ Bh,<YQ4>,u` Ov ) x-ra+]O"<z'<ZSLOR'x Ob @0MtJ8*46*!> '+(IA-+dG+})o &?C(<Iܿm¿4NcӜ*cH$K|Vɟ/C + ~!"-.p"'yu) ._b,j_M"yRF$(<I[.c 'Cl?
L&I< ;[>MB3'hPPE)   ,}A*><p}T&BN, b 0B|(|yRd]
B":&t_  ?.5 	,sb,V#ښ \Uk'?:Yq'?2SAAAـ/?#:?+ . -)NH$	'-|(~cF,~In }q=&?˜Od)'|  
 "$Օ pl.= !sI@@tb'quSP'<1&&]w(?eU+*^SIl(<YpЮ *QpLr&EGW@RGygS-A'j]w)>s!0   `d,?'hG+6q]$۠ϓlTV*@*<<P%Ӆo	{j]u(q"'X|ɗA< Y@!q-P[S,<'>Zr\,<#; }6'S`,|e
-y.d'`Z'\[)cxPZ7&x|@ $|X|t\I2+7-~^c(@cG,C <@In$@@$|+ P= ,cXiu@ ywW(r }'&l"J(jo^!b'^p&K'=n!PW9 `^x??]]DX(,TNIS@'Xj,t -   
(<%47`=ah <$n` 0mm'>Ν_sϏ$rxTYr)Y@hY@r)sd,v!4!|o}qTd!|
Ӝ^|)pWR(?Y7*#uC.Aw!#`&~jW\@TQXka"0H2iɛɗ 8z-td,`\Lh] W j~PX 4\!1`??X!Y>'|6C6NB?j(? E9I BgdH, q_,Lr=>H"~R|(>5B _ @e^c_U~   <0G"5oW uW6cr()|'y"y~R?ZBByk!>	l{w.'}%W"}% '~%gS?=!eW_S,|TQMM'~kjX,T   q	9+4!|)TR)URHBoa`!oo~_^'OfXiU^Nu'_YOqxk[*=4H	muxdU ^'TR˰ۆe'U7qSy(~p /`|h	0]\cS@\TQKdM'iVW1(q${ud,>`]"A'!j^1 zoPX \\Lc?QQ?}b(M?  zk-?t<?`}.G'"~B)B!?`pI[$'~!AE'L\ə] >< ' qa-' " ?  ~wP{N@}{-@%h\+ e)"A3q(p^N!?'< SM@?|'=Ws   pSy(	*Rq7D(BB^-zSi$"}ZRBjSU'(| ,jE^]G!}(KD$CxVIy['[qS/'~x6%4p$|:|e|@mY+zZSN'r(|!Wy \y^N@w U{BMUw @@v\-YYQ{)<<sYys/@Xw@#!	 ~{,wd#b]tL۲Sl^1+<^rP .< cp||\P`JSI9(~
jT,s@ -fjS#=NGj>'>WSG"=D'>nVAq &ny@<+ <KXX6Brw#_oI@  ~~`4![) kɟ)++@@B
O Vz%]%} ~}#>@`Xz
X).WG	PG(2h-   cɖmٰ!16(	+!NB4"!<@)>2G}'MN:@tAM9uL8 'G86IE:'>_J,<Zh   ]%(B&4~l!xpz|TXgW}B?(|qYT1$'iYequdrq(vh@[)|t`иѬBfX@jYS{B'<hVɛxiA8#}7UB   ~ihaMBb'uc )!v==? kRt!%[t	)dWIn#'
t]y"'~<z -v rY!)GYK|[K@^(|Bu[yz=_JiJ~!j>@I%<&*Bi(
% a&Cs.wɐ"% p&mkX@n̟	 2!iJaO>@@'L>\+gLpLoќAA|S+)#,)| #?   :ɖِ'|P
yW7(<=	qR)5PWC))As'|	)ry(6+ F6&B3&B6)T.(E6 #(,L"ҕ nߘb  4@} @PXc0|3pG#>=p!=<H|\bC4'|C^Y)R,	I']'d^+'c\c( jR'm+'}RYh8'bH*%r\ >؆ɝGs>bwjNR(?lCP!. &"%s!6p	$6VTyhIR\'|%kyR(~|#T (  `3@hW~)>Vj,<gw7(=>=&@ j=< }?|' dVWl8Cz{i+oA/%P$~1		 ~~&<-!g'ZgTk(ao,c$A]sD:B	5 Pט|  @`XVU}]X><(??6Іì7E[!=4
'T_G+h -^y	W"p?)~1,	 E:H   +_qwn(|7ysB^d'5%(;'%N
zU[*w=UP)"Z-( AF(~,$(0  8(<!G31*~NY| rp$J$CC')?v?ܙ$~Qg!|TXV a"?%g^Id'e$(=;j_%9'>c~"<T_jNb) ȸ1	 "~3?@ ރO' |)\y y}I)< ɑ0%89C3Xp]|!=\'? @\H
 ?i< \` q?@j}?B#U\֙#y^#'~ʟK 1??#xP$j	-U  U,= "M''<  `'Uo,~l_Z(}e!?*
vZ{fp*=!s%Z!}~U,,= -> }"'> !0!*"V!xC~,p.q!t}#<  !>mSw|q!  B~mT[`BD^!XW? p!|?p)|?mRP
N<#'? 96hx'l((^#<(> h_YHY5U'-,}- UZ?|AXUP6X/+?  	wB	])(<S#w)?-yR@'-!=)</P%X&@;."3:c(<U />-Vv'>P+,~,H1,|{Ryw
,f1$|0<?״Ο䲔$>w@ -	1`Wؼ!|2/ z_dB 0  r<&U @ ?!|w!}|w\@C(A^ &`d ;Ъ6\({j}'>wg^Pd^əg(?d*<wN'<.P]B!!v!}k(|wr't*<c1()q'|ӯ	-\jtUUᴐ'\"}π\Ʃ`?IJ!~Z?(kX*dP\+)~N=((HB9Nb)jN;!L'OdK1B$jQ(@S`q 
)zX|?'> uSM3X+,,?	P),|  !d@yS9(<}1S)+q3'< <)yysB:$@/7'p&<5%3:Z%@U(KK*G0,oQ£S#| !| #Ӏ!|	.(~s|  |B<X"t0 &1 1 = y!\   PD@#|_	 00@z4 |?= !*؏Wȯ /@޾A«Uɝm@4	$<"i;"i4$|juSI"<_f\|}^dQZ	mnt@X|";UU}M}Iq|S]_A|}UU _@$u%$<LZP}u#9Cs]~ޟPu_؆$~HHXHH_Xq	_6|"(< @A^d(O_A@I&~o/'s %}Al &%m%[ &O\Nۜ4Gz`M"L9W }ht\qio3P^`$^9ޘ~9$<J_/v\<Q'l
yξ/G/()>@,  .Ap)|/1)> A2!)*C >`q ":+#69(>(HeX%'} 'E-+?,jIo#AD 
 (@@@'}ښ!>ڟ$"O!{Up"|#?"Bml(R $R')A6 !A	 /= &%HB"<	ɑD~%5 ~((X\!}P_1 "IA!'	&%d !% J\\	 H?}"?&*I]s&?'?<"<W	XPRs'!vAp|	\}HI| 	uP#(}A&@u~ʩ@ uȇ|ʧ_M@ 腑)A| 
AA`)F`]֘߇~gT|	4(@}ч ڃ_|'V\}IH|@Cx̰|9pbb{,H };a@ TR$ER$}	RB  L|\AX엑\|~CC_@j77>>4|χ`@S\sP%I"%| PZUPb:r}E)AÂ("i4}@ pL&ktM&e\M$"hVVlcID%wPV|0(SB%!P x%AA~!  r!r!~  S^#&@ @@
$U!= |$!\E.,>'B ,  ?\+=*!|(=B3' F@!4DH#}|Q":-,)+IP	'|%1
'<?'R!\>a| &{C(| yK&P "UwȟI $!ou @ 	'RC( 
(=3/v  X D@O~h|!5T@ <|KĶ <ӏJp&(۸B0$V"E!5o !Hv9tJ!=| A&_@,	H	|	%D30"|bbII{aR$*xa|0}@  4ΠXbN6]@
,|'ͅ5؁j#8	IICpۈ !	AAIDsn3~{+	ޅ ]&|?_P}ɑ	| }ld!BBͅ[|aaER%Z'|P\S`XXxGْ-ٞ$|"[.T|\4r#|CK*E\$G#	R	@	ƀ|+	RҐi^"0((@#4CC48L $1y\H "<$XsN$0|VV^`u$5q' |st(DB$H |"#;y	ذr!2 |uSU"D	$$v||Jt	]/C+Xs&!?)|9  .
'==r'=-!='o?,!/'B!4ɐ|g~O6'"m"7&!|)j'!b(< XN#<'5\(|pO1QP
 !\ЏL$$VVUu] )\ sV(>TnqW@b!6(>a}$b!4[UA@/W_'tAÐ!|!@ ?H$N">| ~{!x^p@^ӂ% 0$^ ^8z$|XV '|@n)<&/#?@ "|^Ot/w@WɑId|KY ~ uB}l,<jwIR)~
|l!v/q!|+)= t!*m'v++v,>,u,< r  mm( q /)@/(> |l|(xl'Lzn]-(< q*~-u3"'|y*>y,~x,> u}'??*} -~u/*> u]l(< ~rdzogd(vn$m)= x|(pN)? s\Y(Ԉx@v'v )~h]Cd(>UnBX?,=&!)> ",~^/*_#*   	
?1'~=&"=@w2#P
/'< 6I"}.%C;+,(~r0!](A_(~(!!7(? <"J5`Nq(V<+>T<|{!S;,> N6!< )<L4 @R80jDPZ},Ԅ Bq%5/vi#t|/@&<0|9( \	"G1 #%LV ?Z &<"|^ǀ0l'|- cOp!S	|)(|֝?^#,r)>È '~^!<iz$׽<-</=  vX(xb!b'< kT$*dPhP\(nW\_)
oX\)KYoIҶ) pY]) W|a(> kSg'> jS,,hQ|(> fP,?hS+<jU *~oX,)~ rZ,=r|)!qX,nV,> Sm,>/mS,<]*o-) nX,> lV,> jT,= i-kU-X+q-p\TiO)>c^?!> o'~1Kb-
b(|iX-(C/( -ْ-   v5'=A1 Wr)\)/ '|.иl(>
%A -6()< p,|(`R1|.8%+6#\)244)>0#?',,5 P0M,>Fh,> a!9$;~X Uɐ(i_ˤ4<_@5!8`d-u5F"A5&9!<@Ż 0r(|y% ~[!~/'~X!5)' |A-?"<TVVW6;@'%@8޺#!qVθ(B-##<  f&_$j!6b(jO)Y=ЦYM5%L4r,<++8O7'> 8Q,<,<,*M5 0*>J3,} I2< . M6,m(~ P8,R9,|*AN7,\+~"K4,~ L5,< )\+<"3m, 8L50|/=|*M1@)@(!> l(*5$b	]1
\)<@@@ .  ɖ @n)]	~(]o(!}/(
Ll(|8 2ѢM;			q(OpS(~3NPnv(!,~\)~\i)>"} (= "<2(>"R)4*L)+> >a,>@X,@onn(> W3$V"<J|suPP,R9	0@#}^&>,>#; |;ӏt
*ʯ\<!|B}X=$|$}qk[)<W@\ɕd=@ϲ/?{$c$!c(|'L$J\01=c+F@C/'&?$AX(u[>Њ)~l(A,W4B-,J/\*> 0,| .< \+>L.\0 -, +,|>? --/<*1,\+=1=.,".|.|2r9]0-0 
^@n-n<C, +2'!< 5иյ(~@	b(5(|6-ڴc'| -[%   _iv.aWv'<Pn)='=	\y)Q	H(<
'< 	ШѤ \P۰mɖ' (~!](P)>,4?( \)T
!<5)
T(>p'?D1+*I,>@b9,pS,>Ae,< y@Ѝ'%?\,<U.)\U"<"B tJ0#|PXTV%'×-aܪR$~;&!uBv!~#TB欣\)%!pa!~1}a#@"ƀp!RX(tyh\)|"D }^L$!!E`S'$!(>*<"F|!!Fp.""}"5^$xTX)uQ1(1Њ)>@ ϵB 		q)	, < (,| .= ~,= 8 ]@O8	,<@]:> 	,.<~!==<=r<+<Q2m. |-<)~!|)|]6)(M۶Kx@ # 
  )<@(``I)|\Q)QD)
(Ҷm;(A[6)	*	 ۖ$*=m	@'? ]c)< !, *N^m) )< m /	pw(#(
*>b.,~@B!, S8 gE*<{SdH}5\d~OB ޾сf,Ri,
j`$  ^l"|1( q+?|!<(|p [	p@<%ap!?cV]#<7U](~!qI&|a0~B&>0}z"=\(<\ka+)~obAw(<uy{iJ%# %|^ >$!Z'@r(ȏ&>C	0}$"1"U&`!>&_BnK!<G!6)> )!|V)> ]#( )Ā(~$ \q) > ,=  = n8 + .ж ? Զ$ ' ,|7 !}> *-D/|)RB I)} Xt+)~*<CG$I   0< ٖ)?  *|\]M*	+	 +<H-) 
	 ==  |@,<$r(=A!>(	`s(~(,@6Pn)F),>cR6"<@(> \=">(C^B,>_D,`E,| dI *_pN(^,Bw A"={`'Ay#|IeU,>t#'R.`1ud!(d](~i^I@kA('|^U &|$!*< Ml(<7	0#˟tI   ~;)UB R "B CfG 7)A*BJ$,H (H    Z      "! *<  nm'=mi'#	w!v(~,_)](4(>7!\U:%,5;%,~Q=&]( D*# '|K2BDdB'BYI#|">]u$A#<_yb+~{g#<(!=I)~w$X4q"<<@"<\p`X@^Wՠ='?cY9(gph&1 &!B~ )x!|h)z.) (e~/_̼
bU{)|vx8(<v\cCCAA^A,<')? #`+<      T } 	+< '<	sɝ(|"<)	ry(?+?,,,?",~',_6,!F-,>bQ3'	W;]A,>!bM,o\+|kɛj %kR !jYXYR^?'^S ('_z`C*BJA }#|Aw,{b"êu`+%va#C'dv,td *fٟ|X="}3'9&,!      c? = -?)``(| `s(|P\',?3< (]\)<*>a,A+](1P*6 +>"@&^v'|CM2P@&[EP/FnY)&~>ug@CcUX+UM9@YNy'u['(~~		@%(,%A`d@)aLb'>YG\)~[G,^I,`O (|E\"`@ M7)5% v(\      t0< 1>ɖ.<a.=( ^I-} . )@(	(!<)| "Aw*A,+?*P*<<!NHQ6|(dP\(>gb"~~_\ A^MX@NGM'TGioW'{$$B  "!|[XB>Y<!)<D2$*<`B3 @r)|DI7P*>QC_nNȅ\^F6X|'~1#,       Q!3)<`*A+A@,`BRq(?.B.,WB!?(~^7 ! Y? WGC'|IA8 MBy(jN@pP@ B#y#!&!sOX+<>M2X*> %4,?1%+:+,F5No(~$C}B A1](?0"!< )< `6):      0= +~ I,Am8<A $ђv'?@&$pB8$|(| Q8*~@NȾaNQ'%A=MS?7uE8P
6(dFBjhB \~t"%lIt*<)ի(<$B-\)c;,k'? <z}</P-]b(EX)_          
ÈB1Aw);,*|B@  3UA8~2A12(6,!l'~=?/  Z?p)dɝmk$Ci8"s"*!<+>&,#!<@@В(e'^1'|3%`
)1K#	|}  E5(Z((X+? P+~ )<  X%H        =	y(	ȑ'> %!|@)[4d<,mw(~;)sm'<=2!8* !}}uô5#+P2"|A(>mR,av "!%!0=@jJ`&`BXW;%T!}`(=@S'!_q-]N,	,ɓ$EEuU/#B$B=4=X5       S%!wBdi'?#*\)~)m(Af(~}+,?A*,^E,< aɟQ$=@Y
W<P+<~8!X*>\)< Id! 'in%+@V գ
"<(	l3'+K 9 7     .   SCR	!n(<@r@FFCs
?(< #|}'<pSq(5,N7&+> LcB_ A!"W@ TM5}3'}1!>^(^(!'	AH7(?mv(<!Cl(
X=S'< :S;(}&H       N ِl@m`S(>
a)~\<
(<@r(~!	,~])\)>(`
;Q,N F'O$GA- +"?(? 	P(< 
Ц"
6(<$\¬	\ @ж+֭؂%+ ; w      .<`#=!¦,|
 ``R6'?pS)!a)(2 ?+`*<>=9|vBcE/@@ 2IR$* +`/:(<^`ڬ]'<> "=$)>$ȶ($m6+?ض-(-۲-    b     (.~!)A	!*	*|`1b0 '=3#@2"8ֵ')!=O (|`X5k&( ˰-> m+}@*}@ =      L ! I@#Vq`
P¥)5BU =(>	A(| X *       .  S((v)}+	?(<!d(<* B[T!=>    f    	c"}*'< P*"}v(<]Hڶ,>ض'|?"}m    ?    Z0?  ,  I * < mK,= +}H    w}         k   ?        <         <         <         <         <         <         <         <         <         <     \D   A  )          <         <         < P  += U    P<  I$I,>  ==    X |=    P) -   8< } w .	'< Ib$h	$k6 )| $ml+ [m  H G< e  c6< \qdIw`Y{x	 'H]Xk~R?Or&Ib?)
^)M&k%     v'I.'
㖤($'|-w7'0Iɕ]]}@ 2X%<55b'Nk' #
}.' ar%3<  QRPP~B?' >>    
I'.ɝy&
})  S|oUS`@ O^#'| Gw7' K  %GGfp`  H::Nڛl'81(<.T2%B<||=*3:Z( 	
    
 SI S1qI{.e#xF6D30".@@ >%ORc	'=X+ywS(`p PLc?e`\S#:"wu'E$q/(;Z%P%]=05X(0 >   "Li'}.m(MI-''~ .W)5ɛy  ՕWPwN<}'oCW1u' dm,(])\(3#u'|m-wu\@? H =595'<H    .<] ɟ7i)?>n)<]%	 += $(> \})])	,> \?=|YPHyw.'| Jɗ\$> l?:@aM}2'Myusu3^ y_|w9#b6I?^|UyC¢Gə|e׽  [Dм7}9   .}]'	_߶Y':i86|u}u]k_z}U!A]|o$.!CH||+Iw\\iE?O|	p RpHfV\bR\55%׽XwjWt>(M_\ɑYμu !s|ftbM1\B qIDaּEӏI =<#*@   o )b&E	(Ir$9(>\IR,~z+yɶ,}z7*|$$H(-ɝwY'>w(~r]_a5V n	NUT5 .e%FKw``HI?a~}%Obg&M^`|Y.|/ O|}	PPpp R.u%^wwvbs+j<% .~y"/ѐOU}0 NG  M׼&O@P   !|kq'}:/g'r
]uSc"z(:
'*l$!<.mmsw(-'~ J^.W'-@ʿ	W@{X`m~q|{X#tf1@L蟘^	L
 ,&M/˾	 .?WG|?p1 |m~'ڜWVTuP/従5%.~]^{2~%)80TٽC   wy')'H*@侼kER?֪Rw}B'(	!|\)LI#+U\'K%*5!?~wUD iҒ\_!xw!LO
]e@L)pm **<.> ?	~u1 IId!>1'݅	. ݁|"PVTTP
%	>|>77/ @^ Yܼ=F   Wy'8!k'7t]0M'?|\[T)s>/\)[1#L}%g"~=p^l!c>| O> @_`,  E]DDȀty ˎu&@ > [-G- >+56	)'_m+@,~6	 ;> ,= ?= H6, -. @, m+? I+?nK	)|g!);,> @)};3,~,~<$ ?1H >H Kȏ	|9{'x'|[X-!ry'9yS1q'JP&~=#=-}`!.!=ljP]c o O< E"%  b߾=Y!!(A"}(!cr%)'>+!G)~)I$'*
,~ &	' ,} "1< *Od(~t!e-	) |7 * )g+,>g5}	''>7$(.??d(<;0	ܔr(Y~S+?H$ }'77w?L "K!/0G #+X\+>?'9)OP-%05s"$+| @@4#|"1 `$6@~	 9+]_ a/= l
! XXX%7(,&h p[	  >| '\TT,|ʏg( rk'L#\B}p
p~#U\ -z)Ҿ#bU%4 $%<D"q:?7I#U9- }~^,_}#	I=/c $U!A',d!$iOQTH*G, '. ?HRc(}ޞ	/  ~`8ƩL	l3N5  }%V!>9e_L%UVX##|K)<_ 
 7qW	y6Pnw'|5JֶL \I/!|il$mWPRS1w"@	{"[^ШO?XĶ'`f?  gr%<Tt%ᖷ 0 $! 	H@ \6'^&iۜIcZQU 
?/>e\"DN @s`'"~TVgNv'~[7#a		C  kNtX\i@~Y0~5`pzIa4QQ  d[@h!#	Mq&>'X0<QL'}T!<umFkw '>"~&}TY#|dyG~"(}OU"|X~%01`U ~E)D/|FP0 }	p!@VK)>%!<)|!< $H$   vI(R\g׹&.wS1'~0.!!=&ZN4 ,&~]uU1uS'<@&>Q0;KX-'VJl~C]|C_/$T!]pw(|w/#}<\` ||#bN=}'V	J  IdI"}3 @B+֫'>h=}'<\Z.$~P5 Ix.ܜ&|Sw?$1 @яI0f
X\VWԆy6~
}!| qϽ4s Co^,'>&~~|"|CxM' NҔ70|EI@#|X	XTVV뚶a~Ev |IC&~*"G#C?|VT>(| K$k& !ۛ6e'mm*4ɛvW'>P<!~P7(=E)z}!nac0@<$\`p_q
Һ1(<#<q[	|IQ|;jK:)<AfLW)<1C<}C`! /p&cW9xək@@ߍZPH&<SLr,'PH - x!`ɾ@`?i9#>'G3XxQ[~m ~t1$0~ G?f)Yn4'q75XpH '~|i5&t"7it[k\y~"}$|@ N(B\!&?1<{z'#JTpR(KH!25??&,|U r"'p' .~!<)+|[Iˏ_  W^> Q(<Jȏ@|UUe0X!+hIɗ|o!	}&<~~њw#|7kJP)|gJ7qSy'=S H
_}TmY!w'|"j1$|a!xZ+LRFv+'RSh-UScWU]~E8">/|pЃ=>/XX\_;*>A!-UZP"}$'$	~g0 /|Ql>HZ}X L\pP'W^# 4.< ` ȜP`@Y|~Cֵ|COB5|-? lwwzh?X'||KJ$<Fu `?'||2		\YKU#)P 
(<U!|)>.!~T'< *L$J$\'>,9.U'~ AS'A$<UwT|%]T )|ɟ}o5S	r;'F\+)Q;`wbB">BaNFrnWc%<8%~Z$\&/N=`'&uBpSy'Sy'~X2|n??%VTO$O!?G&s[97(4#|B		 0ag W=0&\Mp.'rU =R ^{E&? @5fOH  |zTTo)<S!Xz*< x)? .s?"|)!~"T#9*&` x/^}) hШ'?.	2!;'>J#\	f$>K||~S7^.U'Mh&H %~a/_!7{e_yP	Ӏ	~]	!;}'hD,|%A:M'H%"\P\WfLy*~0q ߽g.>\P=j'!!?"}s%_-%X<Wm-|
_J@ 
\S!< !?dC?RbS 5`" &t^`w'{/P%B% p!^'xA 0|"  a"|;{VN'9X} 9̽d"&6?| ۛz!"<C!f("|1d( e2 /y5RT,#* ~/ yw/'-
ɝw'< ɟwz$|OMD|3X4Mc	p|	~gH^	.' h-$f|5`m$Ӎ'|9j_ɗ|K&OqfJ'?TAOmG'Py|!8hR9q@'~ q_(%1>M_,VGsh	RY!@P# ?_$<=@`zYX3'<Wɑ$I$}	5@lZ@\gR`W)>Pm!1P/}~5 <POt]X 5#=1~ 12gM't!=Xp!?\ 7?۷h!$0\q_	"<%"D?03&}(ּO Dϖ'&>V;7'E2C$0|54+}^'h iO!}/9(<Q@U>U#K	6&&,~|7	4$$,\rhXI'-n 4}\am\sc!(?5"??eR
(/aNyW7(R`P#CdAo@=WTkɝ"'!~&>}K`-WPx_x/\$O u?$`pmP>3'rP!҉#m!T	v	%U!z\PCN![/{8}0e& ?<=J@&o/"	0?!!&_ "&@ԃ\qy 6̘h+'qIK	0~~&OsՄ|SF3||'z'<Xڍə#|c##_2G,5-_ g!ݖd)!r1'^%1'>!X|+7?/&+N`_P_U՜'<s/6%|j`~=$|p^NĶ'.m$<%	&$/nV"'vS!!6(1,_kL$x&$|2\XzeR7' #<0%?=`,_M}]X 1i%!|h M|fF 6 |fdnS		#<!@MkV|Bk'>kZ!pR		1|ZN${$>]"<@(H}?)"} TTHA5/}L&k4"<0ݛ!X>	'"}V7oxh'I)#X5!Bn&<nd* $o r'v};|;/#<"Sp \]O >%F +!\a)j/,? O#?K1z
! ^0i'<ayhM'> iQU l 	-]
 f|}!SI)|h&l(\	"f {/  s&I(=!o%/ u/
XZ~^I' ](d(Xc(?&u{?3TV o $im( 2oJ+\s\)'?	?
r|]e)4\{p'L\x	R_Uf!%hc`Jh|W}E(,">.#	iDA']&s|k'z'ӜiUgpy'?^m|[~K}  l(buc1}5!'R!%= ~(>xJ \!<%դ^!mk}#/SW:#*|= ܖ'!ۖ'}d(@blh)b'>| 7]A|U  ? O%?e)`\/#qtl 		'!9 '< IIN~a")WNU Il2)Q'< kO' g!}xI#}!<iI ]'^<i$O)= l!ri'? ㈿!iIp޿		 .}	?I@ׇ?@M'>-]!H?hmS"9\*b?IJT!X(=a^9 d-i.,> |~3&@ל]"^h\7U|">1b])  =9  hiUO'Uf1|\ '>}!9fP $~   $|(  = el /}GO#	 hXDM|%	V		WU~ `?'!BEi	%~|eL!j\)|'	$	I" $^_|g_PHjUU$}_߶%?Ū] 
7$/I"A zk"!~#~Zx0HOh$'< Mc&1^GXt 	5E
)RU ''|"W	& # 'O,g-,> !h&*!yv#<$ @ #D`TA&rN'%r m'"wr܎s$P(+	%?<[WP| `XVw8'Z$>mq^'r@nv'?%!>]}	B&b2|Ynt'L!?mu^/<~L'>,|˯ʏ&|TҜ '{$?9S'>t^m(}v^n';Nn'|L2
@"|	#թ/"<[^x^A7Ԕ&K2;c?>$7\Xk:&)<[9@r(X">M!%7% }&\ \!"@8v%~r,| ~#~A"|AzEШբ'<U0(~H*|](~F)|5(E( 4);l'.լ_'< X/S?(<0`-:: '~9'~`*"' wj.`R	))-~Jp!<Kb;'<^~$@$|%fr(?|KX |[pɝ$|g|5crw|w~!?i#o!mk!|)\`^|}\z)	k`|Zb! _ɟ${%$%Xp[d'|5/~I0|LXg][(v?Z5 $<y7r((?$?	WW XII$<-j@h@4(	mB"|'giH%-s&IWPx\^B-:)#?>^CHpGp`Q+X-)D).qWy(|cy1'%	%SI%&@W $&"2&!B F!jK#PSې_* }BOݸ	_I1]\jU]"Њ\'38'> ,.< IB'N4'~ ]	(= ֵ'(|X6m$ '1y{	N1(~U &[?}$$tVWeR`˺'o^$<!M/UN"# "<[uSp){!$<^<sS$`ppPsRC'<VIDɑ50
[@'<"fT6{N'l!?mə"0]%<`"<aE0v'Ww񛹛#=lEn&i"[u#=a  .ky%C~.|t-Xd `@@O8>(S:&!S#4	i+>}_!)<{Rм-%>~fA!>p![W2CC\0BiAE!2>=&~t]e(|6X`|@\'|vq <z`#'t#a2](~#A](~!>wS'~ $<2 = /> H$ 7W(~U1!?7.H'@56}|;C6wS7(0!~_2<]p
)oTww-'?r{|~m$<@0bSh"')[@&=%@ .jw&|ؾggS!wr(>fW /Wyw)J}/U(<p|F0/'s9pS)~Zp!00!<}|!;qq߼o NtiP)>`Ama>y\/(>p&+Ϝ'<n_x'ux[$ ,   @c lFE)$<'jF*>A</A{!)uor(~$!$- rE Ft\ q'~k! R:?|~SR]}(X)!+?   yw(ps)~)#|(PNv'<j8*@!p8wp%~uT\7 6UL } [ZSxx_P:y{}g'i#'&|U#34~R,@%>*%|'<OZH#|@f//#|M]7'5=y&<}fG,Hf&&}Ӟw gv(|` "~s#}, p1Z}'z7uCu6(]@0~kRlS0r'~c@UU|"j%M
UU[@`_Fضe!I < AC	y2X,<`r"'(}@ | w ɐdI)1p'L(2&1(
i1,PR7 > d.zz'`<{|&|ؽgj-Uyg6X,I%!;)~w)!j$|j}AV<ry(QB!c$!hP]!G %'}= ռ&>~+{z%/=&K! n!$=\GPbyW6'~!,/},[;)֪'|f;*|CqLT(|<g9=\'<J2Rw(>9Q$ 0,= F< Y-}2#p.ph-`O4rOr.T"iI(n}}M"pz |, _-/V4Z'3!!tb]q!0#??$?,9+ |'<+g4)>w =(~C@/~²``@K0 ""=A"=rW5A'3=^c-T9(~=CP$V!PGP!f <_0`@D3Iya'>
P  0>I@ .pf-&!7N #u4O	&?!Gv(G">Ja~bCYH  {,i d,\MrPRwʯ'A#>Z|!>Z;)!,s_0,t .&5SH@/E/>/G%5`(c@.%%1&$!"{t%']8>ng,/_Is	'T]#7~D!? |#S?+1T  .'~gb*|(`h!=#!<D<  \/\&T]m*?nw#<J}b!iGp["/p'=}#m,y ;&>hS!=)6UՕ/ f,f\NꜾj,U""p`@W0}B?(>3_Ru't g, 4,Q+A	1>^}J X /}d`!~IMGWT߾$!3|q=;a|4i'oiy~4~k~`p]O{ި'g ? "pN!Kq(KWE#[	MuUVma$$	UN'O$4$~oK.uS1r^S#[S m"r)@Sl@B
6uSq_O0	|	`pXUaQh2|ܿZə\C5/~;g,h]'r*		&
FO'|[ßgAy;6(v=yz&g:6,h XXÁ2"|/!xTȝ@v|y~+x*$<2?~$<!<P\131@``B&^%< BIJ3=gC%'$}hX I`'>)ZH   C tI|?0t,Il(|K( D)C,@6(@Mɛ_#<@r|U"| 
MYX[	$< e`Uc#ܘ	s]P(p[X>~'V1`oЏ0k"=L\}eIv7'y(/2jeW@-Z)s;~+|,yLvS"mQ'>&$!!""<>x-|$_VWl@v'~h=<<%Pp)\}%]"1TM"ciJ -= !||)!`BS?K7شv'J /A$<//"'r"  w)<yS:'!4!I}wu^)H$\'#}'D /q*;UoX!@p  Q[M_ 4"hN#zW _AOMaUODhB <bhX^q @(!P&]	1~3I޶H$"UC. &=!A@nБg~$l&)>q|	#O8XX%l H0\|aP:)<w_6['>]z!mBG!q'(<y$>`zs`eZ.h}3%!Hyi*ނUB =o_?c?"=\_}e?#'<K7I'|O-\Ӝ!"!=$/i}^!'9C?\~TW(
)"?j& 	 Qy(?+1R 4B!M/Rz'?&'#@'[R.9&|YH/t}p| CP!*!s oD O@"|<!"!|&|0< uQ|Dd@ "#  ʡ1[|#44? ؃=&2֍r #<mIA?t	UiOdA|GeIyFQ~aU3  |m%J# 
Ieۅ  U0x~'~_|	TuIH=|	$ه	dDDmumT\2架&XSPߔS07bDlp~!]QObD7p#!RII.[0ɜDH@܋O	eDD#<1?3?UT%	A_`\@? Qy(|.*6cA-|Y@*-#?'Y%('!';7*@@Xayn$#X{V_d-%\`hk&'r&?@\i!EO&6 |_C"l /~a
9{\1	#_	 p-$t@$}!JDKƄZ +pj'~g!Km7%~Ft؀  !<yu$~c3wɘ\1">@r 3n|qx\"xc\	~D|A%"x]\~GRSx2L	LxEZ$}\w Q%~ (N\~xNI@!@y(\c~!,]BL#	S> \*|$
Rq@z\9|">:,
"'/%
pW(I"'R( )@L (~P#'|;}c(`p(@	kAW|A~!%&!Avd0[B3,.%|2?r`@mtW| |ֹh{V>~o,xBЦcM'~b8"(k;,l<](> k:\1)~ d7,>c7,i*>n>,}n]*:,Hj:},=v+|+f9}* + m=,`1!ݭ(|F-)
,A !|It&](>@P*|8*X=)|N(( |?(|D'= ]v)>E,|+w(}!<P_܂ {TA@BAma[$)!Nڕ-aw= =W?'i[	B_  B
iO?!|\\o[|J1{@êh9$B°&>N8#}D_X
_]̏*bY(04, @*+
,= *-> (	-< ]r)< .=.-< .~ ),~+
< ? = )F)	~+*Q$K a Mo( `R'|`)|H@ m)? ж+=c)< |*  *  .)@'<+>W@9֒"A^oH,|IF]C+S_[uz	CA=ݟ'"|	pPR]톶_.&~0Bw` `^7qwywe)&!<@ X@ФM' 	` a|?|@"5NSأ=&~=,=:)<^/`+| = w`+=  +^Զ ?`-   d:| .	  d| P}$+vI'? +?%
3Pr)!8+?@|'x_ *|2<^I\uxEM[maWv% 4"~@jV,z!y(>E&u\ 
   0fІb'c˿%~D	g6*>C!3=&9S#:p   p(& ЖMm)~(]("!ӹ(&*0@n)AIl+AhB y_^[BB^K}C'rL7B{5$s\@
W6,>+\9'Nn(39#<C#K=2    #t)?! "(Ж)><+R++ Nz!BBCAT9)֫Zf? t!?&>xAX@m.X)14@C"N 6S$Fr$"/R S,9    O< Ud)>  @R)Q0~I$"PAyUU=$6(>SU+ [1#pl#~ ,!`r'<2@(s=aAQ  U'X/9 ]   # .? 
y( "0'P'+<k Ė(> ?,9BDR$<PX= `T%#*<z
?'!#<d'"&m'j E(|#A     )I	(0)i	"0'A'+Q+ 99Kl
!rSYU9'*(|u`r)B F*
;@I&k p<{   .< .}bG%!>wBN,, 0 ı)$X'(<S	0(?ж;?k-*I    
 ?  !.(pc(}b	D,8-5k     	- l+< !,=   a        <         <     <      @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           @@@        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU
 Ik
׽   UUU	t׽   UUU I$I׽   UUU I$Il׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU        ׽   UUU                    @@@@                                                                                                                        	 I}    
 I߭	    IY  U\ p	  TTTT  HҸ1    xI$  UUTT O${'                                                                                                                                                                                    @@@@                                                                                                             II    ?ɝq  UUUPtJ  VXXX1πP]  5#
  \XXX:W7a    {??\  TTTT	؁                                                                                                                                                                                    @@@@                                                                         I$I     I$M    aF6    oI$  UUUEWwֵ  D'H<  PPPPE{/  6L  XXXX$ɝ	t  U՞??  TTTT؁                                                                                                                                                                                    @@@@             I$I     I$-     I$Im     I$Ia     I{    >IwY	  UUUaI'l  UIA  E?  UI/%>  	TιV<  aX%<  PPPP\ʯ  				iH}  PPАZĀb??  TTTT؁                                                                                                                                                                                    @@@@            #h1    
G w  UQQqO߳    
I$  UuMI 6 @3  UU#?H  B j   JdI$UC P   iJ  8(x??  Pp`s  ?/  ր  yP`  ??}  TTTT؁                                                                                                                                                                                    @@@@            9
11    ?{  ccbB3M5    4)vA}  P   ׽                                           ?UР       }  ?+?s00            ?}  TTTT = ܖ&    $ ۖ$    $      ۖ$          &     r    # I[    .Im+     %R     I$~>                                                            @@@@            49W    l$  BUUUsOɛ  UUUMZȃP  %hp  PPPZ 8   UUkܝ   %Ugy  @@Bl    UU舒`w	y             @vim$    TVU           BW  `@@@5P  	]kx  IU   4\  K?g  Pp`@I`  %l  PPPP{@   5	)  ZyΪ  (?  X` ><
     I$I$                                                @@@@            	 7۹}s    4w{yu    )ɟ  YXZ  5O؃=؃=  PPPPP@@  ]̯H$}  TTTT_~(r(  CAAAPOɑ}            R @y6`9|    Zʯ  		          ?s  ` ?{  @khG{u      @.R.  %%%%Ӝ@  t
  }Hl]  PPP<  u   VVV "  }>>  UVTT M$K$                                                @@@@ IdI    )ɝq    mۻy  VTTTKŜY  @UUrj@  %%K͏  PPPP=/%H  UU\ @   TU`{  B@@@>~/-(}  UU 
   v?  @@``= ҥ}  eE͉^P  %%                    q0  @`@NU      @@  %%%%     8   
     @@=            hT  VV
M
	#  U C??8  WUVT H$H$                                                @@@@# Iܹ    7	  UU9K  TTTTobX`sBh|ɛ  H؃=؃=  PPPPEɒ	`<  ENP.-  %5f  @@@@JIɑ}       %   Z>  PPPXW<X   UZ[ɗ  5            0   `` @@  ]I	{<      @@  %%%%@<  0p   @ =  P          ۿ%4@]  

VV      ?>  TTTT J$H$                                       II  @@@@Ywy    g!M@ {#XJx'  TTTTjß*   jUd    %SɏH  PPPPW@@  fL8  VTTh}  @@BCSɑɕ}  UIi     _pP<  XTTTZ <E)UU͋׽  UVT    Y  gA```'P  vb      @@  %%%%~  pppp`'  	H ]  PPPPIJ  Mh   V(         >>׽  TTTT H$H$                                       II  @@@@	_11    e|"   }  T   gIBr     U   rXf1	   zX     P   pП     }J     T   wB     A   c $  U   ߐ6  *  wM2     V    wL.     T   4  ?8   D^/?! P  U В    U B0 Զ  %U j=C  `pU qP,D  %U iՏ
P  PPU n/Wے  	%U  Ib   UPn־   	U>m  TVU dI@Y  UUU GI?v  UUUx-	               II  @@@@\11    ?׽{  h'   ^UxH   
U    	    0    `z$&    WU{ 0v   5U             VV  O    TT9    rri;    UUlh    UU   TD!  2? <   vI[N  `@A $   UUU`m"  U%	֚&r  6	  ^ @@4  li,cU  I"	cU  NIRn   _PP/ P$   UUU, `$   UUU#?$<  UUU>C?               II  @@@@R19w    VZ_><  BaqYӓ   ]  U5^    UP``U  %%5U?L	APX\T^O1  U	X˒@]  UTXPu  		H`'  TTTTY/  	lx'}  TTTT漰  rC&`&<  UPPPE4@\  UgvH$}  UTTTȏ  
	i  @ R+ˤ    Xȯ   n    \T  T~  \X   
		|   4   ``%
0  PZUU+IN$     `I$    II `     _?I$                        @@@@/ 1w    x鶿4  QUUUCPP  ^W$!``` Xlb5 Ux'x'  TTTTbȏȏ  T  PPPPYʏa*??  TTTT(Z  %`xx  TTTT׽G  PPPPCPP<  fH$x}  TTTT`   Ӝ @` Ҕ FN  UUVT}]x'}  TTTTdm  ULH0  XXXU_˯ȏ  				OW  ````F>tB'     hR'N$                                                            @@@@ 9I$        :PP     `   Ux'x'  TTTThȏȏ  S  PPPPY99  9p'  TTTT: $  UZRr7pɛ  TUUU׽J  PPPPKPP  H<  Ԕ@ȏ  eK}  TT\X<<??  TTTT:o   UUU2O  UUUXZȏȏ  				K  ````)                                                                        @@@@            X    5PP5\  eºo6y  @BCA`IN  5%Ux'x'  TTT\fȏȏ  	S
  PPPXYa[x'x'  TTTTJ˰K  bBT)t    J  PPPPKPP  A4$s@      `  XPPpyLzN4  TTTT|B/HN  XXX\_ȏȏ  				K  ````)                                                                        @@@@             X[    7z  %UUU-u  aUUUP9)pA  %	\G  XP`^1   	%UUT$  \VU^)    	 _x'x  TTTT p UFO  WVT\׽JL  PPPPKPP  A$!vw?  ```p~%    ``@@  	  X   T  @;?}'  TTWUYȏȏ  				Jɐɐ  ````(                                                                        @@@@            '{y    (0s5<  aAAA=\    Y  AADr4   Bcb?  ^ c  -             V     '{X  /7XP1%   ?x<  TgS?Q<  PU)`9wKn  U | n?#!Uzzy)N  U /mڴ   jwPS?Ϯ8  `UDN$  UUS).M  	U ;@:98  `Uj`                                                                         @@@@            )9Wy     G$  aqYU2tA{    ($  AiUU)m Y  aUUU<%
7{  	%@%C$!(B      		Pf  0?  ``pp'  			?(BpP         Lڨ?}  TTTAж$  UUUB F$u  UUU?Զ$U   UUUAж$׽   UUUA F$u  @UUUDmm ׽   UUUCض$Y  UUUEim    UUUP?Y  `UUU >sR'                                                                        @@@@             9ɝ$    V$      A~$     $    i# d    npw    (%n  UW컅   	uU_?Z    `=  PPPPc˯؏  	?  PPPP $_8 `r>#?]  TTTT%Im     $Im `    "Im `    %Im `    %Im `    %Im `    $Im `    %Im `    ")7	 `     'O$                                                                        @@@@                                                                         I$    -pɟ$    7Ж$    p	Z  %UUUrws  UUU؃=X"&}  PPPPS}  JP=}  PPPP@k$  SUUU?#?  TTTT
 x'x'                                                                                                                                                                                    @@@@                                                                                                 I$I$     pI    PSy    1ɩT
    PPZU,Z  %%7؃=>  PPXX>`W    #?'y  TTTV	؁]                                                                                                                                                                                    @@@@                                                                                                                         'pS    !IKn     n	pSqf1  UUU"⧐	   XX\WaӍ4     #M$     x'N$                                                                                                                                                                                    @@@@                                                                                                                                      $I$    %ɝ$    (J$     '}$      $I$                                                                                                                                                                                                @@            UU            UU            UU            UU            UU            UU            UU            UU            UU            UU            UU            UU   ِ$I$  UU   $I$  UU            UU            UU            UU            UU            UU            UU            UU            UU            UU            UU            UU            UU            UU            UU            UU            UU                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              @ @                                                                                                                                                                                                               X            U            U            U            U            U I$I    jU I$O    U I$I$    U            U            U            U            U            U            U            *%          XXXX                                                /m6f+A  UUUac]  ՕM  TTTT=y  UTTT                                                                                  %%%%          XXXX I$Ia     I$I     .m1s  UUU 4y  UU2 6K'  ՙEˡ  44$'z.(
b  䄌  TTTT                                                                                  %%%%          XXXXɓ]  eEIIY  %    
  Hy  ӆ  8s |E)$,   s  p'py  TTTTm     m     m      m0&    m۰                          %%%%          XXXX`X
md`U  UUU+	[y  N	z  jt۰   Pm5  		MЃ%  pPP}{ bz?T${E  
	1b  -b:  AAAC6`'ys   p  XPp` I$H$              %%%%m6d+  XXXXɝZ  eEEB^)\  *.=xG]  T_B	  	MX  )		M`  8$hȏ  		_{R  			
>~  }!B@@@m?o  p  p
  z``` K$K$              %%%%Lhb(  TTTT]38-   b` b	&c~  
 ZJj   ( j9a<   T%d  	 ZJ  $
 R/e  
 ~4aM{|ʧ\jM}  xlr<  @BA?HiJp  @4R3]  ```Dm R  UUU` I$N'  %%%%Hb(b  TTTTYs4   `eɯr]   e z X$Y`>   	&4R_?(   &6q    ƆD жD   Uk6*'&Ac>`%}  XPPl{w  `   @ږ$Ms A'  TTUz$   UUU]؂m  %%%% bca  XXXX  bpQ  	     VAA  &&&&[ށA6ʯ  d3]R<  THH}  qCOO>  
V@B/!P`bBFyS9  ````Ly	  @@U@pAAAA1L؄M                          %%%%          XXXXنb(h@]  U;5Z  VL  &$4X[  4&WDF$DN  .PS]  THH}  c
By_  @n9}  ``I}?  @@`pl_qAAAC؁                          %%%%          XXXXzc8  uI  U6u|   >4Q ! @xQ
a1,4( iJ(NЬb'  @(TRF#$Ӝ  UR@n%$  U=T  \U),n?  U]؅=                          %%%%          XXXX !I$     I$    Q I$    $  !]UUTm  U[JD  4N '}  dT"P؅M8  TTTTI m    I m    I m    I m     H$I$                          %%%%          XXXX                                     I$I$    ?b6d    {ɛ  UU
r']  TTTV	`LӜ  TTUU                                                                                  %%%%          XXX           UUU           UUU           UUU           UUU           UUU bCa  UUU "! m  UUU  @$I$  UUU           UUU           UUU           UUU           UUU           UUU           UUU           %%%                                                                                                                                                                                                               c   T        c   U        c   U I$I     W I$I$             c   U        c   U        c    I$I   TTTTm۶(R  UUU Iy  UU S*   I@ _]؁  TTTT                                   ɛɛ  T	Hn  !M ;OMg}    = m}  VV 0	 $ٴ  UU  y\  UU@ I$I$  6dlVh=  na};H{餮 \*誒4<,c"1 tKg0R(: kX m*X'4]4(N,cl$۰<  cj  4hkd}Tþ[y,,
P"NDE(B =\)N  BJ(
?Ҕ\I-<  `PPZ!ضm  	6bc6hc  'a{  *9o] Hq ?y    rq$mk(We,!^?{@}U	%  PPZZ          
 $I$  TTTT(bm    lhaU   UU7yA BEjP۳4  TTTU  $I$     X$I$                        T            U            U  ``öm  U   H$I$  U            U            U            *       I$I   V;m6   Z3m۰   VV           *ĖbV$  	p[ؖYΠ5;۰o  V   |жؑ  ` bw  *gڴm]4ꦪ 62<0
 W\؅M<  hb۶m  VV kbl6`  Z 4 ۶m  VW  H$I$     @  +Զmcf  @  I$l(    $   %@ 5O$y       -TK`y    a      GGATCGVA   ssu3GGATCXAM   GGATGALF      GGATSFFO@      6    ,  3  :  A                                             A  )          <         <         <         <         <         <         <         <         <         <         <         <         <         <         <     $> AY T-= U < m۶m# Ǽ =         |*      N? AT@ A! @  < L6kڰ=ۑ}  w< }Q@         |*      N<  ? (@+|         ?        ?mg+'l "~e,綍        ?        ~? I$IDvn7?ԙ =ď}Xs+*@#        ? <   TT,> UU > .!g6p_L<_     | ?!iF7?.?  +> ; !?A ֶmޏ'AN]ۏ      $?}	U > Q"k;}Q oo0hl 		?M?!P{e)'''&{B6@ (? R@ sjRL@ ( IJ@ ( 9`@ *=.@ Z@ HB@ r$)@ Q9K@ U5@ B*< "/@ Ab@ u,cS@ 1iJ@ (MkE@ Ӝ@ 0@A S%^?4   dG6b0Bs-<iR'&7k  Y > 3
  ?*< * <  6j$7?  *< .ܰ}? ~G     u?m[6b` ;? < $D%'|ԟسm n#=;'\@dI@۳      ?q U < "Ccm}qU@  '6!PL"~0?",r,?4> ?  1`a6b&r+0  .		YE)7'	YΒU@6 '> 
  ?ec6~?8I[HRo\P{'@:Q      L??-| P (?v0ڴm ',׶i6b# <?H$      ?) = ׽b|Y  {C @  %pTe)p5";خ{f1 ?"\6ӜB8XCFn7׽[>bX'4 ' bj؟!!'0AU '> ,  ?n6n;6?,=۲7>}vn6n(@ U H$L$      L?6j3V& (?.` M~̟(<A?@B+!?k Kس}؏      ?A)@? < 	 II$8(J|P!%%7]!?7p<sB 	b%Xb?"p}\ %(-BwuWx%}W! = ?IJ*?q!*?9C@ .?A\  .?>?I!?$a/\'o%!x#U'?U z Q%Ï}zE)&''mk* > !  ?<ca'~?ה_' -|ߴ9~\ \ H|]  ?  PA   & \*|iJ  *1 @ 1, IJAQ@ R*~IJ }9!<U
U  VVV
^!|  __  y 06L
YaUU 19T$]]!W  ~U~ ~\_<Ǟ wr}A\ ^#| _} 蜽|!]\(,< (B!*[A*Z @ e) G@ )\%*L)|   }G@   A?!>  > ,< B@Nn'>Mۗ >	X$<h ]$-ہ     #?MsQU '= m;ovnQf!% '< 7X`v 	!|%X(|@A-]$/#|@ e1x	.ۧ9}WX( "?#>%Ra" )g`y)J\>Mf$>BaU< U !`R0}رmiR V'yU7M%<yA"<B #miJs-'h1e)/Z8!'^5׽%_+ @(b"=@ 4jz^-۰mu)	'FCT" (< "3
  "=n'OFRe!%Jȴ]۱'~^!r&M'|nnv'<?Ï6)>]u  ?ܧ'?P A]]]-%¶m]|nc$H,]{-(YTU \W  (?ZUU,> *< YU (1\, ׽:|4U,? +U Lkx
 >ւW
\}7|%	}Auuux%|\  ?
^a'|2ޏ *?=> oٳ'>F9Go9^ <@1o6o  @$J |     #?-k9)<7 '< Fi#nMk Z'?5PA,?(<@ނX *| `㵜(?i7 %"W 
_yf1`@@`be;ki<{'BQE)'|Y!u/*"|%V`f$>Y׽   I$J$B! ]zBD.!p5vnU_	X{i(|?b7\|{'~uO!=@(<@P `@_mc'CiR1U 'IJ *< 9 |' ?vn)'< ' E^_6|0w~W~ŏH 6 H   ?_@'?F(\!x?N%|}*(>4W-)<(<}!>>	(	}<x\!>UU(<( Y(](T]*<0? <_+ . ]_-> UW+= )}/)> \7`+@ӜW(< ]Ҝx D!"D!
=9\!z@$3&  ?b4f$ =?'~fS
wZI)' vg h/!1&W!~c'(KX  X8S C;i 'B!3G     ?!a*< '> H$E)b*UU@!Hq%U*<*?!|c %V(<@  ``;  Zc'<  XRsr%)bss'~c 'če^1 uon;Raak	!='<4'A ƒ??J}اؖ9	0)J__n"b`jTC5i'icpX(<y(@!Nz'>@ %?|گ{Ae1d | 7> W  ?/v!~Jo#$oVntt^e'B'yh'>G_n[ӏ'f-?!?-@@ ?iR 	< ȶa\w$b
(~|D  P(|>׵(;<V)<<$>WY,=='-?} `XT +< *= *?=[+?>= ߞU%6| (}"&+>W-@(<Y< *C#@( Ӝp(?[s!j}/Y!=p\簝Y]3V((J7 < $? | U?e6c%<;,~?b?	m'>f$`'~!@'|A J?}&6o/>!ML Œ¢ӟ!2& @\"~g
 A!|Lۑ     BUU @< #Fno"<_7*%@ `  (< !p($!($ X5ֲ?ú֦9ZXX+{*(|> !Uti[a;E)U@(<A!]u(|](?!> [>?Ƕ9UX	AQqc_Ӝ(?Ua	'=)!}		/(|&!ާIb*<-(^ v!<!;@)P]ۖ!  7< !}!y'
  ?*<Y[m۶m7<>$'﶑$)< 6 \n`:|  ~?($!  	< @%5)<>	(< D p`)<;	5(>>#=>(<$ 'W( o*=)V(|V(U'>@1'5(= \!=TT(=?{->?!5O% p(lBY `(PVU( 	6@"?)>},|C!| @P(<(~@
'8xx¡AXB,< <   5,|
 <	 ,V' iݶ%g"A}b-#|g'<>5'||/ >nC{i'< +B!3'>     ?" U(H "< U^UW(< ~UU 	> |2ohúXuU'=%\!	%'< aX (< bp(<<!@	7(|#\Xp`?"|>TAU7( nsTTB6n!Ҟ' (jR(}(BM j_\Ӝ \x`,k# :?%secf1j~+>cr'CӜ!* (< !pT'=(9!f^'=v!5 
ƣxWU5|#*n = !< y: (<	c
 * @#J)<=l`)< j* )Ђ)| !<-'>?  (8  B 'P'} (6*Vmh+i*> C(BB  ?)| > *_||#(zR
HH(}?F(<=  V\p'Y)~9(T_(< /~*>I!|}!i!UU(?j!F  @)>B`(> )*<?!@`\W'S% ?+<AYU*? U%'<XY x(?? #}¿(| KC@P(4)?yί*(yΞ]}"=5!=YTD  &    ?"}^1 "H':Bo);2 [(==,|4'C=#'~0g@A" @'< v !k#n_      ?uU?@ sdddZ>>@8)x1< c@@@U2U*QdW&*W'#@f@¥(f  c-*<~{*||	-(\<93$|!'IJVr׽}y5(})J4J*(<f1И( 	E)a<,@*My95Ư#|IJ'%AX`x'+!e?C!p؞'<  zW(>Bb%=ہU'ӜKU'|$)U4+U-  (~F1*1ppp(mkc@ Mk,  $f!rdX'9N6&)}.<DJ!J' :,'= OP.'~='<\);B> |;	tmI#t' ~GAB#+CA2Gj? ',K(? gS/M5}+|@!Ȱ\%_%  (+@J ,?G&&*?UV\'<=-)?{HT)<I!h*>i!/
'?U)+@]@Aa2c' )j!H ')|%M(? IX)<|, '> Oc*?)+>@!%(A|02?@A*?c" (< ,5)<   B{@   H?;'>d% N<=6hBw}o6n'=}FwG_%c '/!oo6|?u'} -I)|^'<kyΏaC,~.!3     ?d)?{8*.= !?@A p gӜE)"b	c`9z	Ə"}<!{{@* -'}$!W
(<|!{<*hAVp(W\(|$)Z](@K%&(<?A	%(~!(p(< !͋P >v4(B!%AA! "?, x'<XaW.(|  -) '`Cفg#|A--%\IJ@ '<F1-)? )@ gp+?M ?b,}zJ~`'8Xo[$1AFn';aF+;q,;n* 0_ RoB~&(< v'<  )>+.B5t' /(~}L,/ͶiS	<,(| )>00y6<r)= O 7o4	1(|"A5%  ?*7? &(uW(zf WU(|?(+?* +~IUU5()S\VW(}>!~>*? *'>)t;(j55(}j!W())+?ꪠ)<j!p (~)'%W(~@)u!?R*< !?(!~Z(~{Q
(@|)@$=)<755&?  W?nF }:'!Gɿ'}! 	$)ih`*  I+|  OIb*fڈ!ڨH* '||v."y7`e H> .= M'     ?-?*lw#s	XΧ9@P$F#{}$!%X(b pV(ce1Co:(<  {'(<-X'A6__(<=!-(|!<@h:Z*(bu\*@?ܳ@&p{u_	('}(7'=8!5(<W6( ~8 ^(|@	z^r7']/(<a^(<+W\^DR#5V!$|78!S"~7?9iw\b(?e  ?<׶-6oo-|z-9v6'>?6b(</o'!'@`
'9ZǏ 0F*<#'<Lvo @ > :,~}3-,~C?+Ӈk'BC6' *γ$S?/{ON6'<eے(C'Kv6E/+  P?  ?}4$@ (<;x*|;U~'W2I!=\_6?j!=*)55(ZTT(|))U*? '))*!% [!@!\X(*>(?{^5(?J!}B
'> 5(*?*!m?>',W\
(|B	"?`*,  N?~8 |{?}2\^'؏/z"6ØV@(P
8'= u	 ?.? 3n@     C?ֽMk@ !U%e#!"~!Wo$|Cxa@u T))*<֣)=C;4\A<_ - ch*<=_@ 	U(~
	(< aX*<C.(<Aa%	'6(| zXz'!Bab'~CӞ'>+q
,p(<B^(A=(@D)~S X%)UYR'B($+!+`((" -]?U-&8gӜf V-?x ?.?   =8`n(|~J6*;,;!fL'<|m( 6P) ٛ (>OIoCS(];voD!4'~=_o G>@u
'5|o%yH6i'<o5'+f5& '<J#io'>P&))F.#-},|6x)~K(|F@C ?)$?=?}s@ (UW ,~ *?;UUo'?{)I]'<?)!,?>'<)U2)1)*|.:)<~K2j`(^U]'΋!?UA>B@()	*+U`(<=%(}_\V,|*?J!*?;!B$?%?t  D?!=I 9'}=K=9,|Lx*=2~ )?:o ?.< /     ?c UU:+v<E)6I
\ \W8?.< "%!MI*:{%* ' _p+
U*|?**켘'=>!By'>!'=%!<~Bc(<a^\' >cb'<BQ 5u?*!zW'C\U*CU
'|О(|@AaI*?
7^`(>)u	%5&#<ö$!0Axx  .< w6b*<8/K)< o0oƟ*>|&vJg'~T* H;̓'| -+}c@A9: ?< 6z'j(}B(}o'31*<3(FX,< W)oh]'|?9*m    ?]\翯*< *&!z;p(< \U'N(?m@Rk]f*>*'.21*?22U(@|!>?U(~ 	X '|?t,(<?+%W(=f)/'(> ׽*t   (? 2@L((? -?k+?!?'+?D#?$?  G?   '9E:?6<@)nFn7=G֏| '} I*,5C- ?LO)>E[     ?P$|BX3 8t3nj(<& sZ(a%)9?~>II@&1(bVxb(>CU*?*U'UC=<W@?yΦ1'|!?@``@qaS{w(|f!|A}*|bz*\\*?5[y')Ӝ3	'<i! j_(<$!UW( !_( ~'~BM&	(~T$,c WWVT Ek
GR"< É+a1^/m)׶"~YXC-%<!RX3 ? < )Hd*>93!!}(>A	N9vn'~s >Oo)>^Xc'= E:mnAӔQ }?M!fq'>+_oj)=Po4'~s,>'~' Zhj'> -(
Lc* fP)J@ ?(%? ?*|	}J }U **"? '<
 ))\)#?+P:!<}p]u)<@*	U(!W @ !_*|CP<(+?9@@(< ص8W(| V (&-?K@'Qc_'S
]{'~[~.?  NFno 7>:C,>@=!?F'?^W?o 0`{ȯ 8<>:3L? <&)}: 6|     ?GrƊR* J$=r!*s'	`U/"<%)?'#Z T:!Y(< !@@@(<=$!ssTӦ `@ÿ'<B# $y!W(|!U%'~_<'(?q!)<(Cp="<pu*	@ApB** WW*?8?S (C1\'Bږ'0WTT'B <(A VV\\(= !-'?iRA^$g )~첔(9pFIٷ?u9<(<	c j a *:KV+A6d'> s$|f6?D&o*װ۲(|Bq(|CM۰(Ci,<q!l   ?T-1Y @:`/ 	UUVX(! *?`hU'<Z1	  *|J*?*?)<:O:*< p:u
'<֌n'>M:)4)<2 @\(| .: #) +=CG-?),!嵵(|1)7;)TWWU.?  O? G<:E }tO?(|%+F(>B <?/'|p^ g>u%t1ұ}ڿ     k?Yvn֪ZrҚaCVVW:~9|y"|="(|=bU (=<]V'#T!3q'}!;p )<@!'(?a`(-(
%1(}}6(  	+6&**<'=4'|*mk¶_*W
(~Ab/&'b 	)'		@f!p(\XXX(<'Az'X!Xbˍ(EA=
 $F7t!u %<[ ?em$ 'y H* @ > 9  OF+>L
Fd@@ ?&4-?]}W`)?}j!s)<3| '@t!\UU(|"~(<!U5'Um*?-q:UU'>N(P2U(( i*>x(~	9 )=@Z) +?c(<Vp:/2~V25U(Jp()c`(<!+)? #?$?0  G?8ȏ H? C$@ UNa?_-@iI$Hb& W?*?<o }B'Á     [?J$YyΊZ4R TVWU 	|8  (<<asA;(   '$$!44'<Q//-  '|4*<@3BVX(!UU
*_({f1<$(¿ ('>UB{6($!	(}E)r
-(| rAφ= U{')k~U'< *|j+-( )(?``@(|'!ppbc(|A!rrca(m W)?|-< "A ͍Hܰ=۴jR		 ?|@9? Ǽ?.< :o(?GAII@Avn' P)Iڶ p< ?$ .?=?(?\T)|S(V}Wp`(k!		%(|B ,**'/2V@B:( 0*%%(|uX)?, `@'< \L(| + ,?ϥ+?Bq:\__(?02'* ]}n:WXޮJve(?+A/?$?P  G? L?{v(< !0=@& I> .cRxP@p@ ")ڙ@6b[d! ~8"'~-     ?8ƊRGMM*| 	<O
(}!XX(|9?55%'$7'$&&'< r/+(<@r (qq0z| BCAm'<$0f1(|?(| %)'-B(|*mk(@A'e6'!	6(< \(|)CM+(> 
 )?@g@@?)aA(?B(<*<@XXpp ?%  5٧iJ |'&&?>·,=: ? CI| *@Bh,>, &=  h? ɑI /?U=+>D)}	p~h 7-)ΪJ*(}l (|T(=!? =(j /'6<:z(? u#)<k :?*?CBV)?_WW_'p:P2Ʈ!5(<Css(<kuUֽCW)gKA %?q  G?ʯ H=;e'A#* =?_ W?T+~>,|>Fni'> t }E"3?_     K?!?!4#f1KAcc*? 
? *='U!<!x;A:8%5(!z@<)*<?!8<';qrY(| P'#pD! ) Pa(||A6'= !?L}ճ*(~a66(|!Zc3,!CAB0[N'!a7'C? fIxx'>*?,)'~P(+&P7'Uu(~%)pr($)s 	u!?!?"?B <o&?g@|  0< ۲  q?#?(?,&8?< = !|@C}V(;!X'B)***?+|#(< ^P )~  , *?JBTWW'BBbb*?^^~([:*@'9!?#͉!(B\(<[@2!P\XX6?Q  G?o H}<?|Z%8{aK g(/&ާ(}#} X<6>1o!3vo; ,      ?Pd cc,? =8 |*?lV(&@ MD)^@,fC
(< v P/~+*?'=r_z~'@ pPp'`*>P\¦@?w(|!u{ wU_"?7;'{?Iv(< ars8(%V) cu_'<>DQ\(<)--(M~(| '.W(? 	GU(y@E1caaa G$G}ڏ9 <Eo m @E$*|7 = ?])~m"%7=~@E` @/6n# >@u@M']1N	~  H?%?b@  '??SkTp *?UU)<>B5(= +?0[  p@B!
) ,>{}[!\'|XγBUUX(= -'<:1*U ( 02U~Bؘ^U'ޫ  (?__(| N:'< K^T) 75?(  N?oFnP{!?0' >1 g?=,<7zdpOGO' X,~>2@
j'E#BŇS     ,?R !=x,?!  ?u,?="?'5-
+'>U
+(<mM
+B|/+/){!<@*| PP~pO pB!](<s%)1(|@!w* ' "=1_5'!)oww( s2X(A U(?QY(>!?'jW~'i*@~W*?~'|D#*?8Ʀ1aacc ?
ة9 ?*6  O< ' @Dƶc e6 6	?M IESo0)>B1B7Pn @&	?yAvB#@K ?QU($)~\|. !$.?]! +?.= #=@G pX&(} F-}P (> N:50* R@s(|׽u.--5'4\r
*(^(!y\(U'~ƉV(|׽&pxx(< __(<  _@Ӝ ?(J-!~TT  ?!6o6b 7:O"/ٳg ;p!?RBo hB*}S6c![`nc<~@"!A     +?V E1ccCA+ 
<8 !8''<Ԗ@=-,*?5+>@-(| vU/(>@v+<@T і pp(|f *o@E)U( %)/u(|;E)		' b'?(<ܸ'}M&(@$)Q'~Aˆ6 0A CIz'<(!?~~&j!=@)?I '<'&ꀨ(< (<@bHye)ssrr* =5ڟ}#   0?. -Co6  !}_ =q-@} G~ p'p ?,?|@ $8'?Z(q"(> '!_ U}"-,~?UP*I(<4 @4( s+< V\(| s	(= T
@p(|c*XU ~(<u\B( }) Y-+<B<`~(^_(8(|Ӝ '(|U0 )~mk"+?7(B,~?ZÝ*?TT  ?~c{a'>8E <˧*֏ y?.> 9^!'628} !E?H'>"|1BNA&<b)|@&)< &d'> #!\m     ?N"?׽IJMMM'!Cb!!m_'%4 UUu=Za(|C'<&$&$',g$
+(?i5,
)]h!-'> .~,<v*+'|QEcS\(?!{(? whb}9=((rbz(&b'=%Q!	U*W(~(_(?)(_'F!?~*~?(?&^'|',1@``p(h$)zXX'|RA@Gvǫi]=W'iXA%%R}$?IJ!x'   0?v$kAg(= 8۟ }->@W!='a x H  ?[A&?rñv"<9 562#'򳒔 '|}TxAe!9'^Wx(| 5(F!  !mB)L)5*= * X)?!(
^(= EA!<^` )<׽/.*X )|A}(}\'|?U \(<A4`\()!xK!>EU(=J]+)~c!? 	?Y]ݟ~0M?}\WX`EX""?  #?.< o0AyP@})nlUn j??@< )a'ȏ@(0C|!K~6Fn#)>F!^M0 
ُ     o"?Ǧ'|ds(S ,(||b@CA(!crbc'|#G$*'?,)}!>@/(|@e5B /)}@qÀ+/-)>h/	&AB@W(@aW\(>]'=?^'|U'(< Q- (\ "?'!>'?f$!?x^(+*ĸA(bF^V'} !||(|CCI(<
	صM"A	   0?.< 4oe'>B1Hf'< ?1 ,-<@Uo6b(?  4 ?A"<xU?˶m{c"|xՕlQ9m///$H*x!?4RP'<&!6


*?pU'U+*>=@*WX((zX )}nB``)} ( :xXB  \(> )X B` *:>!<'yX (U~(|׽xU*(/[*CyΌ(Ws	()*!?'\!v@@"C%55)CqK /ZJ Zq  L-۵@    ?<vnc 9Ә@+}t@!;؟w }.< u'<}+c'~ P ~=Ə+~-~)}S'o, ~Ae     k?$YB*@y)U(<a x_TZP(|ɉ(\XRqE*'a'
+=(#W@UC-_b(?@: +d~<?,= ! T@ !}#R!|'=b @'|Am9B( ,ch.?+?9U@&CӔ* !2'|&ø' ȣ( ȣ??( @'VW)<hU*-^ j5r^UU|8Iaase H"|59 Z9"me _%? ? = q$|y jRj'M}# 3!|'!(Vo'|g  ? +? # @.6ooIJ  ?%%(X1//+ֽs{g#W' 
(<RU(<RUU{5(|<')*)@6@+<(<  )} -?~})><2U+)+p:~ *o^xN	_B-\<!=A(< 2)<sLX)?C(l(|.c  ^(1z@(|57>.V3O
(| Ҝ4(=|(H<ϧ?|\\Xr   ?%Row|'|4"voa)p.2?@BC |Cд}6}'-|#o0) Dkhx5'| G'~-     +?"YjR[z@J(>rc]5A"W <\Wu)< %5(!	X'<e]/(B'<#2%Rr-':-n8)>] ?\Mk@ (<f)B'<&!WL(9B)dJ	 *|U,Ka F8](BB'C`(<?@(&f)asZ'@e1bkk;(<S^\(?b-	o WV8f1(<	Z
  1?
!c'0@	 8A<H6?? 7	vn9A?*6,j oh)> C؂m ?#I#! UsA '{?	 QiJ 
+ߏ9B#"?'|}V(>1*Fp'<s
(1UhQ?)?SI+?+<L\-)~ M!)~)
XW(Q2x)>:U)|C25U*5U(Y!p(~@}W(@/U)|!}?' ֌!X)@(!)|"V)|k5 ! */57A{  &H[@)<JbrXacA%rs#yHT  ?.< n;)}97F8 ' ȯ >< cN1    O,~} ~
7c*?F+}@     [?%<Sqbo *@@u9aɍ'<;Ba'}<"8^5(8?U*<!"@b	'|>"WTZ'<$*/&v@ VV(|1rx'<B="' ?;>6B@( -k	(? A'   ?!*USc'|A X/'<mvXxW'<&a'Wba!-'< 85(|(BWU*5U %\'A(C!!|7	؟}Ӝ1T(>	jR |' f Џ y$ ;"7h':v^;7{6^}0BP"Ci(;.> 7 0 F%"|"?F<C?sS"
WIJ LkLk0@BMk)W]Հ`'׽-+((=Xp)@	(& ,|+(
)|>F֠_)= 0+|?p:):P: 'B*,| (TB!)|
\)%)}!}@(KX)! ~U(?@!)|?nB(|))(?)A!! ұ؁kt5!!( ]V*~C=4|\pU  ?.< _oc'89~ ?"C<?Y'| a >OL'~FB)/0g!?*?' _@ ~"
*=H6f(TjS'= ,< 'F&@? G<      ? {{U%"=!?16Z(|8V\(~u!?iym(?B]YAR!?Rq}U*?%)< aP`'UUWT(*?
'| Z
(d'|@>	(eY 
("
=6?`97)|iJ	'b'~*?	)}?_* 'h< ,?mS Ӕbh5)| PX`'g!Z + x E)ar\'@9o}'v+xӔXZ'}U!r!~*I$!<arX/~R (>	B  4?p >3s51<!}w(} )|}!жU(}!}8(| C6nvn0@ڏ  ?i6b#a#?!I@]5	cSWWUs$1	=6"#9$?( sU(|0([ @ ({!$Օ(v (<V p(~!O22(> 2o'O''Z/2A}a (}!Y'=P}(/:O**
/^ W/21(>2))?1)(~?)"?(~ 1?@)!( @&ױ[?VVvAArP'(JC( {@ K$x# _?.< `b3g'<;	,<G@@3b!K@&n 8&B-A(|/'}^+?e\;t3)<?% *|? &6+<~)bb)< c6)< 1ށ}ڀm     ?	yβU Eжc|ֆ1j *9U bËq!<?(|b`+bCի !U\\(}9	5'&Xb(|`	W(> #8d)<'1$w'| 7*?YƳ
' ]4*'< y%!\C(BU'zCU*9	)d)fU'< Y(}i*? `) H!( h[V(i Hx{U(, r'<BR *+#F}(DA%~'<C^bm'~ %DIY΂6E׽mk|E(<	s  2  ;r H$H v7G+r!21C@H 0A>$<  ?= "|#?uC	&T%(~Wp'ZL
L?'NA(~0Z,./-(|X--)-(<
J(|@oB(>ֽ,?֋+?"<*> *(.21
*<>T+@)|@%) 4(Ppp*>(W'>"?(?1+|@|+},|!8?@))~_()+"?
#W!	5%9D?''!}XT+< y[<!W "<25%KܱM!  ">< g#n<3'?ޏȩ'<=$'#6b  = ('F x' o=     ?s; U0<   E)6{(=f!>Pb U*xaR)m(<?"~TZ(<@	%'<;X\'B!}U'C!*~/@ыA)?rmk*?Ӝs''Zw'|g׵J	(1*=?u-? 5+< {*? +< q| p*? x h)| |T²!|@,i 5cX)+? U-*m( ?[T^*X]9IsX($Mk'C(BU)=	  6 ^?=H&Fb+ ϯ  ?*|)"?-;NbO@"?@'<<85%'>"}xXc(<
*)<,c
+(Ӝ*f *?ֽk+?!;'X!|+>='| :Y7z(|}" ( ^*'w_/(< a(Y#UU'}.(~kX \]\!%*?(|@#~6|2?( P:!0j()Ă\)}!WU)(|XA#(~U5~cP(  %E¶m(< iCOն%+'<<,@Nn b,r} 9*6oC){2)< $;`'> (< ) O:)? 	!}mzH'?	 ) #=cUٶo5Ŷ̈́O'>U!/\      ?{s (9'= B BJ^9Vÿ'|">?VX*?yW%'|CAcXV'{aU%# (><y!@@@  p: #=@V;}U'Ns *<Mcc+)~$Mk!+'#RA1?(|-c (@~7= -? s,+> s,} `+?p3M(>% @!=%) %p'>)Ҕ,?~APC'-Z
(<Dqs(<\ 5sM?|ڱ $A0}A6< ,{  4?Ll9p7z6;u ='  f!P ?# ¤bc)i/6n6sF'Wُ-ضm  "?@$} " F!?'4k=?("Cy'RY!xy<(<]w(}A+?@Qdj(? (|)   7? ).= *< wG /(TgAug ꀊ'<N:?(||1}U(| )(Yk
'['(Xs)~f ,=F;? )E+> !,< }IY5%(| 7DaX)?׽^}(FWu@_Ł=?!bobP$X9FT|C ?4S6d4&?^^ '< < !s<iR@Dկ%'< `C_+F]`|!i( .'~I!?} ' <   
d(Kħ#(>i{|(=/A	ȆaX8'<^F~*9}W]' (=k}'~U|_     ?mk)<76? 6@Z	m{ @ *$|bp	'(9*~{5{'$\ >ns T)<;)Ja?(<@ -U)< \`(O^(? *=>U)<f-c1 (\*|,cc*|1 ? s!Ds 8\\\7( (U	(<&E)x(	FClAW\*|E|> f1Aj*<@Ps(| |$)\=U,U'Ӝ 8<   3.= <= >> 4U w<<H  _ ?!  L!vor]%S#~C C)}!*'<AVV(<@a7]w'Rs!:gD?z\
h۲    \IT_ֽU(\MJ޽N/`&!|'~/^e /UY@;U^'Y9\!]}!Xp2VO	!b U}_`,_m_@f}
}<_ˏ"o]d'?P]'!=5*<!x'~\#>U(!m(=v_'"A'<G֢}1؝ T`ɯ&~\W(?.   ?LoFn&?g |@/tN/ < :'< IAp     ?Q{UU < Ooc0p u Xb'a-=@^Ia@!! ù%A'|^s'|/)<$)^ 'f1U
(}$!U(=E')|@"+(dMc+= -U(}j!_-(=_1W^(%_U(!*<& }5(~a)?'|ͥ(>bYCB%q?r\T%|v9)<s )>< "  4 ?۰ 8{46i8  ?A/?,<*> mtK+9@tR(ע+=@8!?('Rwr,<z(|!qWxRTDIϏtRʞaL ^!:/?8Iawy\ ri]!3Xm0  ]7?&a] wzClӶmq  VBBN(J  T_[T e)  ^%e!  UT;z|uuS9\~w'	?П  X	N6%_AB~X*>a !UI5(|V(=CUE!@`AK?ر$?XV8? ?Fn [?Ҁ)< >X&) ?]g0 [>     ?{{*< < 
0{'熘o1$)^.s$<@"PB	5*|4!{!<;\VV(| !(< bq<$0^	`ÁUU]@+(=$!@%!%+~@֢*> X
( / *  )~+b!y)=(|!?U.(>Ux(< b\\RqXsI)=P!Eb\*|AUp@#?%?sg	**+7{s@ *< *|><   8 ?55Vu^|Z!GS$n&V	PUC?PQIwP, QI+  L# vP' V*<201  x?A +@+@O?Bo#?@	'CЀ p	'==9Z\AU[(T*}A_Ak ^/?T!Uo0?u\ 
UWWCOK	iJ  W_Ux"<?UUQ 0\ >&[ضmMsA_,fs]!A	Bh`iUUJ!6A]-C+ 
Ul5k}~)< W*=){@WmA(G5A)X}(?a\\(|^5"<I\5	ܿ%~XW 	? ? PP'o,'~TG}'~&_m' /2)|9 /p X,-'a@',F/'|#r' ~Ͷ'~A&ӿ(~*|$I`C  O[6&'ɏۼ!h+I`t'} 36B'       ?s@ (?@(J7` o#CQ$!k/$'YE)b	5(=:W\(<!}(_ 7%u(?A_r@VӒ('b8(| !$M*| Us*@U_'!|'!~>q~5+WT\(d}r'z!?5'Ӝa&h|!7x*'Vfboȋ( %C@@
b%XG/Lk!U%?Z[	3sIJ-@   ?+H '| P  H ' , ,<|  = 2-=,<#ۏH 6 u   ?b!}}C !8x  !?/("|@5\h8(<@!<(:)"*'W!;UX^'}Y\]-)}y^ +!#	\A U=G&}; (| UX'= )X *>ms \*<C!|@'!r*	}'Xr)}|	%3I\\	#Z#M   &   ?n1^5_z'z-ȥ\}Gaf'|;<qqZ,|9?H "pH !H 	IjH$|!yy `H !1!}/|ڟ'<',}\	K	 '~	R@' űH 7Eh@Jì'}μ;؏(>!B      ?qh%B $'-kp YFn{@	Wo!>?p'"#Wx)~>	)&"%AI!V!<Iasr*s'>!gr!?UU'!?~m RsbK* 
>B}rkp4'Au!?W֨ g Sy(>jZn4%Cd7\	`^UEpڰm4\-" -9@ Z9*%  ?efb&nbHe'<=MtN'4ID <o)< ?)< A g   '< !)~,<)> #!)< =>6o}'~t!&-  x?"?x@ *= @ oeۣ  RJ#X"5X* ">	 AW5)|=9yJ*<[Қ*<U\(!?UW'|\!WuM)|^UR(< }U'~]#A5(<}'~C<_'C}W`'<e1ЀVT\'=Iu'|zցq !<Rҝ"<5$<`^]]/94@ (B\@    ?Q`1::O(\ȅzm  ׁ#Vn'~ ?"!?x+]¶ ȷ@o%mH!9#F'~&"<<'<ۘd۶p' 7<Z>'?D2rG6?,|@ ?hi?"='Jb'ț' wkm!6o'?<|C      ?c)J@ 
R%9o+!`\o"-'<?B:Wp('!}U^  &'|?Rb*@x($'qzqS(!ť( s RZ)fk)<&Z '~U-(|'"<(C )	-^ g$|\U+m > '4T@ (?1  ?]$' a > A7 h > !$o *]*d¶M  ?]A Nf@ )oa"<@XCo#<z$~@'=(6-> 7U*?IIp'"?RX@U!'}\ ,(}?^AZ(|A)> `^U*>S]+~W}U_#5`W.%&"}?@ +~@   @?%p!5'~;?RB2!?ȅac(|@>^ 6?^?,?n7,j,{HFb){,;.!07n'|rk%HdI7?!r=?; AF!('?'~,5>#x       ?0R*=;b@ R9":bn@ Z V(  X!-U!S"''X_W'X!~ (<" (}&!}>'= .= ~ (">(| !|&/ ^ M"թ!& \)$|?Z9Z1@ iJf1N@   ??+? UUU P> o$ < goُm W > 9;!1 ?!-l T)?  ?&?* n@ (L@  b@i  B/a|VClnC-W=es_-&@Z!?_ *\@Wu  *< *> ,} ]'>#}h:\+ ~_O)@A/ xuFP%<?Xu 跽7\](~iB@ "[@ *|?  T?1'|>)ߜmƒ(~N!Ҟ@[!?(֗Y/ G':fe':(>!?@f *A,. ӧq'(< Ӗ$(( B? (=B'| 	ý'|7|6'|V(|W(=+<h9ü'|hk ]i'Fo@'q*|P:C     ?UU +< Z*> IJ*48, R,| c*> B, iJ,< HB*< ZVWxXc"<="EpW_	-IeU!'c1E)U  &1^e \	}|r U\O		^!_(Hm9UW*~Z,)-=(/|,> A,< c+ --jR,}- >     |APP,> UU:= a=~ b,>  } a ~ a2} 
%|(ž\\$In L\79d\O\`_*!%|~~}},<uu<> ]],> WW,> << . ,< ,~  O <  |x   <      ?        <   > (!3FoC&?_` '=8_v$  > _f !?=     @        <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <       <     -   A  )          <         <         <       v> ׽Y `-= U ?< 		 I$IA]j O 9> Y        A`@ AA @  ?< 6jV'|  p G 7< "= @        %m{6b@}yE'< ؁   U U.> $۶a;0  e_e)c( Z!I) c<> ,kYY(> sWW(> 1(> - ^	vv(= -^	]](> ~_6j_^( 4U<=  : )U; O> G/ȟƶpCa_'} T}     !3ޏt *  Շ۴6|'Ŷevn' !    Y_U.< c۶m} [ֆ1.}?YΆ1cA#l$MkE)(sjRK@ ߊRq@ 4msT@ q1@ 1*| [l@ 1bB  +[69j: | { ؗ}۴ؖ9	AfU6< q <* * 7= kDID׿ %Iɏ)|  G׽G@    !?6n(,~ f_ |Uo'(|!s۱   quB*5 I$HS|y΢3'
A,'gL%)&\]
GB}}Vb5I"-m#t\
FMkV^Yr_9 d
0 AWW=| 
ee)$8ƶgӜ
\4\h  {!0@]۳my9'z 7>  ' S?dI]*}ڇj_1   *) - b!4J*>9_Yq[,} 5F\ƚ"7K- ^iY] 6}
y\"KLxX|ޅ1\jzImkpQ[~_\s\ ~  -O  ww B3TL%~.A (~-!:.< d =< & .'+| ..< `'<ְ]ۙ6Fn6n6>@!0@!H 1   abA*?6< Jo֣5֊R`| l @ 
 Ƃ`v`!][]@!<!U '$MuIJ^ F!  	ےE)-UYo%)'7U9IKA>p\cXB)<a>< "<b = Unnh!]32?Gg RLLYA"c6b| ?)ֶaA] h\$<Q.` <疵	 *> Y `\(  +U'> vF =[*> I(=F }^k(V<Va+#<: ^ E_k/ !mp9 *80/<  o#}0#Ώ)=wv4'=?&Ӓ$'|LNf7l-|!4I'Z7|!?   acU 'A W(= bUR!L!|+ 0j'YΦ1$b	 y!?*Z?׽e)NKĬe
q ߿-oHt W,' ӜHu ٧0 -o E)>>N1p $!>@?Ï}  '>8O  U6< ׽9U (9 : ?}ш'=>"H_?'/-FlHN6hvn1M'?6b* .>~a[^`'>N](>c~ q +?\F ;k8\]NkB(%X*'}h!p  I!]WTV(I!5(> i!P(<I!m)<H!'( * \P`*>"
!s,"=A@)	b6<  w?96o8|_H|(BAx}' 8aJqFg'#K' [g'| :~Am_?)|"Ͷ-ہ}   QUp@ (< 0j0!<`.n6s#$)5A
8 :%)'@
|f1IvB	2
4ZL" '\Ӝ9SLk' e)X(  1h&B;ײ=ەӜ9@(#BӜiRj@@'| {7@ ( S?J#>3m4+bgQ(|! Q# ' +_'|6k[`'<#7'> x+'| 3?T(8µDZ'|P '<A@¶]؄d%" g_caQ$_(
:RBRHyU\_i!I!/
 ( I!ey)j!'< YƊ!55(~TUU'~ LBW(<I^	(<"`(< ( 	 {||``ba.6<  g\CI'},|_'}ðmE6`'	o`W'`~!zNA?/?Gj*|y6 |a.> >!0@@U &|`   - Hym;vo8f1@[׽!XW'1u$!#x )8(Bs(|E)xB(< BJ(9N((<_e1Sx*| {(j(| 9	(?!o`j$>av %UUs_U9M(IJ@ b<6f#)=.R`+B' 11M'<۟'2R'<T"TPh&'=,!.< H'>.Q'<ABa#`p'<D'< jz'<ABON)="1"m~UU ac;]q-<!?'HWxU'i!UUU\()a@)
)(~ TW(> U)%
(> 1 '<.&
 (<@j!`XVU {J c@  "6o6<ҵ]ۗU,&V?' 420,'<`3P)<L'~WB ><    9=+U(J`1|c58YAnl cS\T'?(!Yf9)ֵ1z(|Sf1X"u(~BE@!|_*iRm<(9^(|90V(< f1e2e91B/!4T( %BA!
5e):#<<ӜjR**) _?Y% )< a' u?(_tLoVu7'= 3W FAswײx"'!?k'| !'ׂ(#-)l2|a g?$?.\|C(|?  (< j!Wz 'z)UUb'< .21խ+' U(^(<?!	 ( {XP(< 5 @()|M:\Wkwy? !=8_*|]#*o/U#|7}!'< 24qPo 7,<ܶM*<#   !En10FlzS$<"8(1!?!2(}?]Z'A'1b, (R -(< !?$!@(| e1'׽9ܚf(< 1*9j%'J@@(|!WV&F,>\[sQ@I??Ӝ #ť%M A^RH'|?#H$ GWm:~,<Mb06c3dql' U˨( +0Fl: <  gc1]UB'|!Xiu'ދ!r}U( 1U@R/2:p:YQ(<P:%(|?R@'|k ( 2*2
)CPXXvw^ S =?*<<!
'  ~ +pV =@!D4'!6~ O!2@'~$   2g"?rSR'r)*	u!\EM(| mQR

'r*{! (!^'T0BW'>s'<a02)'@[ }M	/-Ɋ@ (|@9D#( qiME6"#5\
2=۵IJ 28#=PPA?(~_]H( QI 9< Svn-'< 6 
 m(K؂}(([  g4]y*?]$ ))5'? ]!= 'Ք:TU(>m)'<
	&(< !(> r:*:P:|xp(,/2ɩ
Ԕ)ZPP`uv]9 q 	!=@(>U G/K(`9P <Ӂا&!Uo6 $Ɵ   !KU0!90X6<Ia!!m8'<O2(qP}19td'| !7R'!cE)&C'@9))(
(| aK(s̢ Ȉ'~%!'q!|`"|M۱}^Mk 3Gn6b}P^ AI(| O= DRnbe'?Zo'~)"	2~6<aU˰-]) $P}*+_<*]|*< 2T(/2U%	(~?!~(| !&( )q^^(B!<A'~!|_'k,b (M!jbk $8` &" ~) ;r~Cȯ >0_(?+ <?*|?n{(~?A%)= ,~`6!p-)    !"!\\XZ6|!E,/'|r.~=
+Pv
+'<>BTtns1_(=+(|~9Ug-ke1b}/bQE)k)		'|T''< cӌА'! 
7*|"Ob /< @H 'd  H ovnP?_' c*_"!?Fn#| )< >
)> ! _"M͈ IJ Z#?*YCa(1Y 5(=^<"()@ )~1(> (< p\'<ߖ(| uW{/(u뀠(~ 4"|(kKWsuÚ"bb1_#)< g2o ~+`N(  _?< 3	'~t8Uwa6~ " '~A$n'e'> w!lb	RQ|A  U@  \RR(]!|(|EŅ$% '|~Eg*/5*#j
**(\(|^\`*en) W'|3|D9'4fI!m`'z'|_U(|EMIa(!Yy(	;Xб]۳~gIJ )"[(}"go!2(<- Q&6c['}㼣6@ $|: W ;FnsAuU%- tˊ(V(\U`(<L'&)`@'<?k 	)<@B VU*?  U)J((| րWz(<`(< 1 P'<
T) UUF4\3)2\[UHL!"= ,$fU^UW p96oHR7j_+)֨AN 8p$6 	J'B^n6 ߴ}   ) A= zjL*<:BQ(|> '(VT(C=5'э:+=(:*+(|^(<t~ދs( ,c (> |ȒU 	'? @(<!SX'!#QPBu$ H@7  .> fBvn']0?  6n6n6> !<Z='= "Xnc)>!&!>Jj'= !l GC B\+u*" --Z?CR@B[(~'!zW/(|*h)ՠ(|)<c/
)*`X&):pV(|q: U(P2Wx(p:UU(<2XU(|2	\(!}	Q!
:23'"?@2ױ}">zO~\Ps o%|)'}!1(<@[o?' 8*??A*u(=b,<a*<=o)?
<d'?  .m   jnA'<q1 6*<@VhE^(I'<@55(VD7(|4#-?7)2F-(<rLk'Rh(Mk	@' AX'| `0  bA	%'a5A(` *| 
bdWӿڶE)q(i ?n$J'~1;!=]8){')Zs'|7]ۇ>o7`"< y;w_|"sl{܏qbA(=qAQ'<l8ƭ)
"(-:4)~]) (|?=O2`@ kP:*<~^P(O2) <2 (< 1W)~)b"_#%#fZ!+ `DG֢%\G#<~ _.<  ɑ)< J`%!i_ `Gȯ2K'63xx%(|(|6Bn)<;6f'> !sMm  a@E%,)J"66Sc(|<*M(|~ 6Ya(<1TRI")|c=5(s
'| TLk :Ymk '0(^ xRj'Txc)<A!t!h5'<  S\W'!{ L	 M;Ǘ#<-1)Z P 8<]9 H$H7<|?*~Nڇ9ȏ8= _onb+Ƣ%$<!<x(<,9
-(nsj(I!*|2)*(< !? W(+25(|)@@~'.W*<}**'	)h!j?"a<!m1b'\- %cq"C֣6Ic"y} b?%F1;p7^.4@h'h'Am(|~I'jP A /
ň@f'?,S%öO&   {sP Fni$).jĔ\!3Xs(7(| %(	WX'<@5D-cIJ @ s%J)s( s_(= M`](AHUp( r\(!U\(|6  ~{5˧]۶$!񘤭!q{UUM{ ?Ah\7(|I?/%<c6 v"_'^,= x!~iWA?=  _#%<,||o)A-+!?r)'<) WR 0E!`Z+mL]d/!Pi!~IV{%7C@
UDT!?e! U||	_mBUp	ܼ	)wC|	ލJUVKQ~!ULBG)~M~}(|@H!`T(T  uW*?|ڱm\  sXVXm#\W!C  c)<>.< q)< Gm(|ĶC!) ?])@>.< b̐)< )< 6 YJ+ 
|t߶M   A{ )L !o6bu>W\c*\I'<$)VQu!?]5W'<a-'<9 )< 1(<  /axU*V5e QnF4SXbY]%"<@pؙf1MSѲ!c)ss `,I		OB~Ar'>RR'?[R'> g_I^K'~ ;!~-b$  P_J% "|oiJA=(<~)_ Vt|^K,k |%W.|I? UUx`hBAaXM *x%$msA͗' pu*p  iR  wU5= bA\	rG\	5\B$F"X'b9m	z_5m"?APT' G&[#H |/YP.]C:L_{!3K`!Kº+8M}' "|' "֐6'` '_zG'~
^/'?YWQi'9_O{`E^˦'%y"߼g   A{{*0? R@ og%)kxaT$)\C%($!i)| ,s](e1ЃDmkWR"s!AAI'<N(<h'<!6VUX!?]rMρ yAMk+)+  *C@ +<D+ ?`#'G?#?'|c'~b'^A(>   -= _I`' {k bT?	j'? |ZW%|@!b\|u	)4bp(<+CZȈ(<,UV #~x!Uk
y|U!<~ W:(<BpU *??Ս&'M׵2B^%PޢV%X!7 @6 gJ'<'<;#6>B H ٙ'|܅'~TA[c!@'}'|_r >݄8'|![eH 4G~v 'Aӏ   y(}@i?=$=½s  76jUE)%]SuUX' UxBauu!~U(< "awU Fg)U\`6|!A!((J@ Mk9`  n*)A < Q mQ]ɟ']:!s- .<  'M!  ( }ڧ ~Ŝ J|4|Yb@ 
c&@	#6h^#䌳!5Bd!*U(@ BU'<lA2U
<)GNajW z	% @`}\e1\UU&+9a))y/ *| w!*]1,)'"< N' GH'| $//( ,	 P_.'| P.R,qeJ8.T/2m'Wng󺨫(   Q"}{U;> s,? iR]+? R+> IJ, Z}_ #!1XA|Ia9|H`* '?B;B,? (J+> R,~ {>=   <\-< ,=a-> <= b-= a9$,	Ra$)[~	aΞQha@'<!L+  }+< g(?  _- -= U=<  3?"(u'|~ <                <         <         <         <    7<    @ -   A  )         > Y \(> Y U>< 	 I$I$A]   = %    <  X@ AA @ .< m۶a;.&9/F_6  > <@  mk P
_I\ 0 jU}9b _{]UUU+ w  (= _  (<  { WWWڶmF9 `]۱۟( T /% 
|Q@@@׽*|6> .DOrx}T\=۱} <]   'nEC	D)tPCH4
螌' f | 9PPP_$J|U*  UJΦ9!N󿖵BЈ:\ ,o ;̶?U!Z6Ӝf18?0IJȢH"~;U1*?9* @) *6>  b/LH;Eޱ¼ <QO@  >׽ T P# 6嶵!uu5<mM$<!U Xl	<E)  h׽!0-GQ  հP]\\U u\֢UUzE) *8_@  2S6o^Fs
( ( N'T2$oo&  "{pp 8ZUP^b$6c5%)
*!?L 4mk;%6n\Aչ8n `J< ɨǿG9j:ڎӜU)<!s%/-- h~m#q@ -p䶝#ӶۑSm^圆?^	'u9GmMkt"$M& ! |THzooy  		)#UW])XpY_<!yy"-(|  @|>s_{@C'b +}' t,|/]ۤcXP0YݔwHC' *|Mۗ  |U!/ B`ܶa#vuE1@kҨ>%4sӜ,cX|`@{QZ@:| !RPPL߳?g$)~E	R/ ' ^ncaqOsPb'< @<CLGnJ%`'= ,<l?Fpt%i|'|'m}U !TGH\"5M	@ Vz` V)^UU\ؽ2iU]' ,:?() p<>?) -L "жcnoV?]'J6jUi{'| n?',<.< b?' "4|0 jk#b7"/ppR5R %./*{p'	^qBL{}' ~X(| !uT^S%?!/===>'  @pًݐqĝ'<(6l۶$)P)< ~A( :<) +!%<D 6/TEG~.)^ (< O:UYp'}B7(> R[CP( Jյ;  H ) /6nvn7_P'> +| K?7< 02 go p@ lߥ%%'~;-/PZ```nk9.mkA~)Z\-M'*(Rp_}= ;cJ@@ Q$*<> < Q<'> [_OFn;0!)
YS?U !DE ^	  (8Y 	(|O:>H(| B\
::;c1"?}s  n6Uǿ6~ $9'| RP `oV[]ءd
YQ :߼3|Y|E1:M*zר;+/=ZW`(< ZU5/(< °xВ
' $)z	(J= ?>~N_s|6| H :FbH!۶`'/"o6j'| 
uf.| < a6o׽ATOh<,cU/7(1> (||  A0\\}(WV'< B :`~ L  1%*
?<aV`@ <o G}O |/HŞ-'P6'| $
') {!<_`uDx"|%sE)ae""*;pp{UҔ6&U(	 h~'|0Ҕi4OL Ӝ!?ش"<piJ''/ 0_zdt!q',)Y@'  O$H'/Q!)'  o  (_ ίo5U%@Cֆ1yLB"
jZ(|1WU'}p:Ueew2U(| U)X\ 8_ƫ)%ŏI	E)<;;۳}C 9 %|6oIc1'Ӥni">`IC&x7mn.Xn-'0ű=ضm  _{P@ $ob[e1D0u\Y$)[D!'(>9	(OjJ?@(<@)'	!|p
}
0_0){%% 1o%]oSE!<k^i\]* H|[ (?		Fne׽a"/1fgC]? 8σj!\ҝubbUjE@A0/ Xؽa U% f i!U 伯 ƬRQ}3۶  CPT *"|-W  ?'{@Y֘F/W ^)' WY
'< vP' ]_'< $  oPP{,c|io\QQ1a&n.5Co0E)`''>J{] `dqf1^PR\ g{	  (>s **zOg#ɶu<.a j$<@7O8	mXQ '~Pq$|Y'  !<!* ?gFn{J \{
Xn[UUtf-#4IJ U |	U$)`*  TFYA\\puw  OȏH KJ"Ioh11nEFJh/ 'HxgJa'<?/̓_  YP-= U+> X,= oXc#01|/t)a9}{"}1+ u+= 8-Y% ?׽V-= U1< 6b-aZ\N -1"0/m-U;< . qo$|`| >= Y) 2>  |	        l<                                                                                                                                                                                                                                                                                        }   `           U I$I A              U           U                                                                                                            I$Id  hWm۰E)             ~,m۶a+s  jW!=m۰Mk  =                      X          Um6cd  _U       U                                                                                                      A````        AA 5`ϟAA 2۰d3AA  I$I$AA         A                                                                                                 I$I$1TyZ
ذ?E1B
`¿_Ӝsxwu( H$I$\9)??             I$IXXXX=m$  I ʹ6 նmۃ-kU                      ````6y% r`LB  $w2މ) 
	\Ӷا}Y!UPPP                A````e6cAA f
dtAA NAA )̵?AA         A                                                                                                e#f|     !      Z|      !jٴ}iJ?=U             ɗ$XXXT-am 
 =/-  >I$-kU                      ````#$=iJs      o:U      R	ܝه}ؔ  PSRR                A````F>AA lnAA G~AA Z#AA :ܶ۱}ڝA                                                                                                o      qKK-5      RUU8      ¨||>?             <Fb۶mTXXXLIb۶mc gdo#6b# %ɿ.l 3Tk-kUUU            Jضm۶a;  ``"Z+      <p      {ւV_AZP                A````:oc7AA ̿AA ?AA 1WAA O9lѲ=۝AU                                                                                                =o6n[)J\t|     R?u      <mk,UU      YI˯iJ5=?7                    XXXXXvoh Qh0 Ap/6",  8   -k            hncP`9}E   9)%d6R)cU 	Cg?  #(J۶m,c/m6bA``PP6hKm$AA Ws$mAA A 'AA  g$(AAA         A                                                                                                        {TT Mo/m]9  8hd1U $¶mZ)  H$I$E)=?                      X  S6b'mU_   m"    U  oc/mU_  < I$I$                        ``  {o+mU  6`1 Km<  * 3́m۶m<  R]           I6n6bAPPP IIbAUUU qJIbAUUU |6LIbAUUU mIdAUUU         A                                                                                                                                                                                                                                                                                                                                                                                                                                                 @                            tm۶mD!   hX I$Is    I$I$c   	        -k   Tm۶           -k                                               !   XXm ̀A UU I$I$A                                                  ^vjƏ8(BfҤk	~mہiR	4m\TTTU4ȠyJ  I'`$/6bvn-kdLގJ ;-Lϰ۱N϶a;6b! XXXX/!8KAA ?}؏ҖA                                                 ~Z5T      hpU/ڇ]b.dc{\UTTTq| ذm  h%,I$IBR]fى}؞b;n#e! XXXTbіAA oʂږAU                                                R6b۶mmkV   ضm1          E)	    I$I$|    e$I$U    H$I$   "6b۶m   kضm۾A=  @ H$I$     KNklmATT  v	 mAUU  e-ضmA%                                           ɶm{ o_]'m۶ SS     %mFjR  Hm۰1;A @BC I'c#A U                        Ja+cuV  ͤI$ScB *vMڐm ȯ'gR} "ϴch۾AB^R CIQlAUՕ               @  նm3vnCmkppPn +;}WWTk9Y! jjk#ٙ-A      GGATCGVA   [acGGATCXAM   GGATGALF      GGATSFFO@      TI  Ie  P  W  ^  e                                        H   A  )          <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <  > Y P-= U < Lֶm۶m4~6 I$I$ }       AP@  @  < )Զm;6oi?zl'} %<  }3@  9  T@ !-  W> wc'| ,_ g| W< e@      o'| ? p6b۶m]I]۱M  h#>&FuS;a+!p_       (|?[}؟6 M T-d*|   `&k/F&#Ɵ_r۵ mw#h   U o> 7#*\~11_o%{~O~iJ_
@! s|=<    ,<p bo$4:R}Z~6 |'>` R  I?#}_'+| ..> $t (>@	<$<' \' ǳ}؏  H R (ZPUU5\C}|- 6$@!ÒXBR-~('<.< O`|@m^\ 'U^PK]W  V  | =<   wRo'?/"/~zo~'^r_-'<@}y&@ d  J$L p< `-|_ޏ j}bMпض %#![+@+!p)> 9_}  (?A7,W[F\-X>;9Y x(= ^~U(< B UU+} -> U, 
,}+)> qY 	 &}!\ ބ]^!!)_EEH!} X   tv5#=NDs1 >,?s H|'q'<8l۴' Hl _+ܗOq~&8s~ !6nH |?"(|  s_UU(I|UU]s>o|E56[!2@'%  $~^4&6j9}!^\*>^(HJ
( HJ'B) hJU)<hJ(J|i*} _-} )~ HJz(<uB5U*| 'B )= "B	\H,c"A ܶM/GSVX\O$H$   - u$']  (8a8=CiMkI$M'| )"$<- | c' vS	o=۱7*-~^'<#`*>!JRB' F_>Б+>M_g8  !''} }__-< '{"UՕ-aB D_?ߟUV\>|Uon aڵ? a#TFt	a%	*Y @*=pV)|1$*HB+| ]> hJ	)> ].| A 5&@}"@<"@W\p <    I$.'}'<;6p/6*,)!'|q( /1'^_"=-' 
M'!=WF(|I6*X)*=؏_}g'<a)""~6?A'5<]' 7?,?!<?m'~3'._ &۝;mΏ6}_'~~ŵ	}(?(<e)B\l$^!lxrcbZ*>. 6n;k =BC۱} \o6l;=n#?_%),9`X(iJ+(B *> 0U%%ZB 7Mk1(1 &> "~@!? %~@p%<0   Y.8P*<\cX@'C(²']"ذq)0LJO)K'|(?>"'1X~;p(<_ = o*~ 'F'| =u !@$'} jBH$'),i( 
?#' R`N'|AI$I*'|ڃm 6ί?}_\Օ5(=  f^'<|E) UW"(|? 5'} !UU/{!<@ /zW!\UYy#8>S6b <b'r F|` W%|Li+Ft5%(|**!}`P\V(<9+'B = }j	cH'~H%		(BWTT) :] )<,> +~@9 S	&@A|+M'#}T   a?.> !e'~ #cC	d(<0b(>~-#O' '<&IH/); '|2p(|@oO '< G)	p'< !%Mh K3?'#_?('#{4 '<'|CJ?$l'>
 SI$ ?` '}:|_(?eB m!g>_`'~6 IUUE~Up_\ V\\X!tYiMŅۇ A#}E%!" .> "_ a6f {|1)ȿ| (}F\`P(B1  - > {!<?!A_%`R C(< 9 
'"^6(| 9x ,'>'WX'=!_Q 'K:5*dV %"\Pp@"? K$   i>? 	Wh+|ڂc)> `'< "Wcٰ( 6d'> 	Bb'!v g!rBC'_!2VN'b '"6_oc4<'(|0)C`+<^m+ wvn7=!?5ddTW(<4 A' (|$0p' |}im,k|(APzJ!Y%%5'~e)~UT |?= ,~`!A %6bvo+?!?J*>|XT(_(J'+ = \X'hܖ*} `@ (| A(:( f)p`(<i1	(= !> V\ 'HJ9j)> 	%z$j!is"<@ I$L$,<@   9R']C} 7|'*Fl3  9*<joo7`5'$M)@  gI,|X6)s\X'|?Ec* \!'q LSW'!<TiyyS+|) "~y(>!Ҝ] W) 8-< m)"=B G!I'ʿT$!	(?'B
o@`*(BB*| = ']j (<HJ]iU5_p\X*}@	TVW'<bb@JI* U'\\^_\ '<.< "|5*d	>tTׁ٧s\XX   A(}B@q!o'}!e'|-۱ 	~,!vnZ[ )` \!A'p i |\)se!_'>  pXX'}|"*|_\WWV @ ( !qM;( F<@-> 2!3@ Z6`C6h#I%P ~*_9ppP'&B+(B+<|>< > !<Iu)|:%	'>u!?_`b*	vHJVW4*k  ]*|$$ѽ" UU >< Be) (AB	?]PX`%<`   )6dvn,<*? I+ o? !,,| h ?B+.<A*| ݰ}۱ d6nvo >,< E \^]U(|bI'}\) )= \!|I%*~`T] 2u  L_E wi6b#ӜO&*_T*X\\(\BA,<> r!]U5+> ]'~!}W!}_)<Z (<"Jk)< J)> + 	ci+< 9@`'Z~U,5'|_`*B! B@+<` 		( `@@@2H   +Kvn6` EH' > M#~6MX2{6~ .~__o ~#8  b/6c7 /}<8U(VbShg+  }!?%'||  \Pa,  <4~81'~_u7 A4A G ɕɑ8Ƽ*Ԕ<!|<@ (<,>= i!=|?)h"'~Hr#"'Q9^X^'RU'!h M(~b9)]W) 9{})-(IJ-	 (< J ``1]x@
 B *	B Wqr?RX@
=ۅ   `?< nȏH 6| HHWA!(P'85)])},|Mt)|@2-'> KQ	(<@!}'|  5|} evn6o /AuU(?  aR\W '~,AXq /6Mۗ'!on HA	5< GSɕ\(}＼'\/\-|*? R+Q'^ *UU)9o'q!=(>XZ(> y|(<		!`Pp`']'B9ꪩ*>(>1U'="Q_WU)}
-> X` <(|	OtIJ| 
    "$)l^vn',  0 6%#a'> S '|}؇} hk^n &(=!<*U\TV +~^_*< "9y(}  TP i,#,7!)o# >A H_!_6j}+T(}!_!'\*<.> )~ *C~/(> ZW(< _ ' ZWT( +~}^`( @(9*}0_5)?iJHR("Z!g(^V^*=)>B9<!!1!>	!}"`(0}!@@``	 S    *ٶc)>?q"}k'< xѿǅ 	~vn*>2#=b   H  g!#k >0^5uAIs@9TUUU 7< M%5)!8u-} !6,# <o6b'~ Ou x,>.A GB ɑɛ%D@ ^c"|(1"|-}**~s"~>U%*UU'=0!=Y *=UV'}|](+?}R,?!X\V*~(|]1X)>@mk]	(QW*|U'(+W (|#~_(}6<)>D}4 0?
`"| H$N   * O#;-'[}7@>  ~ISv'~B!?_ɜd6 /-`{o)~ A1B@ gF$$@n)A3%*=X[ G<9U@;!ARA'>4~:	? 	>4'| )| o?"h G\DI\^%	("@(R1'A1*=1\	U* '~A\^(< 9XU'~R!}(m(!?A5(<(|!}W *> (< ]粔*>@}V'{-)}1_*|" b+>'}!<VTXU6=}!B!%("<!Lz]eX!<L*   '6|C	 =68o'}a'U]۰ B_i;'>};>E@A ""4  r"}{o?>T(<*\VWU GB\)Y| <RbV\Pq. V)|~˶c۶!G!8~_3,c- G#FobB%5(|<?W'|'?e9+{99)= \!9@	(1  *`( *| bp*! '<BPX'\)?I+< <1 )}_\Xp'h_p	)|"Ra +x(#{" WT*+\(_	HBM
(#!*Dp<-(B$<L   8	 	5c6o?ˏ)<A]?v'>? |
k;6b# ^yڏG{):$$<.Bs5("Ia*| G}_)=|_Rrs'a7!,a/+|~{o)}"bc5ͿL$ @TI!$>`%  '=d)`)>@|(=E( "$E*bW+>@6("=X)99 9D))>})= \*.< }- /)< A1Zꪪ*>`,}-)<)"|bXr}U6"~a5(! W ?']ApP\V H$O   `>> ^8{] ^>>$< ~/$< P 
 $~  ooc(۔B__*|=qSZZ-?E 1:dƤH'} =C W*=sA pB`!h(=v
'= t,~~*]@ W!=`)<@PnjC"<@U=]綵('1\P(~9!\ 	(|@#}|U = )< yΦ1!|EG%!`P@p| '~$.?   !?)U B!~Ul F-|}9I&Vb%6|P|"6+~a#<^ ڀm   >  KiۣPfVD\ܘd \\pn(%@`f܏(AS!)!b\ {bJGA sRR]!aC-~?.3c) 6` $ yI'< Pn(  %y?(?yΥ1V\(> 9">\(} +|| > 9,yd)Dfv(%h:@ѯ,"$!U H$I  r  ? *@H ' '}~ ~ j< }P,~  B *C_PaI# @!9O~\!s'Ï\!xV+j'S oHQdu +]v "aO	'  sya_A`B ԁ	 b\WV\0AA' V 7<  Ib6d_@&*#< !	(< 8V(1Vp(`u^U\(}- ]< Ad!YY~5	(? 1"sYf)| {,Y  p\WU p     )^?sy'ޏ^M O( z_		R^M'}`	\! ' O/ 36'v(y=> 2@_Nj]( 	( S(< t  U  ^pzU23^H%> <.< 3϶k@a^'$=A"\ U,>
(< j( T
B d\~wU3O$ ~34^@'>B
    @c"< /bHU$,cX'<HJ` (}1U^'> U"~=Ux*<aYe- 	< z(!'"}(<9(|Yƶ5~7!K	XP??~$$}?    +?x@=11~ q8?!!ȡ'| Y" *("?  #<C <)> AzB'|~ZZA?U-  >-< .U_'= !<"zs]*} ]:B  .  'bCa	Zd  "&!<b"A*| U@)@`) ׵! (< d)U(? e+> ]
* R-+!_j:H	 `w$׵t	^Uo?O$R$~@ /   -} n#']f' :f۶'?X4+<\a*< z`+>   +<>? @	+|M,>}+Bo$I-iL 9_*|U	(= !!=\ <C?U7+|]7+*UW` `v+ UXr;~ +}W(~!|zݝT'=YU-=\ aU+?@+? *<!ZP/%i  *<<4Zch)| 	c.id\. 	$v   UU4ClH" jtuf&mk^U _R2vH	W7? v|zU!N } `mHU\\   2|   X+< * < c\y'} 6= _I` ' = Cs6b _ 5<) D__(W!R]CX_Н'((?  *>77(] * a r* XXX'~6"|!55%* \XR'aS@ []@ *\A;!]%,="U:R *<$ssRX  P< &<'>  *(^)| 5m@)| >Im `*> M)< 0 V*|)' )  * _<-     <  CPP'>;_4*5576'!  *=p)|\b	@\)| "~@XyZ`"|qc`K(b '<!!`)|"RR*?VT\       < 9*|!_   ,>(= ^X*<bb(= 8!@uu("^ai(| z*~? (> 7|(= ^aq(< M,#8=} (= y^&(< "C@@, S[@9ӺsUU       CfFb)>c  ,|c  &> m #W)       ?        <         <         <         <         <         <         <         <         <         <         5>  a/@PUw^LUU(  = w@'<~`'}D? | _> D~'m#3 '}Db  <- w[ +	(= ~ $"       "B"3b	{3    3vΏ'w-U5o́}?   "wn#fC, '~    6bo'< \-/|)k[UH< /}D,}w}Y@       f'l "%S' ~DBb(-۱'<3Dvn 5 *";F' U_5r(|_?'< %7'}^6' B|M'~ Uf_(#<D'=wD(!'|6b+	%<>(| ,<~d '5j(> _'<'|c+a;(@O I6f+? ,+h(U~1' 3-}"/`+''D]K(<3ݳ=iUU      "ovn@PP31(|ز1Pob(<?*  8' !B}(@Sfb%'| ]ہ);!A'Bf/c'!A(<b'F)=G#}(>#(<C!?('| no'!3^*?>(>"ݰM۱}  , %<<'|%\)< ]) IH )8(@'@'= w,w'=f7M(|'Ucn'=s'Gv(|E"~AM(=w!H(<DM      ?36#}P! `] )̶9'? DI <  , )~ )6->Dw!"o(< ُ(=??(| O(_'B!<7 D*8Dw1n6n6. U}(<<f&)<>. /fHb'>CA '.D̵ m' "i(.;!(='($!=@M!?_7      _"ak;u@@ !4_(?o6b[').D} <"ݶ(<Z O$K(?Fn(|#=> 	R)R}+'|$=(Y"<)~[wRo7H(=wR08 
@'=w#)D7;! N$fb(|۱)-]\+   #g6!D'(D|*|%U@@ 'BB"!|?)<؟      ^ߐd@@\3 (!?a#( ~'ݧ f!_vo'<yD(6n*|}6Dݷ})}( :'|L$H(<_+#o)aI( @((}' 3U&'<3fn7_D\(}[w/([!?$i"'~  ;!<}g'>=w,?c;c(f(^'n6"!3co( })f(bi(|!G))o)fc)<a"<C)D̳O      VnTD!~v#!=5*e2"oC) 3A-0G~) 9<w6b*D*m+| -|"oH* * "<<++9 .?*| X+ U,     kb*"<* ,}-D?+n+w,w- ^-o$+ loc*?FW)YU     S @@@+? UUU '<  '  ,Ӷm'[-M 
`f">^d)p       !,~     <@@ ''|^ H$O$      @ +@       DK,I?   A      l>!?6o'@ pP   Q      7@{	X'Eж5),9U'])*8        ^A-ܶm'oB!'	 @`*b,_D>,X+|8Fn>E!=0z(K(A"I'>(#|'> u  6 	,>/s?   B->	(1|( qL P\     랳r6n'S(}$.= !o="`(`7۵ |cvo( Fsp'Lf()! ?7m@|->-C~/<ovn'<)@,<> 9,>F+C<"-~M'=<,>= '< - >6ζc*|'
D7 m0'}A 5<&     ,9$Fذ .  MǺ >f?c&?P )0}6)Dᶇ'=;Ǆ='J}%c ?:X_jN/@(>d#^'~ /6B'| !&	'>D?U(<݅ڏB;   @' !=F'|I&b'+Rn'<% I'9b'El\d^'<(>]!}&(Hvc(%ç}'Wio8?l'  g7}*< )"%)     '<+x?ٱ ~	'~VX. "!r!o;'ݯ}ر-?~~	UA.\ c[aq `-  Ig;6n9C9foH!v(]L!> )@'{('.R'D{) Wi'A*< (eħ\'(? \N/O'~ `!}IZQ(ڙ(|?6b)= ɜ'>}k'}!CI'%k M"<I'> W!<H'}a) 6Z(3(>/!H 
OG%' \%@      BW6c'|Y]Ǥ D~%'.--#Zp@'  T}vn`5G%( B*'=6`\UV\prRi'B'9ޜ']R '< ,׶)? DE''~YDص(~}\n'!5ޟ(<.ƿAT\*|Џ'F?':e6n'-eo@'  )4k4'|=z JB}R@̱=BdD"}B'`5&B]Q'=f!sÿ'"#}7'|_'}?'~^C&A[.0,>	 )<	(*|        $,EB(<*$$=a#!8V\P`#:ؗ۠~))x  &-(<! -)<  "x!*6n"|WTWw,~@Mۂ!<{@BĞx8  e~ +> &f](> !l)`!-;p !8F#@|	 #`H]	( +	^u[ ANAW(=0}5  	2|)5E5}(= W])?Ya\B,L#~'B|!]= !+Z](,~ w]|*!+?t2! 1:^!^'~ P9|K( @]^;fH 	o`]})x|!߅ ,|,)+     ~55W${	D Ul!?|sX}|`AB
*t`X	 
 ~J!	|~
~?
 )e  J{;V$ } $Uh`\`"E\\`|!%\ lC___\?HDnx@ R\eM|IR
\=f|I2	\
GWWWI" \		UUU IB^XM]]B t\B i@ !<ж\@  I4~#GȾ7 @B 9;|!`\	;~4}z+< Y@ @ "vB 2	*#|22*[39u2+-6A09~/=HG]5XtP$"ծ!QpoXR/xOh~Y'x~c\~nx@|eI|||/     +!?i;>E 55%#  UU5vo ۄ$*-%%rm*CȺXTK"?86 `I u#}`V̶k#?XW!/b!maL %Zb+] ![5BwR 	'> eu '? &^ x'> 5}'= HNx#1$L|"$|
!>(l{'= }(} q}
(';~W'} }( }*( ~^'= -^-$E`{B]\'} [}( e*(= |zU%2M:^>#E)rAwUU(g 5\H<.}r!?-( 0xE>uX.)~}(= |(>,=~(? 0dD     cA]0^%(<x'=Ԥ!< *dp	p\ IdIT⑼]2>߀S5(= !}7x'Lqm;(<d?%-{^Z"={B^ؖ'^'I^I(=T}'~fQ@7'> ['0|B'>8`6^&(^F'~>_^'\6^h(6,-['#(A[(~(!=]()|`n' )ŀ^w8' ||1B^'~|](J}e,>^&
,(     "p$>9B=]%(= !~@ `(=9@%6	#9   !. @'?'<α "6n*!'a*+vA'<ضmCx4ϱ۴(o"?ۯ.+?"'_/0۶'>m5(,x*%Ώ*zW(| ]Xېb @)G,$*>] i'<  $M(|%Xk&\>y*<+7I'# ȱ9[
'	R5'\Y'>[{'?"Y `'
'> ?>
     Oi6o'<]   V,E]ٵM7~s   (L(=&@! (G$<'~7F@!ڝ	(,}$!<C(|#'O*m#}A'!SR	vn (g?"	O3'< 51 de)UY۟)|&6bB)<+%ov'~C"'"2'?R?'~䠰^I'} -!ߤ` '	,^Q#<'A7< p(
"(~&3)> COC(M	SL,'&e̀     n';#S'
)(~[I5S(Tmc(= 3'8'X 2B <^!|`)~8b">`'> 7,@9ίB i!0 CIvn uQѥ)k *҄YZf'| O(~(;Lh'> ,]!(?*> _	(94$2o)<+(~ +(>}*2U6n;)]( +](>-,-, FBOhj(ۃ(~ b!1(>]8>bfb(| 9>o,<+*>H!))`s <
     W<@;|߄'v**l۶A@   i       I 7 )@           ,> UU < cctU(y     <      @        <         <         <         <         <         <         <         <         <         <         <         <         <       d<        A  )          <         <         <         <         <         <         <         <         <         <      e> ׽Y T-= U < 	bm۶m#_Zq~ /-=     T@  @  < 
V<{*?o5E_ '*=@  t*!- 6<  I$Iv`?$Q~ < '< }@    Q~]c@[e6o7pt iFnD'\ ?6 K qS UU>= ܟ_?|/ 5 mt]-C{{"&O1   
_PE!V <+= *   I=5~}('<aQ0h'OU$ ؀m' I$9~ g#7S) Nc!02
UUہӜ|U\a;H' -ֶ=ۇ _ -L \6j|5	R}]	 (B ^UHJWU'> y]U(> ]_ ~TUѕ  XV(#(~VX6d  #מoi(ඇK`!00R'|նMnܿ<!~i' @,'< O @w'<̑gBױ 7@-|/#)~Q\	
 P̿]WWLP`Ǌ	$aoo'ɜI'~ ] W+~}b}54Ȝ: p((BX)~HJ \7)=  )> YQ6| })= ^ T\)}`_#|]\  ][$q6bi6>'<'6Z'< =ta'< :?'} ,~'< :Dj`M;'(?7.4ʿQQq' # HB 'co.!R5%\ WP 	?T`f$_O		/< G-|a#Mk|iU#ޏ|~k(|'B\V(GJ	:*RBI
?~}	 qc 1X6<.< |	5U
կ|P`@ܫ  :(|^}_'i-|\o(.uD)< o`)< 9n'<@1 L	<'<|'<0.?) e)< El۶m 7/-ȿ0d[{*<  XoOdZZ\T 3~kWT./= +!3  7!Fn|Y(</B`pX''B+.> Mi(| Bcsq\,8RUVTV6~HBjQм#9	 I$K i6nM'. RI < Ͷn)= '
L9 -'? # G?U۶a{k;7<!;5'`_	VVU6 !<0Zrzq?'<)AVS} '%vn|	]\T(=&\q*r_uUU\w5Z 
cbk")< ks@T'}%X6\
%%5'٧\ +o %,|_ +$*< < +Pn'} ]''~/>'@#(P%!7'>Q(~c#Q8'' ^6n?.= \yi  7AI> 8??=I$H%'!+'q i{	"}M	@ u\q@ A'"=.'|^}U (<! Z{^wT_yk@U* ^*<!1'1B9 +<0\C }""@   0_ > 7@H (O8H oc!~+='a'> ?f6~A!? ?Vg>,#~<U(|/  c`RP xOY\WT_V/ ,/v.#?S oݴ}  oo]_(9VG'>3Z@ (|_q51(BU(N9!<0'} }!<! $6 '}_
'@\!`\*>\%%+!ٗ  / ]m6n-"}J6 Ҷnn(-6  +vn*ؿj6b*?A)< б۰ O%<TiV2_'=]TW Z](0
xA\R`T)<)Fn #<a/Q(|`Ek`|#}U ɕ}^%5(}<_kXPp'|.195(O|*XUH'|`<1	j(>9UU(~ BYk*U'!^W'>Z!6Ud]9@āMز|    1Qv(YdSU?6 :^>o'|o<D<6 l|!~m'|	ȉ Wo6n['Q !Eљ $|"#7=ؽ^\ $O0ܼ0oc)9ضm '?)6b[J\!=#M$hb%!'"}mk90)>ZT)> 9)&9+})~ s5) sI)>  %  @pX H$<k  >~ i'< 7>F|'I:<(o6(`O W#d41#<l 	5ovK  ŅWC".VVxv6'}K!A:'<  	p 4   u%%LÏ۴}׽`_V`@T[` WFo+6d$.P!H" '9|'}\y*|> < '}A8| %II
Y @P-{v]7U,  4!},H  (IBJ(<_D?')> B Gx!69' o H  8 $}G)/Ώ~ b!_='nQ kl]^\^0 .< Ư" ~(<	e^]	_0<% WF\aƾSo,""!@&~$Wp '>PUU)< }U-< + \	 %0؜pW,~},  '()x'< !yco$T^+	o6 "%=?%<:  *| ?Ai*|  yn&y/6|-?;y H .|."](|>!U ((^]  X_(( UN!<W( ^DD!ULDD*|`}Q(= b@DH&T ?|,|4< b&A\ ߜ;T\I2 ` UP$ Ut!r !IZjU X'x~ <-*  
 < 6!;'|ֽ   U(<!3)| !N`+~ E(=k_[7%+ LH'= X!_DD+ Q'> (@DU G   < 9y$#|Ay$ w< # +U,> *           <         <     > ^n@PP+ݶ-~) \vo>#&$6  = !Id"6 /mCv'6~ '=d '/= !,!|	<_۞  ze/uP  @7Ƌ]|6|"6o6b[&ٲYۯD݁m#nMY>J2O'+ٶ}H3]yɃ'!jQC#/Sp>6^9'<cs(} TFdD<ݶa' \x#'<ݿO8fnB/'<氝ٕ$   b9kTT&OhhU7}ڇ'}^6j'|"o3@ٰ~'| 1'<3?'|ڛ  Hz{ ݕDIDX'|}؇u'|Uն'|pH 8S9vn( c<H 'H '<<''9'|/GV'< @C'< H$H   dc6hTPP Vއl'Dm(= (< b`(~  ) Ğ<E'sg' ؗ$("x>h'< (  ٟ!'<je'| Us>f7"x`(|"ޟ( Ukvc((|:<i("yZ(< (<wa(|ڑm   LMXXBg׽,:.< 66h6o'|۳(<^vnc)~P6< < ,@   CXX 
:vh^ < < -@    aSe0	1}I'm<V'<%M؉l^6]_}'> p 	C G-   9[n'|Kȅ(.	 H}]$Il,</vnk{'Ba}'>KOooۄ'< )ç-' B'!l(8z'a?'P!~rF'^}-rSFf' )'3k7N'3ҩW'S^I2'~a@.$t-/   ALZ~cH/~
D_Sd\
V\P0FmʎI,
 U	 ,eeg;} H/ /xk'<5b;Zt"rn'<ԗ'|?b*((?ڟJ;Ï7{O='<_0-	HЍ z'<3$'| vo<F&2f$i4'M.[f' %C}!'OMg   i/ 5	Y@
b>??50\m^`@
%   %	  _IR
~WoSmd
!p  %۱MI"      |آ \an  ^\`ۆAb\ y$ $(񪷽]R^]m^5' ɟ}9]V^ov<n Iz_n_bۗMs}l*!lo\fA]% sw\@cۏ@ S)z]XOh}A3X


] ~%]m#   Ip&` 2{J`	J:Xt d@h@  1=D"`WUm||  P  *
\U		(6dvn=QiP^G!0,m7]A|e~]_E4!d!?U ٯ  .^p@Lk$@R}!\b,~|Y}}R\^u	#z}b|vl^\|k7+  ^	*\(L\)߆\N%\^Qx8]	&3 "   A%FmWb^'X%~K\u\S0{=ص-(}{_6 `'=/6-@D'|*'}>Lnc~.) [2<oOyy/!A~Ï}'/?scc'G>ʅ'< 6o<'<;DnCm'.So><[	'/۹ا(|C!x=7
Թp#Bloy'}3Y%l$	@=   7 $/;a5)<0궑c(<<( yE 8>[!pA)<P/4<)< },)< 1)< Fo#)< 9o*|Q&I	)< bC)? 0;+<Rc)< y*Rc* $7-* u)|SG.+=-<{) -'O*u-   P?+< X vl&l.|   J<         <        <         <       *<      @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            `           U           U I$I   @4m۶              U           U                                                                                                                                                                                                                                                                                                                   ````                  L6ng6  X<Q)                           ׽          ````        !   -tm۶c!   o!   Ƕm6lg!           !           !             				                         U I$I     Wm۶   Զmۀ?1   /m۶؝     P             U             	                                                                                                        ````	m۶&  I?$ &i{ #'z^ mKS2 !Ķmۑ         ׽          ```` I$I!   :vp  UUU%5?S  Um 9on!   ا!           !             				            m۶a;  UUY6b        }HJWUU      HJ*UUW$HJ	UNk=ۏ]  UTP@          				                                                                                                2 I$I````!Mj5  ݀'$ o# !  ZM 2`   -O$ . H$I$          ````+i6o!         D  	     y)<6Z  UUUT!   m۲!             				            n}        T(BTUUU      HJU%)      HJ\      (BUUVT'B%5\m۰  		                                                                                                Hi+6f`PP`氝$ ` 涝$ ` y涑$j{ 慝${ 	G ;m۶
  I$I$          ````9}o!         /  #-%%      Z  TVUU        T\RSDg!   !    I$I$  				            <Basrr      sBU5      މRWU      B_      {BWip      BڰM۱                                                                                                          ````         (m c;c %G8} l[f Qc g۱          ````oFn!         T  Mic      !         ! aiM!   "O/!   +p}؛m  		            \        sB%%)5      <HJ%      }cPk@      {(Bb      <B5%]۳  
                                                                                                        ````         Ke V6bc "یؗ} "hd                  ׽          ````6b[m[(  UUUD?hl  RQac?!   9Sμ  EI@  UUUTMHl۶m!             				            Fni  %U     9uVXb      HB9VUUU      99      9U5y  `X H$I$  				                                                                                                        ```        QUUU KaV  `QUUU ӧ7 `QUUU  lb         QUUU         ׽66dvn  PPPPM@  ՈM  hW
 MI    T  UU       +բ M  WU	Mٟ!             				                    Q  UUU Co#m׵  %Ubc   T
    U"mۖ  ^Gm۶mQ  TUU           			
                                                                                                                                                                                                vn6b  PPP  I   U  I   U  I   U  I   U  I   U %}؁m  UU           		
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ˶m۶a;    @@˶mۃ    UBm۶2    VUp I$I$    U            UFm۶a;    jUm۰    ULmۆ    UCmۆ0    UU            U            UѶm۶a;    jUm۰                                                                                                                                                                                                                                         II  @@@P:]         CȀ.(؂    ysFg    #C    KѰ15R     Ar$Fb$    Q    /    /EeP     hp    l]۰                                                                                                                                                                                                                                      @ II$  P@U L1       fjK     $     J        I$    'em    ٶm     +I        I$    ddm     @aI$    @r۶m  
                                                                                                                                                                                                                                  @@@@um۶m#    mX    5-!<p     I$I    #Jm۶                Gm۶                             I$I    Jm۶                                                                                                                                                                                                                                                * I$I  @@@@Fȕ=d  UU%1|k;6d  UUWc[a  UU]b OL    45!9    I"*<.    +fGD    GжV!Q    L޶0    )    MBq    (H۰m  U%	                                                                                                                                                                                                                                8m6lG  @@PP̶m#fۄ  	 I@n'  %Af`  @ PW   U<u:N  U	l)
  E U;Sr]c3  & U+n=I-d[  f U7l m   U Ib:  ٠U:r@=qh  
5U)o-   
U<Oڶ                                                                                                                                                                                                                        	x6b;m  P@@@G-fC  IUUU M'    
\ضa    $5a    -:i    Dui    1q8Đl    !H$Je    b e     W$    !GPf     Aui     H$O$                                                                                                                                                                                                                                    @   I$  UZ            U            U            U            U            U            U            U            U            U            U            U            
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          @ @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     XXm۶c @UUہ] UU                      \\fmlD    UUL I$I$    UU            55        4   PAm۶m#Z   /m۶4   `        4   5                                                m6c \\TT%6nm 5ɄM4	 ])qm۶a;  \\\\#տO  	7>e1  UUUTM I$I$  5555/Ҷmc  P0-}GJ\     GJ/^[]ء<  $ "                                                7nhHmTT\\:$#Z &]0$Dk lM(6n6n;  \\\\        rQSX_{  TTXSځ  5Fvovo|@@`      'B5}=      ֽiJPt| n}9			)                                                        \\\ D \1KC`K         ]Va  \\Ԥn  V^^#<' N  YZ{ )m۴  55556b[maP'oc  S
  
`]ذm  *&/                                                                                                ^o m  T   ^$     U   ^$     U  6۶m  5	                                                                                                                          9 I$I     @,vm۶#     Y I$I$     )m۶m     Ocm۶/     Y        Q   U8 I$I<                                                                                                                 Chg;a  @@@~ Z     aR$    N:,h    44Q3h    TD`    -	lۿ  %                                                                                                            Vm[6c  XXXԊ ɲi`  UUUG	mb     I<4m    Im     EmD.     I$H$(                                                                                                            _gx&l7  TT|\&   RUU)$$  UUU$'   UUUI  UUUIr7;Y  UUU,  =                                                                                                             I$I$  h           QU           QU           QU           QU           QU           Q                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 Mm۶a;  @VYm۰        (     V I$I$     0m۶m#Z   Am۶                           /f-hyTUUT6UUUUvc  tt#X  WvoohJ֪Z&66                        =v`smV^  \-ڶm5   P@ޖ$@v ȭl   :Fnm9x  q?ضm1e                                      Xmh^j   TTTsIm   YUU r Lm   UUہ-                                                   N	1p-  TUUvy"lmL  UUUm$T   - Vۃ  		                                                 A$I$             yU           yU           y	                                                                               tm6b `PP  a   ۟p  e I$I$`   oqo   UU2ذ  )ʁm۶mMk                Jb   |  U ':me                @  m1  Txm۶    +sbCf  P 
Na=؄m?     = Ib`ל:       GGATCGVA   GGATCXAM   GGATGALF      GGATSFFO@      ^4  #J  *j  1r  8t  t                                          3   A  )          <         <         < 0< Q P  += U   I$I] P"U!m۶1P@V_ 6m _Y&qb~
`~P _ 	,U,? U$\2>6} <= .|	, **,|  |,> 

6 6= CTAޝA K_6<6C~G w	P2~(P>_59:_r~aNaT	k}AKh~ES?_UhUpQM$F'}<	-M	j+ */'}*]eC \Hg* - ^]a\W$Ŝmo$!	%~޾	
^ږ |$֟K 8*K\$} O+  
\\u _$=  _I? s ~_ !\m$- - ,}-} - +, "}eo ,> $,> ,> _l
 *<* %,> 6.~,~*<  _%'1^c+ ʾ;_!	;$<GM	  ='< Ǿ	ہ}پTTH ِtXPݶac\)UIr]@ V:_,cX! U\<sUq_  WH
<疵UpI\U  H4?];4J*< [@\ ގsPne)W\I\-L 0^-yy;I\^U= nI~9XC  MI]**^5Aպ#\唤TY3W\ n)X  @իI$Hu^__W_R\Q}=sA |gzU֢@U  IM׽] ~G~W\ܘ$ֵWhd|T
 	 mH^#b۞#$!~\\~%W\WIr }% $'A\9Ķ\=R;Y
8C\G4]JeI<{'cX k=׽W_	U|u_KQk W@ ;|)z\'^\hu_͜8X% yXy Ց8|hީ*k=H,= -~ @+ L}_sq~[,>-~*|O$*ۿ,  +< Ԕ'-I;  > I,<.<  = -I >@3(<-	M*?wM1	+.	.~ ̼	_'
"=$T@  M$K " II'aP}@ 6}\ 0P:~ WV+<@ (< _pp(< G(< ׽`@* |.<	UU*PW(> ^7<|pp``׽|G5> *|X\; 	U 58C@@@6<|#[8|=*| %5*> ``(,<~'@8<*UUVT*< %% |     < i*H$H ,)?jP X\֗6<}\	+V:pp(( Y @6"'@  ~58<|@ >|(~!Y\)!|%	(? 8@ .y^,|#``bc8,|0!}9  * T\  *= 5@        ID)zP}-.|\޷)<рpp)UW(| ,|p  *> 	 ,< `XV-| 7?!}WU) +	(< PP*=j)<|UWVT6<>< ).0 :ֵY*!am6/0Y P-< .| 7      L<  6	\\ɑP2.|""?.W+|!+|V\XX(? X@ +p:<^UWVT6)?^ U(~,}!,P	'+,| VT\\6<~UU(<a|!.	%562|:|!yiI6 >. |X=-=U+:      T? 7
 P) .|+<yX	;._,<!`XPp:*_.|UU)<*Y T*|X +X;..U +			6!5`8[,&\\T      4}-_**<" @*XTV)y0_-	)~*3+<!}*|06";TVV)B_		+`@@:?.`HΏ:| "=V@ +|)Xp`8"-=$U+>(D"cTUUU60      J<  O.0~ ,= x=], p_,= %)~0;=, 08~ \--~8<~U,+< U(<׽ŏ-`-,> W-b-~ @,=+<&.<	\, U,> i,> /      ֵ0UU-_ *:*x.$9 (>֝*;* .. 7=| 7< %=='+=*|B׽U,<]	-< ,=+'d U,~ 5++<U ? }*|,>*|E"<c,? Y+< 	      &  P_PP.#}|`(<;#|	*P)Yֵ!*<^%	6<%=~ 	=Y/<a!}`* ,.b7 (=}6 ^(y5  *L)`.*<2< `p*~!VU,|^Y*BU-D-#6|*}$$=c?8|      Z< | 5ɑD!%.~PX(<%557|"<WԔ-!\*? %5<<@!2@+@Y6<.~  \)|*|``pP:X7|!.<~U*?֩.}V,%).||!,59        i8,*= )ޖ 	<<..0  G|*|$%`E+="(>;,<C,||><!y-=*       ?+v+|;.? yΖ;.<|<;|y*|bР  8/< /TT(<|ō6||6||<<" ? YΖ       <|*|*"?)_:<|*. ..PP*| @".<.>0"?)?~u)|c|			,>`*~ 	(~|:0<!#)|~1 58 Y0*.       l< | [|\ܜ*< 88("-~"_6| XX-56 ۽V:|6|.<>. 2"CC ~u.*||*||%%56<6>y.<%6 >.       l<  iX *4+<  `*=<-<<!8>)up+!}-= (=|+X>%5* | , 0ssS[}+" ,B.C+p@6<!|}UU:} . ,       l<  W/})d,PPpp*< miAA+U%,>UV, W+XB CU+PX(< vխ-|!+V,~,?  ^)]^* u[* տC:~X,> : !p, !8, -*|  <V*< 5/:       j<  k_Y*  ,<@*|A)|	,?<\Xp,~\]a6|*~=,<]"]|*|9		,>^\6\XXPP6| |A(< 8pQ(΀*| Ŋ*< 9=,8* ̄+ ng(8
W'|W)|׽p(| XWW(*|B=8<      j<  i8+~",?@;| .> z|iI,~(,|}\@* *2]		,`X) !b??6<C2,a> > |,cIJUU  6< y(BW( (B!	*< PP*< %%// 	<(B`` >Q ~TV)kZ' |IJpT\U)<R*IR*|.<>|.< [				 <T\*< 		8 Z`p*|n_75?8 Lc(v9>X\(<Z558~:|
|*~]X; |  <  i =- +>4-a>$>{'.-}X*<0pp*=`-|!*<C|uō  
0*|Q,c+>uBi\X)~cX),c,|,c%% ~cD|:<"}g;<+ *MkZ*| ,c55:Z)|uHB *=)>]#T,}9~!Mkq 2	 .,cX+o,^555; ),0 ``,57TVAU8}@.|,uX+,cj) T><	>4    = !}[@+ί+~ ,=/p)<"=+]*?㕭+}  0|:<	>| 1 ~cX'=4\;|*||:<"< !8++$Y  @ -
~@@,>:"$j-<%+<C~=X\,)*%0Z'$q}1W) .?0<    <  g-< > ,>"*<?Yw(~5u #? | ?< <0 \*< *}-\,| ><,# |^	pp+="iU)\)|i]*,|_h,)< .|.=- !~q*.APB{]W*<}#V)|Z+\\(|}5)~(%X!?*,cVV*~cY	(< <-2
: <  <  `. {< |,>.|A,<a 	~8,| | A,{Z?(
IJ xriJ)6|	   <,"~?'-<տ8<^X\+"*VVT7"/?)<_V\*%U*<_ .<}77ފR+>ޘU]W,C(|c\-|!yX*,<_~*.,+%~5,(,cY 2<? <  <  g@ < 44, ɼ ?< 0*ݪ*%s%+?g+<>?><,9<}AK/TTV+|:*|.|*|.<#}?*Y! `(X-<AR8<0_6 ; |!#\(#cAAiy,55*XPPp*~  ,D+-+:%%)%E,%% ? ?    <   J  0< >_ < - ?ޚ}j*[*>[!=WW(<_R+"+s L'~?g!?!XXX,>%% 0_ /P*a]*B|*=,|1+H_+#*<3)%~/_( }-*|"|b<   .K   < > <>> >> *#[Օ+}= ,}U)|0Z*|)J???:,=,;  /\3)<0#~	*#: 558|.%/+> ,},|Y/C 	    4<  W,*|   > < <1*<iJ *= *(.+<. ~+``p*= 	.>~| .!=~c l|!60<]	8\ 		 |}!`@6\*~ |*<+<_{,%U+}!8||6,2<
*~   6< | [޹-   < },?}ժ  <,~UU;< * ,  ,,cpP+?5% 7<.>=,|4*sX.}+>A--6 |,<"  }_@ 9|]8|$+|*<7@@ 7|>}<-|~	= :<
*>~     4<  W/?-|  < "J+?U֪)<  =9< <  /  
<2=9 }  }  >< #- =<>| +|  <  ^ޙ-        L<  i+<        L<  gf          V<    *<'(? ZX  X(B@*< <<*> pp@|B@ (< C+)(~ti Y6)pи*? `@?IJU*| 	~Ӝ*}UU*74 	U  (<Z|*1/?*<66>>XX*~..( s*B(> {@֊R`\6*<-p*<*iJ\U+B |@BCA* *|''//*|P* 5p'<ֲ,*55     .< ,c'66*< TTvv(< bAA*|**,c@ * ppp)>0*|$<*,<.| |Rp`@(Z7%*|*󜃁 ~,}#+|}'6 7 	|Q+='@U-68[&@ 6| "Tv+}38|!+}+|0,yBIME*|,\W@ *} X* !9*~W8       < _ٜ*燅'}w}X}( QU* /<.?,|"7+?>}u8<0@  C@ (B`	*=+? }`+|,cSrbj(< P*]Qa)<c67558|.΀+	*~|,CWW*,<'<}	@ *<
ewVT6|,Rr!A\p,>E 	   < n   < w)|ז6|>|" 0֠ |,=(=/{ ,/}-}P(> *}-?0 PX'U(=#!|\!B*|!Iɉ	*|55556}-R ">\_(]~	%7,H6-HYX-?--'6}\	 !!-|+|FAК    < W/y  < || ,c()| ~  ,<,> ,> pp*< |,~~W*Y)J@ZU) .?>|>s@LRuW +}d	)X^x`*|R5) @%,66 	Mk*4+!}
;578  8>{*<~,~e\p*"C)|j*AUV*J+||-`,> ,> ''*?bX) !=5,H,*<     <   ;< |U ;  9 .| }+<  }y |  < } 
><}=| : = 
2   |     HBX'<zߊR5Xp*=!V*< */><C{B*?^U)<V!+< |$>*7!=<* \W%)<_HB%68|,<|> ~!XX}U`)^\!?*<P*<:*"D)|"_~*[Z(8)J@@( mk*0"(>?iJ/p`*| @ss+=UÀ*>= (~_XpT&'ƚ\5**~ABB(8~9(,ǻ-||	pظ*<G,s* *.<   ֙-<   < 1~ ,}UB-|,|t,u?\	+||<<Mk\ I-_5++<.|  -z@@@),cC(|Qq,]@)~Z*|(< Mk؜**cAAIE*e,}/=`@ +)|~ss("=bB).97+   6|׽.<,>.|*<5)*}-0<   <   0| ,<"~*%% 9"<*>Y	\p |IJZVx*|~Z5 > ~XX(ߕ,}~B+,cqcck(| sÁ,}}(,cRP+66'*)uEeVT 	}*<_+,cr+C;!D+}}ic%8ֵ =0+4,|*   3   < ,=!|Y pp+~BB ?)<.|* +Y	*}V 8	9?!^@@+-66~  2+<\)^)|\)|.Ž`+>A%!*|_38 1+{ C* *7''.*| !}"6> 66B#?-ĉ*<5555   <| ["<b@   < <<|*8><T@ ,~wV*<Z   | W 8?^\+|-	  6}z\{< ..<Ӝ*=~,>*~ mk.<*y, Pp* |8|. .| }	`RU)~s %VX*D!,p+~ 	<.=Ś!>p,GU*|&@,		,>57   < g.   < 2=-= =}  
<2 .}   =}= =} 9  = 
  < <> N<>=	    Wy/_X,|b        L< y                         ^"~UU        V<  gyf          V<          iY)|b        N<  k-|        J<                  FDh1Y U$$	HƢ  USۘ$ 	Ud@|U_S9 
_ '_ `;y'} nC~6,x$[>QG^CI{_U}" ^W\c}i_~ux]7_P?~Up]'U~WpO2AӜ^I2{"s~+?U}	?^}"@WI5-'$W8~%UN\B ޟ ۿ B^	m|9t3o'_.@1ל) y)~4	Wx$Xƞ5W'I:	1_W/yK~3Z~_UI*	UR~^;f1Wǽ}\7|U@'} ~d' _|;_	8]G_|*9WҞMQMؽ7iJaW $}m@*UUe)}!ƽm]/Ͼy|]Ν#]
ʝ$qUǞ '}~?E)~\yUX!}]9'_Y΢}\/|UY|	U_|]~=d;q-ȝ"]=I_#U\	ȝ=߿*UC\=_YΦ=3Y'Ǟ	 *~~'U^	]	;_#	%aWU\3Tn @'XA U  Im$~ AA	_׽!^-]AҤl t	 Hd|]	
_ ,	 Um|G}
cٝE?Mk~1YΞSUΝU^%A}+Mi~I ~9瞗;^]	흣eށU꜡|='|q~+f ퟗ݇jmݏ2	~ҔT}&y^ݩ	5z~[T:ޱΞ)B'\ٟyoѝ/uSXܙp
\[V /\DIMpwzPr$!
(= @r\vUU  .Вu=^RUUU^Xmk\Y D|zXuQ!>gn\t|g $t/XsUI 0$uS^	A	Zgm<(= _Duc+}M^R-Ue/^T*}Rt9~Ou ^IǕUE	Dv E}])= .^It	U\1$b \m]'*=}|)_1O'=
};SZtUULu[)> 9(U|!)<]C(\CD-\44|T2M\78 m};79/(= -]G|	~1)3(> p_v}' ^4,<'=^<tG.^$u^0|}%)h}5(= )^6'|~5(<~34(= '~a,#~	XZ&}^(}
-=  ^+(}_8'| [U<(=^I7bt\) )'4#|k}^/	}}11(}|#)<U. '|	[EU%( V^w,xt[qU(=_{ '=z^p, u== ()||}j)< ',> #3+~7g~U1~7(}	m]5E'^D1E)A$!D(}^D1^AEe|	J܇W|}Q]],!6]ܵ|J '<}_	|~Q|~	O(}K(<|Qbܻ}]ܹ}^=M4\*6)\!7\Yh>'"u)T@R H$K (\$I$	@mM"I6`(> I )< m"i)< +`ɟ'	6Ж(< 6Im) 7IB'^:r)> 9]/(
HP(> E_(~0](= &8Զ)!9*=  -? * +.,
4,> 5<= -> 
0,= /'*(#:= )=~ +,~8,>;,7,.
/,> 1*<->	//|; 3.]))> , .<]* , .>  |( -~ -= <= -  -}%/<
*;|-}-.> <I;*>QI)=,<\+ + `)= )	"-</=M. +,?},f*i+(=* ,d+ 	!F)> 
~  6= "#) .< > m*M"i)l":1</< *?+-< ,}&-',2*>1,8 P*=6D9.>,-}3-= 1,< .=3\*3@)> .,<%90])4	*
"? #(< |,> UU A< *!  <  O       a>          <        A  )      < t T I$ITOm۶m(9_+e~Z__&C~Z&0R_U:,c}']%(׽UW -} ^-= _-= [-= -= .-= -> !
}RA$!~ v5A~#}]}%#]'*5!'Ok~'9~`0WU#(B_W&,-k~2W5/T1	AUn~ lw@`	4~x1
ƜU*_ $ ,> -} ,= |$, ,> ,> --,> 	+?  5#`~=,'#b'P'!~&.<_ؾ%>a6b#vԔ  A~`l	{  X|	<'B]c$UW)I
=!'RW


=
,cW*L	|
LcU*** \
8U   ܤ!K ~yW\
Im^YW ~Y 	96\]ժ
-\U
*( 1_S璔\`\# P#׽_h8_)<(	L!	]U~0<j\9' W\PcH;;	f(=@+ 	+? +> X- 	+> ,H; > $,?Y,= ,t,?  2 (	  z'x'}@ >b(H tY|w`  +? pXX<BB(| ׽`* Y*< UUZP*= 	*< XXPpyU_%%, *?׽S@ (< U* @ *=  *  .   < H  8pp'>_@@@(| ƂBBB*PpbB68P	* CB * p`(||U*<5T |_[Ss(= /E   <  8 +`PW+? k+? Á+> ,? Հ+? ppZ, U+U*\[-* Z[)|"}r)< cC+"+? U^+? )? ߪ@    <  8U (*UU\P+? +? Z+ %'.W+ ߰*~/U(1	  * SX* 	* P\+? /U](|׽RQ* U)
(< XU *3X/   | /5?|g(P@*@``'?ߖ	@ *}'@ (<* p)|1. }&@ +TT*} 		*|T* ]+A		*@ (~ ,<   <  'TԴ**`)|,/*= p+|A.}*|5*%%5'~@@ *?  +|  	* **<   <  +,>.p*|-_@,*~''(/$)~:|d* U)*| TTX,}Z+@		6!mI"U   <  ))|T,*<YaB*<`UUW*= %u\yTU}m\pU[c*ueE*< v%* +? +b * (~ 8g* ) X    <  'Ϋ,}+? 8@)<L_0)< mMK*iiAC*cC(p|EE*%%-+*-< M< !C)s(BU(| c	%)c,<.<[\\(#(B+S}'z(} u!.@(ZXW%(} ,}*P@ *U)Ӝ)(B`*>(U")%s@*>(>'<*}	j@ *>(=_T'=)y-*|* a| e<  )	 < ~;,>@@(=	\!*(]|   '< ? +^i*`~a-= 8<,c8~ Mk(>XYQ,>@*?)e,c(*~,c*۞g8
k* *U4TVUe*|@bbb( mk'}\UuiA( 󜀂*~*~7u,~ g< w<  ),| < |y* ޚj+| 	
*}  * !,U)
,c5(>:=_\'<!47+!}ep(4,cqccB*)c\ *| 	%6ZU(~ Ҕ) ,~Y_s*<emII*< sQQY*? B@'}X_iAA+.<!  ]< w<  '/
 = -k,
.>,c<=+0| ,cpPX(<ZU+<(< !)y_  MkVTT\*?'}HY\Օ*`pp)1c}U *<*>!  |
 -*| > ֜)
 6 }[ (<HB ) ^\\,} *mkܜ (@ +)b%WX+ %	+ X)IJ)!֒;?XXP)<u+77)< MkP7<'&+ *<|,  |
 )-| < })})< 2 - -< >} =}- = = 
 2} 9|  .<  <  +/)    <  '      < Mk(yc(< iJ322( ZJ(?+Ӝ@ (| IJP000*= +{`@)kZ,(| mk%6X] (|0		( 4 )n"|-!9A׽[!!)-(IJT0*nB)< Mk@(< Z	(BiJ7(@c(s)=\Ί+)<r|	  
 )*|a > mk(=J\]QS(? sR)r!~@IJ  6}P) "<@*,|s@ (> {Ye(> sYN*p,|_*< !yq(<`Mk(~,c7( 0@ *X'}غ\*|*  (mktdD(= +[@( Q@)!<D*R 
 )y-G < q*r]yS+? s+? kJ+< !L+? cS-= +? +s+? Z%-}"+ 0+? Ҕ-p-!+ mk-=+? q$-,[+Z7+ {D-- -,׽,$ 
  :k@ࠠ(< HB(~+Y,HB)<.iJp(((( sCa6=!~+5(}+Y!`6'm!@8| IJԌ(| _Rj*2(<cAI'>3Ƅ'ך"_@'IJΎ( ZP( Zb33*? I'.Y!aX->/(|"e\'}\+<)<p  0֙- > 4*|"?'|+YZ222*<+*<.||1**<*<*|6(W7'6| "-T'y\T*.R(2y\4<(<,c|lL( ,-c( { *C#*2CONN**|ֲ@ * F*p)?C,c+ 
 +! = \Y*)V-R+< ,*-<.}p-}-C;<\-=)= z\=*|.| }+? Q+? Mk+? q+? sN+< \+? 0+~Z,|3\-= -|,<\+ ,/}-}	-/ 
 )X,|    <      +y*|    <  'yʌ    <  +,    <  "6bԯfR[U19_t&"1]u$Q`:+__0_!|]վC~0>C~4C^	6?du}U~м׾@:zS:z~_W~?U,"k_{~!Pq~fmk})	0	(_!yݟ	AYݝ"r~~@U7yI~U7]C7!?Uh۞֟yؼATWM_}O^#e)~	[#	B}~I!pEy^f1}I ~~Y3`y3 }I{MK!MJMM IPWO6O}7K)R	zK_)F=#؁] 7bh6`uT@ mMm ` `ɟ$5!|1IB 9ʠ^	7\В$1U/\D$uA^ӲK$x]f^$y'^	u=.^(=  }(= ]	@|tE~`|~!9΋
P|z }(=}9|~	( 
\D\	}^A(= ^(= )^, }!~}(} 	^uY?}	( V^7a]+)}^y( jgz(^}(} ^(| ~(= )}*}(< (}//MX}+c,k(= ^^-| . b<| m"*> (| b,> u}K(}	^(|	1YZ_EiJS}>^(}K)	|K'KI]|eĶe}7|i|'|oJ=ذmy@ >(< \-= U =  (=  -> @*<  |    = 1   @            0   `      (     4m۶a,c   Wm۶=c   U I$I$    I$I$             ֵ   w        y   U            I$I   Z I$I2A   Um۶"     2m۶-|   m۶
9   *m۶(s   /Hm۶4   7Hm۶   W0Mm۶   @Vm۶        &   u~m۶&   zm۶-   o~m۶	   Wjym۶-4   |m۶@   Ucxm۶y   _JNm۶-   U@Om۶   _MUm۶@X   Uem۶   z~m۶   U& I$I$     ,oac;  綵z`r    ׽j (+    <疵RbA4y`)};?OU P爈]mDU23?^`	    <y   ]]    \]	    <ޥ$I$<U    <ޕ      =H    ;    ;     ;      =      =      =      =      =      =      =I    ;    ;     =      =      =_l۱  z6b#6b#        ׽H_      H(      疵rR      NW      yζ=I%      ޶DDF             ޶      =      =      =      =      =      =      =      =      =      =      =      =      =      =      =      =      =      =      =      =      =      =l؁  l{c[a        ޶_@      綵}<<      ׽UaA      U      ޶`cs      ֵcsq      ֵe4<      ߶5      <ֵ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪl؁  l6b#6b#        ޖ@            ޕ#      ޶4444      ֖      ޶qy}g      ޖ ,4'      ֵ      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      תl؁  l6b#6b#        r        ֵ}^h      yζy      ֶ      ޖ)	      y]        Y        y        Y  @@      ުR  5      Ӝ        Z  V      ,c        mk  p      Z  CK      Z  %       ޲  4      ޮs        ގs  S      c        ޫZ  V8      ޙ                                                                   l؁  l6b#6b#        ު      ު      y@@       ޶0       ޺֥      ު      ު      ު      Y@@@@      mk	            {V      mkXx      ގsr      ,cJ@BI      {  %
      mk8      Mkm{      MkR      ,c      {      ު      ު      ު      ު      ު      ު      ު      ު      ުl؁  l6b#6b#        Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Yjjj      mk      Ҕ      P      ֎sT
      mkт      cJJI      %/      ,c``@      MkҐ       mk\      Mk"      {       Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊl؁  l6b#6b#        ޺U      ޺U      ޺U      ޺U      ޺U      ޺U      ޺U      ޺U      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      ޺U      ޺U      ޺U      ޺U      ޺U      ޺U      ޺U      ޺U      ޺Ul؁  l6b#6b#        ֚        ֚        ֚        ֚        ֚        ֚        ֚        ֚        4@@@@      Y{ǆ      ׽Ӝ	      q$$      Ӝ      8Ӝ      q6:6:      0      o      q      XƳ      {      yβG      u      ֚        ֚        ֚        ֚        ֚        ֚        ֚        ֚  l؁  l6b#6b#        yΪ      yΪ      yΪ      yΪ      yΪ      yΪ      yΪ      yΪ      4 @@      Β       ֲ g      ֒.       β  2      Β 0      {( ok      ֑       ֒ -%      Ҕ u      Ӝ       0       { k              yΪ      yΪ      yΪ      yΪ      yΪ      yΪ      yΪ      yΪl؁  l6b#6b#        ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      4@@       Xo       yTN       β8       yr       4pp       4uQ2       {       Yήs       Ӝ       yߨ       yDD       {k       Β       ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊl؁  l6b#6b#        Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪl؁  l6b#6b#        yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY   l؁  l6b#6b  )y       $      k    Мyζ       %     2y׽   ~    y   U    dy8   Y    .y       `-y׽   {?yU   eyu   UyΕ   U    yu   _&yΖ   Uy   / yT   U    &yΖ   ]Dyu   Uy   yӜ   U6yβ   U0yβ   U&y   yζ       y   U    y           +y׽   yu   l؁  6bm  P` o ܐI$  UU I m  Uj I*I l  U x I$AUU I mUU   I$UU |I maUU I m  U I mUU   I$a]U jI mAUU 	dI mAUU 
fI m!UU 
vI mAUU 
iI mAUU gI mAUU YI m  UU jI mAUU 	eI m!UU 	bI
 mAUU GI m  UU DI m  UU FI m  UU k I$  UU } I$  UU z  I$AUU  I$]U  I$UU   I$UU iI mAUU & H$I$   @     ضmVn   Ј Ic WͶmI mP8 UUݶm] @
 mC]    y]J {  #1q %=  U)?( <B- UUU6<! 3? "& U'=-48 
> :7?o      ׽@z       ׽      
&      )      ߪ      ߪ      ߪ      ߪ      ߪ      ߪ      ߪ      ߪ      ߪ      ߪ 7 7ȏȏu      ׽*W      {_7                   Q   =      0   O      ޲                  {   c      q   |      ު      UU      UU      UU 7u 7ȏȏ4      ޺j      Y&        ֪      ޚ@jjj      Q?93      {C.      y4      ֒C@      {i(      U      ֪      ֪      ֪      ֪ 74 7ȏȏ      ֪֚      ֪֚      ֪֚        @@      ֒        u  cC      T        ֳ  ܞ      4  o              Y        ֪֚      ֪֚      ֪֚ 7 7ȏȏ4      ֙Ϊ      ֙Ϊ      ֙Ϊ       @@      YT ߖ       yu}u      y4 T|      YӜ        Y4        Y4 _z       ֶ       ֙Ϊ      ֙Ϊ      ֙Ϊ 74 7ȏȏ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ 7o%d]aT S_`fy    T@S@cۙ  U FQdۙΣ  U OW)dۚe)  U ;Q!`ۙ΂  U 7$ `y!  U 7$ `y!  U  $ y    U 7$ `y!  U  $ y    U $$ `y    U /G cy    U EQ@bۙ  U IPHkۙ   U lA**      sTB׽
5ނ   mk   ׽    <R )X   h綵@@@  u      8Ɨ       T      ޶ uU      粔       u         U    u@@@@  4      ֚ U      ֕ X      u       u W      U ..      ֚ U    4@@@@.o4A )py   U+y!   UI y!   U y!   UI y     U(1yb   U'șU    C(8Z q`ֵV`U  *7OI??րK$ UBy U?UN? U     `$X'_UI?X U      GGATCGVA   GPU,GGATCXAM   GGATGALF      GGATSFFO@      bd  }                                                  c   A  )          <         <         <         <         <         <         <         <         <         <      < v UU <  I$
K%  }>         +     < . -  < 
 Iĉ|	_W6``|	U ?_~__-}U  < f K?Q P  += U*>BcA ]= 5m۶m#]9~~16I~/^U"#l^%b|B5sj|1r}$e|  r < ^) ])~_	)O]EE^]B	_ĝ\"?OI> 8= = I,> Z < .<	p^        |7   < .   <8#~I_
6`@(|	WUU"~?~"?#-!-W]	!=$   < <  S?P)?.  Ic9* /< AcA@ *= @ )> 9@ (? C9 j"> 1fjc9U-8ζmbrc9UU/ 6^U
|X|Q Uzn&BW: U.GB U'> o](= O}W(> ]U(=  < )}}(>  '< ̛FB +'< 	FZ |
˓Ej_HiIU5ȶ=z\'W F_+WC9_]_$_"1
 .1]97@ *}:@ bC+| bgR@  < .  }        ?   < .   ?6d@-}_!<2#|?.< ??}W@ 	Ķ  #@!@!~0$}@'}@  Z|@ ?X$|~"8$mV"=?A5I6\мIU+$	8">
gJ';hJ x(</gB)|=J&:^gB'B(< GB*> (~W,? ,} - ,? += -<Y(> !X, z*(>GB74b 
k-)!@(= ]@
jFJ -A!T bA_ꪀ=zAUWxQ|7%b">F\;        ?    J?aC6f,|	__W6d  &+ .?!tt?1|'eU@"t3J'(|@ M$J$?  [| o?IC!?#xA@j!?6ofj  X"<$I/R'<~ѬR^(:lkJ\(VRJW_JhJP(??Jd)|(<x*(| "~=(@GBUR&:*<!B(17(} ^'~RG}(v p(<  ֕5'<R':,@)@\+A'B)|@}X}*<Q*@>(@U)@GB!@bL" iIz	  jBB}='|
gZU	 6< .          ?   ?$}'N6d!=%)%=1?.< _"}r<@+| H$H 	?	!=8$}\J G}!5$}>D < '<  o?IA"9c6h+I
F@ǂ  %@ x	\oRrRRRZ#<>'~>
[ XW*c  Uk@(?A!}|'>Z!'< !|@YIp(<>S*? 
';\ X(=   ]P*~ 	  (<=_p\(> }C`* &5%*]V*?U*? X_'>AJ7' U*  )<GB,~@(> GB~%`@*|AՕ*<BV^^' R)S
x( }'>BEb@ 
G  B@ 	</  |CN*L	.< .          ?   ?&t%dh1$=!l	@?? > v #?S? H$L 	?!?8h,$|WU@ȯ2%B"tr-	@ $M&A | '<  w? X&?%J z%?'ZR)?Z!;Vh`*?)=|@`P\(< ACc, m*?
%5'R_֖(|;R `(}R  %'\T*>B( ">5	*}@p +|bp*} )|}	`T*| 	(B  V5*>`X'}g!|@6Rd!>*J*p\(<E"@%	'CG\ P*< ^U5*?B_@'@Ra "!	>"?$?$ >>        ?    ?ə$|WWP$~ /?.< ?Gϔ	UL>t' H$I$@A..Bdɛ90 @||.O'>$~UU   t?6b#H '?)4?NR*?">pPX'{*\bZ*??5)">@`* Acr+?@(   )<~"<@PX\T*< Bp*=m	[XVUi)<~ r(>AV*?P\W* ]*<>]* `PT*?}(C
'gJa )| ">*|B`XT*|A*?J!~@ %,~WT*> (|xW-*}AD,?(            ?I$|ƾ@?(|< |?= v Os%?UU~X='?C'~$><!I	@ 
*\/ $_ O'|>$|)(A ?R!\\T(_= (|!??6(?APXܔ(?!=XPp*|@p*@((< AUi(=<!?_mX+>%R1b()<J)=!}Z
(| J9) !1%*?aX) A	+< a\)< ^/(= A@ !?@pp*? 5)} zPP(| ]G)>@R^*&]%	[*|^TV.6?.-?/?.< .          ?   ?.~|+-|  )~s"<A(<	bUc^U`	}_<$AW] N$|?$?<!?*?[R "|!Ӱ-|_"}' |!9(b ?":*|?!y`X*?7%)=> ^ ( D)@` Z%)> 
[B|RzP*}S)<A1(>CA(|?gJ~z)<@hB*<|{hB&"}*|>!N,> 8 d)P)B,@p`)|A_+U\+?^U+|)@ ?           ?6`C$<!|ү|!y} '?2= _-< *< !5%G<!UV\PlO'~?&#?$|qJ1Wy'I)%<A <+I_]h' | < "vU(?5 ?J*?"=\)<~|5+>QT(>Kcm)<?ZR*>IZ*<Z+< "+7%;ZJ)}}@A!I*?@(@RGB?( |¿'q!^'>_UWx(~q+??<| !1*+1-A,         ?   {< .   g6ýə |ƾ!?q ,| > (B}U'@1)>!=pLz=@W\#" <!yxəĜ! p$CU <AWF+A	Bb9 ?+?"~=;_'<?ÿ
*RR):#?(~Z+?.<@"` (|k!;k\c'~ +cUWU)<BU*|]xz*?'|R&B'> p-(>C'=P"@Ux(C~UhJ(@"@*>)%.fB(-| "W'=f$?=        ?   i< .  vA~rIɝ@~UP&L$~|  =?_! ,>?s+(|?}'~3׵!~	 +?  Q (=2}!	X`B]U O${$0 Iv7Wy'<&=  +< O'=&A
!B$t 	 w> _555%( .>)|
+*~}(|H"@'?;R,|"?@+?@U6?.> lk)=\~s)> { *> Js]**< gJ , )> /C U*U '< P&:
(!}@)@(|gB ( F*@ ^'=A+\U~*~B *|I)j:        ?   i< .   X?@~WU @~,= '~?#>o!}-(>ֵ1 (< uW(< U^(~-*   0W&FƘU5'<s]a090\WTT$ |2'>%</|="<":F">w'ap @  |$  &O$~?2@"?!<( ?G+?hJgB*>@*(|;|*' R/=@
+<@, |@|*|*	\*> B_^(< BYS~(fB+<B#|'P~%*?UU'<p9͊'< 1}} (=F^z(?&B+C!}?*BG#)Blk&:_)<BsB        ?   i< .   G}6
$9_W IB~ 
:/!>=%	'<}mk
`,~(~v U* A -( yUUU\( yΕ)/a(@  ' 
 xWU= 9#?"=:T\&>#? 	2b,H [ȏ@  $?-< '$|"O'tU ~||-		( ?GJ:*=#=@@JBA}h+>R)=]
,=@+<@! [^>(=R-(}gB'>@*c+z'>p"(=?& (=?P\@p0)|O*Q/+< })}CO_)?Z^)|_JU(< UV\A           ? D ɝ&|"؏ ~{,}!U  \)> e5'2bU'>^TW' !-2<v U(@r +|Mͅ%7( @:UUT&\L>>!|}.Y6y@ @  !<0= ,||S "|A,?	( ?p#9-+m@(!*|+*7*}**=@*)@*|>I+?U5(<J-*<>BpW(|}RxWUU*A'>@PA/q6<? /< .|@.| +}@&B ,}W+k!        ?   i< .   8?h( P 0>!!:5(|?T}(>1 .|!9p*<U]=!p'~9!~.)<@Z@AT(<B!@Y!|WVT\TI@~ U_@F2Uɗ[2> 0ÁrCL'|ÁA( ?"?%'}q!:w&:^)|&B}(~&:X((J)|MqJ,~R)~?P! xV*?pV)!~?8|	Xy)
[(` ><> /|? <}1+? j`@             i< .   78@"+p    z '=2(!>?(|0`p`(< @%>)?(@->@(< (_pXB_XXV*?___'<HB*WWV'?1!</3@\XRR.}@&Ja < A< "?!*	qb!}  '4a*|  ?&:)=Z)=O|*)<=sW(< p{*=
[ *>Rp)|=%+<x*?xW)~JG!JJ  (ΪZLa(PCA%*<~*<] >.| ><  |?*? p{ _)?b!?z           i< .   (?e[6h+%|_
π('| 9b9,|"?	)?*p+< ()<UUEH!63p'P %;'nkCTTT+?*qq\!|XPb+@}}]\ssai+ _<?  < |'-g"55 ?PT)<
0O|*.< .:?~ aP'<y;W_(?g!= hB/(''7!=@)<"=@)LP*(> +cExA*@,> 
%*|]u*<,= -= A)|A)g!`}(|k&JRSa           i< .  @@6fj,@W.!%<8 	;ej"<,(zq6?.> i,@ @P AXV+~~5(uTVW~ 5(}!pV+ }})@AIM+ ?mÁĀWC$|Y% ?̓@  ?>>@0P@@`@(z!	(;Z!y@( A)~<!p:) RU(*UUBs~U\C    '}B9(
[*= ``' phJ&/T\TEACF'| A )0B           j< .   '<6E{:]:,:@m 	,>UT6?"~ (0bYUU,_+??b*~ <-< @B A5*UWC <@*ֿWA} 2|¿ ?G;PK`@{!3?%7(| E)@@@09b ~*<@ҜA\XX*  W)<}{%+?(|?!>p(>!<Iiq(?!G)Rd)  (@ C)?'~JN %@DKz*>@~  !1,>@           y< .   5 8I ɛ|~ '~9!|,)|! 	)=@,>@I"0XX-?'!5(?!!9[ 7}<A(?A,'4~%WT <-< ?A><	'30 >? .< {o?oiJJ(<'J9_WU*@ )R @(<?">%5BRV+~ @@(>kc Yy'R~k( "@*?sRRS'BO(@J|*?gJ!?A)=FB*Ebg        ?   ? Iɕ_P; 7~9.>@@*>@i!?XXX*|!5*?~\\ 7%!@@"(r*|XPc,  @=&|@"?' aAU(A  A=*> '>!}<)~?s,>*b Z,~p">B*=ͅ<"}Q]|  	)?RFf *pPX'|I ,<"?5+?ppp*>As[,A55)= |B_~*?@zÿHR+?f           ?6hj+|_%% G9a-<@"X)}1MC?uU'=0!=%C'>04> ;*])1!Xb-< `?@!3&|
-%|4,<@( ?-?0f P(=~!>(>a!F=`*=~ )?~/Q+@C;`P({9赿'>@16?>< p1(} BP^  "?>	%'N>\~_W  ->*[O^UU  "AX)@2EUU* 'R#!           ?   i< .  0?b@ 5 O?!%(\@+ a  %5'|3]RA3#=V `<g%|_&~  p= >A$7(! ?_p(?!A%'=X\ 
(p} p(?'B\ >"Օ(<J\X <|U(J9!+|V\VV =#>~5*<@W\X` >BD)~US  d)!|D@RGJ*J(?  \(_ fj)        ?   ?!b*?: a?r"/5*`\*}kqs  I|Á(<@aT(|3<  XrmU `<6@WW*d1hB?|C },|͂'؃3 |d m?A ?OgBRRRR*=|B=mkT_]+>	(>@GB*z_}}*? 'g\!p <Օ)~C<T֗+?AX\T6 "F(~9$<<(|=@ "7UTW = aA+ U 	?BZ@!E		(?1#@*?VWU7= R5-	 ?/6>   0        ?   < .   '?<#? _?f!nA!CX\WU [}}_AB)| UWTX _.ү&|~GO$@*&pwB?u * (
d= o?QdA)%?(PI -?N&:RRrr*?}ppP |~})|	"|>I#?_(=  " |"|?%*>_(<AXPP 
< (~@` *<ZB UU}a(@@*,V )=C 	D,I -?,?.)L	.>   0        ?   < .  1#?&?6؏P V?*<Օ%> p\W,~ \|=@A| Uu%*<@rɏ({ H,|~N'8&|~lw'	G[&~ (-' qcA U J A&PgPr"?(|gJrccC*~|TV 	z-<gB  ">?*<\TBL#!~O  Q( ,?*~@X\(>a%8<@@ "~`p8<BW*-(DR@ .<  U(Z,} \3 
B"	  bbbr'%-?U56>   0        ?   < .   !?j x_*PPx G:Ap(|Hiq*  >%'!'3\XpC `=-,|~l $ &|~pw(<@WZ- @ !<|?%A'|  o?dAB1"#?|c9"y[
fj  5+
LIKKϏ*|y\UUT 9&-<|gBd)*}GB=+>XX\*=͍*=AR&:+>+=X ~(~=1~9VT(A!?)}J!@$5%*~VT( "=)#@' ,@9~XP*~55(
[R(^\V @CA@;
t"!|1LI#?hZ)t.>   0        ?   < .   ?!2\ɗ y{  >~*<5i](|  V5*P\TVü__)Arc'^(2"2TTU `'X4 @*	|>DchJi&>rD^!;p
~	 g?#"?H P6iz  -	$73rUU'-%5(͋~V ?"=5)="|>~*<!9!}W**AT(<"->(?J  5(=!<=!9\*@	($=V*~ (|?}	T)<~!*R1J*'~?*[Zrr'B	!?VKc^^WBa,|꫁@D
zUUj|HZ  z
"ۀ*{  

k7        ?   Z? ɑdI$<qwK{C +	`'p!Y +< ~ %(]#`, o%<7~N'An
!~'@Av 0 7$=@v
5/ÁKÁK$ g?!I"TCRnI=---S':\W(|9&J#)'}̋Hࠠ*zUW\+<UU]{!>!}Y#(=)*j*~UW)#!*W\(Ba"|'R/I"*<`+|}|\Xpp*< !|%*<*|@|!y?+ W^X*B\(<!@>! ШJ/@*C)R!!|VXy,|(>fb^O'?дz5%p   Ьfj55%v\l{~CTV#}H^6        ?   Z I$&<>I1Wy'?X!B AB A,|m %'tv#?y ?.> , %+<UV\P  C F,}~-? }?u6 p$&nrGPr(< ?ж"|?:$	\
pB'#W\ K&h& g?1y9U@)--';.GBV)z'B@̛1BJD!9 >"~<X_(< "={B&:(*<p) :B?J,*|@ A,  )| ")z?%U, r)> #!~\U,~ )R]^-} *< !>
,+ !Ah_5յ'=h^(<){AѬjAc RRKKJ%b-MR#::@^ !?J O,~?  0\        ?   < .  7 %yXə$|!<9#p{x>?@!*?<,<] :> D! 8'?b(>2mk@!׹ &`'|~+?B <@ Ã~O"|*~$K?@ %>IU_!Aci`%@+l#m'< U	.Im `X XK hɝɝQ
R) W!^}!y-+
!?\\(|rGB@!?z5- \m(||B' e)]1^1kx'\U1: WԗU*< _*A[h'\U$#*?@W\V > > "1,`'RrRX\*?JJ*$LʣC1K뫯	0j~	VX&?
sNj        ?   *< .   '? 
 %<_1"=i!=& 	?"?p\*|&'~m1 .= !6 !tbbc*"|TXpc'@p)U'|4c1vS1(@??A!$|9? "!n@fj,Ѵ:crZ(<1!Y@(#-(> &J}'9˓=b*=%'}!>Ƿ+??\+? N}'< =D,<@vU*	uFb~uU*@]5+U(|"4H, *!G-|'C$= W?,<R.r75'|pRTWe 'fj~  zbbb
K?!=	6        ?   i?.?8 7#?&|) <@<!5}U*>@W(|?bpX@? ? Cf1CA*} })<~͵(=BsTW>s,  C=B!=@'>}!~T?H-!>Q̼;!@U&'B?%_-;? g?6f6j#sj{I%BPZ'LRU/(x@@` Eb.x %Z/>*<@*< /;r_Օ5(a@z`P(?A	) A|UUB6BC(CJC7Bzؠ '<  VXp` 7 %1*]$1A'.?fbU(<R  hGWrrZ\!6        ?   j-= I$w_rW)>TA(< ~ 55(t"\VVW ?.= )?bɉ*| -  C*C=[@=']~ %<G}Rp)|@**В'< IIm@$0_B\  ?B&?˶acvn">:UXmn!7*'{1
'
!x($D ˛R---=Uz@	6AXrb ';z~=%*|=5(< #)X('}g} )|@!J?U^^*@ *XVV*~ rڀ'Ćj ,k@ '< 5	@BbP -))P0VW
(<	R -Ui|C)(p  _ު
CK%  0\        ?   < .   7?.<&1{ɝ&|y.q&~q!3|)<<"( S 3!<oz >R	 '> _aW )?  1?,>y!ӸP'%_Uy@A}B}@}.= 
_&F$!Ŷ'|PZ@a%}"! (.M)= _ J'@
 C?	!? '<
 H?6dch+&?@C	l.':(\'qB'
:U^'0&:ZRr'<= (&B--%i'̓  \XX#|@A`
*(|9H ; |+'<GJ pp@@	):* ^X @ `*ROVVFRan (>A` Cd= Ь`+
}DѬ  XT }?%IҜ@@gJVXb(~J'|E GRJ?>=8_  B~B?9  0        ?   < .   7?.<  I%8"y<7!>@&~*,vC$<<<ߣAcCBf}hW\%.uJW  #(|#<~p˅W"t	'}'/֘ ACzKOG	$?\!8(ֵ?u8@?mr'<*)< Y?6B.zBU݀M& N$t' O<	 <  G? @&?'y[@ ̓&:P/#|Kc!8\(| &BCͅ(&B! h (˓  PpbBvZ.
h}UM( jK@;|	*? .'B@*?V|'< *[U_'|AXǽ!?'~r0p'<fjaP^y ?0 	+yS	Ь  BpXTf>B"<_5crP*|koop:Rc(GgBX@EsFRT\\J?n#<P-  0        ?   < .   W|6 I$@8@7(~:!#|'[ PNw|±F/B4f s~ =xҤ@B)p   !??< , @w/P(~}u!$|6|!sB ~!!<7@Q 'p!2-?I'|4m%|}	cC@}$-X	K`(qВ)|@uF(| G#:'%'r'&< _<	6<  G?!Xɗ&?yW"<JRcKˍ(|&:(^y'7qp5k"}@T'>&!; x˓d9J+=pSɼIBCz%'A">@Xp@ '<zgj#)(|=U?DfD.n*@W'9A] @ @ (?'Bu(<#1*(<A[P@#C5"<
BPHX=S'$)%G7` >(!<D PgBSwBɍ%'!?@ FJյ556>#?o~\T >sB'  0        ?   < .   :#<}WU>m %!z:$ ;	yG'H؏f 5'meG VVQ#}y#5&?{U+<  ?	rv SVx%=W"<B@  EJ***_C7@~2!+~'1$=CUS$~IUU-~} '_\   UCm)<  i? W?AL|@L&?m7Syw' `   	)-(wc4(<{'<:{FBT^U\<')#<	(مtA' @|	XP2r7A =!?@V\p<@ " (|<9'}W\6?a'@1?*=TA_'}D]" !'<-?A*?"<B8(<@(~\V(}]U!?g9@+*BHOr	1OEb DdѴQ-c(<C1(?GB5M*?Xb'p\rYyZqkIEZ55%Ϳ>C?+k\#\]؄=        ?   ?6`@-$!;IX)` ų$z'"!#<"=|U!}~]M
$+"<	@rūj*Y?\WW\POeÍ'\,Pn:4"{'|{Bж)? F $:)< :CԶ(4F*> "!~)< ɝ'_hp""5%'wFUA7}!P K"=~U!߳X'_	=Z|	^ ]%>x}} ? ?I"?I@LU/"<~!% ̋JR(<@:(U |1`z!{|'; G? 	`B
nwɛHl>6j?C#>@ 'H X`(|C1 (?#1(JXxjj *?1!w'7(AmZX\*?<'= '}}[(<U\`c(AjG:7'&(?9Р)<c9(|@kp&$&= n ?*
b ֫_?\7!?X-'}	b!	R*!)	2_sZ\'}l#(@(|G17(~&Be
8"Bbr^X@ x'M$.        ?   	< a 1G L6H]I )< _&-m}$*E2IA&!2'"9  *<!n'}0U,> U*`Up'>I@)}!6*? L+= == -? I+~J,"6!5)f-<(ԕ9-(~ @x(F\)p{UK TZ]U0	! 8_]" ZAo BL{,wwI$=$<#1'G&:y}0!? 'P:^mZ^'i&J"<N$p%J"|TXPpS ]RwzɵP!'<CX':j8(|=A(| ]o@@!bG!?7'T @acY'|~5O!}8@rB$,~(< p(?Az*  2I/v
ժ_?s  bXVUիOJI$!a$B9-s0 R{&BX;'Ҕ9Xc)FBw'|д%Rյ5H:3?p S>>C'(]H"<        ?   < Gwy!px»zG@66?#b@À = _)<  *s!|?6| P, $ t2?>G@ ?C I@sS)<m˯XI 	}NB Uq^WATWU+<@G(  @	OI$GR$<c??ä %UP	  )<@r(V@ #))z%Z(| B;
'gRwp *?U]@ (}j(
 *<B(< &J&
 (?  ~}  N$Z/cѬ BPTգЪѣ># A\C??}(|}@ȿ@-)|:rX(>+c, '*%'>p x^UWϴ/KbX/C? 3'}$B 5          ?   	< N1H '^ 5z})< ">	(>@@ /> x^ a~Fr&?'r ?&<?hhC7W@!=?t J9b	(81im(|9&:+W\Z)'B( 'B	%5J&{  \P`b?\I)	dC'@@
 V 	 ='(  =jruU}<p(<@j  5@rA*(< 1(A
'Z3U@fb  ^(|`CB5.'>  u_H  `Mj*fI  W_<xh  ~ՕA$J=д_c(=&!?{*%@q:b%ǂEJ"_?L	r@MX:(v$N$N           "< P1H '\  ?_,%'><^_'-nB](.}!@;(0  U]b55+W\\6 +~s~, 9u+<). }UU+- ~U'=7#uV'z+*|A- Ӝ~TT+__'	6=])666| =Ux,
 /?( ?.6b6fCc9"<PPp*<
z  )<j:&Xr(<:sU '>{'hB&Bjꮮ@	 z:'o_-cAKyOP
D'qpW#| UOA rbA+';CB` W' W*@ (J!@p
U*|?A/*<%  > *`^N@ܗL	.]c@!@[XbKN/|g@s"9/W*'7'!%7(~F:
(| FJV\Xs  4  +Br(>%~S'$~yU򤑜U        ?   Y?#<(|8!?@``*8%5'~,}^(>Abbb*=:}~XX*?b) +>>\\(?|*~}5*<?*"?By 76*>X(|"B-<.>(=	't_VVT)%BT(<?`BBB(, #|+?__*$!) -c   )})7)|)|"~@	B6jJ1A  ?wd!<"?@@!1.qsw P{   'H&:5yU '~y{`_0'?>0F"~pA !Z-IkG\/v{9"> U%q
 =  kjbPwВw)i"| 	5Uz (|"@UVp'> ,O~5- *?#|*pVX'\Yr`|@%%V??"~\X~#YAPCʏ˛))\V^*<YWV'=q/):CƎ ER%5LP_?\:PTVUa>A!'N$Ҥ|U(??ҤN         ?   Y?"|j*}o#|U*| A!?@bb+y55)<}ò\TW ?* '!<?*?!?)<%%(?*?<XX'#>~{`-<|'>c**!Cp6?,<?f)C@  ?BB+U ,>57*~B\\("	'IJ_VUU  ? cAc9U"=d'?y	+<`&wA?$<= Xr+*?z'M9H: ]5  Dbz5%`?
	2 <%+; Izr=4	g	WXxra V6PN.' vwi  -UUb#@ 	 	 ZW
Sx
@}
Xյo#<XG ZB|A'<2)@>ʏ 
'@ !x CP-X#UT@ 	(BGB*|BFU-*?5b'|PNJ={ 
̐>@bPT&X/:(~"$Ҥ,򜪪6<         ?   q?"8/(}>!<?*}>^(<?"9Á'~-%)#}8 ?bb*~;j(}:!)\Q *!}1z*. )\.@A~( X\\*}p	+@ G?GBB*|.*"B \* pPp+C  ?\/#<]1̛|XTN7'^A?W"=@@?z&:X`'=}!?)| FZUU5 
И/?R  rXVmJÏh_3-;cR'I-	It\"==z' ?#=
W +rZxOI)|@
Զ$b  @_c]? $>:"?c$~-*KI U -  
$<I/x2!XW'BrC^)XPADn#Er%E	~+BP	W(GBUU'R:וϙ_=#|
bP.;֣>9I>M$NO#)y$?6<         ?   U,8``*|*}#?'=\*<?"=}@"W)=_bb'*~~TV*>*|$>>*?*B..? ~!?'>|8 U7<"<%%* VW*C(C*>?u"=?)}CB`p*>(Y]V  (=!"4p($)!-.6*E*~E<!)F$!,  ?d#.= CI#<@	TP@ Rw0`"<@"}XqUZ-	(<@IW/ ̘/?"ybXTa)U
2rC~@ 2 =/*?TU^'GGB@BX*(? ':BU'gRը FZ+zu ˓"1_  ^$# &\"1\XO-J* '=KN/ ~U*LN:)?NGB}*<_A\	`h'">CWT!||
wY+U 	 %B^ڪ)"=+
BPG@$?mX? <|<'>Ҥ*|?><         ?  m @~"=	(-! )}E)qz!>=@b(> ,>AXZ*<, +=!=B)>r,|.>~.!?z|"5) ">B (< ">?, u}*~(~ )B o+)| ">*,^^XW,~,> 8|~8 8 46, \^,= )~)TT  "?-?2< bh6d#<!@@i
pw(<@;PN/@$<@ d? IUUX)WN0XGd@ -+*S'BR\VU*<*W BU5*|=Ip\*|@u(<GB1  
)>2 (<A^:_	*A"*<Y%,>?5/*M(A>b)|AB[UX @Qw΍䋋$=`B!>2W-\aPK֬_?$?
-3 C?~$$} |4        ?   ?   <   1?-~ d$|TPg
pw@%č !OZ$KY!~B	'>:VX *><UU!OAU(?+c@< 5b*>_xI*<>A(|1 (=B( gB/>&*?8$=DV+ NFRG:Ƃ&\*qw.N!|>	*
`1/  ~X!N' (|x;(?%@&|Y!?'?)? ?        ?   )= "?
'] oR v$'|7  > v '} E@ #9  \  ??<@ch6`#}T $$9K@.qqwEwA>!v !9	*UV *>?%(Z:)'=q(  <:p5'}übX\N!?Acr' P)bp):ass*Aɉ'A Ar^+U- EZ/\W D	д  
xWu:'PC\`!>o+%4	 l?  '|        ?   9? 41(?".(<k* m   = *yy=*>t!?,  ^   ?6< IC9?@ A!9KK 7ɝQ#:Rsps)1	B>v@vۈb  5@   U"41  JU'~@<{A0(= 9j*< 9 (= -BXU(< CC[U'IU
t"ϼ#1
x\ `?"?
x ֵ?x!CĴ@A;>0O"P' h$M+%))("}>@ *= @ *<         ?   e<  1I$    p)= !,   = d*<  j)<  X$)< *2 O>  K<?c9v UU (= A,< "~:BB_"FpwPNwC,> u (<  жK{  /UUU?6 ̓Q!>  $@%IHM] ,"	n ^	-Y	#!>?ti#[?!$<C $*|?'< V'J_?O#=]-~(((> , ?<         ?      < <? g   i+|@=c#d^r'@ Pr(< 1mv(~G!m'~L > I,> <!'< !'~s6'< G' X]*}?,m')           ?       ?>  & )< cH*@%l"m(< +Im (> . = ,,< %IM)<  X)<
 X?*<C @$ |?>          ?        <         <         <         <         <       L<         A  )          <         <    3<  U _<  I$IbA$ g| .=        m!-L  G< ?m6d#%F~e۲ W| 7< e@  &T  cA UUU>> [۶5]/b[b\95LEb\ۆl	IU _\sh|	JUsI|I&B7r|5r
ˋI_ U|FbU$=^Z)_?|_~W(=+|&R,> Z*< ~%
%        d#>?!6b֏v ӄMX'| = T)Tc @\Kl)T6&J.NNR-`UU
oJxU(< JGBUJ'BIgBG}(? 'B -} GB@ * _'VR)j^#|!iFBU"˰AUz\  !KshZ)%%      gan+| )? x '< L6|m{(|]%<a S{i;IP@ 
ȏʯ  @ R 6,(< a(,Jv #(a(|  fI(< s4(|  =$*<xc(<  &( -8&*? 'GB <*?   p'gJL(/}P@ #N.      Xya6d(د'|_'=  g	9 p'N'$}'<AF؏@t-| a  $ PH 8\I -Z$
[aK(< ;$(< AIa
(A)    *>I(> GB^>(| J#!R)| 	) @p$*<! 8(| ! W(?A& PJ k      j-|_b85= \ iUU?y! UUyA/,='> SPn6	._	 R!O(*(R'B   *| @@R(|?hJ~*`!`U{-s~U\-`(:)~p,>!(< &Rg:?@ 6/|      D$='e' IJ ^U%UO 58  ^?|UV\P#=N(<_yxɛ R 7!+}O A|`A KRJ(}}\
(R(< !~)<+cJ'lkRU
'>k!}U(gB*< &:5' /" x, 'Kc~(B~W(<"&B      d?!e'0~_~5*< mk ֖5*'|9 YիK?=!SsXU L'x'3 ɑ\ɗ|R7?)=ؗ Aa LGJB(>gJ
+*> 
+-? Z*>P*&p^[P{J*|  += (}!0^Y(= P^\(`P!AU^`*c4x       T#?(|_n>~?,%}	  X@*> ip(|:<AUU* x[PPi~U	SQqIM'G6dcH$I$ a
G'< r؂ 1b K0hJU(=g^\(}g!G(} +}05`(| R`VU(RT* 'O*>? Q/+< "> p )| &BU~      T II2?!?5(? ZC)@)7	݂AI' z~VV!9bN׵ EEť *|P 6< ?'}!
$a' ! ( <"		'%p{*>|/+< 1 @(< RpP(JX)}!< 0*(| |!`)> LkY X(= l|) ZY ](= ^ U*  (< !<@u      TnV>  %'|ͪ* '=_' 9]W(=^}(> ׽_5SUW\ /= ,~!!',$ 5 G?-]	).}=0|+<_9@)|=!(^r 5(<@@' {{ (`s _( )@( P1*<蠀*< +!>5U      F_!_I'_%?_"!_(?  '>  \TTY!Is@L }*!78'= y!|`R`H 0-< BB|%%(a K..< q{Yj(Au)=  %+? p'&hJ">5@*^[' Z?I'_9) J\|*(<FRhB9      ,	k;5ȏ }]?)> ֽO %*|_sX^X ~}aͩ)2\!y8T =L:!|!Q 8#!!3@ <D <_I(A ba(|S 	*]P\W'~1 WVT')'E!<?`@zz -||cyi6| "= Eu8   	(^ '>bhRv       ;6b#H ek  |}Am(v!<X\TW >!Y%*?\_W E)<' u( ,|`}A? @.7-BNt\'=g\		5^\\(~Օ(|f"~@`(^ -|'|!A@UV+  %wUVU)}@ !~g%%*< X'}g\%%l4      &6b6h'<  ~,c#8'_E)M '|^"?5'X ZrB =,<vA'<`W6 6AA 7	ciA3s3K\		|(~D!,<GB1 ("Ԕ4*%'gB``(||UUYq*CBB&B~}q@A1E(|`)b|X'>r|'	5%}'-#(^#OC UU      $	!9I~+!1 ~!6(XaOaR\ 7~}pZSi, >>,<*`p&Z.c`!5'<0 @$$|` 'kFn䪛  %%%-%R̃">_\x*<5*?>>*| ''*?%&B^!!x' : aAA*ACccacs)< *< EŅ*@		'}`h]T0.!@-/($<R>?A I$J'\      $.<  =!5'7\WWTV 7^'TXp. 3?(=#@!*[7|#'< 8\&< ci6`ж$
-؀m 'PPm  ]FJ(>e{!Pp'^d)U*U1 	Uw*<&U^U(|"=AM)|_"A)< }@)< @  )< .<U'|G o%Z?KNZ=؃O~+      4^b6f[9.U(0M"?>UUU 7">`(Z"!C͵'#[WT	DI'|~7O''!{'K&'|@b6<  &"<'ȏ#'m&taJ*"g!~](|"~`_(<~(< fjAU'>^)k_'߬*|@@?~U(> fb^y'> r~/V\6.> z"%st 퓧jq]U'| ƂRU^HȬ  PX\      4^ϐ@=}9!|aqSR.` ~}??||.~ R O^' (|=c@-'~?,|? '|?؃ 7!knUC Ȕo&B- O'BpUgʔ3)`2BB3	!<@\PpB6j#&'}\*|_X<*z`p*< b!<_	*|\6A$| C -KRNgJqS ΃RTL  h 

"?&M'     T (bCa'!jhrP  ͏p  X*%  @8ū\"| 
|?X '{$}fAW!A?v\XIYN 'kUO("c#md' I'> !s  b(jޜ]'$<<GBT3@X{_LI!?
*Y/P,\%E!9DP(|> Օ'jA*\  *?[/*?y)?@ (<!al*+!U3d   -J)>  '>'O!x'~{
Q\	JJB" x'z$      -u@umC|- Xt`F	@x :p%E  VWWT$ 0n'Mr I]R I
'1 $'< ??@o峜58Rf!p`!G|Wp	 /	Z*   _Wbhc&_a!eJ{@#`pA!| !||U)p%*{|PPaˏ\`	%*<
(&BVlǊ(\  o{Zt*' R,rAJ( i!^
֕.

b>N\ bPTW1B.@%à'<"/Jday\?Lp
 d	rRR\M۲     m$@_ $*.<  6)> $&^+8%\ rr'`B½!<@!y-~,= !@), %#~!f])z' B"$}E!L<-< ' W"<$'
(  %% W	~*< 
\Rx_?I\BB
*wR\!>Sza	'(1
' (| D!t`(}g@i{^^gA-( r9% 
 bA+3  bX^@">U!?̾Ko/SZ(gBE=̽$@.&Bڟ63?t'/^TV      PP>]y}*<!?*}"<=!_[Uwڝ'~U~_,= '@}AzzzY_'!OU]a(<,ߠ**<! W#"<B,b6fCQV@M  *(&:`A'=!< !8@T4z-OC*  h
)  (Ue(z9`fz\'&A>'>FZ!%x ˓(޺-
  \-o*mhy@"a 55֏N-0*|_*?	Qk/g?CJBRX
EMز۱~+      B8.ú*8X}Cބ'<ACAA`*}@ A@ CB<w\KJ*!_ 9|%%(|'|ނq@ !@@"?;'\,46@!U _* |0bcec\!8_@
7w"%B{FJ	& 	\W}"\*(b?ϛX4#< /,&  Z\W^N#  	U"j\WZ\ 
M  +X:'.^`\ pN|P
^i'R/"?%'+W@/'B׈ɏf"|@**
B>Ӝ H"}$!>AK       !U*<( Y_'<XbPRqA(|  (@!)\*<A\\\*=I{!=7\)?Y(I'<΂!Y( }*| XA|\E (<@Ƅ$*<@ o|>1{ɛ||GPSz \%f	"}\yܯC"<ش%'E!]^@#+\"U! gcmi ~U V4mU* *"@b*&h}F{e]	 !;bn!"6s!|J_7-P\r\VU4<؂})'Ҥ      `62_))< }I+=  + X\* $y'> ֜	)> L)= ]S)= ]3)< "=!`-=)< "@,*| ]-} 6)> b wdAc9l	6b[m|P@@ w&|5 K$"< RUUt˓C1 |GBs)!e!<^T+ U;,> *?U"'~lk?VWQ' FB\?(s"	ZjBPH?"}Bc\h<ذmU(\;)||       hH9:  = ,> y,  v.<  I$#|`!@4b6f|VRPN7"U!crC &BQU~>m'0&JLU(< %JDj'< FJ:U/ %͋&	
`X	\
@\UX/'Z$%	%^~		        '<" < I`۶m 
'=U-< =  0_AU7= A,< }r}2#a@#cd'< 	MwGR  X@v$j	_IBG[C*< 0 l'{`	UU$b|4\ h~/P$|H*-=   
<         < |-}!U 1< c&#\ &|$\"I )| .< ))<  $)  ?,           <    @ `   A  )        < S UU < ݶm۶hZ' I$O$ |;? *;? `(> AV UnI%R~^VZWy^`^s]QI~b~_^^r~
_jU0~!]Z|(-< v    i!-L 6> 6d#T?;߲~aa;~e 6> ׽ @ :`B @#nL/''Zh̋9ks)'< GB)  g(= d^}(< #!9
bC
jt/?^	{ jŶ۵  *}@    *' NZt	5U/\ٗ{|UP6nn'?'=] 7F+J '@ R1*< [J֍ZC!u
R)*$\	JD!	 ǁI O]@    4S6o'VX~{	^qU-D ?ֽ  pH`r6b{['} ! J]&@ RgB
+(J!=.lk_UU/hPGBU~'{_W\   U,.h$M$}}'<e1 ' ,Uzz |bfQxI$'+c",-ہ}  0gJ[  (} H|!0( R7({ '? sY W*<x   i#n' 5UUԁ@b\[{QXP(  ' " V\X.|п'>F40׽A ,/0O|]w(  P(|AE(/!3(= ?('> R   vo|e6|![5'= 4\\TTV6 Y\Zrki.~  ?!0$}H#>B$ ?*-/\ :(  xz/)< (<@  5%(?  U5(   %\(|1_/
   O7vnn>|oM><_	'">1TU. 
S/+	=ۑU>oj_7	!nW׼gBp(|  (O1 (a%'..'<!| 5=9˓L$7Pˬ  b   6beP #{'~ֵ qbPS u!05(}9!< 	VTZ]6o~-' 8 @p
۱}ضm~UU0#~ ` \*t z  p"wo:'=g"w*]U'@!cUWb"pR!c"1
/%'?\RjJJ   ϐ$Hh'bcw \[XT|b'>_'>/t q=!}$ kbHl-'?')<(?4/D!Rk[tP| ͋gBbjc 
`e{aH2
"Օ4FR \:kyf!?! \ Օ7si%\&Ay 
ଃR2 I$H$   i"_N'Uo^ '< w~ \[3y"~Nfr`jUJ5' I'< <ˉ\ 	U	 d	|	@ZUa^' :_ 
5c{avPP_w6@  Lk"	1?	s  BJ(z  #7'b``'Bu(} 
	{!*SЁJ  BMX#D)0?l\HHR H|   i)ȏJ b,~/_(8v__*OU*|/U(  6U"0*|]|+
J ~TV .?oor  %5LkFBpD @
	{Pв A 
aNz@$f!>7I/a;(j\} 
"5J)͋*	| sRˮ''ل-Ѥ  Z   q/!>N(|o!(('> )<   U*($6'> Ӕ!]d+| 0 U*("'= U\
*U1U \6b[
c9"= @; MXgH	s  "	E40 ̋)eˏl	
Ls`
"k#	 ]  k$ GB^]z[/l{AznP0̋  Jr^U H}^'   q^&`#,!J ^$  Y< I	 l'< *UU+< * >|"F!<S
VZUkfg^50Dlmj   U~^I\Y
 @[?K
XUU
یpV	 h"$}' ||   q < \-= U < b\I`*< l*<  |+  3                                                                                                                                P             Um۶m#    @U I$I$    U             U             U             	        ms   \#m۶m0	{   Uܶm۶$	s   UQնm۶r   U I$I$HJ                                                                                                                                                                                                                                                            PPPP I$I!   7b$1  UUU	}Y,c  UUUT"-ہ!           !             				Jʶa;c;       Js'B`UU      J1]"      R1+m?/B%%%        4                                                                                                                                                                                                                                              PPPPe#6odj  UUU     3  (ڏ?Ҕ  PPXX3!   m۰!             				6b#6b#        0RUUV      {gJ:7      /R   lgJ%'(*        4                                                                                                                                                                                                                                              PPPPmoE  UUU        hJii      Ӕ  zEť!   E?_!             				6b#6b#        D! bu      [   ћ      J   3kl.1///%        4                                                                                                                                                                                                                                              PPPPo9  UUU      Ӝ! QS\T      1  %8s  UUTT
1/!   ؃m  		Zcn        bA \      : 2_
      GJ  ^	aj#        4                                                                                                                                                                                                                                    \m۶m#  PPPP_6n[6e  UU5  	ʋ
  T\\^$"͓  %%Q)c  UUX\ q$I&!             				oFn  Q Eb  Р0      FR|\Kb@Z2 @F`
 kshRj N$N$                                                                                                                                                                                                                                      6nvn  PPPP      :               ӔB	      4iJ::jk؏أ  UVWT          				"n;a  xx6}	k   >
kI^?
ଃ&R;z'LҤ  jz        4                                                                                                                                                                                                                                    Z6b۶m  PP  I m  UU  I m  UU  I m  UU  I m  UU  Bm۶m  U            	           c1\\ cCmU 	$`  U m  W  H$I$                                                                                                                                    @                                                               @@,۶mc   jUU I$"   UW           *55CmFnb XVV8n9 UU mہ}B 	--                                                                                                                      @@@@P*  %Ev>?  TV[Y I$J&  5555 gȏȏyΩZTT      /#!
W 6  B-/--                                                                                                            B I$I  @@@@WV
s  EMEAW
s  QaQA܌-  55~y֡}ja.Vى                                                                                                              Cʶc;a! @@@  XI   U  XI   U <۰mA55) gi/a   K}-a  D۶m<  	                                                                                          a;n `X
ն=Ӻ  4Fy9W_۱gR                                                vnoH  T,X  _<HbL8c1WWq۴۰m                            @               }A|}}9Z                  GGATCGVA   ÁGGATCXAM   GGATGALF      GGATSFFO@      UE  \  c  j  q                                            D   A  )          < 0< v @@,> UU    p>  ;@@(    r  ~s                 }"SU-< '} ->  = }= =< 6| I$I=>}4= 	m۶,+$ & = <  /~ -<.|	  (%6d/]]+@ =؏\  \) <UmCvn<] 1L 
	}9 )? .(	\窪a\	& 6	D	
ٯÝ@m|G})|i\	z$^	
޿P'<.>'+vo	.	}\.=(aC6c݀-II_}p*-ۡ	((<} .[j_6`|-7Qd(_;_|{j(<]U*|#'~m|	
~	}dv)(}B ޝ$|_ r~
E*W_|ZH(<}5=?   ⿜w|?L\Zr
_O~a gX~a@Oȟlc?ޭx(>b*<|*>\,=}/<}^b+	UMR*=-||s}		IJ.<y 	| '>R*<|g6<|w*=	{.|*	{	}	/<}~F]$|讷}WU	G*	! 	|sFm$	 
?(+	|~*= ^4P\-<窵(<]]U/(*Z%eI '	M5  X'*ʯxO x*<~W}y _\֠]~^( 
/u(|ξ( >( U\ (<֨(<\狫+U-(> <#(<]_'= D׿* .(< GX(*u_*< ]*< VUUW* *jhb*< +=*< zbZ(G +?  (? ](}_*<W_*<  *ں'* *+*|  `X*}?*-)}uw*? {)|\.* zX)	\=W~R?: )*ȏH .]w `$~/U,> {Uӡ(> sY X( wo)(	8ƽ_^'~ ߜ'|Z  BN(<

U$!]~(~1U(~	9](A\)<	,|>< ,c  ?)~(BY (| ~"(~ ׽^(> Ӝ(v W-= U6= \/
)>U	(= ^ (< } )~0Y +?  T(> 8Y x(=}P()u^ j(s'>Y _(> ҔY (}}}( Y}*|Wz+?+?*	)

 .`@ %)"E]'| e)[]5(<ZܮT<*(| 9		(|9ܨ(,(,Uւ( ־
(< ޝ(<a808VܨyΊRol(|Z8(<Օ(|S(<Oʊ(	X( ,cWEE(| ֿ/(< !0(!t.A׽!WCA(~ A[<W'~L!F( >)$!TT(E)^(<iJ'4ZH(<$!(|e)(E)[;($!H=>( ,&*?	Z`)~ 7(<'8UU(]U(< bWX(< WU *) *:  ]-ߣ`(M*(	|_**Ӝ(< <粔)=;]!?/'~	<l<e( 4+ 8}(<Q(=}( R  )<"9 _(1Q(?R	(9 )~ ޝY '(>R*"ަ1   s(? Mk	](cx(|ns  y( R<H|*>($Y]	[+ y( b OU(?,c)9)^ ( Z {( mk  *~'((|]4 ({n (c *?!B)< {A (IJ%*0ZV),c) ZѢ)& *|7z^  ./b*|RP*<  e(|W_]* T'!-mi+ 
5, XX(< _	ɉ(|	"(*<  @(>E)a( !!~/(|	R ](%)
((1
(|v `(>BP("~1}*=4( 9
%(< ~I( Mk)(?U(!+($* m( 9( Rè^(>-Uc}(}  X( ]D! $*} 6(A\)c+<	
**( !6\(< _[(> (<_{(~O,~5-(=NV(| _ w(}^C*/  ,``'|L|rrpp*'|.a*~:pp( ",b@ (|*a5(| AX\* 	'7;**@'"w:ͮ'b88(e)pb' ֵ<A(|Z( 9@ظ**u'	}RAs(|.!]_(<%*{u'֫Zc(|szP(<-A^||(BAT=(^XX(|kUk(R*(|9$$(7;* '&&&*<o*< oz(|9\(|Z_+)<':X(E)(~ s)|QQ *[c)| IJMV( E)*|Zb  8p	 *}p )<$!e+ ])<0, }+ '< aT()|a%%. *0*/@@))  r(> ()|^͍+AA)|B)?
T-)<*jR
 *	w+  )
e)*< RI) D!)\>*|)< 1Au<) 9)!ܧ)ZCA)< R;) !f+ b(yw'^) MkY*M
*.֪(>&<7b*>y}*.>(|mk$UA(<IJ sq[( q *O(*/j\'>'|  	?./|+*U* )>Y"X(< "Xj(> !)u( #}Wb(=
^U*|`*&"|O *? )</(< ~
(> ߨj(< "]W(< "FC9(< *|i*~	,|i(s<*iJ.&*,{W )Z *>\(C$\*?  )a^
,\{(<#<^)]4 )?~/( u+~ TY(< ~ _*<SY k*=T	*~D}<*Smk)=\_> )ZU6*MkU +?^,>,!*
  b*;*<8	%*M _
)Z *?&+*>*Q*<P{'+U*IY +M'
+ '~]!.p)>]) {"ߊ)< s,( _i'*J '4_ك ' W'zWR(|">bW(8!Q(~ ?*
*? $('X!~sT)<V(b)p!um(=_**d 
*!F*<C`.(R
(<*pP
({ U
* a)*"*|*x*rV%)dR%/(!7  //^
(<<絫*|/***+< (*)<z)o~5(||*? ~)<H!>x+<Xਮ*?lU'=	\\* )<[*?*+_)|}<.*? ()<箫
+:rV)|$_	rZ*|%(+('+<.? -~ t*U,*>T,`+
	*< *< +~)+<	* 6~!*|^Z*|&'*<   /j*< (< ">[`*?G\U'|$!,U)<)$!
,< !5+=@(a%)UUU*'~Q]\)O0) "}_/*i'~ XV*=C) U+)< "?^ 5+?\|`)<!߾*<]T*=~)<"|/)= }!|K\)|/E)X\'d-k]( Z(> mk;u(> :W(> 4)y*1Bc+>wU)|se)+)Q^]*E)+).
)!f@X(}e;)^
*<f1%)~mkY +>V^+(  	O2	)}.***X\V'|E)*9"U5(~ $!!*5+|!q'1)D!)}]W *||#AVV(s5(!r`p*}r)
e)}*= )$! ( +L	%*< *~f1S)%^վ(~1'=]^](>0 \Y]U-=:-*]*<]\* u5)e)!yfc* *~90Eu)%)_BC6>c5'}#n*f!|)%)#+.=E_)>&e)_*+Vx`  }  (!GBBJ*=
S+~
%)s*|U* TYV' 9?)>$!cC(| $!WT(~~*]*|YYT(	^[5)E)PPXX6	}\U%5*!U\P'$!!?~٥*}5@ * *|.<|U%%**|.<}5(|_+*}xm)>(U*}W)|5u(?09c@ ,~+ U*|CAIM+|)c_*}@)>1}T'%5]!*<]rw* UT(" 5+ª%)= !`  \!>Gа*T!}*}*ee%)0(<_;UWT+?5Y(1Cab@+}-+*e) P'=x,~)0E)X@t6||mYy%(|0!PP* .(?NE))XX(
W)>2E)5%*|,*|0<,|*|'W[W]+5Ee(|CA+(>13?3w($!cbkk*x'=D^,}/M	e*(~Mk@t(?T1`)|7|*155(~@*?TUX'8|*U)
^  	\.ޞ>.&*}h--^]U_*)|6c(]\ *H!|Y+> E)Y@*0),"<@|-* *<#+()k^)~k%).}	ۯ*>*%%(|Ye).(?+||*|!*Y5(>=$!,Y*}5+]a*])>9?o*vk}'f1(~1%'pb)E)_*'N(B!eu*U-)>e)*<~(T%+|">

'| ]s *p *|<k`*
  	o.&*@("}-U	T8<-!<%*&}+֪յ'~\)|$7*|*.|I!^'==!}L)	"P,
z(|\)||*)C+~~Օ(<~ZZ*
_
*| ]%* *0#
'lY5(Nmkjj*S\)}Bϯ([*)#?u*~$bc(|~( ~+(=UUe'".VTU*)?9`-/TWT'|*|G!G
 *<

`,~*'}&}\  O*? w})Z"M\7>=ֵ!|,+^!L5*i'f-.>0~UU*~@(< QTWW+=\) ,(D!)!\%+~.}.\_)<"</*|"<B.!^)|_%*@ZZR)} *<(|"jj)|4^(?=)=<!}A@ *}Y	KQ*< eU%*|*|#1VTW+U]Q+*=T)~5(?-|"|!|,* '})^-+(|"|!8)<%y%c(y0  }W^~+?&rb*~p*"~?U\*^+~J3,O	%)>$!.UUV7|X.=%-<sϵ(e+|2}N%)||y0*~#55/P*))}1]-|.<|q,?0YA*>(<_'A*?Y_T)^?) 1ccbc+~FTT+aY}]E*=cC*?WT'Z}/+|./TU'|)pR]W+!UU+~A*byW *}  /]{ת*?{+}*p*}e^TP*<?*~h],{`@`b,(	|	*|8|,>LUW( -k}g+@PX8_<-|,D!)<|*?2E;}]5)e;O$?55*<*3B_VW]**<uC+^^\[*?*,/-|a!1n6~y(~Zյ6||	*}!}')OUx,>TU*|G]*?
/)|!	   	1*
+|~x,+Z` +*`+jYI,=)}0^ac,~ UT+~+.<\]V(.`f1YX*
*||(>",}%|+=%+|N0!?B*< _.-_">~YV(|i??)<u*>(1)=+o|)\+Y)v,|.>,c,E|.~GU*|w|;, *W+~w5+!URG  "<*>ޖ*N!EA;f^
(<k__*R\TY+`)<!}haa6<	")|,O$+p})y9E+=~,/.|*[%5*0}!+|!,}q"_),>O( BCA+}T,?+~rbb6>2Ӝ~y*A+|!G(}.%+,/|y*Q%\(?]+"a)|];*_֥)<`׾  ~*<!},TVY*~*~x*|O!S* Օu)<!ycAc*~+56o1._,,~AOe}5 	|.,~>0'558|.|!0/#]*o!?Ou*AC*|W*)_ccb+}^U*e))|^.WVT+?O^W(/\/(ކ1,|w!(Q,.|.<#~A5+*)|p  -"|* Ht*9WVV,)?*~(|UYX)<Y!/,)acb-=*)/}1/YV(_0!/p8<">/U*|/PXWU;%*,}$+|"?%+}E;\e+~]~@@,|,LUE)<EUAC*|QVV\+*|ncCBc,<(o#=%*T\\X6|D$5,?@+!}q*u)!w`_U,>+|+/֠*Z ^(  ".^_(
}W*W	`,+|)<%}*Օ5)QE)/(T+<.T)Z")* D!>B *I*:|#8 )~[*_U*>[	*~~]t*~?,>Bs(B=*	 ,,><W\+?nϿ)<4C+=\)<"(~<,$(E+<u|Ppp`,(s%)+@ ,! X:<Q*/U$z(}"|)| _  ?"?%`\'<C )O׽*<"~;U^@}YW UIJ
*e)j)P|* "~Օ-)|\)q|* 8!* <YA\)";UU^)< _U *}b	\|j)<!`*|~z *a*|r5+U^)}!*,|!)< c ,<V!xv-= )< BcB,UU *c*<s &W *<7, }>[ذ+*|"=`+ UU) %+<] \@^*?Wu  	2֖*|U  @*!Oޠz^U%)|<  *  z+?爫*? j)\!@z*Gb
'}})| ֩(x~@!	*? '|c/+I * x*< *?5-*++?_)|?W *(|KuU+~[+*b)| *?<u*W)<+
+* z*+? +>
)~ X*</*?	)hY  @E T_ ! P0
J)|+1 
*? %'|X]pP  /*@ *.  m+*(<@@!=' A^}	w+⠠)<x@.8Ƶ/u}+_y_)< շ*"!*? '!|޵
*<j+5
U*!,>k		*(< ~jz*? )<wc/^B
*Uw@W*?ܘ+<  ~+*3`*? ^'<׽-
pVب*?'7W	+'=\/_UU  "*+) P`)|/m(>_"|PP+*< *CWA'|Zq	(}]_<'J"46)?!)1o!!h
(< (k@q
*Y G*<
](<j,&(,-*<nX )"AP@Y *])|B*|]_ *0   )QM^ *<Y @}~*, _m ,~ *!|()<Y,'C' x*?$U@A]*|y(|a8Ơp(> G  
.ū'<5 ( :!8*<})> @f+>?@(=(<[I WA*<94)< '4+,)G%9,(BYYM(	Bח7)i*<Qe)q([$!|*Z^.@}IJ	HB		~`'=9!ᇍ'>['|u?)|! %(RV*칻'| ../(<:(9E7^Y9 (|B'v1okfIJ*| +./( 0p*E *7A}@pP*(|	)<A/  
	 _x(<yΠ/	*>(|#B(0u* f1f1
)^,W*|\   +g *O */=+> Y*=Sڙ+? uf+< Z( X*=	úZ+Q+? q)|NV	*] *T{U+ 9]	 a*|AMU+ 9+*>9?1u*< Ӝ *>a( j)U1ڲ@NX)Ju tR/(<Y](Bذ*|A4(*<cp+~v~*<9 ,T_  <-"L  J'}] o(| u @h~q[~  *l_	F*]]*=7	s(]*<*|+"Y[(<2" 

*=)<*< X+? )R(B&T|t(_ݞ<^*\(&'1}o}*3?*<
	W*^@o'uZ_)>P9*}5\wS* ''<óO'ñ '<@ ]*<#]&RWV֔(|R9"5WN!0	/*Wjkj+~ V} ++<GzWU  >y
ݙ(~(|9g 'e1Z*< (JР(< a*? d1)= !1**| ߨ(< }*| !(<  n(| \$)՞(< ̠:^   
= += ߝ'< ksИ6MLk(> ]#z (<s}(| #)})=^ *%(GR@*~e1](<{p(|A])~)|be( _5m(| ] {*{-( <):* A '< Y#!) G*|<'*< ]*< *> << !c*p
!T >z	)M
'<̨h
(< (< ĪW* !8' 	̯*~ (<W~	ͨ^_*-+~ '\,'^)<^*} )<Ĩ+?*

*=)}-? *+? +<*+ +?*? + )~ *	*j])<
 *,('|\/T
(*'*})~p' hB'ƛgf _W( F}**?	'ckĩU*< zH }T@   *'~V|!<'};\](} ^4;~(| ~uM,> , w,> 	, U,>  *	^,~ },> 6,~@,~(<!~U(~ 	!<- ,~WX6| D(*	)~( ~	,| ._X,~ }( '~7A-|'<Twއ)>*,|~-'-}p(>*T(> g]3b(= h^uI,= )ʈ*|G*~  'f}c(?4@ (? '@ (ǛKJNL( HS@ (< (|%C(| '(< \(H(| %Ҳ(? @ /ƣh֨(| Ǜss(? @ '
r*MM)<δSqQ)<EE|[( {i**'~@ ( GM)-F:5**)?(G, *~G+\'%7L`p*>q  (>ƛ!C)**z(~ *y\\)?r)<y*(EAA(?Ǜ^! `  ^(< ~)<ja(r(~ z*(>~Hx_[*Ǜ@* 	i)|'(= e'\*j	j*= )^<<*@~(|~*'	w*,*)PRqs)E)r(<|CB*>SS*}}c*6[)Y]*<!}(FX(-@* YS*= q+'**-'`c(*ʹ0)~Ks)<:8 **}p@|+{  y)/FU_(|ra_(X)|f4U*)| ǛAIIU*YKU*) _AAU*  )> e- +jjI8 <)< E*=! *|0*<|$* '|)>, e  )^!~*%+'<!s#	U+)>Xi+M'< zP+?('? ކ\(>Si'> K)6]S(|z_* XV) *]6+?*U(0r(?!  )'rB*< 	%  ,/G'_(< ^(v\ת +?>_
'}g!G *|I 
*6W*ր' Ǜ*( GU
	*.+U('~})| G ,7  *3z)<N)|h)>+|OhV(|X*-)|L'^+?i/+U[)<a}^+>U*<ǛU)|_])'\5(<g*	3+|)}*QG\	*Gp *]?
,z* * + W**?m)"7)<"O]X(||G`  ^w^z)<g%+^'	e*|
x *W.i'|ƛV)h-*|WWxZ+*?)ƛ
`* *)_h( )5*Z( * (+Z()<*	r^՗*> z(|O 0
+ **\z*|տ* **+],V^b*?u)!?^* !9_,~c* )~t*>>)^(+U+?`* )
#_*< 
*=)h| ~* )*oW 6#+ۨ+]* .'>"=)(Cw
*U]U*~ ()<~!ʀ)|JU`*ֵ*|y8')| 5**+ 	C8)<!z/*? 5)|:% "*! *? + )<u
*=	+*髪)<˂z]*< ^]*p,|* _)<~!U*џ)X**W)<_CeU**'|	x!6*<,ѫ*< W^ 2 @!?٨`X(
ֺ@`Xխ*? -**> (|&"-+ (Bݸ(\
*		*+?*)?z+>*|.*?i*P+? 	*  *?m)|*>*_^k}*(+
+++,>'**=0,~+𨮼,|* z)!?-*?بhUu)^+)~	zy-~+~WW+|" 4 )|EB,<UV*)_*,j+*+~++< 

*|*? b+>
^*+ '(<D -,* !=n* )<]﹚+!*.*`)>}++*|P%*z+=O*< +*> "*<޷-+*,
x*< u*|b*< %* 
*V գ
)<!*  	ߝ/`')|+K *<%+`+&	(+,%+`*\**  )~_*?W)0!+޿+<u)< \-| U+= (}~몪)<(}TB**=]+UUôz A/(' }*?~+?+~$(+ݮ+)|~Wo,?\p+|B*? ڽ)|\ p
*| ת*'()|
"j@F޷("= ! t%}`!6?@n @pVFI "5`!|uV/i]z]	 \B*<p`	],=z-=->}.=߾	}<~,>,<&<>	(>,><u\	=<>|}w 
| < +<U~6<>.< ?!bz(= VHz6|0<A'yQUޮ X%i|+UB̏D	P^ \K 'K@Nv:|U r$<A :?~$9}	\ </R.h|%pP#$]CU='t
0?PXTW>==	5v5 3
%=_	p"#]	T >	)<w	|[ <|g^	bv}P	 <|*|"2!= ~\,<~W\	|]	\ <)<8Ɩ.<	 <-	  I^6ps5ѭ?' `M|w ɝTP@	r) L' B;'.< .}			Kc\Z,čn(<	K)WN0		*?	}I5^ūA $T!@U_?'9A\\	}$5<1H~%G$ z']8>'w0A|U|~'  X_8|	RP%lBKl8U"<&rj	',?]TPЏ$|%v.̧}	@	]-><+=		!|OUՠ	XP`'>,<?	|
cƸ 	PdI(< pI'<  Z\5 H$]\~4 p\|@ ImIlyU|]$7 	}E)<|it^p[UPP\a'ؾqU
H _	Ia|'*pw)|9D)|*X*}$L✉U,P\	1\	'	@ı(},	,>N$ '-|8T.|+=||1}P(<Sq'<RMʖ'AX/S?-= P
 |'|BuS6j+6hc|аP_py8A>Fp$1L7@0X?xw!'Ƀ=|	
6f,6f`"| 	РPTɝ~ Ity\|J?S]	A x>z8		/ I{|xp]\	3`?~	)"	    }u`x ~M -=  (= -> ,= -< )= ]-> ,= == 5<  \P ) m'0|u_ 朝'<	IIm `]'U  퐤@)|^	m;\~U0}k@\dP(<)p"'t❱\ y{|<U*^'},-X=\)>S?~C|	9|	3	")'>@,?3	'B$<$ ؈\	}A/\	%;x}		"v8hD|T:)       +<  +> k*< Ғ$+= +  * Yd+ ;?m+ p,  +< c')<                           @                                                                                                                                                                                                                                                                                                                                                                                                                        XXX           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           			                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                        m۶c  UUm۰ۺ  U  m۶a;\  U  .m  U            U  (m  U  [m۰۾  U 	m۶g#  U* $	  U           U Am  U  sm۰  U m۶a;  U  m   U            U  /m۶  U   m۶  U  m۶m#  U  	 I$I  U            U  =vm۶  U  ,m۶ؾ  U                                                            				                                  XXXX                        !6nFo\  ֚&I$֎      ] 2}m      ު
U}y  &I$y      } *U2yA          &I$       ꪪ2ށH}]UUI$}0u綂~~    2@  <][e6}"j_?\  PPPP                                  				                                  XXXX                        	"FnFn<           XX      ަ1 -g       7=      q
֠      ުR       <qp      iJ       9 W      9 U_             ,c       s ZS_      a պ      }mk -              ]q ]]      }Q _w      }Z        iJ i              }e)  [      }B  ]"\  PPPP                                  				                                  XXXX                        	"FnFn}        ֢(H      f1*  Y                      K      <s)      ]l      mk        4       <0 D      R  g      c        TW       mk Z      yβ J      b             <Ӝ	      <,c  `      {  W      <璔  U      ]        \s.  	"}  PPPP                                  				                                  XXXX                        	"FnFn        }E)LH@      bR       ]HBddd      Y΂O       ւ       9h       mkN(      mk%+       R^       y9s       \IJپ       <{N      IJ       1mm(      Bj       iJ       \Mk		.      }q``        {      {       mk|'      }s)&  	"]  PPPP                                  				                                  XXXX                        	"FnFn}        ﲔ P       y      u +      \4 
p       <  =               T 	      < P      }        \粔 r      }ﲔY Z      \璔5 [       ݿ       z      }ﶵ        U             }        <Ӝ%       } 
      Q]       }s +	"  PPPP                                  				                                  XXXX                        	"FnFn        綪
      E)  X      %)  U        A      %)        ]  X      <        \$!  V      ]E)  /      }<瀾VX      \$!  V      }1  -      !  V      $!  U      !  U      HB        $!        !  X      !        E)  \      %)  /U      ި	"}  PPPP                                  				                                  XXXX                        	"FnFn}        u         yE)TWUU      E)UU[P      zE)      Mk%)      }E)XXXX      !MM      YE)UU      }$!UUVT      \f1II      y%)UU      %)UUVT      e)WU      e)!>>      E)UUZP      YE)      9$!      E)XZZ[      9      s%)TU      $!UU^X      E)		"  PPPP                                  				                                  XXXX                        	"FnFn]        ]Ӝ      1$!      e)Rr      E)      mk%)      %)XXXX      E)EMME      8$!      $!TTTT      ׽E)AAAA      8$!      %)TTTT      e)      1!>V      $!PPPZ      $!      $!!R      ׽$!SYUU      9      Mk$!      }1XX       ]e) 	"  PPPP                                  				                                  XXXX                        	"FnFn]        <i      $!UWVT      }E)      q@@@@      mk%)U      E)XX^U      $!EMMM      8$!      $!TTTT      Y%)IiIA      u!      !TTVT      Y$!      E)־.      Y$!RPPP      8%)      E)!      E)!˿      9      mk$!      ]{        }4	"  PPPP                                  				                                  XXXX                        	"FnFn        \x*      }e)\p       YE)UUUT      <$!      mk$!UU      $!UUUX      !MMMM      8%)      ]%)TTTT      yE)AAAA      %)      $!TTTT      E)      1!      E)PPPP      yE)      E)$!,?      )D!      9      c$!Օ      s%)UUU\      }1	"  XPPP                                  				                                  XXXX                        	"FnFn        }                %)XPPP      $!      s$!      %)XXXX      $!MMMM      yE)      E)TTTT      E)AAAA      y%)      %)TTTT      f1      1!      E)PPPP      8$!      -k%)UU      E)!      }9      mk$!      ]$!XXXX      ]$!	"}  PPPP                                  				                                  XXXX                        	"FnFn        ހ@@       1!      e)RRRU      E)      mkE)      E)XXXX      ަ1EEEE      yE)U      E)TTTU      e)AAAA      E)U      %)TTTU      f1      1!>      E)PPPP      Y$!      sE)      $!UVTT      9Ņ      ,cE)U      ]$!XXXW      }9	"}  PPPP                                  				                                  XXXX                        	"FnFn        } '      %)V\p      ]E)UUU*      }E)       ׽$!Օ       <E)XXX      
      $!UW\      <E)UU
      }Z        <%)UW\      \%)UU5
      Z       E)UUU       E)PPP      y$!       ~E)*      E)T\X            E)UVX      $!UUU       1	"  PZPP                                  				                                  XXXX                        	"FnFn        }q   @      }-k  (I      
      }Q         }         }q   T      }޷f	      Yή      }޿W(      }ހk}      --      ]^       }  :      <( @      }
 i               *        },         B       `-      }X ֨      ]
B5	"  PPPP                                  				                                  XXXX                        	"FnFn        Z@      ]IJ@IJ      \       s;?/      IJ6      ]Z0      }Z 0XX      },c       }c W_      <B  7?      Lc  >6      }HB (      \c       Z a      s *W       mi      \R  )      s U      }(B       ]iJ  A      <Z       mk  !%	"  PPPP                                  				                                  XXXX                        	"FnFn]        <璔   P      s                }        i	      }ﲔ        *.&      yΉ         U         Z*(|      s(       sg       U      }Z       R       Qi      <Z *7      Z~~      c";      {i
*      ]J         IJ'   	"}  PPPP                                  				                                  XXXX                        	nFn  %      }PUU      ȼFUU      *u       K]       rI{       Q)s]       UU       UU       UU      UU      ļ UU      lu       ăUU      ϪUU      U       Vms       rj7       QeR       QA      ~ UU      }e        UU	v  P`jj                                  				                                  XXXX                        	FnFn  %%%%      U5      ިU,-      }謁U      樼U      <ȼUcOO      UPTT      U      	(      	U8      UcII      UpQ      U5E      U89      UCSS      I00      UG:T      Ud      U      UA      U}mM      HU      eã	'  @@@@                                  				                                  XXXX                        	FnFn        ͥ      <玤      l       4<      \הּCOOu      ;PV\Z      猬       檴EO~      h;9+      ~̴Aii}      ުQQѝ      EE      <﫴	      sk      ޅ<<0      xhVTT]      H䤖      欴      k      -=      ﴤ~U      haY[_	  ````                                  				                                  XXXX                        	FnFn  %%%%      'k*      hU      ̈W\            'ނ       **^      ̈ 	      ͨĽꪷ      ̈      ̨      '~       hy
       ͨ      h~              h      H         ̈j      ̈      ̈^*      ̨      ̈	  ````                                  				                                  XXXX                        	"FnFn]        <Z6      <⼽      } UW      }UUu             T      =       	      }<      }+
            ]        bI      }
             j      <XP      ު/      ^      <U             
	"  PPPP                                  				                                  XXXX                        	"FnFn}        y        稠      <x"      ]      [-      }*             }z      }u       r       ޠU       窯-@       *            z            <@         	
      <%莫      <~      <      }֧ 	"\  PPPP                                  				                                  XXXX                        "6n6bC  &n$  XTU̿h  %U;I$	<   @U&!m   <UUU=ʏ}   
'}  XTV&̿(  %=  0   @@&!m 8  <UUU=   &n  XTT&̿(<  %=   @@&!m 8  <UUU=   &n  XTT&̿(  %=  0}   @@&!m 8  <UUU=   &n  ZVV&̿(  %	"v  PPPP                                  				                                  XXXX                        ,bh6`    /0m\  UU3ch6`ۚ  UUT@	BI	 lۺ  UUUm۝  UUA Qkd     >@۾  UUgbk6d  UTTL$q  @UUU hѤO$  UUAAɟ$  UUU[ C'~$  WUU yɝ  UTT:$4  BUUU"[a  UUAA6H  UUP,  TX=ɑA%T&_$  @U"[:{<  UUU	I!  U,y  TP:5҆bf@8  |	y  PPRU                                  				                                  XXXX                                            u  UUU        <   UUU           UUU        ]   UUU           UUU           UUU ɐ$I$  PUUU $I$              @UUU <I$     h$I$  UUU ɐ$I$  PUUU $I$     I$I$}  @UUU I$     'I$}  UUUbh6`    ,IM `     O$    6km`    (0mۚ  5UUU*ch`Y  |UUU2	 lA  ZUUU                                  				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				            @ @               @            U            U            U            U            U            U            U            U            U            U            U            U            U            U        0            @@@@                                                                                                                                                                                Q          @@@@            Dm^  Bm<U   GmR]U   1{0(  찝T  [춍y0@  >mU   m[0U   0U   b۶m	U   yU   cmH}  UU@@                    Q          @@@@            ȏȏAA      c=       { +      |ت      0w       <粔      ގsV      {R      ] U      <Q *      mk U 
??<  @J@@                    Q          @@@@            ȏȏ        Z *      {5/ (      { *      ]}       Zv       ns      Z       <7;       }qP       umʢ    ]  B@@B                    Q          @@@@            ȏȏ]        E) We      }E)       ަ1 4      <$! Um      ]$! R      }1 iU      1 UUe      e) YY      9 4      E) Ue    }  @@BC                    Q          @@@@            ȏȏ<        e)E%      $!P      ކ1      ֵ$!IiII      0!      Y$!$&&      Y$!EEEE      4$!QQQQ      E)      M      C@@@                    Q          @@@@            ȏȏ}        $!\p@@      !P      %)      $!IIII      Ӝ$!      $!&&&&      E)EEEE      u%)QQQ      %)      y ]}MM    \  CCCC                    Q          @@@@            ȏȏ        <E)EeV      $!Ӡ      ֧9<      XE)ImU(      $!P      $!&&      %)EEE      E)"      <1,      %)MeW      CCCB                    Q          @@@@            ȏȏ<        < +             <c H      c   s      <Mk         0  V      Q  (^      }         }{         }ﶵ       @@@B                    Q          @@@@            o        ȼU      *U      <U      }   U      z֪       
      s       ȼ U      5U]       hUF?;  B@                    Q          @@@@            ȏȏ  		))      OU3      xqWU      &      ߍ      @      )      6,      Xh      xoUQ      .U!yF    ̈́zph|                    Q          @@@@            ow        }UU        UU        }UU        UU        UU        UU        UU        UU        ]UU        \UU  F?  @@                    Q          @@@@            !<  i1q\    1[}    
%12`    (1    X1   \4    b1       1[    
%1   դ    (1}    X1   \4]    j  "<  @@bi                    Q          @@@@            hdm۶  UU1`h mU  UT UB cCmֵ  UT U6[m۶  U@Ug-ضm۶  ZUU Ds?I$U  pUUh )I$  UTUbCa  UTU"cay  UU`  PUUyl  @Ul9  AjVU                    Q          @@@@                                                                                                                                                                                Q                 XX           UU           UU           UU           UU           UU           UU           
%%          XXXX 6J$  '}U wJ0U Ԑ0 I$8@ un_<  P 
           %%%%          XXXXK  (B       B       Re      YE)        E)      <[

%          %%%%          XXXXK  ](B`      B      Ӝcmk      8E)      qE)6    9%)          %%%%          XXXXK  <E)        B 
      [} (      E)       Rׯ     ֦1).            %%%%          XXXXKhG      ~/+      _UU      yp̓}      8ʹ?G {z          %%%%          XXXXK UTl}Lk  Tdks  T ks  TKs  J ]gU            %%%%          XXXX n$I${  U	UU G$I$0  @UU@Ed۶m۳  YUUa"bm׽  eUURlöm8  UUU mۖ   }UU          %%%%    Om6h   Tum   U      i   U           @@        y{WU      Mk .W^     6nn  $      0       { ч}؟ع  vo36`ۺ  TT	$ `    U$ `ۘ    U-]ڀm    @  ҶmyS=ǙMk?oFcYD!I޲    )z ѿD ֪       GGATCGVA   ΁GGATCXAM   GGATGALF      GGATSFFO@      E      
    X                                          nE   A  )          < 0< v @@,> UU    p>  ;@@(    r  ~s                 }"SU-< '} ->  = }= =< 6| I$I=>}4= 	m۶,+$ & = <  /~ -<.|	  (%6d/]]+@ =؏\  \) <UmCvn<] 1L 
	}9 )? .(	\窪a\	& 6	D	
ٯÝ@m|G})|i\	z$^	
޿P'<.>'+vo	.	}\.=(aC6c݀-II_}p*-ۡ	((<} .[j_6`|-7Qd(_;_|{j(<]U*|#'~m|	
~	}dv)(}B ޝ$|_ r~
E*W_|ZH(<}5=?   ⿜w|?L\Zr
_O~a gX~a@Oȟlc?ޭx(>b*<|*>\,=}/<}^b+	UMR*=-||s}		IJ.<y 	| '>R*<|g6<|w*=	{.|*	{	}	/<}~F]$|讷}WU	G*	! 	|sFm$	 
?(+	|~*= ^4P\-<窵(<]]U/(*Z%eI '	M5  X'*ʯxO x*<~W}y _\֠]~^( 
/u(|ξ( >( U\ (<֨(<\狫+U-(> <#(<]_'= D׿* .(< GX(*u_*< ]*< VUUW* *jhb*< +=*< zbZ(G +?  (? ](}_*<W_*<  *ں'* *+*|  `X*}?*-)}uw*? {)|\.* zX)	\=W~R?: )*ȏH .]w `$~/U,> {Uӡ(> sY X( wo)(	8ƽ_^'~ ߜ'|Z  BN(<

U$!]~(~1U(~	9](A\)<	,|>< ,c  ?)~(BY (| ~"(~ ׽^(> Ӝ(v W-= U6= \/
)>U	(= ^ (< } )~0Y +?  T(> 8Y x(=}P()u^ j(s'>Y _(> ҔY (}}}( Y}*|Wz+?+?*	)

 .`@ %)"E]'| e)[]5(<ZܮT<*(| 9		(|9ܨ(,(,Uւ( ־
(< ޝ(<a808VܨyΊRol(|Z8(<Օ(|S(<Oʊ(	X( ,cWEE(| ֿ/(< !0(!t.A׽!WCA(~ A[<W'~L!F( >)$!TT(E)^(<iJ'4ZH(<$!(|e)(E)[;($!H=>( ,&*?	Z`)~ 7(<'8UU(]U(< bWX(< WU *) *:  ]-ߣ`(M*(	|_**Ӝ(< <粔)=;]!?/'~	<l<e( 4+ 8}(<Q(=}( R  )<"9 _(1Q(?R	(9 )~ ޝY '(>R*"ަ1   s(? Mk	](cx(|ns  y( R<H|*>($Y]	[+ y( b OU(?,c)9)^ ( Z {( mk  *~'((|]4 ({n (c *?!B)< {A (IJ%*0ZV),c) ZѢ)& *|7z^  ./b*|RP*<  e(|W_]* T'!-mi+ 
5, XX(< _	ɉ(|	"(*<  @(>E)a( !!~/(|	R ](%)
((1
(|v `(>BP("~1}*=4( 9
%(< ~I( Mk)(?U(!+($* m( 9( Rè^(>-Uc}(}  X( ]D! $*} 6(A\)c+<	
**( !6\(< _[(> (<_{(~O,~5-(=NV(| _ w(}^C*/  ,``'|L|rrpp*'|.a*~:pp( ",b@ (|*a5(| AX\* 	'7;**@'"w:ͮ'b88(e)pb' ֵ<A(|Z( 9@ظ**u'	}RAs(|.!]_(<%*{u'֫Zc(|szP(<-A^||(BAT=(^XX(|kUk(R*(|9$$(7;* '&&&*<o*< oz(|9\(|Z_+)<':X(E)(~ s)|QQ *[c)| IJMV( E)*|Zb  8p	 *}p )<$!e+ ])<0, }+ '< aT()|a%%. *0*/@@))  r(> ()|^͍+AA)|B)?
T-)<*jR
 *	w+  )
e)*< RI) D!)\>*|)< 1Au<) 9)!ܧ)ZCA)< R;) !f+ b(yw'^) MkY*M
*.֪(>&<7b*>y}*.>(|mk$UA(<IJ sq[( q *O(*/j\'>'|  	?./|+*U* )>Y"X(< "Xj(> !)u( #}Wb(=
^U*|`*&"|O *? )</(< ~
(> ߨj(< "]W(< "FC9(< *|i*~	,|i(s<*iJ.&*,{W )Z *>\(C$\*?  )a^
,\{(<#<^)]4 )?~/( u+~ TY(< ~ _*<SY k*=T	*~D}<*Smk)=\_> )ZU6*MkU +?^,>,!*
  b*;*<8	%*M _
)Z *?&+*>*Q*<P{'+U*IY +M'
+ '~]!.p)>]) {"ߊ)< s,( _i'*J '4_ك ' W'zWR(|">bW(8!Q(~ ?*
*? $('X!~sT)<V(b)p!um(=_**d 
*!F*<C`.(R
(<*pP
({ U
* a)*"*|*x*rV%)dR%/(!7  //^
(<<絫*|/***+< (*)<z)o~5(||*? ~)<H!>x+<Xਮ*?lU'=	\\* )<[*?*+_)|}<.*? ()<箫
+:rV)|$_	rZ*|%(+('+<.? -~ t*U,*>T,`+
	*< *< +~)+<	* 6~!*|^Z*|&'*<   /j*< +**? *+?   + ,? *|`
*)<m,* U)(<U**B<i骀*WW)Z!N+*rp*<*?\|`)<!߾*}
* z*|/*1,,|u8<,|w*< U(<!8 _uW*? u+| ^*}@+:*.
*!Ê,)}$*? /*+|
/+>V^+(  	O2	*= .,~*+<  ((-+}m*  )<0^;+}?)!O^+? +x']|*<A
)?*])3+?#*>j* 8Ɩ*	+U(}^**,<*? ڪ'<k~'"~W(< ~UU,>+**+)<^m +|>x*ZZ~y+~^+<+ v+=  *? +< -}*?^) !*V-ƥ*+Vx`  }  (^J,=*)}E+<~) NT,=)=!u
)|K|(<J]*? \b^[*<a*O$V*|]!O[*[Y 	*<i_,>p*K']"<{)| -*k   +<e*<Z* -U@(| ~' %-X(A )"=M )"O6| "=E +<"=)">W ,| *?Ҕ -P,< #Q5*]W*
 )<!~ n+?'U*? +?5)]`  \!>Gа*UZ)}"7)<!=~(z#(?   T@ (<I!PX(MTOU}qS"4!'tU\'>qRR(<})"*SePPX*}	@ **?X'|޲@@'"tVW*UU'"]%%'s,<~U(<R*>,A!p*}5@ (.!X)<~	cZ(<|\)'|"aU+\\^'~/@ !4Օ*?WWU'>!A'<u*< UWU* `_?
'>'9t(=]*)<"w	)^  	\.ޞ>.&*@(= N ("<VBB*X'<"6TV("X	U([!s[SR*<*<#( ^S\\6Z,Q_XX\( +\쀀)|%	*=\j	?@(}!+}u)<_**"_,o
W*pp( |)?A/'rR}V'"6XZ( 8*!To+}^ \(A+IJ?(iJjj@@*)"o(| "5$U)| "|! (<!}@@@*})|C*"(%)W  	o.&*<-*<*-B*|UWVT6 ",)9_RPP)|y)yqFx ( +|*<|TT*<YY\(=a^_(U%+?b'= ]!}@)>
)J|?(!(> RX'{,`X'|N4U&(< \@0*<*"u.)~VV(}Z+b*!wfx(l|*~l.*<IJ*~b,| "*~ 1,| u)>W ,,#}^(}-ރ  O'!*%}'[*>(>	,	.Mk|*<,<|]*>*|,}
}y		*~+Ԗ  ({. 	*Z)L!>zz(
0*zW-2'~#*!X)<Ӝ *~U(|N}T@!,<%|sY%P**iJ, ,~}(fz 65)|.|,(B*||*| ."5F+}/	(<E`x'e), " \)< ~E*<#y0  !G(|A(<	"7Js]U)<F,~O\\*Y5I*&*<<,}
]-<?|  * YST*P@ *6f1))|RX^* p(!޿**";@ *!,?ՠ)|G@+"(4VT(" PPR'4]!|P*9,3}^+$q  '6B,.Y.%u).<!>`@63]*"}2)| "% *s+}-W)-8"}  0?((Y\!99W*<IYR(a)|Z"|>*<b}mI+Y9%-<'7|sU*M*~\*?'<5,?}* +<[ (Q)
"<SA*<2*N{,->Tf  (HB)~<~,}QW'tRRS[*		(<~VV(^*	*<*./b+/Mk,>S*.~ {*,c.`*|e*<.S~}XX*<'#7-*	   	.@YQ*=(W)]RRR(!!5)~{!y**oIIɂ*<7%,>X -<+|x*| T\p*|]*|`|Օ%*! *<>* U'I	9  )^ )|q*-Z((  @"*; )Au(~1AYK5(Y\*|[]]c*)<,"<\)  ]X'}]+,]%-T(Y(=A -|O_@@`+B+~,c*R,</)< @buuu*}S5-O*}!=C5-}  #?*]ޖ*? *)**_)z+|k!~X+|(%+>+w:V+ ,,> ޚ,? +'!?^+	r*?)<],<߀*^)|<_+Q]
)<<U/
 * % (}!}B\b *?UU+ 4%) .@ '=]Xp(? 5) ]1V *4)<  )>mk
+}+|{j )!U+|A *<Yu*A5)v{^*  +| ׾  ~(||y*|* U*? V})!> )*(+=X+޷Wx+()<-+p*,p*? ^w+*6<|U^+*)</+*?Wի)}^*| !+? _U+?_W++->	+> *U+ 5'|C`W+~+? UW)<֗/
)<!3\V()<yU*)+Z)(<罿jj*|b * +*+|p  -"|H[W(;/+|Y +*?+ + )|]{*`+|++[  )|/G
_,:<U* j+?"+")
+>~U+=W*? ~++|+~_+~U,*Y/],>B+~U+!)<]pW *~ թ,],8z+<\  * ~_Uu,`\*F*<) ^(  @)!
[\!W %6)|!Gpp`(| !/P(&iJ
)< m)*\!<()B0'4(|!JPCJ wA@!뺢*|_Ò X*<ࠪ*?)<N!\Wk*|^*p*}* *.)*P)|<*V+(^*
j`*<+*ע)<!>z +? *?|_u'	 W)|(*? %+*? W)G,:$(<7|]*|Y*|!93z(Xƀ ))i"~+> _  ?]V*|~P (*E6(>	*|< P+)8 *G"H'<I@!V /\<*q6	*}W((<"n@(|!
](=JBr@(|	f1 y("Pu>x(<"d)l(|"P	(~*~2})#E(<_ >(|o	*?  '|T!n~("Ft,($(}]%)ǆ1*m '_~B>*(< _) (*+a*X '_ *n)1p
)>{!x^*Wu  	0]ޞ>*>]%)E!p*FU)
)?B@"I(+})H+*|G'4*Xu)!%* {*"]m'Ry(B6+(<P(cm# 
Cj~m9^(
HB	&pBԜ*		'}  t`@(]e)(|oIJ[Y*?'~"G*|A'}@ٍ(<&//'(< :(<$!'?o(s*'>q3OJ'|1<(b1*N..'|7Cf*57''}CpP'&t~**	_ ! P0/}'+}&*y`*-ߥ)Y!0u(<_i+(}9Q*| |[`7BY)>)JY *  )|]_p(|x)8Ƶ/u})3_">W@>Z, *#&@tx( ֵ
* 6(xe!xB)8]*}_)4 ](?  +~ Ӝ]*  * 
8P	*o)DY 8*=t\!]j '<6Y*"-k,%%)ns)^"Rz)~X~ *| !<Fޠ_UU  !5@(<!(eg+_(| [ [(}a!>?(>1қ*  ̦(E),~ <(!Gn)|\+<pp*,<pX+_+M*>)<cP(< 9T|T(e)>^r(,(B&($!c(<$!?(<Z	W(9@o(~s (1YE*mS@1'6(|e)ONO(<1u(<~{(IJ&6*<&*?FV'֦1+*H+)<瀪UBV Ey(|	8Ơ`(< !}@_  
0@zy)|y">8
Ӝp+P+> !w*=ݗ)y"}+zmk+ s)BM"*? E)) ~(<yjz)@վCB}})8x*{ {)	W]))ly} * 
)~k׽*{ +;Aк"=V(? - ^ <sW+?Z}+? {u)<A )]/]+,c-+}R\)|  ?*~"B  DB(* "FG * "+*|^`+*?'^X+? U+)/  
."?;а)|	<(|"*(">J(|"F
(> }v*+sA#M 5+>^@VZz*@"ɠ@j!(<PjRcB( )J"	 8'=#!#$$*A_9)"1&(<sXԔ(|!36a*?^"!)1BB)R<<(|!1[*<$
C*%rq(<$!*s8)R*< ?( !5Tt*& *<W *| +f&(| !7Y+ **)8<&'+d(*|_  <-!~'`(:((i['!<U(*Ӝ(|  S* * K'<*.*<]H0h)<TK*=Hr)|+HBxJ(?jiJ	N( k,!X*=)]"}j+iJ]	#*L[ b (<@@u]HCπ ,c
0P* )|f* (Lc ()9 )>]"b(=b]m+|)J*<!}/*?&E))Wޢ* Lc	 *! )>(B) %)o**	*|*>k,epP(b+<GzWU  '||8 %7)< 
U(|9 )| 8( +< ( 7 
(_(
U(~8	 )9(= ^	 (\^  )|1= ( ('B&'= ^ (} <^#	(=C	'| _j,'| );S@?ь(0&>'} ^!T		)?(`'= w_%<'|?A1; (b'.)| 
RT(<|7
)8 )>}*-8+> ''< G9=?(	(Z!?B\'> N,*(<P'~ {O"'< z%))] *8  t;*X$x9j
**? 'W*<}) Y(X^_(<X* 9^	*-* '?L98V)| *(<"|Q,> W*< W}}U*> U(<U,}-? ,+=\,++ W_+ *< n+ -}_+(>:*_*'~A9(gX+~n8_5z_'09k  (|py 	(	]O(>8'8I  t*; +X '>8^_(,8!<'<~}w~e%, ]- \(= ^}a-= ,> (}}A(< |(\~-=I-=s)} *}),>	,~ WX+,~ %- P)<^_,> <, @,= )|c~U,| ( 8~*<$\' ^~W-=`(= +}+_,='|#U(} 7}-c, )>	*],~ (|.(> Y z  |*'<II)Ӊ)|)M(? Q@ *<*<֡a@ (<"(~ *ACB'=\ 
H(|ՙI+s@ *| *\*> ԑ+?r)>\~XX*(Pba})ԑ@ )(>8hV?~)'<S@ (|ԙBB)c3)|&'%)+*|ӑ@ (| Ni((T+cCÃ))_=%%'|S'|Roq$$(<oq(
^-  	_9~( ~(=q{(>py*Zͳ(~ (KJb)-,ՙYK(< 2:*ԙ*h``(,|mXXpj8,+-<ՙ*>,>*<U*|})>\}U)#Qy8\@jWW-' 3]1)|pp`'~Q/*},?%%*ӑ,} -,!.@Y8WA8\11(u 0(<M'>%+*>x(8_+*!;]  !v/*py]'<%Ni *I%)<*\)| ՙpPP)   +? \ +? ᡡ+>(~
Ñ U*}!c	U-U*H$U-+s+++ V)< ^	)sP*^{^X)< 5+?arX+< YU*<  +Wj@)Ka)| *py,( vUUT+|Y{U*?%5)< ^Bp),*}	  '< 9X+?3)< (((Twaqs)ӑ1!!(*<աp@*|#	'  *<-"4(F!<GW^(< ԙz * (|!}G(|]I *|H_g 
* U*(N}_)<I*)| 
*>I**p((*? +} -^ Z)}-= -= ^+K*<U*]-) K* **))})r#+*<}+= @}1)~9+Nj(= 8י,^"
*< *? })X
, w*R},Ps,> W)<+< *X`  	.z+*	)~꯯* x)|
*?
V+5**)	yG`*?  ('}_Z!6*>[(a]I	*|( 
8<b*)'Y-[!t )|b7d}*+|,=dc65e,_*?W_'\+|k*< 9*<g.< |#׫*<z*zW*U+|a:60<!F@ ! ."+z*])<<._(|7\)|Ca
*)'ݪ
U*> }*~ֵy8'/ +?*+?C 	C8)|!~z5
*! *? +| *< ꪫ
*?'<髪z]*< ^]*p &Cn* _)rU*՟)X(C'<W*? e)|*!=6*?8+W^ 2 @!G`X(
ֺ*X)<-*<**? )\-+ !x*~(\
*		*+?*)?z+>*| .*?+Ъ*)	*  *?m)|B!*>*_^k}*(+
++,Y'!(<}0,}6A@>!ޯ] z)Q-*?بD.+> +*ƀzy-~+~WW$" 4 »+~@MUV*@ *,j+*+~++< 

*|*= bN^*<Cz+?ʠ߭@_+  -*|!}* *|Mn* )<]﹚+!*.*`* z++)%*zO*< +*> "@B)<޷- *,
)Cu*|b*< %* 
*V գ  	/`'/*=y*<%+`+&	(+,%+`*\**6|| +0*?W)0!+Bu)< \-| U+? :)<AB**<]+UUSz'|/(<'
*<}*?~+?+$T+ݮ*UDWo,?\p)<4!GB*? ڽ)| p
*| ת*'*+?)|!
"+<+X)= g  t%}`!6?$@pVFIA`V/i]z]	I\B*<p`	],=z-=->}.<n	}<~,>,<&<>	(>,><u\	=<>|}w 
| <B +<U~6<>.< ?}!z(<Hz6|0<!?倩(|QUޮ X%i|+UB̏D	P^ \K 'K@Nv:}cU r$<@O!:?~$9}	\ </R.h|%W#$;U='t
0?PXTW>==	5v5 Y
%=_	p"#]	T >	)<w	|[ <|g^	bv}P	 <|*|CO* ~\,<~W\	|]	\ <)<x.<	 <Cԅ'<yβ-	  I^6ps5ѭ?' `M|w@aɝTP@	r) L$B;'5? }			Kc\Z,čn(<	K)WN0		*?	}I5^ūA $T!@
U_?'9A@ɜ	}$5<1H~%G$ z'8>'w0A|U|~'  X_8|	RP%!>lBKl!$H*U"<&XPpj	',?]TPЏ$|æv.w̧}	@	]-><+=!	!|OUՠ	XP`'>,>,<|
cƸ 	PdI(< pI'<  Z)  H$|}\~4 p\~UUImHlU!H]$7'<}E)<|it^p[UPP\a'?!}"ؾqU
H _	Ia|'*pw)|9D)|*X*}$L✉!$IP\	1\	'@ı(},	,>N$ '-|8T.|+=||i}P(<Sq'<RMʖ'AX/S?z_-= P
 |'|BuS6j+6hc|	аP_py !-Fp$1L7@0X?xw!'Ƀ=|	
6f,6f`"| 	РPTɝ~ Ity\|J?S]	A x>z@		/ I{|xp]\	3`?~	)ϡ	    ~9@z  (= -> ,= -< )= ]-< |*= == 5<  \P )| m'0|u_ 朝'<	IIm `]'U  퐤@)|^	m;\~U0}k@\dP(<)p"'t❱\ y{|!xU*^'},-X=\)>S?|C|E 9|	3	")'>@,?3	'B$<$ ؈\	}A/\	%;x}		"v8h:|T:)       +<  +> k*< $+= +  * d+ ;?m+ p,  +< c')<                           @                                                                                                                                                                                                                                                                                                                                                                                                                        XXX           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           			                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                        m۶c  UUm۰ۺ  U  m۶a;\  U  .m  U            U  (m  U  [m۰۾  U 	m۶g#  U* $	  U           U Am  U  sm۰  U m۶a;  U  m   U            U  /m۶  U   m۶  U  m۶m#  U  	 I$I  U            U  =vm۶  U  ,m۶ؾ  U                                                            				                                  XXXX                        !6nFo\  ֚&I$֎      ] 2}m      ު
U}y  &I$y      } *U2yA          &I$       ꪪ2ށH}]UUI$}0u綂~~    2@  <][e6}"j_?\  PPPP                                  				                                  XXXX                        	"FnFn<           XX      ަ1 -g       7=      q
֠      ުR       <qp      iJ       9 W      9 U_             ,c       s ZS_      a պ      }mk -              ]q ]]      }Q _w      }Z        iJ i              }e)  [      }B  ]"\  PPPP                                  				                                  XXXX                        	"FnFn}        ֢(H      f1*  Y                      K      <s)      ]l      mk        4       <0 D      R  g      c        TW       mk Z      yβ J      b             <Ӝ	      <,c  `      {  W      <璔  U      ]        \s.  	"}  PPPP                                  				                                  XXXX                        	"FnFn        }E)LH@      bR       ]HBddd      Y΂O       ւ       9h       mkN(      mk%+       R^       y9s       \IJپ       <{N      IJ       1mm(      Bj       iJ       \Mk		.      }q``        {      {       mk|'      }s)&  	"]  PPPP                                  				                                  XXXX                        	"FnFn}        ﲔ P       y      u +      \4 
p       <  =               T 	      < P      }        \粔 r      }ﲔY Z      \璔5 [       ݿ       z      }ﶵ        U             }        <Ӝ%       } 
      Q]       }s +	"  PPPP                                  				                                  XXXX                        	"FnFn        綪
      }+
      (      <瞠       <窪      <jת      }<Ux      }{      }&      }<瀾VX      }"m      <u      <	             zW      ^               h      着      }着      }      }VZzk	"}  PPPP                                  				                                  XXXX                        	"FnFn}        u         k         s   i      {           U      ]R   6      ]c         }׽         p      Q   W      4        }  [      T         u   4      ׽                     '      y   ]               }(U      < Z      < 
	"  PPPP                                  				                                  XXXX                        	"FnFn]        ]{@      !        AAiU      uATtfE      }  U      @ 7666      s  FFFF      ]      ֵoC      AU      ׽a      y                !444        gww      ނU[        $&&&      ]UU                U      \b_]      b-	"  PPPP                                  				                                  XXXX                        	"FnFn]        }a@@`      ]  %%%%      {  UWVT      y  EEMM      	%	      ~  666&        gGGO      }      8`@`      !U~              \疵V
        VV      ]  666      {  gGGG      }Q        T              z        <A5      <  XZ      Xb5	"  PPPP                                  				                                  XXXX                        	"FnFn        }  ``pp      ]A55        VT$      8  IIAA      f1        &&&      Q  MMMM            YΪB              Q        U@      s  WUUI      <  &&&'      0  GGGG        ^        &&&      }                  %      }          6666	"  XPPP                                  				                                  XXXX                        	"FnFn          P        ]!(                \  A        }e)          V          m        bU        @         !UW        ]Z        $!        ii        ]  _        ]  e          Օ          &&                           <  U              ]!6> 	"}  PPPP                                  				                                  XXXX                        	"FnFn        z      VZj               }J  "      <%\       <       }	      }        _      }pP      ]/*      ~U      < _      } V_y      } r	5      }^z      ^         
`                ]]       
       <
	"}  PPPP                                  				                                  XXXX                        	"FnFn        ,c@       <jRBCJ      ZƂ      ]s
-;      ߮s      ުR       Z*      }0        }{        }׽         4         }Lc         }         }   b      <         ]ﶵ  I      4   )               X         8  `      }8 U      ׽ w_	"  PZPP                                  				                                  XXXX                        	"FnFn        Z`         ]IJK         ]0 
U      Z        \)J        <1  
      ][X        \s       ަ1z        Z5? 4      <s47 
      b|       }R        Zaa 
      ]{        <IJ       <B	        Mk]^      MkUW      <iJCK       <{II       Lc=. 	"  PPPP                                  				                                  XXXX                        	"FnFn        }R        !         1         mk _        W       ]s ժ       $             }y  |      c|t       <9?        <cu        }Qm        c       Zת       mkݪ       R7*       }R       B       <*      yp        }}^,	"  PPPP                                  				                                  XXXX                        	"FnFn]        s       uv      u      \
       u       }W^z      cx      R.      mk$       <sـ      <璔g*      ],c
      PB      ֦1/       c      ]p      }nsm       ]s
Uf       ޮs        ]s U      ]ֵ         }  $	"}  PPPP                                  				                                  XXXX                        	"FnFn        8UU      88UU      8UU      89 UU      X8 UU      89UU      9UU      8UU      9UU      8UU      9        79/UU      \8UU      9*UU      8UU      8#UU      8 UU      8UU      \UU      (ܨ      ӑUU      7UU	"  PZ__                                  				                                  XXXX                        	"FnFn8        97      ZWUa      [8U      {8UnLL      [8U      7U      ~U      [8Uk      Uّ      [8U866      UV\l      [8UIS      |U      8U8      |8U      [8U%      {U#1      7U      [8UPpp      U:*      U      UXRR	"  PPPP                                  				                                  XXXX                        	"FnFn9        U      Ӊi      UDf      {7LL            U      =Iɩ      6CC-            ]      {7\\tf      ֡Si      {             ]E      [555      {11!      涢NNJy      7pzz      "      }՚æ      =XVVW	"  PPPP                                  				                                  XXXX                        	"FnFn        9}      9ת      9      9^      ߂       9ԙ
Z      9        9z >      9       9m*      Z_ު      9
       9      9j       9ՙՈ        9ժ      9ت      9j      9_      9_*      9y      9ꪪ	"8  PPPP                                  				                                  XXXX                        	"FnFn]        <Z6      <⼽      } UW      }UUu             T      =       	      }<      }+
            ]        bI      }
             j      <XP      ު/      ^      <U             
	"  PPPP                                  				                                  XXXX                        	"FnFn}        y        稠      <x"      ]      [-      }*             }z      }u       r       ޠU       窯-@       *            z            <@         	
      <%莫      <~      <      }֧ 	"\  PPPP                                  				                                  XXXX                        "6n6bC  &n$  XTU̿h  %U;I$	<   @U&!m   <UUU=ʏ}   
'}  XTV&̿(  %=  0   @@&!m 8  <UUU=   &n  XTT&̿(<  %=   @@&!m 8  <UUU=   &n  XTT&̿(  %=  0}   @@&!m 8  <UUU=   &n  ZVV&̿(  %	"v  PPPP                                  				                                  XXXX                        ,bh6`    /0m  UU3ch6`ۚ  UUT@	BI	 lۺ  UUUm۝  UUA Qkd     >@۾  UUgbk6d  UTTL$q  @UUU hѤO$  UUAAɟ$  UUU[ C'~$  WUU yɝ  UTT:$4  BUUU"[a  UUAA6H  UUP,  TX=ɑA%T&_$  @U"[:{<  UUU	I!  U,y  TP:5҆bf@8  |	y  PPRU                                  				                                  XXXX                                            u  UUU        <   UUU           UUU        ]   UUU           UUU           UUU ɐ$I$  PUUU $I$              @UUU <I$     h$I$  UUU ɐ$I$  PUUU $I$     I$I$}  @UUU I$     'I$}  UUUbh6`    ,IM `     O$    6km`    (0mۚ  5UUU*ch`Y  |UUU2	 lA  ZUUU                                  				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				            @ @               @            U            U            U            U            U            U            U            U            U            U            U            U            U            U        0            @@@@                                                                                                                                                                                Q          @@@@            Dm^  Bm<U   GmR]U   1{0(  찝T  [춍y0@  >mU   m[0U   0U   b۶m	U   yU   cmH}  UU@@                    Q          @@@@            ȏȏAA      c=       { +      |ت      0w       <粔      ގsV      {R      ] U      <Q *      mk U 
??<  @J@@                    Q          @@@@            ȏȏ        Z *      {5/ (      { *      ]}       Zv       ns      Z       <7;       }qP       umʢ    ]  B@@B                    Q          @@@@            ȏȏ}        8         y   W      ]         <Jy      }X        + x                  =      <(        ;ߪ      @@@@                    Q          @@@@            ȏȏ        ΂QQq      $!V-)9      E)      }U㫉            e)zR      4E)P      })r      !U      8bwI    AIJJI                    Q          @@@@            ȏȏ}        ay       ],c-/.       !       (B       g       !PP       }!۵       <!       9       Y!       JJJ@                    Q          @@@@            ȏȏ                        U  &v               (       y u      8        ֠               ֪ V      @@@@                    Q          @@@@            ȏȏ]        <U
݀      U=       }h

      ]qY        \{*      }{V        <c        s        MkW       }4ժ       B@@@                    Q          @@@@            ȏȏ;        9  U      8  U      \8 *U      8 U      9* U      8 +U      w9 U      8 U      X8 U      \ӑ

U      @@B                    Q          @@@@            ȏȏ        yu      ;xU**      ز00      :XU      Y9z@      :֘.*      [9      Y)      {o      wU      hhhj                    Q          @@@@            ȏȏ^        }UU        UU        ]UU        8UU        UU        UU        UU        UU        ]UU        \UU        @@                    Q          @@@@            !<  i1q\    1[}    
%12`    (1    X1   \4    b1       1[    
%1   դ    (1}    X1   \4]    j  "<  @@bi                    Q          @@@@            hdm{  UU1`h mU  UT UB cCmֵ  UT U6[m۶  U@Ug-ضm۶  ZUU Ds?I$U  pUUh )I$  UTUbCa  UTU"cay  UU`  PUUyl  @Ul9  AjVU                    Q          @@@@                                                                                                                                                                                Q                 XX           UU           UU           UU           UU           UU           UU           
%%          XXXX 6J$  '}U wJ0U Ԑ0 I$8@ un_<  P 
           %%%%          XXXXK  u^      <q         <_        4W        4m      ﶵ?           %%%%          XXXXK  $!`       yIJicc       MkPP`      ]Bhvd      cݬ    Mk5?:+          %%%%          XXXXK  Zz      }u ;       Z      ׽ w}      }4 Z    } x          %%%%          XXXXK  ִ       <yĂU      8 Wwn      U      ׳    ~x          %%%%          XXXXK U  *Tl}U  TdU  T U  2TU  ʋ ;U            %%%%          XXXX n$I${  UUU G$I$0  @UU@Ed۶m۳  YUUa"bm׽  eUURlöm8  UUU mۖ   }UU          %%%%    Om6h   Tum   U      i   U           @@        <{ G      { w   }   @@        ؼ
U      \縼 U     vo36`ۺ  TT	$ `   U$ `Y    U-ŏڀm^    @  ҶmV	=ӜռoFbۼE)I޳    )z ѿDWUk      GGATCGVA   >BG4GGATCXAM   GGATGALF      GGATSFFO@      Њ  \          C                                      I                                                                                                                                                                                                                                                                                                                                                            x I$Ib8MU         <           em[6b"?	. y~ #>@$%=@W                  "#>?%<?Fo~C  ||xK]ا__        <           g+Fo">? &? +< B??         <         #}#>W"?6?/<  `)> !?~W_          H!          =m۶a;$|~*F(|>?=< $=        <        x  6jV%| !?.> !?}|!??ζm$-؁}ٜ                *  `#<= |>= v 	]زm@@WU	<"m#&a`ޝ!A*<:nٯؼ        ?         o#|'=د *?'?/ټ_6!Ƣ 	|!?$?                	  bޯ} 2|5
ԳX$>m |pڟ}                    !ab#|> < k/ +-< %`}ڗ} 
mCƊ% #_]"FN'UW        <C       & 2 !? 9<> @= '<с]ش=_Bg;@<P 8|7ڧ               -|n@ _< (4۶AWW < o>6vo!?/        $         e6)9 =| @= '%?M$ q-E%ʿ ND
-ہ}              #}+@~ }'?/Lۼ_ H"|=#>WU qOa{i% +&?&~D!               -|yFO  ?> '< 
9{$~? q<>  
i6b#$ ?ͅ}ڿ'_        |        6f+Fo@~!? ~v ?\ٰM؞_W < ~{!?6b G?@) S=ۑA_       @        m[6b F ~A#>~׽|Z`+P@' 6D M$L$ >!?i{%?u HG'|        |       )-~ <AyU!?^U'> 9 \U(<  |_g&}@!cB\'P  W>"!3?_D        |        ۶kV%| =-=  <	y΂U !?WVX3د@ |&^n@  O~!)<!Mۙ}W                 (|xy  > e),"?	 Y ` >|WT۳UW@c[a%<V W|'(~	!'        |      F \#%|(V Ѽ?.< u! 5%(?u)> )|!\Xp`ݟ? h# w7Fn _,             < -<$6bޯ | > ~!5	  *?	(< XΪ@ (| c@ )| 	AUVX`N + < `<;+n#k@u Y<~W             & B8b#!B }!L !C(|?~-(q,?5	(<  `(= $i
z(?z(~ {#=@$>;!<@WV\_  7 II$&<gI$K$ g=B!ű w|               s #!ye# ?b#>'>$U/,~ *??U
)<  )> |"?5(< S VWv^	W TUU'?!<UU(  'XAPp@ @& n| w<#0@               C ',@~ j>7q,>?4^+)|>aU+*>9 *? u)})< TY*}?U@(< -@?Y)  VTG,<A&(5)|UU(('(Q@  |1 T M$z& | a<{Boo5y@ >< ُ@        |       6hFA~dA~_(<!*|)=u0	 (<"~>U
8Ɲ ,>,> *,= +*?-)|>*C..< Y8\XXp"~?'<% (<  x' ޵AVWW'  \\X\'@z PH   ?,~Á%<E       @      $<`]B~9"~%(|<X{**|>*y *>Yί9<> O< y΢p``'|?G (y^)>! *Ay-cY @*<`^U.n(}'T@(Ȅm۾+_U _<	 FnH  ?.= *!B mC E      t  <b/Fo!\yݵ]ہ}U !yT       _ ,|Fn Q|4! 555+|?)?!<=Ʃ
(} !x(|v ~U+U,= -= , U(@f1!7'|>yQ ?8@Ζ *|?*|?_xV*x  BR5XL});.FoVn ?.> G      pB$a;"|?\h\	S\TWMٯ|VoKK       o  go'} L}(=! |(;f^!X(>E)${kJ^ =]p` >T!>5B=_WX\!~=5U*@a)> ZY 	 	?0Y p(>ahW(t1G)} XP 8K@(?DA{|Uz@M     P"|!EM M \%?E)  Mm}]      | n 
m$Z>Oj~5(< ! UWA!|?!{'(~Ux-<'<yU)>(U(?RV  ' `W*T!>~-( ~ (> !B*| !~U*<U{``+9||")|%!BÁ1#T1+|:-
=W A>@feK SPp3@g'}"?N'F      $  #H"?qQ[\*?|?\y}      <   6bVx "=!8{'<;rj`Ԅr~ԂAz+<  U^'> Db,|UB >? s +~>\W*<E)``@@* !?  "@	%*= \. BI,!?@ 7>@FKHAP     &޶ec6j# Օ##?TWWW.?1G  A6#~f       w x+'ȿ S  <@%	(> *Շ}~(?Y (= |)@aX`'>@g~W\ W<8#~?{ (~jJ@,~VT ?%5*< }p, 1=@|*]$T|EU/=&!6b$!?O0['= W)<#]ا̼+     @F߶e+F ?E)]|	ZQRTbo"?5*|#.?!|"!@`b-۴~WT	@@ &H<o!  {e<ܶ-ۑ@
!9#S       o ">v'| M=4 "}(>̩(?$)>@W^!}.)Ԁ--(=+@$>@ (  "C?^)<(U
(|gġ U_x-+|E)	?' ]W 	?Mk,|AA``@-<(=(*U=#H_\;趡1H = 9!)>#gW     } "?#Uc#=my< H"[$X#||AAaq.?/= $]A$ L'z'"<A!?^.<5n;a~,`P "@MQڢcT\      d o (!xD G}6(==@=%(> ƣ|0>.? ƫ`) ԡ ^* !9-*
 
?9} `'5'>!>p+< =Ey!|>		A \Xp`B9Ã	BWT <> _? /&}     }
->!"#{UةȾRQ U"<=	Uyȟ"=	ZԷزm"=Z\W !p$!  YQRR??-< ϟ}/"?[SQ?<#o6o|	yEW|QM5 S$=@U8_#ʣ#<UU\1۳UP     |   Oe G~3~5)=b ? ?< #j(=X'a5AA?7B#^ ==Y%%CaTV (>!b(mk >@ )~AT\  p?.? ڴ    3#>#$<95
$XVMV|\5/"<>PTU(A#A%&@#|	qZVϯmQZ?<8p#<~PPX\ ?t^M@%cYiMM? ] @ (_|!T\Si#'SIe\+ۂ <@(o6b[~	bOC		W\ 
7XI5(%Z        FS*	 i?E @"?xV'a(>   ^U*~%  ?5C@yΦ~@ Y <"?@@@AX  ?s!}       J#~?+%=  	y#8jEFo"={!= $z5-#:A[PV n#>:%;V$|A	y^V|5EIH[ VU |Ae$!~\T ?7G"?Eť5 ~O+i[|%%`g[yE <
Vn/|%SaE+<!~|	\RaM0}??B%<B        a[gv C>'@*= Y? *?!`X*?(%	`(  WU,<-==(=}q#VV -X  	*/ *< `p\W,<@55* XPpp @  h? !"=g?&~d$$    B!_e#<g<%<	s\?|I ||TVW|iZT)WU 0b#|%qR |\	Տ|=$T?|A '|
X%),<` ?! O$K$'W?~]#"<!o"|_qM}5(SǧUVX( AcH<|"?#!17Xq5C}!c#ˏX.$|mF SM$ǂ$ &       0k#n H~7%b!. W?A`(<`%	'?p\0~*<	IJ_VVW ' %xW'/Q|1(}!p```7@@  `< &ځG$|    YF#=MI}  @ 
#<5soo#	e. ,X\I|7W N$H#}8V@ >!e6o?%M@@ "}T\8?|5my%|A |"=!?!} ?*< _\٧ڟT\R bgۜ!C@?|)!;A\4 MB Z A,6f/6o+"|?!3r5PI#">@/3|		XaA^#Yx~ " %cWV]ؑ#W^PR  8\     0!>|x 3< @	% H(*@7}!~XV>?(> $!$bΫRBb*~V@ [> %!,?C@@BVu@  ?  *|=ۑ    c>!3xH_i.#}	aqQQ?|	eEM(ζd[6|U(%}zA!%"|:EiS\%~>b4>$%x5}a
V@?!|5ش@?VTWU <g#T\\\ ?t!?|	SYym |YoFn"|=QqE.Cݧ#siE5=!CH|5"A!?o|;V\Ym'G/	P.ưg[ |W[@"T/`|	[Yq؉ǟIZ_l     C<  .gTȯxQ,~S 	% 9<@@`p(a}W 	~>.?%@Y!>~` |8*<F΂	%  p '~U  >@U'!?,     ;|7a{6j#<5%y"}?&'%%ȏAQ@ 37$IU}#<<}Հ\|AX H&?T1?-A6o#9MqP½1$"<}MyQ /<<$|}\XPP  ? Ee |be$?UC &>$/!3AZ?|Fn#¥!'|!o|UTR_OM5K$D]^U#@@~a  ,y#<Ddb$A     |ݶe]#%m>> j,=@-<@?>?ԩ}( \ =(=<! B" e)@ {> s5*?	-5(~CA	   <@=ߟ    J@56oV"|6EEeiG   %@ o'? @?!1"<85i^%"|7%[?!~n#5$|UU"?!|_T"-=ZTT 0p":R S ?X#|`%!}	0#X ?|	Pyi-v |I5 =ĉC|-	U}/|3VX6	V% %?!?qBElRC%w     #   -6n6o'? 2.>@G	5(<?ͪ9<@%¼B1$|  !Օ59!A^'><E)#\V ~8!py*< !V\X @'!Á}_  C|A O=     I!!{~yq ]@{"=	o"\Y  K?MsXWFz	Mq%م=}R
|!-^$>yqS/C #"EM# |   C|QqaA  ?)= D ן|^[AI !ӶBAi"}?!q$_WV+<<bG|5TZc>|&VnvoeE5W#Q5HF>H	TRI%r""?VWUڏ#|oJKK   A| ^=  " FnoA7d-<@~ ->@(Z@@@B;iJ$<`(|;b	);p(? R)~Ab JFΊR@(B-E)`)~k  A>> "'?  ~!|!8MUmM"2	 `5 $UxU ?= =< 	*< .| -< ũ* -| .> ,= $-} $2 =} -= 0=  >=  N6>   %<m@ "|9 *%d۵#wTV0~"~"?	qqyyIDId {!$۲%#|7tTT\ISi<5|i#6y"$~,_&<%	'!HA|yQSZ ?<FnFo|am,> ?@#?!>~|ME%5
FMD[QqM.T\ǝ7%!/4 B|S[U B}Z%ڟ b++|E.ڧ}#J   ə| ~  = 0+= 0/? |`: = N|4> U-?O7|#Wװ۰mWWU $  N !ȯ 2Db,>@P +?@b9@ 
?Е5%)R x'>׽@( ||| (!\p*	( \#TXRy @-> G'+}W  !MX"},\!&6f1X\""o|U^v$~WX-+ +<q  < ?A}E1|$?j !$Vn"*	ieEE&?#t]v#5/ٳA}s
?|MqY^/<)$|55#ÁM۲$< !d;%7_$zh Id%yVV5@v$<}@=ۅ$CUWT  <CFn6o+| ><}#^Sq??!6o}qJJ P#|!8"V0 '/"<I'  b?(}ر]VA*-CFc[!(&A$AABs   A-? ?I7؞-`~R!<?~w-zO!l% TUU  |?. $.Up P 2$-=@gu6|>' Ӝs֜';|B<p\W  =  B@F&	CW\X'C!}E- |= > (!3/}W [ 	$ mbnCBs%hW5US4$mЏ$~UX   !*?ّ]IQZ\/<9F|U	UM6?"|jŧ 9#=\ "+<ș]#sXT=zg#n|[	#8\VWW/=%!(|c-  ,,ٶbF$=eG|%	OMEE|c{aA"{wV\\ ,<VE\ZQ8AC%B&FQ'</B8sg!#H!nB?(G!}3}#^#>!3o$i?#<w~;]G | 
5%7+2A  Wq}w}گdU[SF!o|~eE   !}	O7TNl5WU !A6     =  
 ?ժH$K$ 2W-= |w5,(=XVW };!=D%)|yMc@ !<"a )"'} u h}b&  yA/3$|"5	!<!3?66f#`\]$||UV⎘AO  }+v @]۵MIT1o"?#6!wZ#9Q);TT^%g"|85MiĲjޯ#<v5Iّ#ATW^/<!FoIaQS@.<g"|Bmi  ?Be; A@:|	yY_\m 
|kŅ%%. (P }X!@ /0#|'yME Awce@L$J$A/=$G !`!1$=BV	[.|KVVF	IE*0R{}[plGQO}!CIqspv}@ "SS0Ctvob#|7!95  <?&11O7$<%@W1-X`۶$~X   %>  Fai 5@(AA@],<@E < U)?W*	@@p`'> (B ?Ͽ  oBE&LO#|g CXn5@vn&%>#$ ` (>  4> "\ &>  %=])=-|.= == 5> )=  Ҷ|/|^+a#<~(#==|}S /<,_?&wP\!?2?oo#?	aimeg|#QiEEy$;]ďpzB#|wQg:!1@S]!=@}%?z$<#|^TTV>>J#H ~%qQ !=|#ɕ|%%<!;U~C|-۴|WT7|%y	KE /"<$}-,8#@I0E@CT?_=yMe.~(#}"<5EŅ ?G#?i͵O@>Eq

!0G y|'QQZCȿG	\^VV]}ڗ}~GQS0:Pvn6n}
@ 0R[OqS$)}-.=  19= .6 /~  ~,<kZݯo#|u    o  k6b# O> 9 (y)5yζ4  (< ``pX < *|"	'YC.(~ ux(= aP 
Nص= ~_W ɀ`!dR1!e  C| o  ?ӆdVnc#<U=aCsUU_@#!%].= =| >  = Z-> PF &~>,> <,> 8,> 7*? U5-> 3*= -< U#6W\a.3!pv %>UW !=$v%vHӳMہ%?/<5*^nFn#EE"A8!<76 ۱6	@8
@}BZ |5%@~6hb3$#>B*nVUUU>=4|}}- nVo Eem+")_':sB;?$y|)ŵ ;=s^?\[ 8a )%@H$K&?E@!}!X%B@i{%IY$|WT/|6PSa2b%%ABp'r'}3R!H5F 0Ev 5!M۰$;\V0>9#W3ϼ%S5+>U,= />7<>>,> C,> K C}T->] -] = _<? b~RՂٕ-$K^\^   >  !? ?I"<?½.%@XX\ ={X\#%%5*\X(^#	5(|Y@'Z0 ` 
'?>k~WW0| Vn/6j[$| h? Mۗ_  b| O   
$!$<>5a#+p!A."zkb$@\"U&#)C-=V =W$O@|*ɶ-۵AuV0}oFc|)Si /!?9ʥAQ#|	Xkuvo0})6*!?ZSmM&v	Y[\T(?|	EMiY/=#!^nEEm <* (T /?4%?A!3}!^!@H׶cg>$|}!W:@@.> ($<|QQiM 6j/F$~>m)b E+<B!@Bρ}ٟ}|PPRS F \3]>!!AX1GL}MB@TG#y[^Tt? !M{;|:`W	V}\ 
6= @	$|D5|-#>~aZ	I+F$<U|W м@G%?Hb,/? UXU>%~^
<b   ~ /  ?>~!X?/"~@ 0 > !B@ (׽ "jcVA![ 	˼)%¦o+ w>M	  Áy %~!@6`#'SHkh#,^%vJ%=b ~+#qS	U@ #|KU(8(!?P!>B_m&{3S's|'TZqM />]A?"3@ 8۰7> @~xm!@ 7Mͭu0'3\ڧ|Q[V]$[c!=ʿ"/" HXG5.|)'=zV>
.}5Q ?A@g  e5'PC |TX[Q /j@|	e53 O$M$OTT/HSM$|D8h	#?r\W  <A$<DQiIM_/ք$7!7ȏ$|<PQaA EUf1G_|}{^ceBpTTTT ':%|M/ٜ[YR\- q 'I?6b@|*o}	Uk|_WzU0Z(c\ ~bn!? Oխ,V_9%k}   ?   ?c!=V](>:)B.} *`+<)\}*=`@	U =@!}<vd#&~9"/ w<@   =-|;c%C>az,!,c  @V^ը#}6A }|,U-T"!<+$<.-`('ۜ`U:O	p!C O!}0U%!m$%ݶ!6%=	MX#r	e?A@!]G4XIC6b%<1"U _!ˏTQ8s\?"2%5#A	]F+3X|E 77$t H||	R??|IMMEvȯ˿QRPD@(>r%D2	$|pU-I;U.\QYX?v$|%!խ"=L'VV^n	ymE 2}u]5 Y]`OWU%VUMX "||.< 	I}e   EgjH@$!A9=Fc0|%%+!%#}IŁ5#	V""? &?V68Pʏ|5s\01,|Ng3`޾]%A|}@
@^\	OMX<SwV
A8:|}XyTZcC܉`\{?6#~	(CvN%|&| @%L5g*5*#pUO\C |}\   |~ ? "?j ?٥%	B; (?q@? C=@)Y!+<@@E'- @@ݑ?G ~<!0!<}ՙ$- g}Á  `   c*m
$<"<,UW"3`@UU$<U:)&>p_>"/,$<-U
R%Ѷ%|%U!&}5! @`&=` "~5$||v!=%<@WXaJb	~&!}0 W\q-<B:$<yH55^P. fddf8ѿ|XQi"+|Su$!5*'#|	E |?5!}H \\X@ &<	XRQa(6ob|AE% < < 0ITIV@ #:	3J5$<֔|C	WW*|څ!|QZ5 د I	mYTWp_|	=5G\#z5M[V
m^a#}W\H6j MRV&}Ă |6'\	#}\!&,ζ-V*~NU\pbH%RP?lncݙ@@~^P!=?%
XU_HBh     |~ ? =ZgI@ W= y@? :4 _  A,"|!=@x AF%@V\p` B@,|<%Mۑ$ |<ob  t i'h_  | n   p ",_k
$=@W S5 ?"h}ٯ\y| ɑ#<D@>Vn#5VRI&~p,V6|2x^!  G&y 7Uρ#@g #|1UF|nB|IA |+#(!t =y O>U%C"U͏$}5R (~|E	ME56b}@K  0}$A?-}  ?<#+/r!"<`0E?3|!T!d#H'@ P|q\V$<1%EOڏDD{>=t;%
,SyXW%=%|b@AQA |ARGOP%U!ȝKPYP    C} _ 4,? }5/<	(<:XV-*<@U+= BӔB ` )<s@ (#< 	 V+ )%!"6B%Vn  p?'*&U 9  @ #<"1%aV$|}X!#2lnv` /k#vpU5I!Os$%cVUY x^i\%?r!S`	%S%<P ̏#9PUO#<%;X.%O@@MEZq@|C!~%AVnV#	AAIM  &?*@.+%|7V$mS?0$sc&>vN$S$%B R%U
"8-@U1)5U5`U0"x '"7!2oYyq(y$W!DMٰ$;|Xpqa /8ÿ~M (pBXR\7LМ!xUv&x	$>N)$6-v#  PCw|	R J	T֗ف @F&?aX/??|5y0%Q[^VÀUF"?GYPm}A!ωi
!g\Kb[%SFc[]rU֜#{WP B!~U5؝%Z
%	!hU   x   -/=` <	B(< ,cp 4bBpP@\(A(<G
6V(? Q Ap`'>%! |ڟ&}< ~< .o0 h z%|  *   8V @xH6hȉURSup'#Rq%v>Y!?0/,$<P[!!	"~7
%i%<pVU#|>}	\0ΰ`CO&}!Ve|#CA !7
"PN+U"|wV:#@AS@	UU! X   FDΑ| `|T2#"8	䤴4ۧ|%PqI\`c	\I`c&U'= xZ< AoFn|qame |7/#~9SY87n#-=  ~~ G}M@ >1 \-ü-UJ+~-e a֏?|C	񛔗?Nr|'#| .NGj	E?O $MS"\1|

|W  5M$><Z$65$|Hӆ(%~A5 "?ٔ\%"XO\`n#]i\h\-(y/T}H$þ"N+}!-\8!l*|    ,<   o%o =;Օ5)9!!@(< GXW*|z	*< X\VW 0~/%5Y!?@\P`'=z^+-BA!%*V\X 
  *> #  ~<,<@NVn' ^X!% @   !b&/"<&OKa"}5qg0^n5#<pe7#>|6@~pT$3"2KCY?Ab%%6d۶%>CV%#Fn|5UrdP	 UVP@|"=B:  pf} } %|WTؗBR[ ?&F!$|>EE+ =>5@<+{ TTR9#?{WVV  >"mMII 0X#Ei#|5e00ovne.f @|E?KC=(Ɂ͜IXVU@?6+!3|e5%  bV$|?"?V9R"<#mU5]caU\[X!CO	+>$<J&<N   |  Q  @%<{A@ ! 	``\W)|5%*|!9`@ ?>> E)"??+~EW\ {, o@'ƪR >6,~<!</A6-#b[& W/?BJ9    ? k%~v  o&<CC'?U"@0	$|'(@"3	BEMZH II%<q|?/#7	y*Jدg|TrAF 8VsW%X'h#QiF;wG|yiM ?6be 5UA_ <9 K͏f1  M]Uȏ;QY\ :  &§}#|:aYYS ==*@~	qSZ\$DMyH|MEiqR=Q5I?̅mc|;sV.i=cTϯ	"fiS%<,"D  {W_)(W-5rXF!?̧l J'%@!?-|N     c !!06b@!5uz#XU*|?A@@:pX\V+  ?E!@5)B@@!8')f-@|!=F_  <FP&}<( ."">aۜUF"?o W(      76b*0 "5U## U~mB.h!@t\#r .%b#6%Mq\Jk\|})$|VZQW&o+#Sl#	EGU˯oQQa_@"<6N%=C?UT /<(o|qmE%}<}!!cMز@8ZVVV *~)m4%F-Wwc!=
 |7	T?+X|<U.<F#|Zŵ{X&Z\_ @e|E<A|W!|WPZIFn%}}_Yo4WVR%BGY(!G,#<(U1O7 BWVU3     r<?  "Zg[$?A a)89CYaE'ymkU  >> R0<@|p` @ ?= ,| ;~<R'C66fۿUd3 9|@ް=   | O \'|"~O$&|evo#|%e$ ]V@@zC)g|N* 5TS(-!Ck	URFo2J|mXtA@1ߴ @|/ RA"|@O' &<@6b{%8"nRa P?Cu5Sϯ]eyZ 7[b!x%50@ Fr$iRg|9 	5%M۰
">TWj&!="}\!|Oűp$KRBɥ 5 O'pUg+
.<   x   -|ʏ 3(A!x[)E)*?"XV  :?>> {%|*@bVXp@+   G> ,|϶= J~<C$|q&|@o9iq#/5  @ '>     / k}X:o%5B!Srjnc|UxU tUV&e)@5VT|o#~TrFZ}\ @[b?G#|xE/ T^Yv a
m#>b &<@ |I#=^H6|#5IZVJ z!36f,	zVA}iU% O|Mw\TWe@Z 2Nz%|/@A,B0"?|%k^C/$|aah|AU-BK98V&~M     ~ ? 3t@  <"??UՕR zp\VU  8| < (<"*<@f) 	\$<_ t i|`G@"}%k g}<%)@@Dcc@9I)@_$ dUG!>$(< l    s~gBF$<@!@viFc%y 
s  \BOW|@@~z%v
N "}A DX 5"8P($|\cק#:Ha%ҳ%}\ 7Ǽ|!8U(j Vs)a,|	'<!%
)˨P ;\- <Kp^D#<~B	5s̐"<?NqQ% s1
?5&$#|	|%bܰەټTTF}%!~g<WT     ż~ ?  *6n; < p6> 9?a	'9?X'~-  !| &< "?'bU^  %(|$!p@ *< c -~%!$|@=     %!2e$!<3!q>$|<5WXAp?%>y`-r\"9`UR  I	U 3m'|	^U~+ /i"@v!?|U^yx|O'}I EO V%m$~B_P  px 1lbH! I)·MA ."3Ɗ$@?#65%|~|%qG/|խ[ r$_!.dۘ 	-UdhmýU/1U\[U#"=A 5IX-"|?$|      &|?>  V&2B!= =!5)|xGʀ`5IJ  > ?%5p +?s(< @},| A~=, `'Lg__	k6b|!?@Fn#BA!A   +@=  @ t5*!>Vn"}xV@$x~@%|/= ,"=;u"`az5	X 8	U/^46|[P%m@E
^7@M$;U$%;UFuB$<_XF+? ,  '= Gݶ- xUʏ5t|'{	RC\knc|'??T}B?@?AWX?(BK5(|EXE7b    Z    6Fob o>Y.~-c !	ypPX\  X?.> r(u@(< a@mk @s@+  7W ºcW z=&=@&%pA}B8)WW   K@=  0  
h۶m+"}<ğlb M"9!@#I :!D:M!6}!ml#<{SWX&>5BUJt M
m{%VϜ`` ;Յpmȟ]"?Y^!BU![	1|V`bO^510x!<{EH
@A=\TE	Vk5U ɝ$r|UVr$}!	]%$'''< )@C%:R      g|?>  `c[U(!]k@.|-	*|8A?`ܗ)|@,c'>@   Z (nk'}?^9V\(Z]?@"(|G  P`. @%4 vGtAA     r|.  Jb"~t!o|Wz$%;CDy|"~|*^]$<~xU
A8&~{->!??OQBU%BV\6j#<APW5$<~%c\U^sT AX1~<]@E,@6o{	XI%'.`T|	c%W\B/$XI8c#=cCUT-|I%|AH#^	\1I.I"jq'Y@A- L-!<x}z      ?> w6o#gv5"Dص~*	   Z?3? *'@FXXpp6 A5 |=DBHWVY@-}!H@}8B== Pٵ   5  P d"};!=Pf#<WUKhR	a= 
`!)&={pE|+|!|D#|~|p̑ ;cX\%FCz!}&b AqŕգAԿ U^#"=|W\ZqE/6\}FT!|^I
>U .lWUP      |  	n( N!>H >"'7u!)?R~+?  * 4 i@a	@ (<! pp``,F,=@ pbɥb F=!s<? ]A$?UUW  |G ɑ&CZ0 7~,C&-ۅ   R    FokC"<|e}-U#@i\Uf&#b["<%	sMU#GIA|EEO`     |  0  o6b{$<rt !"u*\>!w55%'wyΆ1 ?E) v? ?!G@ (< ``@@ ?.> ,>@ZAW P<&݁ @|;2j5GI$!AW   \           O -o #>_C	)< `ppX  };A%@  @@,?7k,|!> `|?,@cc@2'&<?O!C_  <Ra'=w>A'~ <>~ : '~	m#'?.'> *> -  m4:>,*A~   
0,~$-! . }<-|.| (<	(=}75'< .A A -<. ,?,7= 7=&=' .? ]      (6b[@sUv#} />51 c X\TV  ?2<,?IJ /? c> Y!0>   hz   e#6o"5ŇM`v5sII C k|6Xz76PQSS <56j#6b# |@|Um$$	##?@5\^#<UTZi /!K/^@U5qh}V5-|m?I|* t۴;T    Pg!|Fn~3I %C _%m(a)g%	XW
۴<V8By=k; %hY|TjI"=UIK`|jEMM <Mi;iTM#Mi|V $]Y?YVv~B (F R|\5  |KFcFcC5mq!pj 		|r}p^ 1e3 a:hg	\Tԝ}OUm5,3TI__| L$H |D II'|AUH]YYCOG	 U>?|h5,a\Yۢ %<      Fo+gUtC 4U!#5  R^WW `$y'} taAv @ $?)~jR 3?-S "Jbne}6 >"}   }!=H ",B  "|-MM%u  !n5qqrX#?"~.SS $?b&?@ ?"~=d6
WUB `A5^ U%GI7 0|@ !#<2[{gq~(|5%%I$	 A VJ"~ѶWANzk@{WV <!?n&?I@ RO#<F9yYBUIn =W!UC"WT*<ا}{Bj  4
ڼ7"5B #|#|6WYB$"~?  ]@%)  `zUz&?MMMM /%5a;c$|B\K?H }@ ؁%? 08i/%P7 Pf1  aakz?%ͥ_E̾Xp bd A \?}W   N$HVb+5(m3}'@  $H ?*?pȏH }QC W灜1|3~1P\/\H KB ]_Qk$? 3      o6b  |5C855*|x@8XBt\@30h'? <</?  *< 8@:VN' vy@GA5)?B ?Ι(
g<3_!}_-<G`n'U$}@c	W ',|Ƴ/    >vnh#?URtI%}8 0= ~!Dn]قt[\V  =!16f"3U!roIU Hsjk![^ yՀU?۰%TVW  ^h|7ImU)#:y}X/|`1ZQ	U"C_}|  <#?gB?om#|HU,3P#>!L_0@hi%U#?/#?e~ 0F5!8 |K  &$"H֋C!9 )|/(Mm?\!'i}x  =_#=$Ak!#	 ?<!#PU6 H$?( hbY]癝كI~1\}Ke^$#<U_k 6       @&>@ <@CC?ppp 0} ;'x4L\#?	_Uu6bȟ W| < T@o)1gmy/0?!}G'~?_3E3A&>_ 2|X@!@G/66&U TCw[$ >7P3)<@ I$L'   >*!qf@vU_   II U     S> !!}$>BTV       `n3%">@X@rAt!Y r FAU &_^p,50.DA%x#b ?>< }GBQt7zf1?>@B9F& U(@`¾}}*?	$v.`B 2l%<}U &~_a%|] ~y)<C= '< "@ɯ+@5h#@+BɆ&F&H$?@    "  o&B y     U< 3M\GW    @Vn%v U9fU?c x@]g f!h@FW '|:Cj``(@"|TVTT''&5b-&}@ԶiV$|>,ܰMz_o6@z!}Fo .>"55*_(<  Ăj ɣ  ՗V\<" BUƑ|/~=PT  )&@)|C gC      !>Pd))i T"< 
7'gf1A_~      0|ab|UEZ 1UR@v>ȏ|]p!]#Ŀ7]"|~UV	0)ypa"1Hg\  _bS1V0*6fȯ|	<8?m,|z` p UTT5F
h \'	ְ'!XSQ. s\!|4!`1ր@1V%+4?ɗ|'IMۖ$|!	ؚ.!,|^{xx. hVn3 	EE "de)bUÝ;\0~&//\QQA "};V1(P9/V= 	%!zi$!aUٕ|Q^R^P/,,P% _& Wٕ#<}]X. ]\Y	~;}!_	ݕa۴=ۿVT-<qֆ&j?͏|czfF>SU     E   
V1,y 	 +9
')``<!< 0  6_Wm[6bCcA~B@:WW	Vc%?"<!>@z!l&@FD+*=}!ZeP`@%}     # *?{A'ɓ`A>0jyT1|Of<|"<0	qfKPo|	hU N'p&|WXPR. Aa1  ؚ["p ~VV/(."7	18Fe}M&V
 3<o|
l?\	#Ï}ځ-~[^0 B?b|%	ᱹ3IS+"4[$?RZZ]. 6bFn"%8	UWZ9ןald 
!A!B}! #!>;M3TT1|PH AEYO/|	{)/S^[/~j|6o"?MRj F2Fo#|A!Ʌ 	 @i N|<[. %c6c|5%U	  Jy}W Hc[S[	XH |\ eɘ2 @  *YMہT$!!7j?o|	e K$K'TUW     < /  eb!;>B=! )U(9ū
  hhxx$<#<`$<uFn | ?  '|@ %]ؙX]=&#b)1 )<Z@  "|V\
X h    j|              (,ò9N~A6&2,  P#I<U)?u$!|9pPXX-}ف]$|3$'~UtMbh#6x1 g=?#CR O:=`'?!	@=)oo}(/?(F}5%<!<G\P`#=|	_]}-~1,}->	), &-<	                 -~5!!X"9Cj5$~~&| y4F@8UU؂]c?`|||ۿ	F !&8f (?  )> D!!?"}XB 
!3ֳ@?9	& uAc %MbAu,p@8`k5^tv!)< n)< Yi*< 4O")<  '>`*>%  "FoC}'EL#)?"|F(|F}*? Ă`!??AWV`A|CjC̼C-(	/*<	sI|	W \S!ȼ[   |            p  ȶe+ <<%=>C}5(6bA 7(= !8*w!w?( &)~">8,}8)= ])|{}- <? X!9Jv?Ăq+  va{&=峝A((	   F
-< +}U(|Ip *	*+?
(?	(\/&!ASRE?\$HUW_               @ !I#!7Y$~7z!7rXT&!>(=@!>\V,}6-! <8"9^*U+ *|@_
/6<  \Xp`٧~__  :Vnȯ&|(  	-<GY-j+^W6*)!I \w'IQ@@'|"GV( XrC')Id$>       ^ &       0!HxU"2Q  < "6")}D!)ucrbeA)< "6 @f̡  `P*x 	)aTX" A_ U,= U*>  8~ Ƴ,> ū\P?  ;= ^ $>HQ?.}g U * *|GR 
)<I 	*| X\(= @*
 WW'A"\-^BTmW >M؞__                 x > ūB$*x(}e"<6@  < = +}G'HFĝKx*HIA,J < L H $        ?    $   6A,@PraI(6"18>\TTV  ?+?a@"|AqR\H        ?        6"?v5)	{I   	?J%+| z <	        ?    2    ~]  |? =	          ?    2   W>/Z=5-07>AwIJ-< '~(B,~ }=}X6 )- `= 6= *	Bx<5 ~9 W6| |5= `,~ >	1<=b%T6  =-< ~+B<<	>< 	 =X-= 	= '>e)x-}        ?       G?yAU%	(? R	)X  ybx*| "}1V'}2 @ ( Ӕ@ 6>+=a+~Z,~.~,|@@01* y]`@ '|/9yֵ)(^`Bq@ '? y.|Q`)||#WX`-B'~Y ;0>> *<  ?~)5%(Yh(~ U|VT7~>e)0=;?@-*>{,=E/|8*<:<	>= \i<<= y-<|  iJ,^^p.}G        ?    r   7?#zՕ(?09y!p'1Q (Y_ (|:APp``6?.?֣)>3u,|]\'}38!5Y6? ;?y-9} )~׵.9*||\XPp6?!C~@ +>VB/(<j\!<\6?yZ @@@U|.= V^`_,~ 	~%,<B@~)\\k ?"A xX,
/U(}!?' X,<.?yW@  '?/?J@A?=]W6?YEn8΢%5*}O@)~MR,<D        ?    j   7?%!>+<y)~w8><#1(<;@@`U 	?:~,:Y!r@): _?=|A*|6}p)|D>?s9T(>|g1_(~U*>2?* < = ,*<Y 4*Gxp-<z)| 1=*iJ* }1p Y?- ,?y%):|"}D5+|Y*VTT        ?    s   ;?-?*0X 3W-= U)<  ?(<7A,|s@` ?*|6|`ppp ?9*4#* ? {.=  )c,|(,66(e)`@+ ?+I+? u?>= ?">O5(y!À' Q~MVW        ?    r   g?#*>;U*<@@ ?y!~X- /*? s)"5`pXV g? +?/ +y)\pPX\=?*VV+?յ)> X 'VW8?s,?%)U9< "xW2DY!>Օ(?"¨j"6*<C*~nk_)WVT ?y!p 
<}U)<H3?-}*? !)=
y `'A= C        ?    2   g?"3+!=	(<s`` 	YX*<*=@),|2 _?":x$(<  *!'>>-c,2? ~)|?}V(> ZX  8!`\+6x77?!@*|E"U6< "?\\WU |5%%))*yv*>*|"zVT\\ ?v p6Y-< TTW8Fz@,}*)< @'t-\UWV               w.1 ?.~	%(<<yZ2k2 a?  )|"5`-t9>!)w]X-}= [9*/|z+k,XXpp  ( )@Ӕx*>V\3        ?       =?'Y@(=3-? ?"{,2u.=xTv^),}>!}P8}2?p '><  +} K? y$!++"ƹ U-= (IA
c@ ?A.<#?+ ?|̙	)=A`-=            s   7?b.z( !}*)v9.|``pX4 @v!Z	*5 N UA;!*)XpX\ ?R*},}.= CUUj@~.{BB)|#?I\\VHG%%5*@ ,?6?+յ
)< ] ,>XX# ?} 	R]eWo7?Dpp <WXX/ @A*~Mc+}s            x  _ @"15->v(?  )y*~@%?)R (?a"?^-%( {@(xx*|5">u%*s"E7) Q"}j(>4!*mk,}-{]U-y^ ? U-? }8$?(,|>= @z 9]3)+>0yu}!7<"V8<."@ *<`^U**E).
 1* =y-	%?@A!?7,|.׽ "}^        ?    r  o ."-@)<@) }Xq}-  -= V-  A; >< 2})< W }=>= `"}%9<}9}==T-= = ^"@2
  -|
} =Z-= )  :<        ?    :   W?     <         ?    2          ?                  ?          ɯPn@$     k> ?a'|صm!?U       h.                                                                                                                                                                    g      2    M @         <         <         <         <         <         <         <         <   `< 'm۶        μa{b        "~?a;-ޏ'> M_        L6bޏ'|6< ܲ۱'" m#        | an'~;O ?ش' @* ư=۵        p"}>e'|>|  ?-) < ñ]۳ ( I$I_       6oH  > v i=۰m (vn(|b)"M'       !?6' ,.׏] ("~I'"_8B6$       ͽ'|\ |_?= ,ȅ-' .@bac ݴ}       
-|_F 0~_s UU54\xU<*|!)w۱@ Dc{a'|! 	|b @)< 	-ہ}       ڶiFn 7< > Y  5%%y  UVXpK -2o ' F       |m[6bQ ,|_ > Z">@U׵ 	 y ` ñ?|UUW\ |`O6n;i '?ف'G       ~Q@> P 1A,>{U}'~ 5	 '> Xv W) U &|@p`(}ا }`*>_^!>` =0=ہ       n~`}  u~(< bU-(B  )>u,= *?	) PW$h%U5`YP
(ӿ_VTT |  '>$Av'       S~`B>n(}{ A%	(0 `(= b!?'>v U(~ Y -'| XΪ@ 6< yC1(< YΆ1'}u!?! pVu³]UT!A  Rp 8c!   | Oi#vo  ՅEaسMۅ!  WV[S    -\F ?|,^y@	]^(?  X@\ %(_y5 !^TWU*'< A* Y$! `w \)!Iͅ%T#|= >` ,<dD :,`ǲ+   Q-|2|	QS\V}ؗqS__Y    #!?-6o  =!U%(T) x(}>\!9p R U)@s@V*=5*< WVT\)B_7<kF X*&]  Aiw#|.նa{K;|Ֆ'~VW+ڏ"?	Y]iMжm6cU$|/	VT   | = 	-?-!<- ?~i5*~	(|ԂIx`* -5*'< ԣI@* !?(> [`$_}XXV6<yΧ1UB! ( !ϠXPR.<*<,w+}F C < /A  xAM %-Q'&M. @֣\9"|?	!8L{|0n6o"2EE.">~Ee  cH}@C=|SnKc/>S6`315    < &e6b Q,|_a	)>*<~>< ݇Yj((`ܧ'!</;Mk!~@ 6|!_ a(X!Xp`8   rcaA _ /> :!Ï   :=^h~a#\ρC-蟿|i%"%1bEwp|y7"M}Z!o6nvo.3_?}!O.Fnk[|	I$<|RaE6. -6b[!|Qx)dJb&|	C6Q
߶۴p  o Z!?-U(>Y  ́z pT+5%'>a,c_VWW:>%(|"`^U8@_͍ L?)B Kp   )Jb|	"Op"|?	b9
|[T`j. L߶k|	Ea[ϯ}|MY[/!FnH ~EE0? @}$<p O$K$#_VTV!$H||bo|	[qEݲد"?TTSI.( +d| iN 9!  i.ЁAR|VimE   q,'`    !^	5 @ @!B[UU-~(bb* *8A5'x_WXp > )?6   20m|	1c|	4$4|Z&˧۰$]	kTVUHmk/|	U4?|ܖ5.$}@b}V0<vn6o|!?E>}٧#^TRQ/> #g|ŕ%ϟ|TQ&TVVn6h|		AUr V |	mZ2}|	fƇ1]ء|VZPx   a0"i; /~B9$|m*> 8< "|`pPP_A'~PT_P 7~1_{(9C'>c~V\ >  $= <    ȩ?$!  ]y#|	TԴ||[jOO-|1"<"~yY^VH?%?eIQQ>.vnn#E>(?!>|]mu%>|}o|	\ZqM"<ASye. 5!x<"< 	a2}v|+f9\#<@L&%  	 } |3:cn ?~"1,= g/< "XX*^UՕ'~ y*_P)  /1,>8Gvp@AXpc ,~`D x?XI5 ~!|8Ib@| ^UxUUnP@ U/= ,< |*> , A* , --> - -  O< 6@ 
 
YH]$"uV\?<|/!#}xXٵ#?	aS\Ufڶa;6n|ay}VC~ xM$~^T	.% BP!<~Ix}	PV/>a#|!;Y -| p/vo6b~e@c!>a]c$"!8@RSo6n{|	qe"<`	%5p|
%5eMc;aۢ!UݜU?\ ^  
, :H+ C+> -=O}_? # 5bU @>HH|pPUU  vo O-> G\)_">u(<Ya%	p@TWUU GyA)8W\P` p='= y >8
A+t6b&})\M1\,6XcVUr$~W |' < Dӿ#	eEEM ɗ|	;|%	PpnTϏy|+MÖR/!\TVnȿ#?}!?> "<=55 H&<~2<e" a0۟qگQYY |WVVT>P}|!|/A#eC#}J#<!T$|YYMeSKb$|`%_" 	X`D߿ |Cw˰]۵$!!8V"cZQ   	?K5)QsBU{p^M~3XU |>< %Ko  ?= @>5	+?ެ W<"=)<BnkA*<@ c<`5?   o '~!2@?Bj$ &H}]$ɗ||ԉ%Ib  X}U-= => ,> (^ ,> ,= O'|! Po|VTXa>+?ÿ#IIMeN(}_?#<[
jm T`\	fЙ
![i;}W!>}@}T!¿%f!|ee5?}μ	yQY[|	QyME ȏ}X _?|	YiEe.:a%!{BVA  ~5CA7"}#; ?|	A_|d`P[yrۼ	VTZ}Q7?|S3||	MQf~?a#!	+<-=	'	  
== Y}^SV`&.C.D"&I  d>? S]\M ar$}(|=_\*< CcrP W~5_()?"bXrmu _ ?؟}$
R  AA #}^H!@%>WV!H\ $;z!v !jU55r l#<aMsU6o;!!#?-3*=}5@JŁZ#<YYh_	e3_|
6f6bN$#@k.~$=]b%>]ȟ#T\a/}CM|	\\VV$|ߜE5oFnqmE?>+5CNO$&~4F|;e[:|ۇ}V^-՟+6f߿#$	ԔVn"|$}} T~!TU0~SuϜ#M'-]}P@8j$ey`~;o^$<P%}T 	#=fY\O7؜+p$%5@CTl|}r  3< > 7W!Io `!)"|!?O\WU [}?-<@	%+V\P `D h=6!0@!H '  |`?*~` A*||cݟ\]F5|WU?SkbC$a_"<9	UU
Nm|	U |U_1\U4Xd
#>7^!=/G%{bUXno#<aRR$|"$ V0|"`|	9)	Jf"8Yxv#  /G_|CAAI>>	-}%\#'\~\+$@]$|"}͕!'.##<Ķ |9%z]<</< bO|	)	oڿ|_yy:?p.#|		`L|7~zRZ.>v 15m0bqX7A~Fd}_ס'B@(
	C	rUXc|U`'/1Uj<nnGW_6؜Q+V N$U!}B  c< > !! _ ~%	(?!pXV w|jaUu*?`'~$< P},~>
<|>Jvo (P  /<6d[USoUp$<'%<6/>?6U%?/,#	ibVn|	iU@.soX\ |%%+?}	\!) 4r""|>	%O?C|I)$|!W$>: 1
F~$?!w$UBUF @  %)#x/|=?$<~iEG$~VVT?~nQR rYS95#%UVJ'z~5 '|ssRQ.c^hC#||XkU|PXTV/?$<R5ç-۶FkTUʿX|X\a+/,?}FU)\)ʰ$]mJV    < @  O׽{@$!`(= > cs w%5(<`"? 
+!y` _)~>,}>#-|:%Fn ,!.   H<=Xn%t@6`U@6h+|KVƢ%=zVW$=}7`ƃ%@ 
kUc1ʣ  bO0jO"?	[|ey@ |	X<?S"< 	%<t?|&ymg` $%=]=o|\_]Y.	$/|]|5_#ePRaD?<`Xا}EYY[S-|:\hb&;\n|ȏ#@љ+&>XT#!Z0#|DZQ/a2&}C\"%bPi/o+M;{VlկPU ||  |> @?:k{ S<%i]*?ޕ%'<!"<, w,`'B5IJ1U _A
-}>-/6b'q$6 > q@;4knc% `!X0"x|Uz'=%|;_2\ 	%%}Vtvkf|%R# 	22W"	%?|8S%:B>Fwmn;|qi>	A%>#Na1^$<|]۳$Z
_"!"$<	2@@BX4'(|53]ؽ$<ZR~{od\\qRv!T^$<U	PT6H"=B!c>   > ?@'}& 0=|[*|b`'<9 m f> }b!"?%  9)!|9\,#=56A) A%("+"ܰi;%!>@#}`"<;	WUh"|ARCN??Ϝ	A5WX\/'7|	[xL/@ |c$VP/W%-oW\qABQ\#MS0v ybG_#<cP8a#^M!bZ<x C	`V0 
`|#kZJ!Tm3%]^$=    ? $"= /Y΂	'_#=y Y*	%6*#WV9 a$?`(^Q  >_*]1-@AXc)|)3o0)<  p'  2Il&A@~3to"<`/6	U"?j`> !"`	yѶM?$? C%
^UTAMb|B56d^! qa$!°$<bWUD@	%   baV?"B	׵iP =	|^˪x  : 	
W
Џ|ZHKRP(=`   T< ? F+ /}Yý5'|\y,  *pX\ x_>> .|R 0P+}Q ʹ#'^ H$I'!Fn#C } '~>^  7as$@&>##|^2Rk@UU,_`+5N#<ahXƁ!6Hb| 
VW $!AH| VK@_?<Dђ"! U\"Pt#~!N
r|W?R`c$=dW'y_IgÜU@%>%p\U%%<^  8  @> ,>`,!-A)?!)~_	BiJ _.< |`A``BB(? !	 A!oXpB M 
Fn)!?go, ~+_   )~&<a)6j#<> xU+M@Um?">`UUQ#]I&=#|!RTim@c{%!@.'c|2q#<A\^#h$"5)	"@UzM  Ӽ < Fb/6j(t ,|"\VՕ)X  |1C6} 9^͵(9W?|<=.o0)@$#vc-},>!0@  ta9C!@ M\"$= !< Sџ&>QR   > @<@-M)o("[5%(_\TV _   ?&,=9 <vb*~,~I!	m  I=`S/@ IB$<{`	 :0w\ $${J>>Yi~	c@9޶m '>	 ؿ$>_zp>=\Up@:_$r$iB>o7ڝ	 
	e)~?3_-Fn-	P_-Mۼ%0An%>%5¼_پ^\. 1&|_m L	ۼ-}}J8CFn#e]-	M|dRa   > ,~`%o	f) _ ?*'  0  
/!\]'   3@<(?  @ /} ,!=G/<'?:h'> 3v    < ;oH|Y	U#i`U 	QT
c2ll-#[]X9%>  ;8v°nC|eUO' ],RpM?}?|		 Cvnc|_xeBPZ^_/r '/  	YXg$!!><I\	N99%NNnr> l!3n5TΡ|^#%)UtٯM	U\[/=2!5||\5U??|nV:滼'+@ H$N8C$k|	eeu% HH$ /,}'C p   O= = *> /_o YE)ACC&,? W\R0'?2bB$ȟB@`*|[j44'} 4> F}'=CFX!~
(y!'|8A 
<k6+>>07)= \ (<_6=ۇ  $Kb$<<J Ib$~|    < 	m`J   2c,/6by  UUBmB      ?؇=<ޏT -> 'P'>]$b$$= |	 +X@`@ $L'"}@ b?q F Հ6j36os";	5 b28$"|	[hjVζe#6oŵ҅}ڿ:YNl ,|	ȹ|	kJJxW6j/b!"<]	~|o(6h36k#(%jȦ1!_u2nťE%9|j`hz"\i%\0e|ZN O>4U(}!|I;@@	Ook#6b#I=|+	o`jza;c-^z!b]$<!=7V'xn@wհ=۱bV^(| 	. #|	0MThL"< f H \=W   !~&#4~)^2)~a%(<jbUh$]\n(=;8)>;v 6 '.	 M$z(!>3B%%(?@ ?Xs'0%'   鼑    r< ߶a+ޯC߉ȕf"[|`'^!OL'} M$?| f̥"<@??|>p#>?*> S,`+A`*? S+?  ?;~e#
p  @%	(?&ĩo &}`Pr-?s'^%Z U^ t-ۏY  @    2> )^ '>\ )BI (> )[ (> ǽ!>My'"??	+nF,(= `!FJ\*|H	6< f @U
ݴ؟ 8| < ڀR() @(,=F/}@^! -("$'<!?Apz@:\+\ZYU)P^= 9~I       g~ۃr"<|4$$**~ TT  O< "#55*$4l' E  >  H        /|^)(> (@? /> e@~pX a|      ý>U_'?~q @z  += W( Q {U@%%+? W\\6|])<~8>A
`!!y5;#U	'~s~VTBU,~  +U^p@* 4}!T;?446} YUp      @}|``*|
%5(a\XX^b@@@* \+}\ _@@,%)|~\\("<"0|( |*?pp(<^	BA76  + )~|\ 
<B~*VT(Y(c(T)$ `@+ ~TT:f1BBB* )~%65,=)~9("-c4!      (B:``(|T,~9UW'b@@+95%+= X Y*<Y*;*Y( b*?Y7*XX,<Uj0@8Ϡ,>Pp6u,<Ά1BB BB+<N *= 5)+		'?Zt      ~/,8XXX+ ,~>;   ( GUU*_*Bpp+=x**<} )<}`9?~%5%*=A)<|``@ Hf1+ ,? +#X*pp`@      _U*?``'>9~ *<=!<?)?b@-~^(=X~!<\{A@@,=?)~  YV-?7||*"|pppp+><Y ("U:_}* y	(+?׵ ]*<B@`6|/Y *< \)}f" -}  *|#Y66&BB(&9      ~	%,x*=!}X)~9|@\)߶>Pp*= +||*|)\@`UU<,pp8 v|-} )<^8 #,>TV,		,>-)|>^XW,~B<~``,~ 8 ~46, XX,> 	(< !TT      _   	<       S '=v$   < 	ɼ               <         <         <        <     D    M @         <         <  < mF|    ʾ[6be| 0m-۱' I$I$    =w֏(}"(| Ob۱6}A-~!?!    jPH~6> j (PHz6~vo'?    Q  {6n'?;,c 	UUI>ۡ &oo6|2ҳ}؏    :Sa;+ޏ 1|U[PTXAyA۵{T.n#i[6~E	_	    *n?~w'= _ 8 
 '<  b@ ^׽  \Prb.!}/!?'|/|7<'}0.    }0d'= 4~/ 5%}(|A * *ipyv '\} ( pZ8?y!XW[Y5-	-Owp    !ށ}ڿ  X>	z!(6n\E	Ee9=۴ۢ\TVVW  `-|l/~r$. 	'<āX@	'> ~Dj_?UTT(|! PPpbӜ aIMEC'4e#d 1,~0!q  H">8m#|y}AGݵT&Wm{j 
!"ƿ  }XYYٱq\	WY I$xB<|UTZndQ)T  0C_o><|}5̪@ (< e@' R_TVWJ' \Ņ%5 | < *)~_Y ~G!g{_6,|ql*^cؗ]|	HzSV}Y@ |}	YYmE+Nlvo|	*1 I$N'}SJKnV|[:$}GUZS   !sm> %\(F0	*X\'|!Ab ~ֵ_U׵_\R` ?<=ۇ?_ 8-= .<  x|B P6lߔ  ~>
ڴ~qyFb|<f5 H~$b|BoQQ(?|Ee5#cH} U,||O P|	(C_@^|ká p   (>k^=)  @HsX <|9Y	U(|@Hc  7  + '|0hbc[7(Ij_U'IW0!\UWA||]@U	+? I-} ,|  >  x|	[]ٓ*0t|j8ɱ;6.#<?	d}|GM]Yj$h|	U-|Yx|f$>6A\=]ɺ$L$}U!@@o"	Yq}	^q:|	ĔQu|	ӑJFb.|)ytd @:, += c9;Ue_m#CJU 'H~Z\- _|_/ >u%Y!O^XZ\ >׽+aVT_ <A'|o6 ~?*}0}Y 9!%|c||evKb\cֶXc|_	 aԒ$U~v $\|K_Us)= rǝGS U[.)pg}[XVև{| 
әu*r0g|!%pn|sQYZOM16nvo~e  &G'8|nCɝ.ُcZIFnޯ|	eiQ^CW|	=eeT|	C#۳.ȏ|ddz_w
bՕ xnX|
	r ж!zs))+Uv\@QԶ!l|U5vI5V%#~VU a|>> *!>m  _W%ɣU\uTWUU >X#1'=@v\WTXp <	)O
6b[)?s	83!3 ,& Z>qb}\K[oO^<8n\]zUxRL" ?|a	(Uh248|	^ze |a	5REo|	4-'Q0}R xx|X+aSO|	rU}`?o_|%%5V!8OTX?EUu%Z|	YG|	OR||?\T'	3#ejx(Wg|U-/xRT)R 
Jm{P < < ȏ _7(<_$!Oa '~>4$|((|A@r$!~GVT ~,<	Fn#)>S o6 " *6b|W|[|yaxa~>bn[|[Uxٜy	]i| z&gp^C!0R=#=_X!@Nvn6n#/EEŕ$/||9D̼	TXZU?üeM4j]#}	%(Ⱦiq|	H1}#D|	&H(
xV %T#ky| < > (n 8 ^5*<P\VW 7N׽aA5*X/R '>$|+6}0-heLo0)> 3Rf'> 
T"=Zm `	^'1!Dfg 
8U.!@i  C7T"- |	h I$O>|	UVKc|V\7~3",	UUp@]۶a"-	YV+Fi|
n%Q߿)\s/>P^U'l|5}` < > ^$Un$|&.-k,! (^_VWU 7"	+XpC/<?}o\:'},~}y} ~Py\)}o!^=@o}"d2]AD"<-l;)LJV ۦU!$|!#cW/|	-5I m"1U*k~~zT  | > M6o;."~(<."/IAa ?|n*%%Q!=(<$X],<_ڰMۗb*,/)|@?a >S|m_x$|&~_6`=!R$<%ORo-_ .$mvcH}]	C) [gۀ|!80Pѵ^a#}V^]	kBu$<a~@$<AU}-F}	#X 5-RFn#.=T\qSRPκcrK!_Y'  +=,|<'} $.=ܽu!}!% 4N@'N;OO*<!I$j(<!s <fk|e	/IҶ|eTT 'c`f!|-	yomے $<<  oȶc{\L^!5]\'He!QLx&I~Ș J_  I~VV #omK|9iPPR~I}&RZ~d\}o!}o|Gd$mAC0>IV~MMM&=@P }!((^-H3'L
	#{Y|KVVjJ`
 |8 `  'r^55|?-  ZzjX =^%|f <N%>?		Eq)"f)n%>=Gf^FFFd\#N "ͣ%љY\	~OY!G0
+%>0 N\~K*/y!Sp'&&)P\"ATV $|-.> ~6`F9ǋ|	F    YJ	!p-f"X_a'|0f*< 1`*< m*<  46of 5 @_)"OF#""!\pl~  /  @! 	h  =bA,>dWrRU G?>> ^с  < S H    $3(\Au (|bU*}UpBAU  ΢*U(<_,(< _	J(<! P^']5(}OY"q+ `(= aaaa(|p  (<^)>]4(B$p   @ *?X('!|}*A`PR*=)y)!)(\(<   JI*<aUXXU*<I( *}@ *a)"q)"*p$ 9$|   #*}  U*|U*?cAI7 Y}'> -cU*}\  +I	'= _UZX)|!?/crU*3'? !`U*?a+'> ^  +$4'= \X   oo(nv$ < (ّM   @q       <    @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                	m۶a;    ն-9    
 I$I$                                                                                                                                                                                                                                                                                                                                                                B6n    E    .۰m    mf     I$I$                                                                                                                                                                                                                                                                                                                            #a;n             &U  U[m۰ۊR  UUUTo    &ɳ}؏                                                                                                                                                                                                                                                                                                                7˶m۶a;    Ώ{  UU5               d) bRŇڗu  T\VVvn6n    7?    ۱                                                                                                                                        'նmȂ  UUIm                                                                                                                                                :϶no            5        \      ׽  Eǧ ?|  ZQQQbƟ              ?    # I$I$                                                                                                    mf  U	pd֢  i:  ,$f6]  T} I$pB1  UTR`                                                                                                                        !Ώ           	%U      1                  U  iͅ                             
ı}ڿ                            :m`n[  UUmIA  UU Xm$b  UUU    Ib  UUU    Ib  UUUKm  UU%0  H,ه[  n[ӗ8  \a>  d K&bR%  *Ȳ    H  UU\    Ib  UUU    Ib  UUUm $b  UUUmIA  UU %4m!ۢ  UUR                                                                      ACaR                  %      4  WVV\          D'9        G۱}                            Tc۶mۣ  	UUU$5a  |Up$Ha   U(Vm%6   @-WM_)  %!\  Kj2y80b  [&0   ^[Qyh  c}+ȆKЈU  >!P@  \޶3
`  *PmKۂ   U(TIm  -TUH)l۶mۣ  pUUU                                                            3o            Օ      U  PZTW                ,c  UUU        PXRc              o/    kC     I$O$                                                    ,{Ff۶mۂ  !UU}'aۣ  Ug5mj+b   	 Op"0  ֚*OoA  IeT q&  kkPRM؂  (
bPmۢ  >XU!ul۶mb  HUUU                                                                                                Lo6n            9      s  TUUU                          U  áQ  UUVU#oU    /eH                                                                z I$I  UUUm۶-#   UUUSm۶  UUU6j   UZ3mʔق  @ \I1  B+Idm  V!~ K$I  _UU!wm۶m$  UUU9wm۶m#  UUU%? I$I$  UUUT                                                                                     I$I    6o  E%@(WO4#j  UVTT          !XEĂ  U=  QSR\TSnm    ҧ6l                                                                            fvcmۂ  UU2Ҷh  ƪUQw$h  ֪UKΑmf  Z"U #IF$  h PU Jж     @ UUwF$Fhۢ  i U)F@b  U 	m$    U	Drl  5JUq H$I$  TUUU                                                             H         J $    Jkv$  55U`$I$f 
^Wqn$  VTUUJؐ$    J,I$D  UU        J   \ZUU J $    1۱                                                                                                                                                                                                                                                                 II          U!%      UaB      u[<<<      49
        Bp`b        !      uRvcaa                XpPP H$H$                                                                                                                                                                                                                                                                            $Ӝ  %UU    $U  UU    $U   UU    $  MmUU    $q  bBUU    $Ӝ   UU    $q   (UU    $  UU    $u  R{UU۱                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    @                                                                                                                                                                                                                             ȶm[6b    )    mۀ                                                                                                                                                    A I$I    3  UU%	 Ҝ  Wa@`G΋    ym۰                                                                Mm۶a  UUUR                                                            4ɶc6o          I=     P  cc         2Շ?_                8m۶  UUU I$I A  UUUtm۶  UUUI  	ڣ  ]ث  TXR I$I A  UUUm۶A  UUU*3m۶آ  UUUR            hvn6o            Mi      Q  U        WVT^$#`8    \ۇ    #6b۶mۣ  %UUULKbCm  UU0Pk  ;@[\AWWOE  =eFG  O O$  RU $I$  TUU                        |6n;m    zh  q[Yyz  UU  P\TTJ lm                            4amcۂ  UUf	Lm  U    9j;  h!l
 f     OU  WSL  UijR                         II    % P  U'Q  `W  '0  U&  `Y  UӜ  UUTT                                                                                                                        tcm     $     UUU $     UUU $   {  UUU $      UUUN?m|  \UUU                                                                                                                                         Mm6    G I$I$                                                                ̶mi;    Dx_0  ]ℭy_    x I$Ib  UUU\~m۶A  UUU*,Ŷm AEb  Ue+~m۰&b  UUT w      UUUo IDI$    <c  \6?GF,k  VTTT/۶mۣ  UUUkbclL  4   I 	  j  Nm۶mۣ  RUUU%Fco0  %UIbq   U O_   ^@jU                                                                   h@  UU%۱Xb  UUUtm۶1A  UU
 ?    D  UUU^b4hmσ  e0٧Mb  TPX%bcHmۂ   UU 'I$  JPUU     Նxb  UQi@q IŒ$  U*U      GGATCGVA   HMRaGGATCXAM   GGATGALF      GGATSFFO@      ;  =T  D  K  R  Y                                        :   A  )          <         <         <         <         <         <         <   < Q @  += U     A< Ѷm۶e#_   I	  ==     @)   I  =nN?LTE I$I$W   Q|
    }    Ma;6o~dR.< h}؏|__        *r"~_c|UlO6.< PII$    <@    8vH~ >< Hų۷}|WW__        viF$~_ .< zχٯ__        h!?I$|_Y |_ < {ȏا} K-<Bm םu    <<    4->'!? 2ʙ 7]۲m۽W/	!6hA6(|?}         6b֏|# /-< 
|ٜ_&-!ȶa+:A@?1       m{6n%|_ < ?۶i$ A8@?       y"a;!#ޏ :|_-< %	U$  X +<+ P~5m#5U [v   Z|    >6bH@> A|_ P<  , 4% |mgC+:?)< 4۶۱}ڜ   L    an#|][ =|_ _< 	ʿÏ >h!3f%|&?~;Aee  ` %    z +|_a L|_ P= 2݇۳%WW [,<f<5 >$v   <    z,n -< H?ٽ ?Gi;6n   *< Mۗ@E   *    j: ~_Eu!?} H"$   @Џ _ > `!!A$AW       Z\!~_% <_VןW( -   ?|1՟$|`   |    J@Fn@ _> 7v %~X |>  o H.> D!3@~W_   |`    J
nP W> ؽ#?#$z9T%Z_uAUU?kُ}ٜn Y)Hs"=+W  |`    :"c&E  ~$!y!U5	z(=  B^U!< p^UU>|=ہ$< |=ovn _@$  <    *%-~_ !>?5U(>A VUUU >y|#5$@c%T9"Z |n;g~ u h<?ǝ+_  <    *Ƕcc < "@%	*< \p V#? VN o agnA* A    @WcBU@ > s}'`1X` YΪ*< V\P`"| @ `$>( o~<'=R  |`    
c-_@> &> u!`%(|u5X])@  ~$:{|-WTM؏_/ Z&}@F'# p A    
! &> 4_5(<Mk*(> *?.0<   x]$$< ߲}%<{ '!svn g|/= Aܶ A   !|_@> ?UU5'<b	)|"?%7yZY p*  '|!V *| Xp@Z,>{#<{ xD6nc w<`.< MA+<  |`   _e#@>Ώ =U'0/+>U +~)? !)|uu+|?!_%	(< !VU*W(1 T)>b.b%)? 8`b 8\VT\^?%Z p:KcA$!B`J2 ~	$ A   ->GB>,}U++
*B- / < |]%+7}?@ WVVT}'} '}(<&b	)| @(iJ0<@`@T"` ~>"!= ,~`5 A   )ζk p޳5+>)A *(</,=+^*?|*?Y9~/|_!0P,\'U5(*@`W*>A(Ά1@' $@T ײM۱W r?` @BHA"%M' @   жm[6b'ހ Uޣ1>(|1*),= -| + +< -  	 /< y Pp``*<!>sS ^X"U- *~?*?׵D+XW B$<aPد_ p?tHAA?A  <   -~_.!? QA~U+?	+)~	9|X )>\IJY ^(> 9h(> RY (> 4x I!+*!Y *<`*`\T	~;-ٰ_o .?  |      
@!	7$^B} x(~ns'@{B]Up .]%UU'=]%UU,5 I| "$*!pW'>9,|yaUU$<z@a ([,|    p A   ?\"}@>AU,~`U(<t!A}W!@( p@'@(| !#%*< x`pX:B)X!)"] 	8?Ҕ )|BEW+)>#R,|?<_	'L"!{,~in!?  `> *p+|
0 >> .A@  g|`   bx,|#~\ '_QW棜'[j\ =^	5*< ,=  .> Z#@' {!ub_)~B,yΣm@@ "B%5'\XPp`/9*9iu  W< knG 	}ڿ$| rA   _  ݍ~sԐ ({*<$b`+|  U\`'= b w}5"B8|@R@ }^*>`W/ ,}@*;OA$-[! h-?϶=!}& hA   @ȯ_5(> f:gY)= ]6 ^\`( m> )B,Cyֵ ) WV "<a!<'>b5#<` =,9ز}I?"^?z-Ͷc 8B ^A   x)t!? e?g~(~B9:ԡ zxEL!ƻ /' 	:? Xp'%7)@^- +}"*AU+_hx#T^ |1;!~X !9%*< \XXP |*|	
S369d& @!@ XA   ?жn \?U5*~^	:<_,< Չ+|  z( !_)> |E ?Aj(  `X'\aVB [P\W 	9  !~@ ~5(<}p <  i= ,|F˲ KA   yP-Pd P=[ "= 	 a> (X '|Ձ`\W*5'>S jjbbA_%%*<\T\*| AcW <`A)D |  y< )> _ 8A   y!6o&`ԣI>"\%	  EDX(< XWե*(< !wa p\(׽K '<"~_55*>nkPXMkY +^P` )aiJ}9V x  > $A"}`  <   y7!h@"|?55 !^`'$T%	*^p*> XV(}mTՕ*<```` '>Z.	<(| Ӕ@@*<YU a	(Z_VVT  .< 5ٳ}؏ (A   iM+|l|*: oa;p(aT(A)?"~?\W8"|>*`ppp 7X!])<@f^(|A`\UU A*a|\\\X  JA |`   i>c#b7$|q4":B~ Y @=#?_Tו*p'>}#b%|55%+>PX ~%%(F}X4p  .> !'=1 |`   ioΏ%_ i<"?@	5 Z?@a^A%MY'> 5A?!A\ \"~5eY^p~W\  ?  A   Y@=!~]	% J< A\TVW 'Y\5*|*>aTO WUU "? 5 *>   = ,>A{   FacAT@5> a  .<   '_!v V |? |"+|?]`+? .= U%+P` +e  (> .A   Z_, 4 _ > @-=  < };` z"M) XT+? UUX ;||@)?)?B!V\P`  ~`A!3@?_    Z 1=   <  pPPP 	!@ *"(_!>\T |	@aB@*< X!)E)"%@"  = ,~`A   Y >    > "PP ?Օ5+   +~_p :(;!VVW |@s\'#v_'UTP*}D Bpb  <@?&|`~A   Y^ 4 	=  +> g #c^*=\<! @!{@PBTU 	 FM(>@`.~VX* M | AA <   I<\eI ]]8|\"|%6| ,	%6~7  _ > (A   IXa{k;%  (<}U@A} CPTW c d"_	*Xp@ Y@C. :AAA   I  &@@ü`P+<A+~TV > f),Dy*~ @@WTXP   'c!@&: ~A% |`   I!6n |[	@* @ < 
4\\*|* `F1 . C?؝0\&vng#> 糔 ~
A   I 06nvn i ]*?q)|_|D*? 7%+p@] 5+=EX95,? ( X * `'J$_?|<o6o; ,>J@    J0@H   \%q(Y!pTU,<` +_\T | #<e !Y._@ CcM  }_ 
 E%_W!<>4 I$e!x`U!o ~`"Ay}A   I0vnn Usf),"=:%@(= @'! | #>@	,c%WT  ,><#~/¿!2@a!&FA ~`2}A   J$N  %	-~߀`+V  *%},  "}%.=<u <</o6n{A1 },>$Sg    I׶cg  0e) )!  -.= b5  0~1!3@ =<-|`o QuA]A   I;  Y.>*|pXV+|`Y  (#>)<!U *UxB)}(*W  =,<<Mۗ ?<"϶'<!UG"=o >W    J!@[^qB ` \@p8+-|  0?~+@ ʄ $)?  *>$!Z  ~`](<<X*|` ?<
v(!B !@M& >!0@bGA  q 'L$J$ |%8?R +"F+=zP x\ APp,	5)~{x*|Xp@   >/!s| '<<Fn#a ~> +!2@(}`=A   YoY >> 3,|_"_.|_E\+yWU*B?   : @!E*<@P*~ , U]+=V :B*<< !Fn%`oQQ y~SA.A   Yovn% <~5%}p\U@"~ 5,@ 9 Z %6>,_40 pbɥ   >#,><E ~ضb*&o# w?(͵??'A   Y=4 &=  > KJ~*cZVU <`y8 (~8 @ ?< "*>R.=!$=6Vmk,= gT  "FU,=<F~-|#ob!; US WB:A   Y_iIi!B =܅;|^%)*=`:`  À 	% 4 + nBa1 <<  '\}46bۼU1v G'g5<$  r `.<@o | > 1??D<'~_u & ? c! AV Z,<-Akz6bc"| QovDU"3coc - %   i"= <?(~A?  !	5*|'E) D1A
¿C( @D=ocA_6d'~A^RXcUW oC5SH!SM   i `t@o~ӔM*> P\@ > ,c;*U^(~ӜgA$!B *TXp |`'˿o-<|I$nb4 Nw!W      i. `!<` Z._`P'<y-*i@ * 9 V> ,>D@)|! ` (_C'7Ac |`I}ر-1H6n;)XiS x,~`/!<<   on#$< <`.~_y@+69PXTV  _@)|  U+|	'\?)~`A, G<P H&?WU i@ 	"> Vemo x> ,>q@_   $ o`<o q~׽._q)<7yZ  ? %_$ ' s	F@'g^E	5 :> WTi@)>35 ^ % "> _yo w> M"=   . !3`Fn$|qX!A>pT9+=@p S _lf%%FBB A#?	%!Mk U ^ (|e-0"o[t i0 O<   PC=l @x!?,p*< *5)  )>@ V _ O< "f56=?U_=VVT7-c	@ 5*~TXjA,|!]۟ 7|`b~B~#} X@, ]<   .  ovo ?b,<	'<} _@`  | = @:?_T\\ G1,< ~O@(> qkmtU1-@8o&} )#} G~ 6,> }<   h,~2H!!^u:<7UՕ)U*=#}\ )@ > 9Byf *~HXX1@)< ")T_] `H W=-| 6o܃!{UF]'7v '  <   .  FniCt Qp5*`Q )_\ À <0*<!'@  E / - cn&=1@91! Uh,> ]]U o   .  ov J$_	)7b  _ >iJX) ',> <      D-|/[~  | <9+?p@  @Av g>VU    .   ɑ)S=Bp,3{͘wS 5XC_BCծ'=TCs#y@+ %?,=Jӑ%Y_W$cy@1Lb0).So0 W>. <    z. RU#= _5)@o!??_'Џ<۶a#<d_F <=%!8o6HWFv q1.? HZIQ9?W_U }y"-|Loo	!} OCbnBt *=,> <    . v'[U r#< ?=X!v%79|3 > #Sr <ϗ&7_
˲m]#V#F ?ϟ%<Y"VAw@wWY @ ^'>(X 	R(P"'>9vD_pp	' ^ / @I5&<A!8# ~v ,,> <    . R!`@!= AX6s7{,~@ f@ (`F_\Xx>" ׯ_#^m;P6 }(<Y(|G>>"9&a% &Y|9X;?'&>hii!H&|\\TU WU x|  6nX'<b"~D,~hJ0b'lX9 |    . E-TyJ5"|uI&a@@!_f?Օ(Ă	)fz5U*=h  /! D-<86b$[ о_T T',oc'}t0>[Cj"<g@F̅	(ū *@""~	! !C@T |        
>  *6n'`"|`(<^ǳ)TW`'$"PXi#T$۰m WUA߶mcD ̼>? U߯z_@obw$> "9f̄r+	* ^'| &Cjrq8$!T1  FZ     [ 1a;	$Q @\ )E`@j!<9\TT|ف]A#ԒU# |_ = ,|=ہ$W@&(&&A			(廵W)> (< A\Pp@*}%|  I<     K Џ/? 5+?)|_ /'< F$zxPPڛ z"`VW H$O%|_WWUK-a/)<"S)fG1'=x@E#~	R `!Ȕ&>_0>^Bjo"~_	-  *F6<'&brs%$>@$>@$   w<@   9-<<
ݶm$=<UT7Ƙl'I}$փg%x_\ 0\ *{`) 	%~T~f#5*X }@ ~U*^\\)}W 0xpBq,<$}5)<I)> !6'DRlU PU I(> EXV )a'(@,>!}_U)o,> P\+Um #>@8A*=f)|ǟ/*=-~W,<@K`GP{h*|	 ]KɽU_@*<
5B!}X-ö%U!c4c  J<    :y-i6%=)}8&_U)|@- ,<Yj( (x)} F!)< *dr`+ a)> f+ >? E\" xp6ڰ})< Iúe#INBbA,1+ 
|}+ "1-,	B9p*|	]+ $	** $@	
(  WBTu$A (IW\aۯÜ[    ߶n揾)|A*? XW(|]\E6	(< ū*5 0Y^*|X8'= Y 8>("p%<VTd)XW  "XI(A g/~F};9|-< "a  '|	|G(ų?)+_ W)| pB%@~%#T_I @~   %=< = #?%?o	ZIsR'T@^)<  )= a"]	 "ep(@e '"`(峁;> &,> f.<  XPpU p   O? #B#*9<|I<~ , "1X )|z *-( })j)< V*`+?5)< XUxؿ@  #    < |		*`\TV* )7!=Ap(~ I  ~ _>  $"+"~*	*JpX\\+~
	'>~ <  H$Há___     "?=%5+|w@VFA*TTT  u~*		*>XPMa     ||\XRc(5zb}V   ? (|?|p``*JiqR *@    .< 5)UA`_   I.= !?%5)"}@'>
 /        <     9A,V        @%(yΎs	cYAUX@'= 3mk(yqU+|.? ^ UWX`5558<!<9}CHBj9<})< ?b~+_Vp;< R-Wx'> q<}\; 	.? )j :
):j)}=	3+.=Q-< !_,|@'6~<_^\\ |%%% 1|)< $!z-?U\`'>  |    B|s%[V V* !DB\~XP8T4  p,> U,> *  * 5)^<,iJ@=	+~Ӕ@4=)?-<X+ b  \*|$!){ "!XP`9>q1}`<<,?  8zA	6=Y_WVV |y-c0=) AM|:}=\ ]m%)4~V \\WU8~q }8<<|    R/|E*_*>1yJ  .? _;?\\X j: mk,| }X Y :+|@ `@  W~WiJ})$'  <>XP |:=|	*|I _s |2:}f/|Ep 3<	    .~-c })9  X@  0 ,! P *"<&*f<< m9>9]	* Pp+ 7 |	 5} |     < ?5%<TV q,<;Y-|PPXX +?		)<A *<<== X +5% c ,Y	*~ !!}C U,V6 'Z#=)< ,<`pPX     }z 
_"``+<4 8|W"z `X  d.}+ 5*< " +<\TWU ,
*? -|`pX\ 0<< .<F !!		+<"!xj+~%%5)~
׵*}WVT  s |,|y,>,A`v+
VUU    (׽t *Td 	<?1p,
57v\WVT\ '| 1u,<IJ   -~W+?XWU;C;)v +@[uT;|f1``+}6< _ )|!<1+~#pp(~d9_#;?T\\ 7VV:UU ? @,*U*?k   +XXPp    z _ <_< |-|.?Pp` yӜ + _  ]"$Օ<)=C,|E3 PPp  H) A`@     	}4} '2=+<_# =}=}\  x~559?;%) @)<B	,@ GY %5*|*`z<<f    V	ֵ*UV'> B :<pPX\ +*<.->`v}.}+p,U)Y9+|~"y`p ,>U=> j f@64=+@(>  2``-=+%*<b'~S\)~{  ~ZP _VV ~V\ )>&yQ*=\ 3<`    t,<u  < @D'>| 7<><` #	%60} +XTUU  >1 bB!@`  %55:< /??~c*|wI@p\7| ? ~A*| ><	 ߙ O*<`΂ 4<`   AY-|])> %²,<}p  ]@ 
 }-+?! )> s%  }	-=B }- -= \ .=>=  <2` < }5= *<t Q < = P)= ]% .}\-= 	9< |.A>                                   !o m}UM$     = )< *)< >   |        <         <         <         <         <         <        <        A  )          <      u< v X,> U < Bm۶mĽ   > * X@  -  > ~}e#^nI$۱}  < e@    S{I"vN?    ҶiFn6.>  6>#0d    z c=P@  ]V( K 
    j-|/F 9 ٲ8? G}$!   c֏  < _ 7>M#"*"۟   9ڝc |/  ?ߧ 9|`@8>k'!>B  b  Z-|/I :'I='?@" H}$ 7#c 	2:!1     6b A~/s U  5?T_6 GAn ~!2  r  	n'~ 4{U8 	zU'> Ӝ \B+!-{q$_ 7o |%)>4~">   y_ia;D^$M$ G<?6> 9}yA Oݧ"-_Y~V\ /<voc[ '<JI#>5$   iS _.< ֵ!5	(u	  \-p (\^mkT =+|A )3"ĵ?   Y!!'~
 D>Rs5u~
+? 5
 A}pR ^'~0 .5(<\Xp`D- +oo '<y?)~02#   9,<# #nw	(!U (? "` Q
*=U *?  )>  @ կF`XƢ@3#V kvnn 7~F!2 '=] |0  H-n?  %'|Β+))yA(> Y '<XΪ@ 6< y$)@'|r z)) "<@	 `\Uӑ"OT@ ?`u6n G3   #ivn  <n#](  ^*> ^(^! Wm]~.\U\Tu%)}F (> ,cdz)< BxU* XW]&/!!Rsaް (| @ HCҼMۗ  l,^_ !}/_me%'>_y  +? W`5U(< {(> -k6Z!o)| |}	(   Z	WP6 8aIɅ,❁G s-$OV&H X>dX, =s  6bF  ~,m~{(v x'= v %_\p' ̝	-+U'} ^X6<|%*!Pp``6 %5'9\WVVT,<Ą'>^i'|/YԶi p<d,   (-|;Ώ 
Cb,y%	)~*<>Ԥ` *I5( 7 X'Nā `N {ZX<>5(=!~O&c'>1^K+}0\9  = ,>>!3   3նg;6n  |\}!y}	8 ? I ) `ܧĂ P֕Ƽ%6|.=X\ P(/  T	P:Prrc -> ,M'  ;vc$^& #		% }j'< 1p}"9^W'4^y(}.Y\s\\TT ~y(~@$|6 ^cA   /=!H f<q   =% !<o">?5( Dl 
< @@`'oDj SV8=X\%	*TTVU 7<|	%*UVX` <}  2ڶa{i; ?!=>%+<t :<!-XX\8<^\)!`XVk I]})! 	 *|" g,!}  6n6o O>>TTTT,>*M p*^``rp G1}M)| 8P`*<Xpb > 6,K F|0  vo _|*>g,.8!5,~)/"< PXVU W})<0YAVXp .> #  x3o `>< %'Y!<`P\b#>VW W|#(<y@  +0UVT o}A'<+o (,?q	ֶ 4  } uq~e*'}-8^ i]%|)=P!&X(AXP`I o^A!})|S (|F* %   a/3>_u'=/\\5*< bpPX gs],~2`(=CU!BU p??8^Fni'~u ) %  T q.!	`'>r< c2*<Cy΢XpB ob,^<^!3 vo# (=,~0/   %o o"?O%	)<T Ka)|})<V\P p&!2'=8-^> #n ))<Ym  @  c<)~OXv `!wCb ")xpB*R@	%*0UUW p~0!1 8^6bHts!@o@B,!!"5<q  6n;k{ O~	E),|"c^W*<Y*<-XTVW =lY#~p*V\P*? \[] q=3,|.+ж=ۇ7=D-| bt 1C?}؏  (9c*jJ R  U)|Oa p h|O #?35U+`	,c q|P.= E-^ ^4Fn*	c'~Iv 6T,B I$K&  (%H&^bXB
U0o	@'{ }|O-q,%p*< !9@ /q<R @)E 46b*?1Xc*< :1)< )L\  (vo6b DO*< $ *},Z!/ A\S "s(< !	 ,V\ CW,<J±*[toc'= n >.,~0m  (.-6D#  |p"<!|/)|f`X(< e)C'>\ 3	*?%,~0@'C1 ~0,~,Apo+a'>{Q 1( Dm[5 P 07o6n =!?_	b)!\*<^]PX *<S'c!V)"5("<aT\Pq 8#<o'\A=?Ƕ+<_(~>w  ,=q+ 6<  8-< ) ~nk,ks,=y!|	@^TVW 0! @ *3TTTT:~Mu !>$<<o>> P,~>!N)> 7Q X(~1!Uv o,(NJ&:  p6o;)(/ <Iy΂B*=4%@ (>A" ,>,<<o <  p Qo)>It0p"Օ+` /v '<!3b'>"Q1]I)## %'= 7 #0!3~'>@*wo#)> ;S o'<B,>o   p ? U\(~ 2$8Ƽ3*?\'k"}K'>`}@!ЯM[6ÜLT ,>K47{'4~~%,|p`"O% "|D|JP)=6C
X+}/)~FQ (+">ol  A Fj|]!?3ynS_ՕF́	غ$\O|ٴ'?rM< 0A L'{on(㼁~}C @!Dpٯ}! -   	.i':@?~c	(&E`@Ͽdj|VWönFo(}1.kS@/ :v  O$H(|Bū"}/5'f<W^5#-|q`0  Q6(|=(~ F"=+-T[ [Ƙ}f ?UU
 #*F  (?ųh` Fُų|.z++< !o0)< %+O)> )< `* p :-@ea@c %(|廭(Fa"< A( !(<  #e&+H܃\-^`}O@~  D-?`#-\q!~ޥe(@(7(<$(
(FA_f\U]\(< 
U,= * @?`@jL۴ y<JFk6o,<|+~,*EY 	8P*|D'VI_WTT  @ w<k|cai*bbr  <8BTF@@bCC(< rqQY o H$H R  	h  !;M5<PP < /< f`	# p  ?  < <   x5*}		*< !MT( Zf1]5C~U\P 				*<*<yQi* 55(|\$!]P*x *<- )E)!`*<!=<X(MkB- U,=X YC_'b0,.֦}'\*Z@+ YW+=`B,<p86  .X*z)>8r  xk+	  P) |}U*?\\^)IJ@@ ܕ**}
?q)-|PPPP*= )|}e@ +``+%+<,ZB@  UՕ)0!R*TT\X8|,<})QL,@ 6|>}7p@ :*,%)X  ,~*UU@L^\\,,~ 5,< ``P\ -++<, *5% ,\V(| _* U(<W8}c)X!#0*<*<>}	 *p +U6Y-*<A	 (  A  ) -)|, )C 	+WVT , ,ZUU,/, *D $!,a}) aU*-:|b)	*Ԩ->@ W})"&*-"}4 ) `@  ?S%%5+|XXp+|@+'\\T6/+?Pp`,>	*<X)|R@ /2-6/ <D#/U,UU7|@	*> *	(~ A1,D C+Y6+pp7 -66/%<2'v,|  k)S U+=(?R,m'> {	@+> %- +`XW+ 55'= מQZU<U,zU <$*<+CXX^;; 	+'&-+? pW+!.|*|.< %  ~66(>,%,>TPZ  /   I<       Dc%] #<}U   d= =*< O=          <     R<      @                                                                                                                                                                                                                                                                                                                                                                                                                                                                     Q   V        Q   U        Q   U        Q   U        Q   U        Q   U        Q   U        Q   U        Q   U        Q   U,m۶             Q   U        Q   U        Q   U        Q   U        Q   U        Q   U        Q   U        Q   U        Q   U        Q   U        Q   U        Q   U        Q   U        Q   U        0   	                                                                                  TTTT                                                                                                m{6n    ,ID                                                                                                                                                                                      				                                                                                  TTTT                                                                                    zm۶a;    $ޏ     
 0    +˶m[F?                                                                                                                                                                          				                                                                                  TTTT                                                                                    @6bޏ              /P       y                            m۶a;    ؉                                                                                                                          				                                                                                  TTTT                                                                        an                                 	\                            Hcn    ?    >߶۱}                                                                                                              				                                                                                  TTTT                                                            !¶m۶a;    b                      UUՕR  U]bU/^؏9  UUU\                        $6on#                  lm۰                                                                                                  				                                                                                  TTTT                                                            -n                                        u  UՕ58  R`@ `am۰9  UUUT            9cm                  :                                                                                                  				                                                                                  TTTT                                                e#v                   s  UUU5      u  UU-         U        X  -      8X ?! V\XR                        9                       Mۗ                                                                                      				                                                                                  TTTT                                    m۶g#    )          IJ  UUU      ׵  	X      8    _      y    	      y@       8A(`V@Q_  PVVX                        o                        g?    %ȶm۰                                                                          				                                                                                  TTTT                                     @ȯ                      %        _ >       	UV      H  WUU`      y  5        TT\X       RQqi??    ˶m۶%    S                                  7ٟ                                                                          				                                                                                  TTTT                        Rm۶a;              G  U%      ԂA         $         Y  `        jNO        U      8  Xr`L      U  IEE                                                                      د                                                              				                                                                                  TTTT                        Yo6o                      %U      Ԇ         #Z  @      g lZWU      4  IIar                ׵  bUUU        %        UUW\                                                            "    {۱                                                  				                                                                                  TTTT                        (                                	%U        @``b      8  5        \^X\                          0        ! R`                                                                      G     I$I$                                      				                                                                                  TTTT                        Ώ                                        e  AuUU        %Ƀ        TWUU                                    !      mk  UUUT                                        ?                        ?                                      				                                                                                  TTTT                        AL                                        q  U      8AA                                              y  )%      4  TXYV                                        5qٷ}    "o              v?    Ӷ-ہ}                          				                                                                                  TTTT                        ?                                          U5        r\^P                                              U  U      ׵  \Pb                                        =    6o;    &                 C?    Y I$I$              				                                                                                  TTTT                        Ho                                UUU        	Ú&        X\TW                                              mk  UUU      X%!<Ra      0  UVTW                                        }     P(       [o                            				                                                                                  TTTT                        o6o                              Z  UUU        rX                                                                  Y  %        UWTX                    /              t?    1׶۱}    }6b۶m    	a    Hk     ϶Mہm  			                                                                                  TTTT                        g˶cm                        Y  %      !j`PX                                                                    %%      Ar@        UUUT    2bM    o                  sm۰                                      				                                                                                  TTTT                                    vo+          B  UUU      ׽  7%      v  \TVW                                                                  8  %5      U!VVT      r  T\]U          F?_    = I$I$    @oa    *oC    ؗV                                      				                                                                                  TTTT                                    cm    !o            I                    <o                       gO                    ׵        Ӕ  TTTT3?\    NI$hb    I$I$    ا                                                                          				                                                                                  TTTT                                                 ɑI$    Pn8  Iɕ        Ub`` fK                                 .`8     @oų  U5!??Q  >*z F     TTUU H$I$                 $I$    
qm                                                                          				                                                                                  TTTT                                    pҶm6  UUU%m$  UUU uvnF  5% U_  ppPpefbm    nXc    `b    Q`    m    3pn煣  {?F  ` ڶm  UUU     -?  UUUH I$I$                                                                                                  				                                                                            ȏ  TTTT I$        I$                 )9UU      FY  G         UU       UU e      I$        I$        I$        I$         %UU         UU      f            \V#b  UTUU I$        I$        I$       @ I$H$                                                  				                                                                             TTTT                                              e  IUU                                                                                                d  %UU      Cj  TWUU                                        @ H$H$                                                  				                                                                             TTTT      u  U      !       X!         `        bbbb      u        8          	      u  p@AA         PP      v  TVUU      Y  %      ׽          $$      8͍      0        y   \\      y  
II      ׽  X`AA          @ H$H$                                                  				                                                                             TTTT      U          T,      y        !`rc      y  bbbb                4T        	      ׽  A`XU         P      {  WTVU                      v  $$$$      ymkEEEE      0        y   \        I	I      8  cpXP          @ H$H$                                                  				                                                                             TTTT      U  U      XA( }      Y        y  Aɍ      y  b	                TTTW      y                  8  X         UVTW      8  RP_      8  2      X  $_      ύ      y        y  \       5  ACB      y  rcA}          @ H$H$                                                  				                                                                             TTTT                                                                                                                                                                                                        @ H$H$                                                  				                                                                        9AFb۶m  T   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U   A  $I$  U    H$I$             ׽U           ׽U           ׽U           ׽	                                                                                                                                                                                                                                                                                                                                                                                                               @ @                                   y   p        y   U        y   U        y   U        y   U I$I              y   U        y   U        y   U        y   U        y   U        y   U        y   U                                             ````                                     I$I    F    նmۆ                                                                                    Q                                  ````                                    c֏        sځ-    '̶mi;    @}؏                                                            Q                                  ````                        9۶mc             -k  uU]ء̶  UW\p9׶ca    W?        p                                                Q                                  ````            Ym۶a;    ֏$!  UUU        U      -  
*?Ӥ @B@l            Z    *    < I$I$                                    Q                                  ````            Ak+vc$            5	      Aj        7       f䴘E                        }ڿ                                    Q                                  ````            "            	5        P8        Z\TT      {          UV\X                             'ʶ=ۇ                        Q                                  ````            z                    4  ?%-      ,c  TUUU                  Zrjq                    EN    8    m۰            Q                                  ````            2          A  UUU        ABb                          T  M      IJ  UUVT          7    o                Q                                  ````            Moo          4  U%      4  R\XT                          u  5        WTXR3    9       #Aۗ    chm     <                                        ````            #n;a    DӜ  =5        TWUU                 Mk  BtTTN    o    am                        Q                                  ````            1жm۶m#  UUUVn6䌼  %*JI  ^\\\D&    #    |'  -	 s$Ia&  TUUk $I$    mm۶m                                    Q                        mvn  `PPP I        F  %UUU      &   Z[U&  XUUU I         I        Z       UUU      F  kyU bA  TUUU I          I$H$                        Q                         @@  PPPP      ׽  )      iJC      uR      R*0      !J      T  5'      %)	+*(      4        u    ,      ׵  \Z\T  H$H$                        Q                         @@  PPPP        	UU      Ӕ  "1UU      U  UU        $6UU        UU        fUU        (UU        UU        (UU      T  \ZUU  H$H$                        Q                        ! I$I$  P   !  $I$  U   !  $I$  U   !  $I$  U   !  $I$  U   !  $I$  U   !  $I$  U   !  $I$  U   !  $I$  U   !  $I$  U   !  $I$  U    H$I$             U           \                                 \\        }    UUȶmj$   @UUS I$I$}    UU        }    UU        }    UU            %%                      \\\\m۶a;    @ރ9  UU H¤N'u  UUW\-Ѳ}؏                          %%%%                      \\\\n  UU5      xΣI*z7?  PXZX@?    ۱              %%%%                      \\\\_  5UU      Ϭ  lh{S      q  {MŅ          >    * I$I$  %%%%                      \\\\0  UUU        RXTT      Q  %5 Ӕ  UWVT;^3(    ͱ}+l  %%%                      \\\\@ok,ʓ  	K  (  VUVTng;   %%#j  ^VVPGV۰m              %%%%            `d&fb&  TT  u    VU  @  U#`ZW	?Q  UUTT          %%%%            `  TT  I   UU  I   UU  I   UU  I   UU ?Ém  WU           %%                 ```+m;6o  @UU]A\\   UUV                     ````gp  %euxs  TTZQٶMۗ\            ````%㱫  EiybDk{  qiiA,ɒ\  UH6bn  PP	y q  { U	  m"U}؇۾    @  (ضa;6o  hX8Ӷ  Wivo^jHHJ\\T7ɼU  _::     l  ||      GGATCGVA   V\f!GGATCXAM   GGATGALF      GGATSFFO@      }  ק                                                  ,}   A  )          <         <         <         <         <         <         <         <         <         <         <         <         <         <         <         <    ?   TA         I$
K%       1  "(@ (<         ? m - < 
 Iĉ|	_W6``|	U ?_~__-}U  >  5@ a*| .> E)@  M W@  <}@ D!!V@ $]@ *= _@ (?  @ 8? !@ *= @ \*< !? @ *< *< = $Up@  <}/@  X@ A @ 6 }@ *< *<>? !@- !@ (< f   > %@ *=z@ aU@ ]@  |v9 $}*@  7	}Y@ :{@  *~E)@ * ;|'        ?    <8#~I_
6`@(|	WUU"~?~"?#!-U W]	!=$)*        ?        ?6d@-}_!?#|?.< ??|"<8	Ķ  #@!@m$}@'}@  Z|@        ?    ?#t,> $   7aC6f,|	__W6d  &+ .? ?1|'eU@\J'(|@ M$J$?  [|        ?   Q?  U > ,> ,= -< | #< $~?	@@=IdI<\!=+J"<s\!H6~W,> V]   w,~ ,= -= }-=- <  <  G 7W'N6d!=%)%=1?.< _A<@+~ QcH 	?	׶m$}\J G|	UW_ I$}> < '<         ?   Q?y* < @ (> *<.> !@  |!%?@@ XI\ɑ$<+
L">s\! K#|*|!6AP66*Z@ ﴶ|ư* \*<-9@ @ }ߘ4@ (> }*< <   |%|%dh1$=UU	@?? > v #?S? H$L 	?6dch,$|WU@ȯ2%B\ -	@ $M&A | '< #?)5        ?   ?U /?
!?
 $<+K$x'|!\\ ]H4?PP!|6ܹ6\	
TTU P/"2	A _U_`@v$" (<  ?\Kə$|WWP$~ /?.< ?Gϔ	UL>t' H$I$@A..Bdɛ90 @||.O'>$~UU& "}/ 	        ?   ? '<.?Z
J 4$<+tp
}\!%]؁.|s UZɝ)S# LP  Mϩ|#gȅŀ]0_TU\u!~AP
)"&?"3}"F4U@"d~:">D'<.  ?I$|ƾ@?(|< |?= v Os%?UU~X='?C'~$><][|m	A ە|m* $_ O'|>$*<<"/	'6        ?   ? <.?a$?$<+
$' =  P@  {'p'0~SK:1y',U1L
F /?LP
HZVV>S'hJ\-!@7 N$]
""v!7">>@Px%	(@>x  du>>.|< 	>   V?.~|+-|  )~s^IU5'	bUc^U`	}_<$AW]U|?$?<m&: [R "|!Ӱ-|_"}} |!9*5        ?   i?a -"|	UI$#P".@@ (<) =>.?f$?q$<+%X=<"?pp r"*?"}ɝ\\!=P"6\~l,p"t"=i	\\XP ?M

PX  %\P7]+N@Ȑ'X\`\?4$@ >'|)(*<y*/=   W?6`C$<!~SIү|!y} ;}_-< *< !5%G<!UV\PlO'~?&m$|!:J!LWy'\I)%<A <+I_]h' | > A(|/a(:        ?   A?YL  PB;~UU.< ;w1I!<. O_c/}2?0z U <  ?i-J 0$<+,~p` !?r&U* ɝ;%UUPI  '?5%U#ׯ(!"<Lz

rP1
  %@$ l~7  CYЈѢ>$?L'Ot+Um@<?!?E	"<?Y	V&3}    X?$H |ƾ!?q ,| > (BIA*<L`Lz=@W\#" <!yxəĜ! p$CU <AWF+A	Ab!=/)=c;?        ?   3?@)> <U.=   A1H G!?  @1
H .~4UU < T>/?p$?{$<+:?#?``$!?菺P~UUU\	T:8 ,H 	  .X"& r<"~U\3C=z'7\P\V45Rɕ{"Ukoe)X'h"'~'s  PXuB'p"'y-|V'y vA~rIɝ@~UP&L$~|  =?_! ,>?s+(|?~׵y	 +?  W(|R U'}>}!	X`B]U O${$0 Iv7Wy'<&= H|*< O'=&A
!B$t 	 w<          ?   1?y8|<#|y	@Pm  (#2' 3yX830=  H@`p."3?,{PU)>> >/?u$?%?@!?_ \	O|,rH! (4VU T\\VF ڂ\	 @0c /((`X  %UUSDh"?AcNX/:C'? 'N$#|/1wVTB?XR6 hҝ)${+  7@~WU @~,= '~?~A	!}-(<
ֵ1)|
uW(< U^(~-!+0W&FƘU5x]a090]W$ |2'> ,<3*<"F">w'ap @  }$ &$~?"}%@"</!y5   	?j S1UY$6?UW&< (>A]g6<         ?&< &?\d@w5",S Yt
UW ə|< @-  pThH\
 4#N}'}?$&!|*!+.>  /?w$?s%r	*mk"?A 7P i[(~!3\	U(~tV\ _?'eX: &
E}$u  s\%,$?D H}3$|p! n]|	M"!j X\ ?\#@?6?  8?
$9_W IB~ ?!~0%	'}
`,~(~#4U* A -( yYM\( yΕ)
a(@  ' 
 xWU= 9#?#|)^& >#? 	2b,H [ȏ@  $?-< '$|"O'tU ~|	   ?|U}*< UU->  mQ-}Z!@6
(@%|5e}z?"|X9T Nt%UU*UU:< '% 	        ?&?
Iɛ4@< 
U>q XYxB?C?]W {\"	PQQAL
S4v$L"|1;  %L},_	\PP@|!'y|(>y;j'Z*Lz {,?qက`&6e˩ *?!x'4Y(> z5lpu	3?P#t	Vn??#=rT <S'N$yV'8~XU(2WF4Wx(>?yY V-= U6= ?V ? ?|6D&|"؏ ~{,}!UV  \)>| e5bU'>UEW@vGE-'> <v U(@!.xUr +|Mͅ%7( @:\W&\L>>!|}.Y6y@ @  !<0= ,||S "|A  ?~  *= -WTg6
'?,h O"?	qSZT	|;^^W[M؅q) 		        ?!><d&?=1w|>eX$Z$/.>@&=]@|	hdh$zTT"`0| 
5: `7m   Pl"	\T
 x'p'8-  ? RI'?[%G  !>P	#W(>?u-?(!5%(?} WXp`$M+	
\'	~/P\'M&yB(>W!(|{hhhj@ (> y*zy*L.> y  h( P 0>!{5(|?T}(= x(|~|!9p*<U]=!p'~9^_)<@Z@AT(<B!@Y!<PWVT\TIB~BJ U_@F2Uɗ[2> 0ÁrCL'|(<<"   ?@ |jZV
"?]5U^ |UB}9V!~&Z|	SYya@  	rWT@\c.<}@         ?*|	cHmI")< &}-}!PU!6dj,]$< Uȣ1c7#<X|"?=_\ZR=AU#p]WPvzU.?A&T$~46T) @1}P1H  5	'!~U'<4Wf<WWƝW'=4!?%%'?4Z?h$ɂ\ 	`pP\@gzN
  VZZB:'$ >L#(<#zW渤`@   P?.z8@"+p    z I(!>?(|?`p`(< @%>)?(@->@(< (_pX_XXV*<!('HB*WWV'!q(<B@\XRR.}@@| Ja < A< "?!*	qb!4!8/0  ?	#>}%?Uב,}-B*!<@$>>U\#JN$?!3!Т$|>Bփ_95
-l[@P\B B |	imEe(II|"|/|Pj	i%V\M|	m]Um|zUu~}\[>$?        f? "|! 9W	
m   Fg䍳  U#$$L	[
 6]	\
N$X=|pP&<m}A!#6 @"~B5	!  X?#@D!
)>h!C!?AU 6'A*=)=1A )	G鬪*+PPM\!A&D%>C\!5  P!$
1  @UUR\  \
UUI#xD%#   !?e[6h+%|_
π('| 9b9,|"?	@>*+< ()>JEH_CpܥP %;'nk!o\=+?*|q\!|XPb+@}}]\ssai+ _<?  < |'-g".55  ?tY`.}m  $>U ac~4E蟿#<~Ey
x<6 C#<@A@	a2~I0"}^@2RP">>Ee  -?r?"|A5>9r'|Z%گ|	EU|	\qM!Ow (h}\?|	C&q؄%Ɗ&	W߂$ ?        f? yI?T?cm6` FRw% 
"$bc7%ᐿɟ\! b@	&\VV%%)t.< Zg@`pNl1
E-^t
uU( e(l*@~)= i"uȵ3!j  " s2'r>$]	PT'aC&1܀W\ 	(HB RO$U   Uh%d'|RRPU@vr'z](|Y )4~TV  ?6fj,@W.!%<8 	;ej|=(ƣ6?.> i,@ @P AXV+~~5(~Z}=W~ 5(}!IpV+ }})@AIM+ ?mÁĀWAT|Y%0  R? &I ȿ$=mњw:`|+b*I$<	[Vsr13'|د1IQ<Ѓ>|GyQ^I|'<*P#?}E@ *?_ '|@#~TYpSO]|	iE}|WT[i<
1W'67paE9|	z%@|VQmF.	!$'%\Y )        ?6< 7 w UT'	Z$a]Y@M
~H%7ȟ&.	0~? H @ X0O?&"<spW_XZ`WMk\ U6Dy΂~ cN<
hCA"%^#2  (<(_0] "m%_U!? A%q
  n\(>'d!<F RV˧/ A(^Koȿ  Z(>O'|f" ''92'}'])?B8'}V  ?E{:]:,:(?  w	,>UT6?}Y?b KYU+}>| b*~ <-< @B A5*UWC ?@*ֿvWA} 2|¿0  R?@!Bh,$|WV؃}'U t   ~&I|YM 	 #~[!W$>UՕV:|ޖ^'|^|*9?)N Dp>=|TZ[Y*x Z`BA#<B5TJ	$@UVT*h~m!ͳ	i6:"Ȃ
|	d]/\Xz N&* +        ?Y( |`.< %?!salBTP\ hI#?@M4ɛ2}"?@rf`SzV1"<2 pc.$8  pWUeS?~$Z$-ϝ@<r(< yR@D0x]	!Xc-fbP@$	.=? F	}O |S
9S,\RHJhHֵ?9  AH!?A"<r~m@3':\|3'  !|I |~ '~9K)`6,>@I_GpXX-?'!J5 }!9[ 7}<|W!J(?A,'   <-> !?A><	't.6< 6"ZZ\	%E)  Uu~%?UW 6< $? $t3A~$ G= - _= i1xyuA/hF@|'	k#|C64|5_wIG3'M'<\.Џ$=MQZK">q IXy\~=Q]PP#./=0|Ymm&}'sb#<Oc"=#<^Yye*/|RQmR1x'@F/2z<a胜|	 B,|	nfdF&MI||O/-	-W o< O<.<*TT |%NZt:      ? " ut?T u"<@%.<f "1 @GXV@?6iϔI  !3U2)M (I  }!FA"@	cc@HޜT!ci6`UT@3r Z.-@t%!|IV͙  AZS q +|4't \Xp6ɟ$u  UU*0't\HHrUj2'|'I\ɑ$3   M   i >	śP*5   Iɕ_P; 7~9.>@@*>@ip*|!}5*?~\\ 7%!@@"(r*|XPc,  @=&|@#~' 5U-= .< 
 [yA{5HJ!DvIb`|
 Xմ$$I&|UWI\;.= I*> , ܼ < A  H   > p_)eAʧXu&<~]<|	?|e_/ݿp
0#|QZ! \I#{%D V/?STL,@+Iɝ& 5{|7ՕF|!yV.?#A!<y~'_	V*@'|%py[A*<UW& 0'< >(|	E5|7FA^#D
DDlBOߢ	U|/V^ 0	 ~		 ? , -߼W(C+?  +< >m"Ť{R^W 5	 -U #:'~p_ T	      ?> .f
-\*!p@\!	.<7$v" a`p*>z'  rXTV!P>냱 !">c	|b">l$$<]6< dTP*wk@
&7Sɕ  @q"'.<;?@@-$'>+H'<@"B$<UE0ps(<BAȱ( >u'(?* ?6hj+|_%% G9a-<@"X](< "uU'}!=%C'4%q :*_5!!>Xb-< `?@!3&~
6,<@(?!*<C[ w@2|'|WPNw.}\EM?6H~z-}"~c#UZ+Ο'bU^,8UT-= U = 0||-= X!:#	EMia?ɗ=_3 #<?~nf} 0P#	i>.~'H$&6#=mq[^  #?5X:' !$vYY@$|	EZvB/@"7X[QQ$VZ:}!>u̧ TT^[
 [	_MuUQ3!=?	SQiM-v
@|#	UU%u|I	QeFoͿ~|5KH!W^"A_	;y>|-= _ |
%~G?)%/	U)hUGZn$~)^! *Kֵ]8|9/X='a 3?u$       ?;I	@Tɝ4$<0"}#cpn/@2 $OH#^]"x{ PI@@I»@-W}$|\.? I+|?^"% ] !|c	XP.wɝy\\Ri|
U1d -{}B??!%!/$!<(~%U 	 .I*}@ @ X$)  ??b@ 5 O?!%(\@+ a!i%5'<]RA$|3 _?AP%_&~  p= >A$<H*< U}>?@ "5_ #$<v&c#m d%|wiM(<ePN(@.Pr\u%@LIm#1\Z жw\|C5^%%r`}$ = => !Vm%s}},~ n~UV$<W^Ye>|9JG|	aaq>@@/|W?#;	vipT@D=LO#=@T~'G"~x~ee5;
H 1%6fH}WW.؏@iQY[r?%=Qym}{(<!8@?<"_qim A'dyyWy#!|%~t$<} B 8#a oF )$@ffyA P VS^|]-R=zTiSo~=S%+=/, 
=> #}!b^k4 WVF Զ$}\m)H$!@j6)<?F "[O(|a
  X@ <(      ?,@@`,|%X	yE" "v?- 	@? Y΀@@6\n01IIAaIpar$) !=Ar!;@#!?r?*$$,Dv|	5m$   cZ
'n CÏ
||DX&-ѿ}$a+'~i.P@|XS?Ss$v~)a!U[i%}@ +|@X*|UU8=  ?!b*?: a?r#5*`\*}kqs  I|Á(<@aTX`(<  XrmU `<6@WW*d1hA?4 },|͂'3 })<@#?6<@"=1@ * @ *} =@ &@"6X   \":	UV"c#i `%q@-	;$ SV+.p"}3@Q#~^\~"7V	V%t$7Yx*=7U K=? W	~z$:|I4k	Qc[Q~l$<%S/9 '|"W[H|]_;	g4jW|FmV@#/}ʼ}@><s
@h*oR|PRZZp\Aڿ|E%q)iME>c#	eK}B'چ
Pz~VU,z!RWL$x%|C՟#4yKҤI@D	gTu/~S'u҂1|1v,#mL	 LW C/1|3}yUr5$>\*x-=	 	䎰		WHi^;  O (]xBN!~~'<~,IM\oYM)7	mۿ
& @ <?         ?ɐH =PPu	ɝ0@*v Np51@?CԶ$ bھ&!'#[Ul']a\TpWyx!n!aġzB 	$ K a#?>>h ³"<5oBI Ā$^'= T @D _@! %	 ^p|5A  a "<&]$<}".z#RX`:s$@XUh''P^qH%Xa   ?<#? _?fA/A!CX\WU [}}_CB5'|| !2X _.ү2&|~GO'|,*&pwB?$<: * (
dM"?1%5-~  ?( A@ (?   @ *||@"?S@ h6&|2_?0pɟ$O#'+< 2l$)Ai"@=^7#@Vⵎ")'	UUr |U=Z'yU-j~뒠5HxUd
!5m/G	zU}B{X#Ï$5,<@|;'v,"<@	= Jf|QGc#<B	yё~	|/omI>(} ONH7^*!?x&>^V]*@Us ?r|-=V6<}@@hUU?<>s5g!\]]tڿ|Qam&ҿ.#	Ye"|/}u$?յmj#?#STE^;XWU?J@Lɿ> Gr/Ut#|*UX+^OF#|X
U^Gl$<BR$<?)UOc]2$>-ֶz_#"|~'>?U\)|~+)I 0miUV }M@ };@ *O>@  7|      ?+P	Iɛ{2 &wy  	  b`k$|@ 3}T"=^!,W|!g 4!2\~8=?1H '"|""?"?&?NЉe|%5b:6%U8-_IIN~P
^⻾| /0u?Wg|@CXV"?'| #E-!}H? 7`'u  \WWU
N)WN C	\&%<!?$$} H ?#?&?6؏H@ V?*<Օ%>p,~ \|=@AUu%*<@rɏ({ H,|~N'8&|~lw'zG[&~ (-GU ??&?*}?@ *< | 6"2~U#   %!?i
26`%<sUTQr(|@xP'4vD(-
i|RUrv(1$|--}wx/{C}%bB;#6	}MPWn/[M"7ebVVr?O#?#	I&P)~"|2%6P|M$|AV*|=_~!%:pUQ%^[R.|B~ |QqM@ |!!=~Y<?"|'@?a"\5~+.̞|zN#?G?#<ٔu!X5PX^S>		d|D^˿X@SRɕ-\A *Uj}^5P #|?IzWUt@\M'	xFW"<?(%$#U X?_U!ޓa000*@ *       U?~)'< ec6h+~!TI՜	F']pd&0Nv`e+#~| pS!X`
"UT\PMP w[%[!!!L"<t cM ^=|  <0pj$#|VUs-> t,> x @I*³ dŠ 5eNBw<&B]A'!~e)!|`NX@'	 ذmuUx&_|5X '. !?jx_* x G:Ap(|Hiq*  >%'"K'C `=-,~~lC&|~pw(<@WZ- @ !<|?%A'| 6)< "|9U-? O?* #@ *2i@ * R@  1&sT  	l $<5''6da[N|5(~6C'8?H}!A{l	WUgN
~{W!<p%a|(}'@D%rn;	-zsO
P|se?$|>	S?9[*ـ#<{6^{f; D"&!x(y@r)JV` #|>Q.>?K~EZ1  ef:<"~JLp~^^&
cn@"6P}	\r4qt#<}&幓/>$|C	Y\ml?"_plZɖ|-5^U*}?\~^qd`S͜'iWTnO5XU>+"~~")X'<  H~%>%	 "|!JT&<?~  }%@ *}>y@ *=0       ?!"?'C@@o	!61 #\.LrtJ$Z@0`3P- 	%5/<S$}.!#7"|1 cFPu r?}tz'N0|  X L
NIBf 
S]8= -< &I(]|5U9c@c4w$/9
B.?L#\@
pPXT2<~ !~Ex(< |~~~x ? \ɗ{  >~*<5i](|  V5*P\TVü__)Arc']TTU `'X4 @*	|'-chJi&>$vD^,p
~=-~(@W"299)9 o?(B  z@ *=5'@ *=C  vT|T IUP08`A$&I+<n$aX$F"<A#:]~!*</#Wb8v	^g_ }	YV[@hʿ|	%Pm_W	|ve#	cM?3(UCXO'U	.bhc.X|	IE,>?,<?@B 	-i,#%< "=C^BN'A* #<CoP`HY|h#~ڥ7Vh"' XXpfa0 !\^i%zk_$-ի^U.'!@Q4)H D*~5E@* ?O%U*|~Uhhh*	)@ **<}/       ? U4"'	PP^PM%  b'"?
PXX0 'd@K	'R;wӜn!!#> )|X @U]X\VP %E!*0X4'WV`???}' 'O2#U}]AUH  `AAU¿Sw#U5dȠk B'BP#O"  
Bk!?B w>@|M؂# <3׀'<{5*<y箾b@ Wߌx@  ? ɑdI$<qw+ K{C +	`'|!Y +< ~ %(]#`, o%<7~N'<n
pw'AAAv7$=@$/ÁKK&}@5U+| ?*3@ 6|5}@  ِd WK#$<8VBc#d"f#<'"P$*g}Aw|	W	&,|-Zc?#|A	{%VzȿoʅO&" |ʪb	$<\qN:Y7\&b_Bi-=@:XGGϔ#|BIRV\>'6@@UiZ=_^kZ}y9Xx#<@kVm?̏#|DBPVK	|5_5+C%#&`
6)~=#! lB<UAb!Ku@ *6@ *h       ? ;UT Iɑ?!|55m$yݧ9X\\
P@@DP$|!;1{h,.B!"|p}#L3
D5L"}tb|@X@ =		` <Ʉ݄	">	X -x
I |"?&I$O#<Uɟ#!<:`N! !$!	 0?de"l `/'A Pb9 >\+<&}:y!E'@   0?@3&>>I@kX!B A@ @+<rv#?y=A*%+<UV\P iK F,}~-? }?u6 $&n*;?ж"|?:$	\
pB P|"3 K&h&A := wA@  N?*< !x*B7A->5 
,| 00).?(! *  ~d  	cCm#]== p(|``:,>H|?'< ,}q\9dZ| ps	W (m|	hrU_|ŞiM >Vb%ɝI'%<T p#|]k`
#A^R>MUU^N #>}Z5SO	5"FDb!	U5\ X|	[p@MN#| D?q	^DZ;@>bs\)ȶ$|?_w@'\G2(I9	B<ߠ 3U<\5(AY@ "?@E \*	_+hhRR,?=(} +|>       ?[TP ɗX#?
ZPPݼrH VPT+,?Y pUr$<"	d6d@
4|*X#>}Y!,  ?X `Z""} /-?  <"+fx!e!J/BN󍺆1!V	 >~w 5#<!9P"?!?p!6R.|(C'N$??WHp|(< 5x@   @?.< %yXə$|!=9#k{x>?"5%*?<,<] :> D! 8'?BOb(~mk@V&`'+?B ?@!9vÃ~O"|*}~&}~!~  G1`%@+l#m'< U	.Im `@Xp$K	 /*=  *?$?',?k* i}+P_(>&w6|	*<5.  &|+5 ]OW,~ U,<$[[*==	7=*|9 T!6{Ha`(ɝB'@Jy^FR2k"_	U^)Xx
6:v7z"06^;("D/mv9|	{|	m/|*j';(W|]/Wi^l#{WUt^I)#@WUPP$|X[] %<KAI"<%|A kU'<?;{*< V^*~W,})|Cp_ |	*<2}	) ?) ">'|@        ?$۶T!|{w#UPh\/"-'Ŝ\I**"D噾|	`F#6e%*m"<=]tp""</'l|UU""U=i@U"@5F- CA@"?}@ W*K%Jp P 1g>xS%4	 ^Uޒ$<KX*b
<@?,?P)<Wj@ (>45@   `? 
 %<_1"<i!}& 	?"?p\*||&c1 .= %|3*}r	c*	5+|TXpc'@)U'u4c1v1(@??A!$|9? c<  ?_+?,<=,WUU 7>?   ~[[(?."~9>,@ֵ*}]%=;S_O$\S(<[c1hhbeNXH":Ǌ` <U}}O Uq?R#cJ #<	n[V2h$.c-ť@a@@ZNm|p
XT^#B5Wp"!:"=	Z8W ~#Ko |C(([`_?O*=K&~U,=F)->=5,=	T-} ^@  ;|	:? =.>J+++C       I?6`@-$U`X0"<			IR?
@i"=p!P O9o!UUW`)
X>	
ə]%l 
݆%nII jZ$`"`} ((PT+~@&f=Pw{"+!`"?'?ڨ>&?,t$ֵe'&!R`'X]"=#BS"=#?(_ZP(>?z@~5?#E#@P&^)y	6ߝV±3ו9   ?.?8 7#?&|) <@<!5}U*>@W(|"bpX@? ? Cf1CA*} })<~͵(>9W>s,<B=B"57!}(T?H-!1̼;!}@UoI&'B?%_-;? d?,<xUUU a}1&?-~ $< - / %? "=6@ 	TT )~6](<V*j}(
j D@#tBi@(=&"}(=$'c-"<@-{[Ÿl,y G	=|L@- > &?5$>><%? H.  ,|"EM,C!?(>          	?"8 '#ɟM@!	F ,uP! ƏaYTXVg^n!~ʪ5#OFw v;x%! Z(~v![X!@b:O?~$&? `&}1}!=6g gP@oCwZ e ۿրT:'?M"!?@	UT	m &tP'\
UZX I$K&u(=y%>&@!m -X|TUl"??4">!g$A +zs
	C 
h%҃K  PppP@I$OF|	06	 	#?UVT@1 ?.= !I$w_rW)>TA<55%%*\VVW ?.= )?ɉ*| -  C*C=[@=']! %?G}R:(|3*5*В'< II @$\\\  ~?'~#W,>   _>  SWT	 H<@
  II6#<|@, LUTV|Kd
"~Z	\$[-	UWp-	ĉva @MD'?JWrX 
0%	Yu"  ؆	#]'&<в(?>
O^͜6}	]
|%	IքВ'8"|'9Oޝ%	i^x|-MdMay6`@(5	5ƀ- 'X\N$tǿEeP]
]+*&
_ۼ5I':'gCh+ɶmCF%u}IO6!
_?ZA
@Ͻ)U@	*8L c=  :xN      ?H 	!p͔$<v#<E)xj}`t3|[{o3=xBt`*/#?"|3! =B	'8d!<?p'O%?);&vt"pM1yW??sSA _=
PPhb, ()[o5p=?  XppV |'x'6-|5PPT
 ɝ$ 	Pɕm  %%NBO>-!=ۻhq
[B 	W=hP  [$ |WQM IUF\/!(|	~U	0|C1$H  
?.>&K&|y.q&~qA.3|)<<"(s J3!z >R	 '> _aW )?$/?,>yWP'%_Uy#@A}B}@}.= 
_&F$!'|PZ@a%}"! (.M)= _ J(5
 C?	!? ?|
 < "?=5'p$!"E'1  `> "\c@4ȇȏ"7	` "6@p0#=V\1[cw
}BnD0#9/^W2d0~7">'GI' yɐ H 		&'?Q
|	XpKWM؄I	1}
[F?r|
0b}{@`x^?"=<\7W OM	e}BRU? #		[WP˧|	($}6
6h6F2\11qs~Օ>"9	jhh_,> _#ϻ-|	U%N?O~^
 U\XW1'gqw||`??~^ kP'Fa 3>'\ ə'  SP|	5^JH$%U&??AAc_">OAM* o<       ?.="` a   %UUdbi/U$|@'LUTu=

	*
X"|4	$|0?'O@< %7"?'? Mʃ<>  L:I /?z"v@8f@z%\𒹝$1#PX?#c"6
M؃ػ#|hI@!ڶa 1|	#ə{ @ 8]^ @P')#>VG	 $"}@*Hp1JC,^XA	m)~@!µ(<2%>~*H@1  ?.< !>q%8"~y<A&~*,vC$=<]'}?<KAcCBf~hW\uJW!1  #(|#<~p˅W"t	' u֘ ACz"?OG	$?]!8!?!«@.'m w*@(< Y?6A.ʸU݀M& N$t' w> 3<  \b6f@er)LK$<U:I"I!=4.'= \7* W\\R*> /( -=]Z+ l+> ^*=+ _4 '=_^Z,?]+?O +< .}N-~ Z,X+ 0' }	<X,}/,}, 8, d#+ :<4)W Ub+?eO$'>+>1,Q-|-!`bUF=_!3,       ?.\ qI'?84b$?Tu@"1YC*">$*	"	^e)%=<A,? >?.< ) 9y!qU\>>=|H7? "P"@ j"fx!^
vmX$L-
 q{׼ɟPL\#'y$l$>^">(>??
!|?"+b4yA#r$l ~)0mB V  @ = {g@8@7|g!#|'[Nw|(F 	B|fB,X\ 2=xҤ$6C̃)pP< @<, @w/P(~}u!$<@}  wF!!|@Q 'p]]-?I4m%~} B}$$ϼUK7qВ)~@u)|LG#:2!'r'&<  p?})Z"/|k'>N]ӷ@|:@$"~V5@xB/4'"	^hxW;_	` 9c-|	W[jJF
 0|P?~	}BJzN@"wյ5 F?4E%}^[C
@(|	եM|\`bZO
@	Q# R)"|
^pz7VIB2ayV#I0e|[jR'
H *WKL== J-> H,<maW#<! \<IW"<	hHQy:Ē"$<5[0}!z;>ID%|%!}C[H#}W!}Jb+?xWVTCX&|'%	J$]hh]= )qBj\  |!!Am])$TVW7լ'|O'})\X       ?05$$? @T `ɓ$X$!/.l{  &=,<@  ?@29]>%?!4?(> zk!,#@ 7@ (= @~"<81$?P  $|>|%IM `V߽W(>$>&~AW@`@ 37@ '} I@    ?0}WU>%!z: 6
 ;	yG'H؏f 5'eG"|VVQ#}y#&?{U+<  ?	rv SVx%=W"=B %5@EJ***_|V\@~$~2'+~'1$=CUS$~IUU-~}"N&_]  UCm)< @r&<E  p?.  &"uU!F 6$UD8H&ps$Zu\oF:G%twM\E8֭#=e\M`s}\J@X}]\R"|UK|6MZ$}_^T |Q \E'} ]C?!`>)J  U  +< Y <  J*@?X@>|!Q`w%}!R d ]|4$4Ж%[S|L7~ M)| NP$?Ė' SF}^H!@ $OA   ?      ? }* ]@ YS@ |2@ 9< D?6Xɗ|B$ ,(99"?:e)>?.< 6tp@@>?4@ ƍ@ W6@ w@  H?$!;IX)` ųC(z'"!#<"=|U!}B
]M
$G"<	 ūj*Y?\WW\POeÍ'GPn:4@Bж)? F $:)< :C*4F*> "!~)< ɝ'_hp""5% FU"|}!P K~UcX'_	=Z|
^ ]I-T}}= ? #<<@ &  C
c>U_
!)p:Tmx fx|&& p\I)\$<~ @ O)'|\c#i'| %%	)(| :dBxx'? Ha(|  o?1|:}@ b` * < }	@  .)d		G@>66,>nn
=d(~`5|1LH'}c)9|5-\\,}   !	 'zzM=;;P@AV`($	'~VV&|]}A@  |          ?@\I&?Id"55/2:?BVV@@< 	7_+< WTTa  8?m,G L6H]I )< _&-m}ڪDEAIA&l@"9X>*<iU,> U*`Up'=d:)}0O)? L+= == -? I+~J,">-'"U,.= (ԕ9-(~ @x(F\)p{UK TZ]U0	! 8_]" AW >@!,  B|(WA "&@ *} @ @ A,<4}%@ *< z *9"<;|*|}m@ 6< 7?6}+	@ *  }n@ |5*<}#@ (!@ *} @ *|};@ (< |9 ~*|        ? '}-> X,= {-<  P< )|@|!8&Uo
ɑ|I$ _&3?}'mk}!V !?HA -> ,> ,> V,= W-> <~ y<~0X?x    Gwy¬!px»z G@66?#b/VÀ = _)<  "<Q(<@ 6| P, $ t2?>@ -< D w        ?  @?  #?(( ='    N1H '^5z})< ">	(>@@ /> @ux^ a|F&?'  ?_ y<        ?  ?    P1H '\ ?_ (<K_'=n@"U(}!!}t | U]bb55+W\\6 +~s~, !+<). }UU+-~U'~R}V'z+*|P- Ӝ~TT+__'	6=])666| =Ux,
 /?( ? {<        ?     ?(|8A@``*|8%5(|<AT\\^(>Abbb*?:55'>}~XX*?b) $<2*~:\\(?|*~}5*<?*p  *?Ay!<76*>X(|"B-<.>(=	\ )%%((T(<?`BBB(, +_*$!) -c   )})7)|)|"|@	jJ1A ? k<        ?     ?g*~=``(?#|U*|  ;!?@bb+y55)<}AX\TW ?*
!<?*?!?)<%%(?*?<XX'#>~{`-<|'c_Օ**!Cp6?,<?f)C@  ?BB+U ,>57*~B\\("	'IJ_VUU  ? k<        ?     3?"8/(}>!<?*}>^(<?"9Á'<+ ?bb*~;j(}:!)\H*!=z*. )\.@A~( X\\*}p	+@ G?GBB*|.*"B \* pPp+C  ? [<        ?     ,8``*|*}#?~\*<?"<}!5*W)=_bb'*~~TV*>*|$>>*?*B]p)..? ~!?'>|8 U7<"<%%* VW*C(C*>?u})}CB`p*>(Y\"8.(=!"y?p($)!-.6*E*~E<!)F$!  ? [<        ?    / @~"=	(=@! )}E)}yz!>=@b(> ,>AXZ*<, +<"=2|,|.>~.!?z|"5) ">B (< ">?, u}*~(~ )B]W+)| ">*,^^XW,~,> 8|~8 86, \^,= )~)TT   [<        ?    1    <   ? K<        ?    ?"?
']oR v$'|7  > v '} E@ #9  \  ?!= 7        ?    ?41w"r* m   > )> yPP!?,      !          ? g   1 p)= \?   = d*<  j)<  X$)<              ?-= U        <    =     o<7        <        <     *   A  )          <         <         <         <   R?   `@  -   <  I$Im PM' b UU,< ($!~SS6 ,>    ]> \\6A~,> <>   6< ,> ??<%% mpp f     aC6j0| Ma4m۶ *a*| ~SS<($!}@ (<  *} w@ ( f  8? @ *< *<0<   \\<,,*?!@+> Af  6> K@ @ :%%%% 	@  }-@ *= @ *= @ *>pp    FiUU6> ,> ,= 5> _6f #_ؾ- 'N4,~ ,> ,> -} }j #[S6d(#V(1)< 6~	I_5m#_       y:< U@ (<%5>7j(b(u@ M؅]]B  
u(y| PP\U$<['ƕ	\	@ }*}}*| C!د', .> X ?nc-6ԶnF' /ۃ _}\55      L*<"< 	.D6j6b# {'z'4 ɛɕ|X\PPP]KK(DuS؄=؝U";("|? P\X?_UPX(B}U)@p| acb'~;MkX#U
	(<x$I$'< IH j7|L''a$}$ SY      lZ \.\ɗZM)S]cZ  (= M'

/%.M6j#@ Y|ʯ\
\X̶enW\Ԕ0y  @@ Iɗ7s U4Ȑ=APP,ذm,S  VU	mۀv a*|_ ?$<Uv?TyayA -ہ{T}$H	Pb6~a	؁} S	      ]^:@5\a\
PU')|(}=_ U)|/*%*.UP)'/h}X  0{]R?UT#I	  	?~$  ^VU9O|UU=؂y^(= -|_?~ X!d
 '= T!%^#@( \XRs(<Xb6hc'@ 7!˿@:K!` C*|J {V&6]C@     
mLr\	,!Q9\AGVUBy|U#=Uc\X`AA|	N$do+<%*0Y,H'OV]\ 5WWU   'mpT R,{'{  UUJ x$O$\ #:Y\"7" h~$])<| gen'}4}_y\5%}a (< G/iP'= v 8\
( p[J?\SXW[YK M\;'|8 ɗ|ɗ'<"p    AGG 0! UU,< jj	6h"|D eeL  WW*DU(l|    H Ob
m`ۅ1  MUUU!=ذm}\
E I	]UX=]I!<^ H$JU%=1U6f6bTP'~'`@0#?oD@@[V K$H]l@ ;yT@  u%a[6f+/?r$^	_!	'<?@X@	'> ~z UCy">Gpbu!qIEE'6
 a'?  *?   |`.c+ TkTY#k TƂ}|	WLƿ|	}\YYzg|	VY	-TZ~x$|W8|??5V    *|:|  yɟ$X  UUT!#n㹞,  
hP	%U]D	V&	Y":"|p[	t x 
U(= !Z'<  (
 U||  TTXP$!_ @PUIBT_öہ=Y\y v6h#n>=D5(|'ԃF@pn\iJ~'VWY_J'@T!XŅ%5 | < ?_)!"}` _9 XP'~]bЁü|nj!@!.#'"|$@PRT;ȏH }Y@ =4|'	QQymjP,|	i{6cA}!@ [Hh)vZ.~kUVS,    {!^W x*`
M`$U@0d#o|U%x!
S@2  J>D! Z}$"y	TWU@"z.!D:5 \	 ?K
0^H/ \
^X	4{\ @ <v$  ^Z_GضSޝyP]j b#6'|Fn>(G%U'$ F (<   X\'}?\+Ab |"<@U_;TR` ?>  w |`|5%%.+|C @">;&]'=U?> }(< .|  > $">H()|!UGV6lߤ|	~%L
|	oS_RЏ>g|	噾f	@!}`8-|	Ee0C~\KX4^|	QNf*yL"< 	%*"<@	kk I$L|!P  )  /< 9$U. BtϾE$   1 ]c!u@@.ߖ .glh'O$u\!  ۶5Qs!~@ $P I$\%@WE)99?#|\ j9`@ 
t3v$ j  EUUO\ϛ͜U|(=s fSI')!rV }]g]')> _-*<@LsX <U(>Ha  7} ,~`w(',~$2_%(||!z9!!|!jw~բMZH|_UIUW#I	 }!<? 	^8} H;| .< 0	'|	rYDdl|	꾪,zD|	D|G}YY~%$~d!3 |Yztd$}@>O${'|	UWTV&p)|	QAI#^(v"|'	V|	>8PC?'utv I<A  , !e59H_;$##	zUN?~$"^]!-   BXa# P
6dc  Е ]B?]  @F$56A  XIĂAAtw"~]
@YBv\ Y 
x']!<b036d "|@-UH}u=#;U6`!5}PH "|) f6h@Ql >=_%*^PZT <Y!!*UVT_ >HV;!5;6 !0@)?! ?`'"$=@!<k|A~V  9c@H\UcciHHU[ R!~!3_&| Uֶ|UQY!;U!p+Ѫ\O  ,W2@|zW+ VFGa\ 	eP(A  *0L#<_	nyY[	G|YQYnV#e  |G"|DJ!/}#| 	^[YY|	emy^9k?w|EPL
>ʿ!w{ɸ&|_O`|	~#!z,.<$]-_1]?/jU W)7	mۼU4$ m+ *|   _"^Y6hC6d 
TT.	mw   $ks|UX N: (s\!!^_}A@ "\kl$^(\} \ 1 4οxΠ( $a]@ 'E|` U-"}; h"=ģIj   ^I׽$E >#}=5*|!WTXp >@,<yNbR CA <ɩ+<Y*= @ a!c@ 
 I$|8TtF !x pɟ$}%\PNz\-% 4|՛#jUzL|Y|	UeJl|	YfĲg| 
5ʨ+b  n-&|XRS	M(|!"
BO>">	bU}f?o_|e"S`TV?Vo|Uu$Z7|		5||	\^֯yE?|eFx&}>*W߂g	թ%@N''ZUvr }-U(=V!A!A=?]1ap$566*=@  |   @
b\5%	k8|
TTp@H@ t2p3|hHoX 7 'k]\$ $N#/ ~χP /9

D$`
FZ~U(}+| ecg&=5< #?>(Oa '|~#?fUU*<BrA!V |A/*<Wɛ(eC
6 !3@/AI$ *? A@ .}@ * @ *= O@  &~AU<  
;bC&9Z
( @v!@k|	WiP|	k[
GA|	?m#(R"< 啕~Ҝ!-_ [n#< EE% &d|9$_TZPw-
 8|	eEe}ɝ%|#a"|	H{}
$D|	$J||	*bTA?O	|JV"d X\}4 'S'=  *"*@ (<   66    !ޜd!=z]\=$!!7\ A0  pUTPb! %#؀]@TJ 1]	z0 ~$Xi|!v
|~|"|:
UU6'
\<^{"8
 4\	@9'|pXVU	ZO$?)y@W@ 5 e^Ր)QVo ~~5 R\WW 7y!|AA5+~UW/v ' $|[7<' "HQ!zl(C-+@UU,bb *< X'|

V*=   b]!?SZ*<bV:,#id}@.@aw#<buU{'k	ꫤ]WH!|	rκ
c}B%ObU`v 
P 3'~||		[V:FI6  	ob @,(|	h$<}WUy  Z\U ?U]\)*<!QZ*< *=    Ek;cU+Y7W\ AI/ (  P^U%Ƃ˓Vm 4!,1(@\
.Un#<W%X-?"H}XȀ.B/"DP"mvx`X!_:<#'4x~@  .< xɛ$|V.Mk,|0*< TVUU 7|Ņ*!XpC/|"S' 
y$|Yia ac|# *v  #<}@ "<}V,_U*B2}@ * + ZU,26V f"![ b[&| VwWSfC	U{U Жn|ubBA\#_DTb#|@	zV>&|	Zg?0|	ڦ9Oə|*z	#}>R]'>U+H#]Y+} "GOu8}V@ *= -~,
%    \!<e#|E)I\PI\ XF?v  'm|VU'(\@ ~$<U@#>X%|r,@'{y[?O՟W!0A&~b@=#E5{U!P|!|x
΢ TgSUb X H<&bce'<`3Po,_*<^!Iaq ?|\!M%(<~UT],<O$p=cd'-tw'> '!3@m'	'=ہIM*< {WU -| ?= 
fP"_M$|]/bT	T_Ɔ"|!_9_|TUVP$|	U*l?>U_ O|&$IB@	]ʝ$p!!W	M0)jH }PhO!(\)	WC"_ МU_H#%U @_Y~%	 "rI%W+<@* = %-<     _6b6fk$/b	#4 h3׿?-<|TU,,)<>2"}#|_B APH a|n,dO|! x'~$7^h`(\ @@T(f.t+  !	Ij  ''_"=)ta ^@_AK h.< b6(|,b1/!=SRXr!d |_, D7QW>r'>KK(}BgI#'< )<?" *}? 1#UU*>   > jC}P!@?Q@s|x'%@!t;)m~)mS?ڶm|ZUɑ\ۼxC2"H|	C0@'|] ||#Hz%<VW\1F~1i))L%IPZɛ\	"D|^^ 6f%>BՕ',&i|ho	6` EmH!^y3W! ),<|	iy\~R^(~`6 )<     *<\c"@T@|IM lۈJ  sC,'U sP"|%55;R]  #ST"P)#>Q7tm	ɟ$T$` $V\!22!|\|X 	 }W}^ @	!!e@`۶-'gh6'{r@ 'P 	Uwrbų?V t	WS.  X58
XP`jX]?O'^۶(>8HH[M"i:<m&@ I'< z$~I|yz\j$~AA!<!x!"]\	6I)IĶNUBIm `%A .< j `$!8GZ'{	 %']^f#>#'!|]7!&$6Ͻ%@xc}#?$|o _<   \߾@ 6????)>@  ņ}. p"'r2#k`( ~~x'@ *@ u^ <_ $7= !?f 6^F| 	f`9E|F@P$Ef̂AH =@  WVX_t3$`I"I(?  T)< j)   R  5 IP1U)'!%"GWplw_; % <   '|!<	hh]C#^( Ȝ~U 	&>}U  
`f&}I  \a	`j'=  %<|@"<> ^!<ZC  $   	)	&>=U/  
c'<_
(= $ 	&>U 	   l   ,~S,<  < :bc6`~!T<ق`8 -> T,= -~v,= w-< j 	<P0??؏ȏ }I@>"<>rrSU G>= &_M  </׀|YAA>@ *< **|Y*< YI|*<,}@ * * Z]Q@ *|5555*<*|Y$".Y    r  (< PH ]"(U8!<U(!pCIYa  *U( ]A@<!U<@_U	K' "gX_U( ]5(~_(= b`+~qq'_	+ (}b,41$P       |!?B\,'\(! A`PR'= L )A(<A?,!K'<!`U\^U*| I*'5A@ (q)C'U_'y4@E)B       )=_Y U)?U*cAI7 ]) RU*YU*I	C?UZX(|_qs)<A,`U(<?aq+|U*?@+?$4'= D!?       5'6$ > u 
       r"($ ? b <  <    ׽`-= U     =   3   @    A  )          <  ?   X@  -  < m۶a;ݶ-9 I$I$ ?>b U	  ]T  !]  +< ) = `  }  A]  += 
  +}*  += R  +}   }  6|e	)|  P,], ~C\AAIF|kmdW\  iΜ',~\ 2{PQT۴) 3f' _ #	-T+!)~$!_@ (| dh*?@ *}`--+!
)@ *R-+* .|}@ *}@@   q3 aDD@\]7~( 3 	1/#\} IIMMFbQ  ˰[^kE\} Fm
؂  s	} 5!e#6o'+| <	I$D]U[{E]U  ToҴ} }   a"a#IX\w@Ł]؁v( gVaEVj\ M͍bG]qU
K,\{j[ڈI_cU'>; %K,|/~y5׽  y$) j!|	T\VVoFn'|?\ -ہ} A ]U_%|
AI***  5bH@uT_o_f\
Pl&\\ZPòt Q;  {⍍UM؄]  FV"<.y"0ŕnn %Uڶn(@5	 \X!|2Eǧ.{QZQ  zƟ)'?54|0kU'a*|  6@#Ƃ~wŕI\|	y?GS,R |	&vfҰ],|iI_̟VZj   /'<  ׿  eb4  5JP'\ٝ\ hXJz4!/	UUx|
)% Px<9<  VMI'
@\q _I'|?ȯ/	%Ur\.<!<Biͅ6| '= u(|Qށ}ڿ2/U\I|	 @jj kW_Iug+_~iUU = w|	@U(,,@\|w	n=h|	hRRl?|	^)k|	)+A'4|/겟JUW><.}_O	|!U+W\#$H$  X!m{6j# *"d| 
?\
"npn³\		O)ωsD	j:*y|ru p  ہ-$!'}) a
ac{7OCaR6} Y!> %"|@WVV\/   X
8'?  D'| =ۑ2O y$\_j
cc@H|	UNIh|V&SiM
"tF Ulw	~?%|w	&^m|	@@JG 0 |	ZRRa	|	FYeA{%O0|	멱b?}|	\ֶr`|	# ?V/t||*W '\|PUl\  hf޶e6h#\
T^2}\w 
6E5|^\\
I2IA\e
WU0+@^/- y|=|P(6X^  RI'n.>u!?\yPZTW6Mk UU' \XRcԸ,)|052m24|0gU*}@e ga!}N@ bHz ]i\	U_yʼf|k	*T@6I|	 "dp NO|	ieV8էv"&|	:(>|	( Pɓ |(V,\|U (3	*?qA@ *=@   `/%$L9hK `%J5  $`ɿ5f\{ /UQ\}<Qm\	xUi^"_ \Vti+| %?
oo+.=U\%9"=PT)|> |C!Qb_!x`UˏX!s`q'c7(?q	 H"=r$3?UU*<W*| WU c~%m#|uuU&#~s}}&^)	jՖ	bC|	UP $@K&|		p O2|	B  `/|	V!p$I|WU!$|wUD}[5J9VU*C %U*< !h  `16b{a#=.\o >di  uT<ذ$P_'G"F
".la@ 	l\
iU 	$\
yUJRJmDZU-~Ǚ!)UY  R6}3 X  Eť%_^Â_mWTV.x./ Ċ\	/\QSZ\/\%էl(?b
*=5.< "?5@*=  1< 
Fc6d}U!I|oUJ 	֪U	`m|w	R"U@H}'~z.I$1 .e1*I |0U)	IE$!U?|qU-|E})} 9<   pOY*| 2< mlqy'~ y, ,> ,= U>~P ;6n'| V $)-Vxv^ ]i#)\V3I^qd!Q! cM) ?"}!/!0#~ųt WaD^\ZAXV*/ö!>p G< '@!] ^U (}   ]  *1C  ~{V   bU   $%>U  \	">    '|  ` w(6b#H 0|.!%AB(< Mc<<<(? 9	ˆ"bBrbbU!(< IJlCAA(   v\XRPPP J!2@ (? AV@ *Y*= 1|}Y*< Y(.!Y*}2   E6n6n(v$"~N%\">,>  (< ">PMm(> ҔMXB(< ~ ,> ,(> Mb]~?~Rz   }#(> <MU q? F#[^I j> 7#S w <                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         y  TT        <  UU mۀ͸  UU I$I$\  UU          UUVT                        	϶m[6b    ')    mۀ                          555        !  &&&        !           !Aj        A                    !  '''        !           !          %%%%                                                                                                                                    mme"  DEi۵h
))yx(   +W        6  TTTT            Mm۶a;    VӔ  UU%	'  Wq@`Gȋ    m۰              %%%%        !  &&&&        $!!WWWW        !@@@@        A  *Xm۶b  ++%:        !  ''''        !        !          %%%%                                                                                                                                    >b{m  ô=-<  W3Xn  *
% Ld߾B          VVTT            B¶c6o          i=     q  cc5         <ڇ?_     I$I  Mmm !  &&Um $!    UUm !  U I왢b  z0	b  +%Mأ2!  '/_m $!    UUm $!  UUUm۶  %%                                                                                                                                    mi;   :!$)lm]"u
ބ}=  ~(        5  TTTT            FnFo          4  Mi        U        WVT^-    ۧA  %UU
^b۶mb  b	MaA   P4ZkCA  BZ=@[\1A  F$	A  * a&>A  b`7LpmA  Z!$mA  @  	 x$I$  %%%%                                                                                                                                    ȶiFnCy   Jm  *^Ʉ4}aT
mH	  ^@۱m  TTVU            n;a    %4s  q[Yy    ,cr  UU  P\TTnJ$    	,۰m              	Um{6b  ߚU
	LK  墪(1Ԫ  z"Ă  yC  0 I>3'  w^        a  * U          %%%%                                                                                                                                              TT           UU. p'I$z  UU        5   UU          TVUU II    +   U[r  `V  [    P  U.O  `Y   ju  UUTT                                     $I$  U  $I$  U I$I$b  P     $I$b  U X$I$b  U^^^                      %%%%                                                                                                                                              TTT           UUU           UUU           UUU           UUU c;a۝  UUU 3$ `۝  UU 3$ `۝  UU 3$ `۝  UU 3$ `۝  UU gl۝  VUU           UUU           UUU           UUU         AUUU         AUUU         AUUU         AUUU           UUU           UUU           %%%                                                             @                                                    V*m۶    U            UWm۶a;    UUNm۰    UU            UU          UU          UU        a  UU          UU            		                                                            6f/ 6>=c=s_a        p  TTVTJ6n+  U5%c5q(OT  ^X^YĶ-ہ}ڂ  uGm۶$!A			U;m6e!AXXXU I$AU}m۶!!UEm۶A			                                                            vk1ghkﯹR4b I$N$Ҕ  TTTTuo3mk  %Tmk  aMEM39|Ƭ-A  UUUca[  j tٲAUU|  ebb  * $I$  笠 H$I$  				                                                                    X  VV  H$I$   UU H II䕵  VUU@   U  $0   U}ٗ۶  UVW          UUU   $I$AUUU  	$I$AUUU  H$I$  UUU           			                                         _m6`;( pە   ~zz̶mH   Um}1m۶CA UUU I$Iҁb UUU@ I$I8 %%                         ɑI${pMe[  rhzjpM#I`"
6=!UUVFl	mAUUU p p$I$a%%/              @  "Mmc@
603cu  P I⻼$A UU_- I'H$A       Exif  II*             Ducky     <   Adobe d     		



                    	            	 !1AQ"aq2BR#br3Ⴂ$u7Cs4t%VScDTd5U6'e&FEW   !1AQaq2"B   ? aI(p<L}ն**KUqR@BtJ(G@ˠ] 1}rOPha@A5@(P*PAW^7-uBk؅:ڔTǣ8su,}# ˠ]ytˠŽZK:s$j%e>]U@<(ʠ/*4	@<xH;@.J1SzԜw7s	jv۶- ܠo6e2yoh}$Y[\~Nb	"hR\#(Y]^&.co4F	e-Z88v`$:R"-\b,ySx!pQ㵻\]tH<E6E6"hW+"+S}{q̨Ǩ=mVpjAe$  	hmE<#@Pht?P!-P }꠻{pAҠ+P*4_e89r#xPΫ _UTkz֙.̭mFFI:TD P%~ -qvy';.jߴh``IφH"xlz]m~&Wҋ"s#F7AnkeåQGQB \\%a,]I#Z.WWyLhq8_*($bIebzC"dC4bݾ]kUvVI	""(jjڀ@DPI	"**4h
h
#@Tj@(
6UZZ)ZhUp%PE8a(B:
#P@6 (GmM
ZPGEBEwo`4
ˠ?/@<ˠ.=WSԢqJq)oV3Va>] @<b2>ST+']yTP($@ĘQ4?613'DfڨY#BWQlRʒp[s" JdjrYIe}@э7oiY9Tl~w-O_'%<F87	6yhJAupx&˖%hV-ۤm~aLӒRn!&T&]@\w֮b8h3dpԷWE'Vqv[idYʩ|喺[tbʙ |Wٺ"OCKnXóJZJV[h#m+(C좛knI@z
 ط=jjy26^&4l5iK~ nzW=eA.g.ƈ~#bŹ>.tEW\طU41'ʒ'1̮Tl0a{u.5єDiA}/4߹x}-^p  WZ AP G۲1D OJ(=?/ueŚi[pȀwmPtQYD~,.<b@=S#%UrK:H$ ;{j"Rm@DQ@DPh@F$PZ+Ph
**@T@͘/ƍEUuVZjU*)J(@@a(A(J@	c(+ցF06W@~]Tˠ?.yt^#EśRx$[ܖ~] ˠ] 1~mצ"o>FO./.)gozyt!-Un5cE*A}7V#[TkYerH'#UYQ4+gfkn00~)Y)E@fk#5744QD^POevPTrv/&rP$Zw.r̅ T^RkZl5q	\\;.5æIU%{-u>ޢ/ү7H1CHIgA=׮sb~$1AUV"niַj;auGuiY{|CJ Ơh㯺!pojt֊[(^nv׽P
Ywe?m{{.z_A@)Z6d,N^;FTJQ0,YEZ1K1E}K6$/H.vHٶ&W|R324^@nkpn/֭'yqFr|\YFefHKqVc-'7 ` uHXހu=b%z@Pa^@{ݣA@	[j5PV,?x)[cg,/y0bd=˩VYx+<αcA`CP5Ы(p9x9ĴXGhEJH"IEH+PI	"m@F
MH**P 5,(R(&'
gTώ2ʀmۡ>E.TJ d7GTteqE-.#:yn@,cqEHUuVuTqRJ:P,%tRt
(G@창"jzM-tXB:#ԎhPwP((PRzJzCeI*wpǉ"T__ycybycb^Ȱ2 \ȵ>Qy~ʪX{({(ץy~1$@Si*1(jHʝtT./Pk~g`zqa\"dʀ*q'ݵLl~+wgli\12 *d0ʢhdXt*1( % u'KP! 3,l\
f`x"/1c^=˸Go}dk_^_3\O#`GF՞I}ke+9`ke;Ju^{/N>:7'G#xĸA_nk\eVC~rBx$̘IRZ+Knknv pqICdHP#ô) V&kjN"HgE)DV>c "Fftd/\AFpTh5|-P=!a%{h	^lݧTTh}Hײ##w 񭶙THvnmmE['(Jd?w1;#c	7[VP 1AYB	?{Xڀu7K_/pHc@ 7:P@/veߓ AX>!5CJ0q~B)Fm\1y.CPa\ oC
!7:Q
]:6GaiZE ۝=	n6A7 ;֔I	"$P$ڀ@DP$@($MP#@@T 	* jD
Ug<|vfH FZ5Rcǜ\ck$CJ[V۷hFLE:T<QO*<@UuRqRkP(%t
(vh#P8"1 1܅M("+=P?+@~WyT5	d /K@wF؊*@<NuC?S\2*Weʠ/.>YjP@{h0Lߛ~yɏ"	@v5gt_dW:\<\X9>oD<CR{!elPq<p1lФ;O4Hs4<ODSGpא^_TSVV!<)?XN:xBHtώo-yq~kHyIET+,,4^IӈV|ek,|W;|9mI; c8+2vYzKz;/N!h<9.Dà5mWl>,]cpͺ57):Za(YiǍ!/Mўk?L9vUIUYq}N/^|Y!E"\'=i$Ritݶ#vi04sĢKsIv9Q2]Iscr{)f!.jVf4i1.de-okk{E{4̩@"B7S쮓3+ءőT+n{E.B7uBʅ'Rox} d =/^.xI~jfH/(ԁASS+6:h:j0Ah(n5mU
opn[&[~րa+h#h5&kjjE^ڀhhr	V'q3UP iU?VmoXI ,klRV'7x 4M	V0 J.5#N=()IW3σ\hb>&*iiZTL3.,|JF)1BdfYd8$j7h}00Qz#d(GyѮB37eI,ZTr-n,kPg19v 6 UE@(EHIIEMH#@@FP&@@(
D
ţ'
dY1SbU.CX7`ELiah.[9=rS\〺ujZ)ZQ(%#Fy"(3 RI}g`ɍ,3rdՏQ>v׶1q/)P;Ly#q!bVqV=if'[N4Gdqa͏mdGAU,>X#PJ(  E(N
X P(F(Ps@.1-_@t
b@~]/1-~NYbQTȿRIxڪ(w68mL~<: ?'?*|2꨼ˠ/,P%ZP@F1@F1A̛hnC97a+=<<=].vg"Hc	2`z{oN1˓$f'G`n/c Na72n,(Vk}징'jȦI%` p&fUY$o$bQvQroÌבLdsu,-bM\nCYy-3KY|4'^M]umHLI\"ջ'$jxlu^wa?k	v>e#ua ÐKZ 3.a.A{hnO5x'"c- ^ry
[Z~qXUTDw6fMTCeUޠO{s/k&lVHmvI'3ۦqџ䘕[翦xN~Pd̂P
BZ5+t	tM.iOTY%-%Y.Z_[Wɟr`uáRa☖F3 =j٘qDYs4@ oOE*^%.(Vdm)J?q+o:tV]!{CJw/miv}]ۭ_^~;h ZG]ol{(dpA"
yՍbzOEwDr*sE~ڍEeday瑚w5(ŷ\vaM/let{$k`{ EaeItWFRj5=!d8%tp`>~G2	cu3ڌk*mbEiE@("4Y1	ԣ1aXqG*:P,$!$P$IRH@@F$P	4"ڀZ@F&PTP
SY#$fr&-!d:QrFF\3-fśxÑ!ԩ"vQbo)`Mb
ã#va(`tq̙@{,݇-<l~?2 xG dYYjZ|	2WVmb~M:X~?<oޫϋ@oĻ]Um'kS)A #>͋l֓j,P~]&zz?w8ɍXEbreܛ\?P>dq{qB)Yw)	ueolJzov9k>~Nɚ`mXFZU:gY~3xuLs m Qp
0ѬNwxLL-̗:&EDokn?%0GApіd7Е4Rt %?M(v`ҁts[jhV5@% A z?%c%jR.@@~]<ar12k3e+@@.%.mݭ 11$@F:큊]SrhYE'_5ZdeαaﺲmXvh;+er0>PLǫd3C20mI@l%7嗨`+ H'o8S}o[w͟ʃ%37n$HTj.|?dL7A5ٿӯO>KeeQqlTm#zߌ7ӜCq1|֌楸3I+G:
a3E4VXFn՗[ s׮JYgl91YdU⍚-O
_'vB*^rLtb,2kq~^ʷf43|D*gr{+;+,d"ᙗAcnK$[-ZpUNYS~]n
J#xn5Yc6+((EV7?v61"B@ /=iD*(sV%nEcL6Gֻ8ı!E7%ō$
9H q+Y%N0p|W_	ڷIyG*E75cS'ɄXl7h60ڪ"(<GSFpiؖ[n-zfAq@귶W=?);	 |}Z=PZ m,5J .4۸~C@4a-}4Px
bmMc;=Xj@}֚Z%tdo١҂ܶ&:Ɖ^SbƨT @*"&P$T$$Q	"$P%IEM"$P
	4h$$
@(
bvf]alG!$̰Sp3ovW[	UrX&G֠~3NʻNV;,}i2#`i#[jw]5𙊧;}˼	k׽\o;/0 I'u"R9?C|8ر83M{yLoe\-'ۅ63ᴐ4"mtcFk`z;՘Ⱦ1n8̑emJ0ޫ>ڭJ7.>PH"9PG(#yXi!񒿙76ӭ{~?+"X12 A ie
37m:do!bVɑĄ3iG[(?$$H<16ߋhS%N@t
)as@i{he?M(%b:G@b:ˠ]!E;
[YRGUD@^]Z_ާ#81_UjDf^]U.c	X4c	11"W4M?ay ;(8ߝg|Fn,INہ\vRclgkDI@mB,+_9H>{[2<={蓒Ú3HUb mLYO|x22RyyDqd7TjzGߏ Xb/"ٳm"fׯ?kN/y1tK @K\R.oXs{oX^.lf5"9-mcƳlE5[E>&Ҟ\'"R@"6Ki}j4N(& &itɚP/ǵ{+^dc׋sW9r`Tf*-ڹI]W0~J->Y||YW+7-O~M/Kd˲/n_jN.0{	A:vV7Hhos 4 V$t*e>KH_-Gᮓ1"s_,)1Lr$CPF`|J/_
K; %.a{jR-}?c\x(Fk&Km̩cs{m֙R>D|@ieY1U˝
KnzsAhPWS='	d>NFQV1$؊FGN{(uf -xȾaNɊOZx~cr.Ga}jG_P6^㣵ٖ?]Qhl0 iwJ!!F
܇um$j=у#u!"Ԝ$M6[^A40OW,?BL8b߈iU{Je\7.I_ʊ$v6tEҲ:Fe  T P$@*"AA@(@A	"&&I	4	"*hhIMPT @(
ꃏaog,K0)f۹k,^WNXE޲H$Gp?\YZz3x<	r/,8_Jt?}$7J#+bf6YLqDȶIumt*ȶ42~·hΟ%5K0_NgLc+cF%<AH|^w?tȡ	M݀6B<ܬ4>Ly~+G]6I}he8N$z,yQdx7%%@dz\\J1;Y3A(
[kPZV7^E3c'>;ʸy,k鐪KdVL5{nVIF
$lh>&tYRR$$r[⺞xWp^HQe"+yKfMz|wq
MȡVd;dZM׵ILAtFoĤ]Oe<S,aea#;4qSstt:AhP,ڨ4XOe{(%ha0<1p#ToP\ҳJ6{+@xΝ(@6{(glPkDA0y_kYGH
`VuOkJ"@g%=R8VX3?킂c YAPmk;L4!՘^țt6LYKλIk=[.}qSHYnc^yvC)Hy3#o}Mo	x3\\ >k2gRcCJؕE\n񯈑q`vV|Y$Ǜ*GyGtml-M3CdIKH17<e,~*9nFvZAGfP
κƶڏ͕
ǑH^8ܛn>.M_lܙ&Xѝf$w5.)Xw
@YoYڷ!#0x~8MʔnL1F$GrRg1m5]hF3 VmԶ	=-Fӏ4ڳ uZ}ghW"pZOEjygbIo ,q(EI$&ټacdyui4Q1	$<ڈ4[{WS?F>FHNhORw\kLf9K?0Ozdq1`O #H=q]4kR|~w	4ˎ @ '}s5xag#K6C]p%e\*MwUeK|W~N09oI+V5W<o|lv^'.P?ޡi?Я;rװ"v_fS}j׾C8+7uTO_ᢷZgqE|*xH LFh
N⌁6'[@:UP: 6Mj,9xݑ*̇kmm_(eooq1X*ͩep 4V8'v'@*2\Dظy!"p)Ŵ}UX@(EI"$U	"IBMME($$$j@F4hh
#@F*@TFn߸1Xs1I4D]-kx0=\F<Wo0_ѻ:vVl"67.͏Bn67~V
ƙg!;_1Lvo
($YF,87~`!,RlaƇ Ũ's)m]=} d|xqrMV2B,C?)9\/3̃d1K5fCI*/QI͎"~4^C U m(ڴi^[ռ-+}˝rv"J@QM^sSY&HKc
QωB632ڏClLHX`M#%O1]]mҮ[k>LLT>b3"$+- Am0a#Լ6'x?䥝,nA*z0HE|oU>dxű@^9,TC*Cs+_7 ^Nf1&WY[ҡ*ǁ8BI^G{	aǅ{;4R/
tײZGZR
H(`,?p%POe	@@{(e 68s&F7^Y59/M	D'@[(e qϮLxou?Ahg{(tUS(g{(@E(PP!V#NAi|l|޾,'+ȫ
 =-kpb\P/02[m[o[/mqXcarv&!-mimVFC]zVr*܌3 Q]&R4hxa2t<77eJ' XXʑOօV,צ(!BDl̺5aei3I [6ujLnQM,YI!pb8˚XpSrڣ;=\{bh$#H]|#]%ÝXE!`*za}NXG )3k/kkv}1/O Gbb-u],vnׁ95n5{1fVěϘ/mPmj3IƘ1g6I RGxMo
x '޿uMoZ:㏖/EsyO !ްB?<ƺ9iO'QgI\XG.~K#TuUXT9ZBp{j\fw|)Xqx8ybkMEGyq} "8)vdU,Gw.	 Jxq!hF?DYlN`m#Ė:yѴ"@ e@T^h [JQ*H#ȟC/Qr=YqQd>{][U20~ib9Ǐ/u` oLxg77*XۭT~drF~?-\jeYT߳pBF^+6ՙpvEHEAhhhh
$P$$MP&4j4@U *!\g'N8$ ;V@h/zYY$Y~Ô.[3Ģh
 3{֜NN\3"A*hmC'q)?!?iG.;.	I[x:bLm6>><kOo$cJW<L/m9Yhȥ9iM`_X^'ĘxK*FOaU;o1!$I;!p@.NՋXyC/~?*.O ILWUVgUS,UxR<@̕D bmүBWw}wDLS6\t$<.c6">[{n'ONHOm_kKb~Cf*R0@y/!7'wy^[I\y2QbBLFШVoOr)*&T&7<[ǠtujFv>JL4 p%$B4xT1ݽhË	f{@]_@4u4m^

(C&D#%/$U^/xɖ'CrB&32X+'	UGj#z-;uj^HR{{*@6~Z'7iD(R$giEJhLj(hI_eIJ>irzK'eX T5+X`oze|iBzW;,Sx<ypBj48_VV9l22G&B	gj9{oyi@IջۄEaʭ9%$GQnWUp̄VPEu׷-cn7jBlJ VkQibTPH?d;e\&NfE|fa[kTm;km7'k\vq#K=׳i7j퉬CO"J ,FoZo%4^llWMsl-~-ܙfcPR/qjv;Moj *NeLl/nyqß<'xE}Pms3ϱ+"mޡe[\hg}oY5+cd7Κi%h +xw H=Wlp]۷ySkY[=P_Y&mrԸE7]:oK>_ySBh* mʺʖǦ\.0@Ǌwyh*.ś>F&W!`lGUsu(Youaf?'NGoH$s+ U 8|3v!&.|SX~m "I@׭6kۧ}@<Ou :z ӳ@ZTz1EcJ(#q 5@좬;n let&ֻ7Z.SaqY7Lv0 Pmrz/iHb8L&(+8`zǐR<jJC}̥oLz,pTb-vbEKk2;}C6,H ) ]|l-kYA8ZB\ޔD~c9x]7QhhEZ&&&&4@4hTTOHlq3"<[17ym~ REeyC<qٸQa/e	\EȲQXY؜5ecȊrBʣ]~+h~]p|oeƟ&nF9;f`m&ǲc37~'c:ܓ)}-a´>A9Diu`t#SawWYD \	X֫m%K4W)+q+$:Y.8͏FI Jɠ+]m[\B8m.*I0EMYuJs/xexܒ΅HcgI@1,VOUz[oL눔]_-ŻjֶVq# c{	Yenr)lR0/j[5ߡQG1Ig̸ֲf޸&N57"VJLofGbG`Q$mAZTдVD0x,g|܉ƮYٟg~S$&T)$9/ҫR]mt-Q||^ogCv<RP~SaQ6M츬0C2,;2ezW=?ȈȾSVQc_Hˎ̕ Հ;a͵6?䌙) #r{qdkF@$[BokR3c|x$IFU&ZJT=|7% Msr5CdaN=Tpy=Al(J+U/깉~s)A@QYפgkJ-Am"qwJ)U	+@V%hV%h)}E *z y8#bCŷ;'<ɯrb:Vhk=0__#xL9y\%ėAG=-yb.,v-&:^ݵ]˗\!V|9 3р`[ixGF5[-8@x
mo,X0u+7Vd3Xƺ㖶<,0q߳jcG߬N{+X0/Ӻ7HSm mr[Pqd&U~N\q6f#eLq[_	ֻf1H9Y$qa@|*>W=rpgg\'I,h5yF,	& mz܌]eΈ\0ij՛NwK\> f&l1Dr⤀Etc
	,Ug7=,i4ޣɕ16f' 0祢ng?"W J7a( xwN٢ea?fn 2UOTu
3}I -o2"$\+}'=wudhːdG%a{V~(I|'^6㥔px݀PJ:΄P7ܦ c>п@ +5!Xf ֠5 @!F \5ou2n7@hPe=tFtրH _o5j墒n(eO3,;/?av,|>5*Ͱ)8y&I6 }<Q_R_P;}$F64
B;w?!U`nK.ڦ՞Z efpGA"O*b,cv[+*2Y	HGxC1:-fW0Y0\0s@.>k6ȐpċTI h#ҁ4	
@(
>n_Ǒ]NCIXYŊ
ݵCדqNNK0۟K#?$J[kj.X6l;m[U4ke7K[U2m$ˆΊLȼB`n-#!~	<rdSA$v}mG2xC7%gdcC(ɔ B.LR }-'dy@&U6 :\o鍏	7s%vW]\yVLSɍ4Qm2]X#XX6 Fx<t4/<Lt%^RdDj̏ՇVQ?[³cdd2m-}vnꕚj#0IqbʐWŕCFkuRD<<Q64^>L|k\W O$`d@.ŏwphODyxjC7vIJzn_JzaX۝g[~n/%37arq5Dat*GR;aj,Z^O9ȯIkDmkoJżNK+2deaGYmj3d]5u58yzb 1`%ހVYهD\ImTFcwi}#$NrdEyo0xm{uo^2}KÙRGHEGpHեKQ~Vͅr?)iw8]5!
}e包!#.PaEv{.s.y(`B#( v#}3>	rf[5|:,2(
E5A@D礍Qq 	4 >P755 :>Y-! `uPVJS@	+@45kwo-o\>~D}ӧ*'9`s8bfF7L 8 nZfƺ>Oy>YscDʈQw3Ic<p99^[S<5lE!#Nڷ{:b彬9'cdafecx3yD	`BdvZ	 9姊pA&yVm*Ƞ:m>m[8Nv,2KI(Xi;iZ$N	!UUe%AkK'̬y?Hjk/&Ihlyڠ_VMG}_Fq_.7-`+ؼO"]K<U͒1_/_4|W#~ޛAfp\\܆/ -؝nF6'jݽn+2jwZ[-QꟚL9|i<fA\kт;	snSl~.UK5{۠ެ/j/_I'gqѩl[E3klsbh4ۭ5Q7qx8[ޘ󊎑Zػ}]ܫk6_bc9-egOICbJwE2At
9>hcW
/o	rъF\,3˝6pW	Ԇʔ5`"#0LyKcHGQT{}hlKvpLAH蒧z$eZ /flݷ:2=SP(O{b'j ů`@j@7M1aQ@Oh׭R@bm@~Z6B4Ҁ:u27== }(		Ս+Ԋ	q5A"dIֽd#Ptց2R=QJnEu_t8Ң݉!]v*arؘn<;/ާip%MRBZ!Tց{ʟ=z4CH,OWS)svx?¶xûd@;]ɷ\Ds4  ߶ر=U;YWֲD;TD志"A7}Pe'Bڀ *#τJί,+3'MzۺYaf╆KIq#@6M#5۲+ictj
d7 eYÇ7/8͊#%ٟJZ`ZHqbr2el]{n
'12cOɼ$lB;)UC͂yxĀ*Jvf>.gcyDvđ_iYw\nKJ1V67ef$'ɔ9wd᳓9X.RacaЬO??/r7XG95jơ~FF&r`B5qz=Z+131QΏ)rV-[RU&?'&8'܀.n67X*Ee#ڨ=Kh.Ƴ<3E͗& 5)K=v|0carZ cIb-g}O^nȔ6E+6܍ݵoK'_o+/I9a~Ѡia~ vZ	<v75a_s28\(۔!Q2X.I	]t}p笼6o%W=UVNc)4Sm45F}oy-4\kBH긑Os˻8mMh֬oX''
@d6p~9g{j|HfY6+Zy(TEwE6{ZH|<Edȉ4afPGGiaaTbޑ'wALcȻvu_5XS(wRr ǋjɷVpl)ZWˇ8Q,l윙QǄsҼF~?%!ItR{{zE?r 7J"?,}w?&IHqd걂fA4bOXz/9&DS?3I!=kq~l3cЕ@onurΗ8irqBYeR1//IH9<TפfYܷ ,ˋض:mW*ߦ%D͎A"|ҒCdmsjPIoS\ě]q ժ!?V8	4ScpJCu(ETRm@DQEH+y>wxylܸa
 N_ъ|\ٹ3ؼ9ɻ̉Sk+|4}Eb#)<bDC]bT$z"x׷g{6]8ߨ~bnJCçcȂ'$SF66%H{k[X3rA21CoZklk旭ql>CǦĒk6mVH[	Q]\eU>srr%ѲNqPd`U/^0{zSdy*,~SSk7-r9h,ARIԩ3NG 4Ts׺aAݥ[[eL.Yw>z揦%͎Y ٢Ǽ{#LR[+|nD- .:'tOF~j%Çhgf3E͒olq8懧# OQq/0NŅܼC[
b,ڦ?=Ds;GQchӞ/8.X 1?։\ffA2$XG/N!!Y#P;
6_O 往޵XlCQV)2&$yXEaAS/e?OUXNOOz?Bgǀyo1wMRFm
bNreEց J Q6h b֫!:w!JP	r4Q h	 Ҡ-uFO
 OM=ua[	-e Tj}  Ge{i ] w4뭵&n:Ub	0f#БC֘	;}4^!_q̿|>7!/"A	衒!!$(gD$@gJSp?@svOPG?=Q$O~T:"'qǯ婅زGPŬ98Lʌ̻)"6Ybk91y$[65i#K߻䩅ȥAVBD7oT9&4r`XKAa&f //GZBYk1T|,朮bB!B(|~\)ÍNPGRXcqtL8Qyҩ`rvs#g5CxrRIȣMK3^:[aS/*fli]a6nvWPe
e;rˇ*/Ipћ߶j(y^GǆlXeḢ	QDNNFtepvG<:C"f&ה0^jD?<{BtdRc;ܗ졖C3/}T)J`:zE_(x(pV{mVYX/绠ʑB?6/kk1͠\fO"N7ua߯[ׂ۞^pO"K:7CӷouTKE/؀nk^L76,IJÑ/r<u5^nlc1H&9!ComycKV>SuӲ˽''-99V.4$~Qmo4ZG-Tj1iq#̆Q^(YT"*a%{,o"$#hMp֫.m=?N'*|\G;W}rvǮKVq?֜\w\#$27,z~FGqeeV(,#٩HΫo<SԋᥫZa|>."ȴK%:x5|^Rzk$|69_~P|Rc$[{IURnNtm4J>XqYy+@O'e[E߯Q#Ĕœ"T<o*oyFc>_zNw\#:'$d*mފmJnUעա/⏎uBPOI,rd5'D#W ˒)s0#Ǌ%un{
.3Y
~&jM[h}5??T\Ef,bYYh	"IULXǗ'ʿ$eTi!Gaa~*##!0OշDmٶW0x|!Y&@{컓y~۴ti5i<9u#(45=峗^9bg8X w"	A5be#
x 
EkQvQjg)Ʒǲ|Gal֑o]@Nq[1qM$jwoPlĎ9yfO
WՑ2e ܅ܕ-{tjH)*E}bSKa&ǳ& hkg6 XM%(1c `V%veazWNgq[jȣ_OKn;(ln+6({cW`x+OLs%Qlz5{6M80.&q'!"ctJE^{aUQ	}P>/Ξml1L4?!5?LC훔i	t+a((MK~33(|)q2SH ƿ,#enJMޫ1FO?Z  Fvr5Xn\z9Sݻd?jꍅ}Q,;yz>8u5Y:?ʌ/ȔܱCXݹpfda.|$R?!;#_6=Wpӣտ<f }g 80:Gaʞl%coev5Bvwh{qǴE \˦^m(
(  6"*Pw 5ց{B4X3h1&k[p44`m$6g}? =Wv	)<F<4 P'*Ɣ勚"G@ŭ|n c@V~!΄P!AT\Џq},[C
sIKNBqՔH֦$qiQdUwc><LfH܃b4*}[= ԕ,6v<{@j",-b}HnA@_dSﱢEe"fpUPL`gE^c+ö5,mM2u]n]&%ΌG6} TʧU+rce0LO&@fTk)r<f7dXÒ[Y{mRŗ
nCk@enFjӋf6qÌx,\]ЩW*ʗ6gbIhHܓn)̮cf0Ii
|-OxȆ4HcYMj*BxU0qߞ40Y%Imxl{{ %:d->Ά4C&]F[d/NIma%) JNgfiwdtf*ڒ	=++OԈ6!]=εGS<%߮qLj=V\5	׌Ηɼ6okTG/Qs97/#.6۰6-{h#*lr<id-#xt Nr	b?vڬw}IqvD8YQ<(qQSF=tײ6N稽i&x*P~='jEo.v,az;e?"%O/^/r;EBv6A$
T̤MĝSecyiZ3)d۾ՙV"/Z`O^7bcU3b"Y\x]F&Pl!ǖAI,6V#}}|_ek9fƲd5`O
-U}c|V>7LvlwY{\;nto7C8hAXlmXw ^h.ۍ&ftWNJ/S,'VF9Vx@][^l~LhY(NY;[^ҡF2 :Vcȇ&~zHRx^T'THHAMRaz<ԙDKn;܄n~vu\7| V7HT^kחyuyE>c,f#VY?Tty\,nno3_1X#gs&*2eUJʇkF/?Qo?3d#/21M+ǿm]>?Uz܁?S;"Z×*\zi8OWrLY0&^
oոLeY/ؘ4w!AڽkWLDtDl%̚BL܆>Y3e¡$)sskB "ߥU#raC1娌U&{W5I0?&])9Fw̾'?3Or:xCod?꩕Fܻ;Րp7[6?-#R%&HF",?CWMQ?ӞizjN#	ǙK$sA+yTC m{Q+~/p5ۉX(2R0ߜƶ&U^fQ҅qӧ>mSK#IGQFcH_~#*Mk>OsK-gN+/Pg?n:+ZAAWO'OdD}0a~ H\V\QEEk F>OQGc(g [lטe!I{(wп  
Ȫֳ}[Vqcց.Gu i{_{}u4ր[Qj@jM e Bu?Ntj[CqH0T@UNx@GP$">(@Dj	#(:}mEmѨ-IM'gP/<?m (/P$5>!;4c	1(.h:+;6ރieFۃn 6~j(Dؑ65~j!#17 \}ѷNUAWaZP*)&J[oh}P3G!"3dmڬP%{gXXc;dyܽ֐'_.(E2G0/!{zZnBLU㧉Bvq(Q/"&J6Kr:TZY#yq5w20?fG}K(*?|pB">C76/`IVx2s)g;WK_QڤX\x.so:'d?uf5Q<8F6Vgd@nua|")rUv&X>LLCM:O\z̞Q3B[;oQ\?F9NRPQ^ l KhFnoWhUb9Ib4jm]Ϭr FO倩bַA^T+nOA>,yK!lD` Gu .4,L#%跽MEG<mW?I ,G>\N#h/6YqBBu'kz3:y1P1Y!'Pmʟ3,<vb-v"|CGL@[ːni=.TP7oC\^ 	+GUat moV6Q% ɚ㴓`kEnGq2Afe'I6ePn-N%O^S2MSe" $mW^دL_dchZI7\{iu)v !j&i}{V")"9Yca&󕦴w&$Hb(өCᱲxIpF;(V6wwe%泙HܫETI3yn+8S&b6 ;;LŎx˞c|I5Xgc L dQ}xo=鏦')B:M>!nK'o%y+ Cb	Hn@TC+m5u&*8d̳rS+{WK}6}/O.1*d	b1;4Jxk[ߛ<4aHYO|eڛkrהkG8)f`k^Y9qcA#DΊlȬ=*;kYA=@G;3O%C2.23+>x>+k6>dػvDBKz5ZSq}i#͏QGCy/Fcl|q~gA,R*+`z~Fl 'cw[9Qr{_=R5[2zܖ=	>o?Vp\9;-@*C+U?JzWp~R%1,K3Y$[P
@( q<Vo&A.;dP<DK|ϛ"2	ofyf;65Զ	)EQw1_g1 Z+3HCya
b,Onk U;cɞ;f<ʗ\\8wы6]*5#dQB~|r&c 	Fk>I~'f< A7:5 ㏭o9VEV6h4kѓe m#SuK@E{Πnց[C7P >(TZ{he׹HYXZ(|S!u'E@U!E  "<c@Ƣ ?#z
kEm=	5	@@V4F@Dh(M[´mX߆T @ve,mA{;+iOڂXu V$ lzr,ۻ>B	u%f*-c }D>.>hțO<U|<_hkR2'ʎ4ʖ<YcہP.4(DlDmAN!04rI:yұ -WiTfPI0bB:"6t:60zǜbE5,,m:7MJ1z[,̰YUH>yNERFCaΦdԻ(Ѯ'q̆?7EHM|-
mIlxr1R2W8cH2`P,}m5@' '9SMc\x
;Os &o{f8;!/+kf<r=cI	Qs]kü=^6K<yث*˨keܵS&)IhFm!w ѕ-R2 `}jEs<2y	qF܍]Ƶ4#&WݙV$vQ:d-!70B;G! $[Ր+aqem͋(YJ:uuXPN ޽ݧZYQf2G9cfﰩEXI& uxbbwwjNYs3,cɐ5%O^Vp-Q߭<#ʕ#X"mS{0>[sH#.E8116&,͏bpM	:ݕ\d&qbbJZ;hu:m[޹ld\z/dS,	h{ю^kxd|:DaH˄YZ@H81/8y"6U"}2ճlޒq89YxP.FB5W'əSee,`
*@FmTU$As伞vWJF}mYǅ"m-s,[Wݭum>J~no<vY٭s[)=D;r"-WG\^#h}'>l{yr OU]|]p~+Oqh'06hU@FJ2&;A@ud}A>0"\Ai6h֮?)b.0Yݸ<?#談CTsL p?mrJ?AE
@( P
@(1HߥyPTn~*.vF W{۽APP|ߑq0cK0AyyX%y̱4cù`E_|F0޴P3Yʷ&n;7qF}c\q=9qm88xwyQ*}g1/ӷzlςZQPI\bzz.CDlѥua/;Q^C
G2+*Yց+g@pok{;M\?#tCH2jǴXvɍ7qnh. AOS͊OuE4Tcu=OppU1n[}T9	&SM[C2xG|2PWomxS{YP=4mI7ҁ#>P@Ph }>P'}?v}@@] Pn(
[U/}GP$@f;
Yh\J>"uL$p {OwME\3,L^߶SnvZ`X<JAm:/tr6ȑ>h%
$ [.SQQY# y$!hOUE\9$H#l}0agVH@EWʏi65v̓2쓽Nܗ%yVV'#GaЯ4eJ.FXf9
B<Vo3)omj%31f0BǟLGJeXg21܍l{Mj/q,xmPdc{=Xgshu=fo,7o,@ou;˟~, |8q D[׏9{=7j튓#aP}swOoYa<|I3@o~32v޶p, SHeGBJ^)+`M)7wE7^쩊 w6(	SZCl )))|<QO;]OF߆2 ,_2<gߡ5]eo [jAo3sd30rF;q!w`װQ}֭koG)9O8\R.GB{뿖O=pa>	d17c3<܏Z>,H']-O	?S1K͋&>Adϼy{BbtRn*mZq,܃Xa(tr~72Ĳ[4[~qL/W$bh!hI:UL9epY22O(2@heVqews"\>F33Zi[#Ma|e<0OEGHѯ(,݅cd*?5W'rF&e&(96yl Np2gRbK
cpn5VckX.}*T|OL/%[7" `Ѝ}{*a3R|I&0ΑI KSk8MSans$0Z$r,YNBXegfMCpޙ- &c: u˕R;e9ssC2j-_}6 { SM^]	Oת1w4X˔;eI [a G|aYşO*#( \B7( P
@( P
@(ӱ!fey[aנPqֈ_xβ*6h8ƶU{Q'0|@?t_y"	[!ZGjU>H+xk.ȅ>qm;z>+I5 p{IV {ܾq- >@4AEh}1(n! M`I>3p.v4JC7 ށbnځܧdė'@~#hX$+@g4	}ﲁ?wu{@_.@@}Ph:=QekxCW;r&.D>9P<-jcm>##1]P-ktTG]krb
	Ž֘9L6%J\)ֿQ@˸K{nPtXW blړh Ĩg6	t/Z	<c *$9Twi(Y'ehTm+25qEzc1\yB6į4zsli)6!yhđWK2Ndɛ60X+G-DONC+|H<BpUP,6KVOe	E6`iKuUɄVc6J'GҴT 7 {:o/ eZG/Y W	.FM-]/NsHvPvת=Ex}yfsɔ #SC?ou]t0ogr#-epN~u{5dșUё7m }T=Cc['ȅ
hs=Lb;go6j9oc^vSD,:%nTjhL\{.Lq@=;kˆ|yHX"A>b\KZ8r~$ŏ.DAi2f0H#{k4ȟƾ=^* QK쮊6Zsr{0_QHI`m[vSqԟTVQi6;*D98򛅘9B46kGʰT ju5E	WtPAm)'qf c}=(ć
Qu25l}[ 6oj1@DM@؃#߬_",ɗ1ov6˚hqp$̈́Hc$4wҘ_*x,gl`fjJ!ՀmR9]E4#6DQmTWXc'xlO]oserkc8XS \Pw wk[Up|g&5Hr3(Im
Mxz|』2ȂGi]EՅ*wܸmPCF=*]$ǔ٣[!5.X1$7^*^OB#~_9%Fto'b\n_sa!;J8Uқ};8R#y$i]Δ7?կ+Zx2 lfș_(cSi KDoS 0MC)8[\qI*3Z)(ek\óujB=~HnOMz>,]<:~$oc hzlx<~VtZ<XgUƥ҃Lϖ<o
z` n O0MDȿ7n :Z}U 2޸'	Q&6X\NiP
X_-r8\w6.LcO,n#r! {vQ2  	 MC-/s2p39[B6]( 8qez~,b.q$#󶵨9'LO|Ax>F"fA!ɸi2UK;>V3\<[rJfLQ)\ݜaЊ55eIϫ#~	/wx)J5gyd]hg&n~78OcMe.*, fi:jgvO S+/a D k L-;cӄw<<(푝6}CF{h('?UI0<Dxy]q{txSͯLz_9?$xϊ2a: w:Lգwhg緺 &E8p%,ItTY2m < LR|a!c[Y8gh2aTTɬW*f[]Jyo6 _z9\qprmh3riW,-љ-M[@U<gdiPݫ ׋  ?ɑn g_/`&o?/"p~O֞켷rAtx?x,ڬZ6 >4A #j?pPը~x'
P> z'P`h{M4	J@R{t7Ss}t%E"(;47ҳcRf<,ҥmuŪ-m̨I:{;Qv7%TQO*B"@c]{i	8aH?3DO}8W<	nȒ)#T\~k*g' r H(ojS>4bgd\.e'KI_R&uvT[Jo	Sb,n! c2~u-1W!D r.u-tPABSp=)WnuOϓ(- FjY)-xRIYX 7~SfGd`ɸ>޶^	NX@1 ׷Kw{;N)c(H:؏tɑdɚ` ~J%G.Tm=ZT
epod4 u1&lɋ;JKi#|yW6ӷ!,*8yx.0ܨfB#,3FnC~1xMdM#)cv^e;ſKۻI7̱ _ԠI-lA]=9 MV"V?^l}ʷ|,?)g+H&\c
x[M.Jr>M2d.}+HrB^$ >r%)==Rh0&KD?3HKMd]F9Pl/Ocb7M t-K[p3K(m.$7]sb@LA
*udQcZ<Ǔq?U;@YToPƗ.ގs|!zҸw2LžL:mQcmXTDQo{J^:&CBpKzʓ;br7ZmvqUsoE1sl\#΋SXu?ִ,z~Yfbq!-FO
 ѶSAΥoդ <XVhۮ;Iץ=SKrrϗ>#o6#`{(wO2=4ʉqcpn+rXuR&5+4_ K-EyQF2X1{1Q{@ەj^O NçmJ*\=s[ $d>װ[fUyb0yы^kgrX+:q$ *,v
@(}g_>+";5IZqO!3 _Q16xqqH`~5
=Tt=A~eKx,7}DZ[Ko1F;n%d/'JyXa_{Jǡ5
6d#Dsgc0?ܴ|J{Oef11&ɌKE<MёVS?^}WH?߁h(Ob$ۙk=쿢e ƨޭ F *w9ӍU/Fo/9I}W㉸*Q&,铖 c8H
5vx    *6P&H6ERXPh8#D>r|L[==h">B$#c50>C4	 s4~%
j?vZE/}(4	m'x7kPHM%>ڹݝ&y6pt]߳0fUbi=ڭ҄Chjf{owF\/G[5-}J(IG(Y[Ao4!b[o"8
w/,p]FָBVICBz8+M߸_\3>G<hS2Ym]BŇxyLk!c3Zdbe$^d]# EΫoe,ƺZMmk{af_ACd9N÷R\f	icdaqG!@tUa/s&O	1a94ʝ*v%no|GX:TcHFnjmm͓ҙ`6Ѐz[;+#r,c!/ZX tϗ?eUbcsjqTϹu#
}]6=H% 	w%B*hX$ 빀;5jb~CIcʉXWx^oj3;U=$#Pkk{%Pz#772#:rڵ:;w,e'qBm!s^g_w {sp;:Z=FE,lXlSms/(MoW910_2{QT}zrJEo&TvWԏ'Z"lRB.#et5E#@(hUiz!3`B?B*,7PD`;Ku1v[o.pʇ3.dő6]jar>rl.VxQ6X(vFs]!t?Y<%f3.:UH`k{tv01p[7ɗn&(TWgqf_)bBɚZ!)[B\l_֜?)q`"D,XMm~ey/]?DlP4ix${)ZݢqXc! HMٺ7ǨG9lUρIM6][*8V걯 ȹъJ6xU KZT'I* Y:O#}Gg'P}
je4z|=QR+	%hB{H>Νjbh^ٽ9k9wٖaBt;_/rFfNr>)-L.[wyLORq˟ǙGuQ!5e$cQc`7 (>Llo P78>##<;J6K{KI4T;]3^(msXK}yc K;}<	ώr9SǠ
@(h nO_Eّz*.o! P(kKFXqFv6UU$AΏ2z#+1oQXIlz	2kUbr{D MJaA_Yf5 Xـ/?z'QϬ B^>'o&@7ͽП䊬z0ߢe ƨ\ *w9ӍFvrn$*֫/I>YFH Y0D};}Tn2z+Z>]zjpLwv[P&p%Sr_RGk' gE!mی&&߫{mU2ϑ 5/_3"x<w0ܒ	$$	Ђ=VŢԟ+]p<DOꨕ*tZәu4A@M ?v'Phj@	`#PcPjP!7[)7Sk8k$FA ۦ}vHk _s[KTKBa~ 1kI/sct!՛D\ $K
i81"Ζ<	Ǵ>aޒZo-ƌoun@I쪋&if@Lw_*%of1T*xQaD'1&+lwOa#L5)<764&N.{;hV(Z~+:/8{o,q@lBZbKŧ&nNq%pZ2uVSQx<tA,"#pcqUYg >O6={
Y\|bƌ%
|*T_Ll	HDH:,+ Zc²7`38tֶ&Gȕ^(q=+l;kƹCȒw<~i]rBqWx ľ
O+)8wwoLg#Ww1Wb]M1SVuy	u`R[&rlN mcwfL.*Qs2eب%4c,[<\\LvEM"@VU6$0ٶ8tv8	;M^q̿ö囔G ֨ѹ|S'DD
͵ x}<XRǠa劕a|{T*0mZXzҨ\UP+![>RZy~@_'@[''|xE(m#fD\|i'A<r  Hr<N62:˕'!I&ƁvHUEVlU9	=m%ɖ",KhB1ڬŻmxkNp#1 _Ex+긱dEȭۦgwxn[7q6X%B Qgu}*uqg%l+&WQ%R'>_^C
|I,ϖ]`.EŬVt]f?#}Y\E&uv]+r羘O=>s?7=X	F#F+(p}>H w=(A\>ҋѷ"}eq1'xnA<B`'i@(|0wvW,aiFB]d;EPVe#Pz5?9?ܚ(ReW2%mDtѡY7yFP
Wqϟ:wD~.J3UdDH 'ˇ.)><,-QEzkrr6+!T]	H:&P
@(8'/'#("]Y|T{I4fߤ1#ӐXuYz< ѦGA~~c >.[ԛ'Ęko?{~=K\JZ3䟛ޓ hF?Ү#";0{_M=Pc/s&9v)\$He
o?';'23^$DM,WS-UؿEϖ M	Q[O~+NCQ9?]r'mԿf=%}, 1+,Җ?jffδe~	b7ƃhr0/<h!ZItR$ެ,Gg&̗(oz69P^D}w?=	?		j	jz= @hM&}YIY~?t$Ab` 6#]Z5*nG*%eohIMenb$yI,IEڪ  nП5rY*c`B˅."@~Mvɶ71VI<" > ukLŎfCᜄE4cXmQyIJo-R>ˏVVW[I)'NѩZyOpyp4m"H'|]Jʚ6$baW wED_l6WkGPSfq߲"3]~,v}u2!r|"\\p֕c'}Ls7ZBԃQr,ϑb 1"M]OqE=A'*Ȱes	eo2<wv#~MHŵX	}@=*/knlAVzW)8FDA]eR}=mez=zŎqF[	$ͭ[rǲqd13\jBn]%c~G-kkVJIH_1ͨCKxY
'%~)Xʋe"NvӘoyf<H&v>{코қ["3bߕNaAnnǷ^t9o{3µ$ݾ/n3"Mh]k;ZYPsg'x74Zf&ս=qec#[ju&^2|x\j;60dlx4oc'c]}Z[d2m{_Ea2$nHH5B %<ETw*-CsQM5-@sx:ɗA^P
Q,uVͥŗJz,FU;~%lIcQۺm4XrqA$ e
I VW5ȐHpyl|܄ E2-}	)9bcɚt6G/M4_uc~ fڕv{Tk=S͝۶ck88qbq(P 	k&+rԟ49H}G$Q[ jo/Gp;~>PqLCope jvN\};~l||V#ȖWk$ҹ_e~~#҄>cE9!d綥f=<sߕ>O892<!:q++kJ~b<_q<dl	cJif;$Ѳ)#ߥNʙLUǡm`G|G?2~#U1 2mF7=F 4U-Y G^Ѡ9|W<ZAˌ<G5@6cX_@;鳞ofm`$Hղl(P
AzW^<8(H/ث3)Rۣy-kkh$I#gv6@$PyJ1	!C!&CjV
V>oFYGI a4XJPqW_V Ȫh Ia4HNa@(8П~a'??q؍edT
?͍]o7ʟ\^G!qU6=.jӹG
4oihjH|Uؕ
8F ?*AoUΡ/PgE[/ײA yW'* IF	m ?}߶"ζZoID өHgM-@^?O	1Oym{uSe 	@>@_t}b>mSϖ6Dm4 ;ar2Km1xm)u5ⵌw"Y+F6kߡ3hش(Q"{[ VvkrM@X;_]խS?A(
Fznn5뫐sH/}8Fc&~.]54XC`#xõzXQO×d	̓ |A7;!aP([JF:׭Mk%V1ѡPIڋY7,S] ,txΆn;*c#.lEwEeƆTͶ	U]][^ʍ3/e '*wGP|J?EN7̞"LiLQFEȔֺhg	\&G @b2IfVUԑmGőUyU.!p$3%I,c۩WIɦPcE:eu9mLQBrWںSi723*@.k>8V#@7:6޻٤kGLxw R{[b<횗ez;=
dBBnElm+U&YkdA$cʌ۵mk&ckjtI2xmYrmlon=_j'1esفfdXF8z'Wlb~2X{IvF5F@i֢Bgv3W gVĜʬ,<,mW|&rbW%Y<"(dR--֭*ܯ[TC~FTu%(K$>B,@6#B.{C
HDdPBȞl`uqplUF üd&àJC3TUOJnQw{GK3(Tmˠ`um-L"I}?XYWˬeNb$R:KSYtק̒F, }^7BRc13Xu'kSrO=7NK^F4j6HN %c|n<^fSeAUmɱ^8c1|=urTYV6qAv?lzoӸ<	yoIc#϶٫J-m}]̏Ad6׫N*۳kwp=>CW'A&qHZ#a[l9o[;柣x*URS8WbU_8=uf=Y/yFe&Q&R>%U8*esO~&
8t+эY~3O-s֘\!NK1<쬑5KkoPg98Ata]\i|H&l!X i:iWvNc÷$j o{*E_-Gqrfaa.K݁c]\rN s֋O;9,9p0ǝ<h\2AYE&Yc'V	j]
3KzdSrYs=m#=\ \(CϏˬML+'nL2^]|ӭƢcΔeE< zcodÝ
Ooq_Q]+FP
@(5g5?(9yx7hgSc.Cl#\8BKXvFmF?G
,ɷ' U~Gw}'1# _Q>_X!= XX]@DSQ~[r@Ľ?#|Q\_̖3'\z;|)9zPPqՇW_n7rUlc5YJ9_L#6~?5Uő+0܄ڊ?6>h\  g oE[՜8I:zޫ&2^9EdK\P9Fo>ʨy;% _*G4<GWt]ߩԓ@<@<zF.jPYcsfG> GA Xvu@ai@4ncnu5᙮A_R@֘\͚7i	7oovm}K͎Ǔ6{{MMİycKFfzP4&:8.p }4\r!ioqn{hR)%*I#Oq52K|<>(Juv1qV1E;gAk_RltQUGIE{`ђ"*LJZa'Laf!DI-ɣn~8ďoq9dCA)Z.	eG&B̹9dȏUOwaVk~7ʃɁgY.eLXKG"ȩPv64$S@#oC} cY4~hB2^-5/10<2cF{JJ)1K(n#{ֺ{eIBE
70bQV q /,վ̞L4vXmGCW_O?.>fn>pqeK#ie .f.e?/&SHHBІ =kO_lː#!4>VuL:mSÝ]_v38 Jrn/ˀZYqʍ{xW ^̉3}=So9)u@dH֧ ,[X[1\6׳8 ̯ \kUV#*]~Yz? Wƞ@JI}D-ۼP\pxiXC;YVjʮ@bUb~ͶS'p͖t;l2V"Ǧ֥X/<?3{u4d|@6ZnKb3|=8bR?x'%dB+.SC
)	7|k7v걝?/H#)	V2v$E
c|j?ZS⢓BgM6Ԏ] t$~SRŕh܈f`KF5rlIy#.Փvk_: W/oNޞٖ?¼SYz,^	0I4q>>`!f}һZº.f.WI癉;~b׫x<M,cɓDƎm{{9.XCl<7,6x#y 2\^B嶷k\W,	س:;AKl]Th?Q[MyӨvaU 2ÃW)r-![N"ލ}C(2y8JB˙'-
:k}km0Ⱦ)$oG?ɇܜ|fwmU/?ǗR/
>WOQ)|0[|C
Dt6"ݣZQb1Z# ^V%DK.57[?o+
~S~A[de[%yFW-N(1q{$U13'؜},"ޛ*_H #g3>0S
}aaѽ]QP

VwԾ8 fRǵ=~K;)ɈY"b>\Y{|'zOcǢU;ka 2*_?DE*6aѼY1eGR<.	Rl( c҂ӾxxIe| Pee AiAʟ\G#8gfv=,ITPqՑe  g%XH1Hzy0,sʪsAsxk? ue|I 1   L >{ z1 _2<Z/O}Ky2$cI*_cͷV+t{PV` 4L`&Eb:=e1k~AUgDǯE悬6	(bzҊ/0P0Pu[o.u#E?QSM{}#ը u6z Z6Ӳ[nݻGg梍Z@[v0\e#@rDE- {*<
8컉vEĞKJ*XH *o㪌MY0Ivns/PIӴWL9c[6D7)fTBuK>lt+Ssk51	NFUeasč<n]VP%TjK\<83b&5C˰cf7b
XVhFLZ3d
cQT?kFX=ڥ,g?b*lw EXxO}P>\̑)2c(~D@'xmA?]߄Y
QY!$pсq85y=?k>ZHtmKkvӨo]zV=p-\"-uÀ8:Y2uXmf,nBrm5/7i3ad;OFS4W]1og,x|@ҩ>"N-n|9Lo0khYΞ1wq[7w!{*# tdc#)
A^mw[qkdJ#;1Jb&Kv;Kw^e3,fřgU64gkY.XwIDX~mɒTw O78£Ľ-_C/`1	k~C@]*caS($ ڊXiҁ0\hCӠA{{[~J `n
j{ME/wxIkEPTy(K{}Ջk_<rCԛR%Y	&J@d7}i2pBq*i+&Nq?Bӷ/s ?t\|Pa0F̑ǴBk$ٮP|_3x
v&42֓7O~<z$fJ#{n1Fװ6=fs*n~L߁XIO wof]y~Kr^NϕWjyR68'[{{=|:;@z__uk˽ӣدm}Mc-'Ń;ȹs>cbjoq2_Xxb|8wynvW+:mk#e9̉o4<@ {=wW9cWW$xHx>DFd8lcYV8\73T0dG,i.#FV!,GycVk]n-[^C凥{?y1q0NHLvXeD;7+;H| kUp^{BppJsd>T|V2"rc](B}cz|㸈9\2-Ì hFmn6e}:q<;[! ^u<˅RbNB#$j5\ ~2??ӼX4- Yl#*@(1?Cw"uƅbC$#(URIPdOD!C"X]H=P.~8?!M^dɊΣsjmJ@;,h61 M=U Yـ|DE*6q듃[R~ØC X=CrD 8+L~\z֧ ډQSo-JF? L %EE
A?8 u}W1ʫbQ
Oaxڬ{D@RE\mdР :w#/5h"PE
DR_QXhA-@ՠѨ븞xn6ިRh/=6:\ i#ZS>ʖ$ʉ@exEߖ)rTCwP-Ve}gbnuO}ʉ*v{_[	.|@jm~Q2h,`Toc@:+-$hymGNS˕lkVHl/ߠҴF.BFfP7Ua*.!:dEdYB
.ĆɃdG<R%MKOecIg 3hk4~]>p&y4n^|XȆMx;M徾5_1$X&DQ/.YwE'I6i-2:72bs<1y-"ckG~dHh[gi+9Xd(R5Qq5 k ˮb
~n8x2/IIn+vx5̍iɑ*]|_Nⱙ8ȝd|8|cAo? 粱c.s[zxkSXԞu_s@yٍ,; x6jֺ]a>͟LbTjm]v/d*b:@7cpI= U7ǘ e)a~'efa}ù]rƻ|_XY35'`{BH\'9!zܦ&6XJT#0R@OVIrof礣-qc9#,:`['Wc63PϏ,%sU 5z.?8`aHs&Tm:{h3X[Fm0ahх!JzL&DdL.C~L%CP;k[U>Y`䞚~6.2.TBWT{4QQ"pxQΓ(G<. A__-qc8Ǵ^?|##"FT jWNލh柦5Ls~M}ˎnxkt]#%j?CrI/6s~5F^;p yeiMaf@"8M%[]vU~2}'s\W^_PQIhN%c.H$Qf2uCr}տT~ۍYM >"q>?W_ts_uee7ku\_W]_o`c7[ ˗f:/*?cbB,HJcq~Ncd'%xa6ۧZaL˘GP6askzs3=678'$OE+zܱfe[@{#C./ .\p Y
3kn}-/ ~s3~
lxN*+#!U4ڬ4僧d}N|>BLG\|p" ő`bh0~JSmhOAN-Lyf=jcQ8"!v,~=?<nOD 'wOJӿU]{? " x6d/;([Nlo^ED:}e c dUgf6 _M=PyQzk\=x̤E{cVܶ1r/agN4ʁCQAY H #?Ռ֦}1 < z
0 J-Jg~azKx~ VrKG,`ر졖~ob8XDߔP  ?S gUα1E_ WD1D
	wᢧER%bXI4 TPP4AA+2/n*/P>_u{-ip\&z`SXi&ZބJ)j`S/L:bvcx] 4P%,FV^OPOK֨ce]5ߥbqdS=!(,oקuYR>dyY0RDRlsO*2wv~W4PD4Pt#)R#xR;/TemΈI},?51fŊY_@kyg@$"Y4;w Tk 8<,d\KUtԃ*\YѬ̇شJjN[?hn;.6Xuzm35b/̞|S|wG-gko\|b"dop[Kjb[Ȱ2%9M8r#5k\O]Wf1=VHhu鮲t~0MpdxA-nž?99xHcy$Mq4ut~,arx&$3V=A`om5arCFQ]G`靖j9<?NrYcr$r/bȺi.ٝf^d$'pu\skl.ŏ
6i#wj%pWqsdiNMi~LE*ba4d9=MƷ|['&Y9UZ1n{%?ۿjFdFLO#ďM `' 
d)l_2f1b}4ɀP`{;&F:Eq4dGA֙0OI-L"荹;A6a³b.91TװQp[21Tw]EIpﯣnkzW2W&ڙ:Svca{ug/*s'ؑE"veˆ_m͢j֛ezC?C<!1bomWSmR[Y0 >l
϶rת~v+`ŅֽS=הD/_Lc]c˼F\|L/+r$=œacԣ!@0fe&"rjؼS)A̷cYZӅY {zG9zwQ$*W*S; jc0ỷAyUvNiҚmׄO5?L&N[MH/0e*JתInoz+:H3alʎ巌 k-OlΫσ5͐-mO^*y|ȼaQm ]oZKQ~d	#.n3/Rr^Klg"t~l|ǎl+4ѷ7/!$m+mm*vGՏܟF 6fc+euT(=ߟ7=O2Gؑن[|bt	ԓJ 4nȹh  + )!f>fF%]FJw碅 n ?3R]/Uޗ-2T|[U?ɡ}FfbcfbO&6x#VS͟]ZJzØ/d(ǫ}I\e[W_#žozOcm=Pq_U ήw|rYu I a4HJaA崢Ҿx;Gǘ7^l 8׮޾jF0}hʽ# ӏV3ZJl?[?;Q#6io/8$1}IWX,Wo/X<kd~cJ֮¨Py*e?u\VTIoDE3P ?EIb^Ekiں}=Q.Q0moR?'Oht{!s{T
AW}E-%_[ݙ)h67 cmL;66T&E{K%5
Η'RTEqjNMS)pdH#,dXƤ*o5)3MΓeaeoa5&vD$J)ǌ3HZLIdȚk+B<@ B.MG#UE'!} K,YY.'l8/TIb%FV<$vo'f IiK`@ҳ.4#ϙ|o/"Y#IF%o;u)5M,x(wF9a]]ݶ;v_>G9_%vcǎ?MYke'qT\&G+\	<o0CȺu&\湸e?w98eGmdSmƹ1_W8/8D0zو OTLq|*dyr&Ǎ>`M3n3+~Tei ձQ9r\>.9Q[61#m$5giIi| `-\j `*Bmd`OO_}1^/2h^5Ʉ3ť嘒䎋SM״9$n \bmЃ{vr/Ucz+ULXxtJu֦)2Lp"T0	)ZGI2ոY,ϑ$]&ێ쩡P^[a;lO>3ėvlYBb*Fb)U:v	(pErO>p9!ʴxdHUI'Oֱѿm^drOv$2L+:`br$mDجnX%,n:Vva4uJ||ّp$g3d_Tҹ˗[tSs)}COC$	[q[ԍmtܲ1ɑ$3OVI!	ßk~k\u30[pDg	 Xf{ l.6eo]˗IRpN5-v?qƇtɐbtexŦfnQM[dj G84'![Z{b>99Ldhqn2W\qS~?7.;e!$2*l06'%1 Y^ݝ#_㑕@d]=ip9(arH,&2J"_w73.o;wrW7P:ebΚ23)Q)[v(ff<Г֮zޒW>x(PyBI Wc	s[c   ZW(ϓoVTcʳ\=^?d
xDtp Rwӷl{МyupEDC{ۑ^]x};;,,9ɍԩƺXĮ3K\y'ie6m<,QKW׳5b?1J	\Bw_Pk2O$AA#CڲBL8]r^ _eɫHIѷ\VRV)\# /y 5
<+< eIՆ3!A~TdKwi$n?sy ILzԾMħ#$8kȪB<!̌TjF ɛK,m$ t0=8=;w?6xq$91O|{j+㾈x:\! 9?%
AZ;?n 
ȣ5>_zoJۅ
\;*9fQա'l?2C4SDDCeapA6U$fz,bO<G9πnx5~G Iۧtjz!QϬ \/>?FEp' DD(Pyo-[_gmW6szcwe\w+ VrLOfق{EPsև?8c5+'ܴBPFA cDzCf31cItdC)j6z4|?2AYE.dgu'$.:~~7z6\LN00ha%ڬT{Tj::_9߫Tryv}\TCq5Q<]w[?oI$>4T`ïwmC"!%օU
 *^{:{jP#RU5P?P'h!lG@,/?%@7{j@m+*&c#ܑ~*m,54E<[	
oKT~(]S&)?e*vjzZKc]5i.ىcUŇźW1v=*jQs{hE (Qo$]Tjt=*s 
)q7 9@ʄt%-LSby,HcS1CLOd25P%uPiv[!ѹ%K[hcky~]?]
Kyt_%:G,q(*EDm+Rg |a9yxs$9!'rFpAԲTՔ>TÝ,ٜ$cb4WHIX؍UuNo_Hq'%/~<Ď_t8;
>M80 \Wr93@&,a&w[#]zL9?\( *#zA}{Z{dH{F|yYg0cvTv|ZV7k.+~^f3QL07³[rƕ;j#m̊h}4/ 77ӲƒLH#[mnOg]Pec/81%-j˚Y|=+Nm</x,/ω/s
ױ?u_6oUުqƃ-ǈ#V{ev}-9gY6H V.ԀvZ"2=-yL7!G3oe;~ϕ#Lo̟4Ocȑ/JBcHU=~3ng=Hq|l&Ƀy	r[v2|jbD^+EV3ubmnMKr}q!>dlF(8<	Ul+X*x!wF\,UCϴD171d{mUIz;\Qq$mtyPOq{i+˪H^B8&yÒ\>I<L"'mn5k8ҫ+E4~ldCv"ܭ5v,X	#r<r)Ԋ3"eZszkzW#䕣',F^;^d MuJt6w_Cp,^nݶ>Oo9,6Tm!~%W>]Mz_3z#.Ö6B&Ojm]t~E?ՙ S#R(yjjV]a{֙s/zyY#I[EF+MA5ked$C,|F܁V_=;<~q2
~11t$]wkMgP#/!7ʛ"SW[~Si>+'WX`<-؀}k33ɂ	PEIk,'^Dzǋ+L$tbGUQڒQSI,˻j9uֱʁ\xoK(Ěc/A[4.R*[v'qvWM/<1w-wrp˘"W[ܲV-_\6=ƫ=h=?_Fً̆2Ar?o=ՑrT/#UW8btwf[t}Tޫ,2=Mf~WϓcJ#F]_roE`6n) oEȇ{ 
j/})NPļ9"1xK|x"GN  &(=	A[Y/J*7 U7y m^W1l4CߞъETLo(v+#K>XܩEP
6'  dQ*~\GrYedr.RA4h $ =J鏦WS|Wߙks|k'QcgX_E  ,92("o ~#CGUk_ 0ǢU
-*>knscFEycWF~Zl(<WQ5\ˋb؂]B(=AE˾g9 9I*7 Z&^Fǣ;9vjϘPЩA<	>aǱ?=(1s1˅21RA*GF*Aӿɓ304rL7 x2Vmx$8HB"*   X?sդW:8Jd?eT9ߴ@M~",Va'CDIEOA|BsF+n
ě{P8cB:f]WqP$[_0d+b*_wR;e"|ߒS	ըPFFćpA7=tNh=P({^Xۡ&n۴ 
GVVG-bE M孹eE 	è)v0
^J:^{(	ػӷ^
 \hnOuM*<_{@D;J\qà'K}}sO1ap#SMvl	=M..tI*+cEfIXU{Y>O',YH*/5Z<rnx]9`eQy\;#ʲ ܮnwV}Xç9ab&ٮH_f?,ׄ(aq܌`/12l or7TX6Uq'sb2q͓qrHn#$wU}	;k[	m_\)W+2(ݮ<qeD\JL2NUMw }Id-W?eDݏ,-.kǴ/v|%l$vX~zϋY*ҨeS*R𸜏\e^"Ѵz1)f_Jg[?-A6(Ve]Y͘d䊄$~:y-Ls\O=3mۑ_ֹ{4նwC$,2dcݼ1Qoy=udSz'7#Q(ƛ$9qv5^2w65Yo/Oz+7cy`nC#+pt:.5ͥ=z[n=r883o7m
5m׷M4t08dr%nT`fOU)16g;v*d؋vﯻ Mfd%J¬n@oo}zagHPe!eJ@=;6gގgZ.kXMq)^}^_Y)|f^<'ɈD%lv:~湏RXɑ48bRq969Fֻk5pO fd	Λ%;ܝiX+D"(͕~L1YB6]IgmSIq\Vy .HhW?q)3r.?8?k3P.=Gl)r//Fv],?LI^V^&>sלNW	gxa͑LV ؃cQ+G4S\[p~`Snzg7ʿ=Ζ,:LQ'ʟmHbj^qO?99W	C1
;ȕئ+s<ɋrg2ܰ50Gaު(xؘbĐc@0ơEUE tG(8 ]|p=M.lő<Hn
#)ir,cCFc,ޗΖDUŻn#xߦ;d)>gp<L<lyr205U[\Vv.ͮNx}p<dY,yđk\ɯX3K}k\qgGZXF7/8QecK#Xd^;,t!ZL;_Aoeai#l{$~mہOʿGs:hO/q?ʯOIsDhܰXz%U|" 8@oe#GEXnY7zQM7ʯ z?# 6Ϭ}#oMdg!bC3Y?tޙEUj[Cp' we:3>T|Ȟ,u2+D&x3Hp!X"aFh9NrK
dbfd:HK,A-̚ڌoW=F?] U0鿗 68Qq|7>\1noEqwhW5l(ɉg''Rz[dB&98Lz?hЏm[Ox<_7("6*}z'/섃r̬lȷ$un/ lbFn/ lbFxOK}ScabAr)a]|"҈_h_Un~ ?'j4.0j~x<V<r\+Ӿֵv{j/_ҹR'#d!T].NSB= lOlyYs5-#TI:A0$}W"}9<)GXgqV" dǵzV ?'j4Cpd4E2K Mlk{vsi$iUߡmz+Ը .ܬsi"ksDRk~c
+Y|W9K,xO/ңr(PiR>Vw	<<6 nMwwkDq/>,<-9+rQ+,@Ȩp6_fڄ׋  ؟ѢřG_Uύ*M''RD!ц.sJ2՗Aa)ȑJ'k]r!V|^0cXKD_	1@6N#Sm03ve]"!I!Qv3;
d BT
-* :ۥ'ucGOhڶ@GPoA
6Oۥ2oT{* ݟPQP?m婅Zl6oJ)ReKm̪$.~SQY_[}դ?7uF-bCZJ-[vCpuޢz|W"`/ާq	!pB$q*0bKBCj4:졔&hLeH(؆"@KFYq`.1&p^}0H90}B`nʗ*Xo$mkTy9N+ⲱ rf+I,@6=V4k^u'#<9d)K,E`몂ie6u+q̼	.7q"<ȵb"(EَZ6:e|ˏNgcS* G1.Xno\纺֪#K÷l3E+[K?)ofb6:A	1ĘR_ks,_^.>NYgI4ߌeY H^SKb^J=K6N>+2!靈VÚaKSD2@Z!m WZcnx¯3Yy	1C0O-˸nn޽+Wk#>2Ҳ'#6\\dI@8aJUhr 5& +tVg=ŋyqI_hrvX'@ԺK9<Jc'o
w?\o>_#""	1O3VN+˞Mzs.";:Y m/J5qG(2 ^65cdշv0*H.[OמuSz &tݧKZ}zd7,< 0B5 ?~՞2Gn7.O0@`2j봁Cj,ky{rO/G4"d=g=/6>&:vXTF	"s7.o1md^_V;z5-exm\ּ O8$sG1ܷ-w9>o<+CA,"5368a\YZ઼3Ev,m~#OOLCKpISe>:5ZX^㸏Lጬ?8f]5E?ZwߟyCq2Y$y [@.Cչ~_}GO^drx=q2rbf;ZO8P
@( P
@( P
@( P
@( P

_VCgǓX]YTm[sw%^z+(yhyx0O&K#Yxh3ǡ,x8I{0*b VB2vcOP-(ՎE,{jdO#&׉ox{֞GfM|#GO$e&6wy$mMG}2!]nplA2e:mq8~%VY|p
*'=w;qoRύ &1DY"ج=0D,!u ,YM22pU	Zvx=4ȉ:(
S$T@-@.*[ZӣE${\Ƶo!Ph:wG $Pb.E6@mm-^h_ ڠ\j\zZqKXanuԫ@hGZ}@nQ=תPn>Ue'͡i3+t@pc&Z_MzvL<3q"ڥw.on.D",HE`iDZ!,ꙓa@d25,HGr_՟[/LQA4,e%XYWRvQqSǜ?[S.9<"T)#t[Ij++
7'q't/'h"#vO^q'/y\w%'6ǒ9J@6:['mwuۖU2,uyċuxGƷPk$we*D2.Bèmzmdkkqd!Xd$7xwm;]?\|y+7vG~09%3gmc]r+C/VD:m.aerJѫkugʵ5<m<ldkbîu!KDcqi<cZsd9#U6,,϶vg3|}G7&%Pg.B_(7('&VK,JÊ'#ʌ_o{*]oqe+<L8rcfDc/ث,
_̆Df-}EUѫ6to?22%7<_~Ѧǟ8@Yw54֕JB<Y"kO]5s+zŊOgE m		>{+Z}{DYZ O=nֳshMaӾ	%0Bʶ<>4/OEv;,NF-Z"/KeAZV*6ЃSⱽy^{9X򉛋FHǍm]1sv3
Äh;#rzYmsć=-zۈo1cr"η+sn>0P
@( P
@( P
@( P
@( /$hv
	
.X{I;8^n.xF fy=LwODEgÓ,dG":	#B2*Ja?T <6NI
q%_HI<托 T?# y  nhd}L?X߭ 3	 S}pt?<wj w  qꙁ x.槯Y T3 }C}5^ ,}B}3 TqG_!Lv \~+O5#=>H}m/j(Y,0zX>q,? xCZOIoF  Q-6~Con?IN_K<}' ('̟.ޔmm(GX;-of}vg\~!뿣vO Sxѡ6<ӉD?K s?PꏢP1*уuЄSU8F侊3ͧZ'
\+O 

,Ie>Czg N#S!/:ӂ,xa(?Db`U(@b:v zQC z>/U
v =;V筴@`Sk@k惺måuPbl~zK }ð  U](HӧOm@ 8}kn%]/{@uI,s	9p˰{#paVWKar&*@$RN(wܾҤwM~FAhG +t,xCzr~_&\o2qL|Hm
Gst]],H8)L񡓛TWd$Ho{X{n]{lo 077.fvOĬe,uZ_DarL1P.9uF6Ȓ8Dau'<oV&F/#R16,,ʠD;׬Ǔn|J榝lHϟhh!Y//ׯlqN.u1$yBN2 k\3Wy\)|8'_;赿Y>)ObI I!9.F#a5m^ޱzm1<_yBd&]l];	;j􅓎$1QPcb:5a[i Ϟ>E31 m~rT3bFB̙-)\U&NS(3'CIrWPV7nq*md$d,ALki281y^?{3lTLxt{i~b1dl22#XʭNmtxߗ'xɄƔΒcN\VI/×Hcf#6Eɭ뽷6Y/8v	f[Ao}g]%AA6W-2	%vzKUDҲlϔG,Y;VLG;@(-j^2#iq?&][kgg\n>$I\XY}5M ,TrcE8Yɍ	Jڍ";#ʇԞaaْ$Q2xoHk 4z;(>^wWMfѪP` 2~rz8ee]V(d*rusk++7	&FoxD{C?6:E&a'Е;ɆI,nE^V$*|u=Ϡ>Bhaƞ"WZlk׌1Eˠ3y8s2#A$xFV[( 2	\Ib0DnThCW,~`kM<vyC eBQ8; K0
uݪ |rh때O,kRknw?LsHTwpehq~m::+F pAAPs!NC'zs2Oo1[׵(u`^ֆ]	sXar0Gݻ%P㰋؎*unO>.?ϕYĆIU)r;c}̷g kDcӟc3|_he})}E+&.S,dgzc?'?NfʐJ	X+}k^L cӟg3|_hd &5 ֆI?[ o> 9gӟc3Zo~\')52cs,o:đǰQXo^srbeOL|ct	۽Fl(c_X<F<JIyr!*biC;5ZP|6_?'bdGOeo\*5Mj~1_YHOy `M? F)2Xǋ_ȡG#nF$b?(ɖQhq;hGƁ+A(I~\}$xrzsH<S]DW9Z5#vpH'#Q8+)E3)Kw/zc^=YDߺ s1M2N8?|lߡa@r8_֞vA`YGiYG/Y[+I0)8䲗3lwh:\{讍 5YI~  \> h1?}x [ h`b ?^?M?`  /ԟ;~IC\~R9]\vF0#̔|cz%sxHmLhXhEv *})*n/U(AF (M]}BOZ{h}zQ`(uu@c@T t	oKw^t=A0
GcZ㾀"3àr1+xm{vvP+vó@OuMj-4^EM?{NTsǏZLdvSi-n+T6rU*E X1hRHjl|LGDxC'^gcc49nIc}x_mՔEkŎ]k?LY\^8+D5y՜,7encn֧bݧ1|qINB`JxuA̵|ahÌ[b[{W;tѴi($ .V-k,]sp.?^>yv,|_U,Infd㤹`$xKzkI[36Zgyy`d:__Ǻ՛rc`&A 촲=Ww]㦬SGY%
a53{r-EukwXړ<|xrUHmMwƛ^	PA5/ͦwɑ&V"p@$(|%wVnZm2c_/D%ukU%Y͙>6L9J( tC~*rwʍ$`W.v9>VE2yq~ő΅ү\^+	$t9f'Q&ELbFd"	TcW2X\2I)xG'ktЎO/6W7<xYFB?_h^i;-N,lL<AЫ7+ȓ'*Q"	db[Kտ[V12q1ɑ_sl]K)$jYq z& ;\GV/YWi,(q\^Wñ*,(W ftFrkzg<o%6:iRP4]cZ~lBg1U "H\-sG)dg#L[s;`(!BMeT(f#@5E36gx^RvoJrrbːpwkQc:PѿR 9=!G+\eC$=HA
{ '#w&Fc#1!O]}#	0.JF(,7fᩒcfF$]֭*<ܒH>V+|;ɪ[ۗc8Y5vc\ ;NBJ4di OѨ¸;#,wery؁L,@ {u =a \+Pyя??+Qך 9 󉿺!u4A#	$(ހ_oN[ә/.WYIdֽ]s{^X˓eI+)V蟩o\ꏔ^䑔;̋MuȖRl3_(xދΊ}Bp_>p]ed~1w# 8*Zm z~Ӡ~?C%(fQSϹ|]Hc4P*`XY=>Jz7Wyi
OAm;#T}UbOЏC*6P
Aʟ[ H PUDi2'=z
im*hJ#[kQrs#]4)*J kTm;he Q
(Xo@]EEݠJGF>)'J(A#vdhZ(A5ǥJ
GB4?k}{*(]n@=^$# ԐI7zl{P(F~(*|R zhE7[P+	ӳ>&_%9"RKUR6fWC尤Dqe\MQTuem+Vgɱ&n3l;,GжukYYq:kbeqS󞞅
Gg+*mg61db`eX4r2$\H{gboƄN+ QvaͧJ9t1bz?7ɜ.Y-[0ƞp_Cdx|{۹θnHWY	5mؗbn;ʷKIM$vIHm]|Sl,ؠ,7
WWRgs :V;b$r#DpURs2"Z)ۤ饭aWΟ%K;Y5J}Vj<V T 6ҤsK?c1tR̿^ecy$t@k,-U?+6X\yxQmaMCRZHً,˴-sYz+*r	+C6U|M,,9a I")WG{^($ɑDc3شmåj3Q#&iJ&DDLQ LߘOs1xB9 "ve2[#{k9&Xbmp(78k^?-KKK/ Hv3"jk3peybtх
7F:VcW!p<d0AbHl:fX _61|"'PF?(>{]khc']ݿf/iεLPwu5_^8|K>A0AqvfnE
DA"~o"<hOth
x _3L~[˓LAyʒmY\) 5Ў%L%ʊ#p5
e/~Vdan71ɹ-в{Zj6LGo,4΀($:_~_SxvCpS_ՍTVmEHlA
;ԑm_z|ǭM'L=pĚ[6MY.>tw!dfmLo+#1I{74'ίnOvs,]d]ZT\#FfƵuvqIF<)ᕔXoǪվ=D-r~:~uŕQIAO>/r]?S juoMlh3oDyyd)K';6A
mOj4 EJ4 Is-A抓je???+Q4W3aٙ8^qg&o1Uض*$^g) F/O<\嗎3cRaf bUd_bވr|'*I<X_h2@M:  _4ߋQ|[Ը^zrO<HѨK,[,ŵMYB"NO+؜l&Jp7oh=O -}5ĕ.?{|#+=[s\)1d#|I7vUlM}d:N[M]ӫ/D+@bF4jG8ccōŏ,pĢʨj
(07?*Eqwkc%s͙sqۼx$IS,oiB=Lоi|QN&jc{	"N"p/FQ5+/3Tq2 S*^ѾA&!n'$I&!o-.6ӯuV' }d  ɑ}e;CgHL*m ܡP.[ڊ/n;I$qEQff`߮,-D e2q y5O&ۍe%wi	:* (ͭg
sU2u4	PAB;δL_Q Q (kDլzvh{QBַmj֠.I"0A T	.(4XJ|A{Gi5X{O2I:
@Z?
,7(,-@M{ӠMjﲀ':4 ݠTbI\x~Uh
B[u@</,ױ$qH07Y#T^nח%78XM4sB՟BYHݩK|>~^?+2bd\[=g}m6Ud c'IB  :wW;0J2İi"c,)7Of_)?W\v#ľy}mnw7'\L0L;7]<{@vV.IdK><>;nOޫc%p4$ek`oӲ,)WR˸HMŊnebt9,<kŝLPYh=+;Y{kY?.YB.|r7"Spj+:텳%g>4N'!`]5k"qrpG*FcX|,N*bujtڥHo^B"h㡶voNM/E *羵rV&IܦᆝVԇ!0U$#]tj,nDR͵QYIvj{s;]q&+nLH.vbv* )bȸvY1$Th#.JQoRkalC"2L*͋]v
]l!tYWFBk6nuYcY1_|2'7Y*] _b֧ig@Q? RV*d_iF:!Z1)˽1J"t!	 efz◛ʊ+i'$t?-얦Xy|H\BE!k̷+RemDqbW__kV>r	@i%foh$81[Ǐ~ԬX߿F>9@0|/=`eUuL
ʏSbhˏ>%ڭByxΛQf>:[쩩ywhSĹˉ{.|?+K+w[|lmR=)f1觳YdTmڵXc./"0zrP<D(֮M[3C晓|y7G*N\ ,}P{qmL,?/Vی䦎5TQ{EyguTݟFQPGO%x_w:Y#n}ش
<=|E	?z5 K eqj+0Rۉ;,|5Q~TGSj7(<]O1&sB!uZ"L?.Qcڎ2t8H?򪱳C;A>۹y|yF(.hP  *: _X|XrϊGngV#GFvqvۏgn#{}p;3ng+$q=+zJaA_Wܹ 6?w)`yD>UtDu/5$ޜ/
t˃.5= FWJQOU`ƻchi9d2 qUαn4[s'<XaA̟[+CU(4C2utPRA}Ņ"P@nR;j1P;M@UPu}	(T;(jJvò  -@InðZ P(ZM{j,zi{wTQA#=;hX:۶,^n;[d\ځ@Շ[U{ۿZ/2 id"],{~BD363L2lt$#/d::_||㑛|4A*mB$_rr\^=nǖe{-AodpED+$F%򕍁
Y7.zڳf[G,ei}XXI[s3I"2\X}u3,ɏa+3.AnڋԚf~Qq/c10IQUU}VIɽh͆ .IJNFDIM!ޞ2^+7nRۅ :Lv{驜0o#,E9$( ߴA&˹5,+'37.$XJ. o7]~+ 	Cxs4Ǎ8	o# c6Lw3BHz$~_*ͧS<RrX)RЖus&BvDXfijrݶ6鋧(YC)Fn5mtNΝM-Ōǌ^&Y%ib5W=vO)4Br;
Xp@u&ԉYe<22m9M7nzge#<91t[R0_NSjRɎ!H#Y?暈&Ȓ*cӦܫk~ Âp1:4BOz]lzayK~N8;Hn{WZ#~V7q%)gR_	a'uX?ȳ`1ٴ9EnMi$r~(ƲqW<%t`<Au['p~ʇ"9.@!fG)UՇP$^q#<P:LY61UmRb0.B9bȑZ#ն(oJ+/0g'lG-c+=Q2}3㰺ͅ4hqgd0I4
ߊm)Bnj& 5p4fI.i*DGk+ЛH7'~lOLwVXۿSӘJyț
`7"e$\ETv'ѢeʷiL[~jTi|U?)=VO䱢WP	`MUU;'X>#t*7+EyϭJ ZP|5#[FMOɳqT1Ax@{K
_z WO4՘uQkiUG'O8VqQB~dsſh{TXOfρ9KQcʎ26ŎAUi:҇ܧ<]p}E?#NQ]QSqawI.@@tCdkD9Z`ZF3E7'x
0}+zAA T <H@{j
#~[r#okWWѠA_;}PZ@!oZ4[s'<j=Ps/?' 5c;9JhU`ڈ=ڮ:2Vʋ@~UUg x=E@@w1UUzZqO\TXjI[oU:ptzӶ+7 _hJ܃PT[N%QjZ0"㭨/_`{hh>ۭ$. [jC)}@"B:(ǻuL	!џcAcsY%]T?A,sc"u҆W>T\p:,J(APǋ=lQc#LW1՚9!A3Y$~J70>ayi'u坡U{^6uF*$9I;H1w{kM.NLɁ̌t
ܱ09 pbAlitSd䫆)fK	bHVϒm"ibb;}弭Ls,KrouZտ,3$R+A,l4:Yڷ[qB|DFۯ,	"ZQ4Bai/YI49ˑM$6>![Lf2RF'n+z͟Da6f1Hꄂە	-.I~UU&halͷ$zυ^S&N7.Bmۛk>yR^B6Ab 'v v;f 8/Ǹ0-[rWL$B,+%mckju@3 \`ŘB3ǽ-I[L8-NCZ(`$J56V41LEuX4$^YUK?Ew eW:ZǧSm^[;DpXzN{g$<++BU6;xp{뮲lFw?a WKzVbrMsC,MY#YYMr$Okô7SJC yhw*E?i͎dKySrZIXb#.e`!R cu[Gug
IYX9-cೋdmmb޳ۗBVYTm{!O}ʿ:6N%,_1R<SnOʏS>XiI>BeŜcoPz؂:UL6o}I?Z&)aW-::(RϵMEf?THkTFv$p	>C6!#J#QؿF,yO Ea;Rz:oD=kۯ 3( ioV/ ёQ];Fg-u\25ir$0H{2uykv;HŘii#`V@Sߔzh^GI#9.GHeVx1)[`hԒ~U'?G8Vf4P#Py| ٚum˟Yp'K~X~ŏ bA ʪ	h.'v́}ޮLO/Mz;<ZaB1]28fK"ZU Tu4iA[RTUΩGQ}r[
 N~ ~=V6j½e_G>z9nKl|Sʙ!弛
mJ7/ M oQ 8[y_^rX<Ib:W=ؿN?Q5F~?_ gg)ƦhzC,|dRoT:ۯ \I Pƀ
쪁EU :)QEeگ}O>ڨ6M} 
;֠  eP0lm}?aMJ\I5{Z)A/kk@lKxͅAz E/î((O׶سKB.o:P̀(hOq2;n-"qb*HY6r@[ﭨ.3<cU
*;ƖZ.Ɵ</<"
xI܃_OH$ˎHa)M( .|8_0Ȋ[=JE!
EǇ;fύSa!Bl
Gjqc:ʩ}t-ٻnzNV+$,5J:m@C;ɑn\MZN&^SNŲ}ubS6$ś8>V2G.fsH)7Ru ef)&\b!6a}sy@6txDS(\!y<%Ofԛp% $$j,d|./J͹`Z"&8
קuk] ILܼ㎰JГ+k ޚ޵5&nH1:1@~Y5u#-Uc5JW^:'	RS?$Dxco	`zOCk3&lLg%ΪukKlLJXiRHQuee'x#M!{oݭI9U1qyX ֞62plvnHlGr	kF cuYeoq&L锐Fu&H-"38I_qvԁV}2"bOY|Ry¼m&-t61Ɋ~@,9aHP-Vԙ-FA}Iʁr)eq6@;\ = b'P,T7);NY{uY-K[b6E(bJO[#Nú}P
@(Vo:IΣnҎ'<,Tllv2Euݛ]UZ0LgecHW,g[]ۇm*uѭPLZ,o+=W.P?"Y4MmS,`6{=/W#7AZGJe7EyH#y5;X>Lmڎ!1c07pQP	?5	
څ>Z3ƬŉAkwv֬J!>o[_P.,/>W;X[c(i%hY/ommASN(<uDٚuZe q?=-?<_*;4! {sdܤ?$)bFk\>)[3*UQWIzKNenWU
}Vpp
b irCY cUuOr7PpG[痩u t ~=V/mY;( @a;|OQaA̟[+CU:+;$?jN뚖!#rE@$}jt+[N qz҆ P@=ߔ^ GZ@	67P	SU@VkhQ~@aihIM :P*ݣTdIcQ٥   O;(]䐶^! ne :h7=P+5QUPeƂװO.qc,	
	moj,spLGtWB,稍 {負9T\X%
27zT}CH!#lBw-H,4)[]{-}j-5zahg]H_貣kM E u))ȏx2H)6uP]Uʹ1~ڕQLsQȁ%.OoxDdYLrTo zn7"Џ*{ֳ9jTr2qaoҳzjvaGv!̹da~^V$) UɈ	R<,cR̓3i2$BAcJ̸YV6L|kM5,"0Ƴh+1><6>)t`i}ǨhUv6t"Ô?%2lHW(^G)LDȊB #C4be	%V\h8$PB}j	<("k({	#7{۴,Nl+숊NbC5=cN$,&uQ$tN_u'^S@3`
n3үGVxI%#p
th.{3pt@	vhFTTEbi>}/8\lSN<ܲ,	W|dk~[m~3^aBb0̛o`Osٶr7!*f,l|Våt
\e#&1ee	w=G@]fT@G[IY*P
@(5#K6͊tԣ^)Dcpcb؍5Q]'ŋsXV=kKS?< -\n,n+W#$|JUq 6DMԍAPt1ii,m}U:cDlX%F vXV%tUy':lM֑k5"T5p[//</^GY,߾H!2<T[bj5Aos{dDha(H@	FO@\nl.Ju1m>CNH p F0s3iYQ|EEoY?q?=./Ч  ʣ;4DQ,Qy$!QWRI6 }Yzc~>\Wqpbv1_QgAYjca#ey$RֺњOOɟKNMx?+GEEr
zcEr0'~aJb(è xӕQ]QF ӧ 걳VѐҀon@OuZc}<Kj=Ps' ogg+cRc2BF[*UoZfi5P  kmLO#oXm`J@hdu>JaX[ݗIvl{TQ}NP.˴~{	q R?@r:Ҁm顿4A[uP{CPSm/@v
o(AӰ/NjmaƁ	D;@d*Qg[FhI6Ƿ]5!,)U(WhwvIs
`ɭ)U
XaYHcO#ZkjA8Sl FdVؓMͽfL2T"n{,2Uk)e7`i,C"E6ӥ/#:A{"cX9n{YPU[Y\)糦eH v?Ebm~|;fŬzQg]᭵F%C+OJHtJdDM?H&騻:V,}>0\ǏQ昀=MJ2Ø3oޛbdo	#Hcr"E><ܔH*՗~^/RS2Z)#m$S\~s~]<qQ?ek*@:]S6\H:;̤45SaVV.IΒƏG$U=5]2s<x̬nNomV.e|PﱤM/k<Հ+kΆרejq#i3$`馣=B.c-oXKqU]2~MȄܱe/9kNDM\}~ʹĘ &w"B,[G Տ;?%nKųg#C1$Rop=jW<.v.2e_$0n$Ý$L.8*뻶cro/^T T_md[i$t	6\L9\xVQԄRAW߂f!}=p./<b.0oM=/<v>j0>V~`s9|^?ˋrL::2))?R&g%,>Tq^Vt #"8X<å"Zo('+1k(d+LY}r F )=W.Q+LLڒt"i ,QEحϋ E%7έ&vn:j'(W ڦ 5W:fMI & "ZoG=uq"SNA|F1=2c0bةqfN -p#zO#	Ϗ
Awf,Iwm*ep>N@ʙ_HhNpTn݂RGriwBFVh-csQg %svhOX ˁ:r8ޔX> .: +&%x~lzc۾3Du<[8>±U#:Q\/9	'VkyO|RnxK& ;9X4V?{|U7>>|cK9+C֫ ?*Z}O OR  cfҌȟ 3ynO'~66q	]V* ML?8Q FFF~xQ4sFEz2JyeXeݬ@Z1cXݴS&A NނTl(9w zO 7j	тֈMn\tҊPoBzA@BT.Һ Qj43DJN:
oz ARۺKtҋFQ	=hVݞj͇n  :T8= tTCa!lA-zP t@wT+p.HU

{V}Eho@ @~Am/@H̄mѠXqpi|VL0K$,M,X~QEeM>nNT1S>:i9.=mDQ$-k;z%XV9c. V+wvU"FWБoq%H	{=n{@#eVo" mg%޷ 5m޸EVR}~]%Cs̿G+)&=!}@𗇐&QUM=֦"r@qby^K(cr`DG(K#nZljK+n^#XXR|R )/<'L#$##tAnqsYH	!p7QQʲNNxxid<ð8GꏴiRqZIZ|3Jh.
v^qDmG+&TU`,4vdQlXw?>Q94, Ձ7A΢2ϗ	|ZXu=^+['(4&MOua?bX|	#%H jR0FF 2/V@H7SkWY/7.>pZI<b\6lIړʴnb wYZZ:mm쬌Y$}(gʠ~пyr~Vbtʗ&<og1mxn;;=2r7Ec/C~'Eͯ]5bO~ZgRyy/A-V篛,3y Yocdtp۳Mv[0![
C-g o)Mmoe[4d">4:C[cȿ&yb	53\2B}de;Ճ|(XzkQ+o6n%|GZoEq>>ToWNѧp9GOjp 8b{>8~Lj^VwV;1|G${J-r')HʷFKlhXBH,8ڛٗU~mP'͆2xZ9ܩU@#OiNJзJО/-o	mAϨq |[f;,qݼQUг 5!I=(|oRWɅq|owZ:4_?n:,o{r QD7u'Q[ɐ"BGaQB@<9NqATْ#¼dulmL6|_N7ϟ<gdd! kBFyETz^{ҜadbdSz3YWBChA!FuM
|w~JfnZꤍױL:CoCꭿq躺ҍJ?;Jnc_޸c5⌶ W2p;z	Q(9p ~ cp*NP7oS@~ۊ&soj}(nj@F hʒ@T}m@`)h
F!=Q@d@Q@{Z#OUݥ:aXbm7{Z#Xq*=BB46>ޕ ۷۶m{w͠P$uEѺA77m(A:e6Ԟm"往4zz٦	ܨu@(6@h$E&|$e["19Tb#{{^XM|iiDQPj4S۲O1+JΕllNfRW.?͆P:fmZp* V j?E,B7;I6_f#KnUTf߰9upD9/+dMD-QM٭Ӿgml/rc;Lif_6u`ZWoC^2dI|Q :uG^Jo#)LpQ1)!EƤCZdgT$0*0];<8Β6"aK*;~>DyL^DŚ8&<^	u	EfEe6VO"nWGD(a51zfx80Q͏AA7mb\f$rfT\kxQПH+2([v{$X2HoݠøJݚQ.;mY2c	I{̱XxԁzxBn8d`ǌH!+g♛r/as{}S :~٧)米 ݪ^7Ze/4, touo]f8mw>yVē-Pab˴j.K6831ll<l/e=vޭ nc85.&>"OF$ V]΋ec:KɈ+>$iu\[ѓ (Laέ]4s P8PI2͜@бi^p,UbF?&}tצj
IYJw a5[ji9o, eVչ%by?_&y8AcyB.m?LV+0\iG7֙,OoS{{까w/ɍ^s8F^&4 s5+z0	sR1l#Z^|QcpOꚮbAӧQADYL<2dbDƒ*7̞t+\ !
E4OO/52*5Mbx\VCLvq
dk04?ȬN>i[mnVQۭuUΪ""X\FN+ֱUF|aXݓn2A+kHd7fEn:242$ǚ?'ć:S?E1!2l}Ɗ>8/;Vq˷!xwE: ?	[o3[KPv#M 3Ѝ E
@( '早#>YNOQUD܀_T'>3 aQuu
#?3)B"ʏT$]HF}ja-jY4ENsŝ #07f"WQU?D֋>h{CR1SUw M> J,zQ(9j)d'm\CFvrG"JQD(	$vu^Uku?Z2%5=D$^E^ҫ$TQ^(P:D
(Pv'"&@߲;Vo*-h
 Y;H=n( Kjm&Ǡj1o/PmsZU7
WBt&b;J(ؤIP[ORA11]c˴mO&mԜ	fNyȳ3nR/Iz-2>OsG|BbqP.0:*wE57n[9WUYI [bN9[6g.#.3e*VMz렱2,D.EQS쩅y89YJ3,#L[G32	:>epC; d`RLBѐ:n}S1b$&ڂ縩phlTL_i6ף\m_U	l%O;6a ymp8z1Vq9haI//JY;"&2xz[;,dk4l[v<,^)m:mSZd#qx'NH4	&U1Kk@ߡekɟV&sH"xX̿`w0XMwK-9ɇ.x*9{{+^<I H+V$tt1\b4C0TeWY(oJMmS877+70.4۶:kxݙ<!kLUH=YbX։^iÊ<8gھ8AӠ2|Dk}F6V.$3H&#-ZCmY_gyǋ#
X_՛2Yh7/u:wV0^8:dọ' U!m8Ɖ0/2ik:=ӈsHs"IːƷ[R-VQ4tĆw/X $GuKLc4F'qQ{M$3C7H86{IK$LOH۵u;ZՍu\_)̻.7CFS*MRIb\xl\fc8F;2=P>AciUA:{\ԫ zdeIdB />?ie|?sF|bp!>T1W|ܥ_F}uHl)2LxOLmܨJ-s,Ask{4V;n<AjuY%큯8n>nx̄7u_ʓ̋6;Ī|Vk{eJ/k/'"m̒xB)z9[ 5_	XʣRy!	TѱIe6*Gx5\?U Vgzsq}@YeX"tj
;jV̨۝~>abzZ/DbNr|r8IB}gj+wU`j4ch;Kӏ|ʑ6KeMcfGptEy MѨvMTu'7u8 ёQ]=F5}x:#`
M鰓MgN~ؠ-ԤJ@Q#L]ʏcKBcDaYqMʖ;_6ƥ_dѦS@(<3g3b6Hb"w1c㴘3]C]]V,"XDywbw9KíL U\g|.9^WI|x.\F[-Gw VuA.OWzę 1ΟMni+ͿÚ Oze~jz'#ܤSdK<aM,NVkwX
4Yf,h~>6v&XӁ	f?,q ^Α$wF>=&O|sl*]HVn/}K3Gqτƪl^Ҧ.kNo_'sSǉkB@Cm'1bq<No+10 '!Z5}EyNE46^V.򚚳V5z[s'<Aj:2}n_l|!%af%`.}A^JvU64	쵾#m"ZQ ME {jj@>hӾ%A}=A{U ']CvMQӯC@B_Z65C_*@{5Ç*T<$ѽ1ө(µ4֨uT!k4p?guEߵ{(oAz/j.$e8h$wi8aֵIEJ=伫$⧇~\8dDm;Qvi]8Þ.Y?
/MdC.lyFLNIInPcT1}w<p=?񘘼pqYL4,lm*{1*bߋ7䓐21ؑA,#3<iC[{{i/V/FbqcNwbH f v붻^}xsoΑr2&DE	B4mt?em
8BI$(o2mH>ep͑XPuG\'R@(&1@
{XRJl|?eGݸd96Xt'\XX49;h]쫆r~KV\C<Y0Y=7KTg|-\]Ⲿ/&NLxrDA0cFD+t:ןs^2`N>-3#d U6ߋkW0rmMN۶S_blՈo(g&tH\X)=:83M'A%:bKQ#2-a9UGf/7ᤚڹ?췵M~Y'&dL/
o̶=Ƶ9D?\qs7&n-"(.kMLO	94 K2­Q{[f(mC+v F=+_~<ɑ`">w]m~S&HBE]\+scsq9Oъlk] RmeV4Ʌ$oؗ]AVZjm
Y1!y$aH9,NE1Dy$bqYzRA.T9-L,b
&vfXZ
82q1f|IFؤOKճ8$G0̇,6sI7 Ų꬧UJ2C|p"3?	'veUC)"xeu,ݺ㷥K +10,	RV&j3dYL~j 
vרji c8O(p|-쮾yd8dɓXmn&èC[$,X#2,:яj`΋(PE>ef%?G|eteEHDl^v(,{j8|0SfnȔ(y6FSh8ޗԼ$[xOPd ι7v>b	ѥ,A;mpq|8ުUڈ2$%Th9%.Xy2eeL2ygfv$ nߢ9/[zӸ prguY[+Ӽvdz-q\W`"<|hE%Ue\becE1y Y*I'QAEG,>1 ?pnW"Qi>= aIܖ. 馾(Y P*lYELRUA{3!\x$IlpBAi?Ц	]]B+~ĺ+LPy0r$$v"YŴQ
bFh(ۭkFuHHHZ\q<eߧݻzF?71зD͝TGWbC4+c{QNPiM!k
7'^VR\y/Ĭ,u𫁧e2_Dr3yguDfQoؤ]6U#ʍ:}jo*s\{>>3pdǗΙA$5:"=O~"*D2  m_Q(,Q*	"t`
b=A0U|'~.m:bB
=)e4BW/g#kmr[u;jrO$8Bغ[ľJň-Ҷb}<zZ Xy*.A*:2}n I aXP`{TOnFTNC1sO@-q~PeTڢUzM(^^P
P :@(PdFσq«!vMJ->rwyXTQ Ev$k{(vۻn5T#s~%5E#p{
-~\܋=:Omnuh>9s΃lxVGsuUDjʖ/r8r9F)*wF7;7',՞ >.SK. -e
dWm瘽8އU0`K3XlkǇүr,<oG#8$pn!wn\b5ͱaeq&4
)@Q²n}7+Rgbecs8>;%x85em@պK̉>~?qrn9؆	R|=VϞo/rƎ/"|`ǉ担H]2&8&rxJq\rf2yo~/+<jlK
ӷc`}v٭uY$bLCKCngõFۡ^mˤ
nGiy&(͌Q{[0γ6/('X22gleB%u:[YY0b1xr"?ٳ!m
0 y{Vv4r\oyQcCi_n:?ZN^ۙ]'IK_#GE"<Tfb߰mwesۙŽc;qbR݈NXyzk֚rǳyf0?~_4s\Xf9!UPt[o.6VF$ےkc16 +2 N!>[X_,HKVms9RMٙcSwM?x/uB~N!ÀUyH][sYIٓeݚ	9&݆ _[Ys'"beɌ;[hj61VmrNNG̒a1Mtm#Rme-XqiJ#WTW];;G䮒roNT;hm:+lkw,LUί[t׳uK+S\9f 8 w֦PN_aA'm[8GG$Fxdx m8j3/&wcwV&:c<? #7])Cq}QJݞ=1,,e8mgϹ"Z߼,-jNjstx^bc"' oܒ[_߅n?3,YP! ׽SFnܚyq|I|!B|Mg-ous̭0gIFo!H$(/Y+0vgE!i11{RImrǜ%trqxظX,ݍV~?G?QeN\عY)e:ĄtS3k
ehGߨ>9(n5uQ}6gܬqRcK4d`R|euZg~wOep<~H49,mC8׮}6DXxc1P "]˝`q `-6(п,o$n>s,CI۠Gl5|8fyrev(cS7&b2V2=Em*"6umU/=]1F<(AYVr_Q]9F$i"4r(tpUхB4x|p`'~pqed-~z2ĲrRxJX7-Q/=:SVa@(<&oh
6LF>2uXXޘf\"FR_hPo&r3ө	~GˎwIy=Mly/ Hb~%sI$[0ߔPc=?64rbA4!j%s1湋ð+nKd"};T҃̎k<+{$A8"kuA|,2\oز,{X!_\redV
ïګ,G>o6|k'ex%VxUe&d[?E%s{wMDyQj;dj6h 6>}Li1 b122-`v{h{>=OI_̒N9V~2I~xu_>,B86h$ }ڍG5
bޑ?wzJ=3fmڬgg(сA ʠu:Pz\~J!A*5PXj,݇OQB㺀꠯*(\ހP( 56p 徭8fm-{
6_@E(=M
BMҠzV6
`,:P7 S~R[!n`Nw좉6{}mTMQJbN7=5M=Q	٨&q\dJ rVI$#m-}EK2ַƹ$vu-+q鷳6Xo<+ǎʫoxCH%tP<vZIe6.O#'˛|.?RZ1Z-]dFj_l\(1BD!\LрPXkQM6/}7b9|Vf Ǉ>ye>sH;$K wW=i޻Kod!Q~M]xL5U(n}oz{d÷l̬7ҾO#<rUZxG(aErMgf tO_#qK":^Ҭg +YFOn]ѶtN-񭉃.X |me׏2ްi1=QG1xvCVf?V8G	ʒHSW.m=-Ժ16*ٽ7K<񭤛Q1,ev,63~|qUO;8THn$#"lO)y#*tf([ː?1MoS9c[yq*r˹ƏiJ([[]_Y1<RdBok.[,,i862%b9#x[xy/nLd "cy|!Z`(1g&U	 |xiاŐU)=Hֹo0IxA<QLXI(h7"V^Wɂ 40c/s7bMxe9#E:1K1"	}tGnA#bxmmsfAs&	R㩺עou%3!Xcmyd*6{{훬GL9%2۔Z[ٟu.sRǙ1IAAg/?1xܜǞF"Q vXe5p>w
_+\>N<"0;26⬨G'7i?9޸زٯ<ێ"p6*%c̋k%!n㜚^	r`\ʋ,MNmV./'% mXF.XT^\\+D
aGefVmshn#W]e+rX#|:t ^·,7W^?/'ˑ<(H I]F⠽Mt2oE(%wUP|m-$Uer#lu1,SKi(9>Due1cezLB鯤Mg=#9d?nMGJ޷)f~yQhsr0E8䔝;RRF)}B~⑉.R ZkO'&\yrrE4Jʨs1=
9}ezćNHBr9y7ZhMD_AL =~ɖaDL}A2cvކğK%]TE˶I0Nq2,ŖEr̹/*jg&>4IEʫ`(( d>L^iwwcr̄ORh 7_/ A iC~7Qa	aC'؁EAOsw8YR$(Prʎ33erN&LV	'NχlV"415Uc(*"( ` xkr<1A
;7n|4V_sޒṯg%`X4+;Z>xL"H"n-t@CE]PqKL5peqd#'[fs_iFDB9qO4:Y#-c*l안L2
%%xۻ.-@%偉
٘XkvŵLL,.uR}ojKf,abvc70ET6ܶ~!EBCb4:}۞td䌛m%A9$#n\d;uP|:CgՊt!_68_VeJ#?q7/Α	hm^+eW͎v&6[2!Lu{ZU	 mcWPASAh<~/E#/T"I晁FrXHz^ZAX@t@I4-@=E-  h!@	;:@(%5ao
:IS 3D,1OeQP6
xA 
ցpEס>*X@v~J0zJ!$k#1[=U
 zM\ GexRGǻCP,m?oa^:{( @'DY%򧌉):xwh{:SJœ2\'+*FoÆ n:\
jbsxX\Y);F"жB){ўn±%3Ez'-A-*>צkޫk!r7:Ct,Ba?OZ_+1O|ϑbB_4*G#&BjQc&ݚ޹]q|kgR2p^7?	3phQUYzMwrns~;e9(@!mO}kMs9g}xVz7dr06p3~W@f4\N]3K. tS]f]z?.qX,_m㼎 
AaZVc!1㏐iI)UTa:Ym/!	D9Bcv:0VP]h2\F3|hjd f46Yx]H9	35>N`C8~]gDW8xYYRܬXȡ@67ɶ8U2BeYcBR eT vGeM)N|YTp 6Hˮ+f;k)٦6]CDІ@ץvˎ_YIZ	۸X.^8Jٓ4H#ʛAW@C*Oi3Ms	VCcOS՚[s͘V6ٹRGRG}gfmzC,bn׿+3nQLcUfeƅ'Uu_Y7O}Y$KmZ~?p>\!p&`0;}\pfM'|VLv30(qN:?_98ÆdR33!d9@E'^v8^r,e@Y]y/rgeM^98lvҋe!5^ἓn0sdEOPeiKJ[AK٫YLI.4031iFӮO/z.h>cznFnU	cbWnn R É$/%ۭ ṟuH$څֹo}g4nXؾ>۴쮲8*6^$8T ]fnôژT'9yD]"6&bf_Lqʿڒ3_e4}nDSq5-$ T{6oX *qfg:c@Zs (WG:o/~wg/~YbcdɿHwF<lV[4j6( P
A~^^Llu.;/n=SYywEEa9yS̕`&%bmf3B;҄32/"C	BNR	54GZRl$ H5t~fpċ<qq*[5Lzl͌㭼#_PE
D;~dbn9nU#>78fF|<,[U.߶^/P CnC<$ݣ`ET:>7D>LȂ	38dP$+k﨨^=NCssT~$hdɎ1,&XfcJ+?^ɍ>;Fɺs QQ?F3;"s8*[#+U'+ҰT;|LT_\+ј8 \w'qpp_i&bxUFÀo8`q0a2'C	1XR%WQVC7T~zf/%6N,qꖿm 'Hzr^,pxdbrysBo>g T>'\L8lE-6\YfsszWwxuߍāAl'{2BP(/2xȲy+S642;ldd;rU+)7a~ync01r,y$ȋc(lEz*~~F }DKJoq>(̶g>Z?oVN>?17|b!̜y.C>/!mO܄0qslcB`F0>KO;S2aV	$
5QmhǥGv'TnoҾ־1qd`s,fOĵAKP1=pX<_x\ʘcć164wzc҃p.˓&\I5+}b+Wdv+iP
&(*D Thut@(=TEm@BҀP h4I'KjjHױ:QNoXߥQD|I!<KA쪆I"ܓPN_ucbߚ&1"˭hw.:_.GEjF6u(.}P="VMjztP!E %HEiZ@_ƬVmd0ʄ߾bpW$GmPM͐,@Oxg ,%2e*୍jarÑ`.x+o]X^%mEo8qAh`FCpcX4x+)&\LAyeocJxs9vQU]۪V+~8.ٹ.h*mF)S֬N/S 8#rYu&,~/ CfZ.gf0|lv|fRzYz]d{yc=dJgc#<Hطp䔗"!v(=@{_VN̬nO'E.4FD2h mFײo}{}vD~&EIaa/S扛Q{϶1<7A!Q^=	wMmuo+J1KıHX5܊Hykg5g+Gh|n;~m;:r׌MDBՅK.vyzZNбhe(}iMnM3*HUˎbn{fZp
ϑ0ſu<%`cm[C~}It͸ItЇk};M[$EaVEh;_3:cd)|I;@^r<+˕)3%*RY7aFm#29?&$9Vݸ+!ڧpu,xl2IrbQ a?ͯp:/eBgY2|	oYX\\B@ P@7Ơ(9XRG{bJ̨y<ɦ/>$Nw,n\uLK8ˆ(\0q"Yi"Zݲ<9X^)SU9`
o>h~cpn}+bN/>a42"$hٴP$MMWi3Fl||F4x)*љiem:٤kMj|\1Ǒee>4ra-e3p$||d-0*4[͙>頵k傲0:xkTvL8Q(3JJ4 ,~rY/IN@y"XW׸LF|9B5 8~"wX6:XP@#^_đ6@Zh°p6 &eE,ʠ'
	~ff!:L;oGbH(1i~27p^9ƅI6Td ZK<"!$1ĬI
/{j莊d9Wdqke/a3[HgP V Q]+@(96Dy#`Zrmu+3K2'%ƑMn(PrǏ1qآ᭓։X~q7p]9eybOF:Lg;ƺbLW\N76N&4 B]M+}\t쪙d܏̿EaqW/PeeE3JH;N\r4J\Y*rxR82YJ{jz8NcʶtɶUsPQ̼VC$Pe:3tڪrQ(Z|X|#N&+|;֠nk#1|hl5Ь#Lrzn_L'>oMÎ>`!ef36;7t=2G)o=A_JdM4L|sK*Ds (e_\zO8agkBq$˻kx&I/3r}kr_?&H䡖5J*$' Ulw8r	'G3(u5 TQ2=!<Rs8܎x38cG,س42` kޚ.9<jBețI9K"u졓n+ޟ^>Gxx8͓֘6I@>D2'IrY>.C>$+4y6]MvPu/IzI$ FY"x\n7DԿ9=)8\>eIayTk"?ͮ܌N/*SIl8IyzKE|O̴y.fLFq!$M0}uJzd3i T/qvZA쪅F@褳XXTY]XwލSX ;=T@wOmtN@tԊ	weiCҁd^ `h%:P!<:  ݶM
qo	1=
@/@sq]FmP}OZ\Čͪ:\}zȐ  Gq@DNh$&z;2]-:ص۶qO2HH 7fl'j5+}j]).C	f'˕ 16m&oOA2q;dfO
C !)uYᵇnԻ,aP `$ECC8kxso;j3◉W\:	>jݤeEe|B0_Ga㲳.2ee}H0"︭5$7mP_Y4p$ƂV\di-k<팬>{DF:7Jv޾{X>3ʜ1m Rʨ~.
_[ҹt=EX<\w+?)CyDCcwW(y'(*atη@na3+7['[~5Ԝ^&2OxS-# 'Vo5[l'!K;.zRzV.<e~)ɍXn{rIe2;44~Sz1̫gwǒPo-\z޿y4%tڻus|VF!ewMkgmPRK.#uBIZcn.}4 
F[?etDc1"(с,{Y5MnMmV{^ L30&]@}Uz#4Cu!8bf֮&XS/*9Jp-C(ίMYr2r_s<|B,۸ WL%܋llK=`Qm^{kzL(Y9OCۢ [F62G,X=,g)/ɛ!d{(^קOO.H2״@=	V^W'fNS}M/[TՑ-CF^6B4bLk!u9@YhI2a2$tkZrHSsT{JLi,	*I4R+3,;$-2c2:N:io*tG4&"
-Oo	yps1/ԑU5)rҞ^?^/c>L.vYR/B;=q-) l%=-koJgt30|լٜA׾8h}s9?SpN>41HGOB:o=!g~T f
=};vRuȌXS#w
#*+M}X?*hG0dp>ݔ+"h(:ڦ~y!;gAhFCLƄߣAA?Z~Cs=ItJɾG?쥱*|n#(AƟX9"/}8v o675O$Y|Ow 
2y$bKr;eBg	`v ?֠~O*DNL2!rKULfm[x右@#+O(=L:P@:QrhZ#J}(¶@@
5 )Vh8R@ց%WT\UkC%UB	^eFE U	4.ƀҀ=m(P
j)cw`vh%c,CHkST'K{kLO0"m7hmk)k%	W=$3f7tm@@ 3U]X 17
I
;n6=
+-K 7)*ue߸*b~AR?Q±O%\ߴt#QR~!9\+hK{$lGvTu+3qsx%ϛ	!,<(߆ܤ+ӲK2!$nF:2-ҹy˿sMآPIiO梵$n;t5-j"8.SX%#	2Q.Yĉ{&+5ɆR-q	B$6e{})c𜌂l yEk]צn2sx9|&P$JҦRmYyW3ROQu3g7 B5Komvȁqlt.S,me\]}~ʞp_ 9OL;.91Gi$ MZ]qާ9r-F4"lm 6]l.υ\zomYkM&Fw1H#ʅnnSWg8V86!lYaŴYon1I@"O>LO#6U8eeZ"w=|LiH%ڞO!,싴	^kf'Eϵ8&.;zB m%F'_g(ql=M{~}љYiQV88M&A V-:Y{MJ鮶9%)Fȿx24f.^@ϴyd1BF+sټ&Pl,Eƽm\tٌ 80>/S~ze#\T(IX뭮{}Ռ:d͞f
ɐ/mH+%EȨ3f7E}M89WfrPC#UV,-ݩ^HYhn"i惨"H6RqCc$i=3,cȓ#*c:8eZun (,'3wRhmӾoJLs;`%G <,axtu1.l,bMDI2' -om!PU簋J'0o9o!:?Yk#ϖPYk1+no+!\ q5~\[NJ #;"	:S!EfFu"PRKkv$`0s睊<1q8pŏ,$]z5j+ѿ_S| 7̗'1 "T Tj7z^u%eΛ5gRC	S(`FQ)}n*ͧ`f]wFB}msh~qG:uBDm ֺW󛋉l|98RDeAi|YB8@/Ao%˖]I_n<rFx闏*6_Yzƍ?3NǔQ+AV h<Ɍ?^v :( 74aY^Ѱܓ'63dFj;?xPm x=4z=9Ϩr` ۄFz7Yl X٣R{kFFȶN?hmݧf3~!|Ƹqu)2t%MvJjm6o(>)čvY^E@ZX*E1nڨ4 @(7 P)-N"**0zP~(Evߦ  ޠ-h@z
GUŨѮ"p7^JmBn 't`c0bֈT^eTSi޽6^wP,Z"F'"cySP/uE#0jUuzo}vsf_,vFፙGf2bLXɩB{tG v@LwۦGxM䣕H?5=eG\E)ʔ%WkyJy۬ep׶;z5랐UY1c	<!|b.Cۏmjiپ􍟝 K\3OSI^<O#23qq&d"|u'l ߆*ocZm#'x3$l# ߩ\;kU98#eYKKf+uvsQ&r\X1bUHkMh_L$%ͳ^Cgq1#ʑe07>4W]m5:ZrI#+1TLwHá*|RC\t䈦~tp<CȤr<oXۥHŻb˭^qX2&lN_5 <:Mbl[ȟ&XeE7IG)\ٿzdQF=|j]=yrbe+͉Jß<ZPSQ]8g[PGrdG"J҂{2%nYY͟
@ˎU#&-tmxH]I+y|x>)W)'؆kr勮dk$6_#Ek} j>!E?\qK
o*vnj\,!Lr7[;.nMOうl3x<2TTu+{K&D,m|Q,uv8N\଍+-g裻oJvt@6%D7~$dHf&(6@w9׼T_*FO$(ǇIbvODQI:n	}c	c_")ҍ1PqoO`"S);- )3Qvʀ㶽;i$Hv
O*᜞a mضiiٴ7ZƤva)Us:ҦW";\$v:g)\iRC$Pu$*}?be*KYnHIRv0ѕ1L`*]rPU˝MW"_MRII$נ &Mye60?廙Itրm@I屳(A鶴k>Y9gr&M#jo^5+OqS.e//3j-n? 8yx|Rplh|T[̌9QD 2ᮚ3Gf׭=ICDEi݈IQ*ҹ/Ufl"Nۮ4ԼOPvT̀\Ѧ0f,Cmgu'[#ȳw%r"cDVU7hԲ%Dz=WzW!gً|EDnѨ[sݞƽGo ;9L`{VW8>@6'!G~8rc8U24^PaߋK+r?(Gned6L#i%sQ'p7={!ey&as)}o_|F)-J1 ng@NVn-z4B\_0Y롤ZcZ0wmP&EI)#PTQP]
q碉B}Tm  ^n+hd4:
LC|FPma@WO@֣CDE EDދ`M2geh]T+F.P/NN$*d5J+"DPaXv۶k[x_e!koc@vIQs@r_`~QJuF&tTTyOm/xeۖ T T^p 7(K'ilrqK\ubqp@./YjYIcBn.}N	Z>93ᑂvոcZ|\x4߰L&LuaVST+Dɐ){up:U$ :^Z;vTX'ȕؖsYoκ{3-\-=I>'$F$ZDHYz_YY9ke(ɓΒGyq$G;YO}MbIl"lbCH>㿯5><?qo+,V' _Oo9;sapI<L<lѐKi~nC~5 Qid1S[.7Ud4аVb$*-𭇆,{6UFV"i]RryTyIfx$}Zy\{3X_}+( 6%ut@`haqL}w$x7P)<ȭn}ia*lDg1co2^$faqc4*Oec"bY:ޚ߃iIqYUVo[ %y[ {NU<+$WQH wvUatʐ,kau=*UüӆFZUz0 \zսrR3No{~OGۭ0y!tgh=WgF0Fm^G'Jo,Uve$DQm&'hebHe53Qo%j2fU!岀!wsX09&uW%Gtkק[{jʗTyZ,ga!vޮyg"G-sv2LyHo=nczF@:[s7Fu޵Pq\j=vR<{?(1AwSm,G(6;%Nf6$Y(c־079bnVPy5L(dulAC'#+Qz]
\(`4{kSw?lX3c%/A9^u1\\|{	|NɐJ3dɽx|YA׭r9h;1W6Ak韔<gʁLu5/־R[8R(semhЍ/DE$e=uV\iQc;-s8lrbIΡEN<=D/a>(I1XOT_<`D$u DT˴>=mΧ+we-e#A{;5\-qc Vʂ[yr+V["S>?FE(\t6%G!WV$<Qvߡ5+$JƞE#k@z %7Vqcj+wPT@s`w=P0v
aIg'nLw Ph -h{(
Cu@U/i~X?=T'Q{Ёjj
 q!br~?ઇ#nH==@ڒ5 R!ڦnlڍ}hKI
Ucaj),%@>+Pb7]zGeFvP{;EE&
nU<LH	KbJ3f[i Пd\Z6=GYkFT?rVzwuy8^BWQw뷸e9;,l r@EYW&1mzZ[s7l}}ݕ"&ȷ}@ߺK /Vߵ{ݔɂX,@=PySnXԱeWފF"}%f($na
#ŭ^u=vw++TO]cڤu^ƹ~&"gpɅ!%R|eVms#Z#d Qdpl]u\9m22(`I׶Q:t̨_ X߰(Ip@$>A,ۇOc I&Ȭw(t'P6ۡ,ӨbBSs]udj#ygUKGq+yuecN=3/R,yzjf|K,DH;usJC	gk.I-oɰfa'ip{~1*BJ$	ѣ[3. :oi1B7 ;U\F۰iU2s&j"ZB2mKct@YC/Tv0C绷J%O,M:c1+&7 ۭc&-gلf@Fˑu&ҳyjps6|RhNV-radR5 i~ښvD2Fk1$ |:A=	",ic`ˮ_Z3~rp	2E.k("⩒X(hb{kLE7In2Ed RTp:U0B,V:wQ$"%϶9:7ݶ@#X"Ո۸ᢈG2GӧQ4	+~0e=We>nOFX!#jj_Z%ub./ّ" Չwh'ikh="] &/d?j:OAWͯTκLO~(k~j.'%b<|$XAӸwPWa4q?̮2qM9 eQ#uJ b:^DAd;~-0W(mઇ#U0*P z 62"_\v@T$_6Qt҈;uT/C u(
$TXڀeUan(Q5p/Bz(}z: P&J  ((K[D1ޫ-}>TR0>\q7I`B"{mm@%"7Ukt8iZ\n5")"p?KFϗN4^ @d+ԞjkR`|[.V*;r֨xY P=jRKFƌ=5lwf!H>Z8;
n=GꔭI]=ɿDwRMSM?$f,UWLcU@z kk6@tb@=[jh"rY+\)ti>4 tzGd1akp%I7^xaj:Vgm^: XvV(}Mj Za&#M"Aأ֒k/bkR,ǥ=eur7@Qͯ kH#Spu rOqG?aXV2/u=n{hXkcr-U|[auiQO۸EJ\bF'[#~TXgUKqmugܶ6NN6 Ս6 1(&m.:ߺ4*98щ7T9K߸WlTFj[Bdt`?xP8Ǜi捗~k!P-aUO^IPK~m-`S}fɖ3?%#ǈT
5uֳki,.ǹtjdw!#AԒl)x$0Wtg>7"!'Ą믷돖]p{/1[-]8B߆;EXn}Fgfh%6=#HIQֶړeKbph)2IF{/N&"B/.uv΍mm,MRf	#9b")F-(_K;jL
J@tv:ZwUrq6];ڲb9MPKv	dUs\f'^~#i@]i uD*5ETXj	Qz$]t8YL2oVe ɸhi?ՉFײ꬛*lWnMqȋh#f^v|џ?4dX.NW4#v~w_(b2@jd S錎w8/ f.($!6@сSUA"(Ui
5xΚh=B-h@s_J
#AҊ9/H[ ~ꠍ@-@.zPv6`w5A\TNm4@Dj*4HTZ&D@}@`0ZB *e*@@@`VtAހrW~zS:T6Ff6IV%AC<*Λ$NEf̵.dQ+=t5u#k9F76UDa'Ic8 =ͭIpG;DFH$t:{?Y #Ń7VRdhI/+6mY1XbVc`[>01
BC1=¹ys_lѪHѢ8vrxHyLڦޕ8jkO,%T/k5{7ub2܌V8K`$֮M2aS[d,mcBokI,VHaEVF{`9; N㺌`avn~j^ِ4vt6|E}JHQvĿ#jH>-T\up-	 ' v]TLzu]@:ho=;U[hEUED]AKf~{}HPXB]ZP hU-v2RHJlӯhsZT[B+2f-e,3B@N`{zU߃i/c6n4ЊOCM",Tʷ[m1ʙǒIBŉ;;5 öG &PFbw\l	Uf7akD_qŏ#=6G,kqSn\w }6 -Y2]b/{9X*NYp˻d!n]ˎWD<+I$AAd[xX;kl\0H)#{;39GS@F#X٭F؃*<Q;T(Տ33Dnl|y<dWWRnО+f61H^itVw-irױҚiɾ*lx}t`G<:!#*9cwȃ+tl(wVShv nt0m,5;(¡.ݿ@Ɓ+ԃ{hh6moҁL0l7!G}*;x6Iڢѧ(1b.NC`bqazVcT+g5,H92Cnڏi=Mgr+v59UW9Ezy<ռUyD&bM	I؄cD{譛$dkܷ % =.{E :Щ}Mn}-6InTY]Ƨ} #GU6(lh4@J%Q`κ T&PPց_Z>:QHdzXۥPP1TXMZM*q@t@`PC@tD*2'{TXxmִ-Y[wj)'ً[~̩NWbm@c{i!ܜx*@7m{jJՆǕp}o{+Xd"vh.WAuI2axO(b_Bz~oz5K}P)ȋI%ԼL(1b*F츩ث!S;1JTadG%ců$#ʖv Ѝԓn=u[sgٙ.m .Ounm.6s\8ϐTP\$L#Yw7+slFn8Bib0E&přOaN+;}b~";oYË*C"Uo?o$2;B[P(Vx- =uHV$_­Zn=3.Mm	#_[w]&anѲI(ZD ֵ<"Vo1i{'<wn	ۿ`R;0eS=QqL F1WWu^qAc5vqcӪ@t
aur#wb-D>6Fho{eI	čHk?-^Cr}ɁIrn^JT1%gY6_	εMZNWt%$^+ͺCqw=MQli,{q'[ϗ*yC;@HY+{%umE;)$ nGUC'{v\\ajYl>\xHXbqCkV6F=Y+~̾tZCޚ%7^&|Pc;qmqvkZEJdp,dw_I<PLc|`yE6`kp*I𠌲>tU+LKAkSmTN?+(Jehuef\bdfAf>bsAӠЊԒmeK	!7-LH@ISE0"̛$$zY\DхOG`& HJ#QKdcF	!ܮ5:w
\e7AKD,dZ=J8={jo4Xuր.@F&{,=C@gff#Ċ_k$v}{(*	{Ԉ0wڊ9 ey6|}LmanEe )f LYs̍ҪYP{A\󾠌̖\t}BZ+[ [+{ֈK 4h/9p?:ؑHP|,tԭ@ Ԛ43'-f͚WyZK0&˙d!nRw}TA]:`EV
G_}|Fv?|N@matZCu֌d7 >"TBN %HTqH[m	Eč2_*XU@@#UB*jAZݔpS{AGZ'@}TҀ^VP(E4vj:)l%|i@:
h	ziB.hqzǧ[ު9,HwGqmːIm>PH.l;zw{k5a{N6[3WuЪŲ {b-#ӄ䡉CYLt{ؾƤIcl5՟&N(ty1SY׎g{gPm٭y6K!P4w%G[W.+'IA)!m {r޳h)FؐmS`a'ضDRHn5[Xca/ytiTo9@woOLJV,N11IRZU:+jHnXԳyW7\}f"	ܓ`HԨ{klZMB#ZEHRW.UAnְ Wˌ&e$إc{6nxBPME[$TMUdI3٩oAeˢ)b=9Χ{drzW{qKe~\{ֈR>[#AHUR#H+tYb*Ѹ%НVz4(9JJ|J,Auo[=G(z{Jג`[{:Scr`X++hrêwE5O|t.PtEpl!ʊՖAc,0o'Ȏ@~Ά6c<)JHvfYWG8&">2Pg=3#@$"zm:Rs;5o\\Z+9|wA<^e/mHֹWO8}"$l\TnhC6ZR i3jJ҈w8moשa&G&CA$xl-V3}vg||*!H#ߠ<xqy%,tBoIٷ1^ _0@mjy+$V}-;jk+Bio[~,dM:_{g=.?%k	Qzo*`ɸK2m"#m,=R&V A
j.}а(鯰J%"ꬓ{tҨ߾jhZtc
(^TAu y~Z @6H:qГC. 	gvKk
&I #m^h]_FR䓡nC m +5`b4u:v+nVV=S\f1A^AK* >$!$@Zvu愈Bfၻ+ڨ`5v\HW.	ϴ{7;{h m &"0mFu;*;&D*}P9B|=Oyv-mM*BҀXsC n(hu֊*@ [~,H!$JN'd@}}T6l [kP tA^]Mh-ƌ*BP u}TT"Oë.Im5cAmT#k;EmnQeYCuRfC+;Mp=mL-Qr$li, %P6nMCˏ10EjTY,6ۻV`LBia''m<ϴr0|Yl|Au[ s:K>ɛ&0CHFvXj]yי]t6RdZq.3 }gik[=2PٵTeDAō#oߴg_]X-. ڣ5/uKy'0dٹKgfڷݠY9s\pb05cnY[[bpy8$7A';Yeo,TKja[MKfZpv; \36<κlg.*o-
ZDoigK[QAQV73:/DZ	#Kde~_g¼$Jxﮎgkk{I
9i~Ѣ NĪmZSĈX_}c g"&Cc^@jm1se+;AkLoѓokyIJc*fBzq{zV2Q6vu)JK1l	HM8\*nڸl;X;Ӳe\	m݃Rx%omc&F:(ܿNv8
QbǠ'Oʫ7Hz۠vR!fV,-ˎgǋO&ḓ3m_*NMd2`42BpM1wO
IdԒԚd]HdOczںMxRaKamx#mҒL]@bm5jv4xz[#VD,SN6cA8._G1+3 #U۱ui*r,w)V'byIe``u݆3&+ʁ6>`4zYX!t*E6:COv^l55*1XJc[dUDuSh;	H_O opvP7k{[:\i!N7Ҫ偲I2tec^1,#;T}:^Xy.n6^{F>Ô͂E1CvD:H1u Tƙ0MR.SDPހ㑣p|C|p8a{~&.ml#TɑZ;^,VN %u[$nvQO{|g㿰O{#a.{mEhZ "AE~PMn(
gOetAXFvGeT4րD6Vƣy=TȍEPe5>j!Jzߥq{QSqa]l,}{jQm{]Ѝj*B~Rk:9d΢*`-oebIO6#SeиN;6߶Gfg2(fdMcF:
Rدr Q\ݧe&P~6ҺW8IV5H6ā&TZmbMX&<[o	[2%/LIF̻j 55)\EW(t8jdI$%Tg?j	/_ek	r2!&Es@
V$mCfI?{d7nݿvG5u*Zwۭo,`҆֪$~pl
][XaI	0̰,ڵr31鶶A,oc\n92#\xdo~{sluKu! 8}ԋQٞLeV,zy2vIQ o mKVD!)U+~&ōnײ~S<([S<7*h2xcfsY-N*vrkBǩ+Vd*grn1Пuj%?*+rY,ChH(1yI	K0^'4/,ż8;mSZQ	Pѩ؅ګmAK~^#ډQD`Wn,:|,}K1H4iLHD]G^iݹ	Q[Ҭ#yl-֙G,J\zzic3DA:n^rG쎞c$@T:ֵ1I0TP7vUF2(kXh)f${-U3FC?j T:\紼HNGO}5<[0{P$в!Lȡwlcآ-rVB=NkJf
[2  Mge,H~iU)>cK SIv
Q	?xj {{/r/cf=/JԦYR2uP_+iՅeEѠ{/u/DH7C_N<		of`!o[R.qk;|<s2c  kk[*$PP{:[D)Ih$EVTRcRU	M9OJ\3/cdkŮUzv{n	Jl@ۻEX ]|duu|gM:U2&feUm&Hp/}-q(ɥۡ?vA?#n/Jaё廒^t6:P

W&"h 魨A&kA"l׽O)6HmkEa,{YEfPb:0;J  :P*(Pm!I},Kڨ+}	BH _}3I|o'UuYRΌFG{{ב {jx'I7-ffbDv#cpGaXB'$D^IER\tYrd F=vgSphmw}Nw}MkeEO@k5.تô9e$>\_9X<8vB.)akV9}(PAAV"H!MU'*lmPܛ{6)cO3c(4+T,%ߒg4:~UvNbmqutS j(uBV5Ɠșg\\v;A,˄$N$1"ba5z̼5g)*T2~\V.~Ih
Blu6 ̍y t׶#XiU"ȝT&) v^*~:%fgMV4hAvWmXx.|ImGwWY\'pupbKԤM-.!(U>Vo,p;Y
:ԼR9nXT%e9kI6=+b] /;#`g]R`,okk}LrbEjF ۴VgnfUdc~{EͬH92doxݤH/{GiHtt&D2fw~\fa9cz)5vɶŮX}UBKƿznĀX}:[oz|H*5]z\WSJo96
W`zjYP>ͫM	^&̭fjmPG]hJn	хX)Ud6,tjRbMHSlqZvDHC܋ujJBjCcZEJcT l;Ē{(C
;APzZLXسo)+FmǭufSF	 >4VVlȷ&Irh@(Rc7RR_ G50dʄD@@Ss-zhkHq4؊xE=	^(N*Dҋ	6&=⨁U HPHװIv?	֔"
|TPE  -'uㇱrZ0X;Chij2H:ڈrMkѯQM	Ye6:sk@R6#hEDۥ=@aC.tx0V5)aVIk@);hmPPހwi@/@Wt ]oBމ	&
(g _yI=Ri@Z!El@W^@E ?Т۾A*G25
ͽz ՟U*K#q]]T,=[SR-~ͬZ|/?)BUNfREֱeK),R4pj4Yv+xg"9еb4]t\;&@jqT(ߍIV0Qn-ZT<Em
mXVq4rfhtjX*MCjxʾTVkѮ=ViiEmVĕ&H^0I.Am´,a|D	 n[ {;{\}CE)6 .QS|J\8xz l]&-)+&HP:|'NW-~k UFVTDRQ	:^i\w6[nctP-vŠ#=ХX~Jѭj9
?mqϒd5paMm%Y?-gSbC]PHԫ'E"!`k-ݰ^2'N%4݃jar,V$JT&LJ(" P/$jT@v@NV!j I&m7QQ8\Xlvk^c:{j';Ó衴;NۯJeg"{U6ۢ FVU
B;|}ݞ(ܕӶ2'zvI[U~vW9+MT{^wY.GE$%)&t[2 = 1!M?oCP-X^˒_"4F# %KЏ	G&,0t{5X5-Z[wvZU&bO(vԻaf*^y/(F)w~ZLpi-zXGA0d|ApvΝ{UdGuN@:n6szT'Ӻ]?U!ǯwm(J7 jT@/DPIЁaryD2-k;#Q=*	3ܪT%on`4)6k^֪zڈpaě,TXm44Ƀ͏!BD>!bɃ0UUAv\{5Vku <q+H݉^a
KI:/DomҊCCuh쪀,QC e~]h/D,i
;PoSC 4:Ql:icH\[h]ОlPUsʍ;N#Mi@GSɂ@n*+/ס쫖pU4"!ҀҀP  : Pmh@T~)J/҉iNGZ$0Evt;lAj+GGATCGVA   kGGATCXAM   GGATGALF      GGATSFFO@      @  P  T  U  U                                               @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       TTTT                                                                                                m۶e  UUm  U  X    `        ?  @   =  UP  m۶  UUUP                                                                                                                                                                                                                                            TTTT                                                                                mF&  U a                                                                a  @    I$z=  UTP@                                                                                                                                                                                                                            TTTT                                                                жa#v                               <    `     T<o                             II$    ۱}  UTTP                                                                                                                                                                                                            TTTT                                                *m۶a;  UU                        -    PTXm۶m  PUUU                                bm  UU7Fn#                        *  @@                                                                                                                                                                                                              TTTT                                                6b/vc$                      EϏ}   @@P                                                                                E I$I$  UUU                        =۵  TTTP                                                                                                                                                                                            TTTT                                                \F%f&                      *ֱ=۰m  PTTU                                                                                                *vo6n;                      \١  PPPP                                                                                                                                                                                            TTTT                                                                _                                                                                                                    ¶c{e                      
 ?  P@@@                                                                                                                                                                                            TTTT                                                                                                                                                                                         II                          @@@@                                                                                                                                                                                            TTTT                                                                                                                                                                                         II                          @@@@                                                                                                                                                                                            TTTTڶm  U 96  U     $  U                 ?      $  U     $  U     $  U     $  U     $  U     $  U     $  U   ݶ-                          ?'  @     $  U   9ڶ  U   m۳  UUP@                                                                                                                                  ̶a;6o                                                                                                                                                                                                II$    m۱}                                                                                                                           oo                                                                                                                                                                                                            o}ڏ                                                                                                                                                                                                                                                                                                                                            @$@$                                                                                                                                                                                                                                                                                                                                            @$@$                                                                                                                                                                                                                                                                                                                                            @$@$                                                                                                                                                                                                                                                                                                                                            @$@$                                                                                                                                                                                                                   ̅    PT~`۶m   UUU 7$I$   UUFo                                                                                     @$@$                                                                                                                                                                                                         Fï}   @PP                                                 I$I$  UUUFo                                                                           @$@$                                                                                                                                                                                                         &۱  PPTT                                                                &ovn                                                                         @$@$                                                                                                                                                                                                         ُ  PPP@                                                                Ώ                                                                          @$@$                                                                                                                                                                                                         p  @   m۴  UUT@                                m{  U                                                                                 @$@$                                                                                                                                                                                                                       (  T   (6                                                                                               @$@$                                                                                                                                                                                                                                                                                                                                            @$@$                                                                                                                                                                                                                                                                                                                                            @$@$                                                                                                                                                                                                                                                                                                                                            @$@$                                                                                                                            o                                                                                                                                                                                                            ۏ}                                                                                                                             @                                                                                                                                                                                                             /p                                                                                                                              I I$I$  TTT P@                                                                                                                                                                        2      8{$   @PU                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      @ @                                                                                                                                                                                                                                     ````                         I$I  UUOa     `    w    -  T@  	m۶  UUTP                                                                                            ````            4 I$I  UUU֏     ]     @pm    TUOa    U    .?  @@                                                                                              ````            =c6n            ɧ۳  PPTT                        Kvnc{           $=۵  TTTT                                                                                ````            6nvn                                          HZc[a                PPPP                                                                                ````5ζm6  UU X6o@         X   I  UU   X   I  UU   X   I  UU  Ha              X}O  PP  mۃ  UUP                                                           ;ݶa;6n׽                                                                                                     =۵                                                     @@                                                                                                         H$H$                                                     @@                                                                                                         H$H$                                                     @@                                  L?     @/۶m   TUUXnm   UM                                   H$H$                                                     @@                                  yÿ  @@@                         
p                                    H$H$                                                     @@                                           ܶM  UP  ٶa#                                            H$H$                                                     @@                                                                                                         H$H$                                                    qvnvn                                                                                                         p                                                      n;a     `                                                                                    5?     @5۶m                                                                                                                                                                                                                                                          XXY I$I    Uڶm`    t߶m/?    / I$I$    UT            %%                                  XXXXP6no  sڵ   @TToc{   !?  PP@@          %%%%                        Am۶m#  XXX=ރ    I$I   UUU $a$   ??g  @@@ #m۶  %%%                         G                                            ?                             ȏȏ                   Po                                             ȏȏ              !  PP@ HnƟ                                          o                                            |                            xo+m        I$        I$        I$        I$    9?ٶm׽                              ``` Ij<    @$Km   @@           8`mn  `   V   P   >     #@=ۇ      `@@    I	d    @ .      @                 $         $    مm      @  6hF  3=ڈ   @o     yA
        6֖JA         GGATCGVA   GGATCXAM   GGATGALF      GGATSFFO@      r4  #J  *j  1r  8t  t                                          3   A  )          <         <         < 0< Q P  += U   I$I] P"U!m۶1P@V_ 6m _Y&qb~
`~P _ 	,U,? U$\2>6} <= .|	, **,|  |,> 

6 6= CTAޝA K_6<6C~G w	P2~(P>_59:_r~aNaT	k}AKh~ES?_UhUpQM$F'}<	-M	j+ */'}*]eC \Hg* - ^]a\W$Ŝmo$!	%~޾	
^ږ |$֟K 8*K\$} O+  
\\u _$=  _I? s ~_ !\m$- - ,}-} - +, "}eo ,> $,> ,> _l
 *<* %,> 6.~,~*<  _%'1^c+ ʾ;_!	;$<GM	  ='< Ǿ	ہ}پTTH ِtXPݶac\)UIr]@ V:_,cX! U\<sUq_  WH
<疵UpI\U  H4?];4J*< [@\ ގsPne)W\I\-L 0^-yy;I\^U= nI~9XC  MI]**^5Aպ#\唤TY3W\ n)X  @իI$Hu^__W_R\Q}=sA |gzU֢@U  IM׽] ~G~W\ܘ$ֵWhd|T
 	 mH^#b۞#$!~\\~%W\WIr }% $'A\9Ķ\=R;Y
8C\G4]JeI<{'cX k=׽W_	U|u_KQk W@ ;|)z\'^\hu_͜8X% yXy Ց8|hީ*k=H,= -~ @+ L}_sq~[,>-~*|O$*ۿ,  +< Ԕ'-I;  > I,<.<  = -I >@3(<-	M*?wM1	+.	.~ ̼	_'
"=$T@  M$K " II'aP}@ 6}\ 0P:~ WV+<@ (< _pp(< G(< ׽`@* |.<	UU*PW(> ^7<|pp``׽|G5> *|X\; 	U 58C@@@6<|#[8|=*| %5*> ``(,<~'@8<*UUVT*< %% |     < i*H$H ,)?jP X\֗6<}\	+V:pp(( Y @6"'@  ~58<|@ >|(~!Y\)!|%	(? 8@ .y^,|#``bc8,|0!}9  * T\  *= 5@        ID)zP}-.|\޷)<рpp)UW(| ,|p  *> 	 ,< `XV-| 7?!}WU) +	(< PP*=j)<|UWVT6<>< ).0 :ֵY*!am6/0Y P-< .| 7      L<  6	\\ɑP2.|""?.W+|!+|V\XX(? X@ +p:<^UWVT6)?^ U(~,}!,P	'+,| VT\\6<~UU(<a|!.	%562|:|!yiI6 >. |X=-=U+:      T? 7
 P) .|+<yX	;._,<!`XPp:*_.|UU)<*Y T*|X +X;..U +			6!5`8[,&\\T      4}-_**<" @*XTV)y0_-	)~*3+<!}*|06";TVV)B_		+`@@:?.`HΏ:| "=V@ +|)Xp`8"-=$U+>(D"cTUUU60      J<  O.0~ ,= x=], p_,= %)~0;=, 08~ \--~8<~U,+< U(<׽ŏ-`-,> W-b-~ @,=+<&.<	\, U,> i,> /      ֵ0UU-_ *:*x.$9 (>֝*;* .. 7=| 7< %=='+=*|B׽U,<]	-< ,=+'d U,~ 5++<U ? }*|,>*|E"<c,? Y+< 	      &  P_PP.#}|`(<;#|	*P)Yֵ!*<^%	6<%=~ 	=Y/<a!}`* ,.b7 (=}6 ^(y5  *L)`.*<2< `p*~!VU,|^Y*BU-D-#6|*}$$=c?8|      Z< | 5ɑD!%.~PX(<%557|"<WԔ-!\*? %5<<@!2@+@Y6<.~  \)|*|``pP:X7|!.<~U*?֩.}V,%).||!,59        i8,*= )ޖ 	<<..0  G|*|$%`E+="(>;,<C,||><!y-=*       ?+v+|;.? yΖ;.<|<;|y*|bР  8/< /TT(<|ō6||6||<<" ? YΖ       <|*|*"?)_:<|*. ..PP*| @".<.>0"?)?~u)|c|			,>`*~ 	(~|:0<!#)|~1 58 Y0*.       l< | [|\ܜ*< 88("-~"_6| XX-56 ۽V:|6|.<>. 2"CC ~u.*||*||%%56<6>y.<%6 >.       l<  iX *4+<  `*=<-<<!8>)up+!}-= (=|+X>%5* | , 0ssS[}+" ,B.C+p@6<!|}UU:} . ,       l<  W/})d,PPpp*< miAA+U%,>UV, W+XB CU+PX(< vխ-|!+V,~,?  ^)]^* u[* տC:~X,> : !p, !8, -*|  <V*< 5/:       j<  k_Y*  ,<@*|A)|	,?<\Xp,~\]a6|*~=,<]"]|*|9		,>^\6\XXPP6| |A(< 8pQ(΀*| Ŋ*< 9=,8* ̄+ ng(8
W'|W)|׽p(| XWW(*|B=8<      j<  i8+~",?@;| .> z|iI,~(,|}\@* *2]		,`X) !b??6<C2,a> > |,cIJUU  6< y(BW( (B!	*< PP*< %%// 	<(B`` >Q ~TV)kZ' |IJpT\U)<R*IR*|.<>|.< [				 <T\*< 		8 Z`p*|n_75?8 Lc(v9>X\(<Z558~:|
|*~]X; |  <  i =- +>4-a>$>{'.-}X*<0pp*=`-|!*<C|uō  
0*|Q,c+>uBi\X)~cX),c,|,c%% ~cD|:<"}g;<+ *MkZ*| ,c55:Z)|uHB *=)>]#T,}9~!Mkq 2	 .,cX+o,^555; ),0 ``,57TVAU8}@.|,uX+,cj) T><	>4    = !}[@+ί+~ ,=/p)<"=+]*?㕭+}  0|:<	>| 1 ~cX'=4\;|*||:<"< !8++$Y  @ -
~@@,>:"$j-<%+<C~=X\,)*%0Z'$q}1W) .?0<    <  g-< > ,>"*<?Yw(~5u #? | ?< <0 \*< *}-\,| ><,# |^	pp+="iU)\)|i]*,|_h,)< .|.=- !~q*.APB{]W*<}#V)|Z+\\(|}5)~(%X!?*,cVV*~cY	(< <-2
: <  <  `. {< |,>.|A,<a 	~8,| | A,{Z?(
IJ xriJ)6|	   <,"~?'-<տ8<^X\+"*VVT7"/?)<_V\*%U*<_ .<}77ފR+>ޘU]W,C(|c\-|!yX*,<_~*.,+%~5,(,cY 2<? <  <  g@ < 44, ɼ ?< 0*ݪ*%s%+?g+<>?><,9<}AK/TTV+|:*|.|*|.<#}?*Y! `(X-<AR8<0_6 ; |!#\(#cAAiy,55*XPPp*~  ,D+-+:%%)%E,%% ? ?    <   J  0< >_ < - ?ޚ}j*[*>[!=WW(<_R+"+s L'~?g!?!XXX,>%% 0_ /P*a]*B|*=,|1+H_+#*<3)%~/_( }-*|"|b<   .K   < > <>> >> *#[Օ+}= ,}U)|0Z*|)J???:,=,;  /\3)<0#~	*#: 558|.%/+> ,},|Y/C 	    4<  W,*|   > < <1*<iJ *= *(.+<. ~+``p*= 	.>~| .!=~c l|!60<]	8\ 		 |}!`@6\*~ |*<+<_{,%U+}!8||6,2<
*~   6< | [޹-   < },?}ժ  <,~UU;< * ,  ,,cpP+?5% 7<.>=,|4*sX.}+>A--6 |,<"  }_@ 9|]8|$+|*<7@@ 7|>}<-|~	= :<
*>~     4<  W/?-|  < "J+?U֪)<  =9< <  /  
<2=9 }  }  >< #- =<>| +|  <  ^ޙ-        L<  i+<        L<  gf          V<    *<'(? ZX  X(B@*< <<*> pp@|B@ (< C+)(~ti8~Z*|!6yZ	+|Z'(< !X4*%ӜYB*>		(?66>>*|  U`*< 	8}@*\W) 74(< RpP*Ub)iJ@c|'76~7>?8R+(B@`8<ZPPXX*> * Z|	*<6<|7%66*>AA*(B8|     .< ,c'66*< TTvv(< bAA*|*(}@ * ppp)>0*$<*0| |"\)_		8,-C+"+}!6@ * *})=ܺ8.,|\+,c@ *| , ,c*~Ӝ@{ B¿8~1%+?0< ܔ+|E+ccaim(= + 	,|#+9|97      < _*燅'}w}X}( QU* /.?,|"}7+? }P+C 	C@ 6|:R_Uj+;	8<|. | \WwgG*?Ccq `C8<!?7( 8<_#''*> '*c*MeW)"@  "?U)?CAB@(| f	(c+?   < n   < w| 8ז6|>?, 0֠ 
|0-<8- P-Y88.?0.<1=-?6"# .*<YP-`*<ǇiJ?*<6^X*|c* 	)< ZU)$b5*"-VT(F-?|1	68<??<'   < W/y  < |!v,Y()| ~  ,<,> ,> pp*< |(= YBAW=)J@ZU) .? |,|(Bx)=5+A|>)IJ\* b%	,PP,@@ 0? 	">p*IJݕ)| T ,~'',> ,> 8~rb,~ *|MkI+~ 	, 8$>*  ,8<~7-	8%? ,? ,, 66   <   ;< |U ;  9 .| }+<  | }y | } y  }-=-=  
28== > #  
|	     HB*ߊR5)"=!9Z*> Z!9''// 	>iJ*"^U'="|+ }#>*<!}7* \W%)XHB,.=ɀ@  ~!XX})-=!?*?P!<`*"D/'^!pPP)(BZ(8)J@@( mk*0}(<i!>p`*| @ss+BUÀ*>= (bXpT&'\5*pp,BB(8~9(,ǻ-|	pظ*<,s* )=/<   ֙-<   < 1~-XB+t,c.|'@ ;<-*>=!<Y\ I-b5++<.|  -=1?~'=8@<Qq,=f@)~Z*|(< Mk؜* "<AAIE*<b,|.[@ *?```)%,css(AB)}1''7+   6}1|,>.|*~5)*> 0<   <   0| ,<"~+%% 9"<p*iJ	\p |IJZVx *<5 > XX)<)Jߕ
+yB)<|qcck(| sÁ,}}(,cRP+66'*)uEeVT 	}*<_+!+C;!D+}ic%8ֵ =0+"]Qa+|%6755   3   < ,!|Y pp+~BB ?)<,=*} A	*}V 6|	9?!^@@+-66~  2+<\)^")|\).Ž`+>A%!*|_38 1+{ C* *7''.*| !}"6> 66B#?*Iɉ*<5555   <| ["<b@   < <|*8<>=!=@+\IJwV*<Z   | W 8?^\+}--<*}z\{< .|.<Ӝ*=~,>*~ mk.<*y-=p,8|. .| }	`RU)~s*"VX*D!,p+| 	<.։J,?ZU)<B@,		,>57   < g.   < 2=-= =}  
<2 .}   =}= =} 9  = 
  < <> N<>=	    Wy/_X,|b        L< y                         ^"~UU        V<  gyf          V<          iY)|b        N<  k-|        J<                  FDh1Y U$$	HƢ  USۘ$ 	Ud@|U_S9 
_ '_ `;y'} nC~6,x$[>QG^CI{_U}" ^W\c}i_~ux]7_P?~Up]'U~WpO2AC I2{"s~+?U}	?^}"@WI5-'$W8~%UN\B ޟ ۿ B^	m|9t3o'_.@1ל) y)~4	Wx$Xƞ5W'I:	1_W/yK~3Z~_UI*	UR~^;f1Wǽ}\7|U@'} ~d' _|;_	8]G_|*9WҞMQMؽ7iJaW $}m@*UUe)}!ƽm]/Ͼy|]Ν#]
ʝ$qUǞ '}~?E)~\yUX!}]9'_Y΢}\/|UY|	U_|]~=d;q-ȝ"]=I_#U\	ȝ=߿*UC\=_YΦ=3Y'Ǟ	 *~~'U^	]	;_#	%aWU\3Tn @'XA U  Im$~ @	_׽!^-]AҤl t	 Hd|]	
_ ,	 Um|G}
cٝE?Mk~1YΞSUΝU^%A}+Mi~I ~9瞗;^]	흣eށU꜡|='|q~+f ퟗ݇jmݏ2	~ҔT}&y^ݩ	5z~[T:ޱΞ)B'\ٟyoѝ/uSXܙp
\[V /\DIMpwzPr$!
(= @r\vUU  .Вu=^RUUU^Xmk\Y D}VEXuQ!>gn\t|g $t/XsUI 0$uS^	A	Zgm<(= _Duc+}M^R-Ue/^T*}Rt9~Ou ^IǕUE	Dv E}])= .^It	U\1$b \m]'*=}|)_1O'=
};SZtUULu[)> 9(U|!)<]C(\CD-\44|T2M\78 m};79/(= -]G|	~1)3(> p_v}' ^4,<'=^<tG.^$u^0|}%)h}5(= )^6'|~5(<~34(= '~a,#~	XZ&}^(}
-=  ^+(}_8'| [U<(=^I7bt\) )'4#|k}^/	}}11(}|#)<U. '|	[EU%( V^w,xt[qU(=_{ '=z^p, u== ()||}j)< ',> #3+~7g~U1~7(}	m]5E'^D1E)A$!D(}^D1^AEe|	J܇W|}Q]],!6]ܵ|J '<}_	|~Q|~	O(}K(<|Qbܻ}]ܹ}^=M4\*6)\!7\Yh>'"u)T@R H$K (\$I$	@mM"I6`(> I )< m"i)< +`ɟ'	6Ж(< 6Im) 7IB'^:r)> 9]/(
HP(> E_(~0](= &8Զ)!9*=  -? * +.,
4,> 5<= -> 
0,= /'*(#:= )=~ +,~8,>;,7,.
/,> 1*<->	//|; 3.]))> , .<]* , .>  |( -~ -= <= -  -}%/<
*;|-}-.> <I;*>QI)=,<\+ + `)= )	"-</=M. +,?},f*i+(=* ,d+ 	!F)> 
~  6= "#) .< > m*M"i)l":1</< *?+-< ,}&-',2*>1,8 P*=6D9.>,-}3-= 1,< .=3\*3@)> .,<%90])4	*
"? #(< |,> UU A< *!  <  O       a>          <        A  )      < t T I$ITOm۶m(9_+e~Z__&C~Z&0R_U:,c}']%(׽UW -} ^-= _-= [-= -= .-= -> !
}RA$!~ v5A~#}]}%#]'*5!'Ok~'9~`0WU#(B_W&,-k~2W5/T1	AUn~ lw@`	4~x1
ƜU*_ $ ,> -} ,= |$, ,> ,> --,> 	+?  5#`~=,'#b'P'!~&.<_ؾ%>a6b#vԔ  A~`l	{  X|	<'B]c$UW)I
=!'RW


=
,cW*L	|
LcU*** \
8U   ܤ!K ~yW\
Im^YW ~Y 	96\]ժ
-\U
*( 1_S璔\`\# P#׽_h8_)<(	L!	]U~0<j\9' W\PcH;;	f(=@+ 	+? +> X- 	+> ,H; > $,?Y,= ,t,?  2 (	  z'x'}@ >b(H tY|w`  +? pXX<BB(| ׽`* Y*< UUZP*= 	*< XXPpyU_%%, *?׽S@ (< U* @ *=  *  .   < H  8pp'>_@@@(| ƂBBB*PpbB68P	* CB * p`(||U*<5T |_[Ss(= /E   <  8 +`PW+? k+? Á+> ,? Հ+? ppZ, U+U*\[-* Z[)|"}r)< cC+"+? U^+? )? ߪ@    <  8U (*UU\P+? +? Z+ %'.W+ ߰*~/U(1	  * SX* 	* P\+? /U](|׽RQ* U)
(< XU *3X/   | /5?|g(P@*@``'?ߖ	@ *}'@ (<* p)|1. }&@ +TT*} 		*|T* ]+A		*@ (~ ,<   <  'TԴ**`)|,/*= p+|A.}*|5*%%5'~@@ *?  +|  	* **<   <  +,>.p*|-_@,*~''(/$)~:|d* U)*| TTX,}Z+@		6!mI"U   <  ))|T,*<YaB*<`UUW*= %u\yTU}m\pU[c*ueE*< v%* +? +b * (~ 8g* ) X    <  'Ϋ,}+? 8@)<L_0)< mMK*iiAC*cC(p|EE*%%-+*-< M< !C)s(BU(| c	%)c,<.<[\\(#(B+S}'z(} u!.@(ZXW%(} ,}*P@ *U)Ӝ)(B`*>(U")%s@*>(>'<*}	j@ *>(=_T'=)y-*|* a| e<  )	 < ~;,>@@(=	\!*(]|   '< ? +^i*`~a-= 8<,c8~ Mk(>XYQ,>@*?)e,c(*~,c*۞g8
k* *U4TVUe*|@bbb( mk'}\UuiA( 󜀂*~*~7u,~ g< w<  ),| < |y* ޚj+| 	
*}  * !,U)
,c5(>:=_\'<!47+!}ep(4,cqccB*)c\ *| 	%6ZU(~ Ҕ) ,~Y_s*<emII*< sQQY*? B@'}X_iAA+.<!  ]< w<  '/
 = -k,
.>,c<=+0| ,cpPX(<ZU+<(< !)y_  MkVTT\*?'}HY\Օ*`pp)1c}U *<*>!  |
 -*| > ֜)
 6 }[ (<HB ) ^\\,} *mkܜ (@ +)b%WX+ %	+ X)IJ)!֒;?XXP)<u+77)< MkP7<'&+ *<|,  |
 )-| < })})< 2 - -< >} =}- = = 
 2} 9|  .<  <  +/)    <  '      < Mk(yc(< iJ322( ZJ(?+Ӝ@ (| IJP000*= +Z8`(|sOᡢ(=IJ	( s*lԌ  (? Ӝ+?iJp888(=sKJ@*?(('֎s	*> OM  *<3Ca*.CCc*? bbc'| y0$$&%*5*=p\)~Z+0		 
 )*|a < mk(=J\QS(? sR)r!~@IJ  6}P) |g,s*KTR@ *@ (? {@ *=T+| ,]g@ *|@@BK**Ps*MONN(| Mka4(sS;*| (<ac*= *<T*Q*% 
 )y-G < q*r}iS+? s+? kJ+< !L+? cS-= -<,mk,? R	+Z7-+? Ҕ- p+? {-}+? |-}N+? -}+? {-}$-= +? Z\+? 0-=+ 
  :ࠠ(< HB(?.k@ *} )/!-)=-Y\Ca6="?,( HB6(| !@8~ IJ*/YMkRj*2(<cAI'>3Ƅ'ך"_@'IJΎ( ZP).Zb33*< I*2X)|"/(|"e\'}\+)<p  0֙- > 4*|"?'|-YZ222*<-!/N* |1+=*<*<*|6(W7'6| ymk*,y_T)-MkR(2y\4<(<,c|lL( +"-  ( {!1*C#*=/C)0|*|3ֲ@ * F*p0* + 
 +! > ,-V-R+? s+*Mk- p-=/C;<\-=)= z\=*|.| }+? Q+? Mk+? q+= +~/\+? 0-.,|3\-= -|,<\+ Z--}	-/ 
 )X,|    <      +y*|    <  'yʌ    <  +,    <  "6bԯfR[U19_t&"1]u$Q`:+__0_!]վC~0>C~4C^	6?du}U~м׾@:zS:z~"W~?U,"k_{~!Pq~fmk})	0	(_!yݟ	AYݝ"r~~@U7yI~U7]C7!?Uh۞֟yؼATWM_}O^#e)~	[#	B}~I!pEy^f1}I ~~Y3`y3 }I{MK!MJMM IPWO6O}7K)R	zK_)F=#؁] 7bh6`uT@ mMm ` `ɟ$5!|1IB 9ʠ^	7\В$1U/\D$uA^ӲK$x]f^$y'^	u=.^(=  }(= ]	@|tE~`|~!9΋
P|z }(=}9|~	( 
\D\	}^A(= ^(= )^, }!~}(} 	^uY?}	( V^7a]+)}^y( jgz(^}(} ^(| ~(= )}*}(< (}//MX}+c,k(= ^^-| . b<| m"*> (| b,> u}K(}	^(|	1YZ_EiJS}>^(}K)	|K'KI]|eĶe}7|i|'|oJ=ذmy@ >(< \-= U =  (=  -> @*<  |    = 1   @            0   `      (     4m۶a,c   Wm۶=c   U I$I$    I$I$             ֵ   w        y   U            I$I   Z I$I2A   Um۶"     2m۶-|   m۶
9   *m۶(s   /Hm۶4   7Hm۶   W0Mm۶   @Vm۶        &   u~m۶&   zm۶-   o~m۶	   Wjym۶-4   |m۶@   Ucxm۶y   _JNm۶-   U@Om۶   _MUm۶@X   Uem۶   z~m۶   U& I$I$     ,oac;  綵z`r    ׽j (+    <疵RbA4y`)};?OU P爈]mDU23?^`	    <y   ]]    \]	    <ޥ$I$<U    <ޕ      =H    ;    ;     ;      =      =      =      =      =      =      =I    ;    ;     =      =      =_l۱  z6b#6b#        ׽H_      H(      疵rR      NW      yζ=I%      ޶DDF             ޶      =      =      =      =      =      =      =      =      =      =      =      =      =      =      =      =      =      =      =      =      =      =l؁  l{c[a        ޶_@      綵}<<      ׽UaA      U      ޶`cs      ֵcsq      ֵe4<      ߶5      <ֵ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪ      ;ߪl؁  l6b#6b#        ޖ@            ޕ#      ޶4444      ֖      ޶qy}g      ޖ ,4'      ֵ      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      ת      תl؁  l6b#6b#        r        ֵ}^h      yζy      ֶ      ޖ)	      y]        Y        y        Y  @@      ުR  5      Ӝ        Z  V      ,c        mk  p      Z  CK      Z  %       ޲  4      ޮs        ގs  S      c        ޫZ  V8      ޙ                                                                   l؁  l6b#6b#        ު      ު      y@@       ޶0       ޺֥      ު      ު      ު      Y@@@@      mk	            {V      mkXx      ގsr      ,cJ@BI      {  %
      mk8      Mkm{      MkR      ,c      {      ު      ު      ު      ު      ު      ު      ު      ު      ުl؁  l6b#6b#        Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Yjjj      mk      Ҕ      P      ֎sT
      mkт      cJJI      %/      ,c``@      MkҐ       mk\      Mk"      {       Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊl؁  l6b#6b#        ޺U      ޺U      ޺U      ޺U      ޺U      ޺U      ޺U      ޺U      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      Ϊ      ޺U      ޺U      ޺U      ޺U      ޺U      ޺U      ޺U      ޺U      ޺Ul؁  l6b#6b#        ֚        ֚        ֚        ֚        ֚        ֚        ֚        ֚        4@@@@      Y{ǆ      ׽Ӝ	      q$$      ֲ      Ʋ      ֲ'+'+      4nN~      8{3p      y      Ll      8Ǝs      XqNN      4      ֚        ֚        ֚        ֚        ֚        ֚        ֚        ֚  l؁  l6b#6b#        yΪ      yΪ      yΪ      yΪ      yΪ      yΪ      yΪ      yΪ      4 @@      Β       ֲ g      ֒.       ֲ 2      ֲ 0      { Ok      ֒       ֒ -%      Ҕ u             0       { k             yΪ      yΪ      yΪ      yΪ      yΪ      yΪ      yΪ      yΪl؁  l6b#6b#        ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      4@@       Xo       yTN       β8       yr       4pp       4uQ2       {       Yήs       Ӝ       yߨ       yDD       {k       Β       ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊ      ֙Ϊl؁  l6b#6b#        Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪl؁  l6b#6b#        yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY         yY   l؁  l6b#6b  )y       $      k    Мyζ       %     2y׽   ~    y   U    dy8   Y    .y       `-y׽   {?yU   eyu   UyΕ   U    yu   _&yΖ   Uy   / yT   U    &yΖ   ]Dyu   Uy   yӜ   U6yβ   U0yβ   U&y   yζ       y   U    y           +y׽   yu   l؁  6bm  P` o ܐI$  UU I m  Uj I*I l  U x I$AUU I mUU   I$UU |I maUU I m  U I mUU   I$a]U jI mAUU 	dI mAUU 
fI m!UU 
vI mAUU 
iI mAUU gI mAUU YI m  UU jI mAUU 	eI m!UU 	bI
 mAUU GI m  UU DI m  UU FI m  UU k I$  UU } I$  UU z  I$AUU  I$]U  I$UU   I$UU iI mAUU & H$I$   @     ضmVn   Ј Ic WͶmI mP8 UUݶm] @
 mC]    y]J {  #1q %=  U)?( <B- UUU6<! 3? "& U'=-48 
> :7?o      ׽@z       ׽      
&      )      ߪ      ߪ      ߪ      ߪ      ߪ      ߪ      ߪ      ߪ      ߪ      ߪ 7 7ȏȏu      ׽*W      {_7                   Q   =      0   O      ޲                  {   c      q   |      ު      UU      UU      UU 7u 7ȏȏ4      ޺j      Y&        ֪      ޚ@jjj      Q?93      {C.      y4      ֒C@      {i(      U      ֪      ֪      ֪      ֪ 74 7ȏȏ      ֪֚      ֪֚      ֪֚        @@      ֒        U  s      u        Q  j      ֒        4                ֪֚      ֪֚      ֪֚ 7 7ȏȏ4      ֙Ϊ      ֙Ϊ      ֙Ϊ       @@      YT ߖ       yu}u      y4 T|      YӜ        Y4        y4(_{       ֶ       ֙Ϊ      ֙Ϊ      ֙Ϊ 74 7ȏȏ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ      Xƪ 7o%d]aT S_`fy    T@S@cۙ  U FQdۙΣ  U OW)dۚe)  U ;Q!`ۙ΂  U 7$ `y!  U 7$ `y!  U  $ y    U 7$ `y!  U  $ y    U $$ `y    U /G cy    U EQ@bۙ  U IPHkۙ   U lA**      sTB׽
5ނ   mk   ׽    <R )X   h綵@@@  u      8Ɨ       T      ޶ uU      粔       u         U    u@@@@  4      ֚ U      ֕ X      ׽ W}u      U W      U -/.      ֚ U    4@@@@.o4A )py   U+y!   UI y!   U y!   UI y     U(1yb   U'șU    C(8Z q`ֵV`U  *7OI??րK$ UBy Uy> UN? U     `$X'_UI?X U      GGATCGVA   ߁GGATCXAM   GGATGALF      GGATSFFO@      "  b  r  v  w  3x                                          I"   A  )          < 0< v @@,> UU    p>  ;@@(    r  ~s                 UUU <  I$I,>  =-=	,~$ | <   (6d/}@ 0۟TPP7A mn4 1p-ا@. .< 
zavn	 6)=]؟	`)})||!e'|	N $)?	P?=;a(=ɽM)҃'6<.'j'_ $$'} ]1 	<6`'= _ "$6 .> _m
~	'< B8 >' ~r'0_><  \'?cBr-^1UV 2~@G`ȟ]+<
9> ='>1	-=,>	e)2>	e) ='>1 <-R2>	|*~*>] ( Fσp'	)} ,'<\A1'<vƴ*=Om)|Jܜ)| 	 Fp^{ˢH)<m$d*}\(UTog|	
 mI'=M5  X'*ʯ'.	   < ~R?: )*ȏI /-<   < )

   !Y x(> ~U( 
UU(~ P)= =< , 	*=])= ^ - *:   ~k^<_W%WU'>vU(>VU *> *= (=  (< GUZPX_Uz#'=<\/(}k^   -<5 < `
ۀxWU(<$-(- (O	)|\U(|5*>< SzJ*(~ep\W(|$' Ҡ	 *Wx +>)"
-. 	   *  '<'>_'<V*]0}'?QUvj({~Z  '}'= '< YHZ'< G5%5'|頻6}@)=\^p(/'*^  .,< }? +++vd)<,4+|5O j(=X' Z)|kR(Qsz)|ZZ5< ER5u' U(aassj(<pR -W((-=*5)<VDp'<}#?(<"}  <  "M@]}V*<.e7(T)](/J\'=x)}_{)Z*< < Z9Y=ssrr'| bJ@ kR(>3%(~%,*=)?U$+=^)5(~ ">A   ipXTW(<<5'>;]}W89 `(Z+| ?> {ߟ(<RPPP(+>>3(<R	56<}%)'V\P`(%   Z!K`'}/!?<UU'<ܡ(>*</OJ	p(Z*< bR)| O< R1(?FX@ ( J@  }/<_!	-(J(}R֞-V\(<	   <P\TVu%	(|,K42 (HoJ\VW h.< oR55(/,^ '*|/4  !6<"%Xp`'}2!~E%5 <   -,<] N= !) '|?D(|,/]7.J@`(|bnR(Z,= ]< NJ5%%'>u|'bB*/ ~!?(>KY%7< OJ**(D(k g  `pp';!>:5(|U) T::(?RT)]_J-< \? nZ^(9(B\@ 0 ,=^%(|T) ~1T\(}"!}&	/ h  ")|< O< gY\(>LYc	(
-
s! ' R'0Z+ `? R9*|#4B	)=3,Z!O 7>bKJj)DosY6Upp``*%55 g  f   Y? GT@ (~(=
!}:+?B`p*+(m- ]? R!o 'X'<g*~ 7<%??'
SA			8	`@(!& i  +<. O< ,T(| )z(p{(*	.2U   w> տ(= U^ )~!*r] I|UHW7~1(< D=?` g  -< M< ,)(_(}Z!}^'@T!jiA(>=(>  (<Q~4-~ UUה*} U\(= ']m'ŹUU^U(m]'?܅;ut(=~	(<~W\(s~k,= )|t~^X(|~	-)| ^)VP(> &- ]z'_Ge*?G^ i  ?,< O< ,	)||e@ (<`,D#(?+)|75(m\'<1e( 	(<XP(a/A(24/cpX'<\o5%(6)t\XX)SPb	(_U'tLÃ3(~](<ddXؘ'|rX\(<bI(%(^'|5湪^ i  -< M< _\\X6-<)|gJ``b *P+5)T!='(< <(V	T(<GAA(|\Pc*=(">!((|_XV(<5X( \)&2R(g`(dɘ(#\X)#D(~(d(<e(_55% i  /}-< M= !?-Ppp'Y/*~)=*]}(< \**(!~.P_) 5))>Y#(> _,= X*=)"=-)΋!?3~)Hʀ) L*>(} !M*r) *~#XW*G	)>,3,<}@)~Y)}u\	 g  '@(<'&'Hj(=T">(Zt)UZp'|ZJ*JS K< TiU%(D+(MT-< !"}v'?ɯB -}+?*K6}	˥(    )2> WT(<0]*}t!-%5'<rM?(~A!L'<,MRMB*| 0? JK)!(>A(*<JJhʥɮLRO+ |B*p X'3`pX*<Օ5% w   -<5 a< ɺP`@ &h҄*%(<+k)`(}|)\MR-- ? J9Y @(>9
	(*<o.}k@(h3(|}w) |0+)(~1' 8<L   H(~*| y  ?2 w< }WTX'&*< &*|e]1*<9UU\(>*)!}knRA]U(} J^(!%(<.(>
,|t(<PX\'OG@ ,RN:+J,J,,< *!*t+!5T#*'( 3`p\V*% |  "$*
 o< '@)\S*|.=t!|\*>K*<q(kR^)<,9*<<B- *>!*=N-/= ]")Ӆ --!$>#%(|1%	(}S-!~/j+>@p'*Ʊ   |  |,<% }= }p@(~
}WU'<ni?)}3}U*>]!UK5,~ <-? +<^`(X)=-'\*?'+4">U-(<9U5*>A/,>,<O]8'< }pT*W)<h   <  .< P)=#| (?!}/	(=ʒ(Pq%(h^(>̘'> Y (x'~s,n|*='])<^ҥ(|_]]8+L B(|'ʀpV(>!5   }/\-< = }!0`)|}űUWX(>\{'<* }uB^+,> x,}`)|.<>= #*PޢZ(}]{*'?!+\+!$U(|B}	       |^)<U^,~+(~>Y)=!+. = /S\Nxu*}^*> |  8}*<* < }陵x, U^-> U~'> }U'0"-U'r' y
+~"U)}**Q   }f     <   ]}'   <   ,|< ?<  v+?  	(< S ,+? ``+? /(< c PP+~ @) $!  	|_	pp +>?=,$+? 	+? 8+<2ai,*_/+ pp(> A"B+ 		+*|_T&,-v  *	  MM( + ?|	  "@ *> 		(~	O ("*~ ``(}@ *PP,* 9@  ,|}$@ *,<!*} @ -twAIEE-|)|k,pp*CC8|,<~s*Z	+,0* 6}]@ *} @ *EE*  |\ +< =< ~Evv(|E*}!A}޼# ) 0$+		*JKK},B'SfZR(~  |	&,*| Aa |` 6!P@+ |QQ8 5|	  -< ;< 2*|
}*} b c-  <~a(<*< *< [SSs,2`@*,6||4  :<f-=6"!8 !OaaA: 3|	  ]/<-< ?< \-)I)= ]]EC-} c+   %+< \c+< ,=]]U%+< }	-$-E+? q- -< ,?U@ 94- 	- -X-}- +> .	  .=  <   ] *x*<Y *<Y '- P-} B-= %- (? s ]Y - -= K-= -`-} @6 0<3 9\-= c==--- - -} -= 8~YY   !?	*@ *EE(|L}R( Z)-	AC@),$!o* )<mk*}))*~P@ * *<A|*1]9@#|:*/:>@@ {X* Y*BBB)|`R&<<<*@ **eZf*?1)P@ *)+/c-}  y]-<5 ?< }iJ'` ]-8}$-|	,c
%*&`)| Rp*| Z* += .s8|  *=@]\*<CAAI(< !.'88 |$@*?P+?r)]=<|, 5|	  ]\Q *J00`+:+9"')< 1,,X+ BAB+< "=*BK)<  `)|9+XU+ K+ ~P *i-+;Y- = 
+<<$+ KJJ+? 88+V+<X'> !vʜ+|] - ,}+,,\+<       <   \.;,<   <   g?$@PV$<]xGb.= }-^go[AW=\I <'<-<   < X9"B_$|/ 	K 'K@Nv	=?ɟ   JV`$yA \:O$~XV </[i]\	Bofw$!9\;@m/vN4	|LW>='ɑ|lI}W?x'	TT >]	S61ݝ <=R(<~X=tJp| |-< < ^6ps5ѭ? `M~$ ɝ|[TP@	r) L' B;'.< .*<	KciZ,čn(<	K)WN0	3>	w"|?A ַ?s `
U_?'  .	}7<]">5G$Y^~{O?u'"48='<l7^R\	\F`_!	UUS?~'u]	_ ~'Tc<a5%U`  	n^$!|>c?|XPpk	'-=	Py\k~md ɟ
	@>>'J~5%">~\X8<?,=	f - dI(< pI'= ij)|  H$+> I|}1@p\3@I`ۼU 
 ]'<})<	@pUP P(z
H'<A
_	Ia|'*pw)|9D)|*X*}$Lk"}j!$I	P\	1\	'	@ı(},	,=N(=@ '-|8T.|+=.|P(<Sq'<RMʖ'@/:S?S-= P؅M|	 Iɗ|}wy\ÃuAMkL@0i>S?]
\ z>{2us,	
PToppwUUNt$4! \M?S?\`<			- əy|աxi\'u_3  ?׽A
UU)
	  '  |/dp <  ރUP )< m'0 ,UU朝'<	IIm `]:<.<  퐤@)|^	m;0 ,\dP(<)p"'t\ y{TR*^k'},-X=\)>S?~~	9뗻	3	")'>@,>3	'$!$=$?	-\	~|2		}x@5 |!9 \:)  (     +<  +> k*?  X+( +  * d+ ;?m+ p,  +< c')<                           @                                                                                                                                                                                                                                                                                                                                                                                                                        XXX           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           			                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                        m۶c  UUضm۰  UUTXնm۶a#  U  ޶m   U            U  ޶mۆ  U  >նm۰  U Kֶm۶a;  U* $Gm  U           U A;mۆ&  U U߶m۰  U öm۶a#  U  жmۀ  U            U   I$I  U   I$I$  U  
 I$I  U   I$I1  U            U  $Pm۶  U  m۶  U                                                            				                                  XXXX                        !6nFo  ٗ  p   ٶ        

ٶ A        ٗ   ڶ        

ڶ A        ٗ   ٶ        ٶ ׽   H  6Dٶ @   x؁GB6&I$  	   	?  PPPP                                  				                                  XXXX                        	"FnFn                                                           `      
  _        U        U      
        y   	                                                "  PPPP                                  				                                  XXXX                        	"FnFn                                               @      * X      Gx	       6        5         ª @      GVu      7g-b      J 5W                                             
"  PPPP                                  				                                  XXXX                        	"FnFn                                      t   @      pX%              Z   x      Z ^U      Z UU      b UU      S
T      0k  -      5p        W-      T                                 
"  PPPP                                  				                                  XXXX                        	"FnFn        着      着      着      着      着      `X               0c PT      2Z\UUU      ZZUU      ZZUU      bOJjj*      j\\\\      RZUUU      c       h@         	%      着      着      着      着      着
"  PPPP                                  				                                  XXXX                        	"FnFn        着      着      着      着      Ҁ`p      G	      R `P      psZTUUU      bR      bR      bR      ůZ      yjjTTTT      bR      0kZ5UU      oR 	      GP`@      	      着      着      着      着
"  PPPP                                  				                                  XXXX                        	"FnFn                                gP؜      u      RXTVU      nZR      nZR      nZR      nZR      R5      IrTTTT      nZR      nZR      R%U      v=      '6                        
"  PPPP                                  				                                  XXXX                        	"FnFn                                                Vg6&&      @@      ZOJ      ZoJ      ZoJ      ZoJ      ZoJ      4nJ%%%      5)j\\\\      ZoJ      ZoJ      ZNJj            5h                                        
"  PPPP                                  				                                  XXXX                        	"FnFn                                    GTTT      2UL      UU*      UU      UU      UU`      yU_       _U      gWUU%      yU      ǁU      UUB      5G©UU      G                            
"  PPPP                                  				                                  XXXX                        	"FnFn        着      着      着      着      GTTTT      ʄD      gZZX\      ɜ      jVXVX      LLpj      bB      ɱQQ      F            GAD      sGʤ44      ±I%1      yGՕ      着      着      着      着
"  PPPP                                  				                                  XXXX                        	"FnFn        }着      }着      }着      }着      'T\XP      T'nU5      I_UW\      JUUU      2i_UU      iLUUU      IU      TG¥U       R(%UUU      iUUU      iLUUU      JkU5      THU       '5%      }着      }着      }着      }着
"  PPPP                                  				                                  XXXX                        	"FnFn        }着      }着      }着      }着      p`      Q'UU      AP@      -JUUUT      MR-B      -RMJ__      ,B5	      j  @      'MJPPPP      MR-B      R-J_      9	       @`P      	      }着      }着      }着      }着
"  PPPP                                  				                                  XXXX                        	"FnFn                                      &WTX`      &5U      9X       ,JUU       A%       楥      &@`P\      &-JPPPP      -JUUU      B       g   @      %	                              
"  PPPP                                  				                                  XXXX                        	"FnFn        |窪      |窪      |窪      |窪      |窪      @         UW\`      Q	5UU      h           ]      ' `V      TUUU      'U      1	           p      X5	               |窪      |窪      |窪      |窪      |窪
"  PPPP                                  				                                  XXXX                        	"FnFn}        \窪      \窪      \窪      \窪      \窪      \窪      }8@         }U\       yUUU\      UUU      H«            'U       `W5      }V5       }8         \窪      \窪      \窪      \窪      \窪      \窪
"}  PPPP                                  				                                  XXXX                        	"FnFn}        }UUU      }UUU      }UUU      }UUU      }UUU      }UUU      }UUU      }UUU      }`         ũW        }辰U        }辰U        ű
        }	         }UUU      }UUU      }UUU      }UUU      }UUU      }UUU      }UUU      }UUU
"}  PPPP                                  				                                  XXXX                        	"FnFn}        }]        }]        }]        }{        }Ҕ        }s  (      }c        }Ӝ        }  @@      Z        },c        }s  x      }Ӝ  T      9        }k  "      }Ӝ  ,      },c  -      }k        }9         }Y        }]        }]  
"}  PPPP                                  				                                  XXXX                        	"FnFn}        }\         }\         }\         9p      {QQSS      {ddnn      }cDDDD      }r      }\         }iJc      }R        x      s,      9      }c      }s#0      ފR(      s        `      }Y      }\         }\   
"}  PPPP                                  				                                  XXXX                        	"FnFn}        ]|      ]|      ]|      ]{        ]s
       {fv       ]cDD       ]r       ]|      }s"       <c       ]$!jj       ]s@|0       ]b(       ]c"       s       ,c*)       s       IJr        ]Y       ]|      ]|
"}  PPPP                                  				                                  XXXX                        	"FnFn]        }<窪      }<窪      }<窪      ]ﲔ       ] (      ]T       ]v %      ]q MA      ] 8      }       ]Ӝ       ]IJ  
      ]U 8$      ]Q M      ~{       ]ﳜ #      ]q       ]ﳜ (64      ~       ]v        }<窪      }<窪
"]  PPPP                                  				                                  XXXX                        	"FnFn]        ]\窪      ]\窪      ]\窪      ]0@`      =Ӝ,      ]vi      ]ﳜ      ]ӜO      mk##      ]1      ]{:      ]      ]ﲔ      ]ӜODO      ,c       ]9:      ~Oz      ns>>(      Z)""      ]u      ]\窪      ]\窪
"]  PPPP                                  				                                  XXXX                        	"FnFn]        ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪
"\  PPPP                                  				                                  XXXX                        nbh}  U&n4<  XVU&̿h]  5U@M%	]! jUT  <UUUBjm   yn4  XTW  5=   @@T  <UUU=\   ynT  XTT  5C   @@T  <UUU=\   wnT  XTT  5C   @@T  <UUU=\   wnT  XTT  5
"\  PPPP                                  				                                  XXXX                        -bh6`    /0m    4ch6`\  UTT@CI	 l\  UUU "@   \  UAA Pkd     >@\  UT yɛ\  TTTtN6$[  @UUU hѤO$\  UAAA$  UUUPC'}$\  WN ɛ\  TTTwL$  JUUU hѤO\  UAAAp  UUP,  T5ɑɝܚ  $T.")'  @U2{9{  UAApw<  Up,y!T:
j(f@  \
	<!PP[U                                  				                                  XXXX                                                        \   UUU        \   UUU        \   UUU        \   UUU        \   UUU ɐ$I$\  PUUU $I$            \  @UUU <I$     h$I$\  UUU ɐ$I$\  PUUU $I$     I$I$\  @UUU I$     'I$\  UUUbCm    -IM `     AN$    4k"m`    (0mֵ  5UUU)bh`۵  \UUU0	 l                                      				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				            @ @               @            U            U            U            U            U            U            U            U            U            U            U            U            U            U        0            @@@@                                                                                                                                                                                Q          @@@@            Bm^  UA9mQU   >mRQU   GQ(  Y]QT  E涍yQ@  2mQU   ߶m[QU   ܶQU   Yȶm	QU   ׶yQU   YmH  UU@@                    Q          @@@@            ȏȏ                    ?        x'       ^      I         -                  ??  @@@@                    Q          @@@@            ȏȏ        着      着      |@$      ZxV      ZWUU      OݏZ0EE      Z-      |      着      着      @@@@                    Q          @@@@            ȏȏ              Ҁ@      nZ`p      bnR      ZR      ORMIIA      bnR?      nZ	      	            @@@@                    Q          @@@@            ȏȏ                 Gʠp      HbPX      nRUU      nRUU      (jaa      JӎRUU       Hj%                     @@@@                    Q          @@@@            ȏȏ              gpp`@      GbJi      PU            G.P      팊 U      	ê2	      G	            @@@@                    Q          @@@@            ȏȏ        着      P@        &%      MJUW\       -J%	       3bppx|      rMJUU      +@      0        着      @@@@                    Q          @@@@            ȏȏ}        ^UU      ^UU      }喙P@        Vp       UU            	      }        ^UU      ^UU      @@@@                    Q          @@@@            ȏȏ}        }]         }U         }ﶵ         }׽        }K^        }全        }Y  Y      }U         }u   f      }       }  @@@@                    Q          @@@@            ȏȏ]        }]       ]ld       U       }V      0jn       jR              <疵"      <Mknnn       }    }  @@@@                    Q          @@@@            ȏȏ]        }<窪      ]ﶵtt      ƀ      u #      <Ӝ ))+      =u!      U {      綵 o      =ﶵ      ]z     ]  @@@@                    Q          @@@@            !\  y1   \    1[\    %12`\    <1]    X1y]    b1˃}]    1[]    %12`]    <1]    X1y]    b  "]  @@CI                    Q          @@@@            hdm    1`hmە  UT UB cCmە  UT U1[mu  U@U`-ضmۖ  _UUt Ds?I$  zUU_^fmU  UTUbk6`ۖ  UTU	x"{a۶  UU`  PUUy <A@UȅU`ۚ  AnWU                    Q          @@@@                                                                                                                                                                                Q                 XX           UU           UU           UU           UU           UU           UU           
%%          XXXX 6J$] 'y    (0,  
My@   h  P             %%%%          XXXXK  \      H      ZVUU      b]_      
*!    }jjj          %%%%          XXXXK  <      lT\      nRU       1Hr^      9=    \j          %%%%          XXXXK               T'b(      +T      }/     <jj          %%%%          XXXXK  }      }ﶵ W      ]r      T ٫      }Ӝ z    }<@BAi          %%%%          XXXXK-]URlZ  RdZ   R Z  R    `/Z  J <疵             %%%%          XXXX m$I${  UUU G$I${  @UU<Ed۶mmk  QUU["bmT  eUURlömU  UUU hI$׽   uUU          %%%%    Mm6h   Tqm   U  dm   U       \    @@        X\      ̒+'      @@\        <P      \'	   ]  vo36`  TT	$ `ۺ    U$ `    U*ŏڀm]    @  ҶmWaq=PͻoFbI}0    (y ?DS <      GGATCGVA   ڃGGATCXAM   GGATGALF      GGATSFFO@      A      &  -  t                                          @   A  )          < 0< v @@,> UU    p>  ;@@(    r  ~s                 }"SU-< '} ->  = }= =< 6| I$Im۶=>}4= 		,+$ & = <  /~ -<.|	  (D6d/]]+@ Mُ\  \) <U\a+o<01L 
ٿ}9 )? .(	\窪avnG 	D
9^Ý@m|G})|6j@_޿:	P'<.<v6h	b	:3=(ֶac\V I_}p*ն=\1@(_(<} .[_6`|-bQd(_h_|{j(<]U*|AH~m|	&	} v)(}B 0Cv|ޞh~
	_|ZH(<}5=?   [0|w|
?L\Zp-~a]Cb}a@ ȟlc?ޭx(>b*<|*>\,=}/<}^b+	}R|	-]	-||s}		IJ.<y 	|*<6'>R*<|g6<|w*=	{.|*'>{*	 \	}~'|}讷I'<WU}|*\H!	|sF]$ 
H'? (+	|~]m1RO '4*\	ܽ(<	]]U/"m`*ZD$eI $Q'	N9 6h6j#%Mʯ}(>x*<~W}y _\֠]~^( 
/u(|ξ( >( U\ (<֨*+U-(> <#(<]_'= D׿* .(< GX(*u_*< ]*< VUUW* *jhb*< +=*< zbZ(G +?  (? ](}_*<W_*<  *ں'* *+*|  `X*}?*-)}uw*? {)|\.* zX)	\=W5~R? b#H 0MȏH 0X
+**|XXj<ޔj'>*|u*(> X. (<W  *x'yΊcz*<%	*?/>>+<U*= *< z+ *
8][  +ֿ*= 	z*< u*< ]WV^***< *? )\.&* )]*,*| **=  *=+YU*(
*<UUwV* wj+W)=<
* 	W+>z+|Wz+?+>+~
K:: ,|(|?*   )< ֨Z(<֕**<YÊ*< +? X+? (< ܀ (*< ߻/( *\**+:?+&'<	X )>$~U(
)ŹP8)= ;> }, ~	U)< }( ^ -*|v*.,*)+_+?* e)"6(<  * +  +o%+? 6 +<"*? *'$\\*|
M  ]-\']*|o*< }**))祭*< }*wU'>0< )*< * *}**|zz* !1 + ()*
-,}'<')W'
WU'"vU("VU *> *< ](=  (< GUZP'>^Uz'>#'<F/(k^*| *⯯+<0W**|^_*~(|z^?+?  *+,	+b*> (6	x+D($|z\  }/Z *<W{ **<UU5(< ֫*|U]{~(/
'}+	*
*?
/)|_^xr*? '~<`(|
ӀxWU(<$-(- (O	)|\U(|5*>< SzJ*(~ep\W(|$' Ҡ	 *Wx +?x(<
-)=}!	(}ue+^*)<^*|) *<*w+ r*<*-'<!t4) +E*< jj+jz_*  .?0=,	*+?M*iz)|	Z`*=.*p*| *? +< ;*!*
k']['<<'~_'<	V*<Z/X'<QUvj({'<Z*+|(}'< YHZ'< G5%5'~!<6}@)=_^p'}C/'6\%*4׫.*?k)<+-z*^'*| }/ *-+P+0
+PZ*? W+ WU[)X<Zb  (#=h,?긠+<&*U)?_~*<_*|V*< *< *?!u'|R++C(v_])<,4+|5O j(=X' Z)|kR(1^(< ZZ)5< ER5u'<U(aassj(pR -W((-=*5)VDp'<#?("~ +N++> 
 +~/ ,r循)!A*< *zz*i!2+~~+|`(* V.*Z   /+*)|#Gz*e *)&\- {*z'}]_W)<aبph*'~	">@(|5d7(T)!R(/J\'=x)}]y+>Z*| < Z9X='ssr'<3bJ@ *(>3%(~%,*=)?U$+<5*_">A*_u*< }w,>`_+b*>	(o|		*~ Z*|!A +Z+a >,g  b*<'+*~,?G*)}_,<P<*? (+vUWxW*|կ
*^^z)IpXTW(?<e '>;]}W89 `(Z+| ?> {ߟ(<RPPP(+>>3(<R	56<}%)'V\P`(<%+>,?  ,~  *j +>sկ8<|.Xz+r*? 嵫)!?c7  .^
*?/+/)<@!*+< (*0)<],(5*|W! '.Ҁ`p(~
G5(|+ܡ)>+</OJ	p(Z*< bR)| O< R1(?FX@ ( J@  }/<_!	-(J(}R֞-V\*s	+(
+<N*< +~)+<	* :<p*|^Z*'*<   /j*< +*+=+?   +V ,< )||`
*'<P\T''u%	(|,K42 (HoJ\VW h.< oR55(/,^ '*|/4  !6<Xp`).%5*+|?:*.
*!=_,+?)<}/*,/+~@V^+(  	O2	)|'}.*,~*+<  ((-+}m*  )0_;*) '|?D(|,/]7.J@`(|b/B(	ZR i< NJ5%%'>u|'bB*/ bnR?(	KY%7< OJ)g\1*@ )>*< -|+^) !?*,?  *+|PVx`  ]j+5+~G+ (<`}U}}+ _,8-=**?	`pp';!>:5(|U)<T::(?RT)ZnJ,M ]? nZ\(|T9(B\@ - /=^%(LT+<>1T\X)?	/+?*<H

 :?*.+Xx( p*~8~*G/% ,=1%)!=B`  "<f*'%+<&!}{-=*u*? ]++w
(
)'gY\(>LYc	(
-
s! ' R'~0Z,+ _< R9*|#4B	)=3,Z!O 7>bKJj)DosY6Upp`)|P%55)8);*I  )<"o+)ԩ+?k+H*U+?^  	\/<-**+>F+6~+?'[,}*+&
-
 )?xGT@ (~(=
!}:+?B(|P\R(+mJ,<, ]? R!o'TX'<4g*~ 7<%??'
SA			8!|&)ru!|&@ (Yε+|]˪*W*|<ݽ+|

*< *j*jW)< !k`*  	o.~,+++Zj+?WU]+?}+ɪյ)~6T(J )z(p{(*	.2U   w> տ(= u^ )|!S*r] I|UHW7~1(< pd=???*8+>(+?)<]z* 
)!=B
)~u!=(< 𶷿*  /~\*|(5w})<^+@*+&)!p*+?W'G,)(_(}Z!}^'@T!jiA(>=(> ((֞4-~ UUה*} U\(= ']m'!<UU^U(m]'?܅;ut(=~	(<~W\(s~k,= )|t~^X(|~	-)| ^)VP(> &- ]z'Ge*?G+{T*|! (>`(~ Q!=({ x({-(|ֲ	 (< y%c\0  |7{_^~+?&rb*< V-*5W
)F ,*+| xZ6	)||e@ (>!,D#(?+)|75(m\'|e( 	(<XP(a/A(24/cpX'<\o5%(6)t\XX)SPb	(_@tLÃ3(~](<ddXؘ'rX\(<bI((<M^'|5湪'; *	)~~(<8k *(<Y'=`&}**)^ )HyW)Q  1_{ת)<{+}*>	,+*< -=Z*?!'<&\)|Y.-<)|gJ``' *P+5)$\\'<	(>S<(V	T(<GAA(|\Pc*=(">!((|_XV(<5X( \)K2R(<Ag`(dɘ(#\X)#D(~(d(<e*!%*|!*.B'<@7.*'*`(|!>	+ 
g*%*?	/+?y	   	1*
+~x+v+Z`(|>H +U)<!(*<(~ '	p'(/*~)=*]}(< \**(]_) 5)!=[)|B_,= X*=)"=-)΋!?3~)Hʀ) L*>(} +*r) *~#XW*G	)>,3,<}@)~Y)}u_)A' x(X'
*
*<wg*P/)

_ ,>(-=j  "n*ޖ*? *+*'<(HF__* z+?X+W(%*@(g'&'Hj(=T">(Zt)UZp'|mJ*JS K< TiU%(D+(T-< !"}v'|ɯB -}+?*K6}'<	˥+_'=!CH )%*?'$}`+)<"/.+ ֥)<	׾  ~(||y+?* U)<V}*?**(+=wX+B/Wx)WT\X)=*}t!-%5'<rM?(~A!L'<,MRMB*k 0> JK
@(>A(*|UJJhʥɮLRO+ |B*p X'<3`p'\c(/\u \V*)<yU*)+Z+<jj*@ +/+?*+|p  -N+W(o +<_Y +++ + )|]{( ɺP`@'&'|h҄*%(?+k)`)}|)\MR-- > Ji@(>9	(*<o.}k@(h3(|}w) |0+)(~1'(-<L   H(~*>*7թ+],(+nz+<\*<9~_Uu,`)<֠+@^(  ~-^_(<}|;X5 k`+,*`+6U,< (6AQ )0)<)|PWTX'&*< &*|e]1*<9UU\(>*)!|k'|ynRA]U(} J^(!%(?.),t(<PX('o@ ,RN:+J,J,,< *!*t+!5T#*'( 3`p(=!p%*|W_*< 8|!?9*< ](< #}p+ z(X}D_*=0
(Aq\  ^_  ?w`\)|\ +~!9?+?ւ*')fW/(|gU*|Qyu^)6y(])>0'*]*<.=t!|\*>K*<q(kR^)<,9*<<B- *>!*=N-+> ]")Ӆ --!$>#%(|1%	(}S-!~/j+>@p)<|)(Ʊ  *bb,=z+ %+|>[ذ*X )Y^+nW)|* x(^*?Wu  	2֖*  @,%*z^*XQB @G"ơz+爫*? j7+(Ʃp@(~
}WU'<Ii?)3}U*>]!UK5,~6<>? +<^`(X)>-%* '@ (<">U-(<9U5*>A/*>-!|?!M~}p'~KW)<h,
+|* z*+' +C
)~ X*?/)< A)Y  )q^(~Ӝ!  ! P2'	+?`&+|N_` *<fU5*!} ^+/x*< .%*,<4,|x+ _(|"P)=#(~   ah(Pq%(h^(>̘'> X '(B#s,n|*='])<^ҥ(|_]]8+L B(|'ʀpV(<7!56#w^,W*ܘ, +*->`*? ^n׽-
)'8Vب*?'|@AW	*-"=9!r  +*6_+?p+*<g*uߞ.* *@]*~,>w+?
^*))+?!xrߪ`)|}űUWX(>](> *:}uB^+,> x,}`)+<>= #*PޢZ(}]{*'?!+\+;(|B	  ,~ U*<6#C*? 7*'*( X*ߊ)Fy,'+?⫯+?UVj*U)\)'>`(9$
_  
.},`*6'-+j)|B+}6~_G'*~*|!H~+?+ª(jz)վ)?^IU^,}+'=!=)|!=!* = /'S\NxuU)<^{U)&h)?u+|)<?u  )?zCY)<#NW)h"~(W+,~`(*+*+P^`+*/^X+? U+)'/  
0\x*v/	+
,?7~+<  *|/*(* V))\)-gz+ᨠ@VZz*?	)}eZ+?	+ (<'!sϥx) ũU^  ,~'> }U'P"-U'=+0 (
+~"U)<]*>*Q *+>"+ O+?=x
*6J**<!f`Xx**NX7)4 3/}(? X  ~7@0m+.)<_+	^_  </ߺ,V%eY AV )~	Q*.6h|ZZ+{IV^+_)}!!>*(})y|X+? +|.~k(	)|^W*? jU+U	G*^,* )|v!v++ @4+^+X-5+$^ WU-}!U+|!y}*|g5W*<O!9F/*?jkjp)|^+<zWU  	)>~*<80> h,8 <    =}  = 7 ==<>} |. }w,= h+> /<;| ]-+< ]G*> <,= ]-|	.<<   t7*ʉ
(< z(:H+Jª(= -?K*-= . ,> ]*< + j+? 6}!*< *< : !y;,= ,~ +< *> 8+>+ (?i- g/<U+~+j'|^ʫ+=[((| hV'} \-*'(.(>zz(~ (@'<!h景X'| GƉ _'$h¦ 	*(> h	'H*<d|!$ ! t.*+~+WU*~ܺ!}i(}*
)}?h^*!}np) ^u(=+ }I-=(o,>WT- b,> _R(= ^u(||~U,>_`,~}a,=' ~(}k~	}$,,`-)3h}&9^,>U,~,> <+,}-)h+h'^(hhG7*?'^*  ^(>kQ{*y*?x^'<FH@ *<Oaaa(< ' HcA(!3)%l!|KJJH)' ''\Xؐ)<b``)	R@ ()'0P)6&'5(< uV* a)}0)G@ (< ('CA*L4<80u_%)}H7^	')Ɖ*})7*}@ ) @ ( C)})}*G5-~s^\ ~y\(>H=w(	y (^/  	_(}-c ~(={s'!&XW+&5)z*`*a+G)|]`bii'() H@BC(|H5Uy*'|0)|]!?`bb*<*(<hVT*XB+|*|^9(GiACC6Q 'T+G$\]7*&'(k@B++|*< ,)p_U)?Rh+G+_@j* s+GX+'!vQ*W(S|/W*<*{  "E*ƉU_(|eq ))hy+3*<%'**YcU*<X'> A+=* + AII(G_U(<) 'φU*
c+='|(I# )| G&6(}Bp* *|\Ƒ"*} '? ^U*ACAi-+&&'> TXO+=T)_P(<L{%'&+< YsU-}U*PP+  )< 硆U*=H *,|+?Uj`)< Ɖs*H\V)G*|B!~?/)|A_p`'= h\	%  +/^'(|"F )|"~6^*< տ+0(~s6*V7*})h*(<l|D'>._*Jh](((|
\)<}+I+<S~YW,<o
*=
* ,<~'\(h/r(^(})Uhe/
*]}{)< !+(>-U)? )o_+? % +<]*~  ,| _
**? `'8H^뫪*}+<G *~^",~(Y!<J*|OHʨ.O(|\	`  "?_^Z)<H%(}E)|h(}v_cx(| _y*'<V+	 *Wh'\I(	 
`*| **Éʧ-aF(+Z/*S,|br^*> (ӟ_+ *+d *? ݿ7<`.|_~V(|}-| :|a8<!G_W|,\,+= )=*H)H~(|	)|\
*?+i^+Y, *=    	o<
+*?+|]*| ._*)|Cw
C*)'H)zB@IU`*ֵ(Ch8''<A ) *+?,>	8*!~z+5+'	B*+)<u+|+*},z]*? ^)|+|Cn+_U*jU)|]*X(|W)|_CeU**)}!>(6,~,ѫ+W^ 4 @ `X*C`X+|-***> (<,C-+ ߸+
)]	*+?*)< P+>@Z!.*<+?*P+? 	*  *?m)|B#*?+_^k)(,<
++,,>'*,}6'%Bg*ުCO z)-+~ب+<.+> +*z'	T-~+}W@0" 4 B:+,UV*0 ),j+*+~Ǯ+? 

+*= b+C*|z+~Ѡ)}_,~-,ܨ* *|}n+ӯ~+!*.*`Õz++)t!>+}O*? +)!*?)2"Է-+*,
x*< u*|b*< %* )fV Pգ  	ߝ/V')|+K *?%)|_`+&	+^%+@0\**:| +0*?W,Bu)< \-| U+= *_몪*^$*=]+UUCz^!?(>'
+}*?~+?+|$-*> ,<ݮ++>Wo,?\p+|B*? ڽ)|\ pwת*'*)*
"+<XB\"= ! t%~f8>D(FI { `!</	@- H*<p`	],=z-=->}.<!	}<~,>,<&<>	(>,><H	=<>|}w 
| < +<U~6<>.<"!bz(= VHz6|0=ee'yQUޮ .%m~+!<g'~sP^ \& '&@NvR-R}!=- N$<A UUTp	9P\ <kۯ|~խO!~,9@mkL@}?P @?=ϟ		5 3
%k~	"#]	T >,<|aw	|[ <|g*<}P	 <|,<!L* }\/V\	|]	\ <)<8Ɩ.<	 =^@syβ-	  Iaps_ѭ?* XM~$@( ɝTPpr|, mn$s;'5=
.}		chK 0i%'<)WN0#, `	*?	c5|IPz^T\!N^A.	}$5<S~%\ v շ?ނ zUU.O?u'49<',70nж\	|#>'~X_ <&}%!=|IIBU/U<C2}uXoj	',?]TP%R؏$~%u.&	 t]	@	]-><	&Z؏	(|OUՠ	y}	`'>,>,<|'gƸ I'| c"mT(Z)  H$|}\~4 pIUUIm `yU4m۽7'<}E)<|it( p[UP5T\u(}UH|	}A
	a|'Mpw\keč(|MX\k~	L@  
 @^	Y,<n%(}P2>N_dIy;H'dD+}(<]	||i(}P(jSqHi&'l	 rX/C?1  -?UUل=|u	 Iə|аP#py8an\! S?P!'# {:}	
/6f,6f`	PT#p]|z]	y\|#J?|	 x>z8		/7 I{|x/	\	 l'YaUUM
	    ~7Az t (= -< |*= -< )= ]-< |*= == 5<  IP )| m'0|u])<
4U  U@\m
@m)=$pW~U0}@]&}(7P(< 1)p2't❱\ y{|!;UM
w)|'b@)R
='(>S?|C|E 9||	\ps)>p#,<\=B$<$ ؈\	}A/\	%qY^x}		"u8@gƱ\!4&"9U?>)<       +<  
mI* 
)'*<  `*  	*<  )= d+ + .?!+ p,  +< c'*                          @                                                                                                                                                                                                                                                                                                                                                                                                                        XXX           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           			                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                        m۶c  UU2m۱}غ  U  !m۶c\  U  Pm  U            U  m  U  wm۱}ؾ  U m۶c  U* 	  U  I$I  U Aضm^  U  m۱}  U  m۶c  U  /m  U            U  Om۶  U  :m۶  U  "m۶m#  U  m۶  U            U  am۶  U  Km۶ؾ  U                                                            				                                  XXXX                        =6nFo\  ֞֎      ] }m      ު
U}y  y      } *UyA       y          ꪪށ     }]UU}0u~e"@       <]{)6}"j
?]  PPPP                                  				                                  XXXX                        ?FnFn<        <紃UU      }xx{      }W      }
       }|      })      < *      }*      X   `      K  W        U        U      K  
      }   	      }< +      }]_z      }UU      <  /      }_x/      }數      }~      <?]  PPPP                                  				                                  XXXX                        ?FnFn}        }U^|      U5      }ޫZV      <
W      <  /      }zk      <X   @      < X      	       6h        50ս         G¨ @      6WU      g-b       < %      }y         }xZ      }

      }<=k      <
5      }ﮁ       }離h?}  PPPP                                  				                                  XXXX                        ?FnFn        
      <h      }VX      <       _         @      x      5G        b   p      Z ^U      Z UU      b UU      g^      c  -      5Gp        -      ]                W      <-*      \瀨      }^u]?]  PPPP                                  				                                  XXXX                        ?FnFn}        <Z      ]-/      }jȠ      <_z      UU      g`X6      '         b PT      rZTUUU      ZZUU      ZZUU      bOJjj*      j\\\\      RZUUU      b       '@         \g	6         /      }      }&5      <^      })VUU?  PPPP                                  				                                  XXXX                        ?FnFn        綪
      }+
      (      <瞠       Ҁ`p      g	      Z `P      PkZ\WUU      bR      bR      bR      ֯ZՕ      jjT\TT      bR      0kZ5UU      R 	      gP`@      	      着      }着      }      }VZzk?}  PPPP                                  				                                  XXXX                        ?FnFn}        }      UUU~                     gP؜      u      Z\TVU      ZpR      ZpR      ZpR      ZpR      R5      Jb\\\\      ZpR      ZpR      Z5U      u?      |g'6      *       }(*      }:Zx      <窪?  PPPP                                  				                                  XXXX                        ?FnFn]        <瞯-      } *      }  
       ("      5h6&&      s @      ZNJ      ZoJ      ZoJ      ZoJ      ZoJ      4nR5%      UIj\\\\      ZoJ      ZoJ      ZOJj      Os              	      <      <      ?  PPPP                                  				                                  XXXX                        ?FnFn]        }_      }j      }..      }+      gTTT      rG@UUD      UU*      UU      UU      UU`      yU       rU      TWUU%      UU      RUUI      sUUB      UG©UU      h      ]_      }8  V      ]u  \	      }y`?  PPPP                                  				                                  XXXX                        ?FnFn        \x*      <U-?      }         ]V      GTTTT      D      GZZXX      Gʔ      R)Tp\X      LLp`      BB      ʱQQ      GD$      'D      AL      rG44      4GʑI51      GՕ      }      <5      <瀪      ^*?  XPPP                                  				                                  XXXX                        ?FnFn        }       }      ]Z@        <筪      }GT\XP      uGfU5      i_UW\      z<U      (rU      zU      (U      u'¥U       S(%UUU      ڏR U      zU      (kU5      uGU       }G5%%      yР      ޭ+      Ϊ       ?}  PPPP                                  				                                  XXXX                        ?FnFn        z      VZj               }J  "      &p`      Q'UU      ,JP@      P-JUUUT      MR-B      MJ,J  j      B5	       @      'MJPPPP      MR-B      R-J      B	       'ʀ@`P      &              ]]       
       <
?}  PPPP                                  				                                  XXXX                        ?FnFn        } '      Z       |       ]        ]      VTX`      '%U      JX       ,JUU       A%       4竪      G@`P\      &MJPPPP      P-JUUU      ,J       G  @      |&%	      Z~      諸_}        z      8 U*       w\?  PZPP                                  				                                  XXXX                        ?FnFn        }'ˡ      ހz(      %       }            q@         UW\`      Q	5UU                U      G `W      TUUU      'U      9           p      Z5	      q         },         B       `-      }X ֨      ]
B}?  PPPP                                  				                                  XXXX                        ?FnFn        }@      <
      \*
      }*jz      } `      ]       8@        }U\       yUUU\      UUU      G\UUU              'U      ' `W5      'W       y-              }AP^      ޚ      }k      yp        }}^,?  PPPP                                  				                                  XXXX                        ?FnFn]        7/      }†      }
       }﷪      xhj      }W^z      \篯?7            `         W        ŹU        U        ũ
        	         n      <
      ߂@      }8V       8ƠU      }y ?      ]:      }
?}  PPPP                                  				                                  XXXX                        ?FnFn        } UU       UU       UU       UU       UU       UU       UU       UU       UU       UU       UU       UU       UU       UU       UU       UU      } UU       UU       UU      <H UU      }' UU      h UU?  PPZZ                                  				                                  XXXX                        ?FnFn        ʈ}w      (       8hU	      hUA      <hU      8hU;      戺UnH      hUnll      U(      8ީU      8ވU      U[RP      U      8ވUIM      橺U      XީU,      yU      戺UC      戺U      橲U,E      hUWTT      h ?h  PPPP                                  				                                  XXXX                        ?FnFn        ƉU      HƉ5       h      H      <:0&      +X      .>      hLLNo      h       8Lt            \hPRSY      .>      GIIMm      0<      =+(}            戺CSSY      h      yŎ,      hTTTW      G6b?h  PPPP                                  				                                  XXXX                        ?FnFnh        H>      hU/      hW\      '      G_*      '*^      h      ʈꪷ      h      h      G~        G      h      Hz              G      h[꯮      h      h
      h]*      ʈj      Hʨ?h  PPPP                                  				                                  XXXX                        ?FnFn]        <Z6      <⼽      } UW      }UUu             T      =       	      }<      }+
            ]        bI      }
             j      <XP      ު/      ^      <U             
?  PPPP                                  				                                  XXXX                        ?FnFn}        y        稠      <x"      ]      [-      }*             }z      }u       r       ޠU       窯-@       *            z            <@         	
      <%莫      <~      <      }֧ ?\  PPPP                                  				                                  XXXX                        nbh  0	<  XVU0O]  %Ui  l;} bU0iC&@  <UUUj @ n}   0	}  XTV0O-  %j   @`0iC&@׽  <UUUjʏ   0	  XTV0O-  %j   @@0iC&@׽  <UUUjʏ   	0	  XTV0O-  %j}   @@0iC&@׽  <UUUjʏ   0	  ZVV0O-}  ?v  PPPP                                  				                                  XXXX                        P 9ɟ$    
V0m  UU\ch6`ۚ  UUT@q H$  UUU"@a۝  UUA 	kd     m@۾  UUyɝ  UTT	?0  @UUU"`  UUAAq  UUU	@-  WUb6d  UTT!L6$  BUUU 2`@  UUAApNq۝  UU#'}'  TX=hoFb}A%T-II  @U<  UUUFȯcm׽    Up!L  TX:5nFc8  |	y  PPRU                                  				                                  XXXX                                            u  UUU        <   UUU           UUU        ]   UUU           UUU           UUU I$I$  PUUU М$I$     I$I$  @UUUbjm     p$I$  UUU I$I$  PUUU $I$     I$I$}  @UUU- I$    # 'I$}  UUU;h`    PIM `     HO$    
_k"m `    I0mۚ  =UUULh`Y  |UUU	Z	mA  RUUU                                  				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				            @ @               @            U            U            U            U            U            U            U            U            U            U            U            U            U            U        0            @@@@                                                                                                                                                                                Q          @@@@            Hm  Qm<U   RmR]U   f}  *  l}  P  y  @  ImU   m[0U   0U   km	U   yU   mL}  UU@@                    Q          @@@@            	ȏȏ        }^y      }Y      W        x'       W      I       }  -      <*j{      <      <  	%(??}  @@@@                    Q          @@@@            	ȏȏ\        z      }U_       @$      ZxV      ZWUU      PՏZ0EE      Z-      <      <_       }署i(    }  @@@@                    Q          @@@@            	ȏȏ}        
       ʀ@      nR`p      bnR      ZR      ORMIIA      bnR?      nR	            }直b(      @@@@                    Q          @@@@            	ȏȏ\        }      Gʰp      vHjPX      nRUU      nRUU      (jaa      jnRUU       vHj%      }	      }y   _(      @@@@                    Q          @@@@            	ȏȏ]        \-       }gpp`@      GbJi      PU      팊      H.P      팊 U      	ê:	      <'		      (    }  @@@@                    Q          @@@@            	ȏȏ        <  x      }/@        &%      MJUW\       -J%	       3bppx|      rMJUU      +@      0ĩ        ު ^(      @@@@                    Q          @@@@            	ȏȏ        <      }磌
      }P@        Vp       UU                  ]        <Z      ި]` (      @@@@                    Q          @@@@            	ȏȏ          U         U      ]   U         U      ^ U        U      ]   U      }   U         U      \H  U(    \  @@@                    Q          @@@@            	ȏȏG        TH5      yU      U,      8ޭu      խw      h$$      L爫      ]* ?      Th       ThzABb(    h  @@@@                    Q          @@@@            	ȏȏ        }hUU        hUU        ]UU        UU        UU        UU        UU        UU        ]UU        \UU  (      @@                    Q          @@@@            	!!  iṼu}    Vd0}    %V!C    <Vy    XVy    bV}    Vd    %V!C    <Vy    XVy]    j(<  @@ci                    Q          @@@@            /HdmZ  UUU	V`hm4  UU Ur cCmۖ  UU UZ[m׽  U@U!0m۶  ZUEU̠	 l۶  rUU`M`۶  UTU ck6`۷  UTU2 d  UUP ػ  PUUy`  @UF`  AjVU                    Q          @@@@                                                                                                                                                                                Q                 XX           UU           UU           UU           UU           UU           UU           
%%          XXXXIn	` }yή'*R0b *אM  
ֶ8@  v}  P             %%%%          XXXXT  ց	       H      ZVUU      b]_      <
!    @@          %%%%          XXXXT  y      lT\      nRU       hr^      }9=    }@^C          %%%%          XXXXT               T'b(      *T      }1/     h          %%%%          XXXXT  }'       UU      UU      
      ̠UU]    ' _^          %%%%          XXXXT2hUl}hU  dU   }U  }U  JIIP	<GU            %%%%          XXXX' m$I${  UUU7 G$I$  @UU bu`۶m0  YUU"bmU  UUU[ m۶  UUU hI$4   }UU          %%%%    Rm6h   Txm<   U  km   U       \    @@\        X\      ̒+'   \   @@        TXU      }'	     vo36`y  TT$ `    U#$ `    UIڀm    @  նmCc=}PFcۙ!
I;    ( ѿD<3       GGATCGVA   PRRGGATCXAM   GGATSFFO@   p   G  Z  k  o  p  Vp                                          wG !ZMk ,cZUUU     |~j }VB Z  @    y ^ U}V^   <}~@   Mk\dUUc 8VZZ-Lc~ WP R |    &!Y @ WUZb _c\  U)zX(\ @f)" " 5Z@\	%5@ ? u\!_WW]   \} `ppP)_
f!WW/2UU
,\%%'cRcc^PX c
"b>?/	 ! '=     ,Be1brrsf!b -Uf)B /W)-J
U,cB\^B}  9uu}Z  @uUU$? UW   /@``Abr@ |'%\}5U9B U^
-)b/)U@# 	JbmG!M]kX,k9|AYh ]UU   $!!/Xd9!0@ | AU)$B _  DcU@ U_B z*B -_f^E!-] 	f! W
F!BWcc+U_"! 
]^
B		݃\(} ՀI]\ VAUI]]^?*(R]-_T +_0  \0  a"_"</ acj#U5#U^-j!BCUW_\!U\}U.
)~]x||+U}U%\fE!bx E!x (-@"|1Uj 
]}`]Ui\z /ibAjAbbR9(*		JAjI7'(R9R9-ZA
\	"S`Mk% ZZ	=     `piRD1`@@` &Օht2D: XD*W:M#*U+$*UWk$2\ `h:DU)2W  J\Wz
gW"}!z 4)  P1BU\j" 5	+E!%rA-	jbAzXXibIKjIjRcAK_
(\ |%|~ 6)RAZ_zbAU]{A{ZXVb  b,kT^b"ZU#_" }$ SbR    D!/X!/p eB5 	 &iiaqJK%[gSV_c{KfS%ϨcU: (.:UW+(2%Wi:Eh2c^^ZX! ?__L! %ͣRs^UU\z L'Z}	rRzb\	-(RA(*\yIr{[|)\ 
*./jA(\ JA.bA5-IZ9TI9ZI\Wj\~
Vxb8!! ,"c55%%o  ?  Y@ ZE!X\\Tc9%!D1PXX\dBc%ɄeBSRGSrU+FS\}k[-U,ItJu^,'S,k	UUkxbuU+k[WcU}!p KtC_VTVK@ ͛(R\UUz(Zc+(ZkÁr(ZX\ Rg| 
WUajI%I 
IZAX(RI{()RIwN|\ 	͏jAc{_\9| 
xjZ%).K)R!$ɢ)RBPb"	    ! !   i2 IIJ$!\TVVc9D1QYY]$1c\||~f[-))˥J^Wxjg[u^ht3ƇS  FS`j~zkSRKtUU|  !Ux˾ll	-:{B V5R$ IZ}}\{ 'rb{HZjjrJ^lHZb_\~ z(R}kCjajH\w(
\A>kI".
HRIm]UUJozӟT^9;*IR9;j
gWA1	\	Z1 - !Z   jc JJ1d9 cX  ߌ=.B_(K-0̥FSW
gS+`kx՘\ +ޞKtUj ,lc~*k_tDNKzc(lA\|Wz| :cmUkRM/R[]libUClrzjb9IZf9jjZ9IZA~no)R9!!!\z
AU.J '|  )Jf9c	J9ǡ||  
kbJR1?JRE)//Z1 $f)Y(@$@ Lk1 *%bT   {?e1!OE!Ө!"? 4C!cݝqBfKUl	agl[몂ƨ[ޢc(_*tT.| ,,t	U^k'VUUcM\)k㍛J\~\~ bKJɃ+(RU%l(R~\͛%)j`,{  \{ Jjb9iZI>"?	I\Jjz_9 )Rf1Jjr)R9)IRf9xJJA   	|
~rA9&)\ 2.CjRE1ا	J%)ɠAbPrbiB
UURb@b]U! U B 9  /,%܀   z?$!`!O| PX#1B``$2c5Jץ:彽-ߧ[U^(KfSåc-UWnȄae,צ[ -Gtު-	lW_+tWͥc^ :XkB~
i|IbssZT
J%5W
)RV5rI>+IZ{w\[]IAiZE14B j\i\rJ|}|\	r)RA\\9I\:o|	9Z
*\1?)zԥ|	mA1
| JRjJʪU	!b!#qb!  "   Օf1  ^T]]   j%; :cD!XXX\D17%-#1cpppxd:c55%%*B-yJ%C +g>,\ lf-(\ V(lL|)n猾**l&KW^\ RVxzIzj(R_{Cr)R^{j)RjP(j{%J*{_PjbE1&b(\  (9IZAIZ9~\|jr| >JE1r<JABj	\	 
b)J 4*|~\}	A18| ޶/JR1-p	JBWVTWbB  uuU%)   **pb TV   !8!|{ pp$!y[#)	 ]!_ ߦ[-g,d/\|  -M稝4-ߩb  L'lht^JtJT\>)@jR7V	-r(Rc|V\	]bJt"?B*i\r
|:7I rȊb9Z(RB `{)Zb*%5)\<|~b1z \%!!f1%	\r||	=Af1*"0߂M)\_-z	B!^	BB ]X\  ȈFZb%-fZ&RUUZIW???-c(J   q?$^e ! PD1)꼺)\_3J!\g )&[	.jh	K'	+ߨ^zd~c^ʰl*],|X 6-m犕^`rPKj)J``JZIIZR8zvIZ(RrZkb)RuuIZ @ iZ
AUXR&  T&!+"</
"'mj\^Uᵏ/ B驭A5UI! 	Ae17B9U~
9J Vb9VXUU)J9X_A)p91< | B *J]	 B ;&Rb		FR&RkZZ%R"$3p    c_"@`p$ H!2(#1!hctvb=UUUJc-UUA S*UKׅ[ 
JK
/~[+-קc_^TV|c5}\ ƨc---I~__	&:"}I!N!</I\J**| !yeme\{)R]lj\_}~`\\  U^ 	J~!bWU}a"<>?s{|%f5UJD|_*\
9J9"/)/|^~1@ A1j_|~s>| ͢o	BA\ \\ bUfZd1!ERRZR   Mk]@!* 	\V(BC9jjb} ! _ " ^!beB[US!|!!X 1̭J^-Ug[^V`	kBxJϧc-_	: -^Gb XXZ{J_Yr)R UU\ UDUIZ^)Rb!U} U"~ W
J B %)}UWT|~o._   ,!<^9bYf1]*| ~} D"~o*A |
׾	B1 oJ]!@ *J%! __RB\W_\A"~?!/RhJ*\"<56\   YZ_v`|WUTW!`z\}	)+)ޣ} @ }  cz
*|]ꈣ|Jb[|U,~!~ |pu"]T jIR	R
뫯)RJ (IZ)RUi\ 5ן|	$AZj	"	'IRAxU"<o 5Jp)Jb\xAU\ W^U.^~~X_}5_\1UXKR151`A1\./|x踖| ]*\ ;o9bTVWU" KÃgRUVTXgJJ  \*B'   i$yB!? %	AbE!e!/{E!x *e)c^*"<"|~	*| j}b*W"}lV^Sk*$2\f"jB%%5"/>|!/\U WIRA Р bAU\
J^^JRf1*r<"\_͢(|	ڼ9)J||~kK
=%) A9 l"\O	V
"*J
|
\%|x| ޕ*JB Jbr! "ckb&R&RJ ZI7/   is!|+!\
Vnk! Xp`\P 

%_
/!<-)_}~|!e!~UxY||
} % z% _ꨪ"!C  )꠪bb5U%!rYUs	J/Wj_{u|||  -;Z9:zjZE1*b/J^~9j*~!|Q!|n*[RR[\9K*)JF)AF)B\!b|j	Bg)\	B9_|*_\ 	\JJBX\VW"D ٙd1fZA&R$"/!?   KcY `" >i* .B~]cxX^#u}f\  U5UB pZ_B *b/\u~\\}  +$	`(\W}_ǜZ$C @Y$1cb~bB5jAYI꺸\~RDt 
_IR@   JRc
 Z	JU}|~
$JRA?*\}|z!\_q*\rJJRE!\9{VU	B* |}|	WYA1j"0]+ˋRb*Jr1/@"??.&FZ"|"oT	uI ZGR"uWUU   ($nUC"ݹz,cW):b ~UJBbAOG!\\_U+|~
Uu)-g\u
b_%AgUz|^g] ]y@!O\|	+{"`$]!" ^)5W)_
|!|a@!-@\!<0)\
n"< Ub~ x2j]\|  ZzB)J%UUZAq{)JT   @Z)jRA+jR!Z9?_kRA6*J9}T}Sc\ 9I?JJ!R1UkR! *TkJ	  A \*'f\!o IhRRZZ   b!!f.^`JɮWb_U`>Zը\WU U`+:g)^XoU&u^ W&!_&\Z^&\
5Up!-UWg\Y A*MkiJZ^|!<AW R~x^ !f)`" pE~x|^" 
Tjb5UU\	* %sAX"/{|  
b	JוJR	Brpt)JA*|Y "}^ )B*K!^
	B9.JJ:| | 	V]A9ou^JJB
R'K*]P!T!+"|$)_QR!"? #>"~VW  ,".$^NWJ^}
x1 @}"\~^^eF]qx
/F|p + )U=)	W1Uկc\	_I:\&F\{
r/hF!V\~& ]' ]^B] }^|^7%^\u\! !["="-"` @"a^$G/B c-	!|0_	1-U\ x_\U~/]Cb%kUU|	?bAbp~~2"]	M	,{	B]]IJ\	\\ݝ)J	Bkpp"#| >	J9kR1ok\}|]U{جZ|!d! X_|}\|(\D_/Cac!Oc"ߏV_%Rs  Z"m_ @ %!	J^A _9\1g!W}uͨR|UUB`:D)_x1e)}k`  ^Zv\Vx|zx/" >|X|Z ྄cz
N x+:\\UU}/~7X]!/{	:Z-M!]x\OX\!! !a=Q\"Q"u3xjR	>b1.|p|| 	okZAjb|~	\ 	nkR9||" |
Z >c
`^UGT"<	7Uc%U"!? 8d1ژfZIZܾ"/x^:R"  cB`M"}	\f -1_	:x-:!UhIB\|0:\W@\y.X\n #cE!hU]1|-6$!U_\U):e)UUwQ)e!pJa_\ ˕):W/)p~"\!|
j9! }\W"@ xUG)F!@݀"O@O^+Uz	\+Z-{Z]}! !-	^x"[ Z_W!@}5\
UWA=XI\  /mZ$-Ub9+Z9b-Z9kRA"	NNkR!s} W!oY USWE|}  
 7D1c75%J7&R%J(  %\	>ZhR  0@@ "܈-/-$]d	!$!E\j*1b_e~\o 
 )B%!cRE!~IBWޫ\ ڕWl1\</jB$7(\nڥ|
&"- 
2|D]%WN[e!V\)cW*}U!b>(:W*2\x 1  ꯆ)e!$u_]e! E\ %{\s_g' x֦)׫I>+ˆ)! 9A %b\p	*Wc%! U\   -b1
 Mk"c!\0Qb#q\!iyA\	'R ^VWf\&xE)AUا9_{]_!^ @b \/!b!#|zY Y!R"<b" ꪪ| 	! 몪|/| V=?"o%%}" ''&R9  UZB97Z   @!}8! -B $c9@!m(sqqq"]W#9	_VaZ!0 $!{IB̺R$]^CJɦ)쪭\ .~{] +z	:$֧2D!e1 {( HRB\|	Uˉ1^}\!|A-|}X| "{91 
9z'\sb\
p
(RW\yU$!b  ׭BUkAZˠv(^  Bm *U! f)	zbژE){E$R/e U_"!Qa #_ b !cb |`b{)B }eAWTf^%m&R9_\9hZAU:*c(B  
Mk1JJJ hA $%@ Jj)by":"}!|^] 1 	?Շ91WjB?	 ʊXiJ$X,iJDaI\{y|| z)Z 9(:_\ UW(B95W_J|U)B+W1Axկ\%*EW@
F!+X E\ ."\ a؀| <\	?u1C
^\!	(I5?\	W1B p"<1 -7[,c*Ub( LsHRLs$)jbB Uz\#T 
P_뮋e\]|!a^+ !#C^%] D9c5(#!_"_#_!_~   `|Y! ="/'  7#)|MD!*\ }]%\Sx|!}-!??>B (B D)	bi|"Mj\'i\y "iJeR=ce!U\(:r]\y \cF!% XE!Bz} 5"\/W\_g
o-g)'F\k/c| ` -ނ/f\x\ 	|	<h1/}} h1c=^(1,ս1X.1U^\=\ %Z"^//9" !,k1!3!O Z}L{ %	\' 
"\r"^+|-!1)BwB AsR "??E1##"?("@t _ ROoo" 77>|": $@ |~ ¿|W` "y8$! !	\@ "}b^ ]\!;U2p*9
 ' 1*V~1xի]_( *`}y&!OW5!Ԭ
~1^%{|aI"q	5pF!ߗ|\w|w|X"P  -W*E!U/*e)_ G3"R^bz(\\	x\"ܱܜ&\!QU\kURB"_#n#'!޳U X" *| 
(E\~7'I_e!25iF!."	-c&R `o  Z" ]6 >~_~Ꟁ | D\`^
~ \|[A&|_]|zzk"_-\^1c/\ !<x!>`f]w!=" zn9U]\U_|?{f_st%\;C\~Z|{a|
iֶ7g)7F\N\ `/ړ"0X.':X3 Ն2U_"B >ߥ^W;|F]V	"a  _9_U 
>< zFUU"rW^! x NYIb"+}?~ !D /BB`t} UZA/UV ` mk !]]@ !{|{ #"0. &| y\t_b\@ |}* "|K|}_A#"0!"q_hG\g|	%"| -^!-z{~ &X-]|P_E\ uV\yg"\1|^܆\lz

uW*BUG3!_5!\zW"4(`czZz~z*~ $O% }`!0"!Ux"/׀$\  _7E1UIbTTV\bk{] At"%%   /M)BB~T$	.!+ *__+b \|+?x| }_\!|l/# U^-F 	_z||	;1\z_g\zqx|\__A}UU9_%T"*e\a/e_k
x!ob^	VU\־" A \}Y\  Wկ U B\.\ 	W  !A \!~"p"]$E!_	a,s{U|V`"UU[}}`} _+_:a    իZ&.$#|,!#j2b$!@:|x"/{z  |Zc\ {{~}C @ \}a||$0"!^!=/WB)\U^)BU_%#0U|%]W ">f\ze\/^e\|x\XC	~_||!||	W
 c@| .7_(\"D!tW_~ R"] 	7!A]
!`"| ꯥ|~-} `"@ _W5IB{^
AB pPI^[Z) U \  ZM~  %+>  "|*@Zc}@|{|{}]}zz{XX"A~ {k|W"?l-5!< -U]]1xkJzJW\We *|	
׭E)x_||/^^?&3Uu%*D^#QUZ!1!A\$
p\z~"}"?7_4@ ~kk!*
6B 9"o+AU<R  "婡fZB)!ekcc$ <  mD"||a\iy\z} 1 5"OP@ }t ɾ$?0!}CúZ|Kk!>訸*0A!|=Y"" "@!\ 1B/U151_UW!yU"R w}s)c}5gCcWUK%
 (bX]p^cH p!x]!B\bʨ| ]}|	8>B$,<<]}?o!O^_-"U-\  *%RF!zWR%!|~x| 6

fZ" cckVV!   %(<'"n|y || .<|⺪>p@ |siiIi|}!zW}VX %<@|{XX|➅$pWW~} {!|a55\~9$\B(A "]7	P^]!A!1\q8nkUXޣ	:Z"\<2&\	͔^"< VcPrxbXU]PWBP"1UR\u~
 A 1|  -J&RE!W- e1RX@|| JIҸ%RI,\JF!?cc   2b".PP]T ] !).<. B"}sIb'y| w}u{}!< |kk||jz^_}@_! f!#WW"'U 
2:7*)bAbW'	:?WqXc ؿN!!UU` !]Uba^vIB^ai|!< U9Uխ9+J$!_%RE)  "\}}	X%fZ$)
`I  8FzVW|." fZ"|&aZ   &/(0  pp IZAaU/! ^Ya)!<M|y}!{,|"\|u|w__|y鼁$|?{yy\r"/	"(/ڜk"P@ |!/5 o
]A\V`|V| ^`	(B\\\"YZ| %r )-U})Bb.bBR\	JW** \{ IohJHAD1		JD1'F\}["|Y"!4x`qB!f9]^hb61𮍢Abb!)<"    
^ER ,c%]@]!X	#Mk^^b6
**)= 

c^@@|u兞}#=}@ *< yqa| uC|\  "=|һ|"2!|w"b\"\@j| 0^#??|Y}Z  Y!'C!1"\/
~{/WQ!o/y+.55|_IFR@ A#)A F 	/oFZ(xU}}!jN ~ )&J57	"/?~\}B#=9   	 %^q!\x#	*@(C@ "|.w|IiImw!<@!>*<!90|!}{"@# ӟo\!?1qL??| 
/ #|2V|_{(7!/
'_C1_^_W"!/|Y@;jA X?"!|"Q&Z 55u(<| 
JBA9)-	+{_WIWTWU"_խ"U \_^"ޕ\	#0/
"  *"]   )/ 5!ڀb-W"o|YT}t@ }{{M|շ|wakiiB}|룞__|o|!b A^|!a$B(,}R j%R:
+| (| ~``0 %R R%RAAd1	))	9\"\o|}aB^%+\ ս
  c-
&R^75|*| */>'ALc9   ]3! | !!;Ym*||wiimmc#<$/yտs{y }qqyy|9$""B*z~ހ!&b} !s"\ &\C!B !oR
I(( %RAJJ|99))9\@}xT\|B /  b"1x _K  Q%J" +//+I C ! }}     A2}\wWBMk$\X  
bC
((b(*>|{_^}q韁W$`ay"0ob\9!!}y?\xU,~b
|{_| 'r몎!?==-||uHbbOI9=1$ "^$\"?bU|
/bfZUU-%]U!FZ#)|"=Q* /$|"Oh  @X? o rMk!\ !OZ!#AmsB݁ "]
&|P|{"|OAcރyyWWw| imy\"!\"]R !CB'U_U| } !  )] _#!(%/'/I&RAJ ++))KbWW7Ab}F}c  "<`	RJ|U} _E\߽=A" @ }\`c / @ zLJV`|"%"\~|z| !8 }o\_%/iiݟD A \ | (\R"*'\  
 |u\="!"?&)"/JBJ))|}	W/%R`VUU}y\|~~k!<CRA>:"4<|?9! 	,cR 
 0  ,!@  "|n"<"q# "=P}! 0}a#|0k}|r!O}A !~  || #=o|#?#< %?\">?!"m&_">">JjJAD1#!"o9B Q| !#|~Y~||\~d!     L? #}!#~ @]b`L|K| 	: |~꿟]]yy '|)=|] %= *)"|2+9;;|\b'%X]C]Rd1			} {ş_>!_ I}WUeEZA?#) e1bߟ}   i_ C~aU$<Q|$$| !0!P :  2($<z!| Y~||~&_0b"?%?\'%'OAz[9^]@ \9	|y} IW}"/ IIFZI) @ iR Օ?"@     2#| ^	UUXIA rLXZ y!= ~$`- #0*b! .Z'OA#_\#|vz\BbBJ9"D1	|| Q_{|	~JI꿭"  	IA  ~I$) Z>IR  \DA5\~!U  <p  2=%]-j*aA#q|"aA}!] |)<^~]a ""܏#oZbxKJB#/)!Id9"ܾ}#?IuUIc1 
	 | 	訪IIHRC9^V'Z(__TB-@ }T#Z^2  <p  6 LkB!\#qAy	& % &O+).|}"\}\||| . 
|  `ZA_%ZAW IZX|U@" 

   0C\|~-k!}  $} ⼀!= %/'./|Ugu9!	!/|}j}W-c9 ['R	C~Z L<!=p   /3C?B$^Mk$0"/A "*/\$I!(j)IXJ d9 hR(ZAW5}}H} `Z <p  0 -%\$b%(!R_#9W!Z)U
	9 t]Z   `"A`"\?;5(  [EeA15[iRZ     "|0@">^| W| #9-\*nZVm   /'Z "\ |!e    "\#!Y#  |~ j     ZZ TTT U       | Z?T|@   Y P!] IJ] `P^
U] Y 9R z}>  |tx)b
Z\=
\TV_ c-] LYnW  @ Zx|||F)b=ݿ1 E!U` 1>}bW^1Y	5T (}n UIZ?<]   ;|6 @jR ||}(l55%!W)#UW*cU}	2\ U 9\ 2UUp%!UZ! 7b(bIjII(RAbIySQ[ZA5]W_  V](A^H9].ZZ@ |Y  * EE!@@``D1B@`h|͍S	*[L[	;J^m)Y^K{cWW6+KR?\>i\=o(RIQtbA\8 iZI5MuI9¸Ac@ ^bW6.  J MD!ppPPD1`ppZʥ)퍩	g[)t`}~
tW'l+(KPlb*{RkIZ_mQzAJp\@ Xu)R9J) J9	JA/~J9Zު\5]B| ؊RchVbR  !/ JXX\\1b[۞K		Hl_ש|z?k|_~OkW̝ZRswzrI?+IZgkIZWF}_9j|! | a\<A@|= bl)J)J9/A19b,\XPRbXB> /	  (RS $:[Gl l]\A t
-p0+IZj)R\5r\> ]תb%1)RA\>B,IB^(j|?~	\	RˊA9i| 
_@9B p`@@&\?U5FRUU|Q	  $%!?@kaBX c*
J
Ɔ[>7c /WVJt	I)RYT})RfUIZI@* *~>	h )RF!X I%
	A >A-%=\|9ꥊ\? 1"*9!	 A1^?@@?5%}&R	]5  (c_%	k 	|}c+"   %S-^i!7 
+UFSh"\"^Lbx_I\?]|@
UjAPP@ f	UU}95%	"| 
W
b	J19!  A1~|	`@pPFR%]?J/  c"$UTvG\;
 +E!X
-E!_4^E^ % 	jB dBUUiZB)R  X	D9Iy
"IRAj	\K0| vNK\> o&0	B9/J	Bf)z	B19F)(`9X\TW&\X  i"E`!=!<bZW\  @xUg!bՉbAoU%\@ 
\$!UU	:E!XBW*e UUXbYAy	5]U%\Jwy\U)JE) @ )]>J\ *)\}j
\> 1 AF!  	B9YWT\~ `P\5|?	|?]@ xUZZX0^_zR\ _UI\t ^g)^%+cWUsF!|U}&^ '܋ F\r5z^	"OX	-!0!H` }\?|@V>\UzbjR\uZ] q
Hbv	U5*J9|~
( *J9{οJ\ 	_uWv	B X}?T@|?-&R!$Y%@ \3\\(\&|' z9}W٠R%!U]Uk)UWW[e!UWt:^φ)\9->)g\  ?F!z`))pRU|?ZAu] W!].x!>?!>PTj\O")J^AJR_@UWA\n	Y^_}p\U B <br9=9&RJHHR_-VUU BXXX$]uA k/__\q $ }IBz9%!uj1c)Re!{U1UHJ\{ 3}?1}X/1_cE!ʉB1-׆1AZ說Z! ?ub%! ]s]	z\
 IxUUE\H
v1bPUW]_!'b"?UWK&_H!|`c9
ZZ O!TPB D}A D^jz' OUy)b/mo)B *z(Bc
(BE!} (B{ꮊ\= hk:5W	:U}UF\4:E\ je!^)~^F69
:/ګ1c
*\6-WWb_PWp =\Bs"?UT")p
| UV*Z@\CqQ&R$)]} b q'?\?	 $`\|o* b$!%A \l	)bUU| է]9|<
Xzg)UU&\=MU%\ E{F\O|  
jGF!2]2_}|C
/)_F
 ^+sUUf\;TW{]=+P\ $\E$\;&R|}!"}q	 b\g@ }?@  %!^hA|k"E}?@   ~!^)}E\.U)^ u.:|>
]T!!F\;9|
EuE!Wf\	_U&)A\; g7aa\|? /355]RWWU'R\ #O g}`A $^?  #? ! 'a|*n \c~?A?f^A-9hU.1_ "|0E{*_!7%~ _wm H c ; B \<
b*E\W7I"<9-
JbK@@"~-'  oB:	Y7 g$*C\nA^ @@A~  A!!B @@!Fb_݆\5YUu\	R ]WG;\_UUHUTEUHXVA}1\<	&J^=\=/  %R9R"#W"\3|  : z"?%]+\nY	UwUY?!>Gj@ >?A  }>|}u	|?BBF]xz_vQUW! b=}})\8
KWW*B\̫)\  UI-JJe1qfZd9]j{~xU!*
	4 WW OZ^ 	!^'~	Y]BU"5 .} \ "f(|\?~I | 
#"~)E\	o;#)VVVW}!A:E!4"
R			9JB J!_r_A	^ {*%\@[	%R٪\  
1}U",!=_Ac\:+!(_ B]\?ߟuA o|!=`* j|b~8 &A %\?|!F9B E1	|(bzխ|?]AIQVU6   (<!V`\!0UU^`|>_}| {߿| {@ \Uu !A?uA zFZC R!>/Ws|UU5} BJngbR  -2oAA^^cA|?} ?;;!? =^ʀ*!0? ]X@ () )`A!<W%RI|	JIRb"<;\  =2=Ab\_Ab}A x= *?^,
Id9Jd9B Q\?II *I">KZ!o `o Ǿ [Ab$>)\%U9"wT"<)A}?@E?  qRB I"\b}?@ !?09RA~!X	c9W-Zaڮ|dA8| _<( :Y`%U!"!(BA#H"O^@ *!v"j} @@ZI\\=I	R !   : 	 `!A i!N]:\(}?)"n_W\#1	'YU w ]< 0?RXXb C(	 4Z h&|  P  [Y?    @   ZZZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZB   Z  @Zb   -ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZjZZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    IJ\\ZbUZ%/Z   ZiJ   ZZ   ZjR   ZZUUUVZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZZZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    Z9 @c!5!^
|U  UW^j5 bRzIZIeEgZAmY_Zb 
ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZZZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    Z$!@@`%%%kM|	iZX\V^ribl}rRl\UUJA JAfjR9}_bZUU*Z  %bRZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZZZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    Z)``pX %pΨc*'IZVTTVibJ^J  hA 5A9C?	A19bZ 5

ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZZZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZUUUժZ|tVYE!UUzh-UUUi
U̓AjZJ\J@  A/  A9=/CA1'JZ&R		ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZZZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ   (Z  XZ WUZWU^9UUU-X
ZU]-RU)J%)R   	jR	J]W^*JAU_k	B9Xx9b pX&R5%-Z&RZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZZZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    iJb1IBE!%^:E!WIBU]X)U}_F!cZu}Z^/Z$!5Up)J 
P	BA  AxUUb_/b+ZZ   ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZZZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZTTTTb  )e}9bU))&!D!;e2%!u5U&*!_\bUUAbsbp- C  Z *

5ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZZZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZTT\\ #cA?bF!X  F!B-))F!*~Ub-[]UIUUU5(Rq?Z%
  ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZZZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZXXXAcb%!bv~1-1TUXAcWJ/R+  &ZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZZZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZUUUZ	UUZ  	A AAB$!*$E)a.D1JApVWWJ```PZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZZZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZUUUZb^  bR  	BB AD1JIW6 J)	   ZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZZZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ   bZ	UUZUU\%!AIC1JIIJI_Z 6/ ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZZZZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    Zx  ZUWxf1AC9iR(((XZIU	 IZXUUUZZ    ZZ    bRZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZ    ZZZZZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZA   ZJ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZ   ZZj@     ZZWWWZZUUUZZUUUZZUUUZZUUUZZUUUZUU%%Z (ZB   ZZ   ZZUUUZZUUUZZUUUZZUUUZZUUUZZZZWWWWZZ    ZZ    ZZ    ZZ    ZZ    )E)ߟ˥E!~LE)jI^\_ZA+WUZ   ZZ    ZZ    ZZ    ZZZZWWWWZZ    ZZ    ZZ    ZZ    ZZ    !WU
UUh )Ib  A9Z 7//-ZZ    ZZ    ZZ    ZZZZWWWWZZ    ZZ    ZZ    E!ZURu1YUWIJ/IR	%	J   V9 @XUZ		ZZ    ZZ    ZZ    ZZZZWWWWZZ    ZZ    ZZ    IJVTTT1b__)bUE!)_IRwUUAU-Z9	 ZZ    ZZ    ZZ    ZZZZWWWWZZ    ZZ    ZZ    ZV\ RB___Xb!q	)_I`PA  ZZ    ZZ    ZZ    ZZ    ZZZZWWWWZZ    ZZ    ZZ    ZZ    Zf)`   bZ 	URUUUXpzzZI#)R

Z9ߟ/ZZ    ZZ    ZZ    ZZ    ZZZZWWWZZUUUZZUUUZZUUUZZUUUZZUUUZZUUUZB@   ZUX ZA-  ZhR   ZZUUUZZUUUZZUUUZZUUUZZտ     ZZWUUUZZ    ZZ    Lf)WsJU\ZA  ZZ    ZZUUUZZ    ZZ    Z)  xUe)
X  sF1|Rc::*'ZZ    ZZ    ZZ    ZZ    RA~~`f!b9_+Z%
ZZ    ZZ    ZZUUUWZZ    ZIJ   Z%UUZ& ZI  ZZ    ZZUUU  @  ZZ    ˔)??WZe1 ZZ    ZZ    ZWV` Z!=-
ZZ        Z  p$)ZUZXV      GGATCGVA   ܁GGATCXAM   GGATGALF      GGATSFFO@      l&  sf  zv  z  {  {                                          %   A  )          < 0< v @@,> UU    p>  ;@@(    r  ~s                 UUU <  I$I,>  =-=	,~$ | <   (6d/}@ 0۟TPP7A mn4 1p-ا@. .< 
zavn	 6)=]؟	`)})||!e'|	N $)?	P?=;a(=ɽM)҃'6<.'j'_ $$'} ]1 	<6`'= _ "$6 .> _m
~	'< B8 >' ~r'0_><  \'?cBr-^1UV 2~@G`ȟ]+<
9> ='>1	-=,>	e)2>	e) ='>1 <-R2>	|*~*>] ( F	σp'	)} ,'<\A1	vƴ*=Om)|Jܜ)| (< Fp^{ˢH)<m$d*}	\(UTog|	
 mI'=M5  X'*ʯ'.	   < ~R?: )*ȏI /-<   < )

  Se@(= -eU(= . < !5 *:  R*q  `I U') =   I%(	 <  -<5 o= ,*^]XV(S* 5 < ) UYcy 6 4 @(Qg^'	(=	\-UVX` <6<   ^j/1\}'*BNU*bV}!=ys!YT'uV 5( v}'
j^{X(|(-S!^-Ru|	' -<_yUb~px>	-(|xMo>3U^`^(<}' }	_'	ޜ'(]C   ,*< o< vp 
'( (  p (< )z +> *<  *? (	+<Os`*~ 4* %b  z!?" '< W'= ^W(Psx'>UU%'d\W(`b(|3 '(< (~-U)=6u(<Jŗ(d	   |  +< o< @(<
/=E!?U/'lY `(> !5	(	TE)~ )Y ~(|~U( X'< (U(> s!\(3! +-X'>#j5(T'|p`p(|"3 A'~ ;rsY'4+34:> _Օ(|7 <6<   .< t|(_'|ޕ zU(>(x)".)>!(4-?=5-}{~(=x '>!-(Ok		)<!Z ``'}3!2T)}4/??+< .| <= !|!5%('	   XPP'|JVVT(??3 ?3}7c2M2_'\߳!=.'~-U'<<^
 'A1U)<1v ٕ {(|2 p\' "} x(=2$N 3*?E		(?z)   `@ ]\  (~'= +?z+-r U|ߕB	)︍^U5(M%^'|ؕ Pa]\)} %A(p
U(Wp) )> V`'~}V(~0sy 6"<@|K(?$1   -,m ~< *=_\XX'>^'~ _5	(<q 	 *~VU(U )Z)<ؕU (< 5*(2'|^שR'|^:(*0~ !К(~!0 i'9!5*C%'_\`(~(=u+ȃ))!! 6<   +$X)^U5'~3Jy( )]w)|}瘍III^}UU'Lp(| 
^'>R #'>"x
' ^'|nޢ\'~ M   ]'|q 5)|!"	'<_~1 \p'3:t }t)@   )<	 > Y15(_,*rTU'=!.SX(~0ؕ )~oؕ!}P(|MR(|`VV*~N<5'<AV	(<@sA&(< 'ra5(AM`(}T(  Y]8'=^7(Q!~c(o1  6<   f   = ]5@ pXT'~9 '!.T \*}U	%'*p' \\)~	P5'> UU'<PւsXԔ(|IJ)+**(< p`(|WT)|a5x'>0+p)]]\'9 '>/)>D%(|2R	  6<    +|- O> \'+\{!(~ *}K]%)jkTVV'ٕwj(<=n["C'< _mXV'<^ )[(> P3'}=}_%'~>8r-	(>>ֵ*~@)<} biƬ*}/		7	8a@)"/5)|Q_	՜2' Y΢TT+}];		'w]+)=`+=1
(} y+< a  -< =< |G(<6(<j  4'|\rI'<<E'<,^`(}\_(=__7*!\' -+> Z*>q<'|y(. ((< B( WV(")"n6>HRm'=<_s'|!)U(<"_(|	+Aa(|(? 1`)`TZSS Y4<   ,< ?< )	X(< mAb)|bCuD\__U(}!>?
4(>!y<(> j]WJ^ b*<">/^`(<">N	(|   * \)? ֵX)^78(|  `X'~"x'R`)>X^^)>~ !907_5'b'1& (b )!\'RċY(``*<p<(< '|b'? Y4<   -< =< `4*	*]](| RAC(_'NÊbp'|
Fb-(|,գT^(< r" U(*=]L)PQ(~ֽ*}|](ֵC@*}%(? U+</,> <  '=\!~QX(j#) "\*( f^_*Bi5'| )%@ (< \p*= +`,0 Y=	  -,< 1> ,/*,| a<&	)n1G(jb*J)|Xs'
D1"v_(~/*<>> Ɲ)?^"(QXƂT-*5	)~*~+nS z*>2 (~N,?0  '< a5'~b7!(}**Bb	<(? @+0
$ I<	4<   }-< -< G\w)>	*<P$*~-*?)	^e``(>*~TPA'~J!K(,?,> 5%'lH]*? '<Mk )B*~ =(PP)=r!O@$'|!NXRSq  @ )!a!(!q\(55)	*,<`*X'<08& H<	6<   x0<FŔp(G	;	},|p( W\p'4+<a\c(|>"OWx(dI(|/AIasR(?-,} +<](ou?oӜ!V*j)|!<aaII*|! '^T\*}5X(r%\@ *||Y-*> 
*(<s"n,((4i+<   -<5 A> *|),x(= !z &*0 (|WX(Ldb"\(E)~W'/_\\)*  (=_%5(|\*/`* (J!=_5*A@/5^(@x((!>"(}E~U'>*E)| ,(Z(***('E<<$& Y4<   2 G= ~])|	&4(|1`(<mR6(< %p)}
|)< \("1p)~]W(}\k5%0a$)!?*< ~ )|!= U-c( ` +~ (by!/x(}8!>(5(<{'N~-(~ob)|B}7)`9,=0\=Zh+(| p rɷ*>()v O6<   "$)< O< e͘p@)?*+}@2`*? 6)|Z	)=Q/Rf)=!!.)<^*< o (|]x(~ ~^(}~!!>*>@*<3e1(P!=\( "x '2e}yU'( *.])? )~ V'>N~#*p)rR	((`'./ [  |,<% ]> }P@)< (2(<J1 ,56(
r!)06)0P 
ޤ(> Vc()~m\  \ )1`*<'| bW)>_}5 (<c{
)?)<@cY (}!dχ(|  .>")Ap)|ސZI*^1B	)<1)7	)}?* o  .< X*-p(?<wp	*6'=\k(<*+(<+4'?b~Py(~y
!( Cu(>R\',|!c%)#2'-^	(r!Xp'!|4(?/ @(>TB+*?Us+ x(X7	 (   }-~+< < }*yx)
 x(1!}
)2C@( %'<I'ia'|]R!( *|=A\(|9*^Z@Ԟ)|R!'64*< 4(< [O(< 1mf
)3s(<  (|a-(*< 6<   \-< < |*}Ŵ*< x)>!=W(<!R (|)hl*14)11`p`@(<kT9(- (p/f)<C8*>/ܸ*}B!( _W-)?z(O}ƴ+ |6<   "DUU < }m*\5)?!|b \(<2B6 *0)<	$<(]r!&*c%
*}^(Ĵ%)崵)n ߼6<   }f   > 3*1]%)|(16*Bq)&*ļX(|M!=%  <   ]}'  ? ´p)<VX(| '	 *}2+
     ,<   <   zU )~\< (| v  ,= )RY (< A,  B(= !],} )@(> $!*%(9&-} ,> 
-|\)Uv V(~ c*\-=, *- X,~ 
%,> U-B6-T,~ I-} =	  z\ +< /< !8)|9,}@ !4m* '<vSIME~'* *? )4*WiA)|
$!p* >)}9!/}+?iaa@C`B6<()|^Q  (?y+|0c*  *= )+c`)|}	+|   		,.  **<}B+|{):+| 5	  -< -? @*%6B=D,})||umYYQ*<P* 	ǥ8ƀ)<	'`)cPPRR6| Uy(" -<$+~V*|Z,-=-թ,@--U*cR<P*x"* .,|b+:- 3	  ]-],< 1< ]*\!Ϋ7+< Yk *,&X+| Yk *=	q	 *:.&++ )<]*<m  a}+ `,~6+0}+} a)|!rb+ <&+? V)> Z!/+?<\+ 9|+< X+ 	U+? `7]+< *|+;  ?	  }<-<   <    	]]Y S(> ҔY * Y %-= - -} -} N-} A-T8|.<3= $-}   	]-<5 ? Z)<?1+}; *<1BBe( mk5(; )*+0(S!132(  KNN+?TTT)?*?+C+|=$&>;3 |   	}e8  NiJࢡ*} @*)!":*|\)91-=@*=O b(Y**= *? А)  (*-)|_      <   \.;,<   <   g?$@PV$"<+,Tb.I#}+-^go[ |	W=\I <'<-<   < X9"8SB?\-}/X*K 'K@Nv =?ɟ  %UUV`$yA \:O$~XV </[i]\	
5Uf$ \;!|/vN4	}X =>='ɑ|>^,I}YCW?x'	TT >]	S61ݝ <=R(<~ =tJp| |-< < ^6ps5ѭ? `M~$ ɝ|[TP@	r) L' B;'.< .*<	KciZ,čn(<	K)WN0	3>	wܒL\A ַ?s `
U_?'  	}7<]"}5 `G$Y]@Q{O?u's 9='<l7^R\	\F`\!*\S?~'u]	_ ~'Tc b@OU`  	n^$!|>c?|XPpk	'-=	Py\k~md ɟ
	@>>'J~5%">~\X8<?,=	f - dI(< pI'<  Z)|  H$+> I|}1@p\3@I`ۼU 
 ]'<})<	@pUP P(]
H'<A
_	Ia|'*pw)|9D)|*X*}$Lk"}!$I	P\	1\	'	@ı(},	,=N(=@ '-|8T.|+=.|P(<Sq'<RMʖ'@/:S?S-= P؅M|	 Iɗ|~D
wy\UuAMkL@0i>S?]
\ z>{2us,	
PToppwUUNt$4! \M?S?\`<			- əy|աxi\'u_3  ?׽A
UU)
	  '  |/dp <  ރUP )< m'0 ,UU朝'<	IIm `]:<.<  퐤@)|^	m;0 ,\dP(<)p"'t\ y{TG#*^k'},-X=\)>S?~~	9뗻	3	")'>@,>3	'$!$=$?	-\	~|2		~xGe |!9 \:)  (     +<  +> k*?  X+( +  * ֦d+ ;?m+ p,  +< c')<                           @                                                                                                                                                                                                                                                                                                                                                                                                                        XXX           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           			                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                        m۶c  UUٶm۰  UUTP	ضm۶a;  U  ٶm   U            U  mۆ&  U  Aٶm۰  U Oضm۶a;  U* $Lm  U           U A?mۆ  U Sڶm۰  U 	m۶a;  U  ̶m   U            U  m۶l  U  m۶  U  
 I$I  U   I$I1  U            U  #Rm۶  U  m۶  U                                                            				                                  XXXX                        !6nFo  ٗ  `   ڶ        ڶ A        ٗ   ڶ        ꪪڶ A        ٗ   ڶ        ڶ y΁   H]   6Cڶ @   xفG\   C6&     ?  PPPP                                  				                                  XXXX                        	"FnFn                                               X         U         U         U         U         U         U         U         U         	                                    "  PPPP                                  				                                  XXXX                        	"FnFn                                        `      LXVU       UUU       UUU       UUU       UUU       UUU       UUU       Uu       UUU      L	%      ,  	                              	"  PPPP                                  				                                  XXXX                        	"FnFn                                着      `X        4U        U_       U        U{       *UU       *UU      U~W%      TB	      WUU      U      A	*
                              	"  PPPP                                  				                                  XXXX                        	"FnFn        着      着      着      着      着      FXPp`      U!  u        xU       xUU      UUU      4~      U-      pX      uUU      4      U      H	      着      着      着      着      着	"  PPPP                                  				                                  XXXX                        	"FnFn        着      着      着      着      着      @      lWVTT      cUUU      UU             2|      Y      3T`
      ;UU\@      4      5%%%            着      着      着      着      着	"  PPPP                                  				                                  XXXX                        	"FnFn                                      6@@@@      	TT$      <3!%      ؕ*      ؕ|+U      HB (e      ~z      ׵ 
5      ƢU      }VXB)      v%%%%                                    	"  PPPP                                  				                                  XXXX                        	"FnFn                                                          @@      0t      θTTT      9   `T      ׵pVX	      ];&.      ^[z       sV       UWP      T EEE      5$*)                                                            	"  PPPP                                  				                                  XXXX                        	"FnFn                              j      4։      e@ch      WUv       ֡pPj      )             ;{+)**      {p       UUWT      8 5UUU      ֡nr       %5                                          	"  PPPP                                  				                                  XXXX                        	"FnFn        着      着      着      @      QX@      ExP      )  T      G  U      ֢U<      R	             XW      z       y΢5xU        U       (i      ˩      I      Y      着      着      着	"  PPPP                                  				                                  XXXX                        	"FnFn        }着      }着      }着             8      ē`      \QM%              u U       UU      X      
jj      xmee              UUU5       I            	            }着      }着      }着	"  PPPP                                  				                                  XXXX                        	"FnFn        着      着      着      `            U $5      U \`       \A5W      Y EF      RUUUT      =	      ֵ pPPX       嵕5      U	X      IXU5      w%       ؔ  &      p               着      着      着	"  PPPP                                  				                                  XXXX                        	"FnFn        ~      ~      ~      ~      scK8      ~RN      {
	      ax        S`       u UX      < 
%      4 xTV      T 	       U
       !	        ]Tc`      5c>
      38	      ~      ~      ~      ~	"  PPPP                                  				                                  XXXX                        	"FnFn        |窪      |窪      |窪      |窪      `        `,      ]R       :      RB 
2      ksj       5p      1-       J       Z |      J*      9      A      穪      |窪      |窪      |窪      |窪	"  PPPP                                  				                                  XXXX                        	"FnFn}        ~窪      ~窪      ~窪      ~窪      ~窪      ]ꪪ      }'p        l      R
      [ucg<(      s       Jଚ      ukYn      |)      p5      }l6        ~窪      ~窪      ~窪      ~窪      ~窪      ~窪	"}  PPPP                                  				                                  XXXX                        	"FnFn}        }UUU      }UUU      }UUU      }UUU      }UUU      }UUU      }UUU      }UUU      }X        %Z      4c0      |J       `      }	         }UUU      }UUU      }UUU      }UUU      }UUU      }UUU      }UUU      }UUU	"}  PPPP                                  				                                  XXXX                        	"FnFn}        }]        }]        }]        }]        }]        }]        }]        }]        }]        }]        }'<`        }        }]        }]        }]        }]        }]        }]        }]        }]        }]        }]  	"}  PPPP                                  				                                  XXXX                        	"FnFn}        }]着      }]着      }]着      }Z h(      } jޞ      ނ       }0       }u       ]c OC      } 1       yy      <mk 8      }s /	      }mk       }ﲔ e      ]Mk       <c 8      <Lc       }q m      }c       }]着      }]着	"}  PPPP                                  				                                  XXXX                        	"FnFn]        ]|窪      ]|窪      ]|窪      ,c@h       沔ޞ        b       YiJ<       ]      ,cOLG
      ޲      ։JS       mk(      }s%	.      ֎s      ]R
      }12      b       }sĈ      c      }mk      ]|窪      ]|窪	"]  PPPP                                  				                                  XXXX                        	"FnFn]        }<窪      }<窪      }<窪      }<窪      }<窪      }<窪      }<窪      ]   @      ]         ]Y         ]         ]         ]Y         ]   D      ]X         }<窪      }<窪      }<窪      }<窪      }<窪      }<窪      }<窪	"]  PPPP                                  				                                  XXXX                        	"FnFn]        ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]Ӝ`@      }ﲔ      0
      B      ֲԔ      XӜ      ]J      <s=>      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪	"]  PPPP                                  				                                  XXXX                        	"FnFn]        ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪      ]\窪	"]  PPPP                                  				                                  XXXX                        nbh}  U&n4<  XVU&̿h<  %U;M%	\A jU& Ѷ$U  <UUU=jm   wn4  XTW  %=   @@& Ѷ$U  <UUU=   wnT  XTT%`  %=   @@& Ѷ$U  <UUU=   wnT  XTT  %=   @@& Ѷ$U  <UUU=   wnT  XTT  %	"\  PPPP                                  				                                  XXXX                        ,bh6`    /0m    3ch6`\  UUT@	BI	 l\  UUUm\  UUA Qkd     >@\  UUY yɝ}  UTTsN:$c  @UUU hѤO$\  UUAA<  UUUR@-\  WUNb6f\  UTTxL${  BUUU"[a\  UUAAz  UUP,]!T^b(f@  %T&"'  @U}  UUUpw  U,  TX:j+f@<A%^	]  PP[U                                  				                                  XXXX                                                        \   UUU        \   UUU        \   UUU        \   UUU        \   UUU ɐ$I$\  PUUU $I$            \  @UUU <I$     h$I$\  UUU ɐ$I$\  PUUU $I$     I$I$\  @UUU I$     'I$\  UUUbh6`    ,IM `     O$    6km`    (0m׽  UUU(bh`۶  \UUU1	 l                                      				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				            @ @               @            U            U            U            U            U            U            U            U            U            U            U            U            U            U        0            @@@@                                                                                                                                                                                Q          @@@@            Bm^  UA<mQU   =mRQU   HQ(  []QT  G嶍yQ@  3mQU   ߶m[QU   ݶQU   Zɶm	QU   ֶyQU   ZmH  UU@@                    Q          @@@@            ȏȏ                      p        U        U        U        Y        	            ??  @@@@                    Q          @@@@            ȏȏ        着      着      1\        IW  ^      
_ ^U      ֔1}A      S]U      {/	      着      着      @@@@                    Q          @@@@            ȏȏ                    zpp`      z4U%       s       IJ` (      U\@      		                  @@@@                    Q          @@@@            ȏȏ                   p      XpP      Z  X\      !*	       zXx             X 	      X                 @@@@                    Q          @@@@            ȏȏ        着      4k        `       'Օ        
      ]       PU      ws
            着      @@@@                    Q          @@@@            ȏȏ        着      x.*z      1p             %*      T7      V!-       I	"*      ޤ      着      @@@@                    Q          @@@@            ȏȏ}        ~窪      }@         }Ux       ؜`      k      ]9	*      <痔(7
(      }֔        ~窪      ~窪      @@@@                    Q          @@@@            ȏȏ}        }]         }]         }]         }@         }7{       }.       }         }]         }]         }]       }  @@@@                    Q          @@@@            ȏȏ]        }]着      <t      Mk       < ғ      { z      Ӝ ;:      4 '?      4      ֶ"I[r      }    }  @@@@                    Q          @@@@            ȏȏ]        }<窪      }<窪      }<窪      ]u  \\      <        <  u      <q        }<窪      }<窪      }<窪    ]  @@@@                    Q          @@@@            !  i1I$k
M\    1[\    %12`\    <1]    X1y]    b1˃}\    1[]    %12`]    <1]    X1y]    b  "]  @@CI                    Q          @@@@            hdm    1`h mv  UT UB cCmv  UT U2[mU  U@U_-ضmv  _UUu Ds?I$v  zUU_^fmU  UTUbk6`v  UTUvJI$8  UU`  PUUy <!@UȅU`  AnWU                    Q          @@@@                                                                                                                                                                                Q                 XX           UU           UU           UU           UU           UU           UU           
%%          XXXX 6J$\ 'r  @k  U(0k   UM  h  P             %%%%          XXXXK  <      rR@      S!x	       {x      b    }jjj          %%%%          XXXXK  <      {mk@       6
=      8΅1\      {    ]jj          %%%%          XXXXK        `              +kW-"
      ׽'    <jj          %%%%          XXXXK  }      }        }~V      }ﶵ       }׽  }    }          %%%%          XXXXK-]URl]R   Rd<Z  R <R  R]R   J }          %%%%          XXXX n$I${  UUU G$I${  @UU;Ed۶mmk  QUUZc۶mT  eUURlömu  UUU pI$׽   uUU          %%%%    Nm6h   Tqm   U  dm  U 
     \    @@        sx      Lk'&'&      @@\        }ҜX       }{-
    ]  vo36`  TT	$ `    U$ `    U)ŏڀm]    @  ҶmWaa=ǾpɻoFbI<0    (y ?D(      GGATCGVA   ́GGATCXAM   GGATGALF      GGATSFFO@      C          >                                          TC   A  )          < 0< v @@,> UU    p>  ;@@(    r  ~s                 }"SU-< '} ->  = }= =< 6| I$I=>}4= 	m۶,+$ & = <  /~ -<.|	  (%6d/]]+@ =؏\  \) <UmCvn<] 1L 
	}9 )? .(	\窪a\	& 6	D	
ٯÝ@m|G})|i\	z$^	
޿P'<.>'+vo	.	}\.=(aC6c݀-II_}p*-ۡ	((<} .[j_6`|-7Qd(_;_|{j(<]U*|#'~m|	
~	}dv)(}B ޝ$|_ r~
E*W_|ZH(<}5=?   ⿜w|?L\Zr
_O~a gX~a@Oȟlc?ޭx(>b*<|*>\,=}/<}^b+	UMR*=-||s}		IJ.<y 	| '>R*<|g6<|w*=	{.|*	{	}	/<}~F]$|讷}WU	G*	! 	|sFm$	 
?(+	|~*= ^4P\-<窵(<]]U/(*Z%eI '	M5  X'*ʯxO x*<~W}y _\֠]~^( 
/u(|ξ( >( U\ (<֨(<\狫+U-(> <#(<]_'= D׿* .(< GX(*u_*< ]*< VUUW* *jhb*< +=*< zbZ(G +?  (? ](}_*<W_*<  *ں'* *+*|  `X*}?*-)}uw*? {)|\.* zX)	\=W~R?: )*ȏH 0X
+**|XXj<ޔj'>*|u*(> X. (<W  *x'yΊcz*<%	*?/>>+<U*= *< z+ *
8][  +ֿ*= 	z*< u*< ]WV^***< *? )\.&* )]*,*| **=  *=+YU*(
*<UUwV* wj+W)=<
* 	W+>z+|Wz+?+>+~
)

 ,|(|?*   )< ֨Z(<֕**<YÊ*< +? X+? (< ܀ (*< ߻/(|ު-!D/"H.-> <=  .= )> <,} }=~}<= ]=| `+?*| eU+?! (<  * +  +o%+? 6~ +<"*? *'$\\*|
*:  ]-\']*|o*< }**))祭*< }*wU'>0< )*< * *}**zz''}g1  '|I (?) =   I%'$	VX`**|^_*(|z^?+?  *+0,	+&b*> (6	x+D($|z\  }/Z *<W{ **<UU5(< ֫*<U]{~(/
'}' 	*
' 1\+0*^]XV(S*|5 < ) \UYcy 6 4 @(5gO	*<\+)<)<^*|1) *<*w+ r(>
*-'<!t4) +E*< jj+jz_*  .?0}GS*+?M*iz)(Z`*=.*p*| *? +< ;1]}@*BM(U'bV|'\'~=s!YT'uV 5( v|'~
g':j^{X(} '?S!]'?RRu|	' -<^yU'b}p'<V>	'<xMo>3U^`^(<}' }	_'	ޜ'(V%\UWZP*)=!-z*^'*| }/ *-+P+0
+PZ*? W+ WU[)X<Zb  (#=h,?긠+<&Wx *U)?_~*<_*|V*< *< ޤv'| 
'( ( p (< )z +> *<  *? (	+<Os`*~ 4* %b  '=!?" '
 (
^W(Psx'>UU%'d\W(!.`b(|3 '(< (~-U)=6V /(<Jŗ(<+?/
 +>  ,r循)!a*< *zz*i  +~~+|`(* V.*Z\  /+*)|#Gz*e *)&\- {*z'}]_W)<aبph*0'|	@(	/='?*E!?U'?Pl  `(> !5	(	+*)~ )Y ~(|~U( X'< (U(> s!\)|<3! +-X'j5(T'|p`p(|"3 A(;rsY'4+34:> ^Օ'<57*|_*< u*< }w,>`_+b*>	(o|		* Z )<!A +Z+a >,g  b*<'+*~,?G*)}6_,<P<*? (+vUWxW*|կ
*k^z)I!~!'<	:t|(_'?ޕzU(>(x)".)>!(4-?=5-}{~(=x '>!-(Ok		)<!Z ``'}3!2T)}4/??+< .| <= !!5%'|&	,>_+?+?  ,~  *j +>sկ8<|.Xz+r*? 嵫)!?c7  .^
*?/+/)<@!*+< (*0)<],(5*|W! *< ~+>('~;{/'|iJVVT(??3 ?3|'|7c2M_'\߳!=.(U'>#<^
 '<1U)|,v 'ٕ {(|2 p\' "} x(=2$N 3]'!+Y,>T,? `+}
 +<N*= +~)+<	* :<p*|^Z*'*<   /j*< +*+?*+?   +V ,< )||`
*,m,* U'	]5 (<]\  (~I'= +?z+-r U'|ߕB	)<︍^U5(M%^'|ؕ Pa]\)} %A(p
(5\Wp) )> V`'~}V(~0sy 6"<@|K(?$1)#.uW+*< ^*+|?:*.
*!=_,+?)<}/*,/+?V^*(  	O2	)|'}.*,~*+<  ((-+}m* !:+~+}?)!>H^+? '\*=_\XX'>^@(|^5(yq 	)s^sVU(U )Z(~}U (}5'~V2'|^שR':(*|0~ 
)\3 i'9 *C%'_\`(~(=u+ȃ))!!*^+<*> Zv(?9 +0+< -|+^) !?*,?X*+|PVx`  ]j+5+~+ (<`}U}}+ _,8-<+
*b
)!?' |1$X)^U5'~3Jy)]w)| }瘍III\})p(| 
^(rR #'="!wx
' ^'|nޢ\'~ M   ]'|q 5)|!"	'|V~1 \p'3:t }t()**]$᪩-+~ ,)?
D :?*.+Xx( p*~*G/% ,=1%)` `  "<f*'%+<&!}-=+(u*? ]++?9
(
)'+<U*=*)555(_,*rTU'=!.SX(~0ؕ )~oؕ!}P(|MR(~V'<*|N!u[#I(< AV	(<@sA&(< 'a5(AM`'k}T(  Xi'>=8(=\^7(Q TPc1(|(=]-+<^-)? y )   )= *&!yAV+~' +)ԩ+?k+H*U+?^  	\/<-+M*+>F+6~+?'[,}*+&
-
* )|^ϯ+ݷ'5)pXT'~	9 '|!.T \*}U'P+*pV(1\)~P5'> UU'|"ւsXԔ(|IJ)+(|Tp`(|WT)<a5(>d+p)!|]\'f9 '>/)>D%(|R*<6_)<8)&~)| U*)? Yε+|]˪*W*|<ݽ+G

(|7|*j*}jG+?hk)  	o.~,+++Zj+?WU]+?}+֪յ)~(~\'+#^'+=*]%)jkTVV'ٕwj(<=n["C'< _mXV'<^ )[(> Q3(	 %i(r	(>>ֵ*}!@* biƬ*|/	 	8a@D&/5)|Q_	՜2' Y΢TT+}\'~^;		)|w-(]1'~}1)&\~X*8+>(+?)<]z* 
)?
)~u](< 𶷿*  /~_+|w}U+~+@*+&)!p*)<W[`(<&(<j  4_O\sI'<<EXX\'<,^`(}__'__7*!\' -+> Z*>q<'|y'=/ ((< B( WV(")"n6>HRm'=<_s'|!)U("_(|	)<Aa(|(? 1`)~aTZSS+T*|Y("()Q!=(<#{ x(~u-(|ֲ*L%c(|&y0  |7{_^~+?&rb*< V-*5W
)F ,,x*)>H]@(|		X(< mAb(< pbC$'!>?
4(>!y<(> j\W'J^ b*<"=/^)">N	(|   * 2.)? ֵX)^78(} `X'~"x'|R`)~X]^(< UUU7'_5','1&(db )!	/p(>ċX'3``*?p<'\(5ZSrhE*	)~~(<8k )|dY(|G.}**)^ 
*AW)?	  1_{ת)<{+}*>	,+)!_-=Z)|`6*	*]](| RAC(j'NÊbp'|
Fb-(|,գT^(< r" U(*=]L)*Q(~ֽ*}|](<ֵC@*}%(? U+</,? <V\(<X(j#) "\*( f^_*Bi5'6 )%@ (< \p*= +`'~ WT*.B'<@7.*'*`)<5!P	+ 
g*)%*?	/+?y	   	1*
+~x+v+Z`*>}H +U' 
(l**|_<&(<=!)G'b*J)|Xs'~D1"v_(~/*,>> Ɲ)?^"(QXƂT-*5	)<``(>+nS z*>2 (~N,?0  '< a5'}b7!^'?}**Bb	<(> *<B}\rqIA' x(X'
*
*|wg*P/+

)|_ ,>(-=j  "])ޖ*? *+*'KF_)z)|x@)>	*<P$*~-( m")	^e``(>*~TPA'~J!K(,?,> 5%'lH]*? ':Mk )B* =(PP)=r!O@'|!NXRSq  yQ )!`5(!q\(55)	**|~`*;(<08&)<)y )%*<T*>a`,>b*8P.+ ֥)<U׾  )!?+?* (+V})<**()< FŔp(G	;	@*
p(( W\p'4+<a\cN"OWx(d)AIasR(?-,} +<](ou?B%Ӝ!V*j)|!<aaII*|! '^T\*}5X(r%\@(. 	*|Y-*> 
*(<s$n(<Nֽ(yU*)+?Z+<jj*@ +/+?*+|p  -M+}W(o +|Y +++ *~a*|),x(= !z &*0VX(}!>WX(Ldb"\(E)~W'/_\\)*   )<*%5**/(c~(J!=_5*A'@/5)@x((!>"(}E~U'>*E)| ,(Z(***('bF<<$&*],(,?z+<\*<~_Uu,`\*<+@^(  -^_)}:}|5 k`+,*`+6U,< (6AYj(	&6(|1`)|mR6(< %p)}
|)? \)<"1p)0]W(}\k5%0a$)!?*< ~ )|!= U-c( ` @+ _' y!/x(}8!>()|{'N~-(obB}7)`9,=0\'~=Zh+(| p rɷ*>*)v0|!?9*< ](< #|p@tz(X_*=0
cq\  ^_  ?w`\)|\ +~!9?+?ւ*')fW/(	!}[*|Qyu^(|=e͚r@)+}@2`*? 6)|Z	)=Q/Rf)=!!.)<^*< o (|]x(~ |()!!>*>@*<3e1(P!=\( "x '2e~yU%(<n))"^])? )~ V'n~x#*p)rR	@>e`+X %+|>[ذ*XW)<Y^+nW)<*x*<f^*?Wu  	2֖*  @,%*z^*!8B *"ơz+ 爫*? j7hŔP)< )02(| 1 ,5)<qr!)<*6)*P 
ޤ(> Vc()~m\( \ )1`*?@sbW)>_}5 (<c{
)?)<@cY (}V+χ(|  .>")Ap)|ސZI*^1B	)<}1*7	(Viz*+' +C
)~ X*?/)< !~()Y  *'	Ӝ ! P2'	+>`&*_` *<fU5*!} ^+/x*< .%*,<4,|CX)<-p(?wp*6)	p k(<*+(<+4'?b~Py(~y!Z!( Cu(>RN\',|!c%)#2'-^	'K~r!Xp'!|4(?/ @(>TB+*?Us+ ]3(|X7	)ܘ+  +*,>`*< !xn׽-
+Vب)|_AW	*-"=9!  +)B_+?p+*<g*<uߞ.* *@]*~,=wC
^*1B";*y!a@R  1` (_m2C@*|s%(| I'ia'|]R!( *|=A\(|9*^Z@Ԟ)R!'64*< 4(< [O(< 1mf
)3s(>]{ (<a-(?b!0-=+? 7*'*(| X*W* ,'C1_UVj*U)\)'>`(9$
_  
.},`*6'-+j)|B+}6"પ_G'*~*|!H~+?+ê]'|IC@'~郎)__x)>!<)SR (C)hl*14)11`p`)4kT9(- (p/f)<C8*>/ܸ*}B!( X{)<~)4̤+|/!¢ *= zCY)<#NW)h"~(W+,|`PP*?*+*+P^`)|7C(*/^X+? U+)|/  
0\x*v/	+
,?(~+<  *|/*(* V)\)+<,!gz+ᨠ@VZz(<_I'<eZ+?	+ *)`+L洵)|R '2B6 *0)<	$<(r!&*c%
*})%Ĵ%)}#, *+?>"+ O+?=x
*6ׯ)**<!}`X)M*NX7)4 ׽ /}(? X )<~7@0m+.)<_+	^_  </ߺ,V%eY AV )|	G*</6h|ZZ+{IV^+_)}!!>*(!)y|X+? 't@+<<5\@)|(16* q)&(|.X7	*=%*"*)|q!v+*< @4+?+X-5*?j'<^*5U-}!U+|!y})<?y5W*<O!/*?jkjp)|^+<zWU  ~)?~) @0= +?  =     ?< )(< A'}!. 	< .|. }.= +> <?= ,=]-<q!,} ;?<  t'*)~/ *?  += )<g)) )uu(>1( |__U,(< ~7*~ ((|++|UUW_*> (1!* |!W*? W}},>'+.? 1+|2!y_,++>_+> uW(}]+ -|+7F)+| ~1*("7
*> )_z')q))O!X'<). w(} -	"( )*+|  K,UU:>(<N|,>Uu: (H|!͎
+? *UU}'?/ֳ])Г)B/P(= ^_-} ,> _X(|P6ޝ'~[ؔ,~ _)<^u(= }a, 	<~	6(vk	-<)<S~)5,Wp6|'T*+)}篿+)|q!(0^z*q!(\Q*|9  .|0r)*<~1*)*? +6 ~ *!P!!(|(N!0'<O!)o!)|/!ba})<sscC*! * XPrs(|q!PP(Z_'<.!2r( q)'~*+O!a@ ( _,>(O!V( p!AABsOX+~)*gd]$$$(|O!'=^BA*O!sG T5+<%*|	r 		q)(| O! ^U( *~+  	_* ("&'~)q! _'})"~&5)`(  	<*>/(}!>/,|,]]*@)|q!*|*,|P!`ca(1"2)k4$(< .!kiJ@(~),q!`)3B-)!(] 
]h *=)#S( O!AA* X^:p!*N!&@ * 5U']	`*Q!)|9*U)}2^**)^^*  *<!W+?1.+  "=*?.!U_(|u *}6)|w)s!*"
*~ %/,7 )|P!+*=++<7(| U(|o!)I^k%)}H.b`)<-!)< U*=	U*~P(~I8!~1VT+ "'> ++ @7|rXU*  + )=.+<]AU*U^X*͍+?P)M$)LP5U*ibX+})||=Y 	<FN+7 (+I + **> ()_C*!'  ,Oq!/* )|G)+@02.
-?' 
*? 'z)s,7?*)I_= 
/*  +)r ,= ,> )-} -} +? O!+< )((* ^+| )k* ת*
O!

) p!*Ur)
*+  8=.,+? _+?5+> ,5)|10*<S#
**+**V/
,)^?;Q:~ *p!< ! ."<E_*/+?(._;z+?&+>*VP!V+	 +H)<)
*< *`+2*!/*>*-a(,a.*} )<0	"~o6| .`|#YӪ* *,=
)|]UUU =*- *U$_,>a6=\ ;,G(<b
)!. :)(+*(+?b  !`<
+*?+|]*| ._*_{
'7C*)=)<!)zBCIU`)ֵ(Ch8'@P 5+*+?,>	8*!~z+5+	B*+*? ꪫ+|+*髪*= 	o]*< ^]*p+|Cn+_U*jU)|]*X@H<W*? e)|*)}!>(6,~,ѫ+W^ 4 @ `X*C`X+|-**(|_)\-+ )6"+)|\
*		*+?*)<P+>CZ )<+?*P+? 	*  *?m)|¼*?+_^k)(,<
++,,>'*,}6>BeCO z)A+~ب+<!5".+> +*z'	T-~+}W@0" 4 B]+,UV* 0 *,j+*+~Ǯ+? 

+*= b+C*|z+~Ѡ)}_,~-,ܨ* *|!9Kn+ӯ~+!*.*`Õz++,%*z+}O*? +)!*<7޷-+*,
)<u*|b*< %* 
*V Pգ  	ߝ/*')|+K *?%)|_`+&	+^%+@0\**:| +0*?W)0!+BuAQ-| U+= *_몪*^$*=]+UUCz'| yE'
*<}*>~T+|$-*> ,<ݮ++>Wo,?\p+|B*? ڽ)|\ p
*| ת*'*)*
"+<B\ ! t%}`!6? @pVFI { `V/i]z]	! \\*=@^	],=z-=->}.<!	}<~,>,<&<>	(>,><L8	=<>|}w 
| <B +<U~6<>.<"!Oz(= VHz6|0=ep'yQUޮ X%i|+UB̏D	|'Z^ \K 'K@Nv:|@L U r$<A UU:?~$9}	\ </R.h}N#$]9U='t
0?PXTW>==	5v5 3
%=_	p"#]	T >	)<w	|[ <|g^	bv}P	 <|*|"2* ~\,<~W\	|]	\ <)<8Ɩ.<	 =_'<yβ-	  I^6ps5ѭ?' `M|w@aɝTP@	r) L$B;'5? }			Kc\Z,čn(<	K)WN0		*?	}I5^ūA $T!@
U_?'9A	}$5<1H~% G$ނ zUU_?'47>'w0A||~'  X_8|	RP%!>lBKl!$B8U"<&XPpj	',?]TPЏ$|v.%̧}	@	]-><+=5	!|OUՠ	XP`'>,>,<|
cƸ 	PdI(< pI'<  Z)  H$|}\~4 p\~UUImIlyU|]$7'<}E)<|it^p[UPP\a'?!}"ؾqU
H _	Ia|'*pw)|9D)|*X*}$L❉A !$IP\	1\	'@ı(},	,>N=$ '-|8T.|+=||i}P(<Sq'<RMʖ' AX/S?1  -=UU
 |'|BuS6j+6hc}C_cy8AFp$1L7B0?!uB @tɃ=|	
6f,6f`"| 	РPTɝ|@Ity\|J?S]	A x>z8		/ I{|xp]\	3`?|	U)ϡ	    ~9@z |/dp-> ,= -< )= ]-< |*= == 5<  \P )| m'0|u_ 朝'<	IIm `]'U  퐤@)|^	m;\~U0}k@\dP(<)p"'t❱\ y{}T!C*^'},-X=\)>S?|C|E 9|	3	")'>@,?3	'B$<$ ؈\	}A/\	%;Y^x}		"u8h!:|T:)       +<  +> k*<  X$+= +  * ֦d+ ;?m+ p,  +< c')<                           @                                                                                                                                                                                                                                                                                                                                                                                                                        XXX           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           UUU           			                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                        m۶c  UUm۰ۺ  U  m۶a;\  U  .m  U            U  (m  U  [m۰۾  U 	m۶g#  U* $	  U           U Am  U  sm۰  U m۶a;  U  m   U            U  /m۶  U   m۶  U  m۶m#  U  	 I$I  U            U  =vm۶  U  ,m۶ؾ  U                                                            				                                  XXXX                        !6nFo\  ֚&I$֎      ] 2}m      ު
U}y  &I$y      } *U2yA          &I$       ꪪ2ށH}]UUI$}0u綂~~    2@  <][e6}"j_?\  PPPP                                  				                                  XXXX                        	"FnFn<        <紃UU      }xx{      }W      }
       }|      })      9 *+      w   U      x*U      VUUU      xUUU         W      W  ]      W}UUU       W}UUU       W}UUU\      }UU      <  /      }_x/      }數      }~      <"]  PPPP                                  				                                  XXXX                        	"FnFn}        }U^|      U5      }ޫZV      <
W      <  /      :獽   @      LXVU       UUU       UUU       UUU       UUU       UUU       UUU       Uu       UUU      L	%      \UUU\      }

      }<=k      <
5      }ﮁ       }離h	"}  PPPP                                  				                                  XXXX                        	"FnFn        
      <h      }VX      <       _      `P        4U        U_       U        U{       *UU       *UU      U~W%      TB	      WUU      U      A	*
             W      <-*      \瀨      }^u]	"]  PPPP                                  				                                  XXXX                        	"FnFn}        <Z      ]-/      }jȠ      <_z      UU      F=%5      U!  u        xU       xUU      UUU      4~      U-      pX      uUU      4      U      H	         /      }      }&5      <^      })VUU	"  PPPP                                  				                                  XXXX                        	"FnFn        綪
      }+
      (      <瞠       <窪      }@@      lWVTT      cUUU      UU             2|      Y      3T`
      ;UU\@      4      5%%%      |         h      着      }着      }      }VZzk	"}  PPPP                                  				                                  XXXX                        	"FnFn}        }      UUU~                     <`(      @kj      	TT$      <3!%      ؕ*      ؕ|+U      HB (e      ~z      ׵ 
5      ƢU      }VXB)      V%%%%         	      꾯      *       }(*      }:Zx      <窪	"  PPPP                                  				                                  XXXX                        	"FnFn]        <瞯-      } *      }  
       ("      
(      `@@@      0t      θTTT      9   `T      ׵pVX	      ];&.      ^[z       sV       UWP      T EEE      $*)      ]X(0      ׽ ߨ       	      <      <      	"  PPPP                                  				                                  XXXX                        	"FnFn]        }_      }j      }..      }+      4։      e@ch      WUv       ֡pPj      )             ;{+)**      {p       UUWT      8 5UUU      ֡nr       %5                  ]_      }8  V      ]u  \	      }y`	"  PPPP                                  				                                  XXXX                        	"FnFn        \x*      <U-?      }         @      QX@      ExP      )  T      G  U      ֢U<      R	             XW      z       y΢5xU        U       (i      ˩      wI      }      <5      <瀪      ^*	"  XPPP                                  				                                  XXXX                        	"FnFn        }       }      ]Z@        :*.      8      ē`      \QM%              u U       UU      X      
jj      xmee              UUU5       I            	      \͂      ޭ+      Ϊ       	"}  PPPP                                  				                                  XXXX                        	"FnFn        z      VZj               `             U $5      U \`       \A5W      Y EF      RUUUT      =	      ֵ pPPX       嵕5      U	X      IXU5      w%       ؔ  &      p`              ]]       
       <
	"}  PPPP                                  				                                  XXXX                        	"FnFn        } '      Z       |      ր]       scK:      ~RN      {
	      ax        S`       u UX      < 
%      4 xTV      T 	       U
       !	        ]Tc`      5c>
      38	      諸_}        z      8 U*       w\	"  PZPP                                  				                                  XXXX                        	"FnFn        }'ˡ      ހz(      %       }      `        p,      ]R       :      RB 
2      ksj       5p      1-       J       Z |      J*      9      A      :         B       `-      }X ֨      ]
B}	"  PPPP                                  				                                  XXXX                        	"FnFn        }@      <
      \*
      }*jz      } `      ]       'p        l      R
      [ucg<(      s       Jଚ      ukYn      |)      p      6+              }AP^      ޚ      }k      yp        }}^,	"  PPPP                                  				                                  XXXX                        	"FnFn]        7/      }†      }
       }﷪      xhj      }W^z      \篯?7            X        %X      4c0
      |J       `       	         n      <
      ߂@      }8V       8ƠU      }y ?      ]:      }
	"}  PPPP                                  				                                  XXXX                        	"FnFn~        ) UU      ) UU      ) UU      ) UU      ) UU      ) UU      ) UU      ) UU      ) UU      ) UU      )(UU      )
UU      ) UU      ) UU      ) UU      ) UU      ) UU      ) UU      ) UU      }r) UU      }p! UU      ) UU	"_  PZ__                                  				                                  XXXX                        	"FnFn)        ))      )q)       )r)      ))/      ))/@      1U(      Z1UIS      ֳ)UnȀ      ޒ)UfDL      ֳ)U%E      ;Ƴ)U 1      Zγ)U      Ɣ)U      {γ)U(      zΓ)U75      ִ)U))      ޳)UIQ      {Β)U`SQ      )r)      ))      )P!ꨠ      )O! 	")  PPPP                                  				                                  XXXX                        	"FnFn)        ).U      ).       )O!*      )q!       )q)       o!2+       9P!Ã      zPB        ֑)JH)      ֓)%      :;:*      zΑ)i      <Rw      9'      ZƑ)457      o)))      P!ɭi      ֓)QQQY      ))      ))       ))+_      )P!.	")  PPPP                                  				                                  XXXX                        	"FnFn)        )q)      ))/      ))*\      )q!'      ))_      )q!*^      ))  	      )) .      ))^
      ))s*      )p!        ))ի
       ))      )P!         )P!         )q!      ))ܪ      ))      )):
      ))*      ))      ))	")  PPPP                                  				                                  XXXX                        	"FnFn]        <Z6      <⼽      } UW      }UUu             T      =       	      }<      }+
            ]        bI      }
             j      <XP      ު/      ^      <U             
	"  PPPP                                  				                                  XXXX                        	"FnFn}        y        稠      <x"      ]      [-      }*             }z      }u       r       ޠU       窯-@       *            z            <@         	
      <%莫      <~      <      }֧ 	"\  PPPP                                  				                                  XXXX                        "6n6bC  &n$  XTU̿h  %U;I$	<   @U&!m   <UUU=ʏ}   
'}  XTV&̿(  %=  0   @@&!m 8  <UUU=   &n  XTT&̿(<  %=   @@&!m 8  <UUU=   &n  XTT&̿(  %=  0}   @@&!m 8  <UUU=   &n  ZVV&̿(  %	"v  PPPP                                  				                                  XXXX                        ,bh6`    /0m  UU3ch6`ۚ  UUT@	BI	 lۺ  UUUm۝  UUA Qkd     >@۾  UUgbk6d  UTTL$q  @UUU hѤO$  UUAAɟ$  UUU[ C'~$  WUU yɝ  UTT:$4  BUUU"[a  UUAA6H  UUP,  TX=ɑA%T&_$  @U"[:{<  UUU	I!  U,y  TP:5҆bf@8  |	y  PPRU                                  				                                  XXXX                                            u  UUU        <   UUU           UUU        ]   UUU           UUU           UUU ɐ$I$  PUUU $I$              @UUU <I$     h$I$  UUU ɐ$I$  PUUU $I$     I$I$}  @UUU I$     'I$}  UUUbh6`    ,IM `     O$    6km`    (0mۚ  5UUU*ch`Y  |UUU2	 lA  ZUUU                                  				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				                                  XXXX                                                                                                                                                                                                                                                                                                                                                          				            @ @               @            U            U            U            U            U            U            U            U            U            U            U            U            U            U        0            @@@@                                                                                                                                                                                Q          @@@@            Dm^  Bm<U   GmR]U   1{0(  찝T  [춍y0@  >mU   m[0U   0U   b۶m	U   yU   cmH}  UU@@                    Q          @@@@            ȏȏ<        }^y      }Y      ;  p        U        U      :  U      Z  Y      {  	      <      <  	??}  @@@@                    Q          @@@@            ȏȏ}        z      }U_       1\        IW  ^      
_ ^U      ֔1}A      S]U      9/	      <_       }署i    }  @@@@                    Q          @@@@            ȏȏ}        
       }XH      9pp`      z4U%       s       IJ` (      U\@      }		            }直b      @@@@                    Q          @@@@            ȏȏ\        }      z  r      WpP      Z  X\      !*	       zXx             X 	      ֺ      }y   _      @@@@                    Q          @@@@            ȏȏ}        \-       -o        `       'Օ        
      ]       PU      ws
      rZ          }  @@@@                    Q          @@@@            ȏȏ        <  x      .*z      1p             %*      T7      V!-       I	"*      r
      ު ^      @@@@                    Q          @@@@            ȏȏ        <      @        }Xx       %j      k      ]9	*      痌(7
       ]֔        <Z      ި]`       @@@@                    Q          @@@@            ȏȏ        )   U      )   U      ])   U      )   U      ޴)  U      ) U      \)   U      })   U      ޴)   U      \r)   U    ^  @@@                    Q          @@@@            ȏȏ)        )O! +      ))˂      ukW誸      z4cU      xs!#      TBo

      7130      ص13      ؜)\TTT      )){    )  @@@@                    Q          @@@@            ȏȏ        })UU        )UU        ])UU        )UU        )UU        )UU        )UU        )UU        ])UU        \)UU      _  @@                    Q          @@@@            !<  i1q\    1[}    
%12`    (1    X1   \4    b1       1[    
%1   դ    (1}    X1   \4]    j  "<  @@bi                    Q          @@@@            hdm{  UU1`h mU  UT UB cCmֵ  UT U6[m۶  U@Ug-ضm۶  ZUU Ds?I$U  pUUh )I$  UTUbCa  UTU"cay  UU`  PUUyl  @Ul9  AjVU                    Q          @@@@                                                                                                                                                                                Q                 XX           UU           UU           UU           UU           UU           UU           
%%          XXXX 6J$]֧']r  @J0k  UԐk   UI$s  n_}  P             %%%%          XXXXK  			      ZrR@      S!x	       {x      b    <jj          %%%%          XXXXK  	+      {mk@       6
=      8΅1\      z{    }^Ê          %%%%          XXXXK  <      x`              +kW-"
      :Ɖ%    ƀx          %%%%          XXXXK  ]q! UU      }s)       \{      \|]      ) z    <) UU          %%%%          XXXXK })U  *Tl})U  Td)U  T )U  2T)U  ʋ \)U            %%%%          XXXX n$I${  UUU G$I$0  @UU@Ed۶m۳  YUUa"bm׽  eUURlöm8  UUU mۖ   }UU          %%%%    Om6h   Tum   U      i   U       \    @@]        sx      |Lk'&'&   ]   @@        ֒)        -c-
     vo36`  TT	$ `~   U$ `~   +U-ŏڀm]    @  Ҷm\WaA=<poFbE!I綔    )z ѿD](W      [![Issues](https://img.shields.io/github/issues/gruppe-adler/TvT_BreakingContact.Stratis.svg)](https://github.com/gruppe-adler/TvT_BreakingContact.Stratis/issues)
<a href="https://travis-ci.org/gruppe-adler/TvT_BreakingContact.Stratis">
        <img src="https://travis-ci.org/gruppe-adler/TvT_BreakingContact.Stratis.svg?branch=master" alt="Build status">
</a>
# Breaking Contact

**Arma3 TvT scenario**

![](https://github.com/gruppe-adler/TvT_BreakingContact.Stratis/blob/master/pic/loading.jpg)

# The Scenario

BLUFOR must prevent OPFOR from sending a signal for a total of X minutes.
OPFOR will be detected while they are sending.
They can switch the signal on and off, and move about as they please.

## Mods

TFAR, ACE3, RHSAFRF and RHSUSF mods are required. RDS\_CIV is optional (required for param "civilian traffic")



## Rules
* no respawn
* spectator
* no play area restrictions
* no scopes
* basic medical
* fixed loadout
* quick start
* dynamic spawn position


## Features
* Buy Menu (ACE interact on start vehicle)
* Radio Truck and Radio Box Sending Modes
* US Camo automatically chosen (hardcoded for every map) - Russians always use Flora currently
* BIS Dynamic Groups (`<u>` key)
* ACE-Spectator
* Mission is localized in English and German

## Parameters
* Time
* Weather
* US Spawn Distance
* Deploy time to win
* Time Acceleration
* Ingame Replay Precision
* JIP time
* BFT toggle

## Supported Maps

Altis,Beketov,Bornholm,Bootcamp_ACR,Chernarus,Chernarus_Summer,dingor,FDF_Isle1_a,fallujah,Esseker,Gorgona,IsolaDiCapraia,Kunduz,lingor3,lythium,Malden,mbg_celle2,namalsk,prei_khmaoch_luong,ProvingGrounds_PMC,Panthera3,Sara_dbe1,Shapur_BAF,SugarLake,Stratis,Thirsk,Woodland_ACR,Zargabad,clafghan,fata,saru,takistan,Tanoa,taviana,vt5,xcam_prototype,pja305
To play on one of those islands, change the file name's terrain part (_"Stratis"_) into one of the above [these](compatibleIslands.txt)

## Hints
* Admin slot is Zeus to fight bugs
* Russian Commander Slot is mandatory
* It's highly recommended to use the predefined amount of money
* Russians might redeploy, the sum of deployed time counts for winning
* Best played in a roughly 2:1 attacker defender ratio
* You can eradicate the spawn cone with ace interact to hide your spawn position

----

Play with us at
http://www.gruppe-adler.de
<match>
     <company side="opfor" callsign="OPFOR">
          <platoon callsign="Command" natosymbol="hq">
               <slot shortcode="CMD" description="Commander"/>
               <slot shortcode="CMA" description="Command Assistant"/>
               <squad callsign="Teams" natosymbol="inf">
                    <slot shortcode="SQL" description="Squad Leader"/>
                    <slot shortcode="SQM" description="Squad Medic"/>
                    <fireteam>
                         <slot shortcode="ATL" description="Alpha Leader"/>
                         <slot shortcode="MG" description="MG Gunner"/>
                         <slot shortcode="MGA" description="MG Assistant"/>
                         <slot shortcode="AT" description="AT Specialist"/>
                         <slot shortcode="R" description="Rifleman"/>
                         <slot shortcode="R" description="Rifleman"/>
                    </fireteam>
                    <fireteam>
                         <slot shortcode="BTL" description="Bravo Leader"/>
                         <slot shortcode="MG" description="MG Gunner"/>
                         <slot shortcode="MGA" description="MG Assistant"/>
                         <slot shortcode="AT" description="AT Specialist"/>
                         <slot shortcode="R" description="Rifleman"/>
                         <slot shortcode="R" description="Rifleman"/>
                    </fireteam>
                    <fireteam>
                         <slot shortcode="CTL" description="Charlie Leader"/>
                         <slot shortcode="MG" description="MG Gunner"/>
                         <slot shortcode="MGA" description="MG Assistant"/>
                         <slot shortcode="AT" description="AT Specialist"/>
                         <slot shortcode="R" description="Rifleman"/>
                         <slot shortcode="R" description="Rifleman"/>
                    </fireteam>
               </squad>
          </platoon>
     </company>
     <company side="blufor" callsign="BLUFOR">
          <platoon callsign="Command" natosymbol="hq">
               <slot shortcode="CMD" description="Commander"/>
               <slot shortcode="CMA" description="Command Assistant"/>
               <squad callsign="Teams" natosymbol="inf">
                    <slot shortcode="SQL" description="squad leader"/>
                    <slot shortcode="SQM" description="squad medic"/>
                    <fireteam>
                         <slot shortcode="ATL" description="Alpha Leader"/>
                         <slot shortcode="MG" description="MG Gunner"/>
                         <slot shortcode="MGA" description="MG Assistant"/>
                         <slot shortcode="AT" description="AT Specialist"/>
                         <slot shortcode="R" description="Rifleman"/>
                         <slot shortcode="R" description="Rifleman"/>
                    </fireteam>
                    <fireteam>
                         <slot shortcode="BTL" description="Bravo Leader"/>
                         <slot shortcode="MG" description="MG Gunner"/>
                         <slot shortcode="MGA" description="MG Assistant"/>
                         <slot shortcode="AT" description="AT Specialist"/>
                         <slot shortcode="R" description="Rifleman"/>
                         <slot shortcode="R" description="Rifleman"/>
                    </fireteam>
                    <fireteam>
                         <slot shortcode="CTL" description="Charlie Leader"/>
                         <slot shortcode="MG" description="MG Gunner"/>
                         <slot shortcode="MGA" description="MG Assistant"/>
                         <slot shortcode="AT" description="AT Specialist"/>
                         <slot shortcode="R" description="Rifleman"/>
                         <slot shortcode="R" description="Rifleman"/>
                    </fireteam>
               </squad>
          </platoon>
     </company>
</match><match>
     <company side="opfor" callsign="OPFOR">
          <platoon callsign="Command" natosymbol="hq">
               <slot shortcode="CMD" description="Commander"/>
               <slot shortcode="CMA" description="Assistant Commander"/>
               <squad callsign="Alpha" natosymbol="inf">
                    <slot shortcode="SQL" description="squad leader"/>
                    <fireteam>
                         <slot shortcode="MMG" description="Medium MG"/>
                         <slot shortcode="MGA" description="Medium MG Assistant"/>
                         <slot shortcode="LAT" description="Light Anti Tank Specialist"/>
                         <slot shortcode="CLS" description="Combat Life Saver"/>
                    </fireteam>
                    <fireteam>
                         <slot shortcode="FTL" description="Fireteam Leader"/>
                         <slot shortcode="LMG" description="Light Machine Gunner"/>
                         <slot shortcode="HAT" description="Heavy AT Specialist"/>
                         <slot shortcode="ATA" description="HAT Assistant"/>
                         <slot shortcode="R" description="Rifleman"/>
                    </fireteam>
               </squad>
               <squad callsign="Bravo" natosymbol="inf">
                    <slot shortcode="SQL" description="squad leader"/>
                    <fireteam>
                         <slot shortcode="MMG" description="Medium MG"/>
                         <slot shortcode="MGA" description="Medium MG Assistant"/>
                         <slot shortcode="LAT" description="Light Anti Tank Specialist"/>
                         <slot shortcode="CLS" description="Combat Life Saver"/>
                    </fireteam>
                    <fireteam>
                         <slot shortcode="FTL" description="Fireteam Leader"/>
                         <slot shortcode="LMG" description="Light Machine Gunner"/>
                         <slot shortcode="HAT" description="Heavy AT Specialist"/>
                         <slot shortcode="ATA" description="HAT Assistant"/>
                         <slot shortcode="R" description="Rifleman"/>
                    </fireteam>
               </squad>
               <squad callsign="Charlie" natosymbol="inf">
                    <slot shortcode="SQL" description="squad leader"/>
                    <fireteam>
                         <slot shortcode="MMG" description="Medium MG"/>
                         <slot shortcode="MGA" description="Medium MG Assistant"/>
                         <slot shortcode="LAT" description="Light Anti Tank Specialist"/>
                         <slot shortcode="CLS" description="Combat Life Saver"/>
                    </fireteam>
                    <fireteam>
                         <slot shortcode="FTL" description="Fireteam Leader"/>
                         <slot shortcode="LMG" description="Light Machine Gunner"/>
                         <slot shortcode="HAT" description="Heavy AT Specialist"/>
                         <slot shortcode="ATA" description="HAT Assistant"/>
                         <slot shortcode="R" description="Rifleman"/>
                    </fireteam>
               </squad>
               <squad callsign="Delta" natosymbol="inf">
                    <slot shortcode="SQL" description="squad leader"/>
                    <fireteam>
                         <slot shortcode="MMG" description="Medium MG"/>
                         <slot shortcode="MGA" description="Medium MG Assistant"/>
                         <slot shortcode="LAT" description="Light Anti Tank Specialist"/>
                         <slot shortcode="CLS" description="Combat Life Saver"/>
                    </fireteam>
                    <fireteam>
                         <slot shortcode="FTL" description="Fireteam Leader"/>
                         <slot shortcode="LMG" description="Light Machine Gunner"/>
                         <slot shortcode="HAT" description="Heavy AT Specialist"/>
                         <slot shortcode="ATA" description="HAT Assistant"/>
                         <slot shortcode="R" description="Rifleman"/>
                    </fireteam>
               </squad>
                <squad callsign="Foxtrot" natosymbol="inf">
                    <slot shortcode="FTL" description="Engineer"/>
                    <slot shortcode="Eng" description="Engineer"/>
                    <slot shortcode="Eng" description="Engineer"/>
               </squad>
               <squad callsign="Golf" natosymbol="inf">
                    <slot shortcode="FTL" description="Engineer"/>
                    <slot shortcode="Eng" description="Engineer"/>
                    <slot shortcode="Eng" description="Engineer"/>
               </squad>
               <squad callsign="Hotel" natosymbol="inf">
                    <slot shortcode="FTL" description="Engineer"/>
                    <slot shortcode="Eng" description="Engineer"/>
                    <slot shortcode="Eng" description="Engineer"/>
               </squad>
          </platoon>
     </company>
     <company side="blufor" callsign="BLUFOR">
          <platoon callsign="Command" natosymbol="hq">
               <slot shortcode="CMD" description="Commander"/>
               <slot shortcode="CMA" description="Command Assistant"/>
               <squad callsign="Alpha" natosymbol="inf">
                    <slot shortcode="SQL" description="squad leader"/>
                    <fireteam>
                         <slot shortcode="MMG" description="Medium MG"/>
                         <slot shortcode="MGA" description="Medium MG Assistant"/>
                         <slot shortcode="LAT" description="Light Anti Tank Specialist"/>
                         <slot shortcode="CLS" description="Combat Life Saver"/>
                    </fireteam>
                    <fireteam>
                         <slot shortcode="FTL" description="Fireteam Leader"/>
                         <slot shortcode="LMG" description="Light Machine Gunner"/>
                         <slot shortcode="HAT" description="Heavy AT Specialist"/>
                         <slot shortcode="ATA" description="HAT Assistant"/>
                         <slot shortcode="R" description="Rifleman"/>
                    </fireteam>
               </squad>
               <squad callsign="Bravo" natosymbol="inf">
                    <slot shortcode="SQL" description="squad leader"/>
                    <fireteam>
                         <slot shortcode="MMG" description="Medium MG"/>
                         <slot shortcode="MGA" description="Medium MG Assistant"/>
                         <slot shortcode="LAT" description="Light Anti Tank Specialist"/>
                         <slot shortcode="CLS" description="Combat Life Saver"/>
                    </fireteam>
                    <fireteam>
                         <slot shortcode="FTL" description="Fireteam Leader"/>
                         <slot shortcode="LMG" description="Light Machine Gunner"/>
                         <slot shortcode="HAT" description="Heavy AT Specialist"/>
                         <slot shortcode="ATA" description="HAT Assistant"/>
                         <slot shortcode="R" description="Rifleman"/>
                    </fireteam>
               </squad>
               <squad callsign="Charlie" natosymbol="inf">
                    <slot shortcode="SQL" description="squad leader"/>
                    <fireteam>
                         <slot shortcode="MMG" description="Medium MG"/>
                         <slot shortcode="MGA" description="Medium MG Assistant"/>
                         <slot shortcode="LAT" description="Light Anti Tank Specialist"/>
                         <slot shortcode="CLS" description="Combat Life Saver"/>
                    </fireteam>
                    <fireteam>
                         <slot shortcode="FTL" description="Fireteam Leader"/>
                         <slot shortcode="LMG" description="Light Machine Gunner"/>
                         <slot shortcode="HAT" description="Heavy AT Specialist"/>
                         <slot shortcode="ATA" description="HAT Assistant"/>
                         <slot shortcode="R" description="Rifleman"/>
                    </fireteam>
               </squad>
               <squad callsign="Delta" natosymbol="inf">
                    <slot shortcode="SQL" description="squad leader"/>
                    <fireteam>
                         <slot shortcode="MMG" description="Medium MG"/>
                         <slot shortcode="MGA" description="Medium MG Assistant"/>
                         <slot shortcode="LAT" description="Light Anti Tank Specialist"/>
                         <slot shortcode="CLS" description="Combat Life Saver"/>
                    </fireteam>
                    <fireteam>
                         <slot shortcode="FTL" description="Fireteam Leader"/>
                         <slot shortcode="LMG" description="Light Machine Gunner"/>
                         <slot shortcode="HAT" description="Heavy AT Specialist"/>
                         <slot shortcode="ATA" description="HAT Assistant"/>
                         <slot shortcode="R" description="Rifleman"/>
                    </fireteam>
               </squad>
               <squad callsign="Foxtrot" natosymbol="inf">
                    <slot shortcode="FTL" description="Engineer"/>
                    <slot shortcode="Eng" description="Engineer"/>
                    <slot shortcode="Eng" description="Engineer"/>
               </squad>
               <squad callsign="Golf" natosymbol="inf">
                    <slot shortcode="FTL" description="Engineer"/>
                    <slot shortcode="Eng" description="Engineer"/>
                    <slot shortcode="Eng" description="Engineer"/>
               </squad>
               <squad callsign="Hotel" natosymbol="inf">
                    <slot shortcode="FTL" description="Engineer"/>
                    <slot shortcode="Eng" description="Engineer"/>
                    <slot shortcode="Eng" description="Engineer"/>
               </squad>
          </platoon>
     </company>
</match>
<match uuid="9ef506f9-7cd5-4bc4-a65a-653776cdb871">
  <company natosymbol="hq" callsign="blufor" vehicletype="" side="blufor">
    <platoon natosymbol="armor" callsign="cmd leo" vehicletype="">
      <slot shortcode="CMD" description="Commander"/>
      <slot shortcode="CMA" description="Gunner"/>
      <squad natosymbol="armor" callsign="Alpha Leo" vehicletype="">
        <slot shortcode="SQL" description="Commander"/>
        <slot shortcode="MMG" description="Gunner"/>
        <slot shortcode="MGA" description="Driver"/>
      </squad>
      <squad natosymbol="armor" callsign="Bravo Leo" vehicletype="">
        <slot shortcode="SQL" description="Commander"/>
        <slot shortcode="MMG" description="Gunner"/>
        <slot shortcode="MGA" description="Driver"/>
      </squad>
      <squad natosymbol="mech_inf" callsign="Charlie M113 Mil" vehicletype="">
        <slot shortcode="SQL" description="Driver"/>
        <slot shortcode="MMG" description="Gunner"/>
      </squad>
      <squad natosymbol="inf" callsign="Delta hmmwv tow" vehicletype="">
        <slot shortcode="SQL" description="Driver"/>
        <slot shortcode="MMG" description="Gunner"/>
      </squad>
    </platoon>
  </company>
  <company natosymbol="hq" callsign="Opfor" vehicletype="" side="opfor">
    <platoon natosymbol="armor" callsign="cmd T55A" vehicletype="">
      <slot shortcode="CMD" description="Commander"/>
      <slot shortcode="CMA" description="Gunner"/>
      <squad natosymbol="armor" callsign="Alpha T55A" vehicletype="">
        <slot shortcode="SQL" description="Commander"/>
        <slot shortcode="MMG" description="Gunner"/>
        <slot shortcode="MGA" description="Driver"/>
      </squad>
      <squad natosymbol="armor" callsign="Bravo T55A" vehicletype="">
        <slot shortcode="SQL" description="Commander"/>
        <slot shortcode="MMG" description="Gunner"/>
        <slot shortcode="MGA" description="Driver"/>
      </squad>
      <squad natosymbol="mech_inf" callsign="Charlie Bmp1" vehicletype="">
        <slot shortcode="SQL" description="Driver"/>
        <slot shortcode="MMG" description="Gunner"/>
      </squad>
      <squad natosymbol="inf" callsign="Delta BRDM AT" vehicletype="">
        <slot shortcode="SQL" description="Driver"/>
        <slot shortcode="MMG" description="Gunner"/>
      </squad>
    </platoon>
  </company>
</match>OggS         =      (vorbis    D      m     OggS          =     S&-Svorbis   Xiph.Org libVorbis I 20070622    vorbis+BCV    1L ŀАU    `$)fI)(yHI)0c1c1c 4d   (	Ij9g'r9iN8 Q9	&cnkn)%Y   @H!RH!b!b!r!r
*
2 L2餓N:騣:(B-JL1Vc]|s9s9s	BCV    BdB!R)r
2ȀАU        GI˱$O,Q53ESTMUUUUu]Wvevuv}Y[}Y[؅]aaaa}}} 4d   #9)"9 d    	")Ifjihm˲,˲        iiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h* @ @qq$ER$r,Y    @R,r4Gs4s<s<GtDɔLLY        @1q$OR-r5Ws=sMu]WUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUАU    !fj3a 4d    CY     К9堩T's9ls)ʙŠКsIКsyҚsasiҚXsYК樹sΉ'Ts9s9sΩ^9sΉڛk	]sd	s9s9s	BCV @  aƝ }b!!t1)FJPR'tАU     RH!RH!RH!b!r
**(2,2ˬ:C1J,5Vcs9HkZ+RJ) 4d   @ dARH!r)
Y      $Q%Q%2-S3=UTUWvmYu۷]u}׍_eYeYeYeYeYe	BCV     B!RH!b1ǜNB	АU        GqǑɑ$K$M,4O4EQ4MS]ueS6]5eUeveٶe[}Y}}}}}u 4d   #9")"9H d   (8#I$Y&yg驢
        h爎(ilʮ뺮뺮뺮뺮뺮뺮뺮뺮뺮뺮뺮@h* @ @Gr$Gr$ER$Er$Y    1CR$ǲ,M4O4=3=UtEY        K$QR-R5R-UT=UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU4M4А    RZX11ǘBQNc
!09b
2BY=v!=B$BCV Q  I"I$<G,<y4IGx IxM<4    B!+8 $yI<y4M!E&D4y"E'LQ5a&tU\Y!'&T]dW!   ,O3Mf44i4-3M&44i4=QTULSUu=TULSUu  Hf44i)EӄiZg44ihEӄizLUR]ׅzLSUrUׅ  LuEUe
DuEUeUUSv2MץMՕ2MץW        4]i.u]h4]i.W]    @!+(  HeyǑ$K<#Iy$ɲ4MaY&4Eh"    
  lДXА @H q$ɲ4D4MHy牢i*I,M<ETUdYyh,M<Q4MUu]h(.4MDQMSU]yh꺲<OMSU]u                  8  A'Ua	BCV Q  11Řa
J)%4A)%BHIH-2()Z%VZʤRkZk   А @  R1EH)s"c9GR1眣*sQJb9(J1ƘsRc9J1RcRJ)c1&    F	F
Y	  8ǲ4M<O%Ǳ,EQ4Mq,DQMei牢i*4ETUyhTD4Uu          	 @6pR4XhJ   1!dBB!  0  `B(4d% 
 @cII2F) ZeRA(f)RkRJ9'%֚)PJJ52ZkΉBJ؜!Z9'c))csNRRj1ScI)\k-Z @hp  ;auBCV y  RJ1cL)c1R1ƘSJ)c9c1c1s1c9c1Ɯs1c9c1s1Ƙ    E6'	*4d%   ÔsA(%
! tPJJU1!RRj-j9!RksAZPJ)%Zt-tRJI"RJ!Rj-朌Z16d,%b9kc9\k)km9{l1Xks9[Z 0yp JqBCV  R1s9sIs9!B!J1sB!B(s9!B!PJsB!B9 B!B)sA!B!RJ!B!BRB!B!J)B!B!RJ	!B!B(B!B%PJ)BBRJ)!RJ)!B)RB(B!RJ)B)!BRJ)RB!J)RJ)PB!RJ)RB(%B(RJ)PB!PJ)RJ	!B    #*-N3<G2L@   CZkZkRZkZkF)kZkZkZkZkZkZkZkZkZkZkZkZkZkZkZkZkZkZkZkZkZkZkZkZkZkZkZkZK)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RFRgVq	"BCV i 11tJI)
! NB*csB(%b1xB!Rl1X<!Rj-cPJ))bB(Z1Z1RjXcJHb̵b|%bXk1ƶR-XkajXcZ1bZs-Fcs1XkaѹZjZ/ak5Zk#k5b1cs1c1kι  #	+H!  ! b 	  V+j'tfdȥTD#5b%ء`!+ 2  Y9ǜ+䤵j,RR1v $Z2db2Ajt%T:\c+cZ:    @P`   CpK(0(I @"3D"b1HL `q! 246.. tqׁ P@N7<':      x  H6hf8:<>@BDFHJLNPRT      >   "9  @     @         OggS  @*      =     cH)$J S{
(S{
( "NuZ             PU_WK
$l4J      Skv+"jj޼ڂ^QfLt$zE:Цf/~K""P9]kQ@AKP)t}-QV'g'MNFŲW         /ޕEL1ع3.1J#g5\Sl`9TMِdйg5s_x=5`O}xr{~G޵^'x[퓚NB?Yjin|<quɮ30^.q1/sz   TK*KQ-r>yʜ:E	w~0 νPqb?"%0;	^( Y	y},胝Nh9IHq;s O$8ewDu@2$NpG           bK&zЏ«bo9?](0r
pthː?C䍌/_ƌ`[gQҸ"iሒ&noJ0Ck}ȥݏ6cUɛmO
՗M'ݴl     >TIh>졀ۦVx.Ge7}sζ3N0~L4zT 8٫ɅS4 ROz"d-68 @sv$         S%lNgZL}G`_υW+I&7zT/@J-VhLu!9cslŹh]B5W~955g|\?,zrڂߢkܲ.HXpV`̴&HCȹ  P
nPP~߳7~ThF8'դVɇο*QqxH\GYc9 MXc(JwxD/%$=-^ԁ铊\qDVst8^[إjpJ?m_Rp 9tzӪ
Vϳ Suo  BqEYJ-         ApTnO=K3W<t{vuwK\{Q_Ӯo\l~9|otP*a29N=d-ry(_nh\kS٣a}a}֖?fq|_($&叝hhkK/*)A-~QXtӱyM b>$ѳuX(Q a8cAZ ur 2  >TG	෮.T-*p1n6qZN]#G^S{Z *d,"MQѮԐ*y>ZUak׶*m_황_j4˙jszӅ{sC~K(  < _&BV   6{*=r         WYbn>`w@wh1ԑ4t.[=n{Y(7&bO]SɟҟAn6fK9/=o7_ Eb&r.VteYonIF6=ͫ w;! mf[ɧL 	  G &Նn5u`5o&:[7h   T3+~_KQ)yošB@_DIK^Z!%ۄ:kwH>2FNG vПS>
pbT$_US5u9u"{9+1٩ϋm68 4ɜ):wcY2  &g
  %B2U         MK08ιjɋ8ƼSè	n/wpl%\{T:_zL7F[NbLOlVU4TC5,{ 0"KY䝜i;Cjso9;rp-Yu GÂi5	
-;O80sΧ}?  (~'A9|5G e̚I XuT3$20  >U3Wģa-dtU5o~"vEp2V!UkTUz TTqwqh&"=L4P"17|{xn]5"q}[fX*S3YJ 8zGG$y>|thBզW`ߟ2$  m;   8        [2~g,"xe%kIʋ`X{'mťgݾe#&wT?C+qlyS=4z`7Rfqw\
J-ٳX&gSHeAz% X="wnTꂱ-Ra6wq177'U?]   |4G󯿭K=kK6؜ݯF     `a
 ^UO-.<穚§Hak:fxdVY*WߊV)볥
8*eg!K#dΜޞsViI!e:NP+^PqKөQMk2eXokL2?p]Q3)RBi  @{FM `  x86 .        &\Ǽ, MNM.icl1ɻ4C]Q=[|ax'[u`7UӚX|ᑑ@6*7!U[a/OG:}ø*f'1A2ynXYk/ݞgB7l[Ron"7T_4[gO S`L \}Wk+KlR`28   < lPHS   @w0;!BP,,mŵe~ULh   UswkaIndn0p&gvgI8aS˩U7$d/o$]fV#))	.r>)75%SFCVy	U:ݷ}Њ8)*U'<ܛD) ;F?! fSf7S   [x          ʦ%rhubw1;Nm$>u{y_U>TgᩧܿaD<G<욗٧G⍈0k1(
})%f׳gìGeH^^FCHɛɄh,ΕI}TrdUZ-0~Iw:'LԨ_|tqV"Vyuv H(r
6)=l
H    /ɫsyt     shl`y4Q>.b^W7ǿ    Uw1Hj
Cu]2 qTMwJ}[C>բYu|l?uCusyMl7u8Ȭ]Uk.Ӧ[jQv]+Z=e$Re=糉 #sRˮ{BR@į  .ԓn ʤfxu <(    pKng*          tBNS<NuyRqp?]lpRUYT5"\C9Y觧2i[Ȃ21=~YZo0fl:cpx/</Lk<,s.d,2-}wk2`lmgwe+/H@@d	-N1d_/Lh327ZŭLIV ӗ Nr.`$QxsGT5       `lfq൒K)OggS  @F      =     UOx;LA!D\ןy7B:~&NSgvbL]k:UsrLk![9Xʘcevk >Yu8jf7OɤI	I@
8c  T;?_C¥ eut7~fACjil/a3 G]inztS           %hڂ/pǿfv.B~pݻ~Fo-OVP^ݬ\3DF`~m3xB5)[y3++?"!zI'kWY%_"ga*w?̯
.q!Ow'ו+]
b$V1%kϫTk|.q)#h`i5wהyUc۪vbA̝v]}L#8{DSEPqf  UAs>ptX     >UcW5hjT#ښZxN#Z`Zpȣ֞jSkw=D-2}H=ZNU͞~R*UE4jES4oYt[ݳt_
S8E<.Y ٯ
' &fzJ][Ԣ5:>0wF+ *8*g          e`Jʷ*5V/~%wP*~$;q:CĘHP%oh+NȧOe~>m1G8'%dU_߿o;9zrJ,<f˺[wwt_imO^N١𩴻߫l?Lͽu	)|Sz>K<UA=ogLyǻtP[E|i5.\VWBm)BBȗowgJ쬊Rξ\ )$Bx
     >U3?j<U5$DXy3[HTOIO`I7n"Ukr۱hnWB+9ivy̩lK-t>jONHQ8;V]pXBq)R r{nQg*	 >OcODu06r jvB>,JF?A  ]03.N       xnyU'Ge%靉'm6)HC=~7U,8\CުP'HQ)/2"rD4[hUE뫕n3l _pAoOGY:5\?ZJܪIνV.cw 1EcsQD*qQEsmTZ
W\f6KnK5mY~zM1bU+`<JOoθվ̘$ߧ_/&)5Hh^ U3f(kWc(rpi5f.NrV,ٱ5<'Ԉѻѵ<L/fP,ݭ}L'oH܎޵!&M%BZ+8E28$G	8CJ 
Sgm)MO~&V Ե#3&
 DmyHOSV          ;^
1⦠}I}dۼ䅻{gAx$MowԵT"Pu6ƅ0=]l˛V>>=G^T& ,KV~$&wk3;9bоrN~1xa=8LؾqӗUd)D_xWt_rV{\oa_z|q}"]mKڹ䦿JrGE'z^Wڔ]	XU_IA*vZ0B%d -ߴt      UcOVjeίNGKd̓YeVs*}--ui)^Gs*E
HOs:qDTL:O;-!-L)At2W]g{p"qJ~fT3S^@^6lk{{F+M<2Կh@ 33fRT
          JCCrrxhAL	,oIu.uw냟uks%[kTz˼koᴕ8M,d_go;>IE^j^|H+v=#|K
ksnG+%h.-%Ek]ߴ;`d⸮:sI*=Tc9ǰ>Fɟ=5w)oqz;  S)@Wl|ѐyvE-_V|s\ú&SF]Ofpb      Uo6K1]jm)\e96!Q&g_D? s%/T$j1%>|L*,Daݥ-SȠ5b~g	tlrPG5',%Їk|?&duuj"  W`ɼT{|7퉄!vqrU/w  ܶApq
  LGɩAew^          ʤ_kTۡUoed`*
)>k~Jkn}ˇ dsٚISF)T\^<{D	o~2hùl 6bO˱#,nCS.N6[yrqFIYt'dՂU.\E|&q$*c`T;Jy&""<U!YEV(/H-c;k^jE\tAlFӼ/;=BZ̤IV¡_ ݝ(     VOvs?E@
\SE#z,CYWA$,nytYԲm̌Εa0t5#$sLUgLj5dpk;#w7[tL.:nD2N`   r??% @w-Γ caf$s\\%wI1Nb[ <>D          xiEZQezR(Kav&JOd>J\_983j|=Toጰ+S-?_Og{ag
xLY?^;p'	Pw`߳c>G}++Ͳk\J|?bρ59&촑ʾ{Lĸ:f)K>+>sQe^;áQp{MqQǝdo[qrLGS7]Uo  ܴ(^c6t	V2:e5*RfקT~rQxpvBS*4l55\>5bZkB8UUW}v*9hQCꫤ7,Do=U}$$"Jʥ1 ]:Y~0

dn,JD *U5>6?i8byc @OȮuk&ˈ         ;ٰlSm3\jɗ)b[ õJhZՆ+zVmVQwǧs]:߽*XA|b.L7	ýdw?߭?cALu8IV+噟r	K;Eҟ/q&u=K{X̰9/u>ыQxZVuCܦs\k9*cLj xx:qKuؑ:.WqUvTuܧ[nJk^wxp4~[nEPYk^OggS @f      =     
s Vc'h了;O9Y;s֖Lɡlk8kѨ]0Puv:YuH^*)	e!ezO엣YWW,򟩯5q:
wݙ& 
ʹ}w	C<϶m4ggT Ɲ|1IzJ53Nǂvw(WNwT        d/­}p>*W4~	$>ر+"X;^>jV.'-I'BUCl=3ztkݹhʴk]	ge;فO
Ͽ~0]rO/W47|t}12'VwZ%~G۴^(NXdK++z즭碀VU=5)8"sV&wڵFZR>umw"  ~q 18:ZO8t  UCo`u-7z'Rӄ{w8>1TJ8~y!DEQ>εrH{ 7WA>j_S2	\3@<btwmKT*p&eC3wkK}1脛9$J< Dw9GWY غV\3nӦBF T B:S.Ƨ        mK֫%Ǭ*Z)ꚺ&)69I]>]=MG-c)jzꄽ~a{fqǞ!6GS:	Oɱ1;1V<]{Qy1wҽ1%s|=c8lƃ#i"Vu2C'~g[1_f)avhŦ4^)L:Yneo;?PO 49	P.VՋkiQd} U+4r`Րhu0iBƤt1)ןȜI Z]x/KZ	悪YzR[yì-ɦWug|	pd$53=n{SE>75/F?x$)A( 8j
  TT/ZY6Wwz:bS_<h1R         đt|1YYnöD/f.~`D `9CtbX/PRè8PGcg9Mv?~&
vUou44SCv2Qƺj}iqioGJ^,(Q9ӽ,k\D#r^Dٙ7aӒ0'͡LҲ}ySͺs?OkI#N7u-76!"ˢ7O-\
 UC'7r4w%DĮ;fTqHQs3N+՝:COu6&IU1k5hwft=!N/5qZPn,Ќoj(,xHԢfC"Ë́$$+ 'k/k* p/g/:  yQU͖٤Fls~n Un_rH"        /ԥ8)4wCong\۹_R>I}8ex0Vx8tR
}:3&Syn?ջ#=y^895ڭ&=Ӻ5ᗟq~yܿ9Q۟=ƇȻ~mďəoV+EfD/4>.cgWoW>"BBQS6RmB/9N#ͮe/]+<r;h=_N <:fyk|;+{s)Z)*:#{S>(OV#"uMa+)Ԉ乾|W	Wk*D廋|I,Ťv"]ޞ]yARo9hT'
:THb3SO]+:q_SHJ%.:{*  +y #|_0NtvG[:SpN         ?bH%MvBq8(m\sw31?wpY a3)VҩXX*]&Fy~+bDtln}gx	&3#82h$|9݄~?=]+'hI/_IT$?O%U(FT4lvvD 5r&mEj"Paͥn7\Av`epb7W4^W;sGNQ>za4Vٙ^h (  ^VCw
)~pg5 %b)sjdu%zt!<Q,ҭWIC1TdQ_-zDQ
MDԩdCՏǚ.=%f}~%I25y:k@u]ZMgrks׵}n`	;w?e	`]\-<uPiգ߈g_N SCƤ
eK         CrE)ߑtӴtB+?=N"7%y8n4j/?Eg+ڮ	z9%K
: q0S|}co;rúa64
6}';]=̏6sKgM&a)yLd:-yM؞af"HpGrOMsI#i#]Hɮ3u<[^5sPimLo]*Q,ZEiley?q[#
)sg+c Ce95l}uBW{oI   >V;!Z~k3M5b:bSM >'gaB,˽"e#sZڈ|ծ981JU#7Nv=?ݩS
ȗN=Up9#g=QaQ%x*8;nz4{'3ɪ/ d>GP	eo$: 9^Ps(  ȄꈃŻȩG         {4Ԛk[m)\:N݉NOݬ-(:zRv<T|[Pu랪C0qth[/'=ፗE	i|".q/+e~]UJM6)M񊄔lw*?`~kuJ5̇R|NI:BK`\m:xsnL
QVs?NGVo֏5ѪJd1@*_ 3 USި4'~O,$rNi߯0hU!Iʺ#Y:*G3\
~T'?.j& fON{}VSV7t^5EkFN$c(1Ixޡ&ho9~q; @MFz	x(LB$aC *        :(⼶WC;MK7f5l{ǌoa_WfhFJ~CJSX\SW꺶r0hpbs޷ݫ/fvM~~$@/:)/կA6*痐m8U@
<$.O_;~*aV_ٿY<r=
9},}v%W:h^׽ltVL6 H'        ŏ   ծ7aZCqOggS @      =     oȓ?d5kػ()*ƫ_&#>6#G~@pVODT%4Gp\k
R+ng2s'*}֩7qqI{~ufo9Ԫիl|)Ȭ+2gZjWfvw u*Kqz+^Ɯ^\/#hqҴ~:zw@&)q!uWU I2|a;zB^ H      @WR:fV3 mwkܸn,	X՟4Ge`riBhcyuEc;'|zR$)+J2{بS2_aaMM+ YĢaCιX{sauJ?6vkdVѐ$]D`k6{^o7 PU榯`|<IY7+fgzx/e	`/pǔ:0n NKZ j(wZ 01 UL11x3/k=,*UVt}֔xjEvMR6׷)ę(T*]Q/)cYڳDۯKT[َ28ryh4;=4JK+}#P>٘[ Gc/αM {)1>M6  `W
^Pq7_        \(ne[w5H|q9'se֕5>av0C ޵"_RqB}rF$mV56J34H5X{7]n_+ׄ啨3Mf
UQ&eWƹ>AZ ~f\!V-#n}Y][<^)Dxo񅋞Nu|JQ	Nr]k[3i 1,F &]RzI{W{%]}U" ~6#gߓHɾSC
X~#uoIGPJ{>_EJ[NFK>qn-8!S[(>G~%";BnZS'[iE2pqM*m"FEBJO:9 X6 EwU:$
>Sbj6~)LG       *2^	rk&7EL	9qлG}mAs8@
ǔ_f~/XD&#*"ʉc.xt}!֛+`<naZjNy4-cs#ˆ?_]|ߢynZ%>!8lr؇ŗ<֔AVD<U]rk]9Q6e}'hrF` f|{|K_2	xA`  Vw{(0!F}gz q
Q˯ߧ+\GA&+!9)xNnoD[Hy!)jz>_L(c7ݖ{"e~"@٣t
  lH{"DC.ϘGӭddO(Y3KBUwS-wh        q._N,&>/d/|/>2: jaWXu~ M"`r;*n\SY6AN6X	Wt_rSMbg @3#wiW$vr8sIwKvYmnJgVvT=|l*gb&/Y!4_.j*;-c;x)(({s :dL?'K\ĻoInz;Us#`^BHx#=08  ^fGE\jR5Ӭ˩dEwȟ;k\jQ痘kvLy?;"^~dH;֐ދ;}7R4j[p3DA$*kN^qU6@)^$@եf^ۓDh(8hCv(jkg          :h27ӳLhԭȟ|Yqm=?[/O~Ucb{?TIzG͚a]Uk>UDNVCg;'ͣ=*v34QTz޸p_SVK}=h2尶cr+ʋ鬅4v0$y"J^>lEc;WS;qU.fgGU=m+Z`CjߩbR%fsKH 6O}(az8w;a9wvv"swmFB=tV%| Rp1k 9ҙ4h=V}dOUj^/R\Ry.SqvA($A
\   ڋL5  R[y4*s,S@MW7      vK_?}]iЛpxglg/2dz=>T?vo*,?+''LTة'hcn行\u͎6va!,zALQOp!QJ͑(O\g.N5d/݉~nsߟ]8	<aT/]h-e_Ӊ:luKC#69*P?̢8O+[Yw|wk:_ Q*zϳ/kж1{. fO}cv]o{'*IZG[Jx (7hT%<t-@V!=zu2uu߼V3iזU φ}OmZf4:)DCgzRa#;yPȅF @&*xOu D o{/9fC(.}@[x4 %,      j]-m6N68܅&">۱h<ҷui4h0y܇eEF'vK&G]z~<ڻ>)zI0%wǣȧҨBbxv⊬Yl_D~يՙ{*w*$HZۃ%Z-Ů矏+͡A58aKMx<&(~Ɩy"Kj׫9XUeud7Ġ5v@=(W}Q ^	5   >fw{H~T j
L{rĀC<Q{g9AJiDZ54nrqOK-tzA57ruՖ_vQ_A.W>xq-[J#.UB3R%*jS Lwt>' Hnꊑnp!S|P	-       `H\{ǧE_Q3LBVo"x{~r6}7WYIsqOG}Cs\\7Qs?:F.Mg8H2#b~<{]ናܱ	LxjM&HHLxFG!\D/3ْ۲1bܔƢ?:_}-/?H\ȮkHP_ŇlR^\Qgs7Rә]}Ms|b0;3T9 	 tj
Fc,2j {   fSٯA%+o)/X8>5*
Q~syH.}PeʔRE>U	D
ԥ6L!qwxkL8*8nl;^qB9qq;jdkRYOA#dHTY/)
<P@B,@C \֩p-03OCF'A?='`=9q[B! QH       d9#oz,.ҹOggS @      =     h&5!zck_.dj1Լ/꨼J?]]jfKnfLl;ߕНڍw0=l%|%'zi2ڦ/A^xW.-ksBrg͞neg"uokOЪqU|j5	B49̀}lǬ}hG
ۏV`Wc~uMF QFWpVش8   7 w>VW}+]7¼dY?vp,]B5GΞtY{B*[ឱ?K/85 ?/e|Gd_ʇPh>NH텤ֻZ3  L	?u(v3'.,H#UA>5 @G>?5G	7cFAyL         h]]{{a+>˃S76S,`7l]}Hj?;͘ݭue31ފf	h,BL_GL<qm8igJ"ZS.zƸ~A+x/H2ظ}οN")|`6]b_˿6ޮ`/);% ,e`o?Ea+IE^ڸYU҂]%7?x_|ۻr])f?e z<,Kueb/?    Ј     U>V˲?JC[M)p=^MbG`z)$c∾rzzHmZsꨓuQI-SU><D*R:j,)!d۵^*QY=./]v"%8L><x jDm7A'GwnOEdu@:^)Q8  H9s        0lMs7?U)]ꂇj.Ɛ7w%4`u;WYn$rM3^}]jt<e8M^_I$Ynk\{8U|q*Gi>33\ωh~`5_ƗޓC &I^|7eu[XK\A15=BcpRcvsm3qNf~3-anV^)LNZ;{?&iVc;1_};r587)0,'\9 b{jыmo     rw{  Vw3{F_1VIs6 u!R&8\)_~za=zLsڍpet^/n-H^%"N&-l㐕Vu=NѡzL
@${:"p2
@L~ԩs4"D*SO 0:vWz/
 `K65       nB*wDM:q
{3y
sҏImcn-SMgcV́5λQnZh{]r2G;W
x~QO	_O""g3;El.,ixVO+F2DIԷإ](MmM<:^gkY? EIߝRexS}$u"c8N4F̝77!@(	į- 6'	/  R eˣ_J!flV;/Ct~t$@dzޖoqlj.µu6Ec"_5
gtS`C^#>IC:><J*Re|zE'ZsDׇp5&1#E3%[4:  gWln+
L8h]JN'?W(y$tg@@X      HOIWN
7'qA;oO&~wDNml{*)bt<KWE$_g3˓O+%R{.Wrm~qSQl;!+x6R.sJR~i90:͚c^ǶbyP_xץ&$IS4RC[1oQ- 23aKn{"K[&HZkIn25O2/IKuph=H is_   ض}>a ~6 6~C<:`>A[	2"Q*q]#B7
mRVygEbnG;[Hݟު}ze3H(#ayDZO$GR3B}y:I*ؔą
:|}fۭ/uBVkoi*5c#|1ĳD}fCv* j
D[{ a       qw|0kƭ|+?2uNeר+kPى5Yd>t\숒e֔Syu{	+8{)\ɽ'm)4`zC.բ>ۻ8$\y=(}~]%W!{<ːd/ⱒXr,A6(oĴ|OwE
F`*'q?]^|bQ?>g{wlR|keA MY#3lyzt Ρׁ o 	0x9:  oo      6S̟w<!pVwF *k!i$29<jJL~Z>WRب	Κc8?Sj%kB>k%ȟ*G;ڡq:<1fGb Y9U"1%yx]}dCʞ w7  
dp(9TdOYB*RlAUB V 	      k)z7p)~ya羋<u'VO\z&O`Yݜp>pǪDT{xQS{HW٪"OFu<25!en!foѾ K=Էڅ
>J_6MemT;{sҦk|SJ%~}^OeDqЗGbtfS7Gc9鋽:w:ѭ<&v
 !4Z[K'fSj;x  VS-zCD}w⿔ F17'8'iT?Vk.S-c PMUF+]㵜_8i*J$hBVYvȴ<bHcbsSx}bz\^ Pp tYurvyo3Y<7K2\6    DG         ZyR{;"A|!;d#Z0Цsj&8)`-evv"IW(|eyB˔JO[N/0M)5 ZF-K!9;8Id]&;L<2#v_/i6)v)(6Ӵ@<6S՞'<ٷ-ЍǛwrq>ǡ~ɲ<_,]YVKQ'0ex"%>9    ,    m<; f˲ʤgF"̖*^D;A_oNoè,.pjF*jqGcoOnj~L2̃u!t#h{uu>t̓+-Ndn?gsV_'	LRh9d* @j@"I.
^W[
LH笎  RxB ,      oϕ(|kL,1q:,>DOggS @      =     1cWObP3HWBGbտvO;*?:\
l5/,k^./FVbAY_$Mɞp|
.ſP}m4uw`xC4Φhq،'kϜeM')lxtswS2:DJNs9׀MJNhKc7)N!\?jɅ
=9</l	֘*eQ'&C6EnxFmC} @X_L	 o89}d fS<_-~+~+wkNL+S_MG>1$*L!S+V'%_;?I֥(ht$}-~>Q^^<w+u^Fh[ٖ+7<
Ah=v!<}():Ƿptɗ~bḃ_pV?+yq	 h܀W  2       =]a۸Cq[S>/}-k޽[ȜqϤ5?5v:Ϳhj"<O5n:6'/edQ%6W߶r'<#E^6.d Hקl
U)h=Y\+ -ϊ${.=vQhNv㒇s8f~uoqqw3%|LrՅ;<gfwwWX%]4٦>	YZLp[6+ Ȟٱ?  7Q؟
_3Rs[Y`2ߒ    >V_E[@b̖#6W1]ϽoV̮zcoDTKv=YW~DjFam:Q-rWL%∺^hsDJpqIPU,!H]2rOh>B<h0R  'Z_4qh_C޾#,DDs  <2{@       20,)rޥ#M)dRnx	ԧR7 .%#JfޏԤԺ	N߅`*3G(+(+xk>Gz/<Əhړ4c9"D#Jc@Vx)`0ʧZ߄62 =~J"&~\Tn{wpzn.`MAʚxaPϒv4Ѭ ZCon$~;O&N>d:l	P5_Ⱥ8?!_	"7 `v:4i1L    gʄ
s5+U uN?4H(Ik/.q<jԪY[#riE93#ר{nErH߻ :ܗv$5o<LSH֣yEPZ}}MG-[p%Z @-<00-K?={]j='T!wTvf~ם       d_	޸|M[rᏈֽ|K,^*V]8R
ŗuUb${a3__<ē½]3.޿7/:k.HE%ܡ=-Fb k[*=r8pk>6Ţ%a @DAtj"bnHz
79Ȼ9[qo)WIFw _&e\:XwtO%  nI9ػ4
9 !8gq  1#i-  VJf˲cNCDkCNw&K6B0';
K̪וּjUJ3i{FFl/׳p[<>]~1\7IiB-xYhI8Υ 	 a.fȪTɐzK4P8pTs+ӏ]3k')  :@w25       H5>n,~ȵ^l^
˛iުӠÍ^y'HϱxR=jPZFB0yҤ+q)bsV@`Cq|^sS&7K+_p4|>o]x!Ռd#LK+ߝpݤ[4)ZAZg޿jnnl͇ɧ~4}'t196yoQҏk[w<ͮj"DeMvb6׈+
4)AJU♇l \ߒAa-l  XfS?"~)bX@"\Q>UdEJ<lɀ(ĀP%k׮^*g?=kNwvԀxBdQE>J:_qB$\]f9gTQPC SEP
	Pe&L4ƔA^|O.D ` Iv)8xG   	      #Iz>Ir{E	ɌbMʃ?_꤆[[Lz4=[28q/зf2\bkEv)ry38+7zNuqvMcX	:q=+*Նr3mSBe/Y9'V-
%dߚayx鲸
m3ФUbujEOВ3<m#P`\m9 @1q9 cv^&:`F/w/4_-J   ~+	f/|WD2sfˋ?
m ˹'ER1fLSC{}
MY7@kڧJ"/ÆfURyREWH2%ӎN2rZd*	Iv/	(
x7H{nAǮDq-U R`       X˱5n*q0+S$З6sd=p'}޻Ii퉂ɡJU~D1%o=v+ޞF-TU4:zk.9z\a}ޑsąHٷl7颪Zo72JydzHU{gqŭ^YFf_Zw^I^+v`N#@ tlA}6FH 7~+ /k& f7f!P̖F#:Jj?Aq*5yL2%zfhjN#SqYǄ{<f_B[elˣQs<Zh}.u2[Mԃ<{Q
\ :?wgC\yZ=$Dw{=>>9nG"P9 	 	      uHExl3NZ;ͽq"&.9KxJ\\(YL\lu-{1޵nXk|_6v	aZOoR<bsUOa6cW5D)Tjk:~w<g}/t;-P,Ocө@fbcrKsH㿐Ӓ3E<!4Uriw/V$~CcHc )p*%%SIan.1_    <f/p8[U>Qo8Y
RCu/}58H^?=VTQvYp=2Er{Sx<Ij[p \o>v3{qș"CC	PT@~  tʉ"=sṞj݇t[登lj>:]Z        {/G2]rsZɔ}.<vhd}]Dztmǽ}sOggS @      =     <;&(<fpn8y Z~#W;?wAx,d=6Xn7I}[wל4lH'7uݵeJ['('c8h\7^ mK6(ԤGyo]>&N60۶\>֜)Z)٧<N<Zl[   : |.<pϾx6R_dh  ~VT,_so(?D	RĮǥ$瑝<{U/4@gc;Gnk֬ҝ_j˭g3r蚏Pʙ0%=tfJ^kъe7>jPuX>,n+D̖
|h<\~-u5qvQ/w	3_7O9> 31       z\/LP
͉_QS{dZ{[AJ=]KuU.2Np9u6vϕ
Sn%hkUEx]瞇]v}_+$L}Ν7X육m^u?kv3Kި%j-
 O:kiy|~EuIҿ..6Gn:УS*2NqA !d o	WrY{&G8o ^f`|$Ϲ͖qO_fZ>t5eW)؅Up*?zL](;b69P9v$p/S9Ǽ[3GTjJ349. $jxDM @/w "ѷu*vLlT`  rg 8      tqTKܵWtU8ϯNpD/b3-_kB~Folh ;wto_kd`O!v_5&^ N_8II5}_ogqMsLEtϕ}w1LJ<'Ln}=LPNO!/}2\u\D\h$%>
S3)[W%9}ԃnu`Ik:Ou*0~o|v-V\ qG;{8Y1nsh   0 #.* f˱ߊE3 \AF)* y~T'u;1uqw	3ZJM&WE	S{#$ej*;e;u9X|VR	)rJn=bqG?Hp
G~@h@Mǁ-CȎ)xKjdx{H!!Ҝ˨G٢($F      `\<vs^_RQ>yQr;=᳧X݊3_7w7rt_}č"++|L}-Nj%esp.,|{5}.WfnAYw$^[ImMASsrQ4C8@n7\|O*=YNxvFle'Uտ?PW0,[VWh2@I0A mK"7 ι   fˋZU	>Lyގvj<hF{i	HMMD{wT}"{|vU'3ʛ"Z8Wb2ri?aF<e8$RI'U]u V}j0@*Uҡ"!O{<#ޮ	PdQeRf&~T@Ȋ}2Qp       u5עr%n4cmA0J
ՁF-3}#}d=ACE69h0;~bX겖Ƕ}ô	4V9Ng2nUrXSnތ/}Po<uݼދc3-2p -WifvךE0G9Z'何lϪEHIl 4˙)sw=4{ţp  ipY➀B  tV~   oI V/x'H_EKSdR7Խ:SQEuX]
N@G`CƏ"KΉ_5K/]޸Nwڽ\+w]WƉ c('"ۼ-^☣R{fxR p.  @A>       E-$Rצ8n'> S~
~<9xr藐2Qb	sڞvVm	uO*[=|:g{&$.Yz+7ztn5K~&S|W{זgI{[[PT?&.}bQhX?f;`z
(v: ?eom4HY Y?`&(DLXJ\kiԱ9    Ơso1    >f/Pye?A({M%`<Ոф5UZ&FٞK)2nYZA{-mouR3ʜOohlG)m)ԯ%ѽJfݝ.}
TYh`9"gN-	įЮ!;h/k
!1o
      f?缌#nǅ;ӓ%Zb[?R{^!#?U/V.;O|յV.Mg{~rx[ =?7_e8H\ad2SQyw0rZ]<øxjWF|'8	zGd9c膽DOr&/QA;&5|`8-4 0>6 <i%Ͻrh   ][M~s{xW y v  U U>AL,G*C)!׏1Y-:^߼y^  
i:$YBW|gӴ}/NjNc[ҕk\n/UH▒ẵ5N4@!tNJxNxΥ@#2 o^Ǣ3fvǶ'TpBp
`*@p       ew/6ͣZN-)*u:0LK~fv?:Wr9̴crYqgiK^VWF^p^P}~q`ɰvLlu4+ʆp	yEM&ŕ')yۿET5q@en_vڼE8?HyCU|UF/zi~Χ?_;y^	5G%v?L@4 7^38^+uסn >f;   ^f˃_ӣ>"1k. v)Ԡ29?׮uB3gi[BE*wKz
܇t"G}N53hm%]w"Rk&"jQCQƉʔң	 s8	Oos(yrJmQQH?yDHD(         %t*#~Y|VԼVQ/yH=	/̇@yAѨ\mI5T$35|}W;.SRu+nW7ձ텾oZ3d*=є"󸣒o0mpf̓j߹,TViXi# ६"nl	c'u+͠\rOt橃b)FO|<0 p|Fd"~|4ľ%< '-W% /(kpir    OggS  @     =  	   W+V˚䂇Ziǎ&yٟ4+	wPov!U䓒2Ah!Qz^BYTCE|ˑKv.Gx.enŪ[/c)м2iTRtQ#D0"+CqSr9
:йi-67#թp
       usW{Yl溗ѕzIOQdH۱KyonJrG	q
Qr-C	ϤK{Fwt* ->0*6Fs6od2mЪ8İ`<B4؃ٸ}IH!/XL3moVerY:}L	lCM:E	NXSXXQ[r_IK+dSS\ZRYak>o6g06D B  }0qG   X\`l   VlgW	~|}(65tC$]omZZc>EKt`ޏu^;0
wsq2AURߙk ^EAʝ!D?\֣mӸ#DN8p}}?D7a P5Y$ ږCX~5Y,sՖqѸu Tf|;  	    B m9`n绎{Aҗ{֞|cښo`tZGna7U|w_	&1ΰe`=,+/hDJy7^.A䡂 Æƫj1'brK2hF:hQO\R@8FF[gZɽXEuV:?yr8kJ!qFg.?֑}fr7E9?Qbbrp5+׾f x92	`EU[   ǱF w@V	ZU>AHȺJy)z;	s"eީCq5uXPԇ2ΪTF־Wבit$5ZS`ze&d*<C$ԨE=C82^ui{er_S% HH       @;~W¿_xypGR^0)Q301QW4|"g8nH2b}|<t%cjO3uRgL\]'|ߢ_Ygbw7:_;S޼sF{vO<)3j/>徑5U|'bL$-բLǞH!Чkg*_'Oj^ĲI	W?5it$2B 61'X#ۗAWh   {8Np`     Vˈ耗țWS-PȫE
J3r"n	^~JũWn NOD ^kYԉ"3x>ҵںh]I2y8bP*2x J/y$p U}-uU:Qjqfye2reN  MX3         8낫1|Gǃ!~g;VV XCm8{yO:Ѯbj~Gw3sg(wiOϱ.k-Ikxh{[j_{j*{^Mzgn**\'?x,: H'r	CjQ=+.W/r]:w^tV_?BpYFM
tGɻ4#RJ[ sf  M㓵l0G  {wd۶>fG>82
z/iuvqni.Δ*s:cF7ُqIt"Iu_2'RsKʍU/Q4H1G(U>PMyVMQ?bQAst@C.Bv  d7}nvM ]!Eu 'c       8 rթWok-^_QzKU:D1*lݵOwJ@0KQh޶y:h'`vلgo_pJ oJ^"S]|Ih*B.߈{s<I;t_۳)?*wRkyÓ%oH	ާC1&11@·ͻPs [?R78OJXc;* !$ i<Nd64'?EiWp*
 @arv`ׁPr( _ ^V)/mmH>}B]8<5j
I2$:3ڡwGC˜(@+_!CUDur[SvhhgG}q%U4Y4d"n`LW_UdY\P`}OD&fL !4bO]f)Vߙ 
       ߇x>UpOlTC~	R*lHk %͏z߃)UJ8-u)*ǧݯ!Ig|RYt6CùqY-߳/,x(5}fPݷ=\צƟGجJ˞Dkhy׮ 8֖)+IG>:9UWP->ޓzJdpvʵV[_ƟF-h;97ȶ ~ZJ۹B * f)	~y.a)I2:ͳj0j53ogC,7l3T2{M=s>Pf-A!5:^MT֘Jc]~|eDvLq uy D'/2  tО~
4εġ<2nG5O PFR        cv_lp
xܸowB\5WWE;͸8g3^OM5LbAy>D12!nq4Lpp	a'vW)OܟXrOK9e+JaW\zɁ:l7դI'E\Mx10&q2*\W=Nb~|K<MWE9Y&y2S?tǘj_:)˿WqYsVj  VH=>Z9}(|fTQNP#4/wVVڳQ[/_=s+45<[e:c8ޞ{I$ BMzI~MdDw%^w=ڴ-Q          x*G¿z	nۤt~|Jph0PVwJJʏ8b.A>Q5ߏP3id&6|_1axy1wOΕz|Pɧ/#FjM4#bFJIYnd1IqT}}'jo>Pk{ky2_ǖ;uC<UXULXYxT׬Qk_ws%AJi6    ,d:^ݿl~,pz. f*FҐ|VTEe"CR{yLI[R8vw׳~m1OI'pSȖ/^uHlƵfW

4iz[u8zP3xU+8NC| te@79 RCT9Ĳ蜐wvI@{6   30h       n
|/L45imɞafq:L9:u>>y*&|$rH<	OggS @2     =  
   $OLBM|QI+__G~{RK027sp~jjѮ[:z(/-8G^)R'CZ굛E2YX-wf)_ScbN$4[wtjlJS)Fת{מ
+]RPf l}٬p"G<&w    .VˊQ-'R׳ZFO{iҁx67V^-^4퐅{]1<(㵋8S QN8ί;괔A,f܎eNytB(v!H#Ȅ+MvTNk$Ŭ`__9l18 NQ4  E{
K=4        Tnrpp]ԯp{J	b5QM٨Lȩ/Y9kvn/Xe>9)1&_`_5-NisWSZ涯	pxQy"Ū%ŏP鴆t<Iܴ)./OGd^j]GLpkSZsO@ 2⫭Wp!/W^͉ṃ;nH.63w5i%Y"L'JvhUT2>+O49YxTD3O8      `|6 PK Vˈ*<<5͖eT)!փf3QU@2xpʶ('O-㢪枮qG8}Zc韎ړN2eu'٭p\.$RMkTGNgs4RSU A $w逶ju[4S=A)ˣJ*<  3_ q         }ϰ[R<)4\)}г_07R ()g퓕]뛑x{T[ѢW"
D{Jm>иtI%[ڈ~JdWV<WWW,6H[g°M׶wkr>^` 0ZFϑ=@,د5v\OCrt+}֩3X:/ktƷ.X#QiG,|eĈpݐb>vv9g  cn  9   w_   VˊX[pm,"|Q=<cۻO#sg'WG1>Eeq9qݳ<x_DjG@ ,^+K74Tҫl3oH9}&2\=-XT
Zpܒ9|>2Pt J&`BRk@t>*Rd T}  24A      m,Jse<|W*@H+64?tNgPcfMZ
>)A}V#'m=3?TLGwi.{%[Mqyy	HAJ<ǞՏ3ZaYs*rYxU+ҸnӼ4"I@ǹttTww\^)]6g(-8iSBNo?8E{RقG$f޷xusqA^KS|,  03XUjX/_pNX4zgגzZ^U<*Ku|.R'-ɜݼ'N2gFevCM1RE۔;Ĥ\g:Tщ bJ> hT9E>}(	VU'
xkG{݇>S	@> n          |2M6[(%?.0)OV>KK1l9[M׳iG}GVS?۪'Q?|WCmN/0dzwC%wW៻7b7eeRe4D7OƳH{ (9X׹SƫOH`/8~>6`xuʾ$;N\M:lZ{ڠV9-qG_QEcє6VdQ>SLX      6
jYOA%?ci0!g=P[:$?f)LMJ$~48ne=i1^y r9C5=/G*#Z4;8-GC\%   U 9D088
bDq<j @       t'rf'Q+~2G+Lkr'*zOm{CµǥewYM*VhGnY{]1=×5k1Q(~k >1̈́ʞJMQc*xXM9A1cr 庆A@2) -m>5%T*g/{ȎN\_{f?o\rCwU1D0,.   ƻ? VU?mO:mpoӔ7VZS@
8yfv\<+dj٥t5IIgT)袵:_<UrXpV=VE5#}3d4̀ PKh B%r0G
8ӧ4Ds PQo    @    DNgbӶ*ѿvKP3VҪ#49Y*iu!P%ӷm	GIU2cŵt̙܈m^dXj=u+}|rL2;Ǌi/-&y?SƀB	lPr96VyĬ3)b?>ܜՊRIKޖ}hI')ogKp]#(W"2Umqp-!5V$0aŷvS	xm    ^V X W:W^L]'#R^Uqˎη f5R܃'}LjR^IjB"ZY2uPRcRL&+ጣW	I_$YV+~2eS `Zt>=tMRwԯx>tx        ?,Xy}Zly>fg5.⬇x?_XCqR*b\O+,iyYdT͙%״uhЭ']{Eb^6o+1%pSWp ?uOmZLfH-i)q+j|[;P:Udo2Rg	1L=[L.9TY&aVw;=-Xl^ܖlZK	b)0r;z?C   >VQ5:/OԈVˊQp"q6S4BE9.sOw=g#cfTZ,57Z{xZ:{g%R|Ee{qxO!<lS41<>	2@B8@_"Ge+C8]#)ql          i/:x~~%9x٬f(3[𧧁{<u|85'U_c|`RΑעk?t'xB2^,߻FZA #wA|Wp̰]{x?ʷK3PVE}_sdRxW<NXG/MXd:1.	<D<-PsIO76[bwmN7~O;a8zI=Jq1`(A@Hd?zD.d&<    7<Ό&V(/x";BtjXb>+D"b\;EevzQ'[:nm8<gpzK~W4_Cv'XhX^/2Y{o=GbȄt<$$tgDk2,XI:e`(-U
D!G1z7O7       `472gݭi"ͫfCN#5 r
]3 婆eˌJ&`eǹOggS @V     =     rVwwN14yB=N[Oչ"*TO'xq ڛ&sO7}fDn9Rx|hҗcB̆eهVWn4S]'5uoKwxxN&̛]p0|M#    PZj܇jeF10&,ۯ^V*RO_عΦQl=-p"a
y{SkE!a}pM25IftEVHf#zEzz+e W2qeHg8{AMέR kt;K0R@ 4<dx"I  ]1q:^$A,hRwQWaAU BO          q)ݬMKͦSac0{S;kבOyx>^Zt23f#%gXu//gkY	\zvJl>㽘Q`'usqw"ʊahU2P4~7~7Y	ƴ#$cS4YZh m8KQ'-J|&ߚv65O}E^Fd׏I\xpɭGKy6'Bv5cRB@Ӥ*oYa   3    gS_%HZ_\-\V?m7RзB(3)e}g~3*1zX[5~^-Ne>+Kǥk@!d:/Z`Y2ߨ ^^k-"5U=t L G5HZ_q̶ΐVe*50)s   H     wɛr]F%crZ?^aܫ[StG̈́0l_d7B.1q@/;fL$3|m}M5sQavJsk	Lѥ|=W|W}w"$1ab,l0C GQǅ9zU,(q~ORo -,/    0߰ͱO}6X '=I/0^Vˊ$~;rEwd=m`mIfqJ~xi9Sqj+ruZ}PVZ\ǗJQ*CEx-<5Bl#_:Uu{ꄂYģ$"l^hDq x`%) 1R"Û'耕/(HF(        @dTC"lqYkWu;Ek(Tиg}Q^/s/`{^qhblSh'GIXq|ՁLMIt.ݠ6jM^@f)=հGpoE&LM,:˂%V.Uj@@I?#9ҳhbˮ%6E<[qǀ^4B|XRF#]N$B   7pGhG&~50^VQzmiMgt̵VЈluͿ~;M%tҩ㘵>;GPfp
rgN	RsMLH$.qjי	\ϔ\#* `{K!Ch<*S+@GsKw@ݡ         U9eU+=wCes7[bHWjv?bw=ڴFp{Ҿ_CH'$l~gS-J'_.~ɼ}p)5roav\5B0&2W	BrR0Jrm{YZM[9itnpUYG^#g(xYvs(l>$wa3ܜ)96MDQ0gn;yLpE޸VϷ׺g<i)  V࿊bm_a+{uNluV=
<K^pTR:jëM갥g
;1o*BOOőa*SKF:@dGYAYxϐzl=>MҡgA       @D[r]Ftu9G鋫V^J/Hn۸	)=Ė'	xW]!T8SsgMZ}YރNNɋyN֯p06cIc=ra}Ik     YoD;&Նpٽv>ט&DCuRw2   VlZ'0 ۊYiskA:ޙ9ퟙ-;  VK"Z%eۈPŨ)Y!QOtIMyOjMhR@Bu!12Dك^N3[ZU.N$Z -1HGpg_.y)9O(bv" 	կ!$;WWt~>=rrs<!O@&d        FpJWߛ<["-1@0	c!"h>giQv"]''jT#k2GKӖۓ=\ų;ꬸ^oˤRs`bb> ]mu^__nx=zݒQWSm.x^`58c[~ul9~/	?yYٓzwƿlݺ,l'- } |>  @?8||i:^a,Ck6'3Ogo!'l^Vyfxoksd׵YaUmz.Ez~"%"A|e)Sֿ]\vHRθIFrGT7/|:*dEj2k"A>:T]x$*bʉC9.GJ @B; d        WDRX:`S?<~as[:"ŴjH䌜dyFyJ{SFMxNܵtzlE]FЌsSF9>pY<9?j9=yl$ABl/@p<xZmr>4r>(i犡㫾ROոkH;i' Ϥ{     lK$ 7sS;I)V(4Xj	a	7>C˿zn,nf*n>HY4/$jZ3	٣5"5PXze"T<{t?RYJBS1Y3x:< ^ġy  SÕ "=^
       +4zB\0`͙H?%1Up9[58VZI}?]=lM5ѪS`|W-=y1<.rkᐴoL%Ǟ]MxN={sVk*F]xՂf
7mNlL=1%s%̭8Z/BQ{N.btLv-Î~~T/1˲69oyV~c&LOd8y%(h_>zp8ۙoY>?  V(VsZ-[ɴm:sFjGމΨM+rwצ>
&>s}n3܆<UcIhϐCz-\SP1\YvsxGA:N 8N%7Jo=- H}"v)D6iQ        )_,Ax_q8IosirS9U=ST,g|o4/RϯOggS @z     =     !{v+M8<,E8(?I08%\qa%lT*=[Q^Q+.u>:f{Cŭu=k,aMNw0?Ỳ#I;2&Yj\ȾE1q&\G   ^Z½jg$s}桏+>W#ZFZ}z#;k	OaOr
USB:eq|cV`Y7+O!T1+e2CΘ>=KfHY*Q_}z$Ƨ;dIc	'@)Ԗ֦g+\ xBMu" qԹ\m=nP&OT.U!C        ջvu{Ǐ7;wqmd>YpfOKJr۲{^rw?g_?S;J*oZzam~6Y"Pнp9p@Vw<.Ofiȟ'P\NiCBmhNoy5UkȍOɗiZmyXUgm\ ɰp |gItF{3 Q+k9Ο/sjs^*WZtffy&vk\3[   c䌲: V4X:H?ʱxx"o独v>V⹋Su_^떗!GsΈ⚥*T$x/Nn_fػs}x1_BzK3  <t,[Ht?;4P)       Vfg5+%x/9_$k|D{]=rNMC}Qt{_s>M}o!qR
p/µF|33OLۼ|^c3u 0"06;n(̤uK`0uBdZmzq#7ꜨdG{IG9/W^]=:RUZT6!CZb'0y\2 G^1   V(
yƉQZHc~Aַ]pәt)(tpjGg𺪪o@u
wp*]\m&J%~{d2Dg{(ugo&&t$(tw-40~_L
  @ȀDY=ă         TP-)խFyN3zۃ7d'"W젽-S\;q-m9ga#-Sz
WFj~	WKЪύAYE\$"ElG<]{[q
BC:c/Gh{E`1lot9Dn}@mU:7>!9G1[
宫8ɼZnHE{~8	kR&Z.//Yt#~  ~=5 sVQM&t#sZM[I\
Da~\:N茫:*0՝
=K|+{sƞ
$͒n9S̜A[]&H9bVO7\q;qUDӁ*nF#̀ xu򾫉B%=ZD2of 4nB         ʿϹu%"wI
^0	Q@ѻd0퉬S(`5;lZtƟi]p;GvwOgp[ĶϦQ`!ÿtөe2ht4/c*=EEJV?1S9\vN+sguj+~ûV㥿bqw"cƎAè Oo+i1UXD!ӯ=t:X_2s)Tƃ38	+L:3'6L8   (uT#B~c8   )-E~Vec&j
J$UO_5]őp<&H&~l]uƼ*ZG~}u25U:ޑGuRF,ՉI͌y:~-zy,<>zD彫 FQ8
_?P @]/r<L	%vuZ{֋2tF>B       7c\o*
d7ѯW~^=wIHkHa'rK<eEl3wwusAXn
+2*wVA	;|W*`N 4tUrGvQlp?_iu}_Cs/^7M|إh	l&_+z%=>~ͧzjRT&w\ (rMkQxMvr-Cn{f Lq-2h!(5]w9  `1`T?x   VQa#{&BQ$xͪښ0-	vww`o
]EuRsiރGu:ԼtR:uyvu*GfԽ*,pLzRcg܋xA;}7Bx.y<~Fh~=ǓEfT )       r_xkiՅu--(Tk,8㡀iZVv˃r\Ѫ){{^"
:{t$őB{%>={N^'z~Nힹ;EԪ{-!ƙD7_rZpa `/C,ƾ\ɾnX'd~~vX%2\{^J  yi[P  qzO~4    >VS#{jߊ9l15̫@!}CGY>xo-cZKG7ï1zH@mzn(v~n-	ʈڭ͋y֬8_kKol.S\<h]U5}>aj*@Յ Uoӓ3 xg}-        6aF|"8ܯйY.r$WC?S*\JgrnL>ԞǵqX)]5:ڒ.W\Lpy:."c^	+LQuэF>Szϼ4u>i=	ʹ=>. "=y!u|TqVX+-/񅶦
%[/mm WJb):  iƺs<A    uyǦ5mU~UJ&Y|j	hk5u[E0\)'JLQT9k~<7X5kv!òvF6NsPZ4ͬDz3Ga<Dh[oNW5y#j|FuڣE<
eFaiݢ+I)y!ydJGJ   r@<       {)$'nG2zPv!xn_s:Ae73<CmoP`QxQm*G.\:YcpߪZ-Fl
ڽ[oibKE>20A[|TiQ2n6ܬ:јK"W;[_ :w[-o5c㧩7ğsrL']`SE~W^ZEHD/?  cQ<-'z0_@~E}t  US[VM!K·a݆NH*iiG7yPQԈ5ī/)2d5	o"9[ZgQa'rW}*vϪwl=vOSLf:8kN*$Ņω5fmjF( >BhCu
  ,OmB۾2         1H?[^K#1N77AckKZ|"3(tQ#$nOggS @     =     O<LkNwʢe	c/ )TzO0+}M3KP!4'!tW<{O`Iisg:[aK{+M鉸qOθmmk#sZ3<SPX9}d4  `>ѹè,7    E	|e=  U2pqQdXR#嘝%kd=mDJZñT|W<tZO7τZϡ䤵Gsw)JJvq&>r!%
@o&X+fW @7LCR8*#)Pg@|*  {	 3	         :=9c1ޜAwy3~!v~tK.Fb㙒Eۄa&YcfpBu]ٞ4iR_9É{.ֵ]-"v$dt2{]{ţc}?}=ǻrZj~*Q4 ؏. td   ?L}ߖklJF	}p:_ﯯNuퟹmR9&}       ~6A   @J"gUSjn

W"E/K^},Tqt:$	/Z%Ѯ}"NJ7iGQqzPQ3kdL*Ueޞ%4sϺI9]	G( 
|gp* wQ<Ww߭l{k@ 
N<_\xT       =5ǆS⳹f,w']H1Emꉃ#vbeKB~uFLN`u\wo)mgtj
.|!"M/RFUMtyi&U 
r_gBa5ޏF(u1>  h	3?hg,c܊wX(6T{cqw-ݔrJ    *Z^ǳ/x|9     {USLA ;_TJd![=+h"c8>6OF2y48Ut@Fm4?Z8;gsx`Z#'dw&=ܩvԭ=	kϠAI Q#r7uRkVCɛ:T$I+
|x#Zg1Yy56        w-pYjG|_7|#oxDާ?Z*mTo*W7Gy(B&<sxAt6h?bҨCV5^MUEUT\G)۫]ѩnsYO{-ŧ;wl<̻ˋF:?@#|=.,   zy7gIqC[*<ΦzO	Ց44uN   `ߞc   ȹϟc  Po8FUP	<UXW*HvoABI'#[44շTWw]s33ǮurE>ʝx\b,2ktS2TO\QNQ^l/S M- Ӡ
=吰NN>;6]6T (       
"WF!`+7\rW1F(<<x(y-^ޠG	hnT#igt~;ξ xWbN۹r˃#H_j8ϱ"w`Il]bSO)s7uo]^gsXk|k_]g[AxsS  $m <e  bTFeX72`1#	MtF1W  G 0b0 ^UC?+b v
S:C(='RS5_xeg*;ygesQ*/}ȱVNoJjzD?IxkFUΣ!u	G3J?8H~T&ڋiF&       @?G8QA(_;ٕ%>-Nw0Kh!V^/ߨzO&pưuoT.>9Bm|a1ޝmt5rWwfņR8꓏Tx3P'epؼ>lRu*rqr_.j~և/s$2IKd9܏Ty<~)D׉~ IZqeX\      ;77     0v~a7   Z U`su*YK5SBA:ϫ8^K-/]	szKsv8{Α<uׇRP)ŉFsckƧْt_QX k8~FRthmaZ{p=o%Njz߻YF5{'='{ynNT8<I74Un ysvOl۶m蘏mf؏gĶ><y          ͧ2lFH->k }ƾL{YF@:;t>bd㲉wN(ZQ9~"\jԾacVb\Ut~?4m>iŜjϳhCržv?7M!sڿO^;nwθ/}Rh	dDk\*|jX0p{unݕԺoJ?I/THZ+Vo1IQIm%9=A=px~:ߏU[2vpe{3
C%      SZF/	S_$Ny׻uj'}z y"Uy|r[?t8jtֳ
k+!f)*5bEeF]鬝u]CكR!:0;Sؙا\$|Ԏs0}>>WS|}9:}]T}''>7>/dzM|q<e">fz]||~*ԧT\j=}n=U#br7=Yz{M?΃ڙ#fhi2#yEAߛ#M~EYSE`?;r>:קtϵ8kݧy*2x8֩c'   9v7K6۫:-ЕI:|0WAՖ̀*ֵB~	zyCt%}6~eҞa#}%5v*~Ac"Ȼ;A9?^ޣ~;{5c76fsogLeKRE`COf;&${:һ!]zVl%{ӕAE"8	hL*6QN5Y}d!pڨ5pFEC._Rux,e_^W>;:Wiow*zҭM/wd8[닝nzd&t95đ#ZܗFrg&C7/.il!ܗs/s`L:յBe55݅/(JBsqz=RS.`KO\|gDqyٰ8i~3`)ӊf1:E<gsu[}rK@5\ջgoe9w_E<7
4s7r"m1݅r˂ߥp   S;?sPm׋]TByQŗW#cӫƼU_^75֧Sxy{_s:x}q3ŴNNN7MON7=M^z=9%%fW[tF|H   IIǹ          Lɀԯ</<ҭh"Cܻ}i~@]=Y&٘^5lnєKZp#k凧OggS       =     3H]8PjbjN·;2΃\@AaB@\R?Pla~)1   OggS               9hvorbis    @            OggS               d-vorbis   Xiph.Org libVorbis I 20070622    vorbisBCV   R!%SJcRR)cP[Gc9F!dSI{O*XJRX)ESLSIR)EcSH!S1esKI	%lMtKc1FcZJc1EcRRIs:f%d:Fb|0:B(R-[S-KiasJjc1S(АU    @BCV 
  PEQАU @  EqqG$BCV @    ((#IdYeYy/.   !I̐SI&)U99dRƘbQΐS11)N9"CHd K=b8"   A!ƐsJ!rI D9)LJ(I	-"眔NJ&RˤB+  8  X   RH)ĔbN1R)ǐR9Řr1 T1H)sN9 d*2    B!+8 $iihi(z(y陦zlyiz)k늪j˦ڶ骶ʲn۞ʶnml,ۺyꙦz麪ڲ꺲홦늪+ۦʲʶʲk麢ڮʮmʺʲ۶躶ʮ-lBT3MLuU׵mum[3M5]WEueՕu]ue[LuMWeUeYeveWE׵mU}]ue_meY}uu[eWeYe]Y}SU[7]WM}[}am]WUօUu}eu0,뾮00mëƱ뾮ܾj۾1nƱm+loq,ʾo/*˺ڲ˺.jںp̲.+ǯCնuo7v    @!+8 !c* R
!T1!cJJI!* dIJhJ(PJKRj-ZJiZj)Rlc2dI(VJi)sLJƠB*JIeIɠ9HRIPJkJJJmJi-ZIRmZ# dAɜRJIZ朔:*J)RA(%JIJ+JJRZk՘RK5ZIPJkS+5PRJiVkj-PBkK*1cmJi[)[XSK5blJ-9ZkJ-R[LXk%JiZJZJ*ZlZ5b))JlX[l5blXR1XsKՔZXK+5kn5R   @	eА @  `cAhr9)R9'%sB)eA!99B))[(%Z,    M
Y	 D  ( c*sBcAsA)cA'%B)B(  
  lДXА@  `b1 tR:)LJ'Z)eJ%ZH	2k%bFXb*   B(4d%  @c9gb9!41*ƜsBc9!9 BsBBA!RJ B)tBR
  *p  QdsBCV y  1J9'%F) [cRjbBJX1!b ZvRj-ZCJXk!b5Z{j-Zsι   E6'	*4d%  @ c9b1CJ1Ƙs)s9c9s1s9Ƙs9s9砃9sAs9!t9
  *p  QdsBCV   1RJ)RJRJ)R!RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)  
 gXI:+.4d%   9'%1tNJI%5A(sRJ)ZjRJb!Z
Vk)R()KJ2$ZK9ZjBJRkuRRIZm-Zk-bl%ZkZL[K-bKb1 np HqBCV ! 2J9眃B!R1砃B!DJ1會B!1 B1B!R: PJ	RJBRJ	!B(RJ)!J)RJ)%B(RJ)B(RJ)B(RJ)BRJ)RBRJ)RJ(!RJ)RJ	%RJ)RJ)!RJ)RJ)    #$"l4    L Q        H
h "$            OggS   %           eI&}~r}zrtz{rvxrsvxyfB9|YldjQF?93~vqFy_ p {d096 f_= ~V/_3<>x]}=]ڗ]nQQ{([m/|Ub݉QގN!QIy!<vdmOx{BC\|at0PÆNH¥Nx<rɱK,s40cXLXvamOv`9d{rUl_6W=Ko8YsxxKAocد>kf|x>}]QvG . 0+7Vl|qv~~fc\?9|rn<`̘q|/ugzJZ	 V066^Bkw1e  &` Tp  ͣ/? p[8992NN>b|2@) P\{R.8 rFrI&@"gYr{+Fkw  s:l Kc 8Y?>!㫯#c=|1>9=;|yСC;<7|fgoo[v'( ;+)8҇<1JkL+Ɩ"5 բKh=J [VrQNl`Gۓ+6 <mgT}}mgcY0 :X§(#Bk6ԃq:?Z o0Cmsm& љ鵏`Gǹt¥×XXف×N`r[o{;= @xPc }:J̇/BC{|V)U-i/ƛ, |w6fհ\rbNY[a|rrr!W;0& R!CO|@`r[f}fFC*]{.oZ 9lH^
 @ϻ搯W_+6-'v;ع<jkckcˍ |ݷ}?y	   + .OOBU;B cSP-	9z.̓~sȫ6\\^t	vúN,z_p.Wf63+J%H0`D h4.	Fkr~Ϫ^&&0`3A  }}>:vvÚiN氾~dv66bÛvhˉ [SpQFk/y=ģbn 4"[) L N:<m>p8z.sdbkôż0>\7,'jk.k7{njdBkO]]P`]C ~=l	{Wlny0[e%ssm'ɑ.ϿkN11  On*pxCks˖Bk7  n/ÀFnA&  p'OOY9|r͞K/[Zv.p#ܿcco~[8 Q@T($g20z>~B3!=Yw :0.+}<N0Xm{_R>  feZXχo^}|+^\:ĥK;%+kkW?@Uو>ԡxlw,ॄ>kW뒾ጞ&W"З+bo8ݶ< 'pKV,'?}Yw'rhǯ]~6Ls;n89	 LAx	J%(%`u FkΩ2 7\aQgk zjmcy^:}rMð;]%pxlkoo8   <64<wpC3l:- Rk֕ DՁe%n	~YXovXwvd|b_} X `Q`Yo1%g wA B˓*.<MӿѮ<\zBU8rxWm_a,]>|jpɊЎ';`bX[Zmmx;  &eE33aFK=|.eO[(t`  tɠVuz_\:j}ayeˇٱZ.[>[m_<fo     vYE<$p	p8BJx&?6j@@0,#G"H9ݾ;`ʫ\ڱX.Xv,˟_Ćo?;y2X  \+B5>CxM Kbc_v_gׯ{a3 9^vm+<^;ckñK;߇>Xw,'<6# |7opKv4u#A: jC   4؉Zjqtm63ovAN,K<d}zc+ <r677W_7`V    {^2Ӫ4$z_ %E@܊N 8Nc=      
-|cWo `  ѽ7&z c@xp p:k׵SLlmw           YDS9z RC2  T%?[W_}|Uv.Xe6ھ
G|W_}G  gf?w2O|ddTLK	 ,=z_v  .`ɏO@tʑz    	    `A pLL  +   1gifvvs?  < .@ƜeZn7DO  lk=wo         儓8#pʗoa|ov= `K~9 v ^2TzQ,9(ٷ}|͋vx      0زٱ&   >   ጶnt dQ%khP&Jm6騽?Ƚ``XX&       c    6 }e oYj  6+ <JI?  zݸya     "  
    ]   	  qaz_ @Y  Z ֯a>xc            8y#7  1;܏k{z_ Ɉf6 
~յ~ش      ,{  R_TTz2 !R  o< m`ro_a  P     N    ~e `i +
  @8;Қa     :       	:qF >I=~L'ۡ 3	`aitU @(-76/_!ۚξɡC\ 7hvo}cc R(Ȩh+-xw BUS:GPw@ (  4C76\~67rckXollx|nr^X9|ry||W`mk@h(dwU?&K>kGy,ĢnˢW  @;fP\}|U^ؼzre.czŉ7_{`    pK ]OggS   R           h-|l@EHR];EwR[(q~xk49A2m?bf:C{F=}Agelkbitbrr>k>տr.rg0J)Mb?ڤD& H 02~2~wW<zermyqؾ
 6|߀ϷWۃݛ=<6 ;` VJ8
ݡزqzRo.`vvܞɀn voo_=|a;  % e   8  x| p fw3r W .(Q`"       `      g] r1vD@ <  tGO꯿        =l    Э_e:Bɐ6(?.>>F/ 6rrfK мW_bsc}WxU}A# |f_xn 5XDdzXkv2 0r=Sx "`>N} 	    V, 7  }|O 	ɇ̳xr2 x)VfP^tum8ϭo^< 0  ;<p- ?  N]{Nv `@E}«(AQrXVLoc]_|L  [:  =  zx7 C
p@` 7`{؃ 8  t\[Wv $ @R  q>+k     !         <ȰhNz_ `( $rd2 Y-t     L   0   l ;  hkfUMR9 ,!}(ł.ס/[Z,_Uڍus? ?   l   l+y
{l^y  K	kΚQ1 7eϾz	r( Hxp8&>ֶ޺R z е).5      + P(6 @       p^(Nv#ڔ `2 <äU =?A~d `    n          `L `v|ps @۹rcp @2  `{kS    @}5f}>
  FomْڶdRf}u  0_>-)g޵W7v} <bvo{;`dga (СbE.Pj<w1K6ej :ʓYjT{Dwk++4)
+&@G F5fwZ' r
 ` Gݹlcc'<> (BfL4^>ȓT  J  sMl!  PF?7}WW~}ݛo `o66/yݛ_  V@CB$kFmU" sly%SrN^?(t0 nԲAxa.< KV7f֫V㫶6#};|Û= o 7<~5|VnxІL[ Ɔh )n5sv#4sPulFy hp`dZ0 0P  ߀= \=r0	   XGo7 x I4\`7o~ @IFA 	 %|>          ѭ׾Ѕr( #	 +`1 @6;.шm &   |÷7(7  
WNjz g   y^tO}
   p   & =| % xO7:CvIQ     `  p  P7{S]r
 % NUEE @'e,s;J JqwrU^my<j\9坝<
_}myk\[f& q44k>}L|Q L 2e g{qjF YY``yH˧qrKohv80wP  Xo  x~  q 
 u񔓗 ;p v  9}n<vS
C7 Ah  5_5  }     l7o    fM1jçR +OyI$-@8s9?Ml   3xsg    XX  @ Q )['  m' vI 4p!m4֬Wcs0i7  6߽  ;ɁťGl_[ xo {;{mn 9Ƙl~Ӑ  4X Sw        `of   w2_U(Y vim`L `;+[ ` l  
  = X-'  5.x9bʓ:e  ~&D	No ,Ej ȘxCW7;v0 0  sAܱXm[,N< v6؂JʫF7) 16mjkrQ (A	 id     t     `      \~i]zT2 +x
 tk 1s~  pg̓    `e'%
^U=*a,XP5 '6\i~ nl;<,CVNNvv,X/x7^GADiAu2 |Kvl ( 
7 zr<_l       X`  y;;lx yRzUQ < mҷ,|lN/  _pc    H   0ˏ76 ߼g } 7-6 E;LO]ij뿩 $+xx {[t
 h @@ bg6  ;   
9dh7Wvvc   `  \2kdQ!FU͵[.׾s*MAK't7ͣWmm?G,eÚzϗ/_ٱy o  L< )NN>۱W<>U3ŗ5fe@ Vjf6Wmx_>|˖KXlmy77 ?T+Pٳ*>̓\;?>0X,a)6 0)U[K_}c7[ܼjʣ-;{  x56WJ˓2Lj9  o{?+;~h7pAyWotЉzr#77 'Ad RHk87vrUM=Q ,x>)07{e\ȷ5 zǣdbo;  N8;   ٿzo>xc|{ް7x
;;ހ {xCp2  SWɞ?3r+u $9xK2M ~6j-q?BKi |-L &(  R    nxu΃_=z¡V     >{'AQkvQ6o+g[oX61 [6k5+o P ;S  \bmyU[yU[Ǉ{ ~{  ޾? 9nΓe  Sab@^:xܷzp>+p/_yǛ,6<xs6|O{k  cp_>p0  2̟`9OggS   u           ioB#duqvlq|qzzoruzlwzuuolwvuxzqn|nΓ` `;  xC(K Z__a  q      [Wnؿf rjS,  < _bQfw Ƭ(}nƣjhʫ v+>[ 0 `!w p 8yGހox{{;G`T!智0 O22Nk2  D 3CүϗN{lkn՗Xv\}lagҡ_yKoP;;`[&x gʜ}.h}S"-ޝ>Uc.+. 6z!c`kKgoGvvoc -oW^el{7v 1z~gsBʓסi&h{mv  o6Xm-n+7<prr%e[+ 
(ɧXZFdon[7 Y^F ⬜įmm7߾~?;;7 n}x{^y`7`       
rfLvГ R ?}dPz.  Y0m`2\@  :   ~慭2'Y7ea G( `7u&M~'zYOa/qr\(68M7   0wCA/7;
x+o7 {o ;7;oGG[ &2$FC2  $@  vrTjoͫ7_ZxWrÿ}_g=of77_=۽۽۽ <eiFky0yʘ\b.* 0n˲¦2  V'v}ߞG[n^qG[~  tv}ogݍp RrC	A7Fk7o=@^oŤtKjpS' 0zެ76͍-G7<\X;zǣ_>ڞ  PS;ԍ04BX Fk0\1 >ڡj mܪm[&`u*%2ܮ<h'/Y9rjtY:׽o<    (%C"@؇)FkP3/'`(@C./t`mƌ6ZˡK\n76\76;|'wvN<\y|7 `A2 xA"@oiBk=@MJ7! Oʛ[9_aqb-ؿٿa_xO2d| d~3{ >UǄ|V^ZV Т(H^O+Wmo/_0Ӱ~[6|mmm{  ~҇B;BkPx&WtB):7`p; w`k۫۹Wlot'w,-.\X/ߜ?=vv= @ qii\oBk0tmޣ޼50k@@[<
<grN^ziAnx?l  P   )  {rBk7y]>;~P'`L  iyt{~ޞ|66hVa''-Ay  AQx-7-8?ΐ>?eKz~1aDmV暵 $ nW[8b N_^Y/[_6w+7ky,l 8x
tlڬg>>Iy۝ng;#$0F+X$\E@ ?kUWy؜X-mo|}ʵCoy|||mbh0  YBr	ʟ(ZJBU'U|ߟlti^W 5E, `%ќ<MXw9s4us1a}rWmmƎ7 +É@)`?	S-ͻ㗞RUG+  F dkm$ 'U1{zUml/>õ``0,b.X_Ɏp~{ 0!   W3\z]d f[0^|{\yYª
0 I -?lw#N[8yt;X>L7^2,'XÇ\:uzsĺs+Z8NwO?!'d$O2$SƏ?e>FUͻ|_'V}5Udǲ< zW<>\a-\{ˇvN]>dc v|+C܀-_ۿ}  x<n%=:2F?Nk=P>w3K@&
2m P땪<|>*6 *\ylmm=ho_gf;;V0 E_T绐#"FkvSN~RhxN @*fi֫'/mnlNN߉91{X,͍e'˕Ww^yA{7  C**A YE]<0c}@8CrBkp(~&9!
  Cٻ1-X^\yUu/mmn^OyC HʼT]'2(G? CI̟ V+ JkOqxO+~_~TzuKv&2 w_M'Go_zl~tĂGmx?l  )g`.pxFk J_ ˎ>J^#%6Z>/m7b7<p`ՆGy}|7gݫ<a L   	hyBk  etq+ S̫}|=?}ɃZ^Ήr77/m7~GvN`Q    ܡ;-	O/JPl Ff<v}'Fk/(9?p<m?
rw, 55tKٻc{+ؾ`ЎugС+V+'v8ʑm^M >)R'>\>Jz<@ko_^DTKkh˗ a|6Gy>,N9~`݁K>W^y      @wprΞG|BC(wRݠ9X
nBjoU|۫6Vٹtg87M,pΧKX-;pÃ|7c#IÀxհL㶿ܾr@ ;R)B>r7 >U*} XVlqꃶ-ߖ˖K'[ x{;_}v|&
iMLOO
8~Fǐ3OL|f( D空pwGWmN=r%+\};tbXv_25[wv'[pqlm{A0$,j=<? HHqgOggS w           *4F?|*k7V9 il"!H0T<͂a=g|? ;m׿[[9y|alӽ_)ZK,&R硯W{*oFp +e(Qa]L  !5ߙopm7ܨۗ}ǃO:k;iEO_lɷ*}桼nP{=ds~>+QV=gKHLMp{J. %h  l_Po=(:^CiWOggS         {      έ8vorbis    D             OggS          {     -vorbis   Xiph.Org libVorbis I 20070622    vorbis!BCV   cT)FRJs1FbJBHsS9לk SP)RRic)RKI%t:'c[I֘kARL)ĔRBS)ŔRJB%t:SJ(AsctJ$dLBH)JSNBH5R)sRRjA B АU   @
 P   2  ((#9cI
     pIɱ$K,KDQU}6UUu]u]u 4d   @H dY     F(BCV    b(9&|sf9h*tp"In*s9's8srf1h&sf)h&sAks9qFsAj6s9j.s"Im.s9s9sspN8sZnBs>{sB8s9s9sАU    A6q HEiȤݣ$hr
GR TI) 4d    !RH!RH!R!b)
*2,2,2밳:0CKMXckZiJ)RJ)Y   dAF!R!r)BCV      <sDGtDGtDGtDGtDs<GDIDILLOUՕ][emavuuׅaYeYeYeYeYeYАU    B!RH!c1砓PB 4d       Qq$Gr$ɒ,I4K<<MDQMTEWtEݴEٔMtMtUY]Ymm_m}}}}uY H  HHH8$!     (8H$IIYfjgz!  @       ())9#JeZj(뺮뺮뺮뺮뺮뺮뺮뺮뺮뺮뺮.
   БɑIIBCV 2   pǐɱ,K<<MDOLO]BCV        0$R,Gs4ITKTMTKUOUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU5M4M 4d%   :K-+VhdsSNbbAAuBi1X1X3!+ $      i&&        i""                                                                    )(      &h       " " *                                                                    ((      &(       & * &                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           А@ q,  I,  p$K  4Q  KD                                                                @   @	eА @ A1<`Y h@ <(     6hJ,PhJ  
 (eYM4Qi(B4Oi&E3Mx&LSMi
  (p  ASbqBCV ! G,O<ETUh牢(i*4DQM4Uy(
M<QETUU牢(iDQM4Uu!h@M4UUU]i,Q4MTUוe`뺲PMUUUוe뺮,TUu]וeຮʲl \ueٶ  8  A'Ua	BCV Q  1L)aLB(!4I)LJJTAH%R*TJFR RR*TJ*   А @  AR1ƜR)ƜsNJc9'd1眓R2ƘsI)s9礔9sRJs9)9眔RJsNJ)s9'    F	F
Y	  ǲ4M<O5I4<Q4MM4<OMy(i*<QETU+idYE4UUua0MQTUu]Ȳi2l4Uueʮ,UUוe 	 @6pR4XhJ    !BJ)R)  0  `B(4dE '   $NJ%RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RI)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)
 Ѝp }0 H  Q1V!ĘsZkB1$bϘsJi-1 ZII{*RK1K)%b콧B-{1[^cJcc{1Vk `68 @$ذ:IX`!+  c9sNJsA!J)c9!B)%c9!PB(d9 PB(9B	1 B	R: B(TJ)B(!RJI)BPR))B!PBJ%B!JHR!BR
%B(J)JTR*B%JJ)TJ(!R   @tQe6p(4d%   rZ[CZrAJ)d1ƤBbK{Ϲ    0
b @"3DBa,0(y  ! $&(.. tqׁ P@N7<':     x  @(f#CcD        	""
  @     @         OggS  @f      {     9,#}!5vua9;?O
q}715߽zȥ@ɡ	
X@2Mj8q[`|^NZL|~/:04#WA"vb8Oz cl|UlUKkeq<Q2J&R<*!4p픚$kkS5?<i%tJKLG-jP`^rw1rSȅ/qP4ad]yZ͉F"i
 Vzj'0(54RJs%5_IwJkM&-Mh v;I^;o<q*XW7iNFoa@KJ`v"H( >E9
#	wWW`<1j찎37eOaYlvԜ-6=R*IEp.Ȣbm涛?d?%,B5ٟVmN$do
TbBU
xؖ%U#+] %ϷFpA.4؂%ŲRcdaRN+aތRفjcu]GI5;މp ^K~aMՁ)?W[gy=h԰/<J4$㇥EV*uPxo.hX)]W`UmșA.vP4>ٶ[!RǏ Hd"шbH(ĪL}Nv=L2l*P÷%J7RQ	gӋŭB˟o%42gqk{z7\yuKLxcoP|u˨#a5ڣF?E]BzP >%폻ySB7RpuĜm©XN#,XA ܉_Foy4G&4gzϼN-=~lau~<ђcRZ"jKԋfʗK)th >ȅie08-S*@fFLj%6Oΰily1kɸf+qh&B7T:$u6[w6^пۺ_g4қ	wXHR`"w]$	Us!^>`K? +fDbj.v6A̝е,Mǌ_v*Ҋ\q	|FT*
X ]lwE ~YZǱz=>f5lٯar*xJFze )yH+>%K~hf֯Ns	[OG
I<ŴD'Ϛ76M؝{PTN4~睬W,WI>xx̿J3LSxB\qu5?kPr͍<rfuQgc IU1%
^%՟{$ s  u.8EdǦFd#NL9ԸH_JG䁚}`7@icϦMŮ;Wk돰}P8HcDfC-]]I-j)?ۿj&ʵ(EI i"z\E$-xA`]||$
!KD$l`LL,B4MOwVxmجnӾ۳&v:Z	hTG]BE߷WC؎]}acR7dĴzYj^(zs>۶DnZ	VilMaX<X[|S<i%'Gag@4_<6,Sx=,:p-}y::y>w<;N+TOw1RJ,xfJ*P AXd ^%}8B$qnOGNnTdN9$y1yfJӋjD/ݸFrrj+$D1)&tjs+3i<}ǚ	i{u:^%%hhW?$L4FdTK1`YU/waݾB.oND86}WSHH 4c)#"IHҘrj*s"w|!Swo_esc0`]0[_7j1A5өbbJ2R$+EiepT" Eep/λzJhq\>yd `hʘrzϻM18MGc՘jjM,D'A{CsOǆigzMNq^ZBJ#nU6U11H8 %+$hrSdp#2%26Yz6
F}#+v',9ي鐑}̛)3TmNr@\_JIFVo:awXeex$,bIl_MI\wb:AmU!|1IeTdE h9HQD^Uo	 <@F0ɾЧ4UC +Zf
,G!KG9vҧ]j^;=;F_nW'-UZnmh<O{|_{C8CJW87[pP|(48\:2GR*^ȵ3
Pȵ/e09Z!Qnl/ߘo(0c1~pGH"m^8
|7tkgx{Q{:PnaS}9+E7	A&CBxE+,sUA!!X	^ȵ=PB< $pRBtAsXhF6ĊIJgͷ9gȫR*zy.k|o$'zd&wu԰e#/|gp0j[tqVu#%X ǵ_!R \m*p1H%gfҘO4r9n:gQȘ|8K!He`JJ+P	`XslGoWfwב~%k8^1|(C*^մuT@BBG@\?I `h&*F,CO,:nteݍ>5(yjY3z3FFF)ƿn.l1q_"TG1)1ű{Ũ*͒E&uLTf)1zbPE4 [9~U2T\a]eJB,+iIn˜Ҥtp?B-p4'qRR "1䍃klzkzƒ*	$Jy1z{>A#?@9*X%in"S IYіX"TIX2n^M~A^PrL_W@	Y>iF@6LwO9Y2XpR,.rDpcr- X7FֱH/"5|t˫yGcNxkqm+J`UIVQY*e0LKK~%)r@/+1铝D0AdA/MQS:2ܪb|RH۸bb19`s
ATPXEp9NVv9sʄ kqWCSW
~]ՊU
ɍvb>I\U
'8q-R/H,<ڥUkO9iX^e[FcC(j82"7טRFְiTD	5Iqknk.شlNIVL10NhXczGRvc%kH%O	&Xr&9q+>HFrfx8q!Fs#{j>J9>Vx+*k_U"SjAFv	rxVku^k6vLq$ Y80@ "OggS  @      {     ~\~;$͐2\J| eXKI͔Q|Q_g
2҉Er"32YL$&1
4%j͚M x׎b|{[S{|q1!@DZxuPZ"XW
k H$SL%d  7PI+$Q&j-1$)sl`%Cd^ORɡ)',^^<[d]) rYd}UMޕJSՎ	3e79
&E7Պu@HӒa
+0D	>%	aF.f Nce?y]RM!gz'dkݜ$cfVZ8sg
Q^JI1eQZT4MVi"1ו)GV*"q]biнaMgܜ0%ՏG	r9}W`d Z4X)#ځL!/,?O,ES zap^0nV1'idڄ=_Yu7!'Sp,Tf*X6CXPUeKX0-1 U-	i\~>P@
>ȃ@)x5ix:L"@(p2U[f7@a 5	q?hBT#B9-$.X\[x$K5ųu{9}e2Ȗ5K5Tc(1h%捰jt<W,̨ %sxhxb>XG6#kA&.;LC$tV>aFtTDOܕBf2?KDzpT]UFdoW;ȷR$i$6,%FGgh,EY#, s|0A.	>7 /`Pad(Ӕc۟<[<(-qXRL{~_j:~[sT{lX&%|Z' ?Cj4ύwWMC܆
]\$aU]RU*h+^EJ_l \@b\0=vƅ͕?ECGҙ,|,S&:Hy&4BtJdbkx,@Bc*sǏZ 09aˣCi c"x%%ga% ZcktT^%ݾ	@ 羯M iK6}$Db6ia0&%23;XVo<!H"Vpڱө4h^p[Բ"p_é >_N_1M1*KwVt4ۿ\J2-YR^%A.h u.OH0Sʙϱ$W΅.1=&o\mSHzǔN|VΨt)ƕ 7AJЮխoRlkW&[7iu)Bw3&c-qeXXćD>E瓾@@.>0A@	̪ Ovvɦg3FiZҥ2Ev0a:9n4̖te}!
C~ac7hg?`FfF߾pۮ.aEEeI@0 ^ɟ3?*y=i(%no2`0:..jmƎ2%N(^Jvͅu73cCl	+=/{;͑?,	jZDzYU?f .1H5x. >%vy(B.A׵hqZ_t2b64ap|lXcĠ4^6Qp2.*Ms,`ުF( OE!au~ِ~oO'o1U/F4j?<42-]eO@f מāB. Ө2.μwz,'72&pɣ	E:j$XVzȮu5H_OD)~yG&f[\NIҭ%Դ+#\YU%`FFOj*2.p @]>%=}	r9B;]TrӨ
)e*h#N7y1^xmQRJ̪Vt(8!:1Sk}
&{";?sFbOmJijMJ,Z6
"7

%Xwq7ք^`X>U=0@E~]×@8,@,IVز˩q3'sBbih 81y{s+~1fZs?qX|/qa_0}ga}^Pҍ.5LU4Jz%FaHW>ו?m?JI58slz:;Z3D,ZBjq,wRcC&G|Qt1:Ccx4|2R)) Jt#WI.%Yv	}k=^y1RmNq nբ9Qre%*ryg	hPT2OG0[zjH"o[#!wpiU'ʱ*GХg	wWG|>M ~`u|0&v3L=D}XqZRFDsTҺI2{ϱV@!& ǵԏd_h?{ pҌIrwKGZhsF!:J܈)SJ<vch6UlCU0ef̘s3;M1I5Xn7R%:@>嬏<I!fo@ 4?D)lȗmˉ@9rfq~ݾgoQJM4FxS6L-UG xve22;51_UP+D(oEQ*0vUWSXtމ /,k$qiYs;hfNd[;ӹcB|b2v6U@$!Yj Thj7q.ο>S ~VvƆc fUj )Ue(Պ.v("2 ^+ۧ@4kw.Y3ӡ$cBcYK︩Ay1;HtXF%撚>,x)`Ifv8 aʹ^_X[CUdK *Q5³3]ˍaHb!<'^%nU3 #?|O 鐵B^z%fK,.ʙgۼed:٩e[M*jHCdIDf9{TA`&EAg~Z"25 5$b;亩rɡ;uߨ%v*ʹeڎZMJ%1J"`("#W^mer-CgFh&p+H;e;Aa {fcNO7(OM',c2N(C9U(88w:ym=kǼX}܋A<ݸ-ގo֛B15mB뒷
ʥ:ZЕD| ^UOMP'rN-@?MNôʓ(,$e,Ih0:~z\DQrc~۴Sj	"MEbs\￹izЪu]<)C߲"zzD@">UO,:_甸uX)>W?B)?UF^LxϷeDc7#ѧ~u 6Pc7"@i tn #3ҭTӅ+
T@eTDZ/FnX}ꕢ%OggS  @:     {     b~Uǵï]>a@|7A,CX ; rŐ+.@4ĲGk`Zy
BYI9E4WzZLIXG칏T
%m#DSqavu}wnƻ F]qfa%Em߄jA#,\e >Uϑ?	)ED.>ID2.,F6`N!Ɲrrdir:.r#5:'{j4P-k;=ƹ6vk?mdܵi嚧eH+
Q I%H*^U?6<FAmGb
ϑ؋r`6linbWyl#o즴B"]ʄW KilsǱsqܰgA
wMۃ6_K|IyÝgkqbZTƠ^UݼF
r-_ )`9@aUS|(,iL)v0Isd1֍1SDTq"\ed_l;vn
"T <i?V%FA5lSs;MݴƦK-ҫ[C`".!1(P>U=@!R@TUCA8%YFi4v$gQD+x5M!f7F%U5݀,.I2Sr8(٧dmoiݭ[8fFI0~"AjXQ%X >U폕 Z9~ x׳@G8^*YŨ뜅&QAV|r{<_DE[
cRv"@mCY`=4ʤ4{_=\+j6/[,c(T\LD:$E.5 ^}A-*o| 6a;FH% scTFagGf=Ors0r:<b|5I*qnI|P绵T3gZڍ!V\pAY0^>傏=;@!S$ .]P7ӯbRC1dvF#67]52~.0aJA
9$Tr\1
cgpqcO9ƍnX?_oRse&;)@z+ޥ~ΕBY\U^%iWv
HpqH@-xD-RhLc1q̜%IF6b:oR#/c FhFv&E:5油{IX[oF2ŉJH
#hhV꼺IW5٤h jPG*@B>%/	 @!S$7nTfWn[#G R܈	@McTv@3(IHl_vkO++Vv%Ɛ5JJy$QxuSdpخe33+|L,עJH,ѭ$Z E'6^>%'qFic<;>NT:ݥ:|B'icnp)X2|e&-u=vh~ӈ!鱓>O=F1a>vF5-%ceGi!|aQ~K2̓ԓ܏׋r}C"%=6^i#ϿyPZXn KU Ӂ49MeFvpS]`6aFD4>SnEvk	vѣo/%2ضMfGw=]|MjH5wc,FH
kA +Ra4}$a >ȅ>R(Rȅ$E\01&'ʁ[fThfLSB$Ɍ&Z=i׭#L) yU!z9I/Ֆ{s]xy6ʲev,j&{eW;f*j
>ȅI{b\};@6 ;HΆRi>lQX.;^ژcfdwÌ̓
y{>^?Cc`WEڌ1n1eBe.OOQLe^_#J2c{2sטsđ9p-wAF^%٧[#r	%	8	d&'5%4162`RYhf?q/Nv^;"(hPCzיMjj)ldWO?rS<PV{W ,v2`'%H7뎂EEB%ϻy=%}ife ΚZVEQzK. Jhtgd{OFqlnfwp*j@+p9X%.3=8qV:~R}RTr%(qԟ$ a<C<6UVl&)"	^%_+[ \6w`%5`)5GRcDXCDfG9	F`<\|..j::D-Be9Q7<"OJDy mcÚ2ָ⨊.\@rxDgK!* F"
 	BrynhK 䫟~
"I&<bD6gO1=lZJUCOӸF岾jImaD${rSͳ2lvSO۞5bg1>I
Q`a\;cЎc-@\/ёZo]	& C ;OLD6$Ұ˅=>H1V)(n|	u,nAäZQ\%jYDL|"1riiS1PrI9E.«XxT)>ȵG	r ɴϧ)L3ED:k3G9iNcDn̿R yYơ?bVFz/bc:D鏽veVnwP55U0,ZEX9~U3 i&/F+cW_|AAMeǪ pXvdo.$sySa Uq8ҟ<|۳~P9/{WAc0O qLzSt㔱Z#]Ht)Euy5HUU,lC+PK\
>ȵ3 &!52.SSFb܉f 3RMΉY9mD
{<E0SA!/ku:ժ5I%^I[em-<r(/jp-(@*@̍h@a%IDD,?2
rm# N%s%ǁ2lBY ;4;aLl32Jpf 'U5WtDv3qߤ(%OUX'L{\qƫNcro2$Ĺ{%R)Y,
T^+	i
 C3.h\$!]nqc9Gi<1Iϵ(rEHjI #^3J#yN+̓RβxvkvLPpp!L72UJ.3 %ՐL1a*!Z!E[~U_zKrU>Dc]e\E *EbrV8 )glᬙܳVo!.W-buvaA \^ci{pˑq^0HАV%wn5f[:Ct#(5 UϓD]4?aaT)Qe-4OE)&7<!֐bŦ]팺[kcO)=kqYQh۰Hٶ,!<nDc((6Gr_Eb[Y" ~嬟G|(o-z օ	:ف.Jr"3.#Fc1%Wąʙ7SvWeG`z׿ώ)2)b	ihf3=tt.xaVvxmw)q+{_Zբ2j*3eYrOggS  @     {     S(>U:%	Nr L}Q8BӅϡThƀZ;I'FFQT.&I
$lCSAߗOd,ӽ,׋`q"Lu3cv\>=R}Kq02+K[T%"eETp/>U/ k))?pC6-?pSET֓SMT).fi]GB,7óL&
?m?MftEE=g>SdK=G89̍N!ьŅYXWJU^U%L4@!W~ҟANR|a1TdLdfcNqˊfkHDhƵMP *N^O	S) 19Wl>x;z,TV5my^J2щeGj2eD$	Eb_U	\u  \ ܵ2̋HɅ\,ij}r*VJ(0ұ|";
|fN<?
jF_o-d4Ƹc18F9Xq^%=:r97vU/q" $EW.*M( RpܱAV@쫉 S&*04~b?tC&̺km!xQ~e:vdSzY8<ֈuڣJ๹xpC]4@Ed&ݕ* U/]`A}c)NW#^P.BIA H%9l2tH$h)l^;q4PX0Y߳ǧI"[B!6GbDʓRA*""%snE]U_H7B 7.XZvq(!4[P;d{ribX"əL"	Uq(|/yR#a?_i8P]s,}j+OYav[u7o@$,nܤpǏE5@jBU_k[p`[8O6GQr="N`jf5I,3\N#?roM}_:Xe4K~,R&iF%,]ΔК<qt3n+0,l^XΨ!׍DWIY	ǵo!aL9?zp+VUbʜLOP2&	7nƄl1YrAe!Ƙ\ve-x=$PZF,LɄӺ'xF/çÑ;:*1.(WFUH>%2_.|ryוNGC.Ƀ]4Nfp0F3A6gjPlx.T`،_k%}`͝]XRapvC"ϰՃ{oLfV>b3N<Bq+USPdz*D!M$|	>Us0r-{0#VcD椤LŇfDv4=_&_$I'?I2",:s1lHYNX =%N m>?|^LiT^?cJz`%#PwLV#8O	
 /9w>U_O0ȵ fw7HD!R8x4yJi*n˖	Mȗ9б48BZc>2WR0*n(omt52Ծ/FhnKc<62v^PQq6v]C>?rL$ry7{+)Hq36Qɹ*TXilrۉXsWv ?De"S`&2UMIJ
@Cba.t=Im~hW>Ҭ|"-K"RA*tc@ ^O-Lti \^ڹd䣁Eai0)ɸyβ蔸&s
EP-R^̞`I߾hQ>xKa13rLc[_s5^Y4	Er¢n_	6$IxMI2`K^Uo(\y/@+"۶fz9gHeH2]w1!t.82c~z>:zzł<Ly>5ӊfzͭ{j.]7ޚ*n`ďXi;beP	X4A+Z
D(U+βUA#d2aT$r"Kd$ڞi_}~wv8ּ
i1#,b=N7~+ض֟Iuo{*QɠE"5l@%p	 >ȵK9*ϛ'y||X #sx $g㵪xSP$i~60p.$ sL{<_L	?. B3ñA(͗cһͳF1WۿF=1^:]DK
"Z"#.WC^U܁hB|_I(Zӓ{N	IQHJ?nz_bKHiBcl]imI,]4`I]ʼ )`cKrt\m-I	^]p ̬}L͒pL>?#7<}O Ζ` 	58!:C2FXT ^_gưCMSYpu4	"h0n$KNXcI]03\&(crkq#j|⚃mS{aW54OۧЎi·d20Pj'"9	rYAEjIy\P[`^像<UnHA~]Kr+ʸ`9E|=9<f=9O|kFc$PX,,ynt"تDvi:oQk`w$	ϱXȸAQ8Srխb}Lc	f~ȵ_w$H Pu	2֝dX8&
))!m4|4vQK0=fNG7$ŐN?cGf>KOMLa!JdZI1&i+ėFd Eƴ_$RE!uu>ݾ	rC @$#e?0̩;F&2MǴtո7c~cݠi15-׊ l}2_v"u7tӪVq])鮭ܙvWZU݆W. >ȵ2z,0Pfk۟Z ".5F3lAHxҚFGcS|R&6}q޺۬:Hd94+&Egc?E˽sܴo+N"Znx_PXrq:ݚYFI㊕a0%j)j*izf䬋~ ^ȵ]5FBn}=Hض]([O VjrwHa|iLYjGIˤ'>)TՊTzL&8:^oxmHgn͙*j8<EϸA1	 <F!'VB+qdGI>tAUX嬏S|qfk+
>gO	9pAf%] ##˪4l,Io$mh$KNlOܬmLAubu$Xo~-rRo)
gv12DRVRK3B ~ȵ/mz4P`k)?g(=$
!E09j10L#_f2~AsGRPP5ِ8qs߮S!c `;m"ԛ+xn˸p<Ո=(^sK8Xתn)S,4@aQ\ OggS  @
     {     9U_KX)R_G`cXh%RpyǛ*>|c&s䶑d3195( ~mQFsg%!^NTKFǴ=v-KAk#ZC@}e75RJ%4WF/`VTKRcWq'Q >{%O+CX	d&?,6)DZDDGnh5bDhGvBͲkSԉGҩtCݘokկيaJP{ɇAiBH2\w]i|.k^vnq^像=XRUg pZW?̘hc%yM^;0rrsbr[8!^qj?#D.m`X5 ϭ=ry(eڿzL0ʿQ+xCQuP>7nzA ~ȵ	AnF3n BR׈\X8ji[RP1Yӡ0x7Q7׍tNn'D*#sӷ1yC(SaןZ86!Z%=Hx]HĘA\ d,%hr[W KXײjc:CrNU{dtdޤ4mcOWL}ҁ`g?} JA8A^ϖOViapsmvb݀$ˍukCYQ8Y~U&PȵO]Ұe0RDN]E9E~s1p6Ⱦl'Ҟ,W6lzǘhH1~yF;5;5mT'=}}ӵW.W䅴.½ B	Q.>UՏ!?M HdLq3.s|:4u1=S%'"	1ph6LәV}-f	ר`$e6W;.WkCr_5RXnR7@^,gf{6kE,h^ȵկs0Bn|?HVɤIǦ=e:u`Ƕ䙺4Vцh6zS(@rָ̦B>+|Խs*~ f%*ƿ G9KkR&F^LYς(xbV=G-[,
qDږŒ 2G*=D^o9pCX@B/"1ez.Neè@4>L<U$G*wl#Bם̷e5YAz	e֞m.*tS$9_R4ܛR2xǨ[8ZI\Q)畸]^ȵwڋ>"@{{3QqCʳ*5WI
0u/ڹβ.yE-4*d5tiF2?Lhn|/P$RS̘ͦ|	Ws9INdI#_:ߨq1SCrtZ"oj*2PGifQEu`<e},Z
!}It(XGʚ"A$3RisdҴKnO$7FrS;FN4rR:b>-ޯRbDū_Zk]}">CS.SG('4-McfKwEȵeƂrK + ^m(U6.hrPTCI:)c.,U.t~XEs1M@4V#h9
GBrlf<9)!mV`qo O *UH	1HD	¯|r\fo]L
^zLG"e˗4bfxylFf0Qg)(rzxt<87:8Qڮ
J!`_#Y=@b Gw9ݣgkְNmm~0mAPVH".xLVY~_c`6 }°pt)MZM{)Stbdh:ntL[J0/v)o'r4aͱbAݩ)u埙qﾬ>	CUuh7(1 _:3,\<K{41gE (F*,!GX[:o:B!CiZckDZ=fG<iF*Ж,_纯K_[Ͼmp5l|f5C6iAڢJU-AsBMn^ͫ\
rԿ7 f%`6(/F;˚N32"NH!tFǶ5voMJF-h-u4mzb{77p	ev?K勵)a^ rxG0be_H~g%q".~/!7g#E\*QwQpRswie,/L3-udnP.IL	A%96~S=Ʀ;sjk<>g0ZLroLrorsG|=ܕBᾇXu}u%DJ.y9)۹L`%#_-H!\[WN bhJVLF̜2"MA+ˬTsDϾؗ $iÖ́n(dD){!!3_./yCZ!4R3K{kYAT2&b6̬]jqKP
*7 u ^V	:IN;JgI-\Zvs҅Ef#O]NcoCS~psB鄥Fi5ǮkJu2)lRW#EüN4b*PbYGOFdȳQTU=|pȵos c%CUU.Wq]fs[.ҒDqwBP%E^>!BG rX#
S4?oJmQt?9(Λ:yqUT֭VX$VQݠmUbwL,!`_sʰ͆_6@	 	ʒ[#ҨÅܘK1`W;'˿<_fh<H<6㈳LoN>]06[sk=_do\5YL~8jѾ1#PdL2hri]/#'\Ҿ  y>Gjʘed#YXNw!fفr^o:ʔuGTlKiQϰG̞lMck[dqNqX#ֳ$md¹V*:vSP˜%
~ȵ_3.E1Bn3cQ@Kb/(A>-^n(NiLJ22!|&4	s1!śF-[5_5yW6.5BF\ѱd<2ܤhyj|QF́$RS49aPJ e}d^ȵ_ڷ`hrCP<OXԲvlHg3zN>vtE7!u-l5ѐKӝ1}Oc:풲x_5rΩobt?[n{ڲ՚w˭gꊑ6ZuBgQU?Xa*Q+ 8M-YS\v'%bz!z0i,'f'	-3~l.
U/Ǟ.]!kSPGݭN=Ӯ梸4{J5/Bv`OthXAkX HH DDZ9* \Um 8MP,Ls-3X(4t:ͦi`'u$QL<.}Cn񗦘YEoQN?Z;'׺y͍O1R9LE'ÍZJAhWXO*jLz)\ OggS  @n     {     5k  "(('>Utr	^HXO#Pr"0HNqٙ|;#wr;<yAI@
ߍxˍ̘ԤaY:Q7S/rs\]=LP [J]*Ckǵr:& k? f$O$ȲΊYb@M"&t)i(([J"QJDxP1dQop@Uvd:2>La<ouo\WŁ%jTHnDѥ ȵ?z$ pz'F`2_>DhIFCDs˷0>buCuNOQW)Zcs<po?eҺyKܝNy~]Q8~n99/5<DPNj]sJrRT`Dvp-J^ȵ:3IP@EB' p9u\~HGsl@"yp:;nSlC#v٪wA	)}c727kel>x$Jfe#wLsϻ5f^uw
މz"(ewU#.qPÍI>ȵߺ,'H!(Z>ưUG:$7U8?ȗ1~0h1x0X$R .-E;>kZ8;g"3h 0[f)1:G7;˄Rj[2:UTLsSk0n	qd1$i^ȵz4kzFXĘuG1fJԌm'L>Z/{!'8~J{d,**z;Á7L7ךPCϔ6Gtv|k6o&ۭKp)˺R-+K n~ȵKh @"WQ9:z.Lh[>R
byubCbl3c6q|Ǎ8=vi($h]%_]A0Dה&=ݩ{?dj褿aݍOq4<7uFxKwx#NҍZ7!CTV0~LLAn>GzrvD{ GB*̟M'N|$-!s:^ڔЄVEeLlKr;ժ	D۱.7Cދ\s}['[3ll58*աJP
L}$r3?>3?-0%:Z"S:h8a\dJee1^ZeKvo5 vHer\IK)yu^]4Jpim,ح%	&^U'u +랳XW?A+U<ͧbI(E̷ft,FA2jbc/Xk/k7v.g
5Bt2)ZdR/W}3#mZ{9BȦ{YTI+V/U3	OHC^U[q0 4 d9*)Nn"	MFSH2Ƨm^/ɈhU
dv[H0'<k"D9I-CΩab6b85~rUM-lModnW,']Qkp0>U͵Yq00\W{bGo xAZ1ٙ/0eN\r&dN$k4JcٴUqHIiZFA@*dQ37?	]{=#Hj\q/?Rg3J?k9L5n931+9mE/,5

AHh- U:s1 ?{G'/iAcxtBHc)/3nwi`"!4 ;[XSmwEd5IAڪU2'wRY4:(aWg3PKY!JRk,;*TW^Uz8UL lQ]i%XѴv0~BRFNiƱ!+c^4M?^3~!?L!<!NG:oehnW-Oq=gvcցY}m*-eS[
"Rç잊9($AK>U?z2)%?nP4dp5sDAi0@|rf%K&%+2#FjLةG\'8C;vi6Fg(g~Ծc;oaBBpίBkëpjbqb_Qbj.
l
t/<IQ) >_ \wfN 8-q0	ffL,BƶLI̕7襾j4݌dRZ챙mwKv]*xke(Wӛv{[',+=V!fR5Y0Re	V/;HD
^=V0C.;i╪\4O%lN)sZI|qfдTN쵴b"O*H)ɡ0ȯ 3ܗ[o[$k|>l nC)C]9pF&;5^iA"E5Ю$v_%Ii!Wr.]""1nZ#ٛy/5
0eǷ<W֎l2n2c]tp/syw4/{m_w?)>սϨy`a6ݩ_<fk+tGzWTUu\np|u*=eMHX]3D=7 BoTRĆԴB6Yr-,];28Z#x u卓)B,$]vtJ}<4"[1S
v-ccwzM΅?7wj׹{PqyN;)s2#Q`;;5$ݝt'ׂ8+'Z`-{zl68?/=K+?ΒGEσ4NI7]z)pv$z|9~<xj?3E@)X \7dL~''Y.@kBUa$&WؔT926Մ$ڶXJBQ.AQG*Ob1b3e;vkS<_YR4ӱvXSm}v3yɝ.SJ{H9+J9RH@_&pcUtY0P'&ĆlW0d%ڦF㦰|-Y6adoEd'HV/ ı='s6H4g1~MCT5xYFyoIq@B`\CWH%ߺ	d?[6TPNRǈvᴓ2I(I ;\&kzqYGƤY!10:4-=~nq0a`lN=|Amh(qG=^'1FV9gVc!RуǅB ^ȵue`rmz5v}UHS1	ݙ"Se!c;YaCj29 K$:}]PP7;A~oí{k՝߱B/{a=)VXUdkHk ~UueR K?
2 dP
id籐l,nwn^,p,p-#2IΔѫߡ~v3I!M-͇7pQtp{1Gt-dֵMIQȺw(T+~r	vSP\[*"@4#-$ū0 
=l)S,XiF',Su?-+?\^o^6,e99|\{;a&֠nb͏H<߇7\ꙁ΁[р OggS  @     {     PNe5^b r3_}G10 \ Zic)aV\TP%}ܥ	3]qkhvzcGO+wJ7|hUD#Sa.Hs&+l09b5#=I*w|RT]R6Uÿzrr= NC?$c|v0c/ci.=acp:c'Bȡ"!>zcq-(EHݓ&lai&_WÝ|dV&W^CK]+O*K+Z>ͨj-fl W`]?,HrEq>\e&NNeD,̙#:i3VyFxے?#^L-NЩDT$ĴY\9|Ѵ{;֧wӢ>RNTS].zY+(Q*d7W;An3 Cx^5١"bly2o:FLy5ҐSP$f1Ct塊*/|YuYqpm>~;bSHLtfzaUOegF^UߺP\U{!2շfJi.1uAEhIDEiKh0#m3P3G_wۆiD鞥_̮Bfh1oGU`mG5nZ-[[
UW ?攠` \V4 h[J"9[6"|1nl$gp8،$DALviBX3pڧ:gDFgdB/Pe81]Cx	ʔ:hOb~b4ʃrUcq];U3?w@~}XC``\)?%Ģ1Zf(`v_<on=6rXE6OG9L|cFv:w;@0#5}WXѩ!sΗ[!%RT"ahDwe >U:% \;Jh C5 Z/bA$Dq,#..ɡUJx#Mӫ*~ʭl~'V&rr{e=|6ϵ747QY\ڍ$JXQC%X
^_ pȟ -@ҤPܰq3b-vܥNd0,7)3+׉C\%gu`GH&5\-ȷI!ƳScu?Sl7xժqnuPUUK:'>ͨ%
 %@!YV %y$5)$m0iL2N1-t>_b;zxSyI;yd2殕y'{'[cBbkKqk=Z.FT7	~?p+p?z2r0ctr?=\i0p |j$w:5=OEр9I)Kf;UtHHILeY2`l -ٯܛ+ﲟSLIL꼿XX2#Ril{u%Aި	mZ> ^U_[NP *_.J`wP5ej73)":¸ld{+puF<7?hT?!hZܪgɮ{y쩹~7`t<jf,q-(LX
U* >- ͨu &2L$)g~"7.oߟfe՗WpR#	ICTݢh`)_xsf>ojq`ܚkl~NYݽU%${X.rE	 U_z( \' \ gܶ r%d4=ح Bm:ʉ,#կzg."j<j8i7gg('[dH5v1qwq|?AIн]3uc9L@V}Z+L۷rhנ!#{~/m	3`k76zֳaTrqU4"YCt4:B*x2̛A=??BBsxL߆zQ#oCy[IVrՀTð~i7[lIn-DI$rK-~Um#14A!W%?um1 v[Z"a1FC:Q/ep
g,Ϧf$QO.~:]oʸ>4%v
6J1{}JxNTH`Gksձ+;GO&]".nB1U.#"i?P25p>L `HF%kΪ>!X0+2h(.)lף)Kjo8߶FnufMveBUe=?X+.G	p`FbfPU>+$F.O|6_3? mw( Gia>]VRC&]VN`t30˹R(s~B]tl}QNn7Ӽ"kM+xR{ԸL%VV-j(`a,Y[%\X 赬/=L,DM賁n{?xE\IvMSƍ>btw>u=ǻy8679F)+}Ը	~n~+~ʾ=yͮ$$i4'X֭eWc!fk)0Lu
.O}( -s \@?N:P0MMiXVʐ1Y4|Q
"1Jtc9)I<o鏜~|!e})ezk|yvq Z
<Se	K:ȵT9~#% kx
aAK)Rm78>	ivB+Riǚ]2i~aQ'bxdʴ:e5l_7N)ejlk*Н=uݸlXAw.&	aPQhZ~ȵm9&VEGv*YSA7\ yKgSz.D*^T,++6Ru ldC1&\vc	P
sv84FkJw(/ujUnr ^3*0>ȵ2Z0@>*ꗮJ pAza;B!:=<r#16`cъ+ڽy+Ui6&OgkwycsK3prwٵvO8ݡY'%?:;͑7NWKկjȴ!^aIrc1DXFk3嬯-4l_:GtPF؅ru'	j0=$2Eqɬ|\.IIEͷ;̩6v$eԐz#R 16ҫ#'9Wm8d:نqbiu~[uOU4[aRK0ɘ%l~_, \K3P8+Oe0iD4(]4n{=tQØe#4eY0E7)r8 Rhܑy[@:O+mct!<bǂ[g+ۆX!Ku%Θ&DU
mp̈́_ɾ`p_0  ch⠱LF2iNxRvnWZ9%U3LG8+BUn'}v_OwoFI!7B3%2E^UW/"FqQzh,	OggS  @>     {  	   <^ص2_
0ȵO]	 &J_FJ*d<2'lN,
65%yh8TOJ|2Oro2JbR~{7\B	?L{YjDEix`opXnR(bD"^/9 oxAb> KliUT[Mtl	ٙ3!QG,`Rg׹$r,Gng]l!Fg{|+:DٛXWRi,W5DaBHR2^O풚 KOAJ NL}:aLNe'd&!8l.u/l$bz:y2eGs6[(6,*$'^7vb
yFvGUc?3isقd1F
n"+Ľs	#ewܸL2FZEص_[,D@!7Һ7@ !+r6ybatX"LѤ!$*2;ZGyƗѼϡac?:||N͔nvS))83v0)KQ]Z-35yN ^ȵ/m(6Pȵo]0.i?2S1NH2#&K"׍d9]>fNH44p*6V$B%uȗmo3޻mjSwx7[ICR+U1
%E]/Zz@~Uȯpa ܌O, ;[>̒T府|
rFvt}rf*#:8t>3ZԌI~oBӓ0O[o\Oбo@^EO{1hi?&ŵ-Z[jȵo0Cnjr.[@?OC)Z䖁Fv&p$ALtٌܴLD{n1{e˟˞*r&w?~ޖrw<]L4^5Ũ,b)*U[~)W.صom	!
-IC@_?0
4$dl"$$cj祣$3]NR+wD@JEɈ#u^i;|&&:6cS?gN7uϫPbWvD۪X:[*#kG`SѪLWpXUOlmK 8r I:ϰx[^2pvxͷY-hcД@xn7]ƚ#c:恙PA\lzi۩;8\s4UwPu>JDnPx.". (V2XtPXo  )2sF%BI$2tIZDIs5(A`5=I؃	uSpNt:zdGC(QίM7}%s~do[[+s!$0V"H(3o	$-ۼճnd %]d ?~8IJ%qC5 1n=!#s	s?lE6͔П@ؠ!qYyu>xw[xoj|VVRwVgf$ʽ*Z@@ `!VS:!~C]hD;gX8-.nG_ L'6[:?m((hSnMl%2W6Ԝnc{ICNo
j\\c:w<Yԯ5ݰ=XUVW)
gFo%ÊY9TƄϻ}=6U{%z h3R&gaFULdK:5e2"clsh!% kA=P^ǵJKWUp˥ )oZOU^^4So'?卮EԺD}I#$M0!MZ*~n$cݘ%\	ȵOVLQ[,Hb(ƮNrSfGscciՔ: 0x"/R'dN'oo[swSic<N8."^?ۛ׫4-ztћgBxu}С>>X-&	TQ$R.jbͰ~ț2H9^ȵGaȵ}x=f@Rb*
!n;n1v"Rugobp٤Q])jۅ
q{|
cr^o:>6,dc~jYClCzI/XJsM'ٴHߜ߸>ȵ+}  7>ua  >@)#_JQD3M&E|HҜ/tM-Ilh>B(üq@Jsq K`̡ɐ%:|F>}mʐA6C~_qxH.i.֏+QUDIbKUO=, cpU}F!qpڃuѬ~SH$4N$)˘td;9$1˺k<RFqu;Iq2usR^TZLȏPg;Jpz?(214xCp;tbT5ąiv[O-	KmP֕0+Üw8J
DNYjCflc<Dm6sΆaXmAownF>?NGLbztt^~_7!4^WߒZURCX!U!%J6Uɮ
f~k&em,-VPIrQ ɂ#am#\Y%!I W[iktRGL"jp&Pk`_<ktq?^PbwWAoJL!*ҥkː,Xd
>ٵO`CDHBurB\VjTuJr@i'&K%HRI2;!3<[rn!5㵸pح&lrQ'IQ'AMoB!\f8H$̾ۘ"S؋\Ud{NT@H&e4SKf16\)̓ڿ:}6<*H?CZ3]/<U3f柹yJzCZsWk-Ɍ9uvhR梴Wa4m.hIzo#(6p͑?J .P92$AH,512)7#Vc;?Y\N:譵U
~=Qc5 UWqP681g#!6ba62H#Kѵv>f,"{nꏮ 8-JWgN1Ō2grUt,''6{7vFm}"-Vcg-s&n,!(S#!|nQKD2kvI>6<NNո}><+F[6Jw{Dʨ*`]g;p$4Ŷ4.X2* W~i5 /Kb󕔧?@H
)W*JQ^,ʐ]o}2h!4ms'2*+)FWGqkNHqWcR_Z0Cm~NU=<PN(N4W;I!R# UDO7( ^ڿ%*P yGO$c@!dQXČd746L1"56F1,}o@,W w2kF&|S_cmughkj?9YtwH3rW](T׈Mֽ*m%a9C[C` k
S)$'U-v9+|$p54^}zRf^P		 #Ī~MY7\RT1r*o҃:Fnmg<L-!nԸl{^cQ3n1n!+=+An]i8l!PXXOggS       {  
   a{#" !:l _%'@wm@R]G#A4,[9 &$1ʉE&+RTY&\5 FaaOVhz=ޫfidw5[y-̧lҰǆUO]@gZ_q1AŨVb)WH"d~1(r)!T"n WU2H[&pҘE%ڥm7վz$2Uc9G=5c84nF`]eJ\ڻ=HQOUnĳ"XJ]khսz a
]Cp8)(a_7eL/`l>i|R,*ݯ~E9|qK#L'sC3V)*a1Btٞf̞Zt;[ZƠTR\6D5$E Ug4p;ўCRvʊ*Hv11lqvTei#E4
2ʚJXN#æv
4q
TLu0Bs\Py}|='߉TC.LԞs.ܦKkP2F7R++$KBKLxŪ4-:: !˒a nRM,B!|8dKٜAL!sh6U7z۷mkÛ:kbRM^ooN+tOؠQ;
7WHR-!WRhWp0Py,5~Xb `0WL08?Hdш*~THuL/h!b$nr\33,'4D
4?eI$1yݭn;zӵVjݻ6&=忐 n7|`{l('2#~J&]ݢSMfQ(:mtc^?ؿ'$A"7?X(${qrgsj<,	GU
1B)MI&L-"eDM㛮P ?]\	uf(]fS/ckrrxj}i\~h)eb:J&]E.Cdy0^
 ص=Cѳ[IrҺ"PCD&,#.׌N9CQ^+ѹ~lH)iА0^9oV7YJߌg]:0[Cn<>b-TwG!c5qJFJa(`k!^o\h 'p  HaJl9LHmQnz<9e3E2;o>2i	8OT9xeB8fr2e⩛T71s_2_W݆bU~w&L::qe+kŁhULaM9^RWݡc>(:z m:.zRޅ&HTҥV)oԘH
*bzBtHq͉KBu\?BXnFC-SYR{[aBl|hfOV\fso-C^zuI59luZqwm{=]Jn(D+0
I?z1 VxU2@,,X4[s\?n$̦L23Leys6H~_]gCyLG8{Gg[0	kAW15h`8BUkkw7"s&l+J$a~($ZX. `p;ҕc+ %@ϡBi9-mlJSCj؞P;65qt NKГFaձf3t^	!YƁr1E7`TL8EIQMǚh#R^ȵ>EĬ=\0ɶD7MKlbYޛkz!s@CaMEV<r[.&;}/FJ'cb1;V~t/ݝlP&ˊb1
AhCQv(1xk 
 ۬5tk u%C&Pchql*HԸ7hN
i°|A*(0	v۴ȉ#&	s@VtB2^sqm{b-޹MƛBj!CH}v1$PL+_5Zn%U/F`6Nd{(	؄f9I+;8\ZSfmZ53{Ze_Xn*6꾾Hwg:~7¡("he8Z9Fg"cy[c\B-N
Q>T+anR2r`0,{`e$Ra6 #dfΒ.Jv̑d
&a(#YU,xr7@^drz0J\W*w\|X_FOtUG`4s %5iY ͨ/Lc^[?}`q<IフB"9	!Bra G5r68XȜE`I-9vyC$T)
Mի6wFu$-TzjKձCvUz|K՞N%bt{g`?jws睊,Z~)? e?J`pmP,8Np
%vb,\nͥtl4гq"ZS__9Wux:`*QLZ#$y}V<l?z#x)n+U4܌=ԛi [1 K{F d11y22c4M򺬼Ѳv|Ȍ6*.&[Ot2:Ju)ɭoț~Kv|߬Dq퓎ïS?jA1M
MC3n>5Jg;ͣ'}xƊm9qpm <dB	at䑗F7p5Yj)ɳi kL=7[ Udkl30,gL7/ѓv86Jt j뺤b\I:n1%!yܕw-YcP$v 0;ўNJ*;5g4EXci'gB^1MmI&/v* XO2q*JȄ4nx}g;w:nvڹ۠dkfM7HEwrёn .IR/i-}F~P5,@DbvҙANZ++9!4rѤiąI/2ŋ/HJ piNw/JCHIf̏Hó?^ؼ{pĥrӵ2];R>|ĊHQTPBBZ%S~",Qe@6H `"6 AsSP`@F(o0@_j`S曍KXD"H0[M-9HGiIy?v`S&rCL}MU{j-?*+
H,HyH4ܱԤ_ָ[ hf\  NjYE#>R?]ĺ܎9flx[DШ5FG2qj43bNlQ0!ֆv
81<+RB;%GgOoqkaE±dM.\.$S5Qӫ3y	<8i	[z7әO,ʟU&<8wjjJi%jU9(xL:áip(*-OggS       {     ϳ !')'()'Pw|"=XsӃ~n/O+Cԣ˃Yis+nRS*u3Q,S%ֶd=@|Х۹\OĳR|<;*<W5KUbWZ]B*,3?/_ܾ $ڨw1
}KJ%T^W͂} ۬# |y0zl?Suy)zLs[lR[h!c6<BLiطcE@_q	} 5mV6ő(0Je:\ZO[Mt,udeߌHGgA3a5U%PUc%%o]	 *A[{b \9ZKjгЁca:O^h|N̦ot qYG\h4SjԘlJpcHEˢUJ놃v{<|]M=:+W*]BpsOr^ZQ
koߛy=g>͇_t, f/9thY~KL5ԙK%E5ΓhRb쀱"[
@&*'`CQAMu5QX#W-vܽdL@5 b6z[?-b[;n[R"J}_HbKWHomR	͒tfd1 RqER"4)<y ߍTp$bm٠sH|Okڋ72\¾bs	Eʜ:~ԍwez	r{ἭJ`nCnXR|}X7a'ɭ1bNȵԏ|Eqto=	:񗌣+NLX*Ddbs$9KlɄDlREgL^쵗5[_r`FP]DH\ߤSQz,MgcfՕ1Y^[M5,Ԡ,,+2
{| ~s{CnH~='
hw
˚rez0&UDYeBczHwRA 6]W^Lt19](*̇INb{qb34ګ\;5$q+ƚc
7W.
꽯cpFClaܑ	VUZ^̈́IAn}&Z^_Y#MJ+td>ϜE 2©enz}9fȵ;\ͦ46?ŹW798!g'?1_$5͠qڠ/;kU3ю(t99QtUJkL6_:G "7 B'$Ԛ7da@4.1a66ϝ*mv>KRe;k0^&e
GD4"SI2_EVpmNIhvvO9P2N!)~*DY,^%]+J$a=*tA:.^Uo=#,, rs; .vSQ\ZN7[dҁs7xqN"RYI«hdvlS);&7(tS5w9ݽa:iϷ*mcڊJcT5&bN>U3+r+\l 8uU41fĎ1.#wedǧ'eiμ0GU&~. 
)KXMr=f:5|AM'a3yh|W4_}4JXkIB˒,2 >ȵߺrN\ r-g`N?Ed'XJ$bb)w|nر)Ll[y[?%tКɆuڈ|ISr唿VW1{{o+eˣzȿ#P>s!Z\UEE}` ~U_/$ (ʏK`q^PJM6bIO9Z8$B36ד Gxmv˾>̀&R={Y$Uw{u<+:=kaoK~mE]Q\ec"Q*4g~JTa] %&@"Fa(%?^}3å0x|?u@]Pšrh
L],`4J[\,/>R_fdb[Vp}M^2ok;nǤ<Gx;%I	QTA)XHQa!ܤ&;x֮ݎx1qRgk~S:9U)W|?qӏ~lm{齛nEO,<TgKGc[	vo/}2	" ,rynpOV"#ʂ7`<Xq4xĖ=Ŷ^M.u]mtK+b!?KxTzM$PA<]Yal1G0:ik'?!j'M,(\ 	&ɅJ>ѵ֌~U-'( \O 8+~zDb>~!Y&'[1qO1eˊ),/QİIΨ_V$ꢏl;Y0O
]xǾ) PieͥNAgS_J̗06:=q4X 4B(I,~__'z
#6 /ilr!E}6x(YȍIYmss;V#>S|7PPZVRKx{Ɖ1{}tbJJVUT#	%ZrUՍ++V ^u	@@n+al2uc cܤ*nMZ4L"yߎE54|Q	zo7O]be7|_.h<jVh<}wY^UȦz#MMD%^40_ v9SLPؤ\cJ
ĸ6dFңl1`zf8H,?5r{X⣕:redBP|'3k:R{?C!uh)O:)5eYo2Q۬aBI;qRR~Utd @!R7 pVGQHqbb
8vbY󨨖I&+Z+FC?=H\3L^]Ihl1kkRxkѼicwm0k/i{Ӈ4:qNT=A%S=a0YθcP%?WI=(r/=F\:(T<;T7ddHvhzѥDݷHVֵQC\!Pv_dJ1?aƋfm]#xuj]/"*u\4F{	
f(>UkO  W7ו .0\a\LQFN0Fb6Pdz'4gBpcyjD^j|B`.3Sɾ|(㛔?4	Fe4뼹<rX/NjϘyIa1@UJ@	נ ~U#\WL h'CUUIH|Fˣ!m,`afNyl$5uݍ`HqA?dφ  qE駰|J*:FwΗК=[OŭSC̅	+IGDmUUGEr	 ~E]H`12%%V5R\SˊƏ	0^G:6x44id]5쬶_D&$؝ch_%@^~lƻ>1qx~=Oi;yX׼l-+MEĿD;\+ OggS  a     {     2h"(('~%[
,
@ W> \ u\IA.v8w8F:LOEzʑX[w9\QW:N l9IWJjNӳZcV x3VV=ze>!xnUtid\xH# 1#* >¿$u@[\RaPR#6.BG)Ζm¸ܤ=fagrMeDfƯF57R0;Ia{\Jk?]_pʴhIvo}eۨEuJW
DPB `^ߺ&(a(u)UA@b\BH*מ*nűAi/D<ǪF	Wת{z1ө%œ6P8wsH(VQ{5ם}o{`j.{`j9hܧ*VnÑ>EWt[)e %=V 8ʏV$.1Fdty,KOd[w6";NDVt$ZTrzz	:h ׷;,s0+buֻԟGKU*!uUR.\^Uu"lbAb=8E!ʽҴhD24ߘɋxlՔ!"M)s& RdJԜ׎]8b},ךLbhI<~^_fbXať'j 'ڲ|qF%$rI[  !V,SHq` *ペy,ZKx\^:9fP<&q($|.|gש{$͝6OVl6_5ڑJ.voz6}F4oJ7]GOJ
u,ӯn އEByN;)s2#Q`;;5$ݝt'ׂ8+'Z`-{zl68?/=K+?ΒGEσ4NI7]z)pv$z|9~<xj?3%o7\D.	~!7V&?̪EvCtN&OPbL쾵^yKE1azz_mN	@XAz{fuS"QRmr0skXA:;-Rf㦒&ںȅ1\.ͱ 2N rosr	ZhM4@2;0rIL9=|>bV:AT}9m얆_	U'IeZvD#e/2ٔ/8OUlה鑋GZ!74EǠ:-!AưR"\H1u%q 
[LY.u(Ϋ?~ČXFhjC;Ydtʁ2?iƦ]:SuTgS%JL/d$zo޹~7)tuEm;F^^2:ug5=SMr뜫$:G(8傿Kv,&@!Wر N[?If:~oph>+c>'2f122<qh=^W)vi߅XRC(\)΁z~icees)ֿ;jf3c^Gیd1$3J <~UmBy!ნ %G@,_ltdgr1G
&(_f5Ĉ(-^$(Azg*~}&Scb	{Wftӿj}ͤB;@U]%62*hXԥk:/~U7~%?2rT$r	[6ĸ@{QMfdp9ʔv6c9ޯd%e[Yo5W8sfGy$vM!cL:p\uV*׻FKxq͞cy(;#<XnI1-QBkصL$
@"77 n ŌrB8ИO~<'72'I{:i$2E6҈^,G)ѹXG[)D5pZeVC
ud=/ps-wNpaܱ)QefE7cY.IЋ)>2tZMtj`띳ӐсB2Wr2(Fa64u˴o#Ƀ]L{8=kyvWɋ{U% ZkfCvr+_/CА51?bӸ.HQSmRPͅ)8pȵuљW 'Һ0ywʨˍ(ڒM:㖏m	EYJy/8q߳Yz!`up>h_G[B+aXgqɸۮJYymKӯVolsېƑ8.ď\%E91RR)ƕJz,>u&	 `X> S?!Ϳ9ay&a7ϗ={v&lƨ 	o#⒔ .ie']˟2tc`hl)	w[;mۆٿ8޻'evfbw]ZRbJ
DSB^ȵ?IL0
[ f  c}.((&M$ah\Akɸ[U0&Ԧ+}66Ci}tm64wMS2k[-^CziCt˩8]嘱|f>SͨfunRGqMqae~3$EФ+ U3?XXr-~	haW\ QtOYE5Neg<NCk2~jJR@]7Z0Y3"dQܯ9Ý}z5<=[MhLO<Y+ˤ9-4T$Xb)5U:- Z`ePW?EDU[$)"P0^}}d&3Il:3ݳMXS<w_ N0*Ϳ?lejL连|t9tQD-t5ASU?Z+\^}^ ; U49@N7!;`D2t3`tl2x<oy\kSn&kB	Xn~d[I!QGl34u݋&5fԐ6~I75qvHJ)a'zBE"4!$iL{)XRao8ȜO?N91'v3mfD҆!H#fRxbRYwf0֞	%Xxvԃ%9_|~ME͞S6 wde㕞35RC	35R~Uߺ ![׆ @3Z:@hE4Wv9&vMəрm0rr.gƿhX4Mе-k>¼/ÔOU#gRTBOUduc`cffFX㸚cT?C	_LRۡqQխ* $_r `< q7 Q])S҈㳃-%l";HY>NLg($6$χSJ<jCʄAqKV#Q]|wS	14QD&@Q)j;J+{!:1 ^僯+ 8r' 6)X8٩㓼l=VcFT+)y]uy1bkmTܣϚL:$L2үat8v6\Ix-lԪfV+X!&"`U\J
oOggS  @     {     $!!!"#((!%'(o`
+ Hr?R-Vry 4SrF>ٹJ,\h##fɴY!$]댈P@*AXɩ7fD9uԄD/,+B}>c.xzz59jݯޝ~dNp.Eo+ݒC8wAeU<,]c*h̴ZZW`ƨ{fE=4(kim( f^vUwkQ4YҤx 8%iQq;wZ񹴈7f 6#4s%V7Z9o	'e.YѮWRӣ_&] &(yc[{yl]AVf=VC'JlgQӤxRFl}b$գgXLO2}(H,=̍S6[n%O` ѷ@8B7В8!<.yټE4#MXCR>FIܯĩhЪSJ86vɩ#Gj`ϯ߶L':d'k5l^IuMR~k}&#ŌFڢf)^U}e[K`+ESg@%ѧ*?BNͶF)]R15ɸrs(ӘOK~tx>k|q<yvǎ#ퟻ%Cɫ~0r4 r Y"$=R6R˦ ^UkrU>~A`\`@/
buKՄ&4ƠⱌP,=Wcˌk;ro2&a##ug5?2f:>/:E,k\}v8ԺJuWH%-^WQ[,	2JR?y*¥[ ~+{@~>, NrV?E;);Rsٴ9"oϟm3pE$".j\2F<~ɵ;;|v1<W~P	JdqGں\\:euoX/oOn+Q5,yB5uy6!wE%|@ ~2CTFLk	9:nN1pTIp//*!*!Vh5cTE$Rj 'M5vG<"Qa4V6iw;<jZ>MmSxN.Kc@)P/cҍ4]ӷ"z^imClp>¡g	,W)NϮp=HOu,bKI$?=k+ǃJhrBhUY{۠-.ϔS9S{\s|Lw/vOr/vyso-,YV,=;uZȵoGLf \~% ~YΈJVMngCxJn\4+j%^x๢Q9 Z*Ijn)_:S).:JsjfZ1[_O?N5J͋r,8UW($v]d[Jk1n s ׶tn)@\`2O(tB,47Y4$wY"QIT¤	×7eixoÆC٥z\+%FCcO0O7~4)#-	͙*( ^Uo}' Pȵ2
@Ÿm`xj8W"rQ!3<G1S%!nCߺzs7@@8qh@@r@8&7u_ln:񤔽k*;*U頄([I	Wapu>2IP0܌K00^,8'| ;lX04:L:gwNI+IbWjw~ݹ& 7mS9&J4Gd2[JW_qﻕ4mƪ|1M(nZstU=k4 ~+C.}>@$-{Qn"2:4,n.$#pgbbzlaBo*rT%e#7oN\j/U]jzO_w۫1S&7Wa}󎜙rźKY,$xU(DAQ(#%=&%Hr># \b ? PU0Pr%;9$%!^8	o4-Uvsz:S1B|Hՙ[)}/xp´`Xq%h8ME'3ÒP1\~ȵ_h \[  jxRT96&%iP  tEoceDZ	&aݞS7v))S'"~dL{d_?5J݅;7uu^y
ܘpÚwe'Juh'%*ɧo1* r>ȵ/m#%rmK爁UpzWlWvY XF15ȍ٤/9q>UM'I;T*h0H?4wMw׍n-bˌMD3!)	1j[V6Lƛ6{^'OiΈ(@

'eOF][jk.E^ȵo&` \g .VdsD3-$(M&<d4&}C@y{*ʳNɆkA &dgBYߛ/WǛ؆YLկ+ͦG	:ӏu7v,ى0+ޢUAD\R"^U#PC#٢A9&>{~ !K@d%9,MJfXttMMxKo|"z{nc~.o
mݹ1ֿhviWuum-1Wt@YViR1-R~!(1 ~%/8rGOV.4)Fc"E!I>o5i"Kȩ"բHm#ªQvA.ӔgdjҔJ`vm1Fg^|߶J_Y5my˱%k8ҊGn&K%K*BR~o%h&poݷ ҰNDX)]S<+!rjYΚ遇·H4
Wvǋҕp$ɦnXz槻:9X`DˊKZJJ'溕rRa(GK"ÚsGϊ#>o &PsU0E+7w|d@t>ZHcI:~iBOhʺXm̈́poòQ6"`Kl,Z\rn'sᄧG}q$zcdQ"JB*,U]&HA{ n ?a7hS S锣Y:V'[Dp¯~zYsWg'*=urYDe\oqMC]	^LlobnhhDPQIPnd
>U60# .m ʡvY;Q8U)ʐ)Re%SAFdi~˽ƲyM I9_T fm?Q_=(pynUnB/p.j		
 "wBޘd @xIxA_@|ݔcs"\\,27&Mk2[b/GCR7&>TjdBr&8 }1݉ws^?P߭;1X5(m)ԭ+eKh@Tb! V*7 ap%FNEPIY>><X6Ќdf ee/ahNP\|rQ1*!;k{ݓ9s	O|vv~Fx+ev'o]Vf;1l~sF_hdglkgXg " OggS  @,     {     4?>ʷ@Ac!iK 8fzBv=))MgczBL1ct谟ơQb ˡ&@%q;xp)c55y!ՍҺ}o~h?p_{uc<v	zR2\D7"Vb.*\"jE ^ȥK miC!o|INL:j,(V3aA,>)r$ю5 e0*	u[{rX ^iǚoe:6xSRʁ\!0v-wlC7Uj IbQ,ATR4R ^E@8RHX%/S<VGwɉwtL\J.:1H.!K+[<T8m?r)K;ZGRǐNY~{XF#j!aF[X ^@`!8BG l `FpҸ_Nt0Y"Ҏ7˾l cb@\,PBsEN5knK}^e+?kUOcMcXɟNߴ7ОLf t(HraQDD!?zFR 8r9W߭8 ,e?M	#Hi8`Lxq8iNlh76$ z5{קNn٦뷆O	dn~K#;clL%:h몵ɡK5Wג)kruՂ>%Y4T/A~08tV|D)R%YIjI7UFK/w0;('ЎƬzLaOuMoF&&X9wof5	קNFoWq-qR!S~=]1$QwwQCY5}Q\;pȵ`@!W7f` ?R@NHr;8B:s|tX4@c:.Kf1HڤDL#?eenn!lu
%ٰ?k޵AzIyMn[{lz+d>D*]CTJr%R ȵzoA7wKaEilΘ/+;IKEL%|RkZKbY,C6ݒ,UlEvGQC!dܥ[vfq90o5l(qeG[,Qή$0U(H~ɲ3PU_$0ui;=(9iM9ΟN1/щN$2%V2*~Z$6m.C=/1!-+gp<^^NXܕl4GhS*I&1q+bTӭ ք%_9/ 
G )To G^OPGfY	lDK1B\e>q+w}lDRN0GE M,Bf?51kDCeonm?[cؠV9tRPI	^/$ѱZÆD".'䦊4MM=E$"͘na!]A[wAj
@vUPmQ懙Y?^?I<K}߻#K+ƈ2ͲĊ4ADI.>?Yr4APȿaFN!"(ΔFgP:41͞z0w:bfO(c;׏Ř.$7M"j>tֱZlx|0>:vvݚ"U8SZ#<Q)
 U (xs \qڹD4cajFD0uIfdmYjzӈdL:]K%HvY@:n&D%"<5mJvfih}UL|ח(! p/%ur[sª8b1.k\$i	SݼHu?4]X/'M]5ULumG"󚄈jr"5Y$QeL秤Ċ6{c躽45#Ycԫ2T°P
>Eܯ9hB.B$n 1K0ϲr:2M'MO4N6޲hBT#*1<|Uwc'ۮV6NvOɌO%e	fҰf/"Ln(/Z	'I
>E0P/I7+-,,
Px,΂L?#2vθLDMڄqKmJ	`ٍɣh|eqL*ˍ7zy9R&Ő+oߥ\JX\4zU$KɿR, YU >FY/ ,Zb\L!UbyxAbr:Kg'͗@ɘ6M묌gOnH'רe5oߜҀriuoꪙݭJ{wGoX!"}qO	eK\Cŀ+ȥ/;*("@
`+Oap&Yڍ:<FIccȕΚ^iMO߂R vÙ}&Gi?_<^ϫ/%U$DaM>_kj6~7h<f:96nSJQq8XF-*!B5$^%?;terI@: \HؙR404ŕ)[-dIьmq)g|UUb꘧8^S'rr|bl0B*1ś44m5duS368-+ې´,>̵bf$39ŧV)/ꃂ >%??;X`Kr:XJXdnՌ(Ře$QN/οHZm+4zFg4Όc-dY1r{2"'QR^b\X׾)bxg3}9vÐ57W>EI
+ \~"&(B[bD0uH]:AhduYbaѲGwY4XSMer@@*41ajqUaJ$M+͢2{/k:s.]8>:2HJYۗUҚy/\QD'(mu]IPU!^ܷ9n
:N8I*"/T !:5-d!/"=6 G\gyۜ~Y):-c\Q.nP/ImQFL/cZdV*ú,ʏ>@ 
}D	=AJi!\I}9T3sv+2bt67~@5'K} Ƒ|1Pe!vUZ?Ώ62MM)ˊS)fƍ%ƛC=s,̥BI<?Ǌe[YK>ȥ<NMX9
K gIZ)N8e-AZAyD&,f$N͋]ogyUx-!xOxYkiU{%h&]TB}YΫsGL*J1Ֆf,%14+T!^5[ ! waVOI,.֕4'݌JƩt$:)rL5#jV愜&G-=q꧞u8Shq]VL^=ϲ|۰<?2</0锂lr!V
F9>^u[B+2P5[+P[JuQPKE	w'6xx6Fveϗv)~߻c+kQ.S_h5rb;": %סo<^vOl[e=ރz2;+}PJKScZ3GI+J:Ri] OggS 6     {     Xq^5GQDelm
}+.	!#Y!#1@It`2ZǦ27O(cd8ll4Z|Dd%VVA	*9ĮT]@LzgKIj6OxvŞQXi6}ب`L1Pـ31RhbI ~@X%!y  \ ]?!ΕF|ҙgaAȢ:`IgƐbVkl:ί2=NRwi?E"÷N^Yb#kMrQxH:l-y!EOrZ]UʭRUz^]]\~(rٖ+{~B"     p<a63/7gMOǒ4b=-~	N8'}Nof''r-,OggS         [      [vorbis    @             OggS          [     ౻<]vorbis   Xiph.Org libVorbis I 20070622      GENRE=OthervorbisBCV   R!%SJcRR)cP[Gc9F!dSI{O*XJRX)ESLSIR)EcSH!S1esKI	%lMtKc1FcZJc1EcRRIs:f%d:Fb|0:B(R-[S-KiasJjc1S(АU    @BCV 
  PEQАU @  EqqG$BCV @    ((#IdYeYy/.   %uBiH)cBEsZsPJX B`9dB9"uJ)%VBB  0H i i       Hhh                                                                           y""       hx		       ()i                                                                    y""       h	x	       (i                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        p  
Y 	 8G  q  q,  ,4  ,K                                                                   8  P
Y	 D E ,4y &   P  `    Hy<MEx"DDy<ӄziuE4(    4%(4d%  `PI<ETUUy(i<OE4Uu!gE3MTUu](i2LSM4Uue*i꺲D4MSU]W(2ETUWu]Y꺲+ TUוeY뺮,6@U]ueٖ뺲,˶ueYm[   @tQe6p(4dE   bJ$BĘPBRR)J*PBHdRRJ
B)%PA(
  ;p  ;
Y	   cI	c9 1sRJs9)%c9眔9sNJs9't9眓RJsI)t9礔R:s 
  lٜ`$А @* q,<OMS$M<MU$I<OMSUy牢(<EQ4MU庢(hJvEOMSU](ETUׅ,¶MS5Uu몪2p]tU    T`'Ec 2  BRJ!BH)R
!    &BCV    !RJ)R"RJ)TI)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RJ)RB @
VG8),4d%   cRj-
! ZV1Z1h9))cAcII)k*Rk-ƚcp-Z1ڃcp-k5 1֚k=!t1֚s=!|͵ZsA!l5sB!|AtAs9 0yp JqBCV  1J1sA!Rjc9!RJ)2ƘsA!RJIu9 PJ)RʘsARJ)%9 B)RJJsA!RJ)RB)RJ)):!RJ)RRK-B(RJ)R
!RJ)RJiB(RJ)RJ)RJ)RJ))RKRJ)JJ)J)RJ)Zj)RJ)RJ))RJRJ)RRj)Z)RJ)RJ)RJ)RJi-Zk)RJ)Zj-R*RJ)    #*-N3<G2L@      ( @       f !Aa"  @         OggS   (      [     )sloaYkf\d^c`mqhad^dcfY62gOY]bD>:z|wvtxbeQTը*RQQa(nWN,f&3fX\^\mX0ˌ/lf2BJ!fvXlgs V_v_ Ysʎ ^'_'`ke_"6   1&ӘdZ`ca°2s`:<\koUy{Zd<'Ә1f0k6\YnɊi, VK<VK<F1l2I Xac4!`{Z&eXsan.ٲ*ncXsjic`6n|wI? Vܟ_YU"EDUDVZ   pP	1b9cy,{X`0v3yZضE-.,ʂ}sp   @L(Zk7Zk70d̪]c4
18k5kp 3k35لZ3X}QY$I1L+n}càA^kWdƚmb,y I&1V  `jLsZ+4ۄbZbaaV x 1c%Ksn /66 VNoVNoX1mF  "t"N&t6\1W s̕`e1kZޟ1 F
 s8tfX́Yƌml} p`lVC.d1BZVj[
"J21 sii4sqNl}6<͚1k}7}۬,.ly  ZkD2ć8 !kɶU;   Ȥ!HZD2ҜsbeK\6`kƘo5pØa-s๛c Zkdƚ9mU!32І6 b" XuՕV1U*\^\`~b,q8,<g3Rjaf;8ff,˲,XtZP?fD+TJ$D  XCf309d%,1z<Ð}QҶngžϚ-c-fll^k/Q/ȌYm,1J%I  n1V1ciaX2\^1dTV~?`Zk,DJk-XkVQ<zZyV]WmV$MJ#  V+昃cs̱rŔŅa}kX@YM|l=nU?ܩ99<8tf6vZk7Zk7VBDYQAaj    AT1@;X3f֬58<5k9᰿714VaX+,6C ('RM̟RM̟,P#SN%3L2M Ɗ1L+,\Cf֪la,{ afMt'X˚ee,3Zv};;6 5|ӣ|#VkPǌ5Gt:QCr*"N3&I$# X*Vr10kg0u0!Y3YXրBF&lfX8<<\`Ŏ P)^.ޯIQT"D5"#q@ `Ұrmڶ;aŒMb0kxρyˁ19-6nknk&TsT # `լJXkqBbA,Xq?,<0c9c7`K+siX2WØsm ZUͳ-ȪيȌ$%0ʤ@&HdWkf`,1X90kaq0ceakmcl,Uffb{e ^Po^PoEU  dR)R$d*	p8pmceXX\4;rlk-3k%VG7mt[`-k;  (ZPo?ZPo?l:Պ@lf!U biqՅE"pƁ3fYffZ0}Amp0Xc̜XsL4mö 	^CWd2+"2JjuBTqtIH$$L:iLb`6mfvk1 c\901;m6 P ' e	e(PV׬5W
 ؎8FG	 `Ŋ9s\i11e k ŬCff͡u찁 __ X f f `8.8[ 6  ` `8^##P :  6:t8 `
 +  jOQ|
PVT*j檪c :xcL0񿃵c~ϟsNs\9Ǎ?p`wNGmTH&o  
If4" V.8uʅ3W&8    X ; v     sMˌ&o  VU dV  s	66KGՕ}   V`  Crb6aa fXr <s`AEUYǼ XЁ,I"     X8u6Μ    m6ng  8āp,VXj |<co  F5  ;;ZXXc5 ; qxxp }f}gv  !=#eHdAʚ*H `q}o;; jY-X	%8       s  ̌y@  X24T   ""3[D8:ա8qf:eo X	  w{p  ce @ 4T j;;;8sܡ:[7;;!+  ؀<x n65< DeZ+USU1Xƫ+W\8g-/wѮldfVXZXM2F$ѵkkV۶mA2m6̶m3+oڮZqnv+"B`w
2St2S5-l&I%I;ĘK+VXbZIdĘLӅVNX63M23M4Mfy&V]`.nAfvNF7^y?|kf~AΚ۾^kc)nPPfʲ  !:8YfX9iv,fms+vypJ2V{$ntt:حզ4Y=pxٻuЮ-&
 /*u=vVk&b嘱f"t:kT:d& 	]XZ\5\K+2\5.uI3H֘1qVޮjtNRaq,jW,ɢcl==Ԏ-x!1LZ-FFv "13Y'ɠ2NűrieαbjV4Xe噅3sjR3-KL[jt>meeVפcu+HbΒ8R^krǌ5[#t"FCF1MTt&LǪcayd+\ZZ\4W,̑K˩"sl{lleje"4Y}Kk%0:8XC̬cdF&+sɾ+_5R RPL)VN&
PK,\qQ
+:dd4DL B ouD̈iiTɖJV"&RWKS"Z EVPVP&e"k"ZÊ9DB( UlX2b.~\X1ҊVW,2]{]ϛOt.&#+2bLge{xl[g2уŔfګ)@OggS   H      [     X v{y||yutuovv~tpZk/1-ɌQjT+  "HtpB1Ml&&Yd?X=8Xa*cKcm#MWMFd:BQ[w.tifCbW,le@W VNϼVNϼ<#EVeY̨E ՊQ1(!$#>E:uvXꊥͱc.tkedVPڪkEtfRIj73+kKBWI.DRHm @ V+G"BEuDAv
A1@ٹ*KbڮpVc_:vJKI{ibs宜v1+,!2B-2{WVM̟y?dʢ(J2jU:pVQ@檋[,ͅv2YAs05+۔iђ,j%m֨iJCQcaRй`abd]X\u.ւű6CζlIf*FRP̟?6E
+'Lʁl"@XZ92XM,1XsvX1WFJW.B4-!t%VGsĘ"ɊjڛͶI=6wdK72hfk*f6b&,*2CMUQ!
12H4+v5+W4W]bta.tq1K֭[mV+YI3bM[cn{5UWtye4W؅厬}Gg@p?<V?oѵZk-;v:)N6	""E:HR4l" f	ծ\XMWvjva&cEJj9c8'>L-:Ef/gkgʅ1ǜcLRn]]f뒙؛JfLXk&ʖ2lӽf<L?I,*d][Av$DsałjXKKWvaq.Ic*]bjVg~HmkiVgnYڮ>eM>kS0-۞DU=LGlzi4PXj5tL"ՎծrW:FǒX\Ҫm6ݶfLGraiyՙΌ!+iH:+atqEf쬵v[df֦ISi+/򩎕=ٷv^kWc)f,YRR0R  	BRXsM,,XK+gW$sT,cm?Y=<HflSWk@ZE;`"a[[ae/ l`ZOW?'櫟V_}E aG"d$J8b$HFP)$ m.,Z}0i6c	_
Z9,Y+lv_AV1Wkd1ckK^kP/ǌ5[IVPEYQP &
9BFLWU]ގ9lqӪfi=Ki-#+4g M#AZOϼyDBU%Κa:DMHTȶTL*M"D6dIDA$S )
k`Ϟ
9&MWTثjJA+Hml`]i΅=̭VP_[A1odERԨHEV*eՊ   8*8`u\X삅+dj$ciZilٷ%Is:|jl,IemԬSd1m]5vZP_kA1oRYYPmV"Q8"h+V-,ryq./.l=keV
)eLg`Zlu8Ȗv Z.$3\_AP(,JEYFtQ  dJ(b̪sf&.,GeU:WY+&3̎d6ɚ=$m5Ş1ʅűj=U VNQAu:EY5"8!HQ0#'XJ,.--~y9!sZd2Jkۂ$݁vñ=42Ae:ko9̶f]{zE`A[AVLY11gYFEEuj]cBP U,--cgYE]XcfiBb83k-l`4V9ѹXiqy\I[+1$cJW	Ehj=V?d̨]  LeS1v2LdRY4`1Yt[59Jd_%I0"+V̖Lˡ]uX\ٺe zjmDĸ ^k*+2cM;@רHՊ
  8d$21!&H:PzyαйjWԊQ]J2W]\jUۤUgX^TЕDPM-f0fv2H,e];[BWZۆe  [nC8v1C&TQ2#:Btl*M0bb5+,.NciiqqeV3WI:XXQsai.p7{ڶ{KZ]ڝ`kI}u`qqiZ:ih%R<C:9_cb틶keۆ$3nsrLy3uL.iUM3d4LiItsjV+Wd-XCi7ޙlkeofNfgEc$][f[I9hJbm=44vs\[]V}|^ϐ![?,(E`X5#RHSE4 k6R,v5Vcl톘hb
-bKXk-]+I&{趶pdStmE U*侭iJ bk8e1ǌ5Iu,TYeED/,Y8Ő&C*  ,ʬ4t,ΥUVH;VvTڥ{LH&ٵayLc\c
#+3,Lc&`_^M;7aj$  @	B6v"$4xiF39ʕ.-΅ŌtaѶס%G}8H$bеZP;Mtr,gEWι01$d  AءZYZkǌ5[oҦ]hL2,J'!TV HWR6cqŕYei\\ZH0$ӊsqbDlZRLT`mrЎYuydA-bH$ɝ|bk7Q1ǌD_w٤N%)L&@*YLկXRkH0	6A&M[JWk Ē@fV:RfmQ]jP̗jP̗ֵ+E0v孄l8L@Dib"I% Xuqq°r誫2$KkWL#Y;mF++ЅťKbf`mö}>YVF
P5RQѹQ#@T
Ah(E9jiqd5BX,-2ʱ<-,sr,&_4WACFhM28:RںeٴkudtﵯvoZ+V\ٙmtV7D9s38Vfհs,UtsIȒ"ɌqpjnAWfiծ\[ej:hiXvi=D=ݺ<Vo3VE&kZ[&M${gb-pv\2ju?-k5O >쇏%}kհyK>S!*dT"ƴc&L&ha.f,K\Dupxn3Mk[w˶WgJR3wثADdlnVcY.HVL+-e)sť9eZ9VEY4g  bUx"#FI9dgCcZu.XJ2W]\Z^4ˋƲB0W	cia:jr0V'6{fff̻JZ%Jhmle&lba..-,،U,Zڙm֒ OggS   d      [      |VckٱԵGTKdDHt5l[FDJdIJHsKs.6sB+fXdQ!IdoǾlױ^6]d&>aItTA..id9q:b.wba bdJ _w/Ȼcl`PZm;J)NTeD*l6˫Z\12✳iJ"d)didVd=ka-	OM=T:+AzБ,Z\b.ceՌ+:҅4쪖2jlԅg bPuY13FDr!$ɤɴS4D+JZ&խ\\hvaX\JKK2e+Fɘm[:"5k"[;HSM1Kmi:a::@YsZe5K,./.8XmWfQ83T#H%4d:d2I:dJ)Dfuc+V:IW:kj6kgFfj[r*&seimI*$nQE>]e+֡},.r\Rʕ+mrR(q)cedJ}`&vI%ClL(d*DIʄsB`I⠕{,`^3j_͐l]%⬪5[۞[iVSӢEstɊX]Xʌ=ed Ҵ\BV̨T҉LڊJf"Y.s媋s̅K:FXzp`;hIӮ5-..9;s.Εs\^\^ZݻZ&wpD)1,,,,--mYZZXزbҖ-+VYXe,,A$ӴV۵w_]k UrdAP2D:MdH%HMլvaѕY,,2Kc˰֐>hDh*v۷Yۚ5y//5͚fm{5k۷Ji*M>`mmYG)Mvef"Db\݅d	;R	+%S$MI[+,/-\[3$p=ݳj.Me]r1#ɪ7aY-Y\܅9sXXfy24R32WU4:̘ 匣j9h3KZ#1D&aeX.,fyca4m֞mf[{+ǈ94ҕ+J3X5AgoҎZIvJv3[M>:80ԅ9muim&+XLc93 Qtmjti4feT֑ʕX^Fn9keuEZ9X]t_k>+Yc\ȢYii	):rl>-{'e˲0rŕcirV1+V,ٌ tR5R;b2b:LǬSD&Ct:K$dB+Gֵi;ݣ:hmm.˱`չb1ʥtk(I36Ռv:fd+Ljcq1K]̊4gFrإUW.cckQBIr|cV;RNF)$Ht4Jt:(!9MxsX(Sf5sqĪs=XiٗFY\12޵=at_4ѧ|$3:H k2}f6+GꊑX\^
3: d'c"	t0R.'I'4NIP*$3]l+338VYEuARl8no3L,VSYKm:++)iCAsgV蚭ۊXfaqzfSQ UmX}at;L*D&m%31dY)L8rX^LWcM-fvt!ե,IpZfEt5fdd_Bk)KY抡2B-,f,˂+f%'cya!KsőE:]YY Hڪ,+@G5jLH*A"NҙSI]9%$cXJbv)9jVbKeکd.jfFtE5#9\{>g:a65cqU共4ǜcył.XJ  xIr]k2lH:c+tzjc]ea_9k5$s,Pkta+G誋42%DWᚌaf1NbfvKW-Z#cq.⡐.3ɾ329dEg̮5*IV./.2Vvmb͊x6P ~߸$Fβ,e	1Jt6*LGTBʤCʙdHTRR&)peb+ebCٮ}VCi:є)ݦ&{j31啋3\cRűbI+V,ͮ<Uj.8k1k B"DiJ଒!N1*: pLTzferW?JX+I{8=l[wva̬}l^v2Y";j7Ӄu̾/X\c+X9ǂ9&Oh ka"t%fRA"Ĥ$1JɄWY؅aqqaf`qserڎs,t1,Iw5MDksXliq1K+W.2
3cqya5Y4rbbWe]]IrAwR#992ɘC"dILZ1T2іƊKtQgVYKmUR#3IEar
cFajے%fHi,s#m&Q=̠{Y]b.d&VCǲ=d3[x8^iN2"v@:H%SʠDH*N$C:tV]⒥fqaiv
cUZI+M,غ&d9L֬&j-Yk4Zmyk&Yۡ\,,\cK*MVtӴ	 x@XCJlvI!N;cHBHd6ʘqs9+ܕKCJ4bMntLBWu`~e;Vw[5}g2#Y9cXBg_%.1ˋKK窖XJm[31+ IHIHkl"J!e#*+V*<VlVڥs]LYY]ÃٛnV;ƶXӦcc6Q)T͞DuVWrhׁ],XjrF\^ZXY\\MW0.9s>+ a[0`&ɥF5!B0VdacyEW,Ғ΅.,e1z9hjd_KFSaY&XIm#H:'Ri\ԕɢrdՅ&sŴ8+V,v,v5\X2̹BrAG vto:Gd-RAbp01fRPȦHę~./UƊJf4,gm-ʴ2f{f{}Zda$K4dk+5v116k;w;̲b&+,0V,(* BB,I59$181%L\iu:V.--Fٺٍt[=鶚%+YN:sue]\ZYB;Ivwe5mO;P+,ѥ1lh͕ҽkIB~c7Fnf	2uj H1*bTFfӑXuaUW?Vй6*}u;HY%s,aZHr.,F*[j	"i!m}%'fHӱBزM:Al9}.[&~c$7F2z"tNZY%	YBƉL6arEe.,1Br+9N;tiug24 ֬k6}K%mX?Jgu[g7٧-kH匹r.dqC0t OggS r      [     Dz^gX\&0숶1
L:rV	'HG%BHRLĬR!mWNǬ5Y sc]lvug2I8E5Tو5TM6{ᚃWd.,ՂEK+F29Xid-  z&,H0#H.(l23i;ٌ3	2T2d	TpQ˲rª]ZY߲u*[> +kj10iLV1U:k_aؓս7$m;U,.stAe5Uv6\kCm	-NYYL6DRDpF⊬U\9da,tqacq,e++f]6WuoV5LbVrolMV;Mlq>~[M$tSGrx<|hqE.,wUzίm2uP;[Lz a_a_º#hKV]c:VαrZXZXbaa$]\\r9VXer֬fOL1253[6IbE:mVEm%"+#&8$m-Y0VibadiqaKK+Vd1fUQt  ~/l/6b"*I.gҙT&L)&2.,cq̌Ņ}:i_%shdM"͊Y&I.ͅ1Y˫{:5kގF: v[eANMim6[L#S*T,CN]^XL-͹3sqLs,X^2-
Z:Jkk1]98sEWdfaKgTKg3;ѝ]2+XZiqY2]<Y\JMmf}uNC* [pKb[56STkKk]Ltk6ٲjrle.Xܲm^GSuAffZ閙ծi,s:8~Yk*=pYq*5saF(+̅UWZ˫,sjWL1i4$ Q֪a!JFf3"C*B!l"ʱir\Ld!vsumS[2{&VJHۑU6
=>Lz$okLb[t[``eAqpxp8]d_wegma P!F
t
#Z	JgDXM+#^u\бi~fuXX[4ۮecAa̹bMe*6ݏDWmfKf:IVYj.\0c!#*31	P"TbKd۩DJPOeSPgi3;찚,-\aXm$ic]ٹh!YZM3{Mh=:ɤ+5m,bű8rV;f23RLv3=DP҂PPu[.6]CMBy-Y
v"1WfBfWuBs,sdo92ҡcVڎrnfaVp%ܵbV`G0Ƭ6L.cE2ŎbAWVâ-tkl1rΙ1$~PPu?(kP-RQ%rmԶ*M@y޴GEL&-\!Eivk s&s夝5LNI֮ۊU=PCzt[6#Y93R1:,v1ʶV52bb  TB#i[Mt5s3RI2viu+b4cmqեCsqŰv6,,..cԨtyْ:XlXFk-hme9dI:;0r3ԁ}fe͊}e_ Oxme:%2Ō1(Y^AT
8IV*+bi6\j%sfJmIdì093+ŌoIT:t=J:d#1W,7ʮv5dulY]KGҬ!= IogdA"#5kmIYL^kٻ[\?8ܮ}]ݪѮU+V]euڷ4͚5k:kVtVjۚYfq"kV*k;Oi!kۧٷ}mU*52_^e۾cʚ}[h4+||<?xml version="1.0" encoding="utf-8" ?>
<Project name="TvT_BreakingContact_project">
     <Package name="TvT_BreakingContact_package">
          <Container name="mission briefing">
               <Key ID="str_GRAD_story">
                    <Original>Cold war is at the brink of turning hot. CIA has gathered information about so called 'nationalist separatists of Russian origin' who became hold of an military radio truck. They plan to transmit control commands to obsolete russian satellites, spinning them into GPS-satellites, thus disabling NATOs eyes and ears. Even though Moscow denies to have a part in this, uniforms and equipment of the rebels speak another language. Stationed US troops have to strike hard and fast before its too late.
                    </Original>
                    <English>Cold war is at the brink of turning hot. CIA has gathered information about so called 'nationalist separatists of Russian origin' who became hold of an military radio truck. They plan to transmit control commands to obsolete russian satellites, spinning them into GPS-satellites, thus disabling NATOs eyes and ears. Even though Moscow denies to have a part in this, uniforms and equipment of the rebels speak another language. Stationed US troops have to strike hard and fast before its too late.
                    </English>
                    <German>Der Kalte Krieg ist kurz davor, heiß zu werden. Die CIA hat Informationen über sogenannte 'nationalistische Separatisten russischer Herkunft', die in Besitz eines militärischen Kommunikations-LKW gekommen sind. Mit dessen Hilfe planen sie, Steuerungskommandos an ausgediente russische Satelliten zu senden, diese auf Kollisionskurs zu GPS-Satelliten zu lenken und so der NATO Augen und Ohren zu nehmen. Auch wenn Moskau eine Beteiligung zurückweist, sprechen Uniformen und Ausrüstung der Rebellen eine andere Sprache. Stationierte US-Truppen müssen jetzt hart und schnell zuschlagen, bevor es zu spät ist.
                    </German>
               </Key>
               <Key ID="str_GRAD_briefing_1">
                    <Original>
                         US has to find and destroy the Russian radio truck before it ends its transmission. Russians have to protect their truck.
                    </Original>
                    <English>
                         US has to find and destroy the Russian radio truck before it ends its transmission. Russians have to protect their truck.
                    </English>
                    <German>
                         Die Amerikaner müssen den Funkwagen der Russen finden und zerstören, bevor er seine Übertragung     abschließen kann. Die Russen müssen ihn vor diesem Schicksal bewahren.
                    </German>
               </Key>
               <Key ID="str_GRAD_briefing_2">
                    <Original>
                         Both sides can choose from a selection of vehicles to buy at their base (ACE-Interaction). Buying is only possible for Commanders though. While US troops rely on mobile light vehicles and air superiority, Russians have more heavily armored toys to play with. For each player on the server there is a small bonus in money.
                    </Original>
                    <English>
                         Both sides can choose from a selection of vehicles to buy at their base (ACE-Interaction). Buying is only possible for Commanders though. While US troops rely on mobile light vehicles and air     superiority, Russians have more heavily armored toys to play with. For each player on the server there is a small bonus in money.
                    </English>
                    <German>
                         Beide Seiten können eine Auswahl von Fahrzeugen an ihrer Basis kaufen (ACE-Interaktion). Kaufen ist nur für die Commander möglich. Während die Amerikaner sich auf leichte, mobile Fahrzeuge und Luftüberlegenheit verlassen, haben die Russen stärker gepanzerte Fahrzeuge zur Verfügung. Für jeden Spieler auf dem Server gibt es einen kleinen Geldbonus.
                    </German>
               </Key>
          </Container>
          <Container name="tasks">
               <Key ID="str_GRAD_classicTaskTitleOpfor1">
                    <Original>Transmit on %1 locations for %2 min each.</Original>
                    <English>Transmit on %1 locations for %2 min each.</English>
                    <German>Übertrage an %1 Punkten für je %2 Min.</German>
               </Key>
               <Key ID="str_GRAD_classicTaskTitleBlufor">
                    <Original>Destroy the radio truck</Original>
                    <English>Destroy the radio truck</English>
                    <German>Zerstöre den Funkwagen</German>
               </Key>
               <Key ID="str_GRAD_classicTaskTitleBlufor_conquermode">
                    <Original>Destroy the transmitter, dont destroy the truck.</Original>
                    <English>Destroy the transmitter, dont destroy the truck.</English>
                    <German>Zerstöre das Funkmodul, nicht den Funkwagen.</German>
               </Key>
               <Key ID="str_GRAD_classicTaskTitleEliminate">
                    <Original>Eliminate enemies (alt. objective)</Original>
                    <English>Eliminate enemies (alt. objective)</English>
                    <German>Feinde ausschalten (Alternativziel)</German>
               </Key>
               <Key ID="str_GRAD_classicTaskDescriptionOpfor1">
                    <Original>Transmit on %1 locations for %2 min each and defend the truck or the terminal. Transmission can be interrupted, you dont have to stay at one place.</Original>
                    <English>Transmit on %1 locations for %2 min each and defend the truck or the terminal. Transmission can be interrupted, you dont have to stay at one place.</English>
                    <German>Übertrage an %1 Punkten für je %2 Minuten und verteidige Funkwagen oder Terminal. Die Übertragung kann unterbrochen werden, du musst nicht an einer Stelle bleiben.</German>
               </Key>
               <Key ID="str_GRAD_classicTaskDescriptionOpfor2">
                    <Original>Alternatively eliminate all American forces in the area.</Original>
                    <English>Alternatively eliminate all American forces in the area.</English>
                    <German>Schalte alternativ alle amerikanischen Kräfte im Gebiet aus.</German>
               </Key>
               <Key ID="str_GRAD_classicTaskDescriptionBlufor">
                    <Original>Cancel the Russian transmission by destroying their radio truck or terminal before they can transmit for %1 minutes.</Original>
                    <English>Cancel the Russian transmission by destroying their radio truck or terminal before they can transmit for %1 minutes.</English>
                    <German>Beende die russische Übertragung durch Zerstörung des Funkwagens oder Funkmoduls bevor sie %1 Minuten senden können.</German>
               </Key>
               <Key ID="str_GRAD_classicTaskDescriptionBlufor2">
                    <Original>Alternatively eliminate all Russian forces in the area, before they complete their transmission.</Original>
                    <English>Alternatively eliminate all Russian forces in the area, before they complete their transmission.</English>
                    <German>Schalte alternativ alle russischen Kräfte im Gebiet aus, bevor diese ihre Übertragung abschließen.</German>
               </Key>
               <Key ID="str_GRAD_classicTaskDescriptionOpfor_conquermode">
                    <Original>Prevent the radio truck from getting destroyed or fallen into enemy hands.</Original>
                    <English>Prevent the radio truck from getting destroyed or fallen into enemy hands.</English>
                    <German>Verhindern Sie, dass der Funkwagen zerstört wird oder in fremde Hände fällt.</German>
               </Key>
               <Key ID="str_GRAD_classicTaskDescriptionBlufor_conquermode">
                    <Original>Cancel the Russian transmission and capture their radio truck or terminal (ACE-Interact). Do not destoy it in any case! Transmissions must take place on %1 locations for %2 min each for Opfor to win.</Original>
                    <English>Cancel the Russian transmission and capture their radio truck or terminal (ACE-Interact). Do not destoy it in any case! Transmissions must take place on %1 locations for %2 min each for Opfor to win.</English>
                    <German>Beenden Sie die russische Übertragung und erobern Sie den Funkwagen oder das Terminal (ACE-Interact). Zerstören Sie es in keinem Fall! Die Übertragung muss an %1 Orten für je %2 min stattfinden, damit Opfor gewinnt.</German>
               </Key>
          </Container>
          <Container name="mission setup">
               <Key ID="str_GRAD_spawn_on_water">
                    <Original>Spawn on water not possible</Original>
                    <English>Spawn on water not possible</English>
                    <German>Im Wasser spawnen unmöglich</German>
               </Key>
               <Key ID="str_GRAD_choose_spawn_location">
                    <Original>Choose Spawn</Original>
                    <English>Choose Spawn</English>
                    <German>Spawnpunkt wählen</German>
               </Key>
               <Key ID="str_GRAD_choose_spawn_location_road">
                    <Original>Spawn must be on road!</Original>
                    <English>Spawn must be on road!</English>
                    <German>Muss auf Straße liegen!</German>
               </Key>
               <Key ID="str_GRAD_choose_spawn_location_hint">
                    <Original>&lt;t align='center' color='#80ffffff' size='0.7'&gt;In case you close this dialog by accident, reopen with [SPACE]. Spawn will be on nearest road to selected point. Thus its wise to choose a road beforehand. &lt;/t&gt;</Original>
                    <English>&lt;t align='center' color='#80ffffff' size='0.7'&gt;In case you close this dialog by accident, reopen with [SPACE] ! Spawn will be on nearest road to selected point. Thus its wise to choose a road beforehand. &lt;/t&gt;</English>
                    <German>&lt;t align='center' color='#80ffffff' size='0.7'&gt;Wenn Du diesen Dialog aus Versehen schließt, kannst du ihn mit [Leertaste] neu aufrufen. Spawn ist auf der dem selektierten Punkt am nächsten gelegenen Straße. Wähl also am Besten direkt eine aus.&lt;/t&gt;</German>
               </Key>
               <Key ID="str_GRAD_buy_vehicles">
                    <Original>Buy Vehicles</Original>
                    <English>Buy Vehicles</English>
                    <German>Fahrzeuge kaufen</German>
                    <French>Sélectionner des voitures</French>
               </Key>
               <Key ID="str_GRAD_disable_vehicle">
                    <Original>Disabling Radio Equipment</Original>
                    <English>Disabling Radio Equipment</English>
                    <German>Funkequipment zerstören</German>
               </Key>
               <Key ID="str_GRAD_disabling_radio">
                    <Original>Disabling radio equipment...</Original>
                    <English>Disabling radio equipment...</English>
                    <German>Zerstöre Funkequipment...</German>
               </Key>
               <Key ID="str_GRAD_jip">
                    <Original>Sorry, you joined too late. Spectate and enjoy!</Original>
                    <English>Sorry, you joined too late. Spectate and enjoy!</English>
                    <German>Du bist zu spät und musst zuschauen!</German>
               </Key>
               <Key ID="str_GRAD_spawnTooClose1">
                    <Original>Sorry, Spawn too close</Original>
                    <English>Sorry, Spawn too close</English>
                    <German>Sorry, Spawnpunkt zu dicht</German>
               </Key>
               <Key ID="str_GRAD_spawnTooClose2">
                    <Original>Must be at least </Original>
                    <English>Must be at least </English>
                    <German>Muss mindestens sein: </German>
               </Key>
               <Key ID="str_GRAD_spawnTooFar1">
                    <Original>Sorry, Spawn too far away from objective</Original>
                    <English>Sorry, Spawn too far away from objective</English>
                    <German>Sorry, Spawnpunkt zu weit weg vom Ziel</German>
               </Key>
               <Key ID="str_GRAD_spawnTooFar2">
                    <Original>Must be at max </Original>
                    <English>Must be at max </English>
                    <German>Darf höchstens sein: </German>
               </Key>
               <Key ID="str_GRAD_hint_bluforSpawned">
                    <Original>BLUFOR spawned. OPFOR may now spawn vehicle.</Original>
                    <English>BLUFOR spawned. OPFOR may now spawn vehicle.</English>
                    <German>BLUFOR ist gespawned. OPFOR kann jetzt Fahrzeug spawnen.</German>
               </Key>
               <Key ID="str_GRAD_hint_opforSpawned">
                    <Original>OPFOR spawned. BLUFOR may spawn now.</Original>
                    <English>OPFOR spawned. BLUFOR may spawn now.</English>
                    <German>OPFOR ist gespawned. BLUFOR kann jetzt spawnen.</German>
               </Key>
               <Key ID="str_GRAD_transmissionTime_1">
                    <Original>The Russians already sent </Original>
                    <English>The Russians already sent </English>
                    <German>Die Russen haben schon </German>
               </Key>
               <Key ID="str_GRAD_transmissionTime_2">
                    <Original> %.</Original>
                    <English> %.</English>
                    <German> % gesendet.</German>
               </Key>
               <Key ID="str_GRAD_lastTransmission">
                    <Original>Last transmission</Original>
                    <English>Last transmission</English>
                    <German>Letztes Signal</German>
               </Key>
               <Key ID="str_GRAD_endPlacement">
                    <Original>End Placement</Original>
                    <English>End Placement</English>
                    <German>Keine Objekte mehr platzieren</German>
               </Key>
               <Key ID="str_GRAD_carry_place">
                    <Original>Release</Original>
                    <English>Release</English>
                    <German>Ablegen</German>
               </Key>
               <Key ID="str_GRAD_carry_hint1">
                    <Original>At max you can move this boat for</Original>
                    <English>At max you can move this boat for</English>
                    <German>Sie können dieses Boot maximal</German>
               </Key>
               <Key ID="str_GRAD_carry_hint2">
                    <Original>using all your strength.</Original>
                    <English>using all your strength.</English>
                    <German>bewegen, verbrauchen dabei ihre Kraft.</German>
               </Key>
               <Key ID="str_GRAD_preparationTime_countdown">
                    <Original>Game starts in: &lt;br/&gt;%1</Original>
                    <English>Game starts in: &lt;br/&gt;%1</English>
                    <German>Spielstart in: &lt;br/&gt;%1</German>
               </Key>
               <Key ID="str_GRAD_preparationTime_start">
                    <Original>Game on!</Original>
                    <English>Game on!</English>
                    <German>Spielstart!</German>
               </Key>
          </Container>
          <Container name="mission_end">
               <Key ID="str_GRAD_winmsg">
                    <Original>Mission ends now</Original>
                    <English>Mission ends now</English>
                    <German>Mission wird beendet</German>
                    <French>Mission est fini</French>
               </Key>
               <Key ID="str_GRAD_winmsg_points">
                    <Original>OPFOR wins! All propaganda transmitted.</Original>
                    <English>OPFOR wins! All propaganda transmitted.</English>
                    <German>OPFOR gewinnt! Propaganda vollständig ausgestrahlt.</German>
               </Key>
               <Key ID="str_GRAD_thankyouforplaying_opfor">
                    <Original>OPFOR wins!</Original>
                    <English>OPFOR wins!</English>
                    <German>OPFOR gewinnt!</German>
               </Key>
               <Key ID="str_GRAD_thankyouforplaying_blufor">
                    <Original>BLUFOR wins!</Original>
                    <English>BLUFOR wins!</English>
                    <German>BLUFOR gewinnt!</German>
               </Key>
               <Key ID="str_GRAD_thankyouforplaying_draw">
                    <Original>DRAW!</Original>
                    <English>DRAW!</English>
                    <German>UNENTSCHIEDEN!</German>
               </Key>
               <Key ID="str_GRAD_transmissionResult">
                   <Original>OPFOR transmitted %1 in %2 minutes.</Original>
                   <English>OPFOR transmitted %1 in %2 minutes.</English>
                   <German>OPFOR hat %1 in %2 Minuten gesendet.</German>
               </Key>
               <Key ID="str_GRAD_thankyouforplaying2">
                    <Original>Thank you for playing.</Original>
                    <English>Thank you for playing.</English>
                    <German>Danke fürs Spielen.</German>
               </Key>
               <Key ID="str_GRAD_declareFailedBlufor">
                    <Original>Declare Mission failed for BLUFOR</Original>
                    <English>Declare Mission failed for BLUFOR</English>
                    <German>Mission für BLUFOR aufgeben</German>
               </Key>
               <Key ID="str_GRAD_hint_playback_speed_hint">
                    <Original>Replay Speed:</Original>
                    <English>Replay Speed:</English>
                    <German>Replay Geschwindigkeit:</German>
               </Key>
               <Key ID="str_GRAD_hint_replay_started">
                    <Original>Replay started</Original>
                    <English>Replay started</English>
                    <German>Replay gestartet</German>
               </Key>
               <Key ID="str_GRAD_hint_replay_timestamp">
                    <Original>Ingame time:</Original>
                    <English>Ingame time:</English>
                    <German>Zeit im Spiel:</German>
               </Key>
               <Key ID="str_GRAD_hint_replay_finished">
                    <Original>Replay finished</Original>
                    <English>Replay finished</English>
                    <German>Replay beendet</German>
               </Key>
               <Key ID="str_GRAD_supplyDrop">
                    <Original> Fim92</Original>
                    <English> Fim92</English>
                    <German> Fim92</German>
               </Key>
               <Key ID="str_GRAD_intervalReached_1">
                    <Original>Call</Original>
                    <English>Call</English>
                    <German>Funkspruch</German>
               </Key>
               <Key ID="str_GRAD_intervalReached_2">
                    <Original>finished</Original>
                    <English>finished</English>
                    <German>beendet</German>
               </Key>
          </Container>
          <Container name="GUI_buy_menu">
               <Key ID="str_GRAD_buy_order">
                    <Original>Order</Original>
                    <English>Order</English>
                    <German>Anfordern</German>
               </Key>
               <Key ID="str_GRAD_buy_order_hint">
                    <Original>Order</Original>
                    <English>Order</English>
                    <German>Bestellen</German>
               </Key>
               <Key ID="str_GRAD_buy_disable">
                    <Original>Hide (Disable Spawn)</Original>
                    <English>Hide (Disable Spawn)</English>
                    <German>Verstecken (Spawn beenden)</German>
               </Key>
               <Key ID="str_GRAD_buy_exit">
                    <Original>Close</Original>
                    <English>Close</English>
                    <German>Schließen</German>
               </Key>
               <Key ID="str_GRAD_buy_credits_hint">
                    <Original>Remaining credits</Original>
                    <English>Remaining credits</English>
                    <German>Verbleibende Credits</German>
               </Key>
               <Key ID="str_GRAD_buy_legend_price">
                    <Original>&lt;t color='#80ffffff'&gt;Price&lt;/t&gt;</Original>
                    <English>&lt;t color='#80ffffff'&gt;Price&lt;/t&gt;</English>
                    <German>&lt;t color='#80ffffff'&gt;Preis&lt;/t&gt;</German>
               </Key>
               <Key ID="str_GRAD_buy_legend_count">
                    <Original>&lt;t color='#80ffffff'&gt;Count left&lt;/t&gt;</Original>
                    <English>&lt;t color='#80ffffff'&gt;Count left&lt;/t&gt;</English>
                    <German>&lt;t color='#80ffffff'&gt;Anz. verf.&lt;/t&gt;</German>
               </Key>
               <Key ID="str_GRAD_buy_legend_vehicle">
                    <Original>&lt;t color='#80ffffff'&gt;Type&lt;/t&gt;</Original>
                    <English>&lt;t color='#80ffffff'&gt;Type&lt;/t&gt;</English>
                    <German>&lt;t color='#80ffffff'&gt;Typ&lt;/t&gt;</German>
               </Key>
               <Key ID="str_GRAD_buy_headline">
                    <Original>&lt;t align='center' size='2'&gt;Call reinforcements&lt;/t&gt;</Original>
                    <English>&lt;t align='center' size='2'&gt;Call reinforcements&lt;/t&gt;</English>
                    <German>&lt;t align='center' size='2'&gt;Nachschub anfordern&lt;/t&gt;</German>
               </Key>
               <Key ID="str_GRAD_buy_calling">
                    <Original>Calling...</Original>
                    <English>Calling...</English>
                    <German>Auftrag läuft...</German>
               </Key>
               <Key ID="str_GRAD_buy_plswait">
                    <Original>Please wait.</Original>
                    <English>Please wait.</English>
                    <German>Bitte warten.</German>
               </Key>
               <Key ID="str_GRAD_buy_noleft">
                    <Original>None left</Original>
                    <English>None left</English>
                    <German>Nicht vorhanden</German>
               </Key>
               <Key ID="str_GRAD_buy_tooexpensive">
                    <Original>Too expensive</Original>
                    <English>Too expensive</English>
                    <German>Zu teuer</German>
               </Key>
               <Key ID="str_GRAD_detach_radio">
                    <Original>Detach radio unit</Original>
                    <English>Detach radio unit</English>
                    <German>Sendeeinheit ausbauen</German>
               </Key>
               <Key ID="str_GRAD_detaching_radio">
                    <Original>Detach radio unit...</Original>
                    <English>Detaching radio unit...</English>
                    <German>Baue Sendeeinheit aus...</German>
               </Key>
               <Key ID="str_GRAD_attach_radio">
                    <Original>Attach radio unit</Original>
                    <English>Attach radio unit</English>
                    <German>Sendeeinheit einbauen</German>
               </Key>
               <Key ID="str_GRAD_attaching_radio">
                    <Original>Attaching radio unit...</Original>
                    <English>Attaching radio unit...</English>
                    <German>Baue Sendeeinheit ein...</German>
               </Key>
               <Key ID="str_GRAD_pickup_radio">
                    <Original>Pick up radio unit</Original>
                    <English>Pick up radio unit</English>
                    <German>Sendeeinheit aufnehmen</German>
               </Key>
               <Key ID="str_GRAD_drop_radio">
                    <Original>Drop radio unit</Original>
                    <English>Drop radio unit</English>
                    <German>Sendeeinheit ablegen</German>
               </Key>
               <Key ID="str_GRAD_radio_signalstrength">
                    <Original>Signal strength to relay is now </Original>
                    <English>Signal strength to relay is now </English>
                    <German>Sendestärke ist nun </German>
               </Key>
               <Key ID="str_GRAD_radio_deploy">
                    <Original>Deploy Radio Antenna</Original>
                    <English>Deploy Radio Antenna</English>
                    <German>Funkmast ausfahren</German>
               </Key>
               <Key ID="str_GRAD_radio_retract">
                    <Original>Retract Radio Antenna</Original>
                    <English>Retract Radio Antenna</English>
                    <German>Funkmast einfahren</German>
               </Key>
               <Key ID="str_GRAD_flag_raise">
                    <Original>Raise flag</Original>
                    <English>Raise flag</English>
                    <German>Flagge hissen</German>
               </Key>
               <Key ID="str_GRAD_flag_remove">
                    <Original>Remove flag</Original>
                    <English>Remove flag</English>
                    <German>Flagge entfernen</German>
               </Key>
          </Container>
     </Package>
</Project>
#!/usr/bin/env python3

import fnmatch
import os
import re
import ntpath
import sys
import argparse

def check_config_style(filepath):
    bad_count_file = 0
    def pushClosing(t):
        closingStack.append(closing.expr)
        closing << Literal( closingFor[t[0]] )

    def popClosing():
        closing << closingStack.pop()

    with open(filepath, 'r', encoding='utf-8', errors='ignore') as file:
        content = file.read()

        # Store all brackets we find in this file, so we can validate everything on the end
        brackets_list = []

        # To check if we are in a comment block
        isInCommentBlock = False
        checkIfInComment = False
        # Used in case we are in a line comment (//)
        ignoreTillEndOfLine = False
        # Used in case we are in a comment block (/* */). This is true if we detect a * inside a comment block.
        # If the next character is a /, it means we end our comment block.
        checkIfNextIsClosingBlock = False

        # We ignore everything inside a string
        isInString = False
        # Used to store the starting type of a string, so we can match that to the end of a string
        inStringType = '';

        lastIsCurlyBrace = False
        checkForSemiColumn = False

        # Extra information so we know what line we find errors at
        lineNumber = 1

        indexOfCharacter = 0
        # Parse all characters in the content of this file to search for potential errors
        for c in content:
            if (lastIsCurlyBrace):
                lastIsCurlyBrace = False
            if c == '\n': # Keeping track of our line numbers
                lineNumber += 1 # so we can print accurate line number information when we detect a possible error
            if (isInString): # while we are in a string, we can ignore everything else, except the end of the string
                if (c == inStringType):
                    isInString = False
            # if we are not in a comment block, we will check if we are at the start of one or count the () {} and []
            elif (isInCommentBlock == False):

                # This means we have encountered a /, so we are now checking if this is an inline comment or a comment block
                if (checkIfInComment):
                    checkIfInComment = False
                    if c == '*': # if the next character after / is a *, we are at the start of a comment block
                        isInCommentBlock = True
                    elif (c == '/'): # Otherwise, will check if we are in an line comment
                        ignoreTillEndOfLine = True # and an line comment is a / followed by another / (//) We won't care about anything that comes after it

                if (isInCommentBlock == False):
                    if (ignoreTillEndOfLine): # we are in a line comment, just continue going through the characters until we find an end of line
                        if (c == '\n'):
                            ignoreTillEndOfLine = False
                    else: # validate brackets
                        if (c == '"' or c == "'"):
                            isInString = True
                            inStringType = c
                        elif (c == '/'):
                            checkIfInComment = True
                        elif (c == '('):
                            brackets_list.append('(')
                        elif (c == ')'):
                            if (len(brackets_list) > 0 and brackets_list[-1] in ['{', '[']):
                                print("ERROR: Possible missing round bracket ')' detected at {0} Line number: {1}".format(filepath,lineNumber))
                                bad_count_file += 1
                            brackets_list.append(')')
                        elif (c == '['):
                            brackets_list.append('[')
                        elif (c == ']'):
                            if (len(brackets_list) > 0 and brackets_list[-1] in ['{', '(']):
                                print("ERROR: Possible missing square bracket ']' detected at {0} Line number: {1}".format(filepath,lineNumber))
                                bad_count_file += 1
                            brackets_list.append(']')
                        elif (c == '{'):
                            brackets_list.append('{')
                        elif (c == '}'):
                            lastIsCurlyBrace = True
                            if (len(brackets_list) > 0 and brackets_list[-1] in ['(', '[']):
                                print("ERROR: Possible missing curly brace '}}' detected at {0} Line number: {1}".format(filepath,lineNumber))
                                bad_count_file += 1
                            brackets_list.append('}')
                        elif (c== '\t'):
                            print("ERROR: Tab detected at {0} Line number: {1}".format(filepath,lineNumber))
                            bad_count_file += 1

            else: # Look for the end of our comment block
                if (c == '*'):
                    checkIfNextIsClosingBlock = True;
                elif (checkIfNextIsClosingBlock):
                    if (c == '/'):
                        isInCommentBlock = False
                    elif (c != '*'):
                        checkIfNextIsClosingBlock = False
            indexOfCharacter += 1

        if brackets_list.count('[') != brackets_list.count(']'):
            print("ERROR: A possible missing square bracket [ or ] in file {0} [ = {1} ] = {2}".format(filepath,brackets_list.count('['),brackets_list.count(']')))
            bad_count_file += 1
        if brackets_list.count('(') != brackets_list.count(')'):
            print("ERROR: A possible missing round bracket ( or ) in file {0} ( = {1} ) = {2}".format(filepath,brackets_list.count('('),brackets_list.count(')')))
            bad_count_file += 1
        if brackets_list.count('{') != brackets_list.count('}'):
            print("ERROR: A possible missing curly brace {{ or }} in file {0} {{ = {1} }} = {2}".format(filepath,brackets_list.count('{'),brackets_list.count('}')))
            bad_count_file += 1
    return bad_count_file

def main():

    print("Validating Config Style")

    sqf_list = []
    bad_count = 0

    parser = argparse.ArgumentParser()
    parser.add_argument('-m','--module', help='only search specified module addon folder', required=False, default="")
    args = parser.parse_args()

    # Allow running from root directory as well as from inside the tools directory
    rootDir = "../addons"
    if (os.path.exists("addons")):
        rootDir = "addons"

    for root, dirnames, filenames in os.walk(rootDir + '/' + args.module):
      for filename in fnmatch.filter(filenames, '*.cpp'):
        sqf_list.append(os.path.join(root, filename))
      for filename in fnmatch.filter(filenames, '*.hpp'):
        sqf_list.append(os.path.join(root, filename))

    for filename in sqf_list:
        bad_count = bad_count + check_config_style(filename)

    print("------\nChecked {0} files\nErrors detected: {1}".format(len(sqf_list), bad_count))
    if (bad_count == 0):
        print("Config validation PASSED")
    else:
        print("Config validation FAILED")

    return bad_count

if __name__ == "__main__":
    sys.exit(main())#!/bin/bash


if [[ `command -v sqflint` == "" ]]; then
    echo "cannot find sqflint :( aborting…"
    exit 255
fi

THISDIR=`dirname $0`
PROJECTDIR=${THISDIR}/..

while getopts 'd:C:' OPTION; do
  case "$OPTION" in
    d)
      PROJECTDIR=${OPTARG%"/"}
      ;;
    C)
      WD=${OPTARG%"/"}
      ;;
    ?)
      echo "script usage: $(basename $0) -d project_directory [-C temp_dir]" >&2
      exit 1
      ;;
  esac
done

if [[ ${WD} != "" ]]
then
    BUILDDIR=${WD}/`date +%s`
    mkdir -p ${BUILDDIR}
    cp -r ${PROJECTDIR} ${BUILDDIR}
    pushd ${BUILDDIR}
else
    pushd ${PROJECTDIR}
fi

bash ${THISDIR}/preprocess.sh -d ${BUILDDIR} -p
EXITCODE=$?
if [[ ${EXITCODE} != 0 ]]; then popd; exit ${EXITCODE}; fi

sqflint -d . -ee
EXITCODE=$?
if [[ ${EXITCODE} != 0 ]]; then popd; exit ${EXITCODE}; fi

popd
#!/bin/bash

DIRECTORY=`dirname $0`/..
PREPARE_ONLY="no"
while getopts 'd:p' OPTION; do
  case "$OPTION" in
    d)
      DIRECTORY=${OPTARG%"/"}
      ;;
    m)
      MACRODIR=${OPTARG%"/"}
      ;;
    p)
      PREPARE_ONLY="yes"
      ;;
    ?)
      echo "script usage: $(basename $0) [-d project_directory] [-m macro_target_dir] [-p]" >&2
      exit 1
      ;;
  esac
done

if [[ ${MACRODIR} == "" ]]; then MACRODIR=${DIRECTORY}; fi

pushd "$DIRECTORY"

acedir="$MACRODIR/z/ace"
cbadir="$MACRODIR/x/cba"
a3dir="$MACRODIR/A3"

function downloadMacroLib {
    local TARGETDIR=$1
    local URL=$2

    if [[ -d ${TARGETDIR} ]]
    then
        echo "INFO it seems we already got $TARGETDIR, skipping…"
    else
        echo "INFO copying $URL => $TARGETDIR…"
        mkdir -p ${TARGETDIR}
        pushd /tmp
        wget "$URL" -O tmp_preprocess.tar.gz && tar -xf tmp_preprocess.tar.gz -C ${TARGETDIR}
        popd
    fi
}

function escapeSlashesForSed {
    echo $1 | sed 's/\//\\\//g'
}

downloadMacroLib ${cbadir} "http://gruppe-adler.de/api/travis/cba.tar.gz"
downloadMacroLib ${acedir} "http://gruppe-adler.de/api/travis/ace.tar.gz"
downloadMacroLib ${a3dir} "http://gruppe-adler.de/api/travis/a3.tar.gz"

FILESWITHINCLUDES=`grep -lire '^\s*#include '`

if [[ PREPARE_ONLY == "no" ]]; then
    echo "INFO editing #include clauses: \\ => / as path joiner"
    for FILEWITHINCLUDE in ${FILESWITHINCLUDES}; do
        sed -i '/#include/s/\\/\//g' "$FILEWITHINCLUDE" #forward-slash all the paths
    done
fi

echo "INFO editing #include clauses: correct include paths…"
for FILEWITHINCLUDE in ${FILESWITHINCLUDES}; do
    sed -i '/#include/s/\/[Aa]3\(.*\)/'$(escapeSlashesForSed ${a3dir})'\L\1/' "$FILEWITHINCLUDE" #lower-case the a3-include
    sed -i '/#include/s/\/x\/cba/'$(escapeSlashesForSed ${cbadir})'/' "$FILEWITHINCLUDE"
    sed -i '/#include/s/\/x\/grad\///' "$FILEWITHINCLUDE" #special case for gruppe_adler_mod
    sed -i '/#include/s/\/x\/grad_captivWalkingAnimation\///' "$FILEWITHINCLUDE" #special case for grad_captivWalkingAnimation
    sed -i '/#include/s/\/z\/ace/'$(escapeSlashesForSed ${acedir})'/' "$FILEWITHINCLUDE"
done


if [[ PREPARE_ONLY == "no" ]]; then
    echo "INFO removing illegal double-hash from macro files…"
    for MACROFILE in `find . \( -iname '*.cpp' -or -iname '*.hpp' -or -iname '*.h' -or -iname '*.inc' \) -and -not -type l`
    do
        sed -i -e 's/##//g' "$MACROFILE"
    done

    echo "INFO starting preprocessing of SQF files…"
    for SQFFILE in `find . -iname '*.sqf'`
    do
        cpp -iquote ./ "$SQFFILE" "${SQFFILE}.1" && mv "${SQFFILE}.1" "$SQFFILE"
    done

    # remove hash stuff at top of file, it confuses the hell out of sqflint
    for SQFFILE in `find . -iname '*.sqf'`
    do
        sed -i -E 's/^\s*#.*//g' "$SQFFILE"
    done

else
    echo "INFO skipping actual preprocessing…"
fi

popd
#!/usr/bin/env python3

import fnmatch
import os
import re
import ntpath
import sys
import argparse

def validKeyWordAfterCode(content, index):
    keyWords = ["for", "do", "count", "each", "forEach", "else", "and", "not", "isEqualTo", "in", "call", "spawn", "execVM", "catch", "param", "select", "apply"];
    for word in keyWords:
        try:
            subWord = content.index(word, index, index+len(word))
            return True;
        except:
            pass
    return False

def check_sqf_syntax(filepath):
    bad_count_file = 0
    def pushClosing(t):
        closingStack.append(closing.expr)
        closing << Literal( closingFor[t[0]] )

    def popClosing():
        closing << closingStack.pop()

    with open(filepath, 'r', encoding='utf-8', errors='ignore') as file:
        content = file.read()

        # Store all brackets we find in this file, so we can validate everything on the end
        brackets_list = []

        # To check if we are in a comment block
        isInCommentBlock = False
        checkIfInComment = False
        # Used in case we are in a line comment (//)
        ignoreTillEndOfLine = False
        # Used in case we are in a comment block (/* */). This is true if we detect a * inside a comment block.
        # If the next character is a /, it means we end our comment block.
        checkIfNextIsClosingBlock = False

        # We ignore everything inside a string
        isInString = False
        # Used to store the starting type of a string, so we can match that to the end of a string
        inStringType = '';

        lastIsCurlyBrace = False
        checkForSemiColumn = False

        # Extra information so we know what line we find errors at
        lineNumber = 1

        indexOfCharacter = 0
        # Parse all characters in the content of this file to search for potential errors
        for c in content:
            if (lastIsCurlyBrace):
                lastIsCurlyBrace = False
                checkForSemiColumn = True

            if c == '\n': # Keeping track of our line numbers
                lineNumber += 1 # so we can print accurate line number information when we detect a possible error
            if (isInString): # while we are in a string, we can ignore everything else, except the end of the string
                if (c == inStringType):
                    isInString = False
            # if we are not in a comment block, we will check if we are at the start of one or count the () {} and []
            elif (isInCommentBlock == False):

                # This means we have encountered a /, so we are now checking if this is an inline comment or a comment block
                if (checkIfInComment):
                    checkIfInComment = False
                    if c == '*': # if the next character after / is a *, we are at the start of a comment block
                        isInCommentBlock = True
                    elif (c == '/'): # Otherwise, will check if we are in an line comment
                        ignoreTillEndOfLine = True # and an line comment is a / followed by another / (//) We won't care about anything that comes after it

                if (isInCommentBlock == False):
                    if (ignoreTillEndOfLine): # we are in a line comment, just continue going through the characters until we find an end of line
                        if (c == '\n'):
                            ignoreTillEndOfLine = False
                    else: # validate brackets
                        if (c == '"' or c == "'"):
                            isInString = True
                            inStringType = c
                        elif (c == '#'):
                            ignoreTillEndOfLine = True
                        elif (c == '/'):
                            checkIfInComment = True
                        elif (c == '('):
                            brackets_list.append('(')
                        elif (c == ')'):
                            if (brackets_list[-1] in ['{', '[']):
                                print("ERROR: Possible missing round bracket ')' detected at {0} Line number: {1}".format(filepath,lineNumber))
                                bad_count_file += 1
                            brackets_list.append(')')
                        elif (c == '['):
                            brackets_list.append('[')
                        elif (c == ']'):
                            if (brackets_list[-1] in ['{', '(']):
                                print("ERROR: Possible missing square bracket ']' detected at {0} Line number: {1}".format(filepath,lineNumber))
                                bad_count_file += 1
                            brackets_list.append(']')
                        elif (c == '{'):
                            brackets_list.append('{')
                        elif (c == '}'):
                            lastIsCurlyBrace = True
                            if (brackets_list[-1] in ['(', '[']):
                                print("ERROR: Possible missing curly brace '}}' detected at {0} Line number: {1}".format(filepath,lineNumber))
                                bad_count_file += 1
                            brackets_list.append('}')
                        elif (c== '\t'):
                            print("ERROR: Tab detected at {0} Line number: {1}".format(filepath,lineNumber))
                            bad_count_file += 1

                        if (checkForSemiColumn):
                            if (c not in [' ', '\t', '\n', '/']): # keep reading until no white space or comments
                                checkForSemiColumn = False
                                if (c not in [']', ')', '}', ';', ',', '&', '!', '|', '='] and not validKeyWordAfterCode(content, indexOfCharacter)): # , 'f', 'd', 'c', 'e', 'a', 'n', 'i']):
                                    print("ERROR: Possible missing semi-column ';' detected at {0} Line number: {1}".format(filepath,lineNumber))
                                    bad_count_file += 1

            else: # Look for the end of our comment block
                if (c == '*'):
                    checkIfNextIsClosingBlock = True;
                elif (checkIfNextIsClosingBlock):
                    if (c == '/'):
                        isInCommentBlock = False
                    elif (c != '*'):
                        checkIfNextIsClosingBlock = False
            indexOfCharacter += 1

        if brackets_list.count('[') != brackets_list.count(']'):
            print("ERROR: A possible missing square bracket [ or ] in file {0} [ = {1} ] = {2}".format(filepath,brackets_list.count('['),brackets_list.count(']')))
            bad_count_file += 1
        if brackets_list.count('(') != brackets_list.count(')'):
            print("ERROR: A possible missing round bracket ( or ) in file {0} ( = {1} ) = {2}".format(filepath,brackets_list.count('('),brackets_list.count(')')))
            bad_count_file += 1
        if brackets_list.count('{') != brackets_list.count('}'):
            print("ERROR: A possible missing curly brace {{ or }} in file {0} {{ = {1} }} = {2}".format(filepath,brackets_list.count('{'),brackets_list.count('}')))
            bad_count_file += 1
    return bad_count_file

def main():

    print("Validating SQF")

    sqf_list = []
    bad_count = 0

    parser = argparse.ArgumentParser()
    parser.add_argument('-m','--module', help='only search specified module addon folder', required=False, default="")
    args = parser.parse_args()

    # Allow running from root directory as well as from inside the tools directory
    rootDir = "../addons"
    if (os.path.exists("addons")):
        rootDir = "addons"

    for root, dirnames, filenames in os.walk(rootDir + '/' + args.module):
      for filename in fnmatch.filter(filenames, '*.sqf'):
        sqf_list.append(os.path.join(root, filename))

    for filename in sqf_list:
        bad_count = bad_count + check_sqf_syntax(filename)


    print("------\nChecked {0} files\nErrors detected: {1}".format(len(sqf_list), bad_count))
    if (bad_count == 0):
        print("SQF validation PASSED")
    else:
        print("SQF validation FAILED")

    return bad_count

if __name__ == "__main__":
    sys.exit(main())#!/usr/bin/env python3

# Requires: https://github.com/LordGolias/sqf

import fnmatch
import os
import sys
import argparse
from sqf.parser import parse
import sqf.analyzer
from sqf.exceptions import SQFParserError


def analyze(filename, writer=sys.stdout):
    warnings = 0
    errors = 0
    with open(filename, 'r') as file:
        code = file.read()
        try:
            result = parse(code)
        except SQFParserError as e:
            print("{}:".format(filename))
            writer.write('    [%d,%d]:%s\n' % (e.position[0], e.position[1] - 1, e.message))
            return 0, 1

        exceptions = sqf.analyzer.analyze(result).exceptions
        if (exceptions):
            print("{}:".format(filename))
            for e in exceptions:
                if (e.message.startswith("error")):
                    errors += 1
                else:
                    warnings += 1
                writer.write('    [%d,%d]:%s\n' % (e.position[0], e.position[1] - 1, e.message))

    return warnings, errors

def main():
    print("#########################")
    print("# Lint Check  #")
    print("#########################")

    sqf_list = []
    all_warnings = 0
    all_errors = 0

    parser = argparse.ArgumentParser()
    parser.add_argument('-m','--module', help='only search specified module addon folder', required=False, default=".")
    args = parser.parse_args()

    for root, dirnames, filenames in os.walk('../addons' + '/' + args.module):
        for filename in fnmatch.filter(filenames, '*.sqf'):
            sqf_list.append(os.path.join(root, filename))

    for filename in sqf_list:
        warnings, errors = analyze(filename)
        all_warnings += warnings
        all_errors += errors

    print ("Parse Errors {0} - Warnings {1}".format(all_errors,all_warnings))

    # return (all_errors + all_warnings)
    return all_errors

if __name__ == "__main__":
    main()
 gvCK+>م'