Skip to content
This repository has been archived by the owner on Jul 30, 2020. It is now read-only.

Error with leveling pokemon #243

Closed
wilsondgonzales opened this issue Sep 21, 2016 · 14 comments
Closed

Error with leveling pokemon #243

wilsondgonzales opened this issue Sep 21, 2016 · 14 comments
Assignees
Labels

Comments

@wilsondgonzales
Copy link

wilsondgonzales commented Sep 21, 2016

[01:56:24] (PKMN) Dragonite     - CP: 2730  IV: 94.11%   [Best CP: 2950  IV: 100.00%]
[01:56:29] (PKMN) Dragonite     - CP: 2779  IV: 94.11%   [Best CP: 2950  IV: 100.00%]
[01:56:34] (ERROR) Pokemon Servers might be offline / unstable. Trying again...
[01:56:35] (ERROR) Error: System.NullReferenceException: Object reference not set to an instance of an object.
   at PoGo.NecroBot.Logic.Inventory.<>c__DisplayClass23_0.<GetHighestPokemonOfTypeByIv>b__0(PokemonData x) in C:\projects\necrobot2\PoGo.NecroBot.Logic\Inventory.cs:line 270
   at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__1.MoveNext()
   at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
   at PoGo.NecroBot.Logic.Inventory.<GetHighestPokemonOfTypeByIv>d__23.MoveNext() in C:\projects\necrobot2\PoGo.NecroBot.Logic\Inventory.cs:line 270
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at PoGo.NecroBot.Logic.Tasks.LevelUpPokemonTask.<UpgradeSinglePokemon>d__2.MoveNext() in C:\projects\necrobot2\PoGo.NecroBot.Logic\Tasks\LevelUpPokemonTask.cs:line 35
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at PoGo.NecroBot.Logic.Tasks.LevelUpPokemonTask.<Execute>d__3.MoveNext() in C:\projects\necrobot2\PoGo.NecroBot.Logic\Tasks\LevelUpPokemonTask.cs:line 86
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at PoGo.NecroBot.Logic.Tasks.HumanRandomActionTask.<Execute>d__1.MoveNext() in C:\projects\necrobot2\PoGo.NecroBot.Logic\Tasks\HumanRandomActionTask.cs:line 67
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at PoGo.NecroBot.Logic.State.FarmState.<Execute>d__0.MoveNext() in C:\projects\necrobot2\PoGo.NecroBot.Logic\State\FarmState.cs:line 19
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at PoGo.NecroBot.Logic.State.StateMachine.<Start>d__3.MoveNext() in C:\projects\necrobot2\PoGo.NecroBot.Logic\State\StateMachine.cs:line 63

### Expected Behavior:

Program doesn't crash

### Actual Behavior:

Crashes and relogs

### Your config.json:

{
  "ConsoleConfig": {
    "TranslationLanguageCode": "en",
    "StartupWelcomeDelay": true,
    "AmountOfPokemonToDisplayOnStart": 20,
    "DetailedCountsBeforeRecycling": true
  },
  "UpdateConfig": {
    "CheckForUpdates": true,
    "AutoUpdate": false,
    "TransferConfigAndAuthOnUpdate": true
  },
  "WebsocketsConfig": {
    "UseWebsocket": true,
    "WebSocketPort": 14251
  },
  "LocationConfig": {
    "DisableHumanWalking": false,
    "StartFromLastPosition": true,
    "DefaultLatitude": 49.289386,
    "DefaultLongitude": -123.110398,
    "WalkingSpeedInKilometerPerHour": 3.7,
    "UseWalkingSpeedVariant": true,
    "WalkingSpeedVariant": 1.5,
    "ShowVariantWalking": false,
    "RandomlyPauseAtStops": true,
    "MaxSpawnLocationOffset": 10,
    "MaxTravelDistanceInMeters": 500
  },
  "TelegramConfig": {
    "UseTelegramAPI": false,
    "TelegramAPIKey": null,
    "TelegramPassword": null
  },
  "GPXConfig": {
    "UseGpxPathing": false,
    "GpxFile": "GPXPath.GPX"
  },
  "SnipeConfig": {
    "UseSnipeLocationServer": false,
    "SnipeLocationServer": "localhost",
    "SnipeLocationServerPort": 16969,
    "GetSniperInfoFromPokezz": false,
    "GetOnlyVerifiedSniperInfoFromPokezz": true,
    "GetSniperInfoFromPokeSnipers": true,
    "GetSniperInfoFromPokeWatchers": true,
    "GetSniperInfoFromSkiplagged": true,
    "MinPokeballsToSnipe": 20,
    "MinPokeballsWhileSnipe": 0,
    "MinDelayBetweenSnipes": 60000,
    "SnipingScanOffset": 0.005,
    "SnipeAtPokestops": false,
    "ActivateMSniper": false,
    "SnipeIgnoreUnknownIv": false,
    "UseTransferIvForSnipe": false,
    "SnipePokemonNotInPokedex": false,
    "UseSnipeLimit": true,
    "SnipeRestSeconds": 600,
    "SnipeCountLimit": 39
  },
  "HumanWalkSnipeConfig": {
    "Enable": true,
    "DisplayPokemonList": true,
    "MaxDistance": 1800.0,
    "MaxEstimateTime": 900.0,
    "CatchEmAllMinBalls": 20,
    "TryCatchEmAll": true,
    "CatchPokemonWhileWalking": true,
    "SpinWhileWalking": true,
    "AlwaysWalkback": true,
    "SnipingScanOffset": 0.025,
    "WalkbackDistanceLimit": 9000.0,
    "IncludeDefaultLocation": true,
    "UseSnipePokemonList": true,
    "MaxSpeedUpSpeed": 10.0,
    "AllowSpeedUp": true,
    "DelayTimeAtDestination": 10000,
    "UsePokeRadar": true,
    "UseSkiplagged": false,
    "UsePokecrew": true,
    "UsePokesnipers": true,
    "UsePokeZZ": true,
    "UsePokeWatcher": true,
    "UseFastPokemap": true,
    "UsePogoLocationFeeder": false
  },
  "DataSharingConfig": {
    "EnableSyncData": true,
    "DataRecieverURL": "ws://necrosocket.herokuapp.com/socket.io/?EIO=3&transport=websocket"
  },
  "PokeStopConfig": {
    "UsePokeStopLimit": true,
    "PokeStopLimit": 1798,
    "PokeStopLimitMinutes": 1470
  },
  "GymConfig": {
    "Enable": true,
    "MaxDistance": 1500.0,
    "DefaultTeam": "Blue",
    "MaxCPToDeploy": 3000,
    "MaxLevelToDeploy": 30,
    "VisitTimeout": 60,
    "UseRandomPokemon": false,
    "NumberOfTopPokemonToBeExcluded": 10
  },
  "PokemonConfig": {
    "CatchPokemon": true,
    "DelayBetweenPokemonCatch": 5000,
    "UseCatchLimit": true,
    "CatchPokemonLimit": 928,
    "CatchPokemonLimitMinutes": 1470,
    "UseIncenseConstantly": true,
    "UseEggIncubators": true,
    "UseLimitedEggIncubators": true,
    "UseLuckyEggConstantly": false,
    "UseLuckyEggsMinPokemonAmount": 70,
    "UseLuckyEggsWhileEvolving": true,
    "UseBerriesMinCp": 2000,
    "UseBerriesMinIv": 95.0,
    "UseBerriesBelowCatchProbability": 0.2,
    "UseBerriesOperator": "or",
    "MaxBerriesToUsePerPokemon": 10,
    "TransferWeakPokemon": false,
    "TransferDuplicatePokemon": true,
    "TransferDuplicatePokemonOnCapture": true,
    "RenamePokemon": false,
    "RenameOnlyAboveIv": false,
    "RenameTemplate": "{0}",
    "FavoriteMinIvPercentage": 100.0,
    "AutoFavoritePokemon": true,
    "MaxPokeballsPerPokemon": 10,
    "UseGreatBallAboveCp": 2100,
    "UseUltraBallAboveCp": 2600,
    "UseMasterBallAboveCp": 3000,
    "UseGreatBallAboveIv": 95.0,
    "UseUltraBallAboveIv": 98.0,
    "UseGreatBallBelowCatchProbability": 0.1,
    "UseUltraBallBelowCatchProbability": 0.1,
    "UseMasterBallBelowCatchProbability": 0.03,
    "AutomaticallyLevelUpPokemon": true,
    "OnlyUpgradeFavorites": false,
    "UseLevelUpList": true,
    "AmountOfTimesToUpgradeLoop": 50,
    "GetMinStarDustForLevelUp": 5000,
    "LevelUpByCPorIv": "iv",
    "UpgradePokemonCpMinimum": 1000.0,
    "UpgradePokemonIvMinimum": 100.0,
    "UpgradePokemonMinimumStatsOperator": "and",
    "EvolveAboveIvValue": 95.0,
    "EvolveAllPokemonAboveIv": false,
    "EvolveAllPokemonWithEnoughCandy": true,
    "EvolveKeptPokemonsAtStorageUsagePercentage": 70.0,
    "KeepPokemonsThatCanEvolve": true,
    "KeepMinCp": 2400,
    "KeepMinIvPercentage": 98.0,
    "KeepMinLvl": 6,
    "KeepMinOperator": "or",
    "UseKeepMinLvl": false,
    "PrioritizeIvOverCp": true,
    "KeepMinDuplicatePokemon": 1,
    "UsePokemonToNotCatchFilter": true,
    "UsePokemonSniperFilterOnly": false,
    "DumpPokemonStats": false,
    "DelayBetweenPokemonUpgrade": 5000
  },
  "RecycleConfig": {
    "VerboseRecycling": true,
    "RecycleInventoryAtUsagePercentage": 90.0,
    "RandomizeRecycle": true,
    "RandomRecycleValue": 5,
    "TotalAmountOfPokeballsToKeep": 200,
    "TotalAmountOfPotionsToKeep": 70,
    "TotalAmountOfRevivesToKeep": 5,
    "TotalAmountOfBerriesToKeep": 55,
    "MaxPokeballsToKeep": 50
  },
  "CustomCatchConfig": {
    "EnableHumanizedThrows": true,
    "EnableMissedThrows": true,
    "ThrowMissPercentage": 30,
    "NiceThrowChance": 40,
    "GreatThrowChance": 30,
    "ExcellentThrowChance": 10,
    "CurveThrowChance": 100,
    "ForceGreatThrowOverIv": 90.0,
    "ForceExcellentThrowOverIv": 95.0,
    "ForceGreatThrowOverCp": 1000,
    "ForceExcellentThrowOverCp": 1500
  },
  "PlayerConfig": {
    "DelayBetweenPlayerActions": 5000,
    "EvolveActionDelay": 60000,
    "TransferActionDelay": 4000,
    "RecycleActionDelay": 3000,
    "RenamePokemonActionDelay": 600,
    "UseNearActionRandom": true,
    "AutoCompleteTutorial": false,
    "DesiredNickname": "Nickname",
    "DesiredGender": "Female",
    "DesiredStarter": "Squirtle"
  },
  "SoftBanConfig": {
    "FastSoftBanBypass": false
  },
  "GoogleWalkConfig": {
    "UseGoogleWalk": true,
    "DefaultStepLength": 1.3,
    "GoogleHeuristic": "walking",
    "GoogleAPIKey": "omitted",
    "Cache": true,
    "GoogleElevationAPIKey": "omitted"
  },
  "YoursWalkConfig": {
    "UseYoursWalk": false,
    "YoursWalkHeuristic": "bicycle"
  },
  "MapzenWalkConfig": {
    "UseMapzenWalk": true,
    "MapzenTurnByTurnApiKey": "omitted",
    "MapzenWalkHeuristic": "bicycle",
    "MapzenElevationApiKey": "omitted"
  },
  "ItemRecycleFilter": [
    {
      "Key": "itemUnknown",
      "Value": 0
    },
    {
      "Key": "itemLuckyEgg",
      "Value": 200
    },
    {
      "Key": "itemIncenseOrdinary",
      "Value": 100
    },
    {
      "Key": "itemIncenseSpicy",
      "Value": 100
    },
    {
      "Key": "itemIncenseCool",
      "Value": 100
    },
    {
      "Key": "itemIncenseFloral",
      "Value": 100
    },
    {
      "Key": "itemTroyDisk",
      "Value": 100
    },
    {
      "Key": "itemXAttack",
      "Value": 100
    },
    {
      "Key": "itemXDefense",
      "Value": 100
    },
    {
      "Key": "itemXMiracle",
      "Value": 100
    },
    {
      "Key": "itemSpecialCamera",
      "Value": 100
    },
    {
      "Key": "itemIncubatorBasicUnlimited",
      "Value": 100
    },
    {
      "Key": "itemIncubatorBasic",
      "Value": 100
    },
    {
      "Key": "itemPokemonStorageUpgrade",
      "Value": 100
    },
    {
      "Key": "itemItemStorageUpgrade",
      "Value": 100
    }
  ],
  "PokemonsNotToTransfer": [
    "articuno",
    "zapdos",
    "moltres",
    "mewtwo",
    "mew"
  ],
  "PokemonsToEvolve": [
    "caterpie",
    "weedle",
    "pidgey",
    "rattata",
    "spearow",
    "pikachu",
    "sandshrew",
    "nidoranFemale",
    "nidoranMale",
    "clefairy",
    "jigglypuff",
    "zubat",
    "oddish",
    "paras",
    "venonat",
    "diglett",
    "psyduck",
    "mankey",
    "poliwag",
    "abra",
    "bellsprout",
    "tentacool",
    "geodude",
    "magnemite",
    "doduo",
    "seel",
    "shellder",
    "gastly",
    "drowzee",
    "krabby",
    "rhyhorn",
    "chansey",
    "horsea",
    "goldeen",
    "staryu",
    "omanyte",
    "kabuto"
  ],
  "PokemonsToLevelUp": [
    "dragonite",
    "vaporeon",
    "snorlax"
  ],
  "PokemonsToIgnore": [
    "kangaskhan",
    "mrMime",
    "farfetchd"
  ],
  "PokemonsTransferFilter": {
    "Aerodactyl": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "bite",
          "ironHead"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Alakazam": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "psychoCut",
          "psychic"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Arbok": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "bite",
          "gunkShot"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Arcanine": {
      "KeepMinCp": 2500,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 1,
      "Moves": [
        [
          "bite",
          "flamethrower"
        ]
      ],
      "DeprecatedMoves": [
        "bite",
        "flamethrower"
      ],
      "MovesOperator": "or"
    },
    "Beedrill": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "bugBite",
          "sludgeBomb"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Blastoise": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 1,
      "Moves": [
        [
          "waterGun",
          "flashCannon"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Butterfree": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "bugBite",
          "bugBuzz"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Chansey": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 1,
      "Moves": [
        [
          "pound",
          "psychic"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Charizard": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 1,
      "Moves": [
        [
          "wingAttack",
          "dragonClaw"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Clefable": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "pound",
          "moonblast"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Cloyster": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "frostBreath",
          "icyWind"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Dewgong": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "frostBreath",
          "icyWind"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Dragonite": {
      "KeepMinCp": 2600,
      "KeepMinIvPercentage": 90.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 1,
      "Moves": [
        [
          "dragonBreath",
          "dragonClaw"
        ]
      ],
      "DeprecatedMoves": [
        "dragonBreath",
        "dragonClaw"
      ],
      "MovesOperator": "or"
    },
    "Dugtrio": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "mudShot",
          "earthquake"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Electabuzz": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "thunderShock",
          "thunderbolt"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Electrode": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "spark",
          "thunderbolt"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Exeggutor": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 1,
      "Moves": [
        [
          "zenHeadbuttFast",
          "psychic"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Fearow": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "steelWing",
          "drillRun"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Gengar": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 1,
      "Moves": [
        [
          "shadowClaw",
          "shadowBall"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Golbat": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "wingAttack",
          "poisonFang"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Golduck": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "waterGun",
          "psychic"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Golem": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "mudShot",
          "stoneEdge"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Gyarados": {
      "KeepMinCp": 2500,
      "KeepMinIvPercentage": 98.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 1,
      "Moves": [
        [
          "dragonBreath",
          "hydroPump"
        ]
      ],
      "DeprecatedMoves": [
        "dragonBreath",
        "hydroPump"
      ],
      "MovesOperator": "or"
    },
    "Hitmonchan": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "bulletPunch",
          "brickBreak"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Hitmonlee": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "lowKick",
          "stoneEdge"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Hypno": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "zenHeadbuttFast",
          "psychic"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Jolteon": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 1,
      "Moves": [
        [
          "thunderShock",
          "thunderbolt"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Jynx": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "frostBreath",
          "drainingKiss"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Kingler": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "mudShot",
          "viceGrip"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Lapras": {
      "KeepMinCp": 2500,
      "KeepMinIvPercentage": 97.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 1,
      "Moves": [
        [
          "frostBreath",
          "blizzard"
        ]
      ],
      "DeprecatedMoves": [
        "frostBreath",
        "blizzard"
      ],
      "MovesOperator": "or"
    },
    "Lickitung": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "lick",
          "hyperBeam"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Machamp": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 1,
      "Moves": [
        [
          "karateChop",
          "crossChop"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Magmar": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "ember",
          "flamethrower"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Magneton": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "spark",
          "discharge"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Marowak": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "mudSlapFast",
          "earthquake"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "MrMime": {
      "KeepMinCp": 5600,
      "KeepMinIvPercentage": 100.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [],
      "DeprecatedMoves": [],
      "MovesOperator": "or"
    },
    "Muk": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "poisonJab",
          "gunkShot"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Nidoking": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "poisonJab",
          "sludgeWave"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Nidoqueen": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "poisonJab",
          "sludgeWave"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Ninetales": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 1,
      "Moves": [
        [
          "ember",
          "flamethrower"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Omanyte": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "waterGun",
          "hydroPump"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Onix": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "tackle",
          "stoneEdge"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Persian": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "scratch",
          "nightSlash"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Pidgeot": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "wingAttack",
          "hurricane"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Pinsir": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "furyCutter",
          "xScissor"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Poliwrath": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "mudShot",
          "hydroPump"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Porygon": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "tackle",
          "psybeam"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Primeape": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "lowKick",
          "crossChop"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Raichu": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "spark",
          "thunderPunch"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Rapidash": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "ember",
          "heatWave"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Rhydon": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "mudSlapFast",
          "stoneEdge"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Sandslash": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "mudShot",
          "earthquake"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Scyther": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "furyCutter",
          "xScissor"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Seadra": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "waterGun",
          "blizzard"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Seaking": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "poisonJab",
          "megahorn"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Slowbro": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 1,
      "Moves": [
        [
          "waterGun",
          "waterPulse"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Snorlax": {
      "KeepMinCp": 2600,
      "KeepMinIvPercentage": 97.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 1,
      "Moves": [
        [
          "lick",
          "bodySlam"
        ]
      ],
      "DeprecatedMoves": [
        "lick",
        "bodySlam"
      ],
      "MovesOperator": "or"
    },
    "Starmie": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "waterGun",
          "hydroPump"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Tangela": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "vineWhip",
          "powerWhip"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Tauros": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "zenHeadbuttFast",
          "ironHead"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Tentacruel": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "poisonJab",
          "sludgeWave"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Vaporeon": {
      "KeepMinCp": 2500,
      "KeepMinIvPercentage": 100.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 1,
      "Moves": [
        [
          "waterGun",
          "aquaTail"
        ]
      ],
      "DeprecatedMoves": [
        "waterGun",
        "aquaTail"
      ],
      "MovesOperator": "or"
    },
    "Venomoth": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "bugBite",
          "poisonFang"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Venusaur": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "vineWhip",
          "sludgeBomb"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Victreebel": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "razorLeaf",
          "sludgeBomb"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Vileplume": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "razorLeaf",
          "petalBlizzard"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Weezing": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "acid",
          "sludgeBomb"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    },
    "Wigglytuff": {
      "KeepMinCp": 2000,
      "KeepMinIvPercentage": 95.0,
      "KeepMinLvl": 6,
      "UseKeepMinLvl": false,
      "KeepMinOperator": "or",
      "KeepMinDuplicatePokemon": 0,
      "Moves": [
        [
          "pound",
          "dazzlingGleam"
        ]
      ],
      "DeprecatedMoves": null,
      "MovesOperator": "or"
    }
  },
  "PokemonToSnipe": {
    "Locations": [
      {
        "Latitude": 38.556807486461118,
        "Longitude": -121.2383794784546
      },
      {
        "Latitude": -33.859019,
        "Longitude": 151.213098
      },
      {
        "Latitude": 47.5014969,
        "Longitude": -122.0959568
      },
      {
        "Latitude": 51.5025343,
        "Longitude": -0.2055027
      }
    ],
    "Pokemon": [
      "venusaur",
      "charizard",
      "blastoise",
      "beedrill",
      "raichu",
      "sandslash",
      "nidoking",
      "nidoqueen",
      "clefable",
      "ninetales",
      "golbat",
      "vileplume",
      "golduck",
      "primeape",
      "arcanine",
      "poliwrath",
      "alakazam",
      "machamp",
      "golem",
      "rapidash",
      "slowbro",
      "muk",
      "cloyster",
      "gengar",
      "exeggutor",
      "marowak",
      "hitmonchan",
      "lickitung",
      "rhydon",
      "chansey",
      "starmie",
      "scyther",
      "magmar",
      "electabuzz",
      "jynx",
      "gyarados",
      "lapras",
      "ditto",
      "vaporeon",
      "jolteon",
      "flareon",
      "porygon",
      "kabutops",
      "aerodactyl",
      "snorlax",
      "articuno",
      "zapdos",
      "moltres",
      "dragonite",
      "mewtwo",
      "mew"
    ]
  },
  "PokemonToUseMasterball": [
    "articuno",
    "zapdos",
    "moltres",
    "mew",
    "mewtwo"
  ],
  "HumanWalkSnipeFilters": {
    "Bulbasaur": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Ivysaur": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Venusaur": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Charmander": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Charmeleon": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Charizard": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Squirtle": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Wartortle": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Blastoise": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Caterpie": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Metapod": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Butterfree": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Weedle": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Kakuna": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Beedrill": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Pidgey": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Pidgeotto": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Pidgeot": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Rattata": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Raticate": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Spearow": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Fearow": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Ekans": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Arbok": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Pikachu": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Raichu": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Sandshrew": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Sandslash": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "NidoranMale": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "NidoranFemale": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Nidorina": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Nidoqueen": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Nidorino": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Nidoking": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Clefairy": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Clefable": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Vulpix": {
      "MaxDistance": 800.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Ninetales": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Jigglypuff": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Wigglytuff": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Zubat": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Golbat": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Oddish": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Gloom": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Vileplume": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Paras": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Parasect": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Venonat": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Venomoth": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Diglett": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Dugtrio": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Meowth": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Persian": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Psyduck": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Golduck": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Mankey": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Primeape": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Growlithe": {
      "MaxDistance": 800.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Arcanine": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Poliwag": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Poliwhirl": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Poliwrath": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Abra": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Kadabra": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Alakazam": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Machop": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Machoke": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Machamp": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Bellsprout": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Weepinbell": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Victreebel": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Tentacool": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Tentacruel": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Geodude": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Graveler": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Golem": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Ponyta": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Rapidash": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Slowpoke": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Slowbro": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Magnemite": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Magneton": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Doduo": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Dodrio": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Seel": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Dewgong": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Grimer": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Muk": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Shellder": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Cloyster": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Gastly": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Haunter": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Gengar": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Onix": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Drowzee": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Hypno": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Krabby": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Kingler": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Voltorb": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Electrode": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Exeggcute": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Exeggutor": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Cubone": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Marowak": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Hitmonlee": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Hitmonchan": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Lickitung": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Koffing": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Weezing": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Rhyhorn": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Rhydon": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Chansey": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Tangela": {
      "MaxDistance": 1000.0,
      "Priority": 8,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Horsea": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Seadra": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Goldeen": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Seaking": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Staryu": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Starmie": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Scyther": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Jynx": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Electabuzz": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Magmar": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Pinsir": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Tauros": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Magikarp": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Gyarados": {
      "MaxDistance": 1500.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Lapras": {
      "MaxDistance": 1500.0,
      "Priority": 1,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Ditto": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Eevee": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Vaporeon": {
      "MaxDistance": 1500.0,
      "Priority": 2,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": true,
      "DelayTimeAtDestination": 10000
    },
    "Jolteon": {
      "MaxDistance": 1500.0,
      "Priority": 2,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": true,
      "DelayTimeAtDestination": 10000
    },
    "Flareon": {
      "MaxDistance": 1500.0,
      "Priority": 2,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": true,
      "DelayTimeAtDestination": 10000
    },
    "Porygon": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Omanyte": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Omastar": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Kabuto": {
      "MaxDistance": 800.0,
      "Priority": 10,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Kabutops": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Aerodactyl": {
      "MaxDistance": 1000.0,
      "Priority": 6,
      "MaxWalkTimes": 600.0,
      "CatchPokemonWhileWalking": true,
      "SpinPokestopWhileWalking": true,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": false,
      "DelayTimeAtDestination": 10000
    },
    "Snorlax": {
      "MaxDistance": 1500.0,
      "Priority": 1,
      "MaxWalkTimes": 720.0,
      "CatchPokemonWhileWalking": false,
      "SpinPokestopWhileWalking": false,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": true,
      "DelayTimeAtDestination": 10000
    },
    "Dratini": {
      "MaxDistance": 1500.0,
      "Priority": 1,
      "MaxWalkTimes": 720.0,
      "CatchPokemonWhileWalking": false,
      "SpinPokestopWhileWalking": false,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": true,
      "DelayTimeAtDestination": 10000
    },
    "Dragonair": {
      "MaxDistance": 1500.0,
      "Priority": 1,
      "MaxWalkTimes": 720.0,
      "CatchPokemonWhileWalking": false,
      "SpinPokestopWhileWalking": false,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": true,
      "DelayTimeAtDestination": 10000
    },
    "Dragonite": {
      "MaxDistance": 1500.0,
      "Priority": 1,
      "MaxWalkTimes": 720.0,
      "CatchPokemonWhileWalking": false,
      "SpinPokestopWhileWalking": false,
      "MaxSpeedUpSpeed": 12.0,
      "AllowSpeedUp": true,
      "DelayTimeAtDestination": 10000
    }
  },
  "PokemonUpgradeFilters": {
    "Dratini": {
      "LevelUpByCPorIv": "iv",
      "UpgradePokemonCpMinimum": 600.0,
      "UpgradePokemonIvMinimum": 99.0,
      "UpgradePokemonMinimumStatsOperator": "or",
      "OnlyUpgradeFavorites": false
    },
    "Dragonite": {
      "LevelUpByCPorIv": "iv",
      "UpgradePokemonCpMinimum": 2600.0,
      "UpgradePokemonIvMinimum": 93.0,
      "UpgradePokemonMinimumStatsOperator": "or",
      "OnlyUpgradeFavorites": false
    },
    "Snorlax": {
      "LevelUpByCPorIv": "iv",
      "UpgradePokemonCpMinimum": 2600.0,
      "UpgradePokemonIvMinimum": 90.0,
      "UpgradePokemonMinimumStatsOperator": "or",
      "OnlyUpgradeFavorites": false
    },
    "Gyarados": {
      "LevelUpByCPorIv": "iv",
      "UpgradePokemonCpMinimum": 600.0,
      "UpgradePokemonIvMinimum": 95.0,
      "UpgradePokemonMinimumStatsOperator": "or",
      "OnlyUpgradeFavorites": false
    },
    "Flareon": {
      "LevelUpByCPorIv": "iv",
      "UpgradePokemonCpMinimum": 600.0,
      "UpgradePokemonIvMinimum": 98.0,
      "UpgradePokemonMinimumStatsOperator": "or",
      "OnlyUpgradeFavorites": false
    }
  }
}

### (OPTIONAL) Your Log:

replace this text with only the "relative" portion of your log. (Remove unnessary lines)

### Detailed Steps to Reproduce:

Other Information

Version: 0.9.9
Windows Version: 7
What is affected : powerup

@Silph-Road
Copy link
Contributor

Try the most up to date version and post back results.


Does this happen every time you get:
"Pokemon servers might be offline ...."?

@wilsondgonzales
Copy link
Author

it happens everytime an upgrade cycle starts, followed by an unstable message. I'll post back results of newest version

@popsoda27
Copy link

on 1.0.0.5 same issue. Unstable error followed by Object reference not set to an instance of an object error. Happens after a couple of level ups

@wilsondgonzales
Copy link
Author

@Silph-Road same results as @popsoda27 on latest ver 1.0.0.5

@Silph-Road
Copy link
Contributor

@jjskuld fixed a similar bug earlier today, I think it's related.

@lito2506
Copy link

Same problem experienced using version 1.0.0.5

@jjskuld
Copy link
Contributor

jjskuld commented Sep 22, 2016

My suspicion is that this is a bug caused by the DelayBetweenPokemonUpgrade being set too low. The config above has DelayBetweenPokemonUpgrade set to 5000. So the first upgrade succeeded, and then it tries again in 5 seconds. SInce the request is too fast, Niantic throttles the request and returns no inventory data, which causes the error.

The quick solution is to try to increase DelayBetweenPokemonUpgrade back up to 10000 and report back what happens. Also, we could change the minimum delay from 0 to a reasonable delay to avoid this from happening.

@jjskuld
Copy link
Contributor

jjskuld commented Sep 22, 2016

This actually needs to be fixed at the Rocket API level because it has the potential to affect all the API calls. When the API is throttled, it should retry gracefully without throwing up an error to the bot unless it is a fatal error.

@wilsondgonzales
Copy link
Author

@jjskuld tried with higher delays but still results in an error. I'll try using 2 upgrade loops since it seems to work until that point and post back results

@jjskuld
Copy link
Contributor

jjskuld commented Sep 22, 2016

@wilsondgonzales Thanks for retrying. I'm curious what did you set DelayBetweenPokemonUpgrade to when you tried again?

I've reworked how the API handles errors and retries and am currently testing it for stability for a few hours. Stay tuned..

@wilsondgonzales
Copy link
Author

@jjskuld tried with 15000, 20000, and 25000. i'm guessing the error happens when proceeding to the next pokemon to upgrade when the bot queries the server by the looks of it

@jjskuld
Copy link
Contributor

jjskuld commented Sep 22, 2016

@wilsondgonzales Thanks for the info. That helps rule out a few things actually.

I believe I've identified the bug. In the upgrade pokemon logic, the bot makes 3 API calls in rapid succession with zero delays between the calls.

  1. session.Inventory.GetPlayerStats
  2. session.Inventory.UpgradePokemon
  3. session.Inventory.GetHighestPokemonOfTypeByIv or session.Inventory.GetHighestPokemonOfTypeByCp

The Niantic API is throttled when you exceed approximately 3 API requests per second. In the upgrade logic, even after waiting for 20 - 25 seconds between upgrades, it makes the above 4 requests one after the other with zero delays during the upgrade itself. By the stack trace above, the error was that GetHighestPokemonOfTypeByIv was throttled and returned no data from the API.

The API fix that I'm testing should fix this error as well as ALL API throttling errors throughout the bot. The fix that I made is to have the API auto-throttle itself transparently. This way we don't have to go through the bot and add delays everywhere. The API will now handle when it gets a throttling error (status code 52), and will retry the request transparently with a delay. The delay will be auto-magically increased until no throttling errors are encountered. Also, after a series of successful, non-throttled requests, then the throttling delay will be decreased.

So this will also help with folks who are running lots of bots on the same machine. Previously running more than 2 - 3 bots might run into the API throttling issue. Now, with the throttling delay being adjusted automatically, you could probably run more than 3 bots with no issues. (For example, 3 bots would each use API throttling delay of 500-800 ms, whereas 1 bot would use a throttling delay of 100-300ms).

ETA for this fix to be released will be by the end of the day. Stay tuned.

@jjskuld jjskuld added the bug label Sep 22, 2016
@jjskuld jjskuld added this to the Bug Fix in Progress milestone Sep 22, 2016
@wilsondgonzales
Copy link
Author

great stuff. maybe niantic uses api call frequency to detect bots too. i dunno much about how it all works though so it might sound silly :p

@jjskuld
Copy link
Contributor

jjskuld commented Sep 23, 2016

Actually, while the throttling might be the issue here, I also have another theory as to why the upgrade cycle may not be working. When we upgrade the pokemon, we are not refreshing the inventory immediately, so it gets stale data when trying to call GetHighestPokemonOfTypeByIv. I've added code to refresh the inventory and also added some error handling here since this is also good practice.

jjskuld added a commit that referenced this issue Sep 23, 2016
…ding_pokemon

Fixes bug #243 - Fix error while upgrading pokemon
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

5 participants