// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: s2clientprotocol/error.proto

#include "s2clientprotocol/error.pb.h"

#include <algorithm>

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
namespace SC2APIProtocol {
}  // namespace SC2APIProtocol
static constexpr ::PROTOBUF_NAMESPACE_ID::Metadata* file_level_metadata_s2clientprotocol_2ferror_2eproto = nullptr;
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_s2clientprotocol_2ferror_2eproto[1];
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_s2clientprotocol_2ferror_2eproto = nullptr;
const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_s2clientprotocol_2ferror_2eproto::offsets[1] = {};
static constexpr ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema* schemas = nullptr;
static constexpr ::PROTOBUF_NAMESPACE_ID::Message* const* file_default_instances = nullptr;

const char descriptor_table_protodef_s2clientprotocol_2ferror_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n\034s2clientprotocol/error.proto\022\016SC2APIPr"
  "otocol*\250-\n\014ActionResult\022\013\n\007Success\020\001\022\020\n\014"
  "NotSupported\020\002\022\t\n\005Error\020\003\022\026\n\022CantQueueTh"
  "atOrder\020\004\022\t\n\005Retry\020\005\022\014\n\010Cooldown\020\006\022\017\n\013Qu"
  "eueIsFull\020\007\022\024\n\020RallyQueueIsFull\020\010\022\025\n\021Not"
  "EnoughMinerals\020\t\022\024\n\020NotEnoughVespene\020\n\022\026"
  "\n\022NotEnoughTerrazine\020\013\022\023\n\017NotEnoughCusto"
  "m\020\014\022\021\n\rNotEnoughFood\020\r\022\027\n\023FoodUsageImpos"
  "sible\020\016\022\021\n\rNotEnoughLife\020\017\022\024\n\020NotEnoughS"
  "hields\020\020\022\023\n\017NotEnoughEnergy\020\021\022\022\n\016LifeSup"
  "pressed\020\022\022\025\n\021ShieldsSuppressed\020\023\022\024\n\020Ener"
  "gySuppressed\020\024\022\024\n\020NotEnoughCharges\020\025\022\026\n\022"
  "CantAddMoreCharges\020\026\022\023\n\017TooMuchMinerals\020"
  "\027\022\022\n\016TooMuchVespene\020\030\022\024\n\020TooMuchTerrazin"
  "e\020\031\022\021\n\rTooMuchCustom\020\032\022\017\n\013TooMuchFood\020\033\022"
  "\017\n\013TooMuchLife\020\034\022\022\n\016TooMuchShields\020\035\022\021\n\r"
  "TooMuchEnergy\020\036\022\032\n\026MustTargetUnitWithLif"
  "e\020\037\022\035\n\031MustTargetUnitWithShields\020 \022\034\n\030Mu"
  "stTargetUnitWithEnergy\020!\022\r\n\tCantTrade\020\"\022"
  "\r\n\tCantSpend\020#\022\026\n\022CantTargetThatUnit\020$\022\027"
  "\n\023CouldntAllocateUnit\020%\022\020\n\014UnitCantMove\020"
  "&\022\036\n\032TransportIsHoldingPosition\020\'\022\037\n\033Bui"
  "ldTechRequirementsNotMet\020(\022\035\n\031CantFindPl"
  "acementLocation\020)\022\023\n\017CantBuildOnThat\020*\022\036"
  "\n\032CantBuildTooCloseToDropOff\020+\022\034\n\030CantBu"
  "ildLocationInvalid\020,\022\030\n\024CantSeeBuildLoca"
  "tion\020-\022\"\n\036CantBuildTooCloseToCreepSource"
  "\020.\022 \n\034CantBuildTooCloseToResources\020/\022\034\n\030"
  "CantBuildTooFarFromWater\0200\022\"\n\036CantBuildT"
  "ooFarFromCreepSource\0201\022\'\n#CantBuildTooFa"
  "rFromBuildPowerSource\0202\022\033\n\027CantBuildOnDe"
  "nseTerrain\0203\022\'\n#CantTrainTooFarFromTrain"
  "PowerSource\0204\022\033\n\027CantLandLocationInvalid"
  "\0205\022\027\n\023CantSeeLandLocation\0206\022!\n\035CantLandT"
  "ooCloseToCreepSource\0207\022\037\n\033CantLandTooClo"
  "seToResources\0208\022\033\n\027CantLandTooFarFromWat"
  "er\0209\022!\n\035CantLandTooFarFromCreepSource\020:\022"
  "&\n\"CantLandTooFarFromBuildPowerSource\020;\022"
  "&\n\"CantLandTooFarFromTrainPowerSource\020<\022"
  "\032\n\026CantLandOnDenseTerrain\020=\022\033\n\027AddOnTooF"
  "arFromBuilding\020>\022\032\n\026MustBuildRefineryFir"
  "st\020\?\022\037\n\033BuildingIsUnderConstruction\020@\022\023\n"
  "\017CantFindDropOff\020A\022\035\n\031CantLoadOtherPlaye"
  "rsUnits\020B\022\033\n\027NotEnoughRoomToLoadUnit\020C\022\030"
  "\n\024CantUnloadUnitsThere\020D\022\030\n\024CantWarpInUn"
  "itsThere\020E\022\031\n\025CantLoadImmobileUnits\020F\022\035\n"
  "\031CantRechargeImmobileUnits\020G\022&\n\"CantRech"
  "argeUnderConstructionUnits\020H\022\024\n\020CantLoad"
  "ThatUnit\020I\022\023\n\017NoCargoToUnload\020J\022\031\n\025LoadA"
  "llNoTargetsFound\020K\022\024\n\020NotWhileOccupied\020L"
  "\022\031\n\025CantAttackWithoutAmmo\020M\022\027\n\023CantHoldA"
  "nyMoreAmmo\020N\022\032\n\026TechRequirementsNotMet\020O"
  "\022\031\n\025MustLockdownUnitFirst\020P\022\022\n\016MustTarge"
  "tUnit\020Q\022\027\n\023MustTargetInventory\020R\022\031\n\025Must"
  "TargetVisibleUnit\020S\022\035\n\031MustTargetVisible"
  "Location\020T\022\036\n\032MustTargetWalkableLocation"
  "\020U\022\032\n\026MustTargetPawnableUnit\020V\022\032\n\026YouCan"
  "tControlThatUnit\020W\022\"\n\036YouCantIssueComman"
  "dsToThatUnit\020X\022\027\n\023MustTargetResources\020Y\022"
  "\026\n\022RequiresHealTarget\020Z\022\030\n\024RequiresRepai"
  "rTarget\020[\022\021\n\rNoItemsToDrop\020\\\022\030\n\024CantHold"
  "AnyMoreItems\020]\022\020\n\014CantHoldThat\020^\022\030\n\024Targ"
  "etHasNoInventory\020_\022\024\n\020CantDropThisItem\020`"
  "\022\024\n\020CantMoveThisItem\020a\022\024\n\020CantPawnThisUn"
  "it\020b\022\024\n\020MustTargetCaster\020c\022\024\n\020CantTarget"
  "Caster\020d\022\023\n\017MustTargetOuter\020e\022\023\n\017CantTar"
  "getOuter\020f\022\032\n\026MustTargetYourOwnUnits\020g\022\032"
  "\n\026CantTargetYourOwnUnits\020h\022\033\n\027MustTarget"
  "FriendlyUnits\020i\022\033\n\027CantTargetFriendlyUni"
  "ts\020j\022\032\n\026MustTargetNeutralUnits\020k\022\032\n\026Cant"
  "TargetNeutralUnits\020l\022\030\n\024MustTargetEnemyU"
  "nits\020m\022\030\n\024CantTargetEnemyUnits\020n\022\026\n\022Must"
  "TargetAirUnits\020o\022\026\n\022CantTargetAirUnits\020p"
  "\022\031\n\025MustTargetGroundUnits\020q\022\031\n\025CantTarge"
  "tGroundUnits\020r\022\030\n\024MustTargetStructures\020s"
  "\022\030\n\024CantTargetStructures\020t\022\030\n\024MustTarget"
  "LightUnits\020u\022\030\n\024CantTargetLightUnits\020v\022\032"
  "\n\026MustTargetArmoredUnits\020w\022\032\n\026CantTarget"
  "ArmoredUnits\020x\022\035\n\031MustTargetBiologicalUn"
  "its\020y\022\035\n\031CantTargetBiologicalUnits\020z\022\031\n\025"
  "MustTargetHeroicUnits\020{\022\031\n\025CantTargetHer"
  "oicUnits\020|\022\032\n\026MustTargetRoboticUnits\020}\022\032"
  "\n\026CantTargetRoboticUnits\020~\022\035\n\031MustTarget"
  "MechanicalUnits\020\177\022\036\n\031CantTargetMechanica"
  "lUnits\020\200\001\022\033\n\026MustTargetPsionicUnits\020\201\001\022\033"
  "\n\026CantTargetPsionicUnits\020\202\001\022\033\n\026MustTarge"
  "tMassiveUnits\020\203\001\022\033\n\026CantTargetMassiveUni"
  "ts\020\204\001\022\026\n\021MustTargetMissile\020\205\001\022\026\n\021CantTar"
  "getMissile\020\206\001\022\032\n\025MustTargetWorkerUnits\020\207"
  "\001\022\032\n\025CantTargetWorkerUnits\020\210\001\022!\n\034MustTar"
  "getEnergyCapableUnits\020\211\001\022!\n\034CantTargetEn"
  "ergyCapableUnits\020\212\001\022!\n\034MustTargetShieldC"
  "apableUnits\020\213\001\022!\n\034CantTargetShieldCapabl"
  "eUnits\020\214\001\022\025\n\020MustTargetFlyers\020\215\001\022\025\n\020Cant"
  "TargetFlyers\020\216\001\022\032\n\025MustTargetBuriedUnits"
  "\020\217\001\022\032\n\025CantTargetBuriedUnits\020\220\001\022\033\n\026MustT"
  "argetCloakedUnits\020\221\001\022\033\n\026CantTargetCloake"
  "dUnits\020\222\001\022\"\n\035MustTargetUnitsInAStasisFie"
  "ld\020\223\001\022\"\n\035CantTargetUnitsInAStasisField\020\224"
  "\001\022%\n MustTargetUnderConstructionUnits\020\225\001"
  "\022%\n CantTargetUnderConstructionUnits\020\226\001\022"
  "\030\n\023MustTargetDeadUnits\020\227\001\022\030\n\023CantTargetD"
  "eadUnits\020\230\001\022\035\n\030MustTargetRevivableUnits\020"
  "\231\001\022\035\n\030CantTargetRevivableUnits\020\232\001\022\032\n\025Mus"
  "tTargetHiddenUnits\020\233\001\022\032\n\025CantTargetHidde"
  "nUnits\020\234\001\022\"\n\035CantRechargeOtherPlayersUni"
  "ts\020\235\001\022\035\n\030MustTargetHallucinations\020\236\001\022\035\n\030"
  "CantTargetHallucinations\020\237\001\022 \n\033MustTarge"
  "tInvulnerableUnits\020\240\001\022 \n\033CantTargetInvul"
  "nerableUnits\020\241\001\022\034\n\027MustTargetDetectedUni"
  "ts\020\242\001\022\034\n\027CantTargetDetectedUnits\020\243\001\022\035\n\030C"
  "antTargetUnitWithEnergy\020\244\001\022\036\n\031CantTarget"
  "UnitWithShields\020\245\001\022!\n\034MustTargetUncomman"
  "dableUnits\020\246\001\022!\n\034CantTargetUncommandable"
  "Units\020\247\001\022!\n\034MustTargetPreventDefeatUnits"
  "\020\250\001\022!\n\034CantTargetPreventDefeatUnits\020\251\001\022!"
  "\n\034MustTargetPreventRevealUnits\020\252\001\022!\n\034Can"
  "tTargetPreventRevealUnits\020\253\001\022\033\n\026MustTarg"
  "etPassiveUnits\020\254\001\022\033\n\026CantTargetPassiveUn"
  "its\020\255\001\022\033\n\026MustTargetStunnedUnits\020\256\001\022\033\n\026C"
  "antTargetStunnedUnits\020\257\001\022\034\n\027MustTargetSu"
  "mmonedUnits\020\260\001\022\034\n\027CantTargetSummonedUnit"
  "s\020\261\001\022\024\n\017MustTargetUser1\020\262\001\022\024\n\017CantTarget"
  "User1\020\263\001\022\037\n\032MustTargetUnstoppableUnits\020\264"
  "\001\022\037\n\032CantTargetUnstoppableUnits\020\265\001\022\035\n\030Mu"
  "stTargetResistantUnits\020\266\001\022\035\n\030CantTargetR"
  "esistantUnits\020\267\001\022\031\n\024MustTargetDazedUnits"
  "\020\270\001\022\031\n\024CantTargetDazedUnits\020\271\001\022\021\n\014CantLo"
  "ckdown\020\272\001\022\024\n\017CantMindControl\020\273\001\022\034\n\027MustT"
  "argetDestructibles\020\274\001\022\034\n\027CantTargetDestr"
  "uctibles\020\275\001\022\024\n\017MustTargetItems\020\276\001\022\024\n\017Can"
  "tTargetItems\020\277\001\022\030\n\023NoCalldownAvailable\020\300"
  "\001\022\025\n\020WaypointListFull\020\301\001\022\023\n\016MustTargetRa"
  "ce\020\302\001\022\023\n\016CantTargetRace\020\303\001\022\033\n\026MustTarget"
  "SimilarUnits\020\304\001\022\033\n\026CantTargetSimilarUnit"
  "s\020\305\001\022\032\n\025CantFindEnoughTargets\020\306\001\022\031\n\024Alre"
  "adySpawningLarva\020\307\001\022!\n\034CantTargetExhaust"
  "edResources\020\310\001\022\023\n\016CantUseMinimap\020\311\001\022\025\n\020C"
  "antUseInfoPanel\020\312\001\022\025\n\020OrderQueueIsFull\020\313"
  "\001\022\034\n\027CantHarvestThatResource\020\314\001\022\032\n\025Harve"
  "stersNotRequired\020\315\001\022\024\n\017AlreadyTargeted\020\316"
  "\001\022\036\n\031CantAttackWeaponsDisabled\020\317\001\022\027\n\022Cou"
  "ldntReachTarget\020\320\001\022\027\n\022TargetIsOutOfRange"
  "\020\321\001\022\025\n\020TargetIsTooClose\020\322\001\022\025\n\020TargetIsOu"
  "tOfArc\020\323\001\022\035\n\030CantFindTeleportLocation\020\324\001"
  "\022\025\n\020InvalidItemClass\020\325\001\022\030\n\023CantFindCance"
  "lOrder\020\326\001"
  ;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_s2clientprotocol_2ferror_2eproto_deps[1] = {
};
static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_s2clientprotocol_2ferror_2eproto_sccs[1] = {
};
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_s2clientprotocol_2ferror_2eproto_once;
static bool descriptor_table_s2clientprotocol_2ferror_2eproto_initialized = false;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_s2clientprotocol_2ferror_2eproto = {
  &descriptor_table_s2clientprotocol_2ferror_2eproto_initialized, descriptor_table_protodef_s2clientprotocol_2ferror_2eproto, "s2clientprotocol/error.proto", 5849,
  &descriptor_table_s2clientprotocol_2ferror_2eproto_once, descriptor_table_s2clientprotocol_2ferror_2eproto_sccs, descriptor_table_s2clientprotocol_2ferror_2eproto_deps, 0, 0,
  schemas, file_default_instances, TableStruct_s2clientprotocol_2ferror_2eproto::offsets,
  file_level_metadata_s2clientprotocol_2ferror_2eproto, 0, file_level_enum_descriptors_s2clientprotocol_2ferror_2eproto, file_level_service_descriptors_s2clientprotocol_2ferror_2eproto,
};

// Force running AddDescriptors() at dynamic initialization time.
static bool dynamic_init_dummy_s2clientprotocol_2ferror_2eproto = (static_cast<void>(::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_s2clientprotocol_2ferror_2eproto)), true);
namespace SC2APIProtocol {
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ActionResult_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_s2clientprotocol_2ferror_2eproto);
  return file_level_enum_descriptors_s2clientprotocol_2ferror_2eproto[0];
}
bool ActionResult_IsValid(int value) {
  switch (value) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
    case 11:
    case 12:
    case 13:
    case 14:
    case 15:
    case 16:
    case 17:
    case 18:
    case 19:
    case 20:
    case 21:
    case 22:
    case 23:
    case 24:
    case 25:
    case 26:
    case 27:
    case 28:
    case 29:
    case 30:
    case 31:
    case 32:
    case 33:
    case 34:
    case 35:
    case 36:
    case 37:
    case 38:
    case 39:
    case 40:
    case 41:
    case 42:
    case 43:
    case 44:
    case 45:
    case 46:
    case 47:
    case 48:
    case 49:
    case 50:
    case 51:
    case 52:
    case 53:
    case 54:
    case 55:
    case 56:
    case 57:
    case 58:
    case 59:
    case 60:
    case 61:
    case 62:
    case 63:
    case 64:
    case 65:
    case 66:
    case 67:
    case 68:
    case 69:
    case 70:
    case 71:
    case 72:
    case 73:
    case 74:
    case 75:
    case 76:
    case 77:
    case 78:
    case 79:
    case 80:
    case 81:
    case 82:
    case 83:
    case 84:
    case 85:
    case 86:
    case 87:
    case 88:
    case 89:
    case 90:
    case 91:
    case 92:
    case 93:
    case 94:
    case 95:
    case 96:
    case 97:
    case 98:
    case 99:
    case 100:
    case 101:
    case 102:
    case 103:
    case 104:
    case 105:
    case 106:
    case 107:
    case 108:
    case 109:
    case 110:
    case 111:
    case 112:
    case 113:
    case 114:
    case 115:
    case 116:
    case 117:
    case 118:
    case 119:
    case 120:
    case 121:
    case 122:
    case 123:
    case 124:
    case 125:
    case 126:
    case 127:
    case 128:
    case 129:
    case 130:
    case 131:
    case 132:
    case 133:
    case 134:
    case 135:
    case 136:
    case 137:
    case 138:
    case 139:
    case 140:
    case 141:
    case 142:
    case 143:
    case 144:
    case 145:
    case 146:
    case 147:
    case 148:
    case 149:
    case 150:
    case 151:
    case 152:
    case 153:
    case 154:
    case 155:
    case 156:
    case 157:
    case 158:
    case 159:
    case 160:
    case 161:
    case 162:
    case 163:
    case 164:
    case 165:
    case 166:
    case 167:
    case 168:
    case 169:
    case 170:
    case 171:
    case 172:
    case 173:
    case 174:
    case 175:
    case 176:
    case 177:
    case 178:
    case 179:
    case 180:
    case 181:
    case 182:
    case 183:
    case 184:
    case 185:
    case 186:
    case 187:
    case 188:
    case 189:
    case 190:
    case 191:
    case 192:
    case 193:
    case 194:
    case 195:
    case 196:
    case 197:
    case 198:
    case 199:
    case 200:
    case 201:
    case 202:
    case 203:
    case 204:
    case 205:
    case 206:
    case 207:
    case 208:
    case 209:
    case 210:
    case 211:
    case 212:
    case 213:
    case 214:
      return true;
    default:
      return false;
  }
}


// @@protoc_insertion_point(namespace_scope)
}  // namespace SC2APIProtocol
PROTOBUF_NAMESPACE_OPEN
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
