diff --git a/CHANGELOG b/CHANGELOG index 0f8adef46..d3d9658a2 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,28 @@ +* **V7.6.5** +* Add Ice Golem Support @ViperZ +* Add Bat Spell Support @ViperZ +* Add Stone Slammer Support @ViperZ +* Fixed Snow Theme Detection (December 2018 Update) +* Fixed Request Clan Castle (December 2018 Update) +* Fixed Edit/Remove Army (December 2018 Update) +* Fixed Clan Games not opening due to snow (December 2018 Update) +* Fixed Switch Account (December 2018 Update) +* Fixed Laboratory (December 2018 Update) +* Fixed Collectors Level 13 Snow Theme (December 2018 Update) +* Fixed Laboratory Time Position Change, reported/fixed by Fahid.Mahmood (October 2018 Update) +* Fixed new elixir collector level 13 (October 2018 Update) +* Fixed new dark elixir drill level 7 (October 2018 Update) +* Fixed error "Cannot open Army Overview window" when "Wait for Clan Castle" enabled and Castle is not full, fixed by @Demen +* Fixed switch account never switch back to the account in personal break, fixed by @Demen +* Fixed clan chat did not open when donating CC, fixed by @Demen +* Fixed Nox 6.2.5.3 in DirectX rendering mode +* Improved clan games, new challenges added +* Improved the attack bar getting spells levels and quantities when exist heroes or not +* Improved Laboratory, updates selected troop to max possible + If no further upgrade possible, or "Any" selected, cheapest upgrade will be done next + 1 Dark Elixir is worth 50 Elixir in comparism context +* Increased Android Launch Timout to 10 min + * **V7.6.4** * October Update Fixed Drop Trophies , Now the slots are not selected by default * October Update Fixed Heroes Recover timer when is boosted @@ -29,7 +54,7 @@ * Improved double train with less open & close army window * **V7.6.2** -* Fixed Bluestacks 4.x and CoC PB message , different font and place. +* Fixed Bluestacks 4.x and CoC PB message , different font and place. * Fixed Siege Build when queued empty and camp is full, making a double sieges. * Fixed Conflict with Balloons and siege on attack bar, reported by @Black-sTyle-Vii * Fixed Donate only - Switch account and a second train army reported by @hrishikesh @@ -83,7 +108,7 @@ * Added Telegram - Shutdown , Hibernate and Standby with a confirm message, just to avoid user errors * Added Telegram and invalid commands * Added Profile button to save current setting without having to start bot -* Fixed Reset last command on Telegram +* Fixed Reset last command on Telegram * Fixed UI Responsiveness when the telegram is checked * Fixed Forced PBT for Normal Switch * Fixed Some issues in switch from-to Builder base - Main Village, Get village measuring and zoomout diff --git a/COCBot/GUI/MBR GUI Control Attack Scripted.au3 b/COCBot/GUI/MBR GUI Control Attack Scripted.au3 index 1e1d57159..2d31859d3 100644 --- a/COCBot/GUI/MBR GUI Control Attack Scripted.au3 +++ b/COCBot/GUI/MBR GUI Control Attack Scripted.au3 @@ -509,6 +509,7 @@ Func AttackNow() Local $tempSieges = $g_aiCurrentSiegeMachines $g_aiCurrentSiegeMachines[$eSiegeWallWrecker] = 1 $g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] = 1 + $g_aiCurrentSiegeMachines[$eSiegeStoneSlammer] = 1 $g_aiAttackAlgorithm[$LB] = 1 ; Select Scripted Attack $g_sAttackScrScriptName[$LB] = GuiCtrlRead($g_hCmbScriptNameAB) ; Select Scripted Attack File From The Combo Box, Cos it wasn't refreshing until pressing Start button $g_iMatchMode = $LB ; Select Live Base As Attack Type diff --git a/COCBot/GUI/MBR GUI Control BOT Options.au3 b/COCBot/GUI/MBR GUI Control BOT Options.au3 index 0769a4e0c..8fd8e6150 100644 --- a/COCBot/GUI/MBR GUI Control BOT Options.au3 +++ b/COCBot/GUI/MBR GUI Control BOT Options.au3 @@ -87,10 +87,7 @@ Func chkDisableNotifications() EndFunc ;==>chkDisableNotifications Func chkUseRandomClick() - $g_bRunState = True - getArmySiegeMachines() - $g_bRunState = False - ;$g_bUseRandomClick = (GUICtrlRead($g_hChkUseRandomClick) = $GUI_CHECKED) + $g_bUseRandomClick = (GUICtrlRead($g_hChkUseRandomClick) = $GUI_CHECKED) EndFunc ;==>chkUseRandomClick #cs Func chkUpdatingWhenMinimized() @@ -519,11 +516,11 @@ Func btnTestDonateCC() Return False EndIf SetLog("Detecting Troops...") - DetectSlotTroop($eBowl) + DetectSlotTroop($eIceG) SetLog("Detecting Sieges...") - DetectSlotSiege($eSiegeBattleBlimp) + DetectSlotSiege($eSiegeStoneSlammer) SetLog("Detecting Spells...") - DetectSlotSpell($eSkSpell) + DetectSlotSpell($eBtSpell) SetLog(_PadStringCenter(" Test DonateCC end ", 54, "="), $COLOR_INFO) ShellExecute($g_sProfileTempDebugPath & "donateCC_") @@ -561,6 +558,12 @@ Func btnTestAttackBar() $g_bDebugImageSave = True $g_bRunState = True + If MsgBox($MB_YESNO, "Screenshot or Live Image", "Do you want to use a Screenshot instead of a Live Image?") = $IDYES Then + Local $sImageFile = BeginImageTest() ; get image for testing + If $sImageFile = False Then $sImageFile = "Live Screenshot" + EndIf + + SetLog(_PadStringCenter(" Begin AttackBar Detection", 54, "="), $COlOR_INFO) Local $aAttackBar = StringSplit(AttackBarCheck(False, $DB, True), "|", $STR_NOCOUNT) @@ -570,11 +573,13 @@ Func btnTestAttackBar() SetLog("Found " & UBound($aAttackBar, 1) & " Slots", $COlOR_SUCCESS) For $i = 0 To UBound($aAttackBar, 1) - 1 $aTroop = StringSplit($aAttackBar[$i], "#", $STR_NOCOUNT) - If IsArray($aTroop) And UBound($aTroop, 1) = 3 Then SetLog("- Slot " & $aTroop[1] & ": " & $aTroop[2] & " " & GetTroopName($aTroop[0], $aTroop[2]), $COLOR_SUCCESS) + If IsArray($aTroop) And UBound($aTroop, 1) = 4 Then SetLog("- Slot " & $aTroop[1] & ": " & $aTroop[2] & " " & GetTroopName($aTroop[0], $aTroop[2]), $COLOR_SUCCESS) Next EndIf SetLog(_PadStringCenter(" End AttackBar Detection ", 54, "="), $COlOR_INFO) + EndImageTest() ; clear test image handle + $g_bDebugOcr = $bCurrentOCR $g_bDebugImageSave = $bCurrentDebugImage $g_bRunState = $bCurrentRunState diff --git a/COCBot/GUI/MBR GUI Control Child Army.au3 b/COCBot/GUI/MBR GUI Control Child Army.au3 index fe2491cc3..14d65af2c 100644 --- a/COCBot/GUI/MBR GUI Control Child Army.au3 +++ b/COCBot/GUI/MBR GUI Control Child Army.au3 @@ -122,7 +122,7 @@ Func lblTotalCountTroop2() Local $TotalTotalTimeTroop = 0 Local $NbrOfBarrack = 4 ;For the moment fix to 4 until fine detect level of each Barrack Local $NbrOfDarkBarrack = 2 ;For the moment fix to 2 until fine detect level of each Barrack - For $i = $eTroopBarbarian To $eTroopElectroDragon + For $i = $eTroopBarbarian To $eTroopIceGolem Local $NbrOfTroop = GUICtrlRead($g_ahTxtTrainArmyTroopCount[$i]) Local $LevOfTroop = $g_aiTrainArmyTroopLevel[$i] @@ -136,7 +136,7 @@ Func lblTotalCountTroop2() EndIf Next - For $i = $eTroopMinion To $eTroopBowler + For $i = $eTroopMinion To $eTroopIceGolem Local $NbrOfTroop = GUICtrlRead($g_ahTxtTrainArmyTroopCount[$i]) Local $LevOfTroop = $g_aiTrainArmyTroopLevel[$i] @@ -187,7 +187,7 @@ Func lblTotalCountSiege() GUICtrlSetData($g_hLblTotalTimeSiege, CalculTimeTo($iTotalTotalTimeSiege)) GUICtrlSetData($g_hLblCountTotalSiege, $g_iTotalTrainSpaceSiege) - GUICtrlSetBkColor($g_hLblCountTotalSiege, $g_iTotalTrainSpaceSiege <= 2 ? $COLOR_MONEYGREEN : $COLOR_RED) + GUICtrlSetBkColor($g_hLblCountTotalSiege, $g_iTotalTrainSpaceSiege <= 3 ? $COLOR_MONEYGREEN : $COLOR_RED) CalCostSiege() ; prepared for some new TH level !! @@ -219,7 +219,7 @@ Func TotalSpellCountClick() If $g_iTownHallLevel > 5 Or $g_iTownHallLevel = 0 Then _GUI_Value_STATE("SHOW", $g_aiTrainArmySpellLevel[$eSpellHeal] > 0 ? $groupHeal : $groupIcnHeal) Else - For $i = $eSpellRage To $eSpellSkeleton + For $i = $eSpellRage To $eSpellBat GUICtrlSetData($g_ahTxtTrainArmySpellCount[$i], 0) GUICtrlSetData($g_ahLblTrainArmySpellLevel[$i], 0) Next @@ -228,7 +228,7 @@ Func TotalSpellCountClick() If $g_iTownHallLevel > 6 Or $g_iTownHallLevel = 0 Then _GUI_Value_STATE("SHOW", $g_aiTrainArmySpellLevel[$eSpellRage] > 0 ? $groupRage : $groupIcnRage) Else - For $i = $eSpellJump To $eSpellSkeleton + For $i = $eSpellJump To $eSpellBat GUICtrlSetData($g_ahTxtTrainArmySpellCount[$i], 0) GUICtrlSetData($g_ahLblTrainArmySpellLevel[$i], 0) Next @@ -243,11 +243,13 @@ Func TotalSpellCountClick() GUICtrlSetData($g_ahTxtTrainArmySpellCount[$eSpellClone], 0) GUICtrlSetData($g_ahTxtTrainArmySpellCount[$eSpellHaste], 0) GUICtrlSetData($g_ahTxtTrainArmySpellCount[$eSpellSkeleton], 0) + GUICtrlSetData($g_ahTxtTrainArmySpellCount[$eSpellBat], 0) GUICtrlSetData($g_ahLblTrainArmySpellLevel[$eSpellJump], 0) GUICtrlSetData($g_ahLblTrainArmySpellLevel[$eSpellFreeze], 0) GUICtrlSetData($g_ahLblTrainArmySpellLevel[$eSpellClone], 0) GUICtrlSetData($g_ahLblTrainArmySpellLevel[$eSpellHaste], 0) GUICtrlSetData($g_ahLblTrainArmySpellLevel[$eSpellSkeleton], 0) + GUICtrlSetData($g_ahLblTrainArmySpellLevel[$eSpellBat], 0) EndIf If $g_iTownHallLevel > 8 Or $g_iTownHallLevel = 0 Then @@ -255,6 +257,7 @@ Func TotalSpellCountClick() _GUI_Value_STATE("SHOW", $g_aiTrainArmySpellLevel[$eSpellFreeze] > 0 ? $groupFreeze : $groupIcnFreeze) _GUI_Value_STATE("SHOW", $g_aiTrainArmySpellLevel[$eSpellHaste] > 0 ? $groupHaste : $groupIcnHaste) _GUI_Value_STATE("SHOW", $g_aiTrainArmySpellLevel[$eSpellSkeleton] > 0 ? $groupSkeleton : $groupIcnSkeleton) + _GUI_Value_STATE("SHOW", $g_aiTrainArmySpellLevel[$eSpellBat] > 0 ? $groupSkeleton : $groupIcnBat) Else GUICtrlSetData($g_ahTxtTrainArmySpellCount[$eSpellClone], 0) GUICtrlSetData($g_ahLblTrainArmySpellLevel[$eSpellClone], 0) @@ -516,7 +519,7 @@ Func BtnSpellsOrderSet() Local $bMissingTroop = False ; flag for when troops are not assigned by user Local $aiBrewOrder[$eSpellCount] = [ _ $eSpellLightning, $eSpellHeal, $eSpellRage, $eSpellJump, $eSpellFreeze, $eSpellClone, _ - $eSpellPoison, $eSpellEarthquake, $eSpellHaste, $eSpellSkeleton] + $eSpellPoison, $eSpellEarthquake, $eSpellHaste, $eSpellSkeleton, $eSpellBat] ; check for duplicate combobox index and take action For $i = 0 To UBound($g_ahCmbSpellsOrder) - 1 @@ -603,7 +606,7 @@ Func BtnTroopOrderSet() Local $aiUsedTroop[$eTroopCount] = [ _ $eTroopBarbarian, $eTroopArcher, $eTroopGiant, $eTroopGoblin, $eTroopWallBreaker, $eTroopBalloon, $eTroopWizard, _ $eTroopHealer, $eTroopDragon, $eTroopPekka, $eTroopBabyDragon, $eTroopMiner, $eTroopElectroDragon, $eTroopMinion, $eTroopHogRider, _ - $eTroopValkyrie, $eTroopGolem, $eTroopWitch, $eTroopLavaHound, $eTroopBowler] + $eTroopValkyrie, $eTroopGolem, $eTroopWitch, $eTroopLavaHound, $eTroopBowler, $eTroopIceGolem] ; check for duplicate combobox index and take action For $i = 0 To UBound($g_ahCmbTroopOrder) - 1 @@ -974,7 +977,7 @@ Func CalCostCamp() $iElixirCostCamp += $g_aiArmyCompTroops[$i] * $g_aiTroopCostPerLevel[$i][$g_aiTrainArmyTroopLevel[$i]] Next - For $i = $eTroopMinion To $eTroopBowler + For $i = $eTroopMinion To $eTroopIceGolem $iDarkCostCamp += $g_aiArmyCompTroops[$i] * $g_aiTroopCostPerLevel[$i][$g_aiTrainArmyTroopLevel[$i]] Next @@ -989,7 +992,7 @@ Func CalCostSpell() $iElixirCostSpell += $g_aiArmyCompSpells[$i] * $g_aiSpellCostPerLevel[$i][$g_aiTrainArmySpellLevel[$i]] Next - For $i = $eSpellPoison To $eSpellSkeleton + For $i = $eSpellPoison To $eSpellBat $iDarkCostSpell += $g_aiArmyCompSpells[$i] * $g_aiSpellCostPerLevel[$i][$g_aiTrainArmySpellLevel[$i]] Next diff --git a/COCBot/GUI/MBR GUI Control Collectors.au3 b/COCBot/GUI/MBR GUI Control Collectors.au3 index f73782359..363180cb4 100644 --- a/COCBot/GUI/MBR GUI Control Collectors.au3 +++ b/COCBot/GUI/MBR GUI Control Collectors.au3 @@ -16,7 +16,7 @@ Func checkCollectors($log = False, $showLabel = True) Local $anyCollectorsEnabled = 0 - For $i = 6 To 12 + For $i = 6 To 13 If $g_abCollectorLevelEnabled[$i] Then $anyCollectorsEnabled = 1 ExitLoop @@ -38,7 +38,7 @@ Func checkCollectors($log = False, $showLabel = True) EndFunc ;==>checkCollectors Func chkDBCollector() - For $i = 6 To 12 + For $i = 6 To 13 If $g_ahChkDBCollectorLevel[$i] = @GUI_CtrlId Then If $i = 6 Then $g_abCollectorLevelEnabled[6] = False @@ -54,7 +54,7 @@ Func chkDBCollector() EndFunc ;==>chkDBCollector Func cmbDBCollector() - For $i = 6 To 12 + For $i = 6 To 13 If $g_ahCmbDBCollectorLevel[$i] = @GUI_CtrlId Then $g_aiCollectorLevelFill[$i] = _GUICtrlComboBox_GetCurSel($g_ahCmbDBCollectorLevel[$i]) ExitLoop diff --git a/COCBot/GUI/MBR GUI Control Tab Village.au3 b/COCBot/GUI/MBR GUI Control Tab Village.au3 index b4ebc53ab..ee66e5a73 100644 --- a/COCBot/GUI/MBR GUI Control Tab Village.au3 +++ b/COCBot/GUI/MBR GUI Control Tab Village.au3 @@ -86,8 +86,8 @@ EndFunc ;==>CmbClanCastleTroop Func CmbClanCastleSpell() For $i = 0 To UBound($g_ahCmbClanCastleSpell) - 1 - If _GUICtrlComboBox_GetCurSel($g_ahCmbClanCastleSpell[$i]) = $eCSpell - $eLSpell Then _GUICtrlComboBox_SetCurSel($g_ahCmbClanCastleSpell[$i], $eSkSpell - $eLSpell + 1) - If _GUICtrlComboBox_GetCurSel($g_ahCmbClanCastleSpell[$i]) <= $eSkSpell - $eLSpell Then + If _GUICtrlComboBox_GetCurSel($g_ahCmbClanCastleSpell[$i]) = $eCSpell - $eLSpell Then _GUICtrlComboBox_SetCurSel($g_ahCmbClanCastleSpell[$i], $eBtSpell - $eLSpell + 1) + If _GUICtrlComboBox_GetCurSel($g_ahCmbClanCastleSpell[$i]) <= $eBtSpell - $eLSpell Then GUICtrlSetState($g_ahTxtClanCastleSpell[$i], $GUI_ENABLE) Else GUICtrlSetState($g_ahTxtClanCastleSpell[$i], $GUI_DISABLE) diff --git a/COCBot/GUI/MBR GUI Design Child Attack - Activebase-Attack.au3 b/COCBot/GUI/MBR GUI Design Child Attack - Activebase-Attack.au3 index e668af7cb..81252a098 100644 --- a/COCBot/GUI/MBR GUI Design Child Attack - Activebase-Attack.au3 +++ b/COCBot/GUI/MBR GUI Design Child Attack - Activebase-Attack.au3 @@ -17,11 +17,11 @@ ; Attack with Global $g_hCmbABAlgorithm = 0, $g_hCmbABSelectTroop = 0, $g_hChkABKingAttack = 0, $g_hChkABQueenAttack = 0, $g_hChkABWardenAttack = 0, $g_hChkABDropCC = 0 Global $g_hChkABLightSpell = 0, $g_hChkABHealSpell = 0, $g_hChkABRageSpell = 0, $g_hChkABJumpSpell = 0, $g_hChkABFreezeSpell = 0, $g_hChkABCloneSpell = 0, _ - $g_hChkABPoisonSpell = 0, $g_hChkABEarthquakeSpell = 0, $g_hChkABHasteSpell = 0, $g_hChkABSkeletonSpell = 0 + $g_hChkABPoisonSpell = 0, $g_hChkABEarthquakeSpell = 0, $g_hChkABHasteSpell = 0, $g_hChkABSkeletonSpell = 0, $g_hChkABBatSpell = 0 Global $g_hGrpABAttack = 0, $g_hPicABKingAttack = 0, $g_hPicABQueenAttack = 0, $g_hPicABWardenAttack = 0, $g_hPicABDropCC = 0 Global $g_hPicABLightSpell = 0, $g_hPicABHealSpell = 0, $g_hPicABRageSpell = 0, $g_hPicABJumpSpell = 0, $g_hPicABFreezeSpell = 0, $g_hPicABCloneSpell = 0, _ - $g_hPicABPoisonSpell = 0, $g_hPicABEarthquakeSpell = 0, $g_hPicABHasteSpell = 0, $g_hPicABSkeletonSpell = 0 + $g_hPicABPoisonSpell = 0, $g_hPicABEarthquakeSpell = 0, $g_hPicABHasteSpell = 0, $g_hPicABSkeletonSpell = 0, $g_hPicABBatSpell = 0 ; TH Snipe Global $g_hChkTHSnipeBeforeLBEnable = 0, $g_hTxtTHSnipeBeforeLBTiles = 0, $g_hCmbTHSnipeBeforeLBScript = 0 @@ -160,6 +160,13 @@ Func CreateAttackSearchActiveBaseAttack() _GUICtrlSetTip(-1, $sTxtTip) $g_hChkABSkeletonSpell = GUICtrlCreateCheckbox("", $x + 27, $y, 17, 17) _GUICtrlSetTip(-1, $sTxtTip) + + $x += 46 + $g_hPicABBatSpell = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBatSpell, $x, $y, 24, 24) + $sTxtTip = GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Chk-Use-Bat_Info_01", -1) + _GUICtrlSetTip(-1, $sTxtTip) + $g_hChkABBatSpell = GUICtrlCreateCheckbox("", $x + 27, $y, 17, 17) + _GUICtrlSetTip(-1, $sTxtTip) GUICtrlCreateGroup("", -99, -99, 1, 1) Local $x = 10, $y = 268 @@ -195,7 +202,8 @@ Func CreateAttackSearchActiveBaseAttack() $g_hCmbABSiege = GUICtrlCreateCombo("", $x, $y + 14, 130, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) GUICtrlSetData(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_01", -1) & "|" & _ GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_02", -1) & "|" & _ - GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_03", -1), GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_01", -1)) + GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_03", -1) & "|" & _ + GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_04", "Stone Slammer"), GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_01", -1)) GUICtrlSetOnEvent(-1, "cmbABSiege") GUICtrlCreateGroup("", -99, -99, 1, 1) diff --git a/COCBot/GUI/MBR GUI Design Child Attack - Deadbase-Attack.au3 b/COCBot/GUI/MBR GUI Design Child Attack - Deadbase-Attack.au3 index 38a2dfe6e..3ec9b1719 100644 --- a/COCBot/GUI/MBR GUI Design Child Attack - Deadbase-Attack.au3 +++ b/COCBot/GUI/MBR GUI Design Child Attack - Deadbase-Attack.au3 @@ -17,11 +17,11 @@ ; Attack with Global $g_hCmbDBAlgorithm = 0, $g_hCmbDBSelectTroop = 0, $g_hChkDBKingAttack = 0, $g_hChkDBQueenAttack = 0, $g_hChkDBWardenAttack = 0, $g_hChkDBDropCC = 0 Global $g_hChkDBLightSpell = 0, $g_hChkDBHealSpell = 0, $g_hChkDBRageSpell = 0, $g_hChkDBJumpSpell = 0, $g_hChkDBFreezeSpell = 0, $g_hChkDBCloneSpell = 0, _ - $g_hChkDBPoisonSpell = 0, $g_hChkDBEarthquakeSpell = 0, $g_hChkDBHasteSpell = 0, $g_hChkDBSkeletonSpell = 0 + $g_hChkDBPoisonSpell = 0, $g_hChkDBEarthquakeSpell = 0, $g_hChkDBHasteSpell = 0, $g_hChkDBSkeletonSpell = 0, $g_hChkDBBatSpell = 0 Global $g_hPicDBKingAttack = 0, $g_hPicDBQueenAttack = 0, $g_hPicDBWardenAttack = 0, $g_hPicDBDropCC = 0 Global $g_hPicDBLightSpell = 0, $g_hPicDBHealSpell = 0, $g_hPicDBRageSpell = 0, $g_hPicDBJumpSpell = 0, $g_hPicDBFreezeSpell = 0, $g_hPicDBCloneSpell = 0, _ - $g_hPicDBPoisonSpell = 0, $g_hPicDBEarthquakeSpell = 0, $g_hPicDBHasteSpell = 0, $g_hPicDBSkeletonSpell = 0 + $g_hPicDBPoisonSpell = 0, $g_hPicDBEarthquakeSpell = 0, $g_hPicDBHasteSpell = 0, $g_hPicDBSkeletonSpell = 0, $g_hPicDBBatSpell = 0 ; TH Snipe Global $g_hChkTHSnipeBeforeDBEnable = 0, $g_hTxtTHSnipeBeforeDBTiles = 0, $g_hCmbTHSnipeBeforeDBScript = 0 @@ -158,10 +158,17 @@ Func CreateAttackSearchDeadBaseAttack() $x += 46 $g_hPicDBSkeletonSpell = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnSkeletonSpell, $x, $y, 24, 24) - $sTxtTip = GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Chk-Use-Skeleton_Info_01", "Use your Skeletons Spells when Attacking...") + $sTxtTip = GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Chk-Use-Skeleton_Info_01", "Use your Bats Spells when Attacking...") _GUICtrlSetTip(-1, $sTxtTip) $g_hChkDBSkeletonSpell = GUICtrlCreateCheckbox("", $x + 27, $y, 17, 17) _GUICtrlSetTip(-1, $sTxtTip) + + $x += 46 + $g_hPicDBBatSpell = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBatSpell, $x, $y, 24, 24) + $sTxtTip = GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Chk-Use-Bat_Info_01", "Use your Bats Spells when Attacking...") + _GUICtrlSetTip(-1, $sTxtTip) + $g_hChkDBBatSpell = GUICtrlCreateCheckbox("", $x + 27, $y, 17, 17) + _GUICtrlSetTip(-1, $sTxtTip) GUICtrlCreateGroup("", -99, -99, 1, 1) Local $x = 10, $y = 268 @@ -197,7 +204,8 @@ Func CreateAttackSearchDeadBaseAttack() $g_hCmbDBSiege = GUICtrlCreateCombo("", $x, $y + 14, 130, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) GUICtrlSetData(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_01", "Castle only") & "|" & _ GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_02", "Wall Wrecker") & "|" & _ - GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_03", "Battle Blimp"), GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_01", -1)) + GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_03", "Battle Blimp")& "|" & _ + GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_04", "Stone Slammer"), GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_01", -1)) GUICtrlSetOnEvent(-1, "cmbDBSiege") GUICtrlCreateGroup("", -99, -99, 1, 1) diff --git a/COCBot/GUI/MBR GUI Design Child Attack - Deadbase-Collectors.au3 b/COCBot/GUI/MBR GUI Design Child Attack - Deadbase-Collectors.au3 index bd0be0f64..f1e7dd2de 100644 --- a/COCBot/GUI/MBR GUI Design Child Attack - Deadbase-Collectors.au3 +++ b/COCBot/GUI/MBR GUI Design Child Attack - Deadbase-Collectors.au3 @@ -15,8 +15,8 @@ #include-once Global $g_hChkDBDisableCollectorsFilter = 0 -Global $g_ahChkDBCollectorLevel[13] = [-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0] ; elements 0 thru 5 are never referenced -Global $g_ahCmbDBCollectorLevel[13] = [-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0] ; elements 0 thru 5 are never referenced +Global $g_ahChkDBCollectorLevel[14] = [-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0] ; elements 0 thru 5 are never referenced +Global $g_ahCmbDBCollectorLevel[14] = [-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0] ; elements 0 thru 5 are never referenced Global $g_hCmbMinCollectorMatches = 0, $g_hSldCollectorTolerance = 0, $g_hLblCollectorWarning = 0 Func CreateAttackSearchDeadBaseCollectors() @@ -31,119 +31,24 @@ Func CreateAttackSearchDeadBaseCollectors() GUICtrlSetState(-1, $GUI_UNCHECKED) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkDisableCollectorsFilter_Info_01", "Disable Collector Filter CHANGES DeadBase into another ActiveBase search")) - $y += 40 - $g_ahChkDBCollectorLevel[6] = GUICtrlCreateCheckbox("", $x, $y, 18, 18) - $sTxtTip = $s_TxtTip1 & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkCollectorLevel6_Info_01", "for level 6 elixir collectors during dead base detection.") - _GUICtrlSetTip(-1, $sTxtTip) - GUICtrlSetState(-1, BitOR($GUI_UNCHECKED, $GUI_DISABLE)) - GUICtrlSetOnEvent(-1, "chkDBCollector") - _GUICtrlCreateIcon($g_sLibIconPath, $eIcnCollector, $x + 20, $y, 16, 16) - _GUICtrlSetTip(-1, $sTxtTip) - GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel6", "Lvl 6. Must be >"), $x + 40, $y + 3, -1, -1) - _GUICtrlSetTip(-1, $sTxtTip) - GUICtrlSetState(-1, $GUI_DISABLE) - $g_ahCmbDBCollectorLevel[6] = GUICtrlCreateCombo("", $x + 125, $y, 75, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel6_Info_01", 'Select how full a level 6 collector needs to be for it to be marked "dead"')) - GUICtrlSetState(-1, $GUI_DISABLE) - GUICtrlSetData(-1, "50%|100%", "50%") - GUICtrlSetOnEvent(-1, "cmbDBCollector") - GUICtrlCreateLabel($g_hTxtFull, $x + 205, $y + 3) - - $y += 25 - $g_ahChkDBCollectorLevel[7] = GUICtrlCreateCheckbox("", $x, $y, 18, 18) - $sTxtTip = $s_TxtTip1 & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkCollectorLevel7_Info_01", "for level 7 elixir collectors during dead base detection.") - _GUICtrlSetTip(-1, $sTxtTip) - GUICtrlSetState(-1, $GUI_CHECKED) - GUICtrlSetOnEvent(-1, "chkDBCollector") - _GUICtrlCreateIcon($g_sLibIconPath, $eIcnCollector, $x + 20, $y, 16, 16) - _GUICtrlSetTip(-1, $sTxtTip) - GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel7", "Lvl 7. Must be >"), $x + 40, $y + 3, -1, -1) - _GUICtrlSetTip(-1, $sTxtTip) - $g_ahCmbDBCollectorLevel[7] = GUICtrlCreateCombo("", $x + 125, $y, 75, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel7_Info_01", 'Select how full a level 7 collector needs to be for it to be marked "dead"')) - GUICtrlSetData(-1, "50%|100%", "50%") - GUICtrlSetOnEvent(-1, "cmbDBCollector") - GUICtrlCreateLabel($g_hTxtFull, $x + 205, $y + 3) - - $y += 25 - $g_ahChkDBCollectorLevel[8] = GUICtrlCreateCheckbox("", $x, $y, 18, 18) - $sTxtTip = $s_TxtTip1 & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkCollectorLevel8_Info_01", "for level 8 elixir collectors during dead base detection.") - _GUICtrlSetTip(-1, $sTxtTip) - GUICtrlSetState(-1, $GUI_CHECKED) - GUICtrlSetOnEvent(-1, "chkDBCollector") - _GUICtrlCreateIcon($g_sLibIconPath, $eIcnCollector, $x + 20, $y, 16, 16) - _GUICtrlSetTip(-1, $sTxtTip) - GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel8", "Lvl 8. Must be >"), $x + 40, $y + 3, -1, -1) - _GUICtrlSetTip(-1, $sTxtTip) - $g_ahCmbDBCollectorLevel[8] = GUICtrlCreateCombo("", $x + 125, $y, 75, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel8_Info_01", 'Select how full a level 8 collector needs to be for it to be marked "dead"')) - GUICtrlSetData(-1, "50%|100%", "50%") - GUICtrlSetOnEvent(-1, "cmbDBCollector") - GUICtrlCreateLabel($g_hTxtFull, $x + 205, $y + 3) - - $y += 25 - $g_ahChkDBCollectorLevel[9] = GUICtrlCreateCheckbox("", $x, $y, 18, 18) - $sTxtTip = $s_TxtTip1 & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkCollectorLevel9_Info_01", "for level 9 elixir collectors during dead base detection.") - _GUICtrlSetTip(-1, $sTxtTip) - GUICtrlSetState(-1, $GUI_CHECKED) - GUICtrlSetOnEvent(-1, "chkDBCollector") - _GUICtrlCreateIcon($g_sLibIconPath, $eIcnCollector, $x + 20, $y, 16, 16) - _GUICtrlSetTip(-1, $sTxtTip) - GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel9", "Lvl 9. Must be >"), $x + 40, $y + 3, -1, -1) - _GUICtrlSetTip(-1, $sTxtTip) - $g_ahCmbDBCollectorLevel[9] = GUICtrlCreateCombo("", $x + 125, $y, 75, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel9_Info_01", 'Select how full a level 9 collector needs to be for it to be marked "dead"')) - GUICtrlSetData(-1, "50%|100%", "50%") - GUICtrlSetOnEvent(-1, "cmbDBCollector") - GUICtrlCreateLabel($g_hTxtFull, $x + 205, $y + 3) - - $y += 25 - $g_ahChkDBCollectorLevel[10] = GUICtrlCreateCheckbox("", $x, $y, 18, 18) - $sTxtTip = $s_TxtTip1 & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkCollectorLevel10_Info_01", "for level 10 elixir collectors during dead base detection.") - _GUICtrlSetTip(-1, $sTxtTip) - GUICtrlSetState(-1, $GUI_CHECKED) - GUICtrlSetOnEvent(-1, "chkDBCollector") - _GUICtrlCreateIcon($g_sLibIconPath, $eIcnCollector, $x + 20, $y, 16, 16) - _GUICtrlSetTip(-1, $sTxtTip) - GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel10", "Lvl 10. Must be >"), $x + 40, $y + 3, -1, -1) - _GUICtrlSetTip(-1, $sTxtTip) - $g_ahCmbDBCollectorLevel[10] = GUICtrlCreateCombo("", $x + 125, $y, 75, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel10_Info_01", 'Select how full a level 10 collector needs to be for it to be marked "dead"')) - GUICtrlSetData(-1, "50%|100%", "50%") - GUICtrlSetOnEvent(-1, "cmbDBCollector") - GUICtrlCreateLabel($g_hTxtFull, $x + 205, $y + 3) - - $y += 25 - $g_ahChkDBCollectorLevel[11] = GUICtrlCreateCheckbox("", $x, $y, 18, 18) - $sTxtTip = $s_TxtTip1 & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkCollectorLevel11_Info_01", "for level 11 elixir collectors during dead base detection.") - _GUICtrlSetTip(-1, $sTxtTip) - GUICtrlSetState(-1, $GUI_CHECKED) - GUICtrlSetOnEvent(-1, "chkDBCollector") - _GUICtrlCreateIcon($g_sLibIconPath, $eIcnCollector, $x + 20, $y, 16, 16) - _GUICtrlSetTip(-1, $sTxtTip) - GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel11", "Lvl 11. Must be >"), $x + 40, $y + 3, -1, -1) - _GUICtrlSetTip(-1, $sTxtTip) - $g_ahCmbDBCollectorLevel[11] = GUICtrlCreateCombo("", $x + 125, $y, 75, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel11_Info_01", 'Select how full a level 11 collector needs to be for it to be marked "dead"')) - GUICtrlSetData(-1, "50%|100%", "50%") - GUICtrlSetOnEvent(-1, "cmbDBCollector") - GUICtrlCreateLabel($g_hTxtFull, $x + 205, $y + 3) - - $y += 25 - $g_ahChkDBCollectorLevel[12] = GUICtrlCreateCheckbox("", $x, $y, 18, 18) - $sTxtTip = $s_TxtTip1 & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkCollectorLevel12_Info_01", "for level 12 elixir collectors during dead base detection.") - _GUICtrlSetTip(-1, $sTxtTip) - GUICtrlSetState(-1, $GUI_CHECKED) - GUICtrlSetOnEvent(-1, "chkDBCollector") - _GUICtrlCreateIcon($g_sLibIconPath, $eIcnCollector, $x + 20, $y, 16, 16) - _GUICtrlSetTip(-1, $sTxtTip) - GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel12", "Lvl 12. Must be >"), $x + 40, $y + 3, -1, -1) - _GUICtrlSetTip(-1, $sTxtTip) - $g_ahCmbDBCollectorLevel[12] = GUICtrlCreateCombo("", $x + 125, $y, 75, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel12_Info_01", 'Select how full a level 12 collector needs to be for it to be marked "dead"')) - GUICtrlSetData(-1, "50%|100%", "50%") - GUICtrlSetOnEvent(-1, "cmbDBCollector") - GUICtrlCreateLabel($g_hTxtFull, $x + 205, $y + 3) + $y += 15 + For $i = 6 To 13 + $y += 25 + $g_ahChkDBCollectorLevel[$i] = GUICtrlCreateCheckbox("", $x, $y, 18, 18) + $sTxtTip = $s_TxtTip1 & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkCollectorLevel" & $i & "_Info_01", "for level " & $i & " elixir collectors during dead base detection.") + _GUICtrlSetTip(-1, $sTxtTip) + GUICtrlSetState(-1, ($i = 6 ? GUICtrlSetState(-1, BitOR($GUI_UNCHECKED, $GUI_DISABLE)) : $GUI_CHECKED)) + GUICtrlSetOnEvent(-1, "chkDBCollector") + _GUICtrlCreateIcon($g_sLibIconPath, $eIcnCollector, $x + 20, $y, 16, 16) + _GUICtrlSetTip(-1, $sTxtTip) + GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel" & $i, "Lvl " & $i & ". Must be >"), $x + 40, $y + 3, -1, -1) + _GUICtrlSetTip(-1, $sTxtTip) + $g_ahCmbDBCollectorLevel[$i] = GUICtrlCreateCombo("", $x + 125, $y, 75, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) + _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel" & $i & "_Info_01", "Select how full a level " & $i & ' collector needs to be for it to be marked "dead"')) + GUICtrlSetData(-1, "50%|100%", "50%") + GUICtrlSetOnEvent(-1, "cmbDBCollector") + GUICtrlCreateLabel($g_hTxtFull, $x + 205, $y + 3) + Next $y += 25 GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblMinCollectorMatches", "Collectors required"), $x, $y + 3, -1, -1) diff --git a/COCBot/GUI/MBR GUI Design Child Attack - Troops.au3 b/COCBot/GUI/MBR GUI Design Child Attack - Troops.au3 index e60ee2bf6..a8e38197f 100644 --- a/COCBot/GUI/MBR GUI Design Child Attack - Troops.au3 +++ b/COCBot/GUI/MBR GUI Design Child Attack - Troops.au3 @@ -19,18 +19,18 @@ Global $g_hGUI_TRAINARMY_TAB = 0, $g_hGUI_TRAINARMY_TAB_ITEM1 = 0, $g_hGUI_TRAIN ; Troops/Spells sub-tab Global $g_hChkUseQuickTrain = 0, $g_ahChkArmy[3] = [0, 0, 0] -Global $g_ahTxtTrainArmyTroopCount[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_ahLblTrainArmyTroopLevel[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_ahTxtTrainArmySpellCount[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_ahLblTrainArmySpellLevel[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_ahTxtTrainArmySiegeCount[$eSiegeMachineCount] = [0, 0] -Global $g_ahLblTrainArmySiegeLevel[$eSiegeMachineCount] = [0, 0] +Global $g_ahTxtTrainArmyTroopCount[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahLblTrainArmyTroopLevel[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahTxtTrainArmySpellCount[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahLblTrainArmySpellLevel[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahTxtTrainArmySiegeCount[$eSiegeMachineCount] = [0, 0, 0] +Global $g_ahLblTrainArmySiegeLevel[$eSiegeMachineCount] = [0, 0, 0] Global $g_hTxtFullTroop = 0, $g_hChkTotalCampForced = 0, $g_hTxtTotalCampForced = 0, $g_hChkForceBrewBeforeAttack = 0 Global $g_hChkDoubleTrain = 0 Global $g_hGrpTrainTroops = 0 -Global $g_ahPicTrainArmyTroop[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_ahPicTrainArmySpell[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahPicTrainArmyTroop[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahPicTrainArmySpell[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Global $g_ahPicTrainArmySiege[$eSiegeMachineCount] = [0, 0] Global $g_hLblTotalTimeCamp = 0, $g_hLblElixirCostCamp = 0, $g_hLblDarkCostCamp = 0, $g_hCalTotalTroops = 0, $g_hLblTotalProgress = 0, $g_hLblCountTotal = 0, _ $g_hTxtTotalCountSpell = 0, $g_hLblTotalTimeSpell = 0, $g_hLblElixirCostSpell = 0, $g_hLblDarkCostSpell = 0, _ @@ -65,12 +65,13 @@ Func LoadTranslatedTrainTroopsOrderList() GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGolems", "Golems"), _ GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWitches", "Witches"), _ GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtLavaHounds", "Lava Hounds"), _ - GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBowlers", "Bowlers")] + GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBowlers", "Bowlers"), _ + GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtIceGolems", "Ice Golems")] EndFunc ;==>LoadTranslatedTrainTroopsOrderList Global $g_hChkCustomTrainOrderEnable = 0 -Global $g_ahCmbTroopOrder[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_ahImgTroopOrder[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahCmbTroopOrder[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahImgTroopOrder[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Global $g_hBtnTroopOrderSet = 0, $g_ahImgTroopOrderSet = 0 Global $g_hBtnRemoveTroops @@ -87,12 +88,13 @@ Func LoadTranslatedBrewSpellsOrderList() GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortPoisonSpells", "Poison"), _ GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortEarthquakeSpells", "EarthQuake"), _ GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortHasteSpells", "Haste"), _ - GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortSkeletonSpells", "Skeleton")] + GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortSkeletonSpells", "Skeleton"), _ + GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortBatSpells", "Bat")] EndFunc ;==>LoadTranslatedBrewSpellsOrderList Global $g_hChkCustomBrewOrderEnable = 0 -Global $g_ahCmbSpellsOrder[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_ahImgSpellsOrder[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahCmbSpellsOrder[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahImgSpellsOrder[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Global $g_hBtnSpellsOrderSet = 0, $g_ahImgSpellsOrderSet = 0 Global $g_hBtnRemoveSpells @@ -162,7 +164,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 3) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 38 + $x += 35 ; Giants Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGiants", "Giants") $g_ahPicTrainArmyTroop[$eTroopGiant] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnGiant, $x, $y - 5, 32, 32) @@ -177,7 +179,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 38 + $x += 35 ; WallBreakers Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallBreakers", "Wall Breakers") $g_ahPicTrainArmyTroop[$eTroopWallBreaker] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnWallBreaker, $x, $y - 5, 32, 32) @@ -192,7 +194,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 3) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 38 + $x += 35 ; Wizards Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWizards", "Wizards") $g_ahPicTrainArmyTroop[$eTroopWizard] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnWizard, $x, $y - 5, 32, 32) @@ -207,7 +209,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 38 + $x += 35 ; Dragon Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtDragons", "Dragons") $g_ahPicTrainArmyTroop[$eTroopDragon] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDragon, $x, $y - 5, 32, 32) @@ -222,7 +224,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 38 + $x += 35 ; BDragon Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBabyDragons", "Baby Dragons") $g_ahPicTrainArmyTroop[$eTroopBabyDragon] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBabyDragon, $x, $y - 5, 32, 32) @@ -237,7 +239,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 45 + $x += 40 ; Electro Dragon Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtElectroDragons", "Electro Dragons") $g_ahPicTrainArmyTroop[$eTroopElectroDragon] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnElectroDragon, $x, $y - 5, 32, 32) @@ -252,7 +254,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 38 + $x += 35 ; Minions Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMinions", "Minions") $g_ahPicTrainArmyTroop[$eTroopMinion] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnMinion, $x, $y - 5, 32, 32) @@ -267,7 +269,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 3) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 38 + $x += 35 ; Valkyries Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtValkyries", "Valkyries") $g_ahPicTrainArmyTroop[$eTroopValkyrie] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnValkyrie, $x, $y - 5, 32, 32) @@ -282,7 +284,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 38 + $x += 35 ; Witches Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWitches", "Witches") $g_ahPicTrainArmyTroop[$eTroopWitch] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnWitch, $x, $y - 5, 32, 32) @@ -296,21 +298,36 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - - $x += 38 - ; Wall Wrecker - Local $sSiegeName = GetTranslatedFileIni("MBR Global GUI Design Names Siege Machines", "TxtWallWrecker", "Wall Wrecker") - $g_ahPicTrainArmySiege[$eSiegeWallWrecker] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnWallW, $x, $y - 5, 32, 32) + + $x += 35 + ; Lavas + Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtLavaHounds", "Lava Hounds") + $g_ahPicTrainArmyTroop[$eTroopLavaHound] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnLavaHound, $x, $y - 5, 32, 32) + _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) + GUICtrlSetOnEvent(-1, "TrainTroopLevelClick") + $g_ahLblTrainArmyTroopLevel[$eTroopLavaHound] = GUICtrlCreateLabel("0", $x + 2, $y + 14, 6, 11) + GUICtrlSetBkColor(-1, $COLOR_WHITE) + GUICtrlSetFont(-1, 7, 400) + $g_ahTxtTrainArmyTroopCount[$eTroopLavaHound] = GUICtrlCreateInput("0", $x + 1, $y + 29, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) + _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) + GUICtrlSetState(-1, $GUI_HIDE) + GUICtrlSetLimit(-1, 2) + GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") + + $x += 35 + ; Battle Blimp + Local $sSiegeName = GetTranslatedFileIni("MBR Global GUI Design Names Siege Machines", "TxtBattleBlimp", "Battle Blimp") + $g_ahPicTrainArmySiege[$eSiegeBattleBlimp] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBattleB, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sSiegeName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) GUICtrlSetOnEvent(-1, "TrainSiegeLevelClick") - $g_ahLblTrainArmySiegeLevel[$eSiegeWallWrecker] = GUICtrlCreateLabel("0", $x + 2, $y + 14, 6, 11) + $g_ahLblTrainArmySiegeLevel[$eSiegeBattleBlimp] = GUICtrlCreateLabel("0", $x + 2, $y + 14, 6, 11) GUICtrlSetBkColor(-1, $COLOR_WHITE) GUICtrlSetFont(-1, 7, 400) - $g_ahTxtTrainArmySiegeCount[$eSiegeWallWrecker] = GUICtrlCreateInput("0", $x + 1, $y + 29, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) + $g_ahTxtTrainArmySiegeCount[$eSiegeBattleBlimp] = GUICtrlCreateInput("0", $x + 1, $y + 29, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sSiegeName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) - GUICtrlSetOnEvent(-1, "TrainSiegeCountEdit") + GUICtrlSetOnEvent(-1, "TrainSiegeCountEdit") ; Next Row $x = $iStartX @@ -330,7 +347,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 3) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 38 + $x += 35 ; Goblins Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGoblins", "Goblins") $g_ahPicTrainArmyTroop[$eTroopGoblin] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnGoblin, $x, $y - 5, 32, 32) @@ -345,7 +362,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 3) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 38 + $x += 35 ; Balloons Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBalloons", "Balloons") $g_ahPicTrainArmyTroop[$eTroopBalloon] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBalloon, $x, $y - 5, 32, 32) @@ -360,7 +377,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 38 + $x += 35 ; Healers Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHealers", "Healers") $g_ahPicTrainArmyTroop[$eTroopHealer] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnHealer, $x, $y - 5, 32, 32) @@ -375,7 +392,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 38 + $x += 35 ; Pekkas Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtPekkas", "Pekkas") $g_ahPicTrainArmyTroop[$eTroopPekka] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnPekka, $x, $y - 5, 32, 32) @@ -390,7 +407,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 38 + $x += 35 ; Miners Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMiners", "Miners") $g_ahPicTrainArmyTroop[$eTroopMiner] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnMiner, $x, $y - 5, 32, 32) @@ -405,7 +422,22 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 45 + $x += 40 + ; IceGolems + Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtIceGolems", "IceGolems") + $g_ahPicTrainArmyTroop[$eTroopIceGolem] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnIceGolem, $x, $y - 5, 32, 32) + _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) + GUICtrlSetOnEvent(-1, "TrainTroopLevelClick") + $g_ahLblTrainArmyTroopLevel[$eTroopIceGolem] = GUICtrlCreateLabel("0", $x + 2, $y + 14, 6, 11) + GUICtrlSetBkColor(-1, $COLOR_WHITE) + GUICtrlSetFont(-1, 7, 400) + $g_ahTxtTrainArmyTroopCount[$eTroopIceGolem] = GUICtrlCreateInput("0", $x + 1, $y + 29, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) + _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) + GUICtrlSetState(-1, $GUI_HIDE) + GUICtrlSetLimit(-1, 2) + GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") + + $x += 35 ; Bowlers Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBowlers", "Bowlers") $g_ahPicTrainArmyTroop[$eTroopBowler] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBowler, $x, $y - 5, 32, 32) @@ -420,7 +452,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 38 + $x += 35 ; Hogs Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHogRiders", "Hog Riders") $g_ahPicTrainArmyTroop[$eTroopHogRider] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnHogRider, $x, $y - 5, 32, 32) @@ -435,7 +467,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 38 + $x += 35 ; Golems Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGolems", "Golems") $g_ahPicTrainArmyTroop[$eTroopGolem] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnGolem, $x, $y - 5, 32, 32) @@ -450,35 +482,35 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - $x += 38 - ; Lavas - Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtLavaHounds", "Lava Hounds") - $g_ahPicTrainArmyTroop[$eTroopLavaHound] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnLavaHound, $x, $y - 5, 32, 32) - _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) - GUICtrlSetOnEvent(-1, "TrainTroopLevelClick") - $g_ahLblTrainArmyTroopLevel[$eTroopLavaHound] = GUICtrlCreateLabel("0", $x + 2, $y + 14, 6, 11) - GUICtrlSetBkColor(-1, $COLOR_WHITE) - GUICtrlSetFont(-1, 7, 400) - $g_ahTxtTrainArmyTroopCount[$eTroopLavaHound] = GUICtrlCreateInput("0", $x + 1, $y + 29, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) - _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) - GUICtrlSetState(-1, $GUI_HIDE) - GUICtrlSetLimit(-1, 2) - GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") - - $x += 38 - ; Battle Blimp - Local $sSiegeName = GetTranslatedFileIni("MBR Global GUI Design Names Siege Machines", "TxtBattleBlimp", "Battle Blimp") - $g_ahPicTrainArmySiege[$eSiegeBattleBlimp] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBattleB, $x, $y - 5, 32, 32) + $x += 35 + ; Wall Wrecker + Local $sSiegeName = GetTranslatedFileIni("MBR Global GUI Design Names Siege Machines", "TxtWallWrecker", "Wall Wrecker") + $g_ahPicTrainArmySiege[$eSiegeWallWrecker] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnWallW, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sSiegeName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) GUICtrlSetOnEvent(-1, "TrainSiegeLevelClick") - $g_ahLblTrainArmySiegeLevel[$eSiegeBattleBlimp] = GUICtrlCreateLabel("0", $x + 2, $y + 14, 6, 11) + $g_ahLblTrainArmySiegeLevel[$eSiegeWallWrecker] = GUICtrlCreateLabel("0", $x + 2, $y + 14, 6, 11) GUICtrlSetBkColor(-1, $COLOR_WHITE) GUICtrlSetFont(-1, 7, 400) - $g_ahTxtTrainArmySiegeCount[$eSiegeBattleBlimp] = GUICtrlCreateInput("0", $x + 1, $y + 29, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) + $g_ahTxtTrainArmySiegeCount[$eSiegeWallWrecker] = GUICtrlCreateInput("0", $x + 1, $y + 29, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sSiegeName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainSiegeCountEdit") + + $x += 35 + ; Stone Slammer + Local $sSiegeName = GetTranslatedFileIni("MBR Global GUI Design Names Siege Machines", "TxtStoneSlammer", "Stone Slammer") + $g_ahPicTrainArmySiege[$eSiegeStoneSlammer] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnStoneS, $x, $y - 5, 32, 32) + _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sSiegeName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) + GUICtrlSetOnEvent(-1, "TrainSiegeLevelClick") + $g_ahLblTrainArmySiegeLevel[$eSiegeStoneSlammer] = GUICtrlCreateLabel("0", $x + 2, $y + 14, 6, 11) + GUICtrlSetBkColor(-1, $COLOR_WHITE) + GUICtrlSetFont(-1, 7, 400) + $g_ahTxtTrainArmySiegeCount[$eSiegeStoneSlammer] = GUICtrlCreateInput("0", $x + 1, $y + 29, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) + _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sSiegeName & " " & $sTxtSetPerc2) + GUICtrlSetState(-1, $GUI_HIDE) + GUICtrlSetLimit(-1, 2) + GUICtrlSetOnEvent(-1, "TrainSiegeCountEdit") $x = 210 @@ -544,7 +576,7 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetBkColor(-1, $COLOR_RED) GUICtrlSetState(-1, BitOR($GUI_DISABLE, $GUI_HIDE)) - $x += 38 + $x += 35 GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "LblCountTotal", "Total"), $x + 295, $y + 7, -1, -1, $SS_RIGHT) $g_hLblCountTotal = GUICtrlCreateLabel(0, $x + 330, $y + 5, 30, 15, $SS_CENTER) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "LblCountTotal_Info_01", "The total Units of Troops should equal Total Army Camps.")) @@ -712,6 +744,21 @@ Func CreateTroopsSpellsSubTab() GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainSpellCountEdit") + + $x += 38 + ; Bat + Local $sSpellName = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtBatSpells", "Bat Spell") + $g_ahPicTrainArmySpell[$eSpellBat] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBatSpell, $x, $y + 10, 32, 32) + _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sSpellName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) + GUICtrlSetOnEvent(-1, "TrainSpellLevelClick") + $g_ahLblTrainArmySpellLevel[$eSpellBat] = GUICtrlCreateLabel("0", $x + 2, $y + 29, 6, 11) + GUICtrlSetBkColor(-1, $COLOR_WHITE) + GUICtrlSetFont(-1, 7, 400) + $g_ahTxtTrainArmySpellCount[$eSpellBat] = GUICtrlCreateInput("0", $x + 1, $y + 44, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) + _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sSpellName & " " & $sTxtSetPerc2) + GUICtrlSetState(-1, $GUI_HIDE) + GUICtrlSetLimit(-1, 2) + GUICtrlSetOnEvent(-1, "TrainSpellCountEdit") $y += 53 $x = 17 diff --git a/COCBot/GUI/MBR GUI Design Child Bot - Stats.au3 b/COCBot/GUI/MBR GUI Design Child Bot - Stats.au3 index 178c95c49..2cbf51932 100644 --- a/COCBot/GUI/MBR GUI Design Child Bot - Stats.au3 +++ b/COCBot/GUI/MBR GUI Design Child Bot - Stats.au3 @@ -38,9 +38,9 @@ Global $g_hLblNbrOfDetectedMines[$g_iModeCount + 3] = [0, 0, 0, 0, 0, 0], $g_hLb $g_hLblNbrOfDetectedDrills[$g_iModeCount + 3] = [0, 0, 0, 0, 0, 0], $g_hLblSmartZap = 0, $g_hLblSmartLightningUsed = 0, $g_hLblSmartEarthQuakeUsed = 0 ; Donations -Global $g_hLblDonTroop[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_hLblDonSpell[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_hLblDonSiegel[$eSiegeMachineCount] = [0, 0] +Global $g_hLblDonTroop[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_hLblDonSpell[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_hLblDonSiegel[$eSiegeMachineCount] = [0, 0, 0] Global $g_hLblTotalTroopsQ = 0, $g_hLblTotalTroopsXP = 0, $g_hLblTotalSpellsQ = 0, $g_hLblTotalSpellsXP = 0 ; Multi Stats @@ -1113,6 +1113,17 @@ Func CreateDonationsSubTab() GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) GUICtrlSetColor(-1, $COLOR_BLACK) _GUICtrlSetTip(-1, $sTxtTip) + + ; SIEGE + _GUICtrlCreateIcon($g_sLibIconPath, $eIcnWallW, $x + 145, $y, 24, 24) + $sTxtTip = "" + _GUICtrlSetTip(-1, $sTxtTip) + GUICtrlCreateLabel(":", $x + 175, $y + 4, -1, 17) + GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) + $g_hLblDonSiegel[$eSiegeWallWrecker] = GUICtrlCreateLabel("0", $x + 165, $y + 4, 50, 17, $SS_RIGHT) + GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) + GUICtrlSetColor(-1, $COLOR_BLACK) + _GUICtrlSetTip(-1, $sTxtTip) $y += 28 _GUICtrlCreateIcon($g_sLibIconPath, $eIcnWallBreaker, $x - 10, $y, 24, 24) @@ -1135,17 +1146,18 @@ Func CreateDonationsSubTab() GUICtrlSetColor(-1, $COLOR_BLACK) _GUICtrlSetTip(-1, $sTxtTip) - ; SIEGE - _GUICtrlCreateIcon($g_sLibIconPath, $eIcnWallW, $x + 145, $y, 24, 24) + + ; SIEGE + _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBattleB, $x + 145, $y, 24, 24) $sTxtTip = "" _GUICtrlSetTip(-1, $sTxtTip) GUICtrlCreateLabel(":", $x + 175, $y + 4, -1, 17) GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) - $g_hLblDonSiegel[$eSiegeWallWrecker] = GUICtrlCreateLabel("0", $x + 165, $y + 4, 50, 17, $SS_RIGHT) + $g_hLblDonSiegel[$eSiegeBattleBlimp] = GUICtrlCreateLabel("0", $x + 165, $y + 4, 50, 17, $SS_RIGHT) GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) GUICtrlSetColor(-1, $COLOR_BLACK) _GUICtrlSetTip(-1, $sTxtTip) - + $y += 28 _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBalloon, $x - 10, $y, 24, 24) $sTxtTip = "" @@ -1166,17 +1178,17 @@ Func CreateDonationsSubTab() GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) GUICtrlSetColor(-1, $COLOR_BLACK) _GUICtrlSetTip(-1, $sTxtTip) - + ; SIEGE - _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBattleB, $x + 145, $y, 24, 24) + _GUICtrlCreateIcon($g_sLibIconPath, $eIcnStoneS, $x + 145, $y, 24, 24) $sTxtTip = "" _GUICtrlSetTip(-1, $sTxtTip) GUICtrlCreateLabel(":", $x + 175, $y + 4, -1, 17) GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) - $g_hLblDonSiegel[$eSiegeBattleBlimp] = GUICtrlCreateLabel("0", $x + 165, $y + 4, 50, 17, $SS_RIGHT) + $g_hLblDonSiegel[$eSiegeStoneSlammer] = GUICtrlCreateLabel("0", $x + 165, $y + 4, 50, 17, $SS_RIGHT) GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) GUICtrlSetColor(-1, $COLOR_BLACK) - _GUICtrlSetTip(-1, $sTxtTip) + _GUICtrlSetTip(-1, $sTxtTip) GUICtrlCreateGroup("", -99, -99, 1, 1) @@ -1214,6 +1226,16 @@ Func CreateDonationsSubTab() GUICtrlSetColor(-1, $COLOR_BLACK) _GUICtrlSetTip(-1, $sTxtTip) + _GUICtrlCreateIcon($g_sLibIconPath, $eIcnIceGolem, $x + 95, $y, 24, 24) + $sTxtTip = "" + _GUICtrlSetTip(-1, $sTxtTip) + GUICtrlCreateLabel(":", $x + 122, $y + 4, -1, 17) + GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) + $g_hLblDonTroop[$eTroopIceGolem] = GUICtrlCreateLabel("0", $x + 100, $y + 4, 70, 17, $SS_RIGHT) + GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) + GUICtrlSetColor(-1, $COLOR_BLACK) + _GUICtrlSetTip(-1, $sTxtTip) + $y += 28 _GUICtrlCreateIcon($g_sLibIconPath, $eIcnValkyrie, $x - 10, $y, 24, 24) $sTxtTip = "" @@ -1351,6 +1373,16 @@ Func CreateDonationsSubTab() GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) GUICtrlSetColor(-1, $COLOR_BLACK) _GUICtrlSetTip(-1, $sTxtTip) + + _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBatSpell, $x + 95, $y, 24, 24) + $sTxtTip = "" + _GUICtrlSetTip(-1, $sTxtTip) + GUICtrlCreateLabel(":", $x + 122, $y + 4, -1, 17) + GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) + $g_hLblDonSpell[$eSpellBat] = GUICtrlCreateLabel("0", $x + 115, $y + 4, 70, 17, $SS_RIGHT) + GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) + GUICtrlSetColor(-1, $COLOR_BLACK) + _GUICtrlSetTip(-1, $sTxtTip) $y += 28 _GUICtrlCreateIcon($g_sLibIconPath, $eIcnEarthQuakeSpell, $x - 10, $y, 24, 24) diff --git a/COCBot/GUI/MBR GUI Design Child VIllage - Upgrade.au3 b/COCBot/GUI/MBR GUI Design Child VIllage - Upgrade.au3 index 58096ac7e..fed5e61d8 100644 --- a/COCBot/GUI/MBR GUI Design Child VIllage - Upgrade.au3 +++ b/COCBot/GUI/MBR GUI Design Child VIllage - Upgrade.au3 @@ -74,7 +74,7 @@ Func CreateVillageUpgrade() EndFunc ;==>CreateVillageUpgrade Func CreateLaboratorySubTab() - Local $sTxtNames = GetTranslatedFileIni("MBR Global GUI Design", "None", "None") & "|" & _ + Local $sTxtNames = GetTranslatedFileIni("MBR Global GUI Design", "Any", "Any") & "|" & _ GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBarbarians", "Barbarians") & "|" & _ GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtArchers", "Archers") & "|" & _ GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGiants", "Giants") & "|" & _ @@ -98,6 +98,7 @@ Func CreateLaboratorySubTab() GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtEarthQuakeSpells", "EarthQuake Spell") & "|" & _ GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtHasteSpells", "Haste Spell") & "|" & _ GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtSkeletonSpells", "Skeleton Spell") & "|" & _ + GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtBatSpells", "Bat Spell") & "|" & _ GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMinions", "Minions") & "|" & _ GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHogRiders", "Hog Riders") & "|" & _ GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtValkyries", "Valkyries") & "|" & _ @@ -105,8 +106,10 @@ Func CreateLaboratorySubTab() GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWitches", "Witches") & "|" & _ GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtLavaHounds", "Lava Hounds") & "|" & _ GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBowlers", "Bowlers") & "|" & _ + GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtIceGolems", "Ice Golems") & "|" & _ GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallWreckers", "Wall Wreckers") & "|" & _ - GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBattleBlimps", "Battle Blimps") + GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBattleBlimps", "Battle Blimps") & "|" & _ + GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtStoneSlammers", "Stone Slammers") Local $x = 25, $y = 45 GUICtrlCreateGroup(GetTranslatedFileIni("MBR GUI Design Child VIllage - Upgrade_Laboratory", "Group_01", "Laboratory"), $x - 20, $y - 20, $g_iSizeWGrpTab3, $g_iSizeHGrpTab3) @@ -117,7 +120,7 @@ Func CreateLaboratorySubTab() $g_hLblNextUpgrade = GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child VIllage - Upgrade_Laboratory", "LblNextUpgrade", "Next one") & ":", $x + 80, $y + 38, 50, -1) GUICtrlSetState(-1, $GUI_DISABLE) $g_hCmbLaboratory = GUICtrlCreateCombo("", $x + 135, $y + 35, 140, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL, $WS_VSCROLL)) - GUICtrlSetData(-1, $sTxtNames, GetTranslatedFileIni("MBR Global GUI Design", "None", "None")) + GUICtrlSetData(-1, $sTxtNames, GetTranslatedFileIni("MBR Global GUI Design", "Any", "Any")) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child VIllage - Upgrade_Laboratory", "CmbLaboratory_Info_01", "Select the troop type to upgrade with this pull down menu") & @CRLF & _ GetTranslatedFileIni("MBR GUI Design Child VIllage - Upgrade_Laboratory", "CmbLaboratory_Info_02", "The troop icon will appear on the right.") & @CRLF & _ GetTranslatedFileIni("MBR GUI Design Child VIllage - Upgrade_Laboratory", "CmbLaboratory_Info_03", "Any Dark Spell/Troop have priority over Upg Heroes!")) diff --git a/COCBot/GUI/MBR GUI Design Child Village - Donate.au3 b/COCBot/GUI/MBR GUI Design Child Village - Donate.au3 index bac277a21..880032f48 100644 --- a/COCBot/GUI/MBR GUI Design Child Village - Donate.au3 +++ b/COCBot/GUI/MBR GUI Design Child Village - Donate.au3 @@ -29,21 +29,21 @@ Global $g_ahCmbClanCastleSpell[2], $g_ahTxtClanCastleSpell[2] ; Donate Global $g_hChkExtraAlphabets = 0, $g_hChkExtraChinese = 0, $g_hChkExtraKorean = 0, $g_hChkExtraPersian = 0 -Global $g_ahChkDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] -Global $g_ahChkDonateAllTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] -Global $g_ahTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] -Global $g_ahTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] -Global $g_ahGrpDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] -Global $g_ahLblDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] -Global $g_ahBtnDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] - -Global $g_ahChkDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0] ; element $eSpellClone (5) is unused -Global $g_ahChkDonateAllSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0] ; element $eSpellClone (5) is unused -Global $g_ahTxtDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0] ; element $eSpellClone (5) is unused -Global $g_ahTxtBlacklistSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0] ; element $eSpellClone (5) is unused -Global $g_ahGrpDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0] ; element $eSpellClone (5) is unused -Global $g_ahLblDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0] ; element $eSpellClone (5) is unused -Global $g_ahBtnDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0] ; element $eSpellClone (5) is unused +Global $g_ahChkDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] +Global $g_ahChkDonateAllTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] +Global $g_ahTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] +Global $g_ahTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] +Global $g_ahGrpDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] +Global $g_ahLblDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] +Global $g_ahBtnDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] + +Global $g_ahChkDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0] ; element $eSpellClone (5) is unused +Global $g_ahChkDonateAllSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0] ; element $eSpellClone (5) is unused +Global $g_ahTxtDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0] ; element $eSpellClone (5) is unused +Global $g_ahTxtBlacklistSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0] ; element $eSpellClone (5) is unused +Global $g_ahGrpDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0] ; element $eSpellClone (5) is unused +Global $g_ahLblDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0] ; element $eSpellClone (5) is unused +Global $g_ahBtnDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0] ; element $eSpellClone (5) is unused Global $g_ahCmbDonateCustomA[3] = [0, 0, 0], $g_ahTxtDonateCustomA[3] = [0, 0, 0], $g_ahPicDonateCustomA[3] = [0, 0, 0] Global $g_ahCmbDonateCustomB[3] = [0, 0, 0], $g_ahTxtDonateCustomB[3] = [0, 0, 0], $g_ahPicDonateCustomB[3] = [0, 0, 0] @@ -337,12 +337,14 @@ Func CreateDonateSubTab() Local $sTxtWitches = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWitches", "Witches") Local $SetLog = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtLavaHounds", "Lava Hounds") Local $sTxtBowlers = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBowlers", "Bowlers") + Local $sTxtIceGolems = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtIceGolems", "Ice Golems") Local $sTxtBabyDragons = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBabyDragons", "Baby Dragons") Local $sTxtMiners = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMiners", "Miners") Local $sTxtElectroDragons = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtElectroDragons", "Electro Dragons") Local $sTxtWallWreckers = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallWreckers", "Wall Wreckers") Local $sTxtBattleBlimps = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBattleBlimps", "Battle Blimps") + Local $sTxtStoneSlammers = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtStoneSlammers", "Stone Slammers") Local $sTxtLightningSpells = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortLightningSpells", "Lightning") Local $sTxtHealSpells = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortHealSpells", "Heal") @@ -353,6 +355,7 @@ Func CreateDonateSubTab() Local $sTxtEarthquakeSpells = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortEarthquakeSpells", "EarthQuake") Local $sTxtHasteSpells = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortHasteSpells", "Haste") Local $sTxtSkeletonSpells = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortSkeletonSpells", "Skeleton") + Local $sTxtBatSpells = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortBatSpells", "Bat") Local $x = $xStart Local $y = $yStart @@ -505,19 +508,21 @@ Func CreateDonateSubTab() _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnBowler, 1) GUICtrlSetOnEvent(-1, "btnDonateTroop") $x += $Offx - $g_ahLblDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeWallWrecker] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) + $g_ahLblDonateTroop[$eTroopIceGolem] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetState(-1, $GUI_DISABLE) - $g_ahBtnDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeWallWrecker] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) - _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnWallW, 1) - GUICtrlSetOnEvent(-1, "btnDonateTroop") - $x += $Offx - $g_ahLblDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeBattleBlimp] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) + $g_ahBtnDonateTroop[$eTroopIceGolem] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) + _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnIceGolem, 1) + GUICtrlSetOnEvent(-1, "btnDonateTroop") + $x += $Offx + ; Button Not Active - future expansion? + $lblBtnCustomE = GUICtrlCreateLabel("", $x + 2, $y - 2, $Offx + 2, $Offx + 2) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetState(-1, $GUI_DISABLE) - $g_ahBtnDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeBattleBlimp] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) - _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnBattleB, 1) - GUICtrlSetOnEvent(-1, "btnDonateTroop") + GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) + GUICtrlSetState(-1, $GUI_DISABLE) +;~ _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnTroops, 0) +;~ GUICtrlSetOnEvent(-1, "btnDonateCustomE") ;$x += $Offx ;$g_hLblDonateTroopTBD3 = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) @@ -604,49 +609,15 @@ Func CreateDonateSubTab() _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnSkeletonSpell, 1) GUICtrlSetOnEvent(-1, "btnDonateSpell") $x += $Offx - ; Button Not Active - future expansion? - $g_hLblDonateSpellTBD1 = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) + $g_ahLblDonateSpell[$eSpellBat] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetState(-1, $GUI_DISABLE) - GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) - GUICtrlSetState(-1, $GUI_DISABLE) -;~ _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnTroops, 0) -;~ GUICtrlSetOnEvent(-1, "btnDonateNameOfSpell") + $g_ahBtnDonateSpell[$eSpellBat] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) + _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnBatSpell, 1) + GUICtrlSetOnEvent(-1, "btnDonateSpell") $x = $xStart - 18 $y += 40 - GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) - GUICtrlSetState(-1, $GUI_DISABLE) -;~ _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnDonBlacklist, 1) -;~ GUICtrlSetOnEvent(-1, "btnDonateBlacklist") - $x += $Offx - ; Button Not Active - future expansion? - $g_hLblDonateTroopCustomF = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) - GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) - GUICtrlSetState(-1, $GUI_DISABLE) - GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) - GUICtrlSetState(-1, $GUI_DISABLE) -;~ _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnTroops, 0) -;~ GUICtrlSetOnEvent(-1, "btnDonateCustomF") - $x += $Offx - ; Button Not Active - future expansion? - $g_hLblDonateTroopCustomG = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) - GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) - GUICtrlSetState(-1, $GUI_DISABLE) - GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) - GUICtrlSetState(-1, $GUI_DISABLE) -;~ _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnDonCustom, 1) -;~ GUICtrlSetOnEvent(-1, "btnDonateCustomG") - $x += $Offx - ; Button Not Active - future expansion? - $g_hLblDonateTroopCustomH = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) - GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) - GUICtrlSetState(-1, $GUI_DISABLE) - GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) - GUICtrlSetState(-1, $GUI_DISABLE) -;~ _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnDonCustomB, 1) -;~ GUICtrlSetOnEvent(-1, "btnDonateCustomH") - $x += $Offx ;;; Custom Combination Donate #1 by ChiefM3, edit my MonkeyHunter $g_ahLblDonateTroop[$eCustomA] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) @@ -662,8 +633,6 @@ Func CreateDonateSubTab() $g_ahBtnDonateTroop[$eCustomB] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnDonCustomB, 1) GUICtrlSetOnEvent(-1, "btnDonateTroop") - - $x += 4 $x += $Offx ;;; Custom Combination Donate #3 ~ Additional Custom Donate by NguyenAnhHD $g_ahLblDonateTroop[$eCustomC] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) @@ -680,18 +649,48 @@ Func CreateDonateSubTab() GUICtrlSetState(-1, $GUI_DISABLE) $g_ahBtnDonateTroop[$eCustomD] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) _GUICtrlSetImage (-1, $g_sLibIconPath, $eIcnDonCustomB, 1) - GUICtrlSetOnEvent(-1, "btnDonateTroop") - + GUICtrlSetOnEvent(-1, "btnDonateTroop") $x += $Offx ; Button Not Active - future expansion? - $g_hLblDonateTroopCustomC = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) + $g_hLblDonateTroopCustomH = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) + GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) + GUICtrlSetState(-1, $GUI_DISABLE) + GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) + GUICtrlSetState(-1, $GUI_DISABLE) +;~ _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnDonCustomB, 1) +;~ GUICtrlSetOnEvent(-1, "btnDonateCustomH") + $x += $Offx + ; Button Not Active - future expansion? + $g_hLblDonateTroopCustomF = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetState(-1, $GUI_DISABLE) - GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) GUICtrlSetState(-1, $GUI_DISABLE) ;~ _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnTroops, 0) -;~ GUICtrlSetOnEvent(-1, "btnDonateCustomC") +;~ GUICtrlSetOnEvent(-1, "btnDonateCustomF") + + $x += 4 + $x += $Offx + $g_ahLblDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeWallWrecker] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) + GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) + GUICtrlSetState(-1, $GUI_DISABLE) + $g_ahBtnDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeWallWrecker] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) + _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnWallW, 1) + GUICtrlSetOnEvent(-1, "btnDonateTroop") + $x += $Offx + $g_ahLblDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeBattleBlimp] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) + GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) + GUICtrlSetState(-1, $GUI_DISABLE) + $g_ahBtnDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeBattleBlimp] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) + _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnBattleB, 1) + GUICtrlSetOnEvent(-1, "btnDonateTroop") + $x += $Offx + $g_ahLblDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) + GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) + GUICtrlSetState(-1, $GUI_DISABLE) + $g_ahBtnDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) + _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnStoneS, 1) + GUICtrlSetOnEvent(-1, "btnDonateTroop") $x += $Offx ; Button Not Active - future expansion? @@ -1518,6 +1517,38 @@ Func CreateDonateSubTab() _GUICtrlSetTip(-1, $sTxtKeywordsNoTip & " " & $sTxtBowlers) GUICtrlCreateGroup("", -99, -99, 1, 1) + $x = $xStart + $y = $Offy + $g_ahGrpDonateTroop[$eTroopIceGolem] = GUICtrlCreateGroup($sTxtIceGolems, $x - 20, $y - 20, $g_iSizeWGrpTab3, 169) + $x -= 10 + $y -= 4 + GUICtrlSetState(-1, $GUI_HIDE) + _GUICtrlCreateIcon($g_sLibIconPath, $eIcnIceGolem, $x + 215, $y, 64, 64, $BS_ICON) + GUICtrlSetState(-1, $GUI_HIDE) + $g_ahChkDonateTroop[$eTroopIceGolem] = GUICtrlCreateCheckbox($sTxtDonate & " " & $sTxtIceGolems, $x + 285, $y, -1, -1) + GUICtrlSetState(-1, $GUI_HIDE) + _GUICtrlSetTip(-1, $sTxtDonateTip & " " & $sTxtIceGolems & " " & $sTxtDonateTipTroop) + GUICtrlSetOnEvent(-1, "chkDonateTroop") + $g_ahChkDonateAllTroop[$eTroopIceGolem] = GUICtrlCreateCheckbox($sTxtDonateAll, $x + 285, $y + 20, -1, -1) + GUICtrlSetState(-1, $GUI_HIDE) + _GUICtrlSetTip(-1, $sTxtDonateTip & " " & $sTxtIceGolems & " " & $sTxtDonateTipAll & @CRLF & $sTxtIgnoreAll) + GUICtrlSetOnEvent(-1, "chkDonateAllTroop") + GUICtrlCreateLabel($sTxtKeywords & " " & $sTxtIceGolems & ":" , $x - 5, $y + 5, -1, -1) + GUICtrlSetState(-1, $GUI_HIDE) + $g_ahTxtDonateTroop[$eTroopIceGolem] = GUICtrlCreateEdit("", $x - 5, $y + 20, 205, 125, BitOR($ES_WANTRETURN, $ES_CENTER, $ES_AUTOVSCROLL)) + GUICtrlSetState(-1, $GUI_HIDE) + GUICtrlSetData(-1, StringFormat(GetTranslatedFileIni("MBR GUI Design Child Village - Donate", "TxtDonateTroop_Item_35", "ice golem\r\nice golems"))) + _GUICtrlSetTip(-1, $sTxtKeywords & " " & $sTxtIceGolems) + GUICtrlCreateLabel($sTxtKeywordsNo & ":", $x + 215, $y + 70, -1, -1) + GUICtrlSetState(-1, $GUI_HIDE) + $g_ahTxtBlacklistTroop[$eTroopIceGolem] = GUICtrlCreateEdit("", $x + 215, $y + 85, 200, 60, BitOR($ES_WANTRETURN, $ES_CENTER, $ES_AUTOVSCROLL)) + GUICtrlSetState(-1, $GUI_HIDE) + GUICtrlSetBkColor(-1, 0x505050) + GUICtrlSetColor(-1, $COLOR_WHITE) + GUICtrlSetData(-1, StringFormat(GetTranslatedFileIni("MBR GUI Design Child Village - Donate", "TxtBlacklistTroop_Item_36", "no ice golem\r\nice golem no"))) + _GUICtrlSetTip(-1, $sTxtKeywordsNoTip & " " & $sTxtIceGolems) + GUICtrlCreateGroup("", -99, -99, 1, 1) + ; SIEGE - $sTxtBattleBlimps $x = $xStart $y = $Offy @@ -1582,6 +1613,38 @@ Func CreateDonateSubTab() GUICtrlSetData(-1, StringFormat(GetTranslatedFileIni("MBR GUI Design Child Village - Donate", "TxtBlacklistTroop_Item_33", "no blimps\r\nsiege no"))) _GUICtrlSetTip(-1, $sTxtKeywordsNoTip & " " & $sTxtBattleBlimps) GUICtrlCreateGroup("", -99, -99, 1, 1) + + $x = $xStart + $y = $Offy + $g_ahGrpDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = GUICtrlCreateGroup($sTxtStoneSlammers, $x - 20, $y - 20, $g_iSizeWGrpTab3, 169) + $x -= 10 + $y -= 4 + GUICtrlSetState(-1, $GUI_HIDE) + _GUICtrlCreateIcon($g_sLibIconPath, $eIcnStoneS, $x + 215, $y, 64, 64, $BS_ICON) + GUICtrlSetState(-1, $GUI_HIDE) + $g_ahChkDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = GUICtrlCreateCheckbox($sTxtDonate & " " & $sTxtStoneSlammers, $x + 285, $y, -1, -1) + GUICtrlSetState(-1, $GUI_HIDE) + _GUICtrlSetTip(-1, $sTxtDonateTip & " " & $sTxtStoneSlammers & " " & $sTxtDonateTipTroop) + GUICtrlSetOnEvent(-1, "chkDonateTroop") + ;$g_ahChkDonateAllTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = GUICtrlCreateCheckbox($sTxtDonateAll, $x + 285, $y + 30, -1, -1) + ;GUICtrlSetState(-1, $GUI_HIDE) + ;_GUICtrlSetTip(-1, $sTxtDonateTip & " " & $sTxtStoneSlammers & " " & $sTxtDonateTipAll & @CRLF & $sTxtIgnoreAll) + ;GUICtrlSetOnEvent(-1, "chkDonateAllTroop") + GUICtrlCreateLabel($sTxtKeywords & " " & $sTxtStoneSlammers & ":" , $x - 5, $y + 5, -1, -1) + GUICtrlSetState(-1, $GUI_HIDE) + $g_ahTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = GUICtrlCreateEdit("", $x - 5, $y + 20, 205, 125, BitOR($ES_WANTRETURN, $ES_CENTER, $ES_AUTOVSCROLL)) + GUICtrlSetState(-1, $GUI_HIDE) + GUICtrlSetData(-1, StringFormat(GetTranslatedFileIni("MBR GUI Design Child Village - Donate", "TxtDonateTroop_Item_32", "stone slammers\r\nsieges\r\nslammers"))) + _GUICtrlSetTip(-1, $sTxtKeywords & " " & $sTxtStoneSlammers) + GUICtrlCreateLabel($sTxtKeywordsNo & ":", $x + 215, $y + 70, -1, -1) + GUICtrlSetState(-1, $GUI_HIDE) + $g_ahTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = GUICtrlCreateEdit("", $x + 215, $y + 85, 200, 60, BitOR($ES_WANTRETURN, $ES_CENTER, $ES_AUTOVSCROLL)) + GUICtrlSetState(-1, $GUI_HIDE) + GUICtrlSetBkColor(-1, 0x505050) + GUICtrlSetColor(-1, $COLOR_WHITE) + GUICtrlSetData(-1, StringFormat(GetTranslatedFileIni("MBR GUI Design Child Village - Donate", "TxtBlacklistTroop_Item_35", "no slammers\r\nsiege no"))) + _GUICtrlSetTip(-1, $sTxtKeywordsNoTip & " " & $sTxtStoneSlammers) + GUICtrlCreateGroup("", -99, -99, 1, 1) $x = $xStart $y = $Offy @@ -1710,6 +1773,38 @@ Func CreateDonateSubTab() GUICtrlSetData(-1, StringFormat(GetTranslatedFileIni("MBR GUI Design Child Village - Donate", "TxtBlacklistTroop_Item_28", "no skeleton\r\nskeleton no\r\nno skel"))) _GUICtrlSetTip(-1, $sTxtKeywordsNoTip & " " & $sTxtSkeletonSpells) GUICtrlCreateGroup("", -99, -99, 1, 1) + + $x = $xStart + $y = $Offy + $g_ahGrpDonateSpell[$eSpellBat] = GUICtrlCreateGroup($sTxtBatSpells, $x - 20, $y - 20, $g_iSizeWGrpTab3, 169) + $x -= 10 + $y -= 4 + GUICtrlSetState(-1, $GUI_HIDE) + _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBatSpell, $x + 215, $y, 64, 64, $BS_ICON) + GUICtrlSetState(-1, $GUI_HIDE) + $g_ahChkDonateSpell[$eSpellBat] = GUICtrlCreateCheckbox($sTxtDonate & " " & $sTxtBatSpells, $x + 285, $y, -1, -1) + GUICtrlSetState(-1, $GUI_HIDE) + _GUICtrlSetTip(-1, $sTxtDonateTip & " " & $sTxtBatSpells & " " & $sTxtDonateTipTroop) + GUICtrlSetOnEvent(-1, "chkDonateSpell") + $g_ahChkDonateAllSpell[$eSpellBat] = GUICtrlCreateCheckbox($sTxtDonateAll, $x + 285, $y + 20, -1, -1) + GUICtrlSetState(-1, $GUI_HIDE) + _GUICtrlSetTip(-1, $sTxtDonateTip & " " & $sTxtBatSpells & " " & $sTxtDonateTipAll & @CRLF & $sTxtIgnoreAll) + GUICtrlSetOnEvent(-1, "chkDonateAllSpell") + GUICtrlCreateLabel($sTxtKeywords & " " & $sTxtBatSpells & ":" , $x - 5, $y + 5, -1, -1) + GUICtrlSetState(-1, $GUI_HIDE) + $g_ahTxtDonateSpell[$eSpellBat] = GUICtrlCreateEdit("", $x - 5, $y + 20, 205, 125, BitOR($ES_WANTRETURN, $ES_CENTER, $ES_AUTOVSCROLL)) + GUICtrlSetState(-1, $GUI_HIDE) + GUICtrlSetData(-1, StringFormat(GetTranslatedFileIni("MBR GUI Design Child Village - Donate", "TxtDonateTroop_Item_34", "Bat"))) + _GUICtrlSetTip(-1, $sTxtKeywords & " " & $sTxtBatSpells) + GUICtrlCreateLabel($sTxtKeywordsNo & ":", $x + 215, $y + 70, -1, -1) + GUICtrlSetState(-1, $GUI_HIDE) + $g_ahTxtBlacklistSpell[$eSpellBat] = GUICtrlCreateEdit("", $x + 215, $y + 85, 200, 60, BitOR($ES_WANTRETURN, $ES_CENTER, $ES_AUTOVSCROLL)) + GUICtrlSetState(-1, $GUI_HIDE) + GUICtrlSetBkColor(-1, 0x505050) + GUICtrlSetColor(-1, $COLOR_WHITE) + GUICtrlSetData(-1, StringFormat(GetTranslatedFileIni("MBR GUI Design Child Village - Donate", "TxtBlacklistTroop_Item_34", "no bat\r\nbat no"))) + _GUICtrlSetTip(-1, $sTxtKeywordsNoTip & " " & $sTxtBatSpells) + GUICtrlCreateGroup("", -99, -99, 1, 1) $x = $xStart $y = $Offy @@ -1740,7 +1835,7 @@ Func CreateDonateSubTab() $g_ahPicDonateCustomA[0] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonWizard, $x + 25, $y, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomA[0] = GUICtrlCreateCombo("", $x + 60, $y, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtWizards) + GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtWizards) GUICtrlSetOnEvent(-1, "cmbDonateCustomA") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomA[0] = GUICtrlCreateInput("2", $x + 165, $y, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -1752,7 +1847,7 @@ Func CreateDonateSubTab() $g_ahPicDonateCustomA[1] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonArcher, $x + 25, $y + 25, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomA[1] = GUICtrlCreateCombo("", $x + 60, $y + 25, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtArchers) + GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtArchers) GUICtrlSetOnEvent(-1, "cmbDonateCustomA") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomA[1] = GUICtrlCreateInput("3", $x + 165, $y + 25, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -1764,7 +1859,7 @@ Func CreateDonateSubTab() $g_ahPicDonateCustomA[2] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonBarbarian, $x + 25, $y + 50, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomA[2] = GUICtrlCreateCombo("", $x + 60, $y + 50, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtBarbarians) + GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtBarbarians) GUICtrlSetOnEvent(-1, "cmbDonateCustomA") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomA[2] = GUICtrlCreateInput("1", $x + 165, $y + 50, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -1810,7 +1905,7 @@ Func CreateDonateSubTab() $g_ahPicDonateCustomB[0] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonBabyDragon, $x + 25, $y, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomB[0] = GUICtrlCreateCombo("", $x + 60, $y, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtBabyDragons) + GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtBabyDragons) GUICtrlSetOnEvent(-1, "cmbDonateCustomB") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomB[0] = GUICtrlCreateInput("1", $x + 165, $y, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -1822,7 +1917,7 @@ Func CreateDonateSubTab() $g_ahPicDonateCustomB[1] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonBalloon, $x + 25, $y + 25, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomB[1] = GUICtrlCreateCombo("", $x + 60, $y + 25, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtBalloons) + GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtBalloons) GUICtrlSetOnEvent(-1, "cmbDonateCustomB") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomB[1] = GUICtrlCreateInput("3", $x + 165, $y + 25, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -1834,7 +1929,7 @@ Func CreateDonateSubTab() $g_ahPicDonateCustomB[2] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonMinion, $x + 25, $y + 50, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomB[2] = GUICtrlCreateCombo("", $x + 60, $y + 50, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtMinions) + GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtMinions) GUICtrlSetOnEvent(-1, "cmbDonateCustomB") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomB[2] = GUICtrlCreateInput("5", $x + 165, $y + 50, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -1880,7 +1975,7 @@ Func CreateDonateSubTab() $g_ahPicDonateCustomC[0] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonWizard, $x + 25, $y, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomC[0] = GUICtrlCreateCombo("", $x + 60, $y, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtWizards) + GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtWizards) GUICtrlSetOnEvent(-1, "cmbDonateCustomC") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomC[0] = GUICtrlCreateInput("1", $x + 165, $y, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -1892,7 +1987,7 @@ Func CreateDonateSubTab() $g_ahPicDonateCustomC[1] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonArcher, $x + 25, $y + 25, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomC[1] = GUICtrlCreateCombo("", $x + 60, $y + 25, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtArchers) + GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtArchers) GUICtrlSetOnEvent(-1, "cmbDonateCustomC") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomC[1] = GUICtrlCreateInput("3", $x + 165, $y + 25, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -1904,7 +1999,7 @@ Func CreateDonateSubTab() $g_ahPicDonateCustomC[2] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonBarbarian, $x + 25, $y + 50, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomC[2] = GUICtrlCreateCombo("", $x + 60, $y + 50, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtBarbarians) + GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtBarbarians) GUICtrlSetOnEvent(-1, "cmbDonateCustomC") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomC[2] = GUICtrlCreateInput("5", $x + 165, $y + 50, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -1950,7 +2045,7 @@ Func CreateDonateSubTab() $g_ahPicDonateCustomD[0] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonBabyDragon, $x + 25, $y, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomD[0] = GUICtrlCreateCombo("", $x + 60, $y, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtBabyDragons) + GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtBabyDragons) GUICtrlSetOnEvent(-1, "cmbDonateCustomD") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomD[0] = GUICtrlCreateInput("1", $x + 165, $y, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -1962,7 +2057,7 @@ Func CreateDonateSubTab() $g_ahPicDonateCustomD[1] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonBalloon, $x + 25, $y + 25, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomD[1] = GUICtrlCreateCombo("", $x + 60, $y + 25, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtBalloons) + GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtBalloons) GUICtrlSetOnEvent(-1, "cmbDonateCustomD") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomD[1] = GUICtrlCreateInput("3", $x + 165, $y + 25, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -1974,7 +2069,7 @@ Func CreateDonateSubTab() $g_ahPicDonateCustomD[2] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonMinion, $x + 25, $y + 50, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomD[2] = GUICtrlCreateCombo("", $x + 60, $y + 50, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) - GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtMinions) + GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtMinions) GUICtrlSetOnEvent(-1, "cmbDonateCustomD") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomD[2] = GUICtrlCreateInput("5", $x + 165, $y + 50, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) diff --git a/COCBot/GUI/MBR GUI Design Child Village - Misc.au3 b/COCBot/GUI/MBR GUI Design Child Village - Misc.au3 index 51c89e5ca..11baaa5d9 100644 --- a/COCBot/GUI/MBR GUI Design Child Village - Misc.au3 +++ b/COCBot/GUI/MBR GUI Design Child Village - Misc.au3 @@ -24,7 +24,7 @@ Global $g_hBtnLocateKingAltar = 0, $g_hBtnLocateQueenAltar = 0, $g_hBtnLocateWar Global $g_hChkTreasuryCollect = 0, $g_hTxtTreasuryGold = 0, $g_hTxtTreasuryElixir = 0, $g_hTxtTreasuryDark = 0 , $g_hChkFreeMagicItems = 0 Global $g_alblBldBaseStats[4] = ["", "", ""] -Global $g_hChkCollectBuilderBase = 0, $g_hChkStartClockTowerBoost = 0, $g_hChkCTBoostBlderBz = 0 +Global $g_hChkCollectBuilderBase = 0, $g_hChkStartClockTowerBoost = 0, $g_hChkCTBoostBlderBz = 0, $g_hChkCleanBBYard = 0 Global $g_hChkCollectBldGE = 0, $g_hChkCollectBldGems = 0, $g_hChkActivateClockTower = 0 Global $g_hChkBBSuggestedUpgrades = 0, $g_hChkBBSuggestedUpgradesIgnoreGold = 0 , $g_hChkBBSuggestedUpgradesIgnoreElixir , $g_hChkBBSuggestedUpgradesIgnoreHall = 0 Global $g_hChkPlacingNewBuildings = 0 @@ -341,6 +341,9 @@ Func CreateMiscBuilderBaseSubTab() GUICtrlCreateIcon($g_sLibIconPath, $eIcnGemMine, $x + 57, $y, 24, 24) $g_hChkCollectBuilderBase = GUICtrlCreateCheckbox(GetTranslatedFileIni("MBR GUI Design Child Village - Misc", "ChkCollectBuilderBase", "Collect Ressources"), $x + 100, $y + 4, -1, -1) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Village - Misc", "ChkCollectBuildersBase_Info_01", "Check this to collect Ressources on the Builder Base")) + $g_hChkCleanBBYard = GUICtrlCreateCheckbox(GetTranslatedFileIni("MBR GUI Design Child Village - Misc", "ChkCleanBBYard", "Remove Obstacles"), $x + 260, $y + 4, -1, -1) + _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Village - Misc", "ChkCleanBBYard_Info_01", "Check this to automatically clear Yard from Trees, Trunks, etc.")) + GUICtrlSetState (-1, $GUI_ENABLE) $y += 32 GUICtrlCreateIcon($g_sLibIconPath, $eIcnClockTower, $x + 32, $y, 24, 24) diff --git a/COCBot/MBR Functions.au3 b/COCBot/MBR Functions.au3 index 8c13c53cd..e4308a300 100644 --- a/COCBot/MBR Functions.au3 +++ b/COCBot/MBR Functions.au3 @@ -296,6 +296,7 @@ #include "functions\Village\BuilderBase\StartClockTowerBoost.au3" #include "functions\Village\BuilderBase\BuilderBaseReport.au3" #include "functions\Village\BuilderBase\SuggestedUpgrades.au3" +#include "functions\Village\BuilderBase\CleanBBYard.au3" #include "functions\Other\Api.au3" #include "functions\Other\ApiClient.au3" diff --git a/COCBot/MBR GUI Control Variables.au3 b/COCBot/MBR GUI Control Variables.au3 index b199760ff..00dff4631 100644 --- a/COCBot/MBR GUI Control Variables.au3 +++ b/COCBot/MBR GUI Control Variables.au3 @@ -32,7 +32,7 @@ Global $g_aGroupLightning = "", $groupHeal = "", $groupRage = "", $groupJumpSpel ;Dark Spell Global $g_aGroupPoison = "", $groupEarthquake = "", $groupHaste = "", $groupSkeleton = "", $groupIcnPoison = "", $groupIcnEarthquake = "", $groupIcnHaste = "", _ - $groupIcnSkeleton = "", $groupListSpells = "" + $groupIcnSkeleton = "", $groupIcnBat = "", $groupListSpells = "" ;TH Level Global $g_aGroupListTHLevels = "" @@ -89,25 +89,25 @@ Func InitializeControlVariables() ;Attack $g_aGroupAttackDB = $g_hCmbDBAlgorithm&"#"&$g_hCmbDBSelectTroop&"#"&$g_hChkDBKingAttack&"#"&$g_hChkDBQueenAttack&"#"&$g_hChkDBWardenAttack&"#"&$g_hChkDBDropCC&"#"& _ $g_hChkDBLightSpell&"#"&$g_hChkDBHealSpell&"#"&$g_hChkDBRageSpell&"#"&$g_hChkDBJumpSpell&"#"&$g_hChkDBFreezeSpell&"#"&$g_hChkDBCloneSpell&"#"& _ - $g_hChkDBPoisonSpell&"#"&$g_hChkDBEarthquakeSpell&"#"&$g_hChkDBHasteSpell&"#"&$g_hChkDBSkeletonSpell + $g_hChkDBPoisonSpell&"#"&$g_hChkDBEarthquakeSpell&"#"&$g_hChkDBHasteSpell&"#"&$g_hChkDBSkeletonSpell&"#"&$g_hChkDBBatSpell $g_aGroupAttackDBSpell = $g_hChkDBLightSpell&"#"&$g_hChkDBHealSpell&"#"&$g_hChkDBRageSpell&"#"&$g_hChkDBJumpSpell&"#"&$g_hChkDBFreezeSpell&"#"&$g_hChkDBCloneSpell&"#"& _ - $g_hChkDBPoisonSpell&"#"&$g_hChkDBEarthquakeSpell&"#"&$g_hChkDBHasteSpell&"#"&$g_hChkDBSkeletonSpell + $g_hChkDBPoisonSpell&"#"&$g_hChkDBEarthquakeSpell&"#"&$g_hChkDBHasteSpell&"#"&$g_hChkDBSkeletonSpell&"#"&$g_hChkDBBatSpell $groupIMGAttackDB = $g_hPicDBKingAttack&"#"&$g_hPicDBQueenAttack&"#"&$g_hPicDBWardenAttack&"#"&$g_hPicDBDropCC&"#"& _ $g_hPicDBLightSpell&"#"&$g_hPicDBHealSpell&"#"&$g_hPicDBRageSpell&"#"&$g_hPicDBJumpSpell&"#"&$g_hPicDBFreezeSpell&"#"&$g_hPicDBCloneSpell&"#"& _ - $g_hPicDBPoisonSpell&"#"&$g_hPicDBEarthquakeSpell&"#"&$g_hPicDBHasteSpell&"#"&$g_hPicDBSkeletonSpell + $g_hPicDBPoisonSpell&"#"&$g_hPicDBEarthquakeSpell&"#"&$g_hPicDBHasteSpell&"#"&$g_hPicDBSkeletonSpell&"#"&$g_hPicDBBatSpell $groupIMGAttackDBSpell = $g_hPicDBLightSpell&"#"&$g_hPicDBHealSpell&"#"&$g_hPicDBRageSpell&"#"&$g_hPicDBJumpSpell&"#"&$g_hPicDBFreezeSpell&"#"&$g_hPicDBCloneSpell&"#"& _ - $g_hPicDBPoisonSpell&"#"&$g_hPicDBEarthquakeSpell&"#"&$g_hPicDBHasteSpell&"#"&$g_hPicDBSkeletonSpell + $g_hPicDBPoisonSpell&"#"&$g_hPicDBEarthquakeSpell&"#"&$g_hPicDBHasteSpell&"#"&$g_hPicDBSkeletonSpell&"#"&$g_hPicDBBatSpell $groupAttackAB = $g_hCmbDBAlgorithm&"#"&$g_hCmbABSelectTroop&"#"&$g_hChkABKingAttack&"#"&$g_hChkABQueenAttack&"#"&$g_hChkABWardenAttack&"#"&$g_hChkABDropCC&"#"& _ $g_hChkABLightSpell&"#"&$g_hChkABHealSpell&"#"&$g_hChkABRageSpell&"#"&$g_hChkABJumpSpell&"#"&$g_hChkABFreezeSpell&"#"&$g_hChkABCloneSpell&"#"& _ - $g_hChkABPoisonSpell&"#"&$g_hChkABEarthquakeSpell&"#"&$g_hChkABHasteSpell&"#"&$g_hChkABSkeletonSpell + $g_hChkABPoisonSpell&"#"&$g_hChkABEarthquakeSpell&"#"&$g_hChkABHasteSpell&"#"&$g_hChkABSkeletonSpell&"#"&$g_hChkABBatSpell $groupAttackABSpell = $g_hChkABLightSpell&"#"&$g_hChkABHealSpell&"#"&$g_hChkABRageSpell&"#"&$g_hChkABJumpSpell&"#"&$g_hChkABFreezeSpell&"#"&$g_hChkABCloneSpell&"#"& _ - $g_hChkABPoisonSpell&"#"&$g_hChkABEarthquakeSpell&"#"&$g_hChkABHasteSpell&"#"&$g_hChkABSkeletonSpell + $g_hChkABPoisonSpell&"#"&$g_hChkABEarthquakeSpell&"#"&$g_hChkABHasteSpell&"#"&$g_hChkABSkeletonSpell&"#"&$g_hChkABBatSpell $groupIMGAttackAB = $g_hPicABKingAttack&"#"&$g_hPicABQueenAttack&"#"&$g_hPicABWardenAttack&"#"&$g_hPicABDropCC&"#"& _ $g_hPicABLightSpell&"#"&$g_hPicABHealSpell&"#"&$g_hPicABRageSpell&"#"&$g_hPicABJumpSpell&"#"&$g_hPicABFreezeSpell&"#"&$g_hPicABCloneSpell&"#"& _ - $g_hPicABPoisonSpell&"#"&$g_hPicABEarthquakeSpell&"#"&$g_hPicABHasteSpell&"#"&$g_hPicABSkeletonSpell + $g_hPicABPoisonSpell&"#"&$g_hPicABEarthquakeSpell&"#"&$g_hPicABHasteSpell&"#"&$g_hPicABSkeletonSpell&"#"&$g_hPicABBatSpell $groupIMGAttackABSpell = $g_hPicABLightSpell&"#"&$g_hPicABHealSpell&"#"&$g_hPicABRageSpell&"#"&$g_hPicABJumpSpell&"#"&$g_hPicABFreezeSpell&"#"&$g_hPicABCloneSpell&"#"& _ - $g_hPicABPoisonSpell&"#"&$g_hPicABEarthquakeSpell&"#"&$g_hPicABHasteSpell&"#"&$g_hPicABSkeletonSpell + $g_hPicABPoisonSpell&"#"&$g_hPicABEarthquakeSpell&"#"&$g_hPicABHasteSpell&"#"&$g_hPicABSkeletonSpell&"#"&$g_hPicABBatSpell $groupAttackTS = $g_hGrpABAttack&"#"&$g_hLblAttackTHType&"#"&$g_hCmbAttackTHType&"#"&$g_hLblTSSelectTroop&"#"&$g_hCmbTSSelectTroop&"#"& _ $g_hLblTSSelectSpecialTroop&"#"&$g_hChkTSKingAttack&"#"&$g_hChkTSQueenAttack&"#"&$g_hChkTSWardenAttack&"#"&$g_hChkTSDropCC&"#"&$g_hChkTSLightSpell&"#"& _ @@ -272,6 +272,7 @@ Func InitializeControlVariables() $oAlwaysEnabledControls($g_hBtnAndroidAdbShell) = 1 $oAlwaysEnabledControls($g_hBtnAndroidHome) = 1 $oAlwaysEnabledControls($g_hBtnAndroidBack) = 1 + $oAlwaysEnabledControls($g_hBtnPullSharedPrefs) = 1 $oAlwaysEnabledControls($g_hBtnMakeScreenshot) = 1 $oAlwaysEnabledControls($g_hDivider) = 1 diff --git a/COCBot/MBR GUI Control.au3 b/COCBot/MBR GUI Control.au3 index f3239dca1..3c29c688d 100644 --- a/COCBot/MBR GUI Control.au3 +++ b/COCBot/MBR GUI Control.au3 @@ -1038,6 +1038,7 @@ Func BotShrinkExpandToggleExecute() ;_SendMessage($g_hFrmBotBottom, $WM_SETREDRAW, False, 0) GUISetState(@SW_HIDE, $g_hFrmBotEx) GUISetState(@SW_HIDE, $g_hFrmBotBottom) + Local $iSteps = 10 Local $fStep = $_GUI_MAIN_WIDTH / $iSteps Local $bGetAnimationSpeed = True diff --git a/COCBot/MBR Global Variables.au3 b/COCBot/MBR Global Variables.au3 index 136ab936b..e6a2a69a9 100644 --- a/COCBot/MBR Global Variables.au3 +++ b/COCBot/MBR Global Variables.au3 @@ -250,9 +250,10 @@ Global $__Droid4X_Window[3][3] = _ ; Alternative window sizes (array must be ord ["0.10.0", $g_iDEFAULT_WIDTH + 6, $g_iDEFAULT_HEIGHT + 53], _ ["0.8.6", $g_iDEFAULT_WIDTH + 10, $g_iDEFAULT_HEIGHT + 50] _ ] -Global $__Nox_Config[1][2] = _ ; Alternative Nox Control ID (array must be ordered by version descending!) +Global $__Nox_Config[2][3] = _ ; Alternative Nox Control ID (array must be ordered by version descending!) [ _ ; Version|$g_sAppClassInstance - ["3.3.0", "[CLASS:subWin; INSTANCE:1]|[TEXT:QWidgetClassWindow; CLASS:Qt5QWindowIcon]"] _ ; use multiple index as during undock it can change + ["6.2.1", "[CLASS:subWin; INSTANCE:1]|[CLASS:AnglePlayer_0; INSTANCE:1]", True], _ ; subWin is used for OpenGL and AnglePlayer_0 for DirectX, $g_bAndroidControlUseParentPos is set to True to support DirectX when docked + ["3.3.0", "[CLASS:subWin; INSTANCE:1]|[TEXT:QWidgetClassWindow; CLASS:Qt5QWindowIcon]", False] _ ; use multiple index as during undock it can change ] ; 0 |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 |11 |12 |13 |14 |15 @@ -351,7 +352,7 @@ Global $g_avAndroidProgramFileVersionInfo = 0 ; Array of _WinAPI_VerQueryValue F Global $g_bAndroidHasSystemBar = False ; BS2 System Bar can be entirely disabled in Windows Registry Global $g_iAndroidClientWidth_Configured = 0 ; Android configured Screen Width Global $g_iAndroidClientHeight_Configured = 0 ; Android configured Screen Height -Global $g_iAndroidLaunchWaitSec = 240 ; Seconds to wait for launching Android Simulator +Global $g_iAndroidLaunchWaitSec = 600 ; Seconds to wait for launching Android Simulator Global $g_sAndroidPicturesPath = "" ; Android mounted path to pictures on host Global $g_sAndroidPicturesHostPath = "" ; Windows host path to mounted pictures in android @@ -393,6 +394,7 @@ Global $g_bForceCapture = False ; Force android ADB screencap to run and not pro Global $g_hAndroidWindow = 0 ; Handle for Android window Global $g_hAndroidWindowDpiAware = 0 ; Handle for Android window when bot set DPI Awareness Global $g_hAndroidControl = 0 ; Handle for Android Screen Control +Global $g_bAndroidControlUseParentPos = False ; If true, control pos is used from parent control (only used to fix docking for Nox in DirectX mode) Global $g_bInitAndroid = True ; Used to cache android config, is set to False once initialized, new emulator window handle resets it to True @@ -534,7 +536,7 @@ Global Enum $eIcnArcher = 1, $eIcnDonArcher, $eIcnBalloon, $eIcnDonBalloon, $eIc $eIcnCCSpells, $eIcnSpellsGroup, $eBahasaIND, $eChinese_S, $eChinese_T, $eEnglish, $eFrench, $eGerman, $eItalian, $ePersian, _ $eRussian, $eSpanish, $eTurkish, $eMissingLangIcon, $eWall12, $ePortuguese, $eIcnDonPoisonSpell, $eIcnDonEarthQuakeSpell, $eIcnDonHasteSpell, $eIcnDonSkeletonSpell, $eVietnamese, $eKorean, $eAzerbaijani, _ $eArabic, $eIcnBuilderHall, $eIcnClockTower, $eIcnElixirCollectorL5, $eIcnGemMine, $eIcnGoldMineL5, $eIcnElectroDragon, $eIcnTH12, $eHdV12, $eWall13, $eIcnGrayShield, $eIcnBlueShield, $eIcnGreenShield, $eIcnRedShield, _ - $eIcnBattleB , $eIcnWallW, $eIcnSiegeCost, $eIcnBoostPotion + $eIcnBattleB , $eIcnWallW, $eIcnSiegeCost, $eIcnBoostPotion, $eIcnBatSpell, $eIcnStoneS, $eIcnIceGolem Global $eIcnDonBlank = $eIcnDonBlacklist Global $eIcnOptions = $eIcnDonBlacklist @@ -591,8 +593,8 @@ Global Const $DROPLINE_DROPPOINTS_ONLY = 4 ;-------------------------------------------------------------------------- ; Complete list of all deployable/trainable objects Global Enum $eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, _ - $eMini, $eHogs, $eValk, $eGole, $eWitc, $eLava, $eBowl, $eKing, $eQueen, $eWarden, $eCastle, _ - $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eWallW, $eBattleB, $eArmyCount + $eMini, $eHogs, $eValk, $eGole, $eWitc, $eLava, $eBowl, $eIceG, $eKing, $eQueen, $eWarden, $eCastle, _ + $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell, $eWallW, $eBattleB, $eStoneS, $eArmyCount ; Attack types Global Enum $DB, $LB, $TS, $MA, $TB, $DT ; DeadBase, ActiveBase, TownhallSnipe, Milking Attack, TownhallBully, DropTrophy @@ -604,23 +606,23 @@ Global Const $g_asModeText[6] = ["Dead Base", "Live Base", "TH Snipe", "Milking Global Enum $eTroopBarbarian, $eTroopArcher, $eTroopGiant, $eTroopGoblin, $eTroopWallBreaker, $eTroopBalloon, _ $eTroopWizard, $eTroopHealer, $eTroopDragon, $eTroopPekka, $eTroopBabyDragon, $eTroopMiner, $eTroopElectroDragon, _ $eTroopMinion, $eTroopHogRider, $eTroopValkyrie, $eTroopGolem, $eTroopWitch, _ - $eTroopLavaHound, $eTroopBowler, $eTroopCount + $eTroopLavaHound, $eTroopBowler, $eTroopIceGolem, $eTroopCount Global Const $g_asTroopNames[$eTroopCount] = [ _ "Barbarian", "Archer", "Giant", "Goblin", "Wall Breaker", "Balloon", "Wizard", "Healer", "Dragon", "Pekka", "Baby Dragon", "Miner", "Electro Dragon", _ - "Minion", "Hog Rider", "Valkyrie", "Golem", "Witch", "Lava Hound", "Bowler"] + "Minion", "Hog Rider", "Valkyrie", "Golem", "Witch", "Lava Hound", "Bowler", "Ice Golem"] Global Const $g_asTroopNamesPlural[$eTroopCount] = [ _ "Barbarians", "Archers", "Giants", "Goblins", "Wall Breakers", "Balloons", "Wizards", "Healers", "Dragons", "Pekkas", "Baby Dragons", "Miners", "Electro Dragons", _ - "Minions", "Hog Riders", "Valkyries", "Golems", "Witches", "Lava Hounds", "Bowlers"] + "Minions", "Hog Riders", "Valkyries", "Golems", "Witches", "Lava Hounds", "Bowlers", "Ice Golems"] Global Const $g_asTroopShortNames[$eTroopCount] = [ _ "Barb", "Arch", "Giant", "Gobl", "Wall", "Ball", "Wiza", "Heal", "Drag", "Pekk", "BabyD", "Mine", "EDrag", _ - "Mini", "Hogs", "Valk", "Gole", "Witc", "Lava", "Bowl"] + "Mini", "Hogs", "Valk", "Gole", "Witc", "Lava", "Bowl", "IceG"] Global Const $g_aiTroopSpace[$eTroopCount] = [ _ 1, 1, 5, 1, 2, 5, 4, 14, 20, 25, 10, 6, 30, _ - 2, 5, 8, 30, 12, 30, 6] + 2, 5, 8, 30, 12, 30, 6, 15] Global Const $g_aiTroopTrainTime[$eTroopCount] = [ _ 20, 24, 120, 28, 60, 120, 120, 480, 720, 720, 360, 120, 1440, _ - 36, 90, 180, 600, 360, 600, 120] + 36, 90, 180, 600, 360, 600, 120, 180] ; Zero element contains number of levels, elements 1 thru n contain cost of that level troop Global Const $g_aiTroopCostPerLevel[$eTroopCount][10] = [ _ [8, 25, 40, 60, 100, 150, 200, 250, 300], _ ; Barbarian @@ -642,16 +644,17 @@ Global Const $g_aiTroopCostPerLevel[$eTroopCount][10] = [ _ [8, 300, 375, 450, 525, 600, 675, 750, 825], _ ; Golem [4, 175, 225, 275, 325], _ ; Witch [5, 390, 450, 510, 570, 630], _ ; Lavahound - [4, 110, 130, 150, 170]] ; Bowler -Global Const $g_aiTroopDonateXP[$eTroopCount] = [1, 1, 5, 1, 2, 5, 4, 14, 20, 25, 10, 6, 30, 2, 5, 8, 30, 12, 30, 6] + [4, 110, 130, 150, 170], _ ; Bowler + [4, 220, 240, 260, 280]] ; IceGolem +Global Const $g_aiTroopDonateXP[$eTroopCount] = [1, 1, 5, 1, 2, 5, 4, 14, 20, 25, 10, 6, 30, 2, 5, 8, 30, 12, 30, 6, 15] ; Spells Global Enum $eSpellLightning, $eSpellHeal, $eSpellRage, $eSpellJump, $eSpellFreeze, $eSpellClone, _ - $eSpellPoison, $eSpellEarthquake, $eSpellHaste, $eSpellSkeleton, $eSpellCount -Global Const $g_asSpellNames[$eSpellCount] = ["Lightning", "Heal", "Rage", "Jump", "Freeze", "Clone", "Poison", "Earthquake", "Haste", "Skeleton"] -Global Const $g_asSpellShortNames[$eSpellCount] = ["LSpell", "HSpell", "RSpell", "JSpell", "FSpell", "CSpell", "PSpell", "ESpell", "HaSpell", "SkSpell"] -Global Const $g_aiSpellSpace[$eSpellCount] = [2, 2, 2, 2, 1, 3, 1, 1, 1, 1] -Global Const $g_aiSpellTrainTime[$eSpellCount] = [360, 360, 360, 360, 360, 720, 180, 180, 180, 180] + $eSpellPoison, $eSpellEarthquake, $eSpellHaste, $eSpellSkeleton, $eSpellBat, $eSpellCount +Global Const $g_asSpellNames[$eSpellCount] = ["Lightning", "Heal", "Rage", "Jump", "Freeze", "Clone", "Poison", "Earthquake", "Haste", "Skeleton", "Bat"] +Global Const $g_asSpellShortNames[$eSpellCount] = ["LSpell", "HSpell", "RSpell", "JSpell", "FSpell", "CSpell", "PSpell", "ESpell", "HaSpell", "SkSpell", "BtSpell"] +Global Const $g_aiSpellSpace[$eSpellCount] = [2, 2, 2, 2, 1, 3, 1, 1, 1, 1, 1] +Global Const $g_aiSpellTrainTime[$eSpellCount] = [360, 360, 360, 360, 360, 720, 180, 180, 180, 180, 180] ; Zero element contains number of levels, elements 1 thru n contain cost of that level spell Global Const $g_aiSpellCostPerLevel[$eSpellCount][8] = [ _ [7, 15000, 16500, 18000, 20000, 22000, 24000, 26000], _ ;LightningSpell @@ -663,22 +666,25 @@ Global Const $g_aiSpellCostPerLevel[$eSpellCount][8] = [ _ [5, 95, 110, 125, 140, 155], _ ;PoisonSpell [4, 125, 140, 160, 180], _ ;EarthquakeSpell [4, 80, 85, 90, 95], _ ;HasteSpell - [5, 110, 120, 130, 140, 150]] ;SkeletonSpell -Global Const $g_aiSpellDonateXP[$eSpellCount] = [10, 10, 10, 10, 10, 0, 5, 5, 5, 5] + [5, 110, 120, 130, 140, 150], _ ;SkeletonSpell + [5, 110, 120, 130, 140, 150]] ;BatSpell +Global Const $g_aiSpellDonateXP[$eSpellCount] = [10, 10, 10, 10, 10, 0, 5, 5, 5, 5, 5] ;Siege Machines -Global Enum $eSiegeWallWrecker, $eSiegeBattleBlimp, $eSiegeMachineCount +Global Enum $eSiegeWallWrecker, $eSiegeBattleBlimp, $eSiegeStoneSlammer, $eSiegeMachineCount -Global Const $g_asSiegeMachineNames[$eSiegeMachineCount] = ["Wall Wrecker", "Battle Blimp"] -Global Const $g_asSiegeMachineShortNames[$eSiegeMachineCount] = ["WallW", "BattleB"] -Global Const $g_aiSiegeMachineSpace[$eSiegeMachineCount] = [1, 1] +Global Const $g_asSiegeMachineNames[$eSiegeMachineCount] = ["Wall Wrecker", "Battle Blimp", "Stone Slammer"] +Global Const $g_asSiegeMachineShortNames[$eSiegeMachineCount] = ["WallW", "BattleB", "StoneS"] +Global Const $g_aiSiegeMachineSpace[$eSiegeMachineCount] = [1, 1, 1] Global Const $g_aiSiegeMachineTrainTimePerLevel[$eSiegeMachineCount][4] = [ _ - [3, 1200, 1500, 1800], _ ; Wall Wrecker - [3, 1200, 1500, 1800]] ; Battle Blimp + [3, 1200, 1200, 1200], _ ; Wall Wrecker + [3, 1200, 1200, 1200], _ ; Battle Blimp + [3, 1200, 1200, 1200]] ; Stone Slammer Global Const $g_aiSiegeMachineCostPerLevel[$eSiegeMachineCount][4] = [ _ [3, 100000, 100000, 100000], _ ; Wall Wrecker - [3, 100000, 100000, 100000]] ; Battle Blimp -Global Const $g_aiSiegeMachineDonateXP[$eSiegeMachineCount] = [30, 30] + [3, 100000, 100000, 100000], _ ; Battle Blimp + [3, 100000, 100000, 100000]] ; Stone Slammer +Global Const $g_aiSiegeMachineDonateXP[$eSiegeMachineCount] = [30, 30, 30] ; Hero Bitmaped Values Global Enum $eHeroNone = 0, $eHeroKing = 1, $eHeroQueen = 2, $eHeroWarden = 4 @@ -761,13 +767,13 @@ EndFunc ;==>TroopIndexLookup ; and returns the full name. ;-------------------------------------------------------------------------- Func GetTroopName(Const $iIndex, $iQuantity = 1) - If $iIndex >= $eBarb And $iIndex <= $eBowl Then + If $iIndex >= $eBarb And $iIndex <= $eIceG Then Return $iQuantity > 1 ? $g_asTroopNamesPlural[$iIndex] : $g_asTroopNames[$iIndex] - ElseIf $iIndex >= $eLSpell And $iIndex <= $eSkSpell Then + ElseIf $iIndex >= $eLSpell And $iIndex <= $eBtSpell Then Return $iQuantity > 1 ? $g_asSpellNames[$iIndex - $eLSpell] & "Spells" : $g_asSpellNames[$iIndex - $eLSpell] & "Spell" ElseIf $iIndex >= $eKing And $iIndex <= $eWarden Then Return $g_asHeroNames[$iIndex - $eKing] - ElseIf $iIndex >= $eWallW And $iIndex <= $eBattleB Then + ElseIf $iIndex >= $eWallW And $iIndex <= $eStoneS Then Return $g_asSiegeMachineNames[$iIndex - $eWallW] ElseIf $iIndex = $eCastle Then Return "Clan Castle" @@ -806,7 +812,7 @@ Global $g_iTxtTreasuryGold = 0 Global $g_iTxtTreasuryElixir = 0 Global $g_iTxtTreasuryDark = 0 -Global $g_bChkCollectBuilderBase = False, $g_bChkStartClockTowerBoost = False, $g_bChkCTBoostBlderBz = False +Global $g_bChkCollectBuilderBase = False, $g_bChkStartClockTowerBoost = False, $g_bChkCTBoostBlderBz = False, $g_bChkCleanBBYard = False ; <><><><> Village / Donate - Request <><><><> Global $g_bRequestTroopsEnable = False @@ -814,28 +820,28 @@ Global $g_sRequestTroopsText = "" Global $g_abRequestCCHours[24] = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] Global $g_abRequestType[3] = [True, True, False] ; (0 = Troop, 1 = Spell, 2 = Siege Machine) Global $g_iRequestCountCCTroop = 0, $g_iRequestCountCCSpell = 0 -Global $g_aiCCTroopsExpected[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_aiCCSpellsExpected[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiCCTroopsExpected[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiCCSpellsExpected[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Global $g_aiClanCastleTroopWaitType[3], $g_aiClanCastleTroopWaitQty[3] Global $g_aiClanCastleSpellWaitType[2], $g_aiClanCastleSpellWaitQty[2] ; <><><><> Village / Donate - Donate <><><><> Global $g_bChkDonate = True Global $g_abChkDonateQueueOnly[2] -Global $g_aiQueueTroopFirstSlot[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_aiQueueSpellFirstSlot[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiQueueTroopFirstSlot[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiQueueSpellFirstSlot[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Global Enum $eCustomA = $eTroopCount, $eCustomB = $eTroopCount + 1 Global Enum $eCustomC = $eTroopCount + 2, $eCustomD = $eTroopCount + 3 Global Const $g_iCustomDonateConfigs = 4 -Global $g_abChkDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] -Global $g_abChkDonateAllTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] -Global $g_asTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ; array of pipe-delimited list of strings to match to a request string -Global $g_asTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ; array of pipe-delimited list of strings to prevent a match to a request string +Global $g_abChkDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] +Global $g_abChkDonateAllTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] +Global $g_asTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ; array of pipe-delimited list of strings to match to a request string +Global $g_asTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ; array of pipe-delimited list of strings to prevent a match to a request string -Global $g_abChkDonateSpell[$eSpellCount] = [False, False, False, False, False, False, False, False, False, False] ; element $eSpellClone (5) is unused -Global $g_abChkDonateAllSpell[$eSpellCount] = [False, False, False, False, False, False, False, False, False, False] ; element $eSpellClone (5) is unused -Global $g_asTxtDonateSpell[$eSpellCount] = ["", "", "", "", "", "", "", "", "", ""] ; element $eSpellClone (5) is unused -Global $g_asTxtBlacklistSpell[$eSpellCount] = ["", "", "", "", "", "", "", "", "", ""] ; element $eSpellClone (5) is unused +Global $g_abChkDonateSpell[$eSpellCount] = [False, False, False, False, False, False, False, False, False, False, False] ; element $eSpellClone (5) is unused +Global $g_abChkDonateAllSpell[$eSpellCount] = [False, False, False, False, False, False, False, False, False, False, False] ; element $eSpellClone (5) is unused +Global $g_asTxtDonateSpell[$eSpellCount] = ["", "", "", "", "", "", "", "", "", "", ""] ; element $eSpellClone (5) is unused +Global $g_asTxtBlacklistSpell[$eSpellCount] = ["", "", "", "", "", "", "", "", "", "", ""] ; element $eSpellClone (5) is unused Global $g_aiDonateCustomTrpNumA[3][2] = [[0, 0], [0, 0], [0, 0]], $g_aiDonateCustomTrpNumB[3][2] = [[0, 0], [0, 0], [0, 0]] Global $g_aiDonateCustomTrpNumC[3][2] = [[0, 0], [0, 0], [0, 0]], $g_aiDonateCustomTrpNumD[3][2] = [[0, 0], [0, 0], [0, 0]] @@ -943,12 +949,12 @@ Global $g_abNotifyScheduleWeekDays[7] = [False, False, False, False, False, Fals ; <><><><> Attack Plan / Train Army / Troops/Spells <><><><> Global $g_bQuickTrainEnable = False Global $g_bQuickTrainArmy[3] = [True, False, False] -Global $g_aiArmyCompTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_aiArmyCompSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_aiArmyCompSiegeMachine[$eSiegeMachineCount] = [0, 0] -Global $g_aiTrainArmyTroopLevel[$eTroopCount] = [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_aiTrainArmySpellLevel[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_aiTrainArmySiegeMachineLevel[$eSiegeMachineCount] = [0, 0] +Global $g_aiArmyCompTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiArmyCompSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiArmyCompSiegeMachine[$eSiegeMachineCount] = [0, 0, 0] +Global $g_aiTrainArmyTroopLevel[$eTroopCount] = [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiTrainArmySpellLevel[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiTrainArmySiegeMachineLevel[$eSiegeMachineCount] = [0, 0, 0] Global $g_iTrainArmyFullTroopPct = 100 Global $g_bTotalCampForced = False, $g_iTotalCampForcedValue = 200 Global $g_bForceBrewSpells = False @@ -960,49 +966,49 @@ Global $g_iCmbBoostBarracks = 0, $g_iCmbBoostSpellFactory = 0, $g_iCmbBoostBarba Global $g_abBoostBarracksHours[24] = [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] ; <><><><> Attack Plan / Train Army / Train Order <><><><> -Global Const $g_aiTroopOrderIcon[22] = [ _ +Global Const $g_aiTroopOrderIcon[23] = [ _ $eIcnOptions, $eIcnBarbarian, $eIcnArcher, $eIcnGiant, $eIcnGoblin, $eIcnWallBreaker, $eIcnBalloon, _ $eIcnWizard, $eIcnHealer, $eIcnDragon, $eIcnPekka, $eIcnBabyDragon, $eIcnMiner, $eIcnElectroDragon, $eIcnMinion, _ - $eIcnHogRider, $eIcnValkyrie, $eIcnGolem, $eIcnWitch, $eIcnLavaHound, $eIcnBowler] -Global $g_bCustomTrainOrderEnable = False, $g_aiCmbCustomTrainOrder[$eTroopCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1] + $eIcnHogRider, $eIcnValkyrie, $eIcnGolem, $eIcnWitch, $eIcnLavaHound, $eIcnBowler, $eIcnIceGolem] +Global $g_bCustomTrainOrderEnable = False, $g_aiCmbCustomTrainOrder[$eTroopCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1] Global $g_aiTrainOrder[$eTroopCount] = [ _ $eTroopArcher, $eTroopGiant, $eTroopWallBreaker, $eTroopBarbarian, $eTroopGoblin, $eTroopHealer, _ $eTroopPekka, $eTroopBalloon, $eTroopWizard, $eTroopDragon, $eTroopBabyDragon, $eTroopMiner, $eTroopElectroDragon, _ $eTroopMinion, $eTroopHogRider, $eTroopValkyrie, $eTroopGolem, $eTroopWitch, $eTroopLavaHound, _ - $eTroopBowler] + $eTroopBowler, $eTroopIceGolem] ; Spells Brew Order -Global Const $g_aiSpellsOrderIcon[12] = [ _ +Global Const $g_aiSpellsOrderIcon[13] = [ _ $eIcnOptions, $eIcnLightSpell, $eIcnHealSpell,$eIcnRageSpell, $eIcnJumpSpell, $eIcnFreezeSpell, $eIcnCloneSpell, _ - $eIcnPoisonSpell, $eIcnEarthQuakeSpell, $eIcnHasteSpell, $eIcnSkeletonSpell] + $eIcnPoisonSpell, $eIcnEarthQuakeSpell, $eIcnHasteSpell, $eIcnSkeletonSpell, $eIcnBatSpell] -Global $g_bCustomBrewOrderEnable = False, $g_aiCmbCustomBrewOrder[$eSpellCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1] +Global $g_bCustomBrewOrderEnable = False, $g_aiCmbCustomBrewOrder[$eSpellCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1] Global $g_aiBrewOrder[$eSpellCount] = [ _ $eSpellLightning, $eSpellHeal, $eSpellRage, $eSpellJump, $eSpellFreeze, $eSpellClone, _ - $eSpellPoison, $eSpellEarthquake, $eSpellHaste, $eSpellSkeleton] + $eSpellPoison, $eSpellEarthquake, $eSpellHaste, $eSpellSkeleton, $eSpellBat] ; Drop Order Troops Global Enum $eTroopBarbarianS, $eTroopArcherS, $eTroopGiantS, $eTroopGoblinS, $eTroopWallBreakerS, $eTroopBalloonS, _ $eTroopWizardS, $eTroopHealerS, $eTroopDragonS, $eTroopPekkaS, $eTroopBabyDragonS, $eTroopMinerS, $eTroopElectroDragons, _ $eTroopMinionS, $eTroopHogRiderS, $eTroopValkyrieS, $eTroopGolemS, $eTroopWitchS, _ - $eTroopLavaHoundS, $eTroopBowlerS, $eHeroeS, $eCCS, $eDropOrderCount + $eTroopLavaHoundS, $eTroopBowlerS, $eTroopIceGolemS, $eHeroeS, $eCCS, $eDropOrderCount Global Const $g_asDropOrderNames[$eDropOrderCount] = [ _ "Barbarians", "Archers", "Giants", "Goblins", "Wall Breakers", "Balloons", "Wizards", "Healers", "Dragons", "Pekkas", "Baby Dragons", "Miners", "Electro Dragons", _ - "Minions", "Hog Riders", "Valkyries", "Golems", "Witches", "Lava Hounds", "Bowlers", _ + "Minions", "Hog Riders", "Valkyries", "Golems", "Witches", "Lava Hounds", "Bowlers", "Ice Golems", _ "Clan Castle", "Heroes"] -Global Const $g_aiDropOrderIcon[24] = [ _ +Global Const $g_aiDropOrderIcon[25] = [ _ $eIcnOptions, $eIcnBarbarian, $eIcnArcher, $eIcnGiant, $eIcnGoblin, $eIcnWallBreaker, $eIcnBalloon, _ $eIcnWizard, $eIcnHealer, $eIcnDragon, $eIcnPekka, $eIcnBabyDragon, $eIcnMiner, $eIcnElectroDragon, $eIcnMinion, _ - $eIcnHogRider, $eIcnValkyrie, $eIcnGolem, $eIcnWitch, $eIcnLavaHound, $eIcnBowler, $eIcnCC, $eIcnHeroes] -Global $g_bCustomDropOrderEnable = False, $g_aiCmbCustomDropOrder[$eDropOrderCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1] + $eIcnHogRider, $eIcnValkyrie, $eIcnGolem, $eIcnWitch, $eIcnLavaHound, $eIcnBowler, $eIcnIceGolem, $eIcnCC, $eIcnHeroes] +Global $g_bCustomDropOrderEnable = False, $g_aiCmbCustomDropOrder[$eDropOrderCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1] Global $g_aiDropOrder[$eDropOrderCount] = [ _ $eTroopBarbarianS, $eTroopArcherS, $eTroopGiantS, $eTroopGoblinS, $eTroopWallBreakerS, $eTroopBalloonS, _ $eTroopWizardS, $eTroopHealerS, $eTroopDragonS, $eTroopPekkaS, $eTroopBabyDragonS, $eTroopMinerS, $eTroopElectroDragonS, $eTroopMinionS, _ - $eTroopHogRiderS, $eTroopValkyrieS, $eTroopGolemS, $eTroopWitchS, $eTroopLavaHoundS, $eTroopBowlerS, _ + $eTroopHogRiderS, $eTroopValkyrieS, $eTroopGolemS, $eTroopWitchS, $eTroopLavaHoundS, $eTroopBowlerS, $eTroopIceGolem, _ $eHeroeS, $eCCS] ; <><><><> Attack Plan / Train Army / Options <><><><> @@ -1044,7 +1050,7 @@ Global $g_aiAttackAlgorithm[$g_iModeCount] = [0, 0, 0], $g_aiAttackTroopSelectio Global $g_abAttackUseLightSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseHealSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseRageSpell[$g_iModeCount] = [0, 0, 0], _ $g_abAttackUseJumpSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseFreezeSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseCloneSpell[$g_iModeCount] = [0, 0, 0], _ $g_abAttackUsePoisonSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseEarthquakeSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseHasteSpell[$g_iModeCount] = [0, 0, 0], _ - $g_abAttackUseSkeletonSpell[$g_iModeCount] = [0, 0, 0] + $g_abAttackUseSkeletonSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseBatSpell[$g_iModeCount] = [0, 0, 0] Global $g_bTHSnipeBeforeEnable[$g_iModeCount] = [False, False, False], $g_iTHSnipeBeforeTiles[$g_iModeCount] = [0, 0, 0], $g_iTHSnipeBeforeScript[$g_iModeCount] = [0, 0, 0] ; Attack - Standard Global $g_aiAttackStdDropOrder[$g_iModeCount + 1] = [0, 0, 0, 0], $g_aiAttackStdDropSides[$g_iModeCount + 1] = [3, 3, 0, 1], $g_aiAttackStdUnitDelay[$g_iModeCount + 1] = [4, 4, 0, 4], _ @@ -1100,8 +1106,8 @@ Global $g_iPercentageDamage = 0 ; <<< nothing here - all in common Search & Attack grouping >>> ; <><><><> Attack Plan / Search & Attack / Deadbase / Collectors <><><><> -Global $g_abCollectorLevelEnabled[13] = [-1, -1, -1, -1, -1, -1, True, True, True, True, True, True, True] ; elements 0 thru 5 are never referenced -Global $g_aiCollectorLevelFill[13] = [-1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1] ; elements 0 thru 5 are never referenced +Global $g_abCollectorLevelEnabled[14] = [-1, -1, -1, -1, -1, -1, True, True, True, True, True, True, True, True] ; elements 0 thru 5 are never referenced +Global $g_aiCollectorLevelFill[14] = [-1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1] ; elements 0 thru 5 are never referenced Global $g_bCollectorFilterDisable = False Global $g_iCollectorMatchesMin = 3 Global $g_iCollectorToleranceOffset = 0 @@ -1287,7 +1293,7 @@ Global $g_bFullArmySpells = False ; true when $g_iTotalTrainSpaceSpell = $iTotal Global $g_CurrentCampUtilization = 0, $g_iTotalCampSpace = 0 ; Upgrading - Lab -Global $g_iLaboratoryElixirCost = 0 +Global $g_iLaboratoryElixirCost = 0, $g_iLaboratoryDElixirCost = 0 Global $g_iFirstTimeLab = 0 Global $g_sLabUpgradeTime = "" @@ -1338,23 +1344,23 @@ Global Const $g_aaiTopRightDropPoints[5][2] = [[466, 60], [556, 120], [622, 170] Global Const $g_aaiBottomLeftDropPoints[5][2] = [[81, 390], [174, 475], [235, 521], [299, 570], [390, 610]] Global Const $g_aaiBottomRightDropPoints[5][2] = [[466, 600], [554, 555], [615, 510], [678, 460], [765, 394]] Global Const $g_aaiEdgeDropPoints[4] = [$g_aaiBottomRightDropPoints, $g_aaiTopLeftDropPoints, $g_aaiBottomLeftDropPoints, $g_aaiTopRightDropPoints] -Global Const $g_aiUseAllTroops[35] = [$eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, $eMini, $eHogs, $eValk, $eGole, $eWitc, $eLava, $eBowl, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eWallW, $eBattleB] -Global Const $g_aiUseBarracks[27] = [$eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseBarbs[15] = [$eBarb, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseArchs[15] = [$eArch, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseBarcher[16] = [$eBarb, $eArch, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseBarbGob[16] = [$eBarb, $eGobl, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseArchGob[16] = [$eArch, $eGobl, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseBarcherGiant[17] = [$eBarb, $eArch, $eGiant, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseBarcherGobGiant[18] = [$eBarb, $eArch, $eGiant, $eGobl, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseBarcherHog[17] = [$eBarb, $eArch, $eHogs, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseBarcherMinion[17] = [$eBarb, $eArch, $eMini, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] +Global Const $g_aiUseAllTroops[38] = [$eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, $eMini, $eHogs, $eValk, $eGole, $eWitc, $eLava, $eBowl, $eIceG, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eBtSpell, $eWallW, $eBattleB, $eStoneS] +Global Const $g_aiUseBarracks[28] = [$eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseBarbs[16] = [$eBarb, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseArchs[16] = [$eArch, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseBarcher[17] = [$eBarb, $eArch, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseBarbGob[17] = [$eBarb, $eGobl, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseArchGob[17] = [$eArch, $eGobl, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseBarcherGiant[18] = [$eBarb, $eArch, $eGiant, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseBarcherGobGiant[19] = [$eBarb, $eArch, $eGiant, $eGobl, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseBarcherHog[18] = [$eBarb, $eArch, $eHogs, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseBarcherMinion[18] = [$eBarb, $eArch, $eMini, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] Global Const $g_aaiTroopsToBeUsed[12] = [$g_aiUseAllTroops, $g_aiUseBarracks, $g_aiUseBarbs, $g_aiUseArchs, $g_aiUseBarcher, $g_aiUseBarbGob, $g_aiUseArchGob, $g_aiUseBarcherGiant, $g_aiUseBarcherGobGiant, _ $g_aiUseBarcherHog, $g_aiUseBarcherMinion] Global $g_bTHSnipeUsedKing = False Global $g_bTHSnipeUsedQueen = False Global $g_bTHSnipeUsedWarden = False -Global $g_avAttackTroops[22][2] ;11 Slots of troops - Name, Amount (+ 11 extended slots Slot11+) +Global $g_avAttackTroops[22][3] ;11 Slots of troops - Name, Amount, x-coord (+ 11 extended slots Slot11+) Global $g_bFullArmy = False ;Check for full army or not Global $g_iKingSlot = -1, $g_iQueenSlot = -1, $g_iWardenSlot = -1, $g_iClanCastleSlot = -1 Global $g_iTotalAttackSlot = 10, $g_bDraggedAttackBar = False ; Slot11+ @@ -1454,63 +1460,66 @@ Global Enum $ArmyTAB, $TrainTroopsTAB, $BrewSpellsTAB, $QuickTrainTAB Global $g_bCheckSpells = False Global $g_bCheckClanCastleTroops = False ; Array to hold Laboratory Troop information [LocX of upper left corner of image, LocY of upper left corner of image, PageLocation, Troop "name", Icon # in DLL file] -Global $g_avLabTroops[33][5] +Global $g_avLabTroops[36][5] Func TranslateTroopNames() - Dim $g_avLabTroops[33][5] = [ _ + Dim $g_avLabTroops[36][5] = [ _ [-1, -1, -1, GetTranslatedFileIni("MBR Global GUI Design", "None", "None"), $eIcnBlank], _ - [120, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBarbarians", "Barbarians"), $eIcnBarbarian], _ - [120, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtArchers", "Archers"), $eIcnArcher], _ - [227, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGiants", "Giants"), $eIcnGiant], _ - [227, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGoblins", "Goblins"), $eIcnGoblin], _ - [334, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallBreakers", "Wall Breakers"), $eIcnWallBreaker], _ - [334, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBalloons", "Balloons"), $eIcnBalloon], _ - [440, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWizards", "Wizards"), $eIcnWizard], _ - [440, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHealers", "Healers"), $eIcnHealer], _ - [547, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtDragons", "Dragons"), $eIcnDragon], _ - [547, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtPekkas", "Pekkas"), $eIcnPekka], _ - [654, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBabyDragons", "Baby Dragons"), $eIcnBabyDragon], _ - [654, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMiners", "Miners"), $eIcnMiner], _ - [220, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtElectroDragons", "Electro Dragons"), $eIcnElectroDragon], _ - [220, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtLightningSpells", "Lightning Spell"), $eIcnLightSpell], _ - [327, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtHealingSpells", "Healing Spell"), $eIcnHealSpell], _ - [327, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtRageSpells", "Rage Spell"), $eIcnRageSpell], _ - [433, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtJumpSpells", "Jump Spell"), $eIcnJumpSpell], _ - [433, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtFreezeSpells", "Freeze Spell"), $eIcnFreezeSpell], _ - [540, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtCloneSpells", "Clone Spell"), $eIcnCloneSpell], _ - [540, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtPoisonSpells", "Poison Spell"), $eIcnPoisonSpell], _ - [113, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtEarthQuakeSpells", "EarthQuake Spell"), $eIcnEarthQuakeSpell], _ - [113, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtHasteSpells", "Haste Spell"), $eIcnHasteSpell], _ - [220, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtSkeletonSpells", "Skeleton Spell"), $eIcnSkeletonSpell], _ - [220, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMinions", "Minions"), $eIcnMinion], _ - [327, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHogRiders", "Hog Riders"), $eIcnHogRider], _ - [327, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtValkyries", "Valkyries"), $eIcnValkyrie], _ - [433, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGolems", "Golems"), $eIcnGolem], _ - [433, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWitches", "Witches"), $eIcnWitch], _ - [540, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtLavaHounds", "Lava Hounds"), $eIcnLavaHound], _ - [540, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBowlers", "Bowlers"), $eIcnBowler], _ - [647, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallWreckers", "Wall Wreckers"), $eIcnWallW], _ - [647, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBattleBlimps", "Battle Blimps"), $eIcnBattleB]] + [114, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBarbarians", "Barbarians"), $eIcnBarbarian], _ + [114, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtArchers", "Archers"), $eIcnArcher], _ + [221, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGiants", "Giants"), $eIcnGiant], _ + [221, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGoblins", "Goblins"), $eIcnGoblin], _ + [327, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallBreakers", "Wall Breakers"), $eIcnWallBreaker], _ + [327, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBalloons", "Balloons"), $eIcnBalloon], _ + [434, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWizards", "Wizards"), $eIcnWizard], _ + [434, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHealers", "Healers"), $eIcnHealer], _ + [541, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtDragons", "Dragons"), $eIcnDragon], _ + [541, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtPekkas", "Pekkas"), $eIcnPekka], _ + [647, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBabyDragons", "Baby Dragons"), $eIcnBabyDragon], _ + [647, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMiners", "Miners"), $eIcnMiner], _ + [114, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtElectroDragons", "Electro Dragons"), $eIcnElectroDragon], _ + [114, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtLightningSpells", "Lightning Spell"), $eIcnLightSpell], _ + [221, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtHealingSpells", "Healing Spell"), $eIcnHealSpell], _ + [221, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtRageSpells", "Rage Spell"), $eIcnRageSpell], _ + [327, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtJumpSpells", "Jump Spell"), $eIcnJumpSpell], _ + [327, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtFreezeSpells", "Freeze Spell"), $eIcnFreezeSpell], _ + [434, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtCloneSpells", "Clone Spell"), $eIcnCloneSpell], _ + [434, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtPoisonSpells", "Poison Spell"), $eIcnPoisonSpell], _ + [541, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtEarthQuakeSpells", "EarthQuake Spell"), $eIcnEarthQuakeSpell], _ + [541, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtHasteSpells", "Haste Spell"), $eIcnHasteSpell], _ + [647, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtSkeletonSpells", "Skeleton Spell"), $eIcnSkeletonSpell], _ + [647, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtBatSpells", "Bat Spell"), $eIcnBatSpell], _ + [114, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMinions", "Minions"), $eIcnMinion], _ + [114, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHogRiders", "Hog Riders"), $eIcnHogRider], _ + [221, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtValkyries", "Valkyries"), $eIcnValkyrie], _ + [221, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGolems", "Golems"), $eIcnGolem], _ + [327, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWitches", "Witches"), $eIcnWitch], _ + [327, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtLavaHounds", "Lava Hounds"), $eIcnLavaHound], _ + [434, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBowlers", "Bowlers"), $eIcnBowler], _ + [434, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtIceGolems", "Ice Golems"), $eIcnIceGolem], _ + [541, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallWreckers", "Wall Wreckers"), $eIcnWallW], _ + [541, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBattleBlimps", "Battle Blimps"), $eIcnBattleB], _ + [647, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtStoneSlammers", "Stone Slammer"), $eIcnStoneS]] EndFunc ;==>TranslateTroopNames ; Donate Global Const $g_aiDonateTroopPriority[$eTroopCount] = [ _ - $eTroopLavaHound, $eTroopElectroDragon, $eTroopGolem, $eTroopPekka, $eTroopDragon, $eTroopWitch, $eTroopHealer, $eTroopBabyDragon, _ + $eTroopLavaHound, $eTroopElectroDragon, $eTroopGolem, $eTroopIceGolem, $eTroopPekka, $eTroopDragon, $eTroopWitch, $eTroopHealer, $eTroopBabyDragon, _ $eTroopValkyrie, $eTroopBowler, $eTroopMiner, $eTroopGiant, $eTroopBalloon, $eTroopHogRider, $eTroopWizard, _ $eTroopWallBreaker, $eTroopMinion, $eTroopArcher, $eTroopBarbarian, $eTroopGoblin] Global Const $g_aiDonateSpellPriority[$eSpellCount] = [ _ $eSpellLightning, $eSpellHeal, $eSpellRage, $eSpellJump, $eSpellFreeze, $eSpellClone, $eSpellPoison, $eSpellEarthquake, _ - $eSpellHaste, $eSpellSkeleton] -Global $g_aiDonateStatsTroops[$eTroopCount][2] = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] -Global $g_aiDonateStatsSpells[$eSpellCount][2] = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] -Global $g_aiDonateStatsSieges[$eSiegeMachineCount][2] = [[0, 0], [0, 0]] + $eSpellHaste, $eSpellSkeleton, $eSpellBat] +Global $g_aiDonateStatsTroops[$eTroopCount][2] = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] +Global $g_aiDonateStatsSpells[$eSpellCount][2] = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] +Global $g_aiDonateStatsSieges[$eSiegeMachineCount][3] = [[0, 0], [0, 0], [0, 0]] Global $g_iTotalDonateStatsTroops = 0, $g_iTotalDonateStatsTroopsXP = 0 Global $g_iTotalDonateStatsSpells = 0, $g_iTotalDonateStatsSpellsXP = 0 Global $g_iTotalDonateStatsSiegeMachines = 0, $g_iTotalDonateStatsSiegeMachinesXP = 0 Global $g_iActiveDonate = -1 ; -1 means not set yet -Global $g_aiDonateTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiDonateSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiDonateSiegeMachines[$eSiegeMachineCount] = [0, 0] -Global $g_aiCurrentTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiCurrentSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiCurrentSiegeMachines[$eSiegeMachineCount] = [0, 0] -Global $g_aiCurrentCCTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiCurrentCCSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiCurrentCCSiegeMachines[$eSiegeMachineCount] = [0, 0] +Global $g_aiDonateTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiDonateSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiDonateSiegeMachines[$eSiegeMachineCount] = [0, 0, 0] +Global $g_aiCurrentTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiCurrentSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiCurrentSiegeMachines[$eSiegeMachineCount] = [0, 0, 0] +Global $g_aiCurrentCCTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiCurrentCCSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiCurrentCCSiegeMachines[$eSiegeMachineCount] = [0, 0, 0] Global $g_bDonationEnabled = True Global $g_iTroopsDonated = 0 Global $g_iTroopsReceived = 0 @@ -1556,9 +1565,9 @@ Global $g_iLSpellLevel = 1 Global $g_iESpellLevel = 1 Global Const $g_fDarkStealFactor = 0.75 Global Const $g_fDarkFillLevel = 0.70 -; Array to hold Total HP of DE Drills at each level (1-6) +; Array to hold Total HP of DE Drills at each level (1-7) Global Const $g_aDrillLevelHP[7] = [800, 860, 920, 980, 1060, 1160, 1280] -; Array to hold Total Amount of DE available from Drill at each level (1-6) +; Array to hold Total Amount of DE available from Drill at each level (1-7) Global Const $g_aDrillLevelTotal[7] = [160, 300, 540, 840, 1280, 1800, 2400] ; Array to hold Total Damage of Lightning Spell at each level (1-7) Global Const $g_aLSpellDmg[7] = [300, 360, 420, 480, 540, 600, 660] @@ -1727,4 +1736,8 @@ Global $g_sLeague = Null Global $g_sBonusGold = Null Global $g_sBonusElixir = Null Global $g_sBonusDE = Null -Global $g_sPercentagesResources = Null \ No newline at end of file +Global $g_sPercentagesResources = Null + +Func _ArrayIndexValid(Const ByRef $a, Const $idx) + Return $idx >= 0 And $idx < UBound($a) +EndFunc \ No newline at end of file diff --git a/COCBot/MBR References.au3 b/COCBot/MBR References.au3 index 6ab545268..1ee320279 100644 --- a/COCBot/MBR References.au3 +++ b/COCBot/MBR References.au3 @@ -503,6 +503,7 @@ Func ReferenceGlobals() $a1 = $eTroopLavaHound $a1 = $eTroopBowler + $a1 = $eTroopIceGolem $a1 = $eTroopCount $a1 = $eSpellLightning $a1 = $eSpellHeal @@ -515,6 +516,7 @@ Func ReferenceGlobals() $a1 = $eSpellEarthquake $a1 = $eSpellHaste $a1 = $eSpellSkeleton + $a1 = $eSpellBat $a1 = $eSpellCount $a1 = $eBarb $a1 = $eArch @@ -536,6 +538,7 @@ Func ReferenceGlobals() $a1 = $eWitc $a1 = $eLava $a1 = $eBowl + $a1 = $eIceG $a1 = $eKing $a1 = $eQueen $a1 = $eWarden @@ -551,6 +554,7 @@ Func ReferenceGlobals() $a1 = $eESpell $a1 = $eHaSpell $a1 = $eSkSpell + $a1 = $eBtSpell $a1 = $aTrainBarb $a1 = $aTrainArch @@ -571,6 +575,7 @@ Func ReferenceGlobals() $a1 = $aTrainWitc $a1 = $aTrainLava $a1 = $aTrainBowl + $a1 = $aTrainIceG $a1 = $aTrainLSpell $a1 = $aTrainHSpell $a1 = $aTrainRSpell @@ -581,6 +586,7 @@ Func ReferenceGlobals() $a1 = $aTrainESpell $a1 = $aTrainHaSpell $a1 = $aTrainSkSpell + $a1 = $aTrainBtSpell $a1 = $aTrainArmy $a1 = $aLoginWithSupercellID diff --git a/COCBot/functions/Android/Android Status & Information.txt b/COCBot/functions/Android/Android Status & Information.txt index 52f4ab921..d5dd9c3a2 100644 --- a/COCBot/functions/Android/Android Status & Information.txt +++ b/COCBot/functions/Android/Android Status & Information.txt @@ -8,7 +8,7 @@ The once listed here have been tested and do work. Nox === http://en.bignox.com/ -Versions 6.2.0.0, 6.0.1.0, 6.0.0.0, 5.2.1.0, 5.1.0.0, 5.0.0.1, 5.0.0.0, 3.8.1.3, 3.8.0.x, 3.7.6.x, 3.7.5.1, 3.7.5, 3.7.3, 3.7.1, 3.7.0, 3.6.0, 3.5.1, 3.3.0, 3.1.0, 3.0.0 +Versions 6.2.5.3, 6.2.0.0, 6.0.1.0, 6.0.0.0, 5.2.1.0, 5.1.0.0, 5.0.0.1, 5.0.0.0, 3.8.1.3, 3.8.0.x, 3.7.6.x, 3.7.5.1, 3.7.5, 3.7.3, 3.7.1, 3.7.0, 3.6.0, 3.5.1, 3.3.0, 3.1.0, 3.0.0 MyBot Command Line Key: Nox Default Instance Key: nox Second Instance Key: Nox_1 diff --git a/COCBot/functions/Android/Android.au3 b/COCBot/functions/Android/Android.au3 index 39b762416..28d9067f7 100644 --- a/COCBot/functions/Android/Android.au3 +++ b/COCBot/functions/Android/Android.au3 @@ -73,6 +73,7 @@ Func InitAndroidConfig($bRestart = False) $g_bAndroidBackgroundLaunch = $g_bAndroidBackgroundLaunchEnabled = True ; Enabled Android Background launch using Windows Scheduled Task $g_bAndroidBackgroundLaunched = False ; True when Android was launched in headless mode without a window $g_bUpdateAndroidWindowTitle = False ; If Android has always same title (like LeapDroid) instance name will be added + $g_bAndroidControlUseParentPos = False ; If true, control pos is used from parent control (only used to fix docking for Nox in DirectX mode) ; screencap might have disabled backgroundmode If $g_bAndroidAdbScreencap Then ; update background checkbox @@ -540,15 +541,18 @@ Func _WinGetAndroidHandle($bFindByTitle = False) If IsArray($aWinList) = 0 Then Local $aWinList2 = _WinAPI_EnumProcessWindows($pid, True) If IsArray($aWinList2) = 1 And $aWinList2[0][0] > 0 Then - Local $aWinList[$aWinList2[0][0] + 1][2] + Local $aWinList[$aWinList2[0][0] + 1][3] $aWinList[0][0] = $aWinList2[0][0] For $i = 1 To $aWinList2[0][0] $aWinList[$i][0] = WinGetTitle($aWinList2[$i][0]) $aWinList[$i][1] = $aWinList2[$i][0] + $aWinList[$i][2] = $aWinList2[$i][1] + SetDebugLog("Found Android window: " & $aWinList[$i][0] & ", " & $aWinList[$i][1] & ", " & $aWinList[$i][2]) Next EndIf EndIf If IsArray($aWinList) = 1 Then + SetDebugLog("Found " & $aWinList[0][0] & " windows, searching for '" & $g_sAppPaneName & "' with class '" & $g_sAppClassInstance & "'") For $i = 1 To $aWinList[0][0] $t = $aWinList[$i][0] $hWin = $aWinList[$i][1] diff --git a/COCBot/functions/Android/AndroidEmbed.au3 b/COCBot/functions/Android/AndroidEmbed.au3 index 9c8f586ae..79e5f4e6d 100644 --- a/COCBot/functions/Android/AndroidEmbed.au3 +++ b/COCBot/functions/Android/AndroidEmbed.au3 @@ -119,6 +119,8 @@ Func _AndroidEmbed($Embed = True, $CallWinGetAndroidHandle = True, $bForceEmbed Local $hThumbnail = $g_aiAndroidEmbeddedCtrlTarget[9] Local $targetIsHWnD = $hCtrlTarget = $g_hAndroidWindow + Local $botStyle = _WinAPI_GetWindowLong($g_hFrmBot, $GWL_STYLE) + #cs Local $HWND_MESSAGE = HWnd(-3) Local $WM_CHANGEUISTATE = 0x127 @@ -250,6 +252,9 @@ Func _AndroidEmbed($Embed = True, $CallWinGetAndroidHandle = True, $bForceEmbed $g_hProcShieldInput[3] = False + ; ensure bot style wasn't changed + _WinAPI_SetWindowLong($g_hFrmBot, $GWL_STYLE, $botStyle) + Return True EndIf updateBtnEmbed() @@ -532,9 +537,12 @@ Func _AndroidEmbed($Embed = True, $CallWinGetAndroidHandle = True, $bForceEmbed ;update Android Window If $g_iAndroidEmbedMode = 0 Then WinMove2($hCtrlTarget, "", 0, 0, $aPosCtl[2] - 1, $aPosCtl[3] - 1, $HWND_BOTTOM, 0, False) ; trigger window change (required for iTools and probably others) - WinMove2($hCtrl, "", 0, 0, $aPosCtl[2] - 1, $aPosCtl[3] - 1, $HWND_BOTTOM) WinMove2($hCtrlTarget, "", 0, 0, $aPosCtl[2], $aPosCtl[3], $HWND_BOTTOM, 0, False) - WinMove2($hCtrl, "", 0, 0, $aPosCtl[2], $aPosCtl[3], $HWND_BOTTOM) ; ensure control is position at 0,0 + If $targetIsHWnD Then + ; BlueStack can have a problem, so move control + WinMove2($hCtrl, "", 0, 0, $aPosCtl[2] - 1, $aPosCtl[3] - 1, $HWND_BOTTOM) + WinMove2($hCtrl, "", 0, 0, $aPosCtl[2], $aPosCtl[3], $HWND_BOTTOM) ; ensure control is position at 0,0 + EndIf EndIf ;CheckRedrawControls(True) @@ -546,6 +554,10 @@ Func _AndroidEmbed($Embed = True, $CallWinGetAndroidHandle = True, $bForceEmbed $g_hProcShieldInput[3] = False $g_hProcShieldInput[4] = 0 + + ; for some reason the border is sometimes not refresh, so redraw bot window border now + _WinAPI_RedrawWindow($g_hFrmBot, 0, 0, BitOR($RDW_FRAME, $RDW_UPDATENOW, $RDW_INVALIDATE)) + AndroidShield("AndroidEmbed dock", Default, $CallWinGetAndroidHandle, 100) Return True diff --git a/COCBot/functions/Android/AndroidNox.au3 b/COCBot/functions/Android/AndroidNox.au3 index 68af1d7d0..a6cc49979 100644 --- a/COCBot/functions/Android/AndroidNox.au3 +++ b/COCBot/functions/Android/AndroidNox.au3 @@ -255,6 +255,7 @@ Func InitNox($bCheckOnly = False) If $v >= $v2 Then SetDebugLog("Using Android Config of " & $g_sAndroidEmulator & " " & $__Nox_Config[$i][0]) $g_sAppClassInstance = $__Nox_Config[$i][1] + $g_bAndroidControlUseParentPos = $__Nox_Config[$i][2] $g_avAndroidAppConfig[$g_iAndroidConfig][3] = $g_sAppClassInstance ExitLoop EndIf @@ -454,14 +455,19 @@ Func EmbedNox($bEmbed = Default, $hHWndAfter = Default) Next If $hToolbar = 0 Then - SetDebugLog("EmbedNox(" & $bEmbed & "): toolbar Window not found, list of windows:" & $c, Default, True) + SetDebugLog("EmbedNox(" & $bEmbed & "): toolbar Window not found, list of windows:" & $c) ;, Default, True For $i = 1 To UBound($aWin) - 1 Local $h = $aWin[$i][0] Local $c = $aWin[$i][1] - SetDebugLog("EmbedNox(" & $bEmbed & "): Handle = " & $h & ", Class = " & $c, Default, True) + Local $aPos = WinGetPos($h) + If UBound($aPos) > 3 Then + SetDebugLog("EmbedNox(" & $bEmbed & "): Handle = " & $h & ", Class = " & $c & ", width=" & $aPos[2] & ", height=" & $aPos[3]) ;, Default, True + Else + SetDebugLog("EmbedNox(" & $bEmbed & "): Handle = " & $h & ", Class = " & $c) ;, Default, True + EndIf Next Else - SetDebugLog("EmbedNox(" & $bEmbed & "): $hToolbar=" & $hToolbar, Default, True) + SetDebugLog("EmbedNox(" & $bEmbed & "): $hToolbar=" & $hToolbar) ;, Default, True If $bEmbed Then WinMove2($hToolbar, "", -1, -1, -1, -1, $HWND_NOTOPMOST, $SWP_HIDEWINDOW, False, False) Else diff --git a/COCBot/functions/Android/getBSPos.au3 b/COCBot/functions/Android/getBSPos.au3 index 26259ed32..23b5496aa 100644 --- a/COCBot/functions/Android/getBSPos.au3 +++ b/COCBot/functions/Android/getBSPos.au3 @@ -136,7 +136,14 @@ EndFunc ;==>getBSPos Func getAndroidPos($FastCheck = False, $RetryCount1 = 0, $RetryCount2 = 0, $bWidthFirst = Default) Static $asControlSize[6][4] - Local $aControlSize = ControlGetPos(GetCurrentAndroidHWnD(), $g_sAppPaneName, GetAndroidControlClass(True)) + If $g_bAndroidControlUseParentPos Then + ; If true, control pos is used from parent control (only used to fix docking for Nox in DirectX mode) + Local $hCtrl = ControlGetHandle(GetCurrentAndroidHWnD(), $g_sAppPaneName, GetAndroidControlClass(True)) + Local $hCtrlParent = _WinAPI_GetParent($hCtrl) + Local $aControlSize = ControlGetPos(GetCurrentAndroidHWnD(), "", $hCtrlParent) + Else + Local $aControlSize = ControlGetPos(GetCurrentAndroidHWnD(), $g_sAppPaneName, GetAndroidControlClass(True)) + EndIf Local $aControlSizeInitial = $aControlSize ;If Not $g_bRunState Or $FastCheck Then Return $aControlSize diff --git a/COCBot/functions/Attack/Attack Algorithms/AttackFromCSV.au3 b/COCBot/functions/Attack/Attack Algorithms/AttackFromCSV.au3 index 04997c251..1fb8140b7 100644 --- a/COCBot/functions/Attack/Attack Algorithms/AttackFromCSV.au3 +++ b/COCBot/functions/Attack/Attack Algorithms/AttackFromCSV.au3 @@ -779,7 +779,7 @@ Func Algorithm_AttackCSV($testattack = False, $captureredarea = True) EndIf ; 14 - LAUNCH PARSE FUNCTION ------------------------------------------------------------- - SetSlotSpecialTroops() + SetSlotSpecialTroops() If _Sleep($DELAYRESPOND) Then Return ; If TestCapture() = True Then diff --git a/COCBot/functions/Attack/Attack Algorithms/SmartFarm.au3 b/COCBot/functions/Attack/Attack Algorithms/SmartFarm.au3 index 3820bd5db..8c074c7c3 100644 --- a/COCBot/functions/Attack/Attack Algorithms/SmartFarm.au3 +++ b/COCBot/functions/Attack/Attack Algorithms/SmartFarm.au3 @@ -562,7 +562,7 @@ Func AttackSmartFarm($Nside, $SIDESNAMES) [MatchTroopDropName(20), $nbSides, MatchTroopWaveNb(20), 1, MatchSlotsPerEdge(20)], _ [MatchTroopDropName(21), $nbSides, MatchTroopWaveNb(21), 1, MatchSlotsPerEdge(21)]] Else - Local $listInfoDeploy[22][5] = [[$eGole, $nbSides, 1, 1, 2] _ + Local $listInfoDeploy[23][5] = [[$eGole, $nbSides, 1, 1, 2] _ , [$eLava, $nbSides, 1, 1, 2] _ , [$eGiant, $nbSides, 1, 1, $g_iSlotsGiants] _ , [$eDrag, $nbSides, 1, 1, 0] _ @@ -572,6 +572,7 @@ Func AttackSmartFarm($Nside, $SIDESNAMES) , [$eHogs, $nbSides, 1, 1, 1] _ , [$eValk, $nbSides, 1, 1, 0] _ , [$eBowl, $nbSides, 1, 1, 0] _ + , [$eIceG, $nbSides, 1, 1, 0] _ , [$eMine, $nbSides, 1, 1, 0] _ , [$eEDrag, $nbSides, 1, 1, 0] _ , [$eWall, $nbSides, 1, 1, 1] _ @@ -607,7 +608,7 @@ Func AttackSmartFarm($Nside, $SIDESNAMES) If $g_bDebugSetlog Then SetDebugLog("No Wast time... exit, no troops usable left", $COLOR_DEBUG) ExitLoop ;Check remaining quantities EndIf - For $i = $eBarb To $eBowl ; launch all remaining troops + For $i = $eBarb To $eIceG ; launch all remaining troops If LaunchTroop($i, $nbSides, 1, 1, 1) Then CheckHeroesHealth() If _Sleep($DELAYALGORITHM_ALLTROOPS5) Then Return @@ -720,7 +721,7 @@ Func LaunchTroopSmartFarm($listInfoDeploy, $iCC, $iKing, $iQueen, $iWarden, $SID If $g_bDebugSetlog Then SetDebugLog("Deploy CC $g_aaiBottomRightDropPoints") EndIf - If ($g_bIsCCDropped = False And $infoTroopListArrPixel[0] = "CC") Then + If ($g_bIsCCDropped = False And $infoTroopListArrPixel[0] = "CC" And $i = $numberSidesDropTroop - 1) Then dropCC($pixelRandomDropcc[0], $pixelRandomDropcc[1], $iCC) $g_bIsCCDropped = True ElseIf ($g_bIsHeroesDropped = False And $infoTroopListArrPixel[0] = "HEROES" And $i = $numberSidesDropTroop - 1) Then diff --git a/COCBot/functions/Attack/Attack Algorithms/THAttackTypes.au3 b/COCBot/functions/Attack/Attack Algorithms/THAttackTypes.au3 index 77abcd196..ec43000b2 100644 --- a/COCBot/functions/Attack/Attack Algorithms/THAttackTypes.au3 +++ b/COCBot/functions/Attack/Attack Algorithms/THAttackTypes.au3 @@ -59,7 +59,7 @@ Func AttackTHParseCSV($test = False) SetLog($acommand[8], $COLOR_INFO) - Case StringInStr(StringUpper("-Barb-Arch-Giant-Gobl-Wall-Ball-Wiza-Heal-Drag-Pekk-BabyD-Mine-EDrag-Mini-Hogs-Valk-Gole-Witc-Lava-Bowl"), "-" & $command & "-") > 0 + Case StringInStr(StringUpper("-Barb-Arch-Giant-Gobl-Wall-Ball-Wiza-Heal-Drag-Pekk-BabyD-Mine-EDrag-Mini-Hogs-Valk-Gole-Witc-Lava-Bowl-IceG"), "-" & $command & "-") > 0 If $g_bDebugSetlog Then SetDebugLog(">> AttackTHGrid($e" & $command & ", Random (" & Int($acommand[2]) & "," & Int($acommand[3]) & ",1), Random(" & Int($acommand[4]) & "," & Int($acommand[5]) & ",1), Random(" & Int($acommand[6]) & "," & Int($acommand[7]) & ",1) )") Local $iNbOfSpots diff --git a/COCBot/functions/Attack/Attack Algorithms/algorithmTH.au3 b/COCBot/functions/Attack/Attack Algorithms/algorithmTH.au3 index 6f34b62bf..78912dbab 100644 --- a/COCBot/functions/Attack/Attack Algorithms/algorithmTH.au3 +++ b/COCBot/functions/Attack/Attack Algorithms/algorithmTH.au3 @@ -115,7 +115,7 @@ Func AttackTHGrid($troopKind, $iNbOfSpots = 1, $iAtEachSpot = 1, $Sleep = Random EndIf ; All Barracks Troops - If $troopKind >= $eBarb And $troopKind <= $eBowl Then + If $troopKind >= $eBarb And $troopKind <= $eIceG Then $troopNb = $iNbOfSpots * $iAtEachSpot If $troopNb > 1 Then $plural = 1 $name = NameOfTroop($troopKind, $plural) @@ -139,7 +139,7 @@ Func AttackTHGrid($troopKind, $iNbOfSpots = 1, $iAtEachSpot = 1, $Sleep = Random DeployTHNormal($iAtEachSpot, $iNbOfSpots) - If $troopKind >= $eBarb And $troopKind <= $eBowl Then + If $troopKind >= $eBarb And $troopKind <= $eIceG Then If $TroopCountBeg <> Number(ReadTroopQuantity($THtroop)) Then $NumTroopDeployed = $TroopCountBeg - Number(ReadTroopQuantity($THtroop)) SetLog("Deployment of " & $NumTroopDeployed & " " & $name & " was Successful!") diff --git a/COCBot/functions/Attack/Attack Algorithms/algorithm_AllTroops.au3 b/COCBot/functions/Attack/Attack Algorithms/algorithm_AllTroops.au3 index 9ea7ce38e..649ab4787 100644 --- a/COCBot/functions/Attack/Attack Algorithms/algorithm_AllTroops.au3 +++ b/COCBot/functions/Attack/Attack Algorithms/algorithm_AllTroops.au3 @@ -116,7 +116,7 @@ Func algorithm_AllTroops() ;Attack Algorithm for all existing troops [MatchTroopDropName(20), MatchSidesDrop(20), MatchTroopWaveNb(20), 1, MatchSlotsPerEdge(20)], _ [MatchTroopDropName(21), MatchSidesDrop(21), MatchTroopWaveNb(21), 1, MatchSlotsPerEdge(21)]] Else - Local $listInfoDeploy[22][5] = [[$eGole, $nbSides, 1, 1, 2] _ + Local $listInfoDeploy[23][5] = [[$eGole, $nbSides, 1, 1, 2] _ , [$eLava, $nbSides, 1, 1, 2] _ , [$eGiant, $nbSides, 1, 1, $g_iSlotsGiants] _ , [$eDrag, $nbSides, 1, 1, 0] _ @@ -137,6 +137,7 @@ Func algorithm_AllTroops() ;Attack Algorithm for all existing troops , [$eGobl, $nbSides, 1, 1, 0] _ , [$eHeal, $nbSides, 1, 1, 1] _ , [$ePekk, $nbSides, 1, 1, 1] _ + , [$eIceG, $nbSides, 1, 1, 0] _ , ["HEROES", 1, 2, 1, 1] _ ] EndIf @@ -192,7 +193,7 @@ Func algorithm_AllTroops() ;Attack Algorithm for all existing troops [MatchTroopDropName(20), MatchSidesDrop(20), MatchTroopWaveNb(20), 1, MatchSlotsPerEdge(20)], _ [MatchTroopDropName(21), MatchSidesDrop(21), MatchTroopWaveNb(21), 1, MatchSlotsPerEdge(21)]] Else - Local $listInfoDeploy[22][5] = [[$eGole, $nbSides, 1, 1, 2] _ + Local $listInfoDeploy[23][5] = [[$eGole, $nbSides, 1, 1, 2] _ , [$eLava, $nbSides, 1, 1, 2] _ , [$eGiant, $nbSides, 1, 1, $g_iSlotsGiants] _ , [$eDrag, $nbSides, 1, 1, 0] _ @@ -202,6 +203,7 @@ Func algorithm_AllTroops() ;Attack Algorithm for all existing troops , [$eHogs, $nbSides, 1, 1, 1] _ , [$eValk, $nbSides, 1, 1, 0] _ , [$eBowl, $nbSides, 1, 1, 0] _ + , [$eIceG, $nbSides, 1, 1, 0] _ , [$eMine, $nbSides, 1, 1, 0] _ , [$eEDrag, $nbSides, 1, 1, 0] _ , [$eBarb, $nbSides, 1, 1, 0] _ @@ -276,7 +278,7 @@ Func algorithm_AllTroops() ;Attack Algorithm for all existing troops If $g_bDebugSetlog Then SetDebugLog("No Wast time... exit, no troops usable left", $COLOR_DEBUG) ExitLoop ;Check remaining quantities EndIf - For $i = $eBarb To $eBowl ; launch all remaining troops + For $i = $eBarb To $eIceG ; launch all remaining troops If LaunchTroop($i, $nbSides, 1, 1, 1) Then CheckHeroesHealth() If _Sleep($DELAYALGORITHM_ALLTROOPS5) Then Return @@ -296,7 +298,7 @@ Func SetSlotSpecialTroops() $g_iWardenSlot = -1 For $i = 0 To UBound($g_avAttackTroops) - 1 - If $g_avAttackTroops[$i][0] = $eCastle Or $g_avAttackTroops[$i][0] = $eWallW Or $g_avAttackTroops[$i][0] = $eBattleB Then + If $g_avAttackTroops[$i][0] = $eCastle Or $g_avAttackTroops[$i][0] = $eWallW Or $g_avAttackTroops[$i][0] = $eBattleB Or $g_avAttackTroops[$i][0] = $eStoneS Then $g_iClanCastleSlot = $i ElseIf $g_avAttackTroops[$i][0] = $eKing Then $g_iKingSlot = $i diff --git a/COCBot/functions/Attack/AttackCSV/DropTroopFromINI.au3 b/COCBot/functions/Attack/AttackCSV/DropTroopFromINI.au3 index 59ae67233..19798ba39 100644 --- a/COCBot/functions/Attack/AttackCSV/DropTroopFromINI.au3 +++ b/COCBot/functions/Attack/AttackCSV/DropTroopFromINI.au3 @@ -123,6 +123,8 @@ Func DropTroopFromINI($vectors, $indexStart, $indexEnd, $indexArray, $qtaMin, $q If $g_abAttackUseHasteSpell[$g_iMatchMode] = False Then $usespell = False Case $eSkSpell If $g_abAttackUseSkeletonSpell[$g_iMatchMode] = False Then $usespell = False + Case $eBtSpell + If $g_abAttackUseBatSpell[$g_iMatchMode] = False Then $usespell = False EndSwitch If $troopPosition = -1 Or $usespell = False Then @@ -181,7 +183,7 @@ Func DropTroopFromINI($vectors, $indexStart, $indexEnd, $indexArray, $qtaMin, $q EndIf Switch $iTroopIndex - Case $eBarb To $eBowl ; drop normal troops + Case $eBarb To $eIceG ; drop normal troops If $debug = True Then SetLog("AttackClick( " & $pixel[0] & ", " & $pixel[1] & " , " & $qty2 & ", " & $delayPoint & ",#0666)") Else @@ -205,13 +207,13 @@ Func DropTroopFromINI($vectors, $indexStart, $indexEnd, $indexArray, $qtaMin, $q Else dropHeroes($pixel[0], $pixel[1], -1, -1, $troopPosition) ; was $g_iWardenSlot, Slot11+ EndIf - Case $eCastle, $eWallW, $eBattleB + Case $eCastle, $eWallW, $eBattleB, $eStoneS If $debug = True Then SetLog("dropCC(" & $pixel[0] & ", " & $pixel[1] & ", " & $troopPosition & ")") Else dropCC($pixel[0], $pixel[1], $troopPosition) EndIf - Case $eLSpell To $eSkSpell + Case $eLSpell To $eBtSpell If $debug = True Then SetLog("Drop Spell AttackClick( " & $pixel[0] & ", " & $pixel[1] & " , " & $qty2 & ", " & $delayPoint & ",#0666)") Else diff --git a/COCBot/functions/Attack/AttackCSV/ParseAttackCSV_Settings_variables.au3 b/COCBot/functions/Attack/AttackCSV/ParseAttackCSV_Settings_variables.au3 index 2c878d959..fe92a398c 100644 --- a/COCBot/functions/Attack/AttackCSV/ParseAttackCSV_Settings_variables.au3 +++ b/COCBot/functions/Attack/AttackCSV/ParseAttackCSV_Settings_variables.au3 @@ -99,10 +99,10 @@ Func ParseAttackCSV_Settings_variables(ByRef $aiCSVTroops, ByRef $aiCSVSpells, B ContinueLoop ; discard TRAIN commands due to the invalid troop amount/setting ex. int(chars)=0, negative #. "0" won't get alerted EndIf Switch $iTroopIndex - Case $eBarb To $eBowl + Case $eBarb To $eIceG $aiCSVTroops[$iTroopIndex] = int($asCommand[$iTHCol]) If int($asCommand[$iFlexCol]) > 0 Then $iFlexTroopIndex = $iTroopIndex - Case $eLSpell To $eSkSpell + Case $eLSpell To $eBtSpell $aiCSVSpells[$iTroopIndex - $eLSpell] = int($asCommand[$iTHCol]) Case $eKing To $eWarden Local $iHeroRadioItem = int(StringLeft($asCommand[$iTHCol], 1)) diff --git a/COCBot/functions/Attack/PrepareAttack.au3 b/COCBot/functions/Attack/PrepareAttack.au3 index 7cda5adca..80971d4fe 100644 --- a/COCBot/functions/Attack/PrepareAttack.au3 +++ b/COCBot/functions/Attack/PrepareAttack.au3 @@ -47,15 +47,16 @@ Func PrepareAttack($pMatchMode, $Remaining = False, $DebugSiege = False) ;Assign Local $hStarttime = _Timer_Init() - - ; JULY 2018 @PROMAC - ; Lets Select The CC Or Siege Machine ; $eCastle , $eWallW , $eBattleB - Local $aPaths = [$g_sImgSwitchSiegeCastle, $g_sImgSwitchSiegeWallWrecker, $g_sImgSwitchSiegeBattleBlimp] + ; Lets Select The CC Or Siege Machine ; $eCastle , $eWallW , $eBattleB, $eStoneS + Local $aPaths = [$g_sImgSwitchSiegeCastle, $g_sImgSwitchSiegeWallWrecker, $g_sImgSwitchSiegeBattleBlimp, $g_sImgSwitchSiegeStoneSlammer] Local $ToUse = $eCastle, $iDa = 0 If ($pMatchMode = $DB Or $pMatchMode = $LB Or $pMatchMode = $TS) And Not $Remaining Then ; Default is CC ,let's check Siege Machines , if is to be used and exist. - If $g_abAttackDropCC[$pMatchMode] And $g_aiAttackUseSiege[$pMatchMode] = 2 And ($g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] > 0 Or $g_aiCurrentCCSiegeMachines[$eSiegeBattleBlimp] > 0) Then + If $g_abAttackDropCC[$pMatchMode] And $g_aiAttackUseSiege[$pMatchMode] = 3 And ($g_aiCurrentSiegeMachines[$eSiegeStoneSlammer] > 0 Or $g_aiCurrentCCSiegeMachines[$eSiegeStoneSlammer] > 0) Then + $ToUse = $eStoneS + $iDa = 3 + ElseIf $g_abAttackDropCC[$pMatchMode] And $g_aiAttackUseSiege[$pMatchMode] = 2 And ($g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] > 0 Or $g_aiCurrentCCSiegeMachines[$eSiegeBattleBlimp] > 0) Then $ToUse = $eBattleB $iDa = 2 ElseIf $g_abAttackDropCC[$pMatchMode] And $g_aiAttackUseSiege[$pMatchMode] = 1 And ($g_aiCurrentSiegeMachines[$eSiegeWallWrecker] > 0 Or $g_aiCurrentCCSiegeMachines[$eSiegeWallWrecker] > 0) Then @@ -80,7 +81,7 @@ Func PrepareAttack($pMatchMode, $Remaining = False, $DebugSiege = False) ;Assign Local $compFor2Sieges = 50 If _Sleep(1250) Then Return ; Lets detect the CC & Sieges and click - Local $HowMany = QuickMIS("CX", $aPaths[$iDa], $lastX - $compFor2Sieges, 540, $LastX1, 560, True, False) + Local $HowMany = QuickMIS("CX", $aPaths[$iDa], $lastX - $compFor2Sieges, 530, $LastX1, 560, True, False) If $g_bDebugSetlog Then SetDebugLog("Benchmark Switch Siege HowMany: " & StringFormat("%.2f", _Timer_Diff($hStarttime)) & "'ms") If $g_bDebugSetlog Then SetDebugLog("Sleeps : " & 750 & "'ms") @@ -174,27 +175,30 @@ Func PrepareAttack($pMatchMode, $Remaining = False, $DebugSiege = False) ;Assign For $i = 0 To UBound($g_avAttackTroops) - 1 $g_avAttackTroops[$i][0] = -1 $g_avAttackTroops[$i][1] = 0 + $g_avAttackTroops[$i][2] = 0 Next Local $Plural = 0 Local $result = AttackBarCheck($Remaining, $pMatchMode) ; adding $pMatchMode for not checking Slot11+ when DropTrophy attack If $g_bDebugSetlog Then SetDebugLog("DLL Troopsbar list: " & $result, $COLOR_DEBUG) Local $aTroopDataList = StringSplit($result, "|") - Local $aTemp[22][3] ; Slot11+ + Local $aTemp[22][4] ; Slot11+ If $result <> "" Then ; example : 0#0#92|1#1#108|2#2#8|22#3#1|20#4#1|21#5#1|26#5#0|23#6#1|24#7#2|25#8#1|29#10#1 ; [0] = Troop Enum Cross Reference [1] = Slot position [2] = Quantities For $i = 1 To $aTroopDataList[0] Local $troopData = StringSplit($aTroopDataList[$i], "#", $STR_NOCOUNT) - $aTemp[Number($troopData[1])][0] = $troopData[0] - $aTemp[Number($troopData[1])][1] = Number($troopData[2]) - $aTemp[Number($troopData[1])][2] = Number($troopData[1]) + $aTemp[Number($troopData[1])][0] = $troopData[0] ; troop name + $aTemp[Number($troopData[1])][1] = Number($troopData[2]) ; amount + $aTemp[Number($troopData[1])][2] = Number($troopData[1]) ; index + $aTemp[Number($troopData[1])][3] = Number($troopData[3]) ; x-coord Next EndIf For $i = 0 To UBound($aTemp) - 1 If $aTemp[$i][0] = "" And $aTemp[$i][1] = "" Then $g_avAttackTroops[$i][0] = -1 $g_avAttackTroops[$i][1] = 0 + $g_avAttackTroops[$i][2] = 0 Else Local $troopKind = $aTemp[$i][0] If $troopKind < $eKing Then @@ -203,12 +207,14 @@ Func PrepareAttack($pMatchMode, $Remaining = False, $DebugSiege = False) ;Assign If $g_bDebugSetlog Then SetDebugLog("Discard use of troop " & $troopKind & " " & NameOfTroop($troopKind), $COLOR_ERROR) $g_avAttackTroops[$i][0] = -1 $g_avAttackTroops[$i][1] = 0 + $g_avAttackTroops[$i][2] = 0 $troopKind = -1 Else ;use troop ;Setlog ("troopsnumber = " & $troopsnumber & "+ " & Number( $aTemp[$i][1])) $g_avAttackTroops[$i][0] = $aTemp[$i][0] $g_avAttackTroops[$i][1] = $aTemp[$i][1] + $g_avAttackTroops[$i][2] = $aTemp[$i][3] $troopsnumber += $aTemp[$i][1] EndIf @@ -219,6 +225,7 @@ Func PrepareAttack($pMatchMode, $Remaining = False, $DebugSiege = False) ;Assign ;Setlog ("troopsnumber = " & $troopsnumber & "+1") $g_avAttackTroops[$i][0] = $aTemp[$i][0] $g_avAttackTroops[$i][1] = $aTemp[$i][1] + $g_avAttackTroops[$i][2] = $aTemp[$i][3] If $g_avAttackTroops[$i][0] = $eKing Or $g_avAttackTroops[$i][0] = $eQueen Or $g_avAttackTroops[$i][0] = $eWarden Then $g_avAttackTroops[$i][1] = 1 $troopKind = $g_avAttackTroops[$i][1] $troopsnumber += 1 @@ -230,12 +237,13 @@ Func PrepareAttack($pMatchMode, $Remaining = False, $DebugSiege = False) ;Assign $Plural = 0 If $aTemp[$i][1] > 1 Then $Plural = 1 - If $troopKind <> -1 Then SetLog($aTemp[$i][2] & " » " & $g_avAttackTroops[$i][1] & " " & NameOfTroop($g_avAttackTroops[$i][0], $Plural), $COLOR_SUCCESS) + If $troopKind <> -1 Then SetLog($aTemp[$i][2] & " » " & $g_avAttackTroops[$i][1] & " " & NameOfTroop($g_avAttackTroops[$i][0], $Plural) & ", x: " & $g_avAttackTroops[$i][2], $COLOR_SUCCESS) EndIf Next ;ResumeAndroid() + SetSlotSpecialTroops() If $g_bDebugSetlog Then SetDebugLog("troopsnumber = " & $troopsnumber) Return $troopsnumber @@ -295,10 +303,14 @@ Func IsSpecialTroopToBeUsed($pMatchMode, $pTroopType) If $g_abAttackUseCloneSpell[$iTempMode] Then Return True Case $eSkSpell If $g_abAttackUseSkeletonSpell[$iTempMode] Then Return True + Case $eBtSpell + If $g_abAttackUseBatSpell[$iTempMode] Then Return True Case $eWallW If $g_abAttackDropCC[$iTempMode] Then Return True Case $eBattleB If $g_abAttackDropCC[$iTempMode] Then Return True + Case $eStoneS + If $g_abAttackDropCC[$iTempMode] Then Return True Case Else Return False EndSwitch diff --git a/COCBot/functions/Attack/ReturnHome.au3 b/COCBot/functions/Attack/ReturnHome.au3 index 9a3a60ab7..def5d862d 100644 --- a/COCBot/functions/Attack/ReturnHome.au3 +++ b/COCBot/functions/Attack/ReturnHome.au3 @@ -109,7 +109,7 @@ Func ReturnHome($TakeSS = 1, $GoldChangeCheck = True) ;Return main screen TrayTip($g_sBotTitle, "", BitOR($TIP_ICONASTERISK, $TIP_NOSOUND)) ; clear village search match found message - CheckAndroidReboot(False) + If CheckAndroidReboot() Then Return If $GoldChangeCheck Then If IsAttackPage() Then @@ -177,7 +177,7 @@ Func ReturnHome($TakeSS = 1, $GoldChangeCheck = True) ;Return main screen EndFunc ;==>ReturnHome Func ReturnHomeMainPage() - If IsMainPage(1) Then + If IsMainPage(2) Then SetLogCentered(" BOT LOG ", Default, Default, True) Return True EndIf diff --git a/COCBot/functions/Attack/Troops/CheckHeroesHealth.au3 b/COCBot/functions/Attack/Troops/CheckHeroesHealth.au3 index e822eb737..aa98bf822 100644 --- a/COCBot/functions/Attack/Troops/CheckHeroesHealth.au3 +++ b/COCBot/functions/Attack/Troops/CheckHeroesHealth.au3 @@ -40,10 +40,9 @@ Func CheckHeroesHealth() EndIf If $g_iActivateQueen = 0 Or $g_iActivateQueen = 2 Then - Local $aQueenHealthCopy = $aQueenHealth ; copy ScreenCoordinates array to modify locally with dynamic X coordinate from slotposition - $aQueenHealthCopy[0] = GetXPosOfArmySlot($TempQueenSlot, 68) + 3 ; Slot11+ - If $g_bCheckQueenPower Then + Local $aQueenHealthCopy = $aQueenHealth ; copy ScreenCoordinates array to modify locally with dynamic X coordinate from slotposition + $aQueenHealthCopy[0] = GetXPosOfArmySlot($TempQueenSlot, 68) + $aQueenHealthCopy[4] ; Slot11+ Local $QueenPixelColor = _GetPixelColor($aQueenHealthCopy[0], $aQueenHealthCopy[1], $g_bCapturePixel) If $g_bDebugSetlog Then SetDebugLog(" Queen _GetPixelColor(" & $aQueenHealthCopy[0] & "," & $aQueenHealthCopy[1] & "): " & $QueenPixelColor, $COLOR_DEBUG) If Not _CheckPixel2($aQueenHealthCopy, $QueenPixelColor, "Red+Blue") Then @@ -75,10 +74,9 @@ Func CheckHeroesHealth() EndIf If $g_iActivateKing = 0 Or $g_iActivateKing = 2 Then - Local $aKingHealthCopy = $aKingHealth ; copy ScreenCoordinates array to modify locally with dynamic X coordinate from slotposition - $aKingHealthCopy[0] = GetXPosOfArmySlot($TempKingSlot, 68) + 2 ; Slot11+ - If $g_bCheckKingPower Then + Local $aKingHealthCopy = $aKingHealth ; copy ScreenCoordinates array to modify locally with dynamic X coordinate from slotposition + $aKingHealthCopy[0] = GetXPosOfArmySlot($TempKingSlot, 68) + $aKingHealthCopy[4] ; Slot11+ Local $KingPixelColor = _GetPixelColor($aKingHealthCopy[0], $aKingHealthCopy[1], $g_bCapturePixel) If $g_bDebugSetlog Then SetDebugLog(" King _GetPixelColor(" & $aKingHealthCopy[0] & "," & $aKingHealthCopy[1] & "): " & $KingPixelColor, $COLOR_DEBUG) If Not _CheckPixel2($aKingHealthCopy, $KingPixelColor, "Red+Blue") Then @@ -110,10 +108,9 @@ Func CheckHeroesHealth() EndIf If $g_iActivateWarden = 0 Or $g_iActivateWarden = 2 Then - Local $aWardenHealthCopy = $aWardenHealth - $aWardenHealthCopy[0] = GetXPosOfArmySlot($TempWardenSlot, 68) ; Slot11+ - If $g_bCheckWardenPower Then + Local $aWardenHealthCopy = $aWardenHealth + $aWardenHealthCopy[0] = GetXPosOfArmySlot($TempWardenSlot, 68) + $aWardenHealthCopy[4] ; Slot11+ Local $WardenPixelColor = _GetPixelColor($aWardenHealthCopy[0], $aWardenHealthCopy[1], $g_bCapturePixel) If $g_bDebugSetlog Then SetDebugLog(" Grand Warden _GetPixelColor(" & $aWardenHealthCopy[0] & "," & $aWardenHealthCopy[1] & "): " & $WardenPixelColor, $COLOR_DEBUG) If Not _CheckPixel2($aWardenHealthCopy, $WardenPixelColor, "Red+Blue") Then diff --git a/COCBot/functions/Attack/Troops/GetXPosOfArmySlot.au3 b/COCBot/functions/Attack/Troops/GetXPosOfArmySlot.au3 index b34300dfb..95efbbf07 100644 --- a/COCBot/functions/Attack/Troops/GetXPosOfArmySlot.au3 +++ b/COCBot/functions/Attack/Troops/GetXPosOfArmySlot.au3 @@ -16,6 +16,15 @@ Func GetXPosOfArmySlot($slotNumber, $xOffsetFor11Slot) + If $slotNumber < 0 Or $slotNumber + 1 > UBound($g_avAttackTroops) Then + ; invalid slot + Return 0 + EndIf + + ; use x-cord from $g_avAttackTroops + Return $g_avAttackTroops[$slotNumber][2] + + #cs Local $CheckSlot12, $SlotPixelColorTemp, $SlotPixelColor1 $xOffsetFor11Slot -= 8 @@ -43,5 +52,5 @@ Func GetXPosOfArmySlot($slotNumber, $xOffsetFor11Slot) Else Return $xOffsetFor11Slot + $SlotComp + ($slotNumber * 72) - 13 EndIf - + #ce EndFunc ;==>GetXPosOfArmySlot diff --git a/COCBot/functions/Attack/Troops/NameOfTroop.au3 b/COCBot/functions/Attack/Troops/NameOfTroop.au3 index ba2a98cf6..38f225517 100644 --- a/COCBot/functions/Attack/Troops/NameOfTroop.au3 +++ b/COCBot/functions/Attack/Troops/NameOfTroop.au3 @@ -57,6 +57,8 @@ Func NameOfTroop($iKind, $iPlural = 0) $sTroopname = "Lava Hound" Case $eBowl $sTroopname = "Bowler" + Case $eIceG + $sTroopname = "Ice Golem" Case $eKing $sTroopname = "King" $iPlural = 0 ; safety reset, $sTroopname of $eKing cannot be plural @@ -89,10 +91,14 @@ Func NameOfTroop($iKind, $iPlural = 0) $sTroopname = "Haste Spell" Case $eSkSpell $sTroopname = "Skeleton Spell" + Case $eBtSpell + $sTroopname = "Bat Spell" Case $eWallW $sTroopname = "Wall Wrecker" Case $eBattleB $sTroopname = "Battle Blimp" + Case $eStoneS + $sTroopname = "Stone Slammer" Case Else Return "" ; error or unknown case EndSwitch diff --git a/COCBot/functions/Config/ImageDirectories.au3 b/COCBot/functions/Config/ImageDirectories.au3 index 2aad30b26..5ad4ea2dd 100644 --- a/COCBot/functions/Config/ImageDirectories.au3 +++ b/COCBot/functions/Config/ImageDirectories.au3 @@ -47,6 +47,7 @@ Global $g_sImgCollectRessourcesBB = @ScriptDir & "\imgxml\Resources\BuildersBase Global $g_sImgBoatBB = @ScriptDir & "\imgxml\Boat\BoatBuilderBase_0_89.xml" Global $g_sImgZoomOutDirBB = @ScriptDir & "\imgxml\village\BuilderBase\" Global $g_sImgStartCTBoost = @ScriptDir & "\imgxml\Resources\BuildersBase\ClockTower\ClockTowerAvailable*.xml" +Global $g_sImgCleanBBYard = @ScriptDir & "\imgxml\Resources\ObstaclesBB" #EndRegion #Region DonateCC @@ -55,6 +56,7 @@ Global $g_sImgDonateSpells = @ScriptDir & "\imgxml\DonateCC\Spells\" Global $g_sImgDonateSiege = @ScriptDir & "\imgxml\DonateCC\SiegeMachines\" Global $g_sImgChatDivider = @ScriptDir & "\imgxml\DonateCC\donateccwbl\chatdivider_0_98.xml" Global $g_sImgChatDividerHidden = @ScriptDir & "\imgxml\DonateCC\donateccwbl\chatdividerhidden_0_98.xml" +Global $g_sImgChatIUnterstand = @ScriptDir & "\imgxml\DonateCC\donateccwbl\iunderstand_0_95.xml" #EndRegion #Region Auto Upgrade Normal Village @@ -92,6 +94,7 @@ Global $g_sImgSwitchSiegeMachine = @ScriptDir & "\imgxml\SwitchSiegeMachines\Sie Global $g_sImgSwitchSiegeCastle = @ScriptDir & "\imgxml\SwitchSiegeMachines\Castle" Global $g_sImgSwitchSiegeWallWrecker = @ScriptDir & "\imgxml\SwitchSiegeMachines\WallWrecker" Global $g_sImgSwitchSiegeBattleBlimp = @ScriptDir & "\imgxml\SwitchSiegeMachines\BattleBlimp" +Global $g_sImgSwitchSiegeStoneSlammer = @ScriptDir & "\imgxml\SwitchSiegeMachines\StoneSlammer" #EndRegion #Region Search diff --git a/COCBot/functions/Config/ScreenCoordinates.au3 b/COCBot/functions/Config/ScreenCoordinates.au3 index efb9a6846..2a31e8844 100644 --- a/COCBot/functions/Config/ScreenCoordinates.au3 +++ b/COCBot/functions/Config/ScreenCoordinates.au3 @@ -55,7 +55,7 @@ Global $aArmyCampSize[2] = [110, 136 + $g_iMidOffsetY] ; Training Window, Overvi Global $aSiegeMachineSize[2] = [755, 136 + $g_iMidOffsetY] ; Training Window, Overview screen, Current Number/Total Number Global $aArmySpellSize[2] = [99, 284 + $g_iMidOffsetY] ; Training Window Overviewscreen, current number/total capacity Global $g_aArmyCCSpellSize[2] = [473, 438 + $g_iMidOffsetY] ; Training Window, Overview Screen, Current CC Spell number/total cc spell capacity -Global $aArmyCCRemainTime[2] = [782, 540 + $g_iMidOffsetY] ; Training Window Overviewscreen, Minutes & Seconds remaining till can request again +Global $aArmyCCRemainTime[2] = [782, 552 + $g_iMidOffsetY] ; Training Window Overviewscreen, Minutes & Seconds remaining till can request again Global $aIsCampNotFull[4] = [149, 150 + $g_iMidOffsetY, 0x761714, 20] ; Training Window, Overview screen Red pixel in Exclamation mark with camp is not full Global $aIsCampFull[4] = [128, 151 + $g_iMidOffsetY, 0xFFFFFF, 10] ; Training Window, Overview screen White pixel in check mark with camp IS full (can not test for Green, as it has trees under it!) Global $aBarrackFull[4] = [388, 154 + $g_iMidOffsetY, 0xE84D50, 20] ; Training Window, Barracks Screen, Red pixel in Exclamation mark with Barrack is full @@ -101,9 +101,6 @@ Global $aAttackForTreasury[4] = [88, 619 + $g_iMidOffsetY, 0xF0EBE8, 5] ; Red pi Global $aAtkHasDarkElixir[4] = [ 31, 144, 0x282020, 10] ; Attack Page, Check for DE icon Global $aVillageHasDarkElixir[4] = [837, 134, 0x3D2D3D, 10] ; Main Page, Base has dark elixir storage -;Global $aKingHealth = [ -1, 572 + $g_iBottomOffsetY, 0x4FD404,110] ; Attack Screen, Check King's Health, X coordinate is dynamic, not used from array -;Global $aQueenHealth = [ -1, 573 + $g_iBottomOffsetY, 0x4FD404,110] ; Attack Screen, Check Queen's Health, X coordinate is dynamic, not used from array - Global $aCheckTopProfile[4] = [200, 166, 0x868CAC, 5] Global $aCheckTopProfile2[4] = [220, 355, 0x4E4D79, 5] @@ -111,13 +108,12 @@ Global $aIsTabOpen[4] = [0, 145, 0xEAEAE3, 25];Check if specific Tab is opened, Global $aRecievedTroops[4] = [200 ,215 ,0xFFFFFF, 20] ; Y of You have recieved blabla from xx! -; Check healthy color RGB ( 220,255,19~27) ; the king and queen haves the same Y , but warden is a little lower ... -; King Crown ; background pixel not at green bar -Global $aKingHealth = [-1, 569 + $g_iBottomOffsetY, 0x00D500, 15] ; Attack Screen, Check King's Health, X coordinate is dynamic, not used from array ; -> with slot compensation 0xbfb29e -; Queen purple between crown ; background pixel not at green bar -Global $aQueenHealth = [-1, 569 + $g_iBottomOffsetY, 0x00D500, 15] ; Attack Screen, Check Queen's Health, X coordinate is dynamic, not used from array ; -> with slot compensation 0xe08227 -; Warden hair ; background pixel not at green bar -Global $aWardenHealth = [-1, 569 + $g_iBottomOffsetY, 0x00D500, 15] ; Attack Screen, Check Warden's Health, X coordinate is dynamic, not used from array ; -> with slot compensation 0xe08227 +; King Health Bar, check at the middle of the bar, index 4 is x-offset added to middle of health bar +Global $aKingHealth = [-1, 569 + $g_iBottomOffsetY, 0x00D500, 15, 13] +; Queen Health Bar, check at the middle of the bar, index 4 is x-offset added to middle of health bar +Global $aQueenHealth = [-1, 569 + $g_iBottomOffsetY, 0x00D500, 15, 8] +; Warden Health Bar, check at the middle of the bar, index 4 is x-offset added to middle of health bar +Global $aWardenHealth = [-1, 569 + $g_iBottomOffsetY, 0x00D500, 15, 3] ; attack report... stars won Global $aWonOneStarAtkRprt[4] = [325, 180 + $g_iMidOffsetY, 0xC8CaC4, 30] ; Center of 1st Star reached attacked village @@ -126,10 +122,11 @@ Global $aWonThreeStarAtkRprt[4] = [534, 180 + $g_iMidOffsetY, 0xC8CAC7, 30] ; Ce ; pixel color: location information BS 850MB (Reg GFX), BS 500MB (Med GFX) : location Global $NextBtn[4] = [780, 546 + $g_iBottomOffsetY, 0xD34300, 20] ; Next Button +Global $a12OrMoreSlots[4] = [16, 670, 0x5C93C8, 25] ; Attackbar Check if 12+ Slots exist ; Someone asking troops : Color 0xD0E978 in x = 121 -; 1 - Dark Gray : Castle filled/No Castle | 2 - Dark Green : Available or Already made | 3 - White : Available or Castle filled/No Castle -Global $aRequestTroopsAO[6] = [761, 580, 0x919191, 0x6DB630, 0xFFFFFE, 15] ; Button Request Troops in Army Overview (x,y, Gray - Full/No Castle, Green - Available or Already, White - Available or Full) +; 1 - Dark Gray : Castle filled/No Castle | 2 - Light Green : Available or Already made | 3 - White : Available or Castle filled/No Castle +Global $aRequestTroopsAO[6] = [761, 592, 0x565656, 0x3C6C27, 0xFFFFFE, 25] ; Button Request Troops in Army Overview (x,y, Gray - Full/No Castle, Green - Available or Already, White - Available or Full) Global Const $aOpenChatTab[4] = [19, 335 + $g_iMidOffsetY, 0xE88D27, 20] Global Const $aCloseChat[4] = [331, 330 + $g_iMidOffsetY, 0xF0951D, 20] ; duplicate with $aChatTab above, need to rename and fix all code to use one? @@ -176,19 +173,25 @@ Global $aButtonSetting[4] = [820, 550 + $g_iMidOffsetY, 0xFFFFFF, 10] ; Setting Global $aIsSettingPage[4] = [753, 75 + $g_iMidOffsetY, 0xFF8F95, 10] ; Main Screen, Setting page open - left upper corner of x button ;Google Play -Global $aButtonConnected[4] = [430, 380 + $g_iMidOffsetY, 0xD8F480, 20] ; Setting screen, Connected button -Global $aButtonDisconnected[4] = [430, 380 + $g_iMidOffsetY, 0xFF7C81, 20] ; Setting screen, Disconnected button +Global $aButtonConnected[4] = [602, 374 + $g_iMidOffsetY, 0xDAF481, 20] ; Setting screen, Connected button +Global $aButtonDisconnected[4] = [602, 374 + $g_iMidOffsetY, 0xFF7E82, 20] ; Setting screen, Disconnected button Global $aListAccount[4] = [635, 210 + $g_iMidOffsetY, 0xFFFFFF, 10] ; Accounts list google, White Global $aButtonVillageLoad[4] = [515, 411 + $g_iMidOffsetY, 0x6EBD1F, 20] ; Load button, Green Global $aTextBox[4] = [320, 160 + $g_iMidOffsetY, 0xFFFFFF, 10] ; Text box, White Global $aButtonVillageOkay[4] = [500, 170 + $g_iMidOffsetY, 0x81CA2D, 20] ; Okay button, Green + ;SuperCell ID -Global $aButtonConnectedSCID[4] = [430, 205 + $g_iMidOffsetY, 0x6EB730, 20] ; Setting creen, Supercell ID Connected button -Global $aButtonLogOutSCID[4] = [700, 285 + $g_iMidOffsetY, 0x308AFB, 20] ; Supercell ID, Log Out button -Global $aButtonConfirmSCID[4] = [460, 410 + $g_iMidOffsetY, 0x328AFB, 20] ; Supercell ID, Confirm button +Global $aButtonConnectedSCID[4] = [453, 513 + $g_iMidOffsetY, 0x72BB2F, 20] ; Setting screen, Supercell ID Connected button +Global $aButtonLogOutSCID[4] = [615, 270 + $g_iMidOffsetY, 0x308AFB, 20] ; Supercell ID, Log Out button +Global $aButtonConfirmSCID[4] = [475, 420 + $g_iMidOffsetY, 0x2C88FA, 20] ; Supercell ID, Confirm button Global $aListAccountSCID[4] = [490, 185 + $g_iMidOffsetY, 0x000000, 10] ; Supercell ID, Black check in word "ID" Global $aCloseTabSCID[4] = [732, 145] ; Button Close Supercell ID tab +;Train +Global $aButtonEditArmy[4] = [800, 542, 0xDDF685, 25] +Global $aButtonRemoveTroopsOK1[4] = [778, 563, 0xDAF582, 25] +Global $aButtonRemoveTroopsOK2[4] = [508, 428, 0xFFFFFF, 30] + Global $aTrainBarb[4] = [-1, -1, -1, -1] Global $aTrainArch[4] = [-1, -1, -1, -1] Global $aTrainGiant[4] = [-1, -1, -1, -1] @@ -209,6 +212,7 @@ Global $aTrainGole[4] = [-1, -1, -1, -1] Global $aTrainWitc[4] = [-1, -1, -1, -1] Global $aTrainLava[4] = [-1, -1, -1, -1] Global $aTrainBowl[4] = [-1, -1, -1, -1] +Global $aTrainIceG[4] = [-1, -1, -1, -1] Global $aTrainLSpell[4] = [-1, -1, -1, -1] Global $aTrainHSpell[4] = [-1, -1, -1, -1] Global $aTrainRSpell[4] = [-1, -1, -1, -1] @@ -219,10 +223,12 @@ Global $aTrainPSpell[4] = [-1, -1, -1, -1] Global $aTrainESpell[4] = [-1, -1, -1, -1] Global $aTrainHaSpell[4] = [-1, -1, -1, -1] Global $aTrainSkSpell[4] = [-1, -1, -1, -1] +Global $aTrainBtSpell[4] = [-1, -1, -1, -1] +Global $aTrain[4] = [-1, -1, -1, -1] Global $aTrainArmy[$eArmyCount] = [$aTrainBarb, $aTrainArch, $aTrainGiant, $aTrainGobl, $aTrainWall, $aTrainBall, $aTrainWiza, $aTrainHeal, $aTrainDrag, $aTrainPekk, $aTrainBabyD, $aTrainMine, $aTrainEDrag, _ - $aTrainMini, $aTrainHogs, $aTrainValk, $aTrainGole, $aTrainWitc, $aTrainLava, $aTrainBowl, 0, 0, 0, 0, $aTrainLSpell, $aTrainHSpell, $aTrainRSpell, $aTrainJSpell, $aTrainFSpell, $aTrainCSpell, _ - $aTrainPSpell, $aTrainESpell, $aTrainHaSpell, $aTrainSkSpell] + $aTrainMini, $aTrainHogs, $aTrainValk, $aTrainGole, $aTrainWitc, $aTrainLava, $aTrainBowl, $aTrainIceG, 0, 0, 0, 0, $aTrainLSpell, $aTrainHSpell, $aTrainRSpell, $aTrainJSpell, $aTrainFSpell, $aTrainCSpell, _ + $aTrainPSpell, $aTrainESpell, $aTrainHaSpell, $aTrainSkSpell, $aTrainBtSpell] ;Change Language To English Global $aButtonLanguage[4] = [210, 375 + $g_iMidOffsetY, 0xD0E978, 20] Global $aListLanguage[4] = [110, 90 + $g_iMidOffsetY, 0xFFFFFF, 10] diff --git a/COCBot/functions/Config/applyConfig.au3 b/COCBot/functions/Config/applyConfig.au3 index 6a390df3c..9a450632e 100644 --- a/COCBot/functions/Config/applyConfig.au3 +++ b/COCBot/functions/Config/applyConfig.au3 @@ -302,6 +302,7 @@ Func ApplyConfig_600_6($TypeReadSave) GUICtrlSetData($g_hTxtTreasuryDark, $g_iTxtTreasuryDark) GUICtrlSetState($g_hChkCollectBuilderBase, $g_bChkCollectBuilderBase ? $GUI_CHECKED : $GUI_UNCHECKED) + GUICtrlSetState($g_hChkCleanBBYard, $g_bChkCleanBBYard ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_hChkStartClockTowerBoost, $g_bChkStartClockTowerBoost ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_hChkCTBoostBlderBz, $g_bChkCTBoostBlderBz ? $GUI_CHECKED : $GUI_UNCHECKED) chkStartClockTowerBoost() @@ -360,6 +361,7 @@ Func ApplyConfig_600_6($TypeReadSave) $g_iTxtTreasuryDark = GUICtrlRead($g_hTxtTreasuryDark) $g_bChkCollectBuilderBase = (GUICtrlRead($g_hChkCollectBuilderBase) = $GUI_CHECKED) + $g_bChkCleanBBYard = (GUICtrlRead($g_hChkCleanBBYard) = $GUI_CHECKED) $g_bChkStartClockTowerBoost = (GUICtrlRead($g_hChkStartClockTowerBoost) = $GUI_CHECKED) $g_bChkCTBoostBlderBz = (GUICtrlRead($g_hChkCTBoostBlderBz) = $GUI_CHECKED) $g_iChkBBSuggestedUpgrades = (GUICtrlRead($g_hChkBBSuggestedUpgrades) = $GUI_CHECKED) ? 1 : 0 @@ -1340,6 +1342,7 @@ Func ApplyConfig_600_29_DB($TypeReadSave) GUICtrlSetState($g_hChkDBEarthquakeSpell, $g_abAttackUseEarthquakeSpell[$DB] ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_hChkDBHasteSpell, $g_abAttackUseHasteSpell[$DB] ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_hChkDBSkeletonSpell, $g_abAttackUseSkeletonSpell[$DB] ? $GUI_CHECKED : $GUI_UNCHECKED) + GUICtrlSetState($g_hChkDBBatSpell, $g_abAttackUseBatSpell[$DB] ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_hChkTHSnipeBeforeDBEnable, $g_bTHSnipeBeforeEnable[$DB] ? $GUI_CHECKED : $GUI_UNCHECKED) chkTHSnipeBeforeDBEnable() GUICtrlSetData($g_hTxtTHSnipeBeforeDBTiles, $g_iTHSnipeBeforeTiles[$DB]) @@ -1366,6 +1369,7 @@ Func ApplyConfig_600_29_DB($TypeReadSave) $g_abAttackUseHasteSpell[$DB] = (GUICtrlRead($g_hChkDBHasteSpell) = $GUI_CHECKED) $g_abAttackUseCloneSpell[$DB] = (GUICtrlRead($g_hChkDBCloneSpell) = $GUI_CHECKED) $g_abAttackUseSkeletonSpell[$DB] = (GUICtrlRead($g_hChkDBSkeletonSpell) = $GUI_CHECKED) + $g_abAttackUseBatSpell[$DB] = (GUICtrlRead($g_hChkDBBatSpell) = $GUI_CHECKED) $g_bTHSnipeBeforeEnable[$DB] = (GUICtrlRead($g_hChkTHSnipeBeforeDBEnable) = $GUI_CHECKED) $g_iTHSnipeBeforeTiles[$DB] = GUICtrlRead($g_hTxtTHSnipeBeforeDBTiles) $g_iTHSnipeBeforeScript[$DB] = GUICtrlRead($g_hCmbTHSnipeBeforeDBScript) @@ -1609,6 +1613,7 @@ Func ApplyConfig_600_29_LB($TypeReadSave) GUICtrlSetState($g_hChkABEarthquakeSpell, $g_abAttackUseEarthquakeSpell[$LB] ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_hChkABHasteSpell, $g_abAttackUseHasteSpell[$LB] ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_hChkABSkeletonSpell, $g_abAttackUseSkeletonSpell[$LB] ? $GUI_CHECKED : $GUI_UNCHECKED) + GUICtrlSetState($g_hChkABBatSpell, $g_abAttackUseBatSpell[$LB] ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_hChkTHSnipeBeforeLBEnable, $g_bTHSnipeBeforeEnable[$LB] ? $GUI_CHECKED : $GUI_UNCHECKED) chkTHSnipeBeforeLBEnable() GUICtrlSetData($g_hTxtTHSnipeBeforeLBTiles, $g_iTHSnipeBeforeTiles[$LB]) @@ -1635,6 +1640,7 @@ Func ApplyConfig_600_29_LB($TypeReadSave) $g_abAttackUseEarthquakeSpell[$LB] = (GUICtrlRead($g_hChkABEarthquakeSpell) = $GUI_CHECKED) $g_abAttackUseHasteSpell[$LB] = (GUICtrlRead($g_hChkABHasteSpell) = $GUI_CHECKED) $g_abAttackUseSkeletonSpell[$LB] = (GUICtrlRead($g_hChkABSkeletonSpell) = $GUI_CHECKED) + $g_abAttackUseBatSpell[$LB] = (GUICtrlRead($g_hChkABBatSpell) = $GUI_CHECKED) $g_bTHSnipeBeforeEnable[$LB] = (GUICtrlRead($g_hChkTHSnipeBeforeLBEnable) = $GUI_CHECKED) $g_iTHSnipeBeforeTiles[$LB] = GUICtrlRead($g_hTxtTHSnipeBeforeLBTiles) $g_iTHSnipeBeforeScript[$LB] = GUICtrlRead($g_hCmbTHSnipeBeforeLBScript) @@ -1882,9 +1888,9 @@ Func ApplyConfig_600_31($TypeReadSave) ; <><><><> Attack Plan / Search & Attack / Deadbase / Collectors <><><><> Switch $TypeReadSave Case "Read" - For $i = 6 To 12 + For $i = 6 To 13 GUICtrlSetState($g_ahChkDBCollectorLevel[$i], $g_abCollectorLevelEnabled[$i] ? $GUI_CHECKED : $GUI_UNCHECKED) - GUICtrlSetState($g_ahCmbDBCollectorLevel[$i], $g_abCollectorLevelEnabled[$i] ? $GUI_ENABLE : $GUI_DISABLE) + GUICtrlSetState($g_ahCmbDBCollectorLevel[$i], $g_abCollectorLevelEnabled[$i] ? $GUI_ENABLE : $GUI_DISABLE) _GUICtrlComboBox_SetCurSel($g_ahCmbDBCollectorLevel[$i], $g_aiCollectorLevelFill[$i]) Next GUICtrlSetState($g_hChkDBDisableCollectorsFilter, $g_bCollectorFilterDisable ? $GUI_CHECKED : $GUI_UNCHECKED) @@ -1892,7 +1898,7 @@ Func ApplyConfig_600_31($TypeReadSave) GUICtrlSetData($g_hSldCollectorTolerance, $g_iCollectorToleranceOffset) checkCollectors() Case "Save" - For $i = 6 To 12 + For $i = 6 To 13 $g_abCollectorLevelEnabled[$i] = (GUICtrlRead($g_ahChkDBCollectorLevel[$i]) = $GUI_CHECKED) $g_aiCollectorLevelFill[$i] = _GUICtrlComboBox_GetCurSel($g_ahCmbDBCollectorLevel[$i]) Next diff --git a/COCBot/functions/Config/readConfig.au3 b/COCBot/functions/Config/readConfig.au3 index 4332f70e8..b7c56a3e2 100644 --- a/COCBot/functions/Config/readConfig.au3 +++ b/COCBot/functions/Config/readConfig.au3 @@ -400,6 +400,7 @@ Func ReadConfig_600_6() IniReadS($g_iTxtTreasuryDark, $g_sProfileConfigPath, "other", "minTreasurydark", 0, "int") IniReadS($g_bChkCollectBuilderBase, $g_sProfileConfigPath, "other", "ChkCollectBuildersBase", False, "Bool") + IniReadS($g_bChkCleanBBYard, $g_sProfileConfigPath, "other", "ChkCleanBBYard", False, "Bool") IniReadS($g_bChkStartClockTowerBoost, $g_sProfileConfigPath, "other", "ChkStartClockTowerBoost", False, "Bool") IniReadS($g_bChkCTBoostBlderBz, $g_sProfileConfigPath, "other", "ChkCTBoostBlderBz", False, "Bool") IniReadS($g_iChkBBSuggestedUpgrades, $g_sProfileConfigPath, "other", "ChkBBSuggestedUpgrades", $g_iChkBBSuggestedUpgrades, "Int") @@ -457,7 +458,7 @@ Func ReadConfig_600_11() For $i = 0 To 2 $g_aiClanCastleTroopWaitType[$i] = Int(IniRead($g_sProfileConfigPath, "donate", "cmbClanCastleTroop" & $i, "20")) $g_aiClanCastleTroopWaitQty[$i] = Int(IniRead($g_sProfileConfigPath, "donate", "txtClanCastleTroop" & $i, "0")) - If $g_aiClanCastleTroopWaitType[$i] < $eTroopCount Then ; barb - bowl + If $g_aiClanCastleTroopWaitType[$i] < $eTroopCount Then ; barb - IceG $g_aiCCTroopsExpected[$g_aiClanCastleTroopWaitType[$i]] += $g_aiClanCastleTroopWaitQty[$i] EndIf Next @@ -482,7 +483,7 @@ Func ReadConfig_600_12() IniReadS($g_abChkDonateQueueOnly[1], $g_sProfileConfigPath, "donate", "chkDonateQueueOnly[1]", True, "Bool") For $i = 0 To $eTroopCount - 1 + $g_iCustomDonateConfigs Local $sIniName = "" - If $i >= $eTroopBarbarian And $i <= $eTroopBowler Then + If $i >= $eTroopBarbarian And $i <= $eTroopIceGolem Then $sIniName = StringReplace($g_asTroopNamesPlural[$i], " ", "") ElseIf $i = $eCustomA Then $sIniName = "CustomA" @@ -557,6 +558,9 @@ Func ReadConfig_600_12() $g_asTxtDonateTroop[$eTroopBowler] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateBowlers", "bowler|bowl"), "|", @CRLF) $g_asTxtBlacklistTroop[$eTroopBowler] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistBowlers", "no bowler|bowl no"), "|", @CRLF) + + $g_asTxtDonateTroop[$eTroopIceGolem] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateIceGolems", "ice golem|ice golems"), "|", @CRLF) + $g_asTxtBlacklistTroop[$eTroopIceGolem] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistIceGolems", "no ice golem|ice golem no"), "|", @CRLF) $g_asTxtDonateTroop[$eCustomA] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateCustomA", "ground support|ground"), "|", @CRLF) $g_asTxtBlacklistTroop[$eCustomA] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistCustomA", "no ground|ground no|nonly"), "|", @CRLF) @@ -604,6 +608,9 @@ Func ReadConfig_600_12() $g_asTxtDonateSpell[$eSpellSkeleton] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateSkeletonSpells", "skeleton"), "|", @CRLF) $g_asTxtBlacklistSpell[$eSpellSkeleton] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistSkeletonSpells", "no skeleton|skeleton no"), "|", @CRLF) + + $g_asTxtDonateSpell[$eSpellBat] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateBatSpells", "bat"), "|", @CRLF) + $g_asTxtBlacklistSpell[$eSpellBat] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistBatSpells", "no bat|bat no"), "|", @CRLF) For $i = $eSiegeWallWrecker to $eSiegeMachineCount - 1 Local $index = $eTroopCount + $g_iCustomDonateConfigs @@ -616,6 +623,9 @@ Func ReadConfig_600_12() $g_asTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeBattleBlimp] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateBattleB", "Blimp|siege"), "|", @CRLF) $g_asTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeBattleBlimp] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistBattleB", "no Blimp|siege no"), "|", @CRLF) + + $g_asTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateStoneS", "Slammer|siege"), "|", @CRLF) + $g_asTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistStoneS", "no Slammer|siege no"), "|", @CRLF) $g_aiDonateCustomTrpNumA[0][0] = Int(IniRead($g_sProfileConfigPath, "donate", "cmbDonateCustomA1", 6)) @@ -670,6 +680,8 @@ Func ReadConfig_600_14() IniReadS($g_bAutoLabUpgradeEnable, $g_sProfileBuildingPath, "upgrade", "upgradetroops", False, "Bool") IniReadS($g_iCmbLaboratory, $g_sProfileBuildingPath, "upgrade", "upgradetroopname", 0, "int") $g_sLabUpgradeTime = IniRead($g_sProfileBuildingPath, "upgrade", "upgradelabtime", "") + IniReadS($g_iLaboratoryElixirCost, $g_sProfileBuildingPath, "upgrade", "upgradelabelexircost", 0, "int") + IniReadS($g_iLaboratoryDElixirCost, $g_sProfileBuildingPath, "upgrade", "upgradelabdelexircost", 0, "int") EndFunc ;==>ReadConfig_600_14 Func ReadConfig_600_15() @@ -978,6 +990,7 @@ Func ReadConfig_600_29_DB() IniReadS($g_abAttackUseHasteSpell[$DB], $g_sProfileConfigPath, "attack", "DBHasteSpell", False, "Bool") IniReadS($g_abAttackUseCloneSpell[$DB], $g_sProfileConfigPath, "attack", "DBCloneSpell", False, "Bool") IniReadS($g_abAttackUseSkeletonSpell[$DB], $g_sProfileConfigPath, "attack", "DBSkeletonSpell", False, "Bool") + IniReadS($g_abAttackUseBatSpell[$DB], $g_sProfileConfigPath, "attack", "DBBatSpell", False, "Bool") IniReadS($g_bTHSnipeBeforeEnable[$DB], $g_sProfileConfigPath, "attack", "THSnipeBeforeDBEnable", False, "Bool") IniReadS($g_iTHSnipeBeforeTiles[$DB], $g_sProfileConfigPath, "attack", "THSnipeBeforeDBTiles", 0, "int") IniReadS($g_iTHSnipeBeforeScript[$DB], $g_sProfileConfigPath, "attack", "THSnipeBeforeDBScript", "bam") @@ -1061,6 +1074,7 @@ Func ReadConfig_600_29_LB() IniReadS($g_abAttackUseHasteSpell[$LB], $g_sProfileConfigPath, "attack", "ABHasteSpell", False, "Bool") IniReadS($g_abAttackUseCloneSpell[$LB], $g_sProfileConfigPath, "attack", "ABCloneSpell", False, "Bool") IniReadS($g_abAttackUseSkeletonSpell[$LB], $g_sProfileConfigPath, "attack", "ABSkeletonSpell", False, "Bool") + IniReadS($g_abAttackUseBatSpell[$LB], $g_sProfileConfigPath, "attack", "ABBatSpell", False, "Bool") IniReadS($g_bTHSnipeBeforeEnable[$LB], $g_sProfileConfigPath, "attack", "THSnipeBeforeLBEnable", False, "Bool") IniReadS($g_iTHSnipeBeforeTiles[$LB], $g_sProfileConfigPath, "attack", "THSnipeBeforeLBTiles", 0, "int") IniReadS($g_iTHSnipeBeforeScript[$LB], $g_sProfileConfigPath, "attack", "THSnipeBeforeLBScript", "bam") @@ -1166,10 +1180,10 @@ EndFunc ;==>ReadConfig_600_30_TS Func ReadConfig_600_31() ; <><><><> Attack Plan / Search & Attack / Deadbase / Collectors <><><><> $g_abCollectorLevelEnabled[6] = 0 - For $i = 7 To 12 + For $i = 7 To 13 IniReadS($g_abCollectorLevelEnabled[$i], $g_sProfileConfigPath, "collectors", "lvl" & $i & "Enabled", True, "Bool") Next - For $i = 6 To 12 + For $i = 6 To 13 IniReadS($g_aiCollectorLevelFill[$i], $g_sProfileConfigPath, "collectors", "lvl" & $i & "fill", 0, "int") If $g_aiCollectorLevelFill[$i] > 1 Then $g_aiCollectorLevelFill[$i] = 1 Next diff --git a/COCBot/functions/Config/saveConfig.au3 b/COCBot/functions/Config/saveConfig.au3 index 9a1900721..3eb6468f9 100644 --- a/COCBot/functions/Config/saveConfig.au3 +++ b/COCBot/functions/Config/saveConfig.au3 @@ -116,6 +116,8 @@ Func SaveBuildingConfig() _Ini_Add("upgrade", "upgradetroops", $g_bAutoLabUpgradeEnable ? 1 : 0) _Ini_Add("upgrade", "upgradetroopname", $g_iCmbLaboratory) _Ini_Add("upgrade", "upgradelabtime", $g_sLabUpgradeTime) + _Ini_Add("upgrade", "upgradelabelexircost", $g_iLaboratoryElixirCost) + _Ini_Add("upgrade", "upgradelabdelexircost", $g_iLaboratoryDElixirCost) ; <><><><> Village / Upgrade - Buildings <><><><> ApplyConfig_600_16(GetApplyConfigSaveAction()) @@ -345,6 +347,7 @@ Func SaveConfig_600_6() _Ini_Add("other", "minTreasurydark", $g_iTxtTreasuryDark) _Ini_Add("other", "ChkCollectBuildersBase", $g_bChkCollectBuilderBase ? 1 : 0) + _Ini_Add("other", "ChkCleanBBYard", $g_bChkCleanBBYard ? 1 : 0) _Ini_Add("other", "ChkStartClockTowerBoost", $g_bChkStartClockTowerBoost ? 1 : 0) _Ini_Add("other", "ChkCTBoostBlderBz", $g_bChkCTBoostBlderBz ? 1 : 0) _Ini_Add("other", "ChkBBSuggestedUpgrades", $g_iChkBBSuggestedUpgrades) @@ -426,7 +429,7 @@ Func SaveConfig_600_12() For $i = 0 To $eTroopCount - 1 + $g_iCustomDonateConfigs Local $sIniName = "" - If $i >= $eTroopBarbarian And $i <= $eTroopBowler Then + If $i >= $eTroopBarbarian And $i <= $eTroopIceGolem Then $sIniName = StringReplace($g_asTroopNamesPlural[$i], " ", "") ElseIf $i = $eCustomA Then $sIniName = "CustomA" @@ -802,6 +805,7 @@ Func SaveConfig_600_29_DB() _Ini_Add("attack", "DBHasteSpell", $g_abAttackUseHasteSpell[$DB] ? 1 : 0) _Ini_Add("attack", "DBCloneSpell", $g_abAttackUseCloneSpell[$DB] ? 1 : 0) _Ini_Add("attack", "DBSkeletonSpell", $g_abAttackUseSkeletonSpell[$DB] ? 1 : 0) + _Ini_Add("attack", "DBBatSpell", $g_abAttackUseBatSpell[$DB] ? 1 : 0) _Ini_Add("attack", "THSnipeBeforeDBEnable", $g_bTHSnipeBeforeEnable[$DB] ? 1 : 0) _Ini_Add("attack", "THSnipeBeforeDBTiles", $g_iTHSnipeBeforeTiles[$DB]) _Ini_Add("attack", "THSnipeBeforeDBScript", $g_iTHSnipeBeforeScript[$DB]) @@ -913,6 +917,7 @@ Func SaveConfig_600_29_LB() _Ini_Add("attack", "ABEarthquakeSpell", $g_abAttackUseEarthquakeSpell[$LB] ? 1 : 0) _Ini_Add("attack", "ABHasteSpell", $g_abAttackUseHasteSpell[$LB] ? 1 : 0) _Ini_Add("attack", "ABSkeletonSpell", $g_abAttackUseSkeletonSpell[$LB] ? 1 : 0) + _Ini_Add("attack", "ABBatSpell", $g_abAttackUseBatSpell[$LB] ? 1 : 0) _Ini_Add("attack", "THSnipeBeforeLBEnable", $g_bTHSnipeBeforeEnable[$LB] ? 1 : 0) _Ini_Add("attack", "THSnipeBeforeLBTiles", $g_iTHSnipeBeforeTiles[$LB]) _Ini_Add("attack", "THSnipeBeforeLBScript", $g_iTHSnipeBeforeScript[$LB]) @@ -1033,7 +1038,7 @@ EndFunc ;==>SaveConfig_600_30_TS Func SaveConfig_600_31() ; <><><><> Attack Plan / Search & Attack / Deadbase / Collectors <><><><> ApplyConfig_600_31(GetApplyConfigSaveAction()) - For $i = 6 To 12 + For $i = 6 To 13 _Ini_Add("collectors", "lvl" & $i & "Enabled", $g_abCollectorLevelEnabled[$i] ? 1 : 0) _Ini_Add("collectors", "lvl" & $i & "fill", $g_aiCollectorLevelFill[$i]) Next diff --git a/COCBot/functions/CreateArmy/DoubleTrain.au3 b/COCBot/functions/CreateArmy/DoubleTrain.au3 index 6ef3da318..c2bd6e70a 100644 --- a/COCBot/functions/CreateArmy/DoubleTrain.au3 +++ b/COCBot/functions/CreateArmy/DoubleTrain.au3 @@ -359,7 +359,7 @@ Func CheckQueueSpellAndTrainRemain($ArmyCamp, $bDebug) Local $iTotalQueue = 0 If $bDebug Then SetLog("Checking spell queue: " & $ArmyCamp[0] & "/" & $ArmyCamp[1] * 2, $COLOR_DEBUG) - Local $XQueueStart = 835 + Local $XQueueStart = 839 For $i = 0 To 10 If _ColorCheck(_GetPixelColor(825 - $i * 70, 186, True), Hex(0xD7AFA9, 6), 20) Then ; Pink background found $XQueueStart -= 70.5 * $i @@ -417,10 +417,10 @@ Func DoubleTrainSiege($bDebug) If Not OpenSiegeMachinesTab(True, "DoubleTrainSiege()") Then Return If _Sleep(500) Then Return - Local $checkPixel[4] = [58, 556, 0x47717E, 10] ; WallW = 58 (BlimpB = 229) + Local $checkPixel[4] = [58, 556, 0x47717E, 10] ; WallW = 58, BlimpB = 229, Slammer = 400 ; build 1st Army For $i = $eSiegeWallWrecker To $eSiegeMachineCount - 1 - If $i = $eSiegeBattleBlimp Then $checkPixel[0] = 229 + $checkPixel[0] = 58 + $i * 171 ; 58 + 1 * 171 = 229, 58 + 2 * 171 = 400 If _CheckPixel($checkPixel, True, Default, $g_asSiegeMachineNames[$i]) Then If $g_aiCurrentSiegeMachines[$i] < $g_aiArmyCompSiegeMachine[$i] Then Local $HowMany = $g_aiArmyCompSiegeMachine[$i] - $g_aiCurrentSiegeMachines[$i] @@ -431,20 +431,28 @@ Func DoubleTrainSiege($bDebug) EndIf Next ; build 2nd Army - If $g_aiArmyCompSiegeMachine[$eSiegeWallWrecker] > 0 And $g_aiArmyCompSiegeMachine[$eSiegeBattleBlimp] > 0 Then ; train both types of siege - If $bDebug Then SetLog("Army has both types of siege. Double train siege might cause unbalance.", $COLOR_DEBUG) - Else - Local $iSiege = $g_aiArmyCompSiegeMachine[$eSiegeWallWrecker] > 0 ? $eSiegeWallWrecker : $eSiegeBattleBlimp ; 0 or 1 - $checkPixel[0] = 58 + $iSiege * 171 ; 58 + 1 * 171 = 229 + Local $iTotalSiegeTypeToBuild = 0, $iSiegeType = -1 + For $i = $eSiegeWallWrecker To $eSiegeMachineCount - 1 + If $g_aiArmyCompSiegeMachine[$i] > 0 Then + $iTotalSiegeTypeToBuild += 1 + $iSiegeType = $i + EndIf + If $iTotalSiegeTypeToBuild >= 2 Then ExitLoop + Next + + If $iTotalSiegeTypeToBuild >= 2 Then ; train more than 1 type of siege $eSiegeStoneSlammer + If $bDebug Then SetLog("Army has more than 1 type of siege. Double train siege might cause unbalance.", $COLOR_DEBUG) + ElseIf $iSiegeType >= $eSiegeWallWrecker And $iSiegeType <= $eSiegeMachineCount - 1 Then + $checkPixel[0] = 58 + $iSiegeType * 171 ; 58 + 1 * 171 = 229, 58 + 2 * 171 = 400 Local $iTotalMachineBuilt = 0 - For $i = 1 To _Min(Number($g_aiArmyCompSiegeMachine[$iSiege]), 2) ; Maximum workshop space is 2 - If _CheckPixel($checkPixel, True, Default, $g_asSiegeMachineNames[$iSiege]) Then + For $i = 1 To _Min(Number($g_aiArmyCompSiegeMachine[$iSiegeType]), 3) ; Maximum workshop space is 3 + If _CheckPixel($checkPixel, True, Default, $g_asSiegeMachineNames[$iSiegeType]) Then PureClick($checkPixel[0], $checkPixel[1], 1, $g_iTrainClickDelay) $iTotalMachineBuilt += 1 If _Sleep(250) Then Return EndIf Next - If $iTotalMachineBuilt > 0 Then Setlog("Build " & $iTotalMachineBuilt & " " & $g_asSiegeMachineNames[$iSiege] & ($iTotalMachineBuilt >= 2 ? "s" : ""), $COLOR_SUCCESS) + If $iTotalMachineBuilt > 0 Then Setlog("Build " & $iTotalMachineBuilt & " " & $g_asSiegeMachineNames[$iSiegeType] & ($iTotalMachineBuilt >= 2 ? "s" : ""), $COLOR_SUCCESS) EndIf If _Sleep(250) Then Return EndFunc ;==>DoubleTrainSiege diff --git a/COCBot/functions/CreateArmy/SmartWait4Train.au3 b/COCBot/functions/CreateArmy/SmartWait4Train.au3 index 7e98f7b3a..0f1bc5404 100644 --- a/COCBot/functions/CreateArmy/SmartWait4Train.au3 +++ b/COCBot/functions/CreateArmy/SmartWait4Train.au3 @@ -25,7 +25,7 @@ Func SmartWait4Train($iTestSeconds = Default) Local $iExitCount = 0 If _Sleep($DELAYSMARTWAIT) Then Return ; first start 500ms so no false "**Main Window FAIL**" pops up - While IsMainPage(1) = False ; check & wait for main page to ensure can read shield information properly + While IsMainPage(2) = False ; check & wait for main page to ensure can read shield information properly If _Sleep($DELAYIDLE1) Then Return $iExitCount += 1 If $iExitCount > 25 Then ; 5 seconds before have error? diff --git a/COCBot/functions/CreateArmy/TrainIt.au3 b/COCBot/functions/CreateArmy/TrainIt.au3 index 94c3b492f..f9fde7492 100644 --- a/COCBot/functions/CreateArmy/TrainIt.au3 +++ b/COCBot/functions/CreateArmy/TrainIt.au3 @@ -18,7 +18,7 @@ Func TrainIt($iIndex, $iQuantity = 1, $iSleep = 400) If $g_bDebugSetlogTrain Then SetLog("Func TrainIt $iIndex=" & $iIndex & " $howMuch=" & $iQuantity & " $iSleep=" & $iSleep, $COLOR_DEBUG) - Local $bDark = ($iIndex >= $eMini And $iIndex <= $eBowl) + Local $bDark = ($iIndex >= $eMini And $iIndex <= $eIceG) Local $iErrors = 0 For $i = 1 To 5 ; Do @@ -91,7 +91,7 @@ Func GetTrainPos(Const $iIndex) Return $aTrainPos Else ; Get the Image path to search - If $iIndex >= $eBarb And $iIndex <= $eBowl Then + If $iIndex >= $eBarb And $iIndex <= $eIceG Then Local $sFilter = String($g_asTroopShortNames[$iIndex]) & "*" Local $asImageToUse = _FileListToArray($g_sImgTrainTroops, $sFilter, $FLTA_FILES, True) If $g_bDebugSetlogTrain Then SetLog("$asImageToUse Troops: " & $asImageToUse[1]) @@ -100,7 +100,7 @@ Func GetTrainPos(Const $iIndex) Return $aTrainPos EndIf - If $iIndex >= $eLSpell And $iIndex <= $eSkSpell Then + If $iIndex >= $eLSpell And $iIndex <= $eBtSpell Then Local $sFilter = String($g_asSpellShortNames[$iIndex - $eLSpell]) & "*" Local $asImageToUse = _FileListToArray($g_sImgTrainSpells, $sFilter, $FLTA_FILES, True) If $g_bDebugSetlogTrain Then SetLog("$asImageToUse Spell: " & $asImageToUse[1]) @@ -117,12 +117,12 @@ EndFunc ;==>GetTrainPos Func GetFullName(Const $iIndex, Const $aTrainPos) If $g_bDebugSetlogTrain Then SetLog("GetFullName($iIndex=" & $iIndex & ")", $COLOR_DEBUG) - If $iIndex >= $eBarb And $iIndex <= $eBowl Then + If $iIndex >= $eBarb And $iIndex <= $eIceG Then Local $sTroopType = ($iIndex >= $eMini ? "Dark" : "Normal") Return GetFullNameSlot($aTrainPos, $sTroopType) EndIf - If $iIndex >= $eLSpell And $iIndex <= $eSkSpell Then + If $iIndex >= $eLSpell And $iIndex <= $eBtSpell Then Return GetFullNameSlot($aTrainPos, "Spell") EndIf diff --git a/COCBot/functions/CreateArmy/TrainSiege.au3 b/COCBot/functions/CreateArmy/TrainSiege.au3 index b2929dccd..ec74f0f0e 100644 --- a/COCBot/functions/CreateArmy/TrainSiege.au3 +++ b/COCBot/functions/CreateArmy/TrainSiege.au3 @@ -29,15 +29,16 @@ Func TrainSiege() Local $aCheckIsFilled[4] = [802, 186, 0xD7AFA9, 10] Local $aCheckIsAvailableSiege[4] = [58, 556, 0x47717E, 10] Local $aCheckIsAvailableSiege1[4] = [229, 556, 0x47717E, 10] + Local $aCheckIsAvailableSiege2[4] = [400, 556, 0x47717E, 10] - Local $ToMake[2], $g_aiQueuedSiege[2] + Local $ToMake[3], $g_aiQueuedSiege[3] ; $ToMake[$eSiegeWallWrecker] = $g_aiArmyCompSiegeMachine[$eSiegeWallWrecker] - ($g_aiCurrentSiegeMachines[$eSiegeWallWrecker] + $g_aiCurrentCCSiegeMachines[$eSiegeWallWrecker] + $g_aiQueuedSiege[$eSiegeWallWrecker]) ; $ToMake[$eSiegeBattleBlimp] = $g_aiArmyCompSiegeMachine[$eSiegeBattleBlimp] - ($g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] + $g_aiCurrentCCSiegeMachines[$eSiegeBattleBlimp]+ $g_aiQueuedSiege[$eSiegeBattleBlimp]) ; If $g_abChkDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeWallWrecker] ; Donate WallWrecker ; If $g_abChkDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeBattleBlimp] ; Donate BattleBlimp - Local $TextToUse = ["Clan Castle", $g_asSiegeMachineNames[0], $g_asSiegeMachineNames[1]] + Local $TextToUse = ["Clan Castle", $g_asSiegeMachineNames[0], $g_asSiegeMachineNames[1], $g_asSiegeMachineNames[2]] If $g_bDebugSetlogTrain Then For $iSiegeIndex = $eSiegeWallWrecker To $eSiegeMachineCount - 1 @@ -56,7 +57,10 @@ Func TrainSiege() For $iSiegeIndex = $eSiegeWallWrecker To $eSiegeMachineCount - 1 If $g_aiArmyCompSiegeMachine[$iSiegeIndex] = 0 Then ContinueLoop ; Check if is available to make - Local $checkPixel = $iSiegeIndex = $eSiegeWallWrecker ? $aCheckIsAvailableSiege : $aCheckIsAvailableSiege1 + Local $checkPixel + If $iSiegeIndex = $eSiegeWallWrecker Then $checkPixel = $aCheckIsAvailableSiege + If $iSiegeIndex = $eSiegeBattleBlimp Then $checkPixel = $aCheckIsAvailableSiege1 + If $iSiegeIndex = $eSiegeStoneSlammer Then $checkPixel = $aCheckIsAvailableSiege2 If _CheckPixel($checkPixel, True, Default, $g_asSiegeMachineNames[$iSiegeIndex]) Then ; ::: Just making the Siege to use ::: If ($g_aiAttackUseSiege[$DB] = $iSiegeIndex + 1 Or $g_aiAttackUseSiege[$LB] = $iSiegeIndex + 1) And $g_aiCurrentCCSiegeMachines[$iSiegeIndex] = 0 Then @@ -96,7 +100,10 @@ Func TrainSiege() If $g_aiArmyCompSiegeMachine[$iSiegeIndex] = 0 Then ContinueLoop If $g_aiCurrentSiegeMachines[$iSiegeIndex] < $g_aiArmyCompSiegeMachine[$iSiegeIndex] Then Local $HowMany = $g_aiArmyCompSiegeMachine[$iSiegeIndex] - $g_aiCurrentSiegeMachines[$iSiegeIndex] - Local $checkPixel = $iSiegeIndex = $eSiegeWallWrecker ? $aCheckIsAvailableSiege : $aCheckIsAvailableSiege1 + Local $checkPixel + If $iSiegeIndex = $eSiegeWallWrecker Then $checkPixel = $aCheckIsAvailableSiege + If $iSiegeIndex = $eSiegeBattleBlimp Then $checkPixel = $aCheckIsAvailableSiege1 + If $iSiegeIndex = $eSiegeStoneSlammer Then $checkPixel = $aCheckIsAvailableSiege2 If _CheckPixel($checkPixel, True, Default, $g_asSiegeMachineNames[$iSiegeIndex]) Then PureClick($checkPixel[0], $checkPixel[1], $HowMany, $g_iTrainClickDelay) Local $sSiegeName = $HowMany >= 2 ? $g_asSiegeMachineNames[$iSiegeIndex] & "s" : $g_asSiegeMachineNames[$iSiegeIndex] & "" diff --git a/COCBot/functions/CreateArmy/TrainSystem.au3 b/COCBot/functions/CreateArmy/TrainSystem.au3 index 964bf23f9..39bae099a 100644 --- a/COCBot/functions/CreateArmy/TrainSystem.au3 +++ b/COCBot/functions/CreateArmy/TrainSystem.au3 @@ -674,6 +674,9 @@ Func IsGUICheckedForSpell($Spell, $Mode) Case $eSkSpell $sSpell = "Skeleton" $aVal = $g_abAttackUseSkeletonSpell + Case $eBtSpell + $sSpell = "Bat" + $aVal = $g_abAttackUseBatSpell EndSwitch If IsArray($aVal) Then Return $aVal[$Mode] @@ -732,7 +735,7 @@ EndFunc ;==>IsElixirTroop Func IsDarkTroop($Troop) Local $iIndex = TroopIndexLookup($Troop, "IsDarkTroop") - If $iIndex >= $eMini And $iIndex <= $eBowl Then Return True + If $iIndex >= $eMini And $iIndex <= $eIceG Then Return True Return False EndFunc ;==>IsDarkTroop @@ -744,13 +747,13 @@ EndFunc ;==>IsElixirSpell Func IsDarkSpell($Spell) Local $iIndex = TroopIndexLookup($Spell, "IsDarkSpell") - If $iIndex >= $ePSpell And $iIndex <= $eSkSpell Then Return True + If $iIndex >= $ePSpell And $iIndex <= $eBtSpell Then Return True Return False EndFunc ;==>IsDarkSpell Func IsSpellToBrew($sName) Local $iIndex = TroopIndexLookup($sName, "IsSpellToBrew") - If $iIndex >= $eLSpell And $iIndex <= $eSkSpell Then Return True + If $iIndex >= $eLSpell And $iIndex <= $eBtSpell Then Return True Return False EndFunc ;==>IsSpellToBrew @@ -760,11 +763,11 @@ Func CalcNeededSpace($Troop, $Quantity) Local $iIndex = TroopIndexLookup($Troop, "CalcNeededSpace") If $iIndex = -1 Then Return -1 - If $iIndex >= $eBarb And $iIndex <= $eBowl Then + If $iIndex >= $eBarb And $iIndex <= $eIceG Then Return Number($g_aiTroopSpace[$iIndex] * $Quantity) EndIf - If $iIndex >= $eLSpell And $iIndex <= $eSkSpell Then + If $iIndex >= $eLSpell And $iIndex <= $eBtSpell Then Return Number($g_aiSpellSpace[$iIndex - $eLSpell] * $Quantity) EndIf @@ -841,12 +844,13 @@ Func RemoveExtraTroops($toRemove) EndIf EndIf - If Not _ColorCheck(_GetPixelColor(806, 516, True), Hex(0xCEEF76, 6), 25) Then ; If no 'Edit Army' Button found in army tab to edit troops + If Not _CheckPixel($aButtonEditArmy, True) Then ; If no 'Edit Army' Button found in army tab to edit troops SetLog("Cannot find/verify 'Edit Army' Button in Army tab", $COLOR_WARNING) Return False ; Exit function EndIf - Click(Random(725, 825, 1), Random(507, 545, 1)) ; Click on Edit Army Button + ClickP($aButtonEditArmy, 1) ; Click Edit Army Button + If _Sleep(500) Then Return ; Loop through troops needed to get removed $CounterToRemove = 0 @@ -874,34 +878,31 @@ Func RemoveExtraTroops($toRemove) Next EndIf - If _Sleep(150) Then Return - - If Not _ColorCheck(_GetPixelColor(806, 567, True), Hex(0xCEEF76, 6), 25) Then ; If no 'Okay' button found in army tab to save changes + If _Sleep(500) Then Return + If Not _CheckPixel($aButtonRemoveTroopsOK1, True) Then; If no 'Okay' button found in army tab to save changes SetLog("Cannot find/verify 'Okay' Button in Army tab", $COLOR_WARNING) ClickP($aAway, 2, 0, "#0346") ; Click Away, Necessary! due to possible errors/changes If _Sleep(400) Then OpenArmyOverview(True, "RemoveExtraTroops()") ; Open Army Window AGAIN Return False ; Exit Function EndIf - If _Sleep(700) Then Return If Not $g_bRunState Then Return - Click(Random(730, 815, 1), Random(558, 589, 1)) ; Click on 'Okay' button to save changes + ClickP($aButtonRemoveTroopsOK1, 1) ; Click on 'Okay' button to save changes If _Sleep(1200) Then Return - - If Not _ColorCheck(_GetPixelColor(508, 428, True), Hex(0xFFFFFF, 6), 30) Then ; If no 'Okay' button found to verify that we accept the changes + If Not _CheckPixel($aButtonRemoveTroopsOK2, True) Then; If no 'Okay' button found to verify that we accept the changes SetLog("Cannot find/verify 'Okay #2' Button in Army tab", $COLOR_WARNING) ClickP($aAway, 2, 0, "#0346") ;Click Away Return False ; Exit function EndIf - Click(Random(445, 580, 1), Random(402, 455, 1)) ; Click on 'Okay' button to Save changes... Last button + ClickP($aButtonRemoveTroopsOK2, 1) ; Click on 'Okay' button to Save changes... Last button SetLog("All Extra troops removed", $COLOR_SUCCESS) If _Sleep(200) Then Return If $iResult = 0 Then $iResult = 1 Else ; If No extra troop found - SetLog("No extra troop to remove, Great", $COLOR_SUCCESS) + SetLog("No extra troop to remove, great", $COLOR_SUCCESS) $iResult = 3 EndIf @@ -1061,8 +1062,8 @@ EndFunc ;==>GetSlotRemoveBtnPosition Func GetSlotNumber($bSpells = False) Select Case $bSpells = False - Local Const $Orders[20] = [$eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, _ - $eMini, $eHogs, $eValk, $eGole, $eWitc, $eLava, $eBowl] ; Set Order of troop display in Army Tab + Local Const $Orders = [$eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, _ + $eMini, $eHogs, $eValk, $eGole, $eWitc, $eLava, $eBowl, $eIceG] ; Set Order of troop display in Army Tab Local $allCurTroops[UBound($Orders)] @@ -1084,7 +1085,7 @@ Func GetSlotNumber($bSpells = False) Case $bSpells = True ; Set Order of Spells display in Army Tab - Local Const $SpellsOrders[10] = [$eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] + Local Const $SpellsOrders = [$eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] Local $allCurSpells[UBound($SpellsOrders)] @@ -1311,8 +1312,14 @@ Func CheckQueueTroops($bGetQuantity = True, $bSetLog = True, $x = 839, $bQtyWSlo For $i = 0 To (UBound($aQuantities) - 1) $aQuantities[$i][0] = $aSearchResult[$i][0] $aQuantities[$i][1] = $aSearchResult[$i][3] - If $bSetLog Then SetLog(" - " & $g_asTroopNames[TroopIndexLookup($aQuantities[$i][0], "CheckQueueTroops")] & ": " & $aQuantities[$i][1] & "x", $COLOR_SUCCESS) - $aQueueTroop[TroopIndexLookup($aQuantities[$i][0])] += $aQuantities[$i][1] + Local $iTroopIndex = TroopIndexLookup($aQuantities[$i][0]) + If $iTroopIndex >= 0 And $iTroopIndex < $eTroopCount Then + If $bSetLog Then SetLog(" - " & $g_asTroopNames[TroopIndexLookup($aQuantities[$i][0], "CheckQueueTroops")] & ": " & $aQuantities[$i][1] & "x", $COLOR_SUCCESS) + $aQueueTroop[$iTroopIndex] += $aQuantities[$i][1] + Else + ; TODO check what to do with others + SetDebugLog("Unsupport troop index: " & $iTroopIndex) + EndIf Next If $bQtyWSlot Then Return $aQuantities Return $aQueueTroop @@ -1322,7 +1329,7 @@ Func CheckQueueTroops($bGetQuantity = True, $bSetLog = True, $x = 839, $bQtyWSlo Return $aResult EndFunc ;==>CheckQueueTroops -Func CheckQueueSpells($bGetQuantity = True, $bSetLog = True, $x = 835, $bQtyWSlot = False) +Func CheckQueueSpells($bGetQuantity = True, $bSetLog = True, $x = 839, $bQtyWSlot = False) Local $aResult[1] = [""], $sImageDir = "trainwindow-SpellsInQueue-bundle" ;$hTimer = TimerInit() If $bSetLog Then SetLog("Checking Spells Queue...", $COLOR_INFO) @@ -1729,7 +1736,11 @@ Func MakingDonatedTroops($sType = "All") If $g_aiDonateSiegeMachines[$iSiegeIndex] > 0 Then Local $aCheckIsAvailableSiege[4] = [58, 556, 0x47717E, 10] Local $aCheckIsAvailableSiege1[4] = [229, 556, 0x47717E, 10] - Local $checkPixel = $iSiegeIndex = $eSiegeWallWrecker ? $aCheckIsAvailableSiege : $aCheckIsAvailableSiege1 + Local $aCheckIsAvailableSiege2[4] = [400, 556, 0x47717E, 10] + Local $checkPixel + If $iSiegeIndex = $eSiegeWallWrecker Then $checkPixel = $aCheckIsAvailableSiege + If $iSiegeIndex = $eSiegeBattleBlimp Then $checkPixel = $aCheckIsAvailableSiege1 + If $iSiegeIndex = $eSiegeStoneSlammer Then $checkPixel = $aCheckIsAvailableSiege2 Local $HowMany = $g_aiDonateSiegeMachines[$iSiegeIndex] If _CheckPixel($checkPixel, True, Default, $g_asSiegeMachineNames[$iSiegeIndex]) Then ;PureClick($pos[0], $pos[1], $howMuch, 500) @@ -1937,9 +1948,9 @@ Func CheckValuesCost($Troop = "Arch", $troopQuantity = 1, $DebugLogs = 0) Local $iTroopIndex = TroopIndexLookup($Troop, "CheckValuesCost") ; Return the Cost of Troops or Spells - If $iTroopIndex >= $eBarb And $iTroopIndex <= $eBowl Then + If $iTroopIndex >= $eBarb And $iTroopIndex <= $eIceG Then $troopCost = $g_aiTroopCostPerLevel[$iTroopIndex][$g_aiTrainArmyTroopLevel[$iTroopIndex]] - ElseIf $iTroopIndex >= $eLSpell And $iTroopIndex <= $eSkSpell Then + ElseIf $iTroopIndex >= $eLSpell And $iTroopIndex <= $eBtSpell Then $troopCost = $g_aiSpellCostPerLevel[$iTroopIndex - $eLSpell][$g_aiTrainArmySpellLevel[$iTroopIndex - $eLSpell]] EndIf diff --git a/COCBot/functions/CreateArmy/getArmyCCSpells/getArmyCCSpell.au3 b/COCBot/functions/CreateArmy/getArmyCCSpells/getArmyCCSpell.au3 index 74001e13c..5dc322c58 100644 --- a/COCBot/functions/CreateArmy/getArmyCCSpells/getArmyCCSpell.au3 +++ b/COCBot/functions/CreateArmy/getArmyCCSpells/getArmyCCSpell.au3 @@ -38,7 +38,7 @@ Func getArmyCCSpells($bOpenArmyWindow = False, $bCloseArmyWindow = False, $bChec Local $aTempSpellArray, $aSpells, $aSpellCoords Local $sSpellName = "" Local $iSpellIndex = -1 - Local $aCurrentCCSpellsEmpty[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ; Local Copy to reset Spells Array + Local $aCurrentCCSpellsEmpty[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ; Local Copy to reset Spells Array $g_aiCurrentCCSpells = $aCurrentCCSpellsEmpty ; Reset Current Spells Array diff --git a/COCBot/functions/CreateArmy/getArmyCCTroops/getArmyCCTroops.au3 b/COCBot/functions/CreateArmy/getArmyCCTroops/getArmyCCTroops.au3 index a1ebabca6..fa055558c 100644 --- a/COCBot/functions/CreateArmy/getArmyCCTroops/getArmyCCTroops.au3 +++ b/COCBot/functions/CreateArmy/getArmyCCTroops/getArmyCCTroops.au3 @@ -38,7 +38,7 @@ Func getArmyCCTroops($bOpenArmyWindow = False, $bCloseArmyWindow = False, $bChec Local $aTempTroopArray,$aTroops ,$aTroopCoords Local $sTroopName = "" Local $iTroopIndex = -1 - Local $aCurrentCCTroopsEmpty[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ; Local Copy to reset Troops Array + Local $aCurrentCCTroopsEmpty[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ; Local Copy to reset Troops Array $g_aiCurrentCCTroops = $aCurrentCCTroopsEmpty ; Reset Current Troops Array If UBound($aCurrentCCTroops, 1) >= 1 Then diff --git a/COCBot/functions/CreateArmy/getArmySpells/getArmySpellCount.au3 b/COCBot/functions/CreateArmy/getArmySpells/getArmySpellCount.au3 index 1c41247e7..08fad8c60 100644 --- a/COCBot/functions/CreateArmy/getArmySpells/getArmySpellCount.au3 +++ b/COCBot/functions/CreateArmy/getArmySpells/getArmySpellCount.au3 @@ -34,7 +34,7 @@ EndFunc ;==>GetCurTotalSpell Func GetCurTotalDarkSpell() Local $iCount = 0 - For $i = $eSpellPoison To $eSpellSkeleton - 1 + For $i = $eSpellPoison To $eSpellBat - 1 $iCount += $g_aiCurrentSpells[$i] Next @@ -49,7 +49,7 @@ EndFunc ;==>GetCurTotalDarkSpell Func GetCurTotalSpells() Local $aCount[2] - For $i = $eSpellLightning To $eSpellSkeleton - 1 + For $i = $eSpellLightning To $eSpellBat - 1 $aCount[0] += $g_aiCurrentSpells[$i] If $g_aiCurrentSpells[$i] >= 1 Then $aCount[1] += 1 Next diff --git a/COCBot/functions/CreateArmy/getArmySpells/getArmySpells.au3 b/COCBot/functions/CreateArmy/getArmySpells/getArmySpells.au3 index 74cf57f82..e3c81fe54 100644 --- a/COCBot/functions/CreateArmy/getArmySpells/getArmySpells.au3 +++ b/COCBot/functions/CreateArmy/getArmySpells/getArmySpells.au3 @@ -36,7 +36,7 @@ Func getArmySpells($bOpenArmyWindow = False, $bCloseArmyWindow = False, $bCheckW Local $aTempSpellArray, $aSpellCoords Local $sSpellName = "" Local $iSpellIndex = -1 - Local $aCurrentSpellsEmpty[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ; Local Copy to reset Spells Array + Local $aCurrentSpellsEmpty[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ; Local Copy to reset Spells Array Local $aCurrentSpellsLog[$eSpellCount][3] ; [0] = Name [1] = Quantities [3] Xaxis $g_aiCurrentSpells = $aCurrentSpellsEmpty ; Reset Current Spells Array diff --git a/COCBot/functions/CreateArmy/getArmyTroops/getArmyTroops.au3 b/COCBot/functions/CreateArmy/getArmyTroops/getArmyTroops.au3 index c6937fc34..bca70c738 100644 --- a/COCBot/functions/CreateArmy/getArmyTroops/getArmyTroops.au3 +++ b/COCBot/functions/CreateArmy/getArmyTroops/getArmyTroops.au3 @@ -46,7 +46,7 @@ Func getArmyTroops($bOpenArmyWindow = False, $bCloseArmyWindow = False, $bCheckW Local $aTempTroopArray, $aTroopCoords Local $sTroopName = "" Local $iTroopIndex = -1, $iDropTrophyIndex = -1 - Local $aCurrentTroopsEmpty[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ; Local Copy to reset Troops Array + Local $aCurrentTroopsEmpty[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ; Local Copy to reset Troops Array Local $aTroopsForTropyDropEmpty[8][2] = [["Barb", 0], ["Arch", 0], ["Giant", 0], ["Wall", 0], ["Gobl", 0], ["Mini", 0], ["Ball", 0], ["Wiza", 0]] ; Local Copy to reset Troop Drop Trophy Array Local $aCurrentTroopsLog[$eTroopCount][3] ; [0] = Name [1] = Quantities [3] Xaxis diff --git a/COCBot/functions/Image Search/checkDeadBase.au3 b/COCBot/functions/Image Search/checkDeadBase.au3 index 281effda4..1d8da31dc 100644 --- a/COCBot/functions/Image Search/checkDeadBase.au3 +++ b/COCBot/functions/Image Search/checkDeadBase.au3 @@ -101,7 +101,7 @@ Func checkDeadBaseNew() Local $anyFillLevel[2] = [False, False] ; 50% and 100% If $g_bDebugSetlog Then SetDebugLog("Checking Deadbase With IMGLOC START", $COLOR_WARNING) - For $i = 6 To 12 + For $i = 6 To 13 If $g_abCollectorLevelEnabled[$i] Then If $minCollectorLevel = 0 Then $minCollectorLevel = $i If $i > $maxCollectorLevel Then $maxCollectorLevel = $i @@ -246,7 +246,7 @@ Func checkDeadBaseSuperNew($bForceCapture = True, $sFillDirectory = @ScriptDir & Local $anyFillLevel[2] = [False, False] ; 50% and 100% If $g_bDebugSetlog Then SetDebugLog("Checking Deadbase With IMGLOC START (super new)", $COLOR_WARNING) - For $i = 6 To 12 + For $i = 6 To 13 If $g_abCollectorLevelEnabled[$i] Then If $minCollectorLevel = 0 Then $minCollectorLevel = $i If $i > $maxCollectorLevel Then $maxCollectorLevel = $i diff --git a/COCBot/functions/Image Search/imglocAttackBar.au3 b/COCBot/functions/Image Search/imglocAttackBar.au3 index 5f80134a8..c49279d17 100644 --- a/COCBot/functions/Image Search/imglocAttackBar.au3 +++ b/COCBot/functions/Image Search/imglocAttackBar.au3 @@ -14,30 +14,26 @@ ; =============================================================================================================================== Func AttackBarCheck($bRemaining = False, $pMatchMode = $DB, $bDebug = False) - Local $iX1 = 0, $iY1 = 659, $iX2 = 835, $iY2 = 698 + Local $iX1 = 0, $iY1 = 635, $iX2 = 835, $iY2 = 698 Static Local $bCheckSlot12 = False - Static Local $bCheckSlotwHero = False - If Not $bRemaining Then - $bCheckSlot12 = False - $bCheckSlotwHero = False - EndIf + If Not $bRemaining Then $bCheckSlot12 = False - If $g_bDraggedAttackBar Then DragAttackBar($g_iTotalAttackSlot, True ) + If $g_bDraggedAttackBar Then DragAttackBar($g_iTotalAttackSlot, True) ; Reset to level one the Spells level $g_iLSpellLevel = 1 $g_iESpellLevel = 1 ; Setup arrays, including default return values for $return - Local $aResult[1][6], $aCoordArray[1][2], $aCoords, $aCoordsSplit, $aValue + Local $aResult[1][6], $aCoordArray[1][2], $aCoords, $aCoordsSplit, $aValue, $sName, $aSlotAmountX[0][2] If Not $g_bRunState Then Return ; Capture the screen for comparison _CaptureRegion2($iX1, $iY1, $iX2, $iY2) - Local $sFinalResult = "" , $iAttackbarStart = __TimerInit() + Local $sFinalResult = "", $iAttackbarStart = __TimerInit() ; Perform the search Local $sAttBarRes = DllCallMyBot("SearchMultipleTilesBetweenLevels", "handle", $g_hHBitmap2, "str", $g_sImgAttackBarDir, "str", "FV", "Int", 0, "str", "FV", "Int", 0, "Int", 1000) @@ -59,106 +55,97 @@ Func AttackBarCheck($bRemaining = False, $pMatchMode = $DB, $bDebug = False) For $i = 0 To UBound($aKeys) - 1 If Not $g_bRunState Then Return ; Get the property values - $aResult[$i + $iResultAddDup][0] = RetrieveImglocProperty($aKeys[$i], "objectname") + $sName = RetrieveImglocProperty($aKeys[$i], "objectname") ; Get the coords property $aValue = RetrieveImglocProperty($aKeys[$i], "objectpoints") $aCoords = decodeMultipleCoords($aValue, 50) ; dedup coords by x on 50 pixel - $aCoordsSplit = $aCoords[0] - If UBound($aCoordsSplit) = 2 Then - ; Store the coords into a two dimensional array - $aCoordArray[0][0] = $aCoordsSplit[0] ; X coord. - $aCoordArray[0][1] = $aCoordsSplit[1] ; Y coord. - Else - $aCoordArray[0][0] = -1 - $aCoordArray[0][1] = -1 - EndIf - If $g_bDebugSetlog Then SetDebugLog($aResult[$i + $iResultAddDup][0] & " | $aCoordArray: " & $aCoordArray[0][0] & "-" & $aCoordArray[0][1]) - ; Store the coords array as a sub-array - $aResult[$i + $iResultAddDup][1] = Number($aCoordArray[0][0]) - $aResult[$i + $iResultAddDup][2] = Number($aCoordArray[0][1]) - ;If a Clan Castle Spell exists - Local $iMultipleCoords = UBound($aCoords) - ; Check if two Clan Castle Spells exist with different levels - If $iMultipleCoords > 1 And StringInStr($aResult[$i + $iResultAddDup][0], "Spell") <> 0 Then - If $g_bDebugSetlog Then SetDebugLog($aResult[$i + $iResultAddDup][0] & " detected " & $iMultipleCoords & " times!") - For $j = 1 To $iMultipleCoords - 1 - Local $aCoordsSplit2 = $aCoords[$j] - If UBound($aCoordsSplit2) = 2 Then - ; add slot - $iResultAddDup += 1 - ReDim $aResult[UBound($aKeys) + $iResultAddDup][6] - $aResult[$i + $iResultAddDup][0] = $aResult[$i + $iResultAddDup - 1][0] ; same objectname - $aResult[$i + $iResultAddDup][1] = $aCoordsSplit2[0] - $aResult[$i + $iResultAddDup][2] = $aCoordsSplit2[1] - If $g_bDebugSetlog Then SetDebugLog($aResult[$i + $iResultAddDup][0] & " | $aCoordArray: " & $aResult[$i + $iResultAddDup][1] & "-" & $aResult[$i + $iResultAddDup][2]) - Else - ; don't invalidate anything - ;$aCoordArray[0][0] = -1 - ;$aCoordArray[0][1] = -1 - EndIf + If StringRegExp($sName, "(AmountX)", 0) Then + For $j = 0 To UBound($aCoords) - 1 + $aCoordsSplit = $aCoords[$j] + _ArrayAdd($aSlotAmountX, $aCoordsSplit[0] & "|" & $aCoordsSplit[1], 0, "|", @CRLF, $ARRAYFILL_FORCE_NUMBER) Next + Else + + $aResult[$i + $iResultAddDup][0] = $sName + $aCoordsSplit = $aCoords[0] + If StringRegExp($sName, "(King)|(Warden)|(Queen)", 0) Then + _ArrayAdd($aSlotAmountX, $aCoordsSplit[0] & "|" & $aCoordsSplit[1], 0, "|", @CRLF, $ARRAYFILL_FORCE_NUMBER) + EndIf + If UBound($aCoordsSplit) = 2 Then + ; Store the coords into a two dimensional array + $aCoordArray[0][0] = $aCoordsSplit[0] ; X coord. + $aCoordArray[0][1] = $aCoordsSplit[1] ; Y coord. + Else + $aCoordArray[0][0] = -1 + $aCoordArray[0][1] = -1 + EndIf + If $g_bDebugSetlog Then SetDebugLog($aResult[$i + $iResultAddDup][0] & " | $aCoordArray: " & $aCoordArray[0][0] & "-" & $aCoordArray[0][1]) + ; Store the coords array as a sub-array + $aResult[$i + $iResultAddDup][1] = Number($aCoordArray[0][0]) + $aResult[$i + $iResultAddDup][2] = Number($aCoordArray[0][1]) + ;If a Clan Castle Spell exists + Local $iMultipleCoords = UBound($aCoords) + ; Check if two Clan Castle Spells exist with different levels + If $iMultipleCoords > 1 And StringInStr($aResult[$i + $iResultAddDup][0], "Spell") <> 0 Then + If $g_bDebugSetlog Then SetDebugLog($aResult[$i + $iResultAddDup][0] & " detected " & $iMultipleCoords & " times!") + For $j = 1 To $iMultipleCoords - 1 + Local $aCoordsSplit2 = $aCoords[$j] + If UBound($aCoordsSplit2) = 2 Then + ; add slot + $iResultAddDup += 1 + ReDim $aResult[UBound($aKeys) + $iResultAddDup][6] + $aResult[$i + $iResultAddDup][0] = $aResult[$i + $iResultAddDup - 1][0] ; same objectname + $aResult[$i + $iResultAddDup][1] = $aCoordsSplit2[0] + $aResult[$i + $iResultAddDup][2] = $aCoordsSplit2[1] + If $g_bDebugSetlog Then SetDebugLog($aResult[$i + $iResultAddDup][0] & " | $aCoordArray: " & $aResult[$i + $iResultAddDup][1] & "-" & $aResult[$i + $iResultAddDup][2]) + Else + ; don't invalidate anything + ;$aCoordArray[0][0] = -1 + ;$aCoordArray[0][1] = -1 + EndIf + Next + EndIf EndIf Next _ArraySort($aResult, 0, 0, 0, 1) ; Sort By X position , will be the Slot 0 to $i + _ArraySort($aSlotAmountX) - If $g_bDebugSetlog Then SetDebugLog("Attackbar detection completed in " & StringFormat("%.2f", _Timer_Diff($iAttackbarStart))& " ms") - $iAttackbarStart = __TimerInit() + If $g_bDebugSetlog Then SetDebugLog("Attackbar detection completed in " & StringFormat("%.2f", _Timer_Diff($iAttackbarStart)) & " ms") + $iAttackbarStart = __TimerInit() - If Not $bRemaining Then - $bCheckSlot12 = _ColorCheck(_GetPixelColor(17, 643, True), Hex(0x478AC6, 6), 15) Or _ ; Slot Filled / Background Blue / More than 11 Slots - _ColorCheck(_GetPixelColor(17, 643, True), Hex(0x434343, 6), 10) ; Slot deployed / Gray / More than 11 Slots - - If $g_bDebugSetlog Then - SetDebugLog(" Slot > 12 _ColorCheck 0x478AC6 at (17," & 643 & "): " & $bCheckSlot12, $COLOR_DEBUG) ;Debug - Local $CheckSlot12Color = _GetPixelColor(17, 643, $g_bCapturePixel) - SetDebugLog(" Slot > 12 _GetPixelColor(17," & 643 & "): " & $CheckSlot12Color, $COLOR_DEBUG) ;Debug - EndIf - - For $i = 0 To UBound($aResult) - 1 - If $aResult[$i][0] = "King" Or $aResult[$i][0] = "Queen" Or $aResult[$i][0] = "Warden" Then - $bCheckSlotwHero = True - EndIf - Next - EndIf + If Not $bRemaining And _CheckPixel($a12OrMoreSlots, True) Then $bCheckSlot12 = True - Local $iSlotCompensation = -8 + Local $iSPellLevelOCR = -8 For $i = 0 To UBound($aResult) - 1 Local $aTempSlot If $aResult[$i][1] > 0 Then If $g_bDebugSetlog Then SetDebugLog("SLOT : " & $i, $COLOR_DEBUG) ;Debug If $g_bDebugSetlog Then SetDebugLog("Detection : " & $aResult[$i][0] & "|x" & $aResult[$i][1] & "|y" & $aResult[$i][2], $COLOR_DEBUG) ;Debug - $aTempSlot = SlotAttack(Number($aResult[$i][1]), $bCheckSlot12, $bCheckSlotwHero) + $aTempSlot = SlotAttack(Number($aResult[$i][1]), $aSlotAmountX) + ; If $g_bRunState = False Then Return ; Stop function If _Sleep(20) Then Return ; Pause function - If UBound($aTempSlot) = 2 Then - If $g_bDebugSetlog Then SetDebugLog("OCR : " & $aTempSlot[0] & "|SLOT: " & $aTempSlot[1], $COLOR_DEBUG) ;Debug - If $bCheckSlotwHero Then $iSlotCompensation = 10 - If $aResult[$i][0] = "Castle" Or $aResult[$i][0] = "King" Or $aResult[$i][0] = "Queen" Or $aResult[$i][0] = "Warden" Or $aResult[$i][0] = "WallW" Or $aResult[$i][0] = "BattleB" Then + If UBound($aTempSlot) = 3 Then + If $g_bDebugSetlog Then SetDebugLog("OCR : " & $aTempSlot[0] & "|SLOT: " & $aTempSlot[2], $COLOR_DEBUG) ;Debug + If $aResult[$i][0] = "Castle" Or $aResult[$i][0] = "King" Or $aResult[$i][0] = "Queen" Or $aResult[$i][0] = "Warden" Or $aResult[$i][0] = "WallW" Or $aResult[$i][0] = "BattleB" Or $aResult[$i][0] = "StoneS" Then $aResult[$i][3] = 1 - $aResult[$i][4] = $aTempSlot[1] + $aResult[$i][4] = $aTempSlot[2] Else - ; In case of Spells + Heroes - ; June 2018 Update - If StringInStr($aResult[$i][0], "Spell") <> 0 And $bCheckSlotwHero Then - $aTempSlot[0] = $aTempSlot[0] + 13 - $iSlotCompensation = -6 - EndIf - - $aResult[$i][3] = Number(getTroopCountBig(Number($aTempSlot[0]), 633)) ; For big numbers when the troop is selected - $aResult[$i][4] = $aTempSlot[1] + $aResult[$i][3] = Number(getTroopCountBig(Number($aTempSlot[0] + $iX1), Number($aTempSlot[1] + $iY1) - 2)) ; For big numbers when the troop is selected + $aResult[$i][4] = $aTempSlot[2] If $aResult[$i][3] = "" Or $aResult[$i][3] = 0 Then - $aResult[$i][3] = Number(getTroopCountSmall(Number($aTempSlot[0]), 640)) ; For small numbers when the troop isn't selected - $aResult[$i][4] = $aTempSlot[1] + $aResult[$i][3] = Number(getTroopCountSmall(Number($aTempSlot[0] + $iX1), Number($aTempSlot[1] + $iY1))) ; For small numbers when the troop isn't selected + $aResult[$i][4] = $aTempSlot[2] EndIf If StringInStr($aResult[$i][0], "ESpell") <> 0 And $g_bSmartZapEnable Then - $aResult[$i][5] = getTroopsSpellsLevel(Number($aTempSlot[0]) + $iSlotCompensation, 704) + $aResult[$i][5] = getTroopsSpellsLevel(Number($aTempSlot[0] + $iX1) + $iSPellLevelOCR, 704) If $aResult[$i][5] <> "" Then $g_iESpellLevel = $aResult[$i][5] ; If they aren't empty will store the correct level, or will be level 1 , just in case If $g_bDebugSmartZap Then SetLog("Earthquake Spell detected with level: " & $aResult[$i][5], $COLOR_DEBUG) EndIf If StringInStr($aResult[$i][0], "LSpell") <> 0 And $g_bSmartZapEnable Then - $aResult[$i][5] = getTroopsSpellsLevel(Number($aTempSlot[0]) + $iSlotCompensation, 704) + $aResult[$i][5] = getTroopsSpellsLevel(Number($aTempSlot[0] + $iX1) + $iSPellLevelOCR, 704) If $aResult[$i][5] <> "" Then $g_iLSpellLevel = $aResult[$i][5] ; If they aren't empty will store the correct level, or will be level 1 , just in case If $g_bDebugSmartZap Then SetLog("Lightning Spell detected with level: " & $aResult[$i][5], $COLOR_DEBUG) EndIf @@ -169,17 +156,17 @@ Func AttackBarCheck($bRemaining = False, $pMatchMode = $DB, $bDebug = False) $aResult[$i][3] = -1 $aResult[$i][4] = -1 EndIf - $sFinalResult &= "|" & TroopIndexLookup($aResult[$i][0]) & "#" & $aResult[$i][4] & "#" & $aResult[$i][3] + $sFinalResult &= "|" & TroopIndexLookup($aResult[$i][0]) & "#" & $aResult[$i][4] & "#" & $aResult[$i][3] & "#" & $aResult[$i][1] ; Name#Index#Amount#x-coord EndIf Next EndIf EndIf - If $g_bDebugSetlog Then SetDebugLog("Attackbar OCR completed in " & StringFormat("%.2f", __TimerDiff($iAttackbarStart))& " ms") + If $g_bDebugSetlog Then SetDebugLog("Attackbar OCR completed in " & StringFormat("%.2f", __TimerDiff($iAttackbarStart)) & " ms") If $bDebug Then - Local $iX1 = 0, $iY1 = 659, $iX2 = 853, $iY2 = 698 + Local $iX1 = 0, $iY1 = 635, $iX2 = 853, $iY2 = 698 _CaptureRegion2($iX1, $iY1, $iX2, $iY2) Local $sSubDir = $g_sProfileTempDebugPath & "AttackBarDetection" @@ -203,7 +190,7 @@ Func AttackBarCheck($bRemaining = False, $pMatchMode = $DB, $bDebug = False) EndIf ; Drag left & checking extended troops from Slot11+ ONLY if not a smart attack - If ($pMatchMode <= $LB And $bCheckSlot12 And UBound($aResult)> 1 And $g_aiAttackAlgorithm[$pMatchMode] <> 3) or $bDebug Then + If ($pMatchMode <= $LB And $bCheckSlot12 And UBound($aResult) > 1 And $g_aiAttackAlgorithm[$pMatchMode] <> 3) Or $bDebug Then SetDebuglog("$sFinalResult 1st page = " & $sFinalResult) Local $aLastTroop1stPage[2] $aLastTroop1stPage[0] = $aResult[UBound($aResult) - 1][0] ; Name of troop at last slot 1st page @@ -216,43 +203,44 @@ Func AttackBarCheck($bRemaining = False, $pMatchMode = $DB, $bDebug = False) $sFinalResult = StringTrimLeft($sFinalResult, 1) - ; Will return [0] = Name , [1] = X , [2] = Y , [3] = Quantities , [4] = Slot Number - ; Old style is: "|" & Troopa Number & "#" & Slot Number & "#" & Quantities Return $sFinalResult EndFunc ;==>AttackBarCheck -Func SlotAttack($PosX, $CheckSlot12, $CheckSlotwHero) +Func SlotAttack($iPosX, $aSlots) + Local $aTempSlot[3] = [0, 0, 0] + Local $iClosest = SearchNearest($aSlots, $iPosX) + Local $bLast = False + If $iClosest = _ArrayMaxIndex($aSlots, 0) And $aSlots[$iClosest][0] >= ($g_iGAME_WIDTH - 60) Then $bLast = True - Local $Slottemp[2] = [0, 0] + If $iClosest >= 0 And $iClosest < UBound($aSlots) Then + $aTempSlot[0] = $bLast ? $g_iGAME_WIDTH - 53 : $aSlots[$iClosest][0] - 15 ; X Coord | Last Item to get OCRd needs to be compensated because it could happen that the Capture Rectangle gets out of boundary and image gets not usable + $aTempSlot[1] = $aSlots[$iClosest][1] - 7 ; Y Coord + $aTempSlot[2] = $iClosest + EndIf - For $i = 0 To 12 - If $PosX >= 32 + ($i * 73) And $PosX < 105 + ($i * 73) Then - $Slottemp[0] = 37 + ($i * 73) - $Slottemp[1] = $i - If $CheckSlot12 = True Then - $Slottemp[0] -= 13 - ElseIf $CheckSlotwHero = False Then - $Slottemp[0] += 10 - EndIf - If $g_bDebugSetlog Then SetDebugLog("Slot: " & $i & " | $x > " & 25 + ($i * 73) & " and $x < " & 98 + ($i * 73)) - If $g_bDebugSetlog Then SetDebugLog("Slot: " & $i & " | $PosX: " & $PosX & " | OCR x position: " & $Slottemp[0] & " | OCR Slot: " & $Slottemp[1]) - Return $Slottemp + Return $aTempSlot +EndFunc ;==>SlotAttack + +Func SearchNearest($aArray, $iNumber) + Local $iVal, $iValOld = _ArrayMax($aArray), $iReturn + For $i = 0 To UBound($aArray) - 1 + $iVal = Abs($aArray[$i][0] - $iNumber) + If $iValOld >= $iVal Then + $iValOld = $iVal + $iReturn = $i EndIf - If $g_bRunState = False Then Return Next - - Return $Slottemp - -EndFunc ;==>SlotAttack + Return $iReturn +EndFunc ;==>SearchNearest Func ExtendedAttackBarCheck($aLastTroop1stPage, $bRemaining) - Local $iX1 = 0, $iY1 = 659, $iX2 = 853, $iY2 = 698 + Local $iX1 = 0, $iY1 = 635, $iX2 = 835, $iY2 = 698 Static $bCheckSlotwHero2 = False ; Setup arrays, including default return values for $return - Local $aResult[1][6], $aCoordArray[1][2], $aCoords, $aCoordsSplit, $aValue + Local $aResult[1][6], $aCoordArray[1][2], $aCoords, $aCoordsSplit, $aValue, $sName, $aSlotAmountX[0][2] If Not $g_bRunState Then Return ; Capture the screen for comparison @@ -261,10 +249,9 @@ Func ExtendedAttackBarCheck($aLastTroop1stPage, $bRemaining) Local $sFinalResult = "" ; Perform the search Local $sAttBarRes = DllCallMyBot("SearchMultipleTilesBetweenLevels", "handle", $g_hHBitmap2, "str", $g_sImgAttackBarDir, "str", "FV", "Int", 0, "str", "FV", "Int", 0, "Int", 1000) - If IsArray($sAttBarRes) Then If $sAttBarRes[0] = "0" Or $sAttBarRes[0] = "" Then - SetLog("Imgloc|AttackBarCheck not found!", $COLOR_RED) + SetLog("Imgloc|AttackBarCheck not found!", $COLOR_ERROR) ElseIf StringLeft($sAttBarRes[0], 2) = "-1" Then SetLog("DLL Error: " & $sAttBarRes[0] & ", AttackBarCheck", $COLOR_RED) Else @@ -279,58 +266,65 @@ Func ExtendedAttackBarCheck($aLastTroop1stPage, $bRemaining) For $i = 0 To UBound($aKeys) - 1 If Not $g_bRunState Then Return ; Get the property values - $aResult[$i + $iResultAddDup][0] = RetrieveImglocProperty($aKeys[$i], "objectname") + $sName = RetrieveImglocProperty($aKeys[$i], "objectname") ; Get the coords property $aValue = RetrieveImglocProperty($aKeys[$i], "objectpoints") $aCoords = decodeMultipleCoords($aValue, 50) ; dedup coords by x on 50 pixel - $aCoordsSplit = $aCoords[0] - If UBound($aCoordsSplit) = 2 Then - ; Store the coords into a two dimensional array - $aCoordArray[0][0] = $aCoordsSplit[0] ; X coord. - $aCoordArray[0][1] = $aCoordsSplit[1] ; Y coord. - Else - $aCoordArray[0][0] = -1 - $aCoordArray[0][1] = -1 - EndIf - If $g_bDebugSetlog Then SetDebugLog($aResult[$i + $iResultAddDup][0] & " | $aCoordArray: " & $aCoordArray[0][0] & "-" & $aCoordArray[0][1]) - ; Store the coords array as a sub-array - $aResult[$i + $iResultAddDup][1] = Number($aCoordArray[0][0]) - $aResult[$i + $iResultAddDup][2] = Number($aCoordArray[0][1]) - ;If a Clan Castle Spell exists - Local $iMultipleCoords = UBound($aCoords) - If $iMultipleCoords > 1 And StringInStr($aResult[$i + $iResultAddDup][0], "Spell") <> 0 Then - If $g_bDebugSetlog Then SetDebugLog($aResult[$i + $iResultAddDup][0] & " detected " & $iMultipleCoords & " times") - - For $j = 1 To $iMultipleCoords - 1 - Local $aCoordsSplit2 = $aCoords[$j] - If UBound($aCoordsSplit2) = 2 Then - ; add slot - $iResultAddDup += 1 - ReDim $aResult[UBound($aKeys) + $iResultAddDup][6] - $aResult[$i + $iResultAddDup][0] = $aResult[$i + $iResultAddDup - 1][0] ; same objectname - $aResult[$i + $iResultAddDup][1] = $aCoordsSplit2[0] - $aResult[$i + $iResultAddDup][2] = $aCoordsSplit2[1] - If $g_bDebugSetlog Then SetDebugLog($aResult[$i + $iResultAddDup][0] & " | $aCoordArray: " & $aResult[$i + $iResultAddDup][1] & "-" & $aResult[$i + $iResultAddDup][2]) - Else - ; don't invalidate anything - ;$aCoordArray[0][0] = -1 - ;$aCoordArray[0][1] = -1 - EndIf + + If StringRegExp($sName, "(AmountX)", 0) Then + For $j = 0 To UBound($aCoords) - 1 + $aCoordsSplit = $aCoords[$j] + _ArrayAdd($aSlotAmountX, $aCoordsSplit[0] & "|" & $aCoordsSplit[1], 0, "|", @CRLF, $ARRAYFILL_FORCE_NUMBER) Next + Else + $aResult[$i + $iResultAddDup][0] = $sName + $aCoordsSplit = $aCoords[0] + If StringRegExp($sName, "(King)|(Warden)|(Queen)", 0) Then _ArrayAdd($aSlotAmountX, $aCoordsSplit[0] & "|" & $aCoordsSplit[1], 0, "|", @CRLF, $ARRAYFILL_FORCE_NUMBER) + If UBound($aCoordsSplit) = 2 Then + ; Store the coords into a two dimensional array + $aCoordArray[0][0] = $aCoordsSplit[0] ; X coord. + $aCoordArray[0][1] = $aCoordsSplit[1] ; Y coord. + Else + $aCoordArray[0][0] = -1 + $aCoordArray[0][1] = -1 + EndIf + If $g_bDebugSetlog Then SetDebugLog($aResult[$i + $iResultAddDup][0] & " | $aCoordArray: " & $aCoordArray[0][0] & "-" & $aCoordArray[0][1]) + ; Store the coords array as a sub-array + $aResult[$i + $iResultAddDup][1] = Number($aCoordArray[0][0]) + $aResult[$i + $iResultAddDup][2] = Number($aCoordArray[0][1]) + ;If a Clan Castle Spell exists + Local $iMultipleCoords = UBound($aCoords) + ; Check if two Clan Castle Spells exist with different levels + If $iMultipleCoords > 1 And StringInStr($aResult[$i + $iResultAddDup][0], "Spell") <> 0 Then + If $g_bDebugSetlog Then SetDebugLog($aResult[$i + $iResultAddDup][0] & " detected " & $iMultipleCoords & " times!") + For $j = 1 To $iMultipleCoords - 1 + Local $aCoordsSplit2 = $aCoords[$j] + If UBound($aCoordsSplit2) = 2 Then + ; add slot + $iResultAddDup += 1 + ReDim $aResult[UBound($aKeys) + $iResultAddDup][6] + $aResult[$i + $iResultAddDup][0] = $aResult[$i + $iResultAddDup - 1][0] ; same objectname + $aResult[$i + $iResultAddDup][1] = $aCoordsSplit2[0] + $aResult[$i + $iResultAddDup][2] = $aCoordsSplit2[1] + If $g_bDebugSetlog Then SetDebugLog($aResult[$i + $iResultAddDup][0] & " | $aCoordArray: " & $aResult[$i + $iResultAddDup][1] & "-" & $aResult[$i + $iResultAddDup][2]) + Else + ; don't invalidate anything + ;$aCoordArray[0][0] = -1 + ;$aCoordArray[0][1] = -1 + EndIf + Next + EndIf EndIf Next _ArraySort($aResult, 0, 0, 0, 1) ; Sort By X position , will be the Slot 0 to $i - - For $i = 0 To UBound($aResult) - 1 - If $aResult[$i][0] = "King" Or $aResult[$i][0] = "Queen" Or $aResult[$i][0] = "Warden" Then - $bCheckSlotwHero2 = True - EndIf - Next + _ArraySort($aSlotAmountX) Local $iSlotExtended = 0 Static $iFirstExtendedSlot = -1 ; Location of 1st extended troop after drag - If Not $bRemaining Then $iFirstExtendedSlot = -1 ; Reset value for 1st time detecting troop bar + If Not $bRemaining Then + $iFirstExtendedSlot = -1 ; Reset value for 1st time detecting troop bar + EndIf Local $iFoundLastTroop1stPage Local $bStart2ndPage = False @@ -349,32 +343,29 @@ Func ExtendedAttackBarCheck($aLastTroop1stPage, $bRemaining) EndIf If Not $bStart2ndPage Then ContinueLoop - $aTempSlot = SlotAttack(Number($aResult[$i][1]), False, False) - $aTempSlot[0] += 18 - If $iFirstExtendedSlot = -1 Then $iFirstExtendedSlot = $aTempSlot[1] ; flag only once - $iSlotExtended = $aTempSlot[1] - $iFirstExtendedSlot + 1 - - If $bCheckSlotwHero2 And StringInStr($aResult[$i][0], "Spell") = 0 Then $aTempSlot[0] -= 14 + $aTempSlot = SlotAttack(Number($aResult[$i][1]), $aSlotAmountX) + If $iFirstExtendedSlot = -1 Then $iFirstExtendedSlot = $aTempSlot[2] ; flag only once + $iSlotExtended = $aTempSlot[2] - $iFirstExtendedSlot + 1 If Not $g_bRunState Then Return ; Stop function If _Sleep(20) Then Return ; Pause function - If UBound($aTempSlot) = 2 Then - SetDebugLog("OCR : " & $aTempSlot[0] & "|SLOT: " & $aTempSlot[1], $COLOR_DEBUG) ;Debug - If $aResult[$i][0] = "Castle" Or $aResult[$i][0] = "King" Or $aResult[$i][0] = "Queen" Or $aResult[$i][0] = "Warden" Or $aResult[$i][0] = "WallW" Or $aResult[$i][0] = "BattleB" Then + If UBound($aTempSlot) = 3 Then + SetDebugLog("OCR : " & $aTempSlot[0] & "|SLOT: " & $aTempSlot[2], $COLOR_DEBUG) ;Debug + If $aResult[$i][0] = "Castle" Or $aResult[$i][0] = "King" Or $aResult[$i][0] = "Queen" Or $aResult[$i][0] = "Warden" Or $aResult[$i][0] = "WallW" Or $aResult[$i][0] = "BattleB" Or $aResult[$i][0] = "StoneS" Then $aResult[$i][3] = 1 Else - $aResult[$i][3] = Number(getTroopCountSmall(Number($aTempSlot[0]), 640)) ; For small Numbers + $aResult[$i][3] = Number(getTroopCountSmall(Number($aTempSlot[0] + $iX1), Number($aTempSlot[1] + $iY1))) ; For small Numbers If $aResult[$i][3] = "" Or $aResult[$i][3] = 0 Then - $aResult[$i][3] = Number(getTroopCountBig(Number($aTempSlot[0]), 633)) ; For Big Numbers , when the troops is selected + $aResult[$i][3] = Number(getTroopCountBig(Number($aTempSlot[0] + $iX1), Number($aTempSlot[1] + $iY1) - 4)) ; For Big Numbers , when the troops is selected EndIf EndIf - $aResult[$i][4] = ($aTempSlot[1] + 11) - $iFirstExtendedSlot + $aResult[$i][4] = ($aTempSlot[2] + 11) - $iFirstExtendedSlot Else Setlog("Problem with Attack bar detection!", $COLOR_ERROR) SetLog("Detection : " & $aResult[$i][0] & "|x" & $aResult[$i][1] & "|y" & $aResult[$i][2], $COLOR_DEBUG) $aResult[$i][3] = -1 $aResult[$i][4] = -1 EndIf - $sFinalResult &= "|" & TroopIndexLookup($aResult[$i][0]) & "#" & $aResult[$i][4] & "#" & $aResult[$i][3] + $sFinalResult &= "|" & TroopIndexLookup($aResult[$i][0]) & "#" & $aResult[$i][4] & "#" & $aResult[$i][3] & "#" & $aResult[$i][1] EndIf Next If Not $bRemaining Then diff --git a/COCBot/functions/Image Search/imglocAuxiliary.au3 b/COCBot/functions/Image Search/imglocAuxiliary.au3 index 5c3f67c94..fa8d8670b 100644 --- a/COCBot/functions/Image Search/imglocAuxiliary.au3 +++ b/COCBot/functions/Image Search/imglocAuxiliary.au3 @@ -706,6 +706,8 @@ Func decodeTroopEnum($tEnum) Return "ElectroDragon" Case $eBowl Return "Bowler" + Case $eIceG + Return "IceGolem" Case $eESpell Return "EarthquakeSpell" Case $eFSpell @@ -724,6 +726,8 @@ Func decodeTroopEnum($tEnum) Return "RageSpell" Case $eSkSpell Return "SkeletonSpell" + Case $eBtSpell + Return "BatSpell" Case $eCSpell Return "CloneSpell" Case $eCastle @@ -782,6 +786,8 @@ Func decodeTroopName($sName) Return $eEDrag Case "Bowler" Return $eBowl + Case "IceGolem" + Return $eIceG Case "EarthquakeSpell" Return $eESpell Case "FreezeSpell" @@ -800,6 +806,8 @@ Func decodeTroopName($sName) Return $eRSpell Case "SkeletonSpell" Return $eSkSpell + Case "BatSpell" + Return $eBtSpell Case "CloneSpell" Return $eCSpell Case "Castle" diff --git a/COCBot/functions/Other/Click.au3 b/COCBot/functions/Other/Click.au3 index 80814f9b7..356e837d6 100644 --- a/COCBot/functions/Other/Click.au3 +++ b/COCBot/functions/Other/Click.au3 @@ -327,6 +327,8 @@ Func _DecodeDebug($message) Return $separator & "Train - Train Baby Dragon" Case "#0343" Return $separator & "Train - Train Miner" + Case "#0344" + Return $separator & "Train - Train Ice Golem" ;DONATE Case "#0168" diff --git a/COCBot/functions/Read Text/getOcr.au3 b/COCBot/functions/Read Text/getOcr.au3 index 572629382..ecb595267 100644 --- a/COCBot/functions/Read Text/getOcr.au3 +++ b/COCBot/functions/Read Text/getOcr.au3 @@ -92,7 +92,7 @@ Func getBldgUpgradeTime($x_start, $y_start) ; -> Gets complete remain building u EndFunc ;==>getBldgUpgradeTime Func getLabUpgradeTime($x_start, $y_start) ; -> Gets complete remain lab upgrade time V2 for Dec2015 update - Return getOcrAndCapture("coc-uptime2", $x_start, $y_start, 42, 22) ; 40 is enougth xxx : 2 numbers and one letter at max + Return getOcrAndCapture("coc-uptime2", $x_start, $y_start, 68, 22) ; 40 is enougth xxx : 2 numbers and one letter at max EndFunc ;==>getLabUpgradeTime Func getHeroUpgradeTime($x_start, $y_start) ; -> Gets complete upgrade time for heroes 464, 527 + $g_iMidOffsetY diff --git a/COCBot/functions/Search/IsSearchModeActive.au3 b/COCBot/functions/Search/IsSearchModeActive.au3 index f332df8ce..ccd3bac87 100644 --- a/COCBot/functions/Search/IsSearchModeActive.au3 +++ b/COCBot/functions/Search/IsSearchModeActive.au3 @@ -62,6 +62,7 @@ Func IsSearchModeActive($g_iMatchMode, $nocheckHeroes = False, $bNoLog = False) If $g_abSearchSiegeWaitEnable[$g_iMatchMode] Then If (($g_aiAttackUseSiege[$g_iMatchMode] = 1 And ($g_aiCurrentSiegeMachines[$eSiegeWallWrecker] > 0 Or $g_aiCurrentCCSiegeMachines[$eSiegeWallWrecker] > 0)) Or _ ($g_aiAttackUseSiege[$g_iMatchMode] = 2 And ($g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] > 0 Or $g_aiCurrentCCSiegeMachines[$eSiegeBattleBlimp] > 0)) Or _ + ($g_aiAttackUseSiege[$g_iMatchMode] = 3 And ($g_aiCurrentSiegeMachines[$eSiegeStoneSlammer] > 0 Or $g_aiCurrentCCSiegeMachines[$eSiegeStoneSlammer] > 0)) Or _ $g_aiAttackUseSiege[$g_iMatchMode] = 0) Then $bcheckSiege = True EndIf diff --git a/COCBot/functions/Village/BuilderBase/CleanBBYard.au3 b/COCBot/functions/Village/BuilderBase/CleanBBYard.au3 new file mode 100644 index 000000000..00e28be47 --- /dev/null +++ b/COCBot/functions/Village/BuilderBase/CleanBBYard.au3 @@ -0,0 +1,62 @@ +Func CleanBBYard() + ; Early exist if noting to do + If Not $g_bChkCleanBBYard And Not TestCapture() Then Return + + ; Timer + Local $hObstaclesTimer = __TimerInit() + + ; Get Builders available + If Not getBuilderCount(True, True) Then Return ; update builder data, return if problem + If _Sleep($DELAYRESPOND) Then Return + + ; Obstacles function to Parallel Search , will run all pictures inside the directory + + ; Setup arrays, including default return values for $return + Local $Filename = "" + Local $Locate = 0 + Local $CleanBBYardXY + Local $sCocDiamond = $CocDiamondECD + Local $redLines = $sCocDiamond + Local $bBuilderBase = True + Local $bNoBuilders = $g_iFreeBuilderCountBB < 1 + + If $g_iFreeBuilderCountBB > 0 And Number($g_aiCurrentLootBB[$eLootElixirBB]) > 50000 Then + Local $aResult = findMultiple($g_sImgCleanBBYard, $sCocDiamond, $redLines, 0, 1000, 10, "objectname,objectlevel,objectpoints", True) + If IsArray($aResult) Then + For $matchedValues In $aResult + Local $aPoints = decodeMultipleCoords($matchedValues[2]) + $Filename = $matchedValues[0] ; Filename + For $i = 0 To UBound($aPoints) - 1 + $CleanBBYardXY = $aPoints[$i] ; Coords + If UBound($CleanBBYardXY) > 1 And isInsideDiamondXY($CleanBBYardXY[0], $CleanBBYardXY[1]) Then ; secure x because of clan chat tab + If $g_bDebugSetlog Then SetDebugLog($Filename & " found (" & $CleanBBYardXY[0] & "," & $CleanBBYardXY[1] & ")", $COLOR_SUCCESS) + If IsMainPageBuilderBase() Then Click($CleanBBYardXY[0], $CleanBBYardXY[1], 1, 0, "#0430") + $Locate = 1 + If _Sleep($DELAYCOLLECT3) Then Return + If IsMainPageBuilderBase() Then GemClick($aCleanYard[0], $aCleanYard[1], 1, 0, "#0431") ; Click Obstacles button to clean + If _Sleep($DELAYCHECKTOMBS2) Then Return + ClickP($aAway, 2, 300, "#0329") ;Click Away + If _Sleep($DELAYCHECKTOMBS1) Then Return + If getBuilderCount(True, True) = False Then Return ; update builder data, return if problem + If _Sleep($DELAYRESPOND) Then Return + If $g_iFreeBuilderCountBB = 0 Then + SetLog("No More Builders available") + If _Sleep(2000) Then Return + ExitLoop (2) + EndIf + EndIf + Next + Next + EndIf + EndIf + + If $bNoBuilders Then + SetLog("No Builders available to remove Obstacles!") + Else + If $Locate = 0 And $g_bChkCleanBBYard And Number($g_aiCurrentLootBB[$eLootElixirBB]) > 50000 Then SetLog("No Obstacles found, Yard is clean!", $COLOR_SUCCESS) + If $g_bDebugSetlog Then SetDebugLog("Time: " & Round(__TimerDiff($hObstaclesTimer) / 1000, 2) & "'s", $COLOR_SUCCESS) + EndIf + UpdateStats() + ClickP($aAway, 1, 300, "#0329") ;Click Away + +EndFunc ;==>CleanBBYard \ No newline at end of file diff --git a/COCBot/functions/Village/CheckImageType.au3 b/COCBot/functions/Village/CheckImageType.au3 index 499373bf3..877aec841 100644 --- a/COCBot/functions/Village/CheckImageType.au3 +++ b/COCBot/functions/Village/CheckImageType.au3 @@ -19,10 +19,10 @@ Func CheckImageType() If _Sleep($DELAYCHECKIMAGETYPE1) Then Return If Not IsMainPage() Then ClickP($aAway, 2, 20, "#0467") ;Click Away Again - Local $x = 165 + Local $x = 150 Local $y = 150 - Local $x1 = $x + 60 - Local $y1 = $y + 80 + Local $x1 = $x + 50 + Local $y1 = $y + 50 Local $directory = @ScriptDir & "\imgxml\SnowTheme" Local $temp = SearchImgloc($directory, $x, $y, $x1, $y1) @@ -37,22 +37,7 @@ Func CheckImageType() EndIf Else $g_iDetectedImageType = 0 ; Normal Theme - SetLog("Normal Theme detected", $COLOR_RED) + SetLog("Normal Theme detected", $COLOR_ERROR) EndIf -;~ If _ColorCheck(_GetPixelColor($aImageTypeN1[0], $aImageTypeN1[1], True), Hex($aImageTypeN1[2], 6), $aImageTypeN1[3]) And _ -;~ _ColorCheck(_GetPixelColor($aImageTypeN2[0], $aImageTypeN2[1], True), Hex($aImageTypeN2[2], 6), $aImageTypeN2[3]) Then -;~ $g_iDetectedImageType = 0; Normal Theme -;~ SetLog("Normal Theme detected") -;~ ElseIf _ColorCheck(_GetPixelColor($aImageTypeS1[0], $aImageTypeS1[1], True), Hex($aImageTypeS1[2], 6), $aImageTypeS1[3]) And _ -;~ _ColorCheck(_GetPixelColor($aImageTypeS2[0], $aImageTypeS2[1], True), Hex($aImageTypeS2[2], 6), $aImageTypeS2[3]) Then -;~ $g_iDetectedImageType = 1;Snow Theme -;~ SetLog("Snow Theme detected") -;~ Else -;~ $g_iDetectedImageType = 0; Default to Normal Theme -;~ SetLog("Default Theme detected") -;~ EndIf - -;~ readCollectorConfig();initialize collector fullness variables before loading images - EndFunc ;==>CheckImageType diff --git a/COCBot/functions/Village/Clan Games/ClanGames.au3 b/COCBot/functions/Village/Clan Games/ClanGames.au3 index 8b6858418..ad357433b 100644 --- a/COCBot/functions/Village/Clan Games/ClanGames.au3 +++ b/COCBot/functions/Village/Clan Games/ClanGames.au3 @@ -180,6 +180,7 @@ Func _ClanGames($test = False) If UBound($aAllDetectionsOnScreen) > 0 Then For $i = 0 To UBound($aAllDetectionsOnScreen) - 1 + If IsBBChallenge($aAllDetectionsOnScreen[$i][2], $aAllDetectionsOnScreen[$i][3]) Then ContinueLoop Switch $aAllDetectionsOnScreen[$i][0] Case "L" If Not $g_bChkClanGamesLoot Then ContinueLoop @@ -247,6 +248,14 @@ Func _ClanGames($test = False) For $j = 0 To UBound($BattleChallenges) - 1 ; Match the names If $aAllDetectionsOnScreen[$i][1] = $BattleChallenges[$j][0] Then + ; Verify the TH level and a few Challenge to destroy TH specific level + If $BattleChallenges[$j][1] = "Scrappy 6s" And ($g_iTownHallLevel < 5 Or $g_iTownHallLevel > 7) Then ExitLoop ; TH level 5-6-7 + If $BattleChallenges[$j][1] = "Super 7s" And ($g_iTownHallLevel < 6 Or $g_iTownHallLevel > 8) Then ExitLoop ; TH level 6-7-8 + If $BattleChallenges[$j][1] = "Exciting 8s" And ($g_iTownHallLevel < 7 Or $g_iTownHallLevel > 9) Then ExitLoop ; TH level 7-8-9 + If $BattleChallenges[$j][1] = "Noble 9s" And ($g_iTownHallLevel < 8 Or $g_iTownHallLevel > 10) Then ExitLoop ; TH level 8-9-10 + If $BattleChallenges[$j][1] = "Terrific 10s" And ($g_iTownHallLevel < 9 Or $g_iTownHallLevel > 11) Then ExitLoop ; TH level 9-10-11 + If $BattleChallenges[$j][1] = "Exotic 11s" And $g_iTownHallLevel < 10 Then ExitLoop ; TH level 10-11-12 + If $BattleChallenges[$j][1] = "Triumphant 12s" And $g_iTownHallLevel < 11 Then ExitLoop ; TH level 11-12 ; Verify your TH level and Challenge If $g_iTownHallLevel < $BattleChallenges[$j][2] Then ExitLoop ; Disable this event from INI File @@ -256,7 +265,9 @@ Func _ClanGames($test = False) ; Check your Trophy Range If $BattleChallenges[$j][1] = "Slaying The Titans" And Int($g_aiCurrentLoot[$eLootTrophy]) < 4100 Then ExitLoop ; Check if exist a probability to use any Spell - If $BattleChallenges[$j][1] = "No-Magic Zone" And ($g_bSmartZapEnable = True Or ($g_iMatchMode = $DB And $g_aiAttackAlgorithm[$DB] = 1) Or ($g_iMatchMode = $LB And $g_aiAttackAlgorithm[$LB] = 1)) Then ExitLoop + ; If $BattleChallenges[$j][1] = "No-Magic Zone" And ($g_bSmartZapEnable = True Or ($g_iMatchMode = $DB And $g_aiAttackAlgorithm[$DB] = 1) Or ($g_iMatchMode = $LB And $g_aiAttackAlgorithm[$LB] = 1)) Then ExitLoop + ; same as above, but SmartZap as condition removed, cause SZ does not necessary triggers every attack + If $BattleChallenges[$j][1] = "No-Magic Zone" And (($g_iMatchMode = $DB And $g_aiAttackAlgorithm[$DB] = 1) Or ($g_iMatchMode = $LB And $g_aiAttackAlgorithm[$LB] = 1)) Then ExitLoop ; Check if you are using Heroes If $BattleChallenges[$j][1] = "No Heroics Allowed" And ((Int($g_aiAttackUseHeroes[$DB]) > $eHeroNone And $g_iMatchMode = $DB) Or (Int($g_aiAttackUseHeroes[$LB]) > $eHeroNone And $g_iMatchMode = $LB)) Then ExitLoop ; [0]Event Name Full Name , [1] Xaxis , [2] Yaxis , [3] difficulty @@ -296,8 +307,8 @@ Func _ClanGames($test = False) If $MiscChallenges[$j][3] = 0 Then ExitLoop ; Exceptions : - ; 1 - "Gardening Exercise" needs at least a Free Builder - If $MiscChallenges[$j][1] = "Gardening Exercise" And $g_iFreeBuilderCount < 1 Then ExitLoop + ; 1 - "Gardening Exercise" needs at least a Free Builder and "Remove Obstacles" enabled + If $MiscChallenges[$j][1] = "Gardening Exercise" And ($g_iFreeBuilderCount < 1 Or Not $g_bChkCleanYard) Then ExitLoop ; 2 - Verify your TH level and Challenge kind If $g_iTownHallLevel < $MiscChallenges[$j][2] Then ExitLoop @@ -713,7 +724,7 @@ Func ClanGamesChallenges($sReturnArray, $makeIni = False, $sINIPath = "", $debug ["Valk", "Valkyrie", 8, 8, 1], _ ; Earn 2-5 Stars from Multiplayer Battles using 8 Valkyries |3h-8h |40-100 ["Gole", "Golem", 8, 2, 1]] ; Earn 2-5 Stars from Multiplayer Battles using 2 Golems |3h-8h |40-100 - Local $BattleChallenges[9][5] = [ _ + Local $BattleChallenges[16][5] = [ _ ["Start", "Star Collector", 3, 1, 8], _ ; Collect a total of 6-18 stars from Multiplayer Battles |8h-2d |100-600 ["Destruction", "Lord of Destruction", 3, 1, 8], _ ; Gather a total of 100%-500% destruction from Multi Battles |8h-2d |100-600 ["PileOfVictores", "Pile Of Victories", 3, 1, 8], _ ; Win 2-8 Multiplayer Battles |8h-2d |100-600 @@ -722,9 +733,16 @@ Func ClanGamesChallenges($sReturnArray, $makeIni = False, $sINIPath = "", $debug ["SlayingTitans", "Slaying The Titans", 11, 2, 5], _ ; Win 5 Multiplayer Battles In Tital LEague |5h |300 ["NoHero", "No Heroics Allowed", 3, 5, 8], _ ; Win stars without using Heroes |8h |100 ["NoMagic", "No-Magic Zone", 3, 5, 8], _ ; Win stars without using Spells |8h |100 - ["AttackUp", "Attack Up", 3, 1, 8]] ; Gain 3 Stars Against Certain Town Hall |8h |200 - - Local $DestructionChallenges[28][5] = [ _ + ["Scrappy6s", "Scrappy 6s", 6, 1, 8], _ ; Gain 3 Stars Against Town Hall level 6 |8h |200 + ["Super7s", "Super 7s", 7, 1, 8], _ ; Gain 3 Stars Against Town Hall level 7 |8h |200 + ["Exciting8s", "Exciting 8s", 8, 1, 8], _ ; Gain 3 Stars Against Town Hall level 8 |8h |200 + ["Noble9s", "Noble 9s", 9, 1, 8], _ ; Gain 3 Stars Against Town Hall level 9 |8h |200 + ["Terrific10s", "Terrific 10s", 10, 1, 8], _ ; Gain 3 Stars Against Town Hall level 10 |8h |200 + ["Exotic11s", "Exotic 11s", 11, 1, 8], _ ; Gain 3 Stars Against Town Hall level 11 |8h |200 + ["Triumphant12s", "Triumphant 12s", 12, 1, 8], _ ; Gain 3 Stars Against Town Hall level 12 |8h |200 + ["AttackUp", "Attack Up", 3, 1, 8]] ; Gain 3 Stars Against Town Hall a level higher |8h |200 + + Local $DestructionChallenges[30][5] = [ _ ["Cannon", "Cannon Carnage", 3, 1, 1], _ ; Destroy 5-25 Cannons in Multiplayer Battles |1h-8h |75-350 ["ArcherT", "Archer Tower Assault", 3, 1, 1], _ ; Destroy 5-20 Archer Towers in Multiplayer Battles |1h-8h |75-350 ["Mortar", "Mortar Mauling", 3, 1, 1], _ ; Destroy 4-12 Mortars in Multiplayer Battles |1h-8h |40-350 @@ -746,6 +764,8 @@ Func ClanGamesChallenges($sReturnArray, $makeIni = False, $sINIPath = "", $debug ["Laboratory", "Laboratory Strike", 3, 1, 1], _ ; Destroy 2-6 Laboratories in Multiplayer Battles |1h-8h |40-200 ["SFacto", "Spell Factory Sabotage", 3, 1, 1], _ ; Destroy 2-6 Spell Factories in Multiplayer Battles |1h-8h |40-200 ["DESpell", "Dark Spell Factory Sabotage", 8, 1, 1], _ ; Destroy 2-6 Dark Spell Factories in Multiplayer Battles |1h-8h |40-200 + ["WallWhacker", "Wall Whacker", 3, 1, 1], _ ; Destroy 50-250 Walls in Multiplayer Battles | + ["BBreakdown", "Building Breakdown", 3, 1, 1], _ ; Destroy 50-250 Buildings in Multiplayer Battles | ["BKaltar", "Destroy Barbarian King Altars", 9, 4, 1], _ ; Destroy 2-5 Barbarian King Altars in Multiplayer Battles |1h-8h |50-150 ["AQaltar", "Destroy Archer Queen Altars", 10, 5, 1], _ ; Destroy 2-5 Archer Queen Altars in Multiplayer Battles |1h-8h |50-150 ["GWaltar", "Destroy Grand Warden Altars", 11, 5, 1], _ ; Destroy 2-5 Grand Warden Altars in Multiplayer Battles |1h-8h |50-150 @@ -836,4 +856,18 @@ Func GetEventInformation() Return GetEventTimeInMinutes($g_iQuickMISX + 220, $g_iQuickMISY + 150) EndIf Return 0 -EndFunc +EndFunc ;==>GetEventInformation + +Func IsBBChallenge($xDetected, $yDetected) + Local $sColorBB = Hex(0x0D6687, 6) + Local $sColorNonBB = Hex(0x7DA9DD, 6) + Local $xToCheck = 299 + 126 * Int(($xDetected - 299) / 126) + Local $yToCheck = 156 + 160 * Int(($yDetected - 156) / 160) + + If $g_bChkClanGamesDebug Then Setlog("IsBBChallenge() x = " & $xToCheck & ", y = " & $yToCheck & ", color = " & _GetPixelColor($xToCheck, $yToCheck, True) , $COLOR_INFO) + + If _ColorCheck(_GetPixelColor($xToCheck, $yToCheck, True), $sColorBB, 5) Then + Return True + EndIf + Return False +EndFunc ;==>IsBBChallenge diff --git a/COCBot/functions/Village/DonateCC.au3 b/COCBot/functions/Village/DonateCC.au3 index 46fb8771b..1aa28aac0 100644 --- a/COCBot/functions/Village/DonateCC.au3 +++ b/COCBot/functions/Village/DonateCC.au3 @@ -41,7 +41,7 @@ Func PrepareDonateCC() Next ; Siege For $i = $eSiegeWallWrecker To $eSiegeMachineCount - 1 - $g_aiPrepDon[4] = BitOR($g_aiPrepDon[4], ($g_abChkDonateTroop[$eTroopCount - 1 + $g_iCustomDonateConfigs + $i] ? 1 : 0)) + $g_aiPrepDon[4] = BitOR($g_aiPrepDon[4], ($g_abChkDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $i] ? 1 : 0)) Next $g_iActiveDonate = BitOR($g_aiPrepDon[0], $g_aiPrepDon[1], $g_aiPrepDon[2], $g_aiPrepDon[3], $g_aiPrepDon[4]) @@ -88,21 +88,30 @@ Func IsDonateQueueOnly(ByRef $abDonateQueueOnly) For $j = 0 To (UBound($aSearchResult) - 1) Local $TroopIndex = TroopIndexLookup($aSearchResult[$j][0], "IsDonateQueueOnly()") + If $TroopIndex < 0 Then ContinueLoop If _ColorCheck(_GetPixelColor($xQueue - $j * 70.5, 237, True), Hex(0xB9B747, 6), 20) Then ; the green check symbol [185, 183, 71] If $i = 0 Then - $g_aiAvailQueuedTroop[$TroopIndex] += $aSearchResult[$j][1] - SetLog(" - " & $g_asTroopNames[$TroopIndex] & " x" & $aSearchResult[$j][1]) + If _ArrayIndexValid($g_aiAvailQueuedTroop, $TroopIndex) Then + $g_aiAvailQueuedTroop[$TroopIndex] += $aSearchResult[$j][1] + SetLog(" - " & $g_asTroopNames[$TroopIndex] & " x" & $aSearchResult[$j][1]) + EndIf Else - $g_aiAvailQueuedSpell[$TroopIndex - $eLSpell] += $aSearchResult[$j][1] - SetLog(" - " & $g_asSpellNames[$TroopIndex - $eLSpell] & " x" & $aSearchResult[$j][1]) + If _ArrayIndexValid($g_aiAvailQueuedSpell, $TroopIndex - $eLSpell) Then + $g_aiAvailQueuedSpell[$TroopIndex - $eLSpell] += $aSearchResult[$j][1] + SetLog(" - " & $g_asSpellNames[$TroopIndex - $eLSpell] & " x" & $aSearchResult[$j][1]) + EndIf EndIf ElseIf $j = 0 Or ($j = 1 And $aSearchResult[1][0] = $aSearchResult[0][0]) Then If $i = 0 Then - $g_aiAvailQueuedTroop[$TroopIndex] += $aSearchResult[$j][1] - SetLog(" - " & $g_asTroopNames[$TroopIndex] & " x" & $aSearchResult[$j][1] & " (training)") + If _ArrayIndexValid($g_aiAvailQueuedTroop, $TroopIndex) Then + $g_aiAvailQueuedTroop[$TroopIndex] += $aSearchResult[$j][1] + SetLog(" - " & $g_asTroopNames[$TroopIndex] & " x" & $aSearchResult[$j][1] & " (training)") + EndIf Else - $g_aiAvailQueuedSpell[$TroopIndex - $eLSpell] += $aSearchResult[$j][1] - SetLog(" - " & $g_asSpellNames[$TroopIndex - $eLSpell] & " x" & $aSearchResult[$j][1] & " (training)") + If _ArrayIndexValid($g_aiAvailQueuedSpell, $TroopIndex - $eLSpell) Then + $g_aiAvailQueuedSpell[$TroopIndex - $eLSpell] += $aSearchResult[$j][1] + SetLog(" - " & $g_asSpellNames[$TroopIndex - $eLSpell] & " x" & $aSearchResult[$j][1] & " (training)") + EndIf EndIf ExitLoop ElseIf $j >= 2 Then @@ -113,6 +122,7 @@ Func IsDonateQueueOnly(ByRef $abDonateQueueOnly) EndIf Next ClickP($aAway, 1, 0, "#0818") ;Click Away + If _Sleep($DELAYDONATECC2) Then Return EndFunc ;==>IsDonateQueueOnly @@ -199,6 +209,14 @@ Func DonateCC($bCheckForNewMsg = False) If _Sleep($DELAYDONATECC1) Then Return ; delay Allow 15x WEnd + ; check for "I Understand" button + Local $aCoord = decodeSingleCoord(findImage("I Understand", $g_sImgChatIUnterstand, GetDiamondFromRect("50,400,280,550"))) + If UBound($aCoord) > 1 Then + SetLog("Clicking 'I Understand' button", $COLOR_ACTION) + ClickP($aCoord) + If _Sleep($DELAYDONATECC2) Then Return + EndIf + Local $Scroll ; add scroll here While 1 @@ -370,7 +388,7 @@ Func DonateCC($bCheckForNewMsg = False) If Not $bDonateSiege Then SetLog("Siege donation is not enabled, skip siege donation...", $COLOR_ACTION) $g_bSkipDonSiege = True - ElseIf $g_aiCurrentSiegeMachines[$eSiegeWallWrecker] = 0 And $g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] = 0 Then + ElseIf $g_aiCurrentSiegeMachines[$eSiegeWallWrecker] = 0 And $g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] = 0 And $g_aiCurrentSiegeMachines[$eSiegeStoneSlammer] = 0 Then SetLog("No siege machines available, skip siege donation...", $COLOR_ORANGE) $g_bSkipDonSiege = True ElseIf $g_iTotalDonateSiegeMachineCapacity = -1 Then @@ -430,7 +448,7 @@ Func DonateCC($bCheckForNewMsg = False) For $i = 0 To 2 If $CorrectDonateCustom[$i][0] < $eBarb Then $CorrectDonateCustom[$i][0] = $eArch ; Change strange small numbers to archer - ElseIf $CorrectDonateCustom[$i][0] > $eBowl Then + ElseIf $CorrectDonateCustom[$i][0] > $eIceG Then ContinueLoop ; If "Nothing" is selected then continue EndIf If $CorrectDonateCustom[$i][1] < 1 Then @@ -525,7 +543,7 @@ Func DonateCC($bCheckForNewMsg = False) For $i = 0 To 2 If $CorrectDonateCustom[$i][0] < $eBarb Then $CorrectDonateCustom[$i][0] = $eArch ; Change strange small numbers to archer - ElseIf $CorrectDonateCustom[$i][0] > $eBowl Then + ElseIf $CorrectDonateCustom[$i][0] > $eIceG Then DonateWindow($bClose) $bDonate = True $y = $g_aiDonatePixel[1] + 50 @@ -812,7 +830,7 @@ Func DonateTroopType(Const $iTroopIndex, $Quant = 0, Const $bDonateQueueOnly = F EndIf ; Adjust Values for donated troops to prevent a Double ghost donate to stats and train - If $iTroopIndex >= $eTroopBarbarian And $iTroopIndex <= $eTroopBowler Then + If $iTroopIndex >= $eTroopBarbarian And $iTroopIndex <= $eTroopIceGolem Then ;Reduce iTotalDonateCapacity by troops donated $g_iTotalDonateTroopCapacity -= ($Quant * $g_aiTroopSpace[$iTroopIndex]) ;If donated max allowed troop qty set $g_bSkipDonTroops = True @@ -1135,7 +1153,7 @@ Func RemainingCCcapacity() ; Skip reading unnecessary items Local $bDonateSpell = ($g_aiPrepDon[2] = 1 Or $g_aiPrepDon[3] = 1) And ($g_iCurrentSpells > 0 Or $g_iCurrentSpells = "") - Local $bDonateSiege = ($g_aiPrepDon[4] = 1) And ($g_aiCurrentSiegeMachines[$eSiegeWallWrecker] > 0 Or $g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] > 0) + Local $bDonateSiege = ($g_aiPrepDon[4] = 1) And ($g_aiCurrentSiegeMachines[$eSiegeWallWrecker] > 0 Or $g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] > 0 Or $g_aiCurrentSiegeMachines[$eSiegeStoneSlammer] > 0) SetDebugLog("$g_aiPrepDon[2]: " & $g_aiPrepDon[2] & ", $g_aiPrepDon[3]: " & $g_aiPrepDon[3] & ", $g_iCurrentSpells: " & $g_iCurrentSpells & ", $bDonateSpell: " & $bDonateSpell) SetDebugLog("$g_aiPrepDon[4]: " & $g_aiPrepDon[4] & ", $bDonateSiege: " & $bDonateSiege) @@ -1276,13 +1294,13 @@ Func DetectSlotTroop(Const $iTroopIndex) If $FullTemp[0] <> "" Then Local $iFoundTroopIndex = TroopIndexLookup($FullTemp[0]) - For $i = $eTroopBarbarian To $eTroopBowler + For $i = $eTroopBarbarian To $eTroopIceGolem If $iFoundTroopIndex = $i Then If $g_bDebugSetlog Then SetDebugLog("Detected " & $g_asTroopNames[$i], $COLOR_DEBUG) If $iTroopIndex = $i Then Return $Slot ExitLoop EndIf - If $i = $eTroopBowler Then ; detection failed + If $i = $eTroopIceGolem Then ; detection failed If $g_bDebugSetlog Then SetDebugLog("Slot: " & $Slot & "Troop Detection Failed", $COLOR_DEBUG) EndIf Next @@ -1308,7 +1326,7 @@ Func DetectSlotTroop(Const $iTroopIndex) If $iTroopIndex = $i Then Return $Slot ExitLoop EndIf - If $i = $eTroopBowler Then ; detection failed + If $i = $eTroopIceGolem Then ; detection failed If $g_bDebugSetlog Then SetDebugLog("Slot: " & $Slot & "Troop Detection Failed", $COLOR_DEBUG) EndIf Next @@ -1334,14 +1352,14 @@ Func DetectSlotSpell(Const $iSpellIndex) If StringInStr($FullTemp[0] & " ", "empty") > 0 Then ExitLoop If $FullTemp[0] <> "" Then - For $i = $eSpellLightning To $eSpellSkeleton + For $i = $eSpellLightning To $eSpellBat Local $sTmp = StringLeft($g_asSpellNames[$i], 4) If StringInStr($FullTemp[0] & " ", $sTmp) > 0 Then If $g_bDebugSetlog Then SetDebugLog("Detected " & $g_asSpellNames[$i], $COLOR_DEBUG) If $iSpellIndex = $i Then Return $Slot ExitLoop EndIf - If $i = $eSpellSkeleton Then ; detection failed + If $i = $eSpellBat Then ; detection failed If $g_bDebugSetlog Then SetDebugLog("Slot: " & $Slot & "Spell Detection Failed", $COLOR_DEBUG) EndIf Next @@ -1425,8 +1443,7 @@ Func SkipDonateNearFullTroops($bSetLog = False, $aHeroResult = Default) Local $rIsWaitforHeroesActive = IsWaitforHeroesActive() If $rIsWaitforHeroesActive Then If $aHeroResult = Default Or Not IsArray($aHeroResult) Then - If Not OpenArmyOverview(True, "SkipDonateNearFullTroops()") Then Return False ; Return False if failed to Open Army Window - $aHeroResult = getArmyHeroTime("all") + $aHeroResult = getArmyHeroTime("all", True, True) ; including open & close army overview EndIf If @error Or UBound($aHeroResult) < 3 Then SetLog("getArmyHeroTime return error: #" & @error & "|IA:" & IsArray($aHeroResult) & "," & UBound($aHeroResult) & ", exit SkipDonateNearFullTroops!", $COLOR_ERROR) diff --git a/COCBot/functions/Village/Laboratory.au3 b/COCBot/functions/Village/Laboratory.au3 index a76a1b5f5..78067a2c0 100644 --- a/COCBot/functions/Village/Laboratory.au3 +++ b/COCBot/functions/Village/Laboratory.au3 @@ -18,58 +18,76 @@ Global Const $sColorNoLoot = Hex(0xFD877E, 6) ; relative location: 68,79 & 68,84 Global Const $sColorMaxLvl = Hex(0xFFFFFF, 6) ; relative location: 76,76 & 76,80; Upgrade already at MAX level, white in last "l" Global Const $sColorLabUgReq = Hex(0x838383, 6) ; relative location: 0,20 or 93,20 lab upgrade required, Look for Gray pixel inside left border Global Const $sColorMaxTroop = Hex(0xFFC360, 6) ; relative location: 23,60; troop already MAX +Global Const $sColorBG = Hex(0xD3D3CB, 6) ; background color in laboratory Global Const $aiCloseDefaultPOS[2] = [721, 143] -Global Const $aiIconDefaultPOS[33][2] = [ _ +Global Const $aiIconDefaultPOS[36][2] = [ _ [-1, -1], _ ; blank - [120, 337 + $g_iMidOffsetY], _ ; page 1 - [120, 444 + $g_iMidOffsetY], _ - [227, 337 + $g_iMidOffsetY], _ - [227, 444 + $g_iMidOffsetY], _ - [334, 337 + $g_iMidOffsetY], _ - [334, 444 + $g_iMidOffsetY], _ - [440, 337 + $g_iMidOffsetY], _ - [440, 444 + $g_iMidOffsetY], _ - [547, 337 + $g_iMidOffsetY], _ - [547, 444 + $g_iMidOffsetY], _ - [654, 337 + $g_iMidOffsetY], _ - [654, 444 + $g_iMidOffsetY], _ - [220, 337 + $g_iMidOffsetY], _ ; page 2 - [220, 444 + $g_iMidOffsetY], _ + [114, 337 + $g_iMidOffsetY], _ ; page 1 + [114, 444 + $g_iMidOffsetY], _ + [221, 337 + $g_iMidOffsetY], _ + [221, 444 + $g_iMidOffsetY], _ [327, 337 + $g_iMidOffsetY], _ [327, 444 + $g_iMidOffsetY], _ - [433, 337 + $g_iMidOffsetY], _ - [433, 444 + $g_iMidOffsetY], _ - [540, 337 + $g_iMidOffsetY], _ - [540, 444 + $g_iMidOffsetY], _ - [113, 337 + $g_iMidOffsetY], _ ; page 3 - [113, 444 + $g_iMidOffsetY], _ - [220, 337 + $g_iMidOffsetY], _ - [220, 444 + $g_iMidOffsetY], _ + [434, 337 + $g_iMidOffsetY], _ + [434, 444 + $g_iMidOffsetY], _ + [541, 337 + $g_iMidOffsetY], _ + [541, 444 + $g_iMidOffsetY], _ + [647, 337 + $g_iMidOffsetY], _ + [647, 444 + $g_iMidOffsetY], _ + [114, 337 + $g_iMidOffsetY], _ ; page 2 + [114, 444 + $g_iMidOffsetY], _ + [221, 337 + $g_iMidOffsetY], _ + [221, 444 + $g_iMidOffsetY], _ [327, 337 + $g_iMidOffsetY], _ [327, 444 + $g_iMidOffsetY], _ - [433, 337 + $g_iMidOffsetY], _ - [433, 444 + $g_iMidOffsetY], _ - [540, 337 + $g_iMidOffsetY], _ - [540, 444 + $g_iMidOffsetY], _ + [434, 337 + $g_iMidOffsetY], _ + [434, 444 + $g_iMidOffsetY], _ + [541, 337 + $g_iMidOffsetY], _ + [541, 444 + $g_iMidOffsetY], _ [647, 337 + $g_iMidOffsetY], _ - [647, 444 + $g_iMidOffsetY]] + [647, 444 + $g_iMidOffsetY], _ + [114, 337 + $g_iMidOffsetY], _ ; page 3 + [114, 444 + $g_iMidOffsetY], _ + [221, 337 + $g_iMidOffsetY], _ + [221, 444 + $g_iMidOffsetY], _ + [327, 337 + $g_iMidOffsetY], _ + [327, 444 + $g_iMidOffsetY], _ + [434, 337 + $g_iMidOffsetY], _ + [434, 444 + $g_iMidOffsetY], _ + [541, 337 + $g_iMidOffsetY], _ + [541, 444 + $g_iMidOffsetY], _ + [647, 337 + $g_iMidOffsetY]] + +Func TestLaboratory() + Local $bWasRunState = $g_bRunState + Local $sWasLabUpgradeTime = $g_sLabUpgradeTime + Local $sWasLabUpgradeEnable = $g_bAutoLabUpgradeEnable + $g_bRunState = True + $g_bAutoLabUpgradeEnable = True + $g_sLabUpgradeTime = "" + Local $Result = Laboratory() + $g_bRunState = $bWasRunState + $g_sLabUpgradeTime = $sWasLabUpgradeTime + $g_bAutoLabUpgradeEnable = $sWasLabUpgradeEnable + Return $Result +EndFunc Func Laboratory() - ;Create local static array to hold upgrade values - Static $aUpgradeValue[33] = [-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] - Local $iAvailElixir, $iAvailDark, $sElixirCount, $sDarkCount, $TimeDiff, $aArray, $Result + ;Create local array to hold upgrade values + ;Was static, but makes no sense in switch account context + Local $aUpgradeValue[36] = [-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + Local $iAvailElixir, $iAvailDark, $sElixirCount, $sDarkCount, $TimeDiff, $aArray, $Result, $iCheapestCost = 0 + Local $iXMoved = 0, $iYMoved = 0, $iFirstPageOffset = 0, $iLastPageOffset = 0 + Local $iSelectedUpgrade = $g_iCmbLaboratory $g_iUpgradeMinElixir = Number($g_iUpgradeMinElixir) $g_iUpgradeMinDark = Number($g_iUpgradeMinDark) $g_iLaboratoryElixirCost = 0 + $g_iLaboratoryDElixirCost = 0 If Not $g_bAutoLabUpgradeEnable Then Return ; Lab upgrade not enabled. - If $g_iCmbLaboratory = 0 Then - SetLog("Laboratory enabled, but no troop upgrade selected", $COLOR_WARNING) - Return False ; Nothing selected to upgrade - EndIf If $g_aiLaboratoryPos[0] = 0 Or $g_aiLaboratoryPos[1] = 0 Then SetLog("Laboratory Location not found!", $COLOR_WARNING) LocateLab() ; Lab location unknown, so find it. @@ -108,22 +126,37 @@ Func Laboratory() If _Sleep($DELAYLABORATORY3) Then Return ; Wait for window to open ; Find Research Button - Local $offColors[4][3] = [[0x708CB0, 37, 34], [0x603818, 50, 43], [0xD5FC58, 61, 8], [0x000000, 82, 0]] ; 2nd pixel Blue blade, 3rd pixel brown handle, 4th pixel Green cross, 5th black button edge - Local $ButtonPixel = _MultiPixelSearch(433, 565 + $g_iBottomOffsetY, 562, 619 + $g_iBottomOffsetY, 1, 1, Hex(0x000000, 6), $offColors, 30) ; Black pixel of button edge - If IsArray($ButtonPixel) Then - If $g_bDebugSetlog Then - SetDebugLog("ButtonPixel = " & $ButtonPixel[0] & ", " & $ButtonPixel[1], $COLOR_DEBUG) - SetDebugLog("#1: " & _GetPixelColor($ButtonPixel[0], $ButtonPixel[1], True) & ", #2: " & _GetPixelColor($ButtonPixel[0] + 37, $ButtonPixel[1] + 34, True) & ", #3: " & _GetPixelColor($ButtonPixel[0] + 50, $ButtonPixel[1] + 43, True) & ", #4: " & _GetPixelColor($ButtonPixel[0] + 61, $ButtonPixel[1] + 8, True), $COLOR_DEBUG) - EndIf - If $g_bDebugImageSave Then DebugImageSave("LabUpgrade") - Click($ButtonPixel[0] + 40, $ButtonPixel[1] + 25, 1, 0, "#0198") ; Click Research Button + If QuickMIS("BC1", @ScriptDir & "\imgxml\Lab\Research", 200, 620, 700, 700) Then + If $g_bDebugImageSave Then DebugImageSave("LabUpgrade") ; Debug Only + Click($g_iQuickMISX + 200, $g_iQuickMISY + 620) If _Sleep($DELAYLABORATORY1) Then Return ; Wait for window to open Else - SetLog("Trouble finding research button, try again...", $COLOR_WARNING) + Setlog("Trouble finding research button, try again...", $COLOR_WARNING) ClickP($aAway, 2, $DELAYLABORATORY4, "#0199") Return False EndIf + ; check for upgrade in process - look for green in finish upgrade with gems button + If $g_bDebugSetlog Then SetLog("_GetPixelColor(730, 200): " & _GetPixelColor(730, 200, True) & ":A2CB6C", $COLOR_DEBUG) + If _ColorCheck(_GetPixelColor(730, 200, True), Hex(0xA2CB6C, 6), 20) Then + SetLog("Laboratory Upgrade in progress, waiting for completion", $COLOR_INFO) + If _Sleep($DELAYLABORATORY2) Then Return + ; upgrade in process and time not recorded so update completion time! + Local $sLabTimeOCR = getRemainTLaboratory(270, 257) + Local $iLabFinishTime = ConvertOCRTime("Lab Time", $sLabTimeOCR, False) + SetDebugLog("$sLabTimeOCR: " & $sLabTimeOCR & ", $iLabFinishTime = " & $iLabFinishTime & " m") + If $iLabFinishTime > 0 Then + $g_sLabUpgradeTime = _DateAdd('n', Ceiling($iLabFinishTime), _NowCalc()) + If @error Then _logErrorDateAdd(@error) + SetLog("Research will finish in " & $sLabTimeOCR & " (" & $g_sLabUpgradeTime & ")") + LabStatusGUIUpdate() ; Update GUI flag + ElseIf $g_bDebugSetlog Then + SetLog("Invalid getRemainTLaboratory OCR", $COLOR_DEBUG) + EndIf + ClickP($aAway, 2, $DELAYLABORATORY4, "#0328") + Return False + EndIf + ; reset lab troop positions to default For $i = 1 to UBound($aiIconDefaultPOS) - 1 $g_avLabTroops[$i][0] = $aiIconDefaultPOS[$i][0] @@ -133,218 +166,230 @@ Func Laboratory() ; Lab window coor correction Local $aiCloseBtn = findButton("CloseWindow") If IsArray($aiCloseBtn) Then - Local $iXMoved = $aiCloseBtn[0] - $aiCloseDefaultPOS[0] - Local $iYMoved = $aiCloseBtn[1] - $aiCloseDefaultPOS[1] + $iXMoved = $aiCloseBtn[0] - $aiCloseDefaultPOS[0] + $iYMoved = $aiCloseBtn[1] - $aiCloseDefaultPOS[1] If $g_bDebugSetlog Then Setlog("Lab window off: (" & $iXMoved & ", " & $iYMoved & ")", $COLOR_DEBUG) - If $iXMoved <> 0 Then - For $i = 1 to UBound($aiIconDefaultPOS) - 1 - $g_avLabTroops[$i][0] = $aiIconDefaultPOS[$i][0] + $iXMoved - If $g_bDebugSetlog Then Setlog("New icon X position of " & $g_avLabTroops[$i][3] & " : " & $g_avLabTroops[$i][0], $COLOR_DEBUG) - Next - EndIf - If $iYMoved <> 0 Then - For $i = 1 to UBound($aiIconDefaultPOS) - 1 - $g_avLabTroops[$i][1] = $aiIconDefaultPOS[$i][1] + $iYMoved - If $g_bDebugSetlog Then Setlog("New icon Y position of " & $g_avLabTroops[$i][3] & " : " & $g_avLabTroops[$i][1], $COLOR_DEBUG) - Next - EndIf Else SetLog("Trouble finding lab close button, try again...", $COLOR_WARNING) ClickP($aAway, 2, $DELAYLABORATORY4, "#0199") Return False EndIf + For $x = 0 To 10 ; check for an offset of icons on first page in lab + If Not (_ColorCheck(_GetPixelColor(114 + $x + $iXMoved, 410 + $iYMoved, True), $sColorBG, 10) And _ + _ColorCheck(_GetPixelColor(114 + $x + $iXMoved, 520 + $iYMoved, True), $sColorBG, 10)) Then + $iFirstPageOffset = $x + ExitLoop + EndIf + Next + If $g_bDebugSetlog Then Setlog("Icon Offset on First Page: " & $iFirstPageOffset & "px", $COLOR_DEBUG) + For $i = 0 To 2 + ClickDrag(635, 439 + $g_iMidOffsetY, 220, 439 + $g_iMidOffsetY, 250) + Next + If _Sleep($DELAYLABORATORY5) Then Return + For $x = 0 To 5 ; check for an offset of icons on last page in lab + If Not (_ColorCheck(_GetPixelColor(114 + $x + $iXMoved, 410 + $iYMoved, True), $sColorBG, 10) And _ + _ColorCheck(_GetPixelColor(114 + $x + $iXMoved, 520 + $iYMoved, True), $sColorBG, 10)) Then + $iLastPageOffset = $x + ExitLoop + EndIf + Next + If $g_bDebugSetlog Then Setlog("Icon Offset on Last Page: " & $iLastPageOffset & "px", $COLOR_DEBUG) + For $i = 0 To 2 + ClickDrag(220, 439 + $g_iMidOffsetY, 635, 439 + $g_iMidOffsetY, 250) + Next + If _Sleep($DELAYLABORATORY5) Then Return + For $i = 1 to UBound($aiIconDefaultPOS) - 1 ; Applying all offsets + $g_avLabTroops[$i][0] = $aiIconDefaultPOS[$i][0] + $iXMoved + (($g_avLabTroops[$i][2] = 0) ? $iFirstPageOffset : 0) + (($g_avLabTroops[$i][2] = 2) ? $iLastPageOffset : 0) + If $g_bDebugSetlog Then Setlog("New icon X position of " & $g_avLabTroops[$i][3] & " : " & $g_avLabTroops[$i][0], $COLOR_DEBUG) + $g_avLabTroops[$i][1] = $aiIconDefaultPOS[$i][1] + $iYMoved + If $g_bDebugSetlog Then Setlog("New icon Y position of " & $g_avLabTroops[$i][3] & " : " & $g_avLabTroops[$i][1], $COLOR_DEBUG) + Next + ; First page If $g_bDebugSetlog Then LabTroopImages(1, 12) - If $g_iFirstTimeLab = 0 Then ; Need to get upgrade value for troops on page 1, only do this on 1st cycle of function - For $i = 1 To 12 - $aUpgradeValue[$i] = getLabUpgrdResourceRed($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) - If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " Red text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) - If $aUpgradeValue[$i] = "" Or Int($aUpgradeValue[$i]) < 49999 Then ; check if blank or below min value for any upgrade on page 1 - $aUpgradeValue[$i] = getLabUpgrdResourceWht($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) - If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " White text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) - EndIf - If $aUpgradeValue[$i] = "" Or Int($aUpgradeValue[$i]) < 49999 Then ; check if blank or below min value for any upgrade on page 1 - If _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 76, True), $sColorMaxLvl, 20) And _ - _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 80, True), $sColorMaxLvl, 20) Then - $aUpgradeValue[$i] = -1 - If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " Is Maxed already, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) - EndIf + For $i = 1 To 12 + $aUpgradeValue[$i] = getLabUpgrdResourceRed($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) + If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " Red text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) + If $aUpgradeValue[$i] = "" Or Int($aUpgradeValue[$i]) < 9999 Then ; check if blank or below min value for any upgrade on page 1 + $aUpgradeValue[$i] = getLabUpgrdResourceWht($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) + If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " White text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) + EndIf + If $aUpgradeValue[$i] = "" Or Int($aUpgradeValue[$i]) < 9999 Then ; check if blank or below min value for any upgrade on page 1 + $aUpgradeValue[$i] = 0 + If _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 76, True), $sColorMaxLvl, 20) And _ + _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 80, True), $sColorMaxLvl, 20) Then + $aUpgradeValue[$i] = -1 + If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " Is Maxed already, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) + ; Check if Lab upgrade required, Look for Gray pixel inside left border + ElseIf _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0], $g_avLabTroops[$i][1] + 20, True), $sColorLabUgReq, 25) = True Or _ + _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 93, $g_avLabTroops[$i][1] + 20, True), $sColorLabUgReq, 25) = True Then + $aUpgradeValue[$i] = -1 + If $g_bDebugSetlog Then SetLog("Lab upgrade required for " & $g_avLabTroops[$i][3] & ", now = " & $aUpgradeValue[$i], $COLOR_DEBUG) + ; Check if troop not unlocked, look for beige pixel in center just below top edge + ElseIf _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 47, $g_avLabTroops[$i][1] + 1, True), $sColorNA, 20) = True Then + $aUpgradeValue[$i] = -1 + If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " not unlocked yet, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) EndIf - If Not $g_bRunState Then Return - Next - $g_iFirstTimeLab = 1 - EndIf + EndIf + If Not $g_bRunState Then Return + Next ; Second page - If $g_avLabTroops[$g_iCmbLaboratory][2] >= 1 Then ; when troop located on page 2+ of lab window and Move to four icon squares - ClickDrag(650, 439 + $g_iMidOffsetY, 290, 439 + $g_iMidOffsetY, 1000) - If $g_avLabTroops[$g_iCmbLaboratory][2] = 1 Or $g_iFirstTimeLab < 2 Then ; page 2 position correction when stay on 2nd page or 1st cycle of function - If _Sleep($DELAYLABORATORY3) Then Return - If Not ClickDragLab($aiIconDefaultPOS[14][0]) Then - SetLog("Trouble finding 2nd page of lab, try again...", $COLOR_WARNING) - ClickP($aAway, 2, $DELAYLABORATORY4, "#0199") - Return False - EndIf + For $i = 0 To 1 + ClickDrag(615, 439 + $g_iMidOffsetY, 325, 439 + $g_iMidOffsetY, 250) + Next + If _Sleep($DELAYLABORATORY3) Then Return + If Not ClickDragLab($g_avLabTroops[14][0]) Then + SetLog("Trouble finding 2nd page of lab, try again...", $COLOR_WARNING) + ClickP($aAway, 2, $DELAYLABORATORY4, "#0199") + Return False + EndIf + If _Sleep($DELAYLABORATORY3) Then Return + If $g_bDebugSetlog Then LabTroopImages(13, 20) + For $i = 13 To 24 + $aUpgradeValue[$i] = getLabUpgrdResourceRed($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) + If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " Red text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) + If $aUpgradeValue[$i] = "" Or $aUpgradeValue[$i] < 9999 Then ; check if blank or below min value for any upgrade on page 2 + $aUpgradeValue[$i] = getLabUpgrdResourceWht($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) + If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " White text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) EndIf - If _Sleep($DELAYLABORATORY3) Then Return - If $g_bDebugSetlog Then LabTroopImages(13, 20) - If $g_iFirstTimeLab < 2 Then ; Need to get upgrade value for troops on page 2, only do this on 1st cycle of function - For $i = 13 To 20 - $aUpgradeValue[$i] = getLabUpgrdResourceRed($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) - If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " Red text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) - If $aUpgradeValue[$i] = "" Or $aUpgradeValue[$i] < 9999 Then ; check if blank or below min value for any upgrade on page 2 - $aUpgradeValue[$i] = getLabUpgrdResourceWht($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) - If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " White text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) - EndIf - If $aUpgradeValue[$i] = "" Or $aUpgradeValue[$i] < 9999 Then ; check if blank or below min value for any upgrade on page 2 - If _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 76, True), $sColorMaxLvl, 20) And _ - _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 80, True), $sColorMaxLvl, 20) Then - $aUpgradeValue[$i] = -1 - If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " Is Maxed already, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) - EndIf - EndIf - If Not $g_bRunState Then Return - Next - $g_iFirstTimeLab += 2 + If $aUpgradeValue[$i] = "" Or $aUpgradeValue[$i] < 9999 Then ; check if blank or below min value for any upgrade on page 2 + $aUpgradeValue[$i] = 0 + If _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 76, True), $sColorMaxLvl, 20) And _ + _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 80, True), $sColorMaxLvl, 20) Then + $aUpgradeValue[$i] = -1 + If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " Is Maxed already, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) + ; Check if Lab upgrade required, Look for Gray pixel inside left border + ElseIf _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0], $g_avLabTroops[$i][1] + 20, True), $sColorLabUgReq, 25) = True Or _ + _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 93, $g_avLabTroops[$i][1] + 20, True), $sColorLabUgReq, 25) = True Then + $aUpgradeValue[$i] = -1 + If $g_bDebugSetlog Then SetLog("Lab upgrade required for " & $g_avLabTroops[$i][3] & ", now = " & $aUpgradeValue[$i], $COLOR_DEBUG) + ; Check if troop not unlocked, look for beige pixel in center just below top edge + ElseIf _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 47, $g_avLabTroops[$i][1] + 1, True), $sColorNA, 20) = True Then + $aUpgradeValue[$i] = -1 + If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " not unlocked yet, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) + EndIf EndIf - EndIf + If Not $g_bRunState Then Return + Next - ; Last page - If $g_avLabTroops[$g_iCmbLaboratory][2] = 2 Then ; when troop located on last (next) page of lab window and Move to the page - ClickDrag(650, 443 + $g_iMidOffsetY, 114, 443 + $g_iMidOffsetY, 1000) - If _Sleep($DELAYLABORATORY5) Then Return - If $g_bDebugSetlog Then LabTroopImages(21, 32) - If $g_iFirstTimeLab < 4 Then ; Need to get upgrade value for troops on last page, only do this on 1st cycle of function - For $i = 21 To 32 - $aUpgradeValue[$i] = getLabUpgrdResourceRed($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) - If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " Red text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) - If $aUpgradeValue[$i] = "" Or Int($aUpgradeValue[$i]) < 9999 Then ; check if blank or below min value for any upgrade on last page - $aUpgradeValue[$i] = getLabUpgrdResourceWht($g_avLabTroops[$i][0] + 3 , $g_avLabTroops[$i][1] + 73) - If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " White text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) - EndIf - If $aUpgradeValue[$i] = "" Or Int($aUpgradeValue[$i]) < 9999 Then ; check if blank or below min value for any upgrade on last page - If _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 76, True), $sColorMaxLvl, 20) And _ - _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 80, True), $sColorMaxLvl, 20) Then - $aUpgradeValue[$i] = -1 - If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " Is Maxed already, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) - EndIf - EndIf - If Not $g_bRunState Then Return - Next - $g_iFirstTimeLab += 4 + ; Third page + For $i = 0 To 1 + ClickDrag(620, 439 + $g_iMidOffsetY, 320, 439 + $g_iMidOffsetY, 250) + Next + If _Sleep($DELAYLABORATORY5) Then Return + If $g_bDebugSetlog Then LabTroopImages(21, 32) + For $i = 25 To 35 + $aUpgradeValue[$i] = getLabUpgrdResourceRed($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) + If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " Red text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) + If $aUpgradeValue[$i] = "" Or Int($aUpgradeValue[$i]) < 9999 Then ; check if blank or below min value for any upgrade on last page + $aUpgradeValue[$i] = getLabUpgrdResourceWht($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) + If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " White text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) EndIf - EndIf - - ; Track Elixir cost for Wall Upgrade check - Switch $g_iCmbLaboratory - Case 1 To 19 ; regular elixir - ContinueCase - Case 31 To 32 ; regular elixir - If $aUpgradeValue[$g_iCmbLaboratory] > 0 Then $g_iLaboratoryElixirCost = $aUpgradeValue[$g_iCmbLaboratory] - EndSwitch - - ; check for upgrade in process - look for green in finish upgrade with gems button - If _ColorCheck(_GetPixelColor(625, 266 + $g_iMidOffsetY, True), Hex(0x6CB91D, 6), 20) Or _ColorCheck(_GetPixelColor(660, 266 + $g_iMidOffsetY, True), Hex(0x6CB91D, 6), 20) Then - SetLog("Upgrade in progress, waiting for completion of other troops", $COLOR_INFO) - If _Sleep($DELAYLABORATORY2) Then Return - ; upgrade in process and time not recorded? Then update completion time! - If $g_sLabUpgradeTime = "" Or $TimeDiff <= 0 Then - $Result = getRemainTLaboratory(270, 257) ; Try to read white text showing actual time left for upgrade - If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$g_iCmbLaboratory][3] & " OCR Remaining Lab Time = " & $Result, $COLOR_DEBUG) - $aArray = StringSplit($Result, ' ', BitOR($STR_CHRSPLIT, $STR_NOCOUNT)) ;separate days, hours, minutes, seconds - If IsArray($aArray) Then - Local $iRemainingTimeMin = 0 - For $i = 0 To UBound($aArray) - 1 ; step through array and compute minutes remaining - Local $sTime = "" - Select - Case StringInStr($aArray[$i], "d", $STR_NOCASESENSEBASIC) > 0 - $sTime = StringTrimRight($aArray[$i], 1) ; removing the "d" - $iRemainingTimeMin += (Int($sTime) * 24 * 60) ; change days to minutes and add - Case StringInStr($aArray[$i], "h", $STR_NOCASESENSEBASIC) > 0 - $sTime = StringTrimRight($aArray[$i], 1) ; removing the "h" - $iRemainingTimeMin += (Int($sTime) * 60) ; change hours to minutes and add - Case StringInStr($aArray[$i], "m", $STR_NOCASESENSEBASIC) > 0 - $sTime = StringTrimRight($aArray[$i], 1) ; removing the "m" - $iRemainingTimeMin += Int($sTime) ; add minutes - Case StringInStr($aArray[$i], "s", $STR_NOCASESENSEBASIC) > 0 - $sTime = StringTrimRight($aArray[$i], 1) ; removing the "s" - $iRemainingTimeMin += Int($sTime) / 60 ; Add seconds - Case Else - SetLog("Remaining lab time OCR invalid:" & $aArray[$i], $COLOR_WARNING) - ClickP($aAway, 2, $DELAYLABORATORY4, "#0328") - Return False - EndSelect - If $g_bDebugSetlog Then SetDebugLog("Remain Lab Time: " & $aArray[$i] & ", Minutes= " & $iRemainingTimeMin, $COLOR_DEBUG) - Next - $g_sLabUpgradeTime = _DateAdd('n', Ceiling($iRemainingTimeMin), _NowCalc()) ; add the time required to NOW to finish the upgrade - If @error Then _logErrorDateAdd(@error) - SetLog("Updated Lab finishing time: " & $g_sLabUpgradeTime, $COLOR_SUCCESS) - LabStatusGUIUpdate() ; Update GUI flag - Else - If $g_bDebugSetlog Then SetDebugLog("Invalid getRemainTLaboratory OCR", $COLOR_DEBUG) + If $aUpgradeValue[$i] = "" Or Int($aUpgradeValue[$i]) < 9999 Then ; check if blank or below min value for any upgrade on last page + $aUpgradeValue[$i] = 0 + If _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 76, True), $sColorMaxLvl, 20) And _ + _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 80, True), $sColorMaxLvl, 20) Then + $aUpgradeValue[$i] = -1 + If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " Is Maxed already, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) + ; Check if Lab upgrade required, Look for Gray pixel inside left border + ElseIf _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0], $g_avLabTroops[$i][1] + 20, True), $sColorLabUgReq, 25) = True Or _ + _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 93, $g_avLabTroops[$i][1] + 20, True), $sColorLabUgReq, 25) = True Then + $aUpgradeValue[$i] = -1 + If $g_bDebugSetlog Then SetLog("Lab upgrade required for " & $g_avLabTroops[$i][3] & ", now = " & $aUpgradeValue[$i], $COLOR_DEBUG) + ; Check if troop not unlocked, look for beige pixel in center just below top edge + ElseIf _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 47, $g_avLabTroops[$i][1] + 1, True), $sColorNA, 20) = True Then + $aUpgradeValue[$i] = -1 + If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " not unlocked yet, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) EndIf EndIf - ClickP($aAway, 2, $DELAYLABORATORY4, "#0328") - Return False - EndIf - - ; Upgrade max level already + If Not $g_bRunState Then Return + Next + If $aUpgradeValue[$g_iCmbLaboratory] = -1 Then - SetLog($g_avLabTroops[$g_iCmbLaboratory][3] & " already max level, select another troop", $COLOR_WARNING) - ClickP($aAway, 2, $DELAYLABORATORY4, "#0353") - Return False + If $g_iCmbLaboratory = 0 Then + SetLog("No dedicated troop for upgrade selected, doing cheapest upgrade", $COLOR_ACTION) + Else + SetLog("No upgrade for " & $g_avLabTroops[$g_iCmbLaboratory][3] & " available, doing cheapest upgrade", $COLOR_ACTION) + EndIf + For $i = 1 To 35 + Switch $i + Case 1 To 19 ; regular elixir + ContinueCase + Case 33 To 35 + If $aUpgradeValue[$i] > 0 And ($iCheapestCost = 0 Or $aUpgradeValue[$i] < $iCheapestCost) Then + $iSelectedUpgrade = $i + $iCheapestCost = $aUpgradeValue[$i] + EndIf + Case 20 To 32; Dark Elixir, multiply value with 50 + If $aUpgradeValue[$i] > 0 And ($iCheapestCost = 0 Or $aUpgradeValue[$i] * 50 < $iCheapestCost) Then + $iSelectedUpgrade = $i + $iCheapestCost = $aUpgradeValue[$i] * 50 + EndIf + EndSwitch + Next + If $g_iCmbLaboratory = $iSelectedUpgrade Then + SetLog("No alternate troop for upgrade found", $COLOR_WARNING) + ClickP($aAway, 2, $DELAYLABORATORY4, "#0353") + Return False + Else + SetLog($g_avLabTroops[$iSelectedUpgrade][3] & " selected for upgrade, upgrade cost = " & $aUpgradeValue[$iSelectedUpgrade], $COLOR_INFO) + EndIf EndIf - ; Upgrade not available - If $aUpgradeValue[$g_iCmbLaboratory] = 0 Then - ; Check if Lab upgrade required, Look for Gray pixel inside left border - If _ColorCheck(_GetPixelColor($g_avLabTroops[$g_iCmbLaboratory][0], $g_avLabTroops[$g_iCmbLaboratory][1] + 20, True), $sColorLabUgReq, 25) = True Or _ - _ColorCheck(_GetPixelColor($g_avLabTroops[$g_iCmbLaboratory][0] + 93, $g_avLabTroops[$g_iCmbLaboratory][1] + 20, True), $sColorLabUgReq, 25) = True Then - SetLog("Lab upgrade required for " & $g_avLabTroops[$g_iCmbLaboratory][3] & ", select another troop", $COLOR_WARNING) - If _Sleep($DELAYLABUPGRADE2) Then Return - ; Check if troop not unlocked, look for beige pixel in center just below top edge - ElseIf _ColorCheck(_GetPixelColor($g_avLabTroops[$g_iCmbLaboratory][0] + 47, $g_avLabTroops[$g_iCmbLaboratory][1] + 1, True), $sColorNA, 20) = True Then - SetLog($g_avLabTroops[$g_iCmbLaboratory][3] & " not unlocked yet, try later or select another troop", $COLOR_WARNING) - ; OCR read error, reset read flag and quit + ; Drag back to page 2 or 1 + If $g_avLabTroops[$iSelectedUpgrade][2] < 2 Then ; when troop located on page 1 or 2 + If $g_avLabTroops[$iSelectedUpgrade][2] = 1 Then ; page 2 position correction when stay on 2nd page + For $i = 0 To 1 + ClickDrag(320, 439 + $g_iMidOffsetY, 620, 439 + $g_iMidOffsetY, 250) + Next + If _Sleep($DELAYLABORATORY3) Then Return + If Not ClickDragLab($g_avLabTroops[14][0]) Then + SetLog("Trouble finding 2nd page of lab, try again...", $COLOR_WARNING) + ClickP($aAway, 2, $DELAYLABORATORY4, "#0199") + Return False + EndIf Else - SetLog($g_avLabTroops[$g_iCmbLaboratory][3] & " value read error, close bot and try again!", $COLOR_ERROR) - $g_iFirstTimeLab = 0 ; reset value read flag in case user does not restart bot to clear the flag to read again + For $i = 0 To 2 + ClickDrag(220, 439 + $g_iMidOffsetY, 635, 439 + $g_iMidOffsetY, 250) + Next EndIf - ClickP($aAway, 2, $DELAYLABORATORY4, "#0354") - Return False + If _Sleep($DELAYLABORATORY5) Then Return EndIf ; Try to upgrade - LabUpgrade(), check insufficient resource first - Switch $g_iCmbLaboratory + Switch $iSelectedUpgrade Case 1 To 19 ; regular elixir ContinueCase - Case 31 To 32 - If $iAvailElixir < ($aUpgradeValue[$g_iCmbLaboratory] + $g_iUpgradeMinElixir) Then - SetLog("Insufficent Elixir for " & $g_avLabTroops[$g_iCmbLaboratory][3] & ", Lab requires: " & $aUpgradeValue[$g_iCmbLaboratory] & " + " & $g_iUpgradeMinElixir & " user reserve, available: " & $iAvailElixir, $COLOR_INFO) + Case 33 To 35 + If $iAvailElixir < ($aUpgradeValue[$iSelectedUpgrade] + $g_iUpgradeMinElixir) Then + If $aUpgradeValue[$iSelectedUpgrade] > 0 Then $g_iLaboratoryElixirCost = $aUpgradeValue[$iSelectedUpgrade] ; Reserve elixier and prevent wall upgrade as long + SetLog("Insufficent Elixir for " & $g_avLabTroops[$iSelectedUpgrade][3] & ", Lab requires: " & $aUpgradeValue[$iSelectedUpgrade] & " + " & $g_iUpgradeMinElixir & " user reserve, available: " & $iAvailElixir, $COLOR_INFO) ClickP($aAway, 2, $DELAYLABORATORY4, "#0355") Return False EndIf - If LabUpgrade() = True Then - SetLog("Elixir used = " & $aUpgradeValue[$g_iCmbLaboratory], $COLOR_INFO) + If LabUpgrade($iSelectedUpgrade) = True Then + SetLog("Elixir used = " & $aUpgradeValue[$iSelectedUpgrade], $COLOR_INFO) ClickP($aAway, 2, $DELAYLABORATORY4, "#0356") Return True EndIf - Case 20 To 30; Dark Elixir - If $iAvailDark < $aUpgradeValue[$g_iCmbLaboratory] + $g_iUpgradeMinDark Then - SetLog("Insufficent Dark Elixir for " & $g_avLabTroops[$g_iCmbLaboratory][3] & ", Lab requires: " & $aUpgradeValue[$g_iCmbLaboratory] & " + " & $g_iUpgradeMinDark & " user reserve, available: " & $iAvailDark, $COLOR_INFO) + Case 20 To 32; Dark Elixir + If $iAvailDark < $aUpgradeValue[$iSelectedUpgrade] + $g_iUpgradeMinDark Then + If $aUpgradeValue[$iSelectedUpgrade] > 0 Then $g_iLaboratoryDElixirCost = $aUpgradeValue[$iSelectedUpgrade] ; Reserve dark elixier and prevent hero upgrade as long + SetLog("Insufficent Dark Elixir for " & $g_avLabTroops[$iSelectedUpgrade][3] & ", Lab requires: " & $aUpgradeValue[$iSelectedUpgrade] & " + " & $g_iUpgradeMinDark & " user reserve, available: " & $iAvailDark, $COLOR_INFO) ClickP($aAway, 2, $DELAYLABORATORY4, "#0357") Return False EndIf - If LabUpgrade() = True Then - SetLog("Dark Elixir used = " & $aUpgradeValue[$g_iCmbLaboratory], $COLOR_INFO) + If LabUpgrade($iSelectedUpgrade) = True Then + SetLog("Dark Elixir used = " & $aUpgradeValue[$iSelectedUpgrade], $COLOR_INFO) ClickP($aAway, 2, $DELAYLABORATORY4, "#0358") Return True EndIf Case Else - SetLog("Something went wrong with loot value on Lab upgrade on #" & $g_avLabTroops[$g_iCmbLaboratory][3], $COLOR_ERROR) + SetLog("Something went wrong with loot value on Lab upgrade on #" & $g_avLabTroops[$iSelectedUpgrade][3], $COLOR_ERROR) Return False EndSwitch @@ -353,47 +398,47 @@ Func Laboratory() EndFunc ;==>Laboratory ; -Func LabUpgrade() +Func LabUpgrade($iSelectedUpgrade) Local $StartTime, $EndTime, $EndPeriod, $Result, $TimeAdd = 0 Select - Case _ColorCheck(_GetPixelColor($g_avLabTroops[$g_iCmbLaboratory][0] + 47, $g_avLabTroops[$g_iCmbLaboratory][1] + 1, True), $sColorNA, 20) = True + Case _ColorCheck(_GetPixelColor($g_avLabTroops[$iSelectedUpgrade][0] + 47, $g_avLabTroops[$iSelectedUpgrade][1] + 1, True), $sColorNA, 20) = True ; check for beige pixel in center just below edge for troop not unlocked - SetLog($g_avLabTroops[$g_iCmbLaboratory][3] & " not unlocked yet, select another troop", $COLOR_WARNING) + SetLog($g_avLabTroops[$iSelectedUpgrade][3] & " not unlocked yet, select another troop", $COLOR_WARNING) If _Sleep($DELAYLABUPGRADE2) Then Return - Case _PixelSearch($g_avLabTroops[$g_iCmbLaboratory][0] + 67, $g_avLabTroops[$g_iCmbLaboratory][1] + 79, $g_avLabTroops[$g_iCmbLaboratory][0] + 69, $g_avLabTroops[$g_iCmbLaboratory][0] + 84, $sColorNoLoot, 20) <> 0 + Case _PixelSearch($g_avLabTroops[$iSelectedUpgrade][0] + 67, $g_avLabTroops[$iSelectedUpgrade][1] + 79, $g_avLabTroops[$iSelectedUpgrade][0] + 69, $g_avLabTroops[$iSelectedUpgrade][0] + 84, $sColorNoLoot, 20) <> 0 ; Check for Pink pixels last zero of loot value to see if enough loot is available. ; this case should never be run if value check is working right! - SetLog("Value check error and Not enough Loot to upgrade " & $g_avLabTroops[$g_iCmbLaboratory][3] & "...", $COLOR_ERROR) + SetLog("Value check error and Not enough Loot to upgrade " & $g_avLabTroops[$iSelectedUpgrade][3] & "...", $COLOR_ERROR) If _Sleep($DELAYLABUPGRADE2) Then Return - Case _ColorCheck(_GetPixelColor($g_avLabTroops[$g_iCmbLaboratory][0] + 22, $g_avLabTroops[$g_iCmbLaboratory][1] + 60, True), Hex(0xFFC360, 6), 20) = True + Case _ColorCheck(_GetPixelColor($g_avLabTroops[$iSelectedUpgrade][0] + 22, $g_avLabTroops[$iSelectedUpgrade][1] + 60, True), Hex(0xFFC360, 6), 20) = True ; Look for Golden pixel inside level indicator for max troops - SetLog($g_avLabTroops[$g_iCmbLaboratory][3] & " already max level, select another troop", $COLOR_ERROR) + SetLog($g_avLabTroops[$iSelectedUpgrade][3] & " already max level, select another troop", $COLOR_ERROR) If _Sleep($DELAYLABUPGRADE2) Then Return - Case _ColorCheck(_GetPixelColor($g_avLabTroops[$g_iCmbLaboratory][0] + 3, $g_avLabTroops[$g_iCmbLaboratory][1] + 19, True), Hex(0xB7B7B7, 6), 20) = True + Case _ColorCheck(_GetPixelColor($g_avLabTroops[$iSelectedUpgrade][0] + 3, $g_avLabTroops[$iSelectedUpgrade][1] + 19, True), Hex(0xB7B7B7, 6), 20) = True ; Look for Gray pixel inside left border if Lab upgrade required or if we missed that upgrade is in process - SetLog("Laboratory upgrade not available now for " & $g_avLabTroops[$g_iCmbLaboratory][3] & "...", $COLOR_ERROR) + SetLog("Laboratory upgrade not available now for " & $g_avLabTroops[$iSelectedUpgrade][3] & "...", $COLOR_ERROR) If _Sleep($DELAYLABUPGRADE2) Then Return Case Else ; If none of other error conditions apply, begin upgrade process - Click($g_avLabTroops[$g_iCmbLaboratory][0] + 40, $g_avLabTroops[$g_iCmbLaboratory][1] + 40, 1, 0, "#0200") ; Click Upgrade troop button + Click($g_avLabTroops[$iSelectedUpgrade][0] + 40, $g_avLabTroops[$iSelectedUpgrade][1] + 40, 1, 0, "#0200") ; Click Upgrade troop button If _Sleep($DELAYLABUPGRADE1) Then Return ; Wait for window to open If $g_bDebugImageSave Then DebugImageSave("LabUpgrade") ; double check if maxed? If _ColorCheck(_GetPixelColor(258, 192, True), Hex(0xFF1919, 6), 20) And _ColorCheck(_GetPixelColor(272, 194, True), Hex(0xFF1919, 6), 20) Then - SetLog($g_avLabTroops[$g_iCmbLaboratory][3] & " Previously maxxed, select another troop", $COLOR_ERROR) ; oops, we found the red warning message + SetLog($g_avLabTroops[$iSelectedUpgrade][3] & " Previously maxxed, select another troop", $COLOR_ERROR) ; oops, we found the red warning message If _Sleep($DELAYLABUPGRADE2) Then Return ClickP($aAway, 2, $DELAYLABUPGRADE3, "#0201") Return False EndIf ; double check enough elixir? - If _PixelSearch($g_avLabTroops[$g_iCmbLaboratory][0] + 67, $g_avLabTroops[$g_iCmbLaboratory][1] + 79, $g_avLabTroops[$g_iCmbLaboratory][0] + 69, $g_avLabTroops[$g_iCmbLaboratory][0] + 84, $sColorNoLoot, 20) <> 0 Then ; Check for Red Zero = means not enough loot! - SetLog("Missing Loot to upgrade " & $g_avLabTroops[$g_iCmbLaboratory][3] & " (secondary check after Upgrade Value read failed)", $COLOR_ERROR) + If _PixelSearch($g_avLabTroops[$iSelectedUpgrade][0] + 67, $g_avLabTroops[$iSelectedUpgrade][1] + 79, $g_avLabTroops[$iSelectedUpgrade][0] + 69, $g_avLabTroops[$iSelectedUpgrade][0] + 84, $sColorNoLoot, 20) <> 0 Then ; Check for Red Zero = means not enough loot! + SetLog("Missing Loot to upgrade " & $g_avLabTroops[$iSelectedUpgrade][3] & " (secondary check after Upgrade Value read failed)", $COLOR_ERROR) If _Sleep($DELAYLABUPGRADE2) Then Return ClickP($aAway, 2, $DELAYLABUPGRADE3, "#0333") Return False @@ -407,56 +452,20 @@ Func LabUpgrade() Return False Else ; get upgrade time from window - $Result = getLabUpgradeTime(481, 557) ; Try to read white text showing time for upgrade - SetLog($g_avLabTroops[$g_iCmbLaboratory][3] & " Upgrade OCR Time = " & $Result, $COLOR_INFO) + $Result = getLabUpgradeTime(581, 497) ; Try to read white text showing time for upgrade + Local $iLabFinishTime = ConvertOCRTime("Lab Time", $Result, False) + SetLog($g_avLabTroops[$iSelectedUpgrade][3] & " Upgrade OCR Time = " & $Result & ", $iLabFinishTime = " & $iLabFinishTime & " m", $COLOR_INFO) $StartTime = _NowCalc() ; what is date:time now - If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$g_iCmbLaboratory][3] & "Upgrade Started @ " & $StartTime, $COLOR_SUCCESS) - ; Compute upgrade end time - $EndTime = "" - $EndPeriod = "" - $TimeAdd = 0 - $g_sLabUpgradeTime = StringStripWS($Result, $STR_STRIPALL) - Local $aArray = StringRegExp($g_sLabUpgradeTime, '\d+', $STR_REGEXPARRAYMATCH) - If IsArray($aArray) Then - If $g_bDebugSetlog Then ; debug - display array value - For $i = 0 To UBound($aArray) - 1 - SetLog("UpgradeTime $aArray[" & $i & "] = " & $aArray[$i]) - Next - EndIf - $EndTime = $aArray[0] - $EndPeriod = StringReplace($g_sLabUpgradeTime, $EndTime, "") - Switch $EndPeriod - Case "d" - $TimeAdd = (Int($EndTime) * 24 * 60) - 10 ; change days to minutes, minus 10 minute - $g_sLabUpgradeTime = _DateAdd('n', Int($TimeAdd), $StartTime) ; add the time required to finish the upgrade - Case "h" - $TimeAdd = (Int($EndTime) * 60) - 3 ; change hours to minutes, minus 3 minutes - $g_sLabUpgradeTime = _DateAdd('n', Int($TimeAdd), $StartTime) ; add the time required to finish the upgrade - Case "m" - $TimeAdd = Int($EndTime) ; change to minutes - $g_sLabUpgradeTime = _DateAdd('n', Int($TimeAdd), $StartTime) ; add the time required to finish the upgrade - Case Else - SetLog("Upgrade time period invalid, try again!", $COLOR_WARNING) - EndSwitch - If $g_bDebugSetlog Then SetDebugLog("$EndTime = " & $EndTime & " , $EndPeriod = " & $EndPeriod & ", $timeadd = " & $TimeAdd, $COLOR_DEBUG) - SetLog($g_avLabTroops[$g_iCmbLaboratory][3] & "Upgrade Finishes @ " & $g_sLabUpgradeTime, $COLOR_SUCCESS) + If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$iSelectedUpgrade][3] & " Upgrade Started @ " & $StartTime, $COLOR_SUCCESS) + If $iLabFinishTime > 0 Then + $g_sLabUpgradeTime = _DateAdd('n', Ceiling($iLabFinishTime), $StartTime) + SetLog($g_avLabTroops[$iSelectedUpgrade][3] & " Upgrade Finishes @ " & $Result & " (" & $g_sLabUpgradeTime & ")", $COLOR_SUCCESS) Else - SetLog("Error reading the upgrade time required, try again!", $COLOR_WARNING) - EndIf - If _DateIsValid($g_sLabUpgradeTime) = 0 Then ; verify success of StringRegExp to process upgrade date/time SetLog("Error processing upgrade time required, try again!", $COLOR_WARNING) Return False - Else - Local $txtTip = GetTranslatedFileIni("MBR Func_Village_Upgrade", "BtnResetLabUpgradeTime_Info_01", "Visible Red button means that laboratory upgrade in process") & @CRLF & _ - GetTranslatedFileIni("MBR Func_Village_Upgrade", "BtnResetLabUpgradeTime_Info_02", "This will automatically disappear when near time for upgrade to be completed.") & @CRLF & _ - GetTranslatedFileIni("MBR Func_Village_Upgrade", "BtnResetLabUpgradeTime_Info_03", "If upgrade has been manually finished with gems before normal end time,") & @CRLF & _ - GetTranslatedFileIni("MBR Func_Village_Upgrade", "BtnResetLabUpgradeTime_Info_04", "Click red button to reset internal upgrade timer BEFORE STARTING NEW UPGRADE") & @CRLF & _ - GetTranslatedFileIni("MBR Func_Village_Upgrade", "BtnResetLabUpgradeTime_Info_05", "Caution - Unnecessary timer reset will force constant checks for lab status") & @CRLF & @CRLF & _ - GetTranslatedFileIni("MBR Func_Village_Upgrade", "BtnResetLabUpgradeTime_Info_06", "Troop Upgrade started") & ": " & $StartTime & ", " & _ - GetTranslatedFileIni("MBR Func_Village_Upgrade", "BtnResetLabUpgradeTime_Info_07", "Will begin to check completion at:") & " " & $g_sLabUpgradeTime & @CRLF & " " - _GUICtrlSetTip($g_hBtnResetLabUpgradeTime, $txtTip) EndIf + LabStatusGUIUpdate() Click(660, 520 + $g_iMidOffsetY, 1, 0, "#0202") ; Everything is good - Click the upgrade button If _Sleep($DELAYLABUPGRADE1) Then Return EndIf @@ -464,21 +473,21 @@ Func LabUpgrade() If isGemOpen(True) = False Then ; check for gem window ; check for green button to use gems to finish upgrade, checking if upgrade actually started If Not (_ColorCheck(_GetPixelColor(625, 218 + $g_iMidOffsetY, True), Hex(0x6fbd1f, 6), 15) Or _ColorCheck(_GetPixelColor(660, 218 + $g_iMidOffsetY, True), Hex(0x6fbd1f, 6), 15)) Then - SetLog("Something went wrong with " & $g_avLabTroops[$g_iCmbLaboratory][3] & " Upgrade, try again.", $COLOR_ERROR) + SetLog("Something went wrong with " & $g_avLabTroops[$iSelectedUpgrade][3] & " Upgrade, try again.", $COLOR_ERROR) ClickP($aAway, 2, $DELAYLABUPGRADE3, "#0360") Return False EndIf - SetLog("Upgrade " & $g_avLabTroops[$g_iCmbLaboratory][3] & " in your laboratory started with success...", $COLOR_SUCCESS) + SetLog("Upgrade " & $g_avLabTroops[$iSelectedUpgrade][3] & " in your laboratory started with success...", $COLOR_SUCCESS) PushMsg("LabSuccess") If _Sleep($DELAYLABUPGRADE2) Then Return - $g_bAutoLabUpgradeEnable = False ;reset enable lab upgrade flag - GUICtrlSetState($g_hChkAutoLabUpgrades, $GUI_UNCHECKED) ; reset enable lab upgrade check box + ;$g_bAutoLabUpgradeEnable = False ;reset enable lab upgrade flag + ;GUICtrlSetState($g_hChkAutoLabUpgrades, $GUI_UNCHECKED) ; reset enable lab upgrade check box ClickP($aAway, 2, 0, "#0204") Return True Else - SetLog("Oops, Gems required for " & $g_avLabTroops[$g_iCmbLaboratory][3] & " Upgrade, try again.", $COLOR_ERROR) + SetLog("Oops, Gems required for " & $g_avLabTroops[$iSelectedUpgrade][3] & " Upgrade, try again.", $COLOR_ERROR) EndIf EndSelect ClickP($aAway, 2, $DELAYLABUPGRADE3, "#0205") @@ -500,8 +509,8 @@ Func ClickDragLab($iXTroop) ; drag a page to exact or nearby target position and If $iDiff = 0 Then Return True ElseIf Abs($iDiff) < 10 Then - For $i = 13 to 20 ; update x - $g_avLabTroops[$i][0] = $aiIconDefaultPOS[$i][0] - $iDiff + For $i = 13 to 24 ; update x + $g_avLabTroops[$i][0] = $g_avLabTroops[$i][0] - $iDiff If $g_bDebugSetlog Then Setlog("New icon X position of " & $g_avLabTroops[$i][3] & " : " & $g_avLabTroops[$i][0], $COLOR_DEBUG) Next Return True @@ -557,15 +566,15 @@ Func LabTroopImages($iStart, $iEnd) ; Debug function to record pixel values for If $g_bDebugImageSave Then DebugImageSave("LabUpgrade") For $i = $iStart To $iEnd DebugIconSave($g_avLabTroops[$i][3], $g_avLabTroops[$i][0], $g_avLabTroops[$i][1]) - SetLog($g_avLabTroops[$i][3], $COLOR_WARNING) - SetLog("_GetPixelColor(+47, +1): " & _GetPixelColor($g_avLabTroops[$i][0] + 47, $g_avLabTroops[$i][1] + 1, True) & ":D3D3CB =Not unlocked", $COLOR_DEBUG) - SetLog("_GetPixelColor(+68, +79): " & _GetPixelColor($g_avLabTroops[$i][0] + 68, $g_avLabTroops[$i][1] + 79, True) & ":FD877E =No Loot1", $COLOR_DEBUG) - SetLog("_GetPixelColor(+68, +82): " & _GetPixelColor($g_avLabTroops[$i][0] + 68, $g_avLabTroops[$i][1] + 84, True) & ":FD877E =No Loot2", $COLOR_DEBUG) - SetLog("_GetPixelColor(+81, +82): " & _GetPixelColor($g_avLabTroops[$i][0] + 81, $g_avLabTroops[$i][1] + 82, True) & ":XXXXXX =Loot type", $COLOR_DEBUG) - SetLog("_GetPixelColor(+76, +76): " & _GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 76, True) & ":FFFFFF =Max L", $COLOR_DEBUG) - SetLog("_GetPixelColor(+76, +80): " & _GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 80, True) & ":FFFFFF =Max L", $COLOR_DEBUG) - SetLog("_GetPixelColor(+0, +20): " & _GetPixelColor($g_avLabTroops[$i][0] + 0, $g_avLabTroops[$i][1] + 20, True) & ":838383 =Lab Upgrade", $COLOR_DEBUG) - SetLog("_GetPixelColor(+93, +20): " & _GetPixelColor($g_avLabTroops[$i][0] + 93, $g_avLabTroops[$i][1] + 20, True) & ":838383 =Lab Upgrade", $COLOR_DEBUG) - SetLog("_GetPixelColor(+8, +59): " & _GetPixelColor($g_avLabTroops[$i][0] + 23, $g_avLabTroops[$i][1] + 60, True) & ":FFC360 =Max troop", $COLOR_DEBUG) + SetDebugLog($g_avLabTroops[$i][3], $COLOR_WARNING) + SetDebugLog("_GetPixelColor(+47, +1): " & _GetPixelColor($g_avLabTroops[$i][0] + 47, $g_avLabTroops[$i][1] + 1, True) & ":D3D3CB =Not unlocked", $COLOR_DEBUG) + SetDebugLog("_GetPixelColor(+68, +79): " & _GetPixelColor($g_avLabTroops[$i][0] + 68, $g_avLabTroops[$i][1] + 79, True) & ":FD877E =No Loot1", $COLOR_DEBUG) + SetDebugLog("_GetPixelColor(+68, +82): " & _GetPixelColor($g_avLabTroops[$i][0] + 68, $g_avLabTroops[$i][1] + 84, True) & ":FD877E =No Loot2", $COLOR_DEBUG) + SetDebugLog("_GetPixelColor(+81, +82): " & _GetPixelColor($g_avLabTroops[$i][0] + 81, $g_avLabTroops[$i][1] + 82, True) & ":XXXXXX =Loot type", $COLOR_DEBUG) + SetDebugLog("_GetPixelColor(+76, +76): " & _GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 76, True) & ":FFFFFF =Max L", $COLOR_DEBUG) + SetDebugLog("_GetPixelColor(+76, +80): " & _GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 80, True) & ":FFFFFF =Max L", $COLOR_DEBUG) + SetDebugLog("_GetPixelColor(+0, +20): " & _GetPixelColor($g_avLabTroops[$i][0] + 0, $g_avLabTroops[$i][1] + 20, True) & ":838383 =Lab Upgrade", $COLOR_DEBUG) + SetDebugLog("_GetPixelColor(+93, +20): " & _GetPixelColor($g_avLabTroops[$i][0] + 93, $g_avLabTroops[$i][1] + 20, True) & ":838383 =Lab Upgrade", $COLOR_DEBUG) + SetDebugLog("_GetPixelColor(+8, +59): " & _GetPixelColor($g_avLabTroops[$i][0] + 23, $g_avLabTroops[$i][1] + 60, True) & ":FFC360 =Max troop", $COLOR_DEBUG) Next EndFunc ;==>LabTroopImages diff --git a/COCBot/functions/Village/RequestCC.au3 b/COCBot/functions/Village/RequestCC.au3 index c4d08c0b5..29627af05 100644 --- a/COCBot/functions/Village/RequestCC.au3 +++ b/COCBot/functions/Village/RequestCC.au3 @@ -28,7 +28,7 @@ Func RequestCC($ClickPAtEnd = True, $specifyText = "") EndIf ;open army overview - If Not OpenArmyOverview(True, "RequestCC()") Then Return + If $specifyText <> "IsFullClanCastle" And Not OpenArmyOverview(True, "RequestCC()") Then Return If _Sleep($DELAYREQUESTCC1) Then Return @@ -273,12 +273,12 @@ Func RemoveCastleArmy($aToRemove) If _ArrayMax($aToRemove) = 0 Then Return ; Click 'Edit Army' - If Not _ColorCheck(_GetPixelColor(806, 516, True), Hex(0xCEEF76, 6), 25) Then ; If no 'Edit Army' Button found in army tab to edit troops + If Not _CheckPixel($aButtonEditArmy, True) Then ; If no 'Edit Army' Button found in army tab to edit troops SetLog("Cannot find/verify 'Edit Army' Button in Army tab", $COLOR_WARNING) Return False ; Exit function EndIf - Click(Random(725, 825, 1), Random(507, 545, 1)) ; Click on Edit Army Button + ClickP($aButtonEditArmy, 1) ; Click Edit Army Button If Not $g_bRunState Then Return If _Sleep(500) Then Return @@ -297,7 +297,7 @@ Func RemoveCastleArmy($aToRemove) ; Click Okay & confirm Local $counter = 0 - While Not _ColorCheck(_GetPixelColor(806, 567, True), Hex(0xCEEF76, 6), 25) ; If no 'Okay' button found in army tab to save changes + While Not _CheckPixel($aButtonRemoveTroopsOK1, True) ; If no 'Okay' button found in army tab to save changes If _Sleep(200) Then Return $counter += 1 If $counter <= 5 Then ContinueLoop @@ -307,12 +307,12 @@ Func RemoveCastleArmy($aToRemove) Return False ; Exit Function WEnd - Click(Random(730, 815, 1), Random(558, 589, 1)) ; Click on 'Okay' button to save changes + ClickP($aButtonRemoveTroopsOK1, 1) ; Click on 'Okay' button to save changes If _Sleep(400) Then Return $counter = 0 - While Not _ColorCheck(_GetPixelColor(508, 428, True), Hex(0xFFFFFF, 6), 30) ; If no 'Okay' button found to verify that we accept the changes + While Not _CheckPixel($aButtonRemoveTroopsOK2, True) ; If no 'Okay' button found to verify that we accept the changes If _Sleep(200) Then Return $counter += 1 If $counter <= 5 Then ContinueLoop @@ -321,7 +321,7 @@ Func RemoveCastleArmy($aToRemove) Return False ; Exit function WEnd - Click(Random(445, 583, 1), Random(402, 455, 1)) ; Click on 'Okay' button to Save changes... Last button + ClickP($aButtonRemoveTroopsOK2, 1) ; Click on 'Okay' button to Save changes... Last button SetLog("Clan Castle Troops/Spells Removed", $COLOR_SUCCESS) If _Sleep(200) Then Return diff --git a/COCBot/functions/Village/SwitchAccount.au3 b/COCBot/functions/Village/SwitchAccount.au3 index 07fbcb7f3..518062875 100644 --- a/COCBot/functions/Village/SwitchAccount.au3 +++ b/COCBot/functions/Village/SwitchAccount.au3 @@ -170,8 +170,8 @@ Func CheckSwitchAcc() SetDebugLog("- Current Account: " & $g_asProfileName[$g_iCurAccount] & " number: " & $g_iCurAccount + 1) SetDebugLog("- Next Account: " & $g_asProfileName[$g_iNextAccount] & " number: " & $g_iNextAccount + 1) - ; Check if the next account is PBT - If $g_abPBActive[$g_iNextAccount] Then + ; Check if the next account is PBT and IF the remain train time is more than 2 minutes + If $g_abPBActive[$g_iNextAccount] And _DateDiff("n", _NowCalc(), $g_asTrainTimeFinish[$g_iNextAccount]) > 2 Then SetLog("Account " & $g_iNextAccount + 1 & " is in a Personal Break Time!", $COLOR_INFO) SetSwitchAccLog(" - Account " & $g_iNextAccount + 1 & " is in PTB") $g_iNextAccount = $g_iNextAccount + 1 diff --git a/COCBot/functions/Village/SwitchAccountVariablesReload.au3 b/COCBot/functions/Village/SwitchAccountVariablesReload.au3 index 57c30b27a..2e66f31f2 100644 --- a/COCBot/functions/Village/SwitchAccountVariablesReload.au3 +++ b/COCBot/functions/Village/SwitchAccountVariablesReload.au3 @@ -47,7 +47,7 @@ Func SwitchAccountVariablesReload($sType = "Load") Static $aiSmartZapGain = $aiZero, $aiNumEQSpellsUsed = $aiZero, $aiNumLSpellsUsed = $aiZero ; smart zap ; Lab time - Static $asLabUpgradeTime = $asEmpty, $aiLabStatus = $aiZero + Static $asLabUpgradeTime = $asEmpty, $aiLabStatus = $aiZero, $aiLabElixirCost = $aiZero, $aiLabDElixirCost = $aiZero ; First time switch account Switch $sType @@ -109,6 +109,8 @@ Func SwitchAccountVariablesReload($sType = "Load") ; Lab time $asLabUpgradeTime = $asEmpty + $aiLabElixirCost = $aiZero + $aiLabDElixirCost = $aiZero $aiLabStatus = $aiZero Case "Save" @@ -166,6 +168,8 @@ Func SwitchAccountVariablesReload($sType = "Load") ; Lab time $asLabUpgradeTime[$g_iCurAccount] = $g_sLabUpgradeTime + $aiLabElixirCost[$g_iCurAccount] = $g_iLaboratoryElixirCost + $aiLabDElixirCost[$g_iCurAccount] = $g_iLaboratoryDElixirCost If GUICtrlGetState($g_hPicLabGreen) = $GUI_ENABLE + $GUI_SHOW Then $aiLabStatus[$g_iCurAccount] = 1 ElseIf GUICtrlGetState($g_hPicLabRed) = $GUI_ENABLE + $GUI_SHOW Then @@ -229,6 +233,8 @@ Func SwitchAccountVariablesReload($sType = "Load") ; Lab time $g_sLabUpgradeTime = $asLabUpgradeTime[$g_iCurAccount] + $g_iLaboratoryElixirCost = $aiLabElixirCost[$g_iCurAccount] + $g_iLaboratoryDElixirCost = $aiLabDElixirCost[$g_iCurAccount] Local $Counter = 0 For $i = $g_hPicLabGray To $g_hPicLabRed GUICtrlSetState($i, $GUI_HIDE) diff --git a/COCBot/functions/Village/UpgradeHeroes.au3 b/COCBot/functions/Village/UpgradeHeroes.au3 index 97ceddf7c..30c0afbdd 100644 --- a/COCBot/functions/Village/UpgradeHeroes.au3 +++ b/COCBot/functions/Village/UpgradeHeroes.au3 @@ -37,45 +37,49 @@ Func UpgradeHeroes() If $g_bUpgradeWardenEnable Then If Not isInsideDiamond($g_aiWardenAltarPos) Then LocateWardenAltar() If $g_aiWardenAltarPos[0] = -1 Or $g_aiWardenAltarPos[1] = -1 Then LocateWardenAltar() - EndIf - - ;Check if Auto Lab Upgrade is enabled and if a Dark Troop is selected for Upgrade. If yes, it has priority! - If $g_bAutoLabUpgradeEnable And $g_iCmbLaboratory >= 20 And $g_iCmbLaboratory <= 30 Then - SetLog("Laboratory needs DE to Upgrade : " & $g_avLabTroops[$g_iCmbLaboratory][3]) - SetLog("Skipping the Heroes Upgrade!") - Return + SaveConfig() EndIf SetLog("Upgrading Heroes", $COLOR_INFO) - ; ### Archer Queen ### - If $g_bUpgradeQueenEnable And BitAND($g_iHeroUpgradingBit, $eHeroQueen) <> $eHeroQueen Then - If Not getBuilderCount() Then Return ; update builder data, return if problem - If _Sleep($DELAYRESPOND) Then Return - If $g_iFreeBuilderCount < 1 + ($g_bUpgradeWallSaveBuilder ? 1 : 0) Then - SetLog("Not enough Builders available to upgrade the Archer Queen") - Return + ;Check if Auto Lab Upgrade is enabled and if a Dark Troop/Spell is selected for Upgrade. If yes, it has priority! + If $g_bAutoLabUpgradeEnable And $g_iLaboratoryDElixirCost > 0 Then + SetLog("Laboratory needs DE to Upgrade : " & $g_iLaboratoryDElixirCost) + SetLog("Skipping the Queen and King Upgrade!") + Else + ; ### Archer Queen ### + If $g_bUpgradeQueenEnable And BitAND($g_iHeroUpgradingBit, $eHeroQueen) <> $eHeroQueen Then + If Not getBuilderCount() Then Return ; update builder data, return if problem + If _Sleep($DELAYRESPOND) Then Return + If $g_iFreeBuilderCount < 1 + ($g_bUpgradeWallSaveBuilder ? 1 : 0) Then + SetLog("Not enough Builders available to upgrade the Archer Queen") + Return + EndIf + QueenUpgrade() + + If _Sleep($DELAYUPGRADEHERO1) Then Return EndIf - QueenUpgrade() - - If _Sleep($DELAYUPGRADEHERO1) Then Return - EndIf - - ; ### Barbarian King ### - If $g_bUpgradeKingEnable And BitAND($g_iHeroUpgradingBit, $eHeroKing) <> $eHeroKing Then - If Not getBuilderCount() Then Return ; update builder data, return if problem - If _Sleep($DELAYRESPOND) Then Return - If $g_iFreeBuilderCount < 1 + ($g_bUpgradeWallSaveBuilder ? 1 : 0) Then - SetLog("Not enough Builders available to upgrade the Barbarian King") - Return + + ; ### Barbarian King ### + If $g_bUpgradeKingEnable And BitAND($g_iHeroUpgradingBit, $eHeroKing) <> $eHeroKing Then + If Not getBuilderCount() Then Return ; update builder data, return if problem + If _Sleep($DELAYRESPOND) Then Return + If $g_iFreeBuilderCount < 1 + ($g_bUpgradeWallSaveBuilder ? 1 : 0) Then + SetLog("Not enough Builders available to upgrade the Barbarian King") + Return + EndIf + KingUpgrade() + + If _Sleep($DELAYUPGRADEHERO1) Then Return EndIf - KingUpgrade() - - If _Sleep($DELAYUPGRADEHERO1) Then Return EndIf ; ### Grand Warden ### - If $g_bUpgradeWardenEnable And BitAND($g_iHeroUpgradingBit, $eHeroWarden) <> $eHeroWarden Then + ;Check if Auto Lab Upgrade is enabled and if a Elixir Troop/Spell is selected for Upgrade. If yes, it has priority! + If $g_bAutoLabUpgradeEnable And $g_iLaboratoryElixirCost > 0 Then + SetLog("Laboratory needs Elixir to Upgrade : " & $g_iLaboratoryElixirCost) + SetLog("Skipping the Warden Upgrade!") + ElseIf $g_bUpgradeWardenEnable And BitAND($g_iHeroUpgradingBit, $eHeroWarden) <> $eHeroWarden Then If Not getBuilderCount() Then Return ; update builder data, return if problem If _Sleep($DELAYRESPOND) Then Return If $g_iFreeBuilderCount < 1 + ($g_bUpgradeWallSaveBuilder ? 1 : 0) Then diff --git a/COCBot/functions/Village/UpgradeWall.au3 b/COCBot/functions/Village/UpgradeWall.au3 index ffa5a6f9b..e7c363534 100644 --- a/COCBot/functions/Village/UpgradeWall.au3 +++ b/COCBot/functions/Village/UpgradeWall.au3 @@ -317,19 +317,16 @@ Func SkipWallUpgrade() ; Dynamic Upgrades ;;;;;;;;;;;;;;;;;;;;;;;;;;;##### Verify the Upgrade troop kind in Laboratory , if is elixir Spell/Troop , the Lab have priority #####;;;;;;;;;;;;;;;;;;;;;;;;;;;; Local $bMinWallElixir = Number($g_aiCurrentLoot[$eLootElixir]) > ($g_iWallCost + Number($g_iLaboratoryElixirCost) + Number($g_iUpgradeWallMinElixir)) ; Check if enough Elixir - If $g_bAutoLabUpgradeEnable And $g_iCmbLaboratory >= 1 And Not ($g_iCmbLaboratory >= 20 And $g_iCmbLaboratory <= 30) And Not $bMinWallElixir Then - Local $sName = $g_avLabTroops[$g_iCmbLaboratory][3] - Local $LabElixirNeeded = $g_iLaboratoryElixirCost - If $LabElixirNeeded = 0 Then $LabElixirNeeded = "unknown" ; trap error condition of unknown value + If $g_bAutoLabUpgradeEnable And $g_iLaboratoryElixirCost > 0 And Not $bMinWallElixir Then Switch $g_iUpgradeWallLootType Case 0 ; Using gold ; do nothing Case 1 ; Using elixir - SetLog("Laboratory needs " & $LabElixirNeeded & " Elixir to Upgrade: " & $sName, $COLOR_SUCCESS1) + SetLog("Laboratory needs Elixir to Upgrade : " & $g_iLaboratoryElixirCost, $COLOR_SUCCESS1) SetLog("Skipping Wall Upgrade", $COLOR_SUCCESS1) Return True Case 2 ; Using gold and elixir - SetLog("Laboratory needs " & $LabElixirNeeded & " Elixir to Upgrade: " & $sName, $COLOR_SUCCESS1) + SetLog("Laboratory needs Elixir to Upgrade : " & $g_iLaboratoryElixirCost, $COLOR_SUCCESS1) SetLog("Using Gold only for Wall Upgrade", $COLOR_SUCCESS1) $g_iUpgradeWallLootType = 0 EndSwitch diff --git a/Languages/Arabic.ini b/Languages/Arabic.ini index 599d43574..afb916c4f 100644 Binary files a/Languages/Arabic.ini and b/Languages/Arabic.ini differ diff --git a/Languages/English.ini b/Languages/English.ini index 7fb98bc7f..f9a0f84de 100644 --- a/Languages/English.ini +++ b/Languages/English.ini @@ -124,6 +124,7 @@ Func_btnHide_False=Show Func_btnHide_True=Hide [MBR Global GUI Design] AM=AM +Any=Any Clear_set_row_of_boxes=This button will clear or set the entire row of boxes Day=Day days=days @@ -284,6 +285,7 @@ ChkCustomDropOrderEnable_Info_02=Will not have effect on CSV Scripted Attack! It ChkCustomDropOrderEnable_Info_03=For Live and Dead Bases ChkTHSnipeBeforeEnable=Snipe TH External first ChkTHSnipeBeforeEnable_Info_01=If TH is external start with a TH Snipe +Chk-Use-Bat_Info_01=Use your Bats Spells when Attacking... Chk-Use-Clan Castle_Info_01=Drop your Clan Castle in battle if it contains troops. Chk-Use-Clone_Info_01=Use your Clone Spells when Attacking... Chk-Use-Earthquake_Info_01=Use your Earthquake Spells when Attacking... @@ -298,7 +300,7 @@ Chk-Use-Poison_Info_01=Use your Poison Spells when Attacking... Chk-Use-Queen_Info_01=Use your Queen when Attacking... Chk-Use-Queen_Info_02=Enabled with TownHall 9 and higher Chk-Use-Rage_Info_01=Use your Rage Spells when Attacking... -Chk-Use-Skeleton_Info_01=Use your Skeletons Spells when Attacking... +Chk-Use-Skeleton_Info_01=Use your Bats Spells when Attacking... Chk-Use-Warden_Info_01=Use your Warden when Attacking... Chk-Use-Warden_Info_02=Enabled with Townhall 11 Cmb-Algorithm_Item_01=Standard Attack @@ -325,6 +327,7 @@ Cmb-SelectTroop_Item_11=B+A+Minion Cmb-Siege_Item_01=Castle only Cmb-Siege_Item_02=Wall Wrecker Cmb-Siege_Item_03=Battle Blimp +Cmb-Siege_Item_04=Stone Slammer CmbTHSnipeBeforeScript_Info_01=You can add/edit CSV settings in the CSV\THSnipe folder Group_01=Attack with Group_02=TH Snipe @@ -492,6 +495,7 @@ TxtWaitForClanCastleSpell=And TxtWardenWait_Info_01=Wait for Warden to be ready before attacking... TxtWardenWait_Info_02=Enabled with TownHall 11 [MBR Global GUI Design Names Spells] +TxtBatSpells=Bat Spell TxtCloneSpells=Clone Spell TxtEarthQuakeSpells=EarthQuake Spell TxtFreezeSpells=Freeze Spell @@ -499,9 +503,10 @@ TxtHasteSpells=Haste Spell TxtHealingSpells=Healing Spell TxtJumpSpells=Jump Spell TxtLightningSpells=Lightning Spell -TxtListOfSpells=Lightning|Heal|Rage|Jump|Freeze|Clone|Poison|Earthquake|Haste|Skeleton|Any +TxtListOfSpells=Lightning|Heal|Rage|Jump|Freeze|Clone|Poison|Earthquake|Haste|Skeleton|Bat|Any TxtPoisonSpells=Poison Spell TxtRageSpells=Rage Spell +TxtShortBatSpells=Bat TxtShortCloneSpells=Clone TxtShortEarthquakeSpells=EarthQuake TxtShortFreezeSpells=Freeze @@ -532,11 +537,14 @@ TxtGoblins=Goblins TxtGolems=Golems TxtHealers=Healers TxtHogRiders=Hog Riders +TxtIceGolems=Ice Golems TxtLavaHounds=Lava Hounds -TxtListOfTroops=Barbarian|Archer|Giant|Goblin|Wall Breaker|Balloon|Wizard|Healer|Dragon|Pekka|Baby Dragon|Miner|Electro Dragon|Minion|Hog Rider|Valkyrie|Golem|Witch|Lava Hound|Bowler|Any +TxtListOfTroops=Barbarian|Archer|Giant|Goblin|Wall Breaker|Balloon|Wizard|Healer|Dragon|Pekka|Baby Dragon|Miner|Electro Dragon|Minion|Hog Rider|Valkyrie|Golem|Witch|Lava Hound|Bowler|Ice Golem|Any TxtMiners=Miners TxtMinions=Minions TxtPekkas=Pekkas +TxtStoneSlammer=Stone Slammer +TxtStoneSlammers=Stone Slammers TxtValkyries=Valkyries TxtWallBreakers=Wall Breakers TxtWallWreckers=Wall Wreckers @@ -584,6 +592,7 @@ ChkCollectorLevel_Info_02=Full ChkCollectorLevel10_Info_01=for level 10 elixir collectors during dead base detection. ChkCollectorLevel11_Info_01=for level 11 elixir collectors during dead base detection. ChkCollectorLevel12_Info_01=for level 12 elixir collectors during dead base detection. +ChkCollectorLevel13_Info_01=for level 13 elixir collectors during dead base detection. ChkCollectorLevel6_Info_01=for level 6 elixir collectors during dead base detection. ChkCollectorLevel7_Info_01=for level 7 elixir collectors during dead base detection. ChkCollectorLevel8_Info_01=for level 8 elixir collectors during dead base detection. @@ -599,6 +608,8 @@ LblCollectorLevel11=Lvl 11. Must be > LblCollectorLevel11_Info_01=Select how full a level 11 collector needs to be for it to be marked "dead" LblCollectorLevel12=Lvl 12. Must be > LblCollectorLevel12_Info_01=Select how full a level 12 collector needs to be for it to be marked "dead" +LblCollectorLevel13=Lvl 13. Must be > +LblCollectorLevel13_Info_01=Select how full a level 13 collector needs to be for it to be marked "dead" LblCollectorLevel6=Lvl 6. Must be > LblCollectorLevel6_Info_01=Select how full a level 6 collector needs to be for it to be marked "dead" LblCollectorLevel7=Lvl 7. Must be > @@ -1233,6 +1244,8 @@ ChkClanGamesPurge=Purge Versus Battles Events ChkClanGamesStopBeforeReachAndPurge=Stop before completing your limit and only Purge ChkClanGamesTimeRemaining=Time Remaining ChkClanGamesYourScore=Your Score +ChkCleanBBYard=Remove Obstacles +ChkCleanBBYard_Info_01=Check this to automatically clear Yard from Trees, Trunks, etc. ChkCleanYard=Remove Obstacles ChkCleanYard_Info_01=Check this to automatically clear Yard from Trees, Trunks, etc. ChkCollect=Collect Resources && Loot Cart @@ -1564,6 +1577,9 @@ TxtBlacklistTroop_Item_30=no air\r\nair no\r\nonly\r\njust TxtBlacklistTroop_Item_31=no electro dragon\r\nelectrodrag no\r\nedrag no TxtBlacklistTroop_Item_32=no wreckers\r\nsiege no TxtBlacklistTroop_Item_33=no blimps\r\nsiege no +TxtBlacklistTroop_Item_34=no Bat\r\nBat no +TxtBlacklistTroop_Item_35=no slammers\r\nsiege no +TxtBlacklistTroop_Item_36=no ice golem\r\nice golem no TxtDonate=Donate TxtDonateAll=Donate to All TxtDonateQueueSpell=Queued spell only @@ -1604,8 +1620,10 @@ TxtDonateTroop_Item_28=skeleton|skel TxtDonateTroop_Item_29=ground support\r\nground TxtDonateTroop_Item_30=air support\r\nany air TxtDonateTroop_Item_31=electro dragon\r\nelectrodrag\r\nedrag -TxtDonateTroop_Item_32=wall wreckers\r\nsieges\r\nwreckers +TxtDonateTroop_Item_32=stone slammers\r\nsieges\r\nslammers TxtDonateTroop_Item_33=battle blimps\r\nsieges\r\nblimps +TxtDonateTroop_Item_34=Bat +TxtDonateTroop_Item_35=ice golem\r\nice golems TxtGeneralBlacklist_Info_01=General Blacklist for donation requests TxtGeneralBlacklist_Item_01=clan war\r\nwar\r\ncw TxtIgnoreAll=This will also ignore ALL keywords. @@ -2024,4 +2042,5 @@ txt-TxtInsidePercentage=Percentage to force attack in one side only txt-TxtOutsidePercentage=Percentage to force attack in 4 sides [MBR Global GUI Design Names Siege Machines] TxtBattleBlimp=Battle Blimp +TxtStoneSlammer=Stone Slammer TxtWallWrecker=Wall Wrecker diff --git a/Languages/German.ini b/Languages/German.ini index e49286cbc..246041713 100644 Binary files a/Languages/German.ini and b/Languages/German.ini differ diff --git a/MyBot.run.MiniGui.exe b/MyBot.run.MiniGui.exe index 16ee63844..b566d0723 100644 Binary files a/MyBot.run.MiniGui.exe and b/MyBot.run.MiniGui.exe differ diff --git a/MyBot.run.MiniGui_stripped.au3 b/MyBot.run.MiniGui_stripped.au3 index 35d6546a6..1fea0f7b0 100644 --- a/MyBot.run.MiniGui_stripped.au3 +++ b/MyBot.run.MiniGui_stripped.au3 @@ -5,11 +5,11 @@ #pragma compile(Icon, "Images\MyBot.ico") #pragma compile(FileDescription, Clash of Clans Bot - A Free Clash of Clans bot - https://mybot.run) #pragma compile(ProductVersion, 7.6) -#pragma compile(FileVersion, 7.6.4) +#pragma compile(FileVersion, 7.6.5) #pragma compile(LegalCopyright, © https://mybot.run) #Au3Stripper_Off #Au3Stripper_On -Global $g_sBotVersion = "v7.6.4" +Global $g_sBotVersion = "v7.6.5" Opt("MustDeclareVars", 1) Global $g_sBotTitle = "" Global $g_hFrmBot = 0 @@ -2703,7 +2703,7 @@ Global $g_hLibNTDLL = DllOpen("ntdll.dll") Global $g_hLibUser32DLL = DllOpen("user32.dll") Global Const $g_sLibIconPath = $g_sLibPath & "\MBRBOT.dll" Global $g_iRedrawBotWindowMode = 2 -Global Enum $eIcnArcher = 1, $eIcnDonArcher, $eIcnBalloon, $eIcnDonBalloon, $eIcnBarbarian, $eIcnDonBarbarian, $eBtnTest, $eIcnBuilder, $eIcnCC, $eIcnGUI, $eIcnDark, $eIcnDragon, $eIcnDonDragon, $eIcnDrill, $eIcnElixir, $eIcnCollector, $eIcnFreezeSpell, $eIcnGem, $eIcnGiant, $eIcnDonGiant, $eIcnTrap, $eIcnGoblin, $eIcnDonGoblin, $eIcnGold, $eIcnGolem, $eIcnDonGolem, $eIcnHealer, $eIcnDonHealer, $eIcnHogRider, $eIcnDonHogRider, $eIcnHealSpell, $eIcnInferno, $eIcnJumpSpell, $eIcnLavaHound, $eIcnDonLavaHound, $eIcnLightSpell, $eIcnMinion, $eIcnDonMinion, $eIcnPekka, $eIcnDonPekka, $eIcnTreasury, $eIcnRageSpell, $eIcnTroops, $eIcnHourGlass, $eIcnTH1, $eIcnTH10, $eIcnTrophy, $eIcnValkyrie, $eIcnDonValkyrie, $eIcnWall, $eIcnWallBreaker, $eIcnDonWallBreaker, $eIcnWitch, $eIcnDonWitch, $eIcnWizard, $eIcnDonWizard, $eIcnXbow, $eIcnBarrackBoost, $eIcnMine, $eIcnCamp, $eIcnBarrack, $eIcnSpellFactory, $eIcnDonBlacklist, $eIcnSpellFactoryBoost, $eIcnMortar, $eIcnWizTower, $eIcnPayPal, $eIcnNotify, $eIcnGreenLight, $eIcnLaboratory, $eIcnRedLight, $eIcnBlank, $eIcnYellowLight, $eIcnDonCustom, $eIcnTombstone, $eIcnSilverStar, $eIcnGoldStar, $eIcnDarkBarrack, $eIcnCollectorLocate, $eIcnDrillLocate, $eIcnMineLocate, $eIcnBarrackLocate, $eIcnDarkBarrackLocate, $eIcnDarkSpellFactoryLocate, $eIcnDarkSpellFactory, $eIcnEarthQuakeSpell, $eIcnHasteSpell, $eIcnPoisonSpell, $eIcnBldgTarget, $eIcnBldgX, $eIcnRecycle, $eIcnHeroes, $eIcnBldgElixir, $eIcnBldgGold, $eIcnMagnifier, $eIcnWallElixir, $eIcnWallGold, $eIcnKing, $eIcnQueen, $eIcnDarkSpellBoost, $eIcnQueenBoostLocate, $eIcnKingBoostLocate, $eIcnKingUpgr, $eIcnQueenUpgr, $eIcnWardenUpgr, $eIcnWarden, $eIcnWardenBoostLocate, $eIcnKingBoost, $eIcnQueenBoost, $eIcnWardenBoost, $eEmpty3, $eIcnReload, $eIcnCopy, $eIcnAddcvs, $eIcnEdit, $eIcnTreeSnow, $eIcnSleepingQueen, $eIcnSleepingKing, $eIcnGoldElixir, $eIcnBowler, $eIcnDonBowler, $eIcnCCDonate, $eIcnEagleArt, $eIcnGembox, $eIcnInferno4, $eIcnInfo, $eIcnMain, $eIcnTree, $eIcnProfile, $eIcnCCRequest, $eIcnTelegram, $eIcnTiles, $eIcnXbow3, $eIcnBark, $eIcnDailyProgram, $eIcnLootCart, $eIcnSleepMode, $eIcnTH11, $eIcnTrainMode, $eIcnSleepingWarden, $eIcnCloneSpell, $eIcnSkeletonSpell, $eIcnBabyDragon, $eIcnDonBabyDragon, $eIcnMiner, $eIcnDonMiner, $eIcnNoShield, $eIcnDonCustomB, $eIcnAirdefense, $eIcnDarkBarrackBoost, $eIcnDarkElixirStorage, $eIcnSpellsCost, $eIcnTroopsCost, $eIcnResetButton, $eIcnNewSmartZap, $eIcnTrain, $eIcnAttack, $eIcnDelay, $eIcnReOrder, $eIcn2Arrow, $eIcnArrowLeft, $eIcnArrowRight, $eIcnAndroid, $eHdV04, $eHdV05, $eHdV06, $eHdV07, $eHdV08, $eHdV09, $eHdV10, $eHdV11, $eUnranked, $eBronze, $eSilver, $eGold, $eCrystal, $eMaster, $eChampion, $eTitan, $eLegend, $eWall04, $eWall05, $eWall06, $eWall07, $eWall08, $eWall09, $eWall10, $eWall11, $eIcnPBNotify, $eIcnCCTroops, $eIcnCCSpells, $eIcnSpellsGroup, $eBahasaIND, $eChinese_S, $eChinese_T, $eEnglish, $eFrench, $eGerman, $eItalian, $ePersian, $eRussian, $eSpanish, $eTurkish, $eMissingLangIcon, $eWall12, $ePortuguese, $eIcnDonPoisonSpell, $eIcnDonEarthQuakeSpell, $eIcnDonHasteSpell, $eIcnDonSkeletonSpell, $eVietnamese, $eKorean, $eAzerbaijani, $eArabic, $eIcnBuilderHall, $eIcnClockTower, $eIcnElixirCollectorL5, $eIcnGemMine, $eIcnGoldMineL5, $eIcnElectroDragon, $eIcnTH12, $eHdV12, $eWall13, $eIcnGrayShield, $eIcnBlueShield, $eIcnGreenShield, $eIcnRedShield, $eIcnBattleB , $eIcnWallW, $eIcnSiegeCost, $eIcnBoostPotion +Global Enum $eIcnArcher = 1, $eIcnDonArcher, $eIcnBalloon, $eIcnDonBalloon, $eIcnBarbarian, $eIcnDonBarbarian, $eBtnTest, $eIcnBuilder, $eIcnCC, $eIcnGUI, $eIcnDark, $eIcnDragon, $eIcnDonDragon, $eIcnDrill, $eIcnElixir, $eIcnCollector, $eIcnFreezeSpell, $eIcnGem, $eIcnGiant, $eIcnDonGiant, $eIcnTrap, $eIcnGoblin, $eIcnDonGoblin, $eIcnGold, $eIcnGolem, $eIcnDonGolem, $eIcnHealer, $eIcnDonHealer, $eIcnHogRider, $eIcnDonHogRider, $eIcnHealSpell, $eIcnInferno, $eIcnJumpSpell, $eIcnLavaHound, $eIcnDonLavaHound, $eIcnLightSpell, $eIcnMinion, $eIcnDonMinion, $eIcnPekka, $eIcnDonPekka, $eIcnTreasury, $eIcnRageSpell, $eIcnTroops, $eIcnHourGlass, $eIcnTH1, $eIcnTH10, $eIcnTrophy, $eIcnValkyrie, $eIcnDonValkyrie, $eIcnWall, $eIcnWallBreaker, $eIcnDonWallBreaker, $eIcnWitch, $eIcnDonWitch, $eIcnWizard, $eIcnDonWizard, $eIcnXbow, $eIcnBarrackBoost, $eIcnMine, $eIcnCamp, $eIcnBarrack, $eIcnSpellFactory, $eIcnDonBlacklist, $eIcnSpellFactoryBoost, $eIcnMortar, $eIcnWizTower, $eIcnPayPal, $eIcnNotify, $eIcnGreenLight, $eIcnLaboratory, $eIcnRedLight, $eIcnBlank, $eIcnYellowLight, $eIcnDonCustom, $eIcnTombstone, $eIcnSilverStar, $eIcnGoldStar, $eIcnDarkBarrack, $eIcnCollectorLocate, $eIcnDrillLocate, $eIcnMineLocate, $eIcnBarrackLocate, $eIcnDarkBarrackLocate, $eIcnDarkSpellFactoryLocate, $eIcnDarkSpellFactory, $eIcnEarthQuakeSpell, $eIcnHasteSpell, $eIcnPoisonSpell, $eIcnBldgTarget, $eIcnBldgX, $eIcnRecycle, $eIcnHeroes, $eIcnBldgElixir, $eIcnBldgGold, $eIcnMagnifier, $eIcnWallElixir, $eIcnWallGold, $eIcnKing, $eIcnQueen, $eIcnDarkSpellBoost, $eIcnQueenBoostLocate, $eIcnKingBoostLocate, $eIcnKingUpgr, $eIcnQueenUpgr, $eIcnWardenUpgr, $eIcnWarden, $eIcnWardenBoostLocate, $eIcnKingBoost, $eIcnQueenBoost, $eIcnWardenBoost, $eEmpty3, $eIcnReload, $eIcnCopy, $eIcnAddcvs, $eIcnEdit, $eIcnTreeSnow, $eIcnSleepingQueen, $eIcnSleepingKing, $eIcnGoldElixir, $eIcnBowler, $eIcnDonBowler, $eIcnCCDonate, $eIcnEagleArt, $eIcnGembox, $eIcnInferno4, $eIcnInfo, $eIcnMain, $eIcnTree, $eIcnProfile, $eIcnCCRequest, $eIcnTelegram, $eIcnTiles, $eIcnXbow3, $eIcnBark, $eIcnDailyProgram, $eIcnLootCart, $eIcnSleepMode, $eIcnTH11, $eIcnTrainMode, $eIcnSleepingWarden, $eIcnCloneSpell, $eIcnSkeletonSpell, $eIcnBabyDragon, $eIcnDonBabyDragon, $eIcnMiner, $eIcnDonMiner, $eIcnNoShield, $eIcnDonCustomB, $eIcnAirdefense, $eIcnDarkBarrackBoost, $eIcnDarkElixirStorage, $eIcnSpellsCost, $eIcnTroopsCost, $eIcnResetButton, $eIcnNewSmartZap, $eIcnTrain, $eIcnAttack, $eIcnDelay, $eIcnReOrder, $eIcn2Arrow, $eIcnArrowLeft, $eIcnArrowRight, $eIcnAndroid, $eHdV04, $eHdV05, $eHdV06, $eHdV07, $eHdV08, $eHdV09, $eHdV10, $eHdV11, $eUnranked, $eBronze, $eSilver, $eGold, $eCrystal, $eMaster, $eChampion, $eTitan, $eLegend, $eWall04, $eWall05, $eWall06, $eWall07, $eWall08, $eWall09, $eWall10, $eWall11, $eIcnPBNotify, $eIcnCCTroops, $eIcnCCSpells, $eIcnSpellsGroup, $eBahasaIND, $eChinese_S, $eChinese_T, $eEnglish, $eFrench, $eGerman, $eItalian, $ePersian, $eRussian, $eSpanish, $eTurkish, $eMissingLangIcon, $eWall12, $ePortuguese, $eIcnDonPoisonSpell, $eIcnDonEarthQuakeSpell, $eIcnDonHasteSpell, $eIcnDonSkeletonSpell, $eVietnamese, $eKorean, $eAzerbaijani, $eArabic, $eIcnBuilderHall, $eIcnClockTower, $eIcnElixirCollectorL5, $eIcnGemMine, $eIcnGoldMineL5, $eIcnElectroDragon, $eIcnTH12, $eHdV12, $eWall13, $eIcnGrayShield, $eIcnBlueShield, $eIcnGreenShield, $eIcnRedShield, $eIcnBattleB , $eIcnWallW, $eIcnSiegeCost, $eIcnBoostPotion, $eIcnBatSpell, $eIcnStoneS, $eIcnIceGolem Global Enum $eBotNoAction, $eBotStart, $eBotStop, $eBotSearchMode, $eBotClose Global $g_iBotAction = $eBotNoAction Global $g_bBotMoveRequested = False @@ -2718,31 +2718,31 @@ Global $g_bBotPaused = False Global $g_bTogglePauseAllowed = True Global Const $REDLINE_IMGLOC_RAW = 0 Global Const $DROPLINE_EDGE_FIRST = 1 -Global Enum $eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, $eMini, $eHogs, $eValk, $eGole, $eWitc, $eLava, $eBowl, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eWallW, $eBattleB, $eArmyCount +Global Enum $eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, $eMini, $eHogs, $eValk, $eGole, $eWitc, $eLava, $eBowl, $eIceG, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell, $eWallW, $eBattleB, $eStoneS, $eArmyCount Global Enum $DB, $LB, $TS, $MA, $TB, $DT Global Const $g_iModeCount = 3 -Global Enum $eTroopBarbarian, $eTroopArcher, $eTroopGiant, $eTroopGoblin, $eTroopWallBreaker, $eTroopBalloon, $eTroopWizard, $eTroopHealer, $eTroopDragon, $eTroopPekka, $eTroopBabyDragon, $eTroopMiner, $eTroopElectroDragon, $eTroopMinion, $eTroopHogRider, $eTroopValkyrie, $eTroopGolem, $eTroopWitch, $eTroopLavaHound, $eTroopBowler, $eTroopCount -Global Const $g_asTroopNames[$eTroopCount] = [ "Barbarian", "Archer", "Giant", "Goblin", "Wall Breaker", "Balloon", "Wizard", "Healer", "Dragon", "Pekka", "Baby Dragon", "Miner", "Electro Dragon", "Minion", "Hog Rider", "Valkyrie", "Golem", "Witch", "Lava Hound", "Bowler"] -Global Const $g_asTroopNamesPlural[$eTroopCount] = [ "Barbarians", "Archers", "Giants", "Goblins", "Wall Breakers", "Balloons", "Wizards", "Healers", "Dragons", "Pekkas", "Baby Dragons", "Miners", "Electro Dragons", "Minions", "Hog Riders", "Valkyries", "Golems", "Witches", "Lava Hounds", "Bowlers"] -Global Const $g_asTroopShortNames[$eTroopCount] = [ "Barb", "Arch", "Giant", "Gobl", "Wall", "Ball", "Wiza", "Heal", "Drag", "Pekk", "BabyD", "Mine", "EDrag", "Mini", "Hogs", "Valk", "Gole", "Witc", "Lava", "Bowl"] -Global Enum $eSpellLightning, $eSpellHeal, $eSpellRage, $eSpellJump, $eSpellFreeze, $eSpellClone, $eSpellPoison, $eSpellEarthquake, $eSpellHaste, $eSpellSkeleton, $eSpellCount -Global Const $g_asSpellNames[$eSpellCount] = ["Lightning", "Heal", "Rage", "Jump", "Freeze", "Clone", "Poison", "Earthquake", "Haste", "Skeleton"] -Global Const $g_asSpellShortNames[$eSpellCount] = ["LSpell", "HSpell", "RSpell", "JSpell", "FSpell", "CSpell", "PSpell", "ESpell", "HaSpell", "SkSpell"] -Global Enum $eSiegeWallWrecker, $eSiegeBattleBlimp, $eSiegeMachineCount -Global Const $g_asSiegeMachineNames[$eSiegeMachineCount] = ["Wall Wrecker", "Battle Blimp"] -Global Const $g_asSiegeMachineShortNames[$eSiegeMachineCount] = ["WallW", "BattleB"] +Global Enum $eTroopBarbarian, $eTroopArcher, $eTroopGiant, $eTroopGoblin, $eTroopWallBreaker, $eTroopBalloon, $eTroopWizard, $eTroopHealer, $eTroopDragon, $eTroopPekka, $eTroopBabyDragon, $eTroopMiner, $eTroopElectroDragon, $eTroopMinion, $eTroopHogRider, $eTroopValkyrie, $eTroopGolem, $eTroopWitch, $eTroopLavaHound, $eTroopBowler, $eTroopIceGolem, $eTroopCount +Global Const $g_asTroopNames[$eTroopCount] = [ "Barbarian", "Archer", "Giant", "Goblin", "Wall Breaker", "Balloon", "Wizard", "Healer", "Dragon", "Pekka", "Baby Dragon", "Miner", "Electro Dragon", "Minion", "Hog Rider", "Valkyrie", "Golem", "Witch", "Lava Hound", "Bowler", "Ice Golem"] +Global Const $g_asTroopNamesPlural[$eTroopCount] = [ "Barbarians", "Archers", "Giants", "Goblins", "Wall Breakers", "Balloons", "Wizards", "Healers", "Dragons", "Pekkas", "Baby Dragons", "Miners", "Electro Dragons", "Minions", "Hog Riders", "Valkyries", "Golems", "Witches", "Lava Hounds", "Bowlers", "Ice Golems"] +Global Const $g_asTroopShortNames[$eTroopCount] = [ "Barb", "Arch", "Giant", "Gobl", "Wall", "Ball", "Wiza", "Heal", "Drag", "Pekk", "BabyD", "Mine", "EDrag", "Mini", "Hogs", "Valk", "Gole", "Witc", "Lava", "Bowl", "IceG"] +Global Enum $eSpellLightning, $eSpellHeal, $eSpellRage, $eSpellJump, $eSpellFreeze, $eSpellClone, $eSpellPoison, $eSpellEarthquake, $eSpellHaste, $eSpellSkeleton, $eSpellBat, $eSpellCount +Global Const $g_asSpellNames[$eSpellCount] = ["Lightning", "Heal", "Rage", "Jump", "Freeze", "Clone", "Poison", "Earthquake", "Haste", "Skeleton", "Bat"] +Global Const $g_asSpellShortNames[$eSpellCount] = ["LSpell", "HSpell", "RSpell", "JSpell", "FSpell", "CSpell", "PSpell", "ESpell", "HaSpell", "SkSpell", "BtSpell"] +Global Enum $eSiegeWallWrecker, $eSiegeBattleBlimp, $eSiegeStoneSlammer, $eSiegeMachineCount +Global Const $g_asSiegeMachineNames[$eSiegeMachineCount] = ["Wall Wrecker", "Battle Blimp", "Stone Slammer"] +Global Const $g_asSiegeMachineShortNames[$eSiegeMachineCount] = ["WallW", "BattleB", "StoneS"] Global Enum $eHeroNone = 0, $eHeroKing = 1, $eHeroQueen = 2, $eHeroWarden = 4 Global Enum $eHeroBarbarianKing, $eHeroArcherQueen, $eHeroGrandWarden, $eHeroCount Global Const $g_asHeroNames[$eHeroCount] = ["Barbarian King", "Archer Queen", "Grand Warden"] Global Enum $eLootGold, $eLootElixir, $eLootDarkElixir, $eLootTrophy, $eLootCount Func GetTroopName(Const $iIndex, $iQuantity = 1) -If $iIndex >= $eBarb And $iIndex <= $eBowl Then +If $iIndex >= $eBarb And $iIndex <= $eIceG Then Return $iQuantity > 1 ? $g_asTroopNamesPlural[$iIndex] : $g_asTroopNames[$iIndex] -ElseIf $iIndex >= $eLSpell And $iIndex <= $eSkSpell Then +ElseIf $iIndex >= $eLSpell And $iIndex <= $eBtSpell Then Return $iQuantity > 1 ? $g_asSpellNames[$iIndex - $eLSpell] & "Spells" : $g_asSpellNames[$iIndex - $eLSpell] & "Spell" ElseIf $iIndex >= $eKing And $iIndex <= $eWarden Then Return $g_asHeroNames[$iIndex - $eKing] -ElseIf $iIndex >= $eWallW And $iIndex <= $eBattleB Then +ElseIf $iIndex >= $eWallW And $iIndex <= $eStoneS Then Return $g_asSiegeMachineNames[$iIndex - $eWallW] ElseIf $iIndex = $eCastle Then Return "Clan Castle" @@ -2761,14 +2761,14 @@ Global $g_bChkTreasuryCollect = False Global $g_iTxtTreasuryGold = 0 Global $g_iTxtTreasuryElixir = 0 Global $g_iTxtTreasuryDark = 0 -Global $g_bChkCollectBuilderBase = False, $g_bChkStartClockTowerBoost = False, $g_bChkCTBoostBlderBz = False +Global $g_bChkCollectBuilderBase = False, $g_bChkStartClockTowerBoost = False, $g_bChkCTBoostBlderBz = False, $g_bChkCleanBBYard = False Global $g_bRequestTroopsEnable = False Global $g_sRequestTroopsText = "" Global $g_abRequestCCHours[24] = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] Global $g_abRequestType[3] = [True, True, False] Global $g_iRequestCountCCTroop = 0, $g_iRequestCountCCSpell = 0 -Global $g_aiCCTroopsExpected[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_aiCCSpellsExpected[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiCCTroopsExpected[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiCCSpellsExpected[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Global $g_aiClanCastleTroopWaitType[3], $g_aiClanCastleTroopWaitQty[3] Global $g_aiClanCastleSpellWaitType[2], $g_aiClanCastleSpellWaitQty[2] Global $g_bChkDonate = True @@ -2776,14 +2776,14 @@ Global $g_abChkDonateQueueOnly[2] Global Enum $eCustomA = $eTroopCount, $eCustomB = $eTroopCount + 1 Global Enum $eCustomC = $eTroopCount + 2, $eCustomD = $eTroopCount + 3 Global Const $g_iCustomDonateConfigs = 4 -Global $g_abChkDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] -Global $g_abChkDonateAllTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] -Global $g_asTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] -Global $g_asTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] -Global $g_abChkDonateSpell[$eSpellCount] = [False, False, False, False, False, False, False, False, False, False] -Global $g_abChkDonateAllSpell[$eSpellCount] = [False, False, False, False, False, False, False, False, False, False] -Global $g_asTxtDonateSpell[$eSpellCount] = ["", "", "", "", "", "", "", "", "", ""] -Global $g_asTxtBlacklistSpell[$eSpellCount] = ["", "", "", "", "", "", "", "", "", ""] +Global $g_abChkDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] +Global $g_abChkDonateAllTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] +Global $g_asTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] +Global $g_asTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] +Global $g_abChkDonateSpell[$eSpellCount] = [False, False, False, False, False, False, False, False, False, False, False] +Global $g_abChkDonateAllSpell[$eSpellCount] = [False, False, False, False, False, False, False, False, False, False, False] +Global $g_asTxtDonateSpell[$eSpellCount] = ["", "", "", "", "", "", "", "", "", "", ""] +Global $g_asTxtBlacklistSpell[$eSpellCount] = ["", "", "", "", "", "", "", "", "", "", ""] Global $g_aiDonateCustomTrpNumA[3][2] = [[0, 0], [0, 0], [0, 0]], $g_aiDonateCustomTrpNumB[3][2] = [[0, 0], [0, 0], [0, 0]] Global $g_aiDonateCustomTrpNumC[3][2] = [[0, 0], [0, 0], [0, 0]], $g_aiDonateCustomTrpNumD[3][2] = [[0, 0], [0, 0], [0, 0]] Global $g_bChkExtraAlphabets = False @@ -2837,22 +2837,22 @@ Global $g_abNotifyScheduleHours[24] = [False, False, False, False, False, False, Global $g_abNotifyScheduleWeekDays[7] = [False, False, False, False, False, False, False] Global $g_bQuickTrainEnable = False Global $g_bQuickTrainArmy[3] = [True, False, False] -Global $g_aiArmyCompTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_aiArmyCompSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_aiArmyCompSiegeMachine[$eSiegeMachineCount] = [0, 0] -Global $g_aiTrainArmyTroopLevel[$eTroopCount] = [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_aiTrainArmySpellLevel[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_aiTrainArmySiegeMachineLevel[$eSiegeMachineCount] = [0, 0] +Global $g_aiArmyCompTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiArmyCompSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiArmyCompSiegeMachine[$eSiegeMachineCount] = [0, 0, 0] +Global $g_aiTrainArmyTroopLevel[$eTroopCount] = [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiTrainArmySpellLevel[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiTrainArmySiegeMachineLevel[$eSiegeMachineCount] = [0, 0, 0] Global $g_iTrainArmyFullTroopPct = 100 Global $g_bTotalCampForced = False, $g_iTotalCampForcedValue = 200 Global $g_bForceBrewSpells = False Global $g_iTotalSpellValue = 0 Global $g_bDoubleTrain Global $g_abBoostBarracksHours[24] = [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] -Global $g_bCustomTrainOrderEnable = False, $g_aiCmbCustomTrainOrder[$eTroopCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1] -Global $g_bCustomBrewOrderEnable = False, $g_aiCmbCustomBrewOrder[$eSpellCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1] -Global Enum $eTroopBarbarianS, $eTroopArcherS, $eTroopGiantS, $eTroopGoblinS, $eTroopWallBreakerS, $eTroopBalloonS, $eTroopWizardS, $eTroopHealerS, $eTroopDragonS, $eTroopPekkaS, $eTroopBabyDragonS, $eTroopMinerS, $eTroopElectroDragons, $eTroopMinionS, $eTroopHogRiderS, $eTroopValkyrieS, $eTroopGolemS, $eTroopWitchS, $eTroopLavaHoundS, $eTroopBowlerS, $eHeroeS, $eCCS, $eDropOrderCount -Global $g_bCustomDropOrderEnable = False, $g_aiCmbCustomDropOrder[$eDropOrderCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1] +Global $g_bCustomTrainOrderEnable = False, $g_aiCmbCustomTrainOrder[$eTroopCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1] +Global $g_bCustomBrewOrderEnable = False, $g_aiCmbCustomBrewOrder[$eSpellCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1] +Global Enum $eTroopBarbarianS, $eTroopArcherS, $eTroopGiantS, $eTroopGoblinS, $eTroopWallBreakerS, $eTroopBalloonS, $eTroopWizardS, $eTroopHealerS, $eTroopDragonS, $eTroopPekkaS, $eTroopBabyDragonS, $eTroopMinerS, $eTroopElectroDragons, $eTroopMinionS, $eTroopHogRiderS, $eTroopValkyrieS, $eTroopGolemS, $eTroopWitchS, $eTroopLavaHoundS, $eTroopBowlerS, $eTroopIceGolemS, $eHeroeS, $eCCS, $eDropOrderCount +Global $g_bCustomDropOrderEnable = False, $g_aiCmbCustomDropOrder[$eDropOrderCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1] Global $g_bCloseWhileTrainingEnable = True, $g_bCloseWithoutShield = False, $g_bCloseEmulator = False, $g_bSuspendComputer = False, $g_bCloseRandom = False, $g_bCloseExactTime = False, $g_bCloseRandomTime = True, $g_iCloseRandomTimePercent = 10, $g_iCloseMinimumTime = 2 Global $g_iTrainClickDelay = 40 Global $g_bTrainAddRandomDelayEnable = False, $g_iTrainAddRandomDelayMin = 5, $g_iTrainAddRandomDelayMax = 60 @@ -2873,7 +2873,7 @@ Global $g_abFilterMaxMortarEnable[$g_iModeCount] = [False, False, False], $g_abF Global $g_aiFilterMaxMortarLevel[$g_iModeCount] = [5, 5, 0], $g_aiFilterMaxWizTowerLevel[$g_iModeCount] = [4, 4, 0], $g_aiFilterMaxAirDefenseLevel[$g_iModeCount] = [0, 0, 0], $g_aiFilterMaxXBowLevel[$g_iModeCount] = [0, 0, 0], $g_aiFilterMaxInfernoLevel[$g_iModeCount] = [0, 0, 0], $g_aiFilterMaxEagleLevel[$g_iModeCount] = [0, 0, 0] Global $g_abFilterMeetOneConditionEnable[$g_iModeCount] = [False, False, False] Global $g_aiAttackAlgorithm[$g_iModeCount] = [0, 0, 0], $g_aiAttackTroopSelection[$g_iModeCount + 3] = [0, 0, 0, 0, 0, 0], $g_aiAttackUseHeroes[$g_iModeCount] = [0, 0, 0], $g_abAttackDropCC[$g_iModeCount] = [0, 0, 0] , $g_aiAttackUseSiege[$g_iModeCount] = [0, 0, 0] -Global $g_abAttackUseLightSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseHealSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseRageSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseJumpSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseFreezeSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseCloneSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUsePoisonSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseEarthquakeSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseHasteSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseSkeletonSpell[$g_iModeCount] = [0, 0, 0] +Global $g_abAttackUseLightSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseHealSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseRageSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseJumpSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseFreezeSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseCloneSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUsePoisonSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseEarthquakeSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseHasteSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseSkeletonSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseBatSpell[$g_iModeCount] = [0, 0, 0] Global $g_bTHSnipeBeforeEnable[$g_iModeCount] = [False, False, False], $g_iTHSnipeBeforeTiles[$g_iModeCount] = [0, 0, 0], $g_iTHSnipeBeforeScript[$g_iModeCount] = [0, 0, 0] Global $g_aiAttackStdDropOrder[$g_iModeCount + 1] = [0, 0, 0, 0], $g_aiAttackStdDropSides[$g_iModeCount + 1] = [3, 3, 0, 1], $g_aiAttackStdUnitDelay[$g_iModeCount + 1] = [4, 4, 0, 4], $g_aiAttackStdWaveDelay[$g_iModeCount + 1] = [4, 4, 0, 4], $g_abAttackStdRandomizeDelay[$g_iModeCount + 1] = [True, True, False, True], $g_abAttackStdSmartAttack[$g_iModeCount + 3] = [True, True, False, True, False, False], $g_aiAttackStdSmartDeploy[$g_iModeCount + 3] = [0, 0, 0, 0, 0, 0] Global $g_abAttackStdSmartNearCollectors[$g_iModeCount + 3][3] = [[False, False, False], [False, False, False], [False, False, False], [False, False, False], [False, False, False], [False, False, False]] @@ -2896,8 +2896,8 @@ Global $g_iMilkingAttackStructureOrder = 1, $g_bMilkingAttackCheckStructureDestr Global $g_bMilkAttackAfterTHSnipeEnable = False, $g_iMilkFarmTHMaxTilesFromBorder = 1, $g_sMilkFarmAlgorithmTh = "Queen&GobTakeTH", $g_bMilkFarmSnipeEvenIfNoExtractorsFound = False, $g_bMilkAttackAfterScriptedAtkEnable = False, $g_sMilkAttackCSVscript = "Barch four fingers" Global $g_bMilkFarmForceToleranceEnable = False, $g_iMilkFarmForceToleranceNormal = 31, $g_iMilkFarmForceToleranceBoosted = 31, $g_iMilkFarmForceToleranceDestroyed = 31 Global $g_iTxtInsidePercentage = 0 , $g_iTxtOutsidePercentage = 0 , $g_bDebugSmartFarm = False -Global $g_abCollectorLevelEnabled[13] = [-1, -1, -1, -1, -1, -1, True, True, True, True, True, True, True] -Global $g_aiCollectorLevelFill[13] = [-1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1] +Global $g_abCollectorLevelEnabled[14] = [-1, -1, -1, -1, -1, -1, True, True, True, True, True, True, True, True] +Global $g_aiCollectorLevelFill[14] = [-1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1] Global $g_bCollectorFilterDisable = False Global $g_iCollectorMatchesMin = 3 Global $g_iCollectorToleranceOffset = 0 @@ -2965,6 +2965,7 @@ Global $g_aiWardenAltarPos[2] = [-1, -1] Global $g_aiLaboratoryPos[2] = [-1, -1] Global $g_aiClanCastlePos[2] = [-1, -1] Global $g_CurrentCampUtilization = 0, $g_iTotalCampSpace = 0 +Global $g_iLaboratoryElixirCost = 0, $g_iLaboratoryDElixirCost = 0 Global $g_sLabUpgradeTime = "" Global $g_iWallCost = 0 Global $g_iHeroWaitAttackNoBit[$g_iModeCount][3] @@ -4720,6 +4721,7 @@ IniReadS($g_iTxtTreasuryGold, $g_sProfileConfigPath, "other", "minTreasurygold", IniReadS($g_iTxtTreasuryElixir, $g_sProfileConfigPath, "other", "minTreasuryelixir", 0, "int") IniReadS($g_iTxtTreasuryDark, $g_sProfileConfigPath, "other", "minTreasurydark", 0, "int") IniReadS($g_bChkCollectBuilderBase, $g_sProfileConfigPath, "other", "ChkCollectBuildersBase", False, "Bool") +IniReadS($g_bChkCleanBBYard, $g_sProfileConfigPath, "other", "ChkCleanBBYard", False, "Bool") IniReadS($g_bChkStartClockTowerBoost, $g_sProfileConfigPath, "other", "ChkStartClockTowerBoost", False, "Bool") IniReadS($g_bChkCTBoostBlderBz, $g_sProfileConfigPath, "other", "ChkCTBoostBlderBz", False, "Bool") IniReadS($g_iChkBBSuggestedUpgrades, $g_sProfileConfigPath, "other", "ChkBBSuggestedUpgrades", $g_iChkBBSuggestedUpgrades, "Int") @@ -4790,7 +4792,7 @@ IniReadS($g_abChkDonateQueueOnly[0], $g_sProfileConfigPath, "donate", "chkDonate IniReadS($g_abChkDonateQueueOnly[1], $g_sProfileConfigPath, "donate", "chkDonateQueueOnly[1]", True, "Bool") For $i = 0 To $eTroopCount - 1 + $g_iCustomDonateConfigs Local $sIniName = "" -If $i >= $eTroopBarbarian And $i <= $eTroopBowler Then +If $i >= $eTroopBarbarian And $i <= $eTroopIceGolem Then $sIniName = StringReplace($g_asTroopNamesPlural[$i], " ", "") ElseIf $i = $eCustomA Then $sIniName = "CustomA" @@ -4844,6 +4846,8 @@ $g_asTxtDonateTroop[$eTroopLavaHound] = StringReplace(IniRead($g_sProfileConfigP $g_asTxtBlacklistTroop[$eTroopLavaHound] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistLavaHounds", "no lavahound|lavahound no|no lava|lava no|nohound|hound no"), "|", @CRLF) $g_asTxtDonateTroop[$eTroopBowler] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateBowlers", "bowler|bowl"), "|", @CRLF) $g_asTxtBlacklistTroop[$eTroopBowler] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistBowlers", "no bowler|bowl no"), "|", @CRLF) +$g_asTxtDonateTroop[$eTroopIceGolem] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateIceGolems", "ice golem|ice golems"), "|", @CRLF) +$g_asTxtBlacklistTroop[$eTroopIceGolem] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistIceGolems", "no ice golem|ice golem no"), "|", @CRLF) $g_asTxtDonateTroop[$eCustomA] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateCustomA", "ground support|ground"), "|", @CRLF) $g_asTxtBlacklistTroop[$eCustomA] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistCustomA", "no ground|ground no|nonly"), "|", @CRLF) $g_asTxtDonateTroop[$eCustomB] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateCustomB", "air support|any air"), "|", @CRLF) @@ -4877,6 +4881,8 @@ $g_asTxtDonateSpell[$eSpellHaste] = StringReplace(IniRead($g_sProfileConfigPath, $g_asTxtBlacklistSpell[$eSpellHaste] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistHasteSpells", "no haste|haste no"), "|", @CRLF) $g_asTxtDonateSpell[$eSpellSkeleton] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateSkeletonSpells", "skeleton"), "|", @CRLF) $g_asTxtBlacklistSpell[$eSpellSkeleton] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistSkeletonSpells", "no skeleton|skeleton no"), "|", @CRLF) +$g_asTxtDonateSpell[$eSpellBat] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateBatSpells", "bat"), "|", @CRLF) +$g_asTxtBlacklistSpell[$eSpellBat] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistBatSpells", "no bat|bat no"), "|", @CRLF) For $i = $eSiegeWallWrecker to $eSiegeMachineCount - 1 Local $index = $eTroopCount + $g_iCustomDonateConfigs Local $sIniName = $g_asSiegeMachineShortNames[$i] @@ -4886,6 +4892,8 @@ $g_asTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeWallWrecker] $g_asTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeWallWrecker] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistWallW", "no WallW|no Wrecker|siege no"), "|", @CRLF) $g_asTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeBattleBlimp] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateBattleB", "Blimp|siege"), "|", @CRLF) $g_asTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeBattleBlimp] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistBattleB", "no Blimp|siege no"), "|", @CRLF) +$g_asTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateStoneS", "Slammer|siege"), "|", @CRLF) +$g_asTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistStoneS", "no Slammer|siege no"), "|", @CRLF) $g_aiDonateCustomTrpNumA[0][0] = Int(IniRead($g_sProfileConfigPath, "donate", "cmbDonateCustomA1", 6)) $g_aiDonateCustomTrpNumA[1][0] = Int(IniRead($g_sProfileConfigPath, "donate", "cmbDonateCustomA2", 1)) $g_aiDonateCustomTrpNumA[2][0] = Int(IniRead($g_sProfileConfigPath, "donate", "cmbDonateCustomA3", 0)) @@ -4930,6 +4938,8 @@ Func ReadConfig_600_14() IniReadS($g_bAutoLabUpgradeEnable, $g_sProfileBuildingPath, "upgrade", "upgradetroops", False, "Bool") IniReadS($g_iCmbLaboratory, $g_sProfileBuildingPath, "upgrade", "upgradetroopname", 0, "int") $g_sLabUpgradeTime = IniRead($g_sProfileBuildingPath, "upgrade", "upgradelabtime", "") +IniReadS($g_iLaboratoryElixirCost, $g_sProfileBuildingPath, "upgrade", "upgradelabelexircost", 0, "int") +IniReadS($g_iLaboratoryDElixirCost, $g_sProfileBuildingPath, "upgrade", "upgradelabdelexircost", 0, "int") EndFunc Func ReadConfig_600_15() IniReadS($g_bUpgradeKingEnable, $g_sProfileConfigPath, "upgrade", "UpgradeKing", False, "Bool") @@ -5195,6 +5205,7 @@ IniReadS($g_abAttackUseEarthquakeSpell[$DB], $g_sProfileConfigPath, "attack", "D IniReadS($g_abAttackUseHasteSpell[$DB], $g_sProfileConfigPath, "attack", "DBHasteSpell", False, "Bool") IniReadS($g_abAttackUseCloneSpell[$DB], $g_sProfileConfigPath, "attack", "DBCloneSpell", False, "Bool") IniReadS($g_abAttackUseSkeletonSpell[$DB], $g_sProfileConfigPath, "attack", "DBSkeletonSpell", False, "Bool") +IniReadS($g_abAttackUseBatSpell[$DB], $g_sProfileConfigPath, "attack", "DBBatSpell", False, "Bool") IniReadS($g_bTHSnipeBeforeEnable[$DB], $g_sProfileConfigPath, "attack", "THSnipeBeforeDBEnable", False, "Bool") IniReadS($g_iTHSnipeBeforeTiles[$DB], $g_sProfileConfigPath, "attack", "THSnipeBeforeDBTiles", 0, "int") IniReadS($g_iTHSnipeBeforeScript[$DB], $g_sProfileConfigPath, "attack", "THSnipeBeforeDBScript", "bam") @@ -5269,6 +5280,7 @@ IniReadS($g_abAttackUseEarthquakeSpell[$LB], $g_sProfileConfigPath, "attack", "A IniReadS($g_abAttackUseHasteSpell[$LB], $g_sProfileConfigPath, "attack", "ABHasteSpell", False, "Bool") IniReadS($g_abAttackUseCloneSpell[$LB], $g_sProfileConfigPath, "attack", "ABCloneSpell", False, "Bool") IniReadS($g_abAttackUseSkeletonSpell[$LB], $g_sProfileConfigPath, "attack", "ABSkeletonSpell", False, "Bool") +IniReadS($g_abAttackUseBatSpell[$LB], $g_sProfileConfigPath, "attack", "ABBatSpell", False, "Bool") IniReadS($g_bTHSnipeBeforeEnable[$LB], $g_sProfileConfigPath, "attack", "THSnipeBeforeLBEnable", False, "Bool") IniReadS($g_iTHSnipeBeforeTiles[$LB], $g_sProfileConfigPath, "attack", "THSnipeBeforeLBTiles", 0, "int") IniReadS($g_iTHSnipeBeforeScript[$LB], $g_sProfileConfigPath, "attack", "THSnipeBeforeLBScript", "bam") @@ -5358,10 +5370,10 @@ IniReadS($g_iEndTSCampsPct, $g_sProfileConfigPath, "search", "TSEnableAfterArmyC EndFunc Func ReadConfig_600_31() $g_abCollectorLevelEnabled[6] = 0 -For $i = 7 To 12 +For $i = 7 To 13 IniReadS($g_abCollectorLevelEnabled[$i], $g_sProfileConfigPath, "collectors", "lvl" & $i & "Enabled", True, "Bool") Next -For $i = 6 To 12 +For $i = 6 To 13 IniReadS($g_aiCollectorLevelFill[$i], $g_sProfileConfigPath, "collectors", "lvl" & $i & "fill", 0, "int") If $g_aiCollectorLevelFill[$i] > 1 Then $g_aiCollectorLevelFill[$i] = 1 Next diff --git a/MyBot.run.Watchdog.exe b/MyBot.run.Watchdog.exe index 28db743b2..106770bf5 100644 Binary files a/MyBot.run.Watchdog.exe and b/MyBot.run.Watchdog.exe differ diff --git a/MyBot.run.Watchdog_stripped.au3 b/MyBot.run.Watchdog_stripped.au3 index 6b94279e4..61e503115 100644 --- a/MyBot.run.Watchdog_stripped.au3 +++ b/MyBot.run.Watchdog_stripped.au3 @@ -5,11 +5,11 @@ #pragma compile(Icon, "Images\MyBot.ico") #pragma compile(FileDescription, Clash of Clans Bot - A Free Clash of Clans bot - https://mybot.run) #pragma compile(ProductVersion, 7.6) -#pragma compile(FileVersion, 7.6.4) +#pragma compile(FileVersion, 7.6.5) #pragma compile(LegalCopyright, © https://mybot.run) #Au3Stripper_Off #Au3Stripper_On -Global $g_sBotVersion = "v7.6.4" +Global $g_sBotVersion = "v7.6.5" Opt("MustDeclareVars", 1) Global Const $WAIT_TIMEOUT = 258 Global Const $STDERR_MERGED = 8 diff --git a/MyBot.run.Wmi.exe b/MyBot.run.Wmi.exe index f72cd5fbc..9491ad0a1 100644 Binary files a/MyBot.run.Wmi.exe and b/MyBot.run.Wmi.exe differ diff --git a/MyBot.run.Wmi_stripped.au3 b/MyBot.run.Wmi_stripped.au3 index 2c1f83637..3f303e198 100644 --- a/MyBot.run.Wmi_stripped.au3 +++ b/MyBot.run.Wmi_stripped.au3 @@ -6,7 +6,7 @@ #pragma compile(Icon, "Images\MyBot.ico") #pragma compile(FileDescription, Clash of Clans Bot - A Free Clash of Clans bot - https://mybot.run) #pragma compile(ProductVersion, 7.6) -#pragma compile(FileVersion, 7.6.4) +#pragma compile(FileVersion, 7.6.5) #pragma compile(LegalCopyright, © https://mybot.run) #Au3Stripper_Off #Au3Stripper_On @@ -14,8 +14,6 @@ Opt("MustDeclareVars", 1) Global Const $tagPOINT = "struct;long X;long Y;endstruct" Global Const $tagRECT = "struct;long Left;long Top;long Right;long Bottom;endstruct" Global Const $tagREBARBANDINFO = "uint cbSize;uint fMask;uint fStyle;dword clrFore;dword clrBack;ptr lpText;uint cch;" & "int iImage;hwnd hwndChild;uint cxMinChild;uint cyMinChild;uint cx;handle hbmBack;uint wID;uint cyChild;uint cyMaxChild;" & "uint cyIntegral;uint cxIdeal;lparam lParam;uint cxHeader" &((@OSVersion = "WIN_XP") ? "" : ";" & $tagRECT & ";uint uChevronState") -Global Const $tagGUID = "struct;ulong Data1;ushort Data2;ushort Data3;byte Data4[8];endstruct" -Global Const $tagTEXTMETRIC = "long tmHeight;long tmAscent;long tmDescent;long tmInternalLeading;long tmExternalLeading;" & "long tmAveCharWidth;long tmMaxCharWidth;long tmWeight;long tmOverhang;long tmDigitizedAspectX;long tmDigitizedAspectY;" & "wchar tmFirstChar;wchar tmLastChar;wchar tmDefaultChar;wchar tmBreakChar;byte tmItalic;byte tmUnderlined;byte tmStruckOut;" & "byte tmPitchAndFamily;byte tmCharSet" Global Const $UBOUND_DIMENSIONS = 0 Global Const $UBOUND_ROWS = 1 Global Const $UBOUND_COLUMNS = 2 @@ -36,58 +34,7 @@ Local $aRet = DllCall('kernel32.dll', 'bool', 'GetVersionExW', 'struct*', $tOSVI If @error Or Not $aRet[0] Then Return SetError(@error, @extended, 0) Return BitOR(BitShift(DllStructGetData($tOSVI, 2), -8), DllStructGetData($tOSVI, 3)) EndFunc -Global Const $__DLG_WM_USER = 0x400 -Global Const $tagNOTIFYICONDATA = 'struct;dword Size;hwnd hWnd;uint ID;uint Flags;uint CallbackMessage;ptr hIcon;wchar Tip[128];dword State;dword StateMask;wchar Info[256];uint Version;wchar InfoTitle[64];dword InfoFlags;endstruct' Global $g_sWmiTestApi = "" -Global Const $_ARRAYCONSTANT_SORTINFOSIZE = 11 -Global $__g_aArrayDisplay_SortInfo[$_ARRAYCONSTANT_SORTINFOSIZE] -Global Const $_ARRAYCONSTANT_tagLVITEM = "struct;uint Mask;int Item;int SubItem;uint State;uint StateMask;ptr Text;int TextMax;int Image;lparam Param;" & "int Indent;int GroupID;uint Columns;ptr pColumns;ptr piColFmt;int iGroup;endstruct" -#Au3Stripper_Ignore_Funcs=__ArrayDisplay_SortCallBack -Func __ArrayDisplay_SortCallBack($nItem1, $nItem2, $hWnd) -If $__g_aArrayDisplay_SortInfo[3] = $__g_aArrayDisplay_SortInfo[4] Then -If Not $__g_aArrayDisplay_SortInfo[7] Then -$__g_aArrayDisplay_SortInfo[5] *= -1 -$__g_aArrayDisplay_SortInfo[7] = 1 -EndIf -Else -$__g_aArrayDisplay_SortInfo[7] = 1 -EndIf -$__g_aArrayDisplay_SortInfo[6] = $__g_aArrayDisplay_SortInfo[3] -Local $sVal1 = __ArrayDisplay_GetItemText($hWnd, $nItem1, $__g_aArrayDisplay_SortInfo[3]) -Local $sVal2 = __ArrayDisplay_GetItemText($hWnd, $nItem2, $__g_aArrayDisplay_SortInfo[3]) -If $__g_aArrayDisplay_SortInfo[8] = 1 Then -If(StringIsFloat($sVal1) Or StringIsInt($sVal1)) Then $sVal1 = Number($sVal1) -If(StringIsFloat($sVal2) Or StringIsInt($sVal2)) Then $sVal2 = Number($sVal2) -EndIf -Local $nResult -If $__g_aArrayDisplay_SortInfo[8] < 2 Then -$nResult = 0 -If $sVal1 < $sVal2 Then -$nResult = -1 -ElseIf $sVal1 > $sVal2 Then -$nResult = 1 -EndIf -Else -$nResult = DllCall('shlwapi.dll', 'int', 'StrCmpLogicalW', 'wstr', $sVal1, 'wstr', $sVal2)[0] -EndIf -$nResult = $nResult * $__g_aArrayDisplay_SortInfo[5] -Return $nResult -EndFunc -Func __ArrayDisplay_GetItemText($hWnd, $iIndex, $iSubItem = 0) -Local $tBuffer = DllStructCreate("wchar Text[4096]") -Local $pBuffer = DllStructGetPtr($tBuffer) -Local $tItem = DllStructCreate($_ARRAYCONSTANT_tagLVITEM) -DllStructSetData($tItem, "SubItem", $iSubItem) -DllStructSetData($tItem, "TextMax", 4096) -DllStructSetData($tItem, "Text", $pBuffer) -If IsHWnd($hWnd) Then -DllCall("user32.dll", "lresult", "SendMessageW", "hwnd", $hWnd, "uint", 0x1073, "wparam", $iIndex, "struct*", $tItem) -Else -Local $pItem = DllStructGetPtr($tItem) -GUICtrlSendMsg($hWnd, 0x1073, $iIndex, $pItem) -EndIf -Return DllStructGetData($tBuffer, "Text") -EndFunc Func _ArrayToString(Const ByRef $aArray, $sDelim_Col = "|", $iStart_Row = -1, $iEnd_Row = -1, $sDelim_Row = @CRLF, $iStart_Col = -1, $iEnd_Col = -1) If $sDelim_Col = Default Then $sDelim_Col = "|" If $sDelim_Row = Default Then $sDelim_Row = @CRLF diff --git a/MyBot.run.au3 b/MyBot.run.au3 index 394dce635..a49bafa70 100644 --- a/MyBot.run.au3 +++ b/MyBot.run.au3 @@ -888,24 +888,6 @@ Func _Idle() ;Sequence that runs until Full Army If _Sleep($DELAYIDLE1) Then Return If $g_iCommandStop = -1 Then SetLog("====== Waiting for full army ======", $COLOR_SUCCESS) Local $hTimer = __TimerInit() - Local $iReHere = 0, $bNoCheckRedChatIcon = True - - If $g_iActiveDonate And $g_bChkDonate Then - Local $aHeroResult = CheckArmyCamp(True, True, True, False) - While $iReHere < 7 - If Not $g_bRunState Then Return - $iReHere += 1 - If ($g_iCommandStop = 3 Or $g_iCommandStop = 0) Then $bNoCheckRedChatIcon = ($iReHere = 1) ? False : True ; Just to force once to open and check Donations when is Halt mode - If $iReHere = 1 And SkipDonateNearFullTroops(True, $aHeroResult) = False And BalanceDonRec(True) Then - DonateCC($bNoCheckRedChatIcon) - ElseIf SkipDonateNearFullTroops(False, $aHeroResult) = False And BalanceDonRec(False) Then - DonateCC($bNoCheckRedChatIcon) - EndIf - If _Sleep($DELAYIDLE2) Then ExitLoop - If $g_bRestart = True Then ExitLoop - If CheckAndroidReboot() Then ContinueLoop 2 - WEnd - EndIf If _Sleep($DELAYIDLE1) Then ExitLoop checkObstacles() ; trap common error messages also check for reconnecting animation checkMainScreen(False) ; required here due to many possible exits @@ -962,7 +944,7 @@ Func _Idle() ;Sequence that runs until Full Army If $g_iCommandStop = 0 And $g_bTrainEnabled = True Then If Not ($g_bIsFullArmywithHeroesAndSpells) Then If $g_iActualTrainSkip < $g_iMaxTrainSkip Then - If CheckNeedOpenTrain($g_sTimeBeforeTrain) Then TrainSystem() + If CheckNeedOpenTrain($g_sTimeBeforeTrain) Or (ProfileSwitchAccountEnabled() And $g_iActiveDonate And $g_bChkDonate) Then TrainSystem() ; force check trainsystem after donate and before switch account If $g_bRestart = True Then ExitLoop If _Sleep($DELAYIDLE1) Then ExitLoop checkMainScreen(False) @@ -1220,6 +1202,7 @@ Func _RunFunction($action) If isOnBuilderBase() Or (($g_bChkCollectBuilderBase Or $g_bChkStartClockTowerBoost Or $g_iChkBBSuggestedUpgrades) And SwitchBetweenBases()) Then CollectBuilderBase() BuilderBaseReport() + CleanBBYard() StartClockTowerBoost() MainSuggestedUpgradeCode() ; switch back to normal village diff --git a/MyBot.run.exe b/MyBot.run.exe index 782fd2957..612374524 100644 Binary files a/MyBot.run.exe and b/MyBot.run.exe differ diff --git a/MyBot.run.version.au3 b/MyBot.run.version.au3 index f72052147..a3fb52f6a 100644 --- a/MyBot.run.version.au3 +++ b/MyBot.run.version.au3 @@ -15,8 +15,8 @@ #pragma compile(Icon, "Images\MyBot.ico") #pragma compile(FileDescription, Clash of Clans Bot - A Free Clash of Clans bot - https://mybot.run) #pragma compile(ProductVersion, 7.6) -#pragma compile(FileVersion, 7.6.4) +#pragma compile(FileVersion, 7.6.5) #pragma compile(LegalCopyright, © https://mybot.run) #Au3Stripper_On -Global $g_sBotVersion = "v7.6.4" ;~ Don't add more here, but below. Version can't be longer than vX.y.z because it is also use on Checkversion() \ No newline at end of file +Global $g_sBotVersion = "v7.6.5" ;~ Don't add more here, but below. Version can't be longer than vX.y.z because it is also use on Checkversion() \ No newline at end of file diff --git a/MyBot.run_stripped.au3 b/MyBot.run_stripped.au3 index a3f06e523..8f2fdd4e2 100644 --- a/MyBot.run_stripped.au3 +++ b/MyBot.run_stripped.au3 @@ -5,11 +5,11 @@ #pragma compile(Icon, "Images\MyBot.ico") #pragma compile(FileDescription, Clash of Clans Bot - A Free Clash of Clans bot - https://mybot.run) #pragma compile(ProductVersion, 7.6) -#pragma compile(FileVersion, 7.6.4) +#pragma compile(FileVersion, 7.6.5) #pragma compile(LegalCopyright, © https://mybot.run) #Au3Stripper_Off #Au3Stripper_On -Global $g_sBotVersion = "v7.6.4" +Global $g_sBotVersion = "v7.6.5" Opt("MustDeclareVars", 1) Global $g_sBotTitle = "" Global $g_hFrmBot = 0 @@ -75,7 +75,9 @@ Global Const $WM_MOUSEHWHEEL = 0x020E Global Const $SM_CYCAPTION = 4 Global Const $SRCCOPY = 0x00CC0020 Global Const $RDW_ERASE = 0x0004 +Global Const $RDW_FRAME = 0x0400 Global Const $RDW_INVALIDATE = 0x0001 +Global Const $RDW_UPDATENOW = 0x0100 Global Const $RDW_ALLCHILDREN = 0x0080 Global Const $STARTF_USESHOWWINDOW = 0x1 Global Const $STARTF_USESTDHANDLES = 0x100 @@ -148,12 +150,14 @@ Global Const $FLTAR_NOPATH = 0 Global Const $FLTAR_RELPATH = 1 Global Const $MB_OK = 0 Global Const $MB_OKCANCEL = 1 +Global Const $MB_YESNO = 4 Global Const $MB_ICONWARNING = 48 Global Const $MB_ICONINFORMATION = 64 Global Const $MB_APPLMODAL = 0 Global Const $MB_SYSTEMMODAL = 4096 Global Const $MB_TOPMOST = 0x00040000 Global Const $IDOK = 1 +Global Const $IDYES = 6 Global Const $SE_PRIVILEGE_ENABLED = 0x00000002 Global Enum $SECURITYANONYMOUS = 0, $SECURITYIDENTIFICATION, $SECURITYIMPERSONATION, $SECURITYDELEGATION Global Const $TOKEN_QUERY = 0x00000008 @@ -5756,7 +5760,7 @@ Global $__MEmu_SystemBar = 36 Global $__MEmu_PhoneLayout = "2" Global $__MEmu_Window[4][5] = [ ["3.0.8", $g_iDEFAULT_WIDTH + 40, $g_iDEFAULT_HEIGHT - 14, 36, "-1"], ["2.6.2", $g_iDEFAULT_WIDTH + 48, $g_iDEFAULT_HEIGHT - 10, 40, "2"], ["2.5.0", $g_iDEFAULT_WIDTH + 51, $g_iDEFAULT_HEIGHT - 12, 45, "0"], ["2.2.1", $g_iDEFAULT_WIDTH + 51, $g_iDEFAULT_HEIGHT - 12, 45, "0"] ] Global $__Droid4X_Window[3][3] = [ ["0.10.0", $g_iDEFAULT_WIDTH + 6, $g_iDEFAULT_HEIGHT + 53], ["0.8.6", $g_iDEFAULT_WIDTH + 10, $g_iDEFAULT_HEIGHT + 50] ] -Global $__Nox_Config[1][2] = [ ["3.3.0", "[CLASS:subWin; INSTANCE:1]|[TEXT:QWidgetClassWindow; CLASS:Qt5QWindowIcon]"] ] +Global $__Nox_Config[2][3] = [ ["6.2.1", "[CLASS:subWin; INSTANCE:1]|[CLASS:AnglePlayer_0; INSTANCE:1]", True], ["3.3.0", "[CLASS:subWin; INSTANCE:1]|[TEXT:QWidgetClassWindow; CLASS:Qt5QWindowIcon]", False] ] Global $g_avAndroidAppConfig[8][16] = [ ["LeapDroid", "vm1", "Leapd", "[CLASS:subWin; INSTANCE:1]", "", $g_iDEFAULT_WIDTH, $g_iDEFAULT_HEIGHT - 48,$g_iDEFAULT_WIDTH, $g_iDEFAULT_HEIGHT - 48,0, "emulator-5554", 1 + 8 + 16 + 32, '# ', 'qwerty2', 1, 1], ["Nox", "nox", "No", "[CLASS:subWin; INSTANCE:1]", "", $g_iDEFAULT_WIDTH, $g_iDEFAULT_HEIGHT - 48,$g_iDEFAULT_WIDTH + 4, $g_iDEFAULT_HEIGHT - 10,0, "127.0.0.1:62001", 1 + 2 + 4 + 8 + 16 + 32 + 256,'# ', '(nox Virtual Input|Android Input|Android_Input)', 0, 2], ["MEmu", "MEmu", "MEmu ", "[CLASS:subWin; INSTANCE:1]", "", $g_iDEFAULT_WIDTH, $g_iDEFAULT_HEIGHT - 48,$g_iDEFAULT_WIDTH + 51,$g_iDEFAULT_HEIGHT - 12,0, "127.0.0.1:21503", 2 + 4 + 8 + 16 + 32, '# ', '(Microvirt Virtual Input|User Input)', 0, 2], ["BlueStacks2","Android", "BlueStacks ", "[CLASS:BlueStacksApp; INSTANCE:1]","_ctl.Window", $g_iDEFAULT_WIDTH, $g_iDEFAULT_HEIGHT - 48,$g_iDEFAULT_WIDTH, $g_iDEFAULT_HEIGHT - 48,0, "127.0.0.1:5555", 1 + 2 + 8 + 16 + 32 + 128,'$ ', 'BlueStacks Virtual Touch', 0, 1], ["BlueStacks", "Android", "BlueStacks App Player","[CLASS:BlueStacksApp; INSTANCE:1]","_ctl.Window", $g_iDEFAULT_WIDTH, $g_iDEFAULT_HEIGHT - 48,$g_iDEFAULT_WIDTH, $g_iDEFAULT_HEIGHT - 48,0, "127.0.0.1:5555", 1 + 8 + 16 + 32 + 128,'$ ', 'BlueStacks Virtual Touch', 0, 1], ["iTools", "iToolsVM","iTools ", "[CLASS:subWin; INSTANCE:1]", "", $g_iDEFAULT_WIDTH, $g_iDEFAULT_HEIGHT - 48,$g_iDEFAULT_WIDTH + 2, $g_iDEFAULT_HEIGHT - 13,0, "127.0.0.1:54001", 1 + 2 + 8 + 16 + 32 + 64, '# ', 'iTools Virtual PassThrough Input', 0, 1], ["KOPLAYER", "KOPLAYER","KOPLAYER", "[CLASS:subWin; INSTANCE:1]", "", $g_iDEFAULT_WIDTH, $g_iDEFAULT_HEIGHT - 48,$g_iDEFAULT_WIDTH + 64,$g_iDEFAULT_HEIGHT - 8, 0, "127.0.0.1:6555", 1 + 2 + 4 + 8 + 16 + 32, '# ', 'ttVM Virtual Input', 0, 2], ["Droid4X", "droid4x", "Droid4X ", "[CLASS:subWin; INSTANCE:1]", "", $g_iDEFAULT_WIDTH, $g_iDEFAULT_HEIGHT - 48,$g_iDEFAULT_WIDTH + 10,$g_iDEFAULT_HEIGHT + 50,0, "127.0.0.1:26944", 2 + 4 + 8 + 16 + 32, '# ', 'droid4x Virtual Input', 0, 2] ] Global $__MEmu_Idx = _ArraySearch($g_avAndroidAppConfig, "MEmu", 0, 0, 0, 0, 1, 0) Global $__BS2_Idx = _ArraySearch($g_avAndroidAppConfig, "BlueStacks2", 0, 0, 0, 0, 1, 0) @@ -5819,7 +5823,7 @@ Global $g_sAndroidProgramPath = "" Global $b_sAndroidProgramWerFaultExcluded = True Global $g_avAndroidProgramFileVersionInfo = 0 Global $g_bAndroidHasSystemBar = False -Global $g_iAndroidLaunchWaitSec = 240 +Global $g_iAndroidLaunchWaitSec = 600 Global $g_sAndroidPicturesPath = "" Global $g_sAndroidPicturesHostPath = "" Global $g_bAndroidSharedFolderAvailable = True @@ -5854,6 +5858,7 @@ Global $g_bForceCapture = False Global $g_hAndroidWindow = 0 Global $g_hAndroidWindowDpiAware = 0 Global $g_hAndroidControl = 0 +Global $g_bAndroidControlUseParentPos = False Global $g_bInitAndroid = True Global Const $g_iCoCReconnectingTimeout = 60000 Global $__BlueStacks_Version @@ -5938,7 +5943,7 @@ Global Const $g_sIcnBldGold = @ScriptDir & "\Images\gold.png" Global Const $g_sIcnBldElixir = @ScriptDir & "\Images\elixir.png" Global Const $g_sIcnBldTrophy = @ScriptDir & "\Images\trophy.png" Global $g_iRedrawBotWindowMode = 2 -Global Enum $eIcnArcher = 1, $eIcnDonArcher, $eIcnBalloon, $eIcnDonBalloon, $eIcnBarbarian, $eIcnDonBarbarian, $eBtnTest, $eIcnBuilder, $eIcnCC, $eIcnGUI, $eIcnDark, $eIcnDragon, $eIcnDonDragon, $eIcnDrill, $eIcnElixir, $eIcnCollector, $eIcnFreezeSpell, $eIcnGem, $eIcnGiant, $eIcnDonGiant, $eIcnTrap, $eIcnGoblin, $eIcnDonGoblin, $eIcnGold, $eIcnGolem, $eIcnDonGolem, $eIcnHealer, $eIcnDonHealer, $eIcnHogRider, $eIcnDonHogRider, $eIcnHealSpell, $eIcnInferno, $eIcnJumpSpell, $eIcnLavaHound, $eIcnDonLavaHound, $eIcnLightSpell, $eIcnMinion, $eIcnDonMinion, $eIcnPekka, $eIcnDonPekka, $eIcnTreasury, $eIcnRageSpell, $eIcnTroops, $eIcnHourGlass, $eIcnTH1, $eIcnTH10, $eIcnTrophy, $eIcnValkyrie, $eIcnDonValkyrie, $eIcnWall, $eIcnWallBreaker, $eIcnDonWallBreaker, $eIcnWitch, $eIcnDonWitch, $eIcnWizard, $eIcnDonWizard, $eIcnXbow, $eIcnBarrackBoost, $eIcnMine, $eIcnCamp, $eIcnBarrack, $eIcnSpellFactory, $eIcnDonBlacklist, $eIcnSpellFactoryBoost, $eIcnMortar, $eIcnWizTower, $eIcnPayPal, $eIcnNotify, $eIcnGreenLight, $eIcnLaboratory, $eIcnRedLight, $eIcnBlank, $eIcnYellowLight, $eIcnDonCustom, $eIcnTombstone, $eIcnSilverStar, $eIcnGoldStar, $eIcnDarkBarrack, $eIcnCollectorLocate, $eIcnDrillLocate, $eIcnMineLocate, $eIcnBarrackLocate, $eIcnDarkBarrackLocate, $eIcnDarkSpellFactoryLocate, $eIcnDarkSpellFactory, $eIcnEarthQuakeSpell, $eIcnHasteSpell, $eIcnPoisonSpell, $eIcnBldgTarget, $eIcnBldgX, $eIcnRecycle, $eIcnHeroes, $eIcnBldgElixir, $eIcnBldgGold, $eIcnMagnifier, $eIcnWallElixir, $eIcnWallGold, $eIcnKing, $eIcnQueen, $eIcnDarkSpellBoost, $eIcnQueenBoostLocate, $eIcnKingBoostLocate, $eIcnKingUpgr, $eIcnQueenUpgr, $eIcnWardenUpgr, $eIcnWarden, $eIcnWardenBoostLocate, $eIcnKingBoost, $eIcnQueenBoost, $eIcnWardenBoost, $eEmpty3, $eIcnReload, $eIcnCopy, $eIcnAddcvs, $eIcnEdit, $eIcnTreeSnow, $eIcnSleepingQueen, $eIcnSleepingKing, $eIcnGoldElixir, $eIcnBowler, $eIcnDonBowler, $eIcnCCDonate, $eIcnEagleArt, $eIcnGembox, $eIcnInferno4, $eIcnInfo, $eIcnMain, $eIcnTree, $eIcnProfile, $eIcnCCRequest, $eIcnTelegram, $eIcnTiles, $eIcnXbow3, $eIcnBark, $eIcnDailyProgram, $eIcnLootCart, $eIcnSleepMode, $eIcnTH11, $eIcnTrainMode, $eIcnSleepingWarden, $eIcnCloneSpell, $eIcnSkeletonSpell, $eIcnBabyDragon, $eIcnDonBabyDragon, $eIcnMiner, $eIcnDonMiner, $eIcnNoShield, $eIcnDonCustomB, $eIcnAirdefense, $eIcnDarkBarrackBoost, $eIcnDarkElixirStorage, $eIcnSpellsCost, $eIcnTroopsCost, $eIcnResetButton, $eIcnNewSmartZap, $eIcnTrain, $eIcnAttack, $eIcnDelay, $eIcnReOrder, $eIcn2Arrow, $eIcnArrowLeft, $eIcnArrowRight, $eIcnAndroid, $eHdV04, $eHdV05, $eHdV06, $eHdV07, $eHdV08, $eHdV09, $eHdV10, $eHdV11, $eUnranked, $eBronze, $eSilver, $eGold, $eCrystal, $eMaster, $eChampion, $eTitan, $eLegend, $eWall04, $eWall05, $eWall06, $eWall07, $eWall08, $eWall09, $eWall10, $eWall11, $eIcnPBNotify, $eIcnCCTroops, $eIcnCCSpells, $eIcnSpellsGroup, $eBahasaIND, $eChinese_S, $eChinese_T, $eEnglish, $eFrench, $eGerman, $eItalian, $ePersian, $eRussian, $eSpanish, $eTurkish, $eMissingLangIcon, $eWall12, $ePortuguese, $eIcnDonPoisonSpell, $eIcnDonEarthQuakeSpell, $eIcnDonHasteSpell, $eIcnDonSkeletonSpell, $eVietnamese, $eKorean, $eAzerbaijani, $eArabic, $eIcnBuilderHall, $eIcnClockTower, $eIcnElixirCollectorL5, $eIcnGemMine, $eIcnGoldMineL5, $eIcnElectroDragon, $eIcnTH12, $eHdV12, $eWall13, $eIcnGrayShield, $eIcnBlueShield, $eIcnGreenShield, $eIcnRedShield, $eIcnBattleB , $eIcnWallW, $eIcnSiegeCost, $eIcnBoostPotion +Global Enum $eIcnArcher = 1, $eIcnDonArcher, $eIcnBalloon, $eIcnDonBalloon, $eIcnBarbarian, $eIcnDonBarbarian, $eBtnTest, $eIcnBuilder, $eIcnCC, $eIcnGUI, $eIcnDark, $eIcnDragon, $eIcnDonDragon, $eIcnDrill, $eIcnElixir, $eIcnCollector, $eIcnFreezeSpell, $eIcnGem, $eIcnGiant, $eIcnDonGiant, $eIcnTrap, $eIcnGoblin, $eIcnDonGoblin, $eIcnGold, $eIcnGolem, $eIcnDonGolem, $eIcnHealer, $eIcnDonHealer, $eIcnHogRider, $eIcnDonHogRider, $eIcnHealSpell, $eIcnInferno, $eIcnJumpSpell, $eIcnLavaHound, $eIcnDonLavaHound, $eIcnLightSpell, $eIcnMinion, $eIcnDonMinion, $eIcnPekka, $eIcnDonPekka, $eIcnTreasury, $eIcnRageSpell, $eIcnTroops, $eIcnHourGlass, $eIcnTH1, $eIcnTH10, $eIcnTrophy, $eIcnValkyrie, $eIcnDonValkyrie, $eIcnWall, $eIcnWallBreaker, $eIcnDonWallBreaker, $eIcnWitch, $eIcnDonWitch, $eIcnWizard, $eIcnDonWizard, $eIcnXbow, $eIcnBarrackBoost, $eIcnMine, $eIcnCamp, $eIcnBarrack, $eIcnSpellFactory, $eIcnDonBlacklist, $eIcnSpellFactoryBoost, $eIcnMortar, $eIcnWizTower, $eIcnPayPal, $eIcnNotify, $eIcnGreenLight, $eIcnLaboratory, $eIcnRedLight, $eIcnBlank, $eIcnYellowLight, $eIcnDonCustom, $eIcnTombstone, $eIcnSilverStar, $eIcnGoldStar, $eIcnDarkBarrack, $eIcnCollectorLocate, $eIcnDrillLocate, $eIcnMineLocate, $eIcnBarrackLocate, $eIcnDarkBarrackLocate, $eIcnDarkSpellFactoryLocate, $eIcnDarkSpellFactory, $eIcnEarthQuakeSpell, $eIcnHasteSpell, $eIcnPoisonSpell, $eIcnBldgTarget, $eIcnBldgX, $eIcnRecycle, $eIcnHeroes, $eIcnBldgElixir, $eIcnBldgGold, $eIcnMagnifier, $eIcnWallElixir, $eIcnWallGold, $eIcnKing, $eIcnQueen, $eIcnDarkSpellBoost, $eIcnQueenBoostLocate, $eIcnKingBoostLocate, $eIcnKingUpgr, $eIcnQueenUpgr, $eIcnWardenUpgr, $eIcnWarden, $eIcnWardenBoostLocate, $eIcnKingBoost, $eIcnQueenBoost, $eIcnWardenBoost, $eEmpty3, $eIcnReload, $eIcnCopy, $eIcnAddcvs, $eIcnEdit, $eIcnTreeSnow, $eIcnSleepingQueen, $eIcnSleepingKing, $eIcnGoldElixir, $eIcnBowler, $eIcnDonBowler, $eIcnCCDonate, $eIcnEagleArt, $eIcnGembox, $eIcnInferno4, $eIcnInfo, $eIcnMain, $eIcnTree, $eIcnProfile, $eIcnCCRequest, $eIcnTelegram, $eIcnTiles, $eIcnXbow3, $eIcnBark, $eIcnDailyProgram, $eIcnLootCart, $eIcnSleepMode, $eIcnTH11, $eIcnTrainMode, $eIcnSleepingWarden, $eIcnCloneSpell, $eIcnSkeletonSpell, $eIcnBabyDragon, $eIcnDonBabyDragon, $eIcnMiner, $eIcnDonMiner, $eIcnNoShield, $eIcnDonCustomB, $eIcnAirdefense, $eIcnDarkBarrackBoost, $eIcnDarkElixirStorage, $eIcnSpellsCost, $eIcnTroopsCost, $eIcnResetButton, $eIcnNewSmartZap, $eIcnTrain, $eIcnAttack, $eIcnDelay, $eIcnReOrder, $eIcn2Arrow, $eIcnArrowLeft, $eIcnArrowRight, $eIcnAndroid, $eHdV04, $eHdV05, $eHdV06, $eHdV07, $eHdV08, $eHdV09, $eHdV10, $eHdV11, $eUnranked, $eBronze, $eSilver, $eGold, $eCrystal, $eMaster, $eChampion, $eTitan, $eLegend, $eWall04, $eWall05, $eWall06, $eWall07, $eWall08, $eWall09, $eWall10, $eWall11, $eIcnPBNotify, $eIcnCCTroops, $eIcnCCSpells, $eIcnSpellsGroup, $eBahasaIND, $eChinese_S, $eChinese_T, $eEnglish, $eFrench, $eGerman, $eItalian, $ePersian, $eRussian, $eSpanish, $eTurkish, $eMissingLangIcon, $eWall12, $ePortuguese, $eIcnDonPoisonSpell, $eIcnDonEarthQuakeSpell, $eIcnDonHasteSpell, $eIcnDonSkeletonSpell, $eVietnamese, $eKorean, $eAzerbaijani, $eArabic, $eIcnBuilderHall, $eIcnClockTower, $eIcnElixirCollectorL5, $eIcnGemMine, $eIcnGoldMineL5, $eIcnElectroDragon, $eIcnTH12, $eHdV12, $eWall13, $eIcnGrayShield, $eIcnBlueShield, $eIcnGreenShield, $eIcnRedShield, $eIcnBattleB , $eIcnWallW, $eIcnSiegeCost, $eIcnBoostPotion, $eIcnBatSpell, $eIcnStoneS, $eIcnIceGolem Global $eIcnDonBlank = $eIcnDonBlacklist Global $eIcnOptions = $eIcnDonBlacklist Global $eIcnAchievements = $eIcnMain @@ -5980,33 +5985,33 @@ Global Const $DROPLINE_EDGE_FIRST = 1 Global Const $DROPLINE_FULL_EDGE_FIXED = 2 Global Const $DROPLINE_FULL_EDGE_FIRST = 3 Global Const $DROPLINE_DROPPOINTS_ONLY = 4 -Global Enum $eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, $eMini, $eHogs, $eValk, $eGole, $eWitc, $eLava, $eBowl, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eWallW, $eBattleB, $eArmyCount +Global Enum $eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, $eMini, $eHogs, $eValk, $eGole, $eWitc, $eLava, $eBowl, $eIceG, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell, $eWallW, $eBattleB, $eStoneS, $eArmyCount Global Enum $DB, $LB, $TS, $MA, $TB, $DT Global Const $g_iModeCount = 3 Global $g_iMatchMode = 0 Global Const $g_asModeText[6] = ["Dead Base", "Live Base", "TH Snipe", "Milking Attack", "TH Bully", "Drop Trophy"] -Global Enum $eTroopBarbarian, $eTroopArcher, $eTroopGiant, $eTroopGoblin, $eTroopWallBreaker, $eTroopBalloon, $eTroopWizard, $eTroopHealer, $eTroopDragon, $eTroopPekka, $eTroopBabyDragon, $eTroopMiner, $eTroopElectroDragon, $eTroopMinion, $eTroopHogRider, $eTroopValkyrie, $eTroopGolem, $eTroopWitch, $eTroopLavaHound, $eTroopBowler, $eTroopCount -Global Const $g_asTroopNames[$eTroopCount] = [ "Barbarian", "Archer", "Giant", "Goblin", "Wall Breaker", "Balloon", "Wizard", "Healer", "Dragon", "Pekka", "Baby Dragon", "Miner", "Electro Dragon", "Minion", "Hog Rider", "Valkyrie", "Golem", "Witch", "Lava Hound", "Bowler"] -Global Const $g_asTroopNamesPlural[$eTroopCount] = [ "Barbarians", "Archers", "Giants", "Goblins", "Wall Breakers", "Balloons", "Wizards", "Healers", "Dragons", "Pekkas", "Baby Dragons", "Miners", "Electro Dragons", "Minions", "Hog Riders", "Valkyries", "Golems", "Witches", "Lava Hounds", "Bowlers"] -Global Const $g_asTroopShortNames[$eTroopCount] = [ "Barb", "Arch", "Giant", "Gobl", "Wall", "Ball", "Wiza", "Heal", "Drag", "Pekk", "BabyD", "Mine", "EDrag", "Mini", "Hogs", "Valk", "Gole", "Witc", "Lava", "Bowl"] -Global Const $g_aiTroopSpace[$eTroopCount] = [ 1, 1, 5, 1, 2, 5, 4, 14, 20, 25, 10, 6, 30, 2, 5, 8, 30, 12, 30, 6] -Global Const $g_aiTroopTrainTime[$eTroopCount] = [ 20, 24, 120, 28, 60, 120, 120, 480, 720, 720, 360, 120, 1440, 36, 90, 180, 600, 360, 600, 120] -Global Const $g_aiTroopCostPerLevel[$eTroopCount][10] = [ [8, 25, 40, 60, 100, 150, 200, 250, 300], [8, 50, 80, 120, 200, 300, 400, 500, 600], [9, 250, 750, 1250, 1750, 2250, 3000, 3500, 4000, 4500], [7, 25, 40, 60, 80, 100, 150, 200], [8, 1000, 1250, 1500, 1750, 2000, 2250, 2500, 2750], [8, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500], [9, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500], [5, 5000, 6000, 8000, 10000, 15000], [7, 18000, 20000, 22000, 24000, 26000, 28000, 30000], [8, 21000, 24000, 27000, 30000, 33000, 35000, 37000, 39000], [6, 10000, 11000, 12000, 13000, 14000, 15000], [6, 4200, 4800, 5200, 5600, 6000, 6400], [3, 36000, 40000, 44000], [8, 6, 7, 8, 9, 10, 11, 12, 13], [8, 40, 45, 52, 58, 65, 90, 115, 140], [7, 70, 100, 130, 160, 190, 220, 250], [8, 300, 375, 450, 525, 600, 675, 750, 825], [4, 175, 225, 275, 325], [5, 390, 450, 510, 570, 630], [4, 110, 130, 150, 170]] -Global Const $g_aiTroopDonateXP[$eTroopCount] = [1, 1, 5, 1, 2, 5, 4, 14, 20, 25, 10, 6, 30, 2, 5, 8, 30, 12, 30, 6] -Global Enum $eSpellLightning, $eSpellHeal, $eSpellRage, $eSpellJump, $eSpellFreeze, $eSpellClone, $eSpellPoison, $eSpellEarthquake, $eSpellHaste, $eSpellSkeleton, $eSpellCount -Global Const $g_asSpellNames[$eSpellCount] = ["Lightning", "Heal", "Rage", "Jump", "Freeze", "Clone", "Poison", "Earthquake", "Haste", "Skeleton"] -Global Const $g_asSpellShortNames[$eSpellCount] = ["LSpell", "HSpell", "RSpell", "JSpell", "FSpell", "CSpell", "PSpell", "ESpell", "HaSpell", "SkSpell"] -Global Const $g_aiSpellSpace[$eSpellCount] = [2, 2, 2, 2, 1, 3, 1, 1, 1, 1] -Global Const $g_aiSpellTrainTime[$eSpellCount] = [360, 360, 360, 360, 360, 720, 180, 180, 180, 180] -Global Const $g_aiSpellCostPerLevel[$eSpellCount][8] = [ [7, 15000, 16500, 18000, 20000, 22000, 24000, 26000], [7, 15000, 16500, 18000, 19000, 21000, 23000, 25000], [5, 23000, 25000, 27000, 30000, 33000], [3, 23000, 27000, 31000], [7, 12000, 13000, 14000, 15000, 16000, 17000, 18000], [5, 38000, 39000, 41000, 43000, 45000], [5, 95, 110, 125, 140, 155], [4, 125, 140, 160, 180], [4, 80, 85, 90, 95], [5, 110, 120, 130, 140, 150]] -Global Const $g_aiSpellDonateXP[$eSpellCount] = [10, 10, 10, 10, 10, 0, 5, 5, 5, 5] -Global Enum $eSiegeWallWrecker, $eSiegeBattleBlimp, $eSiegeMachineCount -Global Const $g_asSiegeMachineNames[$eSiegeMachineCount] = ["Wall Wrecker", "Battle Blimp"] -Global Const $g_asSiegeMachineShortNames[$eSiegeMachineCount] = ["WallW", "BattleB"] -Global Const $g_aiSiegeMachineSpace[$eSiegeMachineCount] = [1, 1] -Global Const $g_aiSiegeMachineTrainTimePerLevel[$eSiegeMachineCount][4] = [ [3, 1200, 1500, 1800], [3, 1200, 1500, 1800]] -Global Const $g_aiSiegeMachineCostPerLevel[$eSiegeMachineCount][4] = [ [3, 100000, 100000, 100000], [3, 100000, 100000, 100000]] -Global Const $g_aiSiegeMachineDonateXP[$eSiegeMachineCount] = [30, 30] +Global Enum $eTroopBarbarian, $eTroopArcher, $eTroopGiant, $eTroopGoblin, $eTroopWallBreaker, $eTroopBalloon, $eTroopWizard, $eTroopHealer, $eTroopDragon, $eTroopPekka, $eTroopBabyDragon, $eTroopMiner, $eTroopElectroDragon, $eTroopMinion, $eTroopHogRider, $eTroopValkyrie, $eTroopGolem, $eTroopWitch, $eTroopLavaHound, $eTroopBowler, $eTroopIceGolem, $eTroopCount +Global Const $g_asTroopNames[$eTroopCount] = [ "Barbarian", "Archer", "Giant", "Goblin", "Wall Breaker", "Balloon", "Wizard", "Healer", "Dragon", "Pekka", "Baby Dragon", "Miner", "Electro Dragon", "Minion", "Hog Rider", "Valkyrie", "Golem", "Witch", "Lava Hound", "Bowler", "Ice Golem"] +Global Const $g_asTroopNamesPlural[$eTroopCount] = [ "Barbarians", "Archers", "Giants", "Goblins", "Wall Breakers", "Balloons", "Wizards", "Healers", "Dragons", "Pekkas", "Baby Dragons", "Miners", "Electro Dragons", "Minions", "Hog Riders", "Valkyries", "Golems", "Witches", "Lava Hounds", "Bowlers", "Ice Golems"] +Global Const $g_asTroopShortNames[$eTroopCount] = [ "Barb", "Arch", "Giant", "Gobl", "Wall", "Ball", "Wiza", "Heal", "Drag", "Pekk", "BabyD", "Mine", "EDrag", "Mini", "Hogs", "Valk", "Gole", "Witc", "Lava", "Bowl", "IceG"] +Global Const $g_aiTroopSpace[$eTroopCount] = [ 1, 1, 5, 1, 2, 5, 4, 14, 20, 25, 10, 6, 30, 2, 5, 8, 30, 12, 30, 6, 15] +Global Const $g_aiTroopTrainTime[$eTroopCount] = [ 20, 24, 120, 28, 60, 120, 120, 480, 720, 720, 360, 120, 1440, 36, 90, 180, 600, 360, 600, 120, 180] +Global Const $g_aiTroopCostPerLevel[$eTroopCount][10] = [ [8, 25, 40, 60, 100, 150, 200, 250, 300], [8, 50, 80, 120, 200, 300, 400, 500, 600], [9, 250, 750, 1250, 1750, 2250, 3000, 3500, 4000, 4500], [7, 25, 40, 60, 80, 100, 150, 200], [8, 1000, 1250, 1500, 1750, 2000, 2250, 2500, 2750], [8, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500], [9, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500], [5, 5000, 6000, 8000, 10000, 15000], [7, 18000, 20000, 22000, 24000, 26000, 28000, 30000], [8, 21000, 24000, 27000, 30000, 33000, 35000, 37000, 39000], [6, 10000, 11000, 12000, 13000, 14000, 15000], [6, 4200, 4800, 5200, 5600, 6000, 6400], [3, 36000, 40000, 44000], [8, 6, 7, 8, 9, 10, 11, 12, 13], [8, 40, 45, 52, 58, 65, 90, 115, 140], [7, 70, 100, 130, 160, 190, 220, 250], [8, 300, 375, 450, 525, 600, 675, 750, 825], [4, 175, 225, 275, 325], [5, 390, 450, 510, 570, 630], [4, 110, 130, 150, 170], [4, 220, 240, 260, 280]] +Global Const $g_aiTroopDonateXP[$eTroopCount] = [1, 1, 5, 1, 2, 5, 4, 14, 20, 25, 10, 6, 30, 2, 5, 8, 30, 12, 30, 6, 15] +Global Enum $eSpellLightning, $eSpellHeal, $eSpellRage, $eSpellJump, $eSpellFreeze, $eSpellClone, $eSpellPoison, $eSpellEarthquake, $eSpellHaste, $eSpellSkeleton, $eSpellBat, $eSpellCount +Global Const $g_asSpellNames[$eSpellCount] = ["Lightning", "Heal", "Rage", "Jump", "Freeze", "Clone", "Poison", "Earthquake", "Haste", "Skeleton", "Bat"] +Global Const $g_asSpellShortNames[$eSpellCount] = ["LSpell", "HSpell", "RSpell", "JSpell", "FSpell", "CSpell", "PSpell", "ESpell", "HaSpell", "SkSpell", "BtSpell"] +Global Const $g_aiSpellSpace[$eSpellCount] = [2, 2, 2, 2, 1, 3, 1, 1, 1, 1, 1] +Global Const $g_aiSpellTrainTime[$eSpellCount] = [360, 360, 360, 360, 360, 720, 180, 180, 180, 180, 180] +Global Const $g_aiSpellCostPerLevel[$eSpellCount][8] = [ [7, 15000, 16500, 18000, 20000, 22000, 24000, 26000], [7, 15000, 16500, 18000, 19000, 21000, 23000, 25000], [5, 23000, 25000, 27000, 30000, 33000], [3, 23000, 27000, 31000], [7, 12000, 13000, 14000, 15000, 16000, 17000, 18000], [5, 38000, 39000, 41000, 43000, 45000], [5, 95, 110, 125, 140, 155], [4, 125, 140, 160, 180], [4, 80, 85, 90, 95], [5, 110, 120, 130, 140, 150], [5, 110, 120, 130, 140, 150]] +Global Const $g_aiSpellDonateXP[$eSpellCount] = [10, 10, 10, 10, 10, 0, 5, 5, 5, 5, 5] +Global Enum $eSiegeWallWrecker, $eSiegeBattleBlimp, $eSiegeStoneSlammer, $eSiegeMachineCount +Global Const $g_asSiegeMachineNames[$eSiegeMachineCount] = ["Wall Wrecker", "Battle Blimp", "Stone Slammer"] +Global Const $g_asSiegeMachineShortNames[$eSiegeMachineCount] = ["WallW", "BattleB", "StoneS"] +Global Const $g_aiSiegeMachineSpace[$eSiegeMachineCount] = [1, 1, 1] +Global Const $g_aiSiegeMachineTrainTimePerLevel[$eSiegeMachineCount][4] = [ [3, 1200, 1200, 1200], [3, 1200, 1200, 1200], [3, 1200, 1200, 1200]] +Global Const $g_aiSiegeMachineCostPerLevel[$eSiegeMachineCount][4] = [ [3, 100000, 100000, 100000], [3, 100000, 100000, 100000], [3, 100000, 100000, 100000]] +Global Const $g_aiSiegeMachineDonateXP[$eSiegeMachineCount] = [30, 30, 30] Global Enum $eHeroNone = 0, $eHeroKing = 1, $eHeroQueen = 2, $eHeroWarden = 4 Global Enum $eHeroBarbarianKing, $eHeroArcherQueen, $eHeroGrandWarden, $eHeroCount Global Const $g_asHeroNames[$eHeroCount] = ["Barbarian King", "Archer Queen", "Grand Warden"] @@ -6042,13 +6047,13 @@ SetDebugLog("TroopIndexLookup() Error: Index for troop name '" & $sName & "' not Return -1 EndFunc Func GetTroopName(Const $iIndex, $iQuantity = 1) -If $iIndex >= $eBarb And $iIndex <= $eBowl Then +If $iIndex >= $eBarb And $iIndex <= $eIceG Then Return $iQuantity > 1 ? $g_asTroopNamesPlural[$iIndex] : $g_asTroopNames[$iIndex] -ElseIf $iIndex >= $eLSpell And $iIndex <= $eSkSpell Then +ElseIf $iIndex >= $eLSpell And $iIndex <= $eBtSpell Then Return $iQuantity > 1 ? $g_asSpellNames[$iIndex - $eLSpell] & "Spells" : $g_asSpellNames[$iIndex - $eLSpell] & "Spell" ElseIf $iIndex >= $eKing And $iIndex <= $eWarden Then Return $g_asHeroNames[$iIndex - $eKing] -ElseIf $iIndex >= $eWallW And $iIndex <= $eBattleB Then +ElseIf $iIndex >= $eWallW And $iIndex <= $eStoneS Then Return $g_asSiegeMachineNames[$iIndex - $eWallW] ElseIf $iIndex = $eCastle Then Return "Clan Castle" @@ -6069,14 +6074,14 @@ Global $g_bChkTreasuryCollect = False Global $g_iTxtTreasuryGold = 0 Global $g_iTxtTreasuryElixir = 0 Global $g_iTxtTreasuryDark = 0 -Global $g_bChkCollectBuilderBase = False, $g_bChkStartClockTowerBoost = False, $g_bChkCTBoostBlderBz = False +Global $g_bChkCollectBuilderBase = False, $g_bChkStartClockTowerBoost = False, $g_bChkCTBoostBlderBz = False, $g_bChkCleanBBYard = False Global $g_bRequestTroopsEnable = False Global $g_sRequestTroopsText = "" Global $g_abRequestCCHours[24] = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] Global $g_abRequestType[3] = [True, True, False] Global $g_iRequestCountCCTroop = 0, $g_iRequestCountCCSpell = 0 -Global $g_aiCCTroopsExpected[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_aiCCSpellsExpected[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiCCTroopsExpected[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiCCSpellsExpected[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Global $g_aiClanCastleTroopWaitType[3], $g_aiClanCastleTroopWaitQty[3] Global $g_aiClanCastleSpellWaitType[2], $g_aiClanCastleSpellWaitQty[2] Global $g_bChkDonate = True @@ -6084,14 +6089,14 @@ Global $g_abChkDonateQueueOnly[2] Global Enum $eCustomA = $eTroopCount, $eCustomB = $eTroopCount + 1 Global Enum $eCustomC = $eTroopCount + 2, $eCustomD = $eTroopCount + 3 Global Const $g_iCustomDonateConfigs = 4 -Global $g_abChkDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] -Global $g_abChkDonateAllTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] -Global $g_asTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] -Global $g_asTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] -Global $g_abChkDonateSpell[$eSpellCount] = [False, False, False, False, False, False, False, False, False, False] -Global $g_abChkDonateAllSpell[$eSpellCount] = [False, False, False, False, False, False, False, False, False, False] -Global $g_asTxtDonateSpell[$eSpellCount] = ["", "", "", "", "", "", "", "", "", ""] -Global $g_asTxtBlacklistSpell[$eSpellCount] = ["", "", "", "", "", "", "", "", "", ""] +Global $g_abChkDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] +Global $g_abChkDonateAllTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] +Global $g_asTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] +Global $g_asTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] +Global $g_abChkDonateSpell[$eSpellCount] = [False, False, False, False, False, False, False, False, False, False, False] +Global $g_abChkDonateAllSpell[$eSpellCount] = [False, False, False, False, False, False, False, False, False, False, False] +Global $g_asTxtDonateSpell[$eSpellCount] = ["", "", "", "", "", "", "", "", "", "", ""] +Global $g_asTxtBlacklistSpell[$eSpellCount] = ["", "", "", "", "", "", "", "", "", "", ""] Global $g_aiDonateCustomTrpNumA[3][2] = [[0, 0], [0, 0], [0, 0]], $g_aiDonateCustomTrpNumB[3][2] = [[0, 0], [0, 0], [0, 0]] Global $g_aiDonateCustomTrpNumC[3][2] = [[0, 0], [0, 0], [0, 0]], $g_aiDonateCustomTrpNumD[3][2] = [[0, 0], [0, 0], [0, 0]] Global $g_bChkExtraAlphabets = False @@ -6159,12 +6164,12 @@ Global $g_abNotifyScheduleHours[24] = [False, False, False, False, False, False, Global $g_abNotifyScheduleWeekDays[7] = [False, False, False, False, False, False, False] Global $g_bQuickTrainEnable = False Global $g_bQuickTrainArmy[3] = [True, False, False] -Global $g_aiArmyCompTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_aiArmyCompSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_aiArmyCompSiegeMachine[$eSiegeMachineCount] = [0, 0] -Global $g_aiTrainArmyTroopLevel[$eTroopCount] = [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_aiTrainArmySpellLevel[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_aiTrainArmySiegeMachineLevel[$eSiegeMachineCount] = [0, 0] +Global $g_aiArmyCompTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiArmyCompSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiArmyCompSiegeMachine[$eSiegeMachineCount] = [0, 0, 0] +Global $g_aiTrainArmyTroopLevel[$eTroopCount] = [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiTrainArmySpellLevel[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_aiTrainArmySiegeMachineLevel[$eSiegeMachineCount] = [0, 0, 0] Global $g_iTrainArmyFullTroopPct = 100 Global $g_bTotalCampForced = False, $g_iTotalCampForcedValue = 200 Global $g_bForceBrewSpells = False @@ -6172,17 +6177,17 @@ Global $g_iTotalSpellValue = 0 Global $g_bDoubleTrain Global $g_iCmbBoostBarracks = 0, $g_iCmbBoostSpellFactory = 0, $g_iCmbBoostBarbarianKing = 0, $g_iCmbBoostArcherQueen = 0, $g_iCmbBoostWarden = 0, $g_iCmbBoostEverything = 0 Global $g_abBoostBarracksHours[24] = [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] -Global Const $g_aiTroopOrderIcon[22] = [ $eIcnOptions, $eIcnBarbarian, $eIcnArcher, $eIcnGiant, $eIcnGoblin, $eIcnWallBreaker, $eIcnBalloon, $eIcnWizard, $eIcnHealer, $eIcnDragon, $eIcnPekka, $eIcnBabyDragon, $eIcnMiner, $eIcnElectroDragon, $eIcnMinion, $eIcnHogRider, $eIcnValkyrie, $eIcnGolem, $eIcnWitch, $eIcnLavaHound, $eIcnBowler] -Global $g_bCustomTrainOrderEnable = False, $g_aiCmbCustomTrainOrder[$eTroopCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1] -Global $g_aiTrainOrder[$eTroopCount] = [ $eTroopArcher, $eTroopGiant, $eTroopWallBreaker, $eTroopBarbarian, $eTroopGoblin, $eTroopHealer, $eTroopPekka, $eTroopBalloon, $eTroopWizard, $eTroopDragon, $eTroopBabyDragon, $eTroopMiner, $eTroopElectroDragon, $eTroopMinion, $eTroopHogRider, $eTroopValkyrie, $eTroopGolem, $eTroopWitch, $eTroopLavaHound, $eTroopBowler] -Global Const $g_aiSpellsOrderIcon[12] = [ $eIcnOptions, $eIcnLightSpell, $eIcnHealSpell,$eIcnRageSpell, $eIcnJumpSpell, $eIcnFreezeSpell, $eIcnCloneSpell, $eIcnPoisonSpell, $eIcnEarthQuakeSpell, $eIcnHasteSpell, $eIcnSkeletonSpell] -Global $g_bCustomBrewOrderEnable = False, $g_aiCmbCustomBrewOrder[$eSpellCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1] -Global $g_aiBrewOrder[$eSpellCount] = [ $eSpellLightning, $eSpellHeal, $eSpellRage, $eSpellJump, $eSpellFreeze, $eSpellClone, $eSpellPoison, $eSpellEarthquake, $eSpellHaste, $eSpellSkeleton] -Global Enum $eTroopBarbarianS, $eTroopArcherS, $eTroopGiantS, $eTroopGoblinS, $eTroopWallBreakerS, $eTroopBalloonS, $eTroopWizardS, $eTroopHealerS, $eTroopDragonS, $eTroopPekkaS, $eTroopBabyDragonS, $eTroopMinerS, $eTroopElectroDragons, $eTroopMinionS, $eTroopHogRiderS, $eTroopValkyrieS, $eTroopGolemS, $eTroopWitchS, $eTroopLavaHoundS, $eTroopBowlerS, $eHeroeS, $eCCS, $eDropOrderCount -Global Const $g_asDropOrderNames[$eDropOrderCount] = [ "Barbarians", "Archers", "Giants", "Goblins", "Wall Breakers", "Balloons", "Wizards", "Healers", "Dragons", "Pekkas", "Baby Dragons", "Miners", "Electro Dragons", "Minions", "Hog Riders", "Valkyries", "Golems", "Witches", "Lava Hounds", "Bowlers", "Clan Castle", "Heroes"] -Global Const $g_aiDropOrderIcon[24] = [ $eIcnOptions, $eIcnBarbarian, $eIcnArcher, $eIcnGiant, $eIcnGoblin, $eIcnWallBreaker, $eIcnBalloon, $eIcnWizard, $eIcnHealer, $eIcnDragon, $eIcnPekka, $eIcnBabyDragon, $eIcnMiner, $eIcnElectroDragon, $eIcnMinion, $eIcnHogRider, $eIcnValkyrie, $eIcnGolem, $eIcnWitch, $eIcnLavaHound, $eIcnBowler, $eIcnCC, $eIcnHeroes] -Global $g_bCustomDropOrderEnable = False, $g_aiCmbCustomDropOrder[$eDropOrderCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1] -Global $g_aiDropOrder[$eDropOrderCount] = [ $eTroopBarbarianS, $eTroopArcherS, $eTroopGiantS, $eTroopGoblinS, $eTroopWallBreakerS, $eTroopBalloonS, $eTroopWizardS, $eTroopHealerS, $eTroopDragonS, $eTroopPekkaS, $eTroopBabyDragonS, $eTroopMinerS, $eTroopElectroDragonS, $eTroopMinionS, $eTroopHogRiderS, $eTroopValkyrieS, $eTroopGolemS, $eTroopWitchS, $eTroopLavaHoundS, $eTroopBowlerS, $eHeroeS, $eCCS] +Global Const $g_aiTroopOrderIcon[23] = [ $eIcnOptions, $eIcnBarbarian, $eIcnArcher, $eIcnGiant, $eIcnGoblin, $eIcnWallBreaker, $eIcnBalloon, $eIcnWizard, $eIcnHealer, $eIcnDragon, $eIcnPekka, $eIcnBabyDragon, $eIcnMiner, $eIcnElectroDragon, $eIcnMinion, $eIcnHogRider, $eIcnValkyrie, $eIcnGolem, $eIcnWitch, $eIcnLavaHound, $eIcnBowler, $eIcnIceGolem] +Global $g_bCustomTrainOrderEnable = False, $g_aiCmbCustomTrainOrder[$eTroopCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1] +Global $g_aiTrainOrder[$eTroopCount] = [ $eTroopArcher, $eTroopGiant, $eTroopWallBreaker, $eTroopBarbarian, $eTroopGoblin, $eTroopHealer, $eTroopPekka, $eTroopBalloon, $eTroopWizard, $eTroopDragon, $eTroopBabyDragon, $eTroopMiner, $eTroopElectroDragon, $eTroopMinion, $eTroopHogRider, $eTroopValkyrie, $eTroopGolem, $eTroopWitch, $eTroopLavaHound, $eTroopBowler, $eTroopIceGolem] +Global Const $g_aiSpellsOrderIcon[13] = [ $eIcnOptions, $eIcnLightSpell, $eIcnHealSpell,$eIcnRageSpell, $eIcnJumpSpell, $eIcnFreezeSpell, $eIcnCloneSpell, $eIcnPoisonSpell, $eIcnEarthQuakeSpell, $eIcnHasteSpell, $eIcnSkeletonSpell, $eIcnBatSpell] +Global $g_bCustomBrewOrderEnable = False, $g_aiCmbCustomBrewOrder[$eSpellCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1] +Global $g_aiBrewOrder[$eSpellCount] = [ $eSpellLightning, $eSpellHeal, $eSpellRage, $eSpellJump, $eSpellFreeze, $eSpellClone, $eSpellPoison, $eSpellEarthquake, $eSpellHaste, $eSpellSkeleton, $eSpellBat] +Global Enum $eTroopBarbarianS, $eTroopArcherS, $eTroopGiantS, $eTroopGoblinS, $eTroopWallBreakerS, $eTroopBalloonS, $eTroopWizardS, $eTroopHealerS, $eTroopDragonS, $eTroopPekkaS, $eTroopBabyDragonS, $eTroopMinerS, $eTroopElectroDragons, $eTroopMinionS, $eTroopHogRiderS, $eTroopValkyrieS, $eTroopGolemS, $eTroopWitchS, $eTroopLavaHoundS, $eTroopBowlerS, $eTroopIceGolemS, $eHeroeS, $eCCS, $eDropOrderCount +Global Const $g_asDropOrderNames[$eDropOrderCount] = [ "Barbarians", "Archers", "Giants", "Goblins", "Wall Breakers", "Balloons", "Wizards", "Healers", "Dragons", "Pekkas", "Baby Dragons", "Miners", "Electro Dragons", "Minions", "Hog Riders", "Valkyries", "Golems", "Witches", "Lava Hounds", "Bowlers", "Ice Golems", "Clan Castle", "Heroes"] +Global Const $g_aiDropOrderIcon[25] = [ $eIcnOptions, $eIcnBarbarian, $eIcnArcher, $eIcnGiant, $eIcnGoblin, $eIcnWallBreaker, $eIcnBalloon, $eIcnWizard, $eIcnHealer, $eIcnDragon, $eIcnPekka, $eIcnBabyDragon, $eIcnMiner, $eIcnElectroDragon, $eIcnMinion, $eIcnHogRider, $eIcnValkyrie, $eIcnGolem, $eIcnWitch, $eIcnLavaHound, $eIcnBowler, $eIcnIceGolem, $eIcnCC, $eIcnHeroes] +Global $g_bCustomDropOrderEnable = False, $g_aiCmbCustomDropOrder[$eDropOrderCount] = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1] +Global $g_aiDropOrder[$eDropOrderCount] = [ $eTroopBarbarianS, $eTroopArcherS, $eTroopGiantS, $eTroopGoblinS, $eTroopWallBreakerS, $eTroopBalloonS, $eTroopWizardS, $eTroopHealerS, $eTroopDragonS, $eTroopPekkaS, $eTroopBabyDragonS, $eTroopMinerS, $eTroopElectroDragonS, $eTroopMinionS, $eTroopHogRiderS, $eTroopValkyrieS, $eTroopGolemS, $eTroopWitchS, $eTroopLavaHoundS, $eTroopBowlerS, $eTroopIceGolem, $eHeroeS, $eCCS] Global $g_bCloseWhileTrainingEnable = True, $g_bCloseWithoutShield = False, $g_bCloseEmulator = False, $g_bSuspendComputer = False, $g_bCloseRandom = False, $g_bCloseExactTime = False, $g_bCloseRandomTime = True, $g_iCloseRandomTimePercent = 10, $g_iCloseMinimumTime = 2 Global $g_iTrainClickDelay = 40 Global $g_bTrainAddRandomDelayEnable = False, $g_iTrainAddRandomDelayMin = 5, $g_iTrainAddRandomDelayMax = 60 @@ -6206,7 +6211,7 @@ Global $g_aiFilterMaxMortarLevel[$g_iModeCount] = [5, 5, 0], $g_aiFilterMaxWizTo Global $g_abFilterMeetOneConditionEnable[$g_iModeCount] = [False, False, False] Global $g_iSlotsGiants = 1 Global $g_aiAttackAlgorithm[$g_iModeCount] = [0, 0, 0], $g_aiAttackTroopSelection[$g_iModeCount + 3] = [0, 0, 0, 0, 0, 0], $g_aiAttackUseHeroes[$g_iModeCount] = [0, 0, 0], $g_abAttackDropCC[$g_iModeCount] = [0, 0, 0] , $g_aiAttackUseSiege[$g_iModeCount] = [0, 0, 0] -Global $g_abAttackUseLightSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseHealSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseRageSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseJumpSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseFreezeSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseCloneSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUsePoisonSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseEarthquakeSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseHasteSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseSkeletonSpell[$g_iModeCount] = [0, 0, 0] +Global $g_abAttackUseLightSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseHealSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseRageSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseJumpSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseFreezeSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseCloneSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUsePoisonSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseEarthquakeSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseHasteSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseSkeletonSpell[$g_iModeCount] = [0, 0, 0], $g_abAttackUseBatSpell[$g_iModeCount] = [0, 0, 0] Global $g_bTHSnipeBeforeEnable[$g_iModeCount] = [False, False, False], $g_iTHSnipeBeforeTiles[$g_iModeCount] = [0, 0, 0], $g_iTHSnipeBeforeScript[$g_iModeCount] = [0, 0, 0] Global $g_aiAttackStdDropOrder[$g_iModeCount + 1] = [0, 0, 0, 0], $g_aiAttackStdDropSides[$g_iModeCount + 1] = [3, 3, 0, 1], $g_aiAttackStdUnitDelay[$g_iModeCount + 1] = [4, 4, 0, 4], $g_aiAttackStdWaveDelay[$g_iModeCount + 1] = [4, 4, 0, 4], $g_abAttackStdRandomizeDelay[$g_iModeCount + 1] = [True, True, False, True], $g_abAttackStdSmartAttack[$g_iModeCount + 3] = [True, True, False, True, False, False], $g_aiAttackStdSmartDeploy[$g_iModeCount + 3] = [0, 0, 0, 0, 0, 0] Global $g_abAttackStdSmartNearCollectors[$g_iModeCount + 3][3] = [[False, False, False], [False, False, False], [False, False, False], [False, False, False], [False, False, False], [False, False, False]] @@ -6231,8 +6236,8 @@ Global $g_bMilkFarmForceToleranceEnable = False, $g_iMilkFarmForceToleranceNorma Global $g_iTxtInsidePercentage = 0 , $g_iTxtOutsidePercentage = 0 , $g_bDebugSmartFarm = False Global $g_iSidesAttack = 0 Global $g_iPercentageDamage = 0 -Global $g_abCollectorLevelEnabled[13] = [-1, -1, -1, -1, -1, -1, True, True, True, True, True, True, True] -Global $g_aiCollectorLevelFill[13] = [-1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1] +Global $g_abCollectorLevelEnabled[14] = [-1, -1, -1, -1, -1, -1, True, True, True, True, True, True, True, True] +Global $g_aiCollectorLevelFill[14] = [-1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1] Global $g_bCollectorFilterDisable = False Global $g_iCollectorMatchesMin = 3 Global $g_iCollectorToleranceOffset = 0 @@ -6342,7 +6347,7 @@ Global $g_iCurrentSpells Global $g_iCurrentCCSpells = 0, $g_iTotalCCSpells = 0 Global $g_bFullArmySpells = False Global $g_CurrentCampUtilization = 0, $g_iTotalCampSpace = 0 -Global $g_iLaboratoryElixirCost = 0 +Global $g_iLaboratoryElixirCost = 0, $g_iLaboratoryDElixirCost = 0 Global $g_iFirstTimeLab = 0 Global $g_sLabUpgradeTime = "" Global Const $g_aiWallCost[9] = [25000, 50000, 100000, 250000, 500000, 1000000, 2000000, 4000000, 5000000] @@ -6378,22 +6383,22 @@ Global Const $g_aaiTopRightDropPoints[5][2] = [[466, 60], [556, 120], [622, 170] Global Const $g_aaiBottomLeftDropPoints[5][2] = [[81, 390], [174, 475], [235, 521], [299, 570], [390, 610]] Global Const $g_aaiBottomRightDropPoints[5][2] = [[466, 600], [554, 555], [615, 510], [678, 460], [765, 394]] Global Const $g_aaiEdgeDropPoints[4] = [$g_aaiBottomRightDropPoints, $g_aaiTopLeftDropPoints, $g_aaiBottomLeftDropPoints, $g_aaiTopRightDropPoints] -Global Const $g_aiUseAllTroops[35] = [$eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, $eMini, $eHogs, $eValk, $eGole, $eWitc, $eLava, $eBowl, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eWallW, $eBattleB] -Global Const $g_aiUseBarracks[27] = [$eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseBarbs[15] = [$eBarb, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseArchs[15] = [$eArch, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseBarcher[16] = [$eBarb, $eArch, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseBarbGob[16] = [$eBarb, $eGobl, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseArchGob[16] = [$eArch, $eGobl, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseBarcherGiant[17] = [$eBarb, $eArch, $eGiant, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseBarcherGobGiant[18] = [$eBarb, $eArch, $eGiant, $eGobl, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseBarcherHog[17] = [$eBarb, $eArch, $eHogs, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] -Global Const $g_aiUseBarcherMinion[17] = [$eBarb, $eArch, $eMini, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] +Global Const $g_aiUseAllTroops[38] = [$eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, $eMini, $eHogs, $eValk, $eGole, $eWitc, $eLava, $eBowl, $eIceG, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eBtSpell, $eWallW, $eBattleB, $eStoneS] +Global Const $g_aiUseBarracks[28] = [$eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseBarbs[16] = [$eBarb, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseArchs[16] = [$eArch, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseBarcher[17] = [$eBarb, $eArch, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseBarbGob[17] = [$eBarb, $eGobl, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseArchGob[17] = [$eArch, $eGobl, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseBarcherGiant[18] = [$eBarb, $eArch, $eGiant, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseBarcherGobGiant[19] = [$eBarb, $eArch, $eGiant, $eGobl, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseBarcherHog[18] = [$eBarb, $eArch, $eHogs, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] +Global Const $g_aiUseBarcherMinion[18] = [$eBarb, $eArch, $eMini, $eKing, $eQueen, $eWarden, $eCastle, $eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] Global Const $g_aaiTroopsToBeUsed[12] = [$g_aiUseAllTroops, $g_aiUseBarracks, $g_aiUseBarbs, $g_aiUseArchs, $g_aiUseBarcher, $g_aiUseBarbGob, $g_aiUseArchGob, $g_aiUseBarcherGiant, $g_aiUseBarcherGobGiant, $g_aiUseBarcherHog, $g_aiUseBarcherMinion] Global $g_bTHSnipeUsedKing = False Global $g_bTHSnipeUsedQueen = False Global $g_bTHSnipeUsedWarden = False -Global $g_avAttackTroops[22][2] +Global $g_avAttackTroops[22][3] Global $g_bFullArmy = False Global $g_iKingSlot = -1, $g_iQueenSlot = -1, $g_iWardenSlot = -1, $g_iClanCastleSlot = -1 Global $g_iTotalAttackSlot = 10, $g_bDraggedAttackBar = False @@ -6470,23 +6475,23 @@ Global $g_bOutOfElixir = False Global $g_aiTimeTrain[4] = [0, 0, 0, 0] Global Enum $ArmyTAB, $TrainTroopsTAB, $BrewSpellsTAB, $QuickTrainTAB Global $g_bCheckSpells = False -Global $g_avLabTroops[33][5] +Global $g_avLabTroops[36][5] Func TranslateTroopNames() -Dim $g_avLabTroops[33][5] = [ [-1, -1, -1, GetTranslatedFileIni("MBR Global GUI Design", "None", "None"), $eIcnBlank], [120, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBarbarians", "Barbarians"), $eIcnBarbarian], [120, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtArchers", "Archers"), $eIcnArcher], [227, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGiants", "Giants"), $eIcnGiant], [227, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGoblins", "Goblins"), $eIcnGoblin], [334, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallBreakers", "Wall Breakers"), $eIcnWallBreaker], [334, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBalloons", "Balloons"), $eIcnBalloon], [440, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWizards", "Wizards"), $eIcnWizard], [440, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHealers", "Healers"), $eIcnHealer], [547, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtDragons", "Dragons"), $eIcnDragon], [547, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtPekkas", "Pekkas"), $eIcnPekka], [654, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBabyDragons", "Baby Dragons"), $eIcnBabyDragon], [654, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMiners", "Miners"), $eIcnMiner], [220, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtElectroDragons", "Electro Dragons"), $eIcnElectroDragon], [220, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtLightningSpells", "Lightning Spell"), $eIcnLightSpell], [327, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtHealingSpells", "Healing Spell"), $eIcnHealSpell], [327, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtRageSpells", "Rage Spell"), $eIcnRageSpell], [433, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtJumpSpells", "Jump Spell"), $eIcnJumpSpell], [433, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtFreezeSpells", "Freeze Spell"), $eIcnFreezeSpell], [540, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtCloneSpells", "Clone Spell"), $eIcnCloneSpell], [540, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtPoisonSpells", "Poison Spell"), $eIcnPoisonSpell], [113, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtEarthQuakeSpells", "EarthQuake Spell"), $eIcnEarthQuakeSpell], [113, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtHasteSpells", "Haste Spell"), $eIcnHasteSpell], [220, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtSkeletonSpells", "Skeleton Spell"), $eIcnSkeletonSpell], [220, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMinions", "Minions"), $eIcnMinion], [327, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHogRiders", "Hog Riders"), $eIcnHogRider], [327, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtValkyries", "Valkyries"), $eIcnValkyrie], [433, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGolems", "Golems"), $eIcnGolem], [433, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWitches", "Witches"), $eIcnWitch], _ -[540, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtLavaHounds", "Lava Hounds"), $eIcnLavaHound], [540, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBowlers", "Bowlers"), $eIcnBowler], [647, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallWreckers", "Wall Wreckers"), $eIcnWallW], [647, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBattleBlimps", "Battle Blimps"), $eIcnBattleB]] -EndFunc -Global Const $g_aiDonateTroopPriority[$eTroopCount] = [ $eTroopLavaHound, $eTroopElectroDragon, $eTroopGolem, $eTroopPekka, $eTroopDragon, $eTroopWitch, $eTroopHealer, $eTroopBabyDragon, $eTroopValkyrie, $eTroopBowler, $eTroopMiner, $eTroopGiant, $eTroopBalloon, $eTroopHogRider, $eTroopWizard, $eTroopWallBreaker, $eTroopMinion, $eTroopArcher, $eTroopBarbarian, $eTroopGoblin] -Global Const $g_aiDonateSpellPriority[$eSpellCount] = [ $eSpellLightning, $eSpellHeal, $eSpellRage, $eSpellJump, $eSpellFreeze, $eSpellClone, $eSpellPoison, $eSpellEarthquake, $eSpellHaste, $eSpellSkeleton] -Global $g_aiDonateStatsTroops[$eTroopCount][2] = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] -Global $g_aiDonateStatsSpells[$eSpellCount][2] = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] -Global $g_aiDonateStatsSieges[$eSiegeMachineCount][2] = [[0, 0], [0, 0]] +Dim $g_avLabTroops[36][5] = [ [-1, -1, -1, GetTranslatedFileIni("MBR Global GUI Design", "None", "None"), $eIcnBlank], [114, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBarbarians", "Barbarians"), $eIcnBarbarian], [114, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtArchers", "Archers"), $eIcnArcher], [221, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGiants", "Giants"), $eIcnGiant], [221, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGoblins", "Goblins"), $eIcnGoblin], [327, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallBreakers", "Wall Breakers"), $eIcnWallBreaker], [327, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBalloons", "Balloons"), $eIcnBalloon], [434, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWizards", "Wizards"), $eIcnWizard], [434, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHealers", "Healers"), $eIcnHealer], [541, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtDragons", "Dragons"), $eIcnDragon], [541, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtPekkas", "Pekkas"), $eIcnPekka], [647, 337 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBabyDragons", "Baby Dragons"), $eIcnBabyDragon], [647, 444 + $g_iMidOffsetY, 0, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMiners", "Miners"), $eIcnMiner], [114, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtElectroDragons", "Electro Dragons"), $eIcnElectroDragon], [114, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtLightningSpells", "Lightning Spell"), $eIcnLightSpell], [221, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtHealingSpells", "Healing Spell"), $eIcnHealSpell], [221, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtRageSpells", "Rage Spell"), $eIcnRageSpell], [327, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtJumpSpells", "Jump Spell"), $eIcnJumpSpell], [327, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtFreezeSpells", "Freeze Spell"), $eIcnFreezeSpell], [434, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtCloneSpells", "Clone Spell"), $eIcnCloneSpell], [434, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtPoisonSpells", "Poison Spell"), $eIcnPoisonSpell], [541, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtEarthQuakeSpells", "EarthQuake Spell"), $eIcnEarthQuakeSpell], [541, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtHasteSpells", "Haste Spell"), $eIcnHasteSpell], [647, 337 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtSkeletonSpells", "Skeleton Spell"), $eIcnSkeletonSpell], [647, 444 + $g_iMidOffsetY, 1, GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtBatSpells", "Bat Spell"), $eIcnBatSpell], [114, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMinions", "Minions"), $eIcnMinion], [114, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHogRiders", "Hog Riders"), $eIcnHogRider], [221, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtValkyries", "Valkyries"), $eIcnValkyrie], [221, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGolems", "Golems"), $eIcnGolem], _ +[327, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWitches", "Witches"), $eIcnWitch], [327, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtLavaHounds", "Lava Hounds"), $eIcnLavaHound], [434, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBowlers", "Bowlers"), $eIcnBowler], [434, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtIceGolems", "Ice Golems"), $eIcnIceGolem], [541, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallWreckers", "Wall Wreckers"), $eIcnWallW], [541, 444 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBattleBlimps", "Battle Blimps"), $eIcnBattleB], [647, 337 + $g_iMidOffsetY, 2, GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtStoneSlammers", "Stone Slammer"), $eIcnStoneS]] +EndFunc +Global Const $g_aiDonateTroopPriority[$eTroopCount] = [ $eTroopLavaHound, $eTroopElectroDragon, $eTroopGolem, $eTroopIceGolem, $eTroopPekka, $eTroopDragon, $eTroopWitch, $eTroopHealer, $eTroopBabyDragon, $eTroopValkyrie, $eTroopBowler, $eTroopMiner, $eTroopGiant, $eTroopBalloon, $eTroopHogRider, $eTroopWizard, $eTroopWallBreaker, $eTroopMinion, $eTroopArcher, $eTroopBarbarian, $eTroopGoblin] +Global Const $g_aiDonateSpellPriority[$eSpellCount] = [ $eSpellLightning, $eSpellHeal, $eSpellRage, $eSpellJump, $eSpellFreeze, $eSpellClone, $eSpellPoison, $eSpellEarthquake, $eSpellHaste, $eSpellSkeleton, $eSpellBat] +Global $g_aiDonateStatsTroops[$eTroopCount][2] = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] +Global $g_aiDonateStatsSpells[$eSpellCount][2] = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 0]] +Global $g_aiDonateStatsSieges[$eSiegeMachineCount][3] = [[0, 0], [0, 0], [0, 0]] Global $g_iTotalDonateStatsTroops = 0, $g_iTotalDonateStatsTroopsXP = 0 Global $g_iTotalDonateStatsSpells = 0, $g_iTotalDonateStatsSpellsXP = 0 Global $g_iTotalDonateStatsSiegeMachines = 0, $g_iTotalDonateStatsSiegeMachinesXP = 0 Global $g_iActiveDonate = -1 -Global $g_aiDonateTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiDonateSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiDonateSiegeMachines[$eSiegeMachineCount] = [0, 0] -Global $g_aiCurrentTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiCurrentSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiCurrentSiegeMachines[$eSiegeMachineCount] = [0, 0] -Global $g_aiCurrentCCTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiCurrentCCSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiCurrentCCSiegeMachines[$eSiegeMachineCount] = [0, 0] +Global $g_aiDonateTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiDonateSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiDonateSiegeMachines[$eSiegeMachineCount] = [0, 0, 0] +Global $g_aiCurrentTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiCurrentSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiCurrentSiegeMachines[$eSiegeMachineCount] = [0, 0, 0] +Global $g_aiCurrentCCTroops[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiCurrentCCSpells[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_aiCurrentCCSiegeMachines[$eSiegeMachineCount] = [0, 0, 0] Global $g_bDonationEnabled = True Global $g_iTroopsDonated = 0 Global $g_iTroopsReceived = 0 @@ -6635,6 +6640,9 @@ Global $g_sBonusGold = Null Global $g_sBonusElixir = Null Global $g_sBonusDE = Null Global $g_sPercentagesResources = Null +Func _ArrayIndexValid(Const ByRef $a, Const $idx) +Return $idx >= 0 And $idx < UBound($a) +EndFunc Global Const $DELAYSLEEP = 100 Global Const $DELAYWAITFORPOPUP = 1500 Global Const $DELAYCLOUDSCLEARED = 1000 @@ -6645,7 +6653,6 @@ Global Const $DELAYRUNBOT3 = 200 Global Const $DELAYRUNBOT5 = 500 Global Const $DELAYRUNBOT6 = 100 Global Const $DELAYIDLE1 = 200 -Global Const $DELAYIDLE2 = 1500 Global Const $DELAYSMARTWAIT = 500 Global Const $DELAYATTACKMAIN1 = 1000 Global Const $DELAYATTACKMAIN2 = 1500 @@ -6952,7 +6959,7 @@ Global $aClanTab[2] = [189, 24] Global $aArmyCampSize[2] = [110, 136 + $g_iMidOffsetY] Global $aArmySpellSize[2] = [99, 284 + $g_iMidOffsetY] Global $g_aArmyCCSpellSize[2] = [473, 438 + $g_iMidOffsetY] -Global $aArmyCCRemainTime[2] = [782, 540 + $g_iMidOffsetY] +Global $aArmyCCRemainTime[2] = [782, 552 + $g_iMidOffsetY] Global $aIsCampFull[4] = [128, 151 + $g_iMidOffsetY, 0xFFFFFF, 10] Global $aBarrackFull[4] = [388, 154 + $g_iMidOffsetY, 0xE84D50, 20] Global $aBuildersDigits[2] = [324, 21] @@ -6992,14 +6999,15 @@ Global $aCheckTopProfile[4] = [200, 166, 0x868CAC, 5] Global $aCheckTopProfile2[4] = [220, 355, 0x4E4D79, 5] Global $aIsTabOpen[4] = [0, 145, 0xEAEAE3, 25] Global $aRecievedTroops[4] = [200 ,215 ,0xFFFFFF, 20] -Global $aKingHealth = [-1, 569 + $g_iBottomOffsetY, 0x00D500, 15] -Global $aQueenHealth = [-1, 569 + $g_iBottomOffsetY, 0x00D500, 15] -Global $aWardenHealth = [-1, 569 + $g_iBottomOffsetY, 0x00D500, 15] +Global $aKingHealth = [-1, 569 + $g_iBottomOffsetY, 0x00D500, 15, 13] +Global $aQueenHealth = [-1, 569 + $g_iBottomOffsetY, 0x00D500, 15, 8] +Global $aWardenHealth = [-1, 569 + $g_iBottomOffsetY, 0x00D500, 15, 3] Global $aWonOneStarAtkRprt[4] = [325, 180 + $g_iMidOffsetY, 0xC8CaC4, 30] Global $aWonTwoStarAtkRprt[4] = [398, 180 + $g_iMidOffsetY, 0xD0D6D0, 30] Global $aWonThreeStarAtkRprt[4] = [534, 180 + $g_iMidOffsetY, 0xC8CAC7, 30] Global $NextBtn[4] = [780, 546 + $g_iBottomOffsetY, 0xD34300, 20] -Global $aRequestTroopsAO[6] = [761, 580, 0x919191, 0x6DB630, 0xFFFFFE, 15] +Global $a12OrMoreSlots[4] = [16, 670, 0x5C93C8, 25] +Global $aRequestTroopsAO[6] = [761, 592, 0x565656, 0x3C6C27, 0xFFFFFE, 25] Global Const $aCloseChat[4] = [331, 330 + $g_iMidOffsetY, 0xF0951D, 20] Global Const $aChatDonateBtnColors[4][4] = [[0x0d0d0d, 0, -4, 20], [0xdaf582, 10, 0, 20], [0xcdef75, 10, 5, 20], [0xFFFFFF, 24, 9, 10]] Global Const $aAtkRprtDECheck[4] = [459, 372 + $g_iMidOffsetY, 0x433350, 20] @@ -7021,17 +7029,20 @@ Global $aLoginWithSupercellID[4] = [280, 640 + $g_iMidOffsetY, 0xDCF684, 20] Global $aLoginWithSupercellID2[4] = [266, 653 + $g_iMidOffsetY, 0xFFFFFF , 10] Global $aButtonSetting[4] = [820, 550 + $g_iMidOffsetY, 0xFFFFFF, 10] Global $aIsSettingPage[4] = [753, 75 + $g_iMidOffsetY, 0xFF8F95, 10] -Global $aButtonConnected[4] = [430, 380 + $g_iMidOffsetY, 0xD8F480, 20] -Global $aButtonDisconnected[4] = [430, 380 + $g_iMidOffsetY, 0xFF7C81, 20] +Global $aButtonConnected[4] = [602, 374 + $g_iMidOffsetY, 0xDAF481, 20] +Global $aButtonDisconnected[4] = [602, 374 + $g_iMidOffsetY, 0xFF7E82, 20] Global $aListAccount[4] = [635, 210 + $g_iMidOffsetY, 0xFFFFFF, 10] Global $aButtonVillageLoad[4] = [515, 411 + $g_iMidOffsetY, 0x6EBD1F, 20] Global $aTextBox[4] = [320, 160 + $g_iMidOffsetY, 0xFFFFFF, 10] Global $aButtonVillageOkay[4] = [500, 170 + $g_iMidOffsetY, 0x81CA2D, 20] -Global $aButtonConnectedSCID[4] = [430, 205 + $g_iMidOffsetY, 0x6EB730, 20] -Global $aButtonLogOutSCID[4] = [700, 285 + $g_iMidOffsetY, 0x308AFB, 20] -Global $aButtonConfirmSCID[4] = [460, 410 + $g_iMidOffsetY, 0x328AFB, 20] +Global $aButtonConnectedSCID[4] = [453, 513 + $g_iMidOffsetY, 0x72BB2F, 20] +Global $aButtonLogOutSCID[4] = [615, 270 + $g_iMidOffsetY, 0x308AFB, 20] +Global $aButtonConfirmSCID[4] = [475, 420 + $g_iMidOffsetY, 0x2C88FA, 20] Global $aListAccountSCID[4] = [490, 185 + $g_iMidOffsetY, 0x000000, 10] Global $aCloseTabSCID[4] = [732, 145] +Global $aButtonEditArmy[4] = [800, 542, 0xDDF685, 25] +Global $aButtonRemoveTroopsOK1[4] = [778, 563, 0xDAF582, 25] +Global $aButtonRemoveTroopsOK2[4] = [508, 428, 0xFFFFFF, 30] Global $aTrainBarb[4] = [-1, -1, -1, -1] Global $aTrainArch[4] = [-1, -1, -1, -1] Global $aTrainGiant[4] = [-1, -1, -1, -1] @@ -7052,6 +7063,7 @@ Global $aTrainGole[4] = [-1, -1, -1, -1] Global $aTrainWitc[4] = [-1, -1, -1, -1] Global $aTrainLava[4] = [-1, -1, -1, -1] Global $aTrainBowl[4] = [-1, -1, -1, -1] +Global $aTrainIceG[4] = [-1, -1, -1, -1] Global $aTrainLSpell[4] = [-1, -1, -1, -1] Global $aTrainHSpell[4] = [-1, -1, -1, -1] Global $aTrainRSpell[4] = [-1, -1, -1, -1] @@ -7062,7 +7074,8 @@ Global $aTrainPSpell[4] = [-1, -1, -1, -1] Global $aTrainESpell[4] = [-1, -1, -1, -1] Global $aTrainHaSpell[4] = [-1, -1, -1, -1] Global $aTrainSkSpell[4] = [-1, -1, -1, -1] -Global $aTrainArmy[$eArmyCount] = [$aTrainBarb, $aTrainArch, $aTrainGiant, $aTrainGobl, $aTrainWall, $aTrainBall, $aTrainWiza, $aTrainHeal, $aTrainDrag, $aTrainPekk, $aTrainBabyD, $aTrainMine, $aTrainEDrag, $aTrainMini, $aTrainHogs, $aTrainValk, $aTrainGole, $aTrainWitc, $aTrainLava, $aTrainBowl, 0, 0, 0, 0, $aTrainLSpell, $aTrainHSpell, $aTrainRSpell, $aTrainJSpell, $aTrainFSpell, $aTrainCSpell, $aTrainPSpell, $aTrainESpell, $aTrainHaSpell, $aTrainSkSpell] +Global $aTrainBtSpell[4] = [-1, -1, -1, -1] +Global $aTrainArmy[$eArmyCount] = [$aTrainBarb, $aTrainArch, $aTrainGiant, $aTrainGobl, $aTrainWall, $aTrainBall, $aTrainWiza, $aTrainHeal, $aTrainDrag, $aTrainPekk, $aTrainBabyD, $aTrainMine, $aTrainEDrag, $aTrainMini, $aTrainHogs, $aTrainValk, $aTrainGole, $aTrainWitc, $aTrainLava, $aTrainBowl, $aTrainIceG, 0, 0, 0, 0, $aTrainLSpell, $aTrainHSpell, $aTrainRSpell, $aTrainJSpell, $aTrainFSpell, $aTrainCSpell, $aTrainPSpell, $aTrainESpell, $aTrainHaSpell, $aTrainSkSpell, $aTrainBtSpell] Global $aButtonLanguage[4] = [210, 375 + $g_iMidOffsetY, 0xD0E978, 20] Global $aListLanguage[4] = [110, 90 + $g_iMidOffsetY, 0xFFFFFF, 10] Global $aEnglishLanguage[4] = [420, 140 + $g_iMidOffsetY, 0xD7D5C7, 20] @@ -7094,11 +7107,13 @@ Global $g_sImgCollectRessourcesBB = @ScriptDir & "\imgxml\Resources\BuildersBase Global $g_sImgBoatBB = @ScriptDir & "\imgxml\Boat\BoatBuilderBase_0_89.xml" Global $g_sImgZoomOutDirBB = @ScriptDir & "\imgxml\village\BuilderBase\" Global $g_sImgStartCTBoost = @ScriptDir & "\imgxml\Resources\BuildersBase\ClockTower\ClockTowerAvailable*.xml" +Global $g_sImgCleanBBYard = @ScriptDir & "\imgxml\Resources\ObstaclesBB" Global $g_sImgDonateTroops = @ScriptDir & "\imgxml\DonateCC\Troops\" Global $g_sImgDonateSpells = @ScriptDir & "\imgxml\DonateCC\Spells\" Global $g_sImgDonateSiege = @ScriptDir & "\imgxml\DonateCC\SiegeMachines\" Global $g_sImgChatDivider = @ScriptDir & "\imgxml\DonateCC\donateccwbl\chatdivider_0_98.xml" Global $g_sImgChatDividerHidden = @ScriptDir & "\imgxml\DonateCC\donateccwbl\chatdividerhidden_0_98.xml" +Global $g_sImgChatIUnterstand = @ScriptDir & "\imgxml\DonateCC\donateccwbl\iunderstand_0_95.xml" Global $g_sImgAUpgradeObst = @ScriptDir & "\imgxml\Resources\Auto Upgrade\Obstacles" Global $g_sImgAUpgradeZero = @ScriptDir & "\imgxml\Resources\Auto Upgrade\Zero" Global $g_sImgAUpgradeUpgradeBtn = @ScriptDir & "\imgxml\Resources\Auto Upgrade\UpgradeButton" @@ -7123,6 +7138,7 @@ Global $g_sImgSwitchSiegeMachine = @ScriptDir & "\imgxml\SwitchSiegeMachines\Sie Global $g_sImgSwitchSiegeCastle = @ScriptDir & "\imgxml\SwitchSiegeMachines\Castle" Global $g_sImgSwitchSiegeWallWrecker = @ScriptDir & "\imgxml\SwitchSiegeMachines\WallWrecker" Global $g_sImgSwitchSiegeBattleBlimp = @ScriptDir & "\imgxml\SwitchSiegeMachines\BattleBlimp" +Global $g_sImgSwitchSiegeStoneSlammer = @ScriptDir & "\imgxml\SwitchSiegeMachines\StoneSlammer" Global $g_sImgElixirStorage = @ScriptDir & "\imgxml\deadbase\elix\storage\" Global $g_sImgWeakBaseBuildingsDir = @ScriptDir & "\imgxml\Buildings" Global $g_sImgWeakBaseBuildingsEagleDir = @ScriptDir & "\imgxml\Buildings\Eagle" @@ -7942,6 +7958,7 @@ $g_bAndroidEmbed = $g_bAndroidEmbedEnabled = True And $g_iAndroidEmbedMode > -1 $g_bAndroidBackgroundLaunch = $g_bAndroidBackgroundLaunchEnabled = True $g_bAndroidBackgroundLaunched = False $g_bUpdateAndroidWindowTitle = False +$g_bAndroidControlUseParentPos = False If $g_bAndroidAdbScreencap Then UpdateChkBackground() EndIf @@ -8309,15 +8326,18 @@ If $pid <> 0 Then If IsArray($aWinList) = 0 Then Local $aWinList2 = _WinAPI_EnumProcessWindows($pid, True) If IsArray($aWinList2) = 1 And $aWinList2[0][0] > 0 Then -Local $aWinList[$aWinList2[0][0] + 1][2] +Local $aWinList[$aWinList2[0][0] + 1][3] $aWinList[0][0] = $aWinList2[0][0] For $i = 1 To $aWinList2[0][0] $aWinList[$i][0] = WinGetTitle($aWinList2[$i][0]) $aWinList[$i][1] = $aWinList2[$i][0] +$aWinList[$i][2] = $aWinList2[$i][1] +SetDebugLog("Found Android window: " & $aWinList[$i][0] & ", " & $aWinList[$i][1] & ", " & $aWinList[$i][2]) Next EndIf EndIf If IsArray($aWinList) = 1 Then +SetDebugLog("Found " & $aWinList[0][0] & " windows, searching for '" & $g_sAppPaneName & "' with class '" & $g_sAppClassInstance & "'") For $i = 1 To $aWinList[0][0] $t = $aWinList[$i][0] $hWin = $aWinList[$i][1] @@ -11402,7 +11422,7 @@ Global $g_hChkCollectCartFirst = 0, $g_hTxtCollectGold = 0, $g_hTxtCollectElixir Global $g_hBtnLocateKingAltar = 0, $g_hBtnLocateQueenAltar = 0, $g_hBtnLocateWardenAltar = 0, $g_hBtnLocateLaboratory = 0, $g_hBtnResetBuilding = 0 Global $g_hChkTreasuryCollect = 0, $g_hTxtTreasuryGold = 0, $g_hTxtTreasuryElixir = 0, $g_hTxtTreasuryDark = 0 , $g_hChkFreeMagicItems = 0 Global $g_alblBldBaseStats[4] = ["", "", ""] -Global $g_hChkCollectBuilderBase = 0, $g_hChkStartClockTowerBoost = 0, $g_hChkCTBoostBlderBz = 0 +Global $g_hChkCollectBuilderBase = 0, $g_hChkStartClockTowerBoost = 0, $g_hChkCTBoostBlderBz = 0, $g_hChkCleanBBYard = 0 Global $g_hChkBBSuggestedUpgrades = 0, $g_hChkBBSuggestedUpgradesIgnoreGold = 0 , $g_hChkBBSuggestedUpgradesIgnoreElixir , $g_hChkBBSuggestedUpgradesIgnoreHall = 0 Global $g_hChkPlacingNewBuildings = 0 Global $g_hChkClanGamesAir = 0, $g_hChkClanGamesGround = 0, $g_hChkClanGamesMisc = 0 @@ -11624,6 +11644,9 @@ GUICtrlCreateIcon($g_sLibIconPath, $eIcnElixirCollectorL5, $x + 32, $y, 24, 24) GUICtrlCreateIcon($g_sLibIconPath, $eIcnGemMine, $x + 57, $y, 24, 24) $g_hChkCollectBuilderBase = GUICtrlCreateCheckbox(GetTranslatedFileIni("MBR GUI Design Child Village - Misc", "ChkCollectBuilderBase", "Collect Ressources"), $x + 100, $y + 4, -1, -1) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Village - Misc", "ChkCollectBuildersBase_Info_01", "Check this to collect Ressources on the Builder Base")) +$g_hChkCleanBBYard = GUICtrlCreateCheckbox(GetTranslatedFileIni("MBR GUI Design Child Village - Misc", "ChkCleanBBYard", "Remove Obstacles"), $x + 260, $y + 4, -1, -1) +_GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Village - Misc", "ChkCleanBBYard_Info_01", "Check this to automatically clear Yard from Trees, Trunks, etc.")) +GUICtrlSetState(-1, $GUI_ENABLE) $y += 32 GUICtrlCreateIcon($g_sLibIconPath, $eIcnClockTower, $x + 32, $y, 24, 24) $g_hChkStartClockTowerBoost = GUICtrlCreateCheckbox(GetTranslatedFileIni("MBR GUI Design Child Village - Misc", "ChkActivateClockTowerBoost", "Activate Clock Tower Boost"), $x + 100, $y + 4, -1, -1) @@ -11705,20 +11728,20 @@ Global $g_hTxtRequestCountCCTroop, $g_hTxtRequestCountCCSpell, $g_hChkClanCastle Global $g_ahCmbClanCastleTroop[3], $g_ahTxtClanCastleTroop[3] Global $g_ahCmbClanCastleSpell[2], $g_ahTxtClanCastleSpell[2] Global $g_hChkExtraAlphabets = 0, $g_hChkExtraChinese = 0, $g_hChkExtraKorean = 0, $g_hChkExtraPersian = 0 -Global $g_ahChkDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] -Global $g_ahChkDonateAllTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] -Global $g_ahTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] -Global $g_ahTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] -Global $g_ahGrpDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] -Global $g_ahLblDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] -Global $g_ahBtnDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] -Global $g_ahChkDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0] -Global $g_ahChkDonateAllSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0] -Global $g_ahTxtDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0] -Global $g_ahTxtBlacklistSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0] -Global $g_ahGrpDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0] -Global $g_ahLblDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0] -Global $g_ahBtnDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0] +Global $g_ahChkDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] +Global $g_ahChkDonateAllTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] +Global $g_ahTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] +Global $g_ahTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] +Global $g_ahGrpDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] +Global $g_ahLblDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] +Global $g_ahBtnDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeMachineCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] +Global $g_ahChkDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0] +Global $g_ahChkDonateAllSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0] +Global $g_ahTxtDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0] +Global $g_ahTxtBlacklistSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0] +Global $g_ahGrpDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0] +Global $g_ahLblDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0] +Global $g_ahBtnDonateSpell[$eSpellCount] = [0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0] Global $g_ahCmbDonateCustomA[3] = [0, 0, 0], $g_ahTxtDonateCustomA[3] = [0, 0, 0], $g_ahPicDonateCustomA[3] = [0, 0, 0] Global $g_ahCmbDonateCustomB[3] = [0, 0, 0], $g_ahTxtDonateCustomB[3] = [0, 0, 0], $g_ahPicDonateCustomB[3] = [0, 0, 0] Global $g_ahCmbDonateCustomC[3] = [0, 0, 0], $g_ahTxtDonateCustomC[3] = [0, 0, 0], $g_ahPicDonateCustomC[3] = [0, 0, 0] @@ -11965,11 +11988,13 @@ Local $sTxtGolems = GetTranslatedFileIni("MBR Global GUI Design Names Troops", " Local $sTxtWitches = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWitches", "Witches") Local $SetLog = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtLavaHounds", "Lava Hounds") Local $sTxtBowlers = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBowlers", "Bowlers") +Local $sTxtIceGolems = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtIceGolems", "Ice Golems") Local $sTxtBabyDragons = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBabyDragons", "Baby Dragons") Local $sTxtMiners = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMiners", "Miners") Local $sTxtElectroDragons = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtElectroDragons", "Electro Dragons") Local $sTxtWallWreckers = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallWreckers", "Wall Wreckers") Local $sTxtBattleBlimps = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBattleBlimps", "Battle Blimps") +Local $sTxtStoneSlammers = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtStoneSlammers", "Stone Slammers") Local $sTxtLightningSpells = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortLightningSpells", "Lightning") Local $sTxtHealSpells = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortHealSpells", "Heal") Local $sTxtRageSpells = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortRageSpells", "Rage") @@ -11979,6 +12004,7 @@ Local $sTxtPoisonSpells = GetTranslatedFileIni("MBR Global GUI Design Names Spel Local $sTxtEarthquakeSpells = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortEarthquakeSpells", "EarthQuake") Local $sTxtHasteSpells = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortHasteSpells", "Haste") Local $sTxtSkeletonSpells = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortSkeletonSpells", "Skeleton") +Local $sTxtBatSpells = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortBatSpells", "Bat") Local $x = $xStart Local $y = $yStart Local $Offx = 38 @@ -12127,19 +12153,18 @@ $g_ahBtnDonateTroop[$eTroopBowler] = GUICtrlCreateButton("", $x + 2, $y, $Offx - _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnBowler, 1) GUICtrlSetOnEvent(-1, "btnDonateTroop") $x += $Offx -$g_ahLblDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeWallWrecker] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) +$g_ahLblDonateTroop[$eTroopIceGolem] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetState(-1, $GUI_DISABLE) -$g_ahBtnDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeWallWrecker] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) -_GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnWallW, 1) +$g_ahBtnDonateTroop[$eTroopIceGolem] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) +_GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnIceGolem, 1) GUICtrlSetOnEvent(-1, "btnDonateTroop") $x += $Offx -$g_ahLblDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeBattleBlimp] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) +$lblBtnCustomE = GUICtrlCreateLabel("", $x + 2, $y - 2, $Offx + 2, $Offx + 2) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetState(-1, $GUI_DISABLE) -$g_ahBtnDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeBattleBlimp] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) -_GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnBattleB, 1) -GUICtrlSetOnEvent(-1, "btnDonateTroop") +GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) +GUICtrlSetState(-1, $GUI_DISABLE) $x = $xStart - 18 $y += 40 $g_ahLblDonateSpell[$eSpellLightning] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) @@ -12212,34 +12237,14 @@ $g_ahBtnDonateSpell[$eSpellSkeleton] = GUICtrlCreateButton("", $x + 2, $y, $Offx _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnSkeletonSpell, 1) GUICtrlSetOnEvent(-1, "btnDonateSpell") $x += $Offx -$g_hLblDonateSpellTBD1 = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) +$g_ahLblDonateSpell[$eSpellBat] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetState(-1, $GUI_DISABLE) -GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) -GUICtrlSetState(-1, $GUI_DISABLE) +$g_ahBtnDonateSpell[$eSpellBat] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) +_GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnBatSpell, 1) +GUICtrlSetOnEvent(-1, "btnDonateSpell") $x = $xStart - 18 $y += 40 -GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) -GUICtrlSetState(-1, $GUI_DISABLE) -$x += $Offx -$g_hLblDonateTroopCustomF = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) -GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) -GUICtrlSetState(-1, $GUI_DISABLE) -GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) -GUICtrlSetState(-1, $GUI_DISABLE) -$x += $Offx -$g_hLblDonateTroopCustomG = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) -GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) -GUICtrlSetState(-1, $GUI_DISABLE) -GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) -GUICtrlSetState(-1, $GUI_DISABLE) -$x += $Offx -$g_hLblDonateTroopCustomH = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) -GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) -GUICtrlSetState(-1, $GUI_DISABLE) -GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) -GUICtrlSetState(-1, $GUI_DISABLE) -$x += $Offx $g_ahLblDonateTroop[$eCustomA] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetState(-1, $GUI_DISABLE) @@ -12253,7 +12258,6 @@ GUICtrlSetState(-1, $GUI_DISABLE) $g_ahBtnDonateTroop[$eCustomB] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnDonCustomB, 1) GUICtrlSetOnEvent(-1, "btnDonateTroop") -$x += 4 $x += $Offx $g_ahLblDonateTroop[$eCustomC] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) @@ -12269,11 +12273,39 @@ $g_ahBtnDonateTroop[$eCustomD] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, _GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnDonCustomB, 1) GUICtrlSetOnEvent(-1, "btnDonateTroop") $x += $Offx -$g_hLblDonateTroopCustomC = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) +$g_hLblDonateTroopCustomH = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) +GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) +GUICtrlSetState(-1, $GUI_DISABLE) +GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) +GUICtrlSetState(-1, $GUI_DISABLE) +$x += $Offx +$g_hLblDonateTroopCustomF = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetState(-1, $GUI_DISABLE) GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) GUICtrlSetState(-1, $GUI_DISABLE) +$x += 4 +$x += $Offx +$g_ahLblDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeWallWrecker] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) +GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) +GUICtrlSetState(-1, $GUI_DISABLE) +$g_ahBtnDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeWallWrecker] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) +_GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnWallW, 1) +GUICtrlSetOnEvent(-1, "btnDonateTroop") +$x += $Offx +$g_ahLblDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeBattleBlimp] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) +GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) +GUICtrlSetState(-1, $GUI_DISABLE) +$g_ahBtnDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeBattleBlimp] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) +_GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnBattleB, 1) +GUICtrlSetOnEvent(-1, "btnDonateTroop") +$x += $Offx +$g_ahLblDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) +GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) +GUICtrlSetState(-1, $GUI_DISABLE) +$g_ahBtnDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = GUICtrlCreateButton("", $x + 2, $y, $Offx - 2, $Offx - 2, $BS_ICON) +_GUICtrlSetImage(-1, $g_sLibIconPath, $eIcnStoneS, 1) +GUICtrlSetOnEvent(-1, "btnDonateTroop") $x += $Offx $g_hLblDonateTroopCustomD = GUICtrlCreateLabel("", $x, $y - 2, $Offx + 2, $Offx + 2) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) @@ -13069,6 +13101,37 @@ _GUICtrlSetTip(-1, $sTxtKeywordsNoTip & " " & $sTxtBowlers) GUICtrlCreateGroup("", -99, -99, 1, 1) $x = $xStart $y = $Offy +$g_ahGrpDonateTroop[$eTroopIceGolem] = GUICtrlCreateGroup($sTxtIceGolems, $x - 20, $y - 20, $g_iSizeWGrpTab3, 169) +$x -= 10 +$y -= 4 +GUICtrlSetState(-1, $GUI_HIDE) +_GUICtrlCreateIcon($g_sLibIconPath, $eIcnIceGolem, $x + 215, $y, 64, 64, $BS_ICON) +GUICtrlSetState(-1, $GUI_HIDE) +$g_ahChkDonateTroop[$eTroopIceGolem] = GUICtrlCreateCheckbox($sTxtDonate & " " & $sTxtIceGolems, $x + 285, $y, -1, -1) +GUICtrlSetState(-1, $GUI_HIDE) +_GUICtrlSetTip(-1, $sTxtDonateTip & " " & $sTxtIceGolems & " " & $sTxtDonateTipTroop) +GUICtrlSetOnEvent(-1, "chkDonateTroop") +$g_ahChkDonateAllTroop[$eTroopIceGolem] = GUICtrlCreateCheckbox($sTxtDonateAll, $x + 285, $y + 20, -1, -1) +GUICtrlSetState(-1, $GUI_HIDE) +_GUICtrlSetTip(-1, $sTxtDonateTip & " " & $sTxtIceGolems & " " & $sTxtDonateTipAll & @CRLF & $sTxtIgnoreAll) +GUICtrlSetOnEvent(-1, "chkDonateAllTroop") +GUICtrlCreateLabel($sTxtKeywords & " " & $sTxtIceGolems & ":" , $x - 5, $y + 5, -1, -1) +GUICtrlSetState(-1, $GUI_HIDE) +$g_ahTxtDonateTroop[$eTroopIceGolem] = GUICtrlCreateEdit("", $x - 5, $y + 20, 205, 125, BitOR($ES_WANTRETURN, $ES_CENTER, $ES_AUTOVSCROLL)) +GUICtrlSetState(-1, $GUI_HIDE) +GUICtrlSetData(-1, StringFormat(GetTranslatedFileIni("MBR GUI Design Child Village - Donate", "TxtDonateTroop_Item_35", "ice golem\r\nice golems"))) +_GUICtrlSetTip(-1, $sTxtKeywords & " " & $sTxtIceGolems) +GUICtrlCreateLabel($sTxtKeywordsNo & ":", $x + 215, $y + 70, -1, -1) +GUICtrlSetState(-1, $GUI_HIDE) +$g_ahTxtBlacklistTroop[$eTroopIceGolem] = GUICtrlCreateEdit("", $x + 215, $y + 85, 200, 60, BitOR($ES_WANTRETURN, $ES_CENTER, $ES_AUTOVSCROLL)) +GUICtrlSetState(-1, $GUI_HIDE) +GUICtrlSetBkColor(-1, 0x505050) +GUICtrlSetColor(-1, $COLOR_WHITE) +GUICtrlSetData(-1, StringFormat(GetTranslatedFileIni("MBR GUI Design Child Village - Donate", "TxtBlacklistTroop_Item_36", "no ice golem\r\nice golem no"))) +_GUICtrlSetTip(-1, $sTxtKeywordsNoTip & " " & $sTxtIceGolems) +GUICtrlCreateGroup("", -99, -99, 1, 1) +$x = $xStart +$y = $Offy $g_ahGrpDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeWallWrecker] = GUICtrlCreateGroup($sTxtWallWreckers, $x - 20, $y - 20, $g_iSizeWGrpTab3, 169) $x -= 10 $y -= 4 @@ -13123,6 +13186,33 @@ _GUICtrlSetTip(-1, $sTxtKeywordsNoTip & " " & $sTxtBattleBlimps) GUICtrlCreateGroup("", -99, -99, 1, 1) $x = $xStart $y = $Offy +$g_ahGrpDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = GUICtrlCreateGroup($sTxtStoneSlammers, $x - 20, $y - 20, $g_iSizeWGrpTab3, 169) +$x -= 10 +$y -= 4 +GUICtrlSetState(-1, $GUI_HIDE) +_GUICtrlCreateIcon($g_sLibIconPath, $eIcnStoneS, $x + 215, $y, 64, 64, $BS_ICON) +GUICtrlSetState(-1, $GUI_HIDE) +$g_ahChkDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = GUICtrlCreateCheckbox($sTxtDonate & " " & $sTxtStoneSlammers, $x + 285, $y, -1, -1) +GUICtrlSetState(-1, $GUI_HIDE) +_GUICtrlSetTip(-1, $sTxtDonateTip & " " & $sTxtStoneSlammers & " " & $sTxtDonateTipTroop) +GUICtrlSetOnEvent(-1, "chkDonateTroop") +GUICtrlCreateLabel($sTxtKeywords & " " & $sTxtStoneSlammers & ":" , $x - 5, $y + 5, -1, -1) +GUICtrlSetState(-1, $GUI_HIDE) +$g_ahTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = GUICtrlCreateEdit("", $x - 5, $y + 20, 205, 125, BitOR($ES_WANTRETURN, $ES_CENTER, $ES_AUTOVSCROLL)) +GUICtrlSetState(-1, $GUI_HIDE) +GUICtrlSetData(-1, StringFormat(GetTranslatedFileIni("MBR GUI Design Child Village - Donate", "TxtDonateTroop_Item_32", "stone slammers\r\nsieges\r\nslammers"))) +_GUICtrlSetTip(-1, $sTxtKeywords & " " & $sTxtStoneSlammers) +GUICtrlCreateLabel($sTxtKeywordsNo & ":", $x + 215, $y + 70, -1, -1) +GUICtrlSetState(-1, $GUI_HIDE) +$g_ahTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = GUICtrlCreateEdit("", $x + 215, $y + 85, 200, 60, BitOR($ES_WANTRETURN, $ES_CENTER, $ES_AUTOVSCROLL)) +GUICtrlSetState(-1, $GUI_HIDE) +GUICtrlSetBkColor(-1, 0x505050) +GUICtrlSetColor(-1, $COLOR_WHITE) +GUICtrlSetData(-1, StringFormat(GetTranslatedFileIni("MBR GUI Design Child Village - Donate", "TxtBlacklistTroop_Item_35", "no slammers\r\nsiege no"))) +_GUICtrlSetTip(-1, $sTxtKeywordsNoTip & " " & $sTxtStoneSlammers) +GUICtrlCreateGroup("", -99, -99, 1, 1) +$x = $xStart +$y = $Offy $g_ahGrpDonateSpell[$eSpellPoison] = GUICtrlCreateGroup($sTxtPoisonSpells, $x - 20, $y - 20, $g_iSizeWGrpTab3, 169) $x -= 10 $y -= 4 @@ -13247,6 +13337,37 @@ _GUICtrlSetTip(-1, $sTxtKeywordsNoTip & " " & $sTxtSkeletonSpells) GUICtrlCreateGroup("", -99, -99, 1, 1) $x = $xStart $y = $Offy +$g_ahGrpDonateSpell[$eSpellBat] = GUICtrlCreateGroup($sTxtBatSpells, $x - 20, $y - 20, $g_iSizeWGrpTab3, 169) +$x -= 10 +$y -= 4 +GUICtrlSetState(-1, $GUI_HIDE) +_GUICtrlCreateIcon($g_sLibIconPath, $eIcnBatSpell, $x + 215, $y, 64, 64, $BS_ICON) +GUICtrlSetState(-1, $GUI_HIDE) +$g_ahChkDonateSpell[$eSpellBat] = GUICtrlCreateCheckbox($sTxtDonate & " " & $sTxtBatSpells, $x + 285, $y, -1, -1) +GUICtrlSetState(-1, $GUI_HIDE) +_GUICtrlSetTip(-1, $sTxtDonateTip & " " & $sTxtBatSpells & " " & $sTxtDonateTipTroop) +GUICtrlSetOnEvent(-1, "chkDonateSpell") +$g_ahChkDonateAllSpell[$eSpellBat] = GUICtrlCreateCheckbox($sTxtDonateAll, $x + 285, $y + 20, -1, -1) +GUICtrlSetState(-1, $GUI_HIDE) +_GUICtrlSetTip(-1, $sTxtDonateTip & " " & $sTxtBatSpells & " " & $sTxtDonateTipAll & @CRLF & $sTxtIgnoreAll) +GUICtrlSetOnEvent(-1, "chkDonateAllSpell") +GUICtrlCreateLabel($sTxtKeywords & " " & $sTxtBatSpells & ":" , $x - 5, $y + 5, -1, -1) +GUICtrlSetState(-1, $GUI_HIDE) +$g_ahTxtDonateSpell[$eSpellBat] = GUICtrlCreateEdit("", $x - 5, $y + 20, 205, 125, BitOR($ES_WANTRETURN, $ES_CENTER, $ES_AUTOVSCROLL)) +GUICtrlSetState(-1, $GUI_HIDE) +GUICtrlSetData(-1, StringFormat(GetTranslatedFileIni("MBR GUI Design Child Village - Donate", "TxtDonateTroop_Item_34", "Bat"))) +_GUICtrlSetTip(-1, $sTxtKeywords & " " & $sTxtBatSpells) +GUICtrlCreateLabel($sTxtKeywordsNo & ":", $x + 215, $y + 70, -1, -1) +GUICtrlSetState(-1, $GUI_HIDE) +$g_ahTxtBlacklistSpell[$eSpellBat] = GUICtrlCreateEdit("", $x + 215, $y + 85, 200, 60, BitOR($ES_WANTRETURN, $ES_CENTER, $ES_AUTOVSCROLL)) +GUICtrlSetState(-1, $GUI_HIDE) +GUICtrlSetBkColor(-1, 0x505050) +GUICtrlSetColor(-1, $COLOR_WHITE) +GUICtrlSetData(-1, StringFormat(GetTranslatedFileIni("MBR GUI Design Child Village - Donate", "TxtBlacklistTroop_Item_34", "no bat\r\nbat no"))) +_GUICtrlSetTip(-1, $sTxtKeywordsNoTip & " " & $sTxtBatSpells) +GUICtrlCreateGroup("", -99, -99, 1, 1) +$x = $xStart +$y = $Offy $g_ahGrpDonateTroop[$eCustomA] = GUICtrlCreateGroup($sDonateTxtCustomA, $x - 20, $y - 20, $g_iSizeWGrpTab3, 169) $x -= 10 $y -= 2 @@ -13272,7 +13393,7 @@ GUICtrlSetState(-1, $GUI_HIDE) $g_ahPicDonateCustomA[0] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonWizard, $x + 25, $y, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomA[0] = GUICtrlCreateCombo("", $x + 60, $y, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtWizards) +GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtWizards) GUICtrlSetOnEvent(-1, "cmbDonateCustomA") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomA[0] = GUICtrlCreateInput("2", $x + 165, $y, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -13283,7 +13404,7 @@ GUICtrlSetState(-1, $GUI_HIDE) $g_ahPicDonateCustomA[1] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonArcher, $x + 25, $y + 25, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomA[1] = GUICtrlCreateCombo("", $x + 60, $y + 25, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtArchers) +GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtArchers) GUICtrlSetOnEvent(-1, "cmbDonateCustomA") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomA[1] = GUICtrlCreateInput("3", $x + 165, $y + 25, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -13294,7 +13415,7 @@ GUICtrlSetState(-1, $GUI_HIDE) $g_ahPicDonateCustomA[2] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonBarbarian, $x + 25, $y + 50, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomA[2] = GUICtrlCreateCombo("", $x + 60, $y + 50, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtBarbarians) +GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtBarbarians) GUICtrlSetOnEvent(-1, "cmbDonateCustomA") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomA[2] = GUICtrlCreateInput("1", $x + 165, $y + 50, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -13336,7 +13457,7 @@ GUICtrlSetState(-1, $GUI_HIDE) $g_ahPicDonateCustomB[0] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonBabyDragon, $x + 25, $y, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomB[0] = GUICtrlCreateCombo("", $x + 60, $y, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtBabyDragons) +GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtBabyDragons) GUICtrlSetOnEvent(-1, "cmbDonateCustomB") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomB[0] = GUICtrlCreateInput("1", $x + 165, $y, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -13347,7 +13468,7 @@ GUICtrlSetState(-1, $GUI_HIDE) $g_ahPicDonateCustomB[1] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonBalloon, $x + 25, $y + 25, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomB[1] = GUICtrlCreateCombo("", $x + 60, $y + 25, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtBalloons) +GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtBalloons) GUICtrlSetOnEvent(-1, "cmbDonateCustomB") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomB[1] = GUICtrlCreateInput("3", $x + 165, $y + 25, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -13358,7 +13479,7 @@ GUICtrlSetState(-1, $GUI_HIDE) $g_ahPicDonateCustomB[2] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonMinion, $x + 25, $y + 50, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomB[2] = GUICtrlCreateCombo("", $x + 60, $y + 50, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtMinions) +GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtMinions) GUICtrlSetOnEvent(-1, "cmbDonateCustomB") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomB[2] = GUICtrlCreateInput("5", $x + 165, $y + 50, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -13400,7 +13521,7 @@ GUICtrlSetState(-1, $GUI_HIDE) $g_ahPicDonateCustomC[0] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonWizard, $x + 25, $y, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomC[0] = GUICtrlCreateCombo("", $x + 60, $y, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtWizards) +GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtWizards) GUICtrlSetOnEvent(-1, "cmbDonateCustomC") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomC[0] = GUICtrlCreateInput("1", $x + 165, $y, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -13411,7 +13532,7 @@ GUICtrlSetState(-1, $GUI_HIDE) $g_ahPicDonateCustomC[1] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonArcher, $x + 25, $y + 25, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomC[1] = GUICtrlCreateCombo("", $x + 60, $y + 25, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtArchers) +GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtArchers) GUICtrlSetOnEvent(-1, "cmbDonateCustomC") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomC[1] = GUICtrlCreateInput("3", $x + 165, $y + 25, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -13422,7 +13543,7 @@ GUICtrlSetState(-1, $GUI_HIDE) $g_ahPicDonateCustomC[2] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonBarbarian, $x + 25, $y + 50, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomC[2] = GUICtrlCreateCombo("", $x + 60, $y + 50, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtBarbarians) +GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtBarbarians) GUICtrlSetOnEvent(-1, "cmbDonateCustomC") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomC[2] = GUICtrlCreateInput("5", $x + 165, $y + 50, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -13464,7 +13585,7 @@ GUICtrlSetState(-1, $GUI_HIDE) $g_ahPicDonateCustomD[0] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonBabyDragon, $x + 25, $y, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomD[0] = GUICtrlCreateCombo("", $x + 60, $y, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtBabyDragons) +GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtBabyDragons) GUICtrlSetOnEvent(-1, "cmbDonateCustomD") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomD[0] = GUICtrlCreateInput("1", $x + 165, $y, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -13475,7 +13596,7 @@ GUICtrlSetState(-1, $GUI_HIDE) $g_ahPicDonateCustomD[1] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonBalloon, $x + 25, $y + 25, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomD[1] = GUICtrlCreateCombo("", $x + 60, $y + 25, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtBalloons) +GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtBalloons) GUICtrlSetOnEvent(-1, "cmbDonateCustomD") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomD[1] = GUICtrlCreateInput("3", $x + 165, $y + 25, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -13486,7 +13607,7 @@ GUICtrlSetState(-1, $GUI_HIDE) $g_ahPicDonateCustomD[2] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDonMinion, $x + 25, $y + 50, 24, 24) GUICtrlSetState(-1, $GUI_HIDE) $g_ahCmbDonateCustomD[2] = GUICtrlCreateCombo("", $x + 60, $y + 50, 95, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtNothing, $sTxtMinions) +GUICtrlSetData(-1, $sTxtBarbarians & "|" & $sTxtArchers & "|" & $sTxtGiants & "|" & $sTxtGoblins & "|" & $sTxtWallBreakers & "|" & $sTxtBalloons & "|" & $sTxtWizards & "|" & $sTxtHealers & "|" & $sTxtDragons & "|" & $sTxtPekkas & "|" & $sTxtBabyDragons & "|" & $sTxtMiners & "|" & $sTxtElectroDragons & "|" & $sTxtMinions & "|" & $sTxtHogRiders & "|" & $sTxtValkyries & "|" & $sTxtGolems & "|" & $sTxtWitches & "|" & $SetLog & "|" & $sTxtBowlers & "|" & $sTxtIceGolems & "|" & $sTxtNothing, $sTxtMinions) GUICtrlSetOnEvent(-1, "cmbDonateCustomD") GUICtrlSetState(-1, $GUI_HIDE) $g_ahTxtDonateCustomD[2] = GUICtrlCreateInput("5", $x + 165, $y + 50, 30, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) @@ -13719,7 +13840,7 @@ CreateWallsSubTab() GUICtrlCreateTabItem("") EndFunc Func CreateLaboratorySubTab() -Local $sTxtNames = GetTranslatedFileIni("MBR Global GUI Design", "None", "None") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBarbarians", "Barbarians") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtArchers", "Archers") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGiants", "Giants") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGoblins", "Goblins") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallBreakers", "Wall Breakers") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBalloons", "Balloons") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWizards", "Wizards") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHealers", "Healers") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtDragons", "Dragons") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtPekkas", "Pekkas") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBabyDragons", "Baby Dragons") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMiners", "Miners") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtEDragon", "Electro Dragon") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtLightningSpells", "Lightning Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtHealingSpells", "Healing Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtRageSpells", "Rage Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtJumpSpells", "Jump Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtFreezeSpells", "Freeze Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtCloneSpells", "Clone Spell")& "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtPoisonSpells", "Poison Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtEarthQuakeSpells", "EarthQuake Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtHasteSpells", "Haste Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtSkeletonSpells", "Skeleton Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMinions", "Minions") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHogRiders", "Hog Riders") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtValkyries", "Valkyries") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGolems", "Golems") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWitches", "Witches") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtLavaHounds", "Lava Hounds") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBowlers", "Bowlers") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallWreckers", "Wall Wreckers") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBattleBlimps", "Battle Blimps") +Local $sTxtNames = GetTranslatedFileIni("MBR Global GUI Design", "Any", "Any") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBarbarians", "Barbarians") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtArchers", "Archers") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGiants", "Giants") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGoblins", "Goblins") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallBreakers", "Wall Breakers") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBalloons", "Balloons") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWizards", "Wizards") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHealers", "Healers") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtDragons", "Dragons") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtPekkas", "Pekkas") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBabyDragons", "Baby Dragons") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMiners", "Miners") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtEDragon", "Electro Dragon") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtLightningSpells", "Lightning Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtHealingSpells", "Healing Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtRageSpells", "Rage Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtJumpSpells", "Jump Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtFreezeSpells", "Freeze Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtCloneSpells", "Clone Spell")& "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtPoisonSpells", "Poison Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtEarthQuakeSpells", "EarthQuake Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtHasteSpells", "Haste Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtSkeletonSpells", "Skeleton Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtBatSpells", "Bat Spell") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMinions", "Minions") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHogRiders", "Hog Riders") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtValkyries", "Valkyries") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGolems", "Golems") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWitches", "Witches") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtLavaHounds", "Lava Hounds") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBowlers", "Bowlers") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtIceGolems", "Ice Golems") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallWreckers", "Wall Wreckers") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBattleBlimps", "Battle Blimps") & "|" & GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtStoneSlammers", "Stone Slammers") Local $x = 25, $y = 45 GUICtrlCreateGroup(GetTranslatedFileIni("MBR GUI Design Child VIllage - Upgrade_Laboratory", "Group_01", "Laboratory"), $x - 20, $y - 20, $g_iSizeWGrpTab3, $g_iSizeHGrpTab3) _GUICtrlCreateIcon($g_sLibIconPath, $eIcnLaboratory, $x, $y, 64, 64) @@ -13729,7 +13850,7 @@ GUICtrlSetOnEvent(-1, "chkLab") $g_hLblNextUpgrade = GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child VIllage - Upgrade_Laboratory", "LblNextUpgrade", "Next one") & ":", $x + 80, $y + 38, 50, -1) GUICtrlSetState(-1, $GUI_DISABLE) $g_hCmbLaboratory = GUICtrlCreateCombo("", $x + 135, $y + 35, 140, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL, $WS_VSCROLL)) -GUICtrlSetData(-1, $sTxtNames, GetTranslatedFileIni("MBR Global GUI Design", "None", "None")) +GUICtrlSetData(-1, $sTxtNames, GetTranslatedFileIni("MBR Global GUI Design", "Any", "Any")) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child VIllage - Upgrade_Laboratory", "CmbLaboratory_Info_01", "Select the troop type to upgrade with this pull down menu") & @CRLF & GetTranslatedFileIni("MBR GUI Design Child VIllage - Upgrade_Laboratory", "CmbLaboratory_Info_02", "The troop icon will appear on the right.") & @CRLF & GetTranslatedFileIni("MBR GUI Design Child VIllage - Upgrade_Laboratory", "CmbLaboratory_Info_03", "Any Dark Spell/Troop have priority over Upg Heroes!")) GUICtrlSetState(-1, $GUI_DISABLE) GUICtrlSetOnEvent(-1, "cmbLab") @@ -14297,17 +14418,17 @@ Global $g_hGUI_DropOrder = 0 Global $g_hGUI_TRAINARMY = 0 Global $g_hGUI_TRAINARMY_TAB = 0, $g_hGUI_TRAINARMY_TAB_ITEM1 = 0, $g_hGUI_TRAINARMY_TAB_ITEM2 = 0, $g_hGUI_TRAINARMY_TAB_ITEM3 = 0, $g_hGUI_TRAINARMY_TAB_ITEM4 = 0 Global $g_hChkUseQuickTrain = 0, $g_ahChkArmy[3] = [0, 0, 0] -Global $g_ahTxtTrainArmyTroopCount[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_ahLblTrainArmyTroopLevel[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_ahTxtTrainArmySpellCount[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_ahLblTrainArmySpellLevel[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_ahTxtTrainArmySiegeCount[$eSiegeMachineCount] = [0, 0] -Global $g_ahLblTrainArmySiegeLevel[$eSiegeMachineCount] = [0, 0] +Global $g_ahTxtTrainArmyTroopCount[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahLblTrainArmyTroopLevel[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahTxtTrainArmySpellCount[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahLblTrainArmySpellLevel[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahTxtTrainArmySiegeCount[$eSiegeMachineCount] = [0, 0, 0] +Global $g_ahLblTrainArmySiegeLevel[$eSiegeMachineCount] = [0, 0, 0] Global $g_hTxtFullTroop = 0, $g_hChkTotalCampForced = 0, $g_hTxtTotalCampForced = 0, $g_hChkForceBrewBeforeAttack = 0 Global $g_hChkDoubleTrain = 0 Global $g_hGrpTrainTroops = 0 -Global $g_ahPicTrainArmyTroop[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_ahPicTrainArmySpell[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahPicTrainArmyTroop[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahPicTrainArmySpell[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Global $g_ahPicTrainArmySiege[$eSiegeMachineCount] = [0, 0] Global $g_hLblTotalTimeCamp = 0, $g_hLblElixirCostCamp = 0, $g_hLblDarkCostCamp = 0, $g_hCalTotalTroops = 0, $g_hLblTotalProgress = 0, $g_hLblCountTotal = 0, $g_hTxtTotalCountSpell = 0, $g_hLblTotalTimeSpell = 0, $g_hLblElixirCostSpell = 0, $g_hLblDarkCostSpell = 0, $g_hLblTotalTimeSiege = 0, $g_hLblCountTotalSiege = 0, $g_hLblGoldCostSiege = 0 Global $g_hCmbBoostBarracks = 0, $g_hCmbBoostSpellFactory = 0, $g_hCmbBoostBarbarianKing = 0, $g_hCmbBoostArcherQueen = 0, $g_hCmbBoostWarden = 0, $g_hCmbBoostEverything = 0 @@ -14315,19 +14436,19 @@ Global $g_hLblBoosthour = 0, $g_ahLblBoosthoursE = 0 Global $g_hLblBoosthours[12] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Global $g_hChkBoostBarracksHours[24] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], $g_hChkBoostBarracksHoursE1 = 0, $g_hChkBoostBarracksHoursE2 = 0 Func LoadTranslatedTrainTroopsOrderList() -Global $g_asTroopOrderList = ["", GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBarbarians", "Barbarians"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtArchers", "Archers"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGiants", "Giants"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGoblins", "Goblins"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallBreakers", "Wall Breakers"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBalloons", "Balloons"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWizards", "Wizards"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHealers", "Healers"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtDragons", "Dragons"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtPekkas", "Pekkas"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBabyDragons", "Baby Dragons"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMiners", "Miners"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtElectroDragons", "Electro Dragons"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMinions", "Minions"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHogRiders", "Hog Riders"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtValkyries", "Valkyries"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGolems", "Golems"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWitches", "Witches"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtLavaHounds", "Lava Hounds"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBowlers", "Bowlers")] +Global $g_asTroopOrderList = ["", GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBarbarians", "Barbarians"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtArchers", "Archers"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGiants", "Giants"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGoblins", "Goblins"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallBreakers", "Wall Breakers"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBalloons", "Balloons"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWizards", "Wizards"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHealers", "Healers"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtDragons", "Dragons"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtPekkas", "Pekkas"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBabyDragons", "Baby Dragons"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMiners", "Miners"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtElectroDragons", "Electro Dragons"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMinions", "Minions"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHogRiders", "Hog Riders"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtValkyries", "Valkyries"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGolems", "Golems"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWitches", "Witches"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtLavaHounds", "Lava Hounds"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBowlers", "Bowlers"), GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtIceGolems", "Ice Golems")] EndFunc Global $g_hChkCustomTrainOrderEnable = 0 -Global $g_ahCmbTroopOrder[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_ahImgTroopOrder[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahCmbTroopOrder[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahImgTroopOrder[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Global $g_hBtnTroopOrderSet = 0, $g_ahImgTroopOrderSet = 0 Global $g_hBtnRemoveTroops Func LoadTranslatedBrewSpellsOrderList() -Global $g_asSpellsOrderList = ["", GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortLightningSpells", "Lightning"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortHealSpells", "Heal"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortRageSpells", "Rage"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortJumpSpells", "Jump"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortFreezeSpells", "Freeze"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortCloneSpells", "Clone"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortPoisonSpells", "Poison"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortEarthquakeSpells", "EarthQuake"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortHasteSpells", "Haste"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortSkeletonSpells", "Skeleton")] +Global $g_asSpellsOrderList = ["", GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortLightningSpells", "Lightning"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortHealSpells", "Heal"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortRageSpells", "Rage"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortJumpSpells", "Jump"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortFreezeSpells", "Freeze"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortCloneSpells", "Clone"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortPoisonSpells", "Poison"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortEarthquakeSpells", "EarthQuake"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortHasteSpells", "Haste"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortSkeletonSpells", "Skeleton"), GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtShortBatSpells", "Bat")] EndFunc Global $g_hChkCustomBrewOrderEnable = 0 -Global $g_ahCmbSpellsOrder[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_ahImgSpellsOrder[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahCmbSpellsOrder[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahImgSpellsOrder[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Global $g_hBtnSpellsOrderSet = 0, $g_ahImgSpellsOrderSet = 0 Global $g_hBtnRemoveSpells Global $g_hChkCloseWhileTraining = 0, $g_hChkCloseWithoutShield = 0, $g_hChkCloseEmulator = 0, $g_hChkSuspendComputer = 0, $g_hChkRandomClose = 0, $g_hRdoCloseWaitExact = 0, $g_hRdoCloseWaitRandom = 0, $g_hCmbCloseWaitRdmPercent = 0, $g_hCmbMinimumTimeClose = 0, $g_hSldTrainITDelay = 0, $g_hChkTrainAddRandomDelayEnable = 0, $g_hTxtAddRandomDelayMin = 0, $g_hTxtAddRandomDelayMax = 0 @@ -14376,7 +14497,7 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 3) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 +$x += 35 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGiants", "Giants") $g_ahPicTrainArmyTroop[$eTroopGiant] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnGiant, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14389,7 +14510,7 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 +$x += 35 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWallBreakers", "Wall Breakers") $g_ahPicTrainArmyTroop[$eTroopWallBreaker] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnWallBreaker, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14402,7 +14523,7 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 3) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 +$x += 35 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWizards", "Wizards") $g_ahPicTrainArmyTroop[$eTroopWizard] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnWizard, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14415,7 +14536,7 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 +$x += 35 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtDragons", "Dragons") $g_ahPicTrainArmyTroop[$eTroopDragon] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnDragon, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14428,7 +14549,7 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 +$x += 35 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBabyDragons", "Baby Dragons") $g_ahPicTrainArmyTroop[$eTroopBabyDragon] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBabyDragon, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14441,7 +14562,7 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 45 +$x += 40 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtElectroDragons", "Electro Dragons") $g_ahPicTrainArmyTroop[$eTroopElectroDragon] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnElectroDragon, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14454,7 +14575,7 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 +$x += 35 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMinions", "Minions") $g_ahPicTrainArmyTroop[$eTroopMinion] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnMinion, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14467,7 +14588,7 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 3) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 +$x += 35 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtValkyries", "Valkyries") $g_ahPicTrainArmyTroop[$eTroopValkyrie] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnValkyrie, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14480,7 +14601,7 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 +$x += 35 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtWitches", "Witches") $g_ahPicTrainArmyTroop[$eTroopWitch] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnWitch, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14493,15 +14614,28 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 -Local $sSiegeName = GetTranslatedFileIni("MBR Global GUI Design Names Siege Machines", "TxtWallWrecker", "Wall Wrecker") -$g_ahPicTrainArmySiege[$eSiegeWallWrecker] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnWallW, $x, $y - 5, 32, 32) +$x += 35 +Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtLavaHounds", "Lava Hounds") +$g_ahPicTrainArmyTroop[$eTroopLavaHound] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnLavaHound, $x, $y - 5, 32, 32) +_GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) +GUICtrlSetOnEvent(-1, "TrainTroopLevelClick") +$g_ahLblTrainArmyTroopLevel[$eTroopLavaHound] = GUICtrlCreateLabel("0", $x + 2, $y + 14, 6, 11) +GUICtrlSetBkColor(-1, $COLOR_WHITE) +GUICtrlSetFont(-1, 7, 400) +$g_ahTxtTrainArmyTroopCount[$eTroopLavaHound] = GUICtrlCreateInput("0", $x + 1, $y + 29, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) +_GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) +GUICtrlSetState(-1, $GUI_HIDE) +GUICtrlSetLimit(-1, 2) +GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") +$x += 35 +Local $sSiegeName = GetTranslatedFileIni("MBR Global GUI Design Names Siege Machines", "TxtBattleBlimp", "Battle Blimp") +$g_ahPicTrainArmySiege[$eSiegeBattleBlimp] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBattleB, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sSiegeName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) GUICtrlSetOnEvent(-1, "TrainSiegeLevelClick") -$g_ahLblTrainArmySiegeLevel[$eSiegeWallWrecker] = GUICtrlCreateLabel("0", $x + 2, $y + 14, 6, 11) +$g_ahLblTrainArmySiegeLevel[$eSiegeBattleBlimp] = GUICtrlCreateLabel("0", $x + 2, $y + 14, 6, 11) GUICtrlSetBkColor(-1, $COLOR_WHITE) GUICtrlSetFont(-1, 7, 400) -$g_ahTxtTrainArmySiegeCount[$eSiegeWallWrecker] = GUICtrlCreateInput("0", $x + 1, $y + 29, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) +$g_ahTxtTrainArmySiegeCount[$eSiegeBattleBlimp] = GUICtrlCreateInput("0", $x + 1, $y + 29, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sSiegeName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) @@ -14520,7 +14654,7 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 3) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 +$x += 35 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGoblins", "Goblins") $g_ahPicTrainArmyTroop[$eTroopGoblin] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnGoblin, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14533,7 +14667,7 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 3) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 +$x += 35 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBalloons", "Balloons") $g_ahPicTrainArmyTroop[$eTroopBalloon] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBalloon, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14546,7 +14680,7 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 +$x += 35 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHealers", "Healers") $g_ahPicTrainArmyTroop[$eTroopHealer] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnHealer, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14559,7 +14693,7 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 +$x += 35 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtPekkas", "Pekkas") $g_ahPicTrainArmyTroop[$eTroopPekka] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnPekka, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14572,7 +14706,7 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 +$x += 35 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtMiners", "Miners") $g_ahPicTrainArmyTroop[$eTroopMiner] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnMiner, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14585,7 +14719,20 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 45 +$x += 40 +Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtIceGolems", "IceGolems") +$g_ahPicTrainArmyTroop[$eTroopIceGolem] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnIceGolem, $x, $y - 5, 32, 32) +_GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) +GUICtrlSetOnEvent(-1, "TrainTroopLevelClick") +$g_ahLblTrainArmyTroopLevel[$eTroopIceGolem] = GUICtrlCreateLabel("0", $x + 2, $y + 14, 6, 11) +GUICtrlSetBkColor(-1, $COLOR_WHITE) +GUICtrlSetFont(-1, 7, 400) +$g_ahTxtTrainArmyTroopCount[$eTroopIceGolem] = GUICtrlCreateInput("0", $x + 1, $y + 29, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) +_GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) +GUICtrlSetState(-1, $GUI_HIDE) +GUICtrlSetLimit(-1, 2) +GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") +$x += 35 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtBowlers", "Bowlers") $g_ahPicTrainArmyTroop[$eTroopBowler] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBowler, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14598,7 +14745,7 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 +$x += 35 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtHogRiders", "Hog Riders") $g_ahPicTrainArmyTroop[$eTroopHogRider] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnHogRider, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14611,7 +14758,7 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 +$x += 35 Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtGolems", "Golems") $g_ahPicTrainArmyTroop[$eTroopGolem] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnGolem, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) @@ -14624,28 +14771,28 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 -Local $sTroopName = GetTranslatedFileIni("MBR Global GUI Design Names Troops", "TxtLavaHounds", "Lava Hounds") -$g_ahPicTrainArmyTroop[$eTroopLavaHound] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnLavaHound, $x, $y - 5, 32, 32) -_GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sTroopName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) -GUICtrlSetOnEvent(-1, "TrainTroopLevelClick") -$g_ahLblTrainArmyTroopLevel[$eTroopLavaHound] = GUICtrlCreateLabel("0", $x + 2, $y + 14, 6, 11) +$x += 35 +Local $sSiegeName = GetTranslatedFileIni("MBR Global GUI Design Names Siege Machines", "TxtWallWrecker", "Wall Wrecker") +$g_ahPicTrainArmySiege[$eSiegeWallWrecker] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnWallW, $x, $y - 5, 32, 32) +_GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sSiegeName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) +GUICtrlSetOnEvent(-1, "TrainSiegeLevelClick") +$g_ahLblTrainArmySiegeLevel[$eSiegeWallWrecker] = GUICtrlCreateLabel("0", $x + 2, $y + 14, 6, 11) GUICtrlSetBkColor(-1, $COLOR_WHITE) GUICtrlSetFont(-1, 7, 400) -$g_ahTxtTrainArmyTroopCount[$eTroopLavaHound] = GUICtrlCreateInput("0", $x + 1, $y + 29, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) -_GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sTroopName & " " & $sTxtSetPerc2) +$g_ahTxtTrainArmySiegeCount[$eSiegeWallWrecker] = GUICtrlCreateInput("0", $x + 1, $y + 29, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) +_GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sSiegeName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) -GUICtrlSetOnEvent(-1, "TrainTroopCountEdit") -$x += 38 -Local $sSiegeName = GetTranslatedFileIni("MBR Global GUI Design Names Siege Machines", "TxtBattleBlimp", "Battle Blimp") -$g_ahPicTrainArmySiege[$eSiegeBattleBlimp] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBattleB, $x, $y - 5, 32, 32) +GUICtrlSetOnEvent(-1, "TrainSiegeCountEdit") +$x += 35 +Local $sSiegeName = GetTranslatedFileIni("MBR Global GUI Design Names Siege Machines", "TxtStoneSlammer", "Stone Slammer") +$g_ahPicTrainArmySiege[$eSiegeStoneSlammer] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnStoneS, $x, $y - 5, 32, 32) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sSiegeName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) GUICtrlSetOnEvent(-1, "TrainSiegeLevelClick") -$g_ahLblTrainArmySiegeLevel[$eSiegeBattleBlimp] = GUICtrlCreateLabel("0", $x + 2, $y + 14, 6, 11) +$g_ahLblTrainArmySiegeLevel[$eSiegeStoneSlammer] = GUICtrlCreateLabel("0", $x + 2, $y + 14, 6, 11) GUICtrlSetBkColor(-1, $COLOR_WHITE) GUICtrlSetFont(-1, 7, 400) -$g_ahTxtTrainArmySiegeCount[$eSiegeBattleBlimp] = GUICtrlCreateInput("0", $x + 1, $y + 29, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) +$g_ahTxtTrainArmySiegeCount[$eSiegeStoneSlammer] = GUICtrlCreateInput("0", $x + 1, $y + 29, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sSiegeName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) @@ -14707,7 +14854,7 @@ $g_hCalTotalTroops = GUICtrlCreateProgress($x, $y + 22, 407, 10) $g_hLblTotalProgress = GUICtrlCreateLabel("", $x, $y + 22, 407, 10) GUICtrlSetBkColor(-1, $COLOR_RED) GUICtrlSetState(-1, BitOR($GUI_DISABLE, $GUI_HIDE)) -$x += 38 +$x += 35 GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "LblCountTotal", "Total"), $x + 295, $y + 7, -1, -1, $SS_RIGHT) $g_hLblCountTotal = GUICtrlCreateLabel(0, $x + 330, $y + 5, 30, 15, $SS_CENTER) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "LblCountTotal_Info_01", "The total Units of Troops should equal Total Army Camps.")) @@ -14851,6 +14998,19 @@ _GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sSpellName & " " & $sTxtSetPerc2) GUICtrlSetState(-1, $GUI_HIDE) GUICtrlSetLimit(-1, 2) GUICtrlSetOnEvent(-1, "TrainSpellCountEdit") +$x += 38 +Local $sSpellName = GetTranslatedFileIni("MBR Global GUI Design Names Spells", "TxtBatSpells", "Bat Spell") +$g_ahPicTrainArmySpell[$eSpellBat] = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBatSpell, $x, $y + 10, 32, 32) +_GUICtrlSetTip(-1, GetTranslatedFileIni("MBR Global GUI Design", "Level", -1) & " " & $sSpellName & ":" & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "Mouse_Left_Click", -1)) +GUICtrlSetOnEvent(-1, "TrainSpellLevelClick") +$g_ahLblTrainArmySpellLevel[$eSpellBat] = GUICtrlCreateLabel("0", $x + 2, $y + 29, 6, 11) +GUICtrlSetBkColor(-1, $COLOR_WHITE) +GUICtrlSetFont(-1, 7, 400) +$g_ahTxtTrainArmySpellCount[$eSpellBat] = GUICtrlCreateInput("0", $x + 1, $y + 44, 30, 20, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_NUMBER)) +_GUICtrlSetTip(-1, $sTxtSetPerc & " " & $sSpellName & " " & $sTxtSetPerc2) +GUICtrlSetState(-1, $GUI_HIDE) +GUICtrlSetLimit(-1, 2) +GUICtrlSetOnEvent(-1, "TrainSpellCountEdit") $y += 53 $x = 17 $g_hChkForceBrewBeforeAttack = GUICtrlCreateCheckbox(GetTranslatedFileIni("MBR GUI Design Child Attack - Troops", "ChkForceBrewBeforeAttack", "Force Brew Spells"), $x, $y + 12, -1, -1) @@ -15975,9 +16135,9 @@ _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Search", GUICtrlCreateGroup("", -99, -99, 1, 1) EndFunc Global $g_hCmbDBAlgorithm = 0, $g_hCmbDBSelectTroop = 0, $g_hChkDBKingAttack = 0, $g_hChkDBQueenAttack = 0, $g_hChkDBWardenAttack = 0, $g_hChkDBDropCC = 0 -Global $g_hChkDBLightSpell = 0, $g_hChkDBHealSpell = 0, $g_hChkDBRageSpell = 0, $g_hChkDBJumpSpell = 0, $g_hChkDBFreezeSpell = 0, $g_hChkDBCloneSpell = 0, $g_hChkDBPoisonSpell = 0, $g_hChkDBEarthquakeSpell = 0, $g_hChkDBHasteSpell = 0, $g_hChkDBSkeletonSpell = 0 +Global $g_hChkDBLightSpell = 0, $g_hChkDBHealSpell = 0, $g_hChkDBRageSpell = 0, $g_hChkDBJumpSpell = 0, $g_hChkDBFreezeSpell = 0, $g_hChkDBCloneSpell = 0, $g_hChkDBPoisonSpell = 0, $g_hChkDBEarthquakeSpell = 0, $g_hChkDBHasteSpell = 0, $g_hChkDBSkeletonSpell = 0, $g_hChkDBBatSpell = 0 Global $g_hPicDBKingAttack = 0, $g_hPicDBQueenAttack = 0, $g_hPicDBWardenAttack = 0, $g_hPicDBDropCC = 0 -Global $g_hPicDBLightSpell = 0, $g_hPicDBHealSpell = 0, $g_hPicDBRageSpell = 0, $g_hPicDBJumpSpell = 0, $g_hPicDBFreezeSpell = 0, $g_hPicDBCloneSpell = 0, $g_hPicDBPoisonSpell = 0, $g_hPicDBEarthquakeSpell = 0, $g_hPicDBHasteSpell = 0, $g_hPicDBSkeletonSpell = 0 +Global $g_hPicDBLightSpell = 0, $g_hPicDBHealSpell = 0, $g_hPicDBRageSpell = 0, $g_hPicDBJumpSpell = 0, $g_hPicDBFreezeSpell = 0, $g_hPicDBCloneSpell = 0, $g_hPicDBPoisonSpell = 0, $g_hPicDBEarthquakeSpell = 0, $g_hPicDBHasteSpell = 0, $g_hPicDBSkeletonSpell = 0, $g_hPicDBBatSpell = 0 Global $g_hChkTHSnipeBeforeDBEnable = 0, $g_hTxtTHSnipeBeforeDBTiles = 0, $g_hCmbTHSnipeBeforeDBScript = 0 Global $g_hLblTHSnipeBeforeDBTiles = 0 Global $g_hCmbDBSiege = 0 @@ -16079,10 +16239,16 @@ $g_hChkDBHasteSpell = GUICtrlCreateCheckbox("", $x + 27, $y, 17, 17) _GUICtrlSetTip(-1, $sTxtTip) $x += 46 $g_hPicDBSkeletonSpell = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnSkeletonSpell, $x, $y, 24, 24) -$sTxtTip = GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Chk-Use-Skeleton_Info_01", "Use your Skeletons Spells when Attacking...") +$sTxtTip = GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Chk-Use-Skeleton_Info_01", "Use your Bats Spells when Attacking...") _GUICtrlSetTip(-1, $sTxtTip) $g_hChkDBSkeletonSpell = GUICtrlCreateCheckbox("", $x + 27, $y, 17, 17) _GUICtrlSetTip(-1, $sTxtTip) +$x += 46 +$g_hPicDBBatSpell = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBatSpell, $x, $y, 24, 24) +$sTxtTip = GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Chk-Use-Bat_Info_01", "Use your Bats Spells when Attacking...") +_GUICtrlSetTip(-1, $sTxtTip) +$g_hChkDBBatSpell = GUICtrlCreateCheckbox("", $x + 27, $y, 17, 17) +_GUICtrlSetTip(-1, $sTxtTip) GUICtrlCreateGroup("", -99, -99, 1, 1) Local $x = 10, $y = 268 GUICtrlCreateGroup(GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Group_02", "TH Snipe"), $x - 5, $y - 20, 145, 84, $SS_CENTER) @@ -16110,7 +16276,7 @@ GUICtrlCreateGroup("", -99, -99, 1, 1) Local $x = 10, $y = 332 GUICtrlCreateGroup(GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Group_03", "Siege Machines"), $x - 5, $y , 145, 40, $SS_CENTER) $g_hCmbDBSiege = GUICtrlCreateCombo("", $x, $y + 14, 130, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -GUICtrlSetData(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_01", "Castle only") & "|" & GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_02", "Wall Wrecker") & "|" & GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_03", "Battle Blimp"), GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_01", -1)) +GUICtrlSetData(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_01", "Castle only") & "|" & GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_02", "Wall Wrecker") & "|" & GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_03", "Battle Blimp")& "|" & GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_04", "Stone Slammer"), GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_01", -1)) GUICtrlSetOnEvent(-1, "cmbDBSiege") GUICtrlCreateGroup("", -99, -99, 1, 1) EndFunc @@ -16208,8 +16374,8 @@ $g_hLblDBPercentChangeSec = GUICtrlCreateLabel(GetTranslatedFileIni("MBR Global GUICtrlCreateGroup("", -99, -99, 1, 1) EndFunc Global $g_hChkDBDisableCollectorsFilter = 0 -Global $g_ahChkDBCollectorLevel[13] = [-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0] -Global $g_ahCmbDBCollectorLevel[13] = [-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahChkDBCollectorLevel[14] = [-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_ahCmbDBCollectorLevel[14] = [-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0] Global $g_hCmbMinCollectorMatches = 0, $g_hSldCollectorTolerance = 0, $g_hLblCollectorWarning = 0 Func CreateAttackSearchDeadBaseCollectors() Local $x = 10, $y = 45 @@ -16221,113 +16387,24 @@ GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase- $g_hChkDBDisableCollectorsFilter = GUICtrlCreateCheckbox(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkDisableCollectorsFilter", "Disable Collector Filter"), $x + 250, $y + 60, 150, 18) GUICtrlSetState(-1, $GUI_UNCHECKED) _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkDisableCollectorsFilter_Info_01", "Disable Collector Filter CHANGES DeadBase into another ActiveBase search")) -$y += 40 -$g_ahChkDBCollectorLevel[6] = GUICtrlCreateCheckbox("", $x, $y, 18, 18) -$sTxtTip = $s_TxtTip1 & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkCollectorLevel6_Info_01", "for level 6 elixir collectors during dead base detection.") -_GUICtrlSetTip(-1, $sTxtTip) -GUICtrlSetState(-1, BitOR($GUI_UNCHECKED, $GUI_DISABLE)) -GUICtrlSetOnEvent(-1, "chkDBCollector") -_GUICtrlCreateIcon($g_sLibIconPath, $eIcnCollector, $x + 20, $y, 16, 16) -_GUICtrlSetTip(-1, $sTxtTip) -GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel6", "Lvl 6. Must be >"), $x + 40, $y + 3, -1, -1) -_GUICtrlSetTip(-1, $sTxtTip) -GUICtrlSetState(-1, $GUI_DISABLE) -$g_ahCmbDBCollectorLevel[6] = GUICtrlCreateCombo("", $x + 125, $y, 75, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -_GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel6_Info_01", 'Select how full a level 6 collector needs to be for it to be marked "dead"')) -GUICtrlSetState(-1, $GUI_DISABLE) -GUICtrlSetData(-1, "50%|100%", "50%") -GUICtrlSetOnEvent(-1, "cmbDBCollector") -GUICtrlCreateLabel($g_hTxtFull, $x + 205, $y + 3) -$y += 25 -$g_ahChkDBCollectorLevel[7] = GUICtrlCreateCheckbox("", $x, $y, 18, 18) -$sTxtTip = $s_TxtTip1 & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkCollectorLevel7_Info_01", "for level 7 elixir collectors during dead base detection.") -_GUICtrlSetTip(-1, $sTxtTip) -GUICtrlSetState(-1, $GUI_CHECKED) -GUICtrlSetOnEvent(-1, "chkDBCollector") -_GUICtrlCreateIcon($g_sLibIconPath, $eIcnCollector, $x + 20, $y, 16, 16) -_GUICtrlSetTip(-1, $sTxtTip) -GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel7", "Lvl 7. Must be >"), $x + 40, $y + 3, -1, -1) -_GUICtrlSetTip(-1, $sTxtTip) -$g_ahCmbDBCollectorLevel[7] = GUICtrlCreateCombo("", $x + 125, $y, 75, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -_GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel7_Info_01", 'Select how full a level 7 collector needs to be for it to be marked "dead"')) -GUICtrlSetData(-1, "50%|100%", "50%") -GUICtrlSetOnEvent(-1, "cmbDBCollector") -GUICtrlCreateLabel($g_hTxtFull, $x + 205, $y + 3) -$y += 25 -$g_ahChkDBCollectorLevel[8] = GUICtrlCreateCheckbox("", $x, $y, 18, 18) -$sTxtTip = $s_TxtTip1 & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkCollectorLevel8_Info_01", "for level 8 elixir collectors during dead base detection.") -_GUICtrlSetTip(-1, $sTxtTip) -GUICtrlSetState(-1, $GUI_CHECKED) -GUICtrlSetOnEvent(-1, "chkDBCollector") -_GUICtrlCreateIcon($g_sLibIconPath, $eIcnCollector, $x + 20, $y, 16, 16) -_GUICtrlSetTip(-1, $sTxtTip) -GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel8", "Lvl 8. Must be >"), $x + 40, $y + 3, -1, -1) -_GUICtrlSetTip(-1, $sTxtTip) -$g_ahCmbDBCollectorLevel[8] = GUICtrlCreateCombo("", $x + 125, $y, 75, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -_GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel8_Info_01", 'Select how full a level 8 collector needs to be for it to be marked "dead"')) -GUICtrlSetData(-1, "50%|100%", "50%") -GUICtrlSetOnEvent(-1, "cmbDBCollector") -GUICtrlCreateLabel($g_hTxtFull, $x + 205, $y + 3) -$y += 25 -$g_ahChkDBCollectorLevel[9] = GUICtrlCreateCheckbox("", $x, $y, 18, 18) -$sTxtTip = $s_TxtTip1 & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkCollectorLevel9_Info_01", "for level 9 elixir collectors during dead base detection.") -_GUICtrlSetTip(-1, $sTxtTip) -GUICtrlSetState(-1, $GUI_CHECKED) -GUICtrlSetOnEvent(-1, "chkDBCollector") -_GUICtrlCreateIcon($g_sLibIconPath, $eIcnCollector, $x + 20, $y, 16, 16) -_GUICtrlSetTip(-1, $sTxtTip) -GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel9", "Lvl 9. Must be >"), $x + 40, $y + 3, -1, -1) -_GUICtrlSetTip(-1, $sTxtTip) -$g_ahCmbDBCollectorLevel[9] = GUICtrlCreateCombo("", $x + 125, $y, 75, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -_GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel9_Info_01", 'Select how full a level 9 collector needs to be for it to be marked "dead"')) -GUICtrlSetData(-1, "50%|100%", "50%") -GUICtrlSetOnEvent(-1, "cmbDBCollector") -GUICtrlCreateLabel($g_hTxtFull, $x + 205, $y + 3) -$y += 25 -$g_ahChkDBCollectorLevel[10] = GUICtrlCreateCheckbox("", $x, $y, 18, 18) -$sTxtTip = $s_TxtTip1 & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkCollectorLevel10_Info_01", "for level 10 elixir collectors during dead base detection.") -_GUICtrlSetTip(-1, $sTxtTip) -GUICtrlSetState(-1, $GUI_CHECKED) -GUICtrlSetOnEvent(-1, "chkDBCollector") -_GUICtrlCreateIcon($g_sLibIconPath, $eIcnCollector, $x + 20, $y, 16, 16) -_GUICtrlSetTip(-1, $sTxtTip) -GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel10", "Lvl 10. Must be >"), $x + 40, $y + 3, -1, -1) -_GUICtrlSetTip(-1, $sTxtTip) -$g_ahCmbDBCollectorLevel[10] = GUICtrlCreateCombo("", $x + 125, $y, 75, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -_GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel10_Info_01", 'Select how full a level 10 collector needs to be for it to be marked "dead"')) -GUICtrlSetData(-1, "50%|100%", "50%") -GUICtrlSetOnEvent(-1, "cmbDBCollector") -GUICtrlCreateLabel($g_hTxtFull, $x + 205, $y + 3) -$y += 25 -$g_ahChkDBCollectorLevel[11] = GUICtrlCreateCheckbox("", $x, $y, 18, 18) -$sTxtTip = $s_TxtTip1 & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkCollectorLevel11_Info_01", "for level 11 elixir collectors during dead base detection.") -_GUICtrlSetTip(-1, $sTxtTip) -GUICtrlSetState(-1, $GUI_CHECKED) -GUICtrlSetOnEvent(-1, "chkDBCollector") -_GUICtrlCreateIcon($g_sLibIconPath, $eIcnCollector, $x + 20, $y, 16, 16) -_GUICtrlSetTip(-1, $sTxtTip) -GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel11", "Lvl 11. Must be >"), $x + 40, $y + 3, -1, -1) -_GUICtrlSetTip(-1, $sTxtTip) -$g_ahCmbDBCollectorLevel[11] = GUICtrlCreateCombo("", $x + 125, $y, 75, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -_GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel11_Info_01", 'Select how full a level 11 collector needs to be for it to be marked "dead"')) -GUICtrlSetData(-1, "50%|100%", "50%") -GUICtrlSetOnEvent(-1, "cmbDBCollector") -GUICtrlCreateLabel($g_hTxtFull, $x + 205, $y + 3) +$y += 15 +For $i = 6 To 13 $y += 25 -$g_ahChkDBCollectorLevel[12] = GUICtrlCreateCheckbox("", $x, $y, 18, 18) -$sTxtTip = $s_TxtTip1 & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkCollectorLevel12_Info_01", "for level 12 elixir collectors during dead base detection.") +$g_ahChkDBCollectorLevel[$i] = GUICtrlCreateCheckbox("", $x, $y, 18, 18) +$sTxtTip = $s_TxtTip1 & @CRLF & GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "ChkCollectorLevel" & $i & "_Info_01", "for level " & $i & " elixir collectors during dead base detection.") _GUICtrlSetTip(-1, $sTxtTip) -GUICtrlSetState(-1, $GUI_CHECKED) +GUICtrlSetState(-1,($i = 6 ? GUICtrlSetState(-1, BitOR($GUI_UNCHECKED, $GUI_DISABLE)) : $GUI_CHECKED)) GUICtrlSetOnEvent(-1, "chkDBCollector") _GUICtrlCreateIcon($g_sLibIconPath, $eIcnCollector, $x + 20, $y, 16, 16) _GUICtrlSetTip(-1, $sTxtTip) -GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel12", "Lvl 12. Must be >"), $x + 40, $y + 3, -1, -1) +GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel" & $i, "Lvl " & $i & ". Must be >"), $x + 40, $y + 3, -1, -1) _GUICtrlSetTip(-1, $sTxtTip) -$g_ahCmbDBCollectorLevel[12] = GUICtrlCreateCombo("", $x + 125, $y, 75, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -_GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel12_Info_01", 'Select how full a level 12 collector needs to be for it to be marked "dead"')) +$g_ahCmbDBCollectorLevel[$i] = GUICtrlCreateCombo("", $x + 125, $y, 75, 20, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) +_GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblCollectorLevel" & $i & "_Info_01", "Select how full a level " & $i & ' collector needs to be for it to be marked "dead"')) GUICtrlSetData(-1, "50%|100%", "50%") GUICtrlSetOnEvent(-1, "cmbDBCollector") GUICtrlCreateLabel($g_hTxtFull, $x + 205, $y + 3) +Next $y += 25 GUICtrlCreateLabel(GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "LblMinCollectorMatches", "Collectors required"), $x, $y + 3, -1, -1) $sTxtTip = GetTranslatedFileIni("MBR GUI Design Child Attack - Deadbase-Collectors", "CmbMinCollectorMatches_Info_01", 'Select how many collectors are needed to consider village "dead"') @@ -16796,9 +16873,9 @@ _GUICtrlSetTip(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Search", GUICtrlCreateGroup("", -99, -99, 1, 1) EndFunc Global $g_hCmbABAlgorithm = 0, $g_hCmbABSelectTroop = 0, $g_hChkABKingAttack = 0, $g_hChkABQueenAttack = 0, $g_hChkABWardenAttack = 0, $g_hChkABDropCC = 0 -Global $g_hChkABLightSpell = 0, $g_hChkABHealSpell = 0, $g_hChkABRageSpell = 0, $g_hChkABJumpSpell = 0, $g_hChkABFreezeSpell = 0, $g_hChkABCloneSpell = 0, $g_hChkABPoisonSpell = 0, $g_hChkABEarthquakeSpell = 0, $g_hChkABHasteSpell = 0, $g_hChkABSkeletonSpell = 0 +Global $g_hChkABLightSpell = 0, $g_hChkABHealSpell = 0, $g_hChkABRageSpell = 0, $g_hChkABJumpSpell = 0, $g_hChkABFreezeSpell = 0, $g_hChkABCloneSpell = 0, $g_hChkABPoisonSpell = 0, $g_hChkABEarthquakeSpell = 0, $g_hChkABHasteSpell = 0, $g_hChkABSkeletonSpell = 0, $g_hChkABBatSpell = 0 Global $g_hGrpABAttack = 0, $g_hPicABKingAttack = 0, $g_hPicABQueenAttack = 0, $g_hPicABWardenAttack = 0, $g_hPicABDropCC = 0 -Global $g_hPicABLightSpell = 0, $g_hPicABHealSpell = 0, $g_hPicABRageSpell = 0, $g_hPicABJumpSpell = 0, $g_hPicABFreezeSpell = 0, $g_hPicABCloneSpell = 0, $g_hPicABPoisonSpell = 0, $g_hPicABEarthquakeSpell = 0, $g_hPicABHasteSpell = 0, $g_hPicABSkeletonSpell = 0 +Global $g_hPicABLightSpell = 0, $g_hPicABHealSpell = 0, $g_hPicABRageSpell = 0, $g_hPicABJumpSpell = 0, $g_hPicABFreezeSpell = 0, $g_hPicABCloneSpell = 0, $g_hPicABPoisonSpell = 0, $g_hPicABEarthquakeSpell = 0, $g_hPicABHasteSpell = 0, $g_hPicABSkeletonSpell = 0, $g_hPicABBatSpell = 0 Global $g_hChkTHSnipeBeforeLBEnable = 0, $g_hTxtTHSnipeBeforeLBTiles = 0, $g_hCmbTHSnipeBeforeLBScript = 0 Global $g_hLblTHSnipeBeforeLBTiles = 0 Global $g_hCmbABSiege = 0 @@ -16904,6 +16981,12 @@ $sTxtTip = GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Chk-Use _GUICtrlSetTip(-1, $sTxtTip) $g_hChkABSkeletonSpell = GUICtrlCreateCheckbox("", $x + 27, $y, 17, 17) _GUICtrlSetTip(-1, $sTxtTip) +$x += 46 +$g_hPicABBatSpell = _GUICtrlCreateIcon($g_sLibIconPath, $eIcnBatSpell, $x, $y, 24, 24) +$sTxtTip = GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Chk-Use-Bat_Info_01", -1) +_GUICtrlSetTip(-1, $sTxtTip) +$g_hChkABBatSpell = GUICtrlCreateCheckbox("", $x + 27, $y, 17, 17) +_GUICtrlSetTip(-1, $sTxtTip) GUICtrlCreateGroup("", -99, -99, 1, 1) Local $x = 10, $y = 268 GUICtrlCreateGroup(GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Group_02", -1), $x - 5, $y - 20, 145, 84,$SS_CENTER) @@ -16931,7 +17014,7 @@ GUICtrlCreateGroup("", -99, -99, 1, 1) Local $x = 10, $y = 332 GUICtrlCreateGroup(GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Group_03", -1), $x - 5, $y , 145, 40, $SS_CENTER) $g_hCmbABSiege = GUICtrlCreateCombo("", $x, $y + 14, 130, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL)) -GUICtrlSetData(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_01", -1) & "|" & GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_02", -1) & "|" & GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_03", -1), GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_01", -1)) +GUICtrlSetData(-1, GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_01", -1) & "|" & GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_02", -1) & "|" & GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_03", -1) & "|" & GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_04", "Stone Slammer"), GetTranslatedFileIni("MBR GUI Design Child Attack - Attack", "Cmb-Siege_Item_01", -1)) GUICtrlSetOnEvent(-1, "cmbABSiege") GUICtrlCreateGroup("", -99, -99, 1, 1) EndFunc @@ -19037,9 +19120,9 @@ Global $g_hLblWallGoldMake = 0, $g_hLblWallElixirMake = 0, $g_hLblNbrOfBuildingU Global $g_hLblWallUpgCostGold = 0, $g_hLblWallUpgCostElixir = 0, $g_hLblBuildingUpgCostGold = 0, $g_hLblBuildingUpgCostElixir = 0, $g_hLblHeroUpgCost = 0 Global $g_hLblAttacked[$g_iModeCount + 3] = [0, 0, 0, 0, 0, 0], $g_hLblTotalGoldGain[$g_iModeCount + 3] = [0, 0, 0, 0, 0, 0], $g_hLblTotalElixirGain[$g_iModeCount + 3] = [0, 0, 0, 0, 0, 0], $g_hLblTotalDElixirGain[$g_iModeCount + 3] = [0, 0, 0, 0, 0, 0], $g_hLblTotalTrophyGain[$g_iModeCount + 3] = [0, 0, 0, 0, 0, 0], $g_hLblNbrOfTSSuccess = 0, $g_hLblNbrOfTSFailed = 0 Global $g_hLblNbrOfDetectedMines[$g_iModeCount + 3] = [0, 0, 0, 0, 0, 0], $g_hLblNbrOfDetectedCollectors[$g_iModeCount + 3] = [0, 0, 0, 0, 0, 0], $g_hLblNbrOfDetectedDrills[$g_iModeCount + 3] = [0, 0, 0, 0, 0, 0], $g_hLblSmartZap = 0, $g_hLblSmartLightningUsed = 0, $g_hLblSmartEarthQuakeUsed = 0 -Global $g_hLblDonTroop[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_hLblDonSpell[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Global $g_hLblDonSiegel[$eSiegeMachineCount] = [0, 0] +Global $g_hLblDonTroop[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_hLblDonSpell[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Global $g_hLblDonSiegel[$eSiegeMachineCount] = [0, 0, 0] Global $g_hLblTotalTroopsQ = 0, $g_hLblTotalTroopsXP = 0, $g_hLblTotalSpellsQ = 0, $g_hLblTotalSpellsXP = 0 Global $g_ahGrpVillageAcc[8], $g_ahGrpDefaultAcc[8], $g_ahGrpReportAcc[8], $g_ahGrpStatsAcc[8] Global $g_ahLblResultGoldNowAcc[8], $g_ahPicResultGoldNowAcc[8], $g_ahLblResultTrophyNowAcc[8], $g_ahPicResultTrophyNowAcc[8] @@ -20030,6 +20113,15 @@ $g_hLblDonTroop[$eTroopPekka] = GUICtrlCreateLabel("0", $x + 85, $y + 4, 50, 17, GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) GUICtrlSetColor(-1, $COLOR_BLACK) _GUICtrlSetTip(-1, $sTxtTip) +_GUICtrlCreateIcon($g_sLibIconPath, $eIcnWallW, $x + 145, $y, 24, 24) +$sTxtTip = "" +_GUICtrlSetTip(-1, $sTxtTip) +GUICtrlCreateLabel(":", $x + 175, $y + 4, -1, 17) +GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) +$g_hLblDonSiegel[$eSiegeWallWrecker] = GUICtrlCreateLabel("0", $x + 165, $y + 4, 50, 17, $SS_RIGHT) +GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) +GUICtrlSetColor(-1, $COLOR_BLACK) +_GUICtrlSetTip(-1, $sTxtTip) $y += 28 _GUICtrlCreateIcon($g_sLibIconPath, $eIcnWallBreaker, $x - 10, $y, 24, 24) $sTxtTip = "" @@ -20049,12 +20141,12 @@ $g_hLblDonTroop[$eTroopBabyDragon] = GUICtrlCreateLabel("0", $x + 85, $y + 4, 50 GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) GUICtrlSetColor(-1, $COLOR_BLACK) _GUICtrlSetTip(-1, $sTxtTip) -_GUICtrlCreateIcon($g_sLibIconPath, $eIcnWallW, $x + 145, $y, 24, 24) +_GUICtrlCreateIcon($g_sLibIconPath, $eIcnBattleB, $x + 145, $y, 24, 24) $sTxtTip = "" _GUICtrlSetTip(-1, $sTxtTip) GUICtrlCreateLabel(":", $x + 175, $y + 4, -1, 17) GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) -$g_hLblDonSiegel[$eSiegeWallWrecker] = GUICtrlCreateLabel("0", $x + 165, $y + 4, 50, 17, $SS_RIGHT) +$g_hLblDonSiegel[$eSiegeBattleBlimp] = GUICtrlCreateLabel("0", $x + 165, $y + 4, 50, 17, $SS_RIGHT) GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) GUICtrlSetColor(-1, $COLOR_BLACK) _GUICtrlSetTip(-1, $sTxtTip) @@ -20077,12 +20169,12 @@ $g_hLblDonTroop[$eTroopMiner] = GUICtrlCreateLabel("0", $x + 85, $y + 4, 50, 17, GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) GUICtrlSetColor(-1, $COLOR_BLACK) _GUICtrlSetTip(-1, $sTxtTip) -_GUICtrlCreateIcon($g_sLibIconPath, $eIcnBattleB, $x + 145, $y, 24, 24) +_GUICtrlCreateIcon($g_sLibIconPath, $eIcnStoneS, $x + 145, $y, 24, 24) $sTxtTip = "" _GUICtrlSetTip(-1, $sTxtTip) GUICtrlCreateLabel(":", $x + 175, $y + 4, -1, 17) GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) -$g_hLblDonSiegel[$eSiegeBattleBlimp] = GUICtrlCreateLabel("0", $x + 165, $y + 4, 50, 17, $SS_RIGHT) +$g_hLblDonSiegel[$eSiegeStoneSlammer] = GUICtrlCreateLabel("0", $x + 165, $y + 4, 50, 17, $SS_RIGHT) GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) GUICtrlSetColor(-1, $COLOR_BLACK) _GUICtrlSetTip(-1, $sTxtTip) @@ -20118,6 +20210,15 @@ $g_hLblDonTroop[$eTroopHogRider] = GUICtrlCreateLabel("0", $x + 5, $y + 4, 70, 1 GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) GUICtrlSetColor(-1, $COLOR_BLACK) _GUICtrlSetTip(-1, $sTxtTip) +_GUICtrlCreateIcon($g_sLibIconPath, $eIcnIceGolem, $x + 95, $y, 24, 24) +$sTxtTip = "" +_GUICtrlSetTip(-1, $sTxtTip) +GUICtrlCreateLabel(":", $x + 122, $y + 4, -1, 17) +GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) +$g_hLblDonTroop[$eTroopIceGolem] = GUICtrlCreateLabel("0", $x + 100, $y + 4, 70, 17, $SS_RIGHT) +GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) +GUICtrlSetColor(-1, $COLOR_BLACK) +_GUICtrlSetTip(-1, $sTxtTip) $y += 28 _GUICtrlCreateIcon($g_sLibIconPath, $eIcnValkyrie, $x - 10, $y, 24, 24) $sTxtTip = "" @@ -20242,6 +20343,15 @@ $g_hLblDonSpell[$eSpellPoison] = GUICtrlCreateLabel("0", $x + 15, $y + 4, 70, 17 GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) GUICtrlSetColor(-1, $COLOR_BLACK) _GUICtrlSetTip(-1, $sTxtTip) +_GUICtrlCreateIcon($g_sLibIconPath, $eIcnBatSpell, $x + 95, $y, 24, 24) +$sTxtTip = "" +_GUICtrlSetTip(-1, $sTxtTip) +GUICtrlCreateLabel(":", $x + 122, $y + 4, -1, 17) +GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) +$g_hLblDonSpell[$eSpellBat] = GUICtrlCreateLabel("0", $x + 115, $y + 4, 70, 17, $SS_RIGHT) +GUICtrlSetFont(-1, 9, $FW_BOLD, Default, "Arial", $CLEARTYPE_QUALITY) +GUICtrlSetColor(-1, $COLOR_BLACK) +_GUICtrlSetTip(-1, $sTxtTip) $y += 28 _GUICtrlCreateIcon($g_sLibIconPath, $eIcnEarthQuakeSpell, $x - 10, $y, 24, 24) $sTxtTip = "" @@ -20861,7 +20971,7 @@ Global $g_aGroupAttackDB = "", $g_aGroupAttackDBSpell = "", $groupIMGAttackDB = Global $g_aGroupListPicMinTrophy = "", $g_aGroupListPicMaxTrophy = "" Global $g_aGroupEndBattleDB = "", $groupEndBattkeAB = "", $groupKingSleeping = "", $groupQueenSleeping = "", $groupWardenSleeping = "", $groupCloseWhileTraining = "", $grpTrainTroops = "", $grpCookSpell = "" Global $g_aGroupLightning = "", $groupHeal = "", $groupRage = "", $groupJumpSpell = "", $groupFreeze = "", $groupClone = "", $groupIcnLightning = "", $groupIcnHeal = "", $groupIcnRage = "", $groupIcnJumpSpell = "", $groupIcnFreeze = "", $groupIcnClone = "" -Global $g_aGroupPoison = "", $groupEarthquake = "", $groupHaste = "", $groupSkeleton = "", $groupIcnPoison = "", $groupIcnEarthquake = "", $groupIcnHaste = "", $groupIcnSkeleton = "", $groupListSpells = "" +Global $g_aGroupPoison = "", $groupEarthquake = "", $groupHaste = "", $groupSkeleton = "", $groupIcnPoison = "", $groupIcnEarthquake = "", $groupIcnHaste = "", $groupIcnSkeleton = "", $groupIcnBat = "", $groupListSpells = "" Global $g_aGroupListTHLevels = "" Global $g_aGroupListPicDBMaxTH = "" Global $g_aGroupListPicABMaxTH = "" @@ -20879,14 +20989,14 @@ $groupHerosAB = $g_hPicABHeroesWait&"#"&$g_hTxtABHeroesWait&"#"&$g_hChkABKingWai $groupSpellsDB = $g_hChkDBSpellsWait&"#"&$g_hPicDBLightSpellWait&"#"&$g_hPicDBHealSpellWait&"#"&$g_hPicDBRageSpellWait&"#"&$g_hPicDBJumpSpellWait&"#"& $g_hPicDBFreezeSpellWait&"#"&$g_hPicDBPoisonSpellWait&"#"&$g_hPicDBEarthquakeSpellWait&"#"&$g_hPicDBHasteSpellWait $groupSpellsAB = $g_hChkABSpellsWait&"#"&$g_hPicABLightSpellWait&"#"&$g_hPicABHealSpellWait&"#"&$g_hPicABRageSpellWait&"#"&$g_hPicABJumpSpellWait&"#"& $g_hPicABFreezeSpellWait&"#"&$g_hPicABPoisonSpellWait&"#"&$g_hPicABEarthquakeSpellWait&"#"&$g_hPicABHasteSpellWait $groupSearchTS = $g_hGrpTSFilter&"#"&$g_hCmbTSMeetGE&"#"&$g_hTxtTSMinGold&"#"&$g_hPicTSMinGold&"#"&$g_hTxtTSMinElixir&"#"&$g_hPicTSMinElixir&"#"& $g_hTxtTSMinGoldPlusElixir&"#"&$g_hPicTSMinGPEGold&"#"&$g_hChkTSMeetDE&"#"&$g_hTxtTSMinDarkElixir&"#"&$g_hPicTSMinDarkElixir&"#"& $g_hLblAddTiles&"#"&$g_hLblAddTiles2&"#"&$g_hLblSWTTiles&"#"&$g_hTxtSWTTiles&"#"&$g_hLblTHadd&"#"&$g_hTxtTHaddTiles -$g_aGroupAttackDB = $g_hCmbDBAlgorithm&"#"&$g_hCmbDBSelectTroop&"#"&$g_hChkDBKingAttack&"#"&$g_hChkDBQueenAttack&"#"&$g_hChkDBWardenAttack&"#"&$g_hChkDBDropCC&"#"& $g_hChkDBLightSpell&"#"&$g_hChkDBHealSpell&"#"&$g_hChkDBRageSpell&"#"&$g_hChkDBJumpSpell&"#"&$g_hChkDBFreezeSpell&"#"&$g_hChkDBCloneSpell&"#"& $g_hChkDBPoisonSpell&"#"&$g_hChkDBEarthquakeSpell&"#"&$g_hChkDBHasteSpell&"#"&$g_hChkDBSkeletonSpell -$g_aGroupAttackDBSpell = $g_hChkDBLightSpell&"#"&$g_hChkDBHealSpell&"#"&$g_hChkDBRageSpell&"#"&$g_hChkDBJumpSpell&"#"&$g_hChkDBFreezeSpell&"#"&$g_hChkDBCloneSpell&"#"& $g_hChkDBPoisonSpell&"#"&$g_hChkDBEarthquakeSpell&"#"&$g_hChkDBHasteSpell&"#"&$g_hChkDBSkeletonSpell -$groupIMGAttackDB = $g_hPicDBKingAttack&"#"&$g_hPicDBQueenAttack&"#"&$g_hPicDBWardenAttack&"#"&$g_hPicDBDropCC&"#"& $g_hPicDBLightSpell&"#"&$g_hPicDBHealSpell&"#"&$g_hPicDBRageSpell&"#"&$g_hPicDBJumpSpell&"#"&$g_hPicDBFreezeSpell&"#"&$g_hPicDBCloneSpell&"#"& $g_hPicDBPoisonSpell&"#"&$g_hPicDBEarthquakeSpell&"#"&$g_hPicDBHasteSpell&"#"&$g_hPicDBSkeletonSpell -$groupIMGAttackDBSpell = $g_hPicDBLightSpell&"#"&$g_hPicDBHealSpell&"#"&$g_hPicDBRageSpell&"#"&$g_hPicDBJumpSpell&"#"&$g_hPicDBFreezeSpell&"#"&$g_hPicDBCloneSpell&"#"& $g_hPicDBPoisonSpell&"#"&$g_hPicDBEarthquakeSpell&"#"&$g_hPicDBHasteSpell&"#"&$g_hPicDBSkeletonSpell -$groupAttackAB = $g_hCmbDBAlgorithm&"#"&$g_hCmbABSelectTroop&"#"&$g_hChkABKingAttack&"#"&$g_hChkABQueenAttack&"#"&$g_hChkABWardenAttack&"#"&$g_hChkABDropCC&"#"& $g_hChkABLightSpell&"#"&$g_hChkABHealSpell&"#"&$g_hChkABRageSpell&"#"&$g_hChkABJumpSpell&"#"&$g_hChkABFreezeSpell&"#"&$g_hChkABCloneSpell&"#"& $g_hChkABPoisonSpell&"#"&$g_hChkABEarthquakeSpell&"#"&$g_hChkABHasteSpell&"#"&$g_hChkABSkeletonSpell -$groupAttackABSpell = $g_hChkABLightSpell&"#"&$g_hChkABHealSpell&"#"&$g_hChkABRageSpell&"#"&$g_hChkABJumpSpell&"#"&$g_hChkABFreezeSpell&"#"&$g_hChkABCloneSpell&"#"& $g_hChkABPoisonSpell&"#"&$g_hChkABEarthquakeSpell&"#"&$g_hChkABHasteSpell&"#"&$g_hChkABSkeletonSpell -$groupIMGAttackAB = $g_hPicABKingAttack&"#"&$g_hPicABQueenAttack&"#"&$g_hPicABWardenAttack&"#"&$g_hPicABDropCC&"#"& $g_hPicABLightSpell&"#"&$g_hPicABHealSpell&"#"&$g_hPicABRageSpell&"#"&$g_hPicABJumpSpell&"#"&$g_hPicABFreezeSpell&"#"&$g_hPicABCloneSpell&"#"& $g_hPicABPoisonSpell&"#"&$g_hPicABEarthquakeSpell&"#"&$g_hPicABHasteSpell&"#"&$g_hPicABSkeletonSpell -$groupIMGAttackABSpell = $g_hPicABLightSpell&"#"&$g_hPicABHealSpell&"#"&$g_hPicABRageSpell&"#"&$g_hPicABJumpSpell&"#"&$g_hPicABFreezeSpell&"#"&$g_hPicABCloneSpell&"#"& $g_hPicABPoisonSpell&"#"&$g_hPicABEarthquakeSpell&"#"&$g_hPicABHasteSpell&"#"&$g_hPicABSkeletonSpell +$g_aGroupAttackDB = $g_hCmbDBAlgorithm&"#"&$g_hCmbDBSelectTroop&"#"&$g_hChkDBKingAttack&"#"&$g_hChkDBQueenAttack&"#"&$g_hChkDBWardenAttack&"#"&$g_hChkDBDropCC&"#"& $g_hChkDBLightSpell&"#"&$g_hChkDBHealSpell&"#"&$g_hChkDBRageSpell&"#"&$g_hChkDBJumpSpell&"#"&$g_hChkDBFreezeSpell&"#"&$g_hChkDBCloneSpell&"#"& $g_hChkDBPoisonSpell&"#"&$g_hChkDBEarthquakeSpell&"#"&$g_hChkDBHasteSpell&"#"&$g_hChkDBSkeletonSpell&"#"&$g_hChkDBBatSpell +$g_aGroupAttackDBSpell = $g_hChkDBLightSpell&"#"&$g_hChkDBHealSpell&"#"&$g_hChkDBRageSpell&"#"&$g_hChkDBJumpSpell&"#"&$g_hChkDBFreezeSpell&"#"&$g_hChkDBCloneSpell&"#"& $g_hChkDBPoisonSpell&"#"&$g_hChkDBEarthquakeSpell&"#"&$g_hChkDBHasteSpell&"#"&$g_hChkDBSkeletonSpell&"#"&$g_hChkDBBatSpell +$groupIMGAttackDB = $g_hPicDBKingAttack&"#"&$g_hPicDBQueenAttack&"#"&$g_hPicDBWardenAttack&"#"&$g_hPicDBDropCC&"#"& $g_hPicDBLightSpell&"#"&$g_hPicDBHealSpell&"#"&$g_hPicDBRageSpell&"#"&$g_hPicDBJumpSpell&"#"&$g_hPicDBFreezeSpell&"#"&$g_hPicDBCloneSpell&"#"& $g_hPicDBPoisonSpell&"#"&$g_hPicDBEarthquakeSpell&"#"&$g_hPicDBHasteSpell&"#"&$g_hPicDBSkeletonSpell&"#"&$g_hPicDBBatSpell +$groupIMGAttackDBSpell = $g_hPicDBLightSpell&"#"&$g_hPicDBHealSpell&"#"&$g_hPicDBRageSpell&"#"&$g_hPicDBJumpSpell&"#"&$g_hPicDBFreezeSpell&"#"&$g_hPicDBCloneSpell&"#"& $g_hPicDBPoisonSpell&"#"&$g_hPicDBEarthquakeSpell&"#"&$g_hPicDBHasteSpell&"#"&$g_hPicDBSkeletonSpell&"#"&$g_hPicDBBatSpell +$groupAttackAB = $g_hCmbDBAlgorithm&"#"&$g_hCmbABSelectTroop&"#"&$g_hChkABKingAttack&"#"&$g_hChkABQueenAttack&"#"&$g_hChkABWardenAttack&"#"&$g_hChkABDropCC&"#"& $g_hChkABLightSpell&"#"&$g_hChkABHealSpell&"#"&$g_hChkABRageSpell&"#"&$g_hChkABJumpSpell&"#"&$g_hChkABFreezeSpell&"#"&$g_hChkABCloneSpell&"#"& $g_hChkABPoisonSpell&"#"&$g_hChkABEarthquakeSpell&"#"&$g_hChkABHasteSpell&"#"&$g_hChkABSkeletonSpell&"#"&$g_hChkABBatSpell +$groupAttackABSpell = $g_hChkABLightSpell&"#"&$g_hChkABHealSpell&"#"&$g_hChkABRageSpell&"#"&$g_hChkABJumpSpell&"#"&$g_hChkABFreezeSpell&"#"&$g_hChkABCloneSpell&"#"& $g_hChkABPoisonSpell&"#"&$g_hChkABEarthquakeSpell&"#"&$g_hChkABHasteSpell&"#"&$g_hChkABSkeletonSpell&"#"&$g_hChkABBatSpell +$groupIMGAttackAB = $g_hPicABKingAttack&"#"&$g_hPicABQueenAttack&"#"&$g_hPicABWardenAttack&"#"&$g_hPicABDropCC&"#"& $g_hPicABLightSpell&"#"&$g_hPicABHealSpell&"#"&$g_hPicABRageSpell&"#"&$g_hPicABJumpSpell&"#"&$g_hPicABFreezeSpell&"#"&$g_hPicABCloneSpell&"#"& $g_hPicABPoisonSpell&"#"&$g_hPicABEarthquakeSpell&"#"&$g_hPicABHasteSpell&"#"&$g_hPicABSkeletonSpell&"#"&$g_hPicABBatSpell +$groupIMGAttackABSpell = $g_hPicABLightSpell&"#"&$g_hPicABHealSpell&"#"&$g_hPicABRageSpell&"#"&$g_hPicABJumpSpell&"#"&$g_hPicABFreezeSpell&"#"&$g_hPicABCloneSpell&"#"& $g_hPicABPoisonSpell&"#"&$g_hPicABEarthquakeSpell&"#"&$g_hPicABHasteSpell&"#"&$g_hPicABSkeletonSpell&"#"&$g_hPicABBatSpell $groupAttackTS = $g_hGrpABAttack&"#"&$g_hLblAttackTHType&"#"&$g_hCmbAttackTHType&"#"&$g_hLblTSSelectTroop&"#"&$g_hCmbTSSelectTroop&"#"& $g_hLblTSSelectSpecialTroop&"#"&$g_hChkTSKingAttack&"#"&$g_hChkTSQueenAttack&"#"&$g_hChkTSWardenAttack&"#"&$g_hChkTSDropCC&"#"&$g_hChkTSLightSpell&"#"& $g_hChkTSHealSpell&"#"&$g_hChkTSRageSpell&"#"&$g_hChkTSJumpSpell&"#"&$g_hChkTSFreezeSpell&"#"&$g_hChkTSPoisonSpell&"#"&$g_hChkTSEarthquakeSpell&"#"& $g_hChkTSHasteSpell $groupAttackTSSpell = $g_hChkTSLightSpell&"#"&$g_hChkTSHealSpell&"#"&$g_hChkTSRageSpell&"#"&$g_hChkTSJumpSpell&"#"&$g_hChkTSFreezeSpell&"#"& $g_hChkTSPoisonSpell&"#"&$g_hChkTSEarthquakeSpell&"#"&$g_hChkTSHasteSpell $groupIMGAttackTS = $g_hPicTSKingAttack&"#"&$g_hPicTSQueenAttack&"#"&$g_hPicTSWardenAttack&"#"&$g_hPicTSDropCC&"#"&$g_hPicTSLightSpell&"#"& $g_hPicTSHealSpell&"#"&$g_hPicTSRageSpell&"#"&$g_hPicTSJumpSpell&"#"&$g_hPicTSFreezeSpell&"#"&$g_hPicTSPoisonSpell&"#"&$g_hPicTSEarthquakeSpell&"#"& $g_hPicTSHasteSpell @@ -20986,6 +21096,7 @@ $oAlwaysEnabledControls($g_hBtnConsoleWindow) = 1 $oAlwaysEnabledControls($g_hBtnAndroidAdbShell) = 1 $oAlwaysEnabledControls($g_hBtnAndroidHome) = 1 $oAlwaysEnabledControls($g_hBtnAndroidBack) = 1 +$oAlwaysEnabledControls($g_hBtnPullSharedPrefs) = 1 $oAlwaysEnabledControls($g_hBtnMakeScreenshot) = 1 $oAlwaysEnabledControls($g_hDivider) = 1 $oAlwaysEnabledControls($g_hTabMain) = 1 @@ -21544,7 +21655,7 @@ Func lblTotalCountTroop2() Local $TotalTotalTimeTroop = 0 Local $NbrOfBarrack = 4 Local $NbrOfDarkBarrack = 2 -For $i = $eTroopBarbarian To $eTroopElectroDragon +For $i = $eTroopBarbarian To $eTroopIceGolem Local $NbrOfTroop = GUICtrlRead($g_ahTxtTrainArmyTroopCount[$i]) Local $LevOfTroop = $g_aiTrainArmyTroopLevel[$i] If $NbrOfTroop > 0 And $LevOfTroop > 0 Then @@ -21556,7 +21667,7 @@ $TotalTotalTimeTroop +=((Ceiling($NbrOfTroop / $NbrOfBarrack) - 1) -(Floor($NbrO EndIf EndIf Next -For $i = $eTroopMinion To $eTroopBowler +For $i = $eTroopMinion To $eTroopIceGolem Local $NbrOfTroop = GUICtrlRead($g_ahTxtTrainArmyTroopCount[$i]) Local $LevOfTroop = $g_aiTrainArmyTroopLevel[$i] If $NbrOfTroop > 0 And $LevOfTroop > 0 Then @@ -21594,7 +21705,7 @@ $iTotalTotalTimeSiege += $g_aiArmyCompSiegeMachine[$i] * $g_aiSiegeMachineTrainT Next GUICtrlSetData($g_hLblTotalTimeSiege, CalculTimeTo($iTotalTotalTimeSiege)) GUICtrlSetData($g_hLblCountTotalSiege, $g_iTotalTrainSpaceSiege) -GUICtrlSetBkColor($g_hLblCountTotalSiege, $g_iTotalTrainSpaceSiege <= 2 ? $COLOR_MONEYGREEN : $COLOR_RED) +GUICtrlSetBkColor($g_hLblCountTotalSiege, $g_iTotalTrainSpaceSiege <= 3 ? $COLOR_MONEYGREEN : $COLOR_RED) CalCostSiege() If $g_iTownHallLevel > 0 And $g_iTownHallLevel < 12 then $g_iTotalTrainSpaceSiege = 0 @@ -21621,7 +21732,7 @@ EndIf If $g_iTownHallLevel > 5 Or $g_iTownHallLevel = 0 Then _GUI_Value_STATE("SHOW", $g_aiTrainArmySpellLevel[$eSpellHeal] > 0 ? $groupHeal : $groupIcnHeal) Else -For $i = $eSpellRage To $eSpellSkeleton +For $i = $eSpellRage To $eSpellBat GUICtrlSetData($g_ahTxtTrainArmySpellCount[$i], 0) GUICtrlSetData($g_ahLblTrainArmySpellLevel[$i], 0) Next @@ -21629,7 +21740,7 @@ EndIf If $g_iTownHallLevel > 6 Or $g_iTownHallLevel = 0 Then _GUI_Value_STATE("SHOW", $g_aiTrainArmySpellLevel[$eSpellRage] > 0 ? $groupRage : $groupIcnRage) Else -For $i = $eSpellJump To $eSpellSkeleton +For $i = $eSpellJump To $eSpellBat GUICtrlSetData($g_ahTxtTrainArmySpellCount[$i], 0) GUICtrlSetData($g_ahLblTrainArmySpellLevel[$i], 0) Next @@ -21643,17 +21754,20 @@ GUICtrlSetData($g_ahTxtTrainArmySpellCount[$eSpellFreeze], 0) GUICtrlSetData($g_ahTxtTrainArmySpellCount[$eSpellClone], 0) GUICtrlSetData($g_ahTxtTrainArmySpellCount[$eSpellHaste], 0) GUICtrlSetData($g_ahTxtTrainArmySpellCount[$eSpellSkeleton], 0) +GUICtrlSetData($g_ahTxtTrainArmySpellCount[$eSpellBat], 0) GUICtrlSetData($g_ahLblTrainArmySpellLevel[$eSpellJump], 0) GUICtrlSetData($g_ahLblTrainArmySpellLevel[$eSpellFreeze], 0) GUICtrlSetData($g_ahLblTrainArmySpellLevel[$eSpellClone], 0) GUICtrlSetData($g_ahLblTrainArmySpellLevel[$eSpellHaste], 0) GUICtrlSetData($g_ahLblTrainArmySpellLevel[$eSpellSkeleton], 0) +GUICtrlSetData($g_ahLblTrainArmySpellLevel[$eSpellBat], 0) EndIf If $g_iTownHallLevel > 8 Or $g_iTownHallLevel = 0 Then _GUI_Value_STATE("SHOW", $g_aiTrainArmySpellLevel[$eSpellJump] > 0 ? $groupJumpSpell : $groupIcnJumpSpell) _GUI_Value_STATE("SHOW", $g_aiTrainArmySpellLevel[$eSpellFreeze] > 0 ? $groupFreeze : $groupIcnFreeze) _GUI_Value_STATE("SHOW", $g_aiTrainArmySpellLevel[$eSpellHaste] > 0 ? $groupHaste : $groupIcnHaste) _GUI_Value_STATE("SHOW", $g_aiTrainArmySpellLevel[$eSpellSkeleton] > 0 ? $groupSkeleton : $groupIcnSkeleton) +_GUI_Value_STATE("SHOW", $g_aiTrainArmySpellLevel[$eSpellBat] > 0 ? $groupSkeleton : $groupIcnBat) Else GUICtrlSetData($g_ahTxtTrainArmySpellCount[$eSpellClone], 0) GUICtrlSetData($g_ahLblTrainArmySpellLevel[$eSpellClone], 0) @@ -21885,7 +21999,7 @@ Local $bWasRedraw = SetRedrawBotWindow(False, Default, Default, Default, "BtnSpe Local $bReady = True Local $sNewTrainList = "" Local $bMissingTroop = False -Local $aiBrewOrder[$eSpellCount] = [ $eSpellLightning, $eSpellHeal, $eSpellRage, $eSpellJump, $eSpellFreeze, $eSpellClone, $eSpellPoison, $eSpellEarthquake, $eSpellHaste, $eSpellSkeleton] +Local $aiBrewOrder[$eSpellCount] = [ $eSpellLightning, $eSpellHeal, $eSpellRage, $eSpellJump, $eSpellFreeze, $eSpellClone, $eSpellPoison, $eSpellEarthquake, $eSpellHaste, $eSpellSkeleton, $eSpellBat] For $i = 0 To UBound($g_ahCmbSpellsOrder) - 1 For $j = 0 To UBound($g_ahCmbSpellsOrder) - 1 If $i = $j Then ContinueLoop @@ -21957,7 +22071,7 @@ Local $bWasRedraw = SetRedrawBotWindow(False, Default, Default, Default, "BtnTro Local $bReady = True Local $sNewTrainList = "" Local $bMissingTroop = False -Local $aiUsedTroop[$eTroopCount] = [ $eTroopBarbarian, $eTroopArcher, $eTroopGiant, $eTroopGoblin, $eTroopWallBreaker, $eTroopBalloon, $eTroopWizard, $eTroopHealer, $eTroopDragon, $eTroopPekka, $eTroopBabyDragon, $eTroopMiner, $eTroopElectroDragon, $eTroopMinion, $eTroopHogRider, $eTroopValkyrie, $eTroopGolem, $eTroopWitch, $eTroopLavaHound, $eTroopBowler] +Local $aiUsedTroop[$eTroopCount] = [ $eTroopBarbarian, $eTroopArcher, $eTroopGiant, $eTroopGoblin, $eTroopWallBreaker, $eTroopBalloon, $eTroopWizard, $eTroopHealer, $eTroopDragon, $eTroopPekka, $eTroopBabyDragon, $eTroopMiner, $eTroopElectroDragon, $eTroopMinion, $eTroopHogRider, $eTroopValkyrie, $eTroopGolem, $eTroopWitch, $eTroopLavaHound, $eTroopBowler, $eTroopIceGolem] For $i = 0 To UBound($g_ahCmbTroopOrder) - 1 For $j = 0 To UBound($g_ahCmbTroopOrder) - 1 If $i = $j Then ContinueLoop @@ -22263,7 +22377,7 @@ Local $iElixirCostCamp = 0, $iDarkCostCamp = 0 For $i = $eTroopBarbarian To $eTroopElectroDragon $iElixirCostCamp += $g_aiArmyCompTroops[$i] * $g_aiTroopCostPerLevel[$i][$g_aiTrainArmyTroopLevel[$i]] Next -For $i = $eTroopMinion To $eTroopBowler +For $i = $eTroopMinion To $eTroopIceGolem $iDarkCostCamp += $g_aiArmyCompTroops[$i] * $g_aiTroopCostPerLevel[$i][$g_aiTrainArmyTroopLevel[$i]] Next GUICtrlSetData($g_hLblElixirCostCamp, _NumberFormat($iElixirCostCamp, True)) @@ -22274,7 +22388,7 @@ Local $iElixirCostSpell = 0, $iDarkCostSpell = 0 For $i = $eSpellLightning To $eSpellClone $iElixirCostSpell += $g_aiArmyCompSpells[$i] * $g_aiSpellCostPerLevel[$i][$g_aiTrainArmySpellLevel[$i]] Next -For $i = $eSpellPoison To $eSpellSkeleton +For $i = $eSpellPoison To $eSpellBat $iDarkCostSpell += $g_aiArmyCompSpells[$i] * $g_aiSpellCostPerLevel[$i][$g_aiTrainArmySpellLevel[$i]] Next GUICtrlSetData($g_hLblElixirCostSpell, _NumberFormat($iElixirCostSpell, True)) @@ -22417,8 +22531,8 @@ Next EndFunc Func CmbClanCastleSpell() For $i = 0 To UBound($g_ahCmbClanCastleSpell) - 1 -If _GUICtrlComboBox_GetCurSel($g_ahCmbClanCastleSpell[$i]) = $eCSpell - $eLSpell Then _GUICtrlComboBox_SetCurSel($g_ahCmbClanCastleSpell[$i], $eSkSpell - $eLSpell + 1) -If _GUICtrlComboBox_GetCurSel($g_ahCmbClanCastleSpell[$i]) <= $eSkSpell - $eLSpell Then +If _GUICtrlComboBox_GetCurSel($g_ahCmbClanCastleSpell[$i]) = $eCSpell - $eLSpell Then _GUICtrlComboBox_SetCurSel($g_ahCmbClanCastleSpell[$i], $eBtSpell - $eLSpell + 1) +If _GUICtrlComboBox_GetCurSel($g_ahCmbClanCastleSpell[$i]) <= $eBtSpell - $eLSpell Then GUICtrlSetState($g_ahTxtClanCastleSpell[$i], $GUI_ENABLE) Else GUICtrlSetState($g_ahTxtClanCastleSpell[$i], $GUI_DISABLE) @@ -23965,7 +24079,7 @@ EndIf EndFunc Func checkCollectors($log = False, $showLabel = True) Local $anyCollectorsEnabled = 0 -For $i = 6 To 12 +For $i = 6 To 13 If $g_abCollectorLevelEnabled[$i] Then $anyCollectorsEnabled = 1 ExitLoop @@ -23986,7 +24100,7 @@ EndIf Return False EndFunc Func chkDBCollector() -For $i = 6 To 12 +For $i = 6 To 13 If $g_ahChkDBCollectorLevel[$i] = @GUI_CtrlId Then If $i = 6 Then $g_abCollectorLevelEnabled[6] = False @@ -24001,7 +24115,7 @@ Next checkCollectors() EndFunc Func cmbDBCollector() -For $i = 6 To 12 +For $i = 6 To 13 If $g_ahCmbDBCollectorLevel[$i] = @GUI_CtrlId Then $g_aiCollectorLevelFill[$i] = _GUICtrlComboBox_GetCurSel($g_ahCmbDBCollectorLevel[$i]) ExitLoop @@ -24606,6 +24720,7 @@ Local $tempbRunState = $g_bRunState Local $tempSieges = $g_aiCurrentSiegeMachines $g_aiCurrentSiegeMachines[$eSiegeWallWrecker] = 1 $g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] = 1 +$g_aiCurrentSiegeMachines[$eSiegeStoneSlammer] = 1 $g_aiAttackAlgorithm[$LB] = 1 $g_sAttackScrScriptName[$LB] = GuiCtrlRead($g_hCmbScriptNameAB) $g_iMatchMode = $LB @@ -25340,9 +25455,7 @@ Func chkDisableNotifications() $g_bDisableNotifications =(GUICtrlRead($g_hChkDisableNotifications) = $GUI_CHECKED) EndFunc Func chkUseRandomClick() -$g_bRunState = True -getArmySiegeMachines() -$g_bRunState = False +$g_bUseRandomClick =(GUICtrlRead($g_hChkUseRandomClick) = $GUI_CHECKED) EndFunc Func chkHideWhenMinimized() $g_bHideWhenMinimized =(GUICtrlRead($g_hChkHideWhenMinimized) = $GUI_CHECKED) @@ -25672,11 +25785,11 @@ SetLog("Could not find the Donate Window :(", $COLOR_ERROR) Return False EndIf SetLog("Detecting Troops...") -DetectSlotTroop($eBowl) +DetectSlotTroop($eIceG) SetLog("Detecting Sieges...") -DetectSlotSiege($eSiegeBattleBlimp) +DetectSlotSiege($eSiegeStoneSlammer) SetLog("Detecting Spells...") -DetectSlotSpell($eSkSpell) +DetectSlotSpell($eBtSpell) SetLog(_PadStringCenter(" Test DonateCC end ", 54, "="), $COLOR_INFO) ShellExecute($g_sProfileTempDebugPath & "donateCC_") $g_bDebugOcr = $currentOCR @@ -25707,6 +25820,10 @@ _GUICtrlTab_ClickTab($g_hTabMain, 0) $g_bDebugOcr = True $g_bDebugImageSave = True $g_bRunState = True +If MsgBox($MB_YESNO, "Screenshot or Live Image", "Do you want to use a Screenshot instead of a Live Image?") = $IDYES Then +Local $sImageFile = BeginImageTest() +If $sImageFile = False Then $sImageFile = "Live Screenshot" +EndIf SetLog(_PadStringCenter(" Begin AttackBar Detection", 54, "="), $COlOR_INFO) Local $aAttackBar = StringSplit(AttackBarCheck(False, $DB, True), "|", $STR_NOCOUNT) Local $aTroop @@ -25714,10 +25831,11 @@ If IsArray($aAttackBar) And UBound($aAttackBar, 1) >= 1 Then SetLog("Found " & UBound($aAttackBar, 1) & " Slots", $COlOR_SUCCESS) For $i = 0 To UBound($aAttackBar, 1) - 1 $aTroop = StringSplit($aAttackBar[$i], "#", $STR_NOCOUNT) -If IsArray($aTroop) And UBound($aTroop, 1) = 3 Then SetLog("- Slot " & $aTroop[1] & ": " & $aTroop[2] & " " & GetTroopName($aTroop[0], $aTroop[2]), $COLOR_SUCCESS) +If IsArray($aTroop) And UBound($aTroop, 1) = 4 Then SetLog("- Slot " & $aTroop[1] & ": " & $aTroop[2] & " " & GetTroopName($aTroop[0], $aTroop[2]), $COLOR_SUCCESS) Next EndIf SetLog(_PadStringCenter(" End AttackBar Detection ", 54, "="), $COlOR_INFO) +EndImageTest() $g_bDebugOcr = $bCurrentOCR $g_bDebugImageSave = $bCurrentDebugImage $g_bRunState = $bCurrentRunState @@ -30330,10 +30448,13 @@ Else SetLog("Initiating attack for: " & $g_asModeText[$pMatchMode], $COLOR_ERROR) EndIf Local $hStarttime = _Timer_Init() -Local $aPaths = [$g_sImgSwitchSiegeCastle, $g_sImgSwitchSiegeWallWrecker, $g_sImgSwitchSiegeBattleBlimp] +Local $aPaths = [$g_sImgSwitchSiegeCastle, $g_sImgSwitchSiegeWallWrecker, $g_sImgSwitchSiegeBattleBlimp, $g_sImgSwitchSiegeStoneSlammer] Local $ToUse = $eCastle, $iDa = 0 If($pMatchMode = $DB Or $pMatchMode = $LB Or $pMatchMode = $TS) And Not $Remaining Then -If $g_abAttackDropCC[$pMatchMode] And $g_aiAttackUseSiege[$pMatchMode] = 2 And($g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] > 0 Or $g_aiCurrentCCSiegeMachines[$eSiegeBattleBlimp] > 0) Then +If $g_abAttackDropCC[$pMatchMode] And $g_aiAttackUseSiege[$pMatchMode] = 3 And($g_aiCurrentSiegeMachines[$eSiegeStoneSlammer] > 0 Or $g_aiCurrentCCSiegeMachines[$eSiegeStoneSlammer] > 0) Then +$ToUse = $eStoneS +$iDa = 3 +ElseIf $g_abAttackDropCC[$pMatchMode] And $g_aiAttackUseSiege[$pMatchMode] = 2 And($g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] > 0 Or $g_aiCurrentCCSiegeMachines[$eSiegeBattleBlimp] > 0) Then $ToUse = $eBattleB $iDa = 2 ElseIf $g_abAttackDropCC[$pMatchMode] And $g_aiAttackUseSiege[$pMatchMode] = 1 And($g_aiCurrentSiegeMachines[$eSiegeWallWrecker] > 0 Or $g_aiCurrentCCSiegeMachines[$eSiegeWallWrecker] > 0) Then @@ -30353,7 +30474,7 @@ Click($g_iQuickMISX + 50, $g_iQuickMISY + 700, 1) Local $lastX = $g_iQuickMISX + 50, $LastX1 = $g_iQuickMISX + 300, $lastY = $g_iQuickMISY + 700 Local $compFor2Sieges = 50 If _Sleep(1250) Then Return -Local $HowMany = QuickMIS("CX", $aPaths[$iDa], $lastX - $compFor2Sieges, 540, $LastX1, 560, True, False) +Local $HowMany = QuickMIS("CX", $aPaths[$iDa], $lastX - $compFor2Sieges, 530, $LastX1, 560, True, False) If $g_bDebugSetlog Then SetDebugLog("Benchmark Switch Siege HowMany: " & StringFormat("%.2f", _Timer_Diff($hStarttime)) & "'ms") If $g_bDebugSetlog Then SetDebugLog("Sleeps : " & 750 & "'ms") $hStarttime = _Timer_Init() @@ -30430,24 +30551,27 @@ If _Sleep($DELAYPREPAREATTACK1) Then Return For $i = 0 To UBound($g_avAttackTroops) - 1 $g_avAttackTroops[$i][0] = -1 $g_avAttackTroops[$i][1] = 0 +$g_avAttackTroops[$i][2] = 0 Next Local $Plural = 0 Local $result = AttackBarCheck($Remaining, $pMatchMode) If $g_bDebugSetlog Then SetDebugLog("DLL Troopsbar list: " & $result, $COLOR_DEBUG) Local $aTroopDataList = StringSplit($result, "|") -Local $aTemp[22][3] +Local $aTemp[22][4] If $result <> "" Then For $i = 1 To $aTroopDataList[0] Local $troopData = StringSplit($aTroopDataList[$i], "#", $STR_NOCOUNT) $aTemp[Number($troopData[1])][0] = $troopData[0] $aTemp[Number($troopData[1])][1] = Number($troopData[2]) $aTemp[Number($troopData[1])][2] = Number($troopData[1]) +$aTemp[Number($troopData[1])][3] = Number($troopData[3]) Next EndIf For $i = 0 To UBound($aTemp) - 1 If $aTemp[$i][0] = "" And $aTemp[$i][1] = "" Then $g_avAttackTroops[$i][0] = -1 $g_avAttackTroops[$i][1] = 0 +$g_avAttackTroops[$i][2] = 0 Else Local $troopKind = $aTemp[$i][0] If $troopKind < $eKing Then @@ -30455,10 +30579,12 @@ If Not IsTroopToBeUsed($pMatchMode, $troopKind) Then If $g_bDebugSetlog Then SetDebugLog("Discard use of troop " & $troopKind & " " & NameOfTroop($troopKind), $COLOR_ERROR) $g_avAttackTroops[$i][0] = -1 $g_avAttackTroops[$i][1] = 0 +$g_avAttackTroops[$i][2] = 0 $troopKind = -1 Else $g_avAttackTroops[$i][0] = $aTemp[$i][0] $g_avAttackTroops[$i][1] = $aTemp[$i][1] +$g_avAttackTroops[$i][2] = $aTemp[$i][3] $troopsnumber += $aTemp[$i][1] EndIf Else @@ -30467,6 +30593,7 @@ If IsSpecialTroopToBeUsed($pMatchMode, $troopKind) Then $troopsnumber += 1 $g_avAttackTroops[$i][0] = $aTemp[$i][0] $g_avAttackTroops[$i][1] = $aTemp[$i][1] +$g_avAttackTroops[$i][2] = $aTemp[$i][3] If $g_avAttackTroops[$i][0] = $eKing Or $g_avAttackTroops[$i][0] = $eQueen Or $g_avAttackTroops[$i][0] = $eWarden Then $g_avAttackTroops[$i][1] = 1 $troopKind = $g_avAttackTroops[$i][1] $troopsnumber += 1 @@ -30477,9 +30604,10 @@ EndIf EndIf $Plural = 0 If $aTemp[$i][1] > 1 Then $Plural = 1 -If $troopKind <> -1 Then SetLog($aTemp[$i][2] & " » " & $g_avAttackTroops[$i][1] & " " & NameOfTroop($g_avAttackTroops[$i][0], $Plural), $COLOR_SUCCESS) +If $troopKind <> -1 Then SetLog($aTemp[$i][2] & " » " & $g_avAttackTroops[$i][1] & " " & NameOfTroop($g_avAttackTroops[$i][0], $Plural) & ", x: " & $g_avAttackTroops[$i][2], $COLOR_SUCCESS) EndIf Next +SetSlotSpecialTroops() If $g_bDebugSetlog Then SetDebugLog("troopsnumber = " & $troopsnumber) Return $troopsnumber EndFunc @@ -30535,10 +30663,14 @@ Case $eCSpell If $g_abAttackUseCloneSpell[$iTempMode] Then Return True Case $eSkSpell If $g_abAttackUseSkeletonSpell[$iTempMode] Then Return True +Case $eBtSpell +If $g_abAttackUseBatSpell[$iTempMode] Then Return True Case $eWallW If $g_abAttackDropCC[$iTempMode] Then Return True Case $eBattleB If $g_abAttackDropCC[$iTempMode] Then Return True +Case $eStoneS +If $g_abAttackDropCC[$iTempMode] Then Return True Case Else Return False EndSwitch @@ -30646,7 +30778,7 @@ If $g_bDebugSetlog Then SetDebugLog("Battle already over.", $COLOR_DEBUG) EndIf If _Sleep($DELAYRETURNHOME2) Then Return TrayTip($g_sBotTitle, "", BitOR($TIP_ICONASTERISK, $TIP_NOSOUND)) -CheckAndroidReboot(False) +If CheckAndroidReboot() Then Return If $GoldChangeCheck Then If IsAttackPage() Then $counter = 0 @@ -30706,7 +30838,7 @@ EndIf WEnd EndFunc Func ReturnHomeMainPage() -If IsMainPage(1) Then +If IsMainPage(2) Then SetLogCentered(" BOT LOG ", Default, Default, True) Return True EndIf @@ -30946,7 +31078,7 @@ Case 0 If $g_bCustomDropOrderEnable Then Local $listInfoDeploy[22][5] = [[MatchTroopDropName(0), MatchSidesDrop(0), MatchTroopWaveNb(0), 1, MatchSlotsPerEdge(0)], [MatchTroopDropName(1), MatchSidesDrop(1), MatchTroopWaveNb(1), 1, MatchSlotsPerEdge(1)], [MatchTroopDropName(2), MatchSidesDrop(2), MatchTroopWaveNb(2), 1, MatchSlotsPerEdge(2)], [MatchTroopDropName(3), MatchSidesDrop(3), MatchTroopWaveNb(3), 1, MatchSlotsPerEdge(3)], [MatchTroopDropName(4), MatchSidesDrop(4), MatchTroopWaveNb(4), 1, MatchSlotsPerEdge(4)], [MatchTroopDropName(5), MatchSidesDrop(5), MatchTroopWaveNb(5), 1, MatchSlotsPerEdge(5)], [MatchTroopDropName(6), MatchSidesDrop(6), MatchTroopWaveNb(6), 1, MatchSlotsPerEdge(6)], [MatchTroopDropName(7), MatchSidesDrop(7), MatchTroopWaveNb(7), 1, MatchSlotsPerEdge(7)], [MatchTroopDropName(8), MatchSidesDrop(8), MatchTroopWaveNb(8), 1, MatchSlotsPerEdge(8)], [MatchTroopDropName(9), MatchSidesDrop(9), MatchTroopWaveNb(9), 1, MatchSlotsPerEdge(9)], [MatchTroopDropName(10), MatchSidesDrop(10), MatchTroopWaveNb(10), 1, MatchSlotsPerEdge(10)], [MatchTroopDropName(11), MatchSidesDrop(11), MatchTroopWaveNb(11), 1, MatchSlotsPerEdge(11)], [MatchTroopDropName(12), MatchSidesDrop(12), MatchTroopWaveNb(12), 1, MatchSlotsPerEdge(12)], [MatchTroopDropName(13), MatchSidesDrop(13), MatchTroopWaveNb(13), 1, MatchSlotsPerEdge(13)], [MatchTroopDropName(14), MatchSidesDrop(14), MatchTroopWaveNb(14), 1, MatchSlotsPerEdge(14)], [MatchTroopDropName(15), MatchSidesDrop(15), MatchTroopWaveNb(15), 1, MatchSlotsPerEdge(15)], [MatchTroopDropName(16), MatchSidesDrop(16), MatchTroopWaveNb(16), 1, MatchSlotsPerEdge(16)], [MatchTroopDropName(17), MatchSidesDrop(17), MatchTroopWaveNb(17), 1, MatchSlotsPerEdge(17)], [MatchTroopDropName(18), MatchSidesDrop(18), MatchTroopWaveNb(18), 1, MatchSlotsPerEdge(18)], [MatchTroopDropName(19), MatchSidesDrop(19), MatchTroopWaveNb(19), 1, MatchSlotsPerEdge(19)], [MatchTroopDropName(20), MatchSidesDrop(20), MatchTroopWaveNb(20), 1, MatchSlotsPerEdge(20)], [MatchTroopDropName(21), MatchSidesDrop(21), MatchTroopWaveNb(21), 1, MatchSlotsPerEdge(21)]] Else -Local $listInfoDeploy[22][5] = [[$eGole, $nbSides, 1, 1, 2] , [$eLava, $nbSides, 1, 1, 2] , [$eGiant, $nbSides, 1, 1, $g_iSlotsGiants] , [$eDrag, $nbSides, 1, 1, 0] , ["CC", 1, 1, 1, 1] , [$eBall, $nbSides, 1, 1, 0] , [$eBabyD, $nbSides, 1, 1, 1] , [$eHogs, $nbSides, 1, 1, 1] , [$eValk, $nbSides, 1, 1, 0] , [$eBowl, $nbSides, 1, 1, 0] , [$eMine, $nbSides, 1, 1, 0] , [$eEDrag, $nbSides, 1, 1, 0] , [$eBarb, $nbSides, 1, 1, 0] , [$eWall, $nbSides, 1, 1, 1] , [$eArch, $nbSides, 1, 1, 0] , [$eWiza, $nbSides, 1, 1, 0] , [$eMini, $nbSides, 1, 1, 0] , [$eWitc, $nbSides, 1, 1, 1] , [$eGobl, $nbSides, 1, 1, 0] , [$eHeal, $nbSides, 1, 1, 1] , [$ePekk, $nbSides, 1, 1, 1] , ["HEROES", 1, 2, 1, 1] ] +Local $listInfoDeploy[23][5] = [[$eGole, $nbSides, 1, 1, 2] , [$eLava, $nbSides, 1, 1, 2] , [$eGiant, $nbSides, 1, 1, $g_iSlotsGiants] , [$eDrag, $nbSides, 1, 1, 0] , ["CC", 1, 1, 1, 1] , [$eBall, $nbSides, 1, 1, 0] , [$eBabyD, $nbSides, 1, 1, 1] , [$eHogs, $nbSides, 1, 1, 1] , [$eValk, $nbSides, 1, 1, 0] , [$eBowl, $nbSides, 1, 1, 0] , [$eMine, $nbSides, 1, 1, 0] , [$eEDrag, $nbSides, 1, 1, 0] , [$eBarb, $nbSides, 1, 1, 0] , [$eWall, $nbSides, 1, 1, 1] , [$eArch, $nbSides, 1, 1, 0] , [$eWiza, $nbSides, 1, 1, 0] , [$eMini, $nbSides, 1, 1, 0] , [$eWitc, $nbSides, 1, 1, 1] , [$eGobl, $nbSides, 1, 1, 0] , [$eHeal, $nbSides, 1, 1, 1] , [$ePekk, $nbSides, 1, 1, 1] , [$eIceG, $nbSides, 1, 1, 0] , ["HEROES", 1, 2, 1, 1] ] EndIf Case 1 Local $listInfoDeploy[6][5] = [[$eBarb, $nbSides, 1, 1, 0] , [$eArch, $nbSides, 1, 1, 0] , [$eGobl, $nbSides, 1, 1, 0] , [$eMini, $nbSides, 1, 1, 0] , ["CC", 1, 1, 1, 1] , ["HEROES", 1, 2, 1, 1] ] @@ -30960,7 +31092,7 @@ Case 0 If $g_bCustomDropOrderEnable Then Local $listInfoDeploy[22][5] = [[MatchTroopDropName(0), MatchSidesDrop(0), MatchTroopWaveNb(0), 1, MatchSlotsPerEdge(0)], [MatchTroopDropName(1), MatchSidesDrop(1), MatchTroopWaveNb(1), 1, MatchSlotsPerEdge(1)], [MatchTroopDropName(2), MatchSidesDrop(2), MatchTroopWaveNb(2), 1, MatchSlotsPerEdge(2)], [MatchTroopDropName(3), MatchSidesDrop(3), MatchTroopWaveNb(3), 1, MatchSlotsPerEdge(3)], [MatchTroopDropName(4), MatchSidesDrop(4), MatchTroopWaveNb(4), 1, MatchSlotsPerEdge(4)], [MatchTroopDropName(5), MatchSidesDrop(5), MatchTroopWaveNb(5), 1, MatchSlotsPerEdge(5)], [MatchTroopDropName(6), MatchSidesDrop(6), MatchTroopWaveNb(6), 1, MatchSlotsPerEdge(6)], [MatchTroopDropName(7), MatchSidesDrop(7), MatchTroopWaveNb(7), 1, MatchSlotsPerEdge(7)], [MatchTroopDropName(8), MatchSidesDrop(8), MatchTroopWaveNb(8), 1, MatchSlotsPerEdge(8)], [MatchTroopDropName(9), MatchSidesDrop(9), MatchTroopWaveNb(9), 1, MatchSlotsPerEdge(9)], [MatchTroopDropName(10), MatchSidesDrop(10), MatchTroopWaveNb(10), 1, MatchSlotsPerEdge(10)], [MatchTroopDropName(11), MatchSidesDrop(11), MatchTroopWaveNb(11), 1, MatchSlotsPerEdge(11)], [MatchTroopDropName(12), MatchSidesDrop(12), MatchTroopWaveNb(12), 1, MatchSlotsPerEdge(12)], [MatchTroopDropName(13), MatchSidesDrop(13), MatchTroopWaveNb(13), 1, MatchSlotsPerEdge(13)], [MatchTroopDropName(14), MatchSidesDrop(14), MatchTroopWaveNb(14), 1, MatchSlotsPerEdge(14)], [MatchTroopDropName(15), MatchSidesDrop(15), MatchTroopWaveNb(15), 1, MatchSlotsPerEdge(15)], [MatchTroopDropName(16), MatchSidesDrop(16), MatchTroopWaveNb(16), 1, MatchSlotsPerEdge(16)], [MatchTroopDropName(17), MatchSidesDrop(17), MatchTroopWaveNb(17), 1, MatchSlotsPerEdge(17)], [MatchTroopDropName(18), MatchSidesDrop(18), MatchTroopWaveNb(18), 1, MatchSlotsPerEdge(18)], [MatchTroopDropName(19), MatchSidesDrop(19), MatchTroopWaveNb(19), 1, MatchSlotsPerEdge(19)], [MatchTroopDropName(20), MatchSidesDrop(20), MatchTroopWaveNb(20), 1, MatchSlotsPerEdge(20)], [MatchTroopDropName(21), MatchSidesDrop(21), MatchTroopWaveNb(21), 1, MatchSlotsPerEdge(21)]] Else -Local $listInfoDeploy[22][5] = [[$eGole, $nbSides, 1, 1, 2] , [$eLava, $nbSides, 1, 1, 2] , [$eGiant, $nbSides, 1, 1, $g_iSlotsGiants] , [$eDrag, $nbSides, 1, 1, 0] , ["CC", 1, 1, 1, 1] , [$eBall, $nbSides, 1, 1, 0] , [$eBabyD, $nbSides, 1, 1, 0] , [$eHogs, $nbSides, 1, 1, 1] , [$eValk, $nbSides, 1, 1, 0] , [$eBowl, $nbSides, 1, 1, 0] , [$eMine, $nbSides, 1, 1, 0] , [$eEDrag, $nbSides, 1, 1, 0] , [$eBarb, $nbSides, 1, 1, 0] , [$eWall, $nbSides, 1, 1, 1] , [$eArch, $nbSides, 1, 1, 0] , [$eWiza, $nbSides, 1, 1, 0] , [$eMini, $nbSides, 1, 1, 0] , [$eWitc, $nbSides, 1, 1, 1] , [$eGobl, $nbSides, 1, 1, 0] , [$eHeal, $nbSides, 1, 1, 1] , [$ePekk, $nbSides, 1, 1, 1] , ["HEROES", 1, 2, 1, 1] ] +Local $listInfoDeploy[23][5] = [[$eGole, $nbSides, 1, 1, 2] , [$eLava, $nbSides, 1, 1, 2] , [$eGiant, $nbSides, 1, 1, $g_iSlotsGiants] , [$eDrag, $nbSides, 1, 1, 0] , ["CC", 1, 1, 1, 1] , [$eBall, $nbSides, 1, 1, 0] , [$eBabyD, $nbSides, 1, 1, 0] , [$eHogs, $nbSides, 1, 1, 1] , [$eValk, $nbSides, 1, 1, 0] , [$eBowl, $nbSides, 1, 1, 0] , [$eIceG, $nbSides, 1, 1, 0] , [$eMine, $nbSides, 1, 1, 0] , [$eEDrag, $nbSides, 1, 1, 0] , [$eBarb, $nbSides, 1, 1, 0] , [$eWall, $nbSides, 1, 1, 1] , [$eArch, $nbSides, 1, 1, 0] , [$eWiza, $nbSides, 1, 1, 0] , [$eMini, $nbSides, 1, 1, 0] , [$eWitc, $nbSides, 1, 1, 1] , [$eGobl, $nbSides, 1, 1, 0] , [$eHeal, $nbSides, 1, 1, 1] , [$ePekk, $nbSides, 1, 1, 1] , ["HEROES", 1, 2, 1, 1] ] EndIf Case 1 Local $listInfoDeploy[6][5] = [[$eBarb, $nbSides, 1, 1, 0] , [$eArch, $nbSides, 1, 1, 0] , [$eGobl, $nbSides, 1, 1, 0] , [$eMini, $nbSides, 1, 1, 0] , ["CC", 1, 1, 1, 1] , ["HEROES", 1, 2, 1, 1] ] @@ -30986,7 +31118,7 @@ If PrepareAttack($g_iMatchMode, True) = 0 Then If $g_bDebugSetlog Then SetDebugLog("No Wast time... exit, no troops usable left", $COLOR_DEBUG) ExitLoop EndIf -For $i = $eBarb To $eBowl +For $i = $eBarb To $eIceG If LaunchTroop($i, $nbSides, 1, 1, 1) Then CheckHeroesHealth() If _Sleep($DELAYALGORITHM_ALLTROOPS5) Then Return @@ -31002,7 +31134,7 @@ $g_iQueenSlot = -1 $g_iClanCastleSlot = -1 $g_iWardenSlot = -1 For $i = 0 To UBound($g_avAttackTroops) - 1 -If $g_avAttackTroops[$i][0] = $eCastle Or $g_avAttackTroops[$i][0] = $eWallW Or $g_avAttackTroops[$i][0] = $eBattleB Then +If $g_avAttackTroops[$i][0] = $eCastle Or $g_avAttackTroops[$i][0] = $eWallW Or $g_avAttackTroops[$i][0] = $eBattleB Or $g_avAttackTroops[$i][0] = $eStoneS Then $g_iClanCastleSlot = $i ElseIf $g_avAttackTroops[$i][0] = $eKing Then $g_iKingSlot = $i @@ -31151,7 +31283,7 @@ EndIf EndIf EndIf EndIf -If $troopKind >= $eBarb And $troopKind <= $eBowl Then +If $troopKind >= $eBarb And $troopKind <= $eIceG Then $troopNb = $iNbOfSpots * $iAtEachSpot If $troopNb > 1 Then $plural = 1 $name = NameOfTroop($troopKind, $plural) @@ -31168,7 +31300,7 @@ EndIf SelectDropTroop($THtroop) If _Sleep($DELAYCASTSPELL1) Then Return DeployTHNormal($iAtEachSpot, $iNbOfSpots) -If $troopKind >= $eBarb And $troopKind <= $eBowl Then +If $troopKind >= $eBarb And $troopKind <= $eIceG Then If $TroopCountBeg <> Number(ReadTroopQuantity($THtroop)) Then $NumTroopDeployed = $TroopCountBeg - Number(ReadTroopQuantity($THtroop)) SetLog("Deployment of " & $NumTroopDeployed & " " & $name & " was Successful!") @@ -31354,7 +31486,7 @@ Case $command = "TROOP" Or $command = "" Case $command = "TEXT" If $g_bDebugSetlog Then SetDebugLog(">> SETLOG(""" & $acommand[8] & """)") SetLog($acommand[8], $COLOR_INFO) -Case StringInStr(StringUpper("-Barb-Arch-Giant-Gobl-Wall-Ball-Wiza-Heal-Drag-Pekk-BabyD-Mine-EDrag-Mini-Hogs-Valk-Gole-Witc-Lava-Bowl"), "-" & $command & "-") > 0 +Case StringInStr(StringUpper("-Barb-Arch-Giant-Gobl-Wall-Ball-Wiza-Heal-Drag-Pekk-BabyD-Mine-EDrag-Mini-Hogs-Valk-Gole-Witc-Lava-Bowl-IceG"), "-" & $command & "-") > 0 If $g_bDebugSetlog Then SetDebugLog(">> AttackTHGrid($e" & $command & ", Random (" & Int($acommand[2]) & "," & Int($acommand[3]) & ",1), Random(" & Int($acommand[4]) & "," & Int($acommand[5]) & ",1), Random(" & Int($acommand[6]) & "," & Int($acommand[7]) & ",1) )") Local $iNbOfSpots If Int($acommand[2]) = Int($acommand[3]) Then @@ -32354,7 +32486,7 @@ SetDebugLog("Giants : " & $GiantComp & " , per side: " &($GiantComp / $nbSides) If $g_bCustomDropOrderEnable Then Local $listInfoDeploy[22][5] = [[MatchTroopDropName(0), $nbSides, MatchTroopWaveNb(0), 1, MatchSlotsPerEdge(0)], [MatchTroopDropName(1), $nbSides, MatchTroopWaveNb(1), 1, MatchSlotsPerEdge(1)], [MatchTroopDropName(2), $nbSides, MatchTroopWaveNb(2), 1, MatchSlotsPerEdge(2)], [MatchTroopDropName(3), $nbSides, MatchTroopWaveNb(3), 1, MatchSlotsPerEdge(3)], [MatchTroopDropName(4), $nbSides, MatchTroopWaveNb(4), 1, MatchSlotsPerEdge(4)], [MatchTroopDropName(5), $nbSides, MatchTroopWaveNb(5), 1, MatchSlotsPerEdge(5)], [MatchTroopDropName(6), $nbSides, MatchTroopWaveNb(6), 1, MatchSlotsPerEdge(6)], [MatchTroopDropName(7), $nbSides, MatchTroopWaveNb(7), 1, MatchSlotsPerEdge(7)], [MatchTroopDropName(8), $nbSides, MatchTroopWaveNb(8), 1, MatchSlotsPerEdge(8)], [MatchTroopDropName(9), $nbSides, MatchTroopWaveNb(9), 1, MatchSlotsPerEdge(9)], [MatchTroopDropName(10), $nbSides, MatchTroopWaveNb(10), 1, MatchSlotsPerEdge(10)], [MatchTroopDropName(11), $nbSides, MatchTroopWaveNb(11), 1, MatchSlotsPerEdge(11)], [MatchTroopDropName(12), $nbSides, MatchTroopWaveNb(12), 1, MatchSlotsPerEdge(12)], [MatchTroopDropName(13), $nbSides, MatchTroopWaveNb(13), 1, MatchSlotsPerEdge(13)], [MatchTroopDropName(14), $nbSides, MatchTroopWaveNb(14), 1, MatchSlotsPerEdge(14)], [MatchTroopDropName(15), $nbSides, MatchTroopWaveNb(15), 1, MatchSlotsPerEdge(15)], [MatchTroopDropName(16), $nbSides, MatchTroopWaveNb(16), 1, MatchSlotsPerEdge(16)], [MatchTroopDropName(17), $nbSides, MatchTroopWaveNb(17), 1, MatchSlotsPerEdge(17)], [MatchTroopDropName(18), $nbSides, MatchTroopWaveNb(18), 1, MatchSlotsPerEdge(18)], [MatchTroopDropName(19), $nbSides, MatchTroopWaveNb(19), 1, MatchSlotsPerEdge(19)], [MatchTroopDropName(20), $nbSides, MatchTroopWaveNb(20), 1, MatchSlotsPerEdge(20)], [MatchTroopDropName(21), $nbSides, MatchTroopWaveNb(21), 1, MatchSlotsPerEdge(21)]] Else -Local $listInfoDeploy[22][5] = [[$eGole, $nbSides, 1, 1, 2] , [$eLava, $nbSides, 1, 1, 2] , [$eGiant, $nbSides, 1, 1, $g_iSlotsGiants] , [$eDrag, $nbSides, 1, 1, 0] , ["CC", 1, 1, 1, 1] , [$eBall, $nbSides, 1, 1, 0] , [$eBabyD, $nbSides, 1, 1, 0] , [$eHogs, $nbSides, 1, 1, 1] , [$eValk, $nbSides, 1, 1, 0] , [$eBowl, $nbSides, 1, 1, 0] , [$eMine, $nbSides, 1, 1, 0] , [$eEDrag, $nbSides, 1, 1, 0] , [$eWall, $nbSides, 1, 1, 1] , [$eBarb, $nbSides, 1, 1, 0] , [$eArch, $nbSides, 1, 1, 0] , [$eWiza, $nbSides, 1, 1, 0] , [$eMini, $nbSides, 1, 1, 0] , [$eWitc, $nbSides, 1, 1, 1] , [$eGobl, $nbSides, 1, 1, 0] , [$eHeal, $nbSides, 1, 1, 1] , [$ePekk, $nbSides, 1, 1, 1] , ["HEROES", 1, 2, 1, 1] ] +Local $listInfoDeploy[23][5] = [[$eGole, $nbSides, 1, 1, 2] , [$eLava, $nbSides, 1, 1, 2] , [$eGiant, $nbSides, 1, 1, $g_iSlotsGiants] , [$eDrag, $nbSides, 1, 1, 0] , ["CC", 1, 1, 1, 1] , [$eBall, $nbSides, 1, 1, 0] , [$eBabyD, $nbSides, 1, 1, 0] , [$eHogs, $nbSides, 1, 1, 1] , [$eValk, $nbSides, 1, 1, 0] , [$eBowl, $nbSides, 1, 1, 0] , [$eIceG, $nbSides, 1, 1, 0] , [$eMine, $nbSides, 1, 1, 0] , [$eEDrag, $nbSides, 1, 1, 0] , [$eWall, $nbSides, 1, 1, 1] , [$eBarb, $nbSides, 1, 1, 0] , [$eArch, $nbSides, 1, 1, 0] , [$eWiza, $nbSides, 1, 1, 0] , [$eMini, $nbSides, 1, 1, 0] , [$eWitc, $nbSides, 1, 1, 1] , [$eGobl, $nbSides, 1, 1, 0] , [$eHeal, $nbSides, 1, 1, 1] , [$ePekk, $nbSides, 1, 1, 1] , ["HEROES", 1, 2, 1, 1] ] EndIf $g_bIsCCDropped = False $g_aiDeployCCPosition[0] = -1 @@ -32372,7 +32504,7 @@ If PrepareAttack($g_iMatchMode, True) = 0 Then If $g_bDebugSetlog Then SetDebugLog("No Wast time... exit, no troops usable left", $COLOR_DEBUG) ExitLoop EndIf -For $i = $eBarb To $eBowl +For $i = $eBarb To $eIceG If LaunchTroop($i, $nbSides, 1, 1, 1) Then CheckHeroesHealth() If _Sleep($DELAYALGORITHM_ALLTROOPS5) Then Return @@ -32464,7 +32596,7 @@ $pixelRandomDropcc[0] = $g_aaiBottomRightDropPoints[2][0] $pixelRandomDropcc[1] = $g_aaiBottomRightDropPoints[2][1] If $g_bDebugSetlog Then SetDebugLog("Deploy CC $g_aaiBottomRightDropPoints") EndIf -If($g_bIsCCDropped = False And $infoTroopListArrPixel[0] = "CC") Then +If($g_bIsCCDropped = False And $infoTroopListArrPixel[0] = "CC" And $i = $numberSidesDropTroop - 1) Then dropCC($pixelRandomDropcc[0], $pixelRandomDropcc[1], $iCC) $g_bIsCCDropped = True ElseIf($g_bIsHeroesDropped = False And $infoTroopListArrPixel[0] = "HEROES" And $i = $numberSidesDropTroop - 1) Then @@ -33026,6 +33158,8 @@ Case $eHaSpell If $g_abAttackUseHasteSpell[$g_iMatchMode] = False Then $usespell = False Case $eSkSpell If $g_abAttackUseSkeletonSpell[$g_iMatchMode] = False Then $usespell = False +Case $eBtSpell +If $g_abAttackUseBatSpell[$g_iMatchMode] = False Then $usespell = False EndSwitch If $troopPosition = -1 Or $usespell = False Then If $usespell = True Then @@ -33070,7 +33204,7 @@ Else Local $delayPoint = $delayPointmin EndIf Switch $iTroopIndex -Case $eBarb To $eBowl +Case $eBarb To $eIceG If $debug = True Then SetLog("AttackClick( " & $pixel[0] & ", " & $pixel[1] & " , " & $qty2 & ", " & $delayPoint & ",#0666)") Else @@ -33094,13 +33228,13 @@ SetLog("dropHeroes(" & $pixel[0] & ", " & $pixel[1] & ", -1, -1," & $troopPositi Else dropHeroes($pixel[0], $pixel[1], -1, -1, $troopPosition) EndIf -Case $eCastle, $eWallW, $eBattleB +Case $eCastle, $eWallW, $eBattleB, $eStoneS If $debug = True Then SetLog("dropCC(" & $pixel[0] & ", " & $pixel[1] & ", " & $troopPosition & ")") Else dropCC($pixel[0], $pixel[1], $troopPosition) EndIf -Case $eLSpell To $eSkSpell +Case $eLSpell To $eBtSpell If $debug = True Then SetLog("Drop Spell AttackClick( " & $pixel[0] & ", " & $pixel[1] & " , " & $qty2 & ", " & $delayPoint & ",#0666)") Else @@ -34510,10 +34644,10 @@ If $asCommand[$iTHCol] <> "0" Then SetLog("CSV troop amount/setting '" & $asComm ContinueLoop EndIf Switch $iTroopIndex -Case $eBarb To $eBowl +Case $eBarb To $eIceG $aiCSVTroops[$iTroopIndex] = int($asCommand[$iTHCol]) If int($asCommand[$iFlexCol]) > 0 Then $iFlexTroopIndex = $iTroopIndex -Case $eLSpell To $eSkSpell +Case $eLSpell To $eBtSpell $aiCSVSpells[$iTroopIndex - $eLSpell] = int($asCommand[$iTHCol]) Case $eKing To $eWarden Local $iHeroRadioItem = int(StringLeft($asCommand[$iTHCol], 1)) @@ -37013,9 +37147,9 @@ SetDebugLog("CheckHeroesHealth() for Queen started ") If _Sleep($DELAYRESPOND) Then Return EndIf If $g_iActivateQueen = 0 Or $g_iActivateQueen = 2 Then -Local $aQueenHealthCopy = $aQueenHealth -$aQueenHealthCopy[0] = GetXPosOfArmySlot($TempQueenSlot, 68) + 3 If $g_bCheckQueenPower Then +Local $aQueenHealthCopy = $aQueenHealth +$aQueenHealthCopy[0] = GetXPosOfArmySlot($TempQueenSlot, 68) + $aQueenHealthCopy[4] Local $QueenPixelColor = _GetPixelColor($aQueenHealthCopy[0], $aQueenHealthCopy[1], $g_bCapturePixel) If $g_bDebugSetlog Then SetDebugLog(" Queen _GetPixelColor(" & $aQueenHealthCopy[0] & "," & $aQueenHealthCopy[1] & "): " & $QueenPixelColor, $COLOR_DEBUG) If Not _CheckPixel2($aQueenHealthCopy, $QueenPixelColor, "Red+Blue") Then @@ -37045,9 +37179,9 @@ SetDebugLog("CheckHeroesHealth() for King started ") If _Sleep($DELAYRESPOND) Then Return EndIf If $g_iActivateKing = 0 Or $g_iActivateKing = 2 Then -Local $aKingHealthCopy = $aKingHealth -$aKingHealthCopy[0] = GetXPosOfArmySlot($TempKingSlot, 68) + 2 If $g_bCheckKingPower Then +Local $aKingHealthCopy = $aKingHealth +$aKingHealthCopy[0] = GetXPosOfArmySlot($TempKingSlot, 68) + $aKingHealthCopy[4] Local $KingPixelColor = _GetPixelColor($aKingHealthCopy[0], $aKingHealthCopy[1], $g_bCapturePixel) If $g_bDebugSetlog Then SetDebugLog(" King _GetPixelColor(" & $aKingHealthCopy[0] & "," & $aKingHealthCopy[1] & "): " & $KingPixelColor, $COLOR_DEBUG) If Not _CheckPixel2($aKingHealthCopy, $KingPixelColor, "Red+Blue") Then @@ -37077,9 +37211,9 @@ SetDebugLog("CheckHeroesHealth() for Warden started ") If _Sleep($DELAYRESPOND) Then Return EndIf If $g_iActivateWarden = 0 Or $g_iActivateWarden = 2 Then -Local $aWardenHealthCopy = $aWardenHealth -$aWardenHealthCopy[0] = GetXPosOfArmySlot($TempWardenSlot, 68) If $g_bCheckWardenPower Then +Local $aWardenHealthCopy = $aWardenHealth +$aWardenHealthCopy[0] = GetXPosOfArmySlot($TempWardenSlot, 68) + $aWardenHealthCopy[4] Local $WardenPixelColor = _GetPixelColor($aWardenHealthCopy[0], $aWardenHealthCopy[1], $g_bCapturePixel) If $g_bDebugSetlog Then SetDebugLog(" Grand Warden _GetPixelColor(" & $aWardenHealthCopy[0] & "," & $aWardenHealthCopy[1] & "): " & $WardenPixelColor, $COLOR_DEBUG) If Not _CheckPixel2($aWardenHealthCopy, $WardenPixelColor, "Red+Blue") Then @@ -37446,22 +37580,10 @@ Func MatchTroopWaveNb($Num) Return 1 EndFunc Func GetXPosOfArmySlot($slotNumber, $xOffsetFor11Slot) -Local $CheckSlot12, $SlotPixelColorTemp, $SlotPixelColor1 -$xOffsetFor11Slot -= 8 -Local $SlotComp =($slotNumber = 7 ? 1 : 0) -If $slotNumber = $g_iKingSlot Or $slotNumber = $g_iQueenSlot Or $slotNumber = $g_iWardenSlot Then $xOffsetFor11Slot += 8 -If $g_bDraggedAttackBar Then Return $xOffsetFor11Slot + $SlotComp +($slotNumber * 72) + 14 -$CheckSlot12 = _ColorCheck(_GetPixelColor(17, 643, True), Hex(0x478AC6, 6), 15) Or _ColorCheck(_GetPixelColor(17, 643, True), Hex(0x434343, 6), 10) -If $g_bDebugSetlog Then -SetDebugLog(" Slot 0 _ColorCheck 0x478AC6 at (17," & 643 & "): " & $CheckSlot12, $COLOR_DEBUG) -$SlotPixelColorTemp = _GetPixelColor(17, 643, $g_bCapturePixel) -SetDebugLog(" Slot 0 _GetPixelColo(17," & 643 & "): " & $SlotPixelColorTemp, $COLOR_DEBUG) -EndIf -If Not $CheckSlot12 Then -Return $xOffsetFor11Slot + $SlotComp +($slotNumber * 72) -Else -Return $xOffsetFor11Slot + $SlotComp +($slotNumber * 72) - 13 +If $slotNumber < 0 Or $slotNumber + 1 > UBound($g_avAttackTroops) Then +Return 0 EndIf +Return $g_avAttackTroops[$slotNumber][2] EndFunc Func GetSlotIndexFromXPos($xPos) For $slot = 0 To 11 @@ -37753,6 +37875,8 @@ Case $eLava $sTroopname = "Lava Hound" Case $eBowl $sTroopname = "Bowler" +Case $eIceG +$sTroopname = "Ice Golem" Case $eKing $sTroopname = "King" $iPlural = 0 @@ -37785,10 +37909,14 @@ Case $eHaSpell $sTroopname = "Haste Spell" Case $eSkSpell $sTroopname = "Skeleton Spell" +Case $eBtSpell +$sTroopname = "Bat Spell" Case $eWallW $sTroopname = "Wall Wrecker" Case $eBattleB $sTroopname = "Battle Blimp" +Case $eStoneS +$sTroopname = "Stone Slammer" Case Else Return "" EndSwitch @@ -38859,7 +38987,7 @@ If $g_bDebugSetlogTrain Or $g_bDebugSetlog Then SetLog("Begin SmartWait4Train:", If Not $g_bCloseWhileTrainingEnable Then Return Local $iExitCount = 0 If _Sleep($DELAYSMARTWAIT) Then Return -While IsMainPage(1) = False +While IsMainPage(2) = False If _Sleep($DELAYIDLE1) Then Return $iExitCount += 1 If $iExitCount > 25 Then @@ -39706,6 +39834,9 @@ $aVal = $g_abAttackUseHasteSpell Case $eSkSpell $sSpell = "Skeleton" $aVal = $g_abAttackUseSkeletonSpell +Case $eBtSpell +$sSpell = "Bat" +$aVal = $g_abAttackUseBatSpell EndSwitch If IsArray($aVal) Then Return $aVal[$Mode] Return False @@ -39757,7 +39888,7 @@ Return False EndFunc Func IsDarkTroop($Troop) Local $iIndex = TroopIndexLookup($Troop, "IsDarkTroop") -If $iIndex >= $eMini And $iIndex <= $eBowl Then Return True +If $iIndex >= $eMini And $iIndex <= $eIceG Then Return True Return False EndFunc Func IsElixirSpell($Spell) @@ -39767,22 +39898,22 @@ Return False EndFunc Func IsDarkSpell($Spell) Local $iIndex = TroopIndexLookup($Spell, "IsDarkSpell") -If $iIndex >= $ePSpell And $iIndex <= $eSkSpell Then Return True +If $iIndex >= $ePSpell And $iIndex <= $eBtSpell Then Return True Return False EndFunc Func IsSpellToBrew($sName) Local $iIndex = TroopIndexLookup($sName, "IsSpellToBrew") -If $iIndex >= $eLSpell And $iIndex <= $eSkSpell Then Return True +If $iIndex >= $eLSpell And $iIndex <= $eBtSpell Then Return True Return False EndFunc Func CalcNeededSpace($Troop, $Quantity) If Not $g_bRunState Then Return -1 Local $iIndex = TroopIndexLookup($Troop, "CalcNeededSpace") If $iIndex = -1 Then Return -1 -If $iIndex >= $eBarb And $iIndex <= $eBowl Then +If $iIndex >= $eBarb And $iIndex <= $eIceG Then Return Number($g_aiTroopSpace[$iIndex] * $Quantity) EndIf -If $iIndex >= $eLSpell And $iIndex <= $eSkSpell Then +If $iIndex >= $eLSpell And $iIndex <= $eBtSpell Then Return Number($g_aiSpellSpace[$iIndex - $eLSpell] * $Quantity) EndIf Return -1 @@ -39839,11 +39970,12 @@ SetLog(" - " & $g_asSpellNames[TroopIndexLookup($toRemove[$i][0]) - $eLSpell] & Next EndIf EndIf -If Not _ColorCheck(_GetPixelColor(806, 516, True), Hex(0xCEEF76, 6), 25) Then +If Not _CheckPixel($aButtonEditArmy, True) Then SetLog("Cannot find/verify 'Edit Army' Button in Army tab", $COLOR_WARNING) Return False EndIf -Click(Random(725, 825, 1), Random(507, 545, 1)) +ClickP($aButtonEditArmy, 1) +If _Sleep(500) Then Return $CounterToRemove = 0 For $j = 0 To(UBound($toRemove) - 1) If IsSpellToBrew($toRemove[$j][0]) Then ExitLoop @@ -39865,28 +39997,27 @@ EndIf Next Next EndIf -If _Sleep(150) Then Return -If Not _ColorCheck(_GetPixelColor(806, 567, True), Hex(0xCEEF76, 6), 25) Then +If _Sleep(500) Then Return +If Not _CheckPixel($aButtonRemoveTroopsOK1, True) Then SetLog("Cannot find/verify 'Okay' Button in Army tab", $COLOR_WARNING) ClickP($aAway, 2, 0, "#0346") If _Sleep(400) Then OpenArmyOverview(True, "RemoveExtraTroops()") Return False EndIf -If _Sleep(700) Then Return If Not $g_bRunState Then Return -Click(Random(730, 815, 1), Random(558, 589, 1)) +ClickP($aButtonRemoveTroopsOK1, 1) If _Sleep(1200) Then Return -If Not _ColorCheck(_GetPixelColor(508, 428, True), Hex(0xFFFFFF, 6), 30) Then +If Not _CheckPixel($aButtonRemoveTroopsOK2, True) Then SetLog("Cannot find/verify 'Okay #2' Button in Army tab", $COLOR_WARNING) ClickP($aAway, 2, 0, "#0346") Return False EndIf -Click(Random(445, 580, 1), Random(402, 455, 1)) +ClickP($aButtonRemoveTroopsOK2, 1) SetLog("All Extra troops removed", $COLOR_SUCCESS) If _Sleep(200) Then Return If $iResult = 0 Then $iResult = 1 Else -SetLog("No extra troop to remove, Great", $COLOR_SUCCESS) +SetLog("No extra troop to remove, great", $COLOR_SUCCESS) $iResult = 3 EndIf Return $iResult @@ -40018,7 +40149,7 @@ EndFunc Func GetSlotNumber($bSpells = False) Select Case $bSpells = False -Local Const $Orders[20] = [$eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, $eMini, $eHogs, $eValk, $eGole, $eWitc, $eLava, $eBowl] +Local Const $Orders = [$eBarb, $eArch, $eGiant, $eGobl, $eWall, $eBall, $eWiza, $eHeal, $eDrag, $ePekk, $eBabyD, $eMine, $eEDrag, $eMini, $eHogs, $eValk, $eGole, $eWitc, $eLava, $eBowl, $eIceG] Local $allCurTroops[UBound($Orders)] For $i = 0 To $eTroopCount - 1 If Not $g_bRunState Then Return @@ -40033,7 +40164,7 @@ Next _ArryRemoveBlanks($allCurTroops) Return $allCurTroops Case $bSpells = True -Local Const $SpellsOrders[10] = [$eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell] +Local Const $SpellsOrders = [$eLSpell, $eHSpell, $eRSpell, $eJSpell, $eFSpell, $eCSpell, $ePSpell, $eESpell, $eHaSpell, $eSkSpell, $eBtSpell] Local $allCurSpells[UBound($SpellsOrders)] For $i = 0 To $eSpellCount - 1 If Not $g_bRunState Then Return @@ -40222,8 +40353,13 @@ Local $aQueueTroop[$eTroopCount] For $i = 0 To(UBound($aQuantities) - 1) $aQuantities[$i][0] = $aSearchResult[$i][0] $aQuantities[$i][1] = $aSearchResult[$i][3] +Local $iTroopIndex = TroopIndexLookup($aQuantities[$i][0]) +If $iTroopIndex >= 0 And $iTroopIndex < $eTroopCount Then If $bSetLog Then SetLog(" - " & $g_asTroopNames[TroopIndexLookup($aQuantities[$i][0], "CheckQueueTroops")] & ": " & $aQuantities[$i][1] & "x", $COLOR_SUCCESS) -$aQueueTroop[TroopIndexLookup($aQuantities[$i][0])] += $aQuantities[$i][1] +$aQueueTroop[$iTroopIndex] += $aQuantities[$i][1] +Else +SetDebugLog("Unsupport troop index: " & $iTroopIndex) +EndIf Next If $bQtyWSlot Then Return $aQuantities Return $aQueueTroop @@ -40231,7 +40367,7 @@ EndIf _ArrayReverse($aResult) Return $aResult EndFunc -Func CheckQueueSpells($bGetQuantity = True, $bSetLog = True, $x = 835, $bQtyWSlot = False) +Func CheckQueueSpells($bGetQuantity = True, $bSetLog = True, $x = 839, $bQtyWSlot = False) Local $aResult[1] = [""], $sImageDir = "trainwindow-SpellsInQueue-bundle" If $bSetLog Then SetLog("Checking Spells Queue...", $COLOR_INFO) Local $aSearchResult = SearchArmy($sImageDir, 18, 215, $x, 230, $bGetQuantity ? "Queue" : "") @@ -40565,7 +40701,11 @@ If Not $g_bRunState Then Return If $g_aiDonateSiegeMachines[$iSiegeIndex] > 0 Then Local $aCheckIsAvailableSiege[4] = [58, 556, 0x47717E, 10] Local $aCheckIsAvailableSiege1[4] = [229, 556, 0x47717E, 10] -Local $checkPixel = $iSiegeIndex = $eSiegeWallWrecker ? $aCheckIsAvailableSiege : $aCheckIsAvailableSiege1 +Local $aCheckIsAvailableSiege2[4] = [400, 556, 0x47717E, 10] +Local $checkPixel +If $iSiegeIndex = $eSiegeWallWrecker Then $checkPixel = $aCheckIsAvailableSiege +If $iSiegeIndex = $eSiegeBattleBlimp Then $checkPixel = $aCheckIsAvailableSiege1 +If $iSiegeIndex = $eSiegeStoneSlammer Then $checkPixel = $aCheckIsAvailableSiege2 Local $HowMany = $g_aiDonateSiegeMachines[$iSiegeIndex] If _CheckPixel($checkPixel, True, Default, $g_asSiegeMachineNames[$iSiegeIndex]) Then If _Sleep($DELAYRESPOND) Then Return @@ -40707,9 +40847,9 @@ $g_bDebugOcr = $bLocalDebugOCR EndIf Local $troopCost = 0 Local $iTroopIndex = TroopIndexLookup($Troop, "CheckValuesCost") -If $iTroopIndex >= $eBarb And $iTroopIndex <= $eBowl Then +If $iTroopIndex >= $eBarb And $iTroopIndex <= $eIceG Then $troopCost = $g_aiTroopCostPerLevel[$iTroopIndex][$g_aiTrainArmyTroopLevel[$iTroopIndex]] -ElseIf $iTroopIndex >= $eLSpell And $iTroopIndex <= $eSkSpell Then +ElseIf $iTroopIndex >= $eLSpell And $iTroopIndex <= $eBtSpell Then $troopCost = $g_aiSpellCostPerLevel[$iTroopIndex - $eLSpell][$g_aiTrainArmySpellLevel[$iTroopIndex - $eLSpell]] EndIf If $g_bDebugSetlogTrain Or $DebugLogs Then SetLog("Individual Cost " & $Troop & "= " & $troopCost) @@ -40765,7 +40905,8 @@ Local $aCheckIsOccupied[4] = [822, 206, 0xE00D0D, 10] Local $aCheckIsFilled[4] = [802, 186, 0xD7AFA9, 10] Local $aCheckIsAvailableSiege[4] = [58, 556, 0x47717E, 10] Local $aCheckIsAvailableSiege1[4] = [229, 556, 0x47717E, 10] -Local $TextToUse = ["Clan Castle", $g_asSiegeMachineNames[0], $g_asSiegeMachineNames[1]] +Local $aCheckIsAvailableSiege2[4] = [400, 556, 0x47717E, 10] +Local $TextToUse = ["Clan Castle", $g_asSiegeMachineNames[0], $g_asSiegeMachineNames[1], $g_asSiegeMachineNames[2]] If $g_bDebugSetlogTrain Then For $iSiegeIndex = $eSiegeWallWrecker To $eSiegeMachineCount - 1 SetDebugLog("-- " & $g_asSiegeMachineNames[$iSiegeIndex] & " --") @@ -40779,7 +40920,10 @@ If $g_bIsFullArmywithHeroesAndSpells And($g_iCommandStop = 3 Or $g_iCommandStop If $g_bIsFullArmywithHeroesAndSpells And Not _CheckPixel($aCheckIsFilled, True, Default, "Siege is Filled") And Not _CheckPixel($aCheckIsOccupied, True, Default, "Siege is Queued") Then For $iSiegeIndex = $eSiegeWallWrecker To $eSiegeMachineCount - 1 If $g_aiArmyCompSiegeMachine[$iSiegeIndex] = 0 Then ContinueLoop -Local $checkPixel = $iSiegeIndex = $eSiegeWallWrecker ? $aCheckIsAvailableSiege : $aCheckIsAvailableSiege1 +Local $checkPixel +If $iSiegeIndex = $eSiegeWallWrecker Then $checkPixel = $aCheckIsAvailableSiege +If $iSiegeIndex = $eSiegeBattleBlimp Then $checkPixel = $aCheckIsAvailableSiege1 +If $iSiegeIndex = $eSiegeStoneSlammer Then $checkPixel = $aCheckIsAvailableSiege2 If _CheckPixel($checkPixel, True, Default, $g_asSiegeMachineNames[$iSiegeIndex]) Then If($g_aiAttackUseSiege[$DB] = $iSiegeIndex + 1 Or $g_aiAttackUseSiege[$LB] = $iSiegeIndex + 1) And $g_aiCurrentCCSiegeMachines[$iSiegeIndex] = 0 Then PureClick($checkPixel[0], $checkPixel[1], $g_aiArmyCompSiegeMachine[$iSiegeIndex], $g_iTrainClickDelay) @@ -40815,7 +40959,10 @@ For $iSiegeIndex = $eSiegeWallWrecker To $eSiegeMachineCount - 1 If $g_aiArmyCompSiegeMachine[$iSiegeIndex] = 0 Then ContinueLoop If $g_aiCurrentSiegeMachines[$iSiegeIndex] < $g_aiArmyCompSiegeMachine[$iSiegeIndex] Then Local $HowMany = $g_aiArmyCompSiegeMachine[$iSiegeIndex] - $g_aiCurrentSiegeMachines[$iSiegeIndex] -Local $checkPixel = $iSiegeIndex = $eSiegeWallWrecker ? $aCheckIsAvailableSiege : $aCheckIsAvailableSiege1 +Local $checkPixel +If $iSiegeIndex = $eSiegeWallWrecker Then $checkPixel = $aCheckIsAvailableSiege +If $iSiegeIndex = $eSiegeBattleBlimp Then $checkPixel = $aCheckIsAvailableSiege1 +If $iSiegeIndex = $eSiegeStoneSlammer Then $checkPixel = $aCheckIsAvailableSiege2 If _CheckPixel($checkPixel, True, Default, $g_asSiegeMachineNames[$iSiegeIndex]) Then PureClick($checkPixel[0], $checkPixel[1], $HowMany, $g_iTrainClickDelay) Local $sSiegeName = $HowMany >= 2 ? $g_asSiegeMachineNames[$iSiegeIndex] & "s" : $g_asSiegeMachineNames[$iSiegeIndex] & "" @@ -40828,7 +40975,7 @@ EndIf EndFunc Func TrainIt($iIndex, $iQuantity = 1, $iSleep = 400) If $g_bDebugSetlogTrain Then SetLog("Func TrainIt $iIndex=" & $iIndex & " $howMuch=" & $iQuantity & " $iSleep=" & $iSleep, $COLOR_DEBUG) -Local $bDark =($iIndex >= $eMini And $iIndex <= $eBowl) +Local $bDark =($iIndex >= $eMini And $iIndex <= $eIceG) Local $iErrors = 0 For $i = 1 To 5 Local $aTrainPos = GetTrainPos($iIndex) @@ -40893,7 +41040,7 @@ Local $aTrainPos = $aTrainArmy[$iIndex] If $aTrainPos[0] <> -1 Then Return $aTrainPos Else -If $iIndex >= $eBarb And $iIndex <= $eBowl Then +If $iIndex >= $eBarb And $iIndex <= $eIceG Then Local $sFilter = String($g_asTroopShortNames[$iIndex]) & "*" Local $asImageToUse = _FileListToArray($g_sImgTrainTroops, $sFilter, $FLTA_FILES, True) If $g_bDebugSetlogTrain Then SetLog("$asImageToUse Troops: " & $asImageToUse[1]) @@ -40901,7 +41048,7 @@ $aTrainPos = GetVariable($asImageToUse[1], $iIndex) $aTrainArmy[$iIndex] = $aTrainPos Return $aTrainPos EndIf -If $iIndex >= $eLSpell And $iIndex <= $eSkSpell Then +If $iIndex >= $eLSpell And $iIndex <= $eBtSpell Then Local $sFilter = String($g_asSpellShortNames[$iIndex - $eLSpell]) & "*" Local $asImageToUse = _FileListToArray($g_sImgTrainSpells, $sFilter, $FLTA_FILES, True) If $g_bDebugSetlogTrain Then SetLog("$asImageToUse Spell: " & $asImageToUse[1]) @@ -40914,11 +41061,11 @@ Return 0 EndFunc Func GetFullName(Const $iIndex, Const $aTrainPos) If $g_bDebugSetlogTrain Then SetLog("GetFullName($iIndex=" & $iIndex & ")", $COLOR_DEBUG) -If $iIndex >= $eBarb And $iIndex <= $eBowl Then +If $iIndex >= $eBarb And $iIndex <= $eIceG Then Local $sTroopType =($iIndex >= $eMini ? "Dark" : "Normal") Return GetFullNameSlot($aTrainPos, $sTroopType) EndIf -If $iIndex >= $eLSpell And $iIndex <= $eSkSpell Then +If $iIndex >= $eLSpell And $iIndex <= $eBtSpell Then Return GetFullNameSlot($aTrainPos, "Spell") EndIf SetLog("Don't know how to find the full name of troop with index " & $iIndex & " yet") @@ -41338,7 +41485,7 @@ Func CheckQueueSpellAndTrainRemain($ArmyCamp, $bDebug) If $ArmyCamp[0] = $ArmyCamp[1] * 2 And((ProfileSwitchAccountEnabled() And $g_abAccountNo[$g_iCurAccount] And $g_abDonateOnly[$g_iCurAccount]) Or $g_iCommandStop = 0) Then Return True Local $iTotalQueue = 0 If $bDebug Then SetLog("Checking spell queue: " & $ArmyCamp[0] & "/" & $ArmyCamp[1] * 2, $COLOR_DEBUG) -Local $XQueueStart = 835 +Local $XQueueStart = 839 For $i = 0 To 10 If _ColorCheck(_GetPixelColor(825 - $i * 70, 186, True), Hex(0xD7AFA9, 6), 20) Then $XQueueStart -= 70.5 * $i @@ -41390,7 +41537,7 @@ If Not OpenSiegeMachinesTab(True, "DoubleTrainSiege()") Then Return If _Sleep(500) Then Return Local $checkPixel[4] = [58, 556, 0x47717E, 10] For $i = $eSiegeWallWrecker To $eSiegeMachineCount - 1 -If $i = $eSiegeBattleBlimp Then $checkPixel[0] = 229 +$checkPixel[0] = 58 + $i * 171 If _CheckPixel($checkPixel, True, Default, $g_asSiegeMachineNames[$i]) Then If $g_aiCurrentSiegeMachines[$i] < $g_aiArmyCompSiegeMachine[$i] Then Local $HowMany = $g_aiArmyCompSiegeMachine[$i] - $g_aiCurrentSiegeMachines[$i] @@ -41400,20 +41547,27 @@ If _Sleep(250) Then Return EndIf EndIf Next -If $g_aiArmyCompSiegeMachine[$eSiegeWallWrecker] > 0 And $g_aiArmyCompSiegeMachine[$eSiegeBattleBlimp] > 0 Then -If $bDebug Then SetLog("Army has both types of siege. Double train siege might cause unbalance.", $COLOR_DEBUG) -Else -Local $iSiege = $g_aiArmyCompSiegeMachine[$eSiegeWallWrecker] > 0 ? $eSiegeWallWrecker : $eSiegeBattleBlimp -$checkPixel[0] = 58 + $iSiege * 171 +Local $iTotalSiegeTypeToBuild = 0, $iSiegeType = -1 +For $i = $eSiegeWallWrecker To $eSiegeMachineCount - 1 +If $g_aiArmyCompSiegeMachine[$i] > 0 Then +$iTotalSiegeTypeToBuild += 1 +$iSiegeType = $i +EndIf +If $iTotalSiegeTypeToBuild >= 2 Then ExitLoop +Next +If $iTotalSiegeTypeToBuild >= 2 Then +If $bDebug Then SetLog("Army has more than 1 type of siege. Double train siege might cause unbalance.", $COLOR_DEBUG) +ElseIf $iSiegeType >= $eSiegeWallWrecker And $iSiegeType <= $eSiegeMachineCount - 1 Then +$checkPixel[0] = 58 + $iSiegeType * 171 Local $iTotalMachineBuilt = 0 -For $i = 1 To _Min(Number($g_aiArmyCompSiegeMachine[$iSiege]), 2) -If _CheckPixel($checkPixel, True, Default, $g_asSiegeMachineNames[$iSiege]) Then +For $i = 1 To _Min(Number($g_aiArmyCompSiegeMachine[$iSiegeType]), 3) +If _CheckPixel($checkPixel, True, Default, $g_asSiegeMachineNames[$iSiegeType]) Then PureClick($checkPixel[0], $checkPixel[1], 1, $g_iTrainClickDelay) $iTotalMachineBuilt += 1 If _Sleep(250) Then Return EndIf Next -If $iTotalMachineBuilt > 0 Then Setlog("Build " & $iTotalMachineBuilt & " " & $g_asSiegeMachineNames[$iSiege] &($iTotalMachineBuilt >= 2 ? "s" : ""), $COLOR_SUCCESS) +If $iTotalMachineBuilt > 0 Then Setlog("Build " & $iTotalMachineBuilt & " " & $g_asSiegeMachineNames[$iSiegeType] &($iTotalMachineBuilt >= 2 ? "s" : ""), $COLOR_SUCCESS) EndIf If _Sleep(250) Then Return EndFunc @@ -41569,7 +41723,7 @@ If $g_bDebugFuncTime Then StopWatchStopLog() Local $aTempTroopArray, $aTroopCoords Local $sTroopName = "" Local $iTroopIndex = -1, $iDropTrophyIndex = -1 -Local $aCurrentTroopsEmpty[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Local $aCurrentTroopsEmpty[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Local $aTroopsForTropyDropEmpty[8][2] = [["Barb", 0], ["Arch", 0], ["Giant", 0], ["Wall", 0], ["Gobl", 0], ["Mini", 0], ["Ball", 0], ["Wiza", 0]] Local $aCurrentTroopsLog[$eTroopCount][3] $g_aiCurrentTroops = $aCurrentTroopsEmpty @@ -42012,7 +42166,7 @@ Local $aCurrentSpells = findMultiple(@ScriptDir & "\imgxml\ArmyOverview\Spells", Local $aTempSpellArray, $aSpellCoords Local $sSpellName = "" Local $iSpellIndex = -1 -Local $aCurrentSpellsEmpty[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Local $aCurrentSpellsEmpty[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Local $aCurrentSpellsLog[$eSpellCount][3] $g_aiCurrentSpells = $aCurrentSpellsEmpty If UBound($aCurrentSpells, 1) >= 1 Then @@ -42097,7 +42251,7 @@ Return $iCount EndFunc Func GetCurTotalDarkSpell() Local $iCount = 0 -For $i = $eSpellPoison To $eSpellSkeleton - 1 +For $i = $eSpellPoison To $eSpellBat - 1 $iCount += $g_aiCurrentSpells[$i] Next Return $iCount @@ -42215,7 +42369,7 @@ Local $aCurrentCCTroops = findMultiple(@ScriptDir & "\imgxml\ArmyOverview\Troops Local $aTempTroopArray,$aTroops ,$aTroopCoords Local $sTroopName = "" Local $iTroopIndex = -1 -Local $aCurrentCCTroopsEmpty[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Local $aCurrentCCTroopsEmpty[$eTroopCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] $g_aiCurrentCCTroops = $aCurrentCCTroopsEmpty If UBound($aCurrentCCTroops, 1) >= 1 Then For $i = 0 To UBound($aCurrentCCTroops, 1) - 1 @@ -42322,7 +42476,7 @@ Local $aCurrentCCSpells = findMultiple(@ScriptDir & "\imgxml\ArmyOverview\Spells Local $aTempSpellArray, $aSpells, $aSpellCoords Local $sSpellName = "" Local $iSpellIndex = -1 -Local $aCurrentCCSpellsEmpty[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Local $aCurrentCCSpellsEmpty[$eSpellCount] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] $g_aiCurrentCCSpells = $aCurrentCCSpellsEmpty If UBound($aCurrentCCSpells, 1) >= 1 Then For $i = 0 To UBound($aCurrentCCSpells, 1) - 1 @@ -42532,7 +42686,7 @@ Local $minCollectorLevel = 0 Local $maxCollectorLevel = 0 Local $anyFillLevel[2] = [False, False] If $g_bDebugSetlog Then SetDebugLog("Checking Deadbase With IMGLOC START", $COLOR_WARNING) -For $i = 6 To 12 +For $i = 6 To 13 If $g_abCollectorLevelEnabled[$i] Then If $minCollectorLevel = 0 Then $minCollectorLevel = $i If $i > $maxCollectorLevel Then $maxCollectorLevel = $i @@ -42644,7 +42798,7 @@ Local $minCollectorLevel = 0 Local $maxCollectorLevel = 0 Local $anyFillLevel[2] = [False, False] If $g_bDebugSetlog Then SetDebugLog("Checking Deadbase With IMGLOC START (super new)", $COLOR_WARNING) -For $i = 6 To 12 +For $i = 6 To 13 If $g_abCollectorLevelEnabled[$i] Then If $minCollectorLevel = 0 Then $minCollectorLevel = $i If $i > $maxCollectorLevel Then $maxCollectorLevel = $i @@ -43539,6 +43693,8 @@ Case $eEDrag Return "ElectroDragon" Case $eBowl Return "Bowler" +Case $eIceG +Return "IceGolem" Case $eESpell Return "EarthquakeSpell" Case $eFSpell @@ -43557,6 +43713,8 @@ Case $eRSpell Return "RageSpell" Case $eSkSpell Return "SkeletonSpell" +Case $eBtSpell +Return "BatSpell" Case $eCSpell Return "CloneSpell" Case $eCastle @@ -43611,6 +43769,8 @@ Case "ElectroDragon" Return $eEDrag Case "Bowler" Return $eBowl +Case "IceGolem" +Return $eIceG Case "EarthquakeSpell" Return $eESpell Case "FreezeSpell" @@ -43629,6 +43789,8 @@ Case "RageSpell" Return $eRSpell Case "SkeletonSpell" Return $eSkSpell +Case "BatSpell" +Return $eBtSpell Case "CloneSpell" Return $eCSpell Case "Castle" @@ -43999,20 +44161,16 @@ Return $g_iImglocTHLevel EndIf EndFunc Func AttackBarCheck($bRemaining = False, $pMatchMode = $DB, $bDebug = False) -Local $iX1 = 0, $iY1 = 659, $iX2 = 835, $iY2 = 698 +Local $iX1 = 0, $iY1 = 635, $iX2 = 835, $iY2 = 698 Static Local $bCheckSlot12 = False -Static Local $bCheckSlotwHero = False -If Not $bRemaining Then -$bCheckSlot12 = False -$bCheckSlotwHero = False -EndIf -If $g_bDraggedAttackBar Then DragAttackBar($g_iTotalAttackSlot, True ) +If Not $bRemaining Then $bCheckSlot12 = False +If $g_bDraggedAttackBar Then DragAttackBar($g_iTotalAttackSlot, True) $g_iLSpellLevel = 1 $g_iESpellLevel = 1 -Local $aResult[1][6], $aCoordArray[1][2], $aCoords, $aCoordsSplit, $aValue +Local $aResult[1][6], $aCoordArray[1][2], $aCoords, $aCoordsSplit, $aValue, $sName, $aSlotAmountX[0][2] If Not $g_bRunState Then Return _CaptureRegion2($iX1, $iY1, $iX2, $iY2) -Local $sFinalResult = "" , $iAttackbarStart = __TimerInit() +Local $sFinalResult = "", $iAttackbarStart = __TimerInit() Local $sAttBarRes = DllCallMyBot("SearchMultipleTilesBetweenLevels", "handle", $g_hHBitmap2, "str", $g_sImgAttackBarDir, "str", "FV", "Int", 0, "str", "FV", "Int", 0, "Int", 1000) If IsArray($sAttBarRes) Then If $sAttBarRes[0] = "0" Or $sAttBarRes[0] = "" Then @@ -44025,10 +44183,20 @@ ReDim $aResult[UBound($aKeys)][6] Local $iResultAddDup = 0 For $i = 0 To UBound($aKeys) - 1 If Not $g_bRunState Then Return -$aResult[$i + $iResultAddDup][0] = RetrieveImglocProperty($aKeys[$i], "objectname") +$sName = RetrieveImglocProperty($aKeys[$i], "objectname") $aValue = RetrieveImglocProperty($aKeys[$i], "objectpoints") $aCoords = decodeMultipleCoords($aValue, 50) +If StringRegExp($sName, "(AmountX)", 0) Then +For $j = 0 To UBound($aCoords) - 1 +$aCoordsSplit = $aCoords[$j] +_ArrayAdd($aSlotAmountX, $aCoordsSplit[0] & "|" & $aCoordsSplit[1], 0, "|", @CRLF, $ARRAYFILL_FORCE_NUMBER) +Next +Else +$aResult[$i + $iResultAddDup][0] = $sName $aCoordsSplit = $aCoords[0] +If StringRegExp($sName, "(King)|(Warden)|(Queen)", 0) Then +_ArrayAdd($aSlotAmountX, $aCoordsSplit[0] & "|" & $aCoordsSplit[1], 0, "|", @CRLF, $ARRAYFILL_FORCE_NUMBER) +EndIf If UBound($aCoordsSplit) = 2 Then $aCoordArray[0][0] = $aCoordsSplit[0] $aCoordArray[0][1] = $aCoordsSplit[1] @@ -44055,56 +44223,41 @@ Else EndIf Next EndIf -Next -_ArraySort($aResult, 0, 0, 0, 1) -If $g_bDebugSetlog Then SetDebugLog("Attackbar detection completed in " & StringFormat("%.2f", _Timer_Diff($iAttackbarStart))& " ms") -$iAttackbarStart = __TimerInit() -If Not $bRemaining Then -$bCheckSlot12 = _ColorCheck(_GetPixelColor(17, 643, True), Hex(0x478AC6, 6), 15) Or _ColorCheck(_GetPixelColor(17, 643, True), Hex(0x434343, 6), 10) -If $g_bDebugSetlog Then -SetDebugLog(" Slot > 12 _ColorCheck 0x478AC6 at (17," & 643 & "): " & $bCheckSlot12, $COLOR_DEBUG) -Local $CheckSlot12Color = _GetPixelColor(17, 643, $g_bCapturePixel) -SetDebugLog(" Slot > 12 _GetPixelColor(17," & 643 & "): " & $CheckSlot12Color, $COLOR_DEBUG) -EndIf -For $i = 0 To UBound($aResult) - 1 -If $aResult[$i][0] = "King" Or $aResult[$i][0] = "Queen" Or $aResult[$i][0] = "Warden" Then -$bCheckSlotwHero = True EndIf Next -EndIf -Local $iSlotCompensation = -8 +_ArraySort($aResult, 0, 0, 0, 1) +_ArraySort($aSlotAmountX) +If $g_bDebugSetlog Then SetDebugLog("Attackbar detection completed in " & StringFormat("%.2f", _Timer_Diff($iAttackbarStart)) & " ms") +$iAttackbarStart = __TimerInit() +If Not $bRemaining And _CheckPixel($a12OrMoreSlots, True) Then $bCheckSlot12 = True +Local $iSPellLevelOCR = -8 For $i = 0 To UBound($aResult) - 1 Local $aTempSlot If $aResult[$i][1] > 0 Then If $g_bDebugSetlog Then SetDebugLog("SLOT : " & $i, $COLOR_DEBUG) If $g_bDebugSetlog Then SetDebugLog("Detection : " & $aResult[$i][0] & "|x" & $aResult[$i][1] & "|y" & $aResult[$i][2], $COLOR_DEBUG) -$aTempSlot = SlotAttack(Number($aResult[$i][1]), $bCheckSlot12, $bCheckSlotwHero) +$aTempSlot = SlotAttack(Number($aResult[$i][1]), $aSlotAmountX) If $g_bRunState = False Then Return If _Sleep(20) Then Return -If UBound($aTempSlot) = 2 Then -If $g_bDebugSetlog Then SetDebugLog("OCR : " & $aTempSlot[0] & "|SLOT: " & $aTempSlot[1], $COLOR_DEBUG) -If $bCheckSlotwHero Then $iSlotCompensation = 10 -If $aResult[$i][0] = "Castle" Or $aResult[$i][0] = "King" Or $aResult[$i][0] = "Queen" Or $aResult[$i][0] = "Warden" Or $aResult[$i][0] = "WallW" Or $aResult[$i][0] = "BattleB" Then +If UBound($aTempSlot) = 3 Then +If $g_bDebugSetlog Then SetDebugLog("OCR : " & $aTempSlot[0] & "|SLOT: " & $aTempSlot[2], $COLOR_DEBUG) +If $aResult[$i][0] = "Castle" Or $aResult[$i][0] = "King" Or $aResult[$i][0] = "Queen" Or $aResult[$i][0] = "Warden" Or $aResult[$i][0] = "WallW" Or $aResult[$i][0] = "BattleB" Or $aResult[$i][0] = "StoneS" Then $aResult[$i][3] = 1 -$aResult[$i][4] = $aTempSlot[1] +$aResult[$i][4] = $aTempSlot[2] Else -If StringInStr($aResult[$i][0], "Spell") <> 0 And $bCheckSlotwHero Then -$aTempSlot[0] = $aTempSlot[0] + 13 -$iSlotCompensation = -6 -EndIf -$aResult[$i][3] = Number(getTroopCountBig(Number($aTempSlot[0]), 633)) -$aResult[$i][4] = $aTempSlot[1] +$aResult[$i][3] = Number(getTroopCountBig(Number($aTempSlot[0] + $iX1), Number($aTempSlot[1] + $iY1) - 2)) +$aResult[$i][4] = $aTempSlot[2] If $aResult[$i][3] = "" Or $aResult[$i][3] = 0 Then -$aResult[$i][3] = Number(getTroopCountSmall(Number($aTempSlot[0]), 640)) -$aResult[$i][4] = $aTempSlot[1] +$aResult[$i][3] = Number(getTroopCountSmall(Number($aTempSlot[0] + $iX1), Number($aTempSlot[1] + $iY1))) +$aResult[$i][4] = $aTempSlot[2] EndIf If StringInStr($aResult[$i][0], "ESpell") <> 0 And $g_bSmartZapEnable Then -$aResult[$i][5] = getTroopsSpellsLevel(Number($aTempSlot[0]) + $iSlotCompensation, 704) +$aResult[$i][5] = getTroopsSpellsLevel(Number($aTempSlot[0] + $iX1) + $iSPellLevelOCR, 704) If $aResult[$i][5] <> "" Then $g_iESpellLevel = $aResult[$i][5] If $g_bDebugSmartZap Then SetLog("Earthquake Spell detected with level: " & $aResult[$i][5], $COLOR_DEBUG) EndIf If StringInStr($aResult[$i][0], "LSpell") <> 0 And $g_bSmartZapEnable Then -$aResult[$i][5] = getTroopsSpellsLevel(Number($aTempSlot[0]) + $iSlotCompensation, 704) +$aResult[$i][5] = getTroopsSpellsLevel(Number($aTempSlot[0] + $iX1) + $iSPellLevelOCR, 704) If $aResult[$i][5] <> "" Then $g_iLSpellLevel = $aResult[$i][5] If $g_bDebugSmartZap Then SetLog("Lightning Spell detected with level: " & $aResult[$i][5], $COLOR_DEBUG) EndIf @@ -44115,14 +44268,14 @@ SetLog("Detection: " & $aResult[$i][0] & "|X:" & $aResult[$i][1] & "|Y:" & $aRes $aResult[$i][3] = -1 $aResult[$i][4] = -1 EndIf -$sFinalResult &= "|" & TroopIndexLookup($aResult[$i][0]) & "#" & $aResult[$i][4] & "#" & $aResult[$i][3] +$sFinalResult &= "|" & TroopIndexLookup($aResult[$i][0]) & "#" & $aResult[$i][4] & "#" & $aResult[$i][3] & "#" & $aResult[$i][1] EndIf Next EndIf EndIf -If $g_bDebugSetlog Then SetDebugLog("Attackbar OCR completed in " & StringFormat("%.2f", __TimerDiff($iAttackbarStart))& " ms") +If $g_bDebugSetlog Then SetDebugLog("Attackbar OCR completed in " & StringFormat("%.2f", __TimerDiff($iAttackbarStart)) & " ms") If $bDebug Then -Local $iX1 = 0, $iY1 = 659, $iX2 = 853, $iY2 = 698 +Local $iX1 = 0, $iY1 = 635, $iX2 = 853, $iY2 = 698 _CaptureRegion2($iX1, $iY1, $iX2, $iY2) Local $sSubDir = $g_sProfileTempDebugPath & "AttackBarDetection" DirCreate($sSubDir) @@ -44139,7 +44292,7 @@ _GDIPlus_PenDispose($hPenRED) _GDIPlus_GraphicsDispose($hGraphic) _GDIPlus_BitmapDispose($hEditedImage) EndIf -If($pMatchMode <= $LB And $bCheckSlot12 And UBound($aResult)> 1 And $g_aiAttackAlgorithm[$pMatchMode] <> 3) or $bDebug Then +If($pMatchMode <= $LB And $bCheckSlot12 And UBound($aResult) > 1 And $g_aiAttackAlgorithm[$pMatchMode] <> 3) Or $bDebug Then SetDebuglog("$sFinalResult 1st page = " & $sFinalResult) Local $aLastTroop1stPage[2] $aLastTroop1stPage[0] = $aResult[UBound($aResult) - 1][0] @@ -44152,36 +44305,40 @@ EndIf $sFinalResult = StringTrimLeft($sFinalResult, 1) Return $sFinalResult EndFunc -Func SlotAttack($PosX, $CheckSlot12, $CheckSlotwHero) -Local $Slottemp[2] = [0, 0] -For $i = 0 To 12 -If $PosX >= 32 +($i * 73) And $PosX < 105 +($i * 73) Then -$Slottemp[0] = 37 +($i * 73) -$Slottemp[1] = $i -If $CheckSlot12 = True Then -$Slottemp[0] -= 13 -ElseIf $CheckSlotwHero = False Then -$Slottemp[0] += 10 -EndIf -If $g_bDebugSetlog Then SetDebugLog("Slot: " & $i & " | $x > " & 25 +($i * 73) & " and $x < " & 98 +($i * 73)) -If $g_bDebugSetlog Then SetDebugLog("Slot: " & $i & " | $PosX: " & $PosX & " | OCR x position: " & $Slottemp[0] & " | OCR Slot: " & $Slottemp[1]) -Return $Slottemp +Func SlotAttack($iPosX, $aSlots) +Local $aTempSlot[3] = [0, 0, 0] +Local $iClosest = SearchNearest($aSlots, $iPosX) +Local $bLast = False +If $iClosest = _ArrayMaxIndex($aSlots, 0) And $aSlots[$iClosest][0] >=($g_iGAME_WIDTH - 60) Then $bLast = True +If $iClosest >= 0 And $iClosest < UBound($aSlots) Then +$aTempSlot[0] = $bLast ? $g_iGAME_WIDTH - 53 : $aSlots[$iClosest][0] - 15 +$aTempSlot[1] = $aSlots[$iClosest][1] - 7 +$aTempSlot[2] = $iClosest +EndIf +Return $aTempSlot +EndFunc +Func SearchNearest($aArray, $iNumber) +Local $iVal, $iValOld = _ArrayMax($aArray), $iReturn +For $i = 0 To UBound($aArray) - 1 +$iVal = Abs($aArray[$i][0] - $iNumber) +If $iValOld >= $iVal Then +$iValOld = $iVal +$iReturn = $i EndIf -If $g_bRunState = False Then Return Next -Return $Slottemp +Return $iReturn EndFunc Func ExtendedAttackBarCheck($aLastTroop1stPage, $bRemaining) -Local $iX1 = 0, $iY1 = 659, $iX2 = 853, $iY2 = 698 +Local $iX1 = 0, $iY1 = 635, $iX2 = 835, $iY2 = 698 Static $bCheckSlotwHero2 = False -Local $aResult[1][6], $aCoordArray[1][2], $aCoords, $aCoordsSplit, $aValue +Local $aResult[1][6], $aCoordArray[1][2], $aCoords, $aCoordsSplit, $aValue, $sName, $aSlotAmountX[0][2] If Not $g_bRunState Then Return _CaptureRegion2($iX1, $iY1, $iX2, $iY2) Local $sFinalResult = "" Local $sAttBarRes = DllCallMyBot("SearchMultipleTilesBetweenLevels", "handle", $g_hHBitmap2, "str", $g_sImgAttackBarDir, "str", "FV", "Int", 0, "str", "FV", "Int", 0, "Int", 1000) If IsArray($sAttBarRes) Then If $sAttBarRes[0] = "0" Or $sAttBarRes[0] = "" Then -SetLog("Imgloc|AttackBarCheck not found!", $COLOR_RED) +SetLog("Imgloc|AttackBarCheck not found!", $COLOR_ERROR) ElseIf StringLeft($sAttBarRes[0], 2) = "-1" Then SetLog("DLL Error: " & $sAttBarRes[0] & ", AttackBarCheck", $COLOR_RED) Else @@ -44190,10 +44347,18 @@ ReDim $aResult[UBound($aKeys)][6] Local $iResultAddDup = 0 For $i = 0 To UBound($aKeys) - 1 If Not $g_bRunState Then Return -$aResult[$i + $iResultAddDup][0] = RetrieveImglocProperty($aKeys[$i], "objectname") +$sName = RetrieveImglocProperty($aKeys[$i], "objectname") $aValue = RetrieveImglocProperty($aKeys[$i], "objectpoints") $aCoords = decodeMultipleCoords($aValue, 50) +If StringRegExp($sName, "(AmountX)", 0) Then +For $j = 0 To UBound($aCoords) - 1 +$aCoordsSplit = $aCoords[$j] +_ArrayAdd($aSlotAmountX, $aCoordsSplit[0] & "|" & $aCoordsSplit[1], 0, "|", @CRLF, $ARRAYFILL_FORCE_NUMBER) +Next +Else +$aResult[$i + $iResultAddDup][0] = $sName $aCoordsSplit = $aCoords[0] +If StringRegExp($sName, "(King)|(Warden)|(Queen)", 0) Then _ArrayAdd($aSlotAmountX, $aCoordsSplit[0] & "|" & $aCoordsSplit[1], 0, "|", @CRLF, $ARRAYFILL_FORCE_NUMBER) If UBound($aCoordsSplit) = 2 Then $aCoordArray[0][0] = $aCoordsSplit[0] $aCoordArray[0][1] = $aCoordsSplit[1] @@ -44206,7 +44371,7 @@ $aResult[$i + $iResultAddDup][1] = Number($aCoordArray[0][0]) $aResult[$i + $iResultAddDup][2] = Number($aCoordArray[0][1]) Local $iMultipleCoords = UBound($aCoords) If $iMultipleCoords > 1 And StringInStr($aResult[$i + $iResultAddDup][0], "Spell") <> 0 Then -If $g_bDebugSetlog Then SetDebugLog($aResult[$i + $iResultAddDup][0] & " detected " & $iMultipleCoords & " times") +If $g_bDebugSetlog Then SetDebugLog($aResult[$i + $iResultAddDup][0] & " detected " & $iMultipleCoords & " times!") For $j = 1 To $iMultipleCoords - 1 Local $aCoordsSplit2 = $aCoords[$j] If UBound($aCoordsSplit2) = 2 Then @@ -44220,16 +44385,15 @@ Else EndIf Next EndIf -Next -_ArraySort($aResult, 0, 0, 0, 1) -For $i = 0 To UBound($aResult) - 1 -If $aResult[$i][0] = "King" Or $aResult[$i][0] = "Queen" Or $aResult[$i][0] = "Warden" Then -$bCheckSlotwHero2 = True EndIf Next +_ArraySort($aResult, 0, 0, 0, 1) +_ArraySort($aSlotAmountX) Local $iSlotExtended = 0 Static $iFirstExtendedSlot = -1 -If Not $bRemaining Then $iFirstExtendedSlot = -1 +If Not $bRemaining Then +$iFirstExtendedSlot = -1 +EndIf Local $iFoundLastTroop1stPage Local $bStart2ndPage = False For $i = 0 To UBound($aResult) - 1 @@ -44244,31 +44408,29 @@ If $iFoundLastTroop1stPage >= $aLastTroop1stPage[1] Then $bStart2ndPage = True ContinueLoop EndIf If Not $bStart2ndPage Then ContinueLoop -$aTempSlot = SlotAttack(Number($aResult[$i][1]), False, False) -$aTempSlot[0] += 18 -If $iFirstExtendedSlot = -1 Then $iFirstExtendedSlot = $aTempSlot[1] -$iSlotExtended = $aTempSlot[1] - $iFirstExtendedSlot + 1 -If $bCheckSlotwHero2 And StringInStr($aResult[$i][0], "Spell") = 0 Then $aTempSlot[0] -= 14 +$aTempSlot = SlotAttack(Number($aResult[$i][1]), $aSlotAmountX) +If $iFirstExtendedSlot = -1 Then $iFirstExtendedSlot = $aTempSlot[2] +$iSlotExtended = $aTempSlot[2] - $iFirstExtendedSlot + 1 If Not $g_bRunState Then Return If _Sleep(20) Then Return -If UBound($aTempSlot) = 2 Then -SetDebugLog("OCR : " & $aTempSlot[0] & "|SLOT: " & $aTempSlot[1], $COLOR_DEBUG) -If $aResult[$i][0] = "Castle" Or $aResult[$i][0] = "King" Or $aResult[$i][0] = "Queen" Or $aResult[$i][0] = "Warden" Or $aResult[$i][0] = "WallW" Or $aResult[$i][0] = "BattleB" Then +If UBound($aTempSlot) = 3 Then +SetDebugLog("OCR : " & $aTempSlot[0] & "|SLOT: " & $aTempSlot[2], $COLOR_DEBUG) +If $aResult[$i][0] = "Castle" Or $aResult[$i][0] = "King" Or $aResult[$i][0] = "Queen" Or $aResult[$i][0] = "Warden" Or $aResult[$i][0] = "WallW" Or $aResult[$i][0] = "BattleB" Or $aResult[$i][0] = "StoneS" Then $aResult[$i][3] = 1 Else -$aResult[$i][3] = Number(getTroopCountSmall(Number($aTempSlot[0]), 640)) +$aResult[$i][3] = Number(getTroopCountSmall(Number($aTempSlot[0] + $iX1), Number($aTempSlot[1] + $iY1))) If $aResult[$i][3] = "" Or $aResult[$i][3] = 0 Then -$aResult[$i][3] = Number(getTroopCountBig(Number($aTempSlot[0]), 633)) +$aResult[$i][3] = Number(getTroopCountBig(Number($aTempSlot[0] + $iX1), Number($aTempSlot[1] + $iY1) - 4)) EndIf EndIf -$aResult[$i][4] =($aTempSlot[1] + 11) - $iFirstExtendedSlot +$aResult[$i][4] =($aTempSlot[2] + 11) - $iFirstExtendedSlot Else Setlog("Problem with Attack bar detection!", $COLOR_ERROR) SetLog("Detection : " & $aResult[$i][0] & "|x" & $aResult[$i][1] & "|y" & $aResult[$i][2], $COLOR_DEBUG) $aResult[$i][3] = -1 $aResult[$i][4] = -1 EndIf -$sFinalResult &= "|" & TroopIndexLookup($aResult[$i][0]) & "#" & $aResult[$i][4] & "#" & $aResult[$i][3] +$sFinalResult &= "|" & TroopIndexLookup($aResult[$i][0]) & "#" & $aResult[$i][4] & "#" & $aResult[$i][3] & "#" & $aResult[$i][1] EndIf Next If Not $bRemaining Then @@ -47707,6 +47869,7 @@ Local $v2 = GetVersionNormalized($__Nox_Config[$i][0]) If $v >= $v2 Then SetDebugLog("Using Android Config of " & $g_sAndroidEmulator & " " & $__Nox_Config[$i][0]) $g_sAppClassInstance = $__Nox_Config[$i][1] +$g_bAndroidControlUseParentPos = $__Nox_Config[$i][2] $g_avAndroidAppConfig[$g_iAndroidConfig][3] = $g_sAppClassInstance ExitLoop EndIf @@ -47840,14 +48003,19 @@ EndIf EndIf Next If $hToolbar = 0 Then -SetDebugLog("EmbedNox(" & $bEmbed & "): toolbar Window not found, list of windows:" & $c, Default, True) +SetDebugLog("EmbedNox(" & $bEmbed & "): toolbar Window not found, list of windows:" & $c) For $i = 1 To UBound($aWin) - 1 Local $h = $aWin[$i][0] Local $c = $aWin[$i][1] -SetDebugLog("EmbedNox(" & $bEmbed & "): Handle = " & $h & ", Class = " & $c, Default, True) +Local $aPos = WinGetPos($h) +If UBound($aPos) > 3 Then +SetDebugLog("EmbedNox(" & $bEmbed & "): Handle = " & $h & ", Class = " & $c & ", width=" & $aPos[2] & ", height=" & $aPos[3]) +Else +SetDebugLog("EmbedNox(" & $bEmbed & "): Handle = " & $h & ", Class = " & $c) +EndIf Next Else -SetDebugLog("EmbedNox(" & $bEmbed & "): $hToolbar=" & $hToolbar, Default, True) +SetDebugLog("EmbedNox(" & $bEmbed & "): $hToolbar=" & $hToolbar) If $bEmbed Then WinMove2($hToolbar, "", -1, -1, -1, -1, $HWND_NOTOPMOST, $SWP_HIDEWINDOW, False, False) Else @@ -48436,7 +48604,13 @@ SuspendAndroid($SuspendMode, False) EndFunc Func getAndroidPos($FastCheck = False, $RetryCount1 = 0, $RetryCount2 = 0, $bWidthFirst = Default) Static $asControlSize[6][4] +If $g_bAndroidControlUseParentPos Then +Local $hCtrl = ControlGetHandle(GetCurrentAndroidHWnD(), $g_sAppPaneName, GetAndroidControlClass(True)) +Local $hCtrlParent = _WinAPI_GetParent($hCtrl) +Local $aControlSize = ControlGetPos(GetCurrentAndroidHWnD(), "", $hCtrlParent) +Else Local $aControlSize = ControlGetPos(GetCurrentAndroidHWnD(), $g_sAppPaneName, GetAndroidControlClass(True)) +EndIf If $FastCheck Then Return $aControlSize If AndroidMakeDpiAware() Then AndroidDpiAwareness() Local $sPre = "(" & $RetryCount1 & "/" & $RetryCount2 & ") " @@ -48813,6 +48987,7 @@ Local $aPosCtl = $g_aiAndroidEmbeddedCtrlTarget[6] Local $lCurStyleTarget = $g_aiAndroidEmbeddedCtrlTarget[8] Local $hThumbnail = $g_aiAndroidEmbeddedCtrlTarget[9] Local $targetIsHWnD = $hCtrlTarget = $g_hAndroidWindow +Local $botStyle = _WinAPI_GetWindowLong($g_hFrmBot, $GWL_STYLE) Local $activeHWnD = WinGetHandle("") Local $HWnD_available = WinGetHandle($g_hAndroidWindow) = $g_hAndroidWindow If $Embed = False Then @@ -48903,6 +49078,7 @@ Execute("Embed" & $g_sAndroidEmulator & "(False)") EndIf SetDebugLog("Undocked Android Window") $g_hProcShieldInput[3] = False +_WinAPI_SetWindowLong($g_hFrmBot, $GWL_STYLE, $botStyle) Return True EndIf updateBtnEmbed() @@ -49117,13 +49293,16 @@ _WinAPI_UpdateWindow($g_hFrmBot) _WinAPI_UpdateWindow($g_hFrmBotBottom) If $g_iAndroidEmbedMode = 0 Then WinMove2($hCtrlTarget, "", 0, 0, $aPosCtl[2] - 1, $aPosCtl[3] - 1, $HWND_BOTTOM, 0, False) -WinMove2($hCtrl, "", 0, 0, $aPosCtl[2] - 1, $aPosCtl[3] - 1, $HWND_BOTTOM) WinMove2($hCtrlTarget, "", 0, 0, $aPosCtl[2], $aPosCtl[3], $HWND_BOTTOM, 0, False) +If $targetIsHWnD Then +WinMove2($hCtrl, "", 0, 0, $aPosCtl[2] - 1, $aPosCtl[3] - 1, $HWND_BOTTOM) WinMove2($hCtrl, "", 0, 0, $aPosCtl[2], $aPosCtl[3], $HWND_BOTTOM) EndIf +EndIf SetDebugLog("Android Window docked") $g_hProcShieldInput[3] = False $g_hProcShieldInput[4] = 0 +_WinAPI_RedrawWindow($g_hFrmBot, 0, 0, BitOR($RDW_FRAME, $RDW_UPDATENOW, $RDW_INVALIDATE)) AndroidShield("AndroidEmbed dock", Default, $CallWinGetAndroidHandle, 100) Return True EndFunc @@ -50106,6 +50285,8 @@ Case "#0342" Return $separator & "Train - Train Baby Dragon" Case "#0343" Return $separator & "Train - Train Miner" +Case "#0344" +Return $separator & "Train - Train Ice Golem" Case "#0168" Return $separator & "Donate - Open Chat" Case "#0169" @@ -53737,7 +53918,7 @@ Func getBldgUpgradeTime($x_start, $y_start) Return getOcrAndCapture("coc-uptime", $x_start, $y_start, 42, 18) EndFunc Func getLabUpgradeTime($x_start, $y_start) -Return getOcrAndCapture("coc-uptime2", $x_start, $y_start, 42, 22) +Return getOcrAndCapture("coc-uptime2", $x_start, $y_start, 68, 22) EndFunc Func getHeroUpgradeTime($x_start, $y_start) Return getOcrAndCapture("coc-uptime2", $x_start, $y_start, 68, 20) @@ -55416,7 +55597,7 @@ $bMatchModeEnabled = False EndSwitch Local $bcheckSiege = False If $g_abSearchSiegeWaitEnable[$g_iMatchMode] Then -If(($g_aiAttackUseSiege[$g_iMatchMode] = 1 And($g_aiCurrentSiegeMachines[$eSiegeWallWrecker] > 0 Or $g_aiCurrentCCSiegeMachines[$eSiegeWallWrecker] > 0)) Or($g_aiAttackUseSiege[$g_iMatchMode] = 2 And($g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] > 0 Or $g_aiCurrentCCSiegeMachines[$eSiegeBattleBlimp] > 0)) Or $g_aiAttackUseSiege[$g_iMatchMode] = 0) Then +If(($g_aiAttackUseSiege[$g_iMatchMode] = 1 And($g_aiCurrentSiegeMachines[$eSiegeWallWrecker] > 0 Or $g_aiCurrentCCSiegeMachines[$eSiegeWallWrecker] > 0)) Or($g_aiAttackUseSiege[$g_iMatchMode] = 2 And($g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] > 0 Or $g_aiCurrentCCSiegeMachines[$eSiegeBattleBlimp] > 0)) Or($g_aiAttackUseSiege[$g_iMatchMode] = 3 And($g_aiCurrentSiegeMachines[$eSiegeStoneSlammer] > 0 Or $g_aiCurrentCCSiegeMachines[$eSiegeStoneSlammer] > 0)) Or $g_aiAttackUseSiege[$g_iMatchMode] = 0) Then $bcheckSiege = True EndIf Else @@ -56358,10 +56539,10 @@ SetLog("Detecting your Village Theme", $COLOR_INFO) ClickP($aAway, 2, 20, "#0467") If _Sleep($DELAYCHECKIMAGETYPE1) Then Return If Not IsMainPage() Then ClickP($aAway, 2, 20, "#0467") -Local $x = 165 +Local $x = 150 Local $y = 150 -Local $x1 = $x + 60 -Local $y1 = $y + 80 +Local $x1 = $x + 50 +Local $y1 = $y + 50 Local $directory = @ScriptDir & "\imgxml\SnowTheme" Local $temp = SearchImgloc($directory, $x, $y, $x1, $y1) If IsArray($temp) Then @@ -56374,7 +56555,7 @@ SetLog("Normal Theme detected") EndIf Else $g_iDetectedImageType = 0 -SetLog("Normal Theme detected", $COLOR_RED) +SetLog("Normal Theme detected", $COLOR_ERROR) EndIf EndFunc Func CheckBaseQuick($bStopRecursion = False, $sReturnHome = "") @@ -56694,7 +56875,7 @@ $g_aiPrepDon[3] = BitOR($g_aiPrepDon[3],($g_abChkDonateAllSpell[$i] ? 1 : 0)) EndIf Next For $i = $eSiegeWallWrecker To $eSiegeMachineCount - 1 -$g_aiPrepDon[4] = BitOR($g_aiPrepDon[4],($g_abChkDonateTroop[$eTroopCount - 1 + $g_iCustomDonateConfigs + $i] ? 1 : 0)) +$g_aiPrepDon[4] = BitOR($g_aiPrepDon[4],($g_abChkDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $i] ? 1 : 0)) Next $g_iActiveDonate = BitOR($g_aiPrepDon[0], $g_aiPrepDon[1], $g_aiPrepDon[2], $g_aiPrepDon[3], $g_aiPrepDon[4]) EndFunc @@ -56734,22 +56915,31 @@ EndIf If Not IsArray($aSearchResult) Then ContinueLoop For $j = 0 To(UBound($aSearchResult) - 1) Local $TroopIndex = TroopIndexLookup($aSearchResult[$j][0], "IsDonateQueueOnly()") +If $TroopIndex < 0 Then ContinueLoop If _ColorCheck(_GetPixelColor($xQueue - $j * 70.5, 237, True), Hex(0xB9B747, 6), 20) Then If $i = 0 Then +If _ArrayIndexValid($g_aiAvailQueuedTroop, $TroopIndex) Then $g_aiAvailQueuedTroop[$TroopIndex] += $aSearchResult[$j][1] SetLog(" - " & $g_asTroopNames[$TroopIndex] & " x" & $aSearchResult[$j][1]) +EndIf Else +If _ArrayIndexValid($g_aiAvailQueuedSpell, $TroopIndex - $eLSpell) Then $g_aiAvailQueuedSpell[$TroopIndex - $eLSpell] += $aSearchResult[$j][1] SetLog(" - " & $g_asSpellNames[$TroopIndex - $eLSpell] & " x" & $aSearchResult[$j][1]) EndIf +EndIf ElseIf $j = 0 Or($j = 1 And $aSearchResult[1][0] = $aSearchResult[0][0]) Then If $i = 0 Then +If _ArrayIndexValid($g_aiAvailQueuedTroop, $TroopIndex) Then $g_aiAvailQueuedTroop[$TroopIndex] += $aSearchResult[$j][1] SetLog(" - " & $g_asTroopNames[$TroopIndex] & " x" & $aSearchResult[$j][1] & " (training)") +EndIf Else +If _ArrayIndexValid($g_aiAvailQueuedSpell, $TroopIndex - $eLSpell) Then $g_aiAvailQueuedSpell[$TroopIndex - $eLSpell] += $aSearchResult[$j][1] SetLog(" - " & $g_asSpellNames[$TroopIndex - $eLSpell] & " x" & $aSearchResult[$j][1] & " (training)") EndIf +EndIf ExitLoop ElseIf $j >= 2 Then ExitLoop @@ -56759,6 +56949,7 @@ If _Sleep(250) Then ContinueLoop EndIf Next ClickP($aAway, 1, 0, "#0818") +If _Sleep($DELAYDONATECC2) Then Return EndFunc Func DonateCC($bCheckForNewMsg = False) Local $bDonateTroop =($g_aiPrepDon[0] = 1) @@ -56818,6 +57009,12 @@ Return EndIf If _Sleep($DELAYDONATECC1) Then Return WEnd +Local $aCoord = decodeSingleCoord(findImage("I Understand", $g_sImgChatIUnterstand, GetDiamondFromRect("50,400,280,550"))) +If UBound($aCoord) > 1 Then +SetLog("Clicking 'I Understand' button", $COLOR_ACTION) +ClickP($aCoord) +If _Sleep($DELAYDONATECC2) Then Return +EndIf Local $Scroll While 1 ForceCaptureRegion() @@ -56963,7 +57160,7 @@ EndIf If Not $bDonateSiege Then SetLog("Siege donation is not enabled, skip siege donation...", $COLOR_ACTION) $g_bSkipDonSiege = True -ElseIf $g_aiCurrentSiegeMachines[$eSiegeWallWrecker] = 0 And $g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] = 0 Then +ElseIf $g_aiCurrentSiegeMachines[$eSiegeWallWrecker] = 0 And $g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] = 0 And $g_aiCurrentSiegeMachines[$eSiegeStoneSlammer] = 0 Then SetLog("No siege machines available, skip siege donation...", $COLOR_ORANGE) $g_bSkipDonSiege = True ElseIf $g_iTotalDonateSiegeMachineCapacity = -1 Then @@ -57008,7 +57205,7 @@ Local $CorrectDonateCustom = $eDonateCustom[$x] For $i = 0 To 2 If $CorrectDonateCustom[$i][0] < $eBarb Then $CorrectDonateCustom[$i][0] = $eArch -ElseIf $CorrectDonateCustom[$i][0] > $eBowl Then +ElseIf $CorrectDonateCustom[$i][0] > $eIceG Then ContinueLoop EndIf If $CorrectDonateCustom[$i][1] < 1 Then @@ -57086,7 +57283,7 @@ Local $CorrectDonateCustom = $eDonateCustom[$x] For $i = 0 To 2 If $CorrectDonateCustom[$i][0] < $eBarb Then $CorrectDonateCustom[$i][0] = $eArch -ElseIf $CorrectDonateCustom[$i][0] > $eBowl Then +ElseIf $CorrectDonateCustom[$i][0] > $eIceG Then DonateWindow($bClose) $bDonate = True $y = $g_aiDonatePixel[1] + 50 @@ -57320,7 +57517,7 @@ $g_bFullArmy = False EndIf EndIf EndIf -If $iTroopIndex >= $eTroopBarbarian And $iTroopIndex <= $eTroopBowler Then +If $iTroopIndex >= $eTroopBarbarian And $iTroopIndex <= $eTroopIceGolem Then $g_iTotalDonateTroopCapacity -=($Quant * $g_aiTroopSpace[$iTroopIndex]) If $g_iDonTroopsLimit = $Quant Then $g_bSkipDonTroops = True @@ -57560,7 +57757,7 @@ $g_iTotalDonateTroopCapacity = -1 $g_iTotalDonateSpellCapacity = -1 $g_iTotalDonateSiegeMachineCapacity = -1 Local $bDonateSpell =($g_aiPrepDon[2] = 1 Or $g_aiPrepDon[3] = 1) And($g_iCurrentSpells > 0 Or $g_iCurrentSpells = "") -Local $bDonateSiege =($g_aiPrepDon[4] = 1) And($g_aiCurrentSiegeMachines[$eSiegeWallWrecker] > 0 Or $g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] > 0) +Local $bDonateSiege =($g_aiPrepDon[4] = 1) And($g_aiCurrentSiegeMachines[$eSiegeWallWrecker] > 0 Or $g_aiCurrentSiegeMachines[$eSiegeBattleBlimp] > 0 Or $g_aiCurrentSiegeMachines[$eSiegeStoneSlammer] > 0) SetDebugLog("$g_aiPrepDon[2]: " & $g_aiPrepDon[2] & ", $g_aiPrepDon[3]: " & $g_aiPrepDon[3] & ", $g_iCurrentSpells: " & $g_iCurrentSpells & ", $bDonateSpell: " & $bDonateSpell) SetDebugLog("$g_aiPrepDon[4]: " & $g_aiPrepDon[4] & ", $bDonateSiege: " & $bDonateSiege) If $g_bDebugSetLog Then SetDebugLog("Start dual getOcrSpaceCastleDonate", $COLOR_DEBUG) @@ -57671,13 +57868,13 @@ If $g_bDebugSetlog Then SetDebugLog("Troop Slot: " & $Slot & " SearchImgloc retu If StringInStr($FullTemp[0] & " ", "empty") > 0 Then ExitLoop If $FullTemp[0] <> "" Then Local $iFoundTroopIndex = TroopIndexLookup($FullTemp[0]) -For $i = $eTroopBarbarian To $eTroopBowler +For $i = $eTroopBarbarian To $eTroopIceGolem If $iFoundTroopIndex = $i Then If $g_bDebugSetlog Then SetDebugLog("Detected " & $g_asTroopNames[$i], $COLOR_DEBUG) If $iTroopIndex = $i Then Return $Slot ExitLoop EndIf -If $i = $eTroopBowler Then +If $i = $eTroopIceGolem Then If $g_bDebugSetlog Then SetDebugLog("Slot: " & $Slot & "Troop Detection Failed", $COLOR_DEBUG) EndIf Next @@ -57699,7 +57896,7 @@ If $g_bDebugSetlog Then SetDebugLog("Detected " & $g_asTroopNames[$i], $COLOR_DE If $iTroopIndex = $i Then Return $Slot ExitLoop EndIf -If $i = $eTroopBowler Then +If $i = $eTroopIceGolem Then If $g_bDebugSetlog Then SetDebugLog("Slot: " & $Slot & "Troop Detection Failed", $COLOR_DEBUG) EndIf Next @@ -57718,14 +57915,14 @@ $FullTemp = SearchImgloc($g_sImgDonateSpells, $x, $y, $x1, $y1) If $g_bDebugSetlog Then SetDebugLog("Spell Slot: " & $Slot & " SearchImgloc returned:" & $FullTemp[0] & ".", $COLOR_DEBUG) If StringInStr($FullTemp[0] & " ", "empty") > 0 Then ExitLoop If $FullTemp[0] <> "" Then -For $i = $eSpellLightning To $eSpellSkeleton +For $i = $eSpellLightning To $eSpellBat Local $sTmp = StringLeft($g_asSpellNames[$i], 4) If StringInStr($FullTemp[0] & " ", $sTmp) > 0 Then If $g_bDebugSetlog Then SetDebugLog("Detected " & $g_asSpellNames[$i], $COLOR_DEBUG) If $iSpellIndex = $i Then Return $Slot ExitLoop EndIf -If $i = $eSpellSkeleton Then +If $i = $eSpellBat Then If $g_bDebugSetlog Then SetDebugLog("Slot: " & $Slot & "Spell Detection Failed", $COLOR_DEBUG) EndIf Next @@ -57790,8 +57987,7 @@ If $g_iArmyCapacity > $g_iDonateSkipNearFullPercent Then Local $rIsWaitforHeroesActive = IsWaitforHeroesActive() If $rIsWaitforHeroesActive Then If $aHeroResult = Default Or Not IsArray($aHeroResult) Then -If Not OpenArmyOverview(True, "SkipDonateNearFullTroops()") Then Return False -$aHeroResult = getArmyHeroTime("all") +$aHeroResult = getArmyHeroTime("all", True, True) EndIf If @error Or UBound($aHeroResult) < 3 Then SetLog("getArmyHeroTime return error: #" & @error & "|IA:" & IsArray($aHeroResult) & "," & UBound($aHeroResult) & ", exit SkipDonateNearFullTroops!", $COLOR_ERROR) @@ -59389,7 +59585,7 @@ SetLog("Request Clan Castle troops not planned, Skipped..", $COLOR_ACTION) Return EndIf EndIf -If Not OpenArmyOverview(True, "RequestCC()") Then Return +If $specifyText <> "IsFullClanCastle" And Not OpenArmyOverview(True, "RequestCC()") Then Return If _Sleep($DELAYREQUESTCC1) Then Return SetLog("Requesting Clan Castle reinforcements", $COLOR_INFO) checkAttackDisable($g_iTaBChkIdle) @@ -59589,11 +59785,11 @@ EndIf EndFunc Func RemoveCastleArmy($aToRemove) If _ArrayMax($aToRemove) = 0 Then Return -If Not _ColorCheck(_GetPixelColor(806, 516, True), Hex(0xCEEF76, 6), 25) Then +If Not _CheckPixel($aButtonEditArmy, True) Then SetLog("Cannot find/verify 'Edit Army' Button in Army tab", $COLOR_WARNING) Return False EndIf -Click(Random(725, 825, 1), Random(507, 545, 1)) +ClickP($aButtonEditArmy, 1) If Not $g_bRunState Then Return If _Sleep(500) Then Return Local $aPos[2] = [72, 575] @@ -59606,7 +59802,7 @@ EndIf Next If _Sleep(400) Then Return Local $counter = 0 -While Not _ColorCheck(_GetPixelColor(806, 567, True), Hex(0xCEEF76, 6), 25) +While Not _CheckPixel($aButtonRemoveTroopsOK1, True) If _Sleep(200) Then Return $counter += 1 If $counter <= 5 Then ContinueLoop @@ -59615,10 +59811,10 @@ ClickP($aAway, 2, 0, "#0346") If _Sleep(400) Then OpenArmyOverview(True, "RemoveCastleSpell()") Return False WEnd -Click(Random(730, 815, 1), Random(558, 589, 1)) +ClickP($aButtonRemoveTroopsOK1, 1) If _Sleep(400) Then Return $counter = 0 -While Not _ColorCheck(_GetPixelColor(508, 428, True), Hex(0xFFFFFF, 6), 30) +While Not _CheckPixel($aButtonRemoveTroopsOK2, True) If _Sleep(200) Then Return $counter += 1 If $counter <= 5 Then ContinueLoop @@ -59626,7 +59822,7 @@ SetLog("Cannot find/verify 'Okay #2' Button in Army tab", $COLOR_WARNING) ClickP($aAway, 2, 0, "#0346") Return False WEnd -Click(Random(445, 583, 1), Random(402, 455, 1)) +ClickP($aButtonRemoveTroopsOK2, 1) SetLog("Clan Castle Troops/Spells Removed", $COLOR_SUCCESS) If _Sleep(200) Then Return Return True @@ -60452,18 +60648,15 @@ EndSwitch EndIf EndIf Local $bMinWallElixir = Number($g_aiCurrentLoot[$eLootElixir]) >($g_iWallCost + Number($g_iLaboratoryElixirCost) + Number($g_iUpgradeWallMinElixir)) -If $g_bAutoLabUpgradeEnable And $g_iCmbLaboratory >= 1 And Not($g_iCmbLaboratory >= 20 And $g_iCmbLaboratory <= 30) And Not $bMinWallElixir Then -Local $sName = $g_avLabTroops[$g_iCmbLaboratory][3] -Local $LabElixirNeeded = $g_iLaboratoryElixirCost -If $LabElixirNeeded = 0 Then $LabElixirNeeded = "unknown" +If $g_bAutoLabUpgradeEnable And $g_iLaboratoryElixirCost > 0 And Not $bMinWallElixir Then Switch $g_iUpgradeWallLootType Case 0 Case 1 -SetLog("Laboratory needs " & $LabElixirNeeded & " Elixir to Upgrade: " & $sName, $COLOR_SUCCESS1) +SetLog("Laboratory needs Elixir to Upgrade : " & $g_iLaboratoryElixirCost, $COLOR_SUCCESS1) SetLog("Skipping Wall Upgrade", $COLOR_SUCCESS1) Return True Case 2 -SetLog("Laboratory needs " & $LabElixirNeeded & " Elixir to Upgrade: " & $sName, $COLOR_SUCCESS1) +SetLog("Laboratory needs Elixir to Upgrade : " & $g_iLaboratoryElixirCost, $COLOR_SUCCESS1) SetLog("Using Gold only for Wall Upgrade", $COLOR_SUCCESS1) $g_iUpgradeWallLootType = 0 EndSwitch @@ -61087,19 +61280,19 @@ Global Const $sColorNoLoot = Hex(0xFD877E, 6) Global Const $sColorMaxLvl = Hex(0xFFFFFF, 6) Global Const $sColorLabUgReq = Hex(0x838383, 6) Global Const $sColorMaxTroop = Hex(0xFFC360, 6) +Global Const $sColorBG = Hex(0xD3D3CB, 6) Global Const $aiCloseDefaultPOS[2] = [721, 143] -Global Const $aiIconDefaultPOS[33][2] = [ [-1, -1], [120, 337 + $g_iMidOffsetY], [120, 444 + $g_iMidOffsetY], [227, 337 + $g_iMidOffsetY], [227, 444 + $g_iMidOffsetY], [334, 337 + $g_iMidOffsetY], [334, 444 + $g_iMidOffsetY], [440, 337 + $g_iMidOffsetY], [440, 444 + $g_iMidOffsetY], [547, 337 + $g_iMidOffsetY], [547, 444 + $g_iMidOffsetY], [654, 337 + $g_iMidOffsetY], [654, 444 + $g_iMidOffsetY], [220, 337 + $g_iMidOffsetY], [220, 444 + $g_iMidOffsetY], [327, 337 + $g_iMidOffsetY], [327, 444 + $g_iMidOffsetY], [433, 337 + $g_iMidOffsetY], [433, 444 + $g_iMidOffsetY], [540, 337 + $g_iMidOffsetY], [540, 444 + $g_iMidOffsetY], [113, 337 + $g_iMidOffsetY], [113, 444 + $g_iMidOffsetY], [220, 337 + $g_iMidOffsetY], [220, 444 + $g_iMidOffsetY], [327, 337 + $g_iMidOffsetY], [327, 444 + $g_iMidOffsetY], [433, 337 + $g_iMidOffsetY], [433, 444 + $g_iMidOffsetY], [540, 337 + $g_iMidOffsetY], [540, 444 + $g_iMidOffsetY], [647, 337 + $g_iMidOffsetY], [647, 444 + $g_iMidOffsetY]] +Global Const $aiIconDefaultPOS[36][2] = [ [-1, -1], [114, 337 + $g_iMidOffsetY], [114, 444 + $g_iMidOffsetY], [221, 337 + $g_iMidOffsetY], [221, 444 + $g_iMidOffsetY], [327, 337 + $g_iMidOffsetY], [327, 444 + $g_iMidOffsetY], [434, 337 + $g_iMidOffsetY], [434, 444 + $g_iMidOffsetY], [541, 337 + $g_iMidOffsetY], [541, 444 + $g_iMidOffsetY], [647, 337 + $g_iMidOffsetY], [647, 444 + $g_iMidOffsetY], [114, 337 + $g_iMidOffsetY], [114, 444 + $g_iMidOffsetY], [221, 337 + $g_iMidOffsetY], [221, 444 + $g_iMidOffsetY], [327, 337 + $g_iMidOffsetY], [327, 444 + $g_iMidOffsetY], [434, 337 + $g_iMidOffsetY], [434, 444 + $g_iMidOffsetY], [541, 337 + $g_iMidOffsetY], [541, 444 + $g_iMidOffsetY], [647, 337 + $g_iMidOffsetY], [647, 444 + $g_iMidOffsetY], [114, 337 + $g_iMidOffsetY], [114, 444 + $g_iMidOffsetY], [221, 337 + $g_iMidOffsetY], [221, 444 + $g_iMidOffsetY], [327, 337 + $g_iMidOffsetY], [327, 444 + $g_iMidOffsetY], [434, 337 + $g_iMidOffsetY], [434, 444 + $g_iMidOffsetY], [541, 337 + $g_iMidOffsetY], [541, 444 + $g_iMidOffsetY], [647, 337 + $g_iMidOffsetY]] Func Laboratory() -Static $aUpgradeValue[33] = [-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -Local $iAvailElixir, $iAvailDark, $sElixirCount, $sDarkCount, $TimeDiff, $aArray, $Result +Local $aUpgradeValue[36] = [-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +Local $iAvailElixir, $iAvailDark, $sElixirCount, $sDarkCount, $TimeDiff, $aArray, $Result, $iCheapestCost = 0 +Local $iXMoved = 0, $iYMoved = 0, $iFirstPageOffset = 0, $iLastPageOffset = 0 +Local $iSelectedUpgrade = $g_iCmbLaboratory $g_iUpgradeMinElixir = Number($g_iUpgradeMinElixir) $g_iUpgradeMinDark = Number($g_iUpgradeMinDark) $g_iLaboratoryElixirCost = 0 +$g_iLaboratoryDElixirCost = 0 If Not $g_bAutoLabUpgradeEnable Then Return -If $g_iCmbLaboratory = 0 Then -SetLog("Laboratory enabled, but no troop upgrade selected", $COLOR_WARNING) -Return False -EndIf If $g_aiLaboratoryPos[0] = 0 Or $g_aiLaboratoryPos[1] = 0 Then SetLog("Laboratory Location not found!", $COLOR_WARNING) LocateLab() @@ -61130,245 +61323,267 @@ $iAvailElixir = Number($sElixirCount) $iAvailDark = Number($sDarkCount) BuildingClickP($g_aiLaboratoryPos, "#0197") If _Sleep($DELAYLABORATORY3) Then Return -Local $offColors[4][3] = [[0x708CB0, 37, 34], [0x603818, 50, 43], [0xD5FC58, 61, 8], [0x000000, 82, 0]] -Local $ButtonPixel = _MultiPixelSearch(433, 565 + $g_iBottomOffsetY, 562, 619 + $g_iBottomOffsetY, 1, 1, Hex(0x000000, 6), $offColors, 30) -If IsArray($ButtonPixel) Then -If $g_bDebugSetlog Then -SetDebugLog("ButtonPixel = " & $ButtonPixel[0] & ", " & $ButtonPixel[1], $COLOR_DEBUG) -SetDebugLog("#1: " & _GetPixelColor($ButtonPixel[0], $ButtonPixel[1], True) & ", #2: " & _GetPixelColor($ButtonPixel[0] + 37, $ButtonPixel[1] + 34, True) & ", #3: " & _GetPixelColor($ButtonPixel[0] + 50, $ButtonPixel[1] + 43, True) & ", #4: " & _GetPixelColor($ButtonPixel[0] + 61, $ButtonPixel[1] + 8, True), $COLOR_DEBUG) -EndIf +If QuickMIS("BC1", @ScriptDir & "\imgxml\Lab\Research", 200, 620, 700, 700) Then If $g_bDebugImageSave Then DebugImageSave("LabUpgrade") -Click($ButtonPixel[0] + 40, $ButtonPixel[1] + 25, 1, 0, "#0198") +Click($g_iQuickMISX + 200, $g_iQuickMISY + 620) If _Sleep($DELAYLABORATORY1) Then Return Else -SetLog("Trouble finding research button, try again...", $COLOR_WARNING) +Setlog("Trouble finding research button, try again...", $COLOR_WARNING) ClickP($aAway, 2, $DELAYLABORATORY4, "#0199") Return False EndIf +If $g_bDebugSetlog Then SetLog("_GetPixelColor(730, 200): " & _GetPixelColor(730, 200, True) & ":A2CB6C", $COLOR_DEBUG) +If _ColorCheck(_GetPixelColor(730, 200, True), Hex(0xA2CB6C, 6), 20) Then +SetLog("Laboratory Upgrade in progress, waiting for completion", $COLOR_INFO) +If _Sleep($DELAYLABORATORY2) Then Return +Local $sLabTimeOCR = getRemainTLaboratory(270, 257) +Local $iLabFinishTime = ConvertOCRTime("Lab Time", $sLabTimeOCR, False) +SetDebugLog("$sLabTimeOCR: " & $sLabTimeOCR & ", $iLabFinishTime = " & $iLabFinishTime & " m") +If $iLabFinishTime > 0 Then +$g_sLabUpgradeTime = _DateAdd('n', Ceiling($iLabFinishTime), _NowCalc()) +If @error Then _logErrorDateAdd(@error) +SetLog("Research will finish in " & $sLabTimeOCR & " (" & $g_sLabUpgradeTime & ")") +LabStatusGUIUpdate() +ElseIf $g_bDebugSetlog Then +SetLog("Invalid getRemainTLaboratory OCR", $COLOR_DEBUG) +EndIf +ClickP($aAway, 2, $DELAYLABORATORY4, "#0328") +Return False +EndIf For $i = 1 to UBound($aiIconDefaultPOS) - 1 $g_avLabTroops[$i][0] = $aiIconDefaultPOS[$i][0] $g_avLabTroops[$i][1] = $aiIconDefaultPOS[$i][1] Next Local $aiCloseBtn = findButton("CloseWindow") If IsArray($aiCloseBtn) Then -Local $iXMoved = $aiCloseBtn[0] - $aiCloseDefaultPOS[0] -Local $iYMoved = $aiCloseBtn[1] - $aiCloseDefaultPOS[1] +$iXMoved = $aiCloseBtn[0] - $aiCloseDefaultPOS[0] +$iYMoved = $aiCloseBtn[1] - $aiCloseDefaultPOS[1] If $g_bDebugSetlog Then Setlog("Lab window off: (" & $iXMoved & ", " & $iYMoved & ")", $COLOR_DEBUG) -If $iXMoved <> 0 Then -For $i = 1 to UBound($aiIconDefaultPOS) - 1 -$g_avLabTroops[$i][0] = $aiIconDefaultPOS[$i][0] + $iXMoved -If $g_bDebugSetlog Then Setlog("New icon X position of " & $g_avLabTroops[$i][3] & " : " & $g_avLabTroops[$i][0], $COLOR_DEBUG) +Else +SetLog("Trouble finding lab close button, try again...", $COLOR_WARNING) +ClickP($aAway, 2, $DELAYLABORATORY4, "#0199") +Return False +EndIf +For $x = 0 To 10 +If Not(_ColorCheck(_GetPixelColor(114 + $x + $iXMoved, 410 + $iYMoved, True), $sColorBG, 10) And _ColorCheck(_GetPixelColor(114 + $x + $iXMoved, 520 + $iYMoved, True), $sColorBG, 10)) Then +$iFirstPageOffset = $x +ExitLoop +EndIf +Next +If $g_bDebugSetlog Then Setlog("Icon Offset on First Page: " & $iFirstPageOffset & "px", $COLOR_DEBUG) +For $i = 0 To 2 +ClickDrag(635, 439 + $g_iMidOffsetY, 220, 439 + $g_iMidOffsetY, 250) Next +If _Sleep($DELAYLABORATORY5) Then Return +For $x = 0 To 5 +If Not(_ColorCheck(_GetPixelColor(114 + $x + $iXMoved, 410 + $iYMoved, True), $sColorBG, 10) And _ColorCheck(_GetPixelColor(114 + $x + $iXMoved, 520 + $iYMoved, True), $sColorBG, 10)) Then +$iLastPageOffset = $x +ExitLoop EndIf -If $iYMoved <> 0 Then +Next +If $g_bDebugSetlog Then Setlog("Icon Offset on Last Page: " & $iLastPageOffset & "px", $COLOR_DEBUG) +For $i = 0 To 2 +ClickDrag(220, 439 + $g_iMidOffsetY, 635, 439 + $g_iMidOffsetY, 250) +Next +If _Sleep($DELAYLABORATORY5) Then Return For $i = 1 to UBound($aiIconDefaultPOS) - 1 +$g_avLabTroops[$i][0] = $aiIconDefaultPOS[$i][0] + $iXMoved +(($g_avLabTroops[$i][2] = 0) ? $iFirstPageOffset : 0) +(($g_avLabTroops[$i][2] = 2) ? $iLastPageOffset : 0) +If $g_bDebugSetlog Then Setlog("New icon X position of " & $g_avLabTroops[$i][3] & " : " & $g_avLabTroops[$i][0], $COLOR_DEBUG) $g_avLabTroops[$i][1] = $aiIconDefaultPOS[$i][1] + $iYMoved If $g_bDebugSetlog Then Setlog("New icon Y position of " & $g_avLabTroops[$i][3] & " : " & $g_avLabTroops[$i][1], $COLOR_DEBUG) Next -EndIf -Else -SetLog("Trouble finding lab close button, try again...", $COLOR_WARNING) -ClickP($aAway, 2, $DELAYLABORATORY4, "#0199") -Return False -EndIf If $g_bDebugSetlog Then LabTroopImages(1, 12) -If $g_iFirstTimeLab = 0 Then For $i = 1 To 12 $aUpgradeValue[$i] = getLabUpgrdResourceRed($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) -If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " Red text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) -If $aUpgradeValue[$i] = "" Or Int($aUpgradeValue[$i]) < 49999 Then +If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " Red text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) +If $aUpgradeValue[$i] = "" Or Int($aUpgradeValue[$i]) < 9999 Then $aUpgradeValue[$i] = getLabUpgrdResourceWht($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) -If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " White text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) +If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " White text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) EndIf -If $aUpgradeValue[$i] = "" Or Int($aUpgradeValue[$i]) < 49999 Then +If $aUpgradeValue[$i] = "" Or Int($aUpgradeValue[$i]) < 9999 Then +$aUpgradeValue[$i] = 0 If _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 76, True), $sColorMaxLvl, 20) And _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 80, True), $sColorMaxLvl, 20) Then $aUpgradeValue[$i] = -1 -If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " Is Maxed already, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) +If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " Is Maxed already, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) +ElseIf _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0], $g_avLabTroops[$i][1] + 20, True), $sColorLabUgReq, 25) = True Or _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 93, $g_avLabTroops[$i][1] + 20, True), $sColorLabUgReq, 25) = True Then +$aUpgradeValue[$i] = -1 +If $g_bDebugSetlog Then SetLog("Lab upgrade required for " & $g_avLabTroops[$i][3] & ", now = " & $aUpgradeValue[$i], $COLOR_DEBUG) +ElseIf _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 47, $g_avLabTroops[$i][1] + 1, True), $sColorNA, 20) = True Then +$aUpgradeValue[$i] = -1 +If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " not unlocked yet, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) EndIf EndIf If Not $g_bRunState Then Return Next -$g_iFirstTimeLab = 1 -EndIf -If $g_avLabTroops[$g_iCmbLaboratory][2] >= 1 Then -ClickDrag(650, 439 + $g_iMidOffsetY, 290, 439 + $g_iMidOffsetY, 1000) -If $g_avLabTroops[$g_iCmbLaboratory][2] = 1 Or $g_iFirstTimeLab < 2 Then +For $i = 0 To 1 +ClickDrag(615, 439 + $g_iMidOffsetY, 325, 439 + $g_iMidOffsetY, 250) +Next If _Sleep($DELAYLABORATORY3) Then Return -If Not ClickDragLab($aiIconDefaultPOS[14][0]) Then +If Not ClickDragLab($g_avLabTroops[14][0]) Then SetLog("Trouble finding 2nd page of lab, try again...", $COLOR_WARNING) ClickP($aAway, 2, $DELAYLABORATORY4, "#0199") Return False EndIf -EndIf If _Sleep($DELAYLABORATORY3) Then Return If $g_bDebugSetlog Then LabTroopImages(13, 20) -If $g_iFirstTimeLab < 2 Then -For $i = 13 To 20 +For $i = 13 To 24 $aUpgradeValue[$i] = getLabUpgrdResourceRed($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) -If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " Red text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) +If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " Red text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) If $aUpgradeValue[$i] = "" Or $aUpgradeValue[$i] < 9999 Then $aUpgradeValue[$i] = getLabUpgrdResourceWht($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) -If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " White text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) +If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " White text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) EndIf If $aUpgradeValue[$i] = "" Or $aUpgradeValue[$i] < 9999 Then +$aUpgradeValue[$i] = 0 If _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 76, True), $sColorMaxLvl, 20) And _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 80, True), $sColorMaxLvl, 20) Then $aUpgradeValue[$i] = -1 -If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " Is Maxed already, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) +If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " Is Maxed already, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) +ElseIf _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0], $g_avLabTroops[$i][1] + 20, True), $sColorLabUgReq, 25) = True Or _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 93, $g_avLabTroops[$i][1] + 20, True), $sColorLabUgReq, 25) = True Then +$aUpgradeValue[$i] = -1 +If $g_bDebugSetlog Then SetLog("Lab upgrade required for " & $g_avLabTroops[$i][3] & ", now = " & $aUpgradeValue[$i], $COLOR_DEBUG) +ElseIf _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 47, $g_avLabTroops[$i][1] + 1, True), $sColorNA, 20) = True Then +$aUpgradeValue[$i] = -1 +If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " not unlocked yet, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) EndIf EndIf If Not $g_bRunState Then Return Next -$g_iFirstTimeLab += 2 -EndIf -EndIf -If $g_avLabTroops[$g_iCmbLaboratory][2] = 2 Then -ClickDrag(650, 443 + $g_iMidOffsetY, 114, 443 + $g_iMidOffsetY, 1000) +For $i = 0 To 1 +ClickDrag(620, 439 + $g_iMidOffsetY, 320, 439 + $g_iMidOffsetY, 250) +Next If _Sleep($DELAYLABORATORY5) Then Return If $g_bDebugSetlog Then LabTroopImages(21, 32) -If $g_iFirstTimeLab < 4 Then -For $i = 21 To 32 +For $i = 25 To 35 $aUpgradeValue[$i] = getLabUpgrdResourceRed($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) -If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " Red text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) +If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " Red text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) If $aUpgradeValue[$i] = "" Or Int($aUpgradeValue[$i]) < 9999 Then -$aUpgradeValue[$i] = getLabUpgrdResourceWht($g_avLabTroops[$i][0] + 3 , $g_avLabTroops[$i][1] + 73) -If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " White text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) +$aUpgradeValue[$i] = getLabUpgrdResourceWht($g_avLabTroops[$i][0] + 3, $g_avLabTroops[$i][1] + 73) +If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " White text upgrade value = " & $aUpgradeValue[$i], $COLOR_DEBUG) EndIf If $aUpgradeValue[$i] = "" Or Int($aUpgradeValue[$i]) < 9999 Then +$aUpgradeValue[$i] = 0 If _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 76, True), $sColorMaxLvl, 20) And _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 80, True), $sColorMaxLvl, 20) Then $aUpgradeValue[$i] = -1 -If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$i][3] & " Is Maxed already, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) +If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " Is Maxed already, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) +ElseIf _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0], $g_avLabTroops[$i][1] + 20, True), $sColorLabUgReq, 25) = True Or _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 93, $g_avLabTroops[$i][1] + 20, True), $sColorLabUgReq, 25) = True Then +$aUpgradeValue[$i] = -1 +If $g_bDebugSetlog Then SetLog("Lab upgrade required for " & $g_avLabTroops[$i][3] & ", now = " & $aUpgradeValue[$i], $COLOR_DEBUG) +ElseIf _ColorCheck(_GetPixelColor($g_avLabTroops[$i][0] + 47, $g_avLabTroops[$i][1] + 1, True), $sColorNA, 20) = True Then +$aUpgradeValue[$i] = -1 +If $g_bDebugSetlog Then SetLog($g_avLabTroops[$i][3] & " not unlocked yet, now = " & $aUpgradeValue[$i], $COLOR_DEBUG) EndIf EndIf If Not $g_bRunState Then Return Next -$g_iFirstTimeLab += 4 -EndIf +If $aUpgradeValue[$g_iCmbLaboratory] = -1 Then +If $g_iCmbLaboratory = 0 Then +SetLog("No dedicated troop for upgrade selected, doing cheapest upgrade", $COLOR_ACTION) +Else +SetLog("No upgrade for " & $g_avLabTroops[$g_iCmbLaboratory][3] & " available, doing cheapest upgrade", $COLOR_ACTION) EndIf -Switch $g_iCmbLaboratory +For $i = 1 To 35 +Switch $i Case 1 To 19 ContinueCase -Case 31 To 32 -If $aUpgradeValue[$g_iCmbLaboratory] > 0 Then $g_iLaboratoryElixirCost = $aUpgradeValue[$g_iCmbLaboratory] +Case 33 To 35 +If $aUpgradeValue[$i] > 0 And($iCheapestCost = 0 Or $aUpgradeValue[$i] < $iCheapestCost) Then +$iSelectedUpgrade = $i +$iCheapestCost = $aUpgradeValue[$i] +EndIf +Case 20 To 32 +If $aUpgradeValue[$i] > 0 And($iCheapestCost = 0 Or $aUpgradeValue[$i] * 50 < $iCheapestCost) Then +$iSelectedUpgrade = $i +$iCheapestCost = $aUpgradeValue[$i] * 50 +EndIf EndSwitch -If _ColorCheck(_GetPixelColor(625, 266 + $g_iMidOffsetY, True), Hex(0x6CB91D, 6), 20) Or _ColorCheck(_GetPixelColor(660, 266 + $g_iMidOffsetY, True), Hex(0x6CB91D, 6), 20) Then -SetLog("Upgrade in progress, waiting for completion of other troops", $COLOR_INFO) -If _Sleep($DELAYLABORATORY2) Then Return -If $g_sLabUpgradeTime = "" Or $TimeDiff <= 0 Then -$Result = getRemainTLaboratory(270, 257) -If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$g_iCmbLaboratory][3] & " OCR Remaining Lab Time = " & $Result, $COLOR_DEBUG) -$aArray = StringSplit($Result, ' ', BitOR($STR_CHRSPLIT, $STR_NOCOUNT)) -If IsArray($aArray) Then -Local $iRemainingTimeMin = 0 -For $i = 0 To UBound($aArray) - 1 -Local $sTime = "" -Select -Case StringInStr($aArray[$i], "d", $STR_NOCASESENSEBASIC) > 0 -$sTime = StringTrimRight($aArray[$i], 1) -$iRemainingTimeMin +=(Int($sTime) * 24 * 60) -Case StringInStr($aArray[$i], "h", $STR_NOCASESENSEBASIC) > 0 -$sTime = StringTrimRight($aArray[$i], 1) -$iRemainingTimeMin +=(Int($sTime) * 60) -Case StringInStr($aArray[$i], "m", $STR_NOCASESENSEBASIC) > 0 -$sTime = StringTrimRight($aArray[$i], 1) -$iRemainingTimeMin += Int($sTime) -Case StringInStr($aArray[$i], "s", $STR_NOCASESENSEBASIC) > 0 -$sTime = StringTrimRight($aArray[$i], 1) -$iRemainingTimeMin += Int($sTime) / 60 -Case Else -SetLog("Remaining lab time OCR invalid:" & $aArray[$i], $COLOR_WARNING) -ClickP($aAway, 2, $DELAYLABORATORY4, "#0328") -Return False -EndSelect -If $g_bDebugSetlog Then SetDebugLog("Remain Lab Time: " & $aArray[$i] & ", Minutes= " & $iRemainingTimeMin, $COLOR_DEBUG) Next -$g_sLabUpgradeTime = _DateAdd('n', Ceiling($iRemainingTimeMin), _NowCalc()) -If @error Then _logErrorDateAdd(@error) -SetLog("Updated Lab finishing time: " & $g_sLabUpgradeTime, $COLOR_SUCCESS) -LabStatusGUIUpdate() +If $g_iCmbLaboratory = $iSelectedUpgrade Then +SetLog("No alternate troop for upgrade found", $COLOR_WARNING) +ClickP($aAway, 2, $DELAYLABORATORY4, "#0353") +Return False Else -If $g_bDebugSetlog Then SetDebugLog("Invalid getRemainTLaboratory OCR", $COLOR_DEBUG) +SetLog($g_avLabTroops[$iSelectedUpgrade][3] & " selected for upgrade, upgrade cost = " & $aUpgradeValue[$iSelectedUpgrade], $COLOR_INFO) EndIf EndIf -ClickP($aAway, 2, $DELAYLABORATORY4, "#0328") -Return False -EndIf -If $aUpgradeValue[$g_iCmbLaboratory] = -1 Then -SetLog($g_avLabTroops[$g_iCmbLaboratory][3] & " already max level, select another troop", $COLOR_WARNING) -ClickP($aAway, 2, $DELAYLABORATORY4, "#0353") +If $g_avLabTroops[$iSelectedUpgrade][2] < 2 Then +If $g_avLabTroops[$iSelectedUpgrade][2] = 1 Then +For $i = 0 To 1 +ClickDrag(320, 439 + $g_iMidOffsetY, 620, 439 + $g_iMidOffsetY, 250) +Next +If _Sleep($DELAYLABORATORY3) Then Return +If Not ClickDragLab($g_avLabTroops[14][0]) Then +SetLog("Trouble finding 2nd page of lab, try again...", $COLOR_WARNING) +ClickP($aAway, 2, $DELAYLABORATORY4, "#0199") Return False EndIf -If $aUpgradeValue[$g_iCmbLaboratory] = 0 Then -If _ColorCheck(_GetPixelColor($g_avLabTroops[$g_iCmbLaboratory][0], $g_avLabTroops[$g_iCmbLaboratory][1] + 20, True), $sColorLabUgReq, 25) = True Or _ColorCheck(_GetPixelColor($g_avLabTroops[$g_iCmbLaboratory][0] + 93, $g_avLabTroops[$g_iCmbLaboratory][1] + 20, True), $sColorLabUgReq, 25) = True Then -SetLog("Lab upgrade required for " & $g_avLabTroops[$g_iCmbLaboratory][3] & ", select another troop", $COLOR_WARNING) -If _Sleep($DELAYLABUPGRADE2) Then Return -ElseIf _ColorCheck(_GetPixelColor($g_avLabTroops[$g_iCmbLaboratory][0] + 47, $g_avLabTroops[$g_iCmbLaboratory][1] + 1, True), $sColorNA, 20) = True Then -SetLog($g_avLabTroops[$g_iCmbLaboratory][3] & " not unlocked yet, try later or select another troop", $COLOR_WARNING) Else -SetLog($g_avLabTroops[$g_iCmbLaboratory][3] & " value read error, close bot and try again!", $COLOR_ERROR) -$g_iFirstTimeLab = 0 +For $i = 0 To 2 +ClickDrag(220, 439 + $g_iMidOffsetY, 635, 439 + $g_iMidOffsetY, 250) +Next EndIf -ClickP($aAway, 2, $DELAYLABORATORY4, "#0354") -Return False +If _Sleep($DELAYLABORATORY5) Then Return EndIf -Switch $g_iCmbLaboratory +Switch $iSelectedUpgrade Case 1 To 19 ContinueCase -Case 31 To 32 -If $iAvailElixir <($aUpgradeValue[$g_iCmbLaboratory] + $g_iUpgradeMinElixir) Then -SetLog("Insufficent Elixir for " & $g_avLabTroops[$g_iCmbLaboratory][3] & ", Lab requires: " & $aUpgradeValue[$g_iCmbLaboratory] & " + " & $g_iUpgradeMinElixir & " user reserve, available: " & $iAvailElixir, $COLOR_INFO) +Case 33 To 35 +If $iAvailElixir <($aUpgradeValue[$iSelectedUpgrade] + $g_iUpgradeMinElixir) Then +If $aUpgradeValue[$iSelectedUpgrade] > 0 Then $g_iLaboratoryElixirCost = $aUpgradeValue[$iSelectedUpgrade] +SetLog("Insufficent Elixir for " & $g_avLabTroops[$iSelectedUpgrade][3] & ", Lab requires: " & $aUpgradeValue[$iSelectedUpgrade] & " + " & $g_iUpgradeMinElixir & " user reserve, available: " & $iAvailElixir, $COLOR_INFO) ClickP($aAway, 2, $DELAYLABORATORY4, "#0355") Return False EndIf -If LabUpgrade() = True Then -SetLog("Elixir used = " & $aUpgradeValue[$g_iCmbLaboratory], $COLOR_INFO) +If LabUpgrade($iSelectedUpgrade) = True Then +SetLog("Elixir used = " & $aUpgradeValue[$iSelectedUpgrade], $COLOR_INFO) ClickP($aAway, 2, $DELAYLABORATORY4, "#0356") Return True EndIf -Case 20 To 30 -If $iAvailDark < $aUpgradeValue[$g_iCmbLaboratory] + $g_iUpgradeMinDark Then -SetLog("Insufficent Dark Elixir for " & $g_avLabTroops[$g_iCmbLaboratory][3] & ", Lab requires: " & $aUpgradeValue[$g_iCmbLaboratory] & " + " & $g_iUpgradeMinDark & " user reserve, available: " & $iAvailDark, $COLOR_INFO) +Case 20 To 32 +If $iAvailDark < $aUpgradeValue[$iSelectedUpgrade] + $g_iUpgradeMinDark Then +If $aUpgradeValue[$iSelectedUpgrade] > 0 Then $g_iLaboratoryDElixirCost = $aUpgradeValue[$iSelectedUpgrade] +SetLog("Insufficent Dark Elixir for " & $g_avLabTroops[$iSelectedUpgrade][3] & ", Lab requires: " & $aUpgradeValue[$iSelectedUpgrade] & " + " & $g_iUpgradeMinDark & " user reserve, available: " & $iAvailDark, $COLOR_INFO) ClickP($aAway, 2, $DELAYLABORATORY4, "#0357") Return False EndIf -If LabUpgrade() = True Then -SetLog("Dark Elixir used = " & $aUpgradeValue[$g_iCmbLaboratory], $COLOR_INFO) +If LabUpgrade($iSelectedUpgrade) = True Then +SetLog("Dark Elixir used = " & $aUpgradeValue[$iSelectedUpgrade], $COLOR_INFO) ClickP($aAway, 2, $DELAYLABORATORY4, "#0358") Return True EndIf Case Else -SetLog("Something went wrong with loot value on Lab upgrade on #" & $g_avLabTroops[$g_iCmbLaboratory][3], $COLOR_ERROR) +SetLog("Something went wrong with loot value on Lab upgrade on #" & $g_avLabTroops[$iSelectedUpgrade][3], $COLOR_ERROR) Return False EndSwitch ClickP($aAway, 2, $DELAYLABORATORY4, "#0359") Return False EndFunc -Func LabUpgrade() +Func LabUpgrade($iSelectedUpgrade) Local $StartTime, $EndTime, $EndPeriod, $Result, $TimeAdd = 0 Select -Case _ColorCheck(_GetPixelColor($g_avLabTroops[$g_iCmbLaboratory][0] + 47, $g_avLabTroops[$g_iCmbLaboratory][1] + 1, True), $sColorNA, 20) = True -SetLog($g_avLabTroops[$g_iCmbLaboratory][3] & " not unlocked yet, select another troop", $COLOR_WARNING) +Case _ColorCheck(_GetPixelColor($g_avLabTroops[$iSelectedUpgrade][0] + 47, $g_avLabTroops[$iSelectedUpgrade][1] + 1, True), $sColorNA, 20) = True +SetLog($g_avLabTroops[$iSelectedUpgrade][3] & " not unlocked yet, select another troop", $COLOR_WARNING) If _Sleep($DELAYLABUPGRADE2) Then Return -Case _PixelSearch($g_avLabTroops[$g_iCmbLaboratory][0] + 67, $g_avLabTroops[$g_iCmbLaboratory][1] + 79, $g_avLabTroops[$g_iCmbLaboratory][0] + 69, $g_avLabTroops[$g_iCmbLaboratory][0] + 84, $sColorNoLoot, 20) <> 0 -SetLog("Value check error and Not enough Loot to upgrade " & $g_avLabTroops[$g_iCmbLaboratory][3] & "...", $COLOR_ERROR) +Case _PixelSearch($g_avLabTroops[$iSelectedUpgrade][0] + 67, $g_avLabTroops[$iSelectedUpgrade][1] + 79, $g_avLabTroops[$iSelectedUpgrade][0] + 69, $g_avLabTroops[$iSelectedUpgrade][0] + 84, $sColorNoLoot, 20) <> 0 +SetLog("Value check error and Not enough Loot to upgrade " & $g_avLabTroops[$iSelectedUpgrade][3] & "...", $COLOR_ERROR) If _Sleep($DELAYLABUPGRADE2) Then Return -Case _ColorCheck(_GetPixelColor($g_avLabTroops[$g_iCmbLaboratory][0] + 22, $g_avLabTroops[$g_iCmbLaboratory][1] + 60, True), Hex(0xFFC360, 6), 20) = True -SetLog($g_avLabTroops[$g_iCmbLaboratory][3] & " already max level, select another troop", $COLOR_ERROR) +Case _ColorCheck(_GetPixelColor($g_avLabTroops[$iSelectedUpgrade][0] + 22, $g_avLabTroops[$iSelectedUpgrade][1] + 60, True), Hex(0xFFC360, 6), 20) = True +SetLog($g_avLabTroops[$iSelectedUpgrade][3] & " already max level, select another troop", $COLOR_ERROR) If _Sleep($DELAYLABUPGRADE2) Then Return -Case _ColorCheck(_GetPixelColor($g_avLabTroops[$g_iCmbLaboratory][0] + 3, $g_avLabTroops[$g_iCmbLaboratory][1] + 19, True), Hex(0xB7B7B7, 6), 20) = True -SetLog("Laboratory upgrade not available now for " & $g_avLabTroops[$g_iCmbLaboratory][3] & "...", $COLOR_ERROR) +Case _ColorCheck(_GetPixelColor($g_avLabTroops[$iSelectedUpgrade][0] + 3, $g_avLabTroops[$iSelectedUpgrade][1] + 19, True), Hex(0xB7B7B7, 6), 20) = True +SetLog("Laboratory upgrade not available now for " & $g_avLabTroops[$iSelectedUpgrade][3] & "...", $COLOR_ERROR) If _Sleep($DELAYLABUPGRADE2) Then Return Case Else -Click($g_avLabTroops[$g_iCmbLaboratory][0] + 40, $g_avLabTroops[$g_iCmbLaboratory][1] + 40, 1, 0, "#0200") +Click($g_avLabTroops[$iSelectedUpgrade][0] + 40, $g_avLabTroops[$iSelectedUpgrade][1] + 40, 1, 0, "#0200") If _Sleep($DELAYLABUPGRADE1) Then Return If $g_bDebugImageSave Then DebugImageSave("LabUpgrade") If _ColorCheck(_GetPixelColor(258, 192, True), Hex(0xFF1919, 6), 20) And _ColorCheck(_GetPixelColor(272, 194, True), Hex(0xFF1919, 6), 20) Then -SetLog($g_avLabTroops[$g_iCmbLaboratory][3] & " Previously maxxed, select another troop", $COLOR_ERROR) +SetLog($g_avLabTroops[$iSelectedUpgrade][3] & " Previously maxxed, select another troop", $COLOR_ERROR) If _Sleep($DELAYLABUPGRADE2) Then Return ClickP($aAway, 2, $DELAYLABUPGRADE3, "#0201") Return False EndIf -If _PixelSearch($g_avLabTroops[$g_iCmbLaboratory][0] + 67, $g_avLabTroops[$g_iCmbLaboratory][1] + 79, $g_avLabTroops[$g_iCmbLaboratory][0] + 69, $g_avLabTroops[$g_iCmbLaboratory][0] + 84, $sColorNoLoot, 20) <> 0 Then -SetLog("Missing Loot to upgrade " & $g_avLabTroops[$g_iCmbLaboratory][3] & " (secondary check after Upgrade Value read failed)", $COLOR_ERROR) +If _PixelSearch($g_avLabTroops[$iSelectedUpgrade][0] + 67, $g_avLabTroops[$iSelectedUpgrade][1] + 79, $g_avLabTroops[$iSelectedUpgrade][0] + 69, $g_avLabTroops[$iSelectedUpgrade][0] + 84, $sColorNoLoot, 20) <> 0 Then +SetLog("Missing Loot to upgrade " & $g_avLabTroops[$iSelectedUpgrade][3] & " (secondary check after Upgrade Value read failed)", $COLOR_ERROR) If _Sleep($DELAYLABUPGRADE2) Then Return ClickP($aAway, 2, $DELAYLABUPGRADE3, "#0333") Return False @@ -61379,66 +61594,35 @@ If _Sleep($DELAYLABORATORY2) Then Return ClickP($aAway, 2, $DELAYLABORATORY4, "#0000") Return False Else -$Result = getLabUpgradeTime(481, 557) -SetLog($g_avLabTroops[$g_iCmbLaboratory][3] & " Upgrade OCR Time = " & $Result, $COLOR_INFO) +$Result = getLabUpgradeTime(581, 497) +Local $iLabFinishTime = ConvertOCRTime("Lab Time", $Result, False) +SetLog($g_avLabTroops[$iSelectedUpgrade][3] & " Upgrade OCR Time = " & $Result & ", $iLabFinishTime = " & $iLabFinishTime & " m", $COLOR_INFO) $StartTime = _NowCalc() -If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$g_iCmbLaboratory][3] & "Upgrade Started @ " & $StartTime, $COLOR_SUCCESS) -$EndTime = "" -$EndPeriod = "" -$TimeAdd = 0 -$g_sLabUpgradeTime = StringStripWS($Result, $STR_STRIPALL) -Local $aArray = StringRegExp($g_sLabUpgradeTime, '\d+', $STR_REGEXPARRAYMATCH) -If IsArray($aArray) Then -If $g_bDebugSetlog Then -For $i = 0 To UBound($aArray) - 1 -SetLog("UpgradeTime $aArray[" & $i & "] = " & $aArray[$i]) -Next -EndIf -$EndTime = $aArray[0] -$EndPeriod = StringReplace($g_sLabUpgradeTime, $EndTime, "") -Switch $EndPeriod -Case "d" -$TimeAdd =(Int($EndTime) * 24 * 60) - 10 -$g_sLabUpgradeTime = _DateAdd('n', Int($TimeAdd), $StartTime) -Case "h" -$TimeAdd =(Int($EndTime) * 60) - 3 -$g_sLabUpgradeTime = _DateAdd('n', Int($TimeAdd), $StartTime) -Case "m" -$TimeAdd = Int($EndTime) -$g_sLabUpgradeTime = _DateAdd('n', Int($TimeAdd), $StartTime) -Case Else -SetLog("Upgrade time period invalid, try again!", $COLOR_WARNING) -EndSwitch -If $g_bDebugSetlog Then SetDebugLog("$EndTime = " & $EndTime & " , $EndPeriod = " & $EndPeriod & ", $timeadd = " & $TimeAdd, $COLOR_DEBUG) -SetLog($g_avLabTroops[$g_iCmbLaboratory][3] & "Upgrade Finishes @ " & $g_sLabUpgradeTime, $COLOR_SUCCESS) +If $g_bDebugSetlog Then SetDebugLog($g_avLabTroops[$iSelectedUpgrade][3] & " Upgrade Started @ " & $StartTime, $COLOR_SUCCESS) +If $iLabFinishTime > 0 Then +$g_sLabUpgradeTime = _DateAdd('n', Ceiling($iLabFinishTime), $StartTime) +SetLog($g_avLabTroops[$iSelectedUpgrade][3] & " Upgrade Finishes @ " & $Result & " (" & $g_sLabUpgradeTime & ")", $COLOR_SUCCESS) Else -SetLog("Error reading the upgrade time required, try again!", $COLOR_WARNING) -EndIf -If _DateIsValid($g_sLabUpgradeTime) = 0 Then SetLog("Error processing upgrade time required, try again!", $COLOR_WARNING) Return False -Else -Local $txtTip = GetTranslatedFileIni("MBR Func_Village_Upgrade", "BtnResetLabUpgradeTime_Info_01", "Visible Red button means that laboratory upgrade in process") & @CRLF & GetTranslatedFileIni("MBR Func_Village_Upgrade", "BtnResetLabUpgradeTime_Info_02", "This will automatically disappear when near time for upgrade to be completed.") & @CRLF & GetTranslatedFileIni("MBR Func_Village_Upgrade", "BtnResetLabUpgradeTime_Info_03", "If upgrade has been manually finished with gems before normal end time,") & @CRLF & GetTranslatedFileIni("MBR Func_Village_Upgrade", "BtnResetLabUpgradeTime_Info_04", "Click red button to reset internal upgrade timer BEFORE STARTING NEW UPGRADE") & @CRLF & GetTranslatedFileIni("MBR Func_Village_Upgrade", "BtnResetLabUpgradeTime_Info_05", "Caution - Unnecessary timer reset will force constant checks for lab status") & @CRLF & @CRLF & GetTranslatedFileIni("MBR Func_Village_Upgrade", "BtnResetLabUpgradeTime_Info_06", "Troop Upgrade started") & ": " & $StartTime & ", " & GetTranslatedFileIni("MBR Func_Village_Upgrade", "BtnResetLabUpgradeTime_Info_07", "Will begin to check completion at:") & " " & $g_sLabUpgradeTime & @CRLF & " " -_GUICtrlSetTip($g_hBtnResetLabUpgradeTime, $txtTip) EndIf +LabStatusGUIUpdate() Click(660, 520 + $g_iMidOffsetY, 1, 0, "#0202") If _Sleep($DELAYLABUPGRADE1) Then Return EndIf If isGemOpen(True) = False Then If Not(_ColorCheck(_GetPixelColor(625, 218 + $g_iMidOffsetY, True), Hex(0x6fbd1f, 6), 15) Or _ColorCheck(_GetPixelColor(660, 218 + $g_iMidOffsetY, True), Hex(0x6fbd1f, 6), 15)) Then -SetLog("Something went wrong with " & $g_avLabTroops[$g_iCmbLaboratory][3] & " Upgrade, try again.", $COLOR_ERROR) +SetLog("Something went wrong with " & $g_avLabTroops[$iSelectedUpgrade][3] & " Upgrade, try again.", $COLOR_ERROR) ClickP($aAway, 2, $DELAYLABUPGRADE3, "#0360") Return False EndIf -SetLog("Upgrade " & $g_avLabTroops[$g_iCmbLaboratory][3] & " in your laboratory started with success...", $COLOR_SUCCESS) +SetLog("Upgrade " & $g_avLabTroops[$iSelectedUpgrade][3] & " in your laboratory started with success...", $COLOR_SUCCESS) PushMsg("LabSuccess") If _Sleep($DELAYLABUPGRADE2) Then Return -$g_bAutoLabUpgradeEnable = False -GUICtrlSetState($g_hChkAutoLabUpgrades, $GUI_UNCHECKED) ClickP($aAway, 2, 0, "#0204") Return True Else -SetLog("Oops, Gems required for " & $g_avLabTroops[$g_iCmbLaboratory][3] & " Upgrade, try again.", $COLOR_ERROR) +SetLog("Oops, Gems required for " & $g_avLabTroops[$iSelectedUpgrade][3] & " Upgrade, try again.", $COLOR_ERROR) EndIf EndSelect ClickP($aAway, 2, $DELAYLABUPGRADE3, "#0205") @@ -61458,8 +61642,8 @@ WEnd If $iDiff = 0 Then Return True ElseIf Abs($iDiff) < 10 Then -For $i = 13 to 20 -$g_avLabTroops[$i][0] = $aiIconDefaultPOS[$i][0] - $iDiff +For $i = 13 to 24 +$g_avLabTroops[$i][0] = $g_avLabTroops[$i][0] - $iDiff If $g_bDebugSetlog Then Setlog("New icon X position of " & $g_avLabTroops[$i][3] & " : " & $g_avLabTroops[$i][0], $COLOR_DEBUG) Next Return True @@ -61510,16 +61694,16 @@ Func LabTroopImages($iStart, $iEnd) If $g_bDebugImageSave Then DebugImageSave("LabUpgrade") For $i = $iStart To $iEnd DebugIconSave($g_avLabTroops[$i][3], $g_avLabTroops[$i][0], $g_avLabTroops[$i][1]) -SetLog($g_avLabTroops[$i][3], $COLOR_WARNING) -SetLog("_GetPixelColor(+47, +1): " & _GetPixelColor($g_avLabTroops[$i][0] + 47, $g_avLabTroops[$i][1] + 1, True) & ":D3D3CB =Not unlocked", $COLOR_DEBUG) -SetLog("_GetPixelColor(+68, +79): " & _GetPixelColor($g_avLabTroops[$i][0] + 68, $g_avLabTroops[$i][1] + 79, True) & ":FD877E =No Loot1", $COLOR_DEBUG) -SetLog("_GetPixelColor(+68, +82): " & _GetPixelColor($g_avLabTroops[$i][0] + 68, $g_avLabTroops[$i][1] + 84, True) & ":FD877E =No Loot2", $COLOR_DEBUG) -SetLog("_GetPixelColor(+81, +82): " & _GetPixelColor($g_avLabTroops[$i][0] + 81, $g_avLabTroops[$i][1] + 82, True) & ":XXXXXX =Loot type", $COLOR_DEBUG) -SetLog("_GetPixelColor(+76, +76): " & _GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 76, True) & ":FFFFFF =Max L", $COLOR_DEBUG) -SetLog("_GetPixelColor(+76, +80): " & _GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 80, True) & ":FFFFFF =Max L", $COLOR_DEBUG) -SetLog("_GetPixelColor(+0, +20): " & _GetPixelColor($g_avLabTroops[$i][0] + 0, $g_avLabTroops[$i][1] + 20, True) & ":838383 =Lab Upgrade", $COLOR_DEBUG) -SetLog("_GetPixelColor(+93, +20): " & _GetPixelColor($g_avLabTroops[$i][0] + 93, $g_avLabTroops[$i][1] + 20, True) & ":838383 =Lab Upgrade", $COLOR_DEBUG) -SetLog("_GetPixelColor(+8, +59): " & _GetPixelColor($g_avLabTroops[$i][0] + 23, $g_avLabTroops[$i][1] + 60, True) & ":FFC360 =Max troop", $COLOR_DEBUG) +SetDebugLog($g_avLabTroops[$i][3], $COLOR_WARNING) +SetDebugLog("_GetPixelColor(+47, +1): " & _GetPixelColor($g_avLabTroops[$i][0] + 47, $g_avLabTroops[$i][1] + 1, True) & ":D3D3CB =Not unlocked", $COLOR_DEBUG) +SetDebugLog("_GetPixelColor(+68, +79): " & _GetPixelColor($g_avLabTroops[$i][0] + 68, $g_avLabTroops[$i][1] + 79, True) & ":FD877E =No Loot1", $COLOR_DEBUG) +SetDebugLog("_GetPixelColor(+68, +82): " & _GetPixelColor($g_avLabTroops[$i][0] + 68, $g_avLabTroops[$i][1] + 84, True) & ":FD877E =No Loot2", $COLOR_DEBUG) +SetDebugLog("_GetPixelColor(+81, +82): " & _GetPixelColor($g_avLabTroops[$i][0] + 81, $g_avLabTroops[$i][1] + 82, True) & ":XXXXXX =Loot type", $COLOR_DEBUG) +SetDebugLog("_GetPixelColor(+76, +76): " & _GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 76, True) & ":FFFFFF =Max L", $COLOR_DEBUG) +SetDebugLog("_GetPixelColor(+76, +80): " & _GetPixelColor($g_avLabTroops[$i][0] + 76, $g_avLabTroops[$i][1] + 80, True) & ":FFFFFF =Max L", $COLOR_DEBUG) +SetDebugLog("_GetPixelColor(+0, +20): " & _GetPixelColor($g_avLabTroops[$i][0] + 0, $g_avLabTroops[$i][1] + 20, True) & ":838383 =Lab Upgrade", $COLOR_DEBUG) +SetDebugLog("_GetPixelColor(+93, +20): " & _GetPixelColor($g_avLabTroops[$i][0] + 93, $g_avLabTroops[$i][1] + 20, True) & ":838383 =Lab Upgrade", $COLOR_DEBUG) +SetDebugLog("_GetPixelColor(+8, +59): " & _GetPixelColor($g_avLabTroops[$i][0] + 23, $g_avLabTroops[$i][1] + 60, True) & ":FFC360 =Max troop", $COLOR_DEBUG) Next EndFunc Func ReplayShare($bShareLastReplay) @@ -61632,13 +61816,13 @@ EndIf If $g_bUpgradeWardenEnable Then If Not isInsideDiamond($g_aiWardenAltarPos) Then LocateWardenAltar() If $g_aiWardenAltarPos[0] = -1 Or $g_aiWardenAltarPos[1] = -1 Then LocateWardenAltar() -EndIf -If $g_bAutoLabUpgradeEnable And $g_iCmbLaboratory >= 20 And $g_iCmbLaboratory <= 30 Then -SetLog("Laboratory needs DE to Upgrade : " & $g_avLabTroops[$g_iCmbLaboratory][3]) -SetLog("Skipping the Heroes Upgrade!") -Return +SaveConfig() EndIf SetLog("Upgrading Heroes", $COLOR_INFO) +If $g_bAutoLabUpgradeEnable And $g_iLaboratoryDElixirCost > 0 Then +SetLog("Laboratory needs DE to Upgrade : " & $g_iLaboratoryDElixirCost) +SetLog("Skipping the Queen and King Upgrade!") +Else If $g_bUpgradeQueenEnable And BitAND($g_iHeroUpgradingBit, $eHeroQueen) <> $eHeroQueen Then If Not getBuilderCount() Then Return If _Sleep($DELAYRESPOND) Then Return @@ -61659,7 +61843,11 @@ EndIf KingUpgrade() If _Sleep($DELAYUPGRADEHERO1) Then Return EndIf -If $g_bUpgradeWardenEnable And BitAND($g_iHeroUpgradingBit, $eHeroWarden) <> $eHeroWarden Then +EndIf +If $g_bAutoLabUpgradeEnable And $g_iLaboratoryElixirCost > 0 Then +SetLog("Laboratory needs Elixir to Upgrade : " & $g_iLaboratoryElixirCost) +SetLog("Skipping the Warden Upgrade!") +ElseIf $g_bUpgradeWardenEnable And BitAND($g_iHeroUpgradingBit, $eHeroWarden) <> $eHeroWarden Then If Not getBuilderCount() Then Return If _Sleep($DELAYRESPOND) Then Return If $g_iFreeBuilderCount < 1 +($g_bUpgradeWallSaveBuilder ? 1 : 0) Then @@ -62635,7 +62823,7 @@ WEnd EndIf SetDebugLog("- Current Account: " & $g_asProfileName[$g_iCurAccount] & " number: " & $g_iCurAccount + 1) SetDebugLog("- Next Account: " & $g_asProfileName[$g_iNextAccount] & " number: " & $g_iNextAccount + 1) -If $g_abPBActive[$g_iNextAccount] Then +If $g_abPBActive[$g_iNextAccount] And _DateDiff("n", _NowCalc(), $g_asTrainTimeFinish[$g_iNextAccount]) > 2 Then SetLog("Account " & $g_iNextAccount + 1 & " is in a Personal Break Time!", $COLOR_INFO) SetSwitchAccLog(" - Account " & $g_iNextAccount + 1 & " is in PTB") $g_iNextAccount = $g_iNextAccount + 1 @@ -63413,7 +63601,7 @@ Static $aiAttackedVillageCount = $aiZero86 Static $aiTotalGoldGain = $aiZero86, $aiTotalElixirGain = $aiZero86, $aiTotalDarkGain = $aiZero86, $aiTotalTrophyGain = $aiZero86 Static $aiNbrOfDetectedMines = $aiZero86, $aiNbrOfDetectedCollectors = $aiZero86, $aiNbrOfDetectedDrills = $aiZero86 Static $aiSmartZapGain = $aiZero, $aiNumEQSpellsUsed = $aiZero, $aiNumLSpellsUsed = $aiZero -Static $asLabUpgradeTime = $asEmpty, $aiLabStatus = $aiZero +Static $asLabUpgradeTime = $asEmpty, $aiLabStatus = $aiZero, $aiLabElixirCost = $aiZero, $aiLabDElixirCost = $aiZero Switch $sType Case "Reset" $aiFirstRun = $aiTrue @@ -63461,6 +63649,8 @@ $aiSmartZapGain = $aiZero $aiNumEQSpellsUsed = $aiZero $aiNumLSpellsUsed = $aiZero $asLabUpgradeTime = $asEmpty +$aiLabElixirCost = $aiZero +$aiLabDElixirCost = $aiZero $aiLabStatus = $aiZero Case "Save" $aiFirstRun[$g_iCurAccount] = $g_iFirstRun @@ -63506,6 +63696,8 @@ $aiSmartZapGain[$g_iCurAccount] = $g_iSmartZapGain $aiNumEQSpellsUsed[$g_iCurAccount] = $g_iNumEQSpellsUsed $aiNumLSpellsUsed[$g_iCurAccount] = $g_iNumLSpellsUsed $asLabUpgradeTime[$g_iCurAccount] = $g_sLabUpgradeTime +$aiLabElixirCost[$g_iCurAccount] = $g_iLaboratoryElixirCost +$aiLabDElixirCost[$g_iCurAccount] = $g_iLaboratoryDElixirCost If GUICtrlGetState($g_hPicLabGreen) = $GUI_ENABLE + $GUI_SHOW Then $aiLabStatus[$g_iCurAccount] = 1 ElseIf GUICtrlGetState($g_hPicLabRed) = $GUI_ENABLE + $GUI_SHOW Then @@ -63557,6 +63749,8 @@ $g_iSmartZapGain = $aiSmartZapGain[$g_iCurAccount] $g_iNumEQSpellsUsed = $aiNumEQSpellsUsed[$g_iCurAccount] $g_iNumLSpellsUsed = $aiNumLSpellsUsed[$g_iCurAccount] $g_sLabUpgradeTime = $asLabUpgradeTime[$g_iCurAccount] +$g_iLaboratoryElixirCost = $aiLabElixirCost[$g_iCurAccount] +$g_iLaboratoryDElixirCost = $aiLabDElixirCost[$g_iCurAccount] Local $Counter = 0 For $i = $g_hPicLabGray To $g_hPicLabRed GUICtrlSetState($i, $GUI_HIDE) @@ -63687,6 +63881,7 @@ Next Local $aSelectChallenges[0][5] If UBound($aAllDetectionsOnScreen) > 0 Then For $i = 0 To UBound($aAllDetectionsOnScreen) - 1 +If IsBBChallenge($aAllDetectionsOnScreen[$i][2], $aAllDetectionsOnScreen[$i][3]) Then ContinueLoop Switch $aAllDetectionsOnScreen[$i][0] Case "L" If Not $g_bChkClanGamesLoot Then ContinueLoop @@ -63735,11 +63930,18 @@ If Not $g_bChkClanGamesBattle Then ContinueLoop Local $BattleChallenges = ClanGamesChallenges("$BattleChallenges", False, $sINIPath, $g_bChkClanGamesDebug) For $j = 0 To UBound($BattleChallenges) - 1 If $aAllDetectionsOnScreen[$i][1] = $BattleChallenges[$j][0] Then +If $BattleChallenges[$j][1] = "Scrappy 6s" And($g_iTownHallLevel < 5 Or $g_iTownHallLevel > 7) Then ExitLoop +If $BattleChallenges[$j][1] = "Super 7s" And($g_iTownHallLevel < 6 Or $g_iTownHallLevel > 8) Then ExitLoop +If $BattleChallenges[$j][1] = "Exciting 8s" And($g_iTownHallLevel < 7 Or $g_iTownHallLevel > 9) Then ExitLoop +If $BattleChallenges[$j][1] = "Noble 9s" And($g_iTownHallLevel < 8 Or $g_iTownHallLevel > 10) Then ExitLoop +If $BattleChallenges[$j][1] = "Terrific 10s" And($g_iTownHallLevel < 9 Or $g_iTownHallLevel > 11) Then ExitLoop +If $BattleChallenges[$j][1] = "Exotic 11s" And $g_iTownHallLevel < 10 Then ExitLoop +If $BattleChallenges[$j][1] = "Triumphant 12s" And $g_iTownHallLevel < 11 Then ExitLoop If $g_iTownHallLevel < $BattleChallenges[$j][2] Then ExitLoop If $BattleChallenges[$j][3] = 0 Then ExitLoop If $BattleChallenges[$j][1] = "Attack Up" And $g_iTownHallLevel >= 12 Then ExitLoop If $BattleChallenges[$j][1] = "Slaying The Titans" And Int($g_aiCurrentLoot[$eLootTrophy]) < 4100 Then ExitLoop -If $BattleChallenges[$j][1] = "No-Magic Zone" And($g_bSmartZapEnable = True Or($g_iMatchMode = $DB And $g_aiAttackAlgorithm[$DB] = 1) Or($g_iMatchMode = $LB And $g_aiAttackAlgorithm[$LB] = 1)) Then ExitLoop +If $BattleChallenges[$j][1] = "No-Magic Zone" And(($g_iMatchMode = $DB And $g_aiAttackAlgorithm[$DB] = 1) Or($g_iMatchMode = $LB And $g_aiAttackAlgorithm[$LB] = 1)) Then ExitLoop If $BattleChallenges[$j][1] = "No Heroics Allowed" And((Int($g_aiAttackUseHeroes[$DB]) > $eHeroNone And $g_iMatchMode = $DB) Or(Int($g_aiAttackUseHeroes[$LB]) > $eHeroNone And $g_iMatchMode = $LB)) Then ExitLoop Local $aArray[4] = [$BattleChallenges[$j][1], $aAllDetectionsOnScreen[$i][2], $aAllDetectionsOnScreen[$i][3], $BattleChallenges[$j][3]] EndIf @@ -63761,7 +63963,7 @@ Local $MiscChallenges = ClanGamesChallenges("$MiscChallenges", False, $sINIPath, For $j = 0 To UBound($MiscChallenges) - 1 If $aAllDetectionsOnScreen[$i][1] = $MiscChallenges[$j][0] Then If $MiscChallenges[$j][3] = 0 Then ExitLoop -If $MiscChallenges[$j][1] = "Gardening Exercise" And $g_iFreeBuilderCount < 1 Then ExitLoop +If $MiscChallenges[$j][1] = "Gardening Exercise" And($g_iFreeBuilderCount < 1 Or Not $g_bChkCleanYard) Then ExitLoop If $g_iTownHallLevel < $MiscChallenges[$j][2] Then ExitLoop If $MiscChallenges[$j][1] = "Helping Hand" And Not $g_iActiveDonate Then ExitLoop If $MiscChallenges[$j][1] = "Donate Spells" And($g_aiPrepDon[2] = 0 And $g_aiPrepDon[3] = 0) Then ExitLoop @@ -64041,8 +64243,8 @@ Func ClanGamesChallenges($sReturnArray, $makeIni = False, $sINIPath = "", $debug Local $LootChallenges[6][5] = [ ["GoldChallenge", "Gold Challenge", 7, 5, 8], ["ElixirChallenge", "Elixir Challenge", 7, 5, 8], ["DarkEChallenge", "Dark Elixir Challenge", 8, 5, 8], ["GoldGrab", "Gold Grab", 3, 1, 1], ["ElixirEmbezz", "Elixir Embezzlement", 3, 1, 1], ["DarkEHeist", "Dark Elixir Heist", 9, 3, 1]] Local $AirTroopChallenges[6][5] = [ ["Mini", "Minion", 7, 20, 1], ["Ball", "Balloon", 4, 12, 1], ["Drag", "Dragon", 7, 6, 1], ["BabyD", "BabyDragon", 9, 4, 1], ["Lava", "ElectroDragon", 10, 2, 1], ["Edrag", "Lavahound", 9, 3, 1]] Local $GroundTroopChallenges[14][5] = [ ["Arch", "Archer", 1, 30, 1], ["Barb", "Barbarian", 1, 30, 1], ["Giant", "Giant", 1, 10, 1], ["Gobl", "Goblin", 2, 20, 1], ["Wall", "WallBreaker", 3, 6, 1], ["Wiza", "Wizard", 5, 12, 1], ["Heal", "Healer", 6, 3, 1], ["Hogs", "HogRider", 7, 10, 1], ["Mine", "Miner", 10, 8, 1], ["Pekk", "Pekka", 8, 2, 1], ["Witc", "Witch", 9, 4, 1], ["Bowl", "Bowler", 10, 8, 1], ["Valk", "Valkyrie", 8, 8, 1], ["Gole", "Golem", 8, 2, 1]] -Local $BattleChallenges[9][5] = [ ["Start", "Star Collector", 3, 1, 8], ["Destruction", "Lord of Destruction", 3, 1, 8], ["PileOfVictores", "Pile Of Victories", 3, 1, 8], ["StarThree", "Hunt for Three Stars", 10, 5, 8], ["WinningStreak", "Winning Streak", 9, 5, 8], ["SlayingTitans", "Slaying The Titans", 11, 2, 5], ["NoHero", "No Heroics Allowed", 3, 5, 8], ["NoMagic", "No-Magic Zone", 3, 5, 8], ["AttackUp", "Attack Up", 3, 1, 8]] -Local $DestructionChallenges[28][5] = [ ["Cannon", "Cannon Carnage", 3, 1, 1], ["ArcherT", "Archer Tower Assault", 3, 1, 1], ["Mortar", "Mortar Mauling", 3, 1, 1], ["AirD", "Destroy Air Defenses", 7, 2, 1], ["WizardT", "Wizard Tower Warfare", 3, 1, 1], ["AirSweepers", "Destroy Air Sweepers", 8, 4, 1], ["Tesla", "Destroy Tesla Towers", 7, 5, 1], ["BombT", "Destroy Bomb Towers", 8, 2, 1], ["Xbow", "Destroy X-Bows", 9, 5, 1], ["Inferno", "Destroy Inferno Towers", 11, 5, 1], ["EagleA", "Eagle Artillery Elimination", 11, 5, 1], ["ClanC", "Clan Castle Charge", 5, 2, 1], ["GoldSRaid", "Gold Storage Raid", 3, 2, 1], ["ElixirSRaid", "Elixir Storage Raid", 3, 1, 1], ["DarkEStorageRaid", "Dark Elixir Storage Raid", 8, 3, 1], ["GoldM", "Gold Mine Mayhem", 3, 1, 1], ["ElixirPump", "Elixir Pump Elimination", 3, 1, 1], ["DarkEPlumbers", "Dark Elixir Plumbers", 3, 1, 1], ["Laboratory", "Laboratory Strike", 3, 1, 1], ["SFacto", "Spell Factory Sabotage", 3, 1, 1], ["DESpell", "Dark Spell Factory Sabotage", 8, 1, 1], ["BKaltar", "Destroy Barbarian King Altars", 9, 4, 1], ["AQaltar", "Destroy Archer Queen Altars", 10, 5, 1], ["GWaltar", "Destroy Grand Warden Altars", 11, 5, 1], ["HeroLevelHunter", "Hero Level Hunter", 9, 5, 8], ["KingLevelHunter", "King Level Hunter", 9, 5, 8], ["QueenLevelHunt", "Queen Level Hunter", 10, 5, 8], ["WardenLevelHunter", "Warden Level Hunter", 11, 5, 8]] +Local $BattleChallenges[16][5] = [ ["Start", "Star Collector", 3, 1, 8], ["Destruction", "Lord of Destruction", 3, 1, 8], ["PileOfVictores", "Pile Of Victories", 3, 1, 8], ["StarThree", "Hunt for Three Stars", 10, 5, 8], ["WinningStreak", "Winning Streak", 9, 5, 8], ["SlayingTitans", "Slaying The Titans", 11, 2, 5], ["NoHero", "No Heroics Allowed", 3, 5, 8], ["NoMagic", "No-Magic Zone", 3, 5, 8], ["Scrappy6s", "Scrappy 6s", 6, 1, 8], ["Super7s", "Super 7s", 7, 1, 8], ["Exciting8s", "Exciting 8s", 8, 1, 8], ["Noble9s", "Noble 9s", 9, 1, 8], ["Terrific10s", "Terrific 10s", 10, 1, 8], ["Exotic11s", "Exotic 11s", 11, 1, 8], ["Triumphant12s", "Triumphant 12s", 12, 1, 8], ["AttackUp", "Attack Up", 3, 1, 8]] +Local $DestructionChallenges[30][5] = [ ["Cannon", "Cannon Carnage", 3, 1, 1], ["ArcherT", "Archer Tower Assault", 3, 1, 1], ["Mortar", "Mortar Mauling", 3, 1, 1], ["AirD", "Destroy Air Defenses", 7, 2, 1], ["WizardT", "Wizard Tower Warfare", 3, 1, 1], ["AirSweepers", "Destroy Air Sweepers", 8, 4, 1], ["Tesla", "Destroy Tesla Towers", 7, 5, 1], ["BombT", "Destroy Bomb Towers", 8, 2, 1], ["Xbow", "Destroy X-Bows", 9, 5, 1], ["Inferno", "Destroy Inferno Towers", 11, 5, 1], ["EagleA", "Eagle Artillery Elimination", 11, 5, 1], ["ClanC", "Clan Castle Charge", 5, 2, 1], ["GoldSRaid", "Gold Storage Raid", 3, 2, 1], ["ElixirSRaid", "Elixir Storage Raid", 3, 1, 1], ["DarkEStorageRaid", "Dark Elixir Storage Raid", 8, 3, 1], ["GoldM", "Gold Mine Mayhem", 3, 1, 1], ["ElixirPump", "Elixir Pump Elimination", 3, 1, 1], ["DarkEPlumbers", "Dark Elixir Plumbers", 3, 1, 1], ["Laboratory", "Laboratory Strike", 3, 1, 1], ["SFacto", "Spell Factory Sabotage", 3, 1, 1], ["DESpell", "Dark Spell Factory Sabotage", 8, 1, 1], ["WallWhacker", "Wall Whacker", 3, 1, 1], ["BBreakdown", "Building Breakdown", 3, 1, 1], ["BKaltar", "Destroy Barbarian King Altars", 9, 4, 1], ["AQaltar", "Destroy Archer Queen Altars", 10, 5, 1], ["GWaltar", "Destroy Grand Warden Altars", 11, 5, 1], ["HeroLevelHunter", "Hero Level Hunter", 9, 5, 8], ["KingLevelHunter", "King Level Hunter", 9, 5, 8], ["QueenLevelHunt", "Queen Level Hunter", 10, 5, 8], ["WardenLevelHunter", "Warden Level Hunter", 11, 5, 8]] Local $MiscChallenges[5][5] = [ ["Gard", "Gardening Exercise", 3, 1, 8], ["DonateSpell", "Donate Spells", 9, 3, 8], ["DonateTroop", "Helping Hand", 6, 2, 8], ["BattleBlimpBoogie", "Battle Blimp", 12, 5, 1], ["WallWreckerWallop", "Wall Wrecker", 12, 5, 1]] Local $LocalINI = $sINIPath If $LocalINI = "" Then $LocalINI = StringReplace($g_sProfileConfigPath, "config.ini", "ClanGames_config.ini") @@ -64102,6 +64304,17 @@ Return GetEventTimeInMinutes($g_iQuickMISX + 220, $g_iQuickMISY + 150) EndIf Return 0 EndFunc +Func IsBBChallenge($xDetected, $yDetected) +Local $sColorBB = Hex(0x0D6687, 6) +Local $sColorNonBB = Hex(0x7DA9DD, 6) +Local $xToCheck = 299 + 126 * Int(($xDetected - 299) / 126) +Local $yToCheck = 156 + 160 * Int(($yDetected - 156) / 160) +If $g_bChkClanGamesDebug Then Setlog("IsBBChallenge() x = " & $xToCheck & ", y = " & $yToCheck & ", color = " & _GetPixelColor($xToCheck, $yToCheck, True) , $COLOR_INFO) +If _ColorCheck(_GetPixelColor($xToCheck, $yToCheck, True), $sColorBB, 5) Then +Return True +EndIf +Return False +EndFunc Func CollectFreeMagicItems($bTest = False) If Not $g_bChkCollectFreeMagicItems Then Return If Not $g_bRunState Then Return @@ -64475,6 +64688,55 @@ EndIf EndIf Return False EndFunc +Func CleanBBYard() +If Not $g_bChkCleanBBYard And Not TestCapture() Then Return +Local $hObstaclesTimer = __TimerInit() +If Not getBuilderCount(True, True) Then Return +If _Sleep($DELAYRESPOND) Then Return +Local $Filename = "" +Local $Locate = 0 +Local $CleanBBYardXY +Local $sCocDiamond = $CocDiamondECD +Local $redLines = $sCocDiamond +Local $bNoBuilders = $g_iFreeBuilderCountBB < 1 +If $g_iFreeBuilderCountBB > 0 And Number($g_aiCurrentLootBB[$eLootElixirBB]) > 50000 Then +Local $aResult = findMultiple($g_sImgCleanBBYard, $sCocDiamond, $redLines, 0, 1000, 10, "objectname,objectlevel,objectpoints", True) +If IsArray($aResult) Then +For $matchedValues In $aResult +Local $aPoints = decodeMultipleCoords($matchedValues[2]) +$Filename = $matchedValues[0] +For $i = 0 To UBound($aPoints) - 1 +$CleanBBYardXY = $aPoints[$i] +If UBound($CleanBBYardXY) > 1 And isInsideDiamondXY($CleanBBYardXY[0], $CleanBBYardXY[1]) Then +If $g_bDebugSetlog Then SetDebugLog($Filename & " found (" & $CleanBBYardXY[0] & "," & $CleanBBYardXY[1] & ")", $COLOR_SUCCESS) +If IsMainPageBuilderBase() Then Click($CleanBBYardXY[0], $CleanBBYardXY[1], 1, 0, "#0430") +$Locate = 1 +If _Sleep($DELAYCOLLECT3) Then Return +If IsMainPageBuilderBase() Then GemClick($aCleanYard[0], $aCleanYard[1], 1, 0, "#0431") +If _Sleep($DELAYCHECKTOMBS2) Then Return +ClickP($aAway, 2, 300, "#0329") +If _Sleep($DELAYCHECKTOMBS1) Then Return +If getBuilderCount(True, True) = False Then Return +If _Sleep($DELAYRESPOND) Then Return +If $g_iFreeBuilderCountBB = 0 Then +SetLog("No More Builders available") +If _Sleep(2000) Then Return +ExitLoop(2) +EndIf +EndIf +Next +Next +EndIf +EndIf +If $bNoBuilders Then +SetLog("No Builders available to remove Obstacles!") +Else +If $Locate = 0 And $g_bChkCleanBBYard And Number($g_aiCurrentLootBB[$eLootElixirBB]) > 50000 Then SetLog("No Obstacles found, Yard is clean!", $COLOR_SUCCESS) +If $g_bDebugSetlog Then SetDebugLog("Time: " & Round(__TimerDiff($hObstaclesTimer) / 1000, 2) & "'s", $COLOR_SUCCESS) +EndIf +UpdateStats() +ClickP($aAway, 1, 300, "#0329") +EndFunc Global $tagSTRUCT_BOT_STATE = "struct" & ";hwnd BotHWnd" & ";hwnd AndroidHWnd" & ";boolean RunState" & ";boolean Paused" & ";boolean Launched" & ";uint64 g_hTimerSinceStarted" & ";uint g_iTimePassed" & ";char Profile[64]" & ";char AndroidEmulator[32]" & ";char AndroidInstance[32]" & ";int StructType" & ";ptr StructPtr" & ";boolean RegisterInHost" & ";endstruct" Global Enum $g_eSTRUCT_NONE = 0, $g_eSTRUCT_STATUS_BAR, $g_eSTRUCT_UPDATE_STATS Global $tagSTRUCT_STATUS_BAR = "struct;char Text[255];endstruct" @@ -65252,6 +65514,7 @@ GUICtrlSetData($g_hTxtTreasuryGold, $g_iTxtTreasuryGold) GUICtrlSetData($g_hTxtTreasuryElixir, $g_iTxtTreasuryElixir) GUICtrlSetData($g_hTxtTreasuryDark, $g_iTxtTreasuryDark) GUICtrlSetState($g_hChkCollectBuilderBase, $g_bChkCollectBuilderBase ? $GUI_CHECKED : $GUI_UNCHECKED) +GUICtrlSetState($g_hChkCleanBBYard, $g_bChkCleanBBYard ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_hChkStartClockTowerBoost, $g_bChkStartClockTowerBoost ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_hChkCTBoostBlderBz, $g_bChkCTBoostBlderBz ? $GUI_CHECKED : $GUI_UNCHECKED) chkStartClockTowerBoost() @@ -65304,6 +65567,7 @@ $g_iTxtTreasuryGold = GUICtrlRead($g_hTxtTreasuryGold) $g_iTxtTreasuryElixir = GUICtrlRead($g_hTxtTreasuryElixir) $g_iTxtTreasuryDark = GUICtrlRead($g_hTxtTreasuryDark) $g_bChkCollectBuilderBase =(GUICtrlRead($g_hChkCollectBuilderBase) = $GUI_CHECKED) +$g_bChkCleanBBYard =(GUICtrlRead($g_hChkCleanBBYard) = $GUI_CHECKED) $g_bChkStartClockTowerBoost =(GUICtrlRead($g_hChkStartClockTowerBoost) = $GUI_CHECKED) $g_bChkCTBoostBlderBz =(GUICtrlRead($g_hChkCTBoostBlderBz) = $GUI_CHECKED) $g_iChkBBSuggestedUpgrades =(GUICtrlRead($g_hChkBBSuggestedUpgrades) = $GUI_CHECKED) ? 1 : 0 @@ -66186,6 +66450,7 @@ GUICtrlSetState($g_hChkDBPoisonSpell, $g_abAttackUsePoisonSpell[$DB] ? $GUI_CHEC GUICtrlSetState($g_hChkDBEarthquakeSpell, $g_abAttackUseEarthquakeSpell[$DB] ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_hChkDBHasteSpell, $g_abAttackUseHasteSpell[$DB] ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_hChkDBSkeletonSpell, $g_abAttackUseSkeletonSpell[$DB] ? $GUI_CHECKED : $GUI_UNCHECKED) +GUICtrlSetState($g_hChkDBBatSpell, $g_abAttackUseBatSpell[$DB] ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_hChkTHSnipeBeforeDBEnable, $g_bTHSnipeBeforeEnable[$DB] ? $GUI_CHECKED : $GUI_UNCHECKED) chkTHSnipeBeforeDBEnable() GUICtrlSetData($g_hTxtTHSnipeBeforeDBTiles, $g_iTHSnipeBeforeTiles[$DB]) @@ -66211,6 +66476,7 @@ $g_abAttackUseEarthquakeSpell[$DB] =(GUICtrlRead($g_hChkDBEarthquakeSpell) = $GU $g_abAttackUseHasteSpell[$DB] =(GUICtrlRead($g_hChkDBHasteSpell) = $GUI_CHECKED) $g_abAttackUseCloneSpell[$DB] =(GUICtrlRead($g_hChkDBCloneSpell) = $GUI_CHECKED) $g_abAttackUseSkeletonSpell[$DB] =(GUICtrlRead($g_hChkDBSkeletonSpell) = $GUI_CHECKED) +$g_abAttackUseBatSpell[$DB] =(GUICtrlRead($g_hChkDBBatSpell) = $GUI_CHECKED) $g_bTHSnipeBeforeEnable[$DB] =(GUICtrlRead($g_hChkTHSnipeBeforeDBEnable) = $GUI_CHECKED) $g_iTHSnipeBeforeTiles[$DB] = GUICtrlRead($g_hTxtTHSnipeBeforeDBTiles) $g_iTHSnipeBeforeScript[$DB] = GUICtrlRead($g_hCmbTHSnipeBeforeDBScript) @@ -66430,6 +66696,7 @@ GUICtrlSetState($g_hChkABPoisonSpell, $g_abAttackUsePoisonSpell[$LB] ? $GUI_CHEC GUICtrlSetState($g_hChkABEarthquakeSpell, $g_abAttackUseEarthquakeSpell[$LB] ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_hChkABHasteSpell, $g_abAttackUseHasteSpell[$LB] ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_hChkABSkeletonSpell, $g_abAttackUseSkeletonSpell[$LB] ? $GUI_CHECKED : $GUI_UNCHECKED) +GUICtrlSetState($g_hChkABBatSpell, $g_abAttackUseBatSpell[$LB] ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_hChkTHSnipeBeforeLBEnable, $g_bTHSnipeBeforeEnable[$LB] ? $GUI_CHECKED : $GUI_UNCHECKED) chkTHSnipeBeforeLBEnable() GUICtrlSetData($g_hTxtTHSnipeBeforeLBTiles, $g_iTHSnipeBeforeTiles[$LB]) @@ -66455,6 +66722,7 @@ $g_abAttackUsePoisonSpell[$LB] =(GUICtrlRead($g_hChkABPoisonSpell) = $GUI_CHECKE $g_abAttackUseEarthquakeSpell[$LB] =(GUICtrlRead($g_hChkABEarthquakeSpell) = $GUI_CHECKED) $g_abAttackUseHasteSpell[$LB] =(GUICtrlRead($g_hChkABHasteSpell) = $GUI_CHECKED) $g_abAttackUseSkeletonSpell[$LB] =(GUICtrlRead($g_hChkABSkeletonSpell) = $GUI_CHECKED) +$g_abAttackUseBatSpell[$LB] =(GUICtrlRead($g_hChkABBatSpell) = $GUI_CHECKED) $g_bTHSnipeBeforeEnable[$LB] =(GUICtrlRead($g_hChkTHSnipeBeforeLBEnable) = $GUI_CHECKED) $g_iTHSnipeBeforeTiles[$LB] = GUICtrlRead($g_hTxtTHSnipeBeforeLBTiles) $g_iTHSnipeBeforeScript[$LB] = GUICtrlRead($g_hCmbTHSnipeBeforeLBScript) @@ -66683,7 +66951,7 @@ EndFunc Func ApplyConfig_600_31($TypeReadSave) Switch $TypeReadSave Case "Read" -For $i = 6 To 12 +For $i = 6 To 13 GUICtrlSetState($g_ahChkDBCollectorLevel[$i], $g_abCollectorLevelEnabled[$i] ? $GUI_CHECKED : $GUI_UNCHECKED) GUICtrlSetState($g_ahCmbDBCollectorLevel[$i], $g_abCollectorLevelEnabled[$i] ? $GUI_ENABLE : $GUI_DISABLE) _GUICtrlComboBox_SetCurSel($g_ahCmbDBCollectorLevel[$i], $g_aiCollectorLevelFill[$i]) @@ -66693,7 +66961,7 @@ _GUICtrlComboBox_SetCurSel($g_hCmbMinCollectorMatches, $g_iCollectorMatchesMin - GUICtrlSetData($g_hSldCollectorTolerance, $g_iCollectorToleranceOffset) checkCollectors() Case "Save" -For $i = 6 To 12 +For $i = 6 To 13 $g_abCollectorLevelEnabled[$i] =(GUICtrlRead($g_ahChkDBCollectorLevel[$i]) = $GUI_CHECKED) $g_aiCollectorLevelFill[$i] = _GUICtrlComboBox_GetCurSel($g_ahCmbDBCollectorLevel[$i]) Next @@ -67328,6 +67596,7 @@ IniReadS($g_iTxtTreasuryGold, $g_sProfileConfigPath, "other", "minTreasurygold", IniReadS($g_iTxtTreasuryElixir, $g_sProfileConfigPath, "other", "minTreasuryelixir", 0, "int") IniReadS($g_iTxtTreasuryDark, $g_sProfileConfigPath, "other", "minTreasurydark", 0, "int") IniReadS($g_bChkCollectBuilderBase, $g_sProfileConfigPath, "other", "ChkCollectBuildersBase", False, "Bool") +IniReadS($g_bChkCleanBBYard, $g_sProfileConfigPath, "other", "ChkCleanBBYard", False, "Bool") IniReadS($g_bChkStartClockTowerBoost, $g_sProfileConfigPath, "other", "ChkStartClockTowerBoost", False, "Bool") IniReadS($g_bChkCTBoostBlderBz, $g_sProfileConfigPath, "other", "ChkCTBoostBlderBz", False, "Bool") IniReadS($g_iChkBBSuggestedUpgrades, $g_sProfileConfigPath, "other", "ChkBBSuggestedUpgrades", $g_iChkBBSuggestedUpgrades, "Int") @@ -67398,7 +67667,7 @@ IniReadS($g_abChkDonateQueueOnly[0], $g_sProfileConfigPath, "donate", "chkDonate IniReadS($g_abChkDonateQueueOnly[1], $g_sProfileConfigPath, "donate", "chkDonateQueueOnly[1]", True, "Bool") For $i = 0 To $eTroopCount - 1 + $g_iCustomDonateConfigs Local $sIniName = "" -If $i >= $eTroopBarbarian And $i <= $eTroopBowler Then +If $i >= $eTroopBarbarian And $i <= $eTroopIceGolem Then $sIniName = StringReplace($g_asTroopNamesPlural[$i], " ", "") ElseIf $i = $eCustomA Then $sIniName = "CustomA" @@ -67452,6 +67721,8 @@ $g_asTxtDonateTroop[$eTroopLavaHound] = StringReplace(IniRead($g_sProfileConfigP $g_asTxtBlacklistTroop[$eTroopLavaHound] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistLavaHounds", "no lavahound|lavahound no|no lava|lava no|nohound|hound no"), "|", @CRLF) $g_asTxtDonateTroop[$eTroopBowler] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateBowlers", "bowler|bowl"), "|", @CRLF) $g_asTxtBlacklistTroop[$eTroopBowler] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistBowlers", "no bowler|bowl no"), "|", @CRLF) +$g_asTxtDonateTroop[$eTroopIceGolem] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateIceGolems", "ice golem|ice golems"), "|", @CRLF) +$g_asTxtBlacklistTroop[$eTroopIceGolem] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistIceGolems", "no ice golem|ice golem no"), "|", @CRLF) $g_asTxtDonateTroop[$eCustomA] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateCustomA", "ground support|ground"), "|", @CRLF) $g_asTxtBlacklistTroop[$eCustomA] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistCustomA", "no ground|ground no|nonly"), "|", @CRLF) $g_asTxtDonateTroop[$eCustomB] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateCustomB", "air support|any air"), "|", @CRLF) @@ -67485,6 +67756,8 @@ $g_asTxtDonateSpell[$eSpellHaste] = StringReplace(IniRead($g_sProfileConfigPath, $g_asTxtBlacklistSpell[$eSpellHaste] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistHasteSpells", "no haste|haste no"), "|", @CRLF) $g_asTxtDonateSpell[$eSpellSkeleton] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateSkeletonSpells", "skeleton"), "|", @CRLF) $g_asTxtBlacklistSpell[$eSpellSkeleton] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistSkeletonSpells", "no skeleton|skeleton no"), "|", @CRLF) +$g_asTxtDonateSpell[$eSpellBat] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateBatSpells", "bat"), "|", @CRLF) +$g_asTxtBlacklistSpell[$eSpellBat] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistBatSpells", "no bat|bat no"), "|", @CRLF) For $i = $eSiegeWallWrecker to $eSiegeMachineCount - 1 Local $index = $eTroopCount + $g_iCustomDonateConfigs Local $sIniName = $g_asSiegeMachineShortNames[$i] @@ -67494,6 +67767,8 @@ $g_asTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeWallWrecker] $g_asTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeWallWrecker] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistWallW", "no WallW|no Wrecker|siege no"), "|", @CRLF) $g_asTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeBattleBlimp] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateBattleB", "Blimp|siege"), "|", @CRLF) $g_asTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeBattleBlimp] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistBattleB", "no Blimp|siege no"), "|", @CRLF) +$g_asTxtDonateTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtDonateStoneS", "Slammer|siege"), "|", @CRLF) +$g_asTxtBlacklistTroop[$eTroopCount + $g_iCustomDonateConfigs + $eSiegeStoneSlammer] = StringReplace(IniRead($g_sProfileConfigPath, "donate", "txtBlacklistStoneS", "no Slammer|siege no"), "|", @CRLF) $g_aiDonateCustomTrpNumA[0][0] = Int(IniRead($g_sProfileConfigPath, "donate", "cmbDonateCustomA1", 6)) $g_aiDonateCustomTrpNumA[1][0] = Int(IniRead($g_sProfileConfigPath, "donate", "cmbDonateCustomA2", 1)) $g_aiDonateCustomTrpNumA[2][0] = Int(IniRead($g_sProfileConfigPath, "donate", "cmbDonateCustomA3", 0)) @@ -67538,6 +67813,8 @@ Func ReadConfig_600_14() IniReadS($g_bAutoLabUpgradeEnable, $g_sProfileBuildingPath, "upgrade", "upgradetroops", False, "Bool") IniReadS($g_iCmbLaboratory, $g_sProfileBuildingPath, "upgrade", "upgradetroopname", 0, "int") $g_sLabUpgradeTime = IniRead($g_sProfileBuildingPath, "upgrade", "upgradelabtime", "") +IniReadS($g_iLaboratoryElixirCost, $g_sProfileBuildingPath, "upgrade", "upgradelabelexircost", 0, "int") +IniReadS($g_iLaboratoryDElixirCost, $g_sProfileBuildingPath, "upgrade", "upgradelabdelexircost", 0, "int") EndFunc Func ReadConfig_600_15() IniReadS($g_bUpgradeKingEnable, $g_sProfileConfigPath, "upgrade", "UpgradeKing", False, "Bool") @@ -67803,6 +68080,7 @@ IniReadS($g_abAttackUseEarthquakeSpell[$DB], $g_sProfileConfigPath, "attack", "D IniReadS($g_abAttackUseHasteSpell[$DB], $g_sProfileConfigPath, "attack", "DBHasteSpell", False, "Bool") IniReadS($g_abAttackUseCloneSpell[$DB], $g_sProfileConfigPath, "attack", "DBCloneSpell", False, "Bool") IniReadS($g_abAttackUseSkeletonSpell[$DB], $g_sProfileConfigPath, "attack", "DBSkeletonSpell", False, "Bool") +IniReadS($g_abAttackUseBatSpell[$DB], $g_sProfileConfigPath, "attack", "DBBatSpell", False, "Bool") IniReadS($g_bTHSnipeBeforeEnable[$DB], $g_sProfileConfigPath, "attack", "THSnipeBeforeDBEnable", False, "Bool") IniReadS($g_iTHSnipeBeforeTiles[$DB], $g_sProfileConfigPath, "attack", "THSnipeBeforeDBTiles", 0, "int") IniReadS($g_iTHSnipeBeforeScript[$DB], $g_sProfileConfigPath, "attack", "THSnipeBeforeDBScript", "bam") @@ -67877,6 +68155,7 @@ IniReadS($g_abAttackUseEarthquakeSpell[$LB], $g_sProfileConfigPath, "attack", "A IniReadS($g_abAttackUseHasteSpell[$LB], $g_sProfileConfigPath, "attack", "ABHasteSpell", False, "Bool") IniReadS($g_abAttackUseCloneSpell[$LB], $g_sProfileConfigPath, "attack", "ABCloneSpell", False, "Bool") IniReadS($g_abAttackUseSkeletonSpell[$LB], $g_sProfileConfigPath, "attack", "ABSkeletonSpell", False, "Bool") +IniReadS($g_abAttackUseBatSpell[$LB], $g_sProfileConfigPath, "attack", "ABBatSpell", False, "Bool") IniReadS($g_bTHSnipeBeforeEnable[$LB], $g_sProfileConfigPath, "attack", "THSnipeBeforeLBEnable", False, "Bool") IniReadS($g_iTHSnipeBeforeTiles[$LB], $g_sProfileConfigPath, "attack", "THSnipeBeforeLBTiles", 0, "int") IniReadS($g_iTHSnipeBeforeScript[$LB], $g_sProfileConfigPath, "attack", "THSnipeBeforeLBScript", "bam") @@ -67966,10 +68245,10 @@ IniReadS($g_iEndTSCampsPct, $g_sProfileConfigPath, "search", "TSEnableAfterArmyC EndFunc Func ReadConfig_600_31() $g_abCollectorLevelEnabled[6] = 0 -For $i = 7 To 12 +For $i = 7 To 13 IniReadS($g_abCollectorLevelEnabled[$i], $g_sProfileConfigPath, "collectors", "lvl" & $i & "Enabled", True, "Bool") Next -For $i = 6 To 12 +For $i = 6 To 13 IniReadS($g_aiCollectorLevelFill[$i], $g_sProfileConfigPath, "collectors", "lvl" & $i & "fill", 0, "int") If $g_aiCollectorLevelFill[$i] > 1 Then $g_aiCollectorLevelFill[$i] = 1 Next @@ -68241,6 +68520,8 @@ ApplyConfig_600_14(GetApplyConfigSaveAction()) _Ini_Add("upgrade", "upgradetroops", $g_bAutoLabUpgradeEnable ? 1 : 0) _Ini_Add("upgrade", "upgradetroopname", $g_iCmbLaboratory) _Ini_Add("upgrade", "upgradelabtime", $g_sLabUpgradeTime) +_Ini_Add("upgrade", "upgradelabelexircost", $g_iLaboratoryElixirCost) +_Ini_Add("upgrade", "upgradelabdelexircost", $g_iLaboratoryDElixirCost) ApplyConfig_600_16(GetApplyConfigSaveAction()) For $iz = 0 To UBound($g_avBuildingUpgrades, 1) - 1 _Ini_Add("upgrade", "xupgrade" & $iz, $g_avBuildingUpgrades[$iz][0]) @@ -68395,6 +68676,7 @@ _Ini_Add("other", "minTreasurygold", $g_iTxtTreasuryGold) _Ini_Add("other", "minTreasuryelixir", $g_iTxtTreasuryElixir) _Ini_Add("other", "minTreasurydark", $g_iTxtTreasuryDark) _Ini_Add("other", "ChkCollectBuildersBase", $g_bChkCollectBuilderBase ? 1 : 0) +_Ini_Add("other", "ChkCleanBBYard", $g_bChkCleanBBYard ? 1 : 0) _Ini_Add("other", "ChkStartClockTowerBoost", $g_bChkStartClockTowerBoost ? 1 : 0) _Ini_Add("other", "ChkCTBoostBlderBz", $g_bChkCTBoostBlderBz ? 1 : 0) _Ini_Add("other", "ChkBBSuggestedUpgrades", $g_iChkBBSuggestedUpgrades) @@ -68460,7 +68742,7 @@ _Ini_Add("donate", "chkDonateQueueOnly[0]", $g_abChkDonateQueueOnly[0] ? 1 : 0) _Ini_Add("donate", "chkDonateQueueOnly[1]", $g_abChkDonateQueueOnly[1] ? 1 : 0) For $i = 0 To $eTroopCount - 1 + $g_iCustomDonateConfigs Local $sIniName = "" -If $i >= $eTroopBarbarian And $i <= $eTroopBowler Then +If $i >= $eTroopBarbarian And $i <= $eTroopIceGolem Then $sIniName = StringReplace($g_asTroopNamesPlural[$i], " ", "") ElseIf $i = $eCustomA Then $sIniName = "CustomA" @@ -68791,6 +69073,7 @@ _Ini_Add("attack", "DBEarthquakeSpell", $g_abAttackUseEarthquakeSpell[$DB] ? 1 : _Ini_Add("attack", "DBHasteSpell", $g_abAttackUseHasteSpell[$DB] ? 1 : 0) _Ini_Add("attack", "DBCloneSpell", $g_abAttackUseCloneSpell[$DB] ? 1 : 0) _Ini_Add("attack", "DBSkeletonSpell", $g_abAttackUseSkeletonSpell[$DB] ? 1 : 0) +_Ini_Add("attack", "DBBatSpell", $g_abAttackUseBatSpell[$DB] ? 1 : 0) _Ini_Add("attack", "THSnipeBeforeDBEnable", $g_bTHSnipeBeforeEnable[$DB] ? 1 : 0) _Ini_Add("attack", "THSnipeBeforeDBTiles", $g_iTHSnipeBeforeTiles[$DB]) _Ini_Add("attack", "THSnipeBeforeDBScript", $g_iTHSnipeBeforeScript[$DB]) @@ -68882,6 +69165,7 @@ _Ini_Add("attack", "ABPoisonSpell", $g_abAttackUsePoisonSpell[$LB] ? 1 : 0) _Ini_Add("attack", "ABEarthquakeSpell", $g_abAttackUseEarthquakeSpell[$LB] ? 1 : 0) _Ini_Add("attack", "ABHasteSpell", $g_abAttackUseHasteSpell[$LB] ? 1 : 0) _Ini_Add("attack", "ABSkeletonSpell", $g_abAttackUseSkeletonSpell[$LB] ? 1 : 0) +_Ini_Add("attack", "ABBatSpell", $g_abAttackUseBatSpell[$LB] ? 1 : 0) _Ini_Add("attack", "THSnipeBeforeLBEnable", $g_bTHSnipeBeforeEnable[$LB] ? 1 : 0) _Ini_Add("attack", "THSnipeBeforeLBTiles", $g_iTHSnipeBeforeTiles[$LB]) _Ini_Add("attack", "THSnipeBeforeLBScript", $g_iTHSnipeBeforeScript[$LB]) @@ -68982,7 +69266,7 @@ _Ini_Add("search", "TSEnableAfterArmyCamps2", $g_iEndTSCampsPct) EndFunc Func SaveConfig_600_31() ApplyConfig_600_31(GetApplyConfigSaveAction()) -For $i = 6 To 12 +For $i = 6 To 13 _Ini_Add("collectors", "lvl" & $i & "Enabled", $g_abCollectorLevelEnabled[$i] ? 1 : 0) _Ini_Add("collectors", "lvl" & $i & "fill", $g_aiCollectorLevelFill[$i]) Next @@ -70739,6 +71023,7 @@ $a1 = $eTroopGolem $a1 = $eTroopWitch $a1 = $eTroopLavaHound $a1 = $eTroopBowler +$a1 = $eTroopIceGolem $a1 = $eTroopCount $a1 = $eSpellLightning $a1 = $eSpellHeal @@ -70750,6 +71035,7 @@ $a1 = $eSpellPoison $a1 = $eSpellEarthquake $a1 = $eSpellHaste $a1 = $eSpellSkeleton +$a1 = $eSpellBat $a1 = $eSpellCount $a1 = $eBarb $a1 = $eArch @@ -70770,6 +71056,7 @@ $a1 = $eGole $a1 = $eWitc $a1 = $eLava $a1 = $eBowl +$a1 = $eIceG $a1 = $eKing $a1 = $eQueen $a1 = $eWarden @@ -70784,6 +71071,7 @@ $a1 = $ePSpell $a1 = $eESpell $a1 = $eHaSpell $a1 = $eSkSpell +$a1 = $eBtSpell $a1 = $aTrainBarb $a1 = $aTrainArch $a1 = $aTrainGiant @@ -70803,6 +71091,7 @@ $a1 = $aTrainGole $a1 = $aTrainWitc $a1 = $aTrainLava $a1 = $aTrainBowl +$a1 = $aTrainIceG $a1 = $aTrainLSpell $a1 = $aTrainHSpell $a1 = $aTrainRSpell @@ -70813,6 +71102,7 @@ $a1 = $aTrainPSpell $a1 = $aTrainESpell $a1 = $aTrainHaSpell $a1 = $aTrainSkSpell +$a1 = $aTrainBtSpell $a1 = $aTrainArmy $a1 = $aLoginWithSupercellID $a1 = $aButtonLogOutSCID @@ -71381,23 +71671,6 @@ NotifyPendingActions() If _Sleep($DELAYIDLE1) Then Return If $g_iCommandStop = -1 Then SetLog("====== Waiting for full army ======", $COLOR_SUCCESS) Local $hTimer = __TimerInit() -Local $iReHere = 0, $bNoCheckRedChatIcon = True -If $g_iActiveDonate And $g_bChkDonate Then -Local $aHeroResult = CheckArmyCamp(True, True, True, False) -While $iReHere < 7 -If Not $g_bRunState Then Return -$iReHere += 1 -If($g_iCommandStop = 3 Or $g_iCommandStop = 0) Then $bNoCheckRedChatIcon =($iReHere = 1) ? False : True -If $iReHere = 1 And SkipDonateNearFullTroops(True, $aHeroResult) = False And BalanceDonRec(True) Then -DonateCC($bNoCheckRedChatIcon) -ElseIf SkipDonateNearFullTroops(False, $aHeroResult) = False And BalanceDonRec(False) Then -DonateCC($bNoCheckRedChatIcon) -EndIf -If _Sleep($DELAYIDLE2) Then ExitLoop -If $g_bRestart = True Then ExitLoop -If CheckAndroidReboot() Then ContinueLoop 2 -WEnd -EndIf If _Sleep($DELAYIDLE1) Then ExitLoop checkObstacles() checkMainScreen(False) @@ -71454,7 +71727,7 @@ If _Sleep($DELAYIDLE1) Then Return If $g_iCommandStop = 0 And $g_bTrainEnabled = True Then If Not($g_bIsFullArmywithHeroesAndSpells) Then If $g_iActualTrainSkip < $g_iMaxTrainSkip Then -If CheckNeedOpenTrain($g_sTimeBeforeTrain) Then TrainSystem() +If CheckNeedOpenTrain($g_sTimeBeforeTrain) Or(ProfileSwitchAccountEnabled() And $g_iActiveDonate And $g_bChkDonate) Then TrainSystem() If $g_bRestart = True Then ExitLoop If _Sleep($DELAYIDLE1) Then ExitLoop checkMainScreen(False) @@ -71686,6 +71959,7 @@ Case "BuilderBase" If isOnBuilderBase() Or(($g_bChkCollectBuilderBase Or $g_bChkStartClockTowerBoost Or $g_iChkBBSuggestedUpgrades) And SwitchBetweenBases()) Then CollectBuilderBase() BuilderBaseReport() +CleanBBYard() StartClockTowerBoost() MainSuggestedUpgradeCode() SwitchBetweenBases() diff --git a/imgxml/ArmyOverview/SiegeMachines/StoneS_100_92.xml b/imgxml/ArmyOverview/SiegeMachines/StoneS_100_92.xml new file mode 100644 index 000000000..99bd24366 --- /dev/null +++ b/imgxml/ArmyOverview/SiegeMachines/StoneS_100_92.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OmASyzwOrXDbtJJtgOhZY1M9dKLHBjUNN2R2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/0Z6MRc/nYTDMlfvzYy1BYrY2Kx/L90qSoSKRi1i77Z2vbF6jyMP2LcWGTYUhMWQJRMNk32B/K2Oj/Ofk7bAb4Sv0v9w2/NOvLLe36aIj39H2kkHc2tK5o2PfEKYydZBKC8nphy9zLj0AvspsGj3j9OlqXPV2t0UNlcsLI5cYjlVQkgzTBmhXs+BPD6QFeG/UWM8m1aVC9j/gn+wK5g6UXKz4fRzHliE9fLX+CEMRvk3KBedCltBsOTaHs6lYxBMWxoyFJ2C7wk5k3bObHXBMZv3BZRx0BWGGdqXFpPbRS9r4ahjjKDodl1m87lutQiBzizTu/ojXCb5lhJbE2vtHFLURY9o6yjjS1J4H+jUSBDYUTumQ7ZdXAbqPmJ7B53YVc6zJVNYCBw0I0h9asD5sgxc0WxzF7W8capj1SbM6zBUOhApsQ1niAv44gXup3SbdiGqSgWQC1Ers1ZYDBcmOCUrTzUr+5lFlZk+i/B3ee/9u0/rfV+JYAZhT44fBMrGyzLSuZbMsbxy7wx5n1dRdR35saCf3TcnmHkCPvoYnc9En8QKLA5I2qHjkr2fmxdbBeHVK/CIKbQPKgLXOdAaqGbC3HmfD0KZDfvCLxdl1li6ZMsEnFsyXIhAHHM5UsrMwL/x+EU4ha7mc4nG2db66DZdDBmxL29HhGnJOY8yEuy/Fnabs7q1TG9IKs/gHPDY+525/RPWzg/xu+O8k0MTe1e8kNaoMbt13GZbosVI4aGLlioIi4HemTL1n1UpacUPPhS7D+04eRPxgh0xIdmsuJ7WuxAoNDKC6aF3fr8nZjiTx2V9/SG3P0sBA29thwD5ze0xKbp38+hoWWUG+ICcJkGTVroj9v1l2DZjAY+L+ttrgs/h0YNT4eotE9bkd8bd6fTh6rw5gurgLj7eNeEmUDQahezUidQU4mSlOQFD+dsor3lCmjxP571z8IeVY3Wr/5nMyBNr3LL9GdpBUroFiT2Q9e57TF0iofPZFJPL7wq0KLdTkTeIghWuzvsYM0Zzm/VgALdTMsxahJsYq6ptcLuOYrEeZpO369mwygLRYZZz8rEe4UhRkFBdEZnTt+sVIqwzcnL3gyTH3gy02Og6bvtTbGkcOebdz+aXbYT91xvf2n0WULirwSBpH7c1oZKq/TpBou3cEsiilJ3wrvIp5ZEKkaSUQMOAMyM95X23LoN0IODe7Q2MTv45KNXR0vJgQnsyBHEwUkTjKi7AnFE9P/j7v06+spLHAdyZ0ZQDrofN+kUpYYVbt3MZnkKtELczV0cANEoTQupoFeIiVTC0GXguxc4tBfHqbA+UFCkFoeYJi7M5NjOGHHRYhMxPEYVa6gPq6+y7gKxgYv6Q2ksQYJVlsUsreaHkWXDcxa7WZRIGicXoaNCHdWqtL8vi802YzJ3uPFuiuGhine6yFbc+I7AMSmtaZ+mwX \ No newline at end of file diff --git a/imgxml/ArmyOverview/Spells/BtSpell_100_91.xml b/imgxml/ArmyOverview/Spells/BtSpell_100_91.xml new file mode 100644 index 000000000..d225b2ddc --- /dev/null +++ b/imgxml/ArmyOverview/Spells/BtSpell_100_91.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+Ol9WJJDyopjP3aIoHlh3OpkeMQp08VwK8GR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/u48vwMtpQebfk04sJxYM0qR9vObjGYmHvHclOfiJM8u45DclT4KzuoeyDOkBAMljwhzDrDqlF4m2qCqxJbxJ6wlkNZVrSziMlwnOjFczozJKL5fzgooUcLeTQFnKQO97YSBPN40TvUlFrW0v4pA+GDDLG3Jzyf+dIAKuqbyDL87HfeXt4u6Ln0b4ndZ02fN21eq5t6Varzm77J/Fieegnmv7W1BrbX84GTBoBabmEdo83moX9p+55URWXxnPGxhp73g2tI7kbYNhoH3oeMTcOAcl2In+VAIrZWHVNuM8kht5aasLFshOoA7Yzuxigyetx7GGNQvoxu/xivAc8+eEdmj6A25HRuRBJY+pMMRz6loXtEVs8ORV4c2moGOWs6u4oo+vn3XSyZnvhacEmlwWgxs9bUxo4cXC6FOaF0ZzlaKHlr8BxOjIO2sy9PDiJ3bMoBbYrPrhLD61/aOxQRVGX2a4gsrFmjDM \ No newline at end of file diff --git a/imgxml/ArmyOverview/TroopQueued/BtSpell_100_90.xml b/imgxml/ArmyOverview/TroopQueued/BtSpell_100_90.xml new file mode 100644 index 000000000..5dc997d61 --- /dev/null +++ b/imgxml/ArmyOverview/TroopQueued/BtSpell_100_90.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OkR0ww2Cuwuj3/98O0YOlfi6eY99wFnTTaR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/Q+Dn+njdJCAgISsl4X56+JbajfPr0Z8IwAvaTUbH367Th+yagK5scv1ZhUmI/zICi5lq5QM2bg3MhqjW3jOGdKGLgom8kbEzSHScym//dkeb9+5o8FOS3u+eaRXgRo9JWJkDFSqEzk9OAmM1X9bFpHlU8kOl+HL+cWiULnBZyqY6yezSN4kwJCFqtrC88J2VJIVW0pgnZdeOuCUsf/7MBZoymhbK4K2xC4aZe7K+LpGqluvrDa6P2mUABmjC/1a5Lm7NBbEFmjYluC+nLOTTrMPffSZlVMg8n4HPfrUXjKCHg3+pTLPPQ2nkczN45RqcYg7uiYFcFhFxdRhafentVYaWzVwDpok3fdOkMt6iykuxj+7evOYU1i98DUXNBs9rXVo1EQvHHE0x4kUTPsz3CZxKxXX0/YGlqbMy8PRuehRTlOk+Z/w/8XNWaK7JiDjot4ZZ9c2RdobHZMmaXzR0zABaEFT2JjrNL/f3N3y1nPylhZD8w83B7bX9o7FBFUZfZriCysWaMMw= \ No newline at end of file diff --git a/imgxml/ArmyOverview/TroopQueued/IceG_100_92.xml b/imgxml/ArmyOverview/TroopQueued/IceG_100_92.xml new file mode 100644 index 000000000..af291c593 --- /dev/null +++ b/imgxml/ArmyOverview/TroopQueued/IceG_100_92.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+Ok2S1K/29qtbTqqO5zfhitcj43jCtaHsJKR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/TlEMcZdFbo07S6AGrTBSGIfnZK8Drl1S1KX4lF81AZm20qPZA3k9lJxYt2galB1rriTVQEOV8yUYhybeiBU9vz/sHAdsLn76pwy4u/4TDTwuvOrXq0VdTEDSsHp1qXjX4LvLMycbRWB1peIQW7SEfsB4Vb1yFUjUgUZIHRWF1KMkS7rKeVBpCbzgVx2UXYEzIlOCONZJXb5TbakNtTQkwOuJQUtlNnrLnl5MDguA7YWlk4ajLWEQcCc/HMde0N457Orvl2pghIs66sV7qgO1W+fIlih52ruKrJ3AbIY/Ofttxc17fWMTocW0tFk9kOEdCF3IdBswu74jc8IgQOmvdnnnyceciiwuct+1Id6iyzJPghRxDO7dazlTorW5V+6MHmf1yTh3NSvzzppLSwGSTEgY4acEBpEt+zUi1pwFwgS9ZG3/vw0ONEiDO7mcPkNmn18+6hmNMNjl3CuuXIQGdmcOCyEF5HBFkTTsHXTOt1mpjdXE+uNRXpolOBrEjc2ZWp6w8szFJaksLx2YE2DBmUzPON53s/3D4BFt7NTV0R1Ez2XDDuX9giKKPSFi/t0enOeM7NpatpZGi1bstk5AlqZo66v68Gye8B8asT+OWNnKMz/zz8sSKT2TA1B1gaXWhgZWBVu3F8mg36UVHPmOFFM+3Qx2tTO5+25lashUSA8+zgo6ecE5DMoFw6+bIVs+ZDo4GjrE9PHD2ShBBtcD8ZNaZNjDZiLvxODhaj62uZl+aAe1m809PtL2PJ8CTi0N7toowyE1bI8vdf5GShiMADtsX3R1jX5fYdI4HVFfGLa7HxBVhyqBCHHMFIFRl5IPodlcZxS4D+KFKDD0F6+bHuT9FSFYPcb7ORsdLtxLJyd5xvOpYPxuEupch5bR+6lLzPAoucsZyGZWzgD/lqtlKz4g+szPkK+xwy6hurNisy15g8VottOG8kw2ULuYTVlRDXs6HHJngBbHO+qX/WhKODiSYwZ0w7QoC7cJHTcXJEgG2FqkaihYzjwgvosNaT9NijifqJ6UWbHgrbAcar5TRHZddhCHiHgXg007gTrxiU/4yRLmORorpCD3VFPTH12P6tmtVYTzIdVXA/iFxAkgnyy+mX7r01YHtf2jsUEVRl9muILKxZowzA== \ No newline at end of file diff --git a/imgxml/ArmyOverview/Troops/IceG_100_90.xml b/imgxml/ArmyOverview/Troops/IceG_100_90.xml new file mode 100644 index 000000000..b3188d7b2 --- /dev/null +++ b/imgxml/ArmyOverview/Troops/IceG_100_90.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OmmTo0cWVWih8mSqxiCl2BB0aF79zhkOoSR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/hbjcze1yNAhzu1HHuvHbws6Z+WC4SxB9OYJwA8dYB34yUPIqyT9cy0A3vuTDIoUSVqUS/sFwYlqdu+s2ms3Jo57bNhZ5YPPm6F0jbclmXEzoEORAilbZ7cJnFYg8EgnP9rv7Al6DgkaL/LaWx2qn7nQSbZufKRE24L5n1tXb24Hh1iq3em00jPtXzo/6VqeGp2Y6q9eDrm/E8urkN5iXoq28B6B6lbDrF8W1H3MCbzsw4N9Vl0DXqxBuyMko7z+nBA8A53ws+fq7hgAwJF9zPS18nZf7luE1TrF6B6aONK/lK6N5lHaoXX6TIYGeaEnzkYyproOZCUbt6fpgAdBB3IAryPLII/yoBntPYr92uCMDfftMO+9P2U+Aa/zFBJcbadE6Yb4njskLteposMpic9yKo0370r1bLvZP6WwE1xLiecCcAqQlHqsfmLAJ1IPCIzmDx6sXRM9LYlNC1xqCFYHWbKyUUi+sNDZzyb62i+tSfQe/VTn5n2WVVgtjR7QMH59oA9nQaER5Es6+Q9e5ZTeUnMfXN9k2cCepPs/7TMn3F4iSpY3l/9xUYKp61zNYSH4/UIpVVszqwrM4w6PW7FDk8jgXBPTZla/08y/ogenQM1e7wIq3HLkAqr9ZzoQKQeUGNxAiRpk6Mmfx2RuOzW2TWWOAFLMV1vQT3LMxjRJdxxuMSJqBLOu49bk1GdQqypZ2mQoADh65F4D90EMCJxXkh1laa/YWnqifZKOby/KdF9745ZjFo0mmH0eU4fQkEAdiNTibwU6hDYIEZ1B8vhRju2EHnB+ZSel7OQJSluTK0n4x7iqVeUjD5cfuaZE34Oo5cX69oFNuyEU8b5MfeWOfSVagZZ/URZ0Bl+GFrwbakld6RCO4WVylht1ht8QuW5m2Yem+V1Ug2mpoYE77s1gYhjV1FmlTHSzKbYqX+b3Udwpoey0s/e4+QS3A0p0RnG4hs9c0c9J5aJOX3KJy0xz/yBlGQHMHdTE2xShe/BMtEtondxCVuOKIgKPzVnoJrIq2Uos1+oiCV/YU/T/NnPZSGSag5bio92csmnkRB4CkhU2zkFyxvw6e75AIRQT1VDEmttPCf5jfPaFCHa5HOQXCdRLzCBxzIfZyO/6YGL6o5mPY6q4uxwcDzLcMpxojQgbLs7LN+GzmYjWI1rQnYnO8+wCKSCRBq8d4qrYiRPrE4nryxJQ/CtemyB/vxxWWl/r1tE3NCbev8gPm22Osl0XvVd+FR5rH1I2t7wh3y+n+srX3liefKD9ZL9ZTKNKV076X/MtEq6yiRWssS+SM+MMwoV9tzPSzi40YjPXx/oeOP0sch5gDEUmzToP1+DD0g71oPI51GF8GpHQ86WZOv4OWqfyU5ifSGGiX9XAnXCVYesD0AxPbJcPFHOS7X0J+rTQgsfgw2IaCZs49Mo3GFb8zeSLjJxavDJ0QXPgcv252WOe/SXhrDdyn/xHEI9WBHvdtCBVI8LY/Lr3q1QYKAwovwjMBgIVYcXgbmALAec2fo11+h8iOKF3CufSNx02+Z6MdhjHD8oAejaG7Tw7NAXlLPdIkcdP61k1nuyAIkVTjvO6mZFsPzanNGSaYGP9tDj0IRjdHUCjmmfKUS/ugl3PEEQiDVGojF3AFfhkMO6XVnJ1oUkZElad7rIVtz4jsAxKa1pn6bBc= \ No newline at end of file diff --git a/imgxml/AttackBar/AmountX_0_92.xml b/imgxml/AttackBar/AmountX_0_92.xml new file mode 100644 index 000000000..2342b712d --- /dev/null +++ b/imgxml/AttackBar/AmountX_0_92.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+Om3a0tutee6NXWfQ6tEMi7flQlA2monsbqR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/d6Hf3xnquBcPCrB/soP/H4rbDuQyWPvzlcB4zY0lzZsIpYRGiLg8gCvhSFSUkqFF5tr0N6+ITzN/ioebhSUfkYdurilZdsIDm9MCn6L1JJlDkY6M5LpOrqlrb7j0gMmYKvyxGij+PMzzB2jKVJxYrUbel3WCrjbWEncridn494qrS/L4vNNmMyd7jxborhoYp3ushW3PiOwDEprWmfpsFw== \ No newline at end of file diff --git a/imgxml/AttackBar/BtSpell_100_92.xml b/imgxml/AttackBar/BtSpell_100_92.xml new file mode 100644 index 000000000..b32a92b94 --- /dev/null +++ b/imgxml/AttackBar/BtSpell_100_92.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OmfEfroAxCv9f0Ch138Nn/6pTsas7D/0C+R2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvZ/r6gLpgnuMWDvqkGUEcu559x1SW4tOUOqw7cMq+9lPl87H6V/3FO67Ctk6P1ZE61/DA36DoiWJUmLpaiJyjLbLL6SH3RWhSsGTCRy0DlqyCEVIhZf37AngX6IMUFnitQ1IqD6Mi/l7H7d8QuxS14v1MuF2IQ0Gf8rS6giZ/bBHnck57TASdTPiO3IIjG0mW93PvnxUftmjmHW7HeZmA63NxjCyEv9dBLjWUqbE7Pol5RPNMJILXMgeosXSnxuc/p3xbCnLjo3A220d0T3rdb/6YUBaP7yR5Vd2ymPHsNKmXI0aVjq7yeO8HK5niTj0hIlIaBW1zJWECHkuMvqJdE+CTeAh2KBg6wJ5jNMyMryZ/BRzgkFfWq/yVCxVUHxsyqUnwLWCJbnFcD+IXECSCfLL6ZfuvTVge1/aOxQRVGX2a4gsrFmjDM \ No newline at end of file diff --git a/imgxml/AttackBar/IceG_100_90.xml b/imgxml/AttackBar/IceG_100_90.xml new file mode 100644 index 000000000..a93863391 --- /dev/null +++ b/imgxml/AttackBar/IceG_100_90.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OkwQvSuLwj/nVcZUDCZQolyBc+sXcpJMbyR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvZ/r6gLpgnuMWDvqkGUEcu9gOq4vxCAaQIeN68UNMIsFEt/JbHTGqulbsgZENLtcgjOQ+WIH5+wmNu2a1iFcenZw0XZxQMNb+oT8xD+IchjYBLRCLlW3wzx+JBLgSK8NJzDCscA3Kdxxy9HWc1YZcrKfxvjb20q30cyaGWjazZVvmBIp8sbxmUgYKpYKS7JCnY/wF55qyF0NnKf4Rc9L7Zmv+EryHHVlc3EXh9WbjLiUcqj17scq2sQbuSQCnImzyHjpsyJk5bJ8SZaxpOPnGfLMCFU/78DbqapyG2uLnYmtHP0jyHZL8MGRMGDctKJfgk9zb4pc+4QEvp++TZmZ940MgbVjUKXEdZwn/jKhoeDTd09w0bAocpzkbrnmX1VCtqy0AcYAkYTfVob8JYtHvejR6RTH/pKpZEisd2e0NRFILJ8txZfC8iBbBs1R76CrJY+bPhyTsFharqWd/h8tRfV4TgM2JEJlbuHVUBavhVQkLdvgetN0Kcp0Ia7zTaX7NCRrae+rXopegrYi1wLPT7D9gnDA6+EPRRohAKCl/J7M49nvmO+UWw26U0LuwOlLi/XI2pY9WMLRW2/g2pNNXfFjsCuVSxXFH2k0H7D9Edh/S0GNfdjmuBqyIMyLax4V/+R5kzciJcR3yQa0ngtATBNBApWAIqzJIShso7kjEWiHSoZ9V1yILKg0MXjAqK9ldMvRCd9hPP0UGbuSK9Xnw8Tz1SvqS2YO4v6H+x7g7BUgmm2LQIp1rYjFL7kIzrvK1npmrpUatEVywnbgLpjNEJkpRp31WG1hkWUBf3gYhWR8egq27o6vZbg8Z+7AI4YCZ12qpeC1EJ9gDkF2ru4kisCpn+8Tr+lrMQuoABHo3H7kpm7Vn0MbulxaDn3qaaiaLk0VowzumbRrUjbO2xovCz+20au2kr1V47y749gnUhbqd7rIVtz4jsAxKa1pn6bBc= \ No newline at end of file diff --git a/imgxml/AttackBar/SkSpell_100_88.xml b/imgxml/AttackBar/SkSpell_100_88.xml deleted file mode 100644 index 60fba0112..000000000 --- a/imgxml/AttackBar/SkSpell_100_88.xml +++ /dev/null @@ -1 +0,0 @@ -LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OnGrIj2uyAnp19+AhkmeYa0zHoaeJ02CNCR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/IohynpHd67A6beUPUUGZmBkJzsgIwUGhgvnJx7TuFGMVuXn0ULQ9Fc73mQHnTuBxXofTXdrU6sH6Crz2L+5I3qc0jP1N3gcjKQYN6TizGOOUbDxYtJo1yynNkdf1+Jjg2eWuEzNNWAyhOgI4xObsfcSPrhqWJEOqX3OLepzweeC36esM5+59LRGTGGOkmasgNoLlcui5F1ISW2Pd8s4y3PoSMJpvt+Jyf51zCHTTG12k5nclz0u9YtFs9R4BIPz3INlouHVnuS2lB0E2XAMV+jO8/G3tiTltWcY/oe/MCcuXxAKhq+E5j1aW+jlLFmpAciU41T3suudo7BXWviceB7RrZivJ+PZgLym2/6ZDxwz3aK3gCT2fes3clca3kKgL2Scnm0vPRnOIYiRyaCTIBFX1VPQreu3GHk8d/ygnHgmxKWy8ALiTR7sZIvTgTwpws9puVu6d+EZpK55n++uDn0mQOEw8YoKLB/WdNV66WqJJcOxYX+fIbFhYiOl5KYOJCIMwm0FPcFuWrw/oaGI7u1Bq595YM+KAnBm1Dg0DmWe95D7CqrUHhB2LPBxeXunLrvudFvcNRIZA9zK5dcyNJSSegOhaBjI2Ztth7YyBgu7z/OQT6HxZ8aNJg4MbkFC3OTPCYjzz7BRvIxBNnKu3Me/cTO6xhFZRkAy6nY4smcBrO2DFS3fClp3vN5AF/NVAiSV1QNi4STuDbI3WLq6VN5Am4ft4Q/SBAX9QMTpHd8lSihDdUw/m1Ca60ssx5BovkeMpy+UDUxK2JjeG/uGmw2Y8+ALEXFeRJcQMPFBAsUJdZU6WHGfQrawkxZXWNLJ0F3AFfhkMO6XVnJ1oUkZElad7rIVtz4jsAxKa1pn6bBc= \ No newline at end of file diff --git a/imgxml/AttackBar/SkSpell_100_89.xml b/imgxml/AttackBar/SkSpell_100_89.xml new file mode 100644 index 000000000..86f8820b8 --- /dev/null +++ b/imgxml/AttackBar/SkSpell_100_89.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OkF+XXgdwkX4+x+MowNd0c2eGXE3JV7Cm+R2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/yHa5he2KH+/p/4ZocWON+nG6cKkQqKwuEFLSRGnNT7dPydZKiQJ2OQUvPwAHESk70jx4aJCfNFMmAABEUnXXtejWWTv5omf25Y0UYzZY3dMWXFghcpQZZKdUSvk1AMPBfCbL73/bSpzEWk7W+PeAOyE7K+Mp2iXaGI01zUaHyVJj67QM6NP8rpiayNaCHtOnxYVJkJ+hmhQqN+qrFl5J5udzYqAelXMOIPwSxcIzStXULRZKPBSc43rW3tMD+g/3QlTnoZ+Ly8ZtG1gjt4UG0KhVG6cehljeLdYYY3S7LgH2T5QrZVfJgSiOc/i0TYs9YOLGps1QJ80ixNoC58GDZFcqlk8ALVu140pdq8/FeNb544P+5vK51EGymcqF4kyex/MLVbegdsE+EkMNQl9skwoKcKaUGCRk81bf4KnonypRCrplsw8TM10V19E9kkwf+Ep6LHK95BZ2lciqbJe6xtp0nbmI5a9dWfWnN7vgBtS65cZg/MXZIGr56OLdyoIvQngT/Ty1xDx4T67FvnbQE1JUA8om+Elc6FHfOLKTs3mYLWxsJppZd/PHdUVsBuWF3oAk89QyreUk+vYdR+F1jThdNIlo8N7jHiK9VNWYsZEJc7B342DOjizk6d0CgF579WysbM16NP+pl46K9PCp8P2ZYzf8pcE2xfnSMuwbz+m1AHLLxbCsM9QKAdFFElIlXx4C4PH7++5o4CoZT1FDr6Dz8/9QTkop90WNufFClDtshmHZOXK4nYigAkLfMchtQPG6og8ua/CBIHxRffsP0WTmaa2AGC3CCTD+SZO6jXWTpmFhdHcEisOK+ocexj/g8UsmnNWJQYB5+2O86oJmrLSA7gnt4iUlr4Gp3dcLP/mEPYs/zOwdkcZdtOxAsfRFH6c7EvU4a81XJkXmTHkqljbaNpECL/BisU55Ama4DajLXjIn5U/I6jVZJgZFm4B/dQG0S7xMNpgeqA4cCaVCFJV0aC/QXI5OsNV3Cpbkx4kldLof1MGub4l+HRQNwwqXxwX/rTr/HKprMvTw4id2zKAW2Kz64Sw+tf2jsUEVRl9muILKxZowzA== \ No newline at end of file diff --git a/imgxml/AttackBar/StoneS_100_89.xml b/imgxml/AttackBar/StoneS_100_89.xml new file mode 100644 index 000000000..b127e528f --- /dev/null +++ b/imgxml/AttackBar/StoneS_100_89.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OknHM2xTDG1/iPyPupH67rsS7TnST6tuVmR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/GwiW0Vsm8xDS//RC2tLNNeQ93AZ7jBp86jF/i3ei29XyCwpt/tNaiO2h6Khvq6WAU7xtg04WT3u/ZInt2ZrwaAPEpka0qj5kbBFMbLgb9WvoPvn9lgq5deXsYz4Pn/+3Mf50d4iPlLc7D1QyD3oClC6RslTkF6os+MIsHbr6YFtKQUyc4OQgLnhLXJjfk4tUaBiMJLLufdautwHgtOx1Q/7fS+HofYNQvba5Y8y5inKVFsXol8Jdo9+lClUy30zpMRoiB47nflTWbL7Hts+p6jNpp0wWrQhG2Lg6u/jH6vAstXmcNJKxPXOnElEL0SyDokLs46O4yTSoM3QvUfJoqx4k5jEWRP8IQjjNN0CJItHWF7iKV+T8EFef9AUm7UpP+QQq4WWPE9OMXSPjmcfpDKhl+YNVX9e2bJH3uxm9C8YK1ZBNU8zqlYK6qEenBwmHqA8xSxSNoBcTo3AtnEITYFZRzu4/GEOfuLG4p5q0u7QtTda6xGglPS5Pyr01BZKmIR6H4ckCwptK2YAuBVn4d4MvOtNnCXFVXF5/SlKecmDQfxcLTSYKBPZIhMfb88LNsgxZ5YUIyzqERbMNwDHTnO/mNt1LRLIpRAk1m4gJqt6Za4/5yMIOZPwtNgCXM+d08AkYPRI40yyQfVm8SRGtXf2RyjW7hXTPMGGgW8tOtOtcziyPB6Y6xXIxIaaMf8s0sndCRBASFidyHRQH77sIOWy5PpemfVaCwyLrz0Y+rYAXcAV+GQw7pdWcnWhSRkSVp3ushW3PiOwDEprWmfpsFw== \ No newline at end of file diff --git a/imgxml/DonateCC/SiegeMachines/StoneS_100_91.xml b/imgxml/DonateCC/SiegeMachines/StoneS_100_91.xml new file mode 100644 index 000000000..9b816a4a2 --- /dev/null +++ b/imgxml/DonateCC/SiegeMachines/StoneS_100_91.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+Omiqmp8ykcUAXYNl2m1op8Jb/0/X3w41VCR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/GxaOPqsE7nTpJr4nDR6R2VpqgVsVO8Y1l69nrrbKtl0igTlauoMUwneZvvUxSOu3Zms6XojiTSycb0Ejeoma3/dwG6qTaE/X40ycrID+VI6BvUU9UHnTaa59Q1h9zAziLZxqUTVppxgo6r8DbXYRGMjAYpy/MQeUsFKq2EQXCAjgnVLW1Kuj+LxMdJhlVHbQSDmht3peDGdh6vFWVQmibAoVsGCwEwkgrYyEqlIVVjT/UYFEcpE2EU7QCOlPo7erjd1LLKfFdE5noDPG9xNPn+Pv5DCPs8Sub2OsXANCBjx/FJha8VoH/UjWVH1pP4KpIPI3UxHA1kEPSOrqXRnVQWsV0n+9N336iPNRNdtCvh0EAKVfsTDVl7wnd3dfT8R55l1z68jcHWB/yhtSbaR5075phniraupNrsbkD+83gbIG83MgTPkkodzPG3OmPgXMcD0RpEMU7FcvbCa9YEeTdcbEavj5Fu6KXIjHXS4FDDfGx1nG9wl51D+BPufc+igo6GEm78orL7R/wN1CSL/gKyZZxf0eu2LKsBP05JxDNUw5yiuqFuPL3g3IhtcCxl0Gfsh+0bVMM4FClYYPgoblXSpELGmKggk6aJyufewhR3qbFIAzGAZz7ayHFHF1GnFi/Swv5TjiOxYyrp0Q+IkmRVcD+IXECSCfLL6ZfuvTVge1/aOxQRVGX2a4gsrFmjDM \ No newline at end of file diff --git a/imgxml/DonateCC/Spells/BtSpell_100_92.xml b/imgxml/DonateCC/Spells/BtSpell_100_92.xml new file mode 100644 index 000000000..1ec51b843 --- /dev/null +++ b/imgxml/DonateCC/Spells/BtSpell_100_92.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OnL4B7cjExQFJs5eP1k/wR2gymnqQM3NayR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/gVtnZVzUf6i1Tiyp1SuPQTr8iyUljTeDKm8mY6Wuyad83VURdZozAMDbJRm4ejEk4Bfy6jgn5JXLzyxWx5IHE6GSQuo/tJ2D90X9J2Ym5WqMAJ1OM3ajqEReyuRNWQRrXxyKQ27ehxt4+N58e63bVDx4+DGCJCsMB/LZpdL/UNAtcIIAoQR4v96TtF8ORy6tjOqaK3x+7Z4cAuzm4UwctncLXAJ4jvNvMCouipwtX6VpGc+eHbYab69KR7+snWQvVlwhb6qGL899SPybHN5V0mkG7Ijfs8SYtrxWDYp6rz2JntyCHdmqliMdET6mhKf1sXexhFIOOF1EE2sa5MEagKwY83i3UDiJFPr78sgOgpBD1d+Nj/ZX8T2W8bHG621uWgzYzlQZLNm5S9ke3Sc8aUE/DJHtYEExX6L+UvgcszeHplnxfZTVu8PkIbF2e0rLh/e7xjW8aJEndHbt2QCPp8tylqHt6koj4DjkP74Mv1DySIeWy6IOK7xbp0h1rsJRACRGp08cwXlcDkPbEdtFnwx8pia43dl67XsmzmDWdtycQayBEFNSCpGB5DTtO0V5SGvHEw5AIDhiHbxZBq1fvwBjohIBOqjSeQvqZ8MBkL74ox1ZJZe2Fr8A0w4YTbVwMVaAI13OS+H4VsFyeT7zztMxIznpvtEyMkFXKLQWvrRGlVYdgSBesquu+77NU3xmWiisFzEk0WrWxW8O1LisPcDXKLLABZ+RS5o+coHrF/DJVkTiD/xMmL3ef7aselE3ozM7d8MH96O4Sw/FfzyDWnkRCwk3EQul358LuvSpfa8jDeQWYKJk8tr7NMVW4AwZnAO0XC0Q27WkdO9nMMxf68YABCAZHq8DL/f3N3y1nPylhZD8w83B7bX9o7FBFUZfZriCysWaMMw= \ No newline at end of file diff --git a/imgxml/DonateCC/Troops/IceG_100_90.xml b/imgxml/DonateCC/Troops/IceG_100_90.xml new file mode 100644 index 000000000..a19354405 --- /dev/null +++ b/imgxml/DonateCC/Troops/IceG_100_90.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OnZdH7GI4p+LkHG9hTd+7CJGFh0ZBwpMpGR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/nuWtXNzCXheKLiNZWa2W2YzLYSuHpN0n9/0vEjBFKFz5oLRpoRpIX3cAAlrznaeBvlE6qnD4N2b0eE2G9LVzDMLb1tt4rdEbvU80M2R5VoOlccXrzVxeE+iJ6tcoFbTtkzj3bwT8jpLyIBdgtVDfSVIleEmuqwiIFePD/rAxWDA+reUJsCCC+/FWDo3TS2Q1CFfF4ms8F2xrmZqwTkRWSowz6xcbm3VIxGfrjUqLfgnLIEhdGO1g+1YU0/8Y/h1+Dg2G7iB62UkqxVuR5+zN9q1VcVVg99uTn9vGG9azNaoSBPmFw2h987SWhoZMtO0jaJDVVT+LkDxr8xQU6cU3ifnew2m8OPi48dxNVLef/QY9kWI/hOkrcILa2Ff3JYNHFWYoTi8kxDsAcrHtZ3ngo3p7mmKH3SxVSAfGoSVrsYnJrZ0sGaSjWJxE5Mdem0I03UY60gwDVr4ca0sooE40aSXmNAGmxE8EXChCwsVx41M8N0clRpZvcbNOXBw0rC9MSdH0euLMhCUb/XTTQGWE16JdOHcma31lwfD28PhLOG9w0PWkQEqfkFoWlAEkLy5jJ4WTfbamQuw0OBw02GxtkCfJOxnTZ+OyZrtdsfKZuwN6NN76kT6NaUKopfeA76XHxJ80rITqWktZEdA5GAy8fvPjHnftA/D0a7s8HWRhQHg2OXtd3CCW5jtVBQ4QMSB5tn7Qf7hRFvNmiwbFLuMYQ8i4uURK4FDloq7yUqt5g/waWJaw0E8ut6CSxNEfAW/WABQYOTzrtvzJyIo4Vsg8WVdzPEgJ9eP7SADPxSZjhviPZ02dIzQs8jwuZKoYmzU+ptXBjeD92NWq2EefCxvHbYTKySsMEVJobLPHZva2HHqYswi2J3KP1+dWZoqP+p39SDpjcg4M4qzQCvG0mJzzGTETc3RErHZrm1TZFMVmFrBHYL3kT9v77VuWn2Z6EXxZSDofjYuQ/IaRdZ7BkhPs2eQ/dysGq930EZ8cKjNTIGrTc2G0IAiJvX1Ovd/zgnqVcFLKZxTUmtsFOWHmzd0TX7Eujoz7a9BFGq/cnsLbykGoKr5PIPMZRvF6EhVW62feZzAdr9oLWzGLqGqcOsbHLkFC8xSgPdNQPmKcCSgUaGBeeffLXEv7TZu6pUFRW4S9kqTXrwN3LnGRaj0Vf5GP+zI+zh4uHUlbq4Yk6AuUlH5tWuvMRGsXR5X49MkXXZHIlqYb0/pFIulrMvTw4id2zKAW2Kz64Sw+tf2jsUEVRl9muILKxZowzA== \ No newline at end of file diff --git a/imgxml/DonateCC/donateccwbl/iunderstand_0_95.xml b/imgxml/DonateCC/donateccwbl/iunderstand_0_95.xml new file mode 100644 index 000000000..681441c81 --- /dev/null +++ b/imgxml/DonateCC/donateccwbl/iunderstand_0_95.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+On0mOYp6p9WF8glM01775t7lIvuXZiGZwecSGjT+x3SmU1nW5Lxrp2svSOAGhqWzbhJRH0IIVCqJuXoxt/S+M2eoEB2zFdlLbMf3juo2GnWz3LU3zBPLgBSvhtL9QvuEhXRtFTU9DQbmr859Vr3botnY6cxPAX2g2h+xoG+FZkRGUsnJlNkbX4xb29IvjTXgPKrXrJDe9qDh3WODyYF4StnJzIwT6PDaqbz7G2PFWIIc4PZqXgrt3d39buJQoS6qt9wppjIBrs+A5TmCtCbBU3lQ0ylY6u3CGJIaJy0rJXBwgd7zol5wFBFEIBkftYDsb55cYlDafoUonSrYubcfvD/JsJjNUXR1d7K9WSXsVbbsBMJgQ8cSXkeNU/N9WUiTbL0Z8MDp9DHf66a+BFlHcoLyhZEWuXaOSEx78OWax43XfIQmbND+gAluF9aK/LTWtbn+gQ9Wd8rg6gCGh5hJ+AtLk78U+EVHmmxbKNtmGj9k+WSzfDYVuu53E65hWGkqIsFSXcr5Z15yO1doBrXE7Oymgxa93Q+c0D0FvAqHPSvRpVxTBAky4DgE04CKBV6beueFXAOthS9wudUW+T2Yx1BcVC8qLk60KvrOHKRJsUr39GkFrYE4JSpQ4o/Z0lbUxs61AoTnbHGB/qHMFI2XQCjzag/gqbT+KuZwsbjDiePPBNKDvcnVZcKcQ7UdjLvrY53hOqOI7sJAZieU2O6COBcEbaREhAc99Z1mv0X67VjQnXCm8HPbJPzdXHBK7H740NWZNB4DLGf7E6tBznnOjcg6eNkFXNDQYf7WGa21vefKQfMp0sE+FQ5bUF9OW5kGjJ/w9isdDFa7CuPN8upVx/FFojts7Uzj24vc/36bYdFfkJGTC1KrZ/3+bz1PqUScP5nymOMs3KXb+6NTDhTDFmPJ3TIU4ctPJai5HbD4Dtzi5KaWATOVM1+hnZxDULXxJquP/tySGI6DiAvthy6N/7KKgLke90q8lumyS4nUXkBHykt0uBuQsdtAsEr8aGLslPcCOogkab9N2oq4TqgJf8/K/KwuM1IzN1hcRPjKYkkW0u4HAbeCjqHgc6rRASdSYWbNnI6KBBmF4b5tvbZqlqx1xdsplotiXbMDtvmrmwh7263n5BilSz/2/IDHWGKpTqlqNywghoU4D/dd/ZSv5fCHeBptpxZdjhB6RqO30S5I/sQWLpSI9Myc1JYjdI6G3tsdesJkURvdqtL8vi802YzJ3uPFuiuGhine6yFbc+I7AMSmtaZ+mwX \ No newline at end of file diff --git a/imgxml/Resources/ClanGamesImages/MainLoop/Caravan/SnowCaravan_0_90.xml b/imgxml/Resources/ClanGamesImages/MainLoop/Caravan/SnowCaravan_0_90.xml new file mode 100644 index 000000000..fd6089fa6 --- /dev/null +++ b/imgxml/Resources/ClanGamesImages/MainLoop/Caravan/SnowCaravan_0_90.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+Ok7gahTjzn9sNKnHgsyDqd0IAFKZt9DeVqR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/gUVwFJh4/lftHeE4PFyhU5aVdvBF9QYtuAFw0azopn2Vj180pGOEIzVfBBFr4ibVYQa4TcIwoN46W0w+5XmEvPeR6kcwOEa5WwdajASpvLOw8wowahMLbkkaU5VVKYPk7/bM6DoCUV+ujt6NL8HCMSbkksEl4o8x++Oqnnt41Dt48ribDU9xV4m/4YUz2/L6jRjc4XTE7LSwJFR7Fu8j/8I2zqHcjKGixQa+Ap3Z+O0vVQLNjYrLdOuVtDMFt8I/X0g1m14LxLLrjtgvOB9u6gVE7nidTIYyhfN3fGi/9EgWwoI+KUvNSE49PcDgtQj88bc8eGrs8FSQkfbms1uhTY8DwVzxngpXZs9q1pXYnTNE4jBRizXIzXMGb9ih7LXe9DYWO46+7wR3wmgM0/OhIEOTKlHtJDwINMSE7KekaARjtE9Bs2n2V7D1hXXV57sPx9D2LBrp+PwoW5RQJm6IpVfmD+d6XIzKFBC2rNOAYLYLXhL86VpsqL6FYaO+b+rh3XguEyH4XXkv9/c3fLWc/KWFkPzDzcHttf2jsUEVRl9muILKxZowzA== \ No newline at end of file diff --git a/imgxml/Resources/ObstaclesBB/BTree_100_95.xml b/imgxml/Resources/ObstaclesBB/BTree_100_95.xml new file mode 100644 index 000000000..9f24a8593 --- /dev/null +++ b/imgxml/Resources/ObstaclesBB/BTree_100_95.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OkEBRpVu2wnOEgDr5rq5eGfIdiI+sx2DB6R2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/go613Dl4aDibgmArW0aa9nqueHx7Os2pTatuAhQHuqyIM/MRkTRCYllVmKtE6qen80GQFIurQvhwq9mJa3hJk6D6ART6hV0mfpAszZWZJU+QnGjKmT+FIM8TuND7XvcQCFYyPbQdJk7uOSAvQOlcVxCMZudhwE1MpRr98bSBVfWnxPrW97ifeeE0WECg2SpjAmF+Jv0r1ElcyRfB49eJwqCj+BjG+ejzNbOgeZxiZ1u5wiIxOHo5daLvvO+SmRUJBRz7w/yS55MptlMWkv6wKNP0sMvvnaTJ0T7xbhXDYbmquSM3X/rZTw+yvRDXnSwfb0P387vJPfAnfXMN0zZP1Ysh/pL+M6z4f7Pma2ii6AQhL4gm7mldTMb94kZqpGdTrvq9ECr2Vqo1J8+LVed+1Yqwsb1p/7hBlqj13fng9HrKNJf9Oqm+tz3KNmJFzwzPFPDA1XHL7X2enUaKKr0sGQYA5eqhm2FtgKm1YGhZeEY5zNNGhAimIUJt/aYeIzEUwAucB2Xi0DSSsQToW30fHSOLWjpTOC6Ut+e4NywBZIRyqXz3Rjvu+G77iJwNxsiW+20au2kr1V47y749gnUhbqd7rIVtz4jsAxKa1pn6bBc= \ No newline at end of file diff --git a/imgxml/Resources/ObstaclesBB/Groove_100_92.xml b/imgxml/Resources/ObstaclesBB/Groove_100_92.xml new file mode 100644 index 000000000..f45cc7e55 --- /dev/null +++ b/imgxml/Resources/ObstaclesBB/Groove_100_92.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+Onf/8vsBYhqz/Yzym2OABSg1Wh+K1l4M2aR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/7qqyFLM4LGbAMH2VEgyU4i5NBqlR7vAs9gMY2qkDHm3NTgOSFXd32CbgXMRu9vS2fnLOC5yln9m7+Rs6bwAR75oyerVFhaCEG39SggY7nSVBo3DQW6NDiQ6dSLjg2EUF7R/zo1W0QVGCstm+NCbBwhdhveWrUhQRuLFS6yKXSi2D3l9e0IYD33/EUXBaGUdzc3U7tXP7raCUAOmYWrz+mSPoRX75o9BKwx3I9icM4OfnjSxz42clO5EmsZ4+anh+y2aUstp9l/EdxQrKups+bx+nw+DzM+h14Z/8W7uqS2ghLFOmZZHeooXaaSBRx/cvWnHuAVIr8zfscddUYo9thiGL0qzGJmgXRjEfMCT/LV6mL+GMZ89dQwF+dQebAoo91Ra7JE8TR2tRR6jFCE6RjGHKTljA2US0ug5rj3vbIDNFXYWU1Avn5yS0DIQsnFhdla9pZgEGGmPj34ByDJ7AK85RUFgzyaKViUYlQK+tcJqo4mGvUMkbdehv34++XIAcitaONPzXXewOs+TshkeYlzwjTFF3XCJO75qJ53WNnBI0fk+XxRa6EbD53BqXPkMs2kw33+xDpKPKgnIr+NzoXZiKtRLzcIHAEc/gP30sMbaWjltKPIdB4h0V+XchWiOzykDsm5Q67Q/XJB7ZMBJiCiyyPHoX8wokqPU43tXABVYGdHuD2d1B1lytW4a9kEOMKINM76hkbmP8mcpYRwIj2OupfcW9m5ofltTF/kR86C46Kvk+6OtInuzSom2oUI7bHKI+Kmw8Y7oPc6um3uWgmvY4YnHSw34fsANsuB6bLrn14uh2jqL4KnCQ6WKsv7MLfsTKH91PL2TS2KeLkY/5/dUt9URSv6Xc4t3KHM0NWcouxHc2XpRbgyPLzKqksbq5pdv6Tj/rqDrJxy2ez//ONcWOUjjJG2NMtpg4zpWsxxcXwxZlC6nR8TYu5zvNCnE9KgenzftnKRPbSeRUPvdokPX8wpagIlfHjdEOKxXl/EpBrH0Z1j6dGyran1JBi54B0V8f8m7o3Ai/m1MT3sXHhfHv4WXh9ITlOoXwgsl4w9jsXwZdAa8gYepLf9lO7mYzRdvW/jqTJU4+6rV76DtTiqtL8vi802YzJ3uPFuiuGhine6yFbc+I7AMSmtaZ+mwX \ No newline at end of file diff --git a/imgxml/Resources/ObstaclesBB/STree_100_95.xml b/imgxml/Resources/ObstaclesBB/STree_100_95.xml new file mode 100644 index 000000000..cf16ca12d --- /dev/null +++ b/imgxml/Resources/ObstaclesBB/STree_100_95.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OkO0uCazXJf+yY7Lg96ZW6mVUO3jlWvsuaR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNsGlkrWfpw2X6VcAaBnJIqQUskSEPadntXFOLOEx6XOsM5oVZxp+3mwQvagzd6hPKFyh6cxClluKDPAML2mrVpzfKxgL8M6DVrb3hA+LNBKXeK7LtGZN5+R0h1GBIE1/uXdIz2OXYw2yQvzEieGvb+KGzvlGc3IiJQdXTkHW7eG5vww2LAqkp3Y/KoMg3eP2I/ySscRSQfqR9x2z4lYUMQFnPqT/r643K7sopBOazHetvEwLV4rjKZ+mrFsbpkcRa7V94pMp5C8eHzhwOE4U0X5V2MtXZWHRJP9Pua6Jy7nFDKuuGrLxq3Rs5IZHNXYECaMb58AkIQeydsu7aZXP07r0Uco5+uyPX7bjbZx5h+zdMImMj4+zFHTbjHg4V5V9CTGxwTJyFZ0jHfJxlnZ/klbXvy6X26Jkbm8PutgKoWo7+uR5HSAYgdtoQT1h4XScNoVnIbuPzEJOeD1UxPjd8tGamJ07O9rfYzkIASSKFyqy+SrcJV+6uZfTSPRnEXadQN6rKb5WK5lNR4/6YvcIyr3homNHCahzKp93F7hgH0qTDmH7Z1crcOzEJRNd28U0tv9LHU7n6ZCU5n9rEtFkLCbza+0ThDPud9aT4tCpVzfgEOJs+NrkJvzDu2qdD4grD/22E+8nZsPlf+jn2gtA+hBgoXU9tNHyXcxWONyOD/HAN6foB46rDfFAHB0kzEKnFg5OsBh5Evn6zTu6Jc7Dxp71LQrDpcJ6a6S0pe3P46gC37OT9IUWZM2gK2vH6f5DZv7bRq7aSvVXjvLvj2CdSFup3ushW3PiOwDEprWmfpsFw== \ No newline at end of file diff --git a/imgxml/Resources/ObstaclesBB/Stump_100_92.xml b/imgxml/Resources/ObstaclesBB/Stump_100_92.xml new file mode 100644 index 000000000..a3fcc2e11 --- /dev/null +++ b/imgxml/Resources/ObstaclesBB/Stump_100_92.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OllVq+PPsLBSudl9U+DMe76vED1CRv3vkiR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/qT86hcpQlCiDpZSUGqL9XZLJZ+gWiV8ip29sDiXCeaAVxCOOX89NchLe40UGCaUK7GA7os3XCw5skZQzLqb51y5C7kktCvngapRoDYXMVciOA9+XkbHb/7yOpZnW9q8dLLEGoLxGwcQdCUSbwCoJgTKShie3GUI1QSGplHHfjqWTy6zt8qYN4kOYBM99PLTo9m7n6703Y1wwP4+JEDhaJuSddBOqUTTM9mEw5Xh1LZuzqcIaUjODSb34J5Qx8DkMEAofUgQ2bN/ZhnW/gtMYHfwH4rN0H6ITJizA312C1ChbPU7QXAld0ExjE/fhmWIL3X4GtJUtsXUEEOp8hZAaXBAw5ffEmOCM1cMB0+jqhMFmom2INzvdLy62cCwxDAfCOYqAcOrXmnQLBrYGvLgoSqeUoI4p+6F3ZOHOJyJ4bFVr8Xp23yk/+0pvDhAj42Vms8i4t/o+fEM/+qN+/qQpQ6VNanki6a+g1dZy9TUMbmnnrC031iN/IM+V05D4MqbujmuaNfXQXu/5UD6BeN+uLrTiTEJHCyiP6XSykEeThhcmkUwA7gnV0KVjdYD2VCcodDNeOj1IvZrKoJcAV0i3LOgF/wi1IdmD8qri9nJx0p8OZWJULsgoGJIEDsoqxUom53i9ocZQoObwfH5D4I501XkWlirC9HuD7OoxhdkL6dt3yEKRxiyd2VEJ5/cTTbrJq0vy+LzTZjMne48W6K4aGKd7rIVtz4jsAxKa1pn6bBc= \ No newline at end of file diff --git a/imgxml/SnowTheme/Snow_100_90.xml b/imgxml/SnowTheme/Snow_100_90.xml index 782e35e63..857b1d5af 100644 --- a/imgxml/SnowTheme/Snow_100_90.xml +++ b/imgxml/SnowTheme/Snow_100_90.xml @@ -1 +1 @@ -LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+Om0TPUhX6pkPYlHLA6n/WmAXSEKUhyy5QWR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/geuBRIwbbawxBN06nx62Itk02IJ4UAHt0hkVSvANnld2449pxXszEK3KWYDmvcNGfwv2t54p606QWuA8nNpouLu3+Vz78m2zGAqpuWUhKdWCkyysbl5hKTSrzU7MSbZz6O5R9fBJvUg00o3CXWjj+UKZhloY740lNdvchET4yvTe2QbElWkBoyVyrx6E4UN73hsQCR1vkDx+Lrt1Bv+NMdrmMbSYFeFVKHFFyG2WlGJ4RewrEjeSYYpV470lXP5y8smVjsPF9YPO5+LHm5SEDFcD+IXECSCfLL6ZfuvTVge1/aOxQRVGX2a4gsrFmjDM \ No newline at end of file +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+On4z4UtQTWQ9ma4z8lG+v6aEzIGwOlnH3uR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/EsaGZ7s+Mm0csxYdg8HIE+8Zu6d1VbLmovLFVUXxzAnUBZA70++ruAH0UmwyFijPmjGZlAaGc5tNRdpiesU+edehSJlQuqYmt7h4IPhRBoDm27uJpMSIZFsLziPL5pCrpvSe3ZsCv2OjT30aE56x9BdvYVwW4qiznQOfTXqw8qJ2OnT07Dw+G8iHdlDB5a3eZNGhjMdN/8X5XMUHVrv/bBI8WPGjiwoC+U09sCBStG1UrCLLDDyqpuYnLhQbhI+uc2oICwYIfHYr0/c2L7+n/mmQgpDCLjJOIjn7fYBR0pJVpKx8j0gEAuGD5wUDotGQtoyoFhNB4eQ0s5P7iohUJPt0PETZwCOEwEB7n6L0lBxxGzctjaAeTxFoiaa4vbe8q0vy+LzTZjMne48W6K4aGKd7rIVtz4jsAxKa1pn6bBc= \ No newline at end of file diff --git a/imgxml/Storages/Collectors_Snow/Collector_13_100_90.xml b/imgxml/Storages/Collectors_Snow/Collector_13_100_90.xml new file mode 100644 index 000000000..0fbcdaba3 --- /dev/null +++ b/imgxml/Storages/Collectors_Snow/Collector_13_100_90.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+Ok+OhTTM4c0i6VZ0nZkYVMdVKivTl5HLxWR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/KWo/EYM9wqrprAYRCQ1cItV6uViu9UwvHgAa5B0z9KYmBIIsoGUb5jlYh/2967XDNZRhJoJJ54iHMlhAPbXp1ndk54ZkucGDbnrQQrOvseqohHDRUHlfgt9Rg0+1/eQIQCpCU5twJytU8+fqY7JdDHXk9iX7Se15AysxTCQKfjjM17EmJIMPaH5DVtoyrzsrqBKWzdhGbBHiKDAVAhj2Vf+MpcOkNzEKsCmucGoJPOFX+cmfpBClnyjEzNW4oeyDRH+ujA6rio9WcNuuXTZYuzQM+lGEnaNmGnrvnrMXt3OIcE5FeXXyy4lrM1BBmL6y8J8gwaRk+yFvpA7ScysQccFabtW1W0tWO48y/rtzLsg9PbCkJoyYd+dEHF3CH2f4dePaKobVcHoUgZYjBMnc51tP60zyl+vwBzXU/Vl59TDaWbHnS3YTY6mfYx2yaifbxDJ+e2wabEMlt5xZYKjEZAu2Rqw6HQ6BSMKpCOBMgNM2HouZQzDCrNVA4tIZNG6cpmWN7q9CL3HGFUqeI1cZS196+ayUksNQNAThhi81ix/y41TK3FkF3yflFNl/HOpPcRfhSIv9vvZqQvev4crU6/TNcOppGZ4EsgsSlk+ws6U+GGqT21dV3gh4ZB8nXF7vavroOH82dtbAcsMBMXYJFi/39zd8tZz8pYWQ/MPNwe21/aOxQRVGX2a4gsrFmjDM \ No newline at end of file diff --git a/imgxml/Storages/Drills/Drill_7_90.xml b/imgxml/Storages/Drills/Drill_7_90.xml new file mode 100644 index 000000000..7b3c41707 --- /dev/null +++ b/imgxml/Storages/Drills/Drill_7_90.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+Ol58QEhqNvVGp16FM6Cs6GOvLrSwCdIZ3qR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/IH0U1DRGH4/o2F01WiDsoTTNUM9cAg+gliQ4+6yUHQwpMpxLuhG78hPl0VFXWgzE0Z9n4+Uw24Zu1t+mmVlBi3zIXa2hz96e4tX/6P6Pi1MCbTtsNbK5Sskpi7lpXR4ROWNUoX2mJPVtQKtcdq4o5NdG5vMHrVRBPxZrNGKpc8VgM86nvCrwmUv2148AOqqUCuT1vwAlOv4qpm2h83q2Wgmvu+Ky8+rc396gBlFbAAYDWJ8DJ3JXyAunfltfSkLQDXaKo7O4vvM3IvRA7WBsz5dtfCt416/b1s/glMCX9/GslAVbyFFOsNBffUGKeSpI/fPk8etriDJO3Nb4MNJdemOkqyOo/4wUZ7WTFqkHGLVUx2zA/6MNwgugdgHg67oj/BqxbcKW1rPtGriAkDyogqZo25solMsAWKma9yUpxSbbT15h7pwO+MvpnAFXrzB6dZ4ku7EjJJa+qRBZ0ZJPSJ4AhtnXaSZlesseZh/hIr2el6C4/MEQpF4S1jFdhr13wq3/2yirVFr45XVETf3wLCsUWArc8Rn+wl+EWzHIA9pTg8+Wqdg+gntE3IiZFzK2I5ufrmp9Rhk52hF+6x/uRBdVsjEd6i9ZXjNP2b4AG3OrS/L4vNNmMyd7jxborhoYp3ushW3PiOwDEprWmfpsFw== \ No newline at end of file diff --git a/imgxml/Storages/Drills/Level/Drill_7_92.xml b/imgxml/Storages/Drills/Level/Drill_7_92.xml new file mode 100644 index 000000000..204ecef02 --- /dev/null +++ b/imgxml/Storages/Drills/Level/Drill_7_92.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OlfObNmU0YSPs8AYO6Z4OzAr5caNrS36RuR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/2BKepkMISffVafUVtpktl7qM/CaNRmxUONpxu2WEUuAxy6GTmZvc9SFEe0qMp4jO/NkHEqyRs/sHqJT1Wv8LP6ObfohOkp7mVEY0WJgyv6XX0iuO3A/zIiYK9SROOAuizJ+YmTpuVNzAJwdJ75N+tR8VKooV6+VP1SIsXbevqw5NLiLZlbuk60N2eU9RW1dFLSH7DyXanJ/d+PFioqwY8lycAkyceW8JzMJb3AlsXHpYZoT9J58o29Fu8vSC03yxFTyumAQLj2sYmC1ICtKApCBcbf1zFG9zp4iAqzFZh6XEgJ7LudR+52II9UmQtx1x7BYOwcWK658tudG6IckqtgLaa31P5gVJb70WC0eLpZoBz2agjG9VMKJKmfOqZNhmYCvp85aV3Lg9cwRRpyQJDO3Y0pOmWWOgmAsqBpRaG4th16jYIF7xKwEeZCoktWHv8t8Bn/7FKx7POl152aaM+NmHNfNSE4CMnTksip2cfNi6GQVbTyKjDLewTlr8sS/me8SahIO7JkNWyYBsbxfuCCFfxrjV6oYYTCQfg89zInauifwCVJe9zGyYUYarCDYjg/8Fgg8mg5VXA/iFxAkgnyy+mX7r01YHtf2jsUEVRl9muILKxZowzA== \ No newline at end of file diff --git a/imgxml/Storages/Mines_Snow/Mine_13_100_90.xml b/imgxml/Storages/Mines_Snow/Mine_13_100_90.xml new file mode 100644 index 000000000..7d0dd12a4 --- /dev/null +++ b/imgxml/Storages/Mines_Snow/Mine_13_100_90.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+On2R3l33Cwsg/QUAMCW4EzEyMHZSyOli/+R2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/puznVRsKfmO7uftBcA8yLh6iFssdWlL2VUERvaOp0Y4ESbpD1gvJXZwv1YkaHu/dT+cNHtXg/rGEJyBcBsLP753I7JgsupRivS9yM08qihNh6SryrB9A0LXyrJcSkxAjobSHvude+nRwAayo0G1+YmMastJXt5fbsuX8vcN8nw7rebhEDt1/L3PIPIRPrSQX2alk5NJwwShm4MGunLOSTEtCCT6+23dvDYPSQeMEna5SmKjgsMDOIVY84I6+WrsM2D8ymx8qkf3D1+228pNvrbg5oDwFrZAA5+9ktJSg98ht4PgC3QvOhgnEoR7OmXP7gNRAoovDk0ttzZqGwqSST19EhgLvoX5nAoNnDzpFfkhc7ef33hRne0V+4DUdFvhD+2N3JSwsM82jhVm6QA7zDs3Z3GD1dVyUbnkf7QiTQ0gji5xHorgn3Gzgk2iIkXq3JzdvfXS7pweXhUQouQixy4eLeMWHO2gpAU+0y0qAr5m1QbCwCTTXJECh7LL/9mn+hWYKHl5otgc6hDJ3cndr2t9d2JCPj1x4biwX1q6TgAeXvlAhLPh7895pwnQ0T8IrriKDehET9RqkUJ9Ofqwc85Iv9JFdZsFNJYowmCWji6sMKTcNV0Snz/j1MwBOsSpyK4TDfTUJ4zo0LeXg7Mm8BuNx+wJbyD9Cq0vy+LzTZjMne48W6K4aGKd7rIVtz4jsAxKa1pn6bBc= \ No newline at end of file diff --git a/imgxml/SwitchSiegeMachines/Siege/SiegeAttacBtn_0_90.xml b/imgxml/SwitchSiegeMachines/Siege/SiegeAttacBtn_0_90.xml new file mode 100644 index 000000000..d23d44046 --- /dev/null +++ b/imgxml/SwitchSiegeMachines/Siege/SiegeAttacBtn_0_90.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OnpSBGDAMeLCwspMKDX4o3QIVF7fiaPk4GR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/7KK7jnFGdAw/Rh8ngoBnP1AUcfq1ET5iI+fjRslmNwS6V40+dHR94ROAJCw8f9OwD2TiIdz+KB2OtAYkqILRfHHdPfghc2LV3hGoHs9U/PsikfPQG0M2njCt218dsBTvdgCg7EpbUNDztr+AUUvpDdeMN//TLogZTnlTS2tBQI0RliciG5jatyBouOD4pY3qYHWZzeo0Eau0F2dtF+/Hj5QnrLXGGm7rayL80LC6Pux3gZ0FZHmy+tuyDxIW40cNl1VPmFLKO+GP2CgOgfYbpkv20/SAo65zljPeQxmYMHSG0oL2yLW9pU1g7jkrIEtSfHrJNDfyEwTzOXFUTkxroynIhYwFonYMj1k/G1k+lAoRLKPpXF3kCfFGjJd8N1Xt6cnyJDWkeIgES3ttfoSb85gMEODl3ZrF/gQZRMgXAZMmaQLorZb9wiKIZxKJsVuyiUZeSOMYHE8HWnPod5NDQUx1mH6DMTz4m/KqH0T7BPAoitLwuMsgfZ2QO43E9VbO7X7GQiuWU9C9jpdYkFP+sM2KLTGFKyQUgY2oGtscFOiY7E83xosXpfjfnUi1djddFfW8rAqG//315z1l+InAkdr0a02xG47TazL08OIndsygFtis+uEsPrX9o7FBFUZfZriCysWaMMw= \ No newline at end of file diff --git a/imgxml/SwitchSiegeMachines/Siege/SiegeAttacBtn_0_92.xml b/imgxml/SwitchSiegeMachines/Siege/SiegeAttacBtn_0_92.xml deleted file mode 100644 index 0cf142006..000000000 --- a/imgxml/SwitchSiegeMachines/Siege/SiegeAttacBtn_0_92.xml +++ /dev/null @@ -1 +0,0 @@ -LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OmMGyXMD++ZcoD8jFCw4OSX0GbRZwfXxXeR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/geuBRIwbbawxBN06nx62Itk02IJ4UAHt0hkVSvANnld2449pxXszECOswVEoRm2Q/FEa+aWKnNglwRWSb0V+qOSxDc52+nFC3K1ngF38fyKYdQgWg9HiW5bb9ZmTl04iX2d0FCck1P4ZB0xF42aH1uuDPE5zSUcDPJiAGrCxQIrZAsFj3df0QCf4pAFnoxl/ZZf56nAfMTCnvrN/zAyKRmOlowGAzAIq83EHLQv9LmOsJrT5+hhk9ua/QeKqkq+TLl/drH3cTEWsTfceeX8qrACurt79Ri6dKFwUIdmQwGSMNvtkqV8Ut9BvB9Hf5ufFAjqgxvIzpn5n+2XroHoipvKjGcw2xXDDra0UpomXHyaGPecANzRqPEJPUD5FmsgKA/gUsT1MsnKn+DKAydeYaDbywFQnpWIWz1T/vdVvqOrtBNRTpRsiczY+cD7FnH9LWiRj60QPjM9asTxQPSZL4Y0dGCx3DqM7gF2/sLcPe3Buzf2bA96qu4kfY7oGiEGdmVmEvsB+2o7iSCwHwuTthSuHWbAvzQEdOKcuSBbZlMCQrxPGieUoY05qwPX2Fv8U3MUNe4y5o4jC+FggDprf2TTLb1S3WP5qfv9Vi2n8br5SwATF7jKqR19KvoCSw5zlC1zpew2Aen876NGLyFjy19taCBdRrHHQPoY7+t1tU8OhR46iF9g5vC/39zd8tZz8pYWQ/MPNwe21/aOxQRVGX2a4gsrFmjDM \ No newline at end of file diff --git a/imgxml/SwitchSiegeMachines/StoneSlammer/StoneSlammer_100_89.xml b/imgxml/SwitchSiegeMachines/StoneSlammer/StoneSlammer_100_89.xml new file mode 100644 index 000000000..b127e528f --- /dev/null +++ b/imgxml/SwitchSiegeMachines/StoneSlammer/StoneSlammer_100_89.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OknHM2xTDG1/iPyPupH67rsS7TnST6tuVmR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/GwiW0Vsm8xDS//RC2tLNNeQ93AZ7jBp86jF/i3ei29XyCwpt/tNaiO2h6Khvq6WAU7xtg04WT3u/ZInt2ZrwaAPEpka0qj5kbBFMbLgb9WvoPvn9lgq5deXsYz4Pn/+3Mf50d4iPlLc7D1QyD3oClC6RslTkF6os+MIsHbr6YFtKQUyc4OQgLnhLXJjfk4tUaBiMJLLufdautwHgtOx1Q/7fS+HofYNQvba5Y8y5inKVFsXol8Jdo9+lClUy30zpMRoiB47nflTWbL7Hts+p6jNpp0wWrQhG2Lg6u/jH6vAstXmcNJKxPXOnElEL0SyDokLs46O4yTSoM3QvUfJoqx4k5jEWRP8IQjjNN0CJItHWF7iKV+T8EFef9AUm7UpP+QQq4WWPE9OMXSPjmcfpDKhl+YNVX9e2bJH3uxm9C8YK1ZBNU8zqlYK6qEenBwmHqA8xSxSNoBcTo3AtnEITYFZRzu4/GEOfuLG4p5q0u7QtTda6xGglPS5Pyr01BZKmIR6H4ckCwptK2YAuBVn4d4MvOtNnCXFVXF5/SlKecmDQfxcLTSYKBPZIhMfb88LNsgxZ5YUIyzqERbMNwDHTnO/mNt1LRLIpRAk1m4gJqt6Za4/5yMIOZPwtNgCXM+d08AkYPRI40yyQfVm8SRGtXf2RyjW7hXTPMGGgW8tOtOtcziyPB6Y6xXIxIaaMf8s0sndCRBASFidyHRQH77sIOWy5PpemfVaCwyLrz0Y+rYAXcAV+GQw7pdWcnWhSRkSVp3ushW3PiOwDEprWmfpsFw== \ No newline at end of file diff --git a/imgxml/Train/Spell_Train/BtSpell_100_92.xml b/imgxml/Train/Spell_Train/BtSpell_100_92.xml new file mode 100644 index 000000000..46029587e --- /dev/null +++ b/imgxml/Train/Spell_Train/BtSpell_100_92.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+Ol3DEQMhYGBMbO1S577B1u4m3YpIFraAeiR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNsGlkrWfpw2X6VcAaBnJIqQWvhvx7R2fy5j03jcZSeZA1T+CFORVq7EMVHP6WKpTJjzduNTSQTVw307ipnRftVgog/cHKbBwEHoaq6u/GIuHjY1clqfeo59ssuSqcnJtbRP+ipsW2DYh8QXS/U/sRLJaqOF/uwDb5k3kB4NlCLvvpi8DgBzVy6HHUeDA29Xh3jcFq5yKPO7Uac+ukQjiL412zq5MvfusrBJbYaDv5tHCOY+WoWY/Awk7ZZpOjF46EktTgElDo+3yc7L41GTlzKclLRLzfLJPqX+fpyHkd/CSHHUfwQKlCavnqWEfSXLhhu3N67yxkUYV4bCs1656aSlofeWcG5DrSdgJQLnUgtyMPBKfUybgFUiJkWX/u8SRTfxdOD0TUR8B5WO5Pk1QJOJ+1lrRLstTg2hBZJa0w6ahBdwBX4ZDDul1ZydaFJGRJWne6yFbc+I7AMSmtaZ+mwX \ No newline at end of file diff --git a/imgxml/Train/Train_Train/IceG_100_90.xml b/imgxml/Train/Train_Train/IceG_100_90.xml new file mode 100644 index 000000000..b3188d7b2 --- /dev/null +++ b/imgxml/Train/Train_Train/IceG_100_90.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OmmTo0cWVWih8mSqxiCl2BB0aF79zhkOoSR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/hbjcze1yNAhzu1HHuvHbws6Z+WC4SxB9OYJwA8dYB34yUPIqyT9cy0A3vuTDIoUSVqUS/sFwYlqdu+s2ms3Jo57bNhZ5YPPm6F0jbclmXEzoEORAilbZ7cJnFYg8EgnP9rv7Al6DgkaL/LaWx2qn7nQSbZufKRE24L5n1tXb24Hh1iq3em00jPtXzo/6VqeGp2Y6q9eDrm/E8urkN5iXoq28B6B6lbDrF8W1H3MCbzsw4N9Vl0DXqxBuyMko7z+nBA8A53ws+fq7hgAwJF9zPS18nZf7luE1TrF6B6aONK/lK6N5lHaoXX6TIYGeaEnzkYyproOZCUbt6fpgAdBB3IAryPLII/yoBntPYr92uCMDfftMO+9P2U+Aa/zFBJcbadE6Yb4njskLteposMpic9yKo0370r1bLvZP6WwE1xLiecCcAqQlHqsfmLAJ1IPCIzmDx6sXRM9LYlNC1xqCFYHWbKyUUi+sNDZzyb62i+tSfQe/VTn5n2WVVgtjR7QMH59oA9nQaER5Es6+Q9e5ZTeUnMfXN9k2cCepPs/7TMn3F4iSpY3l/9xUYKp61zNYSH4/UIpVVszqwrM4w6PW7FDk8jgXBPTZla/08y/ogenQM1e7wIq3HLkAqr9ZzoQKQeUGNxAiRpk6Mmfx2RuOzW2TWWOAFLMV1vQT3LMxjRJdxxuMSJqBLOu49bk1GdQqypZ2mQoADh65F4D90EMCJxXkh1laa/YWnqifZKOby/KdF9745ZjFo0mmH0eU4fQkEAdiNTibwU6hDYIEZ1B8vhRju2EHnB+ZSel7OQJSluTK0n4x7iqVeUjD5cfuaZE34Oo5cX69oFNuyEU8b5MfeWOfSVagZZ/URZ0Bl+GFrwbakld6RCO4WVylht1ht8QuW5m2Yem+V1Ug2mpoYE77s1gYhjV1FmlTHSzKbYqX+b3Udwpoey0s/e4+QS3A0p0RnG4hs9c0c9J5aJOX3KJy0xz/yBlGQHMHdTE2xShe/BMtEtondxCVuOKIgKPzVnoJrIq2Uos1+oiCV/YU/T/NnPZSGSag5bio92csmnkRB4CkhU2zkFyxvw6e75AIRQT1VDEmttPCf5jfPaFCHa5HOQXCdRLzCBxzIfZyO/6YGL6o5mPY6q4uxwcDzLcMpxojQgbLs7LN+GzmYjWI1rQnYnO8+wCKSCRBq8d4qrYiRPrE4nryxJQ/CtemyB/vxxWWl/r1tE3NCbev8gPm22Osl0XvVd+FR5rH1I2t7wh3y+n+srX3liefKD9ZL9ZTKNKV076X/MtEq6yiRWssS+SM+MMwoV9tzPSzi40YjPXx/oeOP0sch5gDEUmzToP1+DD0g71oPI51GF8GpHQ86WZOv4OWqfyU5ifSGGiX9XAnXCVYesD0AxPbJcPFHOS7X0J+rTQgsfgw2IaCZs49Mo3GFb8zeSLjJxavDJ0QXPgcv252WOe/SXhrDdyn/xHEI9WBHvdtCBVI8LY/Lr3q1QYKAwovwjMBgIVYcXgbmALAec2fo11+h8iOKF3CufSNx02+Z6MdhjHD8oAejaG7Tw7NAXlLPdIkcdP61k1nuyAIkVTjvO6mZFsPzanNGSaYGP9tDj0IRjdHUCjmmfKUS/ugl3PEEQiDVGojF3AFfhkMO6XVnJ1oUkZElad7rIVtz4jsAxKa1pn6bBc= \ No newline at end of file diff --git a/imgxml/deadbase/elix/fill/elixirA_12_100_89.xml b/imgxml/deadbase/elix/fill/elixirA_12_100_88.xml similarity index 100% rename from imgxml/deadbase/elix/fill/elixirA_12_100_89.xml rename to imgxml/deadbase/elix/fill/elixirA_12_100_88.xml diff --git a/imgxml/deadbase/elix/lvl/elixir_13_1000_87.xml b/imgxml/deadbase/elix/lvl/elixir_13_1000_87.xml new file mode 100644 index 000000000..d3d030dde --- /dev/null +++ b/imgxml/deadbase/elix/lvl/elixir_13_1000_87.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+OlfObNmU0YSPs8AYO6Z4OzAr5caNrS36RuR2efJILdsqTYlHZFt35anwEUzBLsd12nPYk6i7pJ30OvYQvBm6whOr3Ns3p6vdNvJsTVFB+cyVg3/4xCqUHw/2BKepkMISffVafUVtpktl5UpLpV49m4A6aYnEIeERQbJJMDXbS9p0+35ic16nTvgpNs6tUjd9vwwygRJWmeKFuYgIXLeQegvU9hZosZZmvF7v/vK9/1YlnIRYVZEW24hA8U2yD7FdR8JwwG6o7L0E4HI93ZXAX39Ws0SV0Fq2BV93BB6orOT0CzxMZzwGTzzkNXyudaundt8rOOkSjHtSGJq8kylkX9p6KH2QyKZ+hpeQds3Ke4y87sdsAgfAUpsU7bkkj6h+uYRSFKoxmvv0iXi/+TpzYAAJJ1MKZnhkP6pJF7+9T6MdzdvSz6z4ikl0xNyu6ZvzldGYMlfVH7MW9dwRXl8Zs0WXx2agOxmSAq+Pr2pz5sYrhOJsVnp24f+Sgm011D5OpwiI0VXB/fT19QtfyS5aSFFZUNoRhbESKsVYjtyMVAisD5m36XBriuzoslHxXxUpvfdj8GtBm4YleRtR8B3XlYO2AoC5lS8hrYzecknO+vgEBGO0/ESOXpECDCX+pL0Dl7lXqcHv/aUTabVrH9pWAt8XO/JFqrLQfqEs5maAUslgJLT3ZJvA0fNitDqcgwtKx9XA/iFxAkgnyy+mX7r01YHtf2jsUEVRl9muILKxZowzA== \ No newline at end of file diff --git a/imgxml/village/NormalVillage/2stoneNox-124-475-63,25963776642856_0_95.xml b/imgxml/village/NormalVillage/2stoneNox-124-475-63,25963776642856_0_95.xml new file mode 100644 index 000000000..f5ee51c1d --- /dev/null +++ b/imgxml/village/NormalVillage/2stoneNox-124-475-63,25963776642856_0_95.xml @@ -0,0 +1 @@ +LO238ELf5AlNAtCoqWpnf9Gbz57a9bZnV7tl4I1aB6a3aGs/YUI1pM+hD0myInL3xcbROsG5Px8DwTpOOOecDPFyhhJOPw+pR9jS+Ivx+Onh36uEVsvRdJ/rHpSjHPVExGG+K2xQP/OcSGjT+x3SmU1nW5Lxrp2svSOAGhqWzbhJRH0IIVCqJuXoxt/S+M2eoEB2zFdlLbMf3juo2GnWz+cuv1+WziSATLGKQyrP2JW8CfMazqmekMNIkjxirmjdERL9Cc50WWjAS1QhjyFJrykwCoTty19nGEC/0b5wb8BQOdYOREWH/kzjVmOIwzYYK0/Zutobr6h2x074+xt2JqdG0Ez/41bAvjr7795xzcIQk+4PQ8tbBY9mKNX5sHSsMWpfeTBliYOuiybFzwhiTP2UDfIZZoPTl/ZpMqPQhBjzHzPZPXGa6EXNl2RKtHqrXjRP8jRvLLWKBlOOtJDsNx3sVjUYaLk+S91vpfZDME8uxf1viGW7v0JhEa0o2rDku6TycDboVSqZenljZfut5VW/0ygAjNGtYOdx7g3n/hX7I3V0VkLmcu1cnQ/ALA2E2ll3oPEBywBosF2fSFgkIADyl3gYXOxBtIZlgxZfYQ5Nv0azQ/cWqKHceE3fDTLCafsfPXm9Ur+OVJim+28ALGzqzmM1o6bCUsybyE/XPPlG+Mv6MCnmAakUdpYFlXe+sLqk69+EnTPHGRH3PvgjGEMSUOntMpgqn3t+3Ys1D6eoZqWn3yJ8VYe5uiY9NWpcKtOJzOnChiQXbk0yRN0PxSGyGAMVYMF1jRGnprnKsPrAnOrsteKF7wJ5Fbd+feP7Mr5UX21EdlmGw1GQr2TwXcihOGapCKP1Ap/+HLHal1/FMPY7BAljoQL7Hh9+gMYnESCcQgha9Rav7wyyzYTbABHj8hGMJ5hl0LRhHVtIXrbFw/zjRMJYK9ov9zve1AuwbuZBFW/8s4ATEbsC8023Yp0nJB5j0hzMtCpmBMfA+hwTWy+586WONNFQcFIeOTaATgiRpgcfh4DufTTMpM33Pw6+aH7ox9zoSu13fq7TUfBKQValAHRpB0Glr5NZNk48bwdnQH6AUEokjZaXpxqjyUQ8cpZ9+u+H7yfCo2UzLHOrh2g5ssdfa8lIiwI+XE9s+xjSPxHyj0n5y1ml8p0/LOv2fSqLUL/3kXqpZE7arha862ZnjJcnYKdhStXTAew2xhd1vxHTNPgs+vX1sqzQSSWEyhi3pd1eO5JgG56RAPJ22ZkTajPOkfwc6jJHUfUJBQch16IDiGRbEm6JmS3e22OF3Wo1OTEKSOFqYOLZhuexcpc1XpzOaqy6cy1p0rbQ5uLHOUowSSHtpq4oaMtEZ6yxwrwdA/l7XL6XFvdLmVRXA/iFxAkgnyy+mX7r01YHtf2jsUEVRl9muILKxZowzA== \ No newline at end of file diff --git a/imgxml/village/NormalVillage/stoneiTools-124-475-63,25963776642856_0_95.xml b/imgxml/village/NormalVillage/2stoneiTools-124-475-63,25963776642856_0_95.xml similarity index 100% rename from imgxml/village/NormalVillage/stoneiTools-124-475-63,25963776642856_0_95.xml rename to imgxml/village/NormalVillage/2stoneiTools-124-475-63,25963776642856_0_95.xml diff --git a/imgxml/village/NormalVillage/treeBlueStacks2A-605-129-55,675933536059_0_92.xml b/imgxml/village/NormalVillage/2treeBlueStacks2A-605-129-55,675933536059_0_92.xml similarity index 100% rename from imgxml/village/NormalVillage/treeBlueStacks2A-605-129-55,675933536059_0_92.xml rename to imgxml/village/NormalVillage/2treeBlueStacks2A-605-129-55,675933536059_0_92.xml diff --git a/imgxml/village/NormalVillage/stoneBlueStacks2A-151-492-52_0_95.xml b/imgxml/village/NormalVillage/stoneBlueStacks2A-151-492-52_0_95.xml deleted file mode 100644 index 7c5dfa24e..000000000 --- a/imgxml/village/NormalVillage/stoneBlueStacks2A-151-492-52_0_95.xml +++ /dev/null @@ -1 +0,0 @@ -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 \ No newline at end of file diff --git a/imgxml/village/NormalVillage/2stoneNox-289-612-86,4_0_95.xml b/imgxml/village/NormalVillage/stoneNox-289-612-86,4_0_95.xml similarity index 100% rename from imgxml/village/NormalVillage/2stoneNox-289-612-86,4_0_95.xml rename to imgxml/village/NormalVillage/stoneNox-289-612-86,4_0_95.xml diff --git a/imgxml/village/NormalVillage/2treeNox-773-244-55_0_92.xml b/imgxml/village/NormalVillage/treeNox-773-244-55_0_92.xml similarity index 100% rename from imgxml/village/NormalVillage/2treeNox-773-244-55_0_92.xml rename to imgxml/village/NormalVillage/treeNox-773-244-55_0_92.xml diff --git a/lib/MBRBot.dll b/lib/MBRBot.dll index 4278d9118..fc4b1c1c5 100644 Binary files a/lib/MBRBot.dll and b/lib/MBRBot.dll differ diff --git a/lib/listSymbols_coc-t-b.xml b/lib/listSymbols_coc-t-b.xml index 744243c5b..0c8ccbb5f 100644 --- a/lib/listSymbols_coc-t-b.xml +++ b/lib/listSymbols_coc-t-b.xml @@ -1 +1 @@ -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 \ No newline at end of file +hRFhHPRRG/fXyOttSmytgZdFwu/IjnO9vD5sEADPdjn3+wcdqeCjP/rsAZj69nB6G3zsP9z7Dg9SYSjOKdTakUpKfDeXbYpVQh9AVYheDzRd925NrXeoy7SyfgbNJdtzaB0jblETHpN6GBbmhgGrDDYawTgHpLCOS0gYLq7KaxDlhy5e6TA8TC/97CGpUDrPxgFWj8Ky+ou5D1ykEUOWrA+Ssm2tzAfh1VC8koClLG5tgh+s01hLLJ6IzBLgK57NM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznluRhiuuvo+pqN50iGtoCMuoxRvURQsznm24FCMU03V5om4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55HVXavkWaGklOLTOINRFqnaMUb1EULM551E92H6RDCYWqXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkaxM05UOULdpSjFG9RFCzOef8rhJaSSnXm6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpJ7BYwielzPkoxRvURQsznmMKWWs781IVb+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zS97HK2tq+C8MOsKovV0dsaCAQOZP1DREMwWXcdnSWKFKMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55sW4MppjGSp3VSYUETbjr68M8p+Iey9siLzxO4E59W86jFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOebJjOGEG5QvOibgMMPW1C/A+9RwNFBTfNF6+26egftsPw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznl+ZR9GT8WO8B7DlW6kU6WXoxRvURQsznn/mnpsYdD8mNVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55bkYYrrr6PqajedIhraAjLqMUb1EULM55MLFGYzC3hmqJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeR1V2r5FmhpJTi0ziDURap2jFG9RFCzOeU2JX1sVFD6Iqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsTNOVDlC3aUoxRvURQsznlb7xYjVHVleb+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zS97HK2tq+C8MOsKovV0dsaCAQOZP1DREMbhFUPA//sAqMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM5506Pk6VwsWDSJuAww9bUL8D71HA0UFN80dQLIAI98qFjDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOebIbFqTucPkKHsOVbqRTpZejFG9RFCzOeclCMy52gFPJ1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOedmhXfIwLsEWGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRr7zDoMDc3TZKMUb1EULM55/yuElpJKdebqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj9UjRXvhsFPsom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOedhZqZy1vr4p1UmFBE246+vDPKfiHsvbIsTHQE9fbEBloxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNLC5guH9f3oKvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55Yg6B4Q6A8HGjedIhraAjLqMUb1EULM55KCsHSp+9yxuJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55Hk+Dgy8bhX1uuV9W6LV8+sOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpFodz5hDA9IWoxRvURQsznnNWXo4IYSvdb+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwDzExgTmk/7Z7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM5506Pk6VwsWDSJuAww9bUL8D71HA0UFN80Xr7bp6B+2w/DrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM550bENoIBgIkTq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznlUv3JaawfaBE4tM4g1EWqdoxRvURQsznk46+QbeqhXTqpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzPTUZcQunXkP1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80O7Rh0bHnhNrDrCqL1dHbGggEDmT9Q0RD9kH0C0zugPajFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqmicceLk22ssxBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmyGxak7nD5Ch7DlW6kU6WXoxRvURQsznl3RTDpzmA/t9VJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznnZoV3yMC7BFhiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmka+8w6DA3N02SjFG9RFCzOeVvvFiNUdWV5v7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAPMTGBOaT/tnsIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznnTo+TpXCxYNIm4DDD1tQvwPvUcDRQU3zS01NsCdnyM/tVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55IqUJyz2o4QSjedIhraAjLqMUb1EULM55tuBQjFNN1eaJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeamHoS3e+ReTTi0ziDURap2jFG9RFCzOedRPdh+kQwmFqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLM9NRlxC6deQ/VSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zQE0Fs1sBsYOMOsKovV0dsaCAQOZP1DREMngbzRKHxh86MUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55b3S2DOJqkQ3VSYUETbjr68M8p+Iey9sixMdAT19sQGWjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeaT3q/C7MiRaibgMMPW1C/A+9RwNFBTfNALi9OBSt7fAw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmQv0A4+B9oXh7DlW6kU6WXoxRvURQsznnP5rGmfZZvadVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55IqUJyz2o4QSjedIhraAjLqMUb1EULM55pfLjWTr0hCuJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeamHoS3e+ReTTi0ziDURap2jFG9RFCzOeTjr5Bt6qFdOqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsG1OEe6Lx/CoxRvURQsznlJ7YUmT9B3BOoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKTUvppY0Pc6oaMUb1EULM55UC1L0uZUd5C/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80BNBbNbAbGDjDrCqL1dHbGggEDmT9Q0RD6cn486Sfb26jFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80sLmC4f1/egq+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznkipQnLPajhBKN50iGtoCMuoxRvURQsznmAXUWUme8l7apcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRqHoPbNqGhOXKMUb1EULM55La42hU9R8pjqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkjOu0SzbSJ5WjFG9RFCzOee7RT8HYSREyv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAPMTGBOaT/tnsIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznnoaongKqW7OYm4DDD1tQvwPvUcDRQU3zRr1d0bZnguXMOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM5520AV4xwtZokew5VupFOll6MUb1EULM55NOAVqnq1P1/VSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeT3nRQzkTwfXo3nSIa2gIy6jFG9RFCzOeSgrB0qfvcsbibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznkuKi8vJB6G1k4tM4g1EWqdoxRvURQsznlajy0lFyBOKqpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRqHoPbNqGhOXKMUb1EULM55zLSskfEg0anqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkjOu0SzbSJ5WjFG9RFCzOef6PMkKHVC+hv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNMFTt3LgrMoBw6wqi9XR2xoIBA5k/UNEQ/ZB9AtM7oD2oxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmcRd76qMb7gNVJhQRNuOvrwzyn4h7L2yLJ7boNlJHNnKMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM556GqJ4CqluzmJuAww9bUL8D71HA0UFN80dbRaQtxRHr7VSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM552aFd8jAuwRYYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGoeg9s2oaE5coxRvURQsznnECg1SgN9w47+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zTsIl20Vzy4aMOsKovV0dsaCAQOZP1DREN1AypiiN5R46MUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55Yh4OmxXCv3DVSYUETbjr68M8p+Iey9six3F/7M/IHBujFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80sLmC4f1/egq+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznkSEc+IC71C6aN50iGtoCMuoxRvURQsznnLn7h63/FvtYm4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM557cSZ/yTny6JOLTOINRFqnaMUb1EULM55m1t83QXcNXOqXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkauefgRT6Qq2mjFG9RFCzOeXVwHvHn4ctm6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpMaLrUxvRp5BoxRvURQsznnNWXo4IYSvdb+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zTsIl20Vzy4aMOsKovV0dsaCAQOZP1DRENN6SzbjquMaqMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55Yh4OmxXCv3DVSYUETbjr68M8p+Iey9six5//F1+yNUGjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeVXBBczxLOyLibgMMPW1C/A+9RwNFBTfNNFJmAMsnAhzw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznngSgIaZRellB7DlW6kU6WXoxRvURQsznl3RTDpzmA/t9VJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55EhHPiAu9QumjedIhraAjLqMUb1EULM55ws7ZI2s4nBeqXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csz01GXELp15D9VJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNOwiXbRXPLhow6wqi9XR2xoIBA5k/UNEQxuEVQ8D/+wCoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmf+mMaIFMnr4m4DDD1tQvwPvUcDRQU3zR1AsgAj3yoWMOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55l7PxVUWi7tgew5VupFOll6MUb1EULM55yUIzLnaAU8nVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM552aFd8jAuwRYYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsJz0VsojA6VoxRvURQsznn/K4SWkkp15uoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKRiiWgcdXXDgqMUb1EULM55jCllrO/NSFW/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80h5B8/0zhlJDDrCqL1dHbGggEDmT9Q0RDMFl3HZ0lihSjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeX4yaVpw4GzU1UmFBE246+vDPKfiHsvbIi88TuBOfVvOoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmf+mMaIFMnr4m4DDD1tQvwPvUcDRQU3zRevtunoH7bD8OsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55l7PxVUWi7tgew5VupFOll6MUb1EULM55/5p6bGHQ/JjVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeV8jTNuBd8UYo3nSIa2gIy6jFG9RFCzOeTCxRmMwt4ZqibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznlRV6gTYMW5Tk4tM4g1EWqdoxRvURQsznlNiV9bFRQ+iKpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrCc9FbKIwOlaMUb1EULM55W+8WI1R1ZXm/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cA8xMYE5pP+2ewiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeZ/6YxogUyevibgMMPW1C/A+9RwNFBTfNLTU2wJ2fIz+1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznkz1h1PvLgPhqN50iGtoCMuoxRvURQsznm24FCMU03V5om4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55xRw27QtmV31OLTOINRFqnaMUb1EULM551E92H6RDCYWqXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csz01GXELp15D9VJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNK/VWGYCVv8Cw6wqi9XR2xoIBA5k/UNEQyeBvNEofGHzoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmjl5SRjl3dUdVJhQRNuOvrwzyn4h7L2yLEx0BPX2xAZaMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55pVRdfxAOAjSJuAww9bUL8D71HA0UFN80AuL04FK3t8DDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeWczNvlOuB7kHsOVbqRTpZejFG9RFCzOec/msaZ9lm9p1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznkz1h1PvLgPhqN50iGtoCMuoxRvURQsznml8uNZOvSEK4m4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55xRw27QtmV31OLTOINRFqnaMUb1EULM55OOvkG3qoV06qXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkaY7Ba/uHJjDijFG9RFCzOeUnthSZP0HcE6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpJnLAT6QpfjKoxRvURQsznlQLUvS5lR3kL+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zSv1VhmAlb/AsOsKovV0dsaCAQOZP1DREPpyfjzpJ9vbqMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zSwuYLh/X96Cr4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeTPWHU+8uA+Go3nSIa2gIy6jFG9RFCzOeYBdRZSZ7yXtqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGtXEuvqXymUloxRvURQsznktrjaFT1HymOoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSPDYnXcE0IKqMUb1EULM557tFPwdhJETK/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cA8xMYE5pP+2ewiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeWUK/IYpdKXhibgMMPW1C/A+9RwNFBTfNGvV3RtmeC5cw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmskaxMkEYUWB7DlW6kU6WXoxRvURQsznk04BWqerU/X9VJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55iZPRrmuPgW2jedIhraAjLqMUb1EULM55KCsHSp+9yxuJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOefzbO3l7gcAaTi0ziDURap2jFG9RFCzOeVqPLSUXIE4qqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGtXEuvqXymUloxRvURQsznnMtKyR8SDRqeoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSPDYnXcE0IKqMUb1EULM55/o8yQodUL6G/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80ZNXPVWeIv/XDrCqL1dHbGggEDmT9Q0RD9kH0C0zugPajFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeQrq9SJOwYul1UmFBE246+vDPKfiHsvbIsntug2Ukc2coxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznllCvyGKXSl4Ym4DDD1tQvwPvUcDRQU3zR1tFpC3FEevtVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznnZoV3yMC7BFhiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmka1cS6+pfKZSWjFG9RFCzOecQKDVKA33Djv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNOHRo7mV7LOTw6wqi9XR2xoIBA5k/UNEQ3UDKmKI3lHjoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmj/F9HTNwh59VJhQRNuOvrwzyn4h7L2yLHcX/sz8gcG6MUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zSwuYLh/X96Cr4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeZokOJJEauLFo3nSIa2gIy6jFG9RFCzOecufuHrf8W+1ibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznlh6E4jvf9+CE4tM4g1EWqdoxRvURQsznmbW3zdBdw1c6pcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrMUkOEc5wFf6MUb1EULM55dXAe8efhy2bqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCknX/eS3tDyn+jFG9RFCzOec1ZejghhK91v7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNOHRo7mV7LOTw6wqi9XR2xoIBA5k/UNEQ03pLNuOq4xqoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmj/F9HTNwh59VJhQRNuOvrwzyn4h7L2yLHn/8XX7I1QaMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55u7pfLsNEVKiJuAww9bUL8D71HA0UFN800UmYAyycCHPDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeUwQY7Kye8tVHsOVbqRTpZejFG9RFCzOeXdFMOnOYD+31UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznmaJDiSRGrixaN50iGtoCMuoxRvURQsznnCztkjazicF6pcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzPTUZcQunXkP1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN804dGjuZXss5PDrCqL1dHbGggEDmT9Q0RDG4RVDwP/7AKjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOedS8vUYTgBQpibgMMPW1C/A+9RwNFBTfNHUCyACPfKhYw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznlQ8eOFRfN2aR7DlW6kU6WXoxRvURQsznnJQjMudoBTydVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznn6pr0WTqks0bM13cWm0lGnMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55UPHjhUXzdmkew5VupFOll6MUb1EULM55sR/UuqJFuVvVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM552aFd8jAuwRYYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGpJ397a/ASALoxRvURQsznkv2WFlmnaCzOoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P1SNFe+GwU+yibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM5528gErzTeDrDVSYUETbjr68M8p+Iey9si6EInVYgcK5+jFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80sLmC4f1/egq+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznnp0IAxe6gJT6N50iGtoCMuoxRvURQsznlcg+0GZJ3qlom4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznkeT4ODLxuFfW65X1botXz6w6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkWgwKroZmnpKjFG9RFCzOedCSpzfYXWPAv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAPMTGBOaT/tnsIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznnUvL1GE4AUKYm4DDD1tQvwPvUcDRQU3zRpToCaF+nq+sOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznnRsQ2ggGAiROrRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOebpgAqmUGR/HTi0ziDURap2jFG9RFCzOeXeJyk2ifcKIqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLM9NRlxC6deQ/VSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zSzJM2/bc7K/cOsKovV0dsaCAQOZP1DREMtd7j3jJw67aMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSqaJxx4uTbayzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeVDx44VF83ZpHsOVbqRTpZejFG9RFCzOecI+SMYS8H8RibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeR5Pg4MvG4V9k9WsQr8rtM++BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznnp0IAxe6gJT6N50iGtoCMuoxRvURQsznmAXUWUme8l7apcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRoARrJL6TgsW6MUb1EULM55oh6u7NNB5yy/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80XREmlxcr55rVSYUETbjr68M8p+Iey9six3F/7M/IHBujFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeZt8HyHrWCKrHsOVbqRTpZejFG9RFCzOebEf1LqiRblb1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznmJ5SpLZ8umD04tM4g1EWqdoxRvURQsznmbW3zdBdw1c6pcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRoARrJL6TgsW6MUb1EULM55BpajGWHfx22/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80XREmlxcr55rVSYUETbjr68M8p+Iey9siLzxO4E59W86jFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeZt8HyHrWCKrHsOVbqRTpZejFG9RFCzOeYrvgef/mjI81UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznmJ5SpLZ8umD04tM4g1EWqdoxRvURQsznk46+QbeqhXTqpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRoARrJL6TgsW6MUb1EULM55tpp4rnjIVDW/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80XREmlxcr55rVSYUETbjr68M8p+Iey9siye26DZSRzZyjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeZt8HyHrWCKrHsOVbqRTpZejFG9RFCzOecI+SMYS8H8RibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznlUv3JaawfaBMTNOVDlC3aUoxRvURQsznnECg1SgN9w47+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQHqX+qL/6wP5Rj0AhEu+2xaIzlm6WoB7XBl1y1A/nsuRPxYrW9TegnVrjtnntWqbYqnQINE31fCnESOGAW9j2GWkfYzLZ+R9PnqX+qL/6wP5vAl97j3cYNn+rERLBzPDgX5lH0ZPxY7wHsOVbqRTpZcOpeVe6pOWoqpcotsB52jCBnRwLW7iKHpsg1gVtZd+yc4rCBHvMc08OGk3iDpDxpOHBYCOBaM/IHysXvVdS/Qf08ufttf1he5Oxlql8OvAizUSnPQIfX1CQaVR04uPKTSAQFMM4vxcGuIHEpaVKBgWbjScBdpZNZmeBXiQNlhCrOXHh3bGmBdwMgbjbOAAyYh6l/qi/+sD+XGv73WFKZKSgIBoJihLbaGDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkaxM05UOULdpSjFG9RFCzOeS2uNoVPUfKY6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/4bySgp4Z8ZQYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsTNOVDlC3aUoxRvURQsznm8HpP9WI/56OoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P5JsZiwQ5ESlGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrEzTlQ5Qt2lKMUb1EULM55/yuElpJKdebqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCknsFjCJ6XM+SjFG9RFCzOeYwpZazvzUhVv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNL3scra2r4Lww6wqi9XR2xoIBA5k/UNEQzBZdx2dJYoUoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmxbgymmMZKndVJhQRNuOvrwzyn4h7L2yIvPE7gTn1bzqMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55smM4YQblC86JuAww9bUL8D71HA0UFN80Xr7bp6B+2w/DrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeX5lH0ZPxY7wHsOVbqRTpZejFG9RFCzOef+aemxh0PyY1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznluRhiuuvo+pqN50iGtoCMuoxRvURQsznkwsUZjMLeGaom4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55HVXavkWaGklOLTOINRFqnaMUb1EULM55TYlfWxUUPoiqXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkaxM05UOULdpSjFG9RFCzOeVvvFiNUdWV5v7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNDu0YdGx54Taw6wqi9XR2xoIBA5k/UNEQ3UDKmKI3lHjoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKk0MVEkFTP+Jw+pijBSZFqnVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zQ7tGHRseeE2sOsKovV0dsaCAQOZP1DREPPj1Nq65/m5qMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSqaJxx4uTbayzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOebIbFqTucPkKHsOVbqRTpZejFG9RFCzOebEf1LqiRblb1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOedmhXfIwLsEWGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRr7zDoMDc3TZKMUb1EULM55L9lhZZp2gszqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj9UjRXvhsFPsom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOedhZqZy1vr4p1UmFBE246+vDPKfiHsvbIuhCJ1WIHCufoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNLC5guH9f3oKvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55Yg6B4Q6A8HGjedIhraAjLqMUb1EULM55XIPtBmSd6paJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55Hk+Dgy8bhX1uuV9W6LV8+sOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpFodz5hDA9IWoxRvURQsznnQkqc32F1jwL+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwDzExgTmk/7Z7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM5506Pk6VwsWDSJuAww9bUL8D71HA0UFN80aU6Amhfp6vrDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM550bENoIBgIkTq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznlUv3JaawfaBE4tM4g1EWqdoxRvURQsznl3icpNon3CiKpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzPTUZcQunXkP1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80O7Rh0bHnhNrDrCqL1dHbGggEDmT9Q0RDLXe494ycOu2jFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqmicceLk22ssxBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmyGxak7nD5Ch7DlW6kU6WXoxRvURQsznnCPkjGEvB/EYm4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznkeT4ODLxuFfSMXrRQ/iWDQMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55kL9AOPgfaF4ew5VupFOll6MUb1EULM55S7YjeVmUbEvVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55oLeIQqlWeZ1Geb82CrR4huwiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeaT3q/C7MiRaibgMMPW1C/A+9RwNFBTfNJ5afmm91EE6w6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOedGxDaCAYCJE6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55qYehLd75F5NOLTOINRFqnaMUb1EULM55WADXPKTuC6+qXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csz01GXELp15D9VJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNATQWzWwGxg4w6wqi9XR2xoIBA5k/UNEQ8w4TymMddw0oxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKponHHi5NtrLMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55kL9AOPgfaF4ew5VupFOll6MUb1EULM55RRmJZC2Jz/nVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM552aFd8jAuwRYYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsG1OEe6Lx/CoxRvURQsznkLDlazsb5MHuoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P1SNFe+GwU+yibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55b3S2DOJqkQ3VSYUETbjr68M8p+Iey9siTwMMNnopTFejFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80sLmC4f1/egq+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznkipQnLPajhBKN50iGtoCMuoxRvURQsznk7MN5UShFPOYm4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznkeT4ODLxuFfW65X1botXz6w6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCk1L6aWND3OqGjFG9RFCzOebaaeK54yFQ1v7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAPMTGBOaT/tnsIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmk96vwuzIkWom4DDD1tQvwPvUcDRQU3zR/Py3jUZO/mMOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznnRsQ2ggGAiROrRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeamHoS3e+ReTTi0ziDURap2jFG9RFCzOefSaDXMqNEbA6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/1BArl1Nx9YYYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cun9cTrx8YlLVA+MysXIs2xUxuRDd2XkIbh+cvZiaITAAEenbV4O5SreEm4h3lZk9SwFS7S8l5HkjfvBetfc0LCBVqGDj+G7Fai9xdW1QoFTGQq8Vuiux9/bdVJhQRNuOvrsW4MppjGSp3VSYUETbjr60u2I3lZlGxL5ZRAdd1q5ky8CX3uPdxg2f6sREsHM8OBBVZDZdvOuPWr3H/24jOka3P67fJrqfVgop0PTMj1+SLjQ33jaILc3nqX+qL/6wP5jY1Z67T6HjhzimOGYPHesYPIR5/rUj0/vJPpeBKnGen1K7t2k8DrUjeGidSOVqU9/JE3L5ilqQgPxTmsw1SWPe/oLhg2AyHLGupYBVAw8WO3c2fK7Q90fXc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55fmUfRk/FjvAew5VupFOll6MUb1EULM55S7YjeVmUbEvVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeW5GGK66+j6mo3nSIa2gIy6jFG9RFCzOeRufAZWfTEMCibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznkdVdq+RZoaSU4tM4g1EWqdoxRvURQsznlYANc8pO4Lr6pcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrEzTlQ5Qt2lKMUb1EULM55L9lhZZp2gszqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCknsFjCJ6XM+SjFG9RFCzOeQaWoxlh38dtv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNL3scra2r4Lww6wqi9XR2xoIBA5k/UNEQ/vBwZzo+526oxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmxbgymmMZKndVJhQRNuOvrwzyn4h7L2yJPAww2eilMV6MUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55smM4YQblC86JuAww9bUL8D71HA0UFN80aU6Amhfp6vrDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeX5lH0ZPxY7wHsOVbqRTpZejFG9RFCzOedCZbCGM97xO1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznluRhiuuvo+pqN50iGtoCMuoxRvURQsznkuwB1cO7aENYm4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55HVXavkWaGklOLTOINRFqnaMUb1EULM559JoNcyo0RsDqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCknsFjCJ6XM+SjFG9RFCzOee7RT8HYSREyz49Tauuf5uajFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOebFuDKaYxkqd1UmFBE246+vDPKfiHsvbIg/rMfSWvHqnw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmyGxak7nD5Ch7DlW6kU6WXoxRvURQsznlLtiN5WZRsS9VJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55Yg6B4Q6A8HGjedIhraAjLqMUb1EULM55G58BlZ9MQwKJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55Hk+Dgy8bhX1uuV9W6LV8+sOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpFodz5hDA9IWoxRvURQsznmiFnSimZtuK7+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zQ7tGHRseeE2sOsKovV0dsaCAQOZP1DREPMOE8pjHXcNKMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM552FmpnLW+vinVSYUETbjr68M8p+Iey9si6EInVYgcK5+jFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOedOj5OlcLFg0ibgMMPW1C/A+9RwNFBTfNDHjEfZUuzbew6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmyGxak7nD5Ch7DlW6kU6WXoxRvURQsznmK74Hn/5oyPNVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55Yg6B4Q6A8HGjedIhraAjLqMUb1EULM55OzDeVEoRTzmJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeVS/clprB9oETi0ziDURap2jFG9RFCzOeXeJyk2ifcKIqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGvvMOgwNzdNkoxRvURQsznnvcQYLvR7iaeoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKRaHc+YQwPSFqMUb1EULM557tFPwdhJETJ1AypiiN5R46MUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM552FmpnLW+vinVSYUETbjr68M8p+Iey9siP6cS9PQUpK/DrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOebIbFqTucPkKHsOVbqRTpZejFG9RFCzOeQxHae3evCW1ibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznmph6Et3vkXk04tM4g1EWqdoxRvURQsznkOpeVe6pOWoqpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrBtThHui8fwqMUb1EULM55vB6T/ViP+ejqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj9UjRXvhsFPsom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeW90tgziapEN1UmFBE246+vDPKfiHsvbIhX8Z5iBOYUSoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmk96vwuzIkWom4DDD1tQvwPvUcDRQU3zQuJWUAKU9mz8OsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55kL9AOPgfaF4ew5VupFOll6MUb1EULM55RRmJZC2Jz/nVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeSKlCcs9qOEEo3nSIa2gIy6jFG9RFCzOeVyD7QZkneqWibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznmph6Et3vkXk04tM4g1EWqdoxRvURQsznliT3w5HQr09apcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrBtThHui8fwqMUb1EULM55J6s6Ov+mi//qCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj9UjRXvhsFPsom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeW90tgziapEN1UmFBE246+vDPKfiHsvbIvOXhL9HaqdqoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNLC5guH9f3oKvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55IqUJyz2o4QSjedIhraAjLqMUb1EULM55LsAdXDu2hDWJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55Hk+Dgy8bhX1uuV9W6LV8+sOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpNS+mljQ9zqhoxRvURQsznnu0U/B2EkRMnUDKmKI3lHjoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKponHHi5NtrLMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55kL9AOPgfaF4ew5VupFOll6MUb1EULM55tSGv3eu3CTOJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55Hk+Dgy8bhX1uuV9W6LV8+sOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpNS+mljQ9zqhoxRvURQsznnu0U/B2EkRMieBvNEofGHzoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmcRd76qMb7gNVJhQRNuOvrwzyn4h7L2yL1MAHa55BbkaMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM556GqJ4CqluzmJuAww9bUL8D71HA0UFN80nlp+ab3UQTrDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM550bENoIBgIkTq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznkuKi8vJB6G1k4tM4g1EWqdoxRvURQsznlYANc8pO4Lr6pcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRqHoPbNqGhOXKMUb1EULM55L9lhZZp2gszqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkjOu0SzbSJ5WjFG9RFCzOeQaWoxlh38dtv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNMFTt3LgrMoBw6wqi9XR2xoIBA5k/UNEQ/vBwZzo+526oxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmcRd76qMb7gNVJhQRNuOvrwzyn4h7L2yJPAww2eilMV6MUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM556GqJ4CqluzmJuAww9bUL8D71HA0UFN80aU6Amhfp6vrDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM550bENoIBgIkTq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznkuKi8vJB6G1k4tM4g1EWqdoxRvURQsznl3icpNon3CiKpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRqHoPbNqGhOXKMUb1EULM5573EGC70e4mnqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkjOu0SzbSJ5WjFG9RFCzOee7RT8HYSREydQMqYojeUeOjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeZxF3vqoxvuA1UmFBE246+vDPKfiHsvbIj+nEvT0FKSvw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOedGxDaCAYCJE6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55LiovLyQehtZOLTOINRFqnaMUb1EULM55uBNKKihsk+/qCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkxoutTG9GnkGjFG9RFCzOeaIeruzTQecsv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNOwiXbRXPLhow6wqi9XR2xoIBA5k/UNEQ8+PU2rrn+bmoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKponHHi5NtrLMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM554EoCGmUXpZQew5VupFOll6MUb1EULM55sR/UuqJFuVvVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeRIRz4gLvULpo3nSIa2gIy6jFG9RFCzOeT2O3lH7hzmnibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznntxJn/JOfLok4tM4g1EWqdoxRvURQsznl8Kz9/GJyMHapcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRq55+BFPpCraaMUb1EULM55Cw5Ws7G+TB7qCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8ZcJw3Z7RsFxiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkauefgRT6Qq2mjFG9RFCzOecy0rJHxINGp6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/VI0V74bBT7KJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznliHg6bFcK/cNVJhQRNuOvrwzyn4h7L2yLHn/8XX7I1QaMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zRbSbsw7G65llV6tN3msHULibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55Yh4OmxXCv3DVSYUETbjr68M8p+Iey9si85eEv0dqp2qjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeVXBBczxLOyLibgMMPW1C/A+9RwNFBTfNH8/LeNRk7+Yw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznngSgIaZRellB7DlW6kU6WXoxRvURQsznnCPkjGEvB/EYm4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM557cSZ/yTny6JOLTOINRFqnaMUb1EULM55OVGu05tU0CLqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj9UjRXvhsFPsom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeWIeDpsVwr9w1UmFBE246+vDPKfiHsvbIg/rMfSWvHqnw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmXs/FVRaLu2B7DlW6kU6WXoxRvURQsznlLtiN5WZRsS9VJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55XyNM24F3xRijedIhraAjLqMUb1EULM55G58BlZ9MQwKJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55Hk+Dgy8bhX1uuV9W6LV8+sOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpGKJaBx1dcOCoxRvURQsznmiFnSimZtuK7+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zSHkHz/TOGUkMOsKovV0dsaCAQOZP1DREPMOE8pjHXcNKMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55fjJpWnDgbNTVSYUETbjr68M8p+Iey9si6EInVYgcK5+jFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeZ/6YxogUyevibgMMPW1C/A+9RwNFBTfNDHjEfZUuzbew6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOecKVOTvMAvVn2FC9hm37DyyJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznl+MmlacOBs1NVJhQRNuOvrwzyn4h7L2yJPAww2eilMV6MUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zSwuYLh/X96Cr4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeV8jTNuBd8UYo3nSIa2gIy6jFG9RFCzOeTsw3lRKEU85ibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznlRV6gTYMW5Tk4tM4g1EWqdoxRvURQsznl3icpNon3CiKpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrCc9FbKIwOlaMUb1EULM5573EGC70e4mnqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkYoloHHV1w4KjFG9RFCzOee7RT8HYSREydQMqYojeUeOjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeX4yaVpw4GzU1UmFBE246+vDPKfiHsvbIj+nEvT0FKSvw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOedGxDaCAYCJE6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55UVeoE2DFuU5OLTOINRFqnaMUb1EULM55uBNKKihsk+/qCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkmcsBPpCl+MqjFG9RFCzOeaIeruzTQecsv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNK/VWGYCVv8Cw6wqi9XR2xoIBA5k/UNEQ8+PU2rrn+bmoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKponHHi5NtrLMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55ZzM2+U64HuQew5VupFOll6MUb1EULM55sR/UuqJFuVvVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM552aFd8jAuwRYYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGmOwWv7hyYw4oxRvURQsznkv2WFlmnaCzOoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P1SNFe+GwU+yibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55o5eUkY5d3VHVSYUETbjr68M8p+Iey9si6EInVYgcK5+jFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80sLmC4f1/egq+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznkz1h1PvLgPhqN50iGtoCMuoxRvURQsznlcg+0GZJ3qlom4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznkeT4ODLxuFfW65X1botXz6w6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkmcsBPpCl+MqjFG9RFCzOedCSpzfYXWPAv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNK/VWGYCVv8Cw6wqi9XR2xoIBA5k/UNEQ8e740ckpAosoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmjl5SRjl3dUdVJhQRNuOvrwzyn4h7L2yLzl4S/R2qnaqMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55pVRdfxAOAjSJuAww9bUL8D71HA0UFN80fz8t41GTv5jDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeWczNvlOuB7kHsOVbqRTpZejFG9RFCzOecI+SMYS8H8RibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznnFHDbtC2ZXfU4tM4g1EWqdoxRvURQsznk5Ua7Tm1TQIuoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSZywE+kKX4yqMUb1EULM557tFPwdhJETIngbzRKHxh86MUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55Cur1Ik7Bi6XVSYUETbjr68M8p+Iey9si9TAB2ueQW5GjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeWUK/IYpdKXhibgMMPW1C/A+9RwNFBTfNJ5afmm91EE6w6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmskaxMkEYUWB7DlW6kU6WXoxRvURQsznmxH9S6okW5W9VJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55iZPRrmuPgW2jedIhraAjLqMUb1EULM55PY7eUfuHOaeJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOefzbO3l7gcAaTi0ziDURap2jFG9RFCzOeXwrP38YnIwdqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGtXEuvqXymUloxRvURQsznkLDlazsb5MHuoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSPDYnXcE0IKqMUb1EULM550JKnN9hdY8C/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80ZNXPVWeIv/XDrCqL1dHbGggEDmT9Q0RDx7vjRySkCiyjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeQrq9SJOwYul1UmFBE246+vDPKfiHsvbIvOXhL9HaqdqoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznllCvyGKXSl4Ym4DDD1tQvwPvUcDRQU3zR/Py3jUZO/mMOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55rJGsTJBGFFgew5VupFOll6MUb1EULM55wj5IxhLwfxGJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOefzbO3l7gcAaTi0ziDURap2jFG9RFCzOeTlRrtObVNAi6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpI8NiddwTQgqoxRvURQsznnu0U/B2EkRMieBvNEofGHzoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73Cna8Qm7V4f9to+KiUIw2z8XqX+qL/6wP5D4+UEaA1pXPyF8sRaIPYbQaheBGRl/BCoOrgKtDiu9FYasIIO+ZtW63O5qqQLMc8xd8q+9hKz3NfjVCFSa1KVW5GGK66+j6mo3nSIa2gIy4trjaFT1HymOoJXgXpZC5PjhuWD+fpd4Tlx4d2xpgXcPUTL/Fyl3oxccepmHgVMqyHBYCOBaM/IHysXvVdS/QfGlgjiZlzN+ZOxlql8OvAizUSnPQIfX1CQaVR04uPKTSAQFMM4vxcGuIHEpaVKBgWbjScBdpZNZmeBXiQNlhCrOXHh3bGmBdwMgbjbOAAyYh6l/qi/+sD+XGv73WFKZKSgIBoJihLbaGDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkaxM05UOULdpSjFG9RFCzOeS2uNoVPUfKY6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpJ7BYwielzPkoxRvURQsznnu0U/B2EkRMr+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zS97HK2tq+C8MOsKovV0dsaCAQOZP1DREMngbzRKHxh86MUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55sW4MppjGSp3VSYUETbjr68M8p+Iey9sixMdAT19sQGWjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOebJjOGEG5QvOibgMMPW1C/A+9RwNFBTfNALi9OBSt7fAw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznl+ZR9GT8WO8B7DlW6kU6WXoxRvURQsznnP5rGmfZZvadVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55bkYYrrr6PqajedIhraAjLqMUb1EULM55pfLjWTr0hCuJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeR1V2r5FmhpJTi0ziDURap2jFG9RFCzOeTjr5Bt6qFdOqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsTNOVDlC3aUoxRvURQsznlJ7YUmT9B3BOoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSewWMInpcz5KMUb1EULM55UC1L0uZUd5C/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80vexytravgvDDrCqL1dHbGggEDmT9Q0RD6cn486Sfb26jFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOebJjOGEG5QvOibgMMPW1C/A+9RwNFBTfNLTU2wJ2fIz+1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznluRhiuuvo+pqN50iGtoCMuoxRvURQsznnzid7guXKIFqpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRr7zDoMDc3TZKMUb1EULM55La42hU9R8pjqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkWh3PmEMD0hajFG9RFCzOee7RT8HYSREyv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAPMTGBOaT/tnsIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznnTo+TpXCxYNIm4DDD1tQvwPvUcDRQU3zRr1d0bZnguXMOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55shsWpO5w+Qoew5VupFOll6MUb1EULM55NOAVqnq1P1/VSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeWIOgeEOgPBxo3nSIa2gIy6jFG9RFCzOeSgrB0qfvcsbibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznlUv3JaawfaBE4tM4g1EWqdoxRvURQsznlajy0lFyBOKqpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRr7zDoMDc3TZKMUb1EULM55zLSskfEg0anqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkWh3PmEMD0hajFG9RFCzOef6PMkKHVC+hv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNDu0YdGx54Taw6wqi9XR2xoIBA5k/UNEQ/ZB9AtM7oD2oxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznnYWamctb6+KdVJhQRNuOvrwzyn4h7L2yLJ7boNlJHNnKMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM5506Pk6VwsWDSJuAww9bUL8D71HA0UFN80dbRaQtxRHr7VSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeWIOgeEOgPBxo3nSIa2gIy6jFG9RFCzOeYBdRZSZ7yXtqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLM9NRlxC6deQ/VSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zQ7tGHRseeE2sOsKovV0dsaCAQOZP1DREMwr8/xyWLkUaMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55pPer8LsyJFqJuAww9bUL8D71HA0UFN80dQLIAI98qFjDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeZC/QDj4H2heHsOVbqRTpZejFG9RFCzOeclCMy52gFPJ1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOedmhXfIwLsEWGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrBtThHui8fwqMUb1EULM55/yuElpJKdebqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCk1L6aWND3OqGjFG9RFCzOeYwpZazvzUhVv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNATQWzWwGxg4w6wqi9XR2xoIBA5k/UNEQzBZdx2dJYoUoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznlvdLYM4mqRDdVJhQRNuOvrwzyn4h7L2yIvPE7gTn1bzqMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55pPer8LsyJFqJuAww9bUL8D71HA0UFN80Xr7bp6B+2w/DrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM55Q9YI3/s8uotTpQJjLHhEtOwiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeaT3q/C7MiRaibgMMPW1C/A+9RwNFBTfNGlOgJoX6er6w6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmQv0A4+B9oXh7DlW6kU6WXoxRvURQsznnQmWwhjPe8TtVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55IqUJyz2o4QSjedIhraAjLqMUb1EULM55LsAdXDu2hDWJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeamHoS3e+ReTTi0ziDURap2jFG9RFCzOefSaDXMqNEbA6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpNS+mljQ9zqhoxRvURQsznnu0U/B2EkRMs+PU2rrn+bmoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKponHHi5NtrLMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55kL9AOPgfaF4ew5VupFOll6MUb1EULM55DEdp7d68JbWJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeS4qLy8kHobWTi0ziDURap2jFG9RFCzOeQ6l5V7qk5aiqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGoeg9s2oaE5coxRvURQsznm8HpP9WI/56OoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P1SNFe+GwU+yibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55nEXe+qjG+4DVSYUETbjr68M8p+Iey9siFfxnmIE5hRKjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeehqieAqpbs5ibgMMPW1C/A+9RwNFBTfNC4lZQApT2bPw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznnbQBXjHC1miR7DlW6kU6WXoxRvURQsznlFGYlkLYnP+dVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55PedFDORPB9ejedIhraAjLqMUb1EULM55XIPtBmSd6paJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeS4qLy8kHobWTi0ziDURap2jFG9RFCzOeWJPfDkdCvT1qlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLM9NRlxC6deQ/VSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zTBU7dy4KzKAcOsKovV0dsaCAQOZP1DREPHu+NHJKQKLKMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55nEXe+qjG+4DVSYUETbjr68M8p+Iey9si85eEv0dqp2qjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeehqieAqpbs5ibgMMPW1C/A+9RwNFBTfNH8/LeNRk7+Yw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznnbQBXjHC1miR7DlW6kU6WXoxRvURQsznnCPkjGEvB/EYm4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55LiovLyQehtZOLTOINRFqnaMUb1EULM55OVGu05tU0CLqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj9UjRXvhsFPsom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeZxF3vqoxvuA1UmFBE246+vDPKfiHsvbIg/rMfSWvHqnw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznngSgIaZRellB7DlW6kU6WXoxRvURQsznlLtiN5WZRsS9VJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55EhHPiAu9QumjedIhraAjLqMUb1EULM55G58BlZ9MQwKJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55Hk+Dgy8bhX1uuV9W6LV8+sOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpMaLrUxvRp5BoxRvURQsznmiFnSimZtuK7+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zTsIl20Vzy4aMOsKovV0dsaCAQOZP1DREPMOE8pjHXcNKMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55Yh4OmxXCv3DVSYUETbjr68M8p+Iey9si6EInVYgcK5+jFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeVXBBczxLOyLibgMMPW1C/A+9RwNFBTfNDHjEfZUuzbew6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznngSgIaZRellB7DlW6kU6WXoxRvURQsznmK74Hn/5oyPNVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznnZoV3yMC7BFhiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkauefgRT6Qq2mjFG9RFCzOeSerOjr/pov/6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpMaLrUxvRp5BoxRvURQsznm2mniueMhUNb+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zTsIl20Vzy4aMOsKovV0dsaCAQOZP1DREMtd7j3jJw67aMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55Yh4OmxXCv3DVSYUETbjr68M8p+Iey9sioWROTpp84AHDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeeBKAhplF6WUHsOVbqRTpZejFG9RFCzOebUhr93rtwkzibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeR5Pg4MvG4V9brlfVui1fPrDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKTGi61Mb0aeQaMUb1EULM557tFPwdhJETIngbzRKHxh86MUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55fjJpWnDgbNTVSYUETbjr68M8p+Iey9si9TAB2ueQW5GjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeZ/6YxogUyevibgMMPW1C/A+9RwNFBTfNJ5afmm91EE6w6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOedGxDaCAYCJE6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55UVeoE2DFuU5OLTOINRFqnaMUb1EULM55WADXPKTuC6+qXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csz01GXELp15D9VJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNIeQfP9M4ZSQw6wqi9XR2xoIBA5k/UNEQ8w4TymMddw0oxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKg3m2+jkbM9uI5Uko0dybObVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zSHkHz/TOGUkMOsKovV0dsaCAQOZP1DREMwWXcdnSWKFKMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSoN5tvo5GzPbiOVJKNHcmzm1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80h5B8/0zhlJDDrCqL1dHbGggEDmT9Q0RD+8HBnOj7nbqjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUq1N+wbd47ZVsyN9kujxPAQcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpGKJaBx1dcOCoxRvURQsznnQkqc32F1jwL+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwDzExgTmk/7Z7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55n/pjGiBTJ6+JuAww9bUL8D71HA0UFN80aU6Amhfp6vrDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM55Doi1bSPLRC49U65MFwVyquwiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeZ/6YxogUyevibgMMPW1C/A+9RwNFBTfNNFJmAMsnAhzw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOefzS9JGWg/Yr4ZqJtUXuXqbsIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmf+mMaIFMnr4m4DDD1tQvwPvUcDRQU3zR/Py3jUZO/mMOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznmQhAecsx9SIUW7lr8vc5kz7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55n/pjGiBTJ6+JuAww9bUL8D71HA0UFN80dbRaQtxRHr7VSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM552aFd8jAuwRYYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsJz0VsojA6VoxRvURQsznnECg1SgN9w47+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwDzExgTmk/7Z7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55n/pjGiBTJ6+JuAww9bUL8D71HA0UFN80c8u/9Qa0RjfVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeTPWHU+8uA+Go3nSIa2gIy6jFG9RFCzOebbgUIxTTdXmibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznnFHDbtC2ZXfU4tM4g1EWqdoxRvURQsznnUT3YfpEMJhapcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRpjsFr+4cmMOKMUb1EULM55/yuElpJKdebqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkmcsBPpCl+MqjFG9RFCzOeYwpZazvzUhVv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNK/VWGYCVv8Cw6wqi9XR2xoIBA5k/UNEQzBZdx2dJYoUoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmjl5SRjl3dUdVJhQRNuOvrwzyn4h7L2yIvPE7gTn1bzqMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55pVRdfxAOAjSJuAww9bUL8D71HA0UFN80Xr7bp6B+2w/DrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeWczNvlOuB7kHsOVbqRTpZejFG9RFCzOef+aemxh0PyY1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznkz1h1PvLgPhqN50iGtoCMuoxRvURQsznkwsUZjMLeGaom4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55xRw27QtmV31OLTOINRFqnaMUb1EULM55TYlfWxUUPoiqXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkaY7Ba/uHJjDijFG9RFCzOeVvvFiNUdWV5v7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNK/VWGYCVv8Cw6wqi9XR2xoIBA5k/UNEQxuEVQ8D/+wCoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmlVF1/EA4CNIm4DDD1tQvwPvUcDRQU3zRzy7/1BrRGN9VJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55iZPRrmuPgW2jedIhraAjLqMUb1EULM55tuBQjFNN1eaJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOefzbO3l7gcAaTi0ziDURap2jFG9RFCzOedRPdh+kQwmFqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGtXEuvqXymUloxRvURQsznn/K4SWkkp15uoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSPDYnXcE0IKqMUb1EULM55jCllrO/NSFW/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80ZNXPVWeIv/XDrCqL1dHbGggEDmT9Q0RDMFl3HZ0lihSjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeQrq9SJOwYul1UmFBE246+vDPKfiHsvbIi88TuBOfVvOoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznllCvyGKXSl4Ym4DDD1tQvwPvUcDRQU3zRevtunoH7bD8OsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55rJGsTJBGFFgew5VupFOll6MUb1EULM55/5p6bGHQ/JjVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeYmT0a5rj4Fto3nSIa2gIy6jFG9RFCzOeTCxRmMwt4ZqibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznn82zt5e4HAGk4tM4g1EWqdoxRvURQsznlNiV9bFRQ+iKpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrVxLr6l8plJaMUb1EULM55W+8WI1R1ZXm/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80ZNXPVWeIv/XDrCqL1dHbGggEDmT9Q0RDG4RVDwP/7AKjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeWUK/IYpdKXhibgMMPW1C/A+9RwNFBTfNHPLv/UGtEY31UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdSxBX7OGk7HIa6lgFUDDxY7dzZ8rtD3R99FS0IbhBo+baFAvWlgHqZpmrrZDNLW5lPjMrFyLNsVP4bx/4kT2RQUlmrXiRzB6sWQF1vvzwSN4PxTmsw1SWPZvzvrQzwyCknsFjCJ6XM+TDPKfiHsvbIvUwAdrnkFuRxKbnjUuTquwq8Vuiux9/bbnW/8Sr0wuHBEr3FcJAYj/mDgjlpR9Up5S5CqGBjIGwB59ss9FMHlKW71yFW1C9lici8kOzt8rRzPSy54/2M3vvRy4ZC1sbnAA+cwO8+kdZlA2ba19WmqixO29ueyDpuDwghMHmY+bUBXuFhYHECtdsg1gVtZd+yanQINE31fCndHGPLpDM09n+rERLBzPDgfVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55sW4MppjGSp3VSYUETbjr68M8p+Iey9si9TAB2ueQW5GjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOebJjOGEG5QvOibgMMPW1C/A+9RwNFBTfNJ5afmm91EE6w6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznl+ZR9GT8WO8B7DlW6kU6WXoxRvURQsznmxH9S6okW5W9VJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55bkYYrrr6PqajedIhraAjLqMUb1EULM55PY7eUfuHOaeJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeR1V2r5FmhpJTi0ziDURap2jFG9RFCzOeXwrP38YnIwdqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsTNOVDlC3aUoxRvURQsznkLDlazsb5MHuoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSewWMInpcz5KMUb1EULM550JKnN9hdY8C/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80vexytravgvDDrCqL1dHbGggEDmT9Q0RDx7vjRySkCiyjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOebFuDKaYxkqd1UmFBE246+vDPKfiHsvbIvOXhL9HaqdqoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmyYzhhBuULzom4DDD1tQvwPvUcDRQU3zR/Py3jUZO/mMOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55fmUfRk/FjvAew5VupFOll6MUb1EULM55wj5IxhLwfxGJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeR1V2r5FmhpJTi0ziDURap2jFG9RFCzOeTlRrtObVNAi6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpFodz5hDA9IWoxRvURQsznmiHq7s00HnLL+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zQ7tGHRseeE2sOsKovV0dsaCAQOZP1DREPPj1Nq65/m5qMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM552FmpnLW+vinVSYUETbjr68M8p+Iey9siFfxnmIE5hRKjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOedOj5OlcLFg0ibgMMPW1C/A+9RwNFBTfNC4lZQApT2bPw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmyGxak7nD5Ch7DlW6kU6WXoxRvURQsznlFGYlkLYnP+dVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznnpfaA12KGBX0N7e5FEAdQPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55shsWpO5w+Qoew5VupFOll6MUb1EULM55z+axpn2Wb2nVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM552aFd8jAuwRYYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGvvMOgwNzdNkoxRvURQsznnMtKyR8SDRqeoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P1SNFe+GwU+yibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM552FmpnLW+vinVSYUETbjr68M8p+Iey9six5//F1+yNUGjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80sLmC4f1/egq+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznliDoHhDoDwcaN50iGtoCMuoxRvURQsznkwsUZjMLeGaom4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznkeT4ODLxuFfW65X1botXz6w6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkWh3PmEMD0hajFG9RFCzOeVAtS9LmVHeQv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNDu0YdGx54Taw6wqi9XR2xoIBA5k/UNEQ+nJ+POkn29uoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznnTo+TpXCxYNIm4DDD1tQvwPvUcDRQU3zS01NsCdnyM/tVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55IqUJyz2o4QSjedIhraAjLqMUb1EULM55tuBQjFNN1eaJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeamHoS3e+ReTTi0ziDURap2jFG9RFCzOedRPdh+kQwmFqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsG1OEe6Lx/CoxRvURQsznn/K4SWkkp15uoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P1hQhGCYanLOGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrBtThHui8fwqMUb1EULM55L9lhZZp2gszqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj9UjRXvhsFPsom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeW90tgziapEN1UmFBE246+vDPKfiHsvbIuhCJ1WIHCufoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNLC5guH9f3oKvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55IqUJyz2o4QSjedIhraAjLqMUb1EULM55XIPtBmSd6paJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeamHoS3e+ReTTi0ziDURap2jFG9RFCzOeWJPfDkdCvT1qlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsG1OEe6Lx/CoxRvURQsznknqzo6/6aL/+oJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKTUvppY0Pc6oaMUb1EULM55tpp4rnjIVDW/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cA8xMYE5pP+2ewiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeaT3q/C7MiRaibgMMPW1C/A+9RwNFBTfNH8/LeNRk7+Yw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmQv0A4+B9oXh7DlW6kU6WXoxRvURQsznnCPkjGEvB/EYm4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55qYehLd75F5NOLTOINRFqnaMUb1EULM55OVGu05tU0CLqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkjOu0SzbSJ5WjFG9RFCzOeaIeruzTQecsv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNMFTt3LgrMoBw6wqi9XR2xoIBA5k/UNEQ8+PU2rrn+bmoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKk0MVEkFTP+Jw+pijBSZFqnVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zTBU7dy4KzKAcOsKovV0dsaCAQOZP1DREMngbzRKHxh86MUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSqaJxx4uTbayzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOedtAFeMcLWaJHsOVbqRTpZejFG9RFCzOeTTgFap6tT9f1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznk950UM5E8H16N50iGtoCMuoxRvURQsznkoKwdKn73LG4m4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55LiovLyQehtZOLTOINRFqnaMUb1EULM55Wo8tJRcgTiqqXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkah6D2zahoTlyjFG9RFCzOecy0rJHxINGp6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpIzrtEs20ieVoxRvURQsznn+jzJCh1Qvob+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zTBU7dy4KzKAcOsKovV0dsaCAQOZP1DREP2QfQLTO6A9qMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSqaJxx4uTbayzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOedtAFeMcLWaJHsOVbqRTpZejFG9RFCzOeXdFMOnOYD+31UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznk950UM5E8H16N50iGtoCMuoxRvURQsznnCztkjazicF6pcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRqHoPbNqGhOXKMUb1EULM55xAoNUoDfcOO/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN807CJdtFc8uGjDrCqL1dHbGggEDmT9Q0RDdQMqYojeUeOjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeWIeDpsVwr9w1UmFBE246+vDPKfiHsvbIsdxf+zPyBwboxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNLC5guH9f3oKvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55EhHPiAu9QumjedIhraAjLqMUb1EULM55y5+4et/xb7WJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOee3Emf8k58uiTi0ziDURap2jFG9RFCzOeZtbfN0F3DVzqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGrnn4EU+kKtpoxRvURQsznl1cB7x5+HLZuoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKTGi61Mb0aeQaMUb1EULM55zVl6OCGEr3W/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN807CJdtFc8uGjDrCqL1dHbGggEDmT9Q0RDTeks246rjGqjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeWIeDpsVwr9w1UmFBE246+vDPKfiHsvbIsef/xdfsjVBoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznlVwQXM8Szsi4m4DDD1tQvwPvUcDRQU3zTRSZgDLJwIc8OsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznnRsQ2ggGAiROrRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOee3Emf8k58uiTi0ziDURap2jFG9RFCzOeU2JX1sVFD6Iqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGrnn4EU+kKtpoxRvURQsznlb7xYjVHVleb+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zTsIl20Vzy4aMOsKovV0dsaCAQOZP1DREMbhFUPA//sAqMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55n/pjGiBTJ6+JuAww9bUL8D71HA0UFN80dQLIAI98qFjDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeZez8VVFou7YHsOVbqRTpZejFG9RFCzOeclCMy52gFPJ1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOedmhXfIwLsEWGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrCc9FbKIwOlaMUb1EULM55/yuElpJKdebqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkYoloHHV1w4KjFG9RFCzOeYwpZazvzUhVv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNIeQfP9M4ZSQw6wqi9XR2xoIBA5k/UNEQzBZdx2dJYoUoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznl+MmlacOBs1NVJhQRNuOvrwzyn4h7L2yIvPE7gTn1bzqMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55n/pjGiBTJ6+JuAww9bUL8D71HA0UFN80Xr7bp6B+2w/DrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeZez8VVFou7YHsOVbqRTpZejFG9RFCzOef+aemxh0PyY1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznlfI0zbgXfFGKN50iGtoCMuoxRvURQsznkwsUZjMLeGaom4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznkeT4ODLxuFfW65X1botXz6w6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkYoloHHV1w4KjFG9RFCzOeVAtS9LmVHeQv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNIeQfP9M4ZSQw6wqi9XR2xoIBA5k/UNEQ+nJ+POkn29uoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmf+mMaIFMnr4m4DDD1tQvwPvUcDRQU3zS01NsCdnyM/tVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55M9YdT7y4D4ajedIhraAjLqMUb1EULM55tuBQjFNN1eaJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOecUcNu0LZld9Ti0ziDURap2jFG9RFCzOedRPdh+kQwmFqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMeo32zHZLB/e+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznkz1h1PvLgPhqN50iGtoCMuoxRvURQsznnLn7h63/FvtYm4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznkeT4ODLxuFfW65X1botXz6w6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkmcsBPpCl+MqjFG9RFCzOeYwpZazvzUhVv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAtOvg5UuZbvnOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpJnLAT6QpfjKoxRvURQsznkGlqMZYd/Hbb+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwPdcnvMudJSQpRGlaBDM8BrDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSZywE+kKX4yqMUb1EULM55zVl6OCGEr3W/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cD3XJ7zLnSUkP8f3Ol6n+p+w6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkmcsBPpCl+MqjFG9RFCzOedCSpzfYXWPAv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAj5PaOAFfZxHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpJnLAT6QpfjKoxRvURQsznn+jzJCh1Qvob+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwObVnAfwHSpBzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSZywE+kKX4yqMUb1EULM55tpp4rnjIVDW/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cA8xMYE5pP+2ewiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeaVUXX8QDgI0ibgMMPW1C/A+9RwNFBTfNH8/LeNRk7+Yw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOecKVOTvMAvVntYKYOsbAF/iJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmjl5SRjl3dUdVJhQRNuOvrwzyn4h7L2yKhZE5OmnzgAcOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznm5Y9Mph7aaBtr2Uv8x4HXc7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55pVRdfxAOAjSJuAww9bUL8D71HA0UFN80tNTbAnZ8jP7VSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55F90QLyZ7KhfHNIHw9yv86TEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lLNICke+pG0x8ZS0gTYfSuMpUOyU+QMJSvUSusUSPtIzwPrArgT0Y9c1VC8koClLG4U0ckE7E/R9bmvehWMlna99jChDk9EaldUzir9lAH60uXHh3bGmBdw9Sqde4MeaRrEzTlQ5Qt2lAgEDmT9Q0RDdQMqYojeUeNPIHP5PdLGYQ+Ssm2tzAfhsSTR1asNvkmA+vWb3qDDdBG7eUj0w62AdabV+RmPhYxZfw6qCnySXaEuIi1e6JfFeeMGhL0zrY8siVhijwP59KTLiRScwIyZFX4sDBn6bFSVnZLPdAhyaGf8l6uE1HhsD5Kyba3MB+GhHfHtF2RKiF+NUIVJrUpVL3CcMncybIto+KiUIw2z8Ym4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zS97HK2tq+C8MOsKovV0dsaCAQOZP1DREN1AypiiN5R46MUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55sW4MppjGSp3VSYUETbjr68M8p+Iey9six3F/7M/IHBujFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOebJjOGEG5QvOibgMMPW1C/A+9RwNFBTfNGvV3RtmeC5cw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznl+ZR9GT8WO8B7DlW6kU6WXoxRvURQsznk04BWqerU/X9VJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55bkYYrrr6PqajedIhraAjLqMUb1EULM55KCsHSp+9yxuJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeR1V2r5FmhpJTi0ziDURap2jFG9RFCzOeVqPLSUXIE4qqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsTNOVDlC3aUoxRvURQsznnMtKyR8SDRqeoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSewWMInpcz5KMUb1EULM55/o8yQodUL6G/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80vexytravgvDDrCqL1dHbGggEDmT9Q0RD9kH0C0zugPajFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOebFuDKaYxkqd1UmFBE246+vDPKfiHsvbIsntug2Ukc2coxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmyYzhhBuULzom4DDD1tQvwPvUcDRQU3zR1tFpC3FEevtVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55bkYYrrr6PqajedIhraAjLqMUb1EULM55gF1FlJnvJe2qXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmka+8w6DA3N02SjFG9RFCzOeS2uNoVPUfKY6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/1BArl1Nx9YYYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGvvMOgwNzdNkoxRvURQsznm8HpP9WI/56OoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P1SNFe+GwU+yibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM552FmpnLW+vinVSYUETbjr68M8p+Iey9siFfxnmIE5hRKjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80sLmC4f1/egq+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznliDoHhDoDwcaN50iGtoCMuoxRvURQsznk9jt5R+4c5p4m4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznkeT4ODLxuFfW65X1botXz6w6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkWh3PmEMD0hajFG9RFCzOeQaWoxlh38dtv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAPMTGBOaT/tnsIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznnTo+TpXCxYNIm4DDD1tQvwPvUcDRQU3zQx4xH2VLs23sOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznnRsQ2ggGAiROrRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeVS/clprB9oETi0ziDURap2jFG9RFCzOeWJPfDkdCvT1qlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGvvMOgwNzdNkoxRvURQsznknqzo6/6aL/+oJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKRaHc+YQwPSFqMUb1EULM55tpp4rnjIVDW/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80O7Rh0bHnhNrDrCqL1dHbGggEDmT9Q0RDLXe494ycOu2jFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOedhZqZy1vr4p1UmFBE246+vDPKfiHsvbIqFkTk6afOABw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOedGxDaCAYCJE6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55VL9yWmsH2gROLTOINRFqnaMUb1EULM55OVGu05tU0CLqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCk1L6aWND3OqGjFG9RFCzOeaIeruzTQecsv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAPMTGBOaT/tnsIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmk96vwuzIkWom4DDD1tQvwPvUcDRQU3zSeWn5pvdRBOsOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznnRsQ2ggGAiROrRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeamHoS3e+ReTTi0ziDURap2jFG9RFCzOeVgA1zyk7guvqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMAeosG88SptDq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznmph6Et3vkXk04tM4g1EWqdoxRvURQsznmbW3zdBdw1c6pcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzEKeI+d85TyQ6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55qYehLd75F5NOLTOINRFqnaMUb1EULM55fCs/fxicjB2qXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csx6jfbMdksH974Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeSKlCcs9qOEEo3nSIa2gIy6jFG9RFCzOeVyD7QZkneqWibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeR5Pg4MvG4V9brlfVui1fPrDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKTUvppY0Pc6oaMUb1EULM550JKnN9hdY8C/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80BNBbNbAbGDjDrCqL1dHbGggEDmT9Q0RDx7vjRySkCiyjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeW90tgziapEN1UmFBE246+vDPKfiHsvbIvOXhL9HaqdqoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmk96vwuzIkWom4DDD1tQvwPvUcDRQU3zR/Py3jUZO/mMOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55kL9AOPgfaF4ew5VupFOll6MUb1EULM55wj5IxhLwfxGJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55Hk+Dgy8bhX1uuV9W6LV8+sOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpNS+mljQ9zqhoxRvURQsznnu0U/B2EkRMs+PU2rrn+bmoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmcRd76qMb7gNVJhQRNuOvrwzyn4h7L2yL1MAHa55BbkaMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zSwuYLh/X96Cr4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeT3nRQzkTwfXo3nSIa2gIy6jFG9RFCzOeRufAZWfTEMCibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznkuKi8vJB6G1k4tM4g1EWqdoxRvURQsznlYANc8pO4Lr6pcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRqHoPbNqGhOXKMUb1EULM55L9lhZZp2gszqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkjOu0SzbSJ5WjFG9RFCzOeQaWoxlh38dtv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNMFTt3LgrMoBw6wqi9XR2xoIBA5k/UNEQ/vBwZzo+526oxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKponHHi5NtrLMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM5520AV4xwtZokew5VupFOll6MUb1EULM55iu+B5/+aMjzVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeT3nRQzkTwfXo3nSIa2gIy6jFG9RFCzOeTsw3lRKEU85ibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznkuKi8vJB6G1k4tM4g1EWqdoxRvURQsznl3icpNon3CiKpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRqHoPbNqGhOXKMUb1EULM5573EGC70e4mnqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkjOu0SzbSJ5WjFG9RFCzOee7RT8HYSREydQMqYojeUeOjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqmicceLk22ssxBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznnbQBXjHC1miR7DlW6kU6WXoxRvURQsznm1Ia/d67cJM4m4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM557cSZ/yTny6JOLTOINRFqnaMUb1EULM55DqXlXuqTlqKqXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csz01GXELp15D9VJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNOwiXbRXPLhow6wqi9XR2xoIBA5k/UNEQ8+PU2rrn+bmoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznliHg6bFcK/cNVJhQRNuOvrwzyn4h7L2yIV/GeYgTmFEqMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55VcEFzPEs7IuJuAww9bUL8D71HA0UFN80LiVlAClPZs/DrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeeBKAhplF6WUHsOVbqRTpZejFG9RFCzOeUUZiWQtic/51UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznkSEc+IC71C6aN50iGtoCMuoxRvURQsznlcg+0GZJ3qlom4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznkeT4ODLxuFfW65X1botXz6w6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkxoutTG9GnkGjFG9RFCzOedCSpzfYXWPAv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNOwiXbRXPLhow6wqi9XR2xoIBA5k/UNEQ8e740ckpAosoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznliHg6bFcK/cNVJhQRNuOvrwzyn4h7L2yLzl4S/R2qnaqMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55VcEFzPEs7IuJuAww9bUL8D71HA0UFN80fz8t41GTv5jDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM55FjJY6pvmWFH4NGxcj3tPsOwiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeVXBBczxLOyLibgMMPW1C/A+9RwNFBTfNHW0WkLcUR6+1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeaC3iEKpVnmdRnm/Ngq0eIbsIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznlVwQXM8Szsi4m4DDD1tQvwPvUcDRQU3zS01NsCdnyM/tVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55XyNM24F3xRijedIhraAjLqMUb1EULM55tuBQjFNN1eaJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55Hk+Dgy8bhX1uuV9W6LV8+sOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpGKJaBx1dcOCoxRvURQsznnu0U/B2EkRMr+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zSHkHz/TOGUkMOsKovV0dsaCAQOZP1DREMngbzRKHxh86MUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55fjJpWnDgbNTVSYUETbjr68M8p+Iey9sixMdAT19sQGWjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeZ/6YxogUyevibgMMPW1C/A+9RwNFBTfNALi9OBSt7fAw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmXs/FVRaLu2B7DlW6kU6WXoxRvURQsznnP5rGmfZZvadVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznmcK5McDn46tNBFS5c4kCXVMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55l7PxVUWi7tgew5VupFOll6MUb1EULM55iu+B5/+aMjzVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55oLeIQqlWeZ1Geb82CrR4huwiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeZ/6YxogUyevibgMMPW1C/A+9RwNFBTfNGlOgJoX6er6w6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeQ6ItW0jy0QubmhPNAPXWfLsIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmf+mMaIFMnr4m4DDD1tQvwPvUcDRQU3zTRSZgDLJwIc8OsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznmx7l1fTwyfKWs2g8cz6jsz7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55n/pjGiBTJ6+JuAww9bUL8D71HA0UFN80fz8t41GTv5jDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM550bENoIBgIkTq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznlRV6gTYMW5Tk4tM4g1EWqdoxRvURQsznn0mg1zKjRGwOoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P1yM7j0yOLuUGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrCc9FbKIwOlaMUb1EULM55xAoNUoDfcOO/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80r9VYZgJW/wLDrCqL1dHbGggEDmT9Q0RDdQMqYojeUeOjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqmicceLk22ssxBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznlnMzb5Trge5B7DlW6kU6WXoxRvURQsznnJQjMudoBTydVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55M9YdT7y4D4ajedIhraAjLqMUb1EULM55y5+4et/xb7WJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOecUcNu0LZld9Ti0ziDURap2jFG9RFCzOeZtbfN0F3DVzqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGmOwWv7hyYw4oxRvURQsznl1cB7x5+HLZuoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSZywE+kKX4yqMUb1EULM55zVl6OCGEr3W/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80r9VYZgJW/wLDrCqL1dHbGggEDmT9Q0RDTeks246rjGqjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqmicceLk22ssxBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznlnMzb5Trge5B7DlW6kU6WXoxRvURQsznn/mnpsYdD8mNVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznnZoV3yMC7BFhiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkaY7Ba/uHJjDijFG9RFCzOeUnthSZP0HcE6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/VI0V74bBT7KJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmjl5SRjl3dUdVJhQRNuOvrwzyn4h7L2yLJ7boNlJHNnKMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zSwuYLh/X96Cr4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeTPWHU+8uA+Go3nSIa2gIy6jFG9RFCzOecLO2SNrOJwXqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGmOwWv7hyYw4oxRvURQsznnECg1SgN9w47+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zRk1c9VZ4i/9cOsKovV0dsaCAQOZP1DREN1AypiiN5R46MUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55Cur1Ik7Bi6XVSYUETbjr68M8p+Iey9six3F/7M/IHBujFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeWUK/IYpdKXhibgMMPW1C/A+9RwNFBTfNGvV3RtmeC5cw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmskaxMkEYUWB7DlW6kU6WXoxRvURQsznk04BWqerU/X9VJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55iZPRrmuPgW2jedIhraAjLqMUb1EULM55KCsHSp+9yxuJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOefzbO3l7gcAaTi0ziDURap2jFG9RFCzOeVqPLSUXIE4qqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGtXEuvqXymUloxRvURQsznnMtKyR8SDRqeoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSPDYnXcE0IKqMUb1EULM55/o8yQodUL6G/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80ZNXPVWeIv/XDrCqL1dHbGggEDmT9Q0RD9kH0C0zugPajFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeQrq9SJOwYul1UmFBE246+vDPKfiHsvbIsntug2Ukc2coxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznllCvyGKXSl4Ym4DDD1tQvwPvUcDRQU3zR1tFpC3FEevtVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55iZPRrmuPgW2jedIhraAjLqMUb1EULM55gF1FlJnvJe2qXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6f1xOvHxiUtUD4zKxcizbFTG5EN3ZeQhuH5y9mJohMAATtNA5SqdEefSbiHeVmT1LAVLtLyXkeSN+8F619zQsIFWoYOP4bsVqL3F1bVCgVMZCrxW6K7H39t1UmFBE246+uxbgymmMZKndVJhQRNuOvrS7YjeVmUbEvllEB13WrmTLwJfe493GDZ/qxESwczw4FQwiX5XSnrJqvcf/biM6Rrc/rt8mup9WB9KVIDGSfEcuNDfeNogtzeepf6ov/rA/mNjVnrtPoeOHOKY4Zg8d6xg8hHn+tSPT+8k+l4EqcZ6fUru3aTwOtSN4aJ1I5WpT38kTcvmKWpCA/FOazDVJY97+guGDYDIcsa6lgFUDDxY7dzZ8rtD3R9dzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznl+ZR9GT8WO8B7DlW6kU6WXoxRvURQsznlLtiN5WZRsS9VJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55bkYYrrr6PqajedIhraAjLqMUb1EULM55G58BlZ9MQwKJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeR1V2r5FmhpJTi0ziDURap2jFG9RFCzOeVgA1zyk7guvqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsTNOVDlC3aUoxRvURQsznkv2WFlmnaCzOoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSewWMInpcz5KMUb1EULM55BpajGWHfx22/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80vexytravgvDDrCqL1dHbGggEDmT9Q0RD+8HBnOj7nbqjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOebFuDKaYxkqd1UmFBE246+vDPKfiHsvbIk8DDDZ6KUxXoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmyYzhhBuULzom4DDD1tQvwPvUcDRQU3zRpToCaF+nq+sOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55fmUfRk/FjvAew5VupFOll6MUb1EULM550JlsIYz3vE7VSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeW5GGK66+j6mo3nSIa2gIy6jFG9RFCzOeS7AHVw7toQ1ibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznkdVdq+RZoaSU4tM4g1EWqdoxRvURQsznn0mg1zKjRGwOoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSewWMInpcz5KMUb1EULM557tFPwdhJETLPj1Nq65/m5qMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM552FmpnLW+vinVSYUETbjr68M8p+Iey9si9TAB2ueQW5GjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOedOj5OlcLFg0ibgMMPW1C/A+9RwNFBTfNJ5afmm91EE6w6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOecKVOTvMAvVnGpNs0NNc/LOJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznnYWamctb6+KdVJhQRNuOvrwzyn4h7L2yIV/GeYgTmFEqMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zSwuYLh/X96Cr4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeWIOgeEOgPBxo3nSIa2gIy6jFG9RFCzOeT2O3lH7hzmnibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeR5Pg4MvG4V9brlfVui1fPrDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKRaHc+YQwPSFqMUb1EULM55BpajGWHfx22/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cA8xMYE5pP+2ewiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOedOj5OlcLFg0ibgMMPW1C/A+9RwNFBTfNDHjEfZUuzbew6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOedGxDaCAYCJE6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55VL9yWmsH2gROLTOINRFqnaMUb1EULM55Yk98OR0K9PWqXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csz01GXELp15D9VJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNDu0YdGx54Taw6wqi9XR2xoIBA5k/UNEQ8e740ckpAosoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKponHHi5NtrLMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55shsWpO5w+Qoew5VupFOll6MUb1EULM550JlsIYz3vE7VSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM552aFd8jAuwRYYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGvvMOgwNzdNkoxRvURQsznnvcQYLvR7iaeoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P1SNFe+GwU+yibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM552FmpnLW+vinVSYUETbjr68M8p+Iey9sioWROTpp84AHDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM550bENoIBgIkTq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznlUv3JaawfaBE4tM4g1EWqdoxRvURQsznk5Ua7Tm1TQIuoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P7yEyPGC55nU6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55qYehLd75F5NOLTOINRFqnaMUb1EULM55DqXlXuqTlqKqXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkawbU4R7ovH8KjFG9RFCzOebwek/1Yj/no6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/VI0V74bBT7KJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznlvdLYM4mqRDdVJhQRNuOvrwzyn4h7L2yIV/GeYgTmFEqMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55pPer8LsyJFqJuAww9bUL8D71HA0UFN80LiVlAClPZs/DrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeZC/QDj4H2heHsOVbqRTpZejFG9RFCzOeUUZiWQtic/51UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznkipQnLPajhBKN50iGtoCMuoxRvURQsznlcg+0GZJ3qlom4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55qYehLd75F5NOLTOINRFqnaMUb1EULM55Yk98OR0K9PWqXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csz01GXELp15D9VJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNATQWzWwGxg4w6wqi9XR2xoIBA5k/UNEQ8e740ckpAosoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznlvdLYM4mqRDdVJhQRNuOvrwzyn4h7L2yLzl4S/R2qnaqMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55pPer8LsyJFqJuAww9bUL8D71HA0UFN80fz8t41GTv5jDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeZC/QDj4H2heHsOVbqRTpZejFG9RFCzOecI+SMYS8H8RibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznmph6Et3vkXk04tM4g1EWqdoxRvURQsznk5Ua7Tm1TQIuoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P1SNFe+GwU+yibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55nEXe+qjG+4DVSYUETbjr68M8p+Iey9si9TAB2ueQW5GjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeehqieAqpbs5ibgMMPW1C/A+9RwNFBTfNJ5afmm91EE6w6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOedGxDaCAYCJE6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55LiovLyQehtZOLTOINRFqnaMUb1EULM55WADXPKTuC6+qXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkah6D2zahoTlyjFG9RFCzOeS/ZYWWadoLM6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpIzrtEs20ieVoxRvURQsznkGlqMZYd/Hbb+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zTBU7dy4KzKAcOsKovV0dsaCAQOZP1DREP7wcGc6PuduqMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55nEXe+qjG+4DVSYUETbjr68M8p+Iey9siTwMMNnopTFejFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80sLmC4f1/egq+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznk950UM5E8H16N50iGtoCMuoxRvURQsznk7MN5UShFPOYm4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55LiovLyQehtZOLTOINRFqnaMUb1EULM55d4nKTaJ9woiqXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkah6D2zahoTlyjFG9RFCzOee9xBgu9HuJp6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpIzrtEs20ieVoxRvURQsznnu0U/B2EkRMnUDKmKI3lHjoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmcRd76qMb7gNVJhQRNuOvrwzyn4h7L2yI/pxL09BSkr8OsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznnRsQ2ggGAiROrRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOee3Emf8k58uiTi0ziDURap2jFG9RFCzOeQ6l5V7qk5aiqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGrnn4EU+kKtpoxRvURQsznm8HpP9WI/56OoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P1SNFe+GwU+yibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55Yh4OmxXCv3DVSYUETbjr68M8p+Iey9siFfxnmIE5hRKjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeVXBBczxLOyLibgMMPW1C/A+9RwNFBTfNC4lZQApT2bPw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznngSgIaZRellB7DlW6kU6WXoxRvURQsznlFGYlkLYnP+dVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55EhHPiAu9QumjedIhraAjLqMUb1EULM55XIPtBmSd6paJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOee3Emf8k58uiTi0ziDURap2jFG9RFCzOeWJPfDkdCvT1qlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLM9NRlxC6deQ/VSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zTsIl20Vzy4aMOsKovV0dsaCAQOZP1DREPHu+NHJKQKLKMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55Yh4OmxXCv3DVSYUETbjr68M8p+Iey9si85eEv0dqp2qjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeVXBBczxLOyLibgMMPW1C/A+9RwNFBTfNH8/LeNRk7+Yw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznngSgIaZRellB7DlW6kU6WXoxRvURQsznnCPkjGEvB/EYm4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM557cSZ/yTny6JOLTOINRFqnaMUb1EULM55OVGu05tU0CLqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj9UjRXvhsFPsom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeX4yaVpw4GzU1UmFBE246+vDPKfiHsvbIvUwAdrnkFuRoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmf+mMaIFMnr4m4DDD1tQvwPvUcDRQU3zSeWn5pvdRBOsOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznnRsQ2ggGAiROrRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeVFXqBNgxblOTi0ziDURap2jFG9RFCzOeVgA1zyk7guvqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsJz0VsojA6VoxRvURQsznkv2WFlmnaCzOoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKRiiWgcdXXDgqMUb1EULM55BpajGWHfx22/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80h5B8/0zhlJDDrCqL1dHbGggEDmT9Q0RD+8HBnOj7nbqjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeX4yaVpw4GzU1UmFBE246+vDPKfiHsvbIk8DDDZ6KUxXoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNLC5guH9f3oKvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55XyNM24F3xRijedIhraAjLqMUb1EULM55OzDeVEoRTzmJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeVFXqBNgxblOTi0ziDURap2jFG9RFCzOeXeJyk2ifcKIqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsJz0VsojA6VoxRvURQsznnvcQYLvR7iaeoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKRiiWgcdXXDgqMUb1EULM557tFPwdhJETJ1AypiiN5R46MUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55fjJpWnDgbNTVSYUETbjr68M8p+Iey9siP6cS9PQUpK/DrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM550bENoIBgIkTq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznnFHDbtC2ZXfU4tM4g1EWqdoxRvURQsznkOpeVe6pOWoqpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRpjsFr+4cmMOKMUb1EULM55vB6T/ViP+ejqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj9UjRXvhsFPsom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeaOXlJGOXd1R1UmFBE246+vDPKfiHsvbIhX8Z5iBOYUSoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmlVF1/EA4CNIm4DDD1tQvwPvUcDRQU3zQuJWUAKU9mz8OsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55ZzM2+U64HuQew5VupFOll6MUb1EULM55RRmJZC2Jz/nVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeTPWHU+8uA+Go3nSIa2gIy6jFG9RFCzOeVyD7QZkneqWibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznnFHDbtC2ZXfU4tM4g1EWqdoxRvURQsznliT3w5HQr09apcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzPTUZcQunXkP1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80r9VYZgJW/wLDrCqL1dHbGggEDmT9Q0RDx7vjRySkCiyjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUq1N+wbd47ZVvrqURfUD56hMOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpJnLAT6QpfjKoxRvURQsznm2mniueMhUNb+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwObVnAfwHSpBzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSZywE+kKX4yqMUb1EULM55UC1L0uZUd5C/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cDm1ZwH8B0qQc6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkmcsBPpCl+MqjFG9RFCzOee7RT8HYSREydQMqYojeUeOjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqmicceLk22ssxBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznlnMzb5Trge5B7DlW6kU6WXoxRvURQsznm1Ia/d67cJM4m4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznkeT4ODLxuFfWn49WbMZ6BGMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55rJGsTJBGFFgew5VupFOll6MUb1EULM55S7YjeVmUbEvVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeYmT0a5rj4Fto3nSIa2gIy6jFG9RFCzOeRufAZWfTEMCibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznn82zt5e4HAGk4tM4g1EWqdoxRvURQsznlYANc8pO4Lr6pcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrVxLr6l8plJaMUb1EULM55L9lhZZp2gszqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkjw2J13BNCCqjFG9RFCzOeQaWoxlh38dtv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNGTVz1VniL/1w6wqi9XR2xoIBA5k/UNEQ/vBwZzo+526oxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznkK6vUiTsGLpdVJhQRNuOvrwzyn4h7L2yJPAww2eilMV6MUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55ZQr8hil0peGJuAww9bUL8D71HA0UFN80aU6Amhfp6vrDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeayRrEyQRhRYHsOVbqRTpZejFG9RFCzOedCZbCGM97xO1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznmJk9Gua4+BbaN50iGtoCMuoxRvURQsznkuwB1cO7aENYm4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55/Ns7eXuBwBpOLTOINRFqnaMUb1EULM559JoNcyo0RsDqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkjw2J13BNCCqjFG9RFCzOee7RT8HYSREyz49Tauuf5uajFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcKdrxCbtXh/22j4qJQjDbPxepf6ov/rA/lhfqxdHGjA1/IXyxFog9htBqF4EZGX8EKg6uAq0OK70Vhqwgg75m1brc7mqpAsxzzF3yr72ErPc1+NUIVJrUpVbkYYrrr6PqajedIhraAjLi2uNoVPUfKY6gleBelkLk+OG5YP5+l3hOXHh3bGmBdw9RMv8XKXejFxx6mYeBUyrIcFgI4Foz8gfKxe9V1L9B/Ty5+21/WF7k7GWqXw68CLNRKc9Ah9fUJBpVHTi48pNIBAUwzi/Fwa4gcSlpUoGBZuNJwF2lk1mZ4FeJA2WEKs5ceHdsaYF3AyBuNs4ADJiHqX+qL/6wP5ca/vdYUpkpKAgGgmKEttoYN/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrEzTlQ5Qt2lKMUb1EULM55La42hU9R8pjqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCknsFjCJ6XM+SjFG9RFCzOee7RT8HYSREyv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNL3scra2r4Lww6wqi9XR2xoIBA5k/UNEQyeBvNEofGHzoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmxbgymmMZKndVJhQRNuOvrwzyn4h7L2yLEx0BPX2xAZaMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55smM4YQblC86JuAww9bUL8D71HA0UFN80AuL04FK3t8DDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeX5lH0ZPxY7wHsOVbqRTpZejFG9RFCzOec/msaZ9lm9p1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznluRhiuuvo+pqN50iGtoCMuoxRvURQsznml8uNZOvSEK4m4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55HVXavkWaGklOLTOINRFqnaMUb1EULM55OOvkG3qoV06qXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkaxM05UOULdpSjFG9RFCzOeUnthSZP0HcE6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpJ7BYwielzPkoxRvURQsznlQLUvS5lR3kL+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zS97HK2tq+C8MOsKovV0dsaCAQOZP1DREPpyfjzpJ9vbqMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55smM4YQblC86JuAww9bUL8D71HA0UFN80tNTbAnZ8jP7VSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeWIOgeEOgPBxo3nSIa2gIy6jFG9RFCzOebbgUIxTTdXmibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeR5Pg4MvG4V9brlfVui1fPrDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKRaHc+YQwPSFqMUb1EULM557tFPwdhJETK/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80O7Rh0bHnhNrDrCqL1dHbGggEDmT9Q0RDJ4G80Sh8YfOjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOedhZqZy1vr4p1UmFBE246+vDPKfiHsvbIsTHQE9fbEBloxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznnTo+TpXCxYNIm4DDD1tQvwPvUcDRQU3zQC4vTgUre3wMOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55shsWpO5w+Qoew5VupFOll6MUb1EULM55z+axpn2Wb2nVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeWIOgeEOgPBxo3nSIa2gIy6jFG9RFCzOeaXy41k69IQribgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznlUv3JaawfaBE4tM4g1EWqdoxRvURQsznk46+QbeqhXTqpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzH1x2SdEt8jXGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRr7zDoMDc3TZKMUb1EULM55Se2FJk/QdwTqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj+HjSqjWj8OCRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmka+8w6DA3N02SjFG9RFCzOee9xBgu9HuJp6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/VI0V74bBT7KJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznnYWamctb6+KdVJhQRNuOvrwzyn4h7L2yKhZE5OmnzgAcOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznnRsQ2ggGAiROrRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeVS/clprB9oETi0ziDURap2jFG9RFCzOeTlRrtObVNAi6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpNS+mljQ9zqhoxRvURQsznmiHq7s00HnLL+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwDzExgTmk/7Z7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55pPer8LsyJFqJuAww9bUL8D71HA0UFN80nlp+ab3UQTrDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeZC/QDj4H2heHsOVbqRTpZejFG9RFCzOebEf1LqiRblb1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznkipQnLPajhBKN50iGtoCMuoxRvURQsznk9jt5R+4c5p4m4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55qYehLd75F5NOLTOINRFqnaMUb1EULM55fCs/fxicjB2qXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkawbU4R7ovH8KjFG9RFCzOeQsOVrOxvkwe6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/mjotQgtGtbuPP5BRFesD0cOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpNS+mljQ9zqhoxRvURQsznnQkqc32F1jwL+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLcWjRD1dUAppo8iTw3wwSbDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKTUvppY0Pc6oaMUb1EULM55/o8yQodUL6G/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cA8xMYE5pP+2ewiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeaT3q/C7MiRaibgMMPW1C/A+9RwNFBTfNNFJmAMsnAhzw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOedGxDaCAYCJE6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55qYehLd75F5NOLTOINRFqnaMUb1EULM55TYlfWxUUPoiqXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkawbU4R7ovH8KjFG9RFCzOeVvvFiNUdWV5v7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNATQWzWwGxg4w6wqi9XR2xoIBA5k/UNEQxuEVQ8D/+wCoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznnoaongKqW7OYm4DDD1tQvwPvUcDRQU3zR1AsgAj3yoWMOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznnRsQ2ggGAiROrRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeS4qLy8kHobWTi0ziDURap2jFG9RFCzOedRPdh+kQwmFqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGoeg9s2oaE5coxRvURQsznn/K4SWkkp15uoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSM67RLNtInlaMUb1EULM55jCllrO/NSFW/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80wVO3cuCsygHDrCqL1dHbGggEDmT9Q0RDMFl3HZ0lihSjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqRbpxqsKWLaq754D3ZuX/oNVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNMFTt3LgrMoBw6wqi9XR2xoIBA5k/UNEQ/vBwZzo+526oxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKponHHi5NtrLMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM5520AV4xwtZokew5VupFOll6MUb1EULM55iu+B5/+aMjzVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM552aFd8jAuwRYYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGoeg9s2oaE5coxRvURQsznknqzo6/6aL/+oJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSM67RLNtInlaMUb1EULM55tpp4rnjIVDW/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80wVO3cuCsygHDrCqL1dHbGggEDmT9Q0RDLXe494ycOu2jFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeZxF3vqoxvuA1UmFBE246+vDPKfiHsvbIqFkTk6afOABw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznnbQBXjHC1miR7DlW6kU6WXoxRvURQsznm1Ia/d67cJM4m4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM557cSZ/yTny6JOLTOINRFqnaMUb1EULM55DqXlXuqTlqKqXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csz01GXELp15D9VJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNOwiXbRXPLhow6wqi9XR2xoIBA5k/UNEQ8+PU2rrn+bmoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKponHHi5NtrLMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM554EoCGmUXpZQew5VupFOll6MUb1EULM55sR/UuqJFuVvVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM552aFd8jAuwRYYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGrnn4EU+kKtpoxRvURQsznkv2WFlmnaCzOoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P1SNFe+GwU+yibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55Yh4OmxXCv3DVSYUETbjr68M8p+Iey9si6EInVYgcK5+jFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80sLmC4f1/egq+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznkSEc+IC71C6aN50iGtoCMuoxRvURQsznlcg+0GZJ3qlom4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM557cSZ/yTny6JOLTOINRFqnaMUb1EULM55Yk98OR0K9PWqXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkauefgRT6Qq2mjFG9RFCzOeSerOjr/pov/6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpMaLrUxvRp5BoxRvURQsznm2mniueMhUNb+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zTsIl20Vzy4aMOsKovV0dsaCAQOZP1DREMtd7j3jJw67aMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55Yh4OmxXCv3DVSYUETbjr68M8p+Iey9sioWROTpp84AHDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeeBKAhplF6WUHsOVbqRTpZejFG9RFCzOebUhr93rtwkzibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznlRV6gTYMW5Tk4tM4g1EWqdoxRvURQsznkOpeVe6pOWoqpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrCc9FbKIwOlaMUb1EULM55vB6T/ViP+ejqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkYoloHHV1w4KjFG9RFCzOeaIWdKKZm24rv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNIeQfP9M4ZSQw6wqi9XR2xoIBA5k/UNEQ8w4TymMddw0oxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznl+MmlacOBs1NVJhQRNuOvrwzyn4h7L2yLoQidViBwrn6MUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55n/pjGiBTJ6+JuAww9bUL8D71HA0UFN80MeMR9lS7Nt7DrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeZez8VVFou7YHsOVbqRTpZejFG9RFCzOeYrvgef/mjI81UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznlfI0zbgXfFGKN50iGtoCMuoxRvURQsznk7MN5UShFPOYm4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55UVeoE2DFuU5OLTOINRFqnaMUb1EULM55d4nKTaJ9woiqXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkawnPRWyiMDpWjFG9RFCzOee9xBgu9HuJp6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpGKJaBx1dcOCoxRvURQsznnu0U/B2EkRMnUDKmKI3lHjoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznl+MmlacOBs1NVJhQRNuOvrwzyn4h7L2yI/pxL09BSkr8OsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55ZzM2+U64HuQew5VupFOll6MUb1EULM55S7YjeVmUbEvVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeTPWHU+8uA+Go3nSIa2gIy6jFG9RFCzOeRufAZWfTEMCibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznnFHDbtC2ZXfU4tM4g1EWqdoxRvURQsznlYANc8pO4Lr6pcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRpjsFr+4cmMOKMUb1EULM55L9lhZZp2gszqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkmcsBPpCl+MqjFG9RFCzOeQaWoxlh38dtv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNK/VWGYCVv8Cw6wqi9XR2xoIBA5k/UNEQ/vBwZzo+526oxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmjl5SRjl3dUdVJhQRNuOvrwzyn4h7L2yJPAww2eilMV6MUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55pVRdfxAOAjSJuAww9bUL8D71HA0UFN80aU6Amhfp6vrDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeWczNvlOuB7kHsOVbqRTpZejFG9RFCzOedCZbCGM97xO1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznkz1h1PvLgPhqN50iGtoCMuoxRvURQsznkuwB1cO7aENYm4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55xRw27QtmV31OLTOINRFqnaMUb1EULM559JoNcyo0RsDqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkmcsBPpCl+MqjFG9RFCzOee7RT8HYSREyz49Tauuf5uajFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcKdrxCbtXh/22j4qJQjDbPxepf6ov/rA/mSmZUMmEuXjfIXyxFog9htBqF4EZGX8EKg6uAq0OK70Vhqwgg75m1brc7mqpAsxzzF3yr72ErPc1+NUIVJrUpVbkYYrrr6PqajedIhraAjLi2uNoVPUfKY6gleBelkLk+OG5YP5+l3hOXHh3bGmBdw9RMv8XKXejG0KCM2uA474ocFgI4Foz8gfKxe9V1L9B/Ty5+21/WF7k7GWqXw68CLNRKc9Ah9fUJBpVHTi48pNIBAUwzi/Fwa4gcSlpUoGBZuNJwF2lk1mZ4FeJA2WEKs5ceHdsaYF3AyBuNs4ADJiHqX+qL/6wP5ca/vdYUpkpKAgGgmKEttoYN/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrEzTlQ5Qt2lKMUb1EULM55La42hU9R8pjqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCknsFjCJ6XM+SjFG9RFCzOee7RT8HYSREyv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNL3scra2r4Lww6wqi9XR2xoIBA5k/UNEQyeBvNEofGHzoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmxbgymmMZKndVJhQRNuOvrwzyn4h7L2yLEx0BPX2xAZaMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55smM4YQblC86JuAww9bUL8D71HA0UFN80AuL04FK3t8DDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeX5lH0ZPxY7wHsOVbqRTpZejFG9RFCzOec/msaZ9lm9p1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznluRhiuuvo+pqN50iGtoCMuoxRvURQsznml8uNZOvSEK4m4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55HVXavkWaGklOLTOINRFqnaMUb1EULM55OOvkG3qoV06qXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkaxM05UOULdpSjFG9RFCzOeUnthSZP0HcE6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpJ7BYwielzPkoxRvURQsznlQLUvS5lR3kL+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zS97HK2tq+C8MOsKovV0dsaCAQOZP1DREPpyfjzpJ9vbqMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55smM4YQblC86JuAww9bUL8D71HA0UFN80tNTbAnZ8jP7VSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeW5GGK66+j6mo3nSIa2gIy6jFG9RFCzOefOJ3uC5cogWqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGvvMOgwNzdNkoxRvURQsznktrjaFT1HymOoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKRaHc+YQwPSFqMUb1EULM557tFPwdhJETK/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cAikSPEJd7HIBiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmka+8w6DA3N02SjFG9RFCzOef8rhJaSSnXm6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/VI0V74bBT7KJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznnYWamctb6+KdVJhQRNuOvrwzyn4h7L2yLEx0BPX2xAZaMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zSwuYLh/X96Cr4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeWIOgeEOgPBxo3nSIa2gIy6jFG9RFCzOeSgrB0qfvcsbibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeR5Pg4MvG4V9brlfVui1fPrDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKRaHc+YQwPSFqMUb1EULM55zVl6OCGEr3W/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cC06+DlS5lu+Y8/kFEV6wPRw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkWh3PmEMD0hajFG9RFCzOedCSpzfYXWPAv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAj5PaOAFfZxHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpFodz5hDA9IWoxRvURQsznn+jzJCh1Qvob+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwOCoNTOl+N9cjz+QURXrA9HDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKRaHc+YQwPSFqMUb1EULM55tpp4rnjIVDW/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cA8xMYE5pP+2ewiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOedOj5OlcLFg0ibgMMPW1C/A+9RwNFBTfNH8/LeNRk7+Yw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOedGxDaCAYCJE6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55VL9yWmsH2gROLTOINRFqnaMUb1EULM559JoNcyo0RsDqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj9UjRXvhsFPsom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOedhZqZy1vr4p1UmFBE246+vDPKfiHsvbIj+nEvT0FKSvw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOecKVOTvMAvVnGpNs0NNc/LOJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznnYWamctb6+KdVJhQRNuOvrwzyn4h7L2yIP6zH0lrx6p8OsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55kL9AOPgfaF4ew5VupFOll6MUb1EULM55S7YjeVmUbEvVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeSKlCcs9qOEEo3nSIa2gIy6jFG9RFCzOeRufAZWfTEMCibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeR5Pg4MvG4V9brlfVui1fPrDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKTUvppY0Pc6oaMUb1EULM55ohZ0opmbbiu/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80BNBbNbAbGDjDrCqL1dHbGggEDmT9Q0RDzDhPKYx13DSjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeW90tgziapEN1UmFBE246+vDPKfiHsvbIuhCJ1WIHCufoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmk96vwuzIkWom4DDD1tQvwPvUcDRQU3zQx4xH2VLs23sOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55kL9AOPgfaF4ew5VupFOll6MUb1EULM55iu+B5/+aMjzVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM552aFd8jAuwRYYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsG1OEe6Lx/CoxRvURQsznknqzo6/6aL/+oJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKTUvppY0Pc6oaMUb1EULM55tpp4rnjIVDW/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80BNBbNbAbGDjDrCqL1dHbGggEDmT9Q0RDLXe494ycOu2jFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeW90tgziapEN1UmFBE246+vDPKfiHsvbIqFkTk6afOABw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmQv0A4+B9oXh7DlW6kU6WXoxRvURQsznm1Ia/d67cJM4m4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznkeT4ODLxuFfW65X1botXz6w6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCk1L6aWND3OqGjFG9RFCzOee7RT8HYSREyJ4G80Sh8YfOjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeZxF3vqoxvuA1UmFBE246+vDPKfiHsvbIvUwAdrnkFuRoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznnoaongKqW7OYm4DDD1tQvwPvUcDRQU3zSeWn5pvdRBOsOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznnRsQ2ggGAiROrRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeS4qLy8kHobWTi0ziDURap2jFG9RFCzOeVgA1zyk7guvqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGoeg9s2oaE5coxRvURQsznkv2WFlmnaCzOoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSM67RLNtInlaMUb1EULM55BpajGWHfx22/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80wVO3cuCsygHDrCqL1dHbGggEDmT9Q0RD+8HBnOj7nbqjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeZxF3vqoxvuA1UmFBE246+vDPKfiHsvbIk8DDDZ6KUxXoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNLC5guH9f3oKvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55PedFDORPB9ejedIhraAjLqMUb1EULM55OzDeVEoRTzmJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeS4qLy8kHobWTi0ziDURap2jFG9RFCzOeXeJyk2ifcKIqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGoeg9s2oaE5coxRvURQsznnvcQYLvR7iaeoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSM67RLNtInlaMUb1EULM557tFPwdhJETJ1AypiiN5R46MUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55nEXe+qjG+4DVSYUETbjr68M8p+Iey9siP6cS9PQUpK/DrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM550bENoIBgIkTq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznkuKi8vJB6G1k4tM4g1EWqdoxRvURQsznm4E0oqKGyT7+oJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKTGi61Mb0aeQaMUb1EULM55oh6u7NNB5yy/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN807CJdtFc8uGjDrCqL1dHbGggEDmT9Q0RDz49Tauuf5uajFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqmicceLk22ssxBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznngSgIaZRellB7DlW6kU6WXoxRvURQsznmxH9S6okW5W9VJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55EhHPiAu9QumjedIhraAjLqMUb1EULM55PY7eUfuHOaeJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOee3Emf8k58uiTi0ziDURap2jFG9RFCzOeXwrP38YnIwdqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGrnn4EU+kKtpoxRvURQsznkLDlazsb5MHuoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKTGi61Mb0aeQaMUb1EULM550JKnN9hdY8C/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cA8xMYE5pP+2ewiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeVXBBczxLOyLibgMMPW1C/A+9RwNFBTfNGlOgJoX6er6w6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznngSgIaZRellB7DlW6kU6WXoxRvURQsznnQmWwhjPe8TtVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55EhHPiAu9QumjedIhraAjLqMUb1EULM55LsAdXDu2hDWJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOee3Emf8k58uiTi0ziDURap2jFG9RFCzOefSaDXMqNEbA6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpMaLrUxvRp5BoxRvURQsznnu0U/B2EkRMs+PU2rrn+bmoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKponHHi5NtrLMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM554EoCGmUXpZQew5VupFOll6MUb1EULM55DEdp7d68JbWJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeVFXqBNgxblOTi0ziDURap2jFG9RFCzOeQ6l5V7qk5aiqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsJz0VsojA6VoxRvURQsznm8HpP9WI/56OoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P1SNFe+GwU+yibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55fjJpWnDgbNTVSYUETbjr68M8p+Iey9siFfxnmIE5hRKjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeZ/6YxogUyevibgMMPW1C/A+9RwNFBTfNC4lZQApT2bPw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmXs/FVRaLu2B7DlW6kU6WXoxRvURQsznlFGYlkLYnP+dVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55XyNM24F3xRijedIhraAjLqMUb1EULM55XIPtBmSd6paJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeVFXqBNgxblOTi0ziDURap2jFG9RFCzOeWJPfDkdCvT1qlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLM9NRlxC6deQ/VSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zSHkHz/TOGUkMOsKovV0dsaCAQOZP1DREPHu+NHJKQKLKMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55fjJpWnDgbNTVSYUETbjr68M8p+Iey9si85eEv0dqp2qjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeZ/6YxogUyevibgMMPW1C/A+9RwNFBTfNH8/LeNRk7+Yw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmXs/FVRaLu2B7DlW6kU6WXoxRvURQsznnCPkjGEvB/EYm4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55UVeoE2DFuU5OLTOINRFqnaMUb1EULM55OVGu05tU0CLqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj9UjRXvhsFPsom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeX4yaVpw4GzU1UmFBE246+vDPKfiHsvbIg/rMfSWvHqnw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznlnMzb5Trge5B7DlW6kU6WXoxRvURQsznlLtiN5WZRsS9VJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55M9YdT7y4D4ajedIhraAjLqMUb1EULM55G58BlZ9MQwKJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55Hk+Dgy8bhX1uuV9W6LV8+sOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpJnLAT6QpfjKoxRvURQsznmiFnSimZtuK7+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zSv1VhmAlb/AsOsKovV0dsaCAQOZP1DREPMOE8pjHXcNKMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55o5eUkY5d3VHVSYUETbjr68M8p+Iey9si6EInVYgcK5+jFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeaVUXX8QDgI0ibgMMPW1C/A+9RwNFBTfNDHjEfZUuzbew6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznlnMzb5Trge5B7DlW6kU6WXoxRvURQsznmK74Hn/5oyPNVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznnZoV3yMC7BFhiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkaY7Ba/uHJjDijFG9RFCzOeSerOjr/pov/6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpJnLAT6QpfjKoxRvURQsznm2mniueMhUNb+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zSv1VhmAlb/AsOsKovV0dsaCAQOZP1DREMtd7j3jJw67aMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55o5eUkY5d3VHVSYUETbjr68M8p+Iey9sioWROTpp84AHDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeWczNvlOuB7kHsOVbqRTpZejFG9RFCzOebUhr93rtwkzibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeR5Pg4MvG4V9brlfVui1fPrDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSZywE+kKX4yqMUb1EULM557tFPwdhJETIngbzRKHxh86MUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55Cur1Ik7Bi6XVSYUETbjr68M8p+Iey9si9TAB2ueQW5GjFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeWUK/IYpdKXhibgMMPW1C/A+9RwNFBTfNJ5afmm91EE6w6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOedGxDaCAYCJE6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55/Ns7eXuBwBpOLTOINRFqnaMUb1EULM55WADXPKTuC6+qXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csz01GXELp15D9VJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNGTVz1VniL/1w6wqi9XR2xoIBA5k/UNEQ8w4TymMddw0oxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKponHHi5NtrLMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55rJGsTJBGFFgew5VupFOll6MUb1EULM55RRmJZC2Jz/nVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM552aFd8jAuwRYYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGtXEuvqXymUloxRvURQsznkLDlazsb5MHuoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P1SNFe+GwU+yibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55Cur1Ik7Bi6XVSYUETbjr68M8p+Iey9siTwMMNnopTFejFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80sLmC4f1/egq+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznmJk9Gua4+BbaN50iGtoCMuoxRvURQsznk7MN5UShFPOYm4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznkeT4ODLxuFfW65X1botXz6w6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkjw2J13BNCCqjFG9RFCzOebaaeK54yFQ1v7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAzFb05V1ZvAsYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGtXEuvqXymUloxRvURQsznnvcQYLvR7iaeoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+P3aeaH0yBg9KGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrVxLr6l8plJaMUb1EULM55W+8WI1R1ZXm/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cA8xMYE5pP+2ewiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOeWUK/IYpdKXhibgMMPW1C/A+9RwNFBTfNLTU2wJ2fIz+1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOedmhXfIwLsEWGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrVxLr6l8plJaMUb1EULM55b/6zxvdlj4u/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN804dGjuZXss5PDrCqL1dHbGggEDmT9Q0RDdQMqYojeUeOjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeaP8X0dM3CHn1UmFBE246+vDPKfiHsvbIsdxf+zPyBwboxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznm7ul8uw0RUqIm4DDD1tQvwPvUcDRQU3zRr1d0bZnguXMOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55TBBjsrJ7y1Uew5VupFOll6MUb1EULM55NOAVqnq1P1/VSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeZokOJJEauLFo3nSIa2gIy6jFG9RFCzOeSgrB0qfvcsbibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznlh6E4jvf9+CE4tM4g1EWqdoxRvURQsznlajy0lFyBOKqpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrMUkOEc5wFf6MUb1EULM55zLSskfEg0anqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCknX/eS3tDyn+jFG9RFCzOef6PMkKHVC+hv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNOHRo7mV7LOTw6wqi9XR2xoIBA5k/UNEQ/ZB9AtM7oD2oxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmj/F9HTNwh59VJhQRNuOvrwzyn4h7L2yLJ7boNlJHNnKMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55u7pfLsNEVKiJuAww9bUL8D71HA0UFN80dbRaQtxRHr7VSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeZokOJJEauLFo3nSIa2gIy6jFG9RFCzOeYBdRZSZ7yXtqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsxSQ4RznAV/oxRvURQsznlv/rPG92WPi7+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zSzJM2/bc7K/cOsKovV0dsaCAQOZP1DREN1AypiiN5R46MUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM5528gErzTeDrDVSYUETbjr68M8p+Iey9six3F/7M/IHBujFG9RFCzOeUOjNnpaZ0KF7CJbvtHh2HaGdh6nZAxSO/fwwmWFREKJm5aDSRzHXQCyY3AdKXZwdz71HA0UFN80Fy7O1dcrNI3VC2nNVC4Xf+wiW77R4dh2pRBx6ldbo9CaixmKBcGPd+20Sr782CZtRuGvd/6sbJJc1ls37/iwKYm4DDD1tQvwX6M1ca0um0HVSYUETbjr6zwEcw+ngBL4MQUEeqRQmdmjFG9RFCzOedS8vUYTgBQpibgMMPW1C/A+9RwNFBTfNGvV3RtmeC5cw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznlQ8eOFRfN2aR7DlW6kU6WXoxRvURQsznk04BWqerU/X9VJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM556dCAMXuoCU+jedIhraAjLqMUb1EULM55KCsHSp+9yxuJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOebpgAqmUGR/HTi0ziDURap2jFG9RFCzOeVqPLSUXIE4qqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGpJ397a/ASALoxRvURQsznnMtKyR8SDRqeoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKRaDAquhmaekqMUb1EULM55/o8yQodUL6G/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80syTNv23Oyv3DrCqL1dHbGggEDmT9Q0RD9kH0C0zugPajFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOedvIBK803g6w1UmFBE246+vDPKfiHsvbIsntug2Ukc2coxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznnUvL1GE4AUKYm4DDD1tQvwPvUcDRQU3zR1tFpC3FEevtVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM556dCAMXuoCU+jedIhraAjLqMUb1EULM55gF1FlJnvJe2qXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkaknf3tr8BIAujFG9RFCzOeW/+s8b3ZY+Lv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAepf6ov/rA/lGPQCES77bFojOWbpagHtcGXXLUD+ey5FD0cAjfcLT1WuO2ee1aptiqdAg0TfV8KcRI4YBb2PYZaR9jMtn5H0+epf6ov/rA/m8CX3uPdxg2f6sREsHM8OBfmUfRk/FjvAew5VupFOllw6l5V7qk5aiqlyi2wHnaMIGdHAtbuIoemyDWBW1l37JzisIEe8xzTwt4QuB8+c1E4cFgI4Foz8gfKxe9V1L9B8aWCOJmXM35k7GWqXw68CLNRKc9Ah9fUJBpVHTi48pNIBAUwzi/Fwa4gcSlpUoGBZuNJwF2lk1mZ4FeJA2WEKs5ceHdsaYF3AyBuNs4ADJiHqX+qL/6wP5ca/vdYUpkpKAgGgmKEttoYN/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrEzTlQ5Qt2lKMUb1EULM55La42hU9R8pjqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCknsFjCJ6XM+SjFG9RFCzOee7RT8HYSREyv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNL3scra2r4Lww6wqi9XR2xoIBA5k/UNEQyeBvNEofGHzoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznmxbgymmMZKndVJhQRNuOvrwzyn4h7L2yLEx0BPX2xAZaMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55smM4YQblC86JuAww9bUL8D71HA0UFN80AuL04FK3t8DDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeX5lH0ZPxY7wHsOVbqRTpZejFG9RFCzOec/msaZ9lm9p1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOeXXiNbIaq7X6QLIg6OC0zwC+BMp+8hRDeyVOtZCKgJvwWPCvONMe0mQlTrWQioCb8Dr2VY3J8fqdM0nJ9+d4lShG4a93/qxskrPpeX08/ETB9/DCZYVEQomnsXiPyukVbRjn4T9ze73qoxRvURQsznluRhiuuvo+pqN50iGtoCMuoxRvURQsznml8uNZOvSEK4m4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznk4VyEdjYUzIGVLNKFmn0SH6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55HVXavkWaGklOLTOINRFqnaMUb1EULM55OOvkG3qoV06qXKLbAedowiVOtZCKgJvwCo2WEFEhnBCjFG9RFCzOeZ5Tc+fgRVFsoxRvURQsznkDl3A2RqKftMOsKovV0dsa0J0pft99csxNWFfUg2yEBRiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkaxM05UOULdpSjFG9RFCzOeUnthSZP0HcE6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/AKCdtTkjdtHOsNtSJIEJpcOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpJ7BYwielzPkoxRvURQsznlQLUvS5lR3kL+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwLB3CYiPMAuof6MHQiUFtIXVSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zS97HK2tq+C8MOsKovV0dsaCAQOZP1DREPpyfjzpJ9vbqMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55smM4YQblC86JuAww9bUL8D71HA0UFN80tNTbAnZ8jP7VSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeW5GGK66+j6mo3nSIa2gIy6jFG9RFCzOefOJ3uC5cogWqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGvvMOgwNzdNkoxRvURQsznktrjaFT1HymOoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKRaHc+YQwPSFqMUb1EULM557tFPwdhJETK/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cBenER69ep33TgDEL40I0kWw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkWh3PmEMD0hajFG9RFCzOeaIWdKKZm24rv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAPMTGBOaT/tnsIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznnTo+TpXCxYNIm4DDD1tQvwPvUcDRQU3zQuJWUAKU9mz8OsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznnRsQ2ggGAiROrRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeVS/clprB9oETi0ziDURap2jFG9RFCzOeXwrP38YnIwdqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLM9NRlxC6deQ/VSYUETbjr64V2u4KxkIvqSbiHeVmT1LAL9Q6K7TzsQIm4DDD1tQvwm/jb3MNV3ADDrCqL1dHbGoZzn32ZWv4/oxRvURQsznm5cGMxWq9oaYm4DDD1tQvwPvUcDRQU3zQ7tGHRseeE2sOsKovV0dsaCAQOZP1DREP7wcGc6PuduqMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSqaJxx4uTbayzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOebIbFqTucPkKHsOVbqRTpZejFG9RFCzOeYrvgef/mjI81UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOedmhXfIwLsEWGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRr7zDoMDc3TZKMUb1EULM55J6s6Ov+mi//qCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkWh3PmEMD0hajFG9RFCzOebaaeK54yFQ1v7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNDu0YdGx54Taw6wqi9XR2xoIBA5k/UNEQy13uPeMnDrtoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznnYWamctb6+KdVJhQRNuOvrwzyn4h7L2yKhZE5OmnzgAcOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55shsWpO5w+Qoew5VupFOll6MUb1EULM55tSGv3eu3CTOJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55Hk+Dgy8bhX1uuV9W6LV8+sOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpFodz5hDA9IWoxRvURQsznnu0U/B2EkRMieBvNEofGHzoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznlvdLYM4mqRDdVJhQRNuOvrwzyn4h7L2yL1MAHa55BbkaMUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zQXLs7V1ys0jdULac1ULhd/7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55pPer8LsyJFqJuAww9bUL8D71HA0UFN80nlp+ab3UQTrDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM550bENoIBgIkTq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznmph6Et3vkXk04tM4g1EWqdoxRvURQsznlYANc8pO4Lr6pcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrBtThHui8fwqMUb1EULM55L9lhZZp2gszqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCk1L6aWND3OqGjFG9RFCzOeQaWoxlh38dtv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNATQWzWwGxg4w6wqi9XR2xoIBA5k/UNEQ/vBwZzo+526oxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKi2ggWlTEuOrhdKuZzD+zzqJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznlvdLYM4mqRDdVJhQRNuOvrwzyn4h7L2yJPAww2eilMV6MUb1EULM55Q6M2elpnQoXsIlu+0eHYdoZ2HqdkDFI79/DCZYVEQombloNJHMddALJjcB0pdnB3PvUcDRQU3zSwuYLh/X96Cr4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeSKlCcs9qOEEo3nSIa2gIy6jFG9RFCzOeTsw3lRKEU85ibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznmph6Et3vkXk04tM4g1EWqdoxRvURQsznl3icpNon3CiKpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrBtThHui8fwqMUb1EULM5573EGC70e4mnqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCk1L6aWND3OqGjFG9RFCzOee7RT8HYSREydQMqYojeUeOjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeW90tgziapEN1UmFBE246+vDPKfiHsvbIj+nEvT0FKSvw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOedGxDaCAYCJE6tGgflsr6Yo+9RwNFBTfNE/253w6WpYjg3/wQiw5blIuMenVIuha9ivovZTWdBUqoChJFvNe9lIhJv/typ0KLFQFD2cfKJ30PvUcDRQU3zQKjZYQUSGcEKMUb1EULM55qYehLd75F5NOLTOINRFqnaMUb1EULM55uBNKKihsk+/qCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkjOu0SzbSJ5WjFG9RFCzOeaIeruzTQecsv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNMFTt3LgrMoBw6wqi9XR2xoIBA5k/UNEQ8+PU2rrn+bmoxRvURQsznntiwI0G/PAvIm4DDD1tQvwjD5mSkd4XviJuAww9bUL8B6CgyUH0/U0SbiHeVmT1LAr6L2U1nQVKponHHi5NtrLMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM5520AV4xwtZokew5VupFOll6MUb1EULM55sR/UuqJFuVvVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeT3nRQzkTwfXo3nSIa2gIy6jFG9RFCzOeT2O3lH7hzmnibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznkuKi8vJB6G1k4tM4g1EWqdoxRvURQsznl8Kz9/GJyMHapcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRqHoPbNqGhOXKMUb1EULM55Cw5Ws7G+TB7qCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj8AoJ21OSN20c6w21IkgQmlw6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkjOu0SzbSJ5WjFG9RFCzOedCSpzfYXWPAv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAPMTGBOaT/tnsIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznnoaongKqW7OYm4DDD1tQvwPvUcDRQU3zRpToCaF+nq+sOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM5520AV4xwtZokew5VupFOll6MUb1EULM550JlsIYz3vE7VSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeT3nRQzkTwfXo3nSIa2gIy6jFG9RFCzOeS7AHVw7toQ1ibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznkuKi8vJB6G1k4tM4g1EWqdoxRvURQsznn0mg1zKjRGwOoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSM67RLNtInlaMUb1EULM557tFPwdhJETLPj1Nq65/m5qMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSqaJxx4uTbayzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOedtAFeMcLWaJHsOVbqRTpZejFG9RFCzOeQxHae3evCW1ibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznntxJn/JOfLok4tM4g1EWqdoxRvURQsznkOpeVe6pOWoqpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzE1YV9SDbIQFGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRq55+BFPpCraaMUb1EULM55vB6T/ViP+ejqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj9UjRXvhsFPsom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeWIeDpsVwr9w1UmFBE246+vDPKfiHsvbIhX8Z5iBOYUSoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznlVwQXM8Szsi4m4DDD1tQvwPvUcDRQU3zQuJWUAKU9mz8OsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM554EoCGmUXpZQew5VupFOll6MUb1EULM55RRmJZC2Jz/nVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeRIRz4gLvULpo3nSIa2gIy6jFG9RFCzOeVyD7QZkneqWibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznntxJn/JOfLok4tM4g1EWqdoxRvURQsznliT3w5HQr09apcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzPTUZcQunXkP1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN807CJdtFc8uGjDrCqL1dHbGggEDmT9Q0RDx7vjRySkCiyjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeWIeDpsVwr9w1UmFBE246+vDPKfiHsvbIvOXhL9HaqdqoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznlVwQXM8Szsi4m4DDD1tQvwPvUcDRQU3zR/Py3jUZO/mMOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM554EoCGmUXpZQew5VupFOll6MUb1EULM55wj5IxhLwfxGJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOee3Emf8k58uiTi0ziDURap2jFG9RFCzOeTlRrtObVNAi6gleBelkLk8+9RwNFBTfNHLdEzoMKlrgw6wqi9XR2xr1voFRFE4A0sOsKovV0dsaKIEiUNJ8AA/VSYUETbjr6+2HB5WSIz4/VI0V74bBT7KJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznliHg6bFcK/cNVJhQRNuOvrwzyn4h7L2yIP6zH0lrx6p8OsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55l7PxVUWi7tgew5VupFOll6MUb1EULM55S7YjeVmUbEvVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeV8jTNuBd8UYo3nSIa2gIy6jFG9RFCzOeRufAZWfTEMCibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeR5Pg4MvG4V9brlfVui1fPrDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKRiiWgcdXXDgqMUb1EULM55ohZ0opmbbiu/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80h5B8/0zhlJDDrCqL1dHbGggEDmT9Q0RDzDhPKYx13DSjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeX4yaVpw4GzU1UmFBE246+vDPKfiHsvbIuhCJ1WIHCufoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmf+mMaIFMnr4m4DDD1tQvwPvUcDRQU3zQx4xH2VLs23sOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55l7PxVUWi7tgew5VupFOll6MUb1EULM55iu+B5/+aMjzVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM552aFd8jAuwRYYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsJz0VsojA6VoxRvURQsznknqzo6/6aL/+oJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKRiiWgcdXXDgqMUb1EULM55tpp4rnjIVDW/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80h5B8/0zhlJDDrCqL1dHbGggEDmT9Q0RDLXe494ycOu2jFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeX4yaVpw4GzU1UmFBE246+vDPKfiHsvbIqFkTk6afOABw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOecKVOTvMAvVnGpNs0NNc/LOJuAww9bUL8N1pFYUbXTNLsmNwHSl2cHcp4wholh6RauAyb1FNd73C9WD0tE6xS+DVSYUETbjr617M1IpdCFYyw6wqi9XR2xp4A8JrQqbG5uwiW77R4dh2oxRvURQsznl+MmlacOBs1NVJhQRNuOvrwzyn4h7L2yI/pxL09BSkr8OsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznkOiLVtI8tELpakQgc08igU7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55n/pjGiBTJ6+JuAww9bUL8D71HA0UFN80c8u/9Qa0RjfVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeTPWHU+8uA+Go3nSIa2gIy6jFG9RFCzOebbgUIxTTdXmibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznnFHDbtC2ZXfU4tM4g1EWqdoxRvURQsznnUT3YfpEMJhapcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzPTUZcQunXkP1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80r9VYZgJW/wLDrCqL1dHbGggEDmT9Q0RDJ4G80Sh8YfOjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeaOXlJGOXd1R1UmFBE246+vDPKfiHsvbIsTHQE9fbEBloxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmlVF1/EA4CNIm4DDD1tQvwPvUcDRQU3zQC4vTgUre3wMOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55ZzM2+U64HuQew5VupFOll6MUb1EULM55z+axpn2Wb2nVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeTPWHU+8uA+Go3nSIa2gIy6jFG9RFCzOeaXy41k69IQribgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeR5Pg4MvG4V9brlfVui1fPrDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSZywE+kKX4yqMUb1EULM55/o8yQodUL6G/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80r9VYZgJW/wLDrCqL1dHbGggEDmT9Q0RD9kH0C0zugPajFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeaOXlJGOXd1R1UmFBE246+vDPKfiHsvbIsntug2Ukc2coxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznmlVF1/EA4CNIm4DDD1tQvwPvUcDRQU3zR1tFpC3FEevtVJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznnZoV3yMC7BFhiATvxb5tTjoxRvURQsznkFIMu9owaUG9VJhQRNuOvr6uIEewPgK6eDf/BCLDluUjr2VY3J8fqdPvUcDRQU3zTAKO2ExGiy+qMUb1EULM55EKdhjgjD1s7DrCqL1dHbGvUqnXuDHmkaY7Ba/uHJjDijFG9RFCzOecQKDVKA33Djv7+JZfzHkJqjFG9RFCzOeZirUCwqnLJJ1UmFBE246+tKBSjnH9vxUtVJhQRNuOvrWDA9gDHkUNmJuAww9bUL8Nl9e4u09/HAsHcJiI8wC6h/owdCJQW0hdVJhQRNuOvrhXa7grGQi+pJuId5WZPUsAv1DortPOxAibgMMPW1C/Cb+Nvcw1XcAMOsKovV0dsahnOffZla/j+jFG9RFCzOeblwYzFar2hpibgMMPW1C/A+9RwNFBTfNK/VWGYCVv8Cw6wqi9XR2xoIBA5k/UNEQzCvz/HJYuRRoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznllCvyGKXSl4Ym4DDD1tQvwPvUcDRQU3zR1AsgAj3yoWMOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55rJGsTJBGFFgew5VupFOll6MUb1EULM55yUIzLnaAU8nVSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM552aFd8jAuwRYeam3W2QhhHzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lJ3OhtKwC4NmOAyb1FNd73Ckietm1XcFJGJuAww9bUL8ALmw/fBoERWvgTKfvIUQ3ujFG9RFCzOeayRrEyQRhRYHsOVbqRTpZejFG9RFCzOebEf1LqiRblb1UmFBE246+vEpueNS5Oq7L4Eyn7yFEN7JU61kIqAm/DAKO2ExGiy+gNSqvOk263kVw6wd6tIAbyjFG9RFCzOedmhXfIwLsEWGIBO/Fvm1OOjFG9RFCzOeQUgy72jBpQb1UmFBE246+vq4gR7A+Arp4N/8EIsOW5SOvZVjcnx+p0+9RwNFBTfNMAo7YTEaLL6oxRvURQsznkQp2GOCMPWzsOsKovV0dsa9Sqde4MeaRrVxLr6l8plJaMUb1EULM55L9lhZZp2gszqCV4F6WQuTz71HA0UFN80ct0TOgwqWuDDrCqL1dHbGvW+gVEUTgDSw6wqi9XR2xoogSJQ0nwAD9VJhQRNuOvr7YcHlZIjPj9UjRXvhsFPsom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeQrq9SJOwYul1UmFBE246+vDPKfiHsvbIuhCJ1WIHCufoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNLC5guH9f3oKvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55iZPRrmuPgW2jedIhraAjLqMUb1EULM55XIPtBmSd6paJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55Hk+Dgy8bhX1uuV9W6LV8+sOsKovV0dsaW1OfYtcOO1mJuAww9bUL8GsEtauUQ5qY1UmFBE246+vQQk4qCOtZr6MUb1EULM559KlUmrQMj9OjFG9RFCzOeeUYXFIsqnzG1UmFBE246+ub8760M8MgpI8NiddwTQgqoxRvURQsznnQkqc32F1jwL+/iWX8x5CaoxRvURQsznmYq1AsKpyySdVJhQRNuOvrSgUo5x/b8VLVSYUETbjr61gwPYAx5FDZibgMMPW1C/DZfXuLtPfxwDzExgTmk/7Z7CJbvtHh2HalEHHqV1uj0JqLGYoFwY937bRKvvzYJm1G4a93/qxsklzWWzfv+LApibgMMPW1C/BfozVxrS6bQdVJhQRNuOvrPARzD6eAEvgxBQR6pFCZ2aMUb1EULM55ZQr8hil0peGJuAww9bUL8D71HA0UFN80aU6Amhfp6vrDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM550bENoIBgIkTq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznn82zt5e4HAGk4tM4g1EWqdoxRvURQsznl3icpNon3CiKpcotsB52jCJU61kIqAm/AKjZYQUSGcEKMUb1EULM55nlNz5+BFUWyjFG9RFCzOeQOXcDZGop+0w6wqi9XR2xrQnSl+331yzPTUZcQunXkP1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN80ZNXPVWeIv/XDrCqL1dHbGggEDmT9Q0RDLXe494ycOu2jFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqmicceLk22ssxBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznmskaxMkEYUWB7DlW6kU6WXoxRvURQsznnCPkjGEvB/EYm4DDD1tQvw0GvCz5XMAY4Y5+E/c3u96j71HA0UFN80OTe4UtgqG2s+9RwNFBTfNFjwrzjTHtJkoxRvURQsznkeT4ODLxuFfW65X1botXz6w6wqi9XR2xpbU59i1w47WYm4DDD1tQvwawS1q5RDmpjVSYUETbjr69BCTioI61mvoxRvURQsznn0qVSatAyP06MUb1EULM555RhcUiyqfMbVSYUETbjr65vzvrQzwyCkjw2J13BNCCqjFG9RFCzOee7RT8HYSREyz49Tauuf5uajFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeQrq9SJOwYul1UmFBE246+vDPKfiHsvbIg/rMfSWvHqnw6wqi9XR2xpxbvMLk4rYQjEFBHqkUJnZWxqOuo9d+JRUBQ9nHyid9A+HRW3wwH70mosZigXBj3ejFG9RFCzOeeziLIxzrHJ77p+qrPI+hY8xBQR6pFCZ2XYDS8P0AzmoVw6wd6tIAbxWA3Jlw6z+7aAoSRbzXvZSdzobSsAuDZjgMm9RTXe9wpInrZtV3BSRibgMMPW1C/AC5sP3waBEVr4Eyn7yFEN7oxRvURQsznlMEGOysnvLVR7DlW6kU6WXoxRvURQsznlLtiN5WZRsS9VJhQRNuOvrxKbnjUuTquy+BMp+8hRDeyVOtZCKgJvwwCjthMRosvoDUqrzpNut5FcOsHerSAG8oxRvURQsznl14jWyGqu1+kCyIOjgtM8AvgTKfvIUQ3slTrWQioCb8FjwrzjTHtJkJU61kIqAm/A69lWNyfH6nTNJyffneJUoRuGvd/6sbJKz6Xl9PPxEwffwwmWFREKJp7F4j8rpFW0Y5+E/c3u96qMUb1EULM55miQ4kkRq4sWjedIhraAjLqMUb1EULM55G58BlZ9MQwKJuAww9bUL8NBrws+VzAGOGOfhP3N7veo+9RwNFBTfNDk3uFLYKhtrPvUcDRQU3zRY8K840x7SZKMUb1EULM55OFchHY2FMyBlSzShZp9Eh+rRoH5bK+mKPvUcDRQU3zRP9ud8OlqWI4N/8EIsOW5SLjHp1SLoWvYr6L2U1nQVKqAoSRbzXvZSISb/7cqdCixUBQ9nHyid9D71HA0UFN80Co2WEFEhnBCjFG9RFCzOeWHoTiO9/34ITi0ziDURap2jFG9RFCzOeVgA1zyk7guvqlyi2wHnaMIlTrWQioCb8AqNlhBRIZwQoxRvURQsznmeU3Pn4EVRbKMUb1EULM55A5dwNkain7TDrCqL1dHbGtCdKX7ffXLMTVhX1INshAUYgE78W+bU46MUb1EULM55BSDLvaMGlBvVSYUETbjr6+riBHsD4Cung3/wQiw5blI69lWNyfH6nT71HA0UFN80wCjthMRosvqjFG9RFCzOeRCnYY4Iw9bOw6wqi9XR2xr1Kp17gx5pGsxSQ4RznAV/oxRvURQsznkv2WFlmnaCzOoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSdf95Le0PKf6MUb1EULM55BpajGWHfx22/v4ll/MeQmqMUb1EULM55mKtQLCqcsknVSYUETbjr60oFKOcf2/FS1UmFBE246+tYMD2AMeRQ2Ym4DDD1tQvw2X17i7T38cCwdwmIjzALqH+jB0IlBbSF1UmFBE246+uFdruCsZCL6km4h3lZk9SwC/UOiu087ECJuAww9bUL8Jv429zDVdwAw6wqi9XR2xqGc599mVr+P6MUb1EULM55uXBjMVqvaGmJuAww9bUL8D71HA0UFN804dGjuZXss5PDrCqL1dHbGggEDmT9Q0RD+8HBnOj7nbqjFG9RFCzOee2LAjQb88C8ibgMMPW1C/CMPmZKR3he+Im4DDD1tQvwHoKDJQfT9TRJuId5WZPUsCvovZTWdBUqLaCBaVMS46uF0q5nMP7POom4DDD1tQvw3WkVhRtdM0uyY3AdKXZwdynjCGiWHpFq4DJvUU13vcL1YPS0TrFL4NVJhQRNuOvrXszUil0IVjLDrCqL1dHbGngDwmtCpsbm7CJbvtHh2HajFG9RFCzOeaP8X0dM3CHn1UmFBE246+vDPKfiHsvbIk8DDDZ6KUxXoxRvURQsznlDozZ6WmdChewiW77R4dh2hnYep2QMUjv38MJlhURCiZuWg0kcx10AsmNwHSl2cHc+9RwNFBTfNBcuztXXKzSN1QtpzVQuF3/sIlu+0eHYdqUQcepXW6PQmosZigXBj3fttEq+/NgmbUbhr3f+rGySXNZbN+/4sCmJuAww9bUL8F+jNXGtLptB1UmFBE246+s8BHMPp4AS+DEFBHqkUJnZoxRvURQsznm7ul8uw0RUqIm4DDD1tQvwPvUcDRQU3zRpToCaF+nq+sOsKovV0dsacW7zC5OK2EIxBQR6pFCZ2VsajrqPXfiUVAUPZx8onfQPh0Vt8MB+9JqLGYoFwY93oxRvURQsznns4iyMc6xye+6fqqzyPoWPMQUEeqRQmdl2A0vD9AM5qFcOsHerSAG8VgNyZcOs/u2gKEkW8172Unc6G0rALg2Y4DJvUU13vcKSJ62bVdwUkYm4DDD1tQvwAubD98GgRFa+BMp+8hRDe6MUb1EULM55TBBjsrJ7y1Uew5VupFOll6MUb1EULM550JlsIYz3vE7VSYUETbjr68Sm541Lk6rsvgTKfvIUQ3slTrWQioCb8MAo7YTEaLL6A1Kq86TbreRXDrB3q0gBvKMUb1EULM55deI1shqrtfpAsiDo4LTPAL4Eyn7yFEN7JU61kIqAm/BY8K840x7SZCVOtZCKgJvwOvZVjcnx+p0zScn353iVKEbhr3f+rGySs+l5fTz8RMH38MJlhURCiaexeI/K6RVtGOfhP3N7veqjFG9RFCzOeZokOJJEauLFo3nSIa2gIy6jFG9RFCzOeS7AHVw7toQ1ibgMMPW1C/DQa8LPlcwBjhjn4T9ze73qPvUcDRQU3zQ5N7hS2Cobaz71HA0UFN80WPCvONMe0mSjFG9RFCzOeThXIR2NhTMgZUs0oWafRIfq0aB+Wyvpij71HA0UFN80T/bnfDpaliODf/BCLDluUi4x6dUi6Fr2K+i9lNZ0FSqgKEkW8172UiEm/+3KnQosVAUPZx8onfQ+9RwNFBTfNAqNlhBRIZwQoxRvURQsznlh6E4jvf9+CE4tM4g1EWqdoxRvURQsznn0mg1zKjRGwOoJXgXpZC5PPvUcDRQU3zRy3RM6DCpa4MOsKovV0dsa9b6BURROANLDrCqL1dHbGiiBIlDSfAAP1UmFBE246+vthweVkiM+PwCgnbU5I3bRzrDbUiSBCaXDrCqL1dHbGltTn2LXDjtZibgMMPW1C/BrBLWrlEOamNVJhQRNuOvr0EJOKgjrWa+jFG9RFCzOefSpVJq0DI/ToxRvURQsznnlGFxSLKp8xtVJhQRNuOvrm/O+tDPDIKSdf95Le0PKf6MUb1EULM557tFPwdhJETLPj1Nq65/m5qMUb1EULM557YsCNBvzwLyJuAww9bUL8Iw+ZkpHeF74ibgMMPW1C/AegoMlB9P1NEm4h3lZk9SwK+i9lNZ0FSotoIFpUxLjq4XSrmcw/s86ibgMMPW1C/DdaRWFG10zS7JjcB0pdnB3KeMIaJYekWrgMm9RTXe9wvVg9LROsUvg1UmFBE246+tezNSKXQhWMsOsKovV0dsaeAPCa0KmxubsIlu+0eHYdqMUb1EULM55o/xfR0zcIefVSYUETbjr68M8p+Iey9siD+sx9Ja8eqfDrCqL1dHbGnFu8wuTithCMQUEeqRQmdlbGo66j134lFQFD2cfKJ30D4dFbfDAfvSaixmKBcGPd6MUb1EULM557OIsjHOscnvun6qs8j6FjzEFBHqkUJnZdgNLw/QDOahXDrB3q0gBvFYDcmXDrP7toChJFvNe9lLNICke+pG0x8ZS0gTYfSuMpUOyU+QMJStTatDxx+nApwPrArgT0Y9c1VC8koClLG4U0ckE7E/R9bmvehWMlna99jChDk9EaldUzir9lAH60uXHh3bGmBdw9Sqde4MeaRrEzTlQ5Qt2lAgEDmT9Q0RDdQMqYojeUeNPIHP5PdLGYQ+Ssm2tzAfhsSTR1asNvknt3DKA8NK/gxG7eUj0w62AdabV+RmPhYwCQM/2PqRKBKEuIi1e6JfFeeMGhL0zrY8siVhijwP59KTLiRScwIyZFX4sDBn6bFSVnZLPdAhyaGf8l6uE1HhsD5Kyba3MB+GJf1UiOPfTvzNZ1SwfV8iBuQcthamnoAg= \ No newline at end of file diff --git a/lib/trainwindow-SiegesInQueue-bundle.imglocdat b/lib/trainwindow-SiegesInQueue-bundle.imglocdat index 734649b2d..fbda601a7 100644 --- a/lib/trainwindow-SiegesInQueue-bundle.imglocdat +++ b/lib/trainwindow-SiegesInQueue-bundle.imglocdat @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/lib/trainwindow-SpellsInQueue-bundle.imglocdat b/lib/trainwindow-SpellsInQueue-bundle.imglocdat index e770f5b1c..576e8ef3b 100644 --- a/lib/trainwindow-SpellsInQueue-bundle.imglocdat +++ b/lib/trainwindow-SpellsInQueue-bundle.imglocdat @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/lib/trainwindow-TrainTroops-bundle.imglocdat b/lib/trainwindow-TrainTroops-bundle.imglocdat index 5d8c0ec7a..289915323 100644 --- a/lib/trainwindow-TrainTroops-bundle.imglocdat +++ b/lib/trainwindow-TrainTroops-bundle.imglocdat @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file