@flesh-and-blood/types 4.0.3 → 4.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,184 +1,65 @@
1
- # Flesh and Blood cards
1
+ # @flesh-and-blood/types
2
2
 
3
- - [Overview & installation](#overview-and-installation)
4
- - [Card interfaces](#card-interfaces)
5
- - [Enums](#enums)
6
- - [Working with this project](#working-with-this-project)
3
+ TypeScript enums, interfaces, and pure helper functions for **Flesh and Blood** cards. This is the base
4
+ package that [`@flesh-and-blood/cards`](../cards) and [`@flesh-and-blood/search`](../search) depend on.
5
+ It has no runtime dependencies.
7
6
 
8
- # 8.0 breaking changes
7
+ ## Installation
9
8
 
10
- - `card.images` has been deprecated in favor of `card.printings`
11
- - `defaultImageName` has been renamed `defaultImage` for brevity
12
- - `specialImageName` has been renamed `specialImage` for brevity
13
-
14
- # 7.0 breaking changes
15
-
16
- - `card.rarity` has been deprecated in favor of `card.rarities`
17
-
18
- ## Overview and installation
19
-
20
- A library of all Flesh and Blood cards, available as a bundled TypeScript file with matching interfaces. Source data comes from the amazing [the-fab-cube/flesh-and-blood-cards](https://github.com/the-fab-cube/flesh-and-blood-cards) repository maintained by [Tyler Luce](https://github.com/luceleaftea) - all credit goes to him, and all errors are probably added by me in this project 😅.
21
-
22
- To install run `npm i --save fab-cards`.
23
-
24
- Access the card data in your project:
25
-
26
- ```ts
27
- import { cards } from "fab-cards";
28
-
29
- cards.forEach((card) => {
30
- // do stuff with the card data
31
- });
9
+ ```bash
10
+ npm i @flesh-and-blood/types
32
11
  ```
33
12
 
34
- ## Card interfaces
35
-
36
- **`Card`** contains all of the fields that could show up for any particular card. Required fields can be found on every card, while optional fields may or may not exist on any given card.
37
-
38
- ### Required
39
-
40
- | Field | Data type | Examples |
41
- | -------------- | -------------------- | ------------------------------------------ |
42
- | artists | `string` array | `[ "Riordan Delmiro" ]` |
43
- | cardIdentifier | `string` | `"snatch-red"`, `"aether-wildfire-red"` |
44
- | classes | `Class` enum array | `["Generic"]`, `["Warrior","Wizard"]` |
45
- | defaultImage | `string` | `"1HP001.width-450"` |
46
- | printings | `Printing` array | see **`Printing`** |
47
- | name | `string` | `"Rain Razors"`, `"Pummel"` |
48
- | rarities | `Rarity` enum array | `["Super Rare"]`, `["Token", "Majestic"]` |
49
- | setIdentifiers | `string` array | `[ "1HP009", "CRU006" ]` |
50
- | sets | `Release` enum array | `[ "History Pack 1", "Crucible of War" ]` |
51
- | specialImage | `string` | `"1HP001.width-450"` |
52
- | subtypes | `Subtype` enum array | `["OneHanded", "Dagger"]`, `["Aura"]` |
53
- | types | `Type` enum array | `["Action"]`, `["Hero"]` |
54
- | typeText | `string` | `"Elemental Ranger Action – Arrow Attack"` |
55
-
56
- ### Optional
57
-
58
- | Field | Data type | Examples |
59
- | -------------------------- | -------------------- | ------------------------------------ |
60
- | cost | `number` | `0`, `10` |
61
- | defense | `number` | `3`, `4` |
62
- | functionalText | `string` | `"If Snatch hits, draw a card."` |
63
- | fusions | `Fusion` enum array | `[ "Earth", "Ice" ]` |
64
- | hero | `Hero` enum | `"Rhinar"`, `"Dori"` |
65
- | intellect | `number` | `3`, `4` |
66
- | isCardBack | `boolean` | `true` |
67
- | keywords | `Keyword` enum array | `[ "Boost" ]` |
68
- | life | `number` | `18`, `40` |
69
- | oppositeSideCardIdentifier | `string` | `"invoke-kyloria-red"`, `"tomeltai"` |
70
- | pitch | `number` | `1`, `2`, `3` |
71
- | power | `number` | `3`, `14` |
72
- | restrictedFormats | `Format` enum array | `[ "Blitz" ]` |
73
- | specialCost | `string` | `"XX"`, `"3X"` |
74
- | specialDefense | `string` | `"*"` |
75
- | specialPower | `string` | `"*"` |
76
- | specializations | `Hero` enum array | `["Dromai","Fai"]` |
77
- | talents | `Talent` enum array | `[ "Draconic" ]` |
78
- | young | `boolean` | `true` |
79
-
80
- **`Printing`** contains information about the different printings a card has had (e.g. different sets, foilings)
81
-
82
- | Field | Data type | Examples |
83
- | ---------- | --------------------------------- | ----------------------------------- |
84
- | edition | `string` of `ReleaseEdition` enum | `"Alpha"`, `"Unlimited"` |
85
- | foiling | `string` of `Foiling` enum | `"Cold"`, `"Rainbow"` |
86
- | identifier | `string` | `"1HP001"` |
87
- | image | `string` | `"1HP001.width-450"` |
88
- | set | `string` of `Release` enum | `"Dynasty"`, `"Uprising"` |
89
- | treatment | `string` of `Treatment` enum | `"Alternate Art"`, `"Extended Art"` |
90
-
91
- ## Enums
92
-
93
- **`Class`**
13
+ Published as **dual ESM + CJS** — works in bundlers, native Node ESM, and CommonJS.
94
14
 
95
- ```ts
96
- "NotClassed", "Generic", "Adjudicator", "Bard", "Brute", "Guardian", "Illusionist", "Mechanologist", "Merchant", "Ninja", "Ranger", "Runeblade", "Shapeshifter", "Warrior", "Wizard",
97
- ```
98
-
99
- <br/>
100
-
101
- **`Format`**
15
+ ## Usage
102
16
 
103
17
  ```ts
104
- "Blitz", "Clash", "Classic Constructed", "Commoner",
18
+ import { Hero, Rarity, getDefaultPrinting } from "@flesh-and-blood/types";
105
19
  ```
106
20
 
107
- <br/>
108
-
109
- **`Fusion`**
21
+ Data and helper modules are also available as subpath imports, so you can pull in just what you need:
110
22
 
111
23
  ```ts
112
- "Earth", "Ice", "Lightning",
24
+ import { releases } from "@flesh-and-blood/types/sets";
25
+ import { getDefaultPrinting } from "@flesh-and-blood/types/helpers";
26
+ import type { Card } from "@flesh-and-blood/types/interfaces";
113
27
  ```
114
28
 
115
- <br/>
29
+ ## What's included
116
30
 
117
- **`Rarity`**
118
-
119
- ```ts
120
- "Token", "Common", "Rare", "Super Rare", "Majestic", "Legendary", "Fabled", "Promo",
121
- ```
31
+ The exported TypeScript types are the source of truth for exact values and fields — the lists below are
32
+ an overview.
122
33
 
123
- <br/>
34
+ ### Enums
124
35
 
125
- **`Release`**
36
+ `Bond`, `Class`, `Flow`, `Foiling`, `Format`, `Fusion`, `Hero`, `Keyword`, `Language`, `Meta`,
37
+ `Metatype`, `Rarity`, `Release`, `ReleaseEdition`, `ReleaseType`, `Shorthand`, `Subtype`, `Talent`,
38
+ `Trait`, `Treatment`, `Type`.
126
39
 
127
- ```ts
128
- // Full sets
129
- "Arcane Rising", "Crucible of War", "Dynasty", "Everfest", "History Pack 1", "Monarch", "Tales of Aria", "Uprising", "Welcome to Rathe",
40
+ ### Interfaces
130
41
 
131
- // Hero/blitz decks
132
- "Boltyn Blitz Deck", "Briar Blitz Deck", "Bravo Blitz Deck", "Chane Blitz Deck", "Classic Battles: Rhinar vs Dorinthea", "Dorinthea Hero Deck", "Ira Welcome Deck", "Katsu Hero Deck", "LeviaBlitzDeck", "Lexi Blitz Deck", "Oldhim Blitz Deck", "Prism Blitz Deck", "Rhinar Hero Deck",
42
+ `Card` (the main card shape), `DoubleSidedCard`, `Printing`, `LegalOverride`, `ReleaseInfo`,
43
+ `SilverAgeChapter`.
133
44
 
134
- // One-offs
135
- "Promos",
136
- ```
45
+ ### Helpers — `@flesh-and-blood/types/helpers`
137
46
 
138
- <br/>
47
+ - **Printing pickers:** `getPrint`, `getDefaultPrinting`, `getSpecialPrinting`, `getBoomerPrinting`,
48
+ `getMaxRarityPrinting`
49
+ - **Card properties:** `getCardIdentifier`, `getFrontAndBackCardIdentifier`,
50
+ `getCardFromGEMCardIdentifier`, `getIsArenaCard`, `getIsDeckCard`, `getIsCardTokenForDeck`,
51
+ `getCanCardBeTokenForDeck`, `getCanAddToDeck`, `getShouldRotateCardImage`
139
52
 
140
- **`Talent`**
53
+ ### Set data — `@flesh-and-blood/types/sets`
141
54
 
142
- ```ts
143
- "Draconic", "Earth", "Elemental", "Ice", "Light", "Lightning", "Royal", "Shadow",
144
- ```
145
-
146
- <br/>
147
-
148
- **`Type`**
149
-
150
- ```ts
151
- "Action", "Attack Action", "Attack Reaction", "Defense Reaction", "Equipment", "Hero", "Instant", "Mentor", "Resource", "Token", "Weapon",
152
- ```
153
-
154
- **`Hero`**
155
-
156
- ```ts
157
- "Arakni", "Azalea", "Benji", "Boltyn", "Bravo", "Briar", "Chane", "Dash", "Data Doll", "Dorinthea", "Emperor", "Genis Wotchuneed", "Ira", "Iyslander", "Kano", "Kassai", "Katsu", "Kavdaen", "Kayo", "Levia", "Lexi", "Oldhim", "Prism", "Rhinar", "Ruu’di", "Shiyana", "Taylor", "Valda", "Viserai", "Yorick",
158
- ```
159
-
160
- <br/>
161
-
162
- **`Keyword`**
163
-
164
- ```ts
165
- "Arcane Barrier", "Battleworn", "Blade Break", "Blood Debt", "Boost", "Channel", "Charge", "Combo", "Crush", "Dominate", "Essence", "Freeze", "Fusion", "Go Again", "Heave", "Intimidate", "Legendary", "Mentor", "Negate", "Opt", "Phantasm", "Reload", "Reprise", "Specialization", "Spectra", "Spellvoid", "Temper", "Thaw", "Unfreeze",
166
- ```
55
+ `releases`, `fullSetIdentifiers`, `setIdentifierToSetMappings`, `setToSetIdentifierMappings`,
56
+ `silverAgeChapters`, plus `getIsBooster`, `getIsReprint`, `getIsDraftable`, `getIsPreconstructed`.
167
57
 
168
58
  ## Working with this project
169
59
 
170
- ### Card data
171
-
172
- - [src/cards.csv](src/cards.csv) is the source of truth for all generated data. The data is managed in Google Sheets and sourced from [the-fab-cube/flesh-and-blood-cards](https://github.com/the-fab-cube/flesh-and-blood-cards).
60
+ Source lives in `src/` (`interfaces.ts`, `sets.ts`, `helpers/`).
173
61
 
174
- ### Data transformations
175
-
176
- There are three steps involved in transforming the `.tsv` source data into typed `.ts` code - executed via `npm run transform`.
177
-
178
- 1. [src/parser.ts](src/parser.ts) reads from the `.tsv` file and converts the data into JavaScript objects (performing basic steps like converting comma-delimited lists into arrays)
179
- 1. [src/mapper.ts](src/mapper.ts) takes the parsed card data and transforms it to match the interfaces in [src/interfaces.ts](src/interfaces.ts)
180
- 1. [src/writer.ts](src/writer.ts) creates `.ts` files containing the card information and all types
181
-
182
- ### Bundling the library
183
-
184
- To generate the distributed package code run `npm run build` after transforming the data.
62
+ ```bash
63
+ npm run build # build:esm (per-file ESM, tree-shakeable) + build:cjs (bundled) + tsc declarations
64
+ npm test # jest
65
+ ```
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- var j=Object.defineProperty;var Le=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var Re=Object.prototype.hasOwnProperty;var Ie=(s,n)=>{for(var c in n)j(s,c,{get:n[c],enumerable:!0})},Pe=(s,n,c,l)=>{if(n&&typeof n=="object"||typeof n=="function")for(let g of Te(n))!Re.call(s,g)&&g!==c&&j(s,g,{get:()=>n[g],enumerable:!(l=Le(n,g))||l.enumerable});return s};var ze=s=>Pe(j({},"__esModule",{value:!0}),s);var aa={};Ie(aa,{Bond:()=>ae,Class:()=>ee,Flow:()=>re,Foiling:()=>$,Format:()=>se,Fusion:()=>ne,Hero:()=>he,Keyword:()=>De,Language:()=>fe,Meta:()=>te,Metatype:()=>ge,Rarity:()=>ie,Release:()=>le,ReleaseEdition:()=>ce,ReleaseType:()=>me,Shorthand:()=>w,Subtype:()=>ue,Talent:()=>oe,Trait:()=>de,Treatment:()=>q,Type:()=>ke,fullSetIdentifiers:()=>O,getBoomerPrinting:()=>we,getCanAddToDeck:()=>Ce,getCanCardBeTokenForDeck:()=>Fe,getCardFromGEMCardIdentifier:()=>Se,getCardIdentifier:()=>Y,getDefaultPrinting:()=>_e,getFrontAndBackCardIdentifier:()=>ve,getIsArenaCard:()=>pe,getIsBooster:()=>Me,getIsCardTokenForDeck:()=>W,getIsDeckCard:()=>U,getIsDraftable:()=>Oe,getIsPreconstructed:()=>Ve,getIsReprint:()=>xe,getMaxRarityPrinting:()=>ea,getPrint:()=>Xe,getShouldRotateCardImage:()=>Ge,getSpecialPrinting:()=>Ye,orderedFullSetBlackBorderIdentifiers:()=>Qe,releases:()=>Ne,setIdentifierToSetMappings:()=>Ae,setToSetIdentifierMappings:()=>Je,silverAgeChapters:()=>Ke});module.exports=ze(aa);var $=(l=>(l.Cold="Cold",l.Gold="Gold",l.Rainbow="Rainbow",l))($||{}),w=(r=>(r.Buffs="Buffs",r.Flick="Flick",r.Poppers="Poppers",r.Tap="Tap",r.Untap="Untap",r))(w||{}),q=(r=>(r.AB="Alternate Border",r.AA="Alternate Art",r.AT="Alternate Text",r.EA="Extended Art",r.FA="Full Art",r))(q||{}),ee=(h=>(h.NotClassed="NotClassed",h.Generic="Generic",h.Adjudicator="Adjudicator",h.Assassin="Assassin",h.Bard="Bard",h.Brute="Brute",h.Guardian="Guardian",h.Illusionist="Illusionist",h.Mechanologist="Mechanologist",h.Merchant="Merchant",h.Necromancer="Necromancer",h.Ninja="Ninja",h.Pirate="Pirate",h.Ranger="Ranger",h.Runeblade="Runeblade",h.Shapeshifter="Shapeshifter",h.Thief="Thief",h.Warrior="Warrior",h.Wizard="Wizard",h))(ee||{}),ae=(n=>(n.Earth="Earth",n))(ae||{}),re=(n=>(n.Lightning="Lightning",n))(re||{}),se=(D=>(D.Blitz="Blitz",D.ClassicConstructed="Classic Constructed",D.Draft="Draft",D.GoldenAge="Golden Age",D.LivingLegend="Living Legend",D.Open="Open",D.Sealed="Sealed",D.SilverAge="Silver Age",D.UltimatePitFight="Ultimate Pit Fight",D))(se||{}),ne=(l=>(l.Earth="Earth",l.Ice="Ice",l.Lightning="Lightning",l))(ne||{}),ie=(m=>(m.Basic="Basic",m.Token="Token",m.Common="Common",m.Rare="Rare",m.SuperRare="Super Rare",m.Majestic="Majestic",m.Marvel="Marvel",m.Legendary="Legendary",m.Fabled="Fabled",m.Promo="Promo",m))(ie||{}),te=(c=>(c.Expansion="Expansion slot",c.Rainbow="Rainbow",c))(te||{}),le=(a=>(a.ArcaneRising="Arcane Rising",a.BrightLights="Bright Lights",a.CompendiumOfRathe="Compendium of Rathe",a.CrucibleOfWar="Crucible of War",a.DuskTillDawn="Dusk till Dawn",a.Dynasty="Dynasty",a.Everfest="Everfest",a.HeavyHitters="Heavy Hitters",a.HighSeas="High Seas",a.HistoryPack1="History Pack 1",a.IAR="IAR",a.Monarch="Monarch",a.OmensOfTheThirdAge="Omens of the Third Age",a.Outsiders="Outsiders",a.PartTheMistveil="Part the Mistveil",a.Rosetta="Rosetta",a.SuperSlam="Super Slam",a.TalesOfAria="Tales of Aria",a.TheHunted="The Hunted",a.Uprising="Uprising",a.WelcomeToRathe="Welcome to Rathe",a.ArmoryDeckArakni="Armory Deck: Arakni",a.ArmoryDeckAurora="Armory Deck: Aurora",a.ArmoryDeckAzalea="Armory Deck: Azalea",a.ArmoryDeckBoltyn="Armory Deck: Boltyn",a.ArmoryDeckDash="Armory Deck: Dash",a.ArmoryDeckGravyBones="Armory Deck: Gravy Bones",a.ArmoryDeckIra="Armory Deck: Ira",a.ArmoryDeckKayo="Armory Deck: Kayo",a.ArmoryDeckMaxx="Armory Deck: Maxx",a.ArmoryDeckOlympia="Armory Deck: Olympia",a.ArmoryDeckPleiades="Armory Deck: Pleiades",a.ArmoryDeckRhinar="Armory Deck: Rhinar",a.ArmoryDeckZyggy="Armory Deck: Zyggy",a.ArmoryDeckOriginsHala="Armory Deck Origins: Hala",a.ArmoryDeckOriginsJarl="Armory Deck Origins: Jarl",a.ArmoryDeckLegendsPrism="Armory Deck Legends: Prism",a.ArmoryDeckLegendsViserai="Armory Deck Legends: Viserai",a.ArakniBlitzDeck="Arakni Blitz Deck",a.ArakniBlitzDeckARK="Arakni Hunted Blitz Deck",a.ArakniWebOfDeceitBlitzDeck="Arakni, Web of Deceit Blitz Deck",a.AuroraBlitzDeck="Aurora Blitz Deck",a.AzaleaBlitzDeck="Azalea Blitz Deck",a.BenjiBlitzDeck="Benji Blitz Deck",a.BetsyBlitzDeck="Betsy Blitz Deck",a.BoltynBlitzDeck="Boltyn Blitz Deck",a.BriarBlitzDeck="Briar Blitz Deck",a.ChaneBlitzDeck="Chane Blitz Deck",a.CindraBlitzDeck="Cindra Blitz Deck",a.DromaiBlitzDeck="Dromai Blitz Deck",a.EnigmaBlitzDeck="Enigma Blitz Deck",a.FaiBlitzDeck="Fai Blitz Deck",a.FangBlitzDeck="Fang Blitz Deck",a.FlorianBlitzDeck="Florian Blitz Deck",a.KassaiBlitzDeck="Kassai Blitz Deck",a.KatsuBlitzDeck="Katsu Blitz Deck",a.KayoBlitzDeck="Kayo Blitz Deck",a.LeviaBlitzDeck="Levia Blitz Deck",a.LexiBlitzDeck="Lexi Blitz Deck",a.NuuBlitzDeck="Nuu Blitz Deck",a.OldhimBlitzDeck="Oldhim Blitz Deck",a.OlympiaBlitzDeck="Olympia Blitz Deck",a.OscilioBlitzDeck="Oscilio Blitz Deck",a.PrismBlitzDeck="Prism Blitz Deck",a.RhinarBlitzDeck="Rhinar Blitz Deck",a.RiptideBlitzDeck="Riptide Blitz Deck",a.UzuriBlitzDeck="Uzuri Blitz Deck",a.VerdanceBlitzDeck="Verdance Blitz Deck",a.VictorBlitzDeck="Victor Blitz Deck",a.ZenBlitzDeck="Zen Blitz Deck",a.FirstStrikeAurora="1st Strike: Aurora",a.FirstStrikeTerra="1st Strike: Terra",a.BravoHeroDeck="Bravo Hero Deck",a.DorintheaHeroDeck="Dorinthea Hero Deck",a.KatsuHeroDeck="Katsu Hero Deck",a.RhinarHeroDeck="Rhinar Hero Deck",a.ArakniSilverAgeDeck="Arakni Silver Age Deck",a.AzaleaSilverAgeDeck="Azalea Silver Age Deck",a.BlazeSilverAgeDeck="Blaze Silver Age Deck",a.BoltynSilverAgeDeck="Boltyn Silver Age Deck",a.BravoSilverAgeDeck="Bravo Silver Age Deck",a.BriarSilverAgeDeck="Briar Silver Age Deck",a.DashSilverAgeDeck="Dash Silver Age Deck",a.DorintheaSilverAgeDeck="Dorinthea Silver Age Deck",a.EnigmaSilverAgeDeck="Enigma Silver Age Deck",a.FaiSilverAgeDeck="Fai Silver Age Deck",a.GravyBonesSilverAgeDeck="Gravy Bones Silver Age Deck",a.IyslanderSilverAgeDeck="Iyslander Silver Age Deck",a.KayoSilverAgeDeck="Kayo Silver Age Deck",a.LyathSilverAgeDeck="Lyath Silver Age Deck",a.ViseraiSilverAgeDeck="Viserai Silver Age Deck",a.MasteryPackGuardian="Mastery Pack: Guardian",a.MasteryPackWarrior="Mastery Pack: Warrior",a.BravoDemoDeck="Bravo Demo Deck",a.DorintheaDemoDeck="Dorinthea Demo Deck",a.ClassicBattlesRhinarDorinthea="Classic Battles: Rhinar vs Dorinthea",a.IraWelcomeDeck="Ira Welcome Deck",a.RoundTheTable="Round the Table: TCC x LSS",a.SmashPalace="Smash Palace",a.GEM="GEM",a.Promos="Promos",a.TournamentPack="Tournament Pack",a))(le||{}),ce=(g=>(g.Alpha="Alpha",g.First="First",g.Unlimited="Unlimited",g.Promo="Promo",g))(ce||{}),oe=(d=>(d.Chaos="Chaos",d.Draconic="Draconic",d.Earth="Earth",d.Elemental="Elemental",d.Ice="Ice",d.Light="Light",d.Lightning="Lightning",d.Mystic="Mystic",d.Revered="Revered",d.Reviled="Reviled",d.Royal="Royal",d.Shadow="Shadow",d))(oe||{}),de=(n=>(n.AgentOfChaos="Agent of Chaos",n))(de||{}),ge=(t=>(t.Arakni="Arakni",t.OmensOfTheThirdAge="Omens of the Third Age",t.Scurv="Scurv",t.HighSeas="High Seas",t.Puffin="Puffin",t.Rosetta="Rosetta",t))(ge||{}),ke=(p=>(p.Action="Action",p.AttackReaction="Attack Reaction",p.Block="Block",p.Companion="Companion",p.DefenseReaction="Defense Reaction",p.DemiHero="Demi-Hero",p.Equipment="Equipment",p.Hero="Hero",p.Instant="Instant",p.Macro="Macro",p.Mentor="Mentor",p.Resource="Resource",p.Token="Token",p.Weapon="Weapon",p))(ke||{}),ue=(i=>(i.OneHanded="1H",i.TwoHanded="2H",i.Affliction="Affliction",i.Ally="Ally",i.Angel="Angel",i.Arms="Arms",i.Arrow="Arrow",i.Ash="Ash",i.Attack="Attack",i.Aura="Aura",i.Axe="Axe",i.Base="Base",i.Book="Book",i.Bow="Bow",i.Cannon="Cannon",i.Chest="Chest",i.Chi="Chi",i.Claw="Claw",i.Club="Club",i.Construct="Construct",i.Dagger="Dagger",i.Demon="Demon",i.Dragon="Dragon",i.Evo="Evo",i.Fiddle="Fiddle",i.Figment="Figment",i.Flail="Flail",i.Gem="Gem",i.Gun="Gun",i.Hammer="Hammer",i.Head="Head",i.Invocation="Invocation",i.Item="Item",i.Landmark="Landmark",i.Log="Log",i.Lute="Lute",i.Legs="Legs",i.NonAttack="Non-Attack",i.OffHand="Off-Hand",i.Orb="Orb",i.Pistol="Pistol",i.PitFighter="Pit-Fighter",i.Polearm="Polearm",i.Quiver="Quiver",i.Rock="Rock",i.Shuriken="Shuriken",i.Scepter="Scepter",i.Scroll="Scroll",i.Scythe="Scythe",i.Song="Song",i.Staff="Staff",i.Sword="Sword",i.Trap="Trap",i.Wrench="Wrench",i.Young="Young",i))(ue||{}),he=(e=>(e.Arakni="Arakni",e.Aurora="Aurora",e.Aurora2="Aurora2",e.Azalea="Azalea",e.Baalghor="Baalghor",e.Benji="Benji",e.Betsy="Betsy",e.Blaze="Blaze",e.Bolfar="Bolfar",e.Boltyn="Boltyn",e.Bravo="Bravo",e.Brevant="Brevant",e.Briar="Briar",e.Brutus="Brutus",e.Chane="Chane",e.Cindra="Cindra",e.Crackni="Crackni",e.Crix="Crix",e.Dash="Dash",e.DataDoll="Data Doll",e.Dorinthea="Dorinthea",e.Dromai="Dromai",e.Emperor="Emperor",e.Enigma="Enigma",e.Fai="Fai",e.Fang="Fang",e.Florian="Florian",e.Frankie="Frankie",e.Genis="Genis",e.GravyBones="Gravy Bones",e.Hala="Hala",e.Ira="Ira",e.Iyslander="Iyslander",e.Jarl="Jarl",e.Kano="Kano",e.Kassai="Kassai",e.Katsu="Katsu",e.Kavdaen="Kavdaen",e.Kayo="Kayo",e.Kox="Kox",e.Levia="Levia",e.Lexi="Lexi",e.Librarian="Librarian",e.Lyath="Lyath",e.Marlynn="Marlynn",e.Maxx="Maxx",e.Melody="Melody",e.Nuu="Nuu",e.Oldhim="Oldhim",e.Olympia="Olympia",e.Oscilio="Oscilio",e.Broscilio="Broscilio",e.Pleiades="Pleiades",e.Prism="Prism",e.Puffin="Puffin",e.Reya="Reya",e.Rhinar="Rhinar",e.Riptide="Riptide",e.RKO="RKO",e.Ruudi="Ruu'di",e.Shiyana="Shiyana",e.Slippy="Slippy",e.Squizzy="Squizzy",e.Scurv="Scurv",e.Starvo="Starvo",e.Taipanis="Taipanis",e.Taylor="Taylor",e.Teklovossen="Teklovossen",e.Terra="Terra",e.Theryon="Theryon",e.Tuffnut="Tuffnut",e.Uzuri="Uzuri",e.Valda="Valda",e.Verdance="Verdance",e.Victor="Victor",e.Vynnset="Vynnset",e.Viserai="Viserai",e.Yorick="Yorick",e.Yoji="Yoji",e.Zen="Zen",e.Zyggy="Zyggy",e))(he||{}),De=(e=>(e.Ambush="Ambush",e.Amp="Amp",e.ArcaneBarrier="Arcane Barrier",e.ArcaneShelter="Arcane Shelter",e.Awaken="Awaken",e.Battleworn="Battleworn",e.BeatChest="Beat Chest",e.BladeBreak="Blade Break",e.BloodDebt="Blood Debt",e.Boost="Boost",e.Bond="Bond",e.Channel="Channel",e.Charge="Charge",e.Clash="Clash",e.Cloaked="Cloaked",e.Combo="Combo",e.Contract="Contract",e.Crank="Crank",e.TheCrowdBoos="The Crowd Boos",e.TheCrowdCheers="The Crowd Cheers",e.Crush="Crush",e.Decompose="Decompose",e.Dominate="Dominate",e.Ephemeral="Ephemeral",e.Essence="Essence",e.EvoUpgrade="Evo Upgrade",e.Flow="Flow",e.Fragment="Fragment",e.Freeze="Freeze",e.Fusion="Fusion",e.Galvanize="Galvanize",e.GoAgain="Go again",e.GoFish="Go Fish",e.Guardwell="Guardwell",e.Heave="Heave",e.Heavy="Heavy",e.HighTide="High Tide",e.Intimidate="Intimidate",e.Legendary="Legendary",e.Mark="Mark",e.Material="Material",e.Meld="Meld",e.Modular="Modular",e.Mirage="Mirage",e.Negate="Negate",e.Opt="Opt",e.Overpower="Overpower",e.Pairs="Pairs",e.Piercing="Piercing",e.Phantasm="Phantasm",e.Protect="Protect",e.Quell="Quell",e.Quickstrike="Quickstrike",e.Reload="Reload",e.Reprise="Reprise",e.Retrieve="Retrieve",e.RuneGate="Rune Gate",e.Rupture="Rupture",e.Scrap="Scrap",e.Sharpen="Sharpen",e.Solflare="Solflare",e.Specialization="Specialization",e.Spectra="Spectra",e.Spellvoid="Spellvoid",e.Starfall="Starfall",e.Steal="Steal",e.Stealth="Stealth",e.Surge="Surge",e.Suspense="Suspense",e.Temper="Temper",e.Tower="Tower",e.Transform="Transform",e.Transcend="Transcend",e.Unlimited="Unlimited",e.Universal="Universal",e.Unfreeze="Unfreeze",e.Unity="Unity",e.Usurp="Usurp",e.Wager="Wager",e.Ward="Ward",e.WateryGrave="Watery Grave",e))(De||{});var Y=(s,n)=>{let{name:c,pitch:l}=s,g=c.trim().toLowerCase().replace("//","-").normalize("NFD").replace(/\p{Diacritic}/gu,"").replace(/ /g,"-").replace("\xF0","d").replace("\u0111","d").replace("\xED","i").replace(/[^a-z0-9 -]/g,"").replace(/--/,"-"),r="";switch(l){case"1":case 1:r=n?"-1":"-red";break;case"2":case 2:r=n?"-2":"-yellow";break;case"3":case 3:r=n?"-3":"-blue";break}return`${g}${r}`},Se=(s,n)=>{let c,l,r=s.split("-").map(t=>["1","2","3"].some(A=>A===t)?t.replace("1","red").replace("2","yellow").replace("3","blue"):t).join("-");for(let t of n){let{cardIdentifier:u,oppositeSideCardIdentifiers:A}=t;if(u===r){c=t;break}A?.some(L=>`${u}--${L}`===r)&&(l=t)}return c||l},ve=(s,n,c)=>{let l=Y(s,c),g=n?Y(n,c):"";return`${l}${g?"--":""}${g}`},pe=({keywords:s,traits:n,types:c})=>{let l=U({keywords:s,traits:n,types:c}),g=W({keywords:s,traits:n,types:c}),r=["Companion","Demi-Hero","Equipment","Weapon"].some(t=>c.includes(t));return!l&&!g&&r},U=({keywords:s,traits:n,types:c})=>{let l=["Action","Attack Reaction","Block","Defense Reaction","Instant","Mentor","Resource"].some(r=>c.includes(r)),g=W({keywords:s,traits:n,types:c});return l&&!g},W=({keywords:s,traits:n,types:c})=>{let l=!!n&&n?.includes("Agent of Chaos"),g=!!s&&s.includes("Ephemeral"),r=["Macro","Token"].some(t=>c.includes(t));return l||g||r},Ee=["cracked-bauble-yellow","goldfin-harpoon"],Fe=s=>{let n=Ee.includes(s.cardIdentifier),c=W(s),l=s.isCardBack&&s.cardIdentifier!=="inner-chi-blue";return n||c||l},Ce=({isCardBack:s,keywords:n,traits:c,types:l})=>{let g=pe({keywords:n,traits:c,types:l}),r=U({keywords:n,traits:c,types:l});return!s&&(g||r)},Ge=s=>{let n=s.keywords?.includes("Meld"),l=!s.types?.includes("Macro")&&s.subtypes?.includes("Landmark")||!1;return n||l};var fe=(t=>(t.English="English",t.French="Fran\xE7ais",t.German="Deutsch",t.Italian="Italiano",t.Japanese="\u65E5\u672C\u8A9E",t.Spanish="Espa\xF1ol",t))(fe||{}),I=["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],o=["English","Fran\xE7ais","\u65E5\u672C\u8A9E"],me=(d=>(d.ArmoryDeck="Armory Deck",d.BlitzDeck="Blitz Deck",d.BoxSet="Box Set",d.ClassicBattles="Classic Battles",d.ExpansionBooster="Expansion Booster",d.FirstStrike="1st Strike",d.HistoryPack="History Pack",d.MasteryPack="Mastery Pack",d.RoundTheTable="Round the Table",d.SilverAgeDeck="Silver Age Deck",d.StandaloneBooster="Standalone Booster",d.WelcomeDeck="Welcome Deck",d))(me||{}),be=["Expansion Booster","Standalone Booster"],Me=s=>be.includes(s),xe=s=>s==="History Pack",Oe=s=>s==="Standalone Booster",We=["Armory Deck","Blitz Deck","Classic Battles","1st Strike","Round the Table","Silver Age Deck","Welcome Deck"],Ve=s=>We.includes(s),Ne=[{cards:30,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GJG7Z4WGWSZ95FY74KX4M557"}],heroes:["Ira"],languages:I,release:"Ira Welcome Deck",relatedReleases:[],releaseDate:"2019-08-31 12:00",releaseType:"Welcome Deck",setIdentifiers:["ira"],talents:[]},{cards:226,classes:["Brute","Guardian","Ninja","Warrior"],deckLinks:[],draft:{heroIdentifiers:["bravo","dorinthea","katsu","rhinar"],picksPerPack:15},heroes:["Bravo","Dorinthea","Katsu","Rhinar"],languages:["English"],release:"Welcome to Rathe",relatedReleases:[],releaseDate:"2019-10-11 12:00",releaseType:"Standalone Booster",setIdentifiers:["wtr"],talents:[]},{cards:219,classes:["Mechanologist","Ranger","Runeblade","Wizard"],deckLinks:[],draft:{heroIdentifiers:["azalea","dash","kano","viserai"],picksPerPack:15},heroes:["Azalea","Dash","Kano","Viserai"],languages:["English"],release:"Arcane Rising",relatedReleases:[],releaseDate:"2020-03-27 12:00",releaseType:"Standalone Booster",setIdentifiers:["arc"],talents:[]},{cards:194,classes:["Brute","Guardian","Mechanologist","Merchant","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Benji","Data Doll","Ira","Kassai","Kavdaen","Kayo","Shiyana"],languages:["English"],release:"Crucible of War",relatedReleases:[],releaseDate:"2020-08-28 12:00",releaseType:"Expansion Booster",setIdentifiers:["cru"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01G7FD2B3YQAMR8NJ4B3M58H96"}],heroes:["Boltyn"],languages:["English"],release:"Boltyn Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["bol"],talents:["Light"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01G7FDVRZP35DFWBRK64AG5TKQ"}],heroes:["Chane"],languages:["English"],release:"Chane Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["chn"],talents:["Shadow"]},{cards:40,classes:["Brute"],languages:["English"],deckLinks:[{url:"https://fabrary.net/decks/01G7B1T1D1M2DAM61K876VJBDK"}],heroes:["Levia"],release:"Levia Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["lev"],talents:["Shadow"]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01G7FCP2N7N0MNHWAH6JTP0KFN"}],heroes:["Prism"],languages:["English"],relatedReleases:[],releaseDate:"2021-05-07 12:00",release:"Prism Blitz Deck",releaseType:"Blitz Deck",setIdentifiers:["psm"],talents:["Light"]},{cards:307,classes:["Brute","Illusionist","Runeblade","Warrior"],deckLinks:[],draft:{heroIdentifiers:["boltyn","chane","levia","prism"],picksPerPack:15},heroes:["Boltyn","Chane","Levia","Prism"],languages:["English"],release:"Monarch",relatedReleases:["Boltyn Blitz Deck","Chane Blitz Deck","Levia Blitz Deck","Prism Blitz Deck"],releaseDate:"2021-05-07 12:00",releaseType:"Standalone Booster",setIdentifiers:["mon"],talents:["Light","Shadow"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01G7K4D304QQCZZSBT7ABCX4XC"}],heroes:["Briar"],languages:["English"],release:"Briar Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",talents:["Elemental","Earth","Lightning"],setIdentifiers:["bri"]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01G7K3WGPVKVDXG2J013GXSXNP"}],heroes:["Lexi"],languages:["English"],release:"Lexi Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["lxi"],talents:["Elemental","Ice","Lightning"]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01G7K464J7VS0K7HKW5E395TBK"}],heroes:["Oldhim"],languages:["English"],release:"Oldhim Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["old"],talents:["Elemental","Earth","Ice"]},{cards:238,classes:["Guardian","Ranger","Runeblade"],deckLinks:[],draft:{heroIdentifiers:["briar","lexi","oldhim"],picksPerPack:15},heroes:["Briar","Lexi","Oldhim"],languages:["English"],release:"Tales of Aria",relatedReleases:["Briar Blitz Deck","Lexi Blitz Deck","Oldhim Blitz Deck"],releaseDate:"2021-09-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["ele"],talents:["Elemental","Earth","Ice","Lightning"]},{cards:198,classes:["Brute","Guardian","Illusionist","Mechanologist","Merchant","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Genis","Starvo","Valda"],languages:["English"],release:"Everfest",relatedReleases:[],releaseDate:"2022-02-04 12:00",releaseType:"Expansion Booster",setIdentifiers:["evr"],talents:["Elemental","Earth","Ice","Lightning"]},{cards:423,classes:["Brute","Guardian","Mechanologist","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Azalea","Benji","Bravo","Dash","Data Doll","Dorinthea","Ira","Kassai","Katsu","Kayo","Rhinar","Viserai","Kano"],languages:["English"],release:"History Pack 1",relatedReleases:[],releaseDate:"2022-05-06 12:00",releaseType:"History Pack",setIdentifiers:["1hp","hp1"],talents:[]},{cards:80,classes:["Brute","Warrior"],deckLinks:[{name:"Dorinthea",url:"https://fabrary.net/decks/01GA4WTNSD12YTQB4FY8EYYNG5"},{name:"Rhinar",url:"https://fabrary.net/decks/01GA4WZKX9VEWKKPX7Y7H3MG1F"}],heroes:["Dorinthea","Rhinar"],languages:["English"],release:"Classic Battles: Rhinar vs Dorinthea",relatedReleases:[],releaseDate:"2022-05-27 12:00",releaseType:"Classic Battles",setIdentifiers:["dvr","rvd"],talents:[]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01G76H1R1ERRBRKS7RVCQAB8RX"}],heroes:["Dromai"],languages:["English"],relatedReleases:[],releaseDate:"2022-06-24 12:00",release:"Dromai Blitz Deck",releaseType:"Blitz Deck",setIdentifiers:["dro"],talents:["Draconic"]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01G76H7RG7GN5ZA10F3BJBH740"}],heroes:["Fai"],languages:["English"],release:"Fai Blitz Deck",relatedReleases:[],releaseDate:"2022-06-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["fai"],talents:["Draconic"]},{cards:226,classes:["Illusionist","Ninja","Wizard"],deckLinks:[],draft:{heroIdentifiers:["dromai","fai","iyslander"],picksPerPack:14},heroes:["Dromai","Fai","Iyslander"],languages:["English"],release:"Uprising",relatedReleases:["Dromai Blitz Deck","Fai Blitz Deck"],releaseDate:"2022-06-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["upr"],talents:["Draconic","Elemental","Ice"]},{cards:247,classes:["Assassin","Brute","Guardian","Illusionist","Mechanologist","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Arakni","Emperor","Yoji"],languages:["English"],release:"Dynasty",relatedReleases:[],releaseDate:"2022-11-11 12:00",releaseType:"Expansion Booster",setIdentifiers:["dyn"],talents:["Royal"]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01GW25PNWBW2FPDHRNTPSET0GT"}],heroes:["Arakni"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Arakni Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["ara"],talents:[]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01GW26RNH1Q1J0S1VFXPN609S2"}],heroes:["Azalea"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Azalea Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["azl"],talents:[]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GW28622XSVAK7H9RXZVAVKM0"}],heroes:["Benji"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Benji Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["ben"],talents:[]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GW28TF5FXFKJ5CGRNXB84CG6"}],heroes:["Katsu"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Katsu Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["kat"],talents:[]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01GW29DPNZ3XVBJQHHFQHHHDGN"}],heroes:["Riptide"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Riptide Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["rip"],talents:[]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01GW2945GHPH2YSX3FTS7HCBT1"}],heroes:["Uzuri"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Uzuri Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["uzu"],talents:[]},{cards:239,classes:["Assassin","Ranger","Ninja"],deckLinks:[],draft:{heroIdentifiers:["arakni-solitary-confinement","azalea","benji-the-piercing-wind","katsu","riptide","uzuri"],picksPerPack:14},heroes:["Arakni","Azalea","Benji","Katsu","Riptide","Uzuri"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Outsiders",relatedReleases:["Arakni Blitz Deck","Azalea Blitz Deck","Benji Blitz Deck","Katsu Blitz Deck","Riptide Blitz Deck","Uzuri Blitz Deck"],releaseDate:"2023-03-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["out"],talents:[]},{cards:236,classes:["Illusionist","Runeblade","Warrior","Brute"],deckLinks:[],heroes:["Prism","Vynnset","Boltyn","Levia"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Dusk till Dawn",relatedReleases:[],releaseDate:"2023-07-14 12:00",releaseType:"Expansion Booster",setIdentifiers:["dtd"],talents:["Light","Shadow"]},{cards:107,classes:["Mechanologist","Bard","Guardian","Ninja"],deckLinks:[{name:"Brevant",url:"https://fabrary.net/decks/01HAXKPFH7ZHPDEJZH967VNRW6"},{name:"Ira",url:"https://fabrary.net/decks/01HAXKZMTRN4FR7CFTQA11A70N"},{name:"Melody",url:"https://fabrary.net/decks/01HAXKSFPXGCEH99PDZJ32V4N9"},{name:"Teklovossen",url:"https://fabrary.net/decks/01HAXKZMTRN4FR7CFTQA11A70N"}],heroes:["Teklovossen","Melody","Brevant","Ira"],languages:["English"],release:"Round the Table: TCC x LSS",relatedReleases:[],releaseDate:"2023-09-29 12:00",releaseType:"Round the Table",talents:[],setIdentifiers:["tcc"]},{cards:251,classes:["Mechanologist"],deckLinks:[],draft:{heroIdentifiers:["dash-database","maxx-nitro","teklovossen"],picksPerPack:14},heroes:["Dash","Maxx","Teklovossen"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],raritiesExcludedInLimited:["Legendary","Fabled"],release:"Bright Lights",relatedReleases:[],releaseDate:"2023-10-06 12:00",releaseType:"Standalone Booster",setIdentifiers:["evo"],talents:[]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01HN3J1X1NQ9TB9RTVWV42JG46"}],heroes:["Betsy"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Betsy Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["bet"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01HN3SHBEQBRECYK6ZN1CHRADR"}],heroes:["Kassai"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Kassai Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["ksi"],talents:[]},{cards:40,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HN3HK89NA910SK3FQV84H46Z"}],heroes:["Kayo"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Kayo Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["kyo"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01HN3GP5ZJ1NRC0XBYNE45XQE8"}],heroes:["Olympia"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Olympia Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["ola"],talents:[]},{cards:40,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HN3Q4GBDMEFSX98HEN9ET308"}],heroes:["Rhinar"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Rhinar Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["rhi"],talents:[]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01HN3K8ZV7KBRRJKPHW4B13J1K"}],heroes:["Victor"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Victor Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["vic"],talents:[]},{cards:255,classes:["Brute","Guardian","Warrior"],deckLinks:[],draft:{heroIdentifiers:["kassai","betsy","kayo","olympia","rhinar","victor-goldmane"],picksPerPack:14},heroes:["Kassai","Betsy","Kayo","Olympia","Rhinar","Victor"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],raritiesExcludedInLimited:["Legendary","Fabled"],release:"Heavy Hitters",relatedReleases:["Betsy Blitz Deck","Kassai Blitz Deck","Kayo Blitz Deck","Olympia Blitz Deck","Rhinar Blitz Deck","Victor Blitz Deck"],releaseDate:"2024-02-02 12:00",releaseType:"Standalone Booster",setIdentifiers:["hvy"],talents:[]},{cards:66,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HWNCK2BYPVKK6701052YYXMZ"}],heroes:["Kayo"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Kayo",relatedReleases:[],releaseDate:"2024-05-03 12:00",releaseType:"Armory Deck",setIdentifiers:["ako"],talents:[]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z23X2PRQCJ100FP4CAZGK"}],heroes:["Enigma"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Enigma Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["eng"],talents:["Mystic"]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z4BD3TRMS3CP1ME4ZP3T6"}],heroes:["Nuu"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Nuu Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["nuu"],talents:["Mystic"]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z395FD35CM24QCJQKJER1"}],heroes:["Zen"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Zen Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["zen"],talents:["Mystic"]},{cards:239,classes:["Assassin","Illusionist","Ninja"],deckLinks:[],draft:{heroIdentifiers:["enigma","nuu","zen"],picksPerPack:14},heroes:["Enigma","Nuu","Zen"],languages:I,raritiesExcludedInLimited:["Legendary","Fabled"],release:"Part the Mistveil",relatedReleases:["Enigma Blitz Deck","Nuu Blitz Deck","Zen Blitz Deck"],releaseDate:"2024-05-31 12:00",releaseType:"Standalone Booster",setIdentifiers:["mst"],talents:["Mystic"]},{cards:66,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01J202NH0RG8S0V8WXH1FWB2AH"}],heroes:["Boltyn"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Boltyn",relatedReleases:[],releaseDate:"2024-07-12 12:00",releaseType:"Armory Deck",setIdentifiers:["asb"],talents:["Light"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J45SYSM2ZERW6CWY283ZAT1S"}],heroes:["Aurora"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"1st Strike: Aurora",relatedReleases:[],releaseDate:"2024-08-01 12:00",releaseType:"1st Strike",setIdentifiers:["aur"],talents:["Lightning"]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01J45SWXNDV5XD8PTBACAV8NZ1"}],heroes:["Terra"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"1st Strike: Terra",relatedReleases:[],releaseDate:"2024-08-01 12:00",releaseType:"1st Strike",setIdentifiers:["ter"],talents:["Earth"]},{cards:66,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01J3GKKSTM773CW7BG3RRJ5FJH"}],heroes:["Azalea"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Azalea",relatedReleases:[],releaseDate:"2024-08-02 12:00",releaseType:"Armory Deck",setIdentifiers:["aaz"],talents:[]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J68KF1TFNN62TC0G7M993FTY"}],heroes:["Aurora"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Aurora Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["aua"],talents:["Lightning"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J68KFRMJFKRQYJJ7THG1GMTB"}],heroes:["Florian"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Florian Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["flr"],talents:["Earth"]},{cards:40,classes:["Wizard"],deckLinks:[{url:"https://fabrary.net/decks/01J68KGA3JVKFHEXGKYW0441CY"}],heroes:["Oscilio"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Oscilio Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["osc"],talents:["Lightning"]},{cards:40,classes:["Wizard"],deckLinks:[{url:"https://fabrary.net/decks/01J68KGT3XD3HMVVRFT174QNMF"}],heroes:["Verdance"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Verdance Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["ver"],talents:["Earth"]},{cards:258,classes:["Runeblade","Wizard"],deckLinks:[],draft:{heroIdentifiers:["aurora","florian","oscilio","verdance"],picksPerPack:14},heroes:["Aurora","Florian","Oscilio","Verdance"],languages:I,raritiesExcludedInLimited:["Legendary","Fabled"],release:"Rosetta",relatedReleases:["Aurora Blitz Deck","Florian Blitz Deck","Oscilio Blitz Deck","Verdance Blitz Deck"],releaseDate:"2024-09-20 12:00",releaseType:"Standalone Booster",setIdentifiers:["ros"],talents:["Elemental","Earth","Lightning"]},{cards:66,classes:["Mechanologist"],deckLinks:[{url:"https://fabrary.net/decks/01J9822H5PANJAFQVMC4TPK4Z1"}],heroes:["Dash"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Dash",relatedReleases:[],releaseDate:"2024-10-18 12:00",releaseType:"Armory Deck",setIdentifiers:["aio"],talents:[]},{cards:30,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01JCPPENK52DTRBJZMWQF8S0X2"}],heroes:["Jarl"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck Origins: Jarl",relatedReleases:[],releaseDate:"2024-11-29 12:00",releaseType:"Armory Deck",setIdentifiers:["ajv"],talents:["Elemental","Earth","Ice"]},{cards:40,classes:["Assassin"],deckLinks:[],heroes:["Arakni"],languages:I,release:"Arakni Hunted Blitz Deck",relatedReleases:[],releaseDate:"2025-01-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["ark"],talents:[]},{cards:40,classes:["Assassin"],deckLinks:[],heroes:["Crackni"],languages:I,release:"Arakni, Web of Deceit Blitz Deck",relatedReleases:[],releaseDate:"2025-01-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["wod"],talents:[]},{cards:40,classes:["Ninja"],deckLinks:[],heroes:["Cindra"],languages:I,release:"Cindra Blitz Deck",relatedReleases:[],releaseDate:"2025-01-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["cin"],talents:["Draconic","Royal"]},{cards:40,classes:["Warrior"],deckLinks:[],heroes:["Fang"],languages:I,release:"Fang Blitz Deck",relatedReleases:[],releaseDate:"2025-01-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["fng"],talents:["Draconic","Royal"]},{cards:265,classes:["Assassin","Ninja","Warrior"],deckLinks:[],draft:{heroIdentifiers:["arakni-web-of-deceit","cindra","fang"],picksPerPack:14},heroes:["Arakni","Cindra","Fang"],heroOverrides:{Arakni:"Crackni"},languages:I,raritiesExcludedInLimited:["Legendary","Fabled"],release:"The Hunted",relatedReleases:["Arakni Hunted Blitz Deck","Arakni, Web of Deceit Blitz Deck","Cindra Blitz Deck","Fang Blitz Deck"],releaseDate:"2025-01-31 12:00",releaseType:"Standalone Booster",setIdentifiers:["hnt"],talents:["Chaos","Draconic","Royal"]},{cards:28,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01JN2DEG4X2V8DVMCWFBWQTTSC"}],heroes:["Aurora"],languages:["English","Fran\xE7ais","\u65E5\u672C\u8A9E"],release:"Armory Deck: Aurora",relatedReleases:[],releaseDate:"2025-03-14 12:00",releaseType:"Armory Deck",setIdentifiers:["ast"],talents:["Elemental","Lightning"]},{cards:28,classes:["Mechanologist"],deckLinks:[{url:"https://fabrary.net/decks/01JRH0631MH5A9JPVGTP3TKJXN"}],heroes:["Maxx"],languages:["English","Fran\xE7ais","\u65E5\u672C\u8A9E"],release:"Armory Deck: Maxx",relatedReleases:[],releaseDate:"2025-04-17 12:00",releaseType:"Armory Deck",setIdentifiers:["amx"],talents:[]},{cards:30,classes:["Necromancer","Pirate"],deckLinks:[{url:"https://fabrary.net/decks/01JVYZ0NCHP49HAP40C23P14E3"}],heroes:["Gravy Bones"],languages:o,release:"Armory Deck: Gravy Bones",relatedReleases:[],releaseDate:"2025-05-30 12:00",releaseType:"Armory Deck",setIdentifiers:["agb"],talents:[]},{cards:265,classes:["Mechanologist","Necromancer","Pirate","Ranger","Thief"],deckLinks:[],draft:{heroIdentifiers:["gravy-bones","marlynn","puffin","scurv-stowaway"],picksPerPack:14},heroes:["Gravy Bones","Marlynn","Puffin","Scurv"],languages:o,raritiesExcludedInLimited:["Fabled","Legendary"],release:"High Seas",relatedReleases:[],releaseDate:"2025-06-06 12:00",releaseType:"Standalone Booster",setIdentifiers:["sea"],talents:[]},{cards:30,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01JZ97KZ5TQV8E0FYMAM0XVNX7"}],heroes:["Ira"],languages:o,release:"Armory Deck: Ira",relatedReleases:[],releaseDate:"2025-07-11 12:00",releaseType:"Armory Deck",setIdentifiers:["asr"],talents:[]},{cards:30,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01K0ZQGQYJPH6B90VNT3GJ8C7Q"}],heroes:["Viserai"],languages:o,release:"Armory Deck Legends: Viserai",relatedReleases:[],releaseDate:"2025-07-24 12:00",releaseType:"Armory Deck",setIdentifiers:["avs"],talents:[]},{cards:30,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01K0ZQ8FVR8DQB7YC9N7KAB7N8"}],heroes:["Prism"],languages:o,release:"Armory Deck Legends: Prism",relatedReleases:[],releaseDate:"2025-07-24 12:00",releaseType:"Armory Deck",setIdentifiers:["apr"],talents:["Light"]},{cards:130,classes:["Guardian"],deckLinks:[],heroes:["Valda"],languages:o,release:"Mastery Pack: Guardian",relatedReleases:[],releaseDate:"2025-08-08 12:00",releaseType:"Mastery Pack",setIdentifiers:["mpg"],talents:[]},{cards:30,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01K1GBSGB17GT925NVJ0PM0G9Y"}],heroes:["Bravo"],languages:o,release:"Bravo Demo Deck",relatedReleases:[],releaseDate:"2025-08-08 12:00",releaseType:"Welcome Deck",setIdentifiers:["bdd"],talents:[]},{cards:107,classes:["Guardian"],deckLinks:[],heroes:["Bolfar","Bravo","Kox","Crix","Reya","Victor"],languages:["English"],release:"Smash Palace",relatedReleases:[],releaseDate:"2025-09-29 12:00",releaseType:"Box Set",talents:[],setIdentifiers:["smp"]},{cards:276,classes:["Brute","Guardian"],deckLinks:[],draft:{heroIdentifiers:["tuffnut","pleiades","kayo-strong-arm","lyath-goldmane"],picksPerPack:14},heroes:["Kayo","Lyath","Pleiades","Tuffnut"],heroOverrides:{Kayo:"RKO"},languages:o,raritiesExcludedInLimited:["Fabled","Legendary"],release:"Super Slam",relatedReleases:[],releaseDate:"2025-09-26 12:00",releaseType:"Standalone Booster",setIdentifiers:["sup"],talents:["Revered","Reviled"]},{cards:30,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01K4XX1ERKXRYW8XHWE9BTAS4W"}],heroes:["Pleiades"],languages:o,release:"Armory Deck: Pleiades",relatedReleases:[],releaseDate:"2025-09-19 12:00",releaseType:"Armory Deck",setIdentifiers:["aps"],talents:["Revered"]},{cards:30,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01K74RSFG9RTVPVN534DZPJJNQ"}],heroes:["Rhinar"],languages:o,release:"Armory Deck: Rhinar",relatedReleases:[],releaseDate:"2025-11-14 12:00",releaseType:"Armory Deck",setIdentifiers:["arr"],talents:[]},{cards:30,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01K74RXDPRPJT9YWGFVAPHECDF"}],heroes:["Slippy"],languages:o,release:"Armory Deck: Arakni",relatedReleases:[],releaseDate:"2025-12-15 12:00",releaseType:"Armory Deck",setIdentifiers:["aac"],talents:["Chaos"]},{cards:348,classes:["Assassin","Brute","Generic","Guardian","Illusionist","Mechanologist","Necromancer","Ninja","Pirate","Ranger","Runeblade","Thief","Warrior","Wizard"],deckLinks:[],heroes:[],languages:o,release:"Compendium of Rathe",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Expansion Booster",setIdentifiers:["pen"],talents:["Chaos","Draconic","Earth","Elemental","Ice","Light","Lightning","Mystic","Revered","Reviled","Shadow"]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01KFWFQYASKA6C1FGXXB0E8EGE"}],heroes:["Arakni"],languages:o,release:"Arakni Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sar"],talents:["Chaos"]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01KFWFSGRBJS7BK87T8YF24FYC"}],heroes:["Azalea"],languages:o,release:"Azalea Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["saz"],talents:[]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01KFWFTPVMBMZ9TT5GVT5QRRRM"}],heroes:["Bravo"],languages:o,release:"Bravo Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sbr"],talents:[]},{cards:40,classes:["Mechanologist"],deckLinks:[{url:"https://fabrary.net/decks/01KFWFW6EAT7VX44MKN8GCVQSM"}],heroes:["Dash"],languages:o,release:"Dash Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sda"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01KFWFXK3QM2XEVA08D5Y1R3CF"}],heroes:["Dorinthea"],languages:o,release:"Dorinthea Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sdo"],talents:[]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01KFWFYETE5DC1GK586XYXXFE6"}],heroes:["Enigma"],languages:o,release:"Enigma Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sen"],talents:["Mystic"]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01KFWD89C2CQFA1TA331EJ1Q2K"}],heroes:["Fai"],languages:o,release:"Fai Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sfa"],talents:["Draconic"]},{cards:40,classes:["Wizard"],deckLinks:[{url:"https://fabrary.net/decks/01KFWD9YWCRZ825T3AK8ZTG0G4"}],heroes:["Iyslander"],languages:o,release:"Iyslander Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["siy"],talents:["Elemental","Ice"]},{cards:40,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01KFWFZ9Z5W17F0NHKQ44811Q0"}],heroes:["Kayo"],languages:o,release:"Kayo Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["ska"],talents:[]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01KFWG05XQJT0NRVNGBZ4EJSSP"}],heroes:["Viserai"],languages:o,release:"Viserai Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["svi"],talents:[]},{cards:27,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01KNHHE1MY39BC4PXYXMTJVT1M"}],heroes:["Hala"],languages:o,release:"Armory Deck Origins: Hala",relatedReleases:[],releaseDate:"2026-04-17 12:00",releaseType:"Armory Deck",setIdentifiers:["aha"],talents:[]},{cards:251,classes:["Illusionist","Runeblade","Wizard"],deckLinks:[],draft:{heroIdentifiers:["aurora-emissary-of-lightning","oscilio-scion-of-the-third-age","zyggy"],picksPerPack:14},heroes:["Aurora2","Broscilio","Zyggy"],heroOverrides:{Aurora2:"Aurora",Broscilio:"Oscilio"},languages:o,raritiesExcludedInLimited:["Legendary","Fabled"],release:"Omens of the Third Age",relatedReleases:[],releaseDate:"2026-06-05 12:00",releaseType:"Standalone Booster",setIdentifiers:["omn"],talents:["Lightning"]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01KREWW7RJS0GZ2PCCD4BM47QY"}],heroes:["Zyggy"],languages:o,release:"Armory Deck: Zyggy",relatedReleases:[],releaseDate:"2026-06-05 12:00",releaseType:"Armory Deck",setIdentifiers:["azs"],talents:["Lightning"]},{cards:40,classes:["Wizard"],deckLinks:[{url:"https://fabrary.net/decks/01KP7ZQMB111K73XT88YV5YN7C"}],heroes:["Blaze"],languages:o,release:"Blaze Silver Age Deck",relatedReleases:[],releaseDate:"2026-06-05 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sbz"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01KP7ZQ311EMGC2S97KC79AEX0"}],heroes:["Boltyn"],languages:o,release:"Boltyn Silver Age Deck",relatedReleases:[],releaseDate:"2026-06-05 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sbl"],talents:["Light"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01KP7ZP4HXQTBZ2G37PMJ9W20N"}],heroes:["Briar"],languages:o,release:"Briar Silver Age Deck",relatedReleases:[],releaseDate:"2026-06-05 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sba"],talents:["Elemental","Earth","Lightning"]},{cards:40,classes:["Pirate","Necromancer"],deckLinks:[{url:"https://fabrary.net/decks/01KP7ZNJYM2QVMNRS4DQKFZHQ4"}],heroes:["Gravy Bones"],languages:o,release:"Gravy Bones Silver Age Deck",relatedReleases:[],releaseDate:"2026-06-05 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sgb"],talents:[]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01KP7ZMZGHMACW17CRP12E7R45"}],heroes:["Lyath"],languages:o,release:"Lyath Silver Age Deck",relatedReleases:[],releaseDate:"2026-06-05 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sly"],talents:["Reviled"]},{cards:156,classes:["Warrior"],deckLinks:[],heroes:["Dorinthea"],languages:o,release:"Mastery Pack: Warrior",relatedReleases:[],releaseDate:"2026-08-07 12:00",releaseType:"Mastery Pack",setIdentifiers:["mpw"],talents:[]},{cards:30,classes:["Warrior"],deckLinks:[],heroes:["Olympia"],languages:o,release:"Armory Deck: Olympia",relatedReleases:[],releaseDate:"2026-08-07 12:00",releaseType:"Armory Deck",setIdentifiers:["aol"],talents:[]},{cards:30,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01KP7ZHK1HMQCVMFH6W62FTVZ2"}],heroes:["Dorinthea"],languages:o,release:"Dorinthea Demo Deck",relatedReleases:[],releaseDate:"2026-08-07 12:00",releaseType:"Welcome Deck",setIdentifiers:["ddd"],talents:[]},{cards:250,classes:["Runeblade"],deckLinks:[],heroes:["Baalghor"],languages:o,release:"IAR",relatedReleases:[],releaseDate:"2026-09-25 12:00",releaseType:"Expansion Booster",setIdentifiers:["iar"],talents:["Shadow"]}],O={wtr:"Welcome to Rathe",arc:"Arcane Rising",cru:"Crucible of War",mon:"Monarch",ele:"Tales of Aria",evr:"Everfest","1hp":"History Pack 1",hp1:"History Pack 1",upr:"Uprising",dyn:"Dynasty",out:"Outsiders",dtd:"Dusk till Dawn",evo:"Bright Lights",hvy:"Heavy Hitters",mst:"Part the Mistveil",ros:"Rosetta",hnt:"The Hunted",sea:"High Seas",mpg:"Mastery Pack: Guardian",sup:"Super Slam",pen:"Compendium of Rathe",omn:"Omens of the Third Age",mpw:"Mastery Pack: Warrior",iar:"IAR"},Ae={...O,aac:"Armory Deck: Arakni",aaz:"Armory Deck: Azalea",asb:"Armory Deck: Boltyn",aio:"Armory Deck: Dash",ako:"Armory Deck: Kayo",ajv:"Armory Deck Origins: Jarl",ast:"Armory Deck: Aurora",amx:"Armory Deck: Maxx",agb:"Armory Deck: Gravy Bones",asr:"Armory Deck: Ira",aps:"Armory Deck: Pleiades",apr:"Armory Deck Legends: Prism",arr:"Armory Deck: Rhinar",avs:"Armory Deck Legends: Viserai",aha:"Armory Deck Origins: Hala",azs:"Armory Deck: Zyggy",aol:"Armory Deck: Olympia",ara:"Arakni Blitz Deck",ark:"Arakni Hunted Blitz Deck",aua:"Aurora Blitz Deck",azl:"Azalea Blitz Deck",ben:"Benji Blitz Deck",bet:"Betsy Blitz Deck",bol:"Boltyn Blitz Deck",bri:"Briar Blitz Deck",chn:"Chane Blitz Deck",cin:"Cindra Blitz Deck",dro:"Dromai Blitz Deck",eng:"Enigma Blitz Deck",fai:"Fai Blitz Deck",fng:"Fang Blitz Deck",flr:"Florian Blitz Deck",kat:"Katsu Blitz Deck",ksi:"Kassai Blitz Deck",kyo:"Kayo Blitz Deck",lev:"Levia Blitz Deck",lxi:"Lexi Blitz Deck",nuu:"Nuu Blitz Deck",old:"Oldhim Blitz Deck",ola:"Olympia Blitz Deck",osc:"Oscilio Blitz Deck",psm:"Prism Blitz Deck",rip:"Riptide Blitz Deck",rhi:"Rhinar Blitz Deck",uzu:"Uzuri Blitz Deck",ver:"Verdance Blitz Deck",vic:"Victor Blitz Deck",zen:"Zen Blitz Deck",wod:"Arakni, Web of Deceit Blitz Deck",aur:"1st Strike: Aurora",ter:"1st Strike: Terra",sar:"Arakni Silver Age Deck",saz:"Azalea Silver Age Deck",sba:"Briar Silver Age Deck",sbl:"Boltyn Silver Age Deck",sbr:"Bravo Silver Age Deck",sbz:"Blaze Silver Age Deck",sda:"Dash Silver Age Deck",sdo:"Dorinthea Silver Age Deck",sen:"Enigma Silver Age Deck",sfa:"Fai Silver Age Deck",sgb:"Gravy Bones Silver Age Deck",siy:"Iyslander Silver Age Deck",ska:"Kayo Silver Age Deck",sly:"Lyath Silver Age Deck",svi:"Viserai Silver Age Deck",bdd:"Bravo Demo Deck",ddd:"Dorinthea Demo Deck",dvr:"Classic Battles: Rhinar vs Dorinthea",rvd:"Classic Battles: Rhinar vs Dorinthea",ira:"Ira Welcome Deck",tcc:"Round the Table: TCC x LSS",smp:"Smash Palace",bvo:"Bravo Hero Deck",tea:"Dorinthea Hero Deck",ksu:"Katsu Hero Deck",rnr:"Rhinar Hero Deck",gem:"GEM",tnp:"Tournament Pack",anq:"Promos",con:"Promos",fab:"Promos",her:"Promos",jdg:"Promos",lgs:"Promos",lss:"Promos",oxo:"Promos",xxx:"Promos",win:"Promos"},_={};for(let[s,n]of Object.entries(Ae)){let c=_[n];c?c.push(s):_[n]=[s]}var Je=_,Ke=[{chapter:1,name:"Silver Age Chapter 1",relatedReleases:["Bravo Silver Age Deck","Dash Silver Age Deck","Kayo Silver Age Deck","Iyslander Silver Age Deck","Viserai Silver Age Deck"],releaseDate:"2026-02-13 12:00"},{chapter:2,name:"Silver Age Chapter 2",relatedReleases:["Arakni Silver Age Deck","Azalea Silver Age Deck","Dorinthea Silver Age Deck","Enigma Silver Age Deck","Fai Silver Age Deck"],releaseDate:"2026-02-13 12:00"},{chapter:3,name:"Silver Age Chapter 3",relatedReleases:["Blaze Silver Age Deck","Boltyn Silver Age Deck","Briar Silver Age Deck","Gravy Bones Silver Age Deck","Lyath Silver Age Deck"],releaseDate:"2026-06-05 12:00"}];var He={},Ze={"FAB470-RFB":"-V2","FAB470-RFC":"-V3","OMN203-MVB":"-V2","OMN203-MVC":"-V3","MPG112-A":"-V2","MPG112-B":"-V3",MPG112_V2:"-V2",MPG112_V3:"-V3",MST158_V3:"-V3","ROS162-B":"-V2",ROS162_V2:"-V2","ROS008-MV_V2_BACK":"-V3",SUP009_V3:"-V3",SUP009_V3_BACK:"-V3","HER146-ARF":"-ARF"},Xe=s=>{let n=He[s.set]||"",c=`${s.identifier}${n}`,l=s.edition?`-${s.edition}`:"",g=s.foiling?`-${s.foiling}`:"",r=s.treatments?.length?`-${s.treatments.sort().join("-")}`:s.treatment?`-${s.treatment}`:"",t=s.image?.toLowerCase().includes("back")?"-Back":"",u=Ze[s.image?.toUpperCase()||""]||"";return`${c}${l}${g}${r}${t}${u}`},Qe=Object.keys(O).filter(s=>!s.toLowerCase().includes("hp")).reverse().map(s=>s.toUpperCase()),je={"adaptive-plating":{print:"EVO013-Cold"},"command-and-conquer-red":{print:"ANQ009-Rainbow-Alternate Art-Alternate Border-Extended Art"},"cracked-bauble-yellow":{print:"LGS083-Cold"},"dash-io":{print:"HER089-Cold"},"fate-foreseen-red":{print:"FAB024-Rainbow"},"florian-rotwood-harbinger":{print:"ROS001-Cold-Full Art-Back"},"pleiades-superstar":{print:"SUP009-Cold-Full Art"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},"prism-sculptor-of-arc-light":{print:"HER069-Cold-Full Art-Back"},quicken:{print:"EVO250"},"ravenous-rabble-red":{print:"FAB190-Rainbow-Extended Art"},"rockslide-trap-blue":{print:"LGS152-Rainbow"},"rosetta-thorn":{print:"ROS256-Cold"},"sigil-of-solace-red":{print:"FAB178-Rainbow-Alternate Art-Extended Art"},"spectral-shield":{print:"MST158-Alternate Art-V3"},"tripwire-trap-red":{print:"LGS150-Rainbow"},"viserai-rune-blood":{print:"HER011-Cold"},"wreck-havoc-red":{print:"OUT198"}},Be=["JDG044-Full Art-Back"],Ye=(s,n)=>{let{cardIdentifier:c}=s,l=Object.entries(je).find(([r])=>r===c);if(!!l&&n.some(r=>{let[,{print:t}]=l;return r.print===t})){let[,{print:r}]=l;return n.find(u=>u.print===r)||n[0]}else{let r,t,u,A,D,m,L,d,P,p,S,v,E,V,h,F,C,G,b,M,x;for(let f of n){let{edition:k,foiling:y,identifier:z,image:J,print:K,treatments:T}=f,B=J?.toUpperCase()||"",R=z.toLowerCase().includes("win"),H=!!B,Z=y==="Gold",X=B.includes("HP"),Q=Be.includes(K);if(H&&!R&&!X&&!Q&&!Z){if(r||(r=f),T?.includes("Full Art")){if(S=f,y==="Cold"&&(m=f,B.includes("_V3"))){L=f;break}B.includes("BACK")?P=f:p=f}T?.includes("Extended Art")&&(d=f,y==="Cold"&&(D=f),y||(v=f),k==="Promo"&&(E=f)),T?.includes("Alternate Art")&&(t=f),T?.includes("Alternate Border")&&(u=f),T?.includes("Alternate Text")&&(A=f),(B.includes("_V2")||B.includes("-MV"))&&T?.includes("Full Art")&&(h=f),k==="Alpha"?F=f:k==="First"?C=f:k==="Promo"?G=f:k==="Unlimited"&&(b=f),y==="Cold"&&(M=f,k==="Promo"&&(x=f))}}return V||L||p||P||m||S||D||h||E||v||d||u||t||A||x||F||C||G||b||M||r}},Ue={"command-and-conquer-red":{print:"HNT260"},"fyendals-spring-tunic":{print:"EVO249"},might:{print:"TER028"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},"portside-exchange-blue":{print:"SEA145"},"rockslide-trap-blue":{print:"LGS152-Rainbow"},"rosetta-thorn":{print:"ELE222-First"},"spectral-shield":{print:"MST158"},"tripwire-trap-red":{print:"LGS150-Rainbow"},vigor:{print:"HVY242"},"wreck-havoc-red":{print:"OUT198"}},_e=(s,n)=>{let{cardIdentifier:c}=s,l=Object.entries(Ue).find(([r])=>r===c);if(!!l&&n.some(r=>{let[,{print:t}]=l;return r.print===t})){let[,{print:r}]=l;return n.find(u=>u.print===r)||n[0]}else{let r,t;for(let u of n){let{edition:A,image:D,treatment:m}=u,L=!!D,d=D?.includes("HP"),P=D?.includes("BACK"),p=(D||"").length>10||D?.includes("width");if(L&&!d&&!P&&!p&&(r||(r=u),!t&&A!=="Promo"&&m!=="Full Art"&&(t=u)),r&&t)break}return t||r||n[0]}},$e={},we=(s,n)=>{let{cardIdentifier:c}=s,l=Object.entries($e).find(([r])=>r===c);if(!!l&&n.some(r=>{let[,{print:t}]=l;return r.print===t})){let[,{print:r}]=l;return n.find(u=>u.print===r)||n[0]}else{let r=n.length>0?n[0]:void 0;for(let t of Object.values(O)){let u=n.find(A=>A.set===t);if(u){r=u;break}}return r}},qe={},ea=(s,n)=>{let{cardIdentifier:c}=s,l=Object.entries(qe).find(([r])=>r===c);if(!!l&&n.some(r=>{let[,{print:t}]=l;return r.print===t})){let[,{print:r}]=l;return n.find(u=>u.print===r)||n[0]}else{let r,t,u,A,D,m,L,d,P,p,S,v,E,V,h,F,C,G,b,M,x,N;for(let k of n){let{edition:y,foiling:z,identifier:J,image:K,print:T,treatments:B}=k,R=K?.toUpperCase()||"",H=J.toLowerCase().includes("win"),Z=!!R,X=R.includes("HP"),Q=Be.includes(T);if(Z&&!H&&!X&&!Q){if(r||(r=k),B?.includes("Full Art")){if(S=k,z==="Cold"&&(m=k,R.includes("_V3"))){L=k;break}R.includes("BACK")?P=k:p=k}B?.includes("Extended Art")&&(d=k,z==="Cold"&&(D=k),z||(v=k),y==="Promo"&&(E=k)),B?.includes("Alternate Art")&&(t=k),B?.includes("Alternate Border")&&(u=k),B?.includes("Alternate Text")&&(A=k),(R.includes("_V2")||R.includes("-MV"))&&B?.includes("Full Art")&&(h=k),y==="Alpha"?F=k:y==="First"?C=k:y==="Promo"?G=k:y==="Unlimited"&&(b=k),z==="Cold"?(M=k,y==="Promo"&&(N=k)):z==="Gold"&&(x=k)}}return x||(V||L||p||P||m||S)||D||h||N||E||M||v||d||u||t||A||F||G||C||b||r}};0&&(module.exports={Bond,Class,Flow,Foiling,Format,Fusion,Hero,Keyword,Language,Meta,Metatype,Rarity,Release,ReleaseEdition,ReleaseType,Shorthand,Subtype,Talent,Trait,Treatment,Type,fullSetIdentifiers,getBoomerPrinting,getCanAddToDeck,getCanCardBeTokenForDeck,getCardFromGEMCardIdentifier,getCardIdentifier,getDefaultPrinting,getFrontAndBackCardIdentifier,getIsArenaCard,getIsBooster,getIsCardTokenForDeck,getIsDeckCard,getIsDraftable,getIsPreconstructed,getIsReprint,getMaxRarityPrinting,getPrint,getShouldRotateCardImage,getSpecialPrinting,orderedFullSetBlackBorderIdentifiers,releases,setIdentifierToSetMappings,setToSetIdentifierMappings,silverAgeChapters});
1
+ var j=Object.defineProperty;var Le=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var Re=Object.prototype.hasOwnProperty;var Ie=(s,n)=>{for(var c in n)j(s,c,{get:n[c],enumerable:!0})},Pe=(s,n,c,l)=>{if(n&&typeof n=="object"||typeof n=="function")for(let g of Te(n))!Re.call(s,g)&&g!==c&&j(s,g,{get:()=>n[g],enumerable:!(l=Le(n,g))||l.enumerable});return s};var Se=s=>Pe(j({},"__esModule",{value:!0}),s);var aa={};Ie(aa,{Bond:()=>ae,Class:()=>ee,Flow:()=>re,Foiling:()=>$,Format:()=>se,Fusion:()=>ne,Hero:()=>he,Keyword:()=>De,Language:()=>fe,Meta:()=>te,Metatype:()=>ge,Rarity:()=>ie,Release:()=>le,ReleaseEdition:()=>ce,ReleaseType:()=>me,Shorthand:()=>w,Subtype:()=>ue,Talent:()=>oe,Trait:()=>de,Treatment:()=>q,Type:()=>ke,fullSetIdentifiers:()=>O,getBoomerPrinting:()=>we,getCanAddToDeck:()=>Ce,getCanCardBeTokenForDeck:()=>Fe,getCardFromGEMCardIdentifier:()=>ze,getCardIdentifier:()=>U,getDefaultPrinting:()=>_e,getFrontAndBackCardIdentifier:()=>ve,getIsArenaCard:()=>pe,getIsBooster:()=>Me,getIsCardTokenForDeck:()=>W,getIsDeckCard:()=>Y,getIsDraftable:()=>Oe,getIsPreconstructed:()=>Ve,getIsReprint:()=>xe,getMaxRarityPrinting:()=>ea,getPrint:()=>Xe,getShouldRotateCardImage:()=>Ge,getSpecialPrinting:()=>Ue,orderedFullSetBlackBorderIdentifiers:()=>Qe,releases:()=>Ne,setIdentifierToSetMappings:()=>Ae,setToSetIdentifierMappings:()=>Je,silverAgeChapters:()=>Ke});module.exports=Se(aa);var $=(l=>(l.Cold="Cold",l.Gold="Gold",l.Rainbow="Rainbow",l))($||{}),w=(r=>(r.Buffs="Buffs",r.Flick="Flick",r.Poppers="Poppers",r.Tap="Tap",r.Untap="Untap",r))(w||{}),q=(r=>(r.AB="Alternate Border",r.AA="Alternate Art",r.AT="Alternate Text",r.EA="Extended Art",r.FA="Full Art",r))(q||{}),ee=(h=>(h.NotClassed="NotClassed",h.Generic="Generic",h.Adjudicator="Adjudicator",h.Assassin="Assassin",h.Bard="Bard",h.Brute="Brute",h.Guardian="Guardian",h.Illusionist="Illusionist",h.Mechanologist="Mechanologist",h.Merchant="Merchant",h.Necromancer="Necromancer",h.Ninja="Ninja",h.Pirate="Pirate",h.Ranger="Ranger",h.Runeblade="Runeblade",h.Shapeshifter="Shapeshifter",h.Thief="Thief",h.Warrior="Warrior",h.Wizard="Wizard",h))(ee||{}),ae=(n=>(n.Earth="Earth",n))(ae||{}),re=(n=>(n.Lightning="Lightning",n))(re||{}),se=(D=>(D.Blitz="Blitz",D.ClassicConstructed="Classic Constructed",D.Draft="Draft",D.GoldenAge="Golden Age",D.LivingLegend="Living Legend",D.Open="Open",D.Sealed="Sealed",D.SilverAge="Silver Age",D.UltimatePitFight="Ultimate Pit Fight",D))(se||{}),ne=(l=>(l.Earth="Earth",l.Ice="Ice",l.Lightning="Lightning",l))(ne||{}),ie=(m=>(m.Basic="Basic",m.Token="Token",m.Common="Common",m.Rare="Rare",m.SuperRare="Super Rare",m.Majestic="Majestic",m.Marvel="Marvel",m.Legendary="Legendary",m.Fabled="Fabled",m.Promo="Promo",m))(ie||{}),te=(c=>(c.Expansion="Expansion slot",c.Rainbow="Rainbow",c))(te||{}),le=(a=>(a.ArcaneRising="Arcane Rising",a.BrightLights="Bright Lights",a.CompendiumOfRathe="Compendium of Rathe",a.CrucibleOfWar="Crucible of War",a.DuskTillDawn="Dusk till Dawn",a.Dynasty="Dynasty",a.Everfest="Everfest",a.HeavyHitters="Heavy Hitters",a.HighSeas="High Seas",a.HistoryPack1="History Pack 1",a.Monarch="Monarch",a.OmensOfTheThirdAge="Omens of the Third Age",a.Outsiders="Outsiders",a.PartTheMistveil="Part the Mistveil",a.Rosetta="Rosetta",a.SuperSlam="Super Slam",a.TalesOfAria="Tales of Aria",a.TheHunted="The Hunted",a.Uprising="Uprising",a.UsurpTheShadowThrone="Usurp the Shadow Throne",a.WelcomeToRathe="Welcome to Rathe",a.ArmoryDeckArakni="Armory Deck: Arakni",a.ArmoryDeckAurora="Armory Deck: Aurora",a.ArmoryDeckAzalea="Armory Deck: Azalea",a.ArmoryDeckBoltyn="Armory Deck: Boltyn",a.ArmoryDeckDash="Armory Deck: Dash",a.ArmoryDeckGravyBones="Armory Deck: Gravy Bones",a.ArmoryDeckIra="Armory Deck: Ira",a.ArmoryDeckKayo="Armory Deck: Kayo",a.ArmoryDeckMaxx="Armory Deck: Maxx",a.ArmoryDeckOlympia="Armory Deck: Olympia",a.ArmoryDeckPleiades="Armory Deck: Pleiades",a.ArmoryDeckRhinar="Armory Deck: Rhinar",a.ArmoryDeckZyggy="Armory Deck: Zyggy",a.ArmoryDeckOriginsHala="Armory Deck Origins: Hala",a.ArmoryDeckOriginsJarl="Armory Deck Origins: Jarl",a.ArmoryDeckLegendsPrism="Armory Deck Legends: Prism",a.ArmoryDeckLegendsViserai="Armory Deck Legends: Viserai",a.ArakniBlitzDeck="Arakni Blitz Deck",a.ArakniBlitzDeckARK="Arakni Hunted Blitz Deck",a.ArakniWebOfDeceitBlitzDeck="Arakni, Web of Deceit Blitz Deck",a.AuroraBlitzDeck="Aurora Blitz Deck",a.AzaleaBlitzDeck="Azalea Blitz Deck",a.BenjiBlitzDeck="Benji Blitz Deck",a.BetsyBlitzDeck="Betsy Blitz Deck",a.BoltynBlitzDeck="Boltyn Blitz Deck",a.BriarBlitzDeck="Briar Blitz Deck",a.ChaneBlitzDeck="Chane Blitz Deck",a.CindraBlitzDeck="Cindra Blitz Deck",a.DromaiBlitzDeck="Dromai Blitz Deck",a.EnigmaBlitzDeck="Enigma Blitz Deck",a.FaiBlitzDeck="Fai Blitz Deck",a.FangBlitzDeck="Fang Blitz Deck",a.FlorianBlitzDeck="Florian Blitz Deck",a.KassaiBlitzDeck="Kassai Blitz Deck",a.KatsuBlitzDeck="Katsu Blitz Deck",a.KayoBlitzDeck="Kayo Blitz Deck",a.LeviaBlitzDeck="Levia Blitz Deck",a.LexiBlitzDeck="Lexi Blitz Deck",a.NuuBlitzDeck="Nuu Blitz Deck",a.OldhimBlitzDeck="Oldhim Blitz Deck",a.OlympiaBlitzDeck="Olympia Blitz Deck",a.OscilioBlitzDeck="Oscilio Blitz Deck",a.PrismBlitzDeck="Prism Blitz Deck",a.RhinarBlitzDeck="Rhinar Blitz Deck",a.RiptideBlitzDeck="Riptide Blitz Deck",a.UzuriBlitzDeck="Uzuri Blitz Deck",a.VerdanceBlitzDeck="Verdance Blitz Deck",a.VictorBlitzDeck="Victor Blitz Deck",a.ZenBlitzDeck="Zen Blitz Deck",a.FirstStrikeAurora="1st Strike: Aurora",a.FirstStrikeTerra="1st Strike: Terra",a.BravoHeroDeck="Bravo Hero Deck",a.DorintheaHeroDeck="Dorinthea Hero Deck",a.KatsuHeroDeck="Katsu Hero Deck",a.RhinarHeroDeck="Rhinar Hero Deck",a.ArakniSilverAgeDeck="Arakni Silver Age Deck",a.AzaleaSilverAgeDeck="Azalea Silver Age Deck",a.BlazeSilverAgeDeck="Blaze Silver Age Deck",a.BoltynSilverAgeDeck="Boltyn Silver Age Deck",a.BravoSilverAgeDeck="Bravo Silver Age Deck",a.BriarSilverAgeDeck="Briar Silver Age Deck",a.DashSilverAgeDeck="Dash Silver Age Deck",a.DorintheaSilverAgeDeck="Dorinthea Silver Age Deck",a.EnigmaSilverAgeDeck="Enigma Silver Age Deck",a.FaiSilverAgeDeck="Fai Silver Age Deck",a.GravyBonesSilverAgeDeck="Gravy Bones Silver Age Deck",a.IyslanderSilverAgeDeck="Iyslander Silver Age Deck",a.KayoSilverAgeDeck="Kayo Silver Age Deck",a.LyathSilverAgeDeck="Lyath Silver Age Deck",a.ViseraiSilverAgeDeck="Viserai Silver Age Deck",a.MasteryPackGuardian="Mastery Pack: Guardian",a.MasteryPackWarrior="Mastery Pack: Warrior",a.BravoDemoDeck="Bravo Demo Deck",a.DorintheaDemoDeck="Dorinthea Demo Deck",a.ClassicBattlesRhinarDorinthea="Classic Battles: Rhinar vs Dorinthea",a.IraWelcomeDeck="Ira Welcome Deck",a.RoundTheTable="Round the Table: TCC x LSS",a.SmashPalace="Smash Palace",a.GEM="GEM",a.Promos="Promos",a.TournamentPack="Tournament Pack",a))(le||{}),ce=(g=>(g.Alpha="Alpha",g.First="First",g.Unlimited="Unlimited",g.Promo="Promo",g))(ce||{}),oe=(d=>(d.Chaos="Chaos",d.Draconic="Draconic",d.Earth="Earth",d.Elemental="Elemental",d.Ice="Ice",d.Light="Light",d.Lightning="Lightning",d.Mystic="Mystic",d.Revered="Revered",d.Reviled="Reviled",d.Royal="Royal",d.Shadow="Shadow",d))(oe||{}),de=(n=>(n.AgentOfChaos="Agent of Chaos",n))(de||{}),ge=(t=>(t.Arakni="Arakni",t.OmensOfTheThirdAge="Omens of the Third Age",t.Scurv="Scurv",t.HighSeas="High Seas",t.Puffin="Puffin",t.Rosetta="Rosetta",t))(ge||{}),ke=(p=>(p.Action="Action",p.AttackReaction="Attack Reaction",p.Block="Block",p.Companion="Companion",p.DefenseReaction="Defense Reaction",p.DemiHero="Demi-Hero",p.Equipment="Equipment",p.Hero="Hero",p.Instant="Instant",p.Macro="Macro",p.Mentor="Mentor",p.Resource="Resource",p.Token="Token",p.Weapon="Weapon",p))(ke||{}),ue=(i=>(i.OneHanded="1H",i.TwoHanded="2H",i.Affliction="Affliction",i.Ally="Ally",i.Angel="Angel",i.Arms="Arms",i.Arrow="Arrow",i.Ash="Ash",i.Attack="Attack",i.Aura="Aura",i.Axe="Axe",i.Base="Base",i.Book="Book",i.Bow="Bow",i.Cannon="Cannon",i.Chest="Chest",i.Chi="Chi",i.Claw="Claw",i.Club="Club",i.Construct="Construct",i.Dagger="Dagger",i.Demon="Demon",i.Dragon="Dragon",i.Evo="Evo",i.Fiddle="Fiddle",i.Figment="Figment",i.Flail="Flail",i.Gem="Gem",i.Gun="Gun",i.Hammer="Hammer",i.Head="Head",i.Invocation="Invocation",i.Item="Item",i.Landmark="Landmark",i.Log="Log",i.Lute="Lute",i.Legs="Legs",i.NonAttack="Non-Attack",i.OffHand="Off-Hand",i.Orb="Orb",i.Pistol="Pistol",i.PitFighter="Pit-Fighter",i.Polearm="Polearm",i.Quiver="Quiver",i.Rock="Rock",i.Shuriken="Shuriken",i.Scepter="Scepter",i.Scroll="Scroll",i.Scythe="Scythe",i.Song="Song",i.Staff="Staff",i.Sword="Sword",i.Trap="Trap",i.Wrench="Wrench",i.Young="Young",i))(ue||{}),he=(e=>(e.Arakni="Arakni",e.Aurora="Aurora",e.Aurora2="Aurora2",e.Azalea="Azalea",e.Baalghor="Baalghor",e.Benji="Benji",e.Betsy="Betsy",e.Blaze="Blaze",e.Bolfar="Bolfar",e.Boltyn="Boltyn",e.Bravo="Bravo",e.Brevant="Brevant",e.Briar="Briar",e.Brutus="Brutus",e.Chane="Chane",e.Cindra="Cindra",e.Crackni="Crackni",e.Crix="Crix",e.Dash="Dash",e.DataDoll="Data Doll",e.Dorinthea="Dorinthea",e.Dromai="Dromai",e.Emperor="Emperor",e.Enigma="Enigma",e.Fai="Fai",e.Fang="Fang",e.Florian="Florian",e.Frankie="Frankie",e.Genis="Genis",e.GravyBones="Gravy Bones",e.Hala="Hala",e.Ira="Ira",e.Iyslander="Iyslander",e.Jarl="Jarl",e.Kano="Kano",e.Kassai="Kassai",e.Katsu="Katsu",e.Kavdaen="Kavdaen",e.Kayo="Kayo",e.Kox="Kox",e.Levia="Levia",e.Lexi="Lexi",e.Librarian="Librarian",e.Lyath="Lyath",e.Marlynn="Marlynn",e.Maxx="Maxx",e.Melody="Melody",e.Nuu="Nuu",e.Oldhim="Oldhim",e.Olympia="Olympia",e.Oscilio="Oscilio",e.Broscilio="Broscilio",e.Pleiades="Pleiades",e.Prism="Prism",e.Puffin="Puffin",e.Reya="Reya",e.Rhinar="Rhinar",e.Riptide="Riptide",e.RKO="RKO",e.Ruudi="Ruu'di",e.Shiyana="Shiyana",e.Slippy="Slippy",e.Squizzy="Squizzy",e.Scurv="Scurv",e.Starvo="Starvo",e.Taipanis="Taipanis",e.Taylor="Taylor",e.Teklovossen="Teklovossen",e.Terra="Terra",e.Theryon="Theryon",e.Tuffnut="Tuffnut",e.Uzuri="Uzuri",e.Valda="Valda",e.Verdance="Verdance",e.Victor="Victor",e.Vynnset="Vynnset",e.Viserai="Viserai",e.Yorick="Yorick",e.Yoji="Yoji",e.Zen="Zen",e.Zyggy="Zyggy",e))(he||{}),De=(e=>(e.Ambush="Ambush",e.Amp="Amp",e.ArcaneBarrier="Arcane Barrier",e.ArcaneShelter="Arcane Shelter",e.Awaken="Awaken",e.Battleworn="Battleworn",e.BeatChest="Beat Chest",e.BladeBreak="Blade Break",e.BloodDebt="Blood Debt",e.Boost="Boost",e.Bond="Bond",e.Channel="Channel",e.Charge="Charge",e.Clash="Clash",e.Cloaked="Cloaked",e.Combo="Combo",e.Contract="Contract",e.Crank="Crank",e.TheCrowdBoos="The Crowd Boos",e.TheCrowdCheers="The Crowd Cheers",e.Crush="Crush",e.Decompose="Decompose",e.Dominate="Dominate",e.Ephemeral="Ephemeral",e.Essence="Essence",e.EvoUpgrade="Evo Upgrade",e.Flow="Flow",e.Fragment="Fragment",e.Freeze="Freeze",e.Fusion="Fusion",e.Galvanize="Galvanize",e.GoAgain="Go again",e.GoFish="Go Fish",e.Guardwell="Guardwell",e.Heave="Heave",e.Heavy="Heavy",e.HighTide="High Tide",e.Intimidate="Intimidate",e.Legendary="Legendary",e.Mark="Mark",e.Material="Material",e.Meld="Meld",e.Modular="Modular",e.Mirage="Mirage",e.Negate="Negate",e.Opt="Opt",e.Overpower="Overpower",e.Pairs="Pairs",e.Piercing="Piercing",e.Phantasm="Phantasm",e.Protect="Protect",e.Quell="Quell",e.Quickstrike="Quickstrike",e.Reload="Reload",e.Reprise="Reprise",e.Retrieve="Retrieve",e.RuneGate="Rune Gate",e.Rupture="Rupture",e.Scrap="Scrap",e.Sharpen="Sharpen",e.Solflare="Solflare",e.Specialization="Specialization",e.Spectra="Spectra",e.Spellvoid="Spellvoid",e.Starfall="Starfall",e.Steal="Steal",e.Stealth="Stealth",e.Surge="Surge",e.Suspense="Suspense",e.Temper="Temper",e.Tower="Tower",e.Transform="Transform",e.Transcend="Transcend",e.Unlimited="Unlimited",e.Universal="Universal",e.Unfreeze="Unfreeze",e.Unity="Unity",e.Usurp="Usurp",e.Wager="Wager",e.Ward="Ward",e.WateryGrave="Watery Grave",e))(De||{});var U=(s,n)=>{let{name:c,pitch:l}=s,g=c.trim().toLowerCase().replace("//","-").normalize("NFD").replace(/\p{Diacritic}/gu,"").replace(/ /g,"-").replace("\xF0","d").replace("\u0111","d").replace("\xED","i").replace(/[^a-z0-9 -]/g,"").replace(/--/,"-"),r="";switch(l){case"1":case 1:r=n?"-1":"-red";break;case"2":case 2:r=n?"-2":"-yellow";break;case"3":case 3:r=n?"-3":"-blue";break}return`${g}${r}`},ze=(s,n)=>{let c,l,r=s.split("-").map(t=>["1","2","3"].some(A=>A===t)?t.replace("1","red").replace("2","yellow").replace("3","blue"):t).join("-");for(let t of n){let{cardIdentifier:u,oppositeSideCardIdentifiers:A}=t;if(u===r){c=t;break}A?.some(L=>`${u}--${L}`===r)&&(l=t)}return c||l},ve=(s,n,c)=>{let l=U(s,c),g=n?U(n,c):"";return`${l}${g?"--":""}${g}`},pe=({keywords:s,traits:n,types:c})=>{let l=Y({keywords:s,traits:n,types:c}),g=W({keywords:s,traits:n,types:c}),r=["Companion","Demi-Hero","Equipment","Weapon"].some(t=>c.includes(t));return!l&&!g&&r},Y=({keywords:s,traits:n,types:c})=>{let l=["Action","Attack Reaction","Block","Defense Reaction","Instant","Mentor","Resource"].some(r=>c.includes(r)),g=W({keywords:s,traits:n,types:c});return l&&!g},W=({keywords:s,traits:n,types:c})=>{let l=!!n&&n?.includes("Agent of Chaos"),g=!!s&&s.includes("Ephemeral"),r=["Macro","Token"].some(t=>c.includes(t));return l||g||r},Ee=["cracked-bauble-yellow","goldfin-harpoon"],Fe=s=>{let n=Ee.includes(s.cardIdentifier),c=W(s),l=s.isCardBack&&s.cardIdentifier!=="inner-chi-blue";return n||c||l},Ce=({isCardBack:s,keywords:n,traits:c,types:l})=>{let g=pe({keywords:n,traits:c,types:l}),r=Y({keywords:n,traits:c,types:l});return!s&&(g||r)},Ge=s=>{let n=s.keywords?.includes("Meld"),l=!s.types?.includes("Macro")&&s.subtypes?.includes("Landmark")||!1;return n||l};var fe=(t=>(t.English="English",t.French="Fran\xE7ais",t.German="Deutsch",t.Italian="Italiano",t.Japanese="\u65E5\u672C\u8A9E",t.Spanish="Espa\xF1ol",t))(fe||{}),I=["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],o=["English","Fran\xE7ais","\u65E5\u672C\u8A9E"],me=(d=>(d.ArmoryDeck="Armory Deck",d.BlitzDeck="Blitz Deck",d.BoxSet="Box Set",d.ClassicBattles="Classic Battles",d.ExpansionBooster="Expansion Booster",d.FirstStrike="1st Strike",d.HistoryPack="History Pack",d.MasteryPack="Mastery Pack",d.RoundTheTable="Round the Table",d.SilverAgeDeck="Silver Age Deck",d.StandaloneBooster="Standalone Booster",d.WelcomeDeck="Welcome Deck",d))(me||{}),be=["Expansion Booster","Standalone Booster"],Me=s=>be.includes(s),xe=s=>s==="History Pack",Oe=s=>s==="Standalone Booster",We=["Armory Deck","Blitz Deck","Classic Battles","1st Strike","Round the Table","Silver Age Deck","Welcome Deck"],Ve=s=>We.includes(s),Ne=[{cards:30,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GJG7Z4WGWSZ95FY74KX4M557"}],heroes:["Ira"],languages:I,release:"Ira Welcome Deck",relatedReleases:[],releaseDate:"2019-08-31 12:00",releaseType:"Welcome Deck",setIdentifiers:["ira"],talents:[]},{cards:226,classes:["Brute","Guardian","Ninja","Warrior"],deckLinks:[],draft:{heroIdentifiers:["bravo","dorinthea","katsu","rhinar"],picksPerPack:15},heroes:["Bravo","Dorinthea","Katsu","Rhinar"],languages:["English"],release:"Welcome to Rathe",relatedReleases:[],releaseDate:"2019-10-11 12:00",releaseType:"Standalone Booster",setIdentifiers:["wtr"],talents:[]},{cards:219,classes:["Mechanologist","Ranger","Runeblade","Wizard"],deckLinks:[],draft:{heroIdentifiers:["azalea","dash","kano","viserai"],picksPerPack:15},heroes:["Azalea","Dash","Kano","Viserai"],languages:["English"],release:"Arcane Rising",relatedReleases:[],releaseDate:"2020-03-27 12:00",releaseType:"Standalone Booster",setIdentifiers:["arc"],talents:[]},{cards:194,classes:["Brute","Guardian","Mechanologist","Merchant","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Benji","Data Doll","Ira","Kassai","Kavdaen","Kayo","Shiyana"],languages:["English"],release:"Crucible of War",relatedReleases:[],releaseDate:"2020-08-28 12:00",releaseType:"Expansion Booster",setIdentifiers:["cru"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01G7FD2B3YQAMR8NJ4B3M58H96"}],heroes:["Boltyn"],languages:["English"],release:"Boltyn Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["bol"],talents:["Light"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01G7FDVRZP35DFWBRK64AG5TKQ"}],heroes:["Chane"],languages:["English"],release:"Chane Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["chn"],talents:["Shadow"]},{cards:40,classes:["Brute"],languages:["English"],deckLinks:[{url:"https://fabrary.net/decks/01G7B1T1D1M2DAM61K876VJBDK"}],heroes:["Levia"],release:"Levia Blitz Deck",relatedReleases:[],releaseDate:"2021-05-07 12:00",releaseType:"Blitz Deck",setIdentifiers:["lev"],talents:["Shadow"]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01G7FCP2N7N0MNHWAH6JTP0KFN"}],heroes:["Prism"],languages:["English"],relatedReleases:[],releaseDate:"2021-05-07 12:00",release:"Prism Blitz Deck",releaseType:"Blitz Deck",setIdentifiers:["psm"],talents:["Light"]},{cards:307,classes:["Brute","Illusionist","Runeblade","Warrior"],deckLinks:[],draft:{heroIdentifiers:["boltyn","chane","levia","prism"],picksPerPack:15},heroes:["Boltyn","Chane","Levia","Prism"],languages:["English"],release:"Monarch",relatedReleases:["Boltyn Blitz Deck","Chane Blitz Deck","Levia Blitz Deck","Prism Blitz Deck"],releaseDate:"2021-05-07 12:00",releaseType:"Standalone Booster",setIdentifiers:["mon"],talents:["Light","Shadow"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01G7K4D304QQCZZSBT7ABCX4XC"}],heroes:["Briar"],languages:["English"],release:"Briar Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",talents:["Elemental","Earth","Lightning"],setIdentifiers:["bri"]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01G7K3WGPVKVDXG2J013GXSXNP"}],heroes:["Lexi"],languages:["English"],release:"Lexi Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["lxi"],talents:["Elemental","Ice","Lightning"]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01G7K464J7VS0K7HKW5E395TBK"}],heroes:["Oldhim"],languages:["English"],release:"Oldhim Blitz Deck",relatedReleases:[],releaseDate:"2021-11-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["old"],talents:["Elemental","Earth","Ice"]},{cards:238,classes:["Guardian","Ranger","Runeblade"],deckLinks:[],draft:{heroIdentifiers:["briar","lexi","oldhim"],picksPerPack:15},heroes:["Briar","Lexi","Oldhim"],languages:["English"],release:"Tales of Aria",relatedReleases:["Briar Blitz Deck","Lexi Blitz Deck","Oldhim Blitz Deck"],releaseDate:"2021-09-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["ele"],talents:["Elemental","Earth","Ice","Lightning"]},{cards:198,classes:["Brute","Guardian","Illusionist","Mechanologist","Merchant","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Genis","Starvo","Valda"],languages:["English"],release:"Everfest",relatedReleases:[],releaseDate:"2022-02-04 12:00",releaseType:"Expansion Booster",setIdentifiers:["evr"],talents:["Elemental","Earth","Ice","Lightning"]},{cards:423,classes:["Brute","Guardian","Mechanologist","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Azalea","Benji","Bravo","Dash","Data Doll","Dorinthea","Ira","Kassai","Katsu","Kayo","Rhinar","Viserai","Kano"],languages:["English"],release:"History Pack 1",relatedReleases:[],releaseDate:"2022-05-06 12:00",releaseType:"History Pack",setIdentifiers:["1hp","hp1"],talents:[]},{cards:80,classes:["Brute","Warrior"],deckLinks:[{name:"Dorinthea",url:"https://fabrary.net/decks/01GA4WTNSD12YTQB4FY8EYYNG5"},{name:"Rhinar",url:"https://fabrary.net/decks/01GA4WZKX9VEWKKPX7Y7H3MG1F"}],heroes:["Dorinthea","Rhinar"],languages:["English"],release:"Classic Battles: Rhinar vs Dorinthea",relatedReleases:[],releaseDate:"2022-05-27 12:00",releaseType:"Classic Battles",setIdentifiers:["dvr","rvd"],talents:[]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01G76H1R1ERRBRKS7RVCQAB8RX"}],heroes:["Dromai"],languages:["English"],relatedReleases:[],releaseDate:"2022-06-24 12:00",release:"Dromai Blitz Deck",releaseType:"Blitz Deck",setIdentifiers:["dro"],talents:["Draconic"]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01G76H7RG7GN5ZA10F3BJBH740"}],heroes:["Fai"],languages:["English"],release:"Fai Blitz Deck",relatedReleases:[],releaseDate:"2022-06-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["fai"],talents:["Draconic"]},{cards:226,classes:["Illusionist","Ninja","Wizard"],deckLinks:[],draft:{heroIdentifiers:["dromai","fai","iyslander"],picksPerPack:14},heroes:["Dromai","Fai","Iyslander"],languages:["English"],release:"Uprising",relatedReleases:["Dromai Blitz Deck","Fai Blitz Deck"],releaseDate:"2022-06-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["upr"],talents:["Draconic","Elemental","Ice"]},{cards:247,classes:["Assassin","Brute","Guardian","Illusionist","Mechanologist","Ninja","Ranger","Runeblade","Warrior","Wizard"],deckLinks:[],heroes:["Arakni","Emperor","Yoji"],languages:["English"],release:"Dynasty",relatedReleases:[],releaseDate:"2022-11-11 12:00",releaseType:"Expansion Booster",setIdentifiers:["dyn"],talents:["Royal"]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01GW25PNWBW2FPDHRNTPSET0GT"}],heroes:["Arakni"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Arakni Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["ara"],talents:[]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01GW26RNH1Q1J0S1VFXPN609S2"}],heroes:["Azalea"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Azalea Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["azl"],talents:[]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GW28622XSVAK7H9RXZVAVKM0"}],heroes:["Benji"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Benji Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["ben"],talents:[]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01GW28TF5FXFKJ5CGRNXB84CG6"}],heroes:["Katsu"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Katsu Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["kat"],talents:[]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01GW29DPNZ3XVBJQHHFQHHHDGN"}],heroes:["Riptide"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Riptide Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["rip"],talents:[]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01GW2945GHPH2YSX3FTS7HCBT1"}],heroes:["Uzuri"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Uzuri Blitz Deck",relatedReleases:[],releaseDate:"2023-03-24 12:00",releaseType:"Blitz Deck",setIdentifiers:["uzu"],talents:[]},{cards:239,classes:["Assassin","Ranger","Ninja"],deckLinks:[],draft:{heroIdentifiers:["arakni-solitary-confinement","azalea","benji-the-piercing-wind","katsu","riptide","uzuri"],picksPerPack:14},heroes:["Arakni","Azalea","Benji","Katsu","Riptide","Uzuri"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Outsiders",relatedReleases:["Arakni Blitz Deck","Azalea Blitz Deck","Benji Blitz Deck","Katsu Blitz Deck","Riptide Blitz Deck","Uzuri Blitz Deck"],releaseDate:"2023-03-24 12:00",releaseType:"Standalone Booster",setIdentifiers:["out"],talents:[]},{cards:236,classes:["Illusionist","Runeblade","Warrior","Brute"],deckLinks:[],heroes:["Prism","Vynnset","Boltyn","Levia"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Dusk till Dawn",relatedReleases:[],releaseDate:"2023-07-14 12:00",releaseType:"Expansion Booster",setIdentifiers:["dtd"],talents:["Light","Shadow"]},{cards:107,classes:["Mechanologist","Bard","Guardian","Ninja"],deckLinks:[{name:"Brevant",url:"https://fabrary.net/decks/01HAXKPFH7ZHPDEJZH967VNRW6"},{name:"Ira",url:"https://fabrary.net/decks/01HAXKZMTRN4FR7CFTQA11A70N"},{name:"Melody",url:"https://fabrary.net/decks/01HAXKSFPXGCEH99PDZJ32V4N9"},{name:"Teklovossen",url:"https://fabrary.net/decks/01HAXKZMTRN4FR7CFTQA11A70N"}],heroes:["Teklovossen","Melody","Brevant","Ira"],languages:["English"],release:"Round the Table: TCC x LSS",relatedReleases:[],releaseDate:"2023-09-29 12:00",releaseType:"Round the Table",talents:[],setIdentifiers:["tcc"]},{cards:251,classes:["Mechanologist"],deckLinks:[],draft:{heroIdentifiers:["dash-database","maxx-nitro","teklovossen"],picksPerPack:14},heroes:["Dash","Maxx","Teklovossen"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],raritiesExcludedInLimited:["Legendary","Fabled"],release:"Bright Lights",relatedReleases:[],releaseDate:"2023-10-06 12:00",releaseType:"Standalone Booster",setIdentifiers:["evo"],talents:[]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01HN3J1X1NQ9TB9RTVWV42JG46"}],heroes:["Betsy"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Betsy Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["bet"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01HN3SHBEQBRECYK6ZN1CHRADR"}],heroes:["Kassai"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Kassai Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["ksi"],talents:[]},{cards:40,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HN3HK89NA910SK3FQV84H46Z"}],heroes:["Kayo"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Kayo Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["kyo"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01HN3GP5ZJ1NRC0XBYNE45XQE8"}],heroes:["Olympia"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Olympia Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["ola"],talents:[]},{cards:40,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HN3Q4GBDMEFSX98HEN9ET308"}],heroes:["Rhinar"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Rhinar Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["rhi"],talents:[]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01HN3K8ZV7KBRRJKPHW4B13J1K"}],heroes:["Victor"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],release:"Victor Blitz Deck",relatedReleases:[],releaseDate:"2024-02-02 12:00",releaseType:"Blitz Deck",setIdentifiers:["vic"],talents:[]},{cards:255,classes:["Brute","Guardian","Warrior"],deckLinks:[],draft:{heroIdentifiers:["kassai","betsy","kayo","olympia","rhinar","victor-goldmane"],picksPerPack:14},heroes:["Kassai","Betsy","Kayo","Olympia","Rhinar","Victor"],languages:["English","Fran\xE7ais","Deutsch","Italiano","Espa\xF1ol"],raritiesExcludedInLimited:["Legendary","Fabled"],release:"Heavy Hitters",relatedReleases:["Betsy Blitz Deck","Kassai Blitz Deck","Kayo Blitz Deck","Olympia Blitz Deck","Rhinar Blitz Deck","Victor Blitz Deck"],releaseDate:"2024-02-02 12:00",releaseType:"Standalone Booster",setIdentifiers:["hvy"],talents:[]},{cards:66,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01HWNCK2BYPVKK6701052YYXMZ"}],heroes:["Kayo"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Kayo",relatedReleases:[],releaseDate:"2024-05-03 12:00",releaseType:"Armory Deck",setIdentifiers:["ako"],talents:[]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z23X2PRQCJ100FP4CAZGK"}],heroes:["Enigma"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Enigma Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["eng"],talents:["Mystic"]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z4BD3TRMS3CP1ME4ZP3T6"}],heroes:["Nuu"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Nuu Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["nuu"],talents:["Mystic"]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01HX5Z395FD35CM24QCJQKJER1"}],heroes:["Zen"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Zen Blitz Deck",relatedReleases:[],releaseDate:"2024-05-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["zen"],talents:["Mystic"]},{cards:239,classes:["Assassin","Illusionist","Ninja"],deckLinks:[],draft:{heroIdentifiers:["enigma","nuu","zen"],picksPerPack:14},heroes:["Enigma","Nuu","Zen"],languages:I,raritiesExcludedInLimited:["Legendary","Fabled"],release:"Part the Mistveil",relatedReleases:["Enigma Blitz Deck","Nuu Blitz Deck","Zen Blitz Deck"],releaseDate:"2024-05-31 12:00",releaseType:"Standalone Booster",setIdentifiers:["mst"],talents:["Mystic"]},{cards:66,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01J202NH0RG8S0V8WXH1FWB2AH"}],heroes:["Boltyn"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Boltyn",relatedReleases:[],releaseDate:"2024-07-12 12:00",releaseType:"Armory Deck",setIdentifiers:["asb"],talents:["Light"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J45SYSM2ZERW6CWY283ZAT1S"}],heroes:["Aurora"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"1st Strike: Aurora",relatedReleases:[],releaseDate:"2024-08-01 12:00",releaseType:"1st Strike",setIdentifiers:["aur"],talents:["Lightning"]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01J45SWXNDV5XD8PTBACAV8NZ1"}],heroes:["Terra"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"1st Strike: Terra",relatedReleases:[],releaseDate:"2024-08-01 12:00",releaseType:"1st Strike",setIdentifiers:["ter"],talents:["Earth"]},{cards:66,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01J3GKKSTM773CW7BG3RRJ5FJH"}],heroes:["Azalea"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Azalea",relatedReleases:[],releaseDate:"2024-08-02 12:00",releaseType:"Armory Deck",setIdentifiers:["aaz"],talents:[]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J68KF1TFNN62TC0G7M993FTY"}],heroes:["Aurora"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Aurora Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["aua"],talents:["Lightning"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01J68KFRMJFKRQYJJ7THG1GMTB"}],heroes:["Florian"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Florian Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["flr"],talents:["Earth"]},{cards:40,classes:["Wizard"],deckLinks:[{url:"https://fabrary.net/decks/01J68KGA3JVKFHEXGKYW0441CY"}],heroes:["Oscilio"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Oscilio Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["osc"],talents:["Lightning"]},{cards:40,classes:["Wizard"],deckLinks:[{url:"https://fabrary.net/decks/01J68KGT3XD3HMVVRFT174QNMF"}],heroes:["Verdance"],languages:["English","Fran\xE7ais","Deutsch","Italiano","\u65E5\u672C\u8A9E","Espa\xF1ol"],release:"Verdance Blitz Deck",relatedReleases:[],releaseDate:"2024-09-20 12:00",releaseType:"Blitz Deck",setIdentifiers:["ver"],talents:["Earth"]},{cards:258,classes:["Runeblade","Wizard"],deckLinks:[],draft:{heroIdentifiers:["aurora","florian","oscilio","verdance"],picksPerPack:14},heroes:["Aurora","Florian","Oscilio","Verdance"],languages:I,raritiesExcludedInLimited:["Legendary","Fabled"],release:"Rosetta",relatedReleases:["Aurora Blitz Deck","Florian Blitz Deck","Oscilio Blitz Deck","Verdance Blitz Deck"],releaseDate:"2024-09-20 12:00",releaseType:"Standalone Booster",setIdentifiers:["ros"],talents:["Elemental","Earth","Lightning"]},{cards:66,classes:["Mechanologist"],deckLinks:[{url:"https://fabrary.net/decks/01J9822H5PANJAFQVMC4TPK4Z1"}],heroes:["Dash"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck: Dash",relatedReleases:[],releaseDate:"2024-10-18 12:00",releaseType:"Armory Deck",setIdentifiers:["aio"],talents:[]},{cards:30,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01JCPPENK52DTRBJZMWQF8S0X2"}],heroes:["Jarl"],languages:["English","Fran\xE7ais","Italiano","\u65E5\u672C\u8A9E"],release:"Armory Deck Origins: Jarl",relatedReleases:[],releaseDate:"2024-11-29 12:00",releaseType:"Armory Deck",setIdentifiers:["ajv"],talents:["Elemental","Earth","Ice"]},{cards:40,classes:["Assassin"],deckLinks:[],heroes:["Arakni"],languages:I,release:"Arakni Hunted Blitz Deck",relatedReleases:[],releaseDate:"2025-01-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["ark"],talents:[]},{cards:40,classes:["Assassin"],deckLinks:[],heroes:["Crackni"],languages:I,release:"Arakni, Web of Deceit Blitz Deck",relatedReleases:[],releaseDate:"2025-01-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["wod"],talents:[]},{cards:40,classes:["Ninja"],deckLinks:[],heroes:["Cindra"],languages:I,release:"Cindra Blitz Deck",relatedReleases:[],releaseDate:"2025-01-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["cin"],talents:["Draconic","Royal"]},{cards:40,classes:["Warrior"],deckLinks:[],heroes:["Fang"],languages:I,release:"Fang Blitz Deck",relatedReleases:[],releaseDate:"2025-01-31 12:00",releaseType:"Blitz Deck",setIdentifiers:["fng"],talents:["Draconic","Royal"]},{cards:265,classes:["Assassin","Ninja","Warrior"],deckLinks:[],draft:{heroIdentifiers:["arakni-web-of-deceit","cindra","fang"],picksPerPack:14},heroes:["Arakni","Cindra","Fang"],heroOverrides:{Arakni:"Crackni"},languages:I,raritiesExcludedInLimited:["Legendary","Fabled"],release:"The Hunted",relatedReleases:["Arakni Hunted Blitz Deck","Arakni, Web of Deceit Blitz Deck","Cindra Blitz Deck","Fang Blitz Deck"],releaseDate:"2025-01-31 12:00",releaseType:"Standalone Booster",setIdentifiers:["hnt"],talents:["Chaos","Draconic","Royal"]},{cards:28,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01JN2DEG4X2V8DVMCWFBWQTTSC"}],heroes:["Aurora"],languages:["English","Fran\xE7ais","\u65E5\u672C\u8A9E"],release:"Armory Deck: Aurora",relatedReleases:[],releaseDate:"2025-03-14 12:00",releaseType:"Armory Deck",setIdentifiers:["ast"],talents:["Elemental","Lightning"]},{cards:28,classes:["Mechanologist"],deckLinks:[{url:"https://fabrary.net/decks/01JRH0631MH5A9JPVGTP3TKJXN"}],heroes:["Maxx"],languages:["English","Fran\xE7ais","\u65E5\u672C\u8A9E"],release:"Armory Deck: Maxx",relatedReleases:[],releaseDate:"2025-04-17 12:00",releaseType:"Armory Deck",setIdentifiers:["amx"],talents:[]},{cards:30,classes:["Necromancer","Pirate"],deckLinks:[{url:"https://fabrary.net/decks/01JVYZ0NCHP49HAP40C23P14E3"}],heroes:["Gravy Bones"],languages:o,release:"Armory Deck: Gravy Bones",relatedReleases:[],releaseDate:"2025-05-30 12:00",releaseType:"Armory Deck",setIdentifiers:["agb"],talents:[]},{cards:265,classes:["Mechanologist","Necromancer","Pirate","Ranger","Thief"],deckLinks:[],draft:{heroIdentifiers:["gravy-bones","marlynn","puffin","scurv-stowaway"],picksPerPack:14},heroes:["Gravy Bones","Marlynn","Puffin","Scurv"],languages:o,raritiesExcludedInLimited:["Fabled","Legendary"],release:"High Seas",relatedReleases:[],releaseDate:"2025-06-06 12:00",releaseType:"Standalone Booster",setIdentifiers:["sea"],talents:[]},{cards:30,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01JZ97KZ5TQV8E0FYMAM0XVNX7"}],heroes:["Ira"],languages:o,release:"Armory Deck: Ira",relatedReleases:[],releaseDate:"2025-07-11 12:00",releaseType:"Armory Deck",setIdentifiers:["asr"],talents:[]},{cards:30,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01K0ZQGQYJPH6B90VNT3GJ8C7Q"}],heroes:["Viserai"],languages:o,release:"Armory Deck Legends: Viserai",relatedReleases:[],releaseDate:"2025-07-24 12:00",releaseType:"Armory Deck",setIdentifiers:["avs"],talents:[]},{cards:30,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01K0ZQ8FVR8DQB7YC9N7KAB7N8"}],heroes:["Prism"],languages:o,release:"Armory Deck Legends: Prism",relatedReleases:[],releaseDate:"2025-07-24 12:00",releaseType:"Armory Deck",setIdentifiers:["apr"],talents:["Light"]},{cards:130,classes:["Guardian"],deckLinks:[],heroes:["Valda"],languages:o,release:"Mastery Pack: Guardian",relatedReleases:[],releaseDate:"2025-08-08 12:00",releaseType:"Mastery Pack",setIdentifiers:["mpg"],talents:[]},{cards:30,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01K1GBSGB17GT925NVJ0PM0G9Y"}],heroes:["Bravo"],languages:o,release:"Bravo Demo Deck",relatedReleases:[],releaseDate:"2025-08-08 12:00",releaseType:"Welcome Deck",setIdentifiers:["bdd"],talents:[]},{cards:107,classes:["Guardian"],deckLinks:[],heroes:["Bolfar","Bravo","Kox","Crix","Reya","Victor"],languages:["English"],release:"Smash Palace",relatedReleases:[],releaseDate:"2025-09-29 12:00",releaseType:"Box Set",talents:[],setIdentifiers:["smp"]},{cards:276,classes:["Brute","Guardian"],deckLinks:[],draft:{heroIdentifiers:["tuffnut","pleiades","kayo-strong-arm","lyath-goldmane"],picksPerPack:14},heroes:["Kayo","Lyath","Pleiades","Tuffnut"],heroOverrides:{Kayo:"RKO"},languages:o,raritiesExcludedInLimited:["Fabled","Legendary"],release:"Super Slam",relatedReleases:[],releaseDate:"2025-09-26 12:00",releaseType:"Standalone Booster",setIdentifiers:["sup"],talents:["Revered","Reviled"]},{cards:30,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01K4XX1ERKXRYW8XHWE9BTAS4W"}],heroes:["Pleiades"],languages:o,release:"Armory Deck: Pleiades",relatedReleases:[],releaseDate:"2025-09-19 12:00",releaseType:"Armory Deck",setIdentifiers:["aps"],talents:["Revered"]},{cards:30,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01K74RSFG9RTVPVN534DZPJJNQ"}],heroes:["Rhinar"],languages:o,release:"Armory Deck: Rhinar",relatedReleases:[],releaseDate:"2025-11-14 12:00",releaseType:"Armory Deck",setIdentifiers:["arr"],talents:[]},{cards:30,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01K74RXDPRPJT9YWGFVAPHECDF"}],heroes:["Slippy"],languages:o,release:"Armory Deck: Arakni",relatedReleases:[],releaseDate:"2025-12-15 12:00",releaseType:"Armory Deck",setIdentifiers:["aac"],talents:["Chaos"]},{cards:348,classes:["Assassin","Brute","Generic","Guardian","Illusionist","Mechanologist","Necromancer","Ninja","Pirate","Ranger","Runeblade","Thief","Warrior","Wizard"],deckLinks:[],heroes:[],languages:o,release:"Compendium of Rathe",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Expansion Booster",setIdentifiers:["pen"],talents:["Chaos","Draconic","Earth","Elemental","Ice","Light","Lightning","Mystic","Revered","Reviled","Shadow"]},{cards:40,classes:["Assassin"],deckLinks:[{url:"https://fabrary.net/decks/01KFWFQYASKA6C1FGXXB0E8EGE"}],heroes:["Arakni"],languages:o,release:"Arakni Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sar"],talents:["Chaos"]},{cards:40,classes:["Ranger"],deckLinks:[{url:"https://fabrary.net/decks/01KFWFSGRBJS7BK87T8YF24FYC"}],heroes:["Azalea"],languages:o,release:"Azalea Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["saz"],talents:[]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01KFWFTPVMBMZ9TT5GVT5QRRRM"}],heroes:["Bravo"],languages:o,release:"Bravo Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sbr"],talents:[]},{cards:40,classes:["Mechanologist"],deckLinks:[{url:"https://fabrary.net/decks/01KFWFW6EAT7VX44MKN8GCVQSM"}],heroes:["Dash"],languages:o,release:"Dash Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sda"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01KFWFXK3QM2XEVA08D5Y1R3CF"}],heroes:["Dorinthea"],languages:o,release:"Dorinthea Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sdo"],talents:[]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01KFWFYETE5DC1GK586XYXXFE6"}],heroes:["Enigma"],languages:o,release:"Enigma Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sen"],talents:["Mystic"]},{cards:40,classes:["Ninja"],deckLinks:[{url:"https://fabrary.net/decks/01KFWD89C2CQFA1TA331EJ1Q2K"}],heroes:["Fai"],languages:o,release:"Fai Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sfa"],talents:["Draconic"]},{cards:40,classes:["Wizard"],deckLinks:[{url:"https://fabrary.net/decks/01KFWD9YWCRZ825T3AK8ZTG0G4"}],heroes:["Iyslander"],languages:o,release:"Iyslander Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["siy"],talents:["Elemental","Ice"]},{cards:40,classes:["Brute"],deckLinks:[{url:"https://fabrary.net/decks/01KFWFZ9Z5W17F0NHKQ44811Q0"}],heroes:["Kayo"],languages:o,release:"Kayo Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["ska"],talents:[]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01KFWG05XQJT0NRVNGBZ4EJSSP"}],heroes:["Viserai"],languages:o,release:"Viserai Silver Age Deck",relatedReleases:[],releaseDate:"2026-02-13 12:00",releaseType:"Silver Age Deck",setIdentifiers:["svi"],talents:[]},{cards:27,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01KNHHE1MY39BC4PXYXMTJVT1M"}],heroes:["Hala"],languages:o,release:"Armory Deck Origins: Hala",relatedReleases:[],releaseDate:"2026-04-17 12:00",releaseType:"Armory Deck",setIdentifiers:["aha"],talents:[]},{cards:251,classes:["Illusionist","Runeblade","Wizard"],deckLinks:[],draft:{heroIdentifiers:["aurora-emissary-of-lightning","oscilio-scion-of-the-third-age","zyggy"],picksPerPack:14},heroes:["Aurora2","Broscilio","Zyggy"],heroOverrides:{Aurora2:"Aurora",Broscilio:"Oscilio"},languages:o,raritiesExcludedInLimited:["Legendary","Fabled"],release:"Omens of the Third Age",relatedReleases:[],releaseDate:"2026-06-05 12:00",releaseType:"Standalone Booster",setIdentifiers:["omn"],talents:["Lightning"]},{cards:40,classes:["Illusionist"],deckLinks:[{url:"https://fabrary.net/decks/01KREWW7RJS0GZ2PCCD4BM47QY"}],heroes:["Zyggy"],languages:o,release:"Armory Deck: Zyggy",relatedReleases:[],releaseDate:"2026-06-05 12:00",releaseType:"Armory Deck",setIdentifiers:["azs"],talents:["Lightning"]},{cards:40,classes:["Wizard"],deckLinks:[{url:"https://fabrary.net/decks/01KP7ZQMB111K73XT88YV5YN7C"}],heroes:["Blaze"],languages:o,release:"Blaze Silver Age Deck",relatedReleases:[],releaseDate:"2026-06-05 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sbz"],talents:[]},{cards:40,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01KP7ZQ311EMGC2S97KC79AEX0"}],heroes:["Boltyn"],languages:o,release:"Boltyn Silver Age Deck",relatedReleases:[],releaseDate:"2026-06-05 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sbl"],talents:["Light"]},{cards:40,classes:["Runeblade"],deckLinks:[{url:"https://fabrary.net/decks/01KP7ZP4HXQTBZ2G37PMJ9W20N"}],heroes:["Briar"],languages:o,release:"Briar Silver Age Deck",relatedReleases:[],releaseDate:"2026-06-05 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sba"],talents:["Elemental","Earth","Lightning"]},{cards:40,classes:["Pirate","Necromancer"],deckLinks:[{url:"https://fabrary.net/decks/01KP7ZNJYM2QVMNRS4DQKFZHQ4"}],heroes:["Gravy Bones"],languages:o,release:"Gravy Bones Silver Age Deck",relatedReleases:[],releaseDate:"2026-06-05 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sgb"],talents:[]},{cards:40,classes:["Guardian"],deckLinks:[{url:"https://fabrary.net/decks/01KP7ZMZGHMACW17CRP12E7R45"}],heroes:["Lyath"],languages:o,release:"Lyath Silver Age Deck",relatedReleases:[],releaseDate:"2026-06-05 12:00",releaseType:"Silver Age Deck",setIdentifiers:["sly"],talents:["Reviled"]},{cards:156,classes:["Warrior"],deckLinks:[],heroes:["Dorinthea"],languages:o,release:"Mastery Pack: Warrior",relatedReleases:[],releaseDate:"2026-08-07 12:00",releaseType:"Mastery Pack",setIdentifiers:["mpw"],talents:[]},{cards:30,classes:["Warrior"],deckLinks:[],heroes:["Olympia"],languages:o,release:"Armory Deck: Olympia",relatedReleases:[],releaseDate:"2026-08-07 12:00",releaseType:"Armory Deck",setIdentifiers:["aol"],talents:[]},{cards:30,classes:["Warrior"],deckLinks:[{url:"https://fabrary.net/decks/01KP7ZHK1HMQCVMFH6W62FTVZ2"}],heroes:["Dorinthea"],languages:o,release:"Dorinthea Demo Deck",relatedReleases:[],releaseDate:"2026-08-07 12:00",releaseType:"Welcome Deck",setIdentifiers:["ddd"],talents:[]},{cards:250,classes:["Runeblade"],deckLinks:[],heroes:["Baalghor"],languages:o,release:"Usurp the Shadow Throne",relatedReleases:[],releaseDate:"2026-09-25 12:00",releaseType:"Expansion Booster",setIdentifiers:["iar"],talents:["Shadow"]}],O={wtr:"Welcome to Rathe",arc:"Arcane Rising",cru:"Crucible of War",mon:"Monarch",ele:"Tales of Aria",evr:"Everfest","1hp":"History Pack 1",hp1:"History Pack 1",upr:"Uprising",dyn:"Dynasty",out:"Outsiders",dtd:"Dusk till Dawn",evo:"Bright Lights",hvy:"Heavy Hitters",mst:"Part the Mistveil",ros:"Rosetta",hnt:"The Hunted",sea:"High Seas",mpg:"Mastery Pack: Guardian",sup:"Super Slam",pen:"Compendium of Rathe",omn:"Omens of the Third Age",mpw:"Mastery Pack: Warrior",iar:"Usurp the Shadow Throne"},Ae={...O,aac:"Armory Deck: Arakni",aaz:"Armory Deck: Azalea",asb:"Armory Deck: Boltyn",aio:"Armory Deck: Dash",ako:"Armory Deck: Kayo",ajv:"Armory Deck Origins: Jarl",ast:"Armory Deck: Aurora",amx:"Armory Deck: Maxx",agb:"Armory Deck: Gravy Bones",asr:"Armory Deck: Ira",aps:"Armory Deck: Pleiades",apr:"Armory Deck Legends: Prism",arr:"Armory Deck: Rhinar",avs:"Armory Deck Legends: Viserai",aha:"Armory Deck Origins: Hala",azs:"Armory Deck: Zyggy",aol:"Armory Deck: Olympia",ara:"Arakni Blitz Deck",ark:"Arakni Hunted Blitz Deck",aua:"Aurora Blitz Deck",azl:"Azalea Blitz Deck",ben:"Benji Blitz Deck",bet:"Betsy Blitz Deck",bol:"Boltyn Blitz Deck",bri:"Briar Blitz Deck",chn:"Chane Blitz Deck",cin:"Cindra Blitz Deck",dro:"Dromai Blitz Deck",eng:"Enigma Blitz Deck",fai:"Fai Blitz Deck",fng:"Fang Blitz Deck",flr:"Florian Blitz Deck",kat:"Katsu Blitz Deck",ksi:"Kassai Blitz Deck",kyo:"Kayo Blitz Deck",lev:"Levia Blitz Deck",lxi:"Lexi Blitz Deck",nuu:"Nuu Blitz Deck",old:"Oldhim Blitz Deck",ola:"Olympia Blitz Deck",osc:"Oscilio Blitz Deck",psm:"Prism Blitz Deck",rip:"Riptide Blitz Deck",rhi:"Rhinar Blitz Deck",uzu:"Uzuri Blitz Deck",ver:"Verdance Blitz Deck",vic:"Victor Blitz Deck",zen:"Zen Blitz Deck",wod:"Arakni, Web of Deceit Blitz Deck",aur:"1st Strike: Aurora",ter:"1st Strike: Terra",sar:"Arakni Silver Age Deck",saz:"Azalea Silver Age Deck",sba:"Briar Silver Age Deck",sbl:"Boltyn Silver Age Deck",sbr:"Bravo Silver Age Deck",sbz:"Blaze Silver Age Deck",sda:"Dash Silver Age Deck",sdo:"Dorinthea Silver Age Deck",sen:"Enigma Silver Age Deck",sfa:"Fai Silver Age Deck",sgb:"Gravy Bones Silver Age Deck",siy:"Iyslander Silver Age Deck",ska:"Kayo Silver Age Deck",sly:"Lyath Silver Age Deck",svi:"Viserai Silver Age Deck",bdd:"Bravo Demo Deck",ddd:"Dorinthea Demo Deck",dvr:"Classic Battles: Rhinar vs Dorinthea",rvd:"Classic Battles: Rhinar vs Dorinthea",ira:"Ira Welcome Deck",tcc:"Round the Table: TCC x LSS",smp:"Smash Palace",bvo:"Bravo Hero Deck",tea:"Dorinthea Hero Deck",ksu:"Katsu Hero Deck",rnr:"Rhinar Hero Deck",gem:"GEM",tnp:"Tournament Pack",anq:"Promos",con:"Promos",fab:"Promos",her:"Promos",jdg:"Promos",lgs:"Promos",lss:"Promos",oxo:"Promos",xxx:"Promos",win:"Promos"},_={};for(let[s,n]of Object.entries(Ae)){let c=_[n];c?c.push(s):_[n]=[s]}var Je=_,Ke=[{chapter:1,name:"Silver Age Chapter 1",relatedReleases:["Bravo Silver Age Deck","Dash Silver Age Deck","Kayo Silver Age Deck","Iyslander Silver Age Deck","Viserai Silver Age Deck"],releaseDate:"2026-02-13 12:00"},{chapter:2,name:"Silver Age Chapter 2",relatedReleases:["Arakni Silver Age Deck","Azalea Silver Age Deck","Dorinthea Silver Age Deck","Enigma Silver Age Deck","Fai Silver Age Deck"],releaseDate:"2026-02-13 12:00"},{chapter:3,name:"Silver Age Chapter 3",relatedReleases:["Blaze Silver Age Deck","Boltyn Silver Age Deck","Briar Silver Age Deck","Gravy Bones Silver Age Deck","Lyath Silver Age Deck"],releaseDate:"2026-06-05 12:00"}];var He={},Ze={"FAB470-RFB":"-V2","FAB470-RFC":"-V3","OMN203-MVB":"-V2","OMN203-MVC":"-V3","MPG112-A":"-V2","MPG112-B":"-V3",MPG112_V2:"-V2",MPG112_V3:"-V3",MST158_V3:"-V3","ROS162-B":"-V2",ROS162_V2:"-V2","ROS008-MV_V2_BACK":"-V3",SUP009_V3:"-V3",SUP009_V3_BACK:"-V3","HER146-ARF":"-ARF"},Xe=s=>{let n=He[s.set]||"",c=`${s.identifier}${n}`,l=s.edition?`-${s.edition}`:"",g=s.foiling?`-${s.foiling}`:"",r=s.treatments?.length?`-${s.treatments.sort().join("-")}`:s.treatment?`-${s.treatment}`:"",t=s.image?.toLowerCase().includes("back")?"-Back":"",u=Ze[s.image?.toUpperCase()||""]||"";return`${c}${l}${g}${r}${t}${u}`},Qe=Object.keys(O).filter(s=>!s.toLowerCase().includes("hp")).reverse().map(s=>s.toUpperCase()),je={"adaptive-plating":{print:"EVO013-Cold"},"command-and-conquer-red":{print:"ANQ009-Rainbow-Alternate Art-Alternate Border-Extended Art"},"cracked-bauble-yellow":{print:"LGS083-Cold"},"dash-io":{print:"HER089-Cold"},"fate-foreseen-red":{print:"FAB024-Rainbow"},"florian-rotwood-harbinger":{print:"ROS001-Cold-Full Art-Back"},"pleiades-superstar":{print:"SUP009-Cold-Full Art"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},"prism-sculptor-of-arc-light":{print:"HER069-Cold-Full Art-Back"},quicken:{print:"EVO250"},"ravenous-rabble-red":{print:"FAB190-Rainbow-Extended Art"},"rockslide-trap-blue":{print:"LGS152-Rainbow"},"rosetta-thorn":{print:"ROS256-Cold"},"sigil-of-solace-red":{print:"FAB178-Rainbow-Alternate Art-Extended Art"},"spectral-shield":{print:"MST158-Alternate Art-V3"},"tripwire-trap-red":{print:"LGS150-Rainbow"},"viserai-rune-blood":{print:"HER011-Cold"},"wreck-havoc-red":{print:"OUT198"}},Be=["JDG044-Full Art-Back"],Ue=(s,n)=>{let{cardIdentifier:c}=s,l=Object.entries(je).find(([r])=>r===c);if(!!l&&n.some(r=>{let[,{print:t}]=l;return r.print===t})){let[,{print:r}]=l;return n.find(u=>u.print===r)||n[0]}else{let r,t,u,A,D,m,L,d,P,p,z,v,E,V,h,F,C,G,b,M,x;for(let f of n){let{edition:k,foiling:y,identifier:S,image:J,print:K,treatments:T}=f,B=J?.toUpperCase()||"",R=S.toLowerCase().includes("win"),H=!!B,Z=y==="Gold",X=B.includes("HP"),Q=Be.includes(K);if(H&&!R&&!X&&!Q&&!Z){if(r||(r=f),T?.includes("Full Art")){if(z=f,y==="Cold"&&(m=f,B.includes("_V3"))){L=f;break}B.includes("BACK")?P=f:p=f}T?.includes("Extended Art")&&(d=f,y==="Cold"&&(D=f),y||(v=f),k==="Promo"&&(E=f)),T?.includes("Alternate Art")&&(t=f),T?.includes("Alternate Border")&&(u=f),T?.includes("Alternate Text")&&(A=f),(B.includes("_V2")||B.includes("-MV"))&&T?.includes("Full Art")&&(h=f),k==="Alpha"?F=f:k==="First"?C=f:k==="Promo"?G=f:k==="Unlimited"&&(b=f),y==="Cold"&&(M=f,k==="Promo"&&(x=f))}}return V||L||p||P||m||z||D||h||E||v||d||u||t||A||x||F||C||G||b||M||r}},Ye={"command-and-conquer-red":{print:"HNT260"},"fyendals-spring-tunic":{print:"EVO249"},might:{print:"TER028"},"pitfall-trap-yellow":{print:"LGS151-Rainbow"},"portside-exchange-blue":{print:"SEA145"},"rockslide-trap-blue":{print:"LGS152-Rainbow"},"rosetta-thorn":{print:"ELE222-First"},"spectral-shield":{print:"MST158"},"tripwire-trap-red":{print:"LGS150-Rainbow"},vigor:{print:"HVY242"},"wreck-havoc-red":{print:"OUT198"}},_e=(s,n)=>{let{cardIdentifier:c}=s,l=Object.entries(Ye).find(([r])=>r===c);if(!!l&&n.some(r=>{let[,{print:t}]=l;return r.print===t})){let[,{print:r}]=l;return n.find(u=>u.print===r)||n[0]}else{let r,t;for(let u of n){let{edition:A,image:D,treatment:m}=u,L=!!D,d=D?.includes("HP"),P=D?.includes("BACK"),p=(D||"").length>10||D?.includes("width");if(L&&!d&&!P&&!p&&(r||(r=u),!t&&A!=="Promo"&&m!=="Full Art"&&(t=u)),r&&t)break}return t||r||n[0]}},$e={},we=(s,n)=>{let{cardIdentifier:c}=s,l=Object.entries($e).find(([r])=>r===c);if(!!l&&n.some(r=>{let[,{print:t}]=l;return r.print===t})){let[,{print:r}]=l;return n.find(u=>u.print===r)||n[0]}else{let r=n.length>0?n[0]:void 0;for(let t of Object.values(O)){let u=n.find(A=>A.set===t);if(u){r=u;break}}return r}},qe={},ea=(s,n)=>{let{cardIdentifier:c}=s,l=Object.entries(qe).find(([r])=>r===c);if(!!l&&n.some(r=>{let[,{print:t}]=l;return r.print===t})){let[,{print:r}]=l;return n.find(u=>u.print===r)||n[0]}else{let r,t,u,A,D,m,L,d,P,p,z,v,E,V,h,F,C,G,b,M,x,N;for(let k of n){let{edition:y,foiling:S,identifier:J,image:K,print:T,treatments:B}=k,R=K?.toUpperCase()||"",H=J.toLowerCase().includes("win"),Z=!!R,X=R.includes("HP"),Q=Be.includes(T);if(Z&&!H&&!X&&!Q){if(r||(r=k),B?.includes("Full Art")){if(z=k,S==="Cold"&&(m=k,R.includes("_V3"))){L=k;break}R.includes("BACK")?P=k:p=k}B?.includes("Extended Art")&&(d=k,S==="Cold"&&(D=k),S||(v=k),y==="Promo"&&(E=k)),B?.includes("Alternate Art")&&(t=k),B?.includes("Alternate Border")&&(u=k),B?.includes("Alternate Text")&&(A=k),(R.includes("_V2")||R.includes("-MV"))&&B?.includes("Full Art")&&(h=k),y==="Alpha"?F=k:y==="First"?C=k:y==="Promo"?G=k:y==="Unlimited"&&(b=k),S==="Cold"?(M=k,y==="Promo"&&(N=k)):S==="Gold"&&(x=k)}}return x||(V||L||p||P||m||z)||D||h||N||E||M||v||d||u||t||A||F||G||C||b||r}};0&&(module.exports={Bond,Class,Flow,Foiling,Format,Fusion,Hero,Keyword,Language,Meta,Metatype,Rarity,Release,ReleaseEdition,ReleaseType,Shorthand,Subtype,Talent,Trait,Treatment,Type,fullSetIdentifiers,getBoomerPrinting,getCanAddToDeck,getCanCardBeTokenForDeck,getCardFromGEMCardIdentifier,getCardIdentifier,getDefaultPrinting,getFrontAndBackCardIdentifier,getIsArenaCard,getIsBooster,getIsCardTokenForDeck,getIsDeckCard,getIsDraftable,getIsPreconstructed,getIsReprint,getMaxRarityPrinting,getPrint,getShouldRotateCardImage,getSpecialPrinting,orderedFullSetBlackBorderIdentifiers,releases,setIdentifierToSetMappings,setToSetIdentifierMappings,silverAgeChapters});
@@ -3,6 +3,7 @@ export interface Card {
3
3
  cardIdentifier: string;
4
4
  classes: Class[];
5
5
  defaultImage?: string;
6
+ firstReleaseDate: string;
6
7
  legalFormats: Format[];
7
8
  legalHeroes: Hero[];
8
9
  name: string;
@@ -163,7 +164,6 @@ export declare enum Release {
163
164
  HeavyHitters = "Heavy Hitters",
164
165
  HighSeas = "High Seas",
165
166
  HistoryPack1 = "History Pack 1",
166
- IAR = "IAR",
167
167
  Monarch = "Monarch",
168
168
  OmensOfTheThirdAge = "Omens of the Third Age",
169
169
  Outsiders = "Outsiders",
@@ -173,6 +173,7 @@ export declare enum Release {
173
173
  TalesOfAria = "Tales of Aria",
174
174
  TheHunted = "The Hunted",
175
175
  Uprising = "Uprising",
176
+ UsurpTheShadowThrone = "Usurp the Shadow Throne",
176
177
  WelcomeToRathe = "Welcome to Rathe",
177
178
  ArmoryDeckArakni = "Armory Deck: Arakni",
178
179
  ArmoryDeckAurora = "Armory Deck: Aurora",
@@ -97,7 +97,6 @@ var Release = /* @__PURE__ */ ((Release2) => {
97
97
  Release2["HeavyHitters"] = "Heavy Hitters";
98
98
  Release2["HighSeas"] = "High Seas";
99
99
  Release2["HistoryPack1"] = "History Pack 1";
100
- Release2["IAR"] = "IAR";
101
100
  Release2["Monarch"] = "Monarch";
102
101
  Release2["OmensOfTheThirdAge"] = "Omens of the Third Age";
103
102
  Release2["Outsiders"] = "Outsiders";
@@ -107,6 +106,7 @@ var Release = /* @__PURE__ */ ((Release2) => {
107
106
  Release2["TalesOfAria"] = "Tales of Aria";
108
107
  Release2["TheHunted"] = "The Hunted";
109
108
  Release2["Uprising"] = "Uprising";
109
+ Release2["UsurpTheShadowThrone"] = "Usurp the Shadow Throne";
110
110
  Release2["WelcomeToRathe"] = "Welcome to Rathe";
111
111
  Release2["ArmoryDeckArakni"] = "Armory Deck: Arakni";
112
112
  Release2["ArmoryDeckAurora"] = "Armory Deck: Aurora";
package/dist/sets.js CHANGED
@@ -1914,7 +1914,7 @@ const releases = [
1914
1914
  ],
1915
1915
  heroes: [Hero.Baalghor],
1916
1916
  languages: ALL_LANGUAGES,
1917
- release: Release.IAR,
1917
+ release: Release.UsurpTheShadowThrone,
1918
1918
  relatedReleases: [],
1919
1919
  releaseDate: "2026-09-25 12:00",
1920
1920
  releaseType: "Expansion Booster" /* ExpansionBooster */,
@@ -1946,7 +1946,7 @@ const fullSetIdentifiers = {
1946
1946
  pen: Release.CompendiumOfRathe,
1947
1947
  omn: Release.OmensOfTheThirdAge,
1948
1948
  mpw: Release.MasteryPackWarrior,
1949
- iar: Release.IAR
1949
+ iar: Release.UsurpTheShadowThrone
1950
1950
  };
1951
1951
  const setIdentifierToSetMappings = {
1952
1952
  ...fullSetIdentifiers,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@flesh-and-blood/types",
3
3
  "description": "TypeScript representations of Flesh and Blood card types",
4
- "version": "4.0.3",
4
+ "version": "4.0.8",
5
5
  "type": "module",
6
6
  "sideEffects": false,
7
7
  "main": "dist/index.cjs",
@@ -71,5 +71,5 @@
71
71
  "FAB",
72
72
  "FABTCG"
73
73
  ],
74
- "gitHead": "ddbb4d4372b235cc064ac7ccef1b2b42d721447f"
74
+ "gitHead": "e88c63dbfc6782944c62563e9cbd8004f3991b35"
75
75
  }