[
  {
    "path": ".gitignore",
    "content": "# See https://help.github.com/articles/ignoring-files for more about ignoring files.\n#\n# If you find yourself ignoring temporary files generated by your text editor\n# or operating system, you probably want to add a global ignore instead:\n#   git config --global core.excludesfile '~/.gitignore_global'\n\n# Ignore bundler config.\n/.bundle\n/vendor/bundle\n \n# these should all be checked in to normalize the environment:\n#Gemfile.lock\n.ruby-version\n.ruby-gemset\n\n# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:\n.rvmrc\n\n# if using bower-rails ignore default bower_components path bower.json files\n/vendor/assets/bower_components\n*.bowerrc\nbower.json\n\n# Ignore pow environment settings\n.powenv\n# Ignore the default SQLite database.\n/db/*.sqlite3\n/db/*.sqlite3-journal\n\n### Rails ###\n*.rbc\ncapybara-*.html\n.rspec\n/log\n/tmp\n/db/*.sqlite3\n/db/*.sqlite3-journal\n/public/system\n/coverage/\n/spec/tmp\n**.orig\nrerun.txt\npickle-email-*.html\n\n# Ignore Byebug command history file.\n.byebug_history\n\n# For development in vim\n*.swp\n\n# No secrets on the repo\nconfig/initializers/secret_token.rb\ngoogle_auth.rb\n\n# Ignore ngrok file if downloaded\nngrok\n"
  },
  {
    "path": "Capfile",
    "content": "# Load DSL and Setup Up Stages\nrequire 'capistrano/setup'\n\n# Includes default deployment tasks\nrequire 'capistrano/deploy'\n\n# Includes tasks from other gems included in your Gemfile\nrequire 'capistrano/rails/collection'\n#\n# For documentation on these, see for example:\n#\n#   https://github.com/capistrano/rvm\n#   https://github.com/capistrano/rbenv\n#   https://github.com/capistrano/chruby\n#   https://github.com/capistrano/bundler\n#   https://github.com/capistrano/rails\n# If you are using rvm add these lines:\nrequire 'capistrano/rvm'\n set :rvm_type, :user\n set :rvm_ruby_version, '2.3.1'\nrequire 'capistrano/bundler'\nrequire 'capistrano/rails'\nrequire 'capistrano/passenger'\nrequire 'whenever/capistrano'\n# require 'capistrano/rvm'\n# require 'capistrano/rbenv'\n# require 'capistrano/chruby'\n# require 'capistrano/bundler'\n# require 'capistrano/rails/assets'\n# require 'capistrano/rails/migrations'\n\n# Loads custom tasks from `lib/capistrano/tasks' if you have any defined.\nDir.glob('lib/capistrano/tasks/*.cap').each { |r| import r }\n"
  },
  {
    "path": "Dockerfile",
    "content": "FROM ruby:2.2\n\n# Install apt based dependencies required to run Rails as \n# well as RubyGems. As the Ruby image itself is based on a \n# Debian image, we use apt-get to install those.\nRUN apt-get update && apt-get install -y \\ \n  build-essential \\ \n  nodejs\n\n# Configure the main working directory. This is the base \n# directory used in any further RUN, COPY, and ENTRYPOINT \n# commands.\nRUN mkdir -p /app \nWORKDIR /app\n\n# Copy the Gemfile as well as the Gemfile.lock and install \n# the RubyGems. This is a separate step so the dependencies \n# will be cached unless changes to one of those two files \n# are made.\nCOPY Gemfile Gemfile.lock ./ \nRUN gem install bundler && bundle install --jobs 20 --retry 5\n\n# Copy the main application.\nCOPY . ./\n\nRUN rake db:setup\n\n# Expose port 3000 to the Docker host, so we can access it \n# from the outside.\nEXPOSE 3000\n\n# The main command to run when the container starts. Also \n# tell the Rails dev server to bind to all interfaces by \n# default.\nCMD [\"bundle\", \"exec\", \"rails\", \"server\", \"-b\", \"0.0.0.0\"]"
  },
  {
    "path": "GET_INVENTORY",
    "content": "{: GET_INVENTORY = > {: success = > true,\n        : inventory_delta = > {: original_timestamp_ms = > 0,\n            : new_timestamp_ms = > 1469643756660,\n            : inventory_items = > [{: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 12033617390225908188,\n                        : pokemon_id = > : SPEAROW,\n                        : cp = > 167,\n                        : stamina = > 35,\n                        : stamina_max = > 35,\n                        : move_1 = > : PECK_FAST,\n                        : move_2 = > : AERIAL_ACE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.27725711464881897,\n                        : weight_kg = > 1.6675595045089722,\n                        : individual_attack = > 14,\n                        : individual_defense = > 13,\n                        : individual_stamina = > 10,\n                        : cp_multiplier = > 0.39956727623939514,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469492144563,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 17813629095143505663,\n                        : pokemon_id = > : MACHOP,\n                        : cp = > 44,\n                        : stamina = > 24,\n                        : stamina_max = > 24,\n                        : move_1 = > : KARATE_CHOP_FAST,\n                        : move_2 = > : BRICK_BREAK,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.6865803003311157,\n                        : weight_kg = > 12.940192222595215,\n                        : individual_attack = > 14,\n                        : individual_defense = > 8,\n                        : individual_stamina = > 5,\n                        : cp_multiplier = > 0.16639786958694458,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926768108050055168,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1468564768629,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 1\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469593431908,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 13034983050951717490,\n                        : pokemon_id = > : NIDORAN_MALE,\n                        : cp = > 366,\n                        : stamina = > 53,\n                        : stamina_max = > 53,\n                        : move_1 = > : PECK_FAST,\n                        : move_2 = > : HORN_ATTACK,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.42116162180900574,\n                        : weight_kg = > 5.275308132171631,\n                        : individual_attack = > 11,\n                        : individual_defense = > 9,\n                        : individual_stamina = > 5,\n                        : cp_multiplier = > 0.5507926940917969,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469593431888,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469611050181,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 10151383588260919467,\n                        : pokemon_id = > : GEODUDE,\n                        : cp = > 357,\n                        : stamina = > 51,\n                        : stamina_max = > 51,\n                        : move_1 = > : TACKLE_FAST,\n                        : move_2 = > : ROCK_SLIDE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.3866965174674988,\n                        : weight_kg = > 17.570913314819336,\n                        : individual_attack = > 6,\n                        : individual_defense = > 1,\n                        : individual_stamina = > 13,\n                        : cp_multiplier = > 0.5507926940917969,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469611050165,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469565109959,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > {: egg_incubator = > [{: id = > \"EggIncubatorProto-2755182174489610845\",\n                            : item_id = > : ITEM_INCUBATOR_BASIC_UNLIMITED,\n                            : incubator_type = > : INCUBATOR_DISTANCE,\n                            : uses_remaining = > 0,\n                            : pokemon_id = > 0,\n                            : start_km_walked = > 0.0,\n                            : target_km_walked = > 0.0\n                        }, {: id = > \"EggIncubatorProto-1818946726960455614\",\n                            : item_id = > : ITEM_INCUBATOR_BASIC,\n                            : incubator_type = > : INCUBATOR_DISTANCE,\n                            : uses_remaining = > 3,\n                            : pokemon_id = > 0,\n                            : start_km_walked = > 0.0,\n                            : target_km_walked = > 0.0\n                        }, {: id = > \"EggIncubatorProto-1286538891722973581\",\n                            : item_id = > : ITEM_INCUBATOR_BASIC,\n                            : incubator_type = > : INCUBATOR_DISTANCE,\n                            : uses_remaining = > 3,\n                            : pokemon_id = > 0,\n                            : start_km_walked = > 0.0,\n                            : target_km_walked = > 0.0\n                        }, {: id = > \"EggIncubatorProto7465177442490164539\",\n                            : item_id = > : ITEM_INCUBATOR_BASIC,\n                            : incubator_type = > : INCUBATOR_DISTANCE,\n                            : uses_remaining = > 3,\n                            : pokemon_id = > 0,\n                            : start_km_walked = > 0.0,\n                            : target_km_walked = > 0.0\n                        }, {: id = > \"EggIncubatorProto-1193523047342707133\",\n                            : item_id = > : ITEM_INCUBATOR_BASIC,\n                            : incubator_type = > : INCUBATOR_DISTANCE,\n                            : uses_remaining = > 3,\n                            : pokemon_id = > 0,\n                            : start_km_walked = > 0.0,\n                            : target_km_walked = > 0.0\n                        }, {: id = > \"EggIncubatorProto-3724330920876957754\",\n                            : item_id = > : ITEM_INCUBATOR_BASIC,\n                            : incubator_type = > : INCUBATOR_DISTANCE,\n                            : uses_remaining = > 3,\n                            : pokemon_id = > 0,\n                            : start_km_walked = > 0.0,\n                            : target_km_walked = > 0.0\n                        }]\n                    },\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594439897,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 2938279870838674240,\n                        : pokemon_id = > : POLIWAG,\n                        : cp = > 300,\n                        : stamina = > 44,\n                        : stamina_max = > 44,\n                        : move_1 = > : MUD_SHOT_FAST,\n                        : move_2 = > : BUBBLE_BEAM,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.6872700452804565,\n                        : weight_kg = > 17.44139862060547,\n                        : individual_attack = > 8,\n                        : individual_defense = > 0,\n                        : individual_stamina = > 4,\n                        : cp_multiplier = > 0.5343543291091919,\n                        : pokeball = > : ITEM_ULTRA_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469594439883,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 7653505505032540971,\n                        : pokemon_id = > : MISSINGNO,\n                        : cp = > 0,\n                        : stamina = > 0,\n                        : stamina_max = > 0,\n                        : move_1 = > : MOVE_UNSET,\n                        : move_2 = > : MOVE_UNSET,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > true,\n                        : egg_km_walked_target = > 2.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.0,\n                        : weight_kg = > 0.0,\n                        : individual_attack = > 0,\n                        : individual_defense = > 0,\n                        : individual_stamina = > 0,\n                        : cp_multiplier = > 0.0,\n                        : pokeball = > : ITEM_UNKNOWN,\n                        : captured_cell_id = > 9926594328982978560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469433659214,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469613155169,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : EEVEE,\n                        : times_encountered = > 35,\n                        : times_captured = > 35,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 653151355797130078,\n                        : pokemon_id = > : EEVEE,\n                        : cp = > 14,\n                        : stamina = > 10,\n                        : stamina_max = > 10,\n                        : move_1 = > : TACKLE_FAST,\n                        : move_2 = > : BODY_SLAM,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.2962421774864197,\n                        : weight_kg = > 5.956576347351074,\n                        : individual_attack = > 15,\n                        : individual_defense = > 14,\n                        : individual_stamina = > 1,\n                        : cp_multiplier = > 0.09399999678134918,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1468566931074,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 1\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 17131743060062600674,\n                        : pokemon_id = > : RATTATA,\n                        : cp = > 232,\n                        : stamina = > 36,\n                        : stamina_max = > 36,\n                        : move_1 = > : QUICK_ATTACK_FAST,\n                        : move_2 = > : DIG,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.2860827147960663,\n                        : weight_kg = > 3.163884162902832,\n                        : individual_attack = > 9,\n                        : individual_defense = > 0,\n                        : individual_stamina = > 7,\n                        : cp_multiplier = > 0.5507926940917969,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469495325477,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 2936504763233843048,\n                        : pokemon_id = > : RHYHORN,\n                        : cp = > 111,\n                        : stamina = > 41,\n                        : stamina_max = > 41,\n                        : move_1 = > : MUD_SLAP_FAST,\n                        : move_2 = > : BULLDOZE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.9559038281440735,\n                        : weight_kg = > 108.61248779296875,\n                        : individual_attack = > 13,\n                        : individual_defense = > 3,\n                        : individual_stamina = > 1,\n                        : cp_multiplier = > 0.2557200491428375,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1468567234387,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 1\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 2277528171238570610,\n                        : pokemon_id = > : MISSINGNO,\n                        : cp = > 0,\n                        : stamina = > 0,\n                        : stamina_max = > 0,\n                        : move_1 = > : MOVE_UNSET,\n                        : move_2 = > : MOVE_UNSET,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > true,\n                        : egg_km_walked_target = > 2.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.0,\n                        : weight_kg = > 0.0,\n                        : individual_attack = > 0,\n                        : individual_defense = > 0,\n                        : individual_stamina = > 0,\n                        : cp_multiplier = > 0.0,\n                        : pokeball = > : ITEM_UNKNOWN,\n                        : captured_cell_id = > 9926594328962007040,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469432294831,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612542233,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 9809817766153283391,\n                        : pokemon_id = > : PONYTA,\n                        : cp = > 781,\n                        : stamina = > 66,\n                        : stamina_max = > 66,\n                        : move_1 = > : TACKLE_FAST,\n                        : move_2 = > : FLAME_WHEEL,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.2204527854919434,\n                        : weight_kg = > 43.521934509277344,\n                        : individual_attack = > 4,\n                        : individual_defense = > 8,\n                        : individual_stamina = > 11,\n                        : cp_multiplier = > 0.5974000096321106,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469612542202,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612961869,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 7767262884158739950,\n                        : pokemon_id = > : OMANYTE,\n                        : cp = > 112,\n                        : stamina = > 20,\n                        : stamina_max = > 20,\n                        : move_1 = > : WATER_GUN_FAST,\n                        : move_2 = > : ROCK_TOMB,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.4067070782184601,\n                        : weight_kg = > 5.666068077087402,\n                        : individual_attack = > 15,\n                        : individual_defense = > 12,\n                        : individual_stamina = > 9,\n                        : cp_multiplier = > 0.2557200491428375,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469612961852,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469570831353,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 14389863222244647812,\n                        : pokemon_id = > : PIDGEOTTO,\n                        : cp = > 494,\n                        : stamina = > 67,\n                        : stamina_max = > 67,\n                        : move_1 = > : WING_ATTACK_FAST,\n                        : move_2 = > : TWISTER,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.1996558904647827,\n                        : weight_kg = > 28.70830535888672,\n                        : individual_attack = > 15,\n                        : individual_defense = > 9,\n                        : individual_stamina = > 5,\n                        : cp_multiplier = > 0.517393946647644,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469570831328,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 4033910463117250744,\n                        : pokemon_id = > : STARMIE,\n                        : cp = > 284,\n                        : stamina = > 37,\n                        : stamina_max = > 37,\n                        : move_1 = > : QUICK_ATTACK_FAST,\n                        : move_2 = > : POWER_GEM,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.9968891739845276,\n                        : weight_kg = > 62.788124084472656,\n                        : individual_attack = > 14,\n                        : individual_defense = > 14,\n                        : individual_stamina = > 8,\n                        : cp_multiplier = > 0.29024988412857056,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1468566337528,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 1\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 16145762057195561819,\n                        : pokemon_id = > : PIDGEOT,\n                        : cp = > 869,\n                        : stamina = > 95,\n                        : stamina_max = > 95,\n                        : move_1 = > : STEEL_WING_FAST,\n                        : move_2 = > : HURRICANE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.9763948321342468,\n                        : weight_kg = > 20.340681076049805,\n                        : individual_attack = > 3,\n                        : individual_defense = > 8,\n                        : individual_stamina = > 12,\n                        : cp_multiplier = > 0.5343543291091919,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469487641568,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 8161951567515953816,\n                        : pokemon_id = > : PIKACHU,\n                        : cp = > 11,\n                        : stamina = > 10,\n                        : stamina_max = > 10,\n                        : move_1 = > : QUICK_ATTACK_FAST,\n                        : move_2 = > : THUNDER,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.5040460228919983,\n                        : weight_kg = > 10.100167274475098,\n                        : individual_attack = > 10,\n                        : individual_defense = > 10,\n                        : individual_stamina = > 10,\n                        : cp_multiplier = > 0.09399999678134918,\n                        : pokeball = > : ITEM_UNKNOWN,\n                        : captured_cell_id = > 0,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1468564340208,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 7052189630139160752,\n                        : pokemon_id = > : RATTATA,\n                        : cp = > 206,\n                        : stamina = > 35,\n                        : stamina_max = > 35,\n                        : move_1 = > : QUICK_ATTACK_FAST,\n                        : move_2 = > : DIG,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.36817437410354614,\n                        : weight_kg = > 5.248435974121094,\n                        : individual_attack = > 4,\n                        : individual_defense = > 8,\n                        : individual_stamina = > 9,\n                        : cp_multiplier = > 0.517393946647644,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469492405980,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 3669112332700931403,\n                        : pokemon_id = > : PINSIR,\n                        : cp = > 27,\n                        : stamina = > 13,\n                        : stamina_max = > 13,\n                        : move_1 = > : FURY_CUTTER_FAST,\n                        : move_2 = > : SUBMISSION,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.7066969871520996,\n                        : weight_kg = > 72.23590850830078,\n                        : individual_attack = > 3,\n                        : individual_defense = > 12,\n                        : individual_stamina = > 15,\n                        : cp_multiplier = > 0.09399999678134918,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926768108050055168,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1468564431572,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469610692778,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 11705738518280217311,\n                        : pokemon_id = > : SANDSHREW,\n                        : cp = > 368,\n                        : stamina = > 60,\n                        : stamina_max = > 60,\n                        : move_1 = > : MUD_SHOT_FAST,\n                        : move_2 = > : DIG,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.6420727968215942,\n                        : weight_kg = > 14.743542671203613,\n                        : individual_attack = > 3,\n                        : individual_defense = > 8,\n                        : individual_stamina = > 1,\n                        : cp_multiplier = > 0.5974000096321106,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469610692761,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    :item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 12723580553051521166,\n                        : pokemon_id = > : VENONAT,\n                        : cp = > 162,\n                        : stamina = > 43,\n                        : stamina_max = > 43,\n                        : move_1 = > : CONFUSION_FAST,\n                        : move_2 = > : SIGNAL_BEAM,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.112320065498352,\n                        : weight_kg = > 32.03047180175781,\n                        : individual_attack = > 12,\n                        : individual_defense = > 11,\n                        : individual_stamina = > 14,\n                        : cp_multiplier = > 0.3210875988006592,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469436796227,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469567341340,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 4008762993517896274,\n                        : pokemon_id = > : PIDGEY,\n                        : cp = > 243,\n                        : stamina = > 42,\n                        : stamina_max = > 42,\n                        : move_1 = > : TACKLE_FAST,\n                        : move_2 = > : AERIAL_ACE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.3742581009864807,\n                        : weight_kg = > 2.8520164489746094,\n                        : individual_attack = > 7,\n                        : individual_defense = > 9,\n                        : individual_stamina = > 2,\n                        : cp_multiplier = > 0.517393946647644,\n                        : pokeball = > : ITEM_ULTRA_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469567341323,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 1089306746954436216,\n                        : pokemon_id = > : TENTACOOL,\n                        : cp = > 359,\n                        : stamina = > 48,\n                        : stamina_max = > 48,\n                        : move_1 = > : BUBBLE_FAST,\n                        : move_2 = > : WRAP,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.9422709941864014,\n                        : weight_kg = > 42.2681884765625,\n                        : individual_attack = > 5,\n                        : individual_defense = > 7,\n                        : individual_stamina = > 10,\n                        : cp_multiplier = > 0.5343543291091919,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469487708396,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 9861744093694824888,\n                        : pokemon_id = > : HORSEA,\n                        : cp = > 358,\n                        : stamina = > 40,\n                        : stamina_max = > 40,\n                        : move_1 = > : WATER_GUN_FAST,\n                        : move_2 = > : FLASH_CANNON,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.3518131971359253,\n                        : weight_kg = > 6.286877632141113,\n                        : individual_attack = > 15,\n                        : individual_defense = > 2,\n                        : individual_stamina = > 13,\n                        : cp_multiplier = > 0.5507926940917969,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469511845469,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469569665983,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 12798339359391651511,\n                        : pokemon_id = > : FEAROW,\n                        : cp = > 484,\n                        : stamina = > 59,\n                        : stamina_max = > 59,\n                        : move_1 = > : PECK_FAST,\n                        : move_2 = > : DRILL_RUN,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.4029921293258667,\n                        : weight_kg = > 48.42170715332031,\n                        : individual_attack = > 12,\n                        : individual_defense = > 15,\n                        : individual_stamina = > 11,\n                        : cp_multiplier = > 0.42250001430511475,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469569665962,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612961869,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : OMANYTE,\n                        : times_encountered = > 1,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469563544648,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 8506118392919470032,\n                        : pokemon_id = > : ODDISH,\n                        : cp = > 482,\n                        : stamina = > 54,\n                        : stamina_max = > 54,\n                        : move_1 = > : RAZOR_LEAF_FAST,\n                        : move_2 = > : SEED_BOMB,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.4931251108646393,\n                        : weight_kg = > 5.890007972717285,\n                        : individual_attack = > 7,\n                        : individual_defense = > 11,\n                        : individual_stamina = > 12,\n                        : cp_multiplier = > 0.5343543291091919,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469563544630,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594863504,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 15662198216213409679,\n                        : pokemon_id = > : STARMIE,\n                        : cp = > 94,\n                        : stamina = > 22,\n                        : stamina_max = > 22,\n                        : move_1 = > : QUICK_ATTACK_FAST,\n                        : move_2 = > : PSYBEAM,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.040140151977539,\n                        : weight_kg = > 108.20159912109375,\n                        : individual_attack = > 11,\n                        : individual_defense = > 15,\n                        : individual_stamina = > 14,\n                        : cp_multiplier = > 0.16639786958694458,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469594863488,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469610392582,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 1546595427000215306,\n                        : pokemon_id = > : SHELLDER,\n                        : cp = > 363,\n                        : stamina = > 35,\n                        : stamina_max = > 35,\n                        : move_1 = > : ICE_SHARD_FAST,\n                        : move_2 = > : ICY_WIND,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.24742130935192108,\n                        : weight_kg = > 2.3632822036743164,\n                        : individual_attack = > 8,\n                        : individual_defense = > 14,\n                        : individual_stamina = > 2,\n                        : cp_multiplier = > 0.5667545199394226,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469610392567,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612073856,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > {: item_id = > : ITEM_RAZZ_BERRY,\n                        : count = > 109,\n                        : unseen = > false\n                    },\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469593003601,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 16411706254639641377,\n                        : pokemon_id = > : EKANS,\n                        : cp = > 392,\n                        : stamina = > 46,\n                        : stamina_max = > 46,\n                        : move_1 = > : POISON_STING_FAST,\n                        : move_2 = > : GUNK_SHOT,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.827664852142334,\n                        : weight_kg = > 6.0399651527404785,\n                        : individual_attack = > 15,\n                        : individual_defense = > 1,\n                        : individual_stamina = > 12,\n                        : cp_multiplier = > 0.5667545199394226,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469593003583,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 13836191779693689102,\n                        : pokemon_id = > : SHELLDER,\n                        : cp = > 131,\n                        : stamina = > 23,\n                        : stamina_max = > 23,\n                        : move_1 = > : ICE_SHARD_FAST,\n                        : move_2 = > : ICY_WIND,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.31633079051971436,\n                        : weight_kg = > 4.838510990142822,\n                        : individual_attack = > 15,\n                        : individual_defense = > 12,\n                        : individual_stamina = > 12,\n                        : cp_multiplier = > 0.3210875988006592,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469485699385,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612970749,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : KABUTO,\n                        : times_encountered = > 4,\n                        : times_captured = > 4,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 6683394464227458526,\n                        : pokemon_id = > : MISSINGNO,\n                        : cp = > 0,\n                        : stamina = > 0,\n                        : stamina_max = > 0,\n                        : move_1 = > : MOVE_UNSET,\n                        : move_2 = > : MOVE_UNSET,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > true,\n                        : egg_km_walked_target = > 5.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.0,\n                        : weight_kg = > 0.0,\n                        : individual_attack = > 0,\n                        : individual_defense = > 0,\n                        : individual_stamina = > 0,\n                        : cp_multiplier = > 0.0,\n                        : pokeball = > : ITEM_UNKNOWN,\n                        : captured_cell_id = > 9926594329710690304,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469433032337,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469593600999,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_BULBASAUR,\n                        : candy = > 15\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469579789330,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 9756979273708286724,\n                        : pokemon_id = > : POLIWAG,\n                        : cp = > 406,\n                        : stamina = > 55,\n                        : stamina_max = > 55,\n                        : move_1 = > : BUBBLE_FAST,\n                        : move_2 = > : BODY_SLAM,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.6247323155403137,\n                        : weight_kg = > 13.252718925476074,\n                        : individual_attack = > 5,\n                        : individual_defense = > 11,\n                        : individual_stamina = > 13,\n                        : cp_multiplier = > 0.5974000096321106,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469579789308,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_SQUIRTLE,\n                        : candy = > 4\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469566834990,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 923381136366177570,\n                        : pokemon_id = > : DODUO,\n                        : cp = > 430,\n                        : stamina = > 46,\n                        : stamina_max = > 46,\n                        : move_1 = > : PECK_FAST,\n                        : move_2 = > : AERIAL_ACE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.5271233320236206,\n                        : weight_kg = > 39.8439826965332,\n                        : individual_attack = > 10,\n                        : individual_defense = > 13,\n                        : individual_stamina = > 10,\n                        : cp_multiplier = > 0.5822789072990417,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469566834972,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594491659,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_CATERPIE,\n                        : candy = > 110\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469594747306,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 7438904258616011791,\n                        : pokemon_id = > : PINSIR,\n                        : cp = > 745,\n                        : stamina = > 68,\n                        : stamina_max = > 68,\n                        : move_1 = > : FURY_CUTTER_FAST,\n                        : move_2 = > : X_SCISSOR,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.2723307609558105,\n                        : weight_kg = > 30.161678314208984,\n                        : individual_attack = > 3,\n                        : individual_defense = > 0,\n                        : individual_stamina = > 7,\n                        : cp_multiplier = > 0.49985843896865845,\n                        : pokeball = > : ITEM_ULTRA_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469594747260,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469610531022,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_WEEDLE,\n                        : candy = > 174\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469613310585,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_PIDGEY,\n                        : candy = > 659\n                    }\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 4519236706785807944,\n                        : pokemon_id = > : PINSIR,\n                        : cp = > 1054,\n                        : stamina = > 84,\n                        : stamina_max = > 84,\n                        : move_1 = > : FURY_CUTTER_FAST,\n                        : move_2 = > : X_SCISSOR,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.6263655424118042,\n                        : weight_kg = > 73.1784439086914,\n                        : individual_attack = > 2,\n                        : individual_defense = > 7,\n                        : individual_stamina = > 15,\n                        : cp_multiplier = > 0.5822789072990417,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469511308827,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594158983,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_RATTATA,\n                        : candy = > 491\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469594971937,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_SPEAROW,\n                        : candy = > 319\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469610924482,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_EKANS,\n                        : candy = > 30\n                    }\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_PIKACHU,\n                        : candy = > 3\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469592633552,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 6814325198049015148,\n                        : pokemon_id = > : RATTATA,\n                        : cp = > 302,\n                        : stamina = > 41,\n                        : stamina_max = > 41,\n                        : move_1 = > : TACKLE_FAST,\n                        : move_2 = > : DIG,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.3171177804470062,\n                        : weight_kg = > 3.4212234020233154,\n                        : individual_attack = > 9,\n                        : individual_defense = > 8,\n                        : individual_stamina = > 8,\n                        : cp_multiplier = > 0.6121572852134705,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469592633534,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469613126740,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_SANDSHREW,\n                        : candy = > 30\n                    }\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 14889305404085371406,\n                        : pokemon_id = > : SPEAROW,\n                        : cp = > 29,\n                        : stamina = > 14,\n                        : stamina_max = > 14,\n                        : move_1 = > : PECK_FAST,\n                        : move_2 = > : TWISTER,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.30828267335891724,\n                        : weight_kg = > 2.3011763095855713,\n                        : individual_attack = > 14,\n                        : individual_defense = > 15,\n                        : individual_stamina = > 10,\n                        : cp_multiplier = > 0.16639786958694458,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469499402290,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469592913338,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_NIDORAN_FEMALE,\n                        : candy = > 60\n                    }\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 4627787799153679607,\n                        : pokemon_id = > : PARAS,\n                        : cp = > 225,\n                        : stamina = > 32,\n                        : stamina_max = > 32,\n                        : move_1 = > : BUG_BITE_FAST,\n                        : move_2 = > : X_SCISSOR,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.2870540916919708,\n                        : weight_kg = > 5.368649005889893,\n                        : individual_attack = > 13,\n                        : individual_defense = > 14,\n                        : individual_stamina = > 12,\n                        : cp_multiplier = > 0.39956727623939514,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469497622817,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469593746400,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_NIDORAN_MALE,\n                        : candy = > 51\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469612391196,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 6635443375779116356,\n                        : pokemon_id = > : ZUBAT,\n                        : cp = > 292,\n                        : stamina = > 49,\n                        : stamina_max = > 49,\n                        : move_1 = > : BITE_FAST,\n                        : move_2 = > : POISON_FANG,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.5564311742782593,\n                        : weight_kg = > 3.9769036769866943,\n                        : individual_attack = > 9,\n                        : individual_defense = > 11,\n                        : individual_stamina = > 7,\n                        : cp_multiplier = > 0.5667545199394226,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469612391183,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594937504,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 7589263756342468827,\n                        : pokemon_id = > : PIDGEY,\n                        : cp = > 341,\n                        : stamina = > 50,\n                        : stamina_max = > 50,\n                        : move_1 = > : TACKLE_FAST,\n                        : move_2 = > : AIR_CUTTER,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.30800649523735046,\n                        : weight_kg = > 1.7380058765411377,\n                        : individual_attack = > 7,\n                        : individual_defense = > 8,\n                        : individual_stamina = > 3,\n                        : cp_multiplier = > 0.6121572852134705,\n                        : pokeball = > : ITEM_ULTRA_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469594937489,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469593749762,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_CLEFAIRY,\n                        : candy = > 15\n                    }\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_VULPIX,\n                        : candy = > 8\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469612391196,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_ZUBAT,\n                        : candy = > 76\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469593763408,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_ODDISH,\n                        : candy = > 62\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469593774079,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_PARAS,\n                        : candy = > 70\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469593812835,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_VENONAT,\n                        : candy = > 149\n                    }\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 1916590275387265157,\n                        : pokemon_id = > : PONYTA,\n                        : cp = > 146,\n                        : stamina = > 26,\n                        : stamina_max = > 26,\n                        : move_1 = > : TACKLE_FAST,\n                        : move_2 = > : FLAME_WHEEL,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.9918020963668823,\n                        : weight_kg = > 28.990840911865234,\n                        : individual_attack = > 11,\n                        : individual_defense = > 11,\n                        : individual_stamina = > 5,\n                        : cp_multiplier = > 0.2557200491428375,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1468567394230,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 1\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469576391678,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_MEOWTH,\n                        : candy = > 11\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469613006942,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_PSYDUCK,\n                        : candy = > 12\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469612364222,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_MANKEY,\n                        : candy = > 15\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469612521972,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_GROWLITHE,\n                        : candy = > 16\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469565725217,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 9250832301015277523,\n                        : pokemon_id = > : GOLDEEN,\n                        : cp = > 532,\n                        : stamina = > 62,\n                        : stamina_max = > 62,\n                        : move_1 = > : PECK_FAST,\n                        : move_2 = > : AQUA_TAIL,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.7168596982955933,\n                        : weight_kg = > 20.682601928710938,\n                        : individual_attack = > 12,\n                        : individual_defense = > 13,\n                        : individual_stamina = > 14,\n                        : cp_multiplier = > 0.5974000096321106,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469565725198,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469610716701,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_POLIWAG,\n                        : candy = > 60\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469612381612,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_ABRA,\n                        : candy = > 11\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469613287840,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > {: item_id = > : ITEM_POKE_BALL,\n                        : count = > 0,\n                        : unseen = > false\n                    },\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469613288342,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_MACHOP,\n                        : candy = > 11\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469612542233,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > {: item_id = > : ITEM_GREAT_BALL,\n                        : count = > 0,\n                        : unseen = > false\n                    },\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469613310585,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > {: item_id = > : ITEM_ULTRA_BALL,\n                        : count = > 0,\n                        : unseen = > false\n                    },\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469580607777,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 2706158241083196480,\n                        : pokemon_id = > : WEEDLE,\n                        : cp = > 200,\n                        : stamina = > 47,\n                        : stamina_max = > 47,\n                        : move_1 = > : POISON_STING_FAST,\n                        : move_2 = > : STRUGGLE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.2629370391368866,\n                        : weight_kg = > 2.5663063526153564,\n                        : individual_attack = > 14,\n                        : individual_defense = > 0,\n                        : individual_stamina = > 1,\n                        : cp_multiplier = > 0.5822789072990417,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469580607762,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594570033,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_BELLSPROUT,\n                        : candy = > 39\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469564622279,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 16770979444023479383,\n                        : pokemon_id = > : EXEGGCUTE,\n                        : cp = > 431,\n                        : stamina = > 68,\n                        : stamina_max = > 68,\n                        : move_1 = > : CONFUSION_FAST,\n                        : move_2 = > : PSYCHIC,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.3649931252002716,\n                        : weight_kg = > 1.5604559183120728,\n                        : individual_attack = > 7,\n                        : individual_defense = > 12,\n                        : individual_stamina = > 12,\n                        : cp_multiplier = > 0.517393946647644,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469564622261,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612474457,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_TENTACOOL,\n                        : candy = > 12\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469612586537,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_GEODUDE,\n                        : candy = > 35\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469574519723,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 8542702180837277420,\n                        : pokemon_id = > : PINSIR,\n                        : cp = > 903,\n                        : stamina = > 71,\n                        : stamina_max = > 71,\n                        : move_1 = > : ROCK_SMASH_FAST,\n                        : move_2 = > : VICE_GRIP,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.4829695224761963,\n                        : weight_kg = > 55.203216552734375,\n                        : individual_attack = > 3,\n                        : individual_defense = > 9,\n                        : individual_stamina = > 0,\n                        : cp_multiplier = > 0.5507926940917969,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469574519674,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612542233,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_PONYTA,\n                        : candy = > 18\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469593832450,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_SLOWPOKE,\n                        : candy = > 23\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469594955503,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_DODUO,\n                        : candy = > 176\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469610477502,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_SEEL,\n                        : candy = > 4\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469610392582,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_SHELLDER,\n                        : candy = > 14\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469593863523,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_GASTLY,\n                        : candy = > 11\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469593866176,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_KRABBY,\n                        : candy = > 55\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469594262072,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_EXEGGCUTE,\n                        : candy = > 50\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469570619716,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 4125093228401896784,\n                        : pokemon_id = > : VENOMOTH,\n                        : cp = > 780,\n                        : stamina = > 81,\n                        : stamina_max = > 81,\n                        : move_1 = > : CONFUSION_FAST,\n                        : move_2 = > : POISON_FANG,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.6897015571594238,\n                        : weight_kg = > 13.213238716125488,\n                        : individual_attack = > 5,\n                        : individual_defense = > 2,\n                        : individual_stamina = > 13,\n                        : cp_multiplier = > 0.5343543291091919,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469570619701,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612567784,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_CUBONE,\n                        : candy = > 3\n                    }\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_HITMONCHAN,\n                        : candy = > 3\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469611113697,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_RHYHORN,\n                        : candy = > 10\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469572062442,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_TANGELA,\n                        : candy = > 7\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469594922762,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_HORSEA,\n                        : candy = > 42\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469612490926,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_GOLDEEN,\n                        : candy = > 38\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469610784500,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_STARYU,\n                        : candy = > 53\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469611097416,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_SCYTHER,\n                        : candy = > 12\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469594017308,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 10927067322043831380,\n                        : pokemon_id = > : POLIWAG,\n                        : cp = > 387,\n                        : stamina = > 54,\n                        : stamina_max = > 54,\n                        : move_1 = > : BUBBLE_FAST,\n                        : move_2 = > : MUD_BOMB,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.5980697870254517,\n                        : weight_kg = > 12.638779640197754,\n                        : individual_attack = > 11,\n                        : individual_defense = > 1,\n                        : individual_stamina = > 13,\n                        : cp_multiplier = > 0.5822789072990417,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469594017287,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594803463,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_PINSIR,\n                        : candy = > 896\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469594201062,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 11556905718513259910,\n                        : pokemon_id = > : DODUO,\n                        : cp = > 109,\n                        : stamina = > 23,\n                        : stamina_max = > 23,\n                        : move_1 = > : QUICK_ATTACK_FAST,\n                        : move_2 = > : SWIFT,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.3128982782363892,\n                        : weight_kg = > 36.61653518676758,\n                        : individual_attack = > 15,\n                        : individual_defense = > 11,\n                        : individual_stamina = > 10,\n                        : cp_multiplier = > 0.29024988412857056,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469594201041,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469610366758,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 10483844962842315563,\n                        : pokemon_id = > : EEVEE,\n                        : cp = > 452,\n                        : stamina = > 61,\n                        : stamina_max = > 61,\n                        : move_1 = > : TACKLE_FAST,\n                        : move_2 = > : BODY_SLAM,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.3294050991535187,\n                        : weight_kg = > 8.12018871307373,\n                        : individual_attack = > 15,\n                        : individual_defense = > 2,\n                        : individual_stamina = > 6,\n                        : cp_multiplier = > 0.5343543291091919,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469610366738,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469611951169,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > {: item_id = > : ITEM_POTION,\n                        : count = > 0,\n                        : unseen = > false\n                    },\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469611286659,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > {: item_id = > : ITEM_SUPER_POTION,\n                        : count = > 60,\n                        : unseen = > false\n                    },\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469595317078,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > {: item_id = > : ITEM_HYPER_POTION,\n                        : count = > 90,\n                        : unseen = > false\n                    },\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594507612,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 1454648458983282613,\n                        : pokemon_id = > : PINSIR,\n                        : cp = > 835,\n                        : stamina = > 70,\n                        : stamina_max = > 70,\n                        : move_1 = > : ROCK_SMASH_FAST,\n                        : move_2 = > : X_SCISSOR,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.4173386096954346,\n                        : weight_kg = > 53.21129608154297,\n                        : individual_attack = > 0,\n                        : individual_defense = > 7,\n                        : individual_stamina = > 1,\n                        : cp_multiplier = > 0.5343543291091919,\n                        : pokeball = > : ITEM_ULTRA_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469594507596,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469613310585,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 16541623506037807151,\n                        : pokemon_id = > : PIDGEY,\n                        : cp = > 327,\n                        : stamina = > 53,\n                        : stamina_max = > 53,\n                        : move_1 = > : QUICK_ATTACK_FAST,\n                        : move_2 = > : TWISTER,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.3209701478481293,\n                        : weight_kg = > 2.0198378562927246,\n                        : individual_attack = > 1,\n                        : individual_defense = > 15,\n                        : individual_stamina = > 9,\n                        : cp_multiplier = > 0.5974000096321106,\n                        : pokeball = > : ITEM_ULTRA_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469613310569,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469593555182,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_TAUROS,\n                        : candy = > 11\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469612364222,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 11681782379834206401,\n                        : pokemon_id = > : MANKEY,\n                        : cp = > 376,\n                        : stamina = > 50,\n                        : stamina_max = > 50,\n                        : move_1 = > : SCRATCH_FAST,\n                        : move_2 = > : LOW_SWEEP,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.5244783163070679,\n                        : weight_kg = > 26.625656127929688,\n                        : individual_attack = > 10,\n                        : individual_defense = > 0,\n                        : individual_stamina = > 12,\n                        : cp_multiplier = > 0.5507926940917969,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469612364207,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 14609712793945313248,\n                        : pokemon_id = > : MEOWTH,\n                        : cp = > 31,\n                        : stamina = > 14,\n                        : stamina_max = > 14,\n                        : move_1 = > : BITE_FAST,\n                        : move_2 = > : DARK_PULSE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.32365676760673523,\n                        : weight_kg = > 3.1118693351745605,\n                        : individual_attack = > 14,\n                        : individual_defense = > 9,\n                        : individual_stamina = > 8,\n                        : cp_multiplier = > 0.16639786958694458,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926768108050055168,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1468565118175,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 1\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469574238834,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 3163809775954645007,\n                        : pokemon_id = > : PINSIR,\n                        : cp = > 1101,\n                        : stamina = > 84,\n                        : stamina_max = > 84,\n                        : move_1 = > : ROCK_SMASH_FAST,\n                        : move_2 = > : SUBMISSION,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.4716548919677734,\n                        : weight_kg = > 56.12202453613281,\n                        : individual_attack = > 3,\n                        : individual_defense = > 6,\n                        : individual_stamina = > 12,\n                        : cp_multiplier = > 0.5974000096321106,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469574238806,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594971937,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 10490458576852921395,\n                        : pokemon_id = > : SPEAROW,\n                        : cp = > 255,\n                        : stamina = > 46,\n                        : stamina_max = > 46,\n                        : move_1 = > : PECK_FAST,\n                        : move_2 = > : TWISTER,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.2996236979961395,\n                        : weight_kg = > 1.9129472970962524,\n                        : individual_attack = > 9,\n                        : individual_defense = > 4,\n                        : individual_stamina = > 10,\n                        : cp_multiplier = > 0.517393946647644,\n                        : pokeball = > : ITEM_ULTRA_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469594971923,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469563559849,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 16186479426483039087,\n                        : pokemon_id = > : GLOOM,\n                        : cp = > 740,\n                        : stamina = > 70,\n                        : stamina_max = > 70,\n                        : move_1 = > : RAZOR_LEAF_FAST,\n                        : move_2 = > : PETAL_BLIZZARD,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.7771961688995361,\n                        : weight_kg = > 7.766791820526123,\n                        : individual_attack = > 10,\n                        : individual_defense = > 14,\n                        : individual_stamina = > 12,\n                        : cp_multiplier = > 0.5343543291091919,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469563559830,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594124383,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 13741922081729333017,\n                        : pokemon_id = > : GOLDEEN,\n                        : cp = > 487,\n                        : stamina = > 62,\n                        : stamina_max = > 62,\n                        : move_1 = > : MUD_SHOT_FAST,\n                        : move_2 = > : WATER_PULSE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.6750790476799011,\n                        : weight_kg = > 16.894004821777344,\n                        : individual_attack = > 5,\n                        : individual_defense = > 5,\n                        : individual_stamina = > 14,\n                        : cp_multiplier = > 0.5974000096321106,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469594124366,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594262072,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 8464480029261323014,\n                        : pokemon_id = > : EXEGGCUTE,\n                        : cp = > 549,\n                        : stamina = > 74,\n                        : stamina_max = > 74,\n                        : move_1 = > : CONFUSION_FAST,\n                        : move_2 = > : ANCIENT_POWER,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.3959581255912781,\n                        : weight_kg = > 3.0685155391693115,\n                        : individual_attack = > 14,\n                        : individual_defense = > 12,\n                        : individual_stamina = > 12,\n                        : cp_multiplier = > 0.5667545199394226,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469594262058,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469610924482,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 4495473064583498661,\n                        : pokemon_id = > : EKANS,\n                        : cp = > 386,\n                        : stamina = > 48,\n                        : stamina_max = > 48,\n                        : move_1 = > : POISON_STING_FAST,\n                        : move_2 = > : WRAP,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.8038809299468994,\n                        : weight_kg = > 4.98239803314209,\n                        : individual_attack = > 2,\n                        : individual_defense = > 7,\n                        : individual_stamina = > 14,\n                        : cp_multiplier = > 0.5822789072990417,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469610924460,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469611008428,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_MAGIKARP,\n                        : candy = > 51\n                    }\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 5370275578596206662,\n                        : pokemon_id = > : RATICATE,\n                        : cp = > 355,\n                        : stamina = > 47,\n                        : stamina_max = > 47,\n                        : move_1 = > : QUICK_ATTACK_FAST,\n                        : move_2 = > : HYPER_FANG,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.5520833134651184,\n                        : weight_kg = > 9.685041427612305,\n                        : individual_attack = > 14,\n                        : individual_defense = > 13,\n                        : individual_stamina = > 9,\n                        : cp_multiplier = > 0.39956727623939514,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469485289440,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 3793975275022049471,\n                        : pokemon_id = > : MISSINGNO,\n                        : cp = > 0,\n                        : stamina = > 0,\n                        : stamina_max = > 0,\n                        : move_1 = > : MOVE_UNSET,\n                        : move_2 = > : MOVE_UNSET,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > true,\n                        : egg_km_walked_target = > 5.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.0,\n                        : weight_kg = > 0.0,\n                        : individual_attack = > 0,\n                        : individual_defense = > 0,\n                        : individual_stamina = > 0,\n                        : cp_multiplier = > 0.0,\n                        : pokeball = > : ITEM_UNKNOWN,\n                        : captured_cell_id = > 9926594335857442816,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469432937148,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469610716701,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 6835816060346598317,\n                        : pokemon_id = > : POLIWAG,\n                        : cp = > 432,\n                        : stamina = > 56,\n                        : stamina_max = > 56,\n                        : move_1 = > : BUBBLE_FAST,\n                        : move_2 = > : BUBBLE_BEAM,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.5963006615638733,\n                        : weight_kg = > 12.986034393310547,\n                        : individual_attack = > 6,\n                        : individual_defense = > 12,\n                        : individual_stamina = > 13,\n                        : cp_multiplier = > 0.6121572852134705,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469610716683,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469578986245,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 11919685908902318370,\n                        : pokemon_id = > : PIDGEY,\n                        : cp = > 320,\n                        : stamina = > 48,\n                        : stamina_max = > 48,\n                        : move_1 = > : QUICK_ATTACK_FAST,\n                        : move_2 = > : TWISTER,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.33055809140205383,\n                        : weight_kg = > 2.109055995941162,\n                        : individual_attack = > 10,\n                        : individual_defense = > 1,\n                        : individual_stamina = > 2,\n                        : cp_multiplier = > 0.5974000096321106,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469578986118,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > {: item_id = > : ITEM_INCUBATOR_BASIC_UNLIMITED,\n                        : count = > 1,\n                        : unseen = > true\n                    },\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 10019888852942530360,\n                        : pokemon_id = > : GOLBAT,\n                        : cp = > 79,\n                        : stamina = > 25,\n                        : stamina_max = > 25,\n                        : move_1 = > : BITE_FAST,\n                        : move_2 = > : POISON_FANG,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.7182151079177856,\n                        : weight_kg = > 69.26636505126953,\n                        : individual_attack = > 13,\n                        : individual_defense = > 10,\n                        : individual_stamina = > 1,\n                        : cp_multiplier = > 0.16639786958694458,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926768108050055168,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1468564687462,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 1\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612474457,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 10603848899995452135,\n                        : pokemon_id = > : TENTACOOL,\n                        : cp = > 374,\n                        : stamina = > 49,\n                        : stamina_max = > 49,\n                        : move_1 = > : BUBBLE_FAST,\n                        : move_2 = > : WRAP,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.0598448514938354,\n                        : weight_kg = > 68.21902465820312,\n                        : individual_attack = > 4,\n                        : individual_defense = > 4,\n                        : individual_stamina = > 10,\n                        : cp_multiplier = > 0.5507926940917969,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469612474438,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 15628969499282389878,\n                        : pokemon_id = > : KRABBY,\n                        : cp = > 321,\n                        : stamina = > 38,\n                        : stamina_max = > 38,\n                        : move_1 = > : BUBBLE_FAST,\n                        : move_2 = > : WATER_PULSE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.3447832763195038,\n                        : weight_kg = > 6.833083629608154,\n                        : individual_attack = > 11,\n                        : individual_defense = > 11,\n                        : individual_stamina = > 14,\n                        : cp_multiplier = > 0.517393946647644,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469499005115,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612567784,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 13919449660183005152,\n                        : pokemon_id = > : CUBONE,\n                        : cp = > 377,\n                        : stamina = > 54,\n                        : stamina_max = > 54,\n                        : move_1 = > : ROCK_SMASH_FAST,\n                        : move_2 = > : DIG,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.412319153547287,\n                        : weight_kg = > 6.326006889343262,\n                        : individual_attack = > 14,\n                        : individual_defense = > 6,\n                        : individual_stamina = > 9,\n                        : cp_multiplier = > 0.49985843896865845,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469612567458,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : BULBASAUR,\n                        : times_encountered = > 4,\n                        : times_captured = > 4,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612209353,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 3158686414966454905,\n                        : pokemon_id = > : SANDSHREW,\n                        : cp = > 316,\n                        : stamina = > 59,\n                        : stamina_max = > 59,\n                        : move_1 = > : SCRATCH_FAST,\n                        : move_2 = > : ROCK_SLIDE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.5769261717796326,\n                        : weight_kg = > 8.604209899902344,\n                        : individual_attack = > 3,\n                        : individual_defense = > 14,\n                        : individual_stamina = > 11,\n                        : cp_multiplier = > 0.5343543291091919,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469612209338,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469565109959,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > {: item_id = > : ITEM_INCUBATOR_BASIC,\n                        : count = > 5,\n                        : unseen = > false\n                    },\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469610489525,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : SQUIRTLE,\n                        : times_encountered = > 2,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594491659,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : CATERPIE,\n                        : times_encountered = > 27,\n                        : times_captured = > 27,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : METAPOD,\n                        : times_encountered = > 1,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469610530517,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : WEEDLE,\n                        : times_encountered = > 49,\n                        : times_captured = > 43,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : BEEDRILL,\n                        : times_encountered = > 1,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 16463836567791540864,\n                        : pokemon_id = > : RATTATA,\n                        : cp = > 227,\n                        : stamina = > 34,\n                        : stamina_max = > 34,\n                        : move_1 = > : QUICK_ATTACK_FAST,\n                        : move_2 = > : HYPER_FANG,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.3586999773979187,\n                        : weight_kg = > 4.771193027496338,\n                        : individual_attack = > 13,\n                        : individual_defense = > 12,\n                        : individual_stamina = > 7,\n                        : cp_multiplier = > 0.517393946647644,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469492425236,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469613321959,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : PIDGEY,\n                        : times_encountered = > 167,\n                        : times_captured = > 156,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469584707529,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : PIDGEOTTO,\n                        : times_encountered = > 17,\n                        : times_captured = > 13,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : PIDGEOT,\n                        : times_encountered = > 1,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 13836296293928648534,\n                        : pokemon_id = > : ABRA,\n                        : cp = > 237,\n                        : stamina = > 28,\n                        : stamina_max = > 28,\n                        : move_1 = > : ZEN_HEADBUTT_FAST,\n                        : move_2 = > : SIGNAL_BEAM,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.0299923419952393,\n                        : weight_kg = > 27.773571014404297,\n                        : individual_attack = > 13,\n                        : individual_defense = > 2,\n                        : individual_stamina = > 2,\n                        : cp_multiplier = > 0.5507926940917969,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469512573004,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594158434,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : RATTATA,\n                        : times_encountered = > 126,\n                        : times_captured = > 120,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469577166875,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : RATICATE,\n                        : times_encountered = > 5,\n                        : times_captured = > 4,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594491659,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 17917206202237316046,\n                        : pokemon_id = > : CATERPIE,\n                        : cp = > 185,\n                        : stamina = > 48,\n                        : stamina_max = > 48,\n                        : move_1 = > : BUG_BITE_FAST,\n                        : move_2 = > : STRUGGLE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.30339962244033813,\n                        : weight_kg = > 3.112927198410034,\n                        : individual_attack = > 15,\n                        : individual_defense = > 13,\n                        : individual_stamina = > 0,\n                        : cp_multiplier = > 0.5343543291091919,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469594491645,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594971937,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : SPEAROW,\n                        : times_encountered = > 79,\n                        : times_captured = > 78,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469592225534,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : FEAROW,\n                        : times_encountered = > 3,\n                        : times_captured = > 3,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469610924482,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : EKANS,\n                        : times_encountered = > 11,\n                        : times_captured = > 8,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : PIKACHU,\n                        : times_encountered = > 1,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612073856,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > {: item_id = > : ITEM_REVIVE,\n                        : count = > 43,\n                        : unseen = > false\n                    },\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469613126152,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : SANDSHREW,\n                        : times_encountered = > 9,\n                        : times_captured = > 8,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469592912713,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : NIDORAN_FEMALE,\n                        : times_encountered = > 15,\n                        : times_captured = > 14,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : NIDORINA,\n                        : times_encountered = > 1,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469593431908,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : NIDORAN_MALE,\n                        : times_encountered = > 12,\n                        : times_captured = > 12,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469613155693,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_EEVEE,\n                        : candy = > 137\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469576353613,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : NIDORINO,\n                        : times_encountered = > 1,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : CLEFAIRY,\n                        : times_encountered = > 4,\n                        : times_captured = > 4,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : VULPIX,\n                        : times_encountered = > 2,\n                        : times_captured = > 2,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612391196,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : ZUBAT,\n                        : times_encountered = > 19,\n                        : times_captured = > 18,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : GOLBAT,\n                        : times_encountered = > 2,\n                        : times_captured = > 2,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469576960797,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : ODDISH,\n                        : times_encountered = > 14,\n                        : times_captured = > 14,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 8193767166223962436,\n                        : pokemon_id = > : MISSINGNO,\n                        : cp = > 0,\n                        : stamina = > 0,\n                        : stamina_max = > 0,\n                        : move_1 = > : MOVE_UNSET,\n                        : move_2 = > : MOVE_UNSET,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > true,\n                        : egg_km_walked_target = > 5.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.0,\n                        : weight_kg = > 0.0,\n                        : individual_attack = > 0,\n                        : individual_defense = > 0,\n                        : individual_stamina = > 0,\n                        : cp_multiplier = > 0.0,\n                        : pokeball = > : ITEM_UNKNOWN,\n                        : captured_cell_id = > 9926594328962007040,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469432771162,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469563559849,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : GLOOM,\n                        : times_encountered = > 2,\n                        : times_captured = > 2,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469580464740,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : PARAS,\n                        : times_encountered = > 18,\n                        : times_captured = > 17,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : PARASECT,\n                        : times_encountered = > 1,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469580889701,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : VENONAT,\n                        : times_encountered = > 39,\n                        : times_captured = > 37,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469570619716,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : VENOMOTH,\n                        : times_encountered = > 1,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469574478362,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 10515961026203943720,\n                        : pokemon_id = > : SLOWPOKE,\n                        : cp = > 499,\n                        : stamina = > 98,\n                        : stamina_max = > 98,\n                        : move_1 = > : CONFUSION_FAST,\n                        : move_2 = > : PSYSHOCK,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.0917197465896606,\n                        : weight_kg = > 33.1213264465332,\n                        : individual_attack = > 5,\n                        : individual_defense = > 15,\n                        : individual_stamina = > 5,\n                        : cp_multiplier = > 0.5343543291091919,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469574478259,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469576391036,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : MEOWTH,\n                        : times_encountered = > 4,\n                        : times_captured = > 3,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469613006354,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : PSYDUCK,\n                        : times_encountered = > 4,\n                        : times_captured = > 3,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612364222,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : MANKEY,\n                        : times_encountered = > 4,\n                        : times_captured = > 4,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612521462,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : GROWLITHE,\n                        : times_encountered = > 4,\n                        : times_captured = > 4,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469610716701,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : POLIWAG,\n                        : times_encountered = > 17,\n                        : times_captured = > 15,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : POLIWHIRL,\n                        : times_encountered = > 1,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612381097,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : ABRA,\n                        : times_encountered = > 2,\n                        : times_captured = > 2,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : KADABRA,\n                        : times_encountered = > 1,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469613287840,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : MACHOP,\n                        : times_encountered = > 3,\n                        : times_captured = > 3,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612222829,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 5750777597796887652,\n                        : pokemon_id = > : ZUBAT,\n                        : cp = > 253,\n                        : stamina = > 46,\n                        : stamina_max = > 46,\n                        : move_1 = > : BITE_FAST,\n                        : move_2 = > : SLUDGE_BOMB,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.7088386416435242,\n                        : weight_kg = > 5.864340305328369,\n                        : individual_attack = > 5,\n                        : individual_defense = > 15,\n                        : individual_stamina = > 7,\n                        : cp_multiplier = > 0.5343543291091919,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469612222815,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594569537,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : BELLSPROUT,\n                        : times_encountered = > 11,\n                        : times_captured = > 9,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : VICTREEBEL,\n                        : times_encountered = > 1,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612474457,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : TENTACOOL,\n                        : times_encountered = > 5,\n                        : times_captured = > 4,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612585962,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : GEODUDE,\n                        : times_encountered = > 8,\n                        : times_captured = > 8,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : GRAVELER,\n                        : times_encountered = > 1,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612542233,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : PONYTA,\n                        : times_encountered = > 5,\n                        : times_captured = > 5,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469576406813,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : SLOWPOKE,\n                        : times_encountered = > 6,\n                        : times_captured = > 6,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 4469177793112414160,\n                        : pokemon_id = > : HITMONCHAN,\n                        : cp = > 153,\n                        : stamina = > 28,\n                        : stamina_max = > 28,\n                        : move_1 = > : ROCK_SMASH_FAST,\n                        : move_2 = > : FIRE_PUNCH,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.7162479162216187,\n                        : weight_kg = > 73.63561248779297,\n                        : individual_attack = > 11,\n                        : individual_defense = > 15,\n                        : individual_stamina = > 13,\n                        : cp_multiplier = > 0.2557200491428375,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469483580119,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469582134717,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : MAGNEMITE,\n                        : times_encountered = > 1,\n                        : times_captured = > 0,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469611032243,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 3480948103910882127,\n                        : pokemon_id = > : TENTACOOL,\n                        : cp = > 466,\n                        : stamina = > 54,\n                        : stamina_max = > 54,\n                        : move_1 = > : POISON_STING_FAST,\n                        : move_2 = > : BUBBLE_BEAM,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.8698435425758362,\n                        : weight_kg = > 45.85624694824219,\n                        : individual_attack = > 6,\n                        : individual_defense = > 3,\n                        : individual_stamina = > 9,\n                        : cp_multiplier = > 0.6121572852134705,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469611032226,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594955503,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : DODUO,\n                        : times_encountered = > 44,\n                        : times_captured = > 42,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594587321,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : DODRIO,\n                        : times_encountered = > 4,\n                        : times_captured = > 3,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469610477005,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : SEEL,\n                        : times_encountered = > 1,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469610392582,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : SHELLDER,\n                        : times_encountered = > 5,\n                        : times_captured = > 4,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469571866225,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : GASTLY,\n                        : times_encountered = > 3,\n                        : times_captured = > 3,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 2613636142211559012,\n                        : pokemon_id = > : GASTLY,\n                        : cp = > 335,\n                        : stamina = > 39,\n                        : stamina_max = > 39,\n                        : move_1 = > : LICK_FAST,\n                        : move_2 = > : DARK_PULSE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.2047713994979858,\n                        : weight_kg = > 0.09057753533124924,\n                        : individual_attack = > 6,\n                        : individual_defense = > 2,\n                        : individual_stamina = > 12,\n                        : cp_multiplier = > 0.5507926940917969,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469492948090,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594955503,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 14202346582350437944,\n                        : pokemon_id = > : DODUO,\n                        : cp = > 323,\n                        : stamina = > 39,\n                        : stamina_max = > 39,\n                        : move_1 = > : QUICK_ATTACK_FAST,\n                        : move_2 = > : DRILL_PECK,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.251415729522705,\n                        : weight_kg = > 27.959596633911133,\n                        : individual_attack = > 15,\n                        : individual_defense = > 11,\n                        : individual_stamina = > 9,\n                        : cp_multiplier = > 0.49985843896865845,\n                        : pokeball = > : ITEM_ULTRA_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469594955489,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469586191357,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : KRABBY,\n                        : times_encountered = > 16,\n                        : times_captured = > 14,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594262072,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : EXEGGCUTE,\n                        : times_encountered = > 13,\n                        : times_captured = > 13,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612567784,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : CUBONE,\n                        : times_encountered = > 1,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : HITMONCHAN,\n                        : times_encountered = > 1,\n                        : times_captured = > 1,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469611113697,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : RHYHORN,\n                        : times_encountered = > 3,\n                        : times_captured = > 3,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469580818665,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 13663340479458340847,\n                        : pokemon_id = > : SPEAROW,\n                        : cp = > 350,\n                        : stamina = > 53,\n                        : stamina_max = > 53,\n                        : move_1 = > : QUICK_ATTACK_FAST,\n                        : move_2 = > : DRILL_PECK,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.27183449268341064,\n                        : weight_kg = > 1.6688969135284424,\n                        : individual_attack = > 15,\n                        : individual_defense = > 1,\n                        : individual_stamina = > 9,\n                        : cp_multiplier = > 0.5974000096321106,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469580818647,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469572062441,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : TANGELA,\n                        : times_encountered = > 2,\n                        : times_captured = > 2,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594922153,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : HORSEA,\n                        : times_encountered = > 11,\n                        : times_captured = > 11,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612490416,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : GOLDEEN,\n                        : times_encountered = > 10,\n                        : times_captured = > 10,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469610783610,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : STARYU,\n                        : times_encountered = > 12,\n                        : times_captured = > 12,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594863504,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : STARMIE,\n                        : times_encountered = > 2,\n                        : times_captured = > 2,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469575679219,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 12580399318176540635,\n                        : pokemon_id = > : CATERPIE,\n                        : cp = > 200,\n                        : stamina = > 53,\n                        : stamina_max = > 53,\n                        : move_1 = > : BUG_BITE_FAST,\n                        : move_2 = > : STRUGGLE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.29614362120628357,\n                        : weight_kg = > 3.215764045715332,\n                        : individual_attack = > 11,\n                        : individual_defense = > 0,\n                        : individual_stamina = > 0,\n                        : cp_multiplier = > 0.5974000096321106,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469575679063,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469611096918,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : SCYTHER,\n                        : times_encountered = > 3,\n                        : times_captured = > 3,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469595003583,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : PINSIR,\n                        : times_encountered = > 246,\n                        : times_captured = > 226,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 14507605866561697786,\n                        : pokemon_id = > : CLEFAIRY,\n                        : cp = > 47,\n                        : stamina = > 24,\n                        : stamina_max = > 24,\n                        : move_1 = > : POUND_FAST,\n                        : move_2 = > : DISARMING_VOICE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.570200502872467,\n                        : weight_kg = > 5.951809883117676,\n                        : individual_attack = > 4,\n                        : individual_defense = > 12,\n                        : individual_stamina = > 8,\n                        : cp_multiplier = > 0.16639786958694458,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926768108050055168,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1468564995003,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 1\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469572062441,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 4742267705770833577,\n                        : pokemon_id = > : TANGELA,\n                        : cp = > 726,\n                        : stamina = > 74,\n                        : stamina_max = > 74,\n                        : move_1 = > : VINE_WHIP_FAST,\n                        : move_2 = > : SOLAR_BEAM,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.9941824078559875,\n                        : weight_kg = > 37.61530685424805,\n                        : individual_attack = > 12,\n                        : individual_defense = > 13,\n                        : individual_stamina = > 14,\n                        : cp_multiplier = > 0.517393946647644,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469572062427,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 17592542093351157912,\n                        : pokemon_id = > : STARYU,\n                        : cp = > 409,\n                        : stamina = > 40,\n                        : stamina_max = > 40,\n                        : move_1 = > : WATER_GUN_FAST,\n                        : move_2 = > : BUBBLE_BEAM,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.8153171539306641,\n                        : weight_kg = > 41.77201843261719,\n                        : individual_attack = > 7,\n                        : individual_defense = > 3,\n                        : individual_stamina = > 14,\n                        : cp_multiplier = > 0.5507926940917969,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469493348474,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 16439352048067385754,\n                        : pokemon_id = > : MISSINGNO,\n                        : cp = > 0,\n                        : stamina = > 0,\n                        : stamina_max = > 0,\n                        : move_1 = > : MOVE_UNSET,\n                        : move_2 = > : MOVE_UNSET,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > true,\n                        : egg_km_walked_target = > 2.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.0,\n                        : weight_kg = > 0.0,\n                        : individual_attack = > 0,\n                        : individual_defense = > 0,\n                        : individual_stamina = > 0,\n                        : cp_multiplier = > 0.0,\n                        : pokeball = > : ITEM_UNKNOWN,\n                        : captured_cell_id = > 9926594328962007040,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469433634637,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469565109959,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > {: item_id = > : ITEM_LUCKY_EGG,\n                        : count = > 4,\n                        : unseen = > false\n                    },\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612961869,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_OMANYTE,\n                        : candy = > 3\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469594429713,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 7207764260469561231,\n                        : pokemon_id = > : PINSIR,\n                        : cp = > 981,\n                        : stamina = > 79,\n                        : stamina_max = > 79,\n                        : move_1 = > : FURY_CUTTER_FAST,\n                        : move_2 = > : VICE_GRIP,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.5940213203430176,\n                        : weight_kg = > 67.22589874267578,\n                        : individual_attack = > 12,\n                        : individual_defense = > 2,\n                        : individual_stamina = > 15,\n                        : cp_multiplier = > 0.5507926940917969,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469594429694,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469579087819,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 11730738791089550336,\n                        : pokemon_id = > : EEVEE,\n                        : cp = > 536,\n                        : stamina = > 74,\n                        : stamina_max = > 74,\n                        : move_1 = > : TACKLE_FAST,\n                        : move_2 = > : SWIFT,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.31284084916114807,\n                        : weight_kg = > 7.515275001525879,\n                        : individual_attack = > 4,\n                        : individual_defense = > 2,\n                        : individual_stamina = > 15,\n                        : cp_multiplier = > 0.5974000096321106,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469579087804,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594241549,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 15979218352022875430,\n                        : pokemon_id = > : WEEDLE,\n                        : cp = > 184,\n                        : stamina = > 47,\n                        : stamina_max = > 47,\n                        : move_1 = > : POISON_STING_FAST,\n                        : move_2 = > : STRUGGLE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.2974519729614258,\n                        : weight_kg = > 3.0197834968566895,\n                        : individual_attack = > 5,\n                        : individual_defense = > 4,\n                        : individual_stamina = > 2,\n                        : cp_multiplier = > 0.5822789072990417,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469594241532,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594587321,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 5938863176691779223,\n                        : pokemon_id = > : DODRIO,\n                        : cp = > 770,\n                        : stamina = > 67,\n                        : stamina_max = > 67,\n                        : move_1 = > : FEINT_ATTACK_FAST,\n                        : move_2 = > : DRILL_PECK,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 2.0002217292785645,\n                        : weight_kg = > 93.39051055908203,\n                        : individual_attack = > 15,\n                        : individual_defense = > 13,\n                        : individual_stamina = > 11,\n                        : cp_multiplier = > 0.517393946647644,\n                        : pokeball = > : ITEM_ULTRA_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469594587304,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 12979860036842746569,\n                        : pokemon_id = > : KABUTO,\n                        : cp = > 388,\n                        : stamina = > 36,\n                        : stamina_max = > 36,\n                        : move_1 = > : MUD_SHOT_FAST,\n                        : move_2 = > : AQUA_JET,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.5005674958229065,\n                        : weight_kg = > 12.425260543823242,\n                        : individual_attack = > 12,\n                        : individual_defense = > 4,\n                        : individual_stamina = > 15,\n                        : cp_multiplier = > 0.48168495297431946,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469485741031,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 4214839585629603501,\n                        : pokemon_id = > : MISSINGNO,\n                        : cp = > 0,\n                        : stamina = > 0,\n                        : stamina_max = > 0,\n                        : move_1 = > : MOVE_UNSET,\n                        : move_2 = > : MOVE_UNSET,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > true,\n                        : egg_km_walked_target = > 5.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.0,\n                        : weight_kg = > 0.0,\n                        : individual_attack = > 0,\n                        : individual_defense = > 0,\n                        : individual_stamina = > 0,\n                        : cp_multiplier = > 0.0,\n                        : pokeball = > : ITEM_UNKNOWN,\n                        : captured_cell_id = > 9926594332600565760,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469431811528,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469611113697,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 16823160298224107515,\n                        : pokemon_id = > : RHYHORN,\n                        : cp = > 626,\n                        : stamina = > 101,\n                        : stamina_max = > 101,\n                        : move_1 = > : ROCK_SMASH_FAST,\n                        : move_2 = > : STOMP,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.2605830430984497,\n                        : weight_kg = > 183.986572265625,\n                        : individual_attack = > 14,\n                        : individual_defense = > 11,\n                        : individual_stamina = > 15,\n                        : cp_multiplier = > 0.5822789072990417,\n                        : pokeball = > : ITEM_ULTRA_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469611113589,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > {: item = > [{: item_id = > : ITEM_LUCKY_EGG,\n                            : item_type = > : ITEM_TYPE_XP_BOOST,\n                            : expire_ms = > 1469500726973,\n                            : applied_ms = > 1469498926973\n                        }]\n                    },\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 5872814925393826260,\n                        : pokemon_id = > : PINSIR,\n                        : cp = > 881,\n                        : stamina = > 72,\n                        : stamina_max = > 72,\n                        : move_1 = > : FURY_CUTTER_FAST,\n                        : move_2 = > : X_SCISSOR,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.4525721073150635,\n                        : weight_kg = > 54.28315353393555,\n                        : individual_attack = > 0,\n                        : individual_defense = > 3,\n                        : individual_stamina = > 2,\n                        : cp_multiplier = > 0.5507926940917969,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469492330439,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 13447341117205270782,\n                        : pokemon_id = > : TAUROS,\n                        : cp = > 886,\n                        : stamina = > 90,\n                        : stamina_max = > 90,\n                        : move_1 = > : ZEN_HEADBUTT_FAST,\n                        : move_2 = > : EARTHQUAKE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.401257038116455,\n                        : weight_kg = > 82.9126205444336,\n                        : individual_attack = > 15,\n                        : individual_defense = > 11,\n                        : individual_stamina = > 15,\n                        : cp_multiplier = > 0.5507926940917969,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469511126804,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612971542,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > {: family_id = > : FAMILY_KABUTO,\n                        : candy = > 14\n                    }\n                }\n            }, {: modified_timestamp_ms = > 1469613321959,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > {: level = > 21,\n                        : experience = > 288925,\n                        : prev_level_xp = > 210000,\n                        : next_level_xp = > 335000,\n                        : km_walked = > 90.0035629272461,\n                        : pokemons_encountered = > 1147,\n                        : unique_pokedex_entries = > 68,\n                        : pokemons_captured = > 1071,\n                        : evolutions = > 1,\n                        : poke_stop_visits = > 439,\n                        : pokeballs_thrown = > 1211,\n                        : eggs_hatched = > 0,\n                        : big_magikarp_caught = > 5,\n                        : battle_attack_won = > 0,\n                        : battle_attack_total = > 0,\n                        : battle_defended_won = > 0,\n                        : battle_training_won = > 0,\n                        : battle_training_total = > 0,\n                        : prestige_raised_total = > 0,\n                        : prestige_dropped_total = > 0,\n                        : pokemon_deployed = > 0,\n                        : pokemon_caught_by_type = > \"\\x00\\xCD\\x03\\b\\xBF\\x02\\xAF\\x01\\x15\\x11\\xE5\\x02\\x03\\x00\\vf?\\x00\\x18\\x00\\x00\\x00\\x04\",\n                        : small_rattata_caught = > 12\n                    },\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 8865689644524795321,\n                        : pokemon_id = > : MISSINGNO,\n                        : cp = > 0,\n                        : stamina = > 0,\n                        : stamina_max = > 0,\n                        : move_1 = > : MOVE_UNSET,\n                        : move_2 = > : MOVE_UNSET,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > true,\n                        : egg_km_walked_target = > 5.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.0,\n                        : weight_kg = > 0.0,\n                        : individual_attack = > 0,\n                        : individual_defense = > 0,\n                        : individual_stamina = > 0,\n                        : cp_multiplier = > 0.0,\n                        : pokeball = > : ITEM_UNKNOWN,\n                        : captured_cell_id = > 9263827943183876096,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469354750936,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 5441307319817809929,\n                        : pokemon_id = > : MISSINGNO,\n                        : cp = > 0,\n                        : stamina = > 0,\n                        : stamina_max = > 0,\n                        : move_1 = > : MOVE_UNSET,\n                        : move_2 = > : MOVE_UNSET,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > true,\n                        : egg_km_walked_target = > 5.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.0,\n                        : weight_kg = > 0.0,\n                        : individual_attack = > 0,\n                        : individual_defense = > 0,\n                        : individual_stamina = > 0,\n                        : cp_multiplier = > 0.0,\n                        : pokeball = > : ITEM_UNKNOWN,\n                        : captured_cell_id = > 9926594326617391104,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469431565630,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469594830691,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 15829814738448653846,\n                        : pokemon_id = > : HORSEA,\n                        : cp = > 356,\n                        : stamina = > 40,\n                        : stamina_max = > 40,\n                        : move_1 = > : BUBBLE_FAST,\n                        : move_2 = > : FLASH_CANNON,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.3458196222782135,\n                        : weight_kg = > 5.476642608642578,\n                        : individual_attack = > 11,\n                        : individual_defense = > 7,\n                        : individual_stamina = > 13,\n                        : cp_multiplier = > 0.5507926940917969,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469594830584,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469612426513,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 11410443841798111170,\n                        : pokemon_id = > : KABUTO,\n                        : cp = > 313,\n                        : stamina = > 31,\n                        : stamina_max = > 31,\n                        : move_1 = > : MUD_SHOT_FAST,\n                        : move_2 = > : AQUA_JET,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.4974691867828369,\n                        : weight_kg = > 10.59300708770752,\n                        : individual_attack = > 15,\n                        : individual_defense = > 13,\n                        : individual_stamina = > 15,\n                        : cp_multiplier = > 0.42250001430511475,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469612426497,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469575041841,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 3264527721631504385,\n                        : pokemon_id = > : BELLSPROUT,\n                        : cp = > 506,\n                        : stamina = > 64,\n                        : stamina_max = > 64,\n                        : move_1 = > : VINE_WHIP_FAST,\n                        : move_2 = > : SLUDGE_BOMB,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.5935359597206116,\n                        : weight_kg = > 2.3068087100982666,\n                        : individual_attack = > 6,\n                        : individual_defense = > 3,\n                        : individual_stamina = > 14,\n                        : cp_multiplier = > 0.5667545199394226,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469575041729,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469593320283,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 3134191922305934012,\n                        : pokemon_id = > : ZUBAT,\n                        : cp = > 285,\n                        : stamina = > 48,\n                        : stamina_max = > 48,\n                        : move_1 = > : BITE_FAST,\n                        : move_2 = > : AIR_CUTTER,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.849702775478363,\n                        : weight_kg = > 8.289292335510254,\n                        : individual_attack = > 12,\n                        : individual_defense = > 2,\n                        : individual_stamina = > 6,\n                        : cp_multiplier = > 0.5667545199394226,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469593320261,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 17031495036181643285,\n                        : pokemon_id = > : MAGIKARP,\n                        : cp = > 79,\n                        : stamina = > 24,\n                        : stamina_max = > 24,\n                        : move_1 = > : SPLASH_FAST,\n                        : move_2 = > : STRUGGLE,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.8307059407234192,\n                        : weight_kg = > 9.323119163513184,\n                        : individual_attack = > 15,\n                        : individual_defense = > 8,\n                        : individual_stamina = > 15,\n                        : cp_multiplier = > 0.443107545375824,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469481688962,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 6361969809752076429,\n                        : pokemon_id = > : BULBASAUR,\n                        : cp = > 472,\n                        : stamina = > 51,\n                        : stamina_max = > 51,\n                        : move_1 = > : TACKLE_FAST,\n                        : move_2 = > : SLUDGE_BOMB,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.7665541768074036,\n                        : weight_kg = > 8.745694160461426,\n                        : individual_attack = > 6,\n                        : individual_defense = > 12,\n                        : individual_stamina = > 0,\n                        : cp_multiplier = > 0.5667545199394226,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469511075834,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : TAUROS,\n                        : times_encountered = > 3,\n                        : times_captured = > 3,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469565109959,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > {: item_id = > : ITEM_INCENSE_ORDINARY,\n                        : count = > 8,\n                        : unseen = > false\n                    },\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 0,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 18326280009382142174,\n                        : pokemon_id = > : VENONAT,\n                        : cp = > 520,\n                        : stamina = > 77,\n                        : stamina_max = > 77,\n                        : move_1 = > : CONFUSION_FAST,\n                        : move_2 = > : SIGNAL_BEAM,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.5988808870315552,\n                        : weight_kg = > 12.57804012298584,\n                        : individual_attack = > 12,\n                        : individual_defense = > 5,\n                        : individual_stamina = > 13,\n                        : cp_multiplier = > 0.5822789072990417,\n                        : pokeball = > : ITEM_GREAT_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469557142289,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469575783066,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 3313172685269327484,\n                        : pokemon_id = > : PARAS,\n                        : cp = > 454,\n                        : stamina = > 47,\n                        : stamina_max = > 47,\n                        : move_1 = > : SCRATCH_FAST,\n                        : move_2 = > : CROSS_POISON,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 0.2657431960105896,\n                        : weight_kg = > 4.843122482299805,\n                        : individual_attack = > 11,\n                        : individual_defense = > 4,\n                        : individual_stamina = > 12,\n                        : cp_multiplier = > 0.5822789072990417,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9926594385212866560,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469575782960,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469611125491,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > nil,\n                    : pokedex_entry = > {: pokemon_id = > : MAGIKARP,\n                        : times_encountered = > 16,\n                        : times_captured = > 13,\n                        : evolution_stone_pieces = > 0,\n                        : evolution_stones = > 0\n                    },\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469610509743,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > {: id = > 11604784764748117219,\n                        : pokemon_id = > : TENTACOOL,\n                        : cp = > 12,\n                        : stamina = > 10,\n                        : stamina_max = > 10,\n                        : move_1 = > : POISON_STING_FAST,\n                        : move_2 = > : WRAP,\n                        : deployed_fort_id = > \"\",\n                        : owner_name = > \"\",\n                        : is_egg = > false,\n                        : egg_km_walked_target = > 0.0,\n                        : egg_km_walked_start = > 0.0,\n                        : origin = > 0,\n                        : height_m = > 1.0772191286087036,\n                        : weight_kg = > 59.83564376831055,\n                        : individual_attack = > 14,\n                        : individual_defense = > 12,\n                        : individual_stamina = > 10,\n                        : cp_multiplier = > 0.09399999678134918,\n                        : pokeball = > : ITEM_POKE_BALL,\n                        : captured_cell_id = > 9285299830266003456,\n                        : battles_attacked = > 0,\n                        : battles_defended = > 0,\n                        : egg_incubator_id = > \"\",\n                        : creation_time_ms = > 1469610509723,\n                        : num_upgrades = > 0,\n                        : additional_cp_multiplier = > 0.0,\n                        : favorite = > 0,\n                        : nickname = > \"\",\n                        : from_fort = > 0\n                    },\n                    : item = > nil,\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }, {: modified_timestamp_ms = > 1469565109959,\n                : deleted_item_key = > 0,\n                : inventory_item_data = > {: pokemon_data = > nil,\n                    : item = > {: item_id = > : ITEM_TROY_DISK,\n                        : count = > 5,\n                        : unseen = > false\n                    },\n                    : pokedex_entry = > nil,\n                    : player_stats = > nil,\n                    : player_currency = > nil,\n                    : player_camera = > nil,\n                    : inventory_upgrades = > nil,\n                    : applied_items = > nil,\n                    : egg_incubators = > nil,\n                    : pokemon_family = > nil\n                }\n            }]\n        }\n    },\n    : api_url = > \"pgorelease.nianticlabs.com/plfe/210\"\n}\n"
  },
  {
    "path": "Gemfile",
    "content": "source 'https://rubygems.org'\n\ngem 'angularjs-rails', '~> 1.5', '>= 1.5.6'\ngem 'will_paginate',           '3.1.0'\ngem 'bootstrap-will_paginate', '0.0.10'\ngem 'zeroclipboard-rails', '~> 0.1.2'\ngem 'jquery-tablesorter', '~> 1.22', '>= 1.22.1'\n# Scheduler\ngem 'whenever', :require => false\n# For awesome developer fonts\ngem \"font-awesome-rails\"\n# For awesome bootstrap social buttons\ngem 'bootstrap-social-rails'\n# For token scraping for google login\ngem 'httpclient'\n# bootstrap\ngem 'bootstrap-sass'\n# poke-api\ngem 'poke-go-api',\n  git: \"https://github.com/nabeelamjad/poke-api.git\",\n  tag: '0.2.1'\n# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'\ngem 'rails', '~> 5.0.0'\n# Use Puma as the app server\ngem 'puma', '~> 3.0'\n# Use SCSS for stylesheets\ngem 'sass-rails', '~> 5.0'\n# Use Uglifier as compressor for JavaScript assets\ngem 'uglifier', '>= 1.3.0'\n# Use CoffeeScript for .coffee assets and views\ngem 'coffee-rails', '~> 4.2'\n# See https://github.com/rails/execjs#readme for more supported runtimes\n# gem 'therubyracer', platforms: :ruby\n\n# Use jquery as the JavaScript library\ngem 'jquery-rails'\n# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks\ngem 'turbolinks', '~> 5'\n# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder\ngem 'jbuilder', '~> 2.5'\n# Use Redis adapter to run Action Cable in production\n# gem 'redis', '~> 3.0'\n# Use ActiveModel has_secure_password\n# gem 'bcrypt', '~> 3.1.7'\n\ngroup :development, :test do\n  # Call 'byebug' anywhere in the code to stop execution and get a debugger console\n  gem 'byebug', platform: :mri\nend\n\ngroup :development do\n  # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.\n  gem 'web-console'\n  gem 'listen', '~> 3.0.5'\n  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring\n  gem 'spring'\n  gem 'spring-watcher-listen', '~> 2.0.0'\n  gem 'sqlite3'\n  # for GCE deploy\n  gem 'capistrano', '~> 3.6'\n  gem 'capistrano-rails', '~> 1.1', '>= 1.1.7'\n  gem 'capistrano-rvm', '~> 0.1.2'\n  gem 'capistrano-passenger'\n  gem 'capistrano-rails-collection'\nend\n\ngroup :production do\n  # Use postgres the database for Active Record\n  gem 'pg'\nend\n\n# Windows does not include zoneinfo files, so bundle the tzinfo-data gem\ngem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]\n"
  },
  {
    "path": "README.md",
    "content": "# PoGoBag\n\n**Analyze** and **Share** your PokemonGo Inventory online!\n\nFeel free to contribute and make pull request.\n\n<i><b>Use this at your own risk. PoGoBag is most likely against Niantic ToS. The owner is not responsible for the ramifications of using this project in any way</b></i>\n\n## To Setup:\n\n#### Requirements\n\n* Ruby\n* Git\n* Node.js\n* Gems: rails, bundler\n\n##### Windows:\n1) Install Ruby 2.2.5 http://rubyinstaller.org/downloads/ <br>\n<i>x64 for 64-bit system and regular install for 32-bit system</i> <br>\n2) Install Ruby DevKit http://rubyinstaller.org/downloads/ <br>\n<i>Same link but at the bottom. Follow same logic for x64 as the above step</i> <br>\n2a) Create a new directory to extract the Ruby DevKit into <RubyDev Path>\n2b) Run these commands:\n```\ncd <RubyDev Path>\nruby dk.rb init\nruby dk.rb install\n```\n3) Install Node.js 4.4.7 https://nodejs.org/en/ <br>\n4) Install Git https://git-scm.com/downloads <br>\n5) Run these two commands in terminal: <br>\n```\ngem install rails\ngem install bundler\n```\n##### Mac:\n1) Install Ruby with RVM <br>\n```\nruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"\nbrew -v\nbrew doctor\n\\curl -L https://get.rvm.io | bash -s stable\nrvm install 2.3.1\nrvm use 2.3.1 --default\nruby -v\n```\n2) Install Node.js: \"brew install node\" <br>\n3) Install Git: \"brew install git\" <br>\n4) Run these two commands: <br>\n```\ngem install rails\ngem install bundler\n```\n\n##### Ubuntu Server (16.04):\n1) Install Ruby and Ruby dev <br>\n```\nsudo apt-get install ruby ruby-dev -y\n```\n2) Install Node.js <br>\n```\nsudo apt-get install nodejs -y\n```\n3) Install git <br>\n```\nsudo apt-get install git -y\n```\n4) Run these two commands: <br>\n```\ngem install rails\ngem install bundler\n```\n\n#### Steps\n\n1) Open terminal and change direcotry into whichever directory you want to place the project in: \"cd ~\" (for home directory) <br>\n2) In that directory, clone the project <br>\n```\ngit clone https://github.com/dphuang2/PoGoBag.git \n```\n3) change directory into the project: \"cd PoGoBag\" <br>\n4) Install all dependencies:  <br>\n```\nbundle install --without production\n```\n5) Run database setup and start the server <br>\n```\nrake db:setup\nrails s\n```\n\n6) Open your browser and navigate to http://localhost:3000 <br>\n7) Login and browse your Pokemon!\n\n![Imgur](http://i.imgur.com/Yzz5ouC.png)\n\n#### How to setup auto refresh:\n\n1) Run \"whenever -w\" inside of the project directory\n\n#### How to access remotely (with ngrok):\n\n1) Download ngrok from https://ngrok.com/download <br>\n2) Unzip and put ngrok inside of the same directory as PoGoBag <br>\n3) Run \"rails s\" as usual inside of the project directory <br>\n4) Open a new terminal or tab and cd into the project directory <br>\n5) Run \"./ngrok http 3000\" <br>\n6) Use the link under \"Forwarding\" to connect remotely <br>\n![Imgur](http://i.imgur.com/7k6Kii3.png)\n\n## Screenshots:\n\n![Imgur](http://i.imgur.com/SdEIGjF.png)\n![Imgur](http://i.imgur.com/lPvCpYa.png)\n\n## Credits:\n\n[nabeelamjad](https://github.com/nabeelamjad/poke-api) - For the API\n"
  },
  {
    "path": "Rakefile",
    "content": "# Add your own tasks in files placed in lib/tasks ending in .rake,\n# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.\n\nrequire_relative 'config/application'\n\nRails.application.load_tasks\n"
  },
  {
    "path": "app/assets/config/manifest.js",
    "content": "//= link_tree ../images\n//= link_directory ../javascripts .js\n//= link_directory ../stylesheets .css\n"
  },
  {
    "path": "app/assets/images/.keep",
    "content": ""
  },
  {
    "path": "app/assets/javascripts/application.js",
    "content": "// This is a manifest file that'll be compiled into application.js, which will include all the files\n// listed below.\n//\n// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,\n// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.\n//\n// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the\n// compiled file. JavaScript code in this file should be added after the last require_* statement.\n//\n// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details\n// about supported directives.\n//\n//= require angular\n//= require angular-resource\n//= require jquery\n//= require jquery-tablesorter\n//= require jquery_ujs\n//= require turbolinks\n//= require users\n//= require zeroclipboard\n//= require copy_clipboard\n//= require level_calc\n"
  },
  {
    "path": "app/assets/javascripts/cable.js",
    "content": "// Action Cable provides the framework to deal with WebSockets in Rails.\n// You can generate new channels where WebSocket features live using the rails generate channel command.\n//\n//= require action_cable\n//= require_self\n//= require_tree ./channels\n\n(function() {\n  this.App || (this.App = {});\n\n  App.cable = ActionCable.createConsumer();\n\n}).call(this);\n"
  },
  {
    "path": "app/assets/javascripts/channels/.keep",
    "content": ""
  },
  {
    "path": "app/assets/javascripts/copy_clipboard.coffee",
    "content": "$(document).on 'turbolinks:load', ->\n  elem = $(\"#copy-clipboard-button\")\n\n  if elem\n    new ZeroClipboard elem\n\n$(document).on \"turbolinks:before-render\",  ->\n  ZeroClipboard.destroy()\n"
  },
  {
    "path": "app/assets/javascripts/level_calc.coffee",
    "content": "pokeDataAll = '[{},{\"BaseAttack\":126,\"BaseDefense\":126,\"BaseStamina\":90,\"Id\":1},{\"BaseAttack\":156,\"BaseDefense\":158,\"BaseStamina\":120,\"Id\":2},{\"BaseAttack\":198,\"BaseDefense\":200,\"BaseStamina\":160,\"Id\":3},{\"BaseAttack\":128,\"BaseDefense\":108,\"BaseStamina\":78,\"Id\":4},{\"BaseAttack\":160,\"BaseDefense\":140,\"BaseStamina\":116,\"Id\":5},{\"BaseAttack\":212,\"BaseDefense\":182,\"BaseStamina\":156,\"Id\":6},{\"BaseAttack\":112,\"BaseDefense\":142,\"BaseStamina\":88,\"Id\":7},{\"BaseAttack\":144,\"BaseDefense\":176,\"BaseStamina\":118,\"Id\":8},{\"BaseAttack\":186,\"BaseDefense\":222,\"BaseStamina\":158,\"Id\":9},{\"BaseAttack\":62,\"BaseDefense\":66,\"BaseStamina\":90,\"Id\":10},{\"BaseAttack\":56,\"BaseDefense\":86,\"BaseStamina\":100,\"Id\":11},{\"BaseAttack\":144,\"BaseDefense\":144,\"BaseStamina\":120,\"Id\":12},{\"BaseAttack\":68,\"BaseDefense\":64,\"BaseStamina\":80,\"Id\":13},{\"BaseAttack\":62,\"BaseDefense\":82,\"BaseStamina\":90,\"Id\":14},{\"BaseAttack\":144,\"BaseDefense\":130,\"BaseStamina\":130,\"Id\":15},{\"BaseAttack\":94,\"BaseDefense\":90,\"BaseStamina\":80,\"Id\":16},{\"BaseAttack\":126,\"BaseDefense\":122,\"BaseStamina\":126,\"Id\":17},{\"BaseAttack\":170,\"BaseDefense\":166,\"BaseStamina\":166,\"Id\":18},{\"BaseAttack\":92,\"BaseDefense\":86,\"BaseStamina\":60,\"Id\":19},{\"BaseAttack\":146,\"BaseDefense\":150,\"BaseStamina\":110,\"Id\":20},{\"BaseAttack\":102,\"BaseDefense\":78,\"BaseStamina\":80,\"Id\":21},{\"BaseAttack\":168,\"BaseDefense\":146,\"BaseStamina\":130,\"Id\":22},{\"BaseAttack\":112,\"BaseDefense\":112,\"BaseStamina\":70,\"Id\":23},{\"BaseAttack\":166,\"BaseDefense\":166,\"BaseStamina\":120,\"Id\":24},{\"BaseAttack\":124,\"BaseDefense\":108,\"BaseStamina\":70,\"Id\":25},{\"BaseAttack\":200,\"BaseDefense\":154,\"BaseStamina\":120,\"Id\":26},{\"BaseAttack\":90,\"BaseDefense\":114,\"BaseStamina\":100,\"Id\":27},{\"BaseAttack\":150,\"BaseDefense\":172,\"BaseStamina\":150,\"Id\":28},{\"BaseAttack\":100,\"BaseDefense\":104,\"BaseStamina\":110,\"Id\":29},{\"BaseAttack\":132,\"BaseDefense\":136,\"BaseStamina\":140,\"Id\":30},{\"BaseAttack\":184,\"BaseDefense\":190,\"BaseStamina\":180,\"Id\":31},{\"BaseAttack\":110,\"BaseDefense\":94,\"BaseStamina\":92,\"Id\":32},{\"BaseAttack\":142,\"BaseDefense\":128,\"BaseStamina\":122,\"Id\":33},{\"BaseAttack\":204,\"BaseDefense\":170,\"BaseStamina\":162,\"Id\":34},{\"BaseAttack\":116,\"BaseDefense\":124,\"BaseStamina\":140,\"Id\":35},{\"BaseAttack\":178,\"BaseDefense\":178,\"BaseStamina\":190,\"Id\":36},{\"BaseAttack\":106,\"BaseDefense\":118,\"BaseStamina\":76,\"Id\":37},{\"BaseAttack\":176,\"BaseDefense\":194,\"BaseStamina\":146,\"Id\":38},{\"BaseAttack\":98,\"BaseDefense\":54,\"BaseStamina\":230,\"Id\":39},{\"BaseAttack\":168,\"BaseDefense\":108,\"BaseStamina\":280,\"Id\":40},{\"BaseAttack\":88,\"BaseDefense\":90,\"BaseStamina\":80,\"Id\":41},{\"BaseAttack\":164,\"BaseDefense\":164,\"BaseStamina\":150,\"Id\":42},{\"BaseAttack\":134,\"BaseDefense\":130,\"BaseStamina\":90,\"Id\":43},{\"BaseAttack\":162,\"BaseDefense\":158,\"BaseStamina\":120,\"Id\":44},{\"BaseAttack\":202,\"BaseDefense\":190,\"BaseStamina\":150,\"Id\":45},{\"BaseAttack\":122,\"BaseDefense\":120,\"BaseStamina\":70,\"Id\":46},{\"BaseAttack\":162,\"BaseDefense\":170,\"BaseStamina\":120,\"Id\":47},{\"BaseAttack\":108,\"BaseDefense\":118,\"BaseStamina\":120,\"Id\":48},{\"BaseAttack\":172,\"BaseDefense\":154,\"BaseStamina\":140,\"Id\":49},{\"BaseAttack\":108,\"BaseDefense\":86,\"BaseStamina\":20,\"Id\":50},{\"BaseAttack\":148,\"BaseDefense\":140,\"BaseStamina\":70,\"Id\":51},{\"BaseAttack\":104,\"BaseDefense\":94,\"BaseStamina\":80,\"Id\":52},{\"BaseAttack\":156,\"BaseDefense\":146,\"BaseStamina\":130,\"Id\":53},{\"BaseAttack\":132,\"BaseDefense\":112,\"BaseStamina\":100,\"Id\":54},{\"BaseAttack\":194,\"BaseDefense\":176,\"BaseStamina\":160,\"Id\":55},{\"BaseAttack\":122,\"BaseDefense\":96,\"BaseStamina\":80,\"Id\":56},{\"BaseAttack\":178,\"BaseDefense\":150,\"BaseStamina\":130,\"Id\":57},{\"BaseAttack\":156,\"BaseDefense\":110,\"BaseStamina\":110,\"Id\":58},{\"BaseAttack\":230,\"BaseDefense\":180,\"BaseStamina\":180,\"Id\":59},{\"BaseAttack\":108,\"BaseDefense\":98,\"BaseStamina\":80,\"Id\":60},{\"BaseAttack\":132,\"BaseDefense\":132,\"BaseStamina\":130,\"Id\":61},{\"BaseAttack\":180,\"BaseDefense\":202,\"BaseStamina\":180,\"Id\":62},{\"BaseAttack\":110,\"BaseDefense\":76,\"BaseStamina\":50,\"Id\":63},{\"BaseAttack\":150,\"BaseDefense\":112,\"BaseStamina\":80,\"Id\":64},{\"BaseAttack\":186,\"BaseDefense\":152,\"BaseStamina\":110,\"Id\":65},{\"BaseAttack\":118,\"BaseDefense\":96,\"BaseStamina\":140,\"Id\":66},{\"BaseAttack\":154,\"BaseDefense\":144,\"BaseStamina\":160,\"Id\":67},{\"BaseAttack\":198,\"BaseDefense\":180,\"BaseStamina\":180,\"Id\":68},{\"BaseAttack\":158,\"BaseDefense\":78,\"BaseStamina\":100,\"Id\":69},{\"BaseAttack\":190,\"BaseDefense\":110,\"BaseStamina\":130,\"Id\":70},{\"BaseAttack\":222,\"BaseDefense\":152,\"BaseStamina\":160,\"Id\":71},{\"BaseAttack\":106,\"BaseDefense\":136,\"BaseStamina\":80,\"Id\":72},{\"BaseAttack\":170,\"BaseDefense\":196,\"BaseStamina\":160,\"Id\":73},{\"BaseAttack\":106,\"BaseDefense\":118,\"BaseStamina\":80,\"Id\":74},{\"BaseAttack\":142,\"BaseDefense\":156,\"BaseStamina\":110,\"Id\":75},{\"BaseAttack\":176,\"BaseDefense\":198,\"BaseStamina\":160,\"Id\":76},{\"BaseAttack\":168,\"BaseDefense\":138,\"BaseStamina\":100,\"Id\":77},{\"BaseAttack\":200,\"BaseDefense\":170,\"BaseStamina\":130,\"Id\":78},{\"BaseAttack\":110,\"BaseDefense\":110,\"BaseStamina\":180,\"Id\":79},{\"BaseAttack\":184,\"BaseDefense\":198,\"BaseStamina\":190,\"Id\":80},{\"BaseAttack\":128,\"BaseDefense\":138,\"BaseStamina\":50,\"Id\":81},{\"BaseAttack\":186,\"BaseDefense\":180,\"BaseStamina\":100,\"Id\":82},{\"BaseAttack\":138,\"BaseDefense\":132,\"BaseStamina\":104,\"Id\":83},{\"BaseAttack\":126,\"BaseDefense\":96,\"BaseStamina\":70,\"Id\":84},{\"BaseAttack\":182,\"BaseDefense\":150,\"BaseStamina\":120,\"Id\":85},{\"BaseAttack\":104,\"BaseDefense\":138,\"BaseStamina\":130,\"Id\":86},{\"BaseAttack\":156,\"BaseDefense\":192,\"BaseStamina\":180,\"Id\":87},{\"BaseAttack\":124,\"BaseDefense\":110,\"BaseStamina\":160,\"Id\":88},{\"BaseAttack\":180,\"BaseDefense\":188,\"BaseStamina\":210,\"Id\":89},{\"BaseAttack\":120,\"BaseDefense\":112,\"BaseStamina\":60,\"Id\":90},{\"BaseAttack\":196,\"BaseDefense\":196,\"BaseStamina\":100,\"Id\":91},{\"BaseAttack\":136,\"BaseDefense\":82,\"BaseStamina\":60,\"Id\":92},{\"BaseAttack\":172,\"BaseDefense\":118,\"BaseStamina\":90,\"Id\":93},{\"BaseAttack\":204,\"BaseDefense\":156,\"BaseStamina\":120,\"Id\":94},{\"BaseAttack\":90,\"BaseDefense\":186,\"BaseStamina\":70,\"Id\":95},{\"BaseAttack\":104,\"BaseDefense\":140,\"BaseStamina\":120,\"Id\":96},{\"BaseAttack\":162,\"BaseDefense\":196,\"BaseStamina\":170,\"Id\":97},{\"BaseAttack\":116,\"BaseDefense\":110,\"BaseStamina\":60,\"Id\":98},{\"BaseAttack\":178,\"BaseDefense\":168,\"BaseStamina\":110,\"Id\":99},{\"BaseAttack\":102,\"BaseDefense\":124,\"BaseStamina\":80,\"Id\":100},{\"BaseAttack\":150,\"BaseDefense\":174,\"BaseStamina\":120,\"Id\":101},{\"BaseAttack\":110,\"BaseDefense\":132,\"BaseStamina\":120,\"Id\":102},{\"BaseAttack\":232,\"BaseDefense\":164,\"BaseStamina\":190,\"Id\":103},{\"BaseAttack\":102,\"BaseDefense\":150,\"BaseStamina\":100,\"Id\":104},{\"BaseAttack\":140,\"BaseDefense\":202,\"BaseStamina\":120,\"Id\":105},{\"BaseAttack\":148,\"BaseDefense\":172,\"BaseStamina\":100,\"Id\":106},{\"BaseAttack\":138,\"BaseDefense\":204,\"BaseStamina\":100,\"Id\":107},{\"BaseAttack\":126,\"BaseDefense\":160,\"BaseStamina\":180,\"Id\":108},{\"BaseAttack\":136,\"BaseDefense\":142,\"BaseStamina\":80,\"Id\":109},{\"BaseAttack\":190,\"BaseDefense\":198,\"BaseStamina\":130,\"Id\":110},{\"BaseAttack\":110,\"BaseDefense\":116,\"BaseStamina\":160,\"Id\":111},{\"BaseAttack\":166,\"BaseDefense\":160,\"BaseStamina\":210,\"Id\":112},{\"BaseAttack\":40,\"BaseDefense\":60,\"BaseStamina\":500,\"Id\":113},{\"BaseAttack\":164,\"BaseDefense\":152,\"BaseStamina\":130,\"Id\":114},{\"BaseAttack\":142,\"BaseDefense\":178,\"BaseStamina\":210,\"Id\":115},{\"BaseAttack\":122,\"BaseDefense\":100,\"BaseStamina\":60,\"Id\":116},{\"BaseAttack\":176,\"BaseDefense\":150,\"BaseStamina\":110,\"Id\":117},{\"BaseAttack\":112,\"BaseDefense\":126,\"BaseStamina\":90,\"Id\":118},{\"BaseAttack\":172,\"BaseDefense\":160,\"BaseStamina\":160,\"Id\":119},{\"BaseAttack\":130,\"BaseDefense\":128,\"BaseStamina\":60,\"Id\":120},{\"BaseAttack\":194,\"BaseDefense\":192,\"BaseStamina\":120,\"Id\":121},{\"BaseAttack\":154,\"BaseDefense\":196,\"BaseStamina\":80,\"Id\":122},{\"BaseAttack\":176,\"BaseDefense\":180,\"BaseStamina\":140,\"Id\":123},{\"BaseAttack\":172,\"BaseDefense\":134,\"BaseStamina\":130,\"Id\":124},{\"BaseAttack\":198,\"BaseDefense\":160,\"BaseStamina\":130,\"Id\":125},{\"BaseAttack\":214,\"BaseDefense\":158,\"BaseStamina\":130,\"Id\":126},{\"BaseAttack\":184,\"BaseDefense\":186,\"BaseStamina\":130,\"Id\":127},{\"BaseAttack\":148,\"BaseDefense\":184,\"BaseStamina\":150,\"Id\":128},{\"BaseAttack\":42,\"BaseDefense\":84,\"BaseStamina\":40,\"Id\":129},{\"BaseAttack\":192,\"BaseDefense\":196,\"BaseStamina\":190,\"Id\":130},{\"BaseAttack\":186,\"BaseDefense\":190,\"BaseStamina\":260,\"Id\":131},{\"BaseAttack\":110,\"BaseDefense\":110,\"BaseStamina\":96,\"Id\":132},{\"BaseAttack\":114,\"BaseDefense\":128,\"BaseStamina\":110,\"Id\":133},{\"BaseAttack\":186,\"BaseDefense\":168,\"BaseStamina\":260,\"Id\":134},{\"BaseAttack\":192,\"BaseDefense\":174,\"BaseStamina\":130,\"Id\":135},{\"BaseAttack\":238,\"BaseDefense\":178,\"BaseStamina\":130,\"Id\":136},{\"BaseAttack\":156,\"BaseDefense\":158,\"BaseStamina\":130,\"Id\":137},{\"BaseAttack\":132,\"BaseDefense\":160,\"BaseStamina\":70,\"Id\":138},{\"BaseAttack\":180,\"BaseDefense\":202,\"BaseStamina\":140,\"Id\":139},{\"BaseAttack\":148,\"BaseDefense\":142,\"BaseStamina\":60,\"Id\":140},{\"BaseAttack\":190,\"BaseDefense\":190,\"BaseStamina\":120,\"Id\":141},{\"BaseAttack\":182,\"BaseDefense\":162,\"BaseStamina\":160,\"Id\":142},{\"BaseAttack\":180,\"BaseDefense\":180,\"BaseStamina\":320,\"Id\":143},{\"BaseAttack\":198,\"BaseDefense\":242,\"BaseStamina\":180,\"Id\":144},{\"BaseAttack\":232,\"BaseDefense\":194,\"BaseStamina\":180,\"Id\":145},{\"BaseAttack\":242,\"BaseDefense\":194,\"BaseStamina\":180,\"Id\":146},{\"BaseAttack\":128,\"BaseDefense\":110,\"BaseStamina\":82,\"Id\":147},{\"BaseAttack\":170,\"BaseDefense\":152,\"BaseStamina\":122,\"Id\":148},{\"BaseAttack\":250,\"BaseDefense\":212,\"BaseStamina\":182,\"Id\":149},{\"BaseAttack\":284,\"BaseDefense\":202,\"BaseStamina\":212,\"Id\":150},{\"BaseAttack\":220,\"BaseDefense\":220,\"BaseStamina\":200,\"Id\":151}]'\ntcpms = [\n  0.094\n  0.1351374\n  0.1663979\n  0.1926509\n  0.2157325\n  0.2365727\n  0.2557201\n  0.2735304\n  0.2902499\n  0.3060574\n  0.3210876\n  0.335445\n  0.3492127\n  0.3624578\n  0.3752356\n  0.3875924\n  0.3995673\n  0.4111936\n  0.4225\n  0.4335117\n  0.4431076\n  0.45306\n  0.4627984\n  0.4723361\n  0.481685\n  0.4908558\n  0.4998584\n  0.5087018\n  0.517394\n  0.5259425\n  0.5343543\n  0.5426358\n  0.5507927\n  0.5588306\n  0.5667545\n  0.5745692\n  0.5822789\n  0.5898879\n  0.5974\n  0.6048188\n  0.6121573\n  0.6194041\n  0.6265671\n  0.6336492\n  0.640653\n  0.647581\n  0.6544356\n  0.6612193\n  0.667934\n  0.6745819\n  0.6811649\n  0.6876849\n  0.6941437\n  0.7005429\n  0.7068842\n  0.7131691\n  0.7193991\n  0.7255756\n  0.7317\n  0.734741\n  0.7377695\n  0.7407856\n  0.7437894\n  0.7467812\n  0.749761\n  0.7527291\n  0.7556855\n  0.7586304\n  0.7615638\n  0.7644861\n  0.7673972\n  0.7702973\n  0.7731865\n  0.776065\n  0.7789328\n  0.7817901\n  0.784637\n  0.7874736\n  0.7903\n  0.7931164\n]\npokeDataJson = JSON.parse(pokeDataAll)\npokeCardContainer = undefined\nmutationObserver = undefined\nobserverConfig = undefined\nusingMutations = true\n\naMutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver\n\nif !aMutationObserver\n  usingMutations = false\n\nif usingMutations #if not, probably IE10 or below\n  mutationObserver = new MutationObserver((mut) ->\n    startCalc()\n    return\n  )\n  observerConfig = \n    attributes: true\n    childList: true\n    characterData: true\n\nstartCalc = ->\n  pokemonNodes = document.getElementsByClassName('pokemon-card')\n  iii = 0\n  while iii < pokemonNodes.length\n    currCard = pokemonNodes[iii]\n    currPokeData = currCard.getElementsByClassName('hidden')[0].innerHTML.split('&nbsp;')\n    currLevel = '??'\n    try\n      currID = parseInt(currPokeData[0])\n      currCP = parseInt(currPokeData[1])\n      currATK = parseInt(currPokeData[2])\n      currDEF = parseInt(currPokeData[3])\n      currSTA = parseInt(currPokeData[4])\n      currLevel = getLevel(currID, currCP, currATK, currDEF, currSTA)\n    catch err\n      console.err 'error calculating level for node: ' + iii\n    finally\n      currCard.getElementsByClassName('level')[0].innerHTML = 'Lv ' + currLevel\n    iii++\n  return\n\ngetLevel = (id, cp, atk, def, sta) ->\n  currPokemon = pokeDataJson[id]\n  baseAtk = currPokemon['BaseAttack']\n  baseDef = currPokemon['BaseDefense']\n  baseSta = currPokemon['BaseStamina']\n  rhs = (baseAtk + atk) * Math.sqrt(baseDef + def) * Math.sqrt(baseSta + sta) * 0.1\n  currCpM = Math.sqrt((cp + 0.5) / rhs)\n  #actual formula has floor(), doing the intermediate one\n  nearestCpM = tcpms.reduce((last, curr) ->\n    if Math.abs(curr - currCpM) < Math.abs(last - currCpM) then curr else last\n  )\n  index = tcpms.indexOf(nearestCpM)\n  (index + 2) / 2.0\n\n$(document).on 'turbolinks:load', (event) ->\n  startCalc()\n  pokeCardContainer = document.getElementsByClassName('show-pokemon-container')[0]\n  if usingMutations\n    mutationObserver.observe pokeCardContainer, observerConfig\n  else\n    pokeCardContainer.addEventListener \"DOMSubtreeModified\", (ev)->\n      startCalc();\n      return\n  return\n"
  },
  {
    "path": "app/assets/javascripts/users.coffee.erb",
    "content": "app = angular.module(\"Pogobag\",[\"ngResource\"])\n\napp.directive(\"repeatFinish\", ->\n  return (scope, element, attr) ->\n    element = angular.element(element)[0].children[0].children[8].children[0]\n    num = pad scope.pokemon.poke_num, 3\n    element.setAttribute('src', image_path num+'.png')\n)\n\napp.controller \"UserCtrl\", [\"$scope\", \"$resource\", ($scope, $resource) ->\n  Entry = $resource \"/:id/:stat\", {stat: 'cp'}\n  user = $('data').attr(\"user\")\n  $scope.pokemon = Entry.query(id:user)\n\n  $scope.getOrder = (attribute) ->\n    if ['poke_num','poke_id'].includes(attribute) \n      $scope.pokemon.sort(compare(attribute, 'asc')) \n    else \n      $scope.pokemon.sort(compare(attribute,'desc'))\n    return\n\n  $(document).ajaxStop(->\n    $scope.pokemon = Entry.query(id:user)\n    return\n  )\n]\n    \n$(document).on 'turbolinks:load', ->\n  $('.loading').hide()\n  return\n$(document).ajaxStart(->\n  $('.loading').show()\n  return\n)\n$(document).ajaxStop(->\n  $('.loading').hide()\n  return\n)\n\ncompare = (attr, order) -> \n  if order == 'asc'\n    return (a,b) -> \n      if ['weight_kg','height_m'].includes(attr)\n        a_attr = parseFloat(a[attr])\n        b_attr = parseFloat(b[attr])\n      else\n        a_attr = a[attr]\n        b_attr = b[attr]\n      if a_attr < b_attr\n        return -1\n      if a_attr > b_attr\n        return 1\n      if a['cp'] > b['cp'] then -1 else 1\n  else if order == 'desc'\n    return (a,b) -> \n      if ['weight_kg','height_m'].includes(attr)\n        a_attr = parseFloat(a[attr])\n        b_attr = parseFloat(b[attr])\n      else\n        a_attr = a[attr]\n        b_attr = b[attr]\n      if a_attr > b_attr\n        return -1\n      if a_attr < b_attr\n        return 1\n      if a['cp'] > b['cp'] then -1 else 1\n\npad = (str, max) ->\n  str = str.toString()\n  if str.length < max then pad('0' + str, max) else str\n\n<%\nimgs = {}\nDir.chdir(\"#{Rails.root}/app/assets/images\") do\n  imgs = Dir[\"**\"].inject({}) {|h,f| h.merge! f => image_path(f)}\nend\n%>\n\nwindow.image_path = (name) ->\n  <%= imgs.to_json %>[name] \n"
  },
  {
    "path": "app/assets/pokemon.en.json",
    "content": "{\"1\":\"Bulbasaur\",\"2\":\"Ivysaur\",\"3\":\"Venusaur\",\"4\":\"Charmander\",\"5\":\"Charmeleon\",\"6\":\"Charizard\",\"7\":\"Squirtle\",\"8\":\"Wartortle\",\"9\":\"Blastoise\",\"10\":\"Caterpie\",\"11\":\"Metapod\",\"12\":\"Butterfree\",\"13\":\"Weedle\",\"14\":\"Kakuna\",\"15\":\"Beedrill\",\"16\":\"Pidgey\",\"17\":\"Pidgeotto\",\"18\":\"Pidgeot\",\"19\":\"Rattata\",\"20\":\"Raticate\",\"21\":\"Spearow\",\"22\":\"Fearow\",\"23\":\"Ekans\",\"24\":\"Arbok\",\"25\":\"Pikachu\",\"26\":\"Raichu\",\"27\":\"Sandshrew\",\"28\":\"Sandslash\",\"29\":\"Nidoran♀\",\"30\":\"Nidorina\",\"31\":\"Nidoqueen\",\"32\":\"Nidoran♂\",\"33\":\"Nidorino\",\"34\":\"Nidoking\",\"35\":\"Clefairy\",\"36\":\"Clefable\",\"37\":\"Vulpix\",\"38\":\"Ninetales\",\"39\":\"Jigglypuff\",\"40\":\"Wigglytuff\",\"41\":\"Zubat\",\"42\":\"Golbat\",\"43\":\"Oddish\",\"44\":\"Gloom\",\"45\":\"Vileplume\",\"46\":\"Paras\",\"47\":\"Parasect\",\"48\":\"Venonat\",\"49\":\"Venomoth\",\"50\":\"Diglett\",\"51\":\"Dugtrio\",\"52\":\"Meowth\",\"53\":\"Persian\",\"54\":\"Psyduck\",\"55\":\"Golduck\",\"56\":\"Mankey\",\"57\":\"Primeape\",\"58\":\"Growlithe\",\"59\":\"Arcanine\",\"60\":\"Poliwag\",\"61\":\"Poliwhirl\",\"62\":\"Poliwrath\",\"63\":\"Abra\",\"64\":\"Kadabra\",\"65\":\"Alakazam\",\"66\":\"Machop\",\"67\":\"Machoke\",\"68\":\"Machamp\",\"69\":\"Bellsprout\",\"70\":\"Weepinbell\",\"71\":\"Victreebel\",\"72\":\"Tentacool\",\"73\":\"Tentacruel\",\"74\":\"Geodude\",\"75\":\"Graveler\",\"76\":\"Golem\",\"77\":\"Ponyta\",\"78\":\"Rapidash\",\"79\":\"Slowpoke\",\"80\":\"Slowbro\",\"81\":\"Magnemite\",\"82\":\"Magneton\",\"83\":\"Farfetch'd\",\"84\":\"Doduo\",\"85\":\"Dodrio\",\"86\":\"Seel\",\"87\":\"Dewgong\",\"88\":\"Grimer\",\"89\":\"Muk\",\"90\":\"Shellder\",\"91\":\"Cloyster\",\"92\":\"Gastly\",\"93\":\"Haunter\",\"94\":\"Gengar\",\"95\":\"Onix\",\"96\":\"Drowzee\",\"97\":\"Hypno\",\"98\":\"Krabby\",\"99\":\"Kingler\",\"100\":\"Voltorb\",\"101\":\"Electrode\",\"102\":\"Exeggcute\",\"103\":\"Exeggutor\",\"104\":\"Cubone\",\"105\":\"Marowak\",\"106\":\"Hitmonlee\",\"107\":\"Hitmonchan\",\"108\":\"Lickitung\",\"109\":\"Koffing\",\"110\":\"Weezing\",\"111\":\"Rhyhorn\",\"112\":\"Rhydon\",\"113\":\"Chansey\",\"114\":\"Tangela\",\"115\":\"Kangaskhan\",\"116\":\"Horsea\",\"117\":\"Seadra\",\"118\":\"Goldeen\",\"119\":\"Seaking\",\"120\":\"Staryu\",\"121\":\"Starmie\",\"122\":\"Mr. Mime\",\"123\":\"Scyther\",\"124\":\"Jynx\",\"125\":\"Electabuzz\",\"126\":\"Magmar\",\"127\":\"Pinsir\",\"128\":\"Tauros\",\"129\":\"Magikarp\",\"130\":\"Gyarados\",\"131\":\"Lapras\",\"132\":\"Ditto\",\"133\":\"Eevee\",\"134\":\"Vaporeon\",\"135\":\"Jolteon\",\"136\":\"Flareon\",\"137\":\"Porygon\",\"138\":\"Omanyte\",\"139\":\"Omastar\",\"140\":\"Kabuto\",\"141\":\"Kabutops\",\"142\":\"Aerodactyl\",\"143\":\"Snorlax\",\"144\":\"Articuno\",\"145\":\"Zapdos\",\"146\":\"Moltres\",\"147\":\"Dratini\",\"148\":\"Dragonair\",\"149\":\"Dragonite\",\"150\":\"Mewtwo\",\"151\":\"Mew\",\"152\":\"Chikorita\",\"153\":\"Bayleef\",\"154\":\"Meganium\",\"155\":\"Cyndaquil\",\"156\":\"Quilava\",\"157\":\"Typhlosion\",\"158\":\"Totodile\",\"159\":\"Croconaw\",\"160\":\"Feraligatr\",\"161\":\"Sentret\",\"162\":\"Furret\",\"163\":\"Hoothoot\",\"164\":\"Noctowl\",\"165\":\"Ledyba\",\"166\":\"Ledian\",\"167\":\"Spinarak\",\"168\":\"Ariados\",\"169\":\"Crobat\",\"170\":\"Chinchou\",\"171\":\"Lanturn\",\"172\":\"Pichu\",\"173\":\"Cleffa\",\"174\":\"Igglybuff\",\"175\":\"Togepi\",\"176\":\"Togetic\",\"177\":\"Natu\",\"178\":\"Xatu\",\"179\":\"Mareep\",\"180\":\"Flaaffy\",\"181\":\"Ampharos\",\"182\":\"Bellossom\",\"183\":\"Marill\",\"184\":\"Azumarill\",\"185\":\"Sudowoodo\",\"186\":\"Politoed\",\"187\":\"Hoppip\",\"188\":\"Skiploom\",\"189\":\"Jumpluff\",\"190\":\"Aipom\",\"191\":\"Sunkern\",\"192\":\"Sunflora\",\"193\":\"Yanma\",\"194\":\"Wooper\",\"195\":\"Quagsire\",\"196\":\"Espeon\",\"197\":\"Umbreon\",\"198\":\"Murkrow\",\"199\":\"Slowking\",\"200\":\"Misdreavus\",\"201\":\"Unown\",\"202\":\"Wobbuffet\",\"203\":\"Girafarig\",\"204\":\"Pineco\",\"205\":\"Forretress\",\"206\":\"Dunsparce\",\"207\":\"Gligar\",\"208\":\"Steelix\",\"209\":\"Snubbull\",\"210\":\"Granbull\",\"211\":\"Qwilfish\",\"212\":\"Scizor\",\"213\":\"Shuckle\",\"214\":\"Heracross\",\"215\":\"Sneasel\",\"216\":\"Teddiursa\",\"217\":\"Ursaring\",\"218\":\"Slugma\",\"219\":\"Magcargo\",\"220\":\"Swinub\",\"221\":\"Piloswine\",\"222\":\"Corsola\",\"223\":\"Remoraid\",\"224\":\"Octillery\",\"225\":\"Delibird\",\"226\":\"Mantine\",\"227\":\"Skarmory\",\"228\":\"Houndour\",\"229\":\"Houndoom\",\"230\":\"Kingdra\",\"231\":\"Phanpy\",\"232\":\"Donphan\",\"233\":\"Porygon2\",\"234\":\"Stantler\",\"235\":\"Smeargle\",\"236\":\"Tyrogue\",\"237\":\"Hitmontop\",\"238\":\"Smoochum\",\"239\":\"Elekid\",\"240\":\"Magby\",\"241\":\"Miltank\",\"242\":\"Blissey\",\"243\":\"Raikou\",\"244\":\"Entei\",\"245\":\"Suicune\",\"246\":\"Larvitar\",\"247\":\"Pupitar\",\"248\":\"Tyranitar\",\"249\":\"Lugia\",\"250\":\"Ho-Oh\",\"251\":\"Celebi\",\"252\":\"Treecko\",\"253\":\"Grovyle\",\"254\":\"Sceptile\",\"255\":\"Torchic\",\"256\":\"Combusken\",\"257\":\"Blaziken\",\"258\":\"Mudkip\",\"259\":\"Marshtomp\",\"260\":\"Swampert\",\"261\":\"Poochyena\",\"262\":\"Mightyena\",\"263\":\"Zigzagoon\",\"264\":\"Linoone\",\"265\":\"Wurmple\",\"266\":\"Silcoon\",\"267\":\"Beautifly\",\"268\":\"Cascoon\",\"269\":\"Dustox\",\"270\":\"Lotad\",\"271\":\"Lombre\",\"272\":\"Ludicolo\",\"273\":\"Seedot\",\"274\":\"Nuzleaf\",\"275\":\"Shiftry\",\"276\":\"Taillow\",\"277\":\"Swellow\",\"278\":\"Wingull\",\"279\":\"Pelipper\",\"280\":\"Ralts\",\"281\":\"Kirlia\",\"282\":\"Gardevoir\",\"283\":\"Surskit\",\"284\":\"Masquerain\",\"285\":\"Shroomish\",\"286\":\"Breloom\",\"287\":\"Slakoth\",\"288\":\"Vigoroth\",\"289\":\"Slaking\",\"290\":\"Nincada\",\"291\":\"Ninjask\",\"292\":\"Shedinja\",\"293\":\"Whismur\",\"294\":\"Loudred\",\"295\":\"Exploud\",\"296\":\"Makuhita\",\"297\":\"Hariyama\",\"298\":\"Azurill\",\"299\":\"Nosepass\",\"300\":\"Skitty\",\"301\":\"Delcatty\",\"302\":\"Sableye\",\"303\":\"Mawile\",\"304\":\"Aron\",\"305\":\"Lairon\",\"306\":\"Aggron\",\"307\":\"Meditite\",\"308\":\"Medicham\",\"309\":\"Electrike\",\"310\":\"Manectric\",\"311\":\"Plusle\",\"312\":\"Minun\",\"313\":\"Volbeat\",\"314\":\"Illumise\",\"315\":\"Roselia\",\"316\":\"Gulpin\",\"317\":\"Swalot\",\"318\":\"Carvanha\",\"319\":\"Sharpedo\",\"320\":\"Wailmer\",\"321\":\"Wailord\",\"322\":\"Numel\",\"323\":\"Camerupt\",\"324\":\"Torkoal\",\"325\":\"Spoink\",\"326\":\"Grumpig\",\"327\":\"Spinda\",\"328\":\"Trapinch\",\"329\":\"Vibrava\",\"330\":\"Flygon\",\"331\":\"Cacnea\",\"332\":\"Cacturne\",\"333\":\"Swablu\",\"334\":\"Altaria\",\"335\":\"Zangoose\",\"336\":\"Seviper\",\"337\":\"Lunatone\",\"338\":\"Solrock\",\"339\":\"Barboach\",\"340\":\"Whiscash\",\"341\":\"Corphish\",\"342\":\"Crawdaunt\",\"343\":\"Baltoy\",\"344\":\"Claydol\",\"345\":\"Lileep\",\"346\":\"Cradily\",\"347\":\"Anorith\",\"348\":\"Armaldo\",\"349\":\"Feebas\",\"350\":\"Milotic\",\"351\":\"Castform\",\"352\":\"Kecleon\",\"353\":\"Shuppet\",\"354\":\"Banette\",\"355\":\"Duskull\",\"356\":\"Dusclops\",\"357\":\"Tropius\",\"358\":\"Chimecho\",\"359\":\"Absol\",\"360\":\"Wynaut\",\"361\":\"Snorunt\",\"362\":\"Glalie\",\"363\":\"Spheal\",\"364\":\"Sealeo\",\"365\":\"Walrein\",\"366\":\"Clamperl\",\"367\":\"Huntail\",\"368\":\"Gorebyss\",\"369\":\"Relicanth\",\"370\":\"Luvdisc\",\"371\":\"Bagon\",\"372\":\"Shelgon\",\"373\":\"Salamence\",\"374\":\"Beldum\",\"375\":\"Metang\",\"376\":\"Metagross\",\"377\":\"Regirock\",\"378\":\"Regice\",\"379\":\"Registeel\",\"380\":\"Latias\",\"381\":\"Latios\",\"382\":\"Kyogre\",\"383\":\"Groudon\",\"384\":\"Rayquaza\",\"385\":\"Jirachi\",\"386\":\"Deoxys\",\"387\":\"Turtwig\",\"388\":\"Grotle\",\"389\":\"Torterra\",\"390\":\"Chimchar\",\"391\":\"Monferno\",\"392\":\"Infernape\",\"393\":\"Piplup\",\"394\":\"Prinplup\",\"395\":\"Empoleon\",\"396\":\"Starly\",\"397\":\"Staravia\",\"398\":\"Staraptor\",\"399\":\"Bidoof\",\"400\":\"Bibarel\",\"401\":\"Kricketot\",\"402\":\"Kricketune\",\"403\":\"Shinx\",\"404\":\"Luxio\",\"405\":\"Luxray\",\"406\":\"Budew\",\"407\":\"Roserade\",\"408\":\"Cranidos\",\"409\":\"Rampardos\",\"410\":\"Shieldon\",\"411\":\"Bastiodon\",\"412\":\"Burmy\",\"413\":\"Wormadam\",\"414\":\"Mothim\",\"415\":\"Combee\",\"416\":\"Vespiquen\",\"417\":\"Pachirisu\",\"418\":\"Buizel\",\"419\":\"Floatzel\",\"420\":\"Cherubi\",\"421\":\"Cherrim\",\"422\":\"Shellos\",\"423\":\"Gastrodon\",\"424\":\"Ambipom\",\"425\":\"Drifloon\",\"426\":\"Drifblim\",\"427\":\"Buneary\",\"428\":\"Lopunny\",\"429\":\"Mismagius\",\"430\":\"Honchkrow\",\"431\":\"Glameow\",\"432\":\"Purugly\",\"433\":\"Chingling\",\"434\":\"Stunky\",\"435\":\"Skuntank\",\"436\":\"Bronzor\",\"437\":\"Bronzong\",\"438\":\"Bonsly\",\"439\":\"Mime Jr.\",\"440\":\"Happiny\",\"441\":\"Chatot\",\"442\":\"Spiritomb\",\"443\":\"Gible\",\"444\":\"Gabite\",\"445\":\"Garchomp\",\"446\":\"Munchlax\",\"447\":\"Riolu\",\"448\":\"Lucario\",\"449\":\"Hippopotas\",\"450\":\"Hippowdon\",\"451\":\"Skorupi\",\"452\":\"Drapion\",\"453\":\"Croagunk\",\"454\":\"Toxicroak\",\"455\":\"Carnivine\",\"456\":\"Finneon\",\"457\":\"Lumineon\",\"458\":\"Mantyke\",\"459\":\"Snover\",\"460\":\"Abomasnow\",\"461\":\"Weavile\",\"462\":\"Magnezone\",\"463\":\"Lickilicky\",\"464\":\"Rhyperior\",\"465\":\"Tangrowth\",\"466\":\"Electivire\",\"467\":\"Magmortar\",\"468\":\"Togekiss\",\"469\":\"Yanmega\",\"470\":\"Leafeon\",\"471\":\"Glaceon\",\"472\":\"Gliscor\",\"473\":\"Mamoswine\",\"474\":\"Porygon-Z\",\"475\":\"Gallade\",\"476\":\"Probopass\",\"477\":\"Dusknoir\",\"478\":\"Froslass\",\"479\":\"Rotom\",\"480\":\"Uxie\",\"481\":\"Mesprit\",\"482\":\"Azelf\",\"483\":\"Dialga\",\"484\":\"Palkia\",\"485\":\"Heatran\",\"486\":\"Regigigas\",\"487\":\"Giratina\",\"488\":\"Cresselia\",\"489\":\"Phione\",\"490\":\"Manaphy\",\"491\":\"Darkrai\",\"492\":\"Shaymin\",\"493\":\"Arceus\",\"494\":\"Victini\",\"495\":\"Snivy\",\"496\":\"Servine\",\"497\":\"Serperior\",\"498\":\"Tepig\",\"499\":\"Pignite\",\"500\":\"Emboar\",\"501\":\"Oshawott\",\"502\":\"Dewott\",\"503\":\"Samurott\",\"504\":\"Patrat\",\"505\":\"Watchog\",\"506\":\"Lillipup\",\"507\":\"Herdier\",\"508\":\"Stoutland\",\"509\":\"Purrloin\",\"510\":\"Liepard\",\"511\":\"Pansage\",\"512\":\"Simisage\",\"513\":\"Pansear\",\"514\":\"Simisear\",\"515\":\"Panpour\",\"516\":\"Simipour\",\"517\":\"Munna\",\"518\":\"Musharna\",\"519\":\"Pidove\",\"520\":\"Tranquill\",\"521\":\"Unfezant\",\"522\":\"Blitzle\",\"523\":\"Zebstrika\",\"524\":\"Roggenrola\",\"525\":\"Boldore\",\"526\":\"Gigalith\",\"527\":\"Woobat\",\"528\":\"Swoobat\",\"529\":\"Drilbur\",\"530\":\"Excadrill\",\"531\":\"Audino\",\"532\":\"Timburr\",\"533\":\"Gurdurr\",\"534\":\"Conkeldurr\",\"535\":\"Tympole\",\"536\":\"Palpitoad\",\"537\":\"Seismitoad\",\"538\":\"Throh\",\"539\":\"Sawk\",\"540\":\"Sewaddle\",\"541\":\"Swadloon\",\"542\":\"Leavanny\",\"543\":\"Venipede\",\"544\":\"Whirlipede\",\"545\":\"Scolipede\",\"546\":\"Cottonee\",\"547\":\"Whimsicott\",\"548\":\"Petilil\",\"549\":\"Lilligant\",\"550\":\"Basculin\",\"551\":\"Sandile\",\"552\":\"Krokorok\",\"553\":\"Krookodile\",\"554\":\"Darumaka\",\"555\":\"Darmanitan\",\"556\":\"Maractus\",\"557\":\"Dwebble\",\"558\":\"Crustle\",\"559\":\"Scraggy\",\"560\":\"Scrafty\",\"561\":\"Sigilyph\",\"562\":\"Yamask\",\"563\":\"Cofagrigus\",\"564\":\"Tirtouga\",\"565\":\"Carracosta\",\"566\":\"Archen\",\"567\":\"Archeops\",\"568\":\"Trubbish\",\"569\":\"Garbodor\",\"570\":\"Zorua\",\"571\":\"Zoroark\",\"572\":\"Minccino\",\"573\":\"Cinccino\",\"574\":\"Gothita\",\"575\":\"Gothorita\",\"576\":\"Gothitelle\",\"577\":\"Solosis\",\"578\":\"Duosion\",\"579\":\"Reuniclus\",\"580\":\"Ducklett\",\"581\":\"Swanna\",\"582\":\"Vanillite\",\"583\":\"Vanillish\",\"584\":\"Vanilluxe\",\"585\":\"Deerling\",\"586\":\"Sawsbuck\",\"587\":\"Emolga\",\"588\":\"Karrablast\",\"589\":\"Escavalier\",\"590\":\"Foongus\",\"591\":\"Amoonguss\",\"592\":\"Frillish\",\"593\":\"Jellicent\",\"594\":\"Alomomola\",\"595\":\"Joltik\",\"596\":\"Galvantula\",\"597\":\"Ferroseed\",\"598\":\"Ferrothorn\",\"599\":\"Klink\",\"600\":\"Klang\",\"601\":\"Klinklang\",\"602\":\"Tynamo\",\"603\":\"Eelektrik\",\"604\":\"Eelektross\",\"605\":\"Elgyem\",\"606\":\"Beheeyem\",\"607\":\"Litwick\",\"608\":\"Lampent\",\"609\":\"Chandelure\",\"610\":\"Axew\",\"611\":\"Fraxure\",\"612\":\"Haxorus\",\"613\":\"Cubchoo\",\"614\":\"Beartic\",\"615\":\"Cryogonal\",\"616\":\"Shelmet\",\"617\":\"Accelgor\",\"618\":\"Stunfisk\",\"619\":\"Mienfoo\",\"620\":\"Mienshao\",\"621\":\"Druddigon\",\"622\":\"Golett\",\"623\":\"Golurk\",\"624\":\"Pawniard\",\"625\":\"Bisharp\",\"626\":\"Bouffalant\",\"627\":\"Rufflet\",\"628\":\"Braviary\",\"629\":\"Vullaby\",\"630\":\"Mandibuzz\",\"631\":\"Heatmor\",\"632\":\"Durant\",\"633\":\"Deino\",\"634\":\"Zweilous\",\"635\":\"Hydreigon\",\"636\":\"Larvesta\",\"637\":\"Volcarona\",\"638\":\"Cobalion\",\"639\":\"Terrakion\",\"640\":\"Virizion\",\"641\":\"Tornadus\",\"642\":\"Thundurus\",\"643\":\"Reshiram\",\"644\":\"Zekrom\",\"645\":\"Landorus\",\"646\":\"Kyurem\",\"647\":\"Keldeo\",\"648\":\"Meloetta\",\"649\":\"Genesect\",\"650\":\"Chespin\",\"651\":\"Quilladin\",\"652\":\"Chesnaught\",\"653\":\"Fennekin\",\"654\":\"Braixen\",\"655\":\"Delphox\",\"656\":\"Froakie\",\"657\":\"Frogadier\",\"658\":\"Greninja\",\"659\":\"Bunnelby\",\"660\":\"Diggersby\",\"661\":\"Fletchling\",\"662\":\"Fletchinder\",\"663\":\"Talonflame\",\"664\":\"Scatterbug\",\"665\":\"Spewpa\",\"666\":\"Vivillon\",\"667\":\"Litleo\",\"668\":\"Pyroar\",\"669\":\"Flabébé\",\"670\":\"Floette\",\"671\":\"Florges\",\"672\":\"Skiddo\",\"673\":\"Gogoat\",\"674\":\"Pancham\",\"675\":\"Pangoro\",\"676\":\"Furfrou\",\"677\":\"Espurr\",\"678\":\"Meowstic\",\"679\":\"Honedge\",\"680\":\"Doublade\",\"681\":\"Aegislash\",\"682\":\"Spritzee\",\"683\":\"Aromatisse\",\"684\":\"Swirlix\",\"685\":\"Slurpuff\",\"686\":\"Inkay\",\"687\":\"Malamar\",\"688\":\"Binacle\",\"689\":\"Barbaracle\",\"690\":\"Skrelp\",\"691\":\"Dragalge\",\"692\":\"Clauncher\",\"693\":\"Clawitzer\",\"694\":\"Helioptile\",\"695\":\"Heliolisk\",\"696\":\"Tyrunt\",\"697\":\"Tyrantrum\",\"698\":\"Amaura\",\"699\":\"Aurorus\",\"700\":\"Sylveon\",\"701\":\"Hawlucha\",\"702\":\"Dedenne\",\"703\":\"Carbink\",\"704\":\"Goomy\",\"705\":\"Sliggoo\",\"706\":\"Goodra\",\"707\":\"Klefki\",\"708\":\"Phantump\",\"709\":\"Trevenant\",\"710\":\"Pumpkaboo\",\"711\":\"Gourgeist\",\"712\":\"Bergmite\",\"713\":\"Avalugg\",\"714\":\"Noibat\",\"715\":\"Noivern\",\"716\":\"Xerneas\",\"717\":\"Yveltal\",\"718\":\"Zygarde\",\"719\":\"Diancie\",\"720\":\"Hoopa\",\"721\":\"Volcanion\"}"
  },
  {
    "path": "app/assets/stylesheets/application.css.scss",
    "content": "/*\n * This is a manifest file that'll be compiled into application.css, which will include all the files\n * listed below.\n *\n * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,\n * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.\n *\n * You're free to add application-wide styles to this file and they'll appear at the bottom of the\n * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS\n * files in this directory. Styles in this file should be added after the last require_* statement.\n * It is generally better to create a new file per style scope.\n *\n *= require_tree .\n *= require_self\n */\n@import 'bootstrap-sprockets';\n@import 'bootstrap';\n@import 'font-awesome';\n@import 'bootstrap-social';\n\n@mixin box_sizing {\n  -moz-box-sizing:    border-box;\n  -webkit-box-sizing: border-box;\n  box-sizing:         border-box;\n}\n\n/* header */\n\n.navbar {\n  margin-bottom: 0px;\n}\n.button_to{\n  display: inline;\n}\n.refresh-button{\n  font-size: 10px;\n  padding: 5px;\n  margin-bottom: 4px;\n}\n#logo {\n  float: left;\n  margin-right: 10px;\n  margin-left: 10px;\n  font-size: 1.7em;\n  color: black;\n  text-transform: uppercase;\n  letter-spacing: -1px;\n  padding-top: 10px;\n  font-weight: bold;\n}\n\n#logo:hover {\n  color: gray;\n  text-decoration: none;\n}\n\nbody {\n  //padding-top: 70px; // This is to allow for fixed navbar at top.\n}\n.alert {\n  text-align: center;\n}\n.debug_dump {\n  padding-left: 8rem;\n  clear: both;\n  float: left;\n  width: 100%;\n  margin-top: 45px;\n  @include box_sizing;\n}\n.form-group .copy-field {\n  width: 155px;\n}\n.navbar-left{\n  .donate-small{\n    padding-top: 12px;\n  }\n}\nul .header-name {\n  position: relative;\n  font-weight: bold;\n  font-size: 21px;\n  top: 11px;\n  .last-data-update{\n    font-size: 12px;\n  }\n}\n@media (max-width: 768px){\n  .navbar-left{\n    margin: 0px -15px;\n    margin-bottom: -10px;\n    .donate-small{\n      padding-top: 10px;\n      text-align: right;\n    }\n  }\n  ul .header-name{\n    right: 10px;\n  }\n  .copy-form{\n    text-align: right;\n    input {\n      text-align: right;\n    }\n    display: none;\n  }\n  .alert {\n    //margin-left: 6rem;\n  }\n  header {\n    ul{\n      text-align: right;\n      input[type=\"submit\"] {\n        margin-right: 8px;\n        margin-top: 5px;\n      }\n      li {\n        display: inline;\n        a {\n          display: block;\n          text-align: right;\n        }\n      }\n    }\n    .form-control {\n      width: 80%;\n      margin-left: auto;\n      margin-right: 8px\n    }\n    /* webkit */\n    ::-webkit-input-placeholder { \n      text-align:right; \n    }\n    /* mozilla */\n    input:-moz-placeholder { \n      text-align:right; \n    }\n  }\n}\n// 20px gutter\n.gutter-20.row {\n  margin-right: -10px;\n  margin-left: -10px;\n}\n.gutter-20 > [class^=\"col-\"], .gutter-20 > [class^=\" col-\"] {\n  padding-right: 10px;\n  padding-left: 10px;\n}\n// 10px gutter\n.gutter-10.row {\n  margin-right: -.5rem;\n  margin-left: -.5rem;\n}\n.gutter-10 > [class^=\"col-\"], .gutter-10 > [class^=\" col-\"] {\n  padding-right: .5rem;\n  padding-left: .5rem;\n}\n// 0px gutter\n.gutter-0.row {\n  margin-right: 0;\n  margin-left: 0;\n}\n.gutter-0 > [class^=\"col-\"], .gutter-0 > [class^=\" col-\"]{\n  padding-right: 0;\n  padding-left: 0;\n}\n// To override style to 'display: inline-block;' from font-awesome rails gem\n.pagination {\n  margin-top: 5px;\n  margin-bottom: 0px;\n\n}\n.fa {\n  display: table-cell;\n}\n.thumbnail {\n  .data {\n    padding: 0px;\n  }\n  margin-bottom: .8rem;\n}\n:root {\n  font-size: 10px;\n}\n@media (max-width: 1262px){\n  :root {\n    font-size: 8px;\n  }\n}\n@media (max-width: 515px){\n  :root {\n    font-size: 5px;\n  }\n}\n"
  },
  {
    "path": "app/assets/stylesheets/pokemon.scss",
    "content": "@mixin center-absolute{\n  left: 50%;\n  right: 50%;\n  transform: translate(-50%,0%);\n}\n@mixin metadata{\n  position: absolute;\n  z-index: 1;\n  font-size: 1.2rem;\n  color: rgba(0,0,0,.46);\n}\n.pokemon-card {\n  height: 25rem;\n  position: relative;\n  table {\n    width: 100%;\n  }\n  .number{\n    @include metadata;\n    top: 5px;\n    left: 7px;\n  }\n  .level{\n    @include metadata;\n    top: 2rem;\n    left: 7px;\n    font-weight: bolder;\n  }\n  .max_cp{\n    @include metadata;\n    right: 7px;\n    top: 5px;\n  }\n  .stardust_to_max_cp{\n    @include metadata;\n    right: 7px;\n    top: 2rem;\n  }\n  .candy_to_max_cp{\n    @include metadata;\n    right: 7px;\n    top: 3.5rem;\n  }\n  .hidden{\n    display: none;\n  }\n  .weight{\n    @include metadata;\n    right: 7px;\n    top: 2rem;\n  }\n  .height{\n    @include metadata;\n    right: 7px;\n    top: 5px;\n  }\n  .attacked{\n    @include metadata;\n    width: 10%;\n    top: 5.3rem;\n    left: 7px;\n    span {\n      font-size: 1.8rem;\n    }\n    .fa-2x{\n      font-size: 1.4rem;\n    }\n  }\n  .defended{\n    @include metadata;\n    width: 10%;\n    left: 7px;\n    top: 7.3rem;\n    span {\n      font-size: 1.8rem;\n    }\n    .fa-2x{\n      font-size: 1.4rem;\n    }\n  }\n  .name {\n    margin-top: 0px;\n    margin-bottom: 0px;\n    font-size: 1.9rem;\n    font-weight: bold;\n    position: relative;\n  }\n  .CP{\n    font-size:1.9rem;\n    text-align: right;\n  }\n  .image-box{\n    overflow: hidden;\n    background-color: #eeeeee;\n    position: relative;\n    width: 100%;\n    height: 9.7rem;\n    img{\n      z-index: 0;\n      position: absolute;\n      @include center-absolute;\n      max-height: 100%;\n      max-width: 100%;\n    }\n  }\n  .data{\n    .big-bars{\n      margin-bottom: .6rem;\n      .progress{\n        height: 2.2rem;\n        margin-bottom: .3rem;\n        .progress-bar{\n          font-size: 1.3rem;\n          line-height: 2.3rem;\n        }\n      }\n    }\n    .small-bars{\n      .progress{\n        height: 1.6rem;\n        margin-bottom: .3rem;\n        .progress-bar{\n          font-size:1.1rem;\n          line-height:1.6rem;\n        }\n      }\n      .IV {\n        font-size: 1.2rem;\n      }\n      .IV-bar{\n        width: 86%;\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "app/assets/stylesheets/sessions.scss",
    "content": "// Place all the styles related to the Sessions controller here.\n// They will automatically be included in application.css.\n// You can use Sass (SCSS) here: http://sass-lang.com/\n.ptc-login{\n  margin-top: 5px;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/sidebar.scss",
    "content": "@import url(//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css);\n.fa-2x {\n  font-size: 2em;\n}\n.fa {\n  position: relative;\n  display: table-cell;\n  width: 6.0rem;\n  height: 3.6rem;\n  text-align: center;\n  vertical-align: middle;\n  font-size:2.0rem;\n}\n\n\n.main-menu:hover,nav.main-menu.expanded {\n  width:25.0rem;\n  overflow:visible;\n}\n\n.main-menu {\n  background:#fbfbfb;\n  border-right:.1rem solid #e5e5e5;\n  position: fixed;\n  top:0;\n  bottom:0;\n  height:100%;\n  left:0;\n  width:6.0rem;\n  overflow:hidden;\n  -webkit-transition:width .05s linear;\n  transition:width .05s linear;\n  -webkit-transform:translateZ(0) scale(1,1);\n  z-index:1000;\n}\n\n.main-menu>ul {\n  margin: 0;\n  height: 100vh;\n}\n\n.main-menu li {\n  position:relative;\n  height: 7.6923077vh;\n  display:block;\n  width:25.0rem;\n}\n\n.main-menu li>a {\n  height: 100%;\n  position:relative;\n  display:table;\n  border-collapse:collapse;\n  border-spacing:0;\n  color:#999;\n  font-family: arial;\n  font-size: 2rem;\n  text-decoration:none;\n  -webkit-transform:translateZ(0) scale(1,1);\n  -webkit-transition:all .1s linear;\n  transition:all .1s linear;\n\n}\n\n.main-menu .nav-icon {\n  position:relative;\n  display:table-cell;\n  width:6.0rem;\n  height:3.6rem;\n  text-align:center;\n  vertical-align:middle;\n  font-size:1.8rem;\n}\n\n.main-menu .nav-text {\n  position:relative;\n  display:table-cell;\n  vertical-align:middle;\n  width:19.0rem;\n}\n\n.no-touch .scrollable.hover {\n  overflow-y:hidden;\n}\n\n.no-touch .scrollable.hover:hover {\n  overflow-y:auto;\n  overflow:visible;\n}\n\na:hover,a:focus {\n  text-decoration:none;\n}\n\nnav {\n  -webkit-user-select:none;\n  -moz-user-select:none;\n  -ms-user-select:none;\n  -o-user-select:none;\n  user-select:none;\n}\n\nnav ul,nav li {\n  outline:0;\n  margin:0;\n  padding:0;\n}\n.main-menu li:hover>a,nav.main-menu li.active>a,.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus,.no-touch .dashboard-page nav.dashboard-menu ul li:hover a,.dashboard-page nav.dashboard-menu ul li.active a {\n  color:#fff;\n  background-color:#5fa2db;\n}\n@font-face {\n  font-style: normal;\n  font-weight: 300;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/static_pages.scss",
    "content": "// Place all the styles related to the static_pages controller here.\n// They will automatically be included in application.css.\n// You can use Sass (SCSS) here: http://sass-lang.com/\n.home-page-wrap{\n  height: 100vh;\n  //background-image: url('/assets/background-home.png');\n  background-size: cover;\n}\n.disclaimer{\n  position:absolute;\n  bottom:0px;\n  font-size: 1.2rem;\n  font-style:italic;\n}\n.home-page {\n  position: relative;\n  margin-top: 3%;\n  background-color: rgba(255,255,255,.75);\n  border-radius: 1.5rem;\n  box-shadow: 1rem 1rem 0.5rem #888888;\n  padding: 2vh;\n  .landing-title{\n    display: block;\n    width: 100%;\n    text-align: center;\n    margin: 0 auto;\n    img {\n      width: 50px;\n    }\n    h3{\n      margin-top: 0px;\n    }\n  }\n  h1 {\n    a {\n      font-size: 17px;\n      font-weight: 250;\n      letter-spacing: 5px;\n    }\n  }\n  li {\n    font-size: 20px;\n    text-decoration: none;\n  }\n  .features-list{\n    display: block;\n    width: 80%;\n    margin: 0 auto;\n    li {\n      .glyphicon {\n        margin-right: 5px;\n      }\n      list-style-type: none;\n      margin-top: 14px;\n    }\n  }\n}\n.about-page{\n  margin-bottom: 30px;\n  display: block;\n  width: 75%;\n  margin: 0 auto;\n  p {\n    font-size: 20px;\n  }\n}\nh1 {\n  text-align: center;\n}\n.login-box{\n  display: block;\n  height: 100%;\n  background-color: rgba(0,0,0,0.3);\n  border-radius: 5px;\n  width: 300px;\n  margin: 0 auto;\n  padding-top: 10px;\n  padding-bottom: 10px;\n  margin-bottom: 20px;\n  h1 {\n    line-height: 1;\n    font-size: 3em;\n    letter-spacing: -2px;\n    margin-bottom: 30px;\n    text-align: center;\n  }\n  .code-field{\n    margin-top: 10px;\n  }\n  #login-btn{\n    width: 100%;\n    margin-top: 10px;\n  }\n}\n.form-container{\n  width: 95%;\n  height: 85%;\n  margin: 0 auto;\n}\n@media (max-width: 320px){\n  .login-box{\n    width: 265px;\n  }\n}\n@media (max-width: 768px){\n  .home-page .features-list{\n    display: none;\n  }\n}\n"
  },
  {
    "path": "app/assets/stylesheets/stats.scss",
    "content": "// Place all the styles related to the stats controller here.\n// They will automatically be included in application.css.\n// You can use Sass (SCSS) here: http://sass-lang.com/\nul {\n  padding-left: 0px;\n  li {\n    list-style-type: none;\n  }\n}\n.value-header {\n  text-align: center;\n  font-size: 5rem;\n}\nth.header { \n    background-image: url(../img/small.gif); \n    cursor: pointer; \n    font-weight: bold; \n    background-repeat: no-repeat; \n    background-position: center left; \n    padding-left: 20px; \n    border-right: 1px solid #dad9c7; \n    margin-left: -1px; \n} \nth.headerSortDown { \n    background-image: url(../img/small_desc.gif); \n    background-color: #3399FF; \n} \nth.headerSortUp { \n    background-image: url(../img/small_asc.gif); \n    background-color: #3399FF; \n} \n"
  },
  {
    "path": "app/assets/stylesheets/users.scss",
    "content": "// Place all the styles related to the users controller here.\n// They will automatically be included in application.css.\n// You can use Sass (SCSS) here: http://sass-lang.com/\n\n@mixin border-right{\n  padding-right: 2rem;\n  border-right: 1px solid lightgray;\n}\n.show-pokemon-container{\n  padding-left: 6rem;\n  padding-top: 1rem;\n}\n#poke_iv, #poke_recent, #poke_health, #poke_atk, #poke_def, #poke_sta, #poke_name, #poke_num, #poke_attack, #poke_defend, #poke_height, #poke_weight{\n  display: none;\n}\n.user-list{\n  margin: 0 auto;\n  width: 100%;\n  margin-top: 5px;\n  ul {\n    font-size: 6rem;\n    text-align: center;\n    a {\n      text-decoration: none;\n    }\n    li {\n      border: 1px solid lightgray;\n      img {\n        max-height: 6rem;\n      }\n      table{\n        width: 100%;\n        .level {\n          width: 20%;\n        @include border-right;\n        }\n        .name {\n          width: 60%;\n        @include border-right;\n        }\n        .team {\n          width: 20%;\n        }\n        td {\n          font-size: 2.4rem;\n        }\n      }\n    }\n  }\n}\ndata {\n  display: none;\n}\n.loading{\n  position: fixed;\n  top: 50%;\n  left: 50%;\n}\n.line {\n    display: inline-block;\n    width: 15px;\n    height: 15px;\n    border-radius: 15px;\n    background-color: #4b9cdb;\n}\n.loading .line:nth-last-child(1) {animation: loadingA 1.5s 1s infinite;}\n.loading .line:nth-last-child(2) {animation: loadingA 1.5s .5s infinite;}\n.loading .line:nth-last-child(3) {animation: loadingA 1.5s 0s infinite;}\n@keyframes loadingA {\n    0% {height: 15px;}\n    50% {height: 35px;}\n    100% {height: 15px;}\n}\n"
  },
  {
    "path": "app/channels/application_cable/channel.rb",
    "content": "module ApplicationCable\n  class Channel < ActionCable::Channel::Base\n  end\nend\n"
  },
  {
    "path": "app/channels/application_cable/connection.rb",
    "content": "module ApplicationCable\n  class Connection < ActionCable::Connection::Base\n  end\nend\n"
  },
  {
    "path": "app/controllers/application_controller.rb",
    "content": "class ApplicationController < ActionController::Base\n  protect_from_forgery with: :exception, prepend: true\n  require 'poke-api'\n  include SessionsHelper\n  include UsersHelper\nend\n"
  },
  {
    "path": "app/controllers/concerns/.keep",
    "content": ""
  },
  {
    "path": "app/controllers/sessions_controller.rb",
    "content": "class SessionsController < ApplicationController\n  Poke::API::Logging.log_level = :DEBUG if Rails.env.development?\n  Poke::API::Logging.log_level = :WARN if Rails.env.production?\n  rescue_from Poke::API::Errors::LoginFailure, :with => :login_error_ptc\n  rescue_from ActionController::InvalidAuthenticityToken, :with => :logout_error\n  rescue_from Poke::API::Errors::UnknownProtoFault, :with => :login_error_google\n\n  def create\n    # Authorize\n    auth_objects = setup_user\n    client = auth_objects[:client]\n    @user = auth_objects[:user]\n    # Store all data\n    if store_data(client, @user) #SUCCESS\n      # set session variable to log in\n      session[:pogo_alias] = @user.name\n      # Redirect\n      redirect_to user_link\n    else #FAIL\n      flash[:danger] = \"There was an error when requesting your data (This could be because your account is banned or Niantic's servers are busy). Please try again.\"\n      @user.delete\n      redirect_to '/home'\n    end\n  end\n\n  def destroy\n    log_out if logged_in?\n    redirect_to root_url\n  end\n\n  protected\n    def login_error_ptc\n      flash.now[:danger] = 'Invalid user/password combination'\n      render 'static_pages/home'\n    end\n    def logout_error\n      redirect_to 'static_pages/home'\n    end\n    def login_error_google\n      flash.now[:danger] = 'Authorization code was empty'\n      #flash.now[:danger] = 'Niantic is blocking requests from the server. Please stand by.'\n      render 'static_pages/home'\n    end\nend\n"
  },
  {
    "path": "app/controllers/static_pages_controller.rb",
    "content": "class StaticPagesController < ApplicationController\n  def home\n  end\n\n  def about\n  end\nend\n"
  },
  {
    "path": "app/controllers/stats_controller.rb",
    "content": "class StatsController < ApplicationController\n  def show\n    if params[:stat]\n      @pokemon = Pokemon.order(\"#{params[:stat]} DESC, cp DESC, iv DESC\").limit(100).includes(:user)\n    else\n      @pokemon = Pokemon.order(\"cp DESC, iv DESC\").limit(100).includes(:user)\n    end\n  end\nend\n"
  },
  {
    "path": "app/controllers/users_controller.rb",
    "content": "class UsersController < ApplicationController\n  rescue_from ActiveRecord::RecordNotFound, with: :not_found\n  rescue_from ActiveRecord::StatementInvalid, with: :direct_to_default\n\n  def index\n    @users = User.trainer_search(params[:search]).\n      order(created_at: :desc).\n      paginate(page: params[:page])\n  end\n\n  def show\n    @user = User.find_by(name: params[:id]) || User.find(params[:id])\n    if params[:refresh]\n      if @user.refresh_token != nil\n        if @user.access_token_expire_time > Time.now.to_i\n          refresh_data(@user)\n        else\n          flash.now[:danger] = \"#{@user.screen_name}'s token expired. #{@user.screen_name} must login to refresh his token.\"\n        end\n      else\n        flash.now[:danger] = \"#{@user.screen_name} is a PTC account. #{@user.screen_name} must login to refresh his Pokémon.\"\n      end\n    end\n  end\n\n  def get_pokemon\n    @user = User.find_by(name: params[:id]) || User.find(params[:id])\n    if params[:stat]\n      if %w(level max_cp candy_to_max_cp stardust_to_max_cp).include?(params[:stat])\n        @pokemon = @user.pokemon.sort_by {|p| p.send(params[:stat].to_s)}.reverse\n      else\n        direction = %w(poke_num poke_id).include?(params[:stat]) ? 'ASC' : 'DESC'\n        @pokemon = @user.pokemon.order(\"#{params[:stat]} #{direction}, cp DESC, iv DESC\")\n      end\n    else\n      @pokemon = @user.pokemon.order(\"cp DESC\")\n    end\n    render json: @pokemon\n  end\n\n  private\n\n  def not_found\n    if logged_in?\n      redirect_to user_link\n    else\n      redirect_to root_path\n    end\n    flash[:danger] = 'The player you are looking for does not exist (Trainers have to log into PoGoBag to be seen)'\n  end\n\n  def direct_to_default\n    redirect_to '/'+params[:id]\n  end\nend\n"
  },
  {
    "path": "app/helpers/application_helper.rb",
    "content": "module ApplicationHelper\nend\n"
  },
  {
    "path": "app/helpers/sessions_helper.rb",
    "content": "module SessionsHelper\n  require 'poke-api'\n  require 'pp'\n\n  file = File.read('app/assets/pokemon.en.json')\n  @@pokemon_hash = JSON.parse(file)\n\n  def current_user\n    if (name = session[:pogo_alias])\n      @current_user ||= User.find_by(name: name)\n    end\n  end\n\n  def logged_in?\n    !current_user.nil?\n  end\n\n  def log_out\n    session.delete(:pogo_alias)\n    session.delete(:user)\n    @user = nil\n  end\n\n  # Reset database\n  def destroy_user_data(user)\n    user.pokemon.where(user_id: user.id).delete_all\n    user.items.where(user_id: user.id).delete_all\n  end\n\n  # Parse through all data and store into database\n  def store_data(client, user)\n    destroy_user_data(user)\n    call = get_call(client, :get_inventory)\n    trycount = 0\n    while call.response[:status_code] != 1 \n      if trycount > 1\n        return false\n      else\n        call = get_call(client, :get_inventory)\n        trycount += 1\n      end\n    end\n    response = call.response\n\n    #begin\n    response[:GET_INVENTORY][:inventory_delta][:inventory_items].each do |item|\n      item[:inventory_item_data].each do |type, i|\n        if i != nil\n          case type\n          when :player_stats\n            user.level = i[:level]\n            user.experience = i[:experience]\n            user.prev_level_xp = i[:prev_level_xp]\n            user.next_level_xp = i[:next_level_xp]\n            user.pokemons_encountered = i[:pokemons_encountered]\n            user.km_walked = i[:km_walked]\n            user.pokemons_captured = i[:pokemons_captured]\n            user.poke_stop_visits = i[:poke_stop_visits]\n            user.pokeballs_thrown = i[:pokeballs_thrown]\n            user.battle_attack_won = i[:battle_attack_won]\n            user.battle_attack_total = i[:battle_attack_total]\n            user.battle_defended_won = i[:battle_defended_won]\n            user.prestige_rasied_total = i[:prestige_rasied_total]\n            user.prestige_dropped_total = i[:prestige_dropped_total]\n            user.eggs_hatched = i[:eggs_hatched]\n            user.unique_pokedex_entries = i[:unique_pokedex_entries]\n            user.evolutions = i[:evolutions]\n            user.save\n          when :item\n            item_id = i[:item_id]\n            count = i[:count]\n            user.items.create(item_id: item_id, count: count)\n          when :pokemon_data\n            # Set poke_id\n            poke_id = i[:pokemon_id].capitalize.to_s\n            # To deal with Nidoran and Mr. Mime naming\n            poke_id = 'Nidoran♀' if poke_id.match('Nidoran_female')\n            poke_id = 'Nidoran♂' if poke_id.match('Nidoran_male')\n            poke_id = 'Mr. Mime' if poke_id.match('Mr_mime')\n            poke_id = \"Farfetch'd\" if poke_id.match('Farfetchd')\n            # To deal with MISSINGNO Pokemon\n            if @@pokemon_hash.key(poke_id) != nil\n              poke_num = @@pokemon_hash.key(poke_id)\n            else\n              poke_num = \"0\"\n            end\n            # Instantiate pokemon\n            pokemon = user.pokemon.new\n            # Set data\n            pokemon.poke_id = poke_id\n            pokemon.poke_num = poke_num\n            pokemon.creation_time_ms = i[:creation_time_ms]\n            pokemon.move_1 = i[:move_1]\n            pokemon.move_2 = i[:move_2]\n            pokemon.health = i[:stamina]\n            pokemon.max_health = i[:stamina_max]\n            pokemon.attack = i[:individual_attack]\n            pokemon.defense = i[:individual_defense]\n            pokemon.stamina = i[:individual_stamina]\n            pokemon.cp = i[:cp]\n            pokemon.iv = ((pokemon.attack + pokemon.defense + pokemon.stamina) / 45.0).round(3)\n            pokemon.nickname = i[:nickname]\n            pokemon.favorite = i[:favorite]\n            pokemon.num_upgrades = i[:num_upgrades]\n            pokemon.battles_attacked = i[:battles_attacked]\n            pokemon.battles_defended = i[:battles_defended]\n            pokemon.pokeball = i[:pokeball]\n            pokemon.height_m = i[:height_m]\n            pokemon.weight_kg = i[:weight_kg]\n            # Save record\n            pokemon.save\n          #when :pokemon_family\n            #poke_id = i[:family_id].to_s\n            #poke_id.slice! 'FAMILY_'\n            #poke_id = poke_id.capitalize.to_s\n            #candy = i[:candy]\n\n            ## Instantiate pokemon\n            #pokemon = user.pokemon.where(:poke_id => poke_id).first_or_create!\n            #pokemon.candy = candy\n            #pokemon.save\n          end\n        end\n      end\n    end\n    # Cleanup error pokemonn (Actually eggs)\n    Pokemon.where(poke_id: \"Missingno\").delete_all\n    return true\n  end\n\n  # get name from logged in client\n  def get_player_info(client)\n    call = get_call(client, :get_player)\n    while call.response[:status_code] != 1\n      call = get_call(client, :get_player)\n    end\n    info = Hash.new\n    response = call.response\n    info[:name] = response[:GET_PLAYER][:player_data][:username]\n    info[:team] = response[:GET_PLAYER][:player_data][:team]\n    info[:max_pokemon_storage] = response[:GET_PLAYER][:player_data][:max_pokemon_storage]\n    info[:max_item_storage] = response[:GET_PLAYER][:player_data][:max_item_storage]\n    info[:POKECOIN] = response[:GET_PLAYER][:player_data][:currencies][0][:amount]\n    info[:STARDUST] = response[:GET_PLAYER][:player_data][:currencies][1][:amount]\n    return info\n  end\n\n  # Handle login logic\n  def setup_user\n    if params.has_key? :ptc # PTC LOGIN------------\n      client = Poke::API::Client.new\n      # Grab all credentials from form\n      username = params[:ptc][:username]\n      pass = params[:ptc][:password]\n      client.login(username, pass, 'ptc')\n    end\n    if params.has_key? :google # GOOGLE LOGIN---------\n      response =  authorized_client params[:google][:code]\n      client = response[:client]\n      refresh_token = response[:refresh_token]\n    end\n    if defined? refresh_token\n      @user = setup_client_user_pair(client, refresh_token)\n    else\n      @user = setup_client_user_pair(client)\n    end\n    return {:user => @user, :client => client}\n  end\n\n  def setup_client_user_pair(client, refresh_token = nil)\n    info = get_player_info(client)\n    screen_name = info[:name]\n    name = screen_name.downcase\n    @user = User.where(:name => name).first_or_create!\n    @user.screen_name = screen_name\n    @user.team = info[:team]\n    @user.max_pokemon_storage = info[:max_pokemon_storage]\n    @user.max_item_storage = info[:max_item_storage]\n    @user.POKECOIN = info[:POKECOIN]\n    @user.STARDUST = info[:STARDUST]\n    @user.last_data_update = Time.now.to_s\n    if !refresh_token.nil?\n      time = Time.now + 3600\n      time = time.to_i\n      @user.access_token_expire_time = time\n      @user.refresh_token = refresh_token\n    end\n    @user.save\n    return @user\n  end\n\n  def refresh_data(user)\n    auth_objects = authorized_client(user.refresh_token, 'refresh_token')\n    client = auth_objects[:client]\n    user = setup_client_user_pair(client, user.refresh_token)\n    while !store_data(client, user)\n      store_data(client, user)\n    end\n  end\n\n  def authorized_client(token, type = 'authorization_code')\n      clnt = HTTPClient.new\n      body = {\n        grant_type: type,\n        redirect_uri: 'urn:ietf:wg:oauth:2.0:oob',\n        scope: 'openid email https://www.googleapis.com/auth/userinfo.email',\n        client_secret: 'NCjF1TLi2CcY6t5mt0ZveuL7',\n        client_id: '848232511240-73ri3t7plvk96pj4f85uj8otdat2alem.apps.googleusercontent.com',\n      }\n      if type == 'authorization_code'\n        body[:code] = token\n      end\n      if type =='refresh_token'\n        body[:refresh_token] = token\n      end\n      uri = 'https://accounts.google.com/o/oauth2/token'\n      response = clnt.post(uri, body)\n      body = response.body\n      hash = JSON.parse body\n      access_token = hash[\"id_token\"]\n      refresh_token = hash[\"refresh_token\"]\n      client = Poke::API::Client.new\n      client.refresh_token = refresh_token\n      client.login('', '', 'google')\n      return {:client => client, :refresh_token => refresh_token}\n  end\n\n\n  # get response from call by providing client and request\n  def get_call(client, req)\n    client.send req\n    call = client.call\n  end\n\nend\n"
  },
  {
    "path": "app/helpers/static_pages_helper.rb",
    "content": "module StaticPagesHelper\nend\n"
  },
  {
    "path": "app/helpers/stats_helper.rb",
    "content": "module StatsHelper\n  def rank_image(rank)\n    case rank\n    when 1\n      return image_path \"etc/badge_lv3.png\"\n    when 2\n      return image_path \"etc/badge_lv2.png\"\n    when 3\n      return image_path \"etc/badge_lv1.png\"\n    end\n  end\n\n  def format_move(move)\n    move.slice! '_FAST'\n    move = move.split '_'\n    move = move.map do |word|\n      word.capitalize\n    end\n    move = move.join(\" \")\n    return move\n  end\n    \nend\n"
  },
  {
    "path": "app/helpers/users_helper.rb",
    "content": "module UsersHelper\n  def user_link\n    '/'+current_user.name\n  end\nend\n"
  },
  {
    "path": "app/jobs/application_job.rb",
    "content": "class ApplicationJob < ActiveJob::Base\nend\n"
  },
  {
    "path": "app/mailers/application_mailer.rb",
    "content": "class ApplicationMailer < ActionMailer::Base\n  default from: 'from@example.com'\n  layout 'mailer'\nend\n"
  },
  {
    "path": "app/models/application_record.rb",
    "content": "class ApplicationRecord < ActiveRecord::Base\n  self.abstract_class = true\nend\n"
  },
  {
    "path": "app/models/concerns/.keep",
    "content": ""
  },
  {
    "path": "app/models/item.rb",
    "content": "class Item < ApplicationRecord\n  belongs_to :user, dependent: :destroy\n  validates :item_id, presence: true\n  validates :count, presence: true\nend\n"
  },
  {
    "path": "app/models/pokemon.rb",
    "content": "class Pokemon < ApplicationRecord\n  belongs_to :user, dependent: :destroy\n  validates :poke_id, presence: true\n  validates :move_1, presence: true\n  validates :move_2, presence: true\n  validates :max_health, presence: true\n  validates :attack, presence: true\n  validates :defense, presence: true\n  validates :stamina, presence: true\n  validates :cp, presence: true\n  validates :iv, presence: true\n  validates :favorite, presence: true\n  validates :num_upgrades, presence: true\n  validates :battles_attacked, presence: true\n  validates :battles_defended, presence: true\n  validates :pokeball, presence: true\n  validates :height_m, presence: true\n  validates :weight_kg, presence: true\n  validates :health, presence: true\n  validates :poke_num, presence: true\n  validates :creation_time_ms, presence: true\n\n  def self.evaluate_type(type)\n    puts type\n    pokemon = Pokemon.where(poke_id: type).order(:cp)\n    max_level = pokemon.length > 0 ? pokemon.first.user.level + 1.5 : 0\n    pokemon.map {|p| [p.cp, p.levels(max_level)]}.each {|ll| puts ll[0]; puts ll[1]}\n    nil\n  end\n\n  def self.cheapest_to_cp(reach_cp = 2500)\n    to_reach = Pokemon.all.select {|p| p.cost_to_cp(reach_cp)}.sort_by {|p| p.cost_to_cp(reach_cp)[2]}\n    to_reach.each do |p|\n      puts \"#{p.poke_id} (#{p.cp}): #{p.cost_to_cp(reach_cp)}\"\n    end\n    nil\n  end\n\n  def as_json(*)\n    super.as_json.merge(level: level, max_cp: max_cp, candy_to_max_cp: candy_to_max_cp, stardust_to_max_cp: stardust_to_max_cp)\n  end\n\n  def powered_up\n    return @powered_up if @powered_up\n    test_level = user.level+1.5\n    candy_investment = Pokemon.power_up_cost[level][:cumulative_candy]\n    stardust_investment = Pokemon.power_up_cost[level][:cumulative_stardust]\n\n    cp = Pokemon.compute_cp(test_level, evolved[:stats][0], evolved[:stats][1], evolved[:stats][2])\n    candy_cost = evolved[:cost] + Pokemon.power_up_cost[test_level][:cumulative_candy] - candy_investment\n    stardust_cost = Pokemon.power_up_cost[test_level][:cumulative_stardust] - stardust_investment\n    @powered_up = {level: test_level, cp: cp, candy: candy_cost, stardust: stardust_cost}\n  end\n\n  def max_cp\n    powered_up[:cp]\n  end\n\n  def stardust_to_max_cp\n    powered_up[:stardust]\n  end\n\n  def candy_to_max_cp\n    powered_up[:candy]\n  end\n\n  # calculates cost (in candies and stardust) to reach 2500\n  def cost_to_cp(reach_cp = 2500)\n    level_above_cp = levels.find { |l| l[:cp] >= reach_cp }\n    return nil unless level_above_cp\n    return [level_above_cp[:level], level_above_cp[:candy], level_above_cp[:stardust]]\n  end\n\n  def evolved\n    return @evolved if @evolved\n    cost = 0\n    evolved_poke_num = poke_num\n    while evolve_cost = Pokemon.base_stats[evolved_poke_num][3] do\n      cost += evolve_cost\n      evolved_poke_num += 1\n    end\n    total_stats = Pokemon.base_stats[evolved_poke_num][0..2]\n    total_stats[0] += attack\n    total_stats[1] += defense\n    total_stats[2] += stamina\n    @evolved = {\n      stats: total_stats,\n      cost: cost\n    }\n  end\n\n  def level\n    return @level if @level\n    rhs = (Pokemon.base_stats[poke_num][0] + attack) *\n          (Pokemon.base_stats[poke_num][1] + defense) ** 0.5 *\n          (Pokemon.base_stats[poke_num][2] + stamina) ** 0.5 * 0.1\n    cpm = ((cp + 0.5) / rhs) ** 0.5\n    # actual formula has floor(), doing the intermediate one\n    closest_cpm = Pokemon.cp_multiplier.values.min_by { |x| (x - cpm).abs }\n    @level = Pokemon.cp_multiplier.key(closest_cpm)\n  end\n\n  # calculates outcomes of evolving and leveling\n  def levels(max_level = 40.0)\n    candy_investment = Pokemon.power_up_cost[level][:cumulative_candy]\n    stardust_investment = Pokemon.power_up_cost[level][:cumulative_stardust]\n    max_num_power_ups = (max_level - level) * 2.0\n\n    (0..max_num_power_ups).map do |power_ups|\n      test_level = level + power_ups / 2.0\n      cp = Pokemon.compute_cp(test_level, evolved[:stats][0], evolved[:stats][1], evolved[:stats][2])\n      candy_cost = evolved[:cost] + Pokemon.power_up_cost[test_level][:cumulative_candy] - candy_investment\n      stardust_cost = Pokemon.power_up_cost[test_level][:cumulative_stardust] - stardust_investment\n      {level: test_level, cp: cp, candy: candy_cost, stardust: stardust_cost}\n    end.compact\n  end\n\n  def self.compute_cp(level, attack, defense, stamina)\n    ((attack * defense ** 0.5 * stamina ** 0.5 * cp_multiplier[level]**2)/10).floor\n  end\n\n  def self.power_up_cost\n    @@memoized_power_up_cost ||= [\n      [1.0, {:candy=>1, :stardust=>200, :cumulative_candy=>0, :cumulative_stardust=>0}],\n      [1.5, {:candy=>1, :stardust=>200, :cumulative_candy=>1, :cumulative_stardust=>200}],\n      [2.0, {:candy=>1, :stardust=>200, :cumulative_candy=>2, :cumulative_stardust=>400}],\n      [2.5, {:candy=>1, :stardust=>200, :cumulative_candy=>3, :cumulative_stardust=>600}],\n      [3.0, {:candy=>1, :stardust=>400, :cumulative_candy=>4, :cumulative_stardust=>800}],\n      [3.5, {:candy=>1, :stardust=>400, :cumulative_candy=>5, :cumulative_stardust=>1200}],\n      [4.0, {:candy=>1, :stardust=>400, :cumulative_candy=>6, :cumulative_stardust=>1600}],\n      [4.5, {:candy=>1, :stardust=>400, :cumulative_candy=>7, :cumulative_stardust=>2000}],\n      [5.0, {:candy=>1, :stardust=>600, :cumulative_candy=>8, :cumulative_stardust=>2400}],\n      [5.5, {:candy=>1, :stardust=>600, :cumulative_candy=>9, :cumulative_stardust=>3000}],\n      [6.0, {:candy=>1, :stardust=>600, :cumulative_candy=>10, :cumulative_stardust=>3600}],\n      [6.5, {:candy=>1, :stardust=>600, :cumulative_candy=>11, :cumulative_stardust=>4200}],\n      [7.0, {:candy=>1, :stardust=>800, :cumulative_candy=>12, :cumulative_stardust=>4800}],\n      [7.5, {:candy=>1, :stardust=>800, :cumulative_candy=>13, :cumulative_stardust=>5600}],\n      [8.0, {:candy=>1, :stardust=>800, :cumulative_candy=>14, :cumulative_stardust=>6400}],\n      [8.5, {:candy=>1, :stardust=>800, :cumulative_candy=>15, :cumulative_stardust=>7200}],\n      [9.0, {:candy=>1, :stardust=>1000, :cumulative_candy=>16, :cumulative_stardust=>8000}],\n      [9.5, {:candy=>1, :stardust=>1000, :cumulative_candy=>17, :cumulative_stardust=>9000}],\n      [10.0, {:candy=>1, :stardust=>1000, :cumulative_candy=>18, :cumulative_stardust=>10000}],\n      [10.5, {:candy=>1, :stardust=>1000, :cumulative_candy=>19, :cumulative_stardust=>11000}],\n      [11.0, {:candy=>2, :stardust=>1300, :cumulative_candy=>20, :cumulative_stardust=>12000}],\n      [11.5, {:candy=>2, :stardust=>1300, :cumulative_candy=>22, :cumulative_stardust=>13300}],\n      [12.0, {:candy=>2, :stardust=>1300, :cumulative_candy=>24, :cumulative_stardust=>14600}],\n      [12.5, {:candy=>2, :stardust=>1300, :cumulative_candy=>26, :cumulative_stardust=>15900}],\n      [13.0, {:candy=>2, :stardust=>1600, :cumulative_candy=>28, :cumulative_stardust=>17200}],\n      [13.5, {:candy=>2, :stardust=>1600, :cumulative_candy=>30, :cumulative_stardust=>18800}],\n      [14.0, {:candy=>2, :stardust=>1600, :cumulative_candy=>32, :cumulative_stardust=>20400}],\n      [14.5, {:candy=>2, :stardust=>1600, :cumulative_candy=>34, :cumulative_stardust=>22000}],\n      [15.0, {:candy=>2, :stardust=>1900, :cumulative_candy=>36, :cumulative_stardust=>23600}],\n      [15.5, {:candy=>2, :stardust=>1900, :cumulative_candy=>38, :cumulative_stardust=>25500}],\n      [16.0, {:candy=>2, :stardust=>1900, :cumulative_candy=>40, :cumulative_stardust=>27400}],\n      [16.5, {:candy=>2, :stardust=>1900, :cumulative_candy=>42, :cumulative_stardust=>29300}],\n      [17.0, {:candy=>2, :stardust=>2200, :cumulative_candy=>44, :cumulative_stardust=>31200}],\n      [17.5, {:candy=>2, :stardust=>2200, :cumulative_candy=>46, :cumulative_stardust=>33400}],\n      [18.0, {:candy=>2, :stardust=>2200, :cumulative_candy=>48, :cumulative_stardust=>35600}],\n      [18.5, {:candy=>2, :stardust=>2200, :cumulative_candy=>50, :cumulative_stardust=>37800}],\n      [19.0, {:candy=>2, :stardust=>2500, :cumulative_candy=>52, :cumulative_stardust=>40000}],\n      [19.5, {:candy=>2, :stardust=>2500, :cumulative_candy=>54, :cumulative_stardust=>42500}],\n      [20.0, {:candy=>2, :stardust=>2500, :cumulative_candy=>56, :cumulative_stardust=>45000}],\n      [20.5, {:candy=>2, :stardust=>2500, :cumulative_candy=>58, :cumulative_stardust=>47500}],\n      [21.0, {:candy=>3, :stardust=>3000, :cumulative_candy=>60, :cumulative_stardust=>50000}],\n      [21.5, {:candy=>3, :stardust=>3000, :cumulative_candy=>63, :cumulative_stardust=>53000}],\n      [22.0, {:candy=>3, :stardust=>3000, :cumulative_candy=>66, :cumulative_stardust=>56000}],\n      [22.5, {:candy=>3, :stardust=>3000, :cumulative_candy=>69, :cumulative_stardust=>59000}],\n      [23.0, {:candy=>3, :stardust=>3500, :cumulative_candy=>72, :cumulative_stardust=>62000}],\n      [23.5, {:candy=>3, :stardust=>3500, :cumulative_candy=>75, :cumulative_stardust=>65500}],\n      [24.0, {:candy=>3, :stardust=>3500, :cumulative_candy=>78, :cumulative_stardust=>69000}],\n      [24.5, {:candy=>3, :stardust=>3500, :cumulative_candy=>81, :cumulative_stardust=>72500}],\n      [25.0, {:candy=>3, :stardust=>4000, :cumulative_candy=>84, :cumulative_stardust=>76000}],\n      [25.5, {:candy=>3, :stardust=>4000, :cumulative_candy=>87, :cumulative_stardust=>80000}],\n      [26.0, {:candy=>4, :stardust=>4000, :cumulative_candy=>90, :cumulative_stardust=>84000}],\n      [26.5, {:candy=>4, :stardust=>4000, :cumulative_candy=>94, :cumulative_stardust=>88000}],\n      [27.0, {:candy=>4, :stardust=>4500, :cumulative_candy=>98, :cumulative_stardust=>92000}],\n      [27.5, {:candy=>4, :stardust=>4500, :cumulative_candy=>102, :cumulative_stardust=>96500}],\n      [28.0, {:candy=>4, :stardust=>4500, :cumulative_candy=>106, :cumulative_stardust=>101000}],\n      [28.5, {:candy=>4, :stardust=>4500, :cumulative_candy=>110, :cumulative_stardust=>105500}],\n      [29.0, {:candy=>4, :stardust=>5000, :cumulative_candy=>114, :cumulative_stardust=>110000}],\n      [29.5, {:candy=>4, :stardust=>5000, :cumulative_candy=>118, :cumulative_stardust=>115000}],\n      [30.0, {:candy=>4, :stardust=>5000, :cumulative_candy=>122, :cumulative_stardust=>120000}],\n      [30.5, {:candy=>4, :stardust=>5000, :cumulative_candy=>126, :cumulative_stardust=>125000}],\n      [31.0, {:candy=>6, :stardust=>6000, :cumulative_candy=>130, :cumulative_stardust=>130000}],\n      [31.5, {:candy=>6, :stardust=>6000, :cumulative_candy=>136, :cumulative_stardust=>136000}],\n      [32.0, {:candy=>6, :stardust=>6000, :cumulative_candy=>142, :cumulative_stardust=>142000}],\n      [32.5, {:candy=>6, :stardust=>6000, :cumulative_candy=>148, :cumulative_stardust=>148000}],\n      [33.0, {:candy=>8, :stardust=>7000, :cumulative_candy=>154, :cumulative_stardust=>154000}],\n      [33.5, {:candy=>8, :stardust=>7000, :cumulative_candy=>162, :cumulative_stardust=>161000}],\n      [34.0, {:candy=>8, :stardust=>7000, :cumulative_candy=>170, :cumulative_stardust=>168000}],\n      [34.5, {:candy=>8, :stardust=>7000, :cumulative_candy=>178, :cumulative_stardust=>175000}],\n      [35.0, {:candy=>10, :stardust=>8000, :cumulative_candy=>186, :cumulative_stardust=>182000}],\n      [35.5, {:candy=>10, :stardust=>8000, :cumulative_candy=>196, :cumulative_stardust=>190000}],\n      [36.0, {:candy=>10, :stardust=>8000, :cumulative_candy=>206, :cumulative_stardust=>198000}],\n      [36.5, {:candy=>10, :stardust=>8000, :cumulative_candy=>216, :cumulative_stardust=>206000}],\n      [37.0, {:candy=>12, :stardust=>9000, :cumulative_candy=>226, :cumulative_stardust=>214000}],\n      [37.5, {:candy=>12, :stardust=>9000, :cumulative_candy=>238, :cumulative_stardust=>223000}],\n      [38.0, {:candy=>12, :stardust=>9000, :cumulative_candy=>250, :cumulative_stardust=>232000}],\n      [38.5, {:candy=>12, :stardust=>9000, :cumulative_candy=>262, :cumulative_stardust=>241000}],\n      [39.0, {:candy=>15, :stardust=>10000, :cumulative_candy=>274, :cumulative_stardust=>250000}],\n      [39.5, {:candy=>15, :stardust=>10000, :cumulative_candy=>289, :cumulative_stardust=>260000}],\n      [40.0, {:candy=>15, :stardust=>10000, :cumulative_candy=>304, :cumulative_stardust=>270000}],\n      [40.5, {:candy=>15, :stardust=>10000, :cumulative_candy=>319, :cumulative_stardust=>280000}]\n    ].to_h\n  end\n\n  def self.base_stats\n    @@memoized_base_stats ||= [\n      [1,   [118, 118, 90, 25]],\n      [2,   [151, 151, 120, 100]],\n      [3,   [198, 198, 160, nil]],\n      [4,   [116, 96,  78, 25]],\n      [5,   [158, 129, 116, 100]],\n      [6,   [223, 176, 156, nil]],\n      [7,   [94,  122, 88, 25]],\n      [8,   [126, 155, 118, 100]],\n      [9,   [171, 210, 158, nil]],\n      [10,  [55,  62,  90, 12]],\n      [11,  [45,  94,  100, 50]],\n      [12,  [167, 151, 120, nil]],\n      [13,  [63,  55,  80, 12]],\n      [14,  [46,  86,  90, 50]],\n      [15,  [169, 150, 130, nil]],\n      [16,  [85,  76,  80, 12]],\n      [17,  [117, 108, 126, 50]],\n      [18,  [166, 157, 166, nil]],\n      [19,  [103, 70,  60, 25]],\n      [20,  [161, 144, 110, nil]],\n      [21,  [112, 61,  80, 50]],\n      [22,  [182, 135, 130, nil]],\n      [23,  [110, 102, 70, 50]],\n      [24,  [167, 158, 120, nil]],\n      [25,  [112, 101, 70, 50]],\n      [26,  [193, 165, 120, nil]],\n      [27,  [126, 145, 100, 50]],\n      [28,  [182, 202, 150, nil]],\n      [29,  [86,  94,  110, 25]],\n      [30,  [117, 126, 140, 100]],\n      [31,  [180, 174, 180, nil]],\n      [32,  [105, 76,  92, 25]],\n      [33,  [137, 112, 122, 100]],\n      [34,  [204, 157, 162, nil]],\n      [35,  [107, 116, 140, 50]],\n      [36,  [178, 171, 190, nil]],\n      [37,  [96,  122, 76, 50]],\n      [38,  [169, 204, 146, nil]],\n      [39,  [80,  44,  230, 50]],\n      [40,  [156, 93,  280, nil]],\n      [41,  [83,  76,  80, 50]],\n      [42,  [161, 153, 150, nil]],\n      [43,  [131, 116, 90, 25]],\n      [44,  [153, 139, 120, 100]],\n      [45,  [202, 170, 150, nil]],\n      [46,  [121, 99,  70, 50]],\n      [47,  [165, 146, 120, nil]],\n      [48,  [100, 102, 120, 50]],\n      [49,  [179, 150, 140, nil]],\n      [50,  [109, 88,  20, 50]],\n      [51,  [167, 147, 70, nil]],\n      [52,  [92,  81,  80, 50]],\n      [53,  [150, 139, 130, nil]],\n      [54,  [122, 96,  100, 50]],\n      [55,  [191, 163, 160, nil]],\n      [56,  [148, 87,  80, 50]],\n      [57,  [207, 144, 130, nil]],\n      [58,  [136, 96,  110, 50]],\n      [59,  [227, 166, 180, nil]],\n      [60,  [101, 82,  80, 25]],\n      [61,  [130, 130, 130, 100]],\n      [62,  [182, 187, 180, nil]],\n      [63,  [195, 103, 50, 25]],\n      [64,  [232, 138, 80, 100]],\n      [65,  [271, 194, 110, nil]],\n      [66,  [137, 88,  140, 25]],\n      [67,  [177, 130, 160, 100]],\n      [68,  [234, 162, 180, nil]],\n      [69,  [139, 64,  100, 25]],\n      [70,  [172, 95,  130, 100]],\n      [71,  [207, 138, 160, nil]],\n      [72,  [97,  182, 80, 50]],\n      [73,  [166, 237, 160, nil]],\n      [74,  [132, 163, 80, 25]],\n      [75,  [164, 196, 110, 100]],\n      [76,  [211, 229, 160, nil]],\n      [77,  [170, 132, 100, 50]],\n      [78,  [207, 167, 130, nil]],\n      [79,  [109, 109, 180, 50]],\n      [80,  [177, 194, 190, nil]],\n      [81,  [165, 128, 50, 50]],\n      [82,  [223, 182, 100, nil]],\n      [83,  [124, 118, 104, nil]],\n      [84,  [158, 88,  70, 50]],\n      [85,  [218, 145, 120, nil]],\n      [86,  [85,  128, 130, 50]],\n      [87,  [139, 184, 180, nil]],\n      [88,  [135, 90,  160, 50]],\n      [89,  [190, 184, 210, nil]],\n      [90,  [116, 168, 60, 50]],\n      [91,  [186, 323, 100, nil]],\n      [92,  [186, 70,  60, 25]],\n      [93,  [223, 112, 90, 100]],\n      [94,  [261, 156, 120, nil]],\n      [95,  [85,  288, 70, nil]],\n      [96,  [89,  158, 120, 50]],\n      [97,  [144, 215, 170, nil]],\n      [98,  [181, 156, 60, 50]],\n      [99,  [240, 214, 110, nil]],\n      [100, [109, 114, 80, 50]],\n      [101, [173, 179, 120, nil]],\n      [102, [107, 140, 120, 50]],\n      [103, [233, 158, 190, nil]],\n      [104, [90,  165, 100, 50]],\n      [105, [144, 200, 120, nil]],\n      [106, [224, 211, 100, nil]],\n      [107, [193, 212, 100, nil]],\n      [108, [108, 137, 180, nil]],\n      [109, [119, 164, 80, 50]],\n      [110, [174, 221, 130, nil]],\n      [111, [140, 157, 160, 50]],\n      [112, [222, 206, 210, nil]],\n      [113, [60,  176, 500, nil]],\n      [114, [183, 205, 130, nil]],\n      [115, [181, 165, 210, nil]],\n      [116, [129, 125, 60, 50]],\n      [117, [187, 182, 110, nil]],\n      [118, [123, 115, 90, 50]],\n      [119, [175, 154, 160, nil]],\n      [120, [137, 112, 60, 50]],\n      [121, [210, 184, 120, nil]],\n      [122, [192, 233, 80, nil]],\n      [123, [218, 170, 140, nil]],\n      [124, [223, 182, 130, nil]],\n      [125, [198, 173, 130, nil]],\n      [126, [206, 169, 130, nil]],\n      [127, [238, 197, 130, nil]],\n      [128, [198, 197, 150, nil]],\n      [129, [29,  102, 40, 400]],\n      [130, [237, 197, 190, nil]],\n      [131, [186, 190, 260, nil]],\n      [132, [91,  91,  96, nil]],\n      [133, [104, 121, 110, 25]],\n      [134, [205, 177, 260, nil]],\n      [135, [232, 201, 130, nil]],\n      [136, [246, 204, 130, nil]],\n      [137, [153, 139, 130, nil]],\n      [138, [155, 174, 70, 50]],\n      [139, [207, 227, 140, nil]],\n      [140, [148, 162, 60, 50]],\n      [141, [220, 203, 120, nil]],\n      [142, [221, 164, 160, nil]],\n      [143, [190, 190, 320, nil]],\n      [144, [192, 249, 180, nil]],\n      [145, [253, 188, 180, nil]],\n      [146, [251, 184, 180, nil]],\n      [147, [119, 94,  82, 25]],\n      [148, [163, 138, 122, 100]],\n      [149, [263, 201, 182, nil]],\n      [150, [330, 200, 212, nil]],\n      [151, [210, 210, 200, nil]],\n    ].to_h\n  end\n\n  def self.cp_multiplier\n    @@memoized_cp_multiplier ||= [\n      [1.0, 0.094],\n      [1.5, 0.135137432],\n      [2.0, 0.16639787],\n      [2.5, 0.192650919],\n      [3.0, 0.21573247],\n      [3.5, 0.236572661],\n      [4.0, 0.25572005],\n      [4.5, 0.273530381],\n      [5.0, 0.29024988],\n      [5.5, 0.306057377],\n      [6.0, 0.3210876],\n      [6.5, 0.335445036],\n      [7.0, 0.34921268],\n      [7.5, 0.362457751],\n      [8.0, 0.37523559],\n      [8.5, 0.387592406],\n      [9.0, 0.39956728],\n      [9.5, 0.411193551],\n      [10.0, 0.42250001],\n      [10.5, 0.432926419],\n      [11.0, 0.44310755],\n      [11.5, 0.4530599578],\n      [12.0, 0.46279839],\n      [12.5, 0.472336083],\n      [13.0, 0.48168495],\n      [13.5, 0.4908558],\n      [14.0, 0.49985844],\n      [14.5, 0.508701765],\n      [15.0, 0.51739395],\n      [15.5, 0.525942511],\n      [16.0, 0.53435433],\n      [16.5, 0.542635767],\n      [17.0, 0.55079269],\n      [17.5, 0.558830576],\n      [18.0, 0.56675452],\n      [18.5, 0.574569153],\n      [19.0, 0.58227891],\n      [19.5, 0.589887917],\n      [20.0, 0.59740001],\n      [20.5, 0.604818814],\n      [21.0, 0.61215729],\n      [21.5, 0.619399365],\n      [22.0, 0.62656713],\n      [22.5, 0.633644533],\n      [23.0, 0.64065295],\n      [23.5, 0.647576426],\n      [24.0, 0.65443563],\n      [24.5, 0.661214806],\n      [25.0, 0.667934],\n      [25.5, 0.674577537],\n      [26.0, 0.68116492],\n      [26.5, 0.687680648],\n      [27.0, 0.69414365],\n      [27.5, 0.700538673],\n      [28.0, 0.70688421],\n      [28.5, 0.713164996],\n      [29.0, 0.71939909],\n      [29.5, 0.725571552],\n      [30.0, 0.7317],\n      [30.5, 0.734741009],\n      [31.0, 0.73776948],\n      [31.5, 0.740785574],\n      [32.0, 0.74378943],\n      [32.5, 0.746781211],\n      [33.0, 0.74976104],\n      [33.5, 0.752729087],\n      [34.0, 0.75568551],\n      [34.5, 0.758630378],\n      [35.0, 0.76156384],\n      [35.5, 0.764486065],\n      [36.0, 0.76739717],\n      [36.5, 0.770297266],\n      [37.0, 0.7731865],\n      [37.5, 0.776064962],\n      [38.0, 0.77893275],\n      [38.5, 0.781790055],\n      [39.0, 0.78463697],\n      [39.5, 0.787473578],\n      [40.0, 0.79030001],\n    ].to_h\n  end\nend\n"
  },
  {
    "path": "app/models/user.rb",
    "content": "class User < ApplicationRecord\n  before_create :name_downcase\n  has_many :items\n  has_many :pokemon\n\n  scope :trainer_search, -> (name) {\n    name.present? ? where('screen_name LIKE ?', \"%#{name}%\") : all\n  }\n\n  private\n\n    def name_downcase\n      self.name = name.downcase\n    end\nend\n"
  },
  {
    "path": "app/views/items/_item.html.erb",
    "content": "<li id=\"item-<%= item.id %>\">\n  <span class=\"item\"><%= item[:item_id] %></span>\n  <span class=\"count\"><%= item[:count] %></span>\n</li>\n"
  },
  {
    "path": "app/views/layouts/_header.html.erb",
    "content": "<header class=\"navbar navbar-default\">\n  <div class=\"container-fluid\">\n    <!-- Band and toggle get grouped for better mobile display -->\n    <div class=\"navbar-header\">\n      <% if logged_in? %>\n        <%= link_to \"Pokemon Go bag\", user_link, id: \"logo\", 'data-turbolinks'=>\"false\" %>\n      <% else %>\n        <%= link_to \"Pokemon Go Bag\", root_path, id: \"logo\" %>\n      <% end %>\n      <button type=\"button\" class=\"navbar-toggle collapsed\" data-toggle=\"collapse\" data-target=\"#collection-navlinks\" aria-expanded=\"false\">\n        <span class=\"sr-only\">Toggle navigation</span>\n        <span class=\"icon-bar\"></span>\n        <span class=\"icon-bar\"></span>\n        <span class=\"icon-bar\"></span>\n      </button>\n    </div>\n    <!-- -Collect nav links for toggling -->\n    <div class=\"collapse navbar-collapse\" id=\"collection-navlinks\"> \n      <ul class=\"nav navbar-nav navbar-left\">\n        <% if logged_in? %>\n          <li>\n            <form class=\"copy-form navbar-form\" role=\"copy\">\n              <div class=\"form-group\">\n                <input type=\"text\" id=\"user-link\" class=\"copy-field form-control\" readonly=\"readonly\" value=\"http://pogobag.me<%=user_link%>\">\n              </div>\n              <button type=\"button\" id=\"copy-clipboard-button\" data-clipbard-text=\"http://pogobag.me<%=user_link%>\" data-clipboard-target=\"user-link\" title=\"Click to copy your link!\" class=\"btn btn-default\"><span class=\"glyphicon glyphicon-copy\" aria-hidden=\"true\"></span></button>\n            </form>\n          </li>\n        <% end %>\n        <li>\n          <div class=\"donate-small\">\n            <%= render 'static_pages/donate_small' %>\n          </div>\n        </li>\n      </ul>\n      <ul class=\"nav navbar-nav navbar-right\">\n        <% if user = User.find_by(name: params[:id]) %>\n          <li class=\"header-name\">\n            <%= button_to '/'+user.name, remote: true, class: \"refresh-button btn btn-default\", :method => :get, params: {refresh: :yes} do %>\n              <span class=\"glyphicon glyphicon-refresh\" aria-hidden=\"true\"></span>\n            <% end %>\n            | <%=user.level%> | <%= user.screen_name %> | <span class=\"last-data-update\"><%=time_ago_in_words(user.last_data_update.to_datetime) + \" ago\"%></span></li>\n        <% end %>\n        <li>\n          <%= form_tag('/search', :method => \"get\", id: \"search-form\", class: \"navbar-form\", role: \"search\") do %>\n            <div class=\"form-group\">\n              <%= text_field_tag :search, params[:search], class: \"form-control\", placeholder: \"Search other Trainers\" %>\n              <%= submit_tag \"Search\", :name => nil , class: \"btn btn-default\"%>\n            </div>\n          <% end %>\n        </li>\n        <% if !logged_in? %>\n          <li><%= link_to \"Home\", root_path %></li>\n          <li><%= link_to \"Top 100\", stats_path %></li>\n          <li><%= link_to \"About\", about_path %></li>\n        <% else %> \n          <li><%= link_to \"Bag\", user_link, 'data-turbolinks'=>\"false\" %></li>\n          <li><%= link_to \"Top 100\", stats_path %></li>\n          <li class=\"dropdown\">\n            <a href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\" role=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\"><%=current_user.screen_name%><span class=\"caret\"></span></a>\n            <ul class=\"dropdown-menu\">\n              <li><%= link_to \"About\", about_path %></li>\n              <li><%= link_to \"Log out\", logout_path, method: \"delete\" %></li>\n            </ul>\n          </li>\n        <% end %>\n      </ul>\n    </div> <!-- navbar-collapse -->\n  </div>\n</header>\n"
  },
  {
    "path": "app/views/layouts/_sidebar.html.erb",
    "content": "<nav class=\"main-menu\">\n  <ul>\n    <li ng-click=\"getOrder('cp')\">\n      <a>\n        <i class=\"fa fa-hand-rock-o fa-2x\"></i>\n        <span class=\"nav-text\">\n          Combat Power\n        </span>\n      </a>\n    </li>\n    <li ng-click=\"getOrder('iv')\">\n      <a>\n        <i class=\"fa fa-tasks fa-2x\"></i>\n        <span class=\"nav-text\">\n          Individual Values\n        </span>\n      </a>\n    </li>\n    <li ng-click=\"getOrder('creation_time_ms')\">\n      <a>\n        <i class=\"fa fa-clock-o fa-2x\"></i>\n        <span class=\"nav-text\">\n          Recent\n        </span>\n      </a>\n    </li>\n    <li ng-click=\"getOrder('max_cp')\">\n      <a>\n        <i class=\"fa fa-line-chart fa-2x\"></i>\n        <span class=\"nav-text\">\n          Max CP\n        </span>\n      </a>\n    </li>\n    <li ng-click=\"getOrder('poke_id')\">\n      <a>\n        <i class=\"fa fa-font fa-2x\"></i>\n        <span class=\"nav-text\">\n          Name\n        </span>\n      </a>\n    </li>\n    <li ng-click=\"getOrder('poke_num')\">\n      <a>\n        <i class=\"fa fa-sort-numeric-asc fa-2x\"></i>\n        <span class=\"nav-text\">\n          Number\n        </span>\n      </a>\n    </li>\n    <li ng-click=\"getOrder('battles_attacked')\">\n      <a>\n        <i class=\"fa fa-trophy fa-2x\"></i>\n        <span class=\"nav-text\">\n          Battles Attacked\n        </span>\n      </a>\n    </li>\n    <li ng-click=\"getOrder('battles_defended')\">\n      <a>\n        <i class=\"fa fa-flag fa-2x\"></i>\n        <span class=\"nav-text\">\n          Battles Defended\n        </span>\n      </a>\n    </li>\n    <li ng-click=\"getOrder('height_m')\">\n      <a>\n        <i class=\"fa fa-street-view fa-2x\"></i>\n        <span class=\"nav-text\">\n          Height (m)\n        </span>\n      </a>\n    </li>\n    <li ng-click=\"getOrder('weight_kg')\">\n      <a>\n        <i class=\"fa fa-anchor fa-2x\"></i>\n        <span class=\"nav-text\">\n          Weight (kg)\n        </span>\n      </a>\n    </li>\n  </ul>\n</nav>\n"
  },
  {
    "path": "app/views/layouts/application.html.erb",
    "content": "<!DOCTYPE html>\n<html ng-app=\"Pogobag\">\n  <head>\n    <title>PoGoBag</title>\n    <%= csrf_meta_tags %>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <%= favicon_link_tag 'itemstorageupgrade.1.ico' %>\n    <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>\n    <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>\n    <script src=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\" integrity=\"sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa\" crossorigin=\"anonymous\"></script>\n  </head>\n\n  <body>\n    <%= render 'layouts/header' %>\n    <% flash.each do |message_type, message| %>\n      <%= content_tag(:div, message, class: \"alert alert-#{message_type}\") %>\n    <%end%>\n    <%= yield %>\n  </body>\n</html>\n<script>\n  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\n  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');\n\n  ga('create', 'UA-82333002-1', 'auto');\n  ga('send', 'pageview');\n</script>\n"
  },
  {
    "path": "app/views/layouts/mailer.html.erb",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n    <style>\n      /* Email styles need to be inline */\n    </style>\n  </head>\n\n  <body>\n    <%= yield %>\n  </body>\n</html>\n"
  },
  {
    "path": "app/views/layouts/mailer.text.erb",
    "content": "<%= yield %>\n"
  },
  {
    "path": "app/views/pokemons/_pokemon.html.erb",
    "content": "<div class=\"col-xs-4 col-sm-3 col-md-2\">\n  <div class=\"thumbnail pokemon-card\">\n    <span class=\"number\">#<%=pokemon[:poke_num]%></span>\n    <span class=\"level\"></span>\n    <span class=\"hidden\"><%=pokemon[:poke_num] %>&nbsp;<%=pokemon[:cp] %>&nbsp;<%=pokemon[:attack] %>&nbsp;<%=pokemon[:defense] %>&nbsp;<%=pokemon[:stamina] %></span>\n    <span class=\"weight\"><%=pokemon[:weight_kg].round(2)%>kg</span>\n    <span class=\"height\"><%=pokemon[:height_m].round(2)%>m</span>\n    <table class=\"attacked\">\n      <tr>\n        <td><span><%=pokemon[:battles_attacked]%></span></td>\n        <td><i class=\"fa fa-trophy fa-2x\"></i></td>\n      </tr>\n    </table>\n    <table class=\"defended\">\n      <tr>\n        <td><span><%=pokemon[:battles_defended]%></span></td>\n        <td><i class=\"fa fa-flag fa-2x\"></i></td>\n      </tr>\n    </table>\n    <div class=\"image-box\">\n      <%= image_tag format(\"%03d\",pokemon[:poke_num])+\".png\" %>\n    </div>\n    <div class=\"caption data\">\n      <table>\n        <tr>\n          <td class=\"name\"><%=pokemon[:poke_id]%></td>\n          <td class=\"CP\"><%=pokemon[:cp]%></td>\n        </tr>\n      </table>\n      <div class=\"big-bars\">\n        <div class=\"progress\">\n          <div class=\"progress-bar progress-bar-success\" role=\"progressbar\" aria-valuenow=\"<%=pokemon[:health]%>\" aria-valuemin=\"0\" aria-valuemax=\"<%=pokemon[:max_health]%>\" style=\"width: <%=pokemon[:health].to_f/pokemon[:max_health].to_f*100%>%; min-width: 20%\">\n            <%=pokemon[:health].to_s+' / '+pokemon[:max_health].to_s%>\n          </div>\n        </div>\n        <div class=\"progress\">\n          <div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"<%=pokemon[:iv]%>\" aria-valuemin=\"0\" aria-valuemax=\"1\" style=\"width: <%=pokemon[:iv]*100%>%; min-width: 29%;\">\n            <%=(pokemon[:iv]*100).round(1)%>%\n          </div>\n        </div>\n      </div>\n      <div class=\"small-bars\">\n        <table>\n          <tr>\n            <td class=\"IV\">ATK</td>\n            <td class=\"IV-bar\">\n              <div class=\"progress\">\n                <div class=\"progress-bar progress-bar-striped progress-bar-danger\" role=\"progressbar\" aria-valuenow=\"<%=pokemon[:attack]%>\" aria-valuemin=\"0\" aria-valuemax=\"15\" style=\"width: <%=pokemon[:attack].to_f/15.0*100%>%; min-width: 20%;\">\n                  <%=pokemon[:attack]%>\n                </div>\n              </div>\n            </td>\n          </tr>\n          <tr>\n            <td class=\"IV\">DEF</td>\n            <td class=\"IV-bar\">\n              <div class=\"progress\">\n                <div class=\"progress-bar progress-bar-striped progress-bar-info\" role=\"progressbar\" aria-valuenow=\"<%=pokemon[:defense]%>\" aria-valuemin=\"0\" aria-valuemax=\"15\" style=\"width: <%=pokemon[:defense].to_f/15.0*100%>%; min-width: 20%;\">\n                  <%=pokemon[:defense]%>\n                </div>\n              </div>\n            </td>\n          </tr>\n          <tr>\n            <td class=\"IV\">STA</td>\n            <td class=\"IV-bar\">\n              <div class=\"progress\">\n                <div class=\"progress-bar progress-bar-striped progress-bar-warning\" role=\"progressbar\" aria-valuenow=\"<%=pokemon[:stamina]%>\" aria-valuemin=\"0\" aria-valuemax=\"15\" style=\"width: <%=pokemon[:stamina].to_f/15.0*100%>%; min-width: 20%;\">\n                  <%=pokemon[:stamina]%>\n                </div>\n              </div>\n            </td>\n          </tr>\n        </table>\n      </div>\n    </div>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/sessions/_login.html.erb",
    "content": "<div class=\"login-box\">\n  <div class=\"form-container\">\n    <div class=\"google-login\">\n      <a target=\"_blank\" href=\"https://accounts.google.com/o/oauth2/auth?client_id=848232511240-73ri3t7plvk96pj4f85uj8otdat2alem.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&scope=openid%20email%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email\" class=\"btn btn-block btn-social btn-google\">\n        <span class=\"fa fa-google\"></span> Sign in with Google\n      </a>\n      <%= form_for(:google, url: login_path) do |f| %>\n        <%= f.text_field :code, class: 'form-control code-field', placeholder: \"Put your authorization code here\" %>\n        <%= f.submit \"Authorize\", id: \"login-btn\", class: \"btn btn-primary\" %>\n      <% end %>\n    </div>\n    <div class=\"ptc-login\">\n      <%= form_for(:ptc, url: login_path) do |f| %>\n        <%= f.label 'Pokémon Trainer Club Username' %>\n        <%= f.text_field :username, class: 'form-control' %>\n\n        <%= f.label :password %>\n        <%= f.password_field :password, class: 'form-control' %>\n        <%= f.submit \"Log in\", id: \"login-btn\", class: \"btn btn-primary\" %>\n      <% end %>\n    </div>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/static_pages/_donate.html.erb",
    "content": "<form action=\"https://www.paypal.com/cgi-bin/webscr\" method=\"post\" target=\"_top\">\n  <input type=\"hidden\" name=\"cmd\" value=\"_s-xclick\">\n  <input type=\"hidden\" name=\"encrypted\" value=\"-----BEGIN PKCS7-----MIIHPwYJKoZIhvcNAQcEoIIHMDCCBywCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYBY1ESTtrlS0Vg6OZQUKyTnCjoQOgArFEYneTZ558R/BElTTEBcT5yonR/SN3Y48RL4noPUAto3Jb8GfHTI1xOv2eGGMsP1bPXnVuOW1jFUrcImKWX3UsDTb4KKOhm9ba7ICJeiw+gzuyAezBsa0H9QPxeZhkXJffjjDi/oqTf+sjELMAkGBSsOAwIaBQAwgbwGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQIMFiujoRrqM2AgZj2BSGF+H2py/PymCd4Mb0DKAgFy+KXtF2bWBZXrEDDBZK/XxHsaU0wXuDyxxSgnpkrZykfbFKggRl3vvJwU5jEFfHHuNI4zsSZ7QmnXtpXKPuCCT5NPsKTmsIp9mjQsh2G0dL1upTpTVeVyIEZoRG38jJVQ2Kk3xOK2xGQ+neTy89TDEEHxo5ZvO4A+ES6KTkAKdDEI6OkBqCCA4cwggODMIIC7KADAgECAgEAMA0GCSqGSIb3DQEBBQUAMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbTAeFw0wNDAyMTMxMDEzMTVaFw0zNTAyMTMxMDEzMTVaMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwUdO3fxEzEtcnI7ZKZL412XvZPugoni7i7D7prCe0AtaHTc97CYgm7NsAtJyxNLixmhLV8pyIEaiHXWAh8fPKW+R017+EmXrr9EaquPmsVvTywAAE1PMNOKqo2kl4Gxiz9zZqIajOm1fZGWcGS0f5JQ2kBqNbvbg2/Za+GJ/qwUCAwEAAaOB7jCB6zAdBgNVHQ4EFgQUlp98u8ZvF71ZP1LXChvsENZklGswgbsGA1UdIwSBszCBsIAUlp98u8ZvF71ZP1LXChvsENZklGuhgZSkgZEwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAgV86VpqAWuXvX6Oro4qJ1tYVIT5DgWpE692Ag422H7yRIr/9j/iKG4Thia/Oflx4TdL+IFJBAyPK9v6zZNZtBgPBynXb048hsP16l2vi0k5Q2JKiPDsEfBhGI+HnxLXEaUWAcVfCsQFvd2A1sxRr67ip5y2wwBelUecP3AjJ+YcxggGaMIIBlgIBATCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwCQYFKw4DAhoFAKBdMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE2MDgwOTAyMzQxMlowIwYJKoZIhvcNAQkEMRYEFEYX3jG34cPx6+Q/Hp9dZc+55nK+MA0GCSqGSIb3DQEBAQUABIGAFco7c7aMXEOgejosxPV90D54phTS/vJsxhlxZyi3F8OC6+2bM5qIM+hHWh1RhubI60ykBfI6f1WB08QMui0ON1TEtXjiGuwsIWeuBLjUiSVIp7P6ifP5sGQLwl3gWFOH7GCB6HSTm7zw5L16sq9hXdBvwomXlNbyet1XP7ONpug=-----END PKCS7-----\n  \">\n  <input type=\"image\" src=\"https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif\" border=\"0\" name=\"submit\" alt=\"PayPal - The safer, easier way to pay online!\">\n  <img alt=\"\" border=\"0\" src=\"https://www.paypalobjects.com/en_US/i/scr/pixel.gif\" width=\"1\" height=\"1\">\n</form>\n"
  },
  {
    "path": "app/views/static_pages/_donate_small.html.erb",
    "content": "<form action=\"https://www.paypal.com/cgi-bin/webscr\" method=\"post\" target=\"_top\">\n  <input type=\"hidden\" name=\"cmd\" value=\"_s-xclick\">\n  <input type=\"hidden\" name=\"encrypted\" value=\"-----BEGIN PKCS7-----MIIHPwYJKoZIhvcNAQcEoIIHMDCCBywCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYAS7dXr9KHWhY6yWcWWqH5iPEi46RBS3nph9YSBFdmUPsPrCKRDKTVjTVuTaHgQl3gu3Q9gTBwgoNGYdXuxrCKpSnwr/PrqkRYSsfDuLixjCBq7GzWtk7nrutbijKnYxHWS79Px1uPGz8rgFMoko8oJBIC5Oq3qmy5oxA4LbQqcUjELMAkGBSsOAwIaBQAwgbwGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQIQu99wVwQzxGAgZjNaLFa0NafVpWObwOOMJZ2Ufo4bbCI1oEVthe4Qojf+hy+yf5X/rCnNErv4ERpaQWdRTklxDu3FNGvTqWshUzhChqdQibmrsaDUawtC5g/E4DOxcOru4c5aLmO2tvUr0B1m6fTeaxiCMbYecUmBGcn2MUUjykKfxAeEVKSVVrqz1uSQysFZ3Sn9HY8tVA8RL7O7lwzkKmJbaCCA4cwggODMIIC7KADAgECAgEAMA0GCSqGSIb3DQEBBQUAMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbTAeFw0wNDAyMTMxMDEzMTVaFw0zNTAyMTMxMDEzMTVaMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwUdO3fxEzEtcnI7ZKZL412XvZPugoni7i7D7prCe0AtaHTc97CYgm7NsAtJyxNLixmhLV8pyIEaiHXWAh8fPKW+R017+EmXrr9EaquPmsVvTywAAE1PMNOKqo2kl4Gxiz9zZqIajOm1fZGWcGS0f5JQ2kBqNbvbg2/Za+GJ/qwUCAwEAAaOB7jCB6zAdBgNVHQ4EFgQUlp98u8ZvF71ZP1LXChvsENZklGswgbsGA1UdIwSBszCBsIAUlp98u8ZvF71ZP1LXChvsENZklGuhgZSkgZEwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAgV86VpqAWuXvX6Oro4qJ1tYVIT5DgWpE692Ag422H7yRIr/9j/iKG4Thia/Oflx4TdL+IFJBAyPK9v6zZNZtBgPBynXb048hsP16l2vi0k5Q2JKiPDsEfBhGI+HnxLXEaUWAcVfCsQFvd2A1sxRr67ip5y2wwBelUecP3AjJ+YcxggGaMIIBlgIBATCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwCQYFKw4DAhoFAKBdMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE2MDgxMDAyMjYzM1owIwYJKoZIhvcNAQkEMRYEFI8rRrTSiLiZ3pYzGesU2MEVIG+7MA0GCSqGSIb3DQEBAQUABIGAvHj75Y2aRaO1clQXrD76ngVva9XJh10AtSd1wcM8fWc13EGsl2MsiQDbD6DiHh4S6xs+karKnrJY1sy3bUU5DtzBLByTLAkbaDlOBWP00kEQLIxw0W54I9rGEFB8NxujrDMd2xItQkbWIBwqM/bSebBBbuZ1/CCBnGOULJjl6iQ=-----END PKCS7-----\n  \">\n  <input type=\"image\" src=\"https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif\" border=\"0\" name=\"submit\" alt=\"PayPal - The safer, easier way to pay online!\">\n  <img alt=\"\" border=\"0\" src=\"https://www.paypalobjects.com/en_US/i/scr/pixel.gif\" width=\"1\" height=\"1\">\n</form>\n"
  },
  {
    "path": "app/views/static_pages/about.html.erb",
    "content": "<div class=\"about-page\">\n  <h1>About</h1>\n  <p>PoGoBag is an open source application that was inspired by a need for an easy and web-accessible application to view and share your Pok&eacutemon Go Pokemon. Trainer and Pok&eacute;mon data is updated whenever a user logs in, which means you can only see the pokemon of those who have logged in. For Google users, data is refreshed every 5 minutes (meaning only one login required to see your updated bag)</p>\n  <p> PoGoBag is built with Ruby on Rails. <a href=\"https://github.com/dphuang2/PoGoBag\">Github</a> </p>\n\n  <h3>Donations</h3>\n  <p> As of right now, the owner is paying out of pocket to run this website. Any donation is highly appreciated and will go towards making the server better! </p>\n\n  <%= render 'static_pages/donate' %>\n\n</div>\n"
  },
  {
    "path": "app/views/static_pages/home.html.erb",
    "content": "<div class=\"home-page-wrap\" style=\"background-image: url(<%=image_path 'background-home.jpg'%>)\">\n  <div class=\"container\">\n    <div class=\"home-page\">\n      <span class=\"disclaimer\">By logging into pogobag.me you agree to acknowledge that the use of pogobag.me is against Niantic's Terms of Service and the owner is not responsible for the ramifications of using pogobag.me in any way.</span>\n      <div class=\"landing-title\">\n        <h1><%= image_tag 'itemstorageupgrade.1.png' %>PoGoBag</h1>\n        <h3>A seriously powerful Pok&eacute;mon Go analytical tool!</h3>\n      </div>\n      <div class=\"row\">\n        <div class=\"col-md-push-8 col-md-4\">\n          <%= render 'sessions/login'%>\n        </div>\n        <div class=\"col-md-pull-4 col-md-8\">\n          <div class=\"features-list\">\n            <ul>\n              <li><span class=\"glyphicon glyphicon-globe\" aria-hidden=\"true\"></span>See the top Pok&eacute;mon in the world</li>\n              <li><span class=\"glyphicon glyphicon-user\" aria-hidden=\"true\"></span>Receive a persistent and constantly updating bag link on login (Feature only for Google accounts)</li>\n              <li><span class=\"glyphicon glyphicon-time\" aria-hidden=\"true\"></span>All data is refreshed every 5 minutes!</li>\n              <li><span class=\"glyphicon glyphicon-ok\" aria-hidden=\"true\"></span>Only one login required!</li>\n              <li><span class=\"glyphicon glyphicon-share-alt\" aria-hidden=\"true\"></span>Share your Pok&eacute;mon using your own unique link</li>\n              <li><span class=\"glyphicon glyphicon-search\" aria-hidden=\"true\"></span>Search for other trainers</li>\n              <li><span class=\"glyphicon glyphicon-tasks\" aria-hidden=\"true\"></span>See your Pok&eacute;mon's IV values</li>\n              <li><span class=\"glyphicon glyphicon-list-alt\" aria-hidden=\"true\"></span>Order by IV Perfection, CP, Recent, Health, Attack, Defense, Stamina, Name, Battles Attacked, Battles Defended, Height, and Weight </li>\n            </ul>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/stats/_pokemon_row.html.erb",
    "content": "<tr>\n  <th><%=rank%></th>\n  <th><%= pokemon.poke_id %></th>\n  <th><%= pokemon.cp %></th>\n  <th><%= pokemon.iv %></th>\n  <th><%= pokemon.max_health %></th>\n  <th><%= format_move(pokemon.move_1) %></th>\n  <th><%= format_move(pokemon.move_2) %></th>\n  <th><%= pokemon.attack %></th>\n  <th><%= pokemon.defense %></th>\n  <th><%= pokemon.stamina %></th>\n  <th><%= pokemon.battles_attacked %></th>\n  <th><%= pokemon.battles_defended %></th>\n  <th><%= pokemon.num_upgrades %></th>\n  <th><%= pokemon.height_m.round(2) %></th>\n  <th><%= pokemon.weight_kg.round(2) %></th>\n  <th><%= pokemon.poke_num %></th>\n  <% ball = pokemon.pokeball %>\n  <% ball.slice! 'ITEM_' %>\n  <% ball.slice! '_BALL' %>\n  <th><%= ball.capitalize %></th>\n  <th><%= pokemon.nickname %></th>\n  <th><%= link_to pokemon.user.screen_name, pokemon.user.name, 'data-turbolinks' => \"false\" %></th>\n</tr>\n"
  },
  {
    "path": "app/views/stats/_table.html.erb",
    "content": "<div id=\"stats-table\" class=\"table-responsive\">\n  <table class=\"table table-condensed table-hover tablesorter\">\n    <thead>\n      <tr>\n        <th>Rank</th>\n        <th>Pokemon</th>\n        <th>CP</th>\n        <th>IV</th>\n        <th>Health</th>\n        <th>Move 1</th>\n        <th>Move 2</th>\n        <th>ATK</th>\n        <th>DEF</th>\n        <th>STA</th>\n        <th>Attacked</th>\n        <th>Defended</th>\n        <th>Upgrades</th>\n        <th>Height (m)</th>\n        <th>Weight (kg)</th>\n        <th>#</th>\n        <th>Ball</th>\n        <th>Nickname</th>\n        <th>Owner</th>\n      </tr>\n    </thead>\n    <tbody>\n      <% rank = 1 %>\n      <% pokemon_list.each do |p| %>\n        <%= render partial: 'stats/pokemon_row', locals: {:pokemon => p, :rank => rank} %>\n        <% rank += 1 %>\n      <% end %>\n    </tbody>\n  </table>\n</div>\n"
  },
  {
    "path": "app/views/stats/show.html.erb",
    "content": "<ul class=\"nav nav-tabs\">\n  <li role=\"presentation\" class=\"active\" id=\"cp_table_button\"><%= link_to 'CP', '/stats/cp', remote: true %></li>\n  <li role=\"presentation\" id=\"health_table_button\"><%= link_to 'Max Health', '/stats/max_health', remote: true %></li>\n  <li role=\"presentation\" id=\"attack_table_button\"><%= link_to 'Battles Attacked', '/stats/battles_attacked', remote: true %></li>\n  <li role=\"presentation\" id=\"defend_table_button\"><%= link_to 'Battles Defended', '/stats/battles_defended', remote: true %></li>\n  <li role=\"presentation\" id=\"upgrade_table_button\"><%= link_to 'Number of Upgrades', '/stats/num_upgrades', remote: true %></li>\n  <li role=\"presentation\" id=\"height_table_button\"><%= link_to 'Height', '/stats/height_m', remote: true %></li>\n  <li role=\"presentation\" id=\"weight_table_button\"><%= link_to 'Weight', '/stats/weight_kg', remote: true %></li>\n</ul>\n<!-- Tables -->\n<div class=\"stats-table-wrap\">\n  <%= render partial: 'stats/table', locals: {:pokemon_list => @pokemon} %>\n</div>\n\n<div class=\"loading\">\n  <div class=\"line\"></div>\n  <div class=\"line\"></div>\n  <div class=\"line\"></div>\n</div>\n\n<script>\n$(document).ready(function(){\n  $('#stats-table').tablesorter();\n  $(\"#cp_table_button, #health_table_button, #attack_table_button, #defend_table_button, #upgrade_table_button, #height_table_button, #weight_table_button\").removeClass(\"active\");\n  $('#cp_table_button').addClass(\"active\");\n});\n\n$(\"#cp_table_button, #health_table_button, #attack_table_button, #defend_table_button, #upgrade_table_button, #height_table_button, #weight_table_button\").click(function(){\n  var button_name = \"#\"+this.id;\n  $(\"#cp_table_button, #health_table_button, #attack_table_button, #defend_table_button, #upgrade_table_button, #height_table_button, #weight_table_button\").removeClass(\"active\")\n    $(button_name).addClass(\"active\");\n});\n</script>\n"
  },
  {
    "path": "app/views/stats/show.js.erb",
    "content": "$(\".stats-table-wrap\").html('<%= j render partial: 'stats/table', locals: {:pokemon_list => @pokemon} %>')\n"
  },
  {
    "path": "app/views/users/_pokemon_list.html.erb",
    "content": "<div class=\"container-fluid\">\n  <div class=\"row gutter-10\">\n    <%= render pokemon_list %>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/users/_user.html.erb",
    "content": "<a href=\"/<%=user.name%>\" data-turbolinks=\"false\">\n  <li>\n    <table>\n      <tr>\n        <td class=\"level\"><span class=\"lvl\"><%=user.level%></span></td>\n        <td class=\"name\"><span class=\"screen_name\"><%=user.screen_name%></span></td>\n        <td class=\"team\"><img src=\"<%=image_path 'etc/team_'+user.team.downcase+'.png'%>\"></td>\n      </tr>\n    </table>\n  </li>\n</a>\n"
  },
  {
    "path": "app/views/users/index.html.erb",
    "content": "<div class=\"container\">\n    <%= will_paginate %>\n  <div class=\"user-list\">\n    <ul>\n      <%= render @users %>\n    </ul>\n  </div>\n    <%= will_paginate %>\n</div>\n"
  },
  {
    "path": "app/views/users/show.html.erb",
    "content": "<div ng-controller=\"UserCtrl\">\n  <%= render 'layouts/sidebar' %>\n\n  <div class=\"show-pokemon-container\">\n    <div class=\"container-fluid\">\n      <div class=\"row gutter-10\">\n        <div ng-repeat=\"pokemon in pokemon\" class=\"col-xs-4 col-sm-3 col-md-2\" repeat-finish>\n          <div class=\"thumbnail pokemon-card\">\n            <span class=\"number\" title=\"Pokedex number\">#{{pokemon.poke_num}}</span>\n            <span class=\"level\" title=\"Level\">{{pokemon.level}}</span>\n            <span class=\"hidden\">{{pokemon.poke_num}}&nbsp;{{pokemon.cp}}&nbsp;{{pokemon.attack}}&nbsp;{{pokemon.defense}}&nbsp;{{pokemon.stamina}}&nbsp;{{pokemon.weight_kg | number: 2}}kg&nbsp;{{pokemon.height_m | number: 2}}m</span>\n            <span class=\"max_cp\" title=\"Maximum CP when evolved and powered up as far as possible (given current trainer level)\">{{pokemon.max_cp}}</span>\n            <span class=\"stardust_to_max_cp\" title=\"Stardust required to power up to max CP\">{{pokemon.stardust_to_max_cp}}</span>\n            <span class=\"candy_to_max_cp\" title=\"Candies required to evolve and power up to max CP\">{{pokemon.candy_to_max_cp}}</span>\n            <table class=\"attacked\">\n              <tr>\n                <td><span>{{pokemon.battles_attacked}}</span></td>\n                <td><i class=\"fa fa-trophy fa-2x\"></i></td>\n              </tr>\n            </table>\n            <table class=\"defended\">\n              <tr>\n                <td><span>{{pokemon.battles_defended}}</span></td>\n                <td><i class=\"fa fa-flag fa-2x\"></i></td>\n              </tr>\n            </table>\n            <div class=\"image-box\">\n              <img class=\"poke-image\" num=\"{{pokemon.poke_num}}\">\n            </div>\n            <div class=\"caption data\">\n              <table>\n                <tr>\n                  <td class=\"name\">{{pokemon.poke_id}}</td>\n                  <td class=\"CP\">{{pokemon.cp}}</td>\n                </tr>\n              </table>\n              <div class=\"big-bars\">\n                <div class=\"progress\">\n                  <div class=\"progress-bar progress-bar-success\" role=\"progressbar\" aria-valuenow=\"{{pokemon.health}}\" aria-valuemin=\"0\" aria-valuemax=\"{{pokemon.max_health}}\" style=\"width: {{(pokemon.health/pokemon.max_health)*100}}%; min-width: 20%\">\n                    {{pokemon.health}}/{{pokemon.max_health}}\n                  </div>\n                </div>\n                <div class=\"progress\">\n                  <div class=\"progress-bar\" role=\"progressbar\" aria-valuenow=\"{{pokemon.iv}}\" aria-valuemin=\"0\" aria-valuemax=\"1\" style=\"width: {{pokemon.iv * 100}}%; min-width: 29%;\">\n                    {{pokemon.iv * 100 | number: 1}}%\n                  </div>\n                </div>\n              </div>\n              <div class=\"small-bars\">\n                <table>\n                  <tr>\n                    <td class=\"IV\">ATK</td>\n                    <td class=\"IV-bar\">\n                      <div class=\"progress\">\n                        <div class=\"progress-bar progress-bar-striped progress-bar-danger\" role=\"progressbar\" aria-valuenow=\"{{pokemon.attack}}\" aria-valuemin=\"0\" aria-valuemax=\"15\" style=\"width: {{(pokemon.attack/15)*100}}%; min-width: 20%;\">\n                          {{pokemon.attack}}\n                        </div>\n                      </div>\n                    </td>\n                  </tr>\n                  <tr>\n                    <td class=\"IV\">DEF</td>\n                    <td class=\"IV-bar\">\n                      <div class=\"progress\">\n                        <div class=\"progress-bar progress-bar-striped progress-bar-info\" role=\"progressbar\" aria-valuenow=\"{{pokemon.defense}}\" aria-valuemin=\"0\" aria-valuemax=\"15\" style=\"width: {{(pokemon.defense/15)*100}}%; min-width: 20%;\">\n                          {{pokemon.defense}}\n                        </div>\n                      </div>\n                    </td>\n                  </tr>\n                  <tr>\n                    <td class=\"IV\">STA</td>\n                    <td class=\"IV-bar\">\n                      <div class=\"progress\">\n                        <div class=\"progress-bar progress-bar-striped progress-bar-warning\" role=\"progressbar\" aria-valuenow=\"{{pokemon.stamina}}\" aria-valuemin=\"0\" aria-valuemax=\"15\" style=\"width: {{(pokemon.stamina/15)*100}}%; min-width: 20%;\">\n                          {{pokemon.stamina}}\n                        </div>\n                      </div>\n                    </td>\n                  </tr>\n                </table>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n\n  <div class=\"loading\">\n    <div class=\"line\"></div>\n    <div class=\"line\"></div>\n    <div class=\"line\"></div>\n  </div>\n\n  <data user=\"<%=params[:id]%>\"></data>\n</div>\n\n<style type='text/css'>\n  #logo { padding-left: 4.8rem; }\n</style>\n"
  },
  {
    "path": "app/views/users/show.js.erb",
    "content": "<% if false %>\n  $(\".show-pokemon-container\").html('<%= j render partial: 'users/pokemon_list', locals: {:pokemon_list => @pokemon} %>')\n<% end %>\n\n$(\".last-data-update\").html('<%=time_ago_in_words(@user.last_data_update.to_datetime) + \" ago\"%>')\n"
  },
  {
    "path": "bin/bundle",
    "content": "#!/usr/bin/env ruby\nENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)\nload Gem.bin_path('bundler', 'bundle')\n"
  },
  {
    "path": "bin/bundler",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'bundler' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"bundler\", \"bundler\")\n"
  },
  {
    "path": "bin/byebug",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'byebug' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"byebug\", \"byebug\")\n"
  },
  {
    "path": "bin/cap",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'cap' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"capistrano\", \"cap\")\n"
  },
  {
    "path": "bin/capify",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'capify' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"capistrano\", \"capify\")\n"
  },
  {
    "path": "bin/erubis",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'erubis' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"erubis\", \"erubis\")\n"
  },
  {
    "path": "bin/geocode",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'geocode' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"geocoder\", \"geocode\")\n"
  },
  {
    "path": "bin/httparty",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'httparty' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"httparty\", \"httparty\")\n"
  },
  {
    "path": "bin/httpclient",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'httpclient' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"httpclient\", \"httpclient\")\n"
  },
  {
    "path": "bin/listen",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'listen' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"listen\", \"listen\")\n"
  },
  {
    "path": "bin/nokogiri",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'nokogiri' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"nokogiri\", \"nokogiri\")\n"
  },
  {
    "path": "bin/puma",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'puma' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"puma\", \"puma\")\n"
  },
  {
    "path": "bin/pumactl",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'pumactl' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"puma\", \"pumactl\")\n"
  },
  {
    "path": "bin/rackup",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'rackup' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"rack\", \"rackup\")\n"
  },
  {
    "path": "bin/rails",
    "content": "#!/usr/bin/env ruby\nAPP_PATH = File.expand_path('../config/application', __dir__)\nrequire_relative '../config/boot'\nrequire 'rails/commands'\n"
  },
  {
    "path": "bin/rake",
    "content": "#!/usr/bin/env ruby\nrequire_relative '../config/boot'\nrequire 'rake'\nRake.application.run\n"
  },
  {
    "path": "bin/restclient",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'restclient' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"rest-client\", \"restclient\")\n"
  },
  {
    "path": "bin/sass",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'sass' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"sass\", \"sass\")\n"
  },
  {
    "path": "bin/sass-convert",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'sass-convert' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"sass\", \"sass-convert\")\n"
  },
  {
    "path": "bin/scss",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'scss' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"sass\", \"scss\")\n"
  },
  {
    "path": "bin/setup",
    "content": "#!/usr/bin/env ruby\nrequire 'pathname'\nrequire 'fileutils'\ninclude FileUtils\n\n# path to your application root.\nAPP_ROOT = Pathname.new File.expand_path('../../', __FILE__)\n\ndef system!(*args)\n  system(*args) || abort(\"\\n== Command #{args} failed ==\")\nend\n\nchdir APP_ROOT do\n  # This script is a starting point to setup your application.\n  # Add necessary setup steps to this file.\n\n  puts '== Installing dependencies =='\n  system! 'gem install bundler --conservative'\n  system('bundle check') || system!('bundle install')\n\n  # puts \"\\n== Copying sample files ==\"\n  # unless File.exist?('config/database.yml')\n  #   cp 'config/database.yml.sample', 'config/database.yml'\n  # end\n\n  puts \"\\n== Preparing database ==\"\n  system! 'bin/rails db:setup'\n\n  puts \"\\n== Removing old logs and tempfiles ==\"\n  system! 'bin/rails log:clear tmp:clear'\n\n  puts \"\\n== Restarting application server ==\"\n  system! 'bin/rails restart'\nend\n"
  },
  {
    "path": "bin/spring",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'spring' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"spring\", \"spring\")\n"
  },
  {
    "path": "bin/sprockets",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'sprockets' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"sprockets\", \"sprockets\")\n"
  },
  {
    "path": "bin/thor",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'thor' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"thor\", \"thor\")\n"
  },
  {
    "path": "bin/tilt",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'tilt' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"tilt\", \"tilt\")\n"
  },
  {
    "path": "bin/update",
    "content": "#!/usr/bin/env ruby\nrequire 'pathname'\nrequire 'fileutils'\ninclude FileUtils\n\n# path to your application root.\nAPP_ROOT = Pathname.new File.expand_path('../../', __FILE__)\n\ndef system!(*args)\n  system(*args) || abort(\"\\n== Command #{args} failed ==\")\nend\n\nchdir APP_ROOT do\n  # This script is a way to update your development environment automatically.\n  # Add necessary update steps to this file.\n\n  puts '== Installing dependencies =='\n  system! 'gem install bundler --conservative'\n  system('bundle check') || system!('bundle install')\n\n  puts \"\\n== Updating database ==\"\n  system! 'bin/rails db:migrate'\n\n  puts \"\\n== Removing old logs and tempfiles ==\"\n  system! 'bin/rails log:clear tmp:clear'\n\n  puts \"\\n== Restarting application server ==\"\n  system! 'bin/rails restart'\nend\n"
  },
  {
    "path": "bin/whenever",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'whenever' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"whenever\", \"whenever\")\n"
  },
  {
    "path": "bin/wheneverize",
    "content": "#!/usr/bin/env ruby\n# frozen_string_literal: true\n#\n# This file was generated by Bundler.\n#\n# The application 'wheneverize' is installed as part of a gem, and\n# this file is here to facilitate running it.\n#\n\nrequire \"pathname\"\nENV[\"BUNDLE_GEMFILE\"] ||= File.expand_path(\"../../Gemfile\",\n  Pathname.new(__FILE__).realpath)\n\nrequire \"rubygems\"\nrequire \"bundler/setup\"\n\nload Gem.bin_path(\"whenever\", \"wheneverize\")\n"
  },
  {
    "path": "config/application.rb",
    "content": "require_relative 'boot'\n\nrequire 'rails/all'\n\n# Require the gems listed in Gemfile, including any gems\n# you've limited to :test, :development, or :production.\nBundler.require(*Rails.groups)\n\nmodule PoGoBag\n  class Application < Rails::Application\n    # Settings in config/environments/* take precedence over those specified here.\n    # Application configuration should go into files in config/initializers\n    # -- all .rb files in that directory are automatically loaded.\n  end\nend\n"
  },
  {
    "path": "config/boot.rb",
    "content": "ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)\n\nrequire 'bundler/setup' # Set up gems listed in the Gemfile.\n"
  },
  {
    "path": "config/cable.yml",
    "content": "development:\n  adapter: async\n\ntest:\n  adapter: async\n\nproduction:\n  adapter: redis\n  url: redis://localhost:6379/1\n"
  },
  {
    "path": "config/database.yml",
    "content": "# PostgreSQL. Versions 8.2 and up are supported.\n#\n# Install the pg driver:\n#   gem install pg\n# On OS X with Homebrew:\n#   gem install pg -- --with-pg-config=/usr/local/bin/pg_config\n# On OS X with MacPorts:\n#   gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config\n# On Windows:\n#   gem install pg\n#       Choose the win32 build.\n#       Install PostgreSQL and put its /bin directory on your path.\n#\n# Configure Using Gemfile\n# gem 'pg'\n#\ndevelopment:\n  adapter: sqlite3\n  database: db/development.sqlite3\n  pool: 5\ntest:\n  adapter: sqlite3\n  database: db/test.sqlite3\n  pool: 5\n  timeout: 5000\nproduction: \n  adapter: postgresql\n  database: pogobag\n  username: postgres\n  password: postgres\n  encoding: unicode\n  # For details on connection pooling, see rails configuration guide\n  # http://guides.rubyonrails.org/configuring.html#database-pooling\n  pool: 5\n  host: localhost\n"
  },
  {
    "path": "config/database.yml.example",
    "content": "# PostgreSQL. Versions 8.2 and up are supported.\n#\n# Install the pg driver:\n#   gem install pg\n# On OS X with Homebrew:\n#   gem install pg -- --with-pg-config=/usr/local/bin/pg_config\n# On OS X with MacPorts:\n#   gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config\n# On Windows:\n#   gem install pg\n#       Choose the win32 build.\n#       Install PostgreSQL and put its /bin directory on your path.\n#\n# Configure Using Gemfile\n# gem 'pg'\n#\ndevelopment:\n  adapter: sqlite3\n  database: db/development.sqlite3\n  pool: 5\ntest:\n  adapter: sqlite3\n  database: db/test.sqlite3\n  pool: 5\n  timeout: 5000\nproduction: \n  adapter: postgresql\n  username: postgres\n  password: postgres\n  encoding: unicode\n  # For details on connection pooling, see rails configuration guide\n  # http://guides.rubyonrails.org/configuring.html#database-pooling\n  pool: 5\n  host: localhost\n"
  },
  {
    "path": "config/deploy/production.rb",
    "content": "set :stage, :production\n\nserver '97.107.142.163', user: 'deploy', roles: %w{web app db}\n"
  },
  {
    "path": "config/deploy.rb",
    "content": "# config valid only for Capistrano 3.1\nlock '3.6.0'\n\n# Default branch is :master\n# ask :branch, proc { `git rev-parse --abbrev-ref HEAD`.chomp }\n\n# Default deploy_to directory is /var/www/my_app\n# set :deploy_to, '/var/www/my_app'\n\n# Default value for :scm is :git\n# set :scm, :git\n\n# Default value for :format is :pretty\n# set :format, :pretty\n\n# Default value for :log_level is :debug\n# set :log_level, :debug\n\n# Default value for :pty is false\n# set :pty, true\n\n# Default value for :linked_files is []\n# set :linked_files, %w{config/database.yml}\n\n# Default value for linked_dirs is []\n# set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}\n\n# Default value for default_env is {}\n# set :default_env, { path: \"/opt/ruby/bin:$PATH\" }\n\n# Default value for keep_releases is 5\n# set :keep_releases, 5\nset :application, 'PoGoBag'\nset :repo_url, 'https://github.com/dphuang2/PoGoBag.git'\nset :passenger_restart_with_touch, true\n\nset :deploy_to, '/home/deploy/PoGoBag'\n\nset :linked_files, %w{config/database.yml config/secrets.yml}\nset :linked_dirs, %w{log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}\nnamespace :deploy do\n\n  desc 'Restart application'\n  task :restart do\n    on roles(:app), in: :sequence, wait: 5 do\n      # Your restart mechanism here, for example:\n      # execute :touch, release_path.join('tmp/restart.txt')\n    end\n  end\n\n  after :publishing, :restart\n\n  after :restart, :clear_cache do\n    on roles(:web), in: :groups, limit: 3, wait: 10 do\n       #within release_path do\n         #execute :crontab, \"-r\"\n         #execute :whenever, \"-w\"\n       #end\n    end\n  end\n\nend\n"
  },
  {
    "path": "config/environment.rb",
    "content": "# Load the Rails application.\nrequire_relative 'application'\n\n# Initialize the Rails application.\nRails.application.initialize!\n"
  },
  {
    "path": "config/environments/development.rb",
    "content": "Rails.application.configure do\n  # Settings specified here will take precedence over those in config/application.rb.\n\n  # In the development environment your application's code is reloaded on\n  # every request. This slows down response time but is perfect for development\n  # since you don't have to restart the web server when you make code changes.\n  config.cache_classes = false\n\n  # Do not eager load code on boot.\n  config.eager_load = false\n\n  # Show full error reports.\n  config.consider_all_requests_local = true\n\n  # Enable/disable caching. By default caching is disabled.\n  if Rails.root.join('tmp/caching-dev.txt').exist?\n    config.action_controller.perform_caching = true\n\n    config.cache_store = :memory_store\n    config.public_file_server.headers = {\n      'Cache-Control' => 'public, max-age=172800'\n    }\n  else\n    config.action_controller.perform_caching = false\n\n    config.cache_store = :null_store\n  end\n\n  # Don't care if the mailer can't send.\n  config.action_mailer.raise_delivery_errors = false\n\n  config.action_mailer.perform_caching = false\n\n  # Print deprecation notices to the Rails logger.\n  config.active_support.deprecation = :log\n\n  # Raise an error on page load if there are pending migrations.\n  config.active_record.migration_error = :page_load\n\n  # Debug mode disables concatenation and preprocessing of assets.\n  # This option may cause significant delays in view rendering with a large\n  # number of complex assets.\n  config.assets.debug = true\n\n  # Suppress logger output for asset requests.\n  config.assets.quiet = true\n\n  # Raises error for missing translations\n  # config.action_view.raise_on_missing_translations = true\n\n  # Use an evented file watcher to asynchronously detect changes in source code,\n  # routes, locales, etc. This feature depends on the listen gem.\n  config.file_watcher = ActiveSupport::EventedFileUpdateChecker\nend\n"
  },
  {
    "path": "config/environments/production.rb",
    "content": "Rails.application.configure do\n  # Settings specified here will take precedence over those in config/application.rb.\n\n  # Code is not reloaded between requests.\n  config.cache_classes = true\n\n  # Eager load code on boot. This eager loads most of Rails and\n  # your application in memory, allowing both threaded web servers\n  # and those relying on copy on write to perform better.\n  # Rake tasks automatically ignore this option for performance.\n  config.eager_load = true\n\n  # Full error reports are disabled and caching is turned on.\n  config.consider_all_requests_local       = false\n  config.action_controller.perform_caching = true\n\n  # Disable serving static files from the `/public` folder by default since\n  # Apache or NGINX already handles this.\n  config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?\n\n  # Compress JavaScripts and CSS.\n  config.assets.js_compressor = :uglifier\n  # config.assets.css_compressor = :sass\n\n  # Do not fallback to assets pipeline if a precompiled asset is missed.\n  config.assets.compile = false\n\n  # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb\n\n  # Enable serving of images, stylesheets, and JavaScripts from an asset server.\n  # config.action_controller.asset_host = 'http://assets.example.com'\n\n  # Specifies the header that your server uses for sending files.\n  # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache\n  # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX\n\n  # Mount Action Cable outside main process or domain\n  # config.action_cable.mount_path = nil\n  # config.action_cable.url = 'wss://example.com/cable'\n  # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\\/\\/example.*/ ]\n\n  # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.\n  # config.force_ssl = true\n\n  # Use the lowest log level to ensure availability of diagnostic information\n  # when problems arise.\n  config.log_level = :warn\n\n  # Prepend all log lines with the following tags.\n  config.log_tags = [ :request_id ]\n\n  # Use a different cache store in production.\n  # config.cache_store = :mem_cache_store\n\n  # Use a real queuing backend for Active Job (and separate queues per environment)\n  # config.active_job.queue_adapter     = :resque\n  # config.active_job.queue_name_prefix = \"PoGoBag_#{Rails.env}\"\n  config.action_mailer.perform_caching = false\n\n  # Ignore bad email addresses and do not raise email delivery errors.\n  # Set this to true and configure the email server for immediate delivery to raise delivery errors.\n  # config.action_mailer.raise_delivery_errors = false\n\n  # Enable locale fallbacks for I18n (makes lookups for any locale fall back to\n  # the I18n.default_locale when a translation cannot be found).\n  config.i18n.fallbacks = true\n\n  # Send deprecation notices to registered listeners.\n  config.active_support.deprecation = :notify\n\n  # Use default logging formatter so that PID and timestamp are not suppressed.\n  config.log_formatter = ::Logger::Formatter.new\n\n  # Use a different logger for distributed setups.\n  # require 'syslog/logger'\n  # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')\n\n  if ENV[\"RAILS_LOG_TO_STDOUT\"].present?\n    logger           = ActiveSupport::Logger.new(STDOUT)\n    logger.formatter = config.log_formatter\n    config.logger = ActiveSupport::TaggedLogging.new(logger)\n  end\n\n  # Do not dump schema after migrations.\n  config.active_record.dump_schema_after_migration = false\nend\n"
  },
  {
    "path": "config/environments/test.rb",
    "content": "Rails.application.configure do\n  # Settings specified here will take precedence over those in config/application.rb.\n\n  # The test environment is used exclusively to run your application's\n  # test suite. You never need to work with it otherwise. Remember that\n  # your test database is \"scratch space\" for the test suite and is wiped\n  # and recreated between test runs. Don't rely on the data there!\n  config.cache_classes = true\n\n  # Do not eager load code on boot. This avoids loading your whole application\n  # just for the purpose of running a single test. If you are using a tool that\n  # preloads Rails for running tests, you may have to set it to true.\n  config.eager_load = false\n\n  # Configure public file server for tests with Cache-Control for performance.\n  config.public_file_server.enabled = true\n  config.public_file_server.headers = {\n    'Cache-Control' => 'public, max-age=3600'\n  }\n\n  # Show full error reports and disable caching.\n  config.consider_all_requests_local       = true\n  config.action_controller.perform_caching = false\n\n  # Raise exceptions instead of rendering exception templates.\n  config.action_dispatch.show_exceptions = false\n\n  # Disable request forgery protection in test environment.\n  config.action_controller.allow_forgery_protection = false\n  config.action_mailer.perform_caching = false\n\n  # Tell Action Mailer not to deliver emails to the real world.\n  # The :test delivery method accumulates sent emails in the\n  # ActionMailer::Base.deliveries array.\n  config.action_mailer.delivery_method = :test\n\n  # Print deprecation notices to the stderr.\n  config.active_support.deprecation = :stderr\n\n  # Raises error for missing translations\n  # config.action_view.raise_on_missing_translations = true\nend\n"
  },
  {
    "path": "config/initializers/application_controller_renderer.rb",
    "content": "# Be sure to restart your server when you modify this file.\n\n# ApplicationController.renderer.defaults.merge!(\n#   http_host: 'example.org',\n#   https: false\n# )\n"
  },
  {
    "path": "config/initializers/assets.rb",
    "content": "# Be sure to restart your server when you modify this file.\n\n# Version of your assets, change this if you want to expire all your assets.\nRails.application.config.assets.version = '1.0'\n\n# Add additional assets to the asset load path\n# Rails.application.config.assets.paths << Emoji.images_path\n\n# Precompile additional assets.\n# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.\n# Rails.application.config.assets.precompile += %w( search.js )\n"
  },
  {
    "path": "config/initializers/backtrace_silencers.rb",
    "content": "# Be sure to restart your server when you modify this file.\n\n# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.\n# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }\n\n# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.\n# Rails.backtrace_cleaner.remove_silencers!\n"
  },
  {
    "path": "config/initializers/cookies_serializer.rb",
    "content": "# Be sure to restart your server when you modify this file.\n\n# Specify a serializer for the signed and encrypted cookie jars.\n# Valid options are :json, :marshal, and :hybrid.\nRails.application.config.action_dispatch.cookies_serializer = :json\n"
  },
  {
    "path": "config/initializers/filter_parameter_logging.rb",
    "content": "# Be sure to restart your server when you modify this file.\n\n# Configure sensitive parameters which will be filtered from the log file.\nRails.application.config.filter_parameters += [:password]\n"
  },
  {
    "path": "config/initializers/inflections.rb",
    "content": "# Be sure to restart your server when you modify this file.\n\n# Add new inflection rules using the following format. Inflections\n# are locale specific, and you may define rules for as many different\n# locales as you wish. All of these examples are active by default:\n# ActiveSupport::Inflector.inflections(:en) do |inflect|\n#   inflect.plural /^(ox)$/i, '\\1en'\n#   inflect.singular /^(ox)en/i, '\\1'\n#   inflect.irregular 'person', 'people'\n#   inflect.uncountable %w( fish sheep )\n# end\n\n# These inflection rules are supported but not enabled by default:\n# ActiveSupport::Inflector.inflections(:en) do |inflect|\n#   inflect.acronym 'RESTful'\n# end\n"
  },
  {
    "path": "config/initializers/mime_types.rb",
    "content": "# Be sure to restart your server when you modify this file.\n\n# Add new mime types for use in respond_to blocks:\n# Mime::Type.register \"text/richtext\", :rtf\n"
  },
  {
    "path": "config/initializers/new_framework_defaults.rb",
    "content": "# Be sure to restart your server when you modify this file.\n#\n# This file contains migration options to ease your Rails 5.0 upgrade.\n#\n# Read the Rails 5.0 release notes for more info on each option.\n\n# Enable per-form CSRF tokens. Previous versions had false.\nRails.application.config.action_controller.per_form_csrf_tokens = true\n\n# Enable origin-checking CSRF mitigation. Previous versions had false.\nRails.application.config.action_controller.forgery_protection_origin_check = true\n\n# Make Ruby 2.4 preserve the timezone of the receiver when calling `to_time`.\n# Previous versions had false.\nActiveSupport.to_time_preserves_timezone = true\n\n# Require `belongs_to` associations by default. Previous versions had false.\nRails.application.config.active_record.belongs_to_required_by_default = true\n\n# Do not halt callback chains when a callback returns false. Previous versions had true.\nActiveSupport.halt_callback_chains_on_return_false = false\n\n# Configure SSL options to enable HSTS with subdomains. Previous versions had false.\nRails.application.config.ssl_options = { hsts: { subdomains: true } }\n"
  },
  {
    "path": "config/initializers/poke_api.rb",
    "content": ""
  },
  {
    "path": "config/initializers/session_store.rb",
    "content": "# Be sure to restart your server when you modify this file.\n\nRails.application.config.session_store :cookie_store, key: '_PoGoBag_session'\n"
  },
  {
    "path": "config/initializers/wrap_parameters.rb",
    "content": "# Be sure to restart your server when you modify this file.\n\n# This file contains settings for ActionController::ParamsWrapper which\n# is enabled by default.\n\n# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.\nActiveSupport.on_load(:action_controller) do\n  wrap_parameters format: [:json]\nend\n\n# To enable root element in JSON for ActiveRecord objects.\n# ActiveSupport.on_load(:active_record) do\n#   self.include_root_in_json = true\n# end\n"
  },
  {
    "path": "config/locales/en.yml",
    "content": "# Files in the config/locales directory are used for internationalization\n# and are automatically loaded by Rails. If you want to use locales other\n# than English, add the necessary files in this directory.\n#\n# To use the locales, use `I18n.t`:\n#\n#     I18n.t 'hello'\n#\n# In views, this is aliased to just `t`:\n#\n#     <%= t('hello') %>\n#\n# To use a different locale, set it with `I18n.locale`:\n#\n#     I18n.locale = :es\n#\n# This would use the information in config/locales/es.yml.\n#\n# To learn more, please read the Rails Internationalization guide\n# available at http://guides.rubyonrails.org/i18n.html.\n\nen:\n  hello: \"Hello world\"\n"
  },
  {
    "path": "config/puma.rb",
    "content": "# Puma can serve each request in a thread from an internal thread pool.\n# The `threads` method setting takes two numbers a minimum and maximum.\n# Any libraries that use thread pools should be configured to match\n# the maximum value specified for Puma. Default is set to 5 threads for minimum\n# and maximum, this matches the default thread size of Active Record.\n#\nthreads_count = ENV.fetch(\"RAILS_MAX_THREADS\") { 5 }.to_i\nthreads threads_count, threads_count\n\n# Specifies the `port` that Puma will listen on to receive requests, default is 3000.\n#\nport        ENV.fetch(\"PORT\") { 3000 }\n\n# Specifies the `environment` that Puma will run in.\n#\nenvironment ENV.fetch(\"RAILS_ENV\") { \"development\" }\n\n# Specifies the number of `workers` to boot in clustered mode.\n# Workers are forked webserver processes. If using threads and workers together\n# the concurrency of the application would be max `threads` * `workers`.\n# Workers do not work on JRuby or Windows (both of which do not support\n# processes).\n#\n# workers ENV.fetch(\"WEB_CONCURRENCY\") { 2 }\n\n# Use the `preload_app!` method when specifying a `workers` number.\n# This directive tells Puma to first boot the application and load code\n# before forking the application. This takes advantage of Copy On Write\n# process behavior so workers use less memory. If you use this option\n# you need to make sure to reconnect any threads in the `on_worker_boot`\n# block.\n#\n# preload_app!\n\n# The code in the `on_worker_boot` will be called if you are using\n# clustered mode by specifying a number of `workers`. After each worker\n# process is booted this block will be run, if you are using `preload_app!`\n# option you will want to use this block to reconnect to any threads\n# or connections that may have been created at application boot, Ruby\n# cannot share connections between processes.\n#\n# on_worker_boot do\n#   ActiveRecord::Base.establish_connection if defined?(ActiveRecord)\n# end\n\n# Allow puma to be restarted by `rails restart` command.\nplugin :tmp_restart\n"
  },
  {
    "path": "config/routes.rb",
    "content": "Rails.application.routes.draw do\n  # Logging routes\n  post '/login', to: 'sessions#create'\n  delete '/logout', to: 'sessions#destroy'\n  get '/logout', to: 'sessions#destroy'\n\n  # Global content\n  get '/home', to: 'static_pages#home'\n  get '/testing', to: 'static_pages#testing'\n  get '/about', to: 'static_pages#about'\n  get '/stats', to: 'stats#show'\n  get '/stats/:stat', to: 'stats#show'\n\n  # User content\n  get '/search', to: 'users#index'\n  get '/:id', to: 'users#show'\n  get '/:id/:stat', to: 'users#get_pokemon'\n\n  root 'static_pages#home'\nend\n"
  },
  {
    "path": "config/schedule.rb",
    "content": "#set :output, \"log/cron.log\"\n\n#every 5.minutes do\n  #rake 'refresh_data'\n#end\n"
  },
  {
    "path": "config/secrets.yml",
    "content": "# Be sure to restart your server when you modify this file.\n\n# Your secret key is used for verifying the integrity of signed cookies.\n# If you change this key, all old signed cookies will become invalid!\n\n# Make sure the secret is at least 30 characters and all random,\n# no regular words or you'll be exposed to dictionary attacks.\n# You can use `rails secret` to generate a secure secret key.\n\n# Make sure the secrets in this file are kept private\n# if you're sharing your code publicly.\n\ndevelopment:\n  secret_key_base: 6bb9c3cd1eb111fc2c6667cb0486930acfc9aea94eb405e90c7c9b7a0112cd62c2c4dfc85aa124895d03a981c54d64428eb61dff81dd5ce109636342bd3d6ec8\n\ntest:\n  secret_key_base: 2195cfdc6994a09908b88694617178f94b04da5bd2278812a787112a9456ed6c25661a52df50960c5811cc9b5aed70b85d363b87f84f6cb7a02525a52247cc6b\n\n# Do not keep production secrets in the repository,\n# instead read values from the environment.\nproduction:\n  secret_key_base: c921b0314d6b758386d31286b58a05cd583850e0de0530e3d8ab5915783fbb189b03d8cbd0142e8db93efd08b6c01c661d90072747c8561f6ac16f6b61332e7f\n"
  },
  {
    "path": "config/secrets.yml.example",
    "content": "# Be sure to restart your server when you modify this file.\n\n# Your secret key is used for verifying the integrity of signed cookies.\n# If you change this key, all old signed cookies will become invalid!\n\n# Make sure the secret is at least 30 characters and all random,\n# no regular words or you'll be exposed to dictionary attacks.\n# You can use `rails secret` to generate a secure secret key.\n\n# Make sure the secrets in this file are kept private\n# if you're sharing your code publicly.\n\ndevelopment:\n  secret_key_base: 6bb9c3cd1eb111fc2c6667cb0486930acfc9aea94eb405e90c7c9b7a0112cd62c2c4dfc85aa124895d03a981c54d64428eb61dff81dd5ce109636342bd3d6ec8\n\ntest:\n  secret_key_base: 2195cfdc6994a09908b88694617178f94b04da5bd2278812a787112a9456ed6c25661a52df50960c5811cc9b5aed70b85d363b87f84f6cb7a02525a52247cc6b\n\n# Do not keep production secrets in the repository,\n# instead read values from the environment.\nproduction:\n  secret_key_base: <%= ENV[\"SECRET_KEY_BASE\"] %>\n"
  },
  {
    "path": "config/spring.rb",
    "content": "%w(\n  .ruby-version\n  .rbenv-vars\n  tmp/restart.txt\n  tmp/caching-dev.txt\n).each { |path| Spring.watch(path) }\n"
  },
  {
    "path": "config.ru",
    "content": "# This file is used by Rack-based servers to start the application.\n\nrequire_relative 'config/environment'\n\nrun Rails.application\n"
  },
  {
    "path": "db/migrate/20160727233457_create_users.rb",
    "content": "class CreateUsers < ActiveRecord::Migration[5.0]\n  def change\n    create_table :users do |t|\n      t.string :name\n\n      t.timestamps\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160727234844_create_items.rb",
    "content": "class CreateItems < ActiveRecord::Migration[5.0]\n  def change\n    create_table :items do |t|\n      t.string :item_id\n      t.integer :count\n      t.references :user, foreign_key: true\n\n      t.timestamps\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160728032754_create_pokemons.rb",
    "content": "class CreatePokemons < ActiveRecord::Migration[5.0]\n  def change\n    create_table :pokemons do |t|\n      t.string :poke_id\n      t.string :move_1\n      t.string :move_2\n      t.integer :health\n      t.integer :attack\n      t.integer :defense\n      t.integer :stamina\n      t.integer :cp\n      t.references :user, foreign_key: true\n\n      t.timestamps\n    end\n    add_column :pokemons, :iv, :decimal\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160802201113_add_oauth_to_users.rb",
    "content": "class AddOauthToUsers < ActiveRecord::Migration[5.0]\n  def change\n    add_column :users, :provider, :string\n    add_column :users, :uid, :string\n    add_column :users, :oauth_token, :string\n    add_column :users, :oauth_expires_at, :datetime\n    add_column :users, :access_token, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160803064943_add_poke_num_to_pokemons.rb",
    "content": "class AddPokeNumToPokemons < ActiveRecord::Migration[5.0]\n  def change\n    add_column :pokemons, :poke_num, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160803184514_change_column_name.rb",
    "content": "class ChangeColumnName < ActiveRecord::Migration[5.0]\n  def change\n    rename_column :users, :access_token, :id_token\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160804002306_remove_o_auth_columns_from_user.rb",
    "content": "class RemoveOAuthColumnsFromUser < ActiveRecord::Migration[5.0]\n  def change\n    remove_column :users, :provider, :string\n    remove_column :users, :uid, :string\n    remove_column :users, :oauth_token, :string\n    remove_column :users, :oauth_expires_at, :datetime\n    remove_column :users, :id_token, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160804042930_add_columns_to_pokemons.rb",
    "content": "class AddColumnsToPokemons < ActiveRecord::Migration[5.0]\n  def change\n    add_column :pokemons, :nickname, :string\n    add_column :pokemons, :favorite, :integer\n    add_column :pokemons, :num_upgrades, :integer\n    add_column :pokemons, :battles_attacked, :integer\n    add_column :pokemons, :battles_defended, :integer\n    add_column :pokemons, :pokeball, :string\n    add_column :pokemons, :height_m, :decimal\n    add_column :pokemons, :weight_kg, :decimal\n    rename_column :pokemons, :health, :max_health\n    add_column :pokemons, :health, :integer\n\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160804104111_add_columns_to_users.rb",
    "content": "class AddColumnsToUsers < ActiveRecord::Migration[5.0]\n  def change\n    add_column :users, :alias, :string\n    add_column :users, :level, :integer\n    add_column :users, :experience, :integer\n    add_column :users, :prev_level_xp, :integer\n    add_column :users, :next_level_xp, :integer\n    add_column :users, :pokemons_encountered, :integer\n    add_column :users, :km_walked, :decimal\n    add_column :users, :pokemons_captured, :integer\n    add_column :users, :poke_stop_visits, :integer\n    add_column :users, :pokeballs_thrown, :integer\n    add_column :users, :battle_attack_won, :integer\n    add_column :users, :battle_attack_total, :integer\n    add_column :users, :battle_defended_won, :integer\n    add_column :users, :prestige_rasied_total, :integer\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160804110925_rename_alias_to_screen_name_in_users.rb",
    "content": "class RenameAliasToScreenNameInUsers < ActiveRecord::Migration[5.0]\n  def change\n    rename_column :users, :alias, :screen_name\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160805025856_fix_intenger_migration_for_poke_num.rb",
    "content": "class FixIntengerMigrationForPokeNum < ActiveRecord::Migration[5.0]\n  def change\n    remove_column :pokemons, :poke_num, :integer\n    add_column :pokemons, :poke_num, :integer\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160805084720_add_recency_to_pokemons.rb",
    "content": "class AddRecencyToPokemons < ActiveRecord::Migration[5.0]\n  def change\n    add_column :pokemons, :creation_time_ms, :integer\n    add_column :pokemons, :candies, :integer\n    add_column :users, :pokemon_deployed, :integer\n    add_column :users, :prestige_dropped_total, :integer\n    add_column :users, :eggs_hatched, :integer\n    add_column :users, :evolutions, :integer\n    add_column :users, :unique_pokedex_entries, :integer\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160805090935_change_column_name_in_pokemons.rb",
    "content": "class ChangeColumnNameInPokemons < ActiveRecord::Migration[5.0]\n  def change\n    rename_column :pokemons, :candies, :candy\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160805091252_change_creation_time_to_float.rb",
    "content": "class ChangeCreationTimeToFloat < ActiveRecord::Migration[5.0]\n  def change\n    remove_column :pokemons, :creation_time_ms, :float\n    add_column :pokemons, :creation_time_ms, :float\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160805121536_add_refresh_token_to_users.rb",
    "content": "class AddRefreshTokenToUsers < ActiveRecord::Migration[5.0]\n  def change\n    add_column :users, :refresh_token, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160805214848_add_refresh_token_expire_time_to_users.rb",
    "content": "class AddRefreshTokenExpireTimeToUsers < ActiveRecord::Migration[5.0]\n  def change\n    add_column :users, :refresh_token_expire_time, :float\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160805224803_change_column_name_in_users.rb",
    "content": "class ChangeColumnNameInUsers < ActiveRecord::Migration[5.0]\n  def change\n    remove_column :users, :refresh_token_expire_time, :float\n    add_column :users, :access_token_expire_time, :float\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160805235944_add_team_to_users.rb",
    "content": "class AddTeamToUsers < ActiveRecord::Migration[5.0]\n  def change\n    add_column :users, :team, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160806000738_add_more_info_to_users.rb",
    "content": "class AddMoreInfoToUsers < ActiveRecord::Migration[5.0]\n  def change\n    add_column :users, :max_pokemon_storage, :string\n    add_column :users, :max_item_storage, :string\n    add_column :users, :POKECOIN, :float\n    add_column :users, :STARDUST, :float\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160807213852_add_last_data_update_column_to_users.rb",
    "content": "class AddLastDataUpdateColumnToUsers < ActiveRecord::Migration[5.0]\n  def change\n    add_column :users, :last_data_update, :string\n  end\nend\n"
  },
  {
    "path": "db/schema.rb",
    "content": "# This file is auto-generated from the current state of the database. Instead\n# of editing this file, please use the migrations feature of Active Record to\n# incrementally modify your database, and then regenerate this schema definition.\n#\n# Note that this schema.rb definition is the authoritative source for your\n# database schema. If you need to create the application database on another\n# system, you should be using db:schema:load, not running all the migrations\n# from scratch. The latter is a flawed and unsustainable approach (the more migrations\n# you'll amass, the slower it'll run and the greater likelihood for issues).\n#\n# It's strongly recommended that you check this file into your version control system.\n\nActiveRecord::Schema.define(version: 20160807213852) do\n\n  create_table \"items\", force: :cascade do |t|\n    t.string   \"item_id\"\n    t.integer  \"count\"\n    t.integer  \"user_id\"\n    t.datetime \"created_at\", null: false\n    t.datetime \"updated_at\", null: false\n    t.index [\"user_id\"], name: \"index_items_on_user_id\"\n  end\n\n  create_table \"pokemons\", force: :cascade do |t|\n    t.string   \"poke_id\"\n    t.string   \"move_1\"\n    t.string   \"move_2\"\n    t.integer  \"max_health\"\n    t.integer  \"attack\"\n    t.integer  \"defense\"\n    t.integer  \"stamina\"\n    t.integer  \"cp\"\n    t.integer  \"user_id\"\n    t.datetime \"created_at\",       null: false\n    t.datetime \"updated_at\",       null: false\n    t.decimal  \"iv\"\n    t.string   \"nickname\"\n    t.integer  \"favorite\"\n    t.integer  \"num_upgrades\"\n    t.integer  \"battles_attacked\"\n    t.integer  \"battles_defended\"\n    t.string   \"pokeball\"\n    t.decimal  \"height_m\"\n    t.decimal  \"weight_kg\"\n    t.integer  \"health\"\n    t.integer  \"poke_num\"\n    t.integer  \"candy\"\n    t.float    \"creation_time_ms\"\n    t.index [\"user_id\"], name: \"index_pokemons_on_user_id\"\n  end\n\n  create_table \"users\", force: :cascade do |t|\n    t.string   \"name\"\n    t.datetime \"created_at\",               null: false\n    t.datetime \"updated_at\",               null: false\n    t.string   \"screen_name\"\n    t.integer  \"level\"\n    t.integer  \"experience\"\n    t.integer  \"prev_level_xp\"\n    t.integer  \"next_level_xp\"\n    t.integer  \"pokemons_encountered\"\n    t.decimal  \"km_walked\"\n    t.integer  \"pokemons_captured\"\n    t.integer  \"poke_stop_visits\"\n    t.integer  \"pokeballs_thrown\"\n    t.integer  \"battle_attack_won\"\n    t.integer  \"battle_attack_total\"\n    t.integer  \"battle_defended_won\"\n    t.integer  \"prestige_rasied_total\"\n    t.integer  \"pokemon_deployed\"\n    t.integer  \"prestige_dropped_total\"\n    t.integer  \"eggs_hatched\"\n    t.integer  \"evolutions\"\n    t.integer  \"unique_pokedex_entries\"\n    t.string   \"refresh_token\"\n    t.float    \"access_token_expire_time\"\n    t.string   \"team\"\n    t.string   \"max_pokemon_storage\"\n    t.string   \"max_item_storage\"\n    t.float    \"POKECOIN\"\n    t.float    \"STARDUST\"\n    t.string   \"last_data_update\"\n  end\n\nend\n"
  },
  {
    "path": "db/seeds.rb",
    "content": "# This file should contain all the record creation needed to seed the database with its default values.\n# The data can then be loaded with the rails db:seed command (or created alongside the database with db:setup).\n#\n# Examples:\n#\n#   movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }])\n#   Character.create(name: 'Luke', movie: movies.first)\n"
  },
  {
    "path": "google_auth.rb.example",
    "content": "require 'poke-api'\nrequire 'httpclient'\n\nclnt = HTTPClient.new\nbody = {\n  grant_type: 'authorization_code',\n  redirect_uri: 'urn:ietf:wg:oauth:2.0:oob',\n  scope: 'openid email https://www.googleapis.com/auth/userinfo.email',\n  client_secret: 'NCjF1TLi2CcY6t5mt0ZveuL7',\n  client_id: '848232511240-73ri3t7plvk96pj4f85uj8otdat2alem.apps.googleusercontent.com',\n  code: \"\", # <--- Insert token from google here\n}\nuri = 'https://accounts.google.com/o/oauth2/token'\nresponse = clnt.post(uri, body)\nbody = response.body\nhash = JSON.parse body\ntoken = hash[\"id_token\"]\n\nclient = Poke::API::Client.new\ngoogle = Poke::API::Auth::GOOGLE.new(\"username\", \"password\")\ngoogle.instance_variable_set(:@access_token, token)\nclient.instance_variable_set(:@auth, google)\nclient.instance_eval { fetch_endpoint }\n"
  },
  {
    "path": "lib/assets/.keep",
    "content": ""
  },
  {
    "path": "lib/tasks/.keep",
    "content": ""
  },
  {
    "path": "lib/tasks/refresh_data.rake",
    "content": "desc 'Update all user data with Google accounts'\ntask refresh_data: :environment do\n  include SessionsHelper\n  Poke::API::Logging.log_level = :WARN if Rails.env.production?\n  Rails.logger.warn \"Running rake task\"\n  @users = User.where.not('refresh_token' => nil)\n  @users.each do |user|\n    if user.access_token_expire_time > Time.now.to_i\n      refresh_data(user)\n    end\n  end\nend\n"
  },
  {
    "path": "public/404.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <title>The page you were looking for doesn't exist (404)</title>\n  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n  <style>\n  body {\n    background-color: #EFEFEF;\n    color: #2E2F30;\n    text-align: center;\n    font-family: arial, sans-serif;\n    margin: 0;\n  }\n\n  div.dialog {\n    width: 95%;\n    max-width: 33em;\n    margin: 4em auto 0;\n  }\n\n  div.dialog > div {\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-left-color: #999;\n    border-bottom-color: #BBB;\n    border-top: #B00100 solid 4px;\n    border-top-left-radius: 9px;\n    border-top-right-radius: 9px;\n    background-color: white;\n    padding: 7px 12% 0;\n    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);\n  }\n\n  h1 {\n    font-size: 100%;\n    color: #730E15;\n    line-height: 1.5em;\n  }\n\n  div.dialog > p {\n    margin: 0 0 1em;\n    padding: 1em;\n    background-color: #F7F7F7;\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-left-color: #999;\n    border-bottom-color: #999;\n    border-bottom-left-radius: 4px;\n    border-bottom-right-radius: 4px;\n    border-top-color: #DADADA;\n    color: #666;\n    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);\n  }\n  </style>\n</head>\n\n<body>\n  <!-- This file lives in public/404.html -->\n  <div class=\"dialog\">\n    <div>\n      <h1>The page you were looking for doesn't exist.</h1>\n      <p>You may have mistyped the address or the page may have moved.</p>\n    </div>\n    <p>If you are the application owner check the logs for more information.</p>\n  </div>\n</body>\n</html>\n"
  },
  {
    "path": "public/422.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <title>The change you wanted was rejected (422)</title>\n  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n  <style>\n  body {\n    background-color: #EFEFEF;\n    color: #2E2F30;\n    text-align: center;\n    font-family: arial, sans-serif;\n    margin: 0;\n  }\n\n  div.dialog {\n    width: 95%;\n    max-width: 33em;\n    margin: 4em auto 0;\n  }\n\n  div.dialog > div {\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-left-color: #999;\n    border-bottom-color: #BBB;\n    border-top: #B00100 solid 4px;\n    border-top-left-radius: 9px;\n    border-top-right-radius: 9px;\n    background-color: white;\n    padding: 7px 12% 0;\n    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);\n  }\n\n  h1 {\n    font-size: 100%;\n    color: #730E15;\n    line-height: 1.5em;\n  }\n\n  div.dialog > p {\n    margin: 0 0 1em;\n    padding: 1em;\n    background-color: #F7F7F7;\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-left-color: #999;\n    border-bottom-color: #999;\n    border-bottom-left-radius: 4px;\n    border-bottom-right-radius: 4px;\n    border-top-color: #DADADA;\n    color: #666;\n    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);\n  }\n  </style>\n</head>\n\n<body>\n  <!-- This file lives in public/422.html -->\n  <div class=\"dialog\">\n    <div>\n      <h1>The change you wanted was rejected.</h1>\n      <p>Maybe you tried to change something you didn't have access to.</p>\n    </div>\n    <p>If you are the application owner check the logs for more information.</p>\n  </div>\n</body>\n</html>\n"
  },
  {
    "path": "public/500.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <title>We're sorry, but something went wrong (500)</title>\n  <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n  <style>\n  body {\n    background-color: #EFEFEF;\n    color: #2E2F30;\n    text-align: center;\n    font-family: arial, sans-serif;\n    margin: 0;\n  }\n\n  div.dialog {\n    width: 95%;\n    max-width: 33em;\n    margin: 4em auto 0;\n  }\n\n  div.dialog > div {\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-left-color: #999;\n    border-bottom-color: #BBB;\n    border-top: #B00100 solid 4px;\n    border-top-left-radius: 9px;\n    border-top-right-radius: 9px;\n    background-color: white;\n    padding: 7px 12% 0;\n    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);\n  }\n\n  h1 {\n    font-size: 100%;\n    color: #730E15;\n    line-height: 1.5em;\n  }\n\n  div.dialog > p {\n    margin: 0 0 1em;\n    padding: 1em;\n    background-color: #F7F7F7;\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-left-color: #999;\n    border-bottom-color: #999;\n    border-bottom-left-radius: 4px;\n    border-bottom-right-radius: 4px;\n    border-top-color: #DADADA;\n    color: #666;\n    box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);\n  }\n  </style>\n</head>\n\n<body>\n  <!-- This file lives in public/500.html -->\n  <div class=\"dialog\">\n    <div>\n      <h1>We're sorry, but something went wrong.</h1>\n    </div>\n    <p>If you are the application owner check the logs for more information.</p>\n  </div>\n</body>\n</html>\n"
  },
  {
    "path": "public/robots.txt",
    "content": "# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file\n#\n# To ban all spiders from the entire site uncomment the next two lines:\n# User-agent: *\n# Disallow: /\n"
  },
  {
    "path": "test/controllers/.keep",
    "content": ""
  },
  {
    "path": "test/controllers/sessions_controller_test.rb",
    "content": "require 'test_helper'\n\nclass SessionsControllerTest < ActionDispatch::IntegrationTest\n  test \"should get new\" do\n    get sessions_new_url\n    assert_response :success\n  end\n\n  test \"should get create\" do\n    get sessions_create_url\n    assert_response :success\n  end\n\nend\n"
  },
  {
    "path": "test/controllers/static_pages_controller_test.rb",
    "content": "require 'test_helper'\n\nclass StaticPagesControllerTest < ActionDispatch::IntegrationTest\n  test \"should get home\" do\n    get home_path\n    assert_response :success\n  end\n\n  test \"should get about\" do\n    get about_path\n    assert_response :success\n  end\n\n  test \"should get contact\" do\n    get contact_path\n    assert_response :success\n  end\n\nend\n"
  },
  {
    "path": "test/controllers/stats_controller_test.rb",
    "content": "require 'test_helper'\n\nclass StatsControllerTest < ActionDispatch::IntegrationTest\n  test \"should get show\" do\n    get stats_show_url\n    assert_response :success\n  end\n\nend\n"
  },
  {
    "path": "test/controllers/users_controller_test.rb",
    "content": "require 'test_helper'\n\nclass UsersControllerTest < ActionDispatch::IntegrationTest\n  test \"should get show\" do\n    get users_show_url\n    assert_response :success\n  end\n\nend\n"
  },
  {
    "path": "test/fixtures/.keep",
    "content": ""
  },
  {
    "path": "test/fixtures/files/.keep",
    "content": ""
  },
  {
    "path": "test/fixtures/items.yml",
    "content": "# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html\n\none:\n  item_id: MyString\n  count: 1\n  user: one\n\ntwo:\n  item_id: MyString\n  count: 1\n  user: two\n"
  },
  {
    "path": "test/fixtures/pokemons.yml",
    "content": "# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html\n\none:\n  poke_id: MyString\n  move_1: MyString\n  move_2: MyString\n  health: 1\n  attack: 1\n  defense: 1\n  stamina: 1\n  user: one\n\ntwo:\n  poke_id: MyString\n  move_1: MyString\n  move_2: MyString\n  health: 1\n  attack: 1\n  defense: 1\n  stamina: 1\n  user: two\n"
  },
  {
    "path": "test/fixtures/users.yml",
    "content": "# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html\n\none:\n  name: MyString\n\ntwo:\n  name: MyString\n"
  },
  {
    "path": "test/helpers/.keep",
    "content": ""
  },
  {
    "path": "test/integration/.keep",
    "content": ""
  },
  {
    "path": "test/integration/users_login_test.rb",
    "content": "require 'test_helper'\n\nclass UsersLoginTest < ActionDispatch::IntegrationTest\n  # test \"the truth\" do\n  #   assert true\n  # end\nend\n"
  },
  {
    "path": "test/mailers/.keep",
    "content": ""
  },
  {
    "path": "test/models/.keep",
    "content": ""
  },
  {
    "path": "test/models/item_test.rb",
    "content": "require 'test_helper'\n\nclass ItemTest < ActiveSupport::TestCase\n  # test \"the truth\" do\n  #   assert true\n  # end\nend\n"
  },
  {
    "path": "test/models/pokemon_test.rb",
    "content": "require 'test_helper'\n\nclass PokemonTest < ActiveSupport::TestCase\n  # test \"the truth\" do\n  #   assert true\n  # end\nend\n"
  },
  {
    "path": "test/models/user_test.rb",
    "content": "require 'test_helper'\n\nclass UserTest < ActiveSupport::TestCase\n  # test \"the truth\" do\n  #   assert true\n  # end\nend\n"
  },
  {
    "path": "test/test_helper.rb",
    "content": "ENV['RAILS_ENV'] ||= 'test'\nrequire File.expand_path('../../config/environment', __FILE__)\nrequire 'rails/test_help'\n\nclass ActiveSupport::TestCase\n  # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.\n  fixtures :all\n\n  # Add more helper methods to be used by all tests here...\nend\n"
  },
  {
    "path": "vendor/assets/javascripts/.keep",
    "content": ""
  },
  {
    "path": "vendor/assets/stylesheets/.keep",
    "content": ""
  }
]