use std::sync::LazyLock;
use crate::helpers::TigerHashSet;
pub(crate) static BUILTIN_MACROS_HOI4: LazyLock<TigerHashSet<&'static str>> =
LazyLock::new(|| BUILTIN_MACROS.iter().copied().collect());
const BUILTIN_MACROS: &[&str] = &[
"A",
"AA",
"ABILITY",
"ACHIEVED_STATUS",
"ACHIEVEMENT",
"ACTION",
"ACTIONS",
"ACTION_NAME",
"ACTIVATION_EFFECT",
"ACTIVE",
"ACTIVE_FUEL",
"ACTIVE_SUBSIDIES",
"ACTIVITIES",
"ACTIVITY",
"ACTOR",
"ACTOR_COUNTRY",
"ACTOR_TAG",
"ACTUAL",
"ADD",
"ADDITIONAL",
"ADDLIST",
"ADJECTIVE",
"ADMIRAL",
"ADVISOR",
"ADVISORNAME",
"ADVISORROLE",
"ADVISORSLOT",
"AFTER_RED",
"AHEAD",
"AIMOD",
"AIR",
"AIRBASE",
"AIRWINGS",
"AIR_SUP",
"ALL",
"ALLIES_LIST",
"ALLOCATED",
"ALLOCATION",
"ALLOW",
"ALLOWED",
"ALLOWING_MODULE",
"AMOUNT",
"AMOUNT_LOST",
"AMOUNT_REFUNDED",
"AMOUNT_SPENT",
"APPLIED",
"ARCHETYPE",
"ARCHTYPE",
"ARCHTYPES",
"AREA",
"ARMIES",
"ARMY",
"ARMY_GENERAL_CHANCE",
"ARMY_NAME",
"ARTILLERY",
"ASS",
"ATK_ON_CORE",
"ATK_VS_OCCUPIER",
"ATT",
"ATTACK",
"ATTACKER",
"ATTITUDE",
"ATTR",
"AT_WAR",
"AUTONOMY",
"AVAIL",
"AVAILABLE",
"AVG",
"A_TAG",
"A_VALUE",
"BAD_COUNT",
"BALANCE",
"BASENAME",
"BASE_ACCEPTANCE",
"BASE_GAIN",
"BASE_MAX",
"BASE_REGION",
"BASE_STABILITY",
"BASE_TENSION",
"BASE_VAL",
"BASE_WAR_SUPPORT",
"BATALION",
"BIDNAME",
"BLOCK",
"BLOCKING",
"BOMBARDMENT",
"BOMBING",
"BOMBING_MAX",
"BONUS",
"BOOKMARK",
"BOOST",
"BREAKTHROUGH_PROGRESS",
"BREAKTHROUGH_TOTAL",
"BRONZE_POINTS",
"BRONZE_PREFIX",
"BRONZE_REQUIREMENT",
"BUFFER_VALUE",
"BUFF_REASON",
"BUILDING",
"BUILDINGS",
"BUILDING_DESCRIPTION",
"BUILDING_FROM",
"BUILDING_TO",
"BUYER",
"CALLSIGN",
"CAP",
"CAPITAL",
"CAPITAL_SHIP",
"CAPTURED_BY",
"CAPTURER",
"CAP_MULT",
"CATEGORIES",
"CATEGORY",
"CAT_GROUP",
"CH",
"CHANCE",
"CHANGE",
"CHANNEL",
"CHARACTER",
"CHARACTER_2",
"CHARACTER_3",
"CHECKS",
"CIC",
"CIVILIAN",
"CIVS",
"CLAIMS",
"CLIMATE",
"CODE",
"CODENAME",
"COLLABORATION",
"COLLECTED",
"COLOR",
"COMBAT",
"COMMANDER",
"COMPARISON",
"CON",
"CONDITIONS",
"CONSTRUCTION",
"CONSUMED_CIC",
"CONSUMER",
"CONTINENT_ADJ",
"CONTRACT_COUNT",
"CONTRACT_TYPE",
"CONTROL",
"CONTROLLED",
"CONTROLLER",
"CONTROLLER_COUNTRY",
"CONTROLLER_FLAG",
"CONVEYOR",
"CONVOYS_ACQUIRED",
"CONVOY_COUNT",
"CONVOY_NEED",
"CONVOY_USE",
"COOLDOWN",
"CORES",
"COSMETIC_NAME",
"COST",
"COST_STR",
"COUNT",
"COUNTRIES",
"COUNTRY",
"COUNTRY1",
"COUNTRY2",
"COUNTRYADJ",
"COUNTRYDEF",
"COUNTRYTAG",
"COUNTRY_ADJ",
"COUNTRY_DEF",
"COUNTRY_LIST",
"COUNTRY_NAMES",
"COUNTS",
"COUNT_DAMAGED",
"COUNT_SUNK",
"COV",
"COVERED",
"COVERED_CONVOY",
"COVERED_DISTANCE",
"COVERED_REGION",
"CP",
"CUR",
"CURR",
"CURRENT",
"CURRENTTURN",
"CURRENT_PROGRESS",
"CURRENT_SUPPLIES",
"CURRENT_USAGE",
"CURRENT_XP",
"CURR_PERC",
"CUR_TARGET",
"D",
"DAILYCOST",
"DAILYDRIFT",
"DAMAGE",
"DAMAGED",
"DAMAGE_MINES",
"DAMAGE_TRAINING",
"DATA",
"DATE",
"DATE_WITH_INTRO_SPACE",
"DAY",
"DAYS",
"DAYS_MODIFIED",
"DAYS_OF_PLANNING",
"DAYS_TEXT",
"DAYS_WITH_XP",
"DEACTIVATION_EFFECT",
"DEAD",
"DECISION",
"DEFENDER",
"DEFENSE",
"DEFICIT",
"DEFINE",
"DEF_ON_CORE",
"DEF_VS_OCCUPIER",
"DEL",
"DELIVERED",
"DELIVERIES",
"DELIVERY_PAYMENT",
"DELTA",
"DESC",
"DESCRIPTION",
"DESIGNER",
"DESTROY",
"DETECT_RED",
"DIE",
"DIFFERENCE",
"DIFFICULTY",
"DIG",
"DISCOUNT",
"DIST",
"DISTANCE",
"DIV",
"DIVDESC",
"DIVISION_COUNT",
"DIVS",
"DLC",
"DMG",
"DOCTRINE",
"DOMINANT_UNIT",
"DRIFT",
"DUMP_INFO",
"DUMP_NAME",
"DUR",
"D_TAG",
"D_VALUE",
"EDGE",
"EFF",
"EFFECT",
"EFFECTIVE",
"EFFECTS",
"ELIGIBLE",
"END",
"ENEMIES_LIST",
"ENEMY",
"ENEMY_CAPITAL",
"ENTRENCHMENT",
"EQ",
"EQDESC",
"EQUIPMENT",
"EQUIPMENTS",
"EQUIPMENT_NAME",
"EQUIPMENT_TYPE",
"ETA",
"EVENT",
"EXILE",
"EXILEADJ",
"EXILENAMEDEF",
"EXP",
"EXPECTED",
"EXPERIENCE_TYPE",
"EXPORTER",
"EXTRA",
"EXTRA_PROJECT",
"EXTRA_TECH",
"FACILITY",
"FACTION_NAME",
"FACTOR",
"FACTORIES",
"FACTOR_BONUS",
"FEAR",
"FIELD",
"FIELD_MARSHAL_CHANCE",
"FILTERS",
"FINISHDATEDESC",
"FIRST",
"FLAG",
"FLAG_DAYS",
"FLEET",
"FLEETS",
"FLOW",
"FOCUS",
"FOCUS_1",
"FOCUS_2",
"FOCUS_NAME",
"FOR",
"FORBIDDING_MODULE",
"FORTS",
"FR",
"FRACTION",
"FRAME",
"FREE",
"FREQUENCY",
"FRIEND",
"FRIENDLY",
"FROM",
"FROM_LEVEL",
"FROM_MIO",
"FULLNAME",
"FULLY_CONSUMED_SUBSIDIES",
"FUNCTIONAL",
"FUNDS",
"GAIN",
"GAINED",
"GAIN_MODIFIERS",
"GAME",
"GARRISON",
"GENERAL_FACTORIES",
"GIVER",
"GIVERTAG",
"GND",
"GOAL",
"GOLD_POINTS",
"GOLD_PREFIX",
"GOLD_REQUIREMENT",
"GR",
"GROUP",
"GROUPNAME",
"GROWTH",
"HARDNESS",
"HAS",
"HAVE",
"HIGH",
"HOST",
"HOSTNAMEDEF",
"HOUR",
"HOURS",
"HOURS_TOTAL",
"HOURS_WITH",
"HR",
"IC",
"ICCOST",
"ICDIV",
"ICON",
"ICONFRAME",
"ICON_FRAME",
"ID",
"IDE",
"IDEA",
"IMPORTER",
"INDUSTRIAL_ORG",
"INF",
"INFIELD",
"INFLUENCED",
"INFO",
"INFR",
"INITIAL_SUBSIDIES",
"INPUTNAME",
"INSTOCK",
"INTEL",
"INTEL_KIND",
"INTEL_RATIO",
"INTEL_TYPE",
"INVASION_NEED",
"INVASION_USE",
"IN_TRAINING",
"IRRATIONALITY",
"ITEM",
"ITEM_COST",
"KEY",
"KILL",
"KILLED_BY",
"KILLER",
"KILLER_AIR",
"KILLER_COUNTRY",
"KILLER_SHIP",
"KILLER_TYPE",
"KNOWN",
"LABEL",
"LAW",
"LAW_NAME",
"LEADER",
"LEADERS",
"LEADER_COUNTRY",
"LEADER_COUNTRY_ADJ",
"LEFT",
"LEGITIMACY",
"LEVEL",
"LEVELNAME",
"LEVELS",
"LIBERATOR",
"LIM",
"LIMIT",
"LIMITREASON",
"LIMIT_PERC",
"LINES",
"LIST",
"LOC",
"LOCATION",
"LOCKED",
"LOC_TYPE",
"LONG",
"LOSER",
"LOSER_ADJ",
"LOSS",
"LOST",
"LOST_DAYS",
"LOST_PROGRESS",
"LOW",
"LVL",
"MALUS",
"MANPOWERDIV",
"MASTER",
"MATERIAL",
"MAXAVAIL",
"MAXFACTOR",
"MAXLEVEL",
"MAXLOCKED",
"MAXVALUE",
"MAX_DESC",
"MAX_LEVEL",
"MAX_MODIFIERS",
"MAX_PLANES",
"MAX_SLOTS",
"MEDAL_NAME",
"MEMBER_LIST",
"MESSAGE",
"MIN",
"MINPOSSIBLE",
"MINVALUE",
"MIN_DAYS",
"MIN_MOD",
"MISSING",
"MISSION",
"MISSIONS",
"MISSION_NAME",
"MISSION_TYPE",
"MOB",
"MOD",
"MODIFIER",
"MODIFIERLIST",
"MODIFIERS",
"MODIFIER_NAME",
"MODIFIER_NAME_AND_VALUE",
"MODIFIER_VALUE",
"MODULE",
"MODULES",
"MONTHLY_DECREASE",
"MONTHS",
"MONTH_FIRST",
"MONTH_SECOND",
"MP",
"MUL",
"MULT",
"MUSIC",
"MUSIC_STATION",
"N",
"NAM",
"NAME",
"NAME1",
"NAME2",
"NAMEADJ",
"NAMEDEF",
"NAMES",
"NAMEWITHFLAG",
"NATION",
"NATIONALITY",
"NAVAL",
"NAVAL_BASE",
"NAVIES",
"NAVY",
"NAVY_NAME",
"NBDAYS",
"NBPOWER",
"NBTURN",
"NC_ELIGIBLE",
"NC_PERC",
"NEED",
"NEEDED_XP",
"NEGOTIATOR",
"NEW",
"NEWNAME",
"NEWPOLICY",
"NEW_IDEA",
"NEW_MAP_MODE",
"NEW_NAME",
"NEW_TECH",
"NEW_WAR",
"NEXT",
"NEXTLEVEL",
"NICHE",
"NIGHT",
"NONIDEOLOGY",
"NONIDEOLOGYADJ",
"NONIDEOLOGYDEF",
"NORMAL",
"NR",
"NR_ENEMY",
"NUKE_TYPE",
"NUM",
"NUM2",
"NUM3",
"NUMBER",
"NUMBERS",
"NUMBER_DONE",
"NUMBER_ITEMS",
"NUMBER_OF_CONVOYS",
"NUMDAYS",
"NUMGARRISON",
"NUM_2",
"NUM_ACCESSED_FACTORIES",
"NUM_ACCESSED_MANPOWER",
"NUM_ACCESSED_RESOURCES",
"NUM_ASSIGNED",
"NUM_CAPI",
"NUM_CARR",
"NUM_CIV",
"NUM_COMPLETED",
"NUM_CONTRACTS",
"NUM_CONTROLLED_CORES",
"NUM_CONV",
"NUM_CORES",
"NUM_DAYS",
"NUM_DIVS",
"NUM_FACTORIES",
"NUM_MAJORS",
"NUM_MIL",
"NUM_NAVAL",
"NUM_NEED",
"NUM_PROV",
"NUM_SCRE",
"NUM_SHIPS",
"NUM_SOURCES",
"NUM_TASKFORCES",
"NUM_TASK_FORCES",
"NUM_TOTAL_CIV_FACTORIES",
"NUM_TOTAL_FACTORIES",
"NUM_TOTAL_MANPOWER",
"NUM_TOTAL_MIL_FACTORIES",
"NUM_TOTAL_RESOURCES",
"NUM_UNITS_PER_TIME_PERIOD",
"OCCUPATION",
"OCCUPIED",
"OCCUPIED_COUNTRY",
"OCCUPIED_STATE",
"OCCUPIER",
"OCCUPIERLIST",
"OCCUPIERNAMEDEF",
"OCCUPPIED",
"OFFICER",
"OIL",
"OLD",
"OLDLEADER",
"OLDNAME",
"OLDPOLICY",
"OLD_IDEA",
"OLD_MAP_MODE",
"OLD_MAP_MODE_KEY",
"OLD_NAME",
"OLD_ORG",
"OLD_TECH",
"ON_OFF",
"OP",
"OPERATION",
"OPERATIONAL",
"OPINION",
"OPPONENT",
"OPTION",
"ORDER",
"ORDERNAME",
"ORG",
"ORGANISATION",
"ORGANIZATION_NAME",
"ORG_MAX",
"ORG_MEAN",
"ORG_MEDIAN",
"ORG_PREVENT",
"ORG_VAL",
"ORIGIN",
"ORIGINATOR",
"ORIGINCONTROLLER",
"OTHER",
"OTHER1",
"OTHER2",
"OTHER_ADJ",
"OTHER_BATS",
"OTHER_COUNTRY",
"OUR",
"OURS",
"OUR_WAR",
"OUTCOME",
"OUTCOME_TYPE",
"OUTPUT",
"OVERLORD",
"OVERLORDADJ",
"OWNED",
"PARENT",
"PARENT_NAME",
"PARTIAL",
"PARTNER",
"PARTY",
"PATH",
"PAYMENT",
"PEACE",
"PEACESCORE",
"PEN",
"PENALTY",
"PERC",
"PERCENT",
"PERCENTAGE",
"PERMISSION",
"PERSON",
"PERTIMEPERIOD",
"PERUNIT",
"PER_MEDAL",
"PHASE",
"PIERCE_VALUE",
"PIERCING",
"PLACE1",
"PLACE2",
"PLANES",
"PLANE_TYPE",
"PLANNING_MAX",
"PLAYER",
"PLAYERMOD",
"PLAYERNAME",
"PLAYERS",
"PLUS",
"POINTS",
"POLICY",
"POPLEVEL",
"POPULARITY",
"POPULATION",
"POSTFIX",
"POTENTIAL_FUEL",
"POWER",
"POWER_BALANCE",
"PP",
"PREDICTED_SIDE",
"PREDICTED_VALUE",
"PREP",
"PREV",
"PREVAILED_CHARACTER",
"PREVIOUS",
"PREVLEVEL",
"PREV_BONUS",
"PRICE",
"PROD",
"PRODUCED",
"PRODUCER",
"PRODUCING",
"PRODUCTION",
"PROG",
"PROGRESS",
"PROGRESS_LIST",
"PROGRESS_PER_ITERATION",
"PROGRESS_PER_ITERATION_MAX",
"PROGRESS_PER_ITERATION_MIN",
"PROJECT",
"PROJECTS",
"PROJECT_COUNT",
"PROJECT_NAME",
"PROMOTEDROLENAME",
"PROTOTYPE_REWARD",
"PROV",
"PROVINCE",
"PROVINCE_NAME",
"PUPPET",
"RAD",
"RAID",
"RAID_CATEGORY",
"RAID_DESC",
"RAID_TYPE",
"RAID_TYPE_NAME",
"RAILWAY_GUNS",
"RAILWAY_NAME",
"RANGE",
"RANK",
"RATIO",
"RATIO_BALANCE",
"RAWVALUE",
"RE",
"REAL_TEMPLATE",
"REASON",
"RECEIVEDSCORE",
"RECEIVER",
"RECEPIENT",
"RECIPIENT",
"RECIPIENT_COUNTRY",
"RECIPIENT_TAG",
"RECOVERY",
"RECRUITABLE",
"RED",
"REDUCED_YEARS",
"REDUCTION",
"REG",
"REGAIN",
"REGIONS",
"RELATION",
"RELIABILITY",
"REMAINING_CIC",
"REMAINING_DAYS",
"REMOVELIST",
"REPAIR",
"REPAIR_POLICY",
"REQ",
"REQUESTED",
"REQUESTER",
"REQUIRED",
"REQUIRED_MODULE",
"REQUIREMENT",
"REQ_AIR",
"REQ_ALLIED_ARMY",
"REQ_ARMY",
"REQ_COUNT",
"REQ_DIVS",
"REQ_NAVY",
"REQ_OUR_ARMY",
"RES",
"RESOURCE",
"RESOURCES",
"RESTRICTIONS",
"RESULT",
"RETURNED",
"REWARD",
"RG_COUNT",
"RIBBON_POINTS",
"RIGHT",
"RIGHTSHOLDER",
"RISK",
"ROLE",
"ROLENAME",
"ROOT",
"RULE",
"RULES",
"RULE_NAME",
"S",
"SALDO",
"SAVED",
"SCALE",
"SCIENTIST_NAME",
"SCIENTIST_TRAIT",
"SEC",
"SECOND",
"SEED",
"SELECTED_TEMPLATE",
"SELECTION",
"SELLER",
"SELLERS",
"SENDER",
"SENDERADJ",
"SETTING",
"SHIP",
"SHIPCLASS",
"SHIPS",
"SHIPTYPE",
"SHIP_COUNT",
"SHIP_TYPE",
"SIDE",
"SIDE1",
"SIDE2",
"SILVER_POINTS",
"SILVER_PREFIX",
"SILVER_REQUIREMENT",
"SIZE",
"SKILL",
"SKILL_LEVEL",
"SKILL_LEVEL_NAME",
"SKILL_NAME",
"SLOT",
"SLOTS",
"SOFTNESS",
"SOUND_NAME",
"SOURCE",
"SOURCE_TYPE",
"SOURCE_VAL",
"SPECIALIZATION",
"SPECIALIZATION_NAME",
"SPECIAL_PROJECT",
"SPEED",
"SPEED_DESC",
"SPILL",
"SPIRIT",
"SPY",
"START_DATE",
"START_LEVEL",
"STATE",
"STATE1",
"STATE2",
"STATES",
"STATE_NAME",
"STATUS",
"STAT_NAME",
"STOCK",
"STOCK_AMOUNT",
"STORAGE",
"STR",
"STRENGTH",
"STR_MAX",
"STR_MEAN",
"STR_MEDIAN",
"STR_PREVENT",
"STR_VAL",
"SUB",
"SUBDETECTION",
"SUBJECT",
"SUBMARINES",
"SUBUNIT",
"SUBUNITS",
"SUCCESS",
"SUM",
"SUMMED",
"SUNK",
"SUNK_MINES",
"SUNK_TRAINING",
"SUP",
"SUPPLIES",
"SUPPLY",
"SUPPLY_CAP",
"SUPPLY_NEED",
"SUPPLY_USE",
"SUPPORT",
"SUPPRESSION",
"SURFACEDETECTION",
"SURNAME",
"SURPLUS",
"TACTIC",
"TACTICS",
"TAG",
"TAG1",
"TAG2",
"TAG_ADJ",
"TAKER",
"TAKERTAG",
"TARGET",
"TARGET_COUNTRY",
"TARGET_LEVEL",
"TARGET_NAME",
"TASKFORCE",
"TASKFORCES",
"TASKS",
"TASK_FORCE",
"TECH",
"TECHNOLOGY",
"TECHNOLOGY_BONUS",
"TECHNOLOGY_TOTAL",
"TECH_NAME",
"TEMP",
"TEMPLATE",
"TEMPLATE_NAME",
"TENSION",
"TENSION_DIFF",
"TERR",
"TERRAIN",
"TEXT",
"THEATER",
"THEATRE",
"THEM",
"THEM_COUNT",
"THREAT",
"THRESHOLD",
"TIME",
"TIMEOUT",
"TIME_DESC",
"TITLE",
"TO",
"TOKEN",
"TOOLTIP_VALUE",
"TOT",
"TOTAL",
"TOTAL_DISTANCE",
"TOTAL_FACTORIES",
"TOTAL_NEEDED",
"TOTAL_NEEDED_MAX",
"TOTAL_NEEDED_MIN",
"TOTAL_NUMBER",
"TOTAL_PAYMENT",
"TOTAL_WEIGHT",
"TOT_INDUSTRY",
"TO_DISABLE",
"TO_ENABLE",
"TO_LEVEL",
"TO_REMOVE",
"TR",
"TRADE",
"TRADE_NEED",
"TRADE_USABLE",
"TRADE_USE",
"TRAINABLE",
"TRAINING",
"TRAIT",
"TRAITMODIFIER",
"TRAITNAME",
"TRAITNAME2",
"TRAITS",
"TRAIT_NAME",
"TRANSFER_NEED",
"TRANSFER_USE",
"TREATY",
"TREE",
"TREE_NAME",
"TREND",
"TRENDING_SIDE",
"TRUST",
"TURN",
"TURNED_BY",
"TYPE",
"TYPES",
"UNASSIGNED",
"UNBREAKABLE",
"UNDERLYING_RESOURCE",
"UNDERWAY_REPLENISHMENT_IF_UNLOCKED",
"UNIT",
"UNITS",
"UNIT_TRAINING_LEVEL",
"UNIT_TYPE",
"UNIT_TYPE_PLURAL",
"UNLOCK",
"UNLOCKED",
"UNTIL_TODAY",
"UPGRADE",
"US",
"USAGE",
"USED",
"USED_SLOTS",
"USER",
"USES",
"US_ADJ",
"US_COUNT",
"VAL",
"VALONE",
"VALTWO",
"VALUE",
"VALUE1",
"VALUE2",
"VALUE_NON_CAPPED",
"VAL_HIGH",
"VAL_LOW",
"VAL_MID",
"VARIANT",
"VARIANT_NAME",
"VAUE",
"VEHICLES",
"VICTORY_POINT",
"VOLADJECTIVE",
"VP",
"WANTED",
"WAR",
"WAREFFORT",
"WARLIST",
"WARSCORE",
"WASTE",
"WEA",
"WEATHER",
"WEEKS",
"WEIGHT",
"WE_COVERAGE",
"WHAT",
"WHEN",
"WHERE",
"WHO",
"WHOM",
"WHO_ADJ",
"WHY",
"WING",
"WINGS",
"WING_NAME",
"WINNER",
"WON",
"X",
"XP",
"XPCOST",
"XPICON",
"XPSHARE",
"XP_TEXT",
"Y",
"YEAR",
"YEARS",
"YESNO",
"YES_NO",
];