diff --git a/3DTank/docs/UI_Rebuild_Plan.md b/3DTank/docs/UI_Rebuild_Plan.md
index 048ff98..9e28fac 100644
--- a/3DTank/docs/UI_Rebuild_Plan.md
+++ b/3DTank/docs/UI_Rebuild_Plan.md
@@ -219,3 +219,12 @@ TankiOffline (Kotlin/JS 客户端)
- 大厅:L0/L1 骨架(官方图标、真实翻译、物品目录、连接状态)。
- 资源:本地镜像已接入。
- 已确认:技术栈 Kotlin/React、组件级还原、本地 mock、3D 现在做、首批大厅+车库、允许混跑。
+
+## 8. 实现进度(滚动更新)
+
+- [x] Kotlin/React 工具链接通(kotlin-react / kotlin-react-dom / kotlin-emotion,React 19.1)。
+- [x] 物品目录 fixture:`SessionCheck` 从抓包导出 `resources/fixtures/catalog.json`(1399 物品)。
+- [x] 车库第一版 React 界面:分类页签(12 类)、搜索、物品网格(120 张卡片)、右侧详情位。
+- [ ] 车库物品详情 / 3D 预览加载器。
+- [ ] 协议级 mock 服务器(用户 / 大厅列表 / 任务)。
+- [ ] 大厅其余屏幕迁移到 React。
diff --git a/TankiOffline/.gitignore b/TankiOffline/.gitignore
index 9d4fa1d..2c6fa14 100644
--- a/TankiOffline/.gitignore
+++ b/TankiOffline/.gitignore
@@ -2,7 +2,8 @@
build/
.gradle/
.kotlin/
-kotlin-js-store/
+kotlin-js-store/*
+!kotlin-js-store/package-lock.json
node_modules/
# 说明:net/src/jsMain/kotlin/Net/Generated/ 是代码生成产物,但要入库并允许手改,
diff --git a/TankiOffline/app/build.gradle.kts b/TankiOffline/app/build.gradle.kts
index 59c68c4..94ed6d7 100644
--- a/TankiOffline/app/build.gradle.kts
+++ b/TankiOffline/app/build.gradle.kts
@@ -17,6 +17,10 @@ kotlin {
implementation(project(":state"))
// 自动测试用 ws 客户端:需要自定义 User-Agent(真实服务器会拒绝 Node 默认 UA)
implementation(npm("ws", "8.18.0"))
+ // UI:Kotlin/React(与原客户端同栈;kotlin-wrappers 会带入 react / react-dom npm 依赖)
+ implementation("org.jetbrains.kotlin-wrappers:kotlin-react:2025.5.0-19.1.0")
+ implementation("org.jetbrains.kotlin-wrappers:kotlin-react-dom:2025.5.0-19.1.0")
+ implementation("org.jetbrains.kotlin-wrappers:kotlin-emotion:2025.3.26")
}
}
}
diff --git a/TankiOffline/app/src/jsMain/kotlin/App/Browser/BrowserUi.kt b/TankiOffline/app/src/jsMain/kotlin/App/Browser/BrowserUi.kt
index 388ac9c..ebec255 100644
--- a/TankiOffline/app/src/jsMain/kotlin/App/Browser/BrowserUi.kt
+++ b/TankiOffline/app/src/jsMain/kotlin/App/Browser/BrowserUi.kt
@@ -5,6 +5,12 @@
package App.Browser
fun BrowserMain() {
+ val Params = js("new URLSearchParams(window.location.search)")
+ if (Params.get("react") == "1") {
+ MountReactSmoke()
+ return
+ }
+
lateinit var Client: LobbyClient
lateinit var Lobby: LobbyView
lateinit var Entrance: EntranceView
@@ -27,7 +33,6 @@ fun BrowserMain() {
Translations.Load { Entrance.Update() }
// 调试便利:?autoconnect=1&lobby=ws://…&space=ws://…
- val Params = js("new URLSearchParams(window.location.search)")
if (Params.get("autoconnect") == "1") {
val LobbyUrl = (Params.get("lobby") as? String) ?: "ws://127.0.0.1:9091/"
val SpaceUrl = (Params.get("space") as? String) ?: LobbyUrl
diff --git a/TankiOffline/app/src/jsMain/kotlin/App/Browser/LobbyView.kt b/TankiOffline/app/src/jsMain/kotlin/App/Browser/LobbyView.kt
index 3fbecbc..62bba1f 100644
--- a/TankiOffline/app/src/jsMain/kotlin/App/Browser/LobbyView.kt
+++ b/TankiOffline/app/src/jsMain/kotlin/App/Browser/LobbyView.kt
@@ -6,6 +6,8 @@
// 车库 / 商店 / 幸运礼盒直接读 ItemCatalog(抓包解出的 1399 物品 + 516 装置)。
package App.Browser
+import App.Browser.Ui.GarageMount
+import App.Browser.Ui.UiCatalog
import App.State.GarageItemObject
import Net.Generated.DescriptionModelCC
@@ -60,6 +62,7 @@ class LobbyView(private val Client: LobbyClient) {
private var Category: Int = 0
private var Query: String = ""
private var Mounted = false
+ private var GarageMounted = false
fun Mount() {
if (Mounted) return
@@ -93,7 +96,17 @@ class LobbyView(private val Client: LobbyClient) {
"""
)
- SetHtml("lobby-content", Content())
+ if (Nav != "garage" && GarageMounted) {
+ GarageMount.Unmount()
+ GarageMounted = false
+ }
+ if (!(Nav == "garage" && GarageMounted)) {
+ SetHtml("lobby-content", Content())
+ }
+ if (Nav == "garage" && UiCatalog.Loaded) {
+ GarageMount.Mount(UiCatalog.Items)
+ GarageMounted = true
+ }
SetHtml("lobby-chat", Chat())
SetHtml(
"lobby-status",
@@ -309,35 +322,14 @@ class LobbyView(private val Client: LobbyClient) {
}
private fun Garage(): String {
- val All = Client.Router.Catalog.Items.values
- val Filtered = All.filter {
- ItemCategory(it) == Category && (Query.isEmpty() || ItemName(it).contains(Query, ignoreCase = true))
+ if (!UiCatalog.Loaded) {
+ UiCatalog.Ensure(Client) { Refresh() }
+ return """
+ ${Esc(Translations.T("lobby.menu.GARAGE", "车库"))}
+
正在加载物品目录…
+ """.trimIndent()
}
- val Shown = Filtered.take(96)
- return """
-
-
- ${Categories.joinToString("") { (Id, Key, Fallback) ->
- val Count = All.count { ItemCategory(it) == Id }
- """
-
- """.trimIndent()
- }}
-
- ${if (All.isEmpty()) """
- 目录还是空的:连接服务器后会解出车库物品(当前离线目录 0 个)。
- """ else """
- ${Shown.joinToString("") { ItemCard(it) }}
- ${if (Filtered.size > Shown.size) "仅显示前 ${Shown.size} 件,继续补充分页。
" else ""}
- """}
- """.trimIndent()
+ return """"""
}
private fun Shop(): String {
@@ -404,18 +396,15 @@ class LobbyView(private val Client: LobbyClient) {
${Esc(Text)}
""".trimIndent()
- private fun Side(): String {
+ private fun Chat(): String {
val Lines = Client.Logs.takeLast(12).joinToString("") { "${Esc(it)}
" }
return """
-
-
${Esc(Translations.T("lobby.menu.CHAT", "聊天"))}
-
${if (Lines.isEmpty()) "连接后显示服务器日志" else Lines}
-
-
-
-
${Esc(Translations.T("lobby.menu.NEWS", "新闻"))}
-
新闻、公告与活动由服务端推送后显示在这里。
+
+ ${Esc(Translations.T("lobby.menu.CHAT", "聊天"))}
+ ${Client.Status}
+
${if (Lines.isEmpty()) "连接后显示服务器日志" else Lines}
+
""".trimIndent()
}
diff --git a/TankiOffline/app/src/jsMain/kotlin/App/Browser/ReactSmoke.kt b/TankiOffline/app/src/jsMain/kotlin/App/Browser/ReactSmoke.kt
new file mode 100644
index 0000000..bdda9c6
--- /dev/null
+++ b/TankiOffline/app/src/jsMain/kotlin/App/Browser/ReactSmoke.kt
@@ -0,0 +1,27 @@
+// ReactSmoke.kt —— Kotlin/React 工具链探针
+//
+// 用途:确认 kotlin-react / react-dom / emotion 依赖可用、能挂载组件。
+// 打开 `?react=1` 时只渲染这个小组件,不影响正常登录页。
+package App.Browser
+
+import react.FC
+import react.Props
+import react.create
+import react.dom.client.createRoot
+import react.dom.html.ReactHTML.div
+import react.dom.html.ReactHTML.h1
+import react.dom.html.ReactHTML.p
+import web.dom.document
+import web.html.HTMLDivElement
+
+private val Smoke = FC
{
+ div {
+ h1 { +"Kotlin/React OK" }
+ p { +"kotlin-react + react-dom 依赖已接通。" }
+ }
+}
+
+fun MountReactSmoke() {
+ val Root = createRoot(document.getElementById("app") as HTMLDivElement)
+ Root.render(Smoke.create())
+}
diff --git a/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/Categories.kt b/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/Categories.kt
new file mode 100644
index 0000000..8bb59b1
--- /dev/null
+++ b/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/Categories.kt
@@ -0,0 +1,26 @@
+// Categories.kt —— 车库分类(数值来自 module_85667 的 ItemCategory 枚举)
+package App.Browser.Ui
+
+import App.Browser.Translations
+
+data class GarageCategory(val Id: Int, val Key: String, val Default: String) {
+ val Label: String get() = Translations.T("lobby.garage.$Key", Default)
+}
+
+val GarageCategories: List = listOf(
+ GarageCategory(0, "WEAPON", "炮塔"),
+ GarageCategory(1, "ARMOR", "底盘"),
+ GarageCategory(2, "PAINT", "迷彩"),
+ GarageCategory(3, "INVENTORY", "道具"),
+ GarageCategory(5, "KIT", "套件"),
+ GarageCategory(10, "RESISTANCE_MODULE", "防御模块"),
+ GarageCategory(11, "DEVICE", "装置"),
+ GarageCategory(13, "CONTAINER", "幸运礼盒"),
+ GarageCategory(14, "DRONE", "辅助无人机"),
+ GarageCategory(15, "SKIN", "皮肤"),
+ GarageCategory(17, "BAZOOKA", "火箭炮"),
+ GarageCategory(18, "GRENADE", "手榴弹"),
+)
+
+fun CategoryLabel(Id: Int): String =
+ GarageCategories.firstOrNull { it.Id == Id }?.Label ?: "其它"
diff --git a/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/GarageScreen.kt b/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/GarageScreen.kt
new file mode 100644
index 0000000..b8cf238
--- /dev/null
+++ b/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/GarageScreen.kt
@@ -0,0 +1,166 @@
+// GarageScreen.kt —— React 车库(大厅第一个正式迁移的界面)
+//
+// 数据:UiCatalog(真实 ItemCatalog 或抓包导出的 fixture)。
+// 结构对照原版:分类页签 + 物品网格 + 右侧详情 / 3D 预览位。
+package App.Browser.Ui
+
+import App.Browser.Translations
+import react.FC
+import react.Props
+import react.create
+import react.dom.client.createRoot
+import react.dom.html.HTMLAttributes
+import react.dom.html.ReactHTML.aside
+import react.dom.html.ReactHTML.b
+import react.dom.html.ReactHTML.button
+import react.dom.html.ReactHTML.div
+import react.dom.html.ReactHTML.h2
+import react.dom.html.ReactHTML.h3
+import react.dom.html.ReactHTML.input
+import react.dom.html.ReactHTML.section
+import react.dom.html.ReactHTML.small
+import react.dom.html.ReactHTML.span
+import react.useState
+import web.dom.document
+import web.html.HTMLDivElement
+
+private val RarityNames = listOf("普通", "罕见", "稀有", "史诗", "传奇", "特殊")
+
+private fun RarityName(R: Int): String = RarityNames.getOrElse(R) { "普通" }
+
+/** kotlin-react 19 的 className 是 ClassName 类型;直接走 DOM 属性避免类型转换样板。 */
+private fun HTMLAttributes<*>.Css(Value: String) {
+ val E = this.asDynamic()
+ E.className = Value
+}
+
+private val GarageScreen = FC {
+ var Category by useState(-1)
+ var Query by useState("")
+ var Selected by useState(null)
+
+ val All = UiCatalog.Items
+ val Counts = GarageCategories.associate { C -> C.Id to All.count { it.Category == C.Id } }
+ val ActiveCategory = if (Category >= 0) Category
+ else GarageCategories.firstOrNull { (Counts[it.Id] ?: 0) > 0 }?.Id ?: 0
+ val Filtered = All.filter {
+ it.Category == ActiveCategory && (Query.isBlank() || it.Name.contains(Query, ignoreCase = true))
+ }
+ val Shown = Filtered.take(120)
+
+ section {
+ Css("garage")
+
+ div {
+ Css("garage-head")
+ h2 {
+ +Translations.T("lobby.menu.GARAGE", "车库")
+ small { +"${Filtered.size} / ${All.size}" }
+ }
+ input {
+ Css("garage-search")
+ placeholder = "搜索物品"
+ value = Query
+ onChange = { E -> Query = E.target.value }
+ }
+ }
+
+ div {
+ Css("garage-tabs")
+ for (C in GarageCategories) {
+ val N = Counts[C.Id] ?: 0
+ if (N == 0) continue
+ button {
+ Css("garage-tab" + if (C.Id == ActiveCategory) " active" else "")
+ onClick = { Category = C.Id }
+ +C.Label
+ span { +"$N" }
+ }
+ }
+ }
+
+ div {
+ Css("garage-main")
+
+ div {
+ Css("garage-grid")
+ for (Item in Shown) {
+ button {
+ Css(
+ "garage-card rarity-${Item.Rarity}" +
+ if (Selected?.Id == Item.Id) " selected" else ""
+ )
+ onClick = { Selected = Item }
+ div { Css("garage-card-art"); +Item.Name.take(1) }
+ div { Css("garage-card-name"); +Item.Name.ifEmpty { "物品 ${Item.Id}" } }
+ div {
+ Css("garage-card-meta")
+ +CategoryLabel(Item.Category)
+ if (Item.Price > 0 && Item.Buyable) {
+ span { Css("garage-price"); +PriceText(Item) }
+ }
+ }
+ if (Item.Premium) span { Css("garage-premium"); +"VIP" }
+ }
+ }
+ if (Shown.isEmpty()) {
+ div { Css("garage-empty"); +"这个分类暂时没有物品。" }
+ }
+ }
+
+ aside {
+ Css("garage-detail")
+ val Item = Selected
+ if (Item == null) {
+ h3 { +"选择一件物品" }
+ div { Css("garage-preview") }
+ div { Css("garage-preview-label"); +"3D 预览加载器接入中" }
+ } else {
+ h3 { +Item.Name.ifEmpty { "物品 ${Item.Id}" } }
+ div { Css("garage-preview") }
+ div { Css("garage-preview-label"); +"3D 预览加载器接入中" }
+ div { Css("garage-props") }
+ Prop("分类", CategoryLabel(Item.Category))
+ Prop("稀有度", RarityName(Item.Rarity))
+ Prop("物品 ID", Item.Id.toString())
+ if (Item.Count > 0) Prop("数量", Item.Count.toString())
+ if (Item.Buyable) Prop("价格", PriceText(Item))
+ if (Item.Premium) Prop("VIP", "是")
+ }
+ }
+ }
+ }
+}
+
+private fun PriceText(Item: CatalogItem): String = when (Item.Currency) {
+ 1 -> "${Item.Price} 水晶"
+ 2 -> "${Item.Price} 红宝石"
+ else -> "${Item.Price}"
+}
+
+private fun react.ChildrenBuilder.Prop(Name: String, Value: String) {
+ div {
+ Css("garage-prop")
+ span { +Name }
+ b { +Value }
+ }
+}
+
+object GarageMount {
+ private var Root: dynamic = null
+
+ fun Mount(Items: List, Force: Boolean = false) {
+ val El = document.getElementById("garage-root") as? HTMLDivElement ?: return
+ if (Root != null && !Force) return
+ if (Root == null) Root = createRoot(El)
+ Root.render(GarageScreen.create())
+ }
+
+ fun Unmount() {
+ try {
+ Root?.unmount()
+ } catch (_: Throwable) {
+ }
+ Root = null
+ }
+}
diff --git a/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/UiCatalog.kt b/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/UiCatalog.kt
new file mode 100644
index 0000000..0289ca0
--- /dev/null
+++ b/TankiOffline/app/src/jsMain/kotlin/App/Browser/Ui/UiCatalog.kt
@@ -0,0 +1,109 @@
+// UiCatalog.kt —— UI 侧的物品目录(React 车库数据源)
+//
+// 数据优先来自真实会话(ItemCatalog,连接服务器后填充);没有会话时回退到
+// `resources/fixtures/catalog.json`(由 SessionCheck 从抓包导出,供离线开发/截图)。
+package App.Browser.Ui
+
+import App.Browser.LobbyClient
+import Net.Generated.DescriptionModelCC
+
+data class CatalogItem(
+ val Id: Long,
+ val Name: String,
+ val Category: Int,
+ val ViewCategory: Int,
+ val Rarity: Int,
+ val Premium: Boolean,
+ val Count: Int,
+ val Buyable: Boolean,
+ val Price: Int,
+ val Currency: Int,
+)
+
+object UiCatalog {
+
+ var Items: List = emptyList()
+ private set
+
+ var Loaded: Boolean = false
+ private set
+
+ private var Loading = false
+ private var Waiters: MutableList<() -> Unit> = ArrayList()
+
+ /** 优先真实目录;为空时拉取 fixture。 */
+ fun Ensure(Client: LobbyClient, OnReady: () -> Unit) {
+ val Live = Client.Router.Catalog
+ if (Live.Items.isNotEmpty()) {
+ Items = Live.Items.map { (Id, Item) ->
+ CatalogItem(
+ Id = Id,
+ Name = (Item.description as? DescriptionModelCC)?.Name ?: "",
+ Category = Item.itemCategory,
+ ViewCategory = Item.itemViewCategory,
+ Rarity = Item.rarity as? Int ?: 0,
+ Premium = Item.isPremium,
+ Count = Item.count,
+ Buyable = Item.buyable,
+ Price = Live.Prices[Id] ?: 0,
+ Currency = Live.Currencies[Id] ?: 0,
+ )
+ }
+ Loaded = true
+ OnReady()
+ return
+ }
+ if (Loaded) {
+ OnReady()
+ return
+ }
+ Waiters.add(OnReady)
+ if (Loading) return
+ Loading = true
+ FetchFixture { Text ->
+ if (Text != null) Items = Parse(Text)
+ Loaded = true
+ Loading = false
+ val Pending = Waiters
+ Waiters = ArrayList()
+ for (F in Pending) F()
+ }
+ }
+
+ private val FetchFixture: ((String?) -> Unit) -> Unit = { Callback ->
+ js(
+ """
+ (function (Cb) {
+ fetch('/fixtures/catalog.json')
+ .then(function (R) { return R.ok ? R.text() : null; })
+ .then(function (T) { Cb(T); })
+ .catch(function () { Cb(null); });
+ })
+ """
+ )(Callback)
+ }
+
+ private fun Parse(Text: String): List {
+ val Out = ArrayList()
+ val Data: dynamic = js("JSON.parse(Text)")
+ val Rows: dynamic = Data.items
+ for (I in 0 until (Rows.length as Int)) {
+ val R = Rows[I]
+ Out.add(
+ CatalogItem(
+ Id = (R.id as Number).toLong(),
+ Name = R.name as String,
+ Category = (R.category as Number).toInt(),
+ ViewCategory = (R.viewCategory as Number).toInt(),
+ Rarity = (R.rarity as Number).toInt(),
+ Premium = R.premium as Boolean,
+ Count = (R.count as Number).toInt(),
+ Buyable = R.buyable as Boolean,
+ Price = (R.price as Number).toInt(),
+ Currency = (R.currency as Number).toInt(),
+ )
+ )
+ }
+ return Out
+ }
+}
diff --git a/TankiOffline/app/src/jsMain/kotlin/App/Session/ItemCatalog.kt b/TankiOffline/app/src/jsMain/kotlin/App/Session/ItemCatalog.kt
index 8f7e35e..7d64638 100644
--- a/TankiOffline/app/src/jsMain/kotlin/App/Session/ItemCatalog.kt
+++ b/TankiOffline/app/src/jsMain/kotlin/App/Session/ItemCatalog.kt
@@ -120,6 +120,10 @@ class ItemCatalog {
val Items: MutableMap = LinkedHashMap()
val Devices: MutableMap = LinkedHashMap()
+ /** 物品价格 / 货币(BuyableCC 的两个字段;GarageItemObject 没地方放,单独存)。 */
+ val Prices: MutableMap = LinkedHashMap()
+ val Currencies: MutableMap = LinkedHashMap()
+
/** 被识别并吸收的 Pt 项数。 */
var ConsumedItems: Int = 0
private set
@@ -169,6 +173,10 @@ class ItemCatalog {
Any = true
} else if (IsItem) {
Items[ObjectId] = MakeItem(ObjectId, Models)
+ (Models[CatalogModelIds.Buyable] as? BuyableCC)?.let {
+ Prices[ObjectId] = it.Field3
+ Currencies[ObjectId] = it.CurrencyId
+ }
Mark(Consumed, Begin, End)
Groups++
Any = true
diff --git a/TankiOffline/app/src/jsMain/kotlin/App/Session/SessionCheck.kt b/TankiOffline/app/src/jsMain/kotlin/App/Session/SessionCheck.kt
index 4b2be0c..6febbb6 100644
--- a/TankiOffline/app/src/jsMain/kotlin/App/Session/SessionCheck.kt
+++ b/TankiOffline/app/src/jsMain/kotlin/App/Session/SessionCheck.kt
@@ -206,9 +206,50 @@ object SessionCheck {
if (Top.isNotEmpty()) {
println("高频 methodId:" + Top.joinToString(",") { "${it.key}×${it.value}" })
}
+ // 开发用:把解出的物品目录落成 JSON fixture,供 UI(React 车库)离线开发。
+ val CatalogOut = js("process.env.TANKIOFFLINE_CATALOG_OUT || ''") as String
+ if (CatalogOut.isNotEmpty()) {
+ WriteCatalog(CatalogOut, Router)
+ println("目录 fixture:$CatalogOut")
+ }
+
// 抓包目录里混有入口/握手帧,解不出记录是正常现象;只要所有解出的记录都能回编码即可。
val Passed = Bad == 0 && Records > 0 && Router.Catalog.Items.isNotEmpty() && UserOk
println(if (Passed) "结果:通过" else "结果:失败")
ExitSession(if (Passed) 0 else 1)
}
+
+ private fun JsonEsc(S: String): String = S
+ .replace("\\", "\\\\")
+ .replace("\"", "\\\"")
+ .replace("\n", "\\n")
+ .replace("\r", "\\r")
+
+ /** 把目录写成 UI fixture(只保留车库卡片需要的字段)。 */
+ private fun WriteCatalog(Path: String, Router: SessionRouter) {
+ val B = StringBuilder()
+ B.append("{\"items\":[")
+ var First = true
+ for ((Id, Item) in Router.Catalog.Items) {
+ if (!First) B.append(',')
+ First = false
+ val Name = (Item.description as? Net.Generated.DescriptionModelCC)?.Name ?: ""
+ val Rarity = Item.rarity as? Int ?: 0
+ B.append("{\"id\":").append(Id)
+ B.append(",\"name\":\"").append(JsonEsc(Name)).append('"')
+ B.append(",\"category\":").append(Item.itemCategory)
+ B.append(",\"viewCategory\":").append(Item.itemViewCategory)
+ B.append(",\"rarity\":").append(Rarity)
+ B.append(",\"premium\":").append(if (Item.isPremium) "true" else "false")
+ B.append(",\"count\":").append(Item.count)
+ B.append(",\"buyable\":").append(if (Item.buyable) "true" else "false")
+ B.append(",\"price\":").append(Router.Catalog.Prices[Id] ?: 0)
+ B.append(",\"currency\":").append(Router.Catalog.Currencies[Id] ?: 0)
+ B.append('}')
+ }
+ B.append("]}")
+ val Write: (String, String) -> Unit =
+ js("(function (P, T) { module.require('fs').writeFileSync(P, T, 'utf8'); })")
+ Write(Path, B.toString())
+ }
}
diff --git a/TankiOffline/app/src/jsMain/resources/fixtures/catalog.json b/TankiOffline/app/src/jsMain/resources/fixtures/catalog.json
new file mode 100644
index 0000000..1730ca4
--- /dev/null
+++ b/TankiOffline/app/src/jsMain/resources/fixtures/catalog.json
@@ -0,0 +1 @@
+{"items":[{"id":1931009789024,"name":"史诗幸运礼盒","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009789028,"name":"普通幸运礼盒","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009789026,"name":"传奇幸运礼盒","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009789030,"name":"稀有幸运礼盒","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482397,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482396,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482006,"name":"","category":2,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482072,"name":"","category":14,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482393,"name":"","category":17,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":10007274,"name":"维修工具","category":3,"viewCategory":3,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150,"currency":0},{"id":10007268,"name":"护甲提升","category":3,"viewCategory":3,"rarity":5,"premium":false,"count":94,"buyable":true,"price":50,"currency":0},{"id":920004863750,"name":"金箱子","category":3,"viewCategory":3,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150,"currency":2},{"id":10007271,"name":"伤害提升","category":3,"viewCategory":3,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50,"currency":0},{"id":10007277,"name":"地雷","category":3,"viewCategory":3,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50,"currency":0},{"id":921009756684,"name":"核能","category":3,"viewCategory":3,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780088,"name":"耀斑","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780012,"name":"炸弹","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":38,"buyable":true,"price":1250,"currency":0},{"id":1931009780146,"name":"沙皇","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780084,"name":"医护兵","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1250,"currency":0},{"id":1931009780145,"name":"雪球","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780175,"name":"迫击炮","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1250,"currency":0},{"id":1931009780154,"name":"礼炮","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1800,"currency":0},{"id":1931009780221,"name":"蛋","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780087,"name":"磁铁","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780085,"name":"烟雾","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780086,"name":"星辰","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780083,"name":"泡沫","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780126,"name":"南瓜","category":18,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":10007280,"name":"速度提升","category":3,"viewCategory":3,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50,"currency":0},{"id":1931009781093,"name":"精英通行证","category":4,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600251,"name":"解锁星级挑战奖励加成","category":4,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006040680,"name":"军团许可证","category":12,"viewCategory":5,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009782002,"name":"活动通行证","category":4,"viewCategory":5,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801939,"name":"狂乱","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009180238,"name":"协同","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801076,"name":"神圣","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801077,"name":"狂乱","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009570587,"name":"峡谷英雄","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009739294,"name":"监护人","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009749,"name":"装甲方块","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009773532,"name":"ATB","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802807,"name":"惩罚","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006240692,"name":"快乐","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801940,"name":"极光","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009657334,"name":"阴 & 阳","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004911970,"name":"凤凰","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009758,"name":" 活跃观众","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703858,"name":"角斗士","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009607037,"name":"麦田怪圈","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600801,"name":"加力燃烧室","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009658851,"name":"游戏 2020","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801645,"name":"强盗","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009773535,"name":"击倒","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801093,"name":"冠军 7","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009773531,"name":"梦想家","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009990,"name":"办公室","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009298711,"name":"最佳助手 2017","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802805,"name":"KAN","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009464,"name":"工兵","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009649924,"name":"战争获胜者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007184,"name":"雪域惊喜","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009752845,"name":"青铜盔甲","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009773536,"name":"钻石","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009746477,"name":"对开发人员","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010010173,"name":"跑酷大师 2026","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008799,"name":"粘液","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008237,"name":"冠军 7","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006706961,"name":" ","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704696,"name":"幸运 7","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703612,"name":"观众","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779357,"name":"坦克的太阳","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009889,"name":"冠军 5","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779039,"name":"钻石","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009721507,"name":"复仇","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009887,"name":"冠军 3","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600630,"name":"黄虫","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703613,"name":"幸运星","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005522441,"name":"跑酷大师 2016","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704570,"name":"赫利俄斯","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009769038,"name":"幸运币","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009663902,"name":"消毒洗手液","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779038,"name":"团队指针","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704456,"name":"红宝石","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009546362,"name":"烈火","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601261,"name":"洒红节","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704458,"name":"芳纶","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009702844,"name":"鹰","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009746478,"name":"对玩家","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704572,"name":"工程师","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009546364,"name":"棱镜","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801078,"name":"团队","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779475,"name":"绿色随从","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801075,"name":"寒冷","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009697676,"name":"死者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009766066,"name":"诡诈","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802811,"name":"相思病","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009652016,"name":"职业选手","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703977,"name":"火焰","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802809,"name":"红色通缉令","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704573,"name":"练习者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006703621,"name":"勇气之火","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920000554073,"name":"天使&恶魔","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779359,"name":"坦克-黑色","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009766067,"name":"魏德","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009888,"name":"冠军 4","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802810,"name":"佩佩加","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009721509,"name":"费奇基","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801972,"name":"Reddit","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779358,"name":"坦克猫","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009606353,"name":"地球","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771238,"name":"奇点","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005755020,"name":"新年 2017","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008177,"name":"TO16","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801642,"name":"治安官","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009398609,"name":"俄罗斯战争","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009773533,"name":"毒","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009885,"name":"冠军 1","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009766065,"name":"JERRYYY21","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009892,"name":"冠军 8","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779046,"name":"等离子体","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009773530,"name":"红色通缉令","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779036,"name":"毒","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801079,"name":"战斗斧","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703730,"name":"勋爵","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779623,"name":"跑酷大师 2023","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801088,"name":"冠军 2","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009652014,"name":"永恒","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009617355,"name":"坦克 2.0","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779355,"name":"休斯顿坦克","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009610627,"name":"拆毁者 2.0","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779033,"name":"退役机器人","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005864460,"name":"最佳助手 2016","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801938,"name":"团队P","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009652012,"name":"停不下来","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009721510,"name":"团队指针","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009613066,"name":"坦克旅行 2019","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779047,"name":"深红色","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801154,"name":"新兵","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703738,"name":"活动可回收1","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801932,"name":"反系统","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009762760,"name":"半路兄弟","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920000755591,"name":"对玩家","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009704890,"name":"手提袋","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009707380,"name":"Flash","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704098,"name":"冠军","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009769037,"name":"三叶草","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004008400,"name":"俄罗斯队","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779048,"name":"青金石","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009157,"name":"最佳助手 2025","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009702845,"name":"缟玛瑙","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801091,"name":"冠军 6","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009766064,"name":"大型坦克","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801597,"name":"碎片","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009602487,"name":"故事","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009652018,"name":"企鹅","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009180236,"name":"国际比赛","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009398606,"name":"德国战争","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703736,"name":"白银","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008939,"name":"冠军 1","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008238,"name":"冠军 8","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008235,"name":"冠军 5","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600880,"name":"游乐场","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009756125,"name":"团队指针","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009756127,"name":"仁慈","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779049,"name":"柑橘","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779871,"name":"TO14","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009674720,"name":"火焰 2.0","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009657338,"name":"阳","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009153,"name":"槲寄生","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009764018,"name":"新毛衣","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007135671,"name":"Steam","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704215,"name":"青铜","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802812,"name":"偏离者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920008477291,"name":"霓虹灯","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801928,"name":"愁云","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779131,"name":"2022 最佳助手","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801094,"name":"冠军 8","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779356,"name":"美洲驼坦克","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006240693,"name":"桑巴","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009652610,"name":"年度最佳助手","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009756126,"name":"公牛队","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009662014,"name":"巴西的精神","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779034,"name":"佩佩加","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009663110,"name":"复活节彩蛋","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703735,"name":"活动可回收2","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601781,"name":"萨克诺斯护甲","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801441,"name":"黑色红宝石","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009610628,"name":"拆毁者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":true,"price":10000,"currency":0},{"id":920004704571,"name":"助手","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596614,"name":"声望","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920000554072,"name":"街机电子竞技","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005083020,"name":"天马","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771444,"name":"3D坦克 13 岁了","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009739295,"name":"复仇","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703734,"name":"老兵","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801080,"name":"钻石","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920000554070,"name":"全部入选","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009180237,"name":"辣椒","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009767410,"name":"最佳助手 2021","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801090,"name":"冠军 4","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009773534,"name":"团队指针","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009617354,"name":"坦克 1.0","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006440672,"name":"微笑先生","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006703620,"name":"新的伪装","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920008214541,"name":"坦克在莫斯科","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009762761,"name":"团队指针","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600790,"name":"年度最佳助手","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007905,"name":"仙女座","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920008030011,"name":"天空","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779040,"name":"高级监护人","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008943,"name":"冠军 5","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009721508,"name":"企鹅","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008090,"name":"拼图","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008233,"name":"冠军 3","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009657336,"name":"阴","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008234,"name":"一般普通迷彩","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801092,"name":"冠军 5","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802779,"name":"TO15","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009762759,"name":"杀戮","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009602488,"name":"耶 十周年!","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009756124,"name":"半路兄弟","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779477,"name":"三叶草小队","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009717016,"name":"最佳助手 2020","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009762758,"name":"公牛队","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008420,"name":"墨盒","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600910,"name":"跑酷大师 2019","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009697674,"name":"赏金猎人","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802181,"name":"蓝宝石","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009608639,"name":"涡轮","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703737,"name":"微芯片","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009100331,"name":"团队OK","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704695,"name":"跑酷大师","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009759752,"name":"甜蜜的技巧","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008236,"name":"冠军 6","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771300,"name":"开发者 2K22","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009291491,"name":"雪人","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009606354,"name":"火星","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704577,"name":"Youtuber TO","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009846,"name":"TO17","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008941,"name":"冠军 3","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801933,"name":"偏离者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009803298,"name":"南瓜泥","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009100333,"name":"团队VK","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009697675,"name":"暴徒","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802156,"name":"甜蜜的礼物","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009398608,"name":"波兰战争","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779476,"name":"妖精兄弟会","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009766063,"name":"塔斯彭斯","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004008401,"name":"国际团队","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779056,"name":"僵尸","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771301,"name":"YouTubers 2K22","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009891,"name":"冠军 7","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600901,"name":"冷冻","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009107052,"name":"南瓜","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009658849,"name":"跑酷大师 2020","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005821640,"name":"去坦克尝试","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009465641,"name":"战争.优胜者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801081,"name":"薰衣草","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801087,"name":"冠军 1","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009778315,"name":"恐怖","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009180239,"name":"瓦维隆","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006706962,"name":" ","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006398341,"name":"脉冲","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008946,"name":"一般普通迷彩","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009663111,"name":"稀有复活节彩蛋","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009661354,"name":"城市居民","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008231,"name":"冠军 1","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009886,"name":"冠军 2","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704574,"name":"恶魔","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009678471,"name":"11 年!","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009773537,"name":"黑色镜子","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009739297,"name":"团队指针","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008232,"name":"一般普通迷彩","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009739296,"name":"班金","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801927,"name":"战斗斧","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704335,"name":"记者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802138,"name":"Best Helper of 2023","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009655444,"name":"东方魅力","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009385730,"name":"顶级","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779037,"name":"红色通缉令","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779055,"name":"免疫","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009606352,"name":"金星","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779354,"name":"黑兹尔装甲工程","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802575,"name":"光泽度","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601780,"name":"萨克诺斯","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704333,"name":"硫酸","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802893,"name":"怀旧之情","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009398607,"name":"英国战争","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779230,"name":"姜饼","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009646,"name":"时空","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009890,"name":"冠军 6","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920008973271,"name":"跑酷大师 2017","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704694,"name":"航空","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802806,"name":"极光","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004106860,"name":"巧克力坦克","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010010093,"name":"迈阿密海滩","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009766062,"name":"JMPR","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008945,"name":"冠军 7","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801925,"name":"钻石","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007153,"name":"最佳助手 2024","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801941,"name":"被低估","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597230,"name":"野餐","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801089,"name":"冠军 3","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600152,"name":"光子","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779035,"name":"神圣","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008942,"name":"冠军 4","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704697,"name":"滑翔","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009670398,"name":"幸存者","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008944,"name":"冠军 6","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704219,"name":"鳄鱼","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920000755590,"name":"对开发人员","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802808,"name":"前 25 名或无","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008940,"name":"冠军 2","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920000554071,"name":"史诗守卫","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779590,"name":"银河系","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009662013,"name":"拉丁美洲的精神","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801074,"name":"红色通缉令","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009736829,"name":"鸭子","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009570585,"name":"玉兰","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597020,"name":"触手","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009431051,"name":"神童 2.0","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":10000,"currency":2},{"id":920009597015,"name":"齿轮","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009656664,"name":"宇宙爆炸","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009744685,"name":"镍","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009668727,"name":"像素等离子","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009610624,"name":"黑白","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":12000,"currency":2},{"id":920009661132,"name":"钢铁之心","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009702017,"name":"片假名","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597001,"name":"旋转器","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009618067,"name":"电动绵羊","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009661133,"name":"流动的金属","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009610626,"name":"搜捕","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681188,"name":"发光器","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600936,"name":"北极光","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":3000017176179,"name":"X 黑色","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":11000,"currency":2},{"id":920009661135,"name":"爱的迷彩","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681189,"name":"金合金","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599283,"name":"兔子","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":14000,"currency":2},{"id":920009656666,"name":"时髦医学","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596801,"name":"旁观者","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601560,"name":"外星人绑架","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601260,"name":"火魔像","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681190,"name":"构造板块","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009748070,"name":"阴极射线管","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601250,"name":"春天","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601450,"name":"lol","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681187,"name":"风扇","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009656665,"name":"气候状况","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009661134,"name":"时髦的霓虹灯","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009649918,"name":"花火","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600632,"name":"银砖","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600750,"name":"触摸寒冷","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601711,"name":"泡泡糖","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621504,"name":"南瓜浆果","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":14000,"currency":2},{"id":920009601464,"name":"微生物学","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600934,"name":"塞伯朋克","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":19000,"currency":2},{"id":920009601210,"name":"荣誉","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007533971,"name":"流动","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":14000,"currency":2},{"id":921009725833,"name":"集成电路","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009626663,"name":"灵魂","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009626660,"name":"魔术圈","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":17000,"currency":2},{"id":920009597013,"name":"放射性果冻","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621795,"name":"电子人","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600633,"name":"雷霆风暴","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600631,"name":"熔岩灯","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009702018,"name":"破裂的光","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009618068,"name":"纳米防护装甲","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009276281,"name":"节日彩灯","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920008994081,"name":"梦魇","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009662890,"name":"化学反应","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009662889,"name":"纳米HUD","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009756663,"name":"逆境","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009756664,"name":"驾驶","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596451,"name":"勇气","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":30000,"currency":2},{"id":920009597141,"name":"枫叶","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009627400,"name":"量子迷彩","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009626659,"name":"活体护甲","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":18000,"currency":2},{"id":920009595703,"name":"西伯利亚虎","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009675330,"name":"星座","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009465643,"name":"银河","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621502,"name":"七十年代的乐趣","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601120,"name":"初吻","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621500,"name":"华丽的鳄鱼","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365555,"name":"眩晕","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009595701,"name":"火山喷发","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009645941,"name":"困在内部","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":16000,"currency":2},{"id":920009542641,"name":"银河系","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365553,"name":"矩阵","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":18000,"currency":2},{"id":920009668730,"name":"地球人","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009742075,"name":"黑海","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009598660,"name":"共生体","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009598291,"name":"符文","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009687167,"name":"印刷电路板","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599281,"name":"铁丝网","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009605683,"name":"外星星云","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009610625,"name":"獾-獾","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596354,"name":"帕斯提拉","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009613063,"name":"雷达","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009702019,"name":"工艺剪刀","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621499,"name":"卡普利亚特","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009748071,"name":"绿锆石","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009626662,"name":"坦克币坦克","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":100000,"currency":1},{"id":920009662891,"name":"网络手里剑","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601460,"name":"钻石","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597011,"name":"发光二极管","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621503,"name":"几何形状的霓虹灯","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009674719,"name":"碳星","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601262,"name":"全息","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009725834,"name":"飞轮","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600935,"name":"迪斯科 2.0","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009400455,"name":"跳动的心","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601712,"name":"银河星爆","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009768023,"name":"红色烟雾","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009744320,"name":"辉光","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009687168,"name":"篝火","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009702020,"name":"合金","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009276271,"name":"通感","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365554,"name":"马赛克","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009618397,"name":"夜城","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":14000,"currency":2},{"id":920009597143,"name":"富士山","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009740930,"name":"指尖玩具","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":3000017175467,"name":"视觉干扰者","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597017,"name":"流星雨","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":13000,"currency":2},{"id":921009758958,"name":"煎蛋","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009647327,"name":"在树下","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009668728,"name":"头部开膛手","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009668729,"name":"迅速蔓延","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009653203,"name":"防寒外套","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597333,"name":"流行音乐合成器","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009607038,"name":"外星人皮肤","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009618069,"name":"不是一个灯笼","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009656663,"name":"数字北极光","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009605682,"name":"外星人再生","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009662888,"name":"绿色四边形","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597332,"name":"电子蜂巢","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":14000,"currency":2},{"id":921009687169,"name":"冲浪","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600620,"name":"正方体迷彩","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601263,"name":"藤本植物","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":15000,"currency":2},{"id":920009653202,"name":"冰乱舞","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601463,"name":"遥远的北方","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009189871,"name":"光谱","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":true,"price":16000,"currency":2},{"id":920009595705,"name":"秘制酱料","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009646633,"name":"快乐的季节","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009598860,"name":"井字棋","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009687170,"name":"蓝色丁香","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601762,"name":"金色齿轮","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621501,"name":"烟幕","category":2,"viewCategory":2,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365534,"name":"昆古尔冰洞","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":921009751355,"name":"红色标记","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009626654,"name":"亚当和夏娃","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681195,"name":"淘金者","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009747843,"name":"狂野风格","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920008536133,"name":"野生丛林","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009612841,"name":"红色星球","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009717737,"name":"春季花束","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009605677,"name":"烧焦","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681196,"name":"越野车","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009615939,"name":"神鸟","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007225462,"name":"观鸟者","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007005068,"name":"钒","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":2000,"currency":2},{"id":920009365542,"name":"培乐多","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920009664157,"name":"病毒","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009595682,"name":"抽象线条","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":500,"currency":2},{"id":920004959661,"name":"蜘蛛","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":1000,"currency":2},{"id":921009710983,"name":"游戏手柄","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009747842,"name":"逆波","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009661136,"name":"巴布什卡的被子","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006313000,"name":"石灰爆裂","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009668726,"name":"创意工程师","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009610629,"name":"蓝色星球","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365547,"name":"硅酸盐","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":931009761273,"name":"薄荷糖","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009668723,"name":"时尚坦克手","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009725831,"name":"UFO","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365548,"name":"数独","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920004959691,"name":"液态金属","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":1000,"currency":2},{"id":920007987729,"name":"热带树叶","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009615938,"name":"救生员","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009603228,"name":"奇怪的鱼","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009595693,"name":"雷暴球","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":400,"currency":2},{"id":920009621496,"name":"粉红色大象","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005371061,"name":"万圣节","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005376821,"name":"薄荷","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":3000,"currency":2},{"id":921009725832,"name":"丑角","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007005376,"name":"睡衣","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":2000,"currency":2},{"id":920009600933,"name":"木头迷彩","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005371060,"name":"僵尸","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":5000,"currency":2},{"id":920009365549,"name":"曲折","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":500,"currency":2},{"id":920006240691,"name":"日落伪装","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009675331,"name":"战舰","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365546,"name":"波纹","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":400,"currency":2},{"id":920009662894,"name":"450 纳米","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005715670,"name":"金光闪烁","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009595689,"name":"羽毛","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":500,"currency":2},{"id":921009710982,"name":"火山喷发","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005868360,"name":"雪花","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007005374,"name":"月球土壤","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":3000,"currency":2},{"id":920009656662,"name":"深蓝色像素","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009663647,"name":"荞麦","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009611366,"name":"白色星球","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004826760,"name":"金星","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":750000,"currency":0},{"id":920009661139,"name":"珍贵的耳钉","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009668724,"name":"设计师氛围","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009656658,"name":"大洋洲","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009662893,"name":"蓝色几何","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601471,"name":"远古巨龙","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009661137,"name":"恒星和火焰","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601652,"name":"黑曜石","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007005062,"name":"故障","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":2000,"currency":2},{"id":920009621497,"name":"可怕的事情","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009626658,"name":"微型砖石","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009707343,"name":"前卫派","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009674717,"name":"飞镖","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009603229,"name":"礼物包装","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009595699,"name":"彩色玻璃","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":500,"currency":2},{"id":920009595697,"name":"炼乳","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":921009684085,"name":"游戏玩家","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009742074,"name":"海滩","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365530,"name":"天蓝","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920009365544,"name":"陶艺家","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":400,"currency":2},{"id":921009738090,"name":"流行它","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009626656,"name":"烤炉","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009662895,"name":"祖母的沙发","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009761274,"name":"瞄准镜","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365543,"name":"流行艺术","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":921009684084,"name":"环保型","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009675332,"name":"核能太阳","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365538,"name":"佩斯利火焰","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920009365536,"name":"莲花","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":500,"currency":2},{"id":920007231181,"name":"视网膜","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365545,"name":"脉冲星","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":400,"currency":2},{"id":921009758815,"name":"落叶","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006148423,"name":"您所需要的是…","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365531,"name":"古奇旗子","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920009601651,"name":"压碎机","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006313001,"name":"丁香花瓣","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009762778,"name":"毯子","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009674718,"name":"进攻","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006502632,"name":"加加林的山","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009738091,"name":"绿洲","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009615937,"name":"翻滚","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601650,"name":"塔兰图拉","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365537,"name":"莫奈","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920005192443,"name":"水彩画","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":4000,"currency":2},{"id":920009596453,"name":"微风","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":7000,"currency":2},{"id":920009656660,"name":"橙色海胆","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600930,"name":"红色果酱","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009662892,"name":"撕碎","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365532,"name":"幻觉","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":400,"currency":2},{"id":920004826769,"name":"神经元","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":4000,"currency":2},{"id":920009600932,"name":"新加坡","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009742073,"name":"52 区","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009276300,"name":"新年礼物","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009653807,"name":"包装长筒袜","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365540,"name":"山峰","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920009653806,"name":"丰富的装饰品","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007005064,"name":"斯堪的纳维亚","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":1000,"currency":2},{"id":920009678474,"name":"苏打水","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007005370,"name":"草莓","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":2000,"currency":2},{"id":921009687165,"name":"鹰眼","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009678473,"name":"蛋糕","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005376822,"name":"干旱","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":2000,"currency":2},{"id":920009668725,"name":"飞驰之星","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365541,"name":"幻影","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":400,"currency":2},{"id":920009600931,"name":"蓝色果酱","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009595695,"name":"大都市","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":500,"currency":2},{"id":920004704579,"name":"永恒","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":5000,"currency":2},{"id":920003139980,"name":"Vip 迷彩","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009734907,"name":"星光大道","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007987681,"name":"冷静兄弟!","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004826768,"name":"青柠","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":4000,"currency":2},{"id":921009713706,"name":"矢量","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009692268,"name":"靶子","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009751354,"name":"化装舞会","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920006240690,"name":"钢微纤维","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009734906,"name":"和平, 工作, 五月!","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009758816,"name":"小木屋","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009661138,"name":"外星人链甲","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009692269,"name":"俄罗斯方块","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009717738,"name":"复活节","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009595691,"name":"火龙","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":400,"currency":2},{"id":920004704454,"name":"月球漫步者","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920005376820,"name":"琥珀","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":3000,"currency":2},{"id":931009762777,"name":"平安夜","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009678472,"name":"烧烤","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009605680,"name":"西瓜","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621498,"name":"鱿鱼的手指","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009707344,"name":"神经网络","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601640,"name":"帽子","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009365535,"name":"棒棒糖","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920005192442,"name":"多米诺骨牌","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":1000,"currency":2},{"id":920009365539,"name":"佩斯利冰","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":920008536134,"name":"外星人的秘密","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009702021,"name":"热带地区","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009702022,"name":"路障胶带","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009595687,"name":"蓝方块","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":300,"currency":2},{"id":921009687164,"name":"声纳","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009605681,"name":"玉鳞","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009713707,"name":"问题","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704578,"name":"红色西装","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":5000,"currency":2},{"id":920009595685,"name":"E236","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":500,"currency":2},{"id":920007005372,"name":"生锈","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":1000,"currency":2},{"id":920007005378,"name":"牛排","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":1000,"currency":2},{"id":920009653805,"name":"所有的好东西","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920007005066,"name":"理发店","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":2000,"currency":2},{"id":920009365533,"name":"超立方体","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":500,"currency":2},{"id":920004826761,"name":"冰霜","category":2,"viewCategory":2,"rarity":2,"premium":false,"count":0,"buyable":true,"price":650000,"currency":0},{"id":920004959631,"name":"迪斯科","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":100000,"currency":0},{"id":920004704214,"name":"外星人","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":150000,"currency":0},{"id":920004703495,"name":"上帝之眼","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":920004826763,"name":"毛线衣","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":120000,"currency":0},{"id":920004826766,"name":"像素心","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":30000,"currency":0},{"id":920004826767,"name":"夜晚","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":35000,"currency":0},{"id":920004704338,"name":"铁匠","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":225000,"currency":0},{"id":920004704691,"name":"浣熊","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":210000,"currency":0},{"id":920004703851,"name":"纳米","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":350000,"currency":0},{"id":920004959751,"name":"牛仔裤","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":90000,"currency":0},{"id":920004703733,"name":"猛虎","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":500000,"currency":0},{"id":920004704336,"name":"雪豹","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":400000,"currency":0},{"id":920004703499,"name":"蜂巢","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":120000,"currency":0},{"id":920004959841,"name":"撒哈拉沙漠","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":60000,"currency":0},{"id":920004704331,"name":"绿宝石","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":370000,"currency":0},{"id":920004704690,"name":"伐木工","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":160000,"currency":0},{"id":920004704337,"name":"火山","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":920004703732,"name":"古典","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":300000,"currency":0},{"id":920004704332,"name":"地狱火","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":440000,"currency":0},{"id":920004704451,"name":"犀牛","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":37000,"currency":0},{"id":920004704330,"name":"镀铅","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":25000,"currency":0},{"id":920004703498,"name":"龙鳞骑士","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":920004826765,"name":"软花","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":60000,"currency":0},{"id":920004703979,"name":"蟒蛇","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":100000,"currency":0},{"id":920004703497,"name":"金钱豹","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":300000,"currency":0},{"id":920004704095,"name":"斑纹","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":75000,"currency":0},{"id":920004703857,"name":"链甲","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":35000,"currency":0},{"id":920004704339,"name":"樱花","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":180000,"currency":0},{"id":920004704459,"name":"爱你一万年","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":920004959811,"name":"万花筒","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":130000,"currency":0},{"id":920004703493,"name":"碳钎","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":30000,"currency":0},{"id":920004959781,"name":"滑稽演员","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":40000,"currency":0},{"id":920004703855,"name":"原子","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":150000,"currency":0},{"id":920004826762,"name":"宇宙空间","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":180000,"currency":0},{"id":920004704096,"name":"花火","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":200000,"currency":0},{"id":920004704693,"name":"涂鸦","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":250000,"currency":0},{"id":920004704210,"name":"番茄玛丽","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":100000,"currency":0},{"id":920004704692,"name":"非洲","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":400000,"currency":0},{"id":920004826764,"name":"初恋","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":110000,"currency":0},{"id":920004703496,"name":"死亡骑士","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":80000,"currency":0},{"id":920004704455,"name":"侵略者","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":920004704334,"name":"宙斯","category":2,"viewCategory":2,"rarity":3,"premium":false,"count":0,"buyable":true,"price":500000,"currency":0},{"id":920004703971,"name":"海军","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":1500,"currency":0},{"id":920005376824,"name":"草原","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":40000,"currency":0},{"id":920004703491,"name":"幻影骑士","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":5000,"currency":0},{"id":920004703731,"name":"暴风雪","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":3000,"currency":0},{"id":920004704457,"name":"旋涡","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":13000,"currency":0},{"id":920004959871,"name":"五彩纸屑","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":13000,"currency":0},{"id":920004704217,"name":"极地隐身","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":920004703619,"name":"丛林杀手","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":9000,"currency":0},{"id":920004703494,"name":"隐身衣","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":14000,"currency":0},{"id":920004703492,"name":"沼泽","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":2000,"currency":0},{"id":920004704453,"name":"破绽","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":30000,"currency":0},{"id":920004703859,"name":"沙漠","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":4500,"currency":0},{"id":920004703611,"name":"樱桃","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":920004703614,"name":"磐石","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":15000,"currency":0},{"id":920004704093,"name":"激浪","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":11000,"currency":0},{"id":920004703850,"name":"毕加索","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":65000,"currency":0},{"id":920004704097,"name":"森林","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":2500,"currency":0},{"id":920004703615,"name":"极地沼泽","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":10000,"currency":0},{"id":920004704212,"name":"冬天","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":7000,"currency":0},{"id":920004703970,"name":"热带","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":8000,"currency":0},{"id":920004703853,"name":"岩浆","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":10000,"currency":0},{"id":920004704092,"name":"泥浆","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":6500,"currency":0},{"id":920004704211,"name":"丛林","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":1000,"currency":0},{"id":920004704450,"name":"游击队","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":4000,"currency":0},{"id":920004703854,"name":"像素","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":25000,"currency":0},{"id":920004704091,"name":"锈斑","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":12000,"currency":0},{"id":920004959721,"name":"苔藓","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":70000,"currency":0},{"id":920004703490,"name":"废墟","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":3500,"currency":0},{"id":920004703856,"name":"火星","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":45000,"currency":0},{"id":920004703739,"name":"翡翠","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":30000,"currency":0},{"id":920004704218,"name":"松针","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":60000,"currency":0},{"id":920004703617,"name":"流沙","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":6000,"currency":0},{"id":920005376823,"name":"红色城市","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":75000,"currency":0},{"id":920004703616,"name":"雪松","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":5500,"currency":0},{"id":920004703852,"name":"城市","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":7500,"currency":0},{"id":920004704094,"name":"风语者","category":2,"viewCategory":2,"rarity":4,"premium":false,"count":0,"buyable":true,"price":35000,"currency":0},{"id":1931009779875,"name":"天空蓝","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779882,"name":"黄色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779878,"name":"金色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779872,"name":"苹果色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":920004703972,"name":"褐红色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":920004704213,"name":"平静","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779874,"name":"偏蓝色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":920004704216,"name":"幻影黑","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779879,"name":"黄马甲","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779881,"name":"紫罗兰色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":920004703973,"name":"雪山飞狐","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779876,"name":"珊瑚色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":920004704099,"name":"橄榄绿","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779873,"name":"海蓝色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779877,"name":"紫红色","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":920004703974,"name":"芥末","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":1931009779880,"name":"中国红","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":920004703975,"name":"合金装备","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10,"currency":0},{"id":920009597070,"name":"获胜者","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009623043,"name":"吸血鬼","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009623044,"name":"不死族","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009623042,"name":"幽灵","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601442,"name":"星光","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601441,"name":"兰尼","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601443,"name":"塔吉斯","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009648083,"name":"精灵","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009648084,"name":"圣诞老人","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009648085,"name":"雪人","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601163,"name":"先生","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601164,"name":"女士","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601400,"name":"经销商","category":2,"viewCategory":2,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004703610,"name":"节日","category":2,"viewCategory":2,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780117,"name":"烟雾弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780075,"name":"烟雾弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780076,"name":"烟雾弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780124,"name":"烟雾弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007464,"name":"实验性的烟雾","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780077,"name":"烟雾弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780074,"name":"烟雾弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780073,"name":"烟雾弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780062,"name":"耀斑干扰弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780059,"name":"耀斑干扰弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780061,"name":"耀斑干扰弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780058,"name":"耀斑干扰弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007458,"name":"实验性的耀斑","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780120,"name":"耀斑干扰弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780060,"name":"耀斑干扰弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780121,"name":"耀斑干扰弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780140,"name":"礼花弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":1931009780139,"name":"礼花弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780137,"name":"礼花弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":183000,"currency":0},{"id":1931009780138,"name":"礼花弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":1931010007463,"name":"实验性的礼炮","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780141,"name":"礼花弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":1931009780143,"name":"礼花弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":1931009780142,"name":"礼花弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":1931009780066,"name":"磁暴炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802782,"name":"实验性的磁铁","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780045,"name":"磁暴炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780065,"name":"磁暴炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780063,"name":"磁暴炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780064,"name":"磁暴炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780067,"name":"磁暴炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780044,"name":"磁暴炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780219,"name":"蛋","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007775,"name":"蛋","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780214,"name":"蛋","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780215,"name":"蛋","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780216,"name":"蛋","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780217,"name":"蛋","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780218,"name":"蛋","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780213,"name":"蛋","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007462,"name":"实验性的医护兵","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780068,"name":"医护兵","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780122,"name":"医护兵","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":1931009780071,"name":"医护兵","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":1931009780070,"name":"医护兵","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":1931009780069,"name":"医护兵","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":1931009780123,"name":"医护兵","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":118000,"currency":0},{"id":1931009780072,"name":"医护兵","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":1931009780057,"name":"泡沫屏障","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780119,"name":"泡沫屏障","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780056,"name":"泡沫屏障","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780055,"name":"泡沫屏障","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007459,"name":"实验性的泡沫","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780054,"name":"泡沫屏障","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780125,"name":"泡沫屏障","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780051,"name":"泡沫屏障","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780080,"name":"星辰炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780118,"name":"星辰炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007466,"name":"实验性的星辰","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780079,"name":"星辰炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780078,"name":"星辰炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780082,"name":"星辰炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780081,"name":"星辰炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780115,"name":"星辰炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780165,"name":"雪球弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":1931009780161,"name":"雪球弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780159,"name":"雪球弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007465,"name":"实验性的雪球","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780164,"name":"雪球弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":1931009780162,"name":"雪球弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":1931009780163,"name":"雪球弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":1931009780160,"name":"雪球弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":1931009780153,"name":"沙皇炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":1931009780151,"name":"沙皇炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":1931009780149,"name":"沙皇炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780150,"name":"沙皇炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":1931009780155,"name":"沙皇炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780148,"name":"沙皇炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":1931010007457,"name":"实验性的球状体","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780152,"name":"沙皇炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":1931009803196,"name":"实验性的炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009770000,"name":"炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":1931009780049,"name":"炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":1930009780046,"name":"炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780047,"name":"炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":1931009780014,"name":"炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1,"currency":2},{"id":1931009780050,"name":"炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":1931009780048,"name":"炸弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":1931009780131,"name":"南瓜弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":1931009780133,"name":"南瓜弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":1931009780113,"name":"南瓜弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780134,"name":"南瓜弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":1931009780132,"name":"南瓜弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":1931009780130,"name":"南瓜弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780128,"name":"南瓜弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":1931010007460,"name":"实验性的南瓜","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780178,"name":"迫击炮弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780176,"name":"迫击炮弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":10100,"currency":0},{"id":1931009780179,"name":"迫击炮弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":1931009780181,"name":"迫击炮弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":1931009780182,"name":"迫击炮弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":1931009780180,"name":"迫击炮弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":1931010007461,"name":"实验性的迫击炮","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780177,"name":"迫击炮弹","category":17,"viewCategory":13,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009602495,"name":"布鲁特斯","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1000,"currency":0},{"id":920009598471,"name":"破坏者","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":true,"price":20000,"currency":0},{"id":920009627606,"name":"亥伯龙神","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":true,"price":320000,"currency":0},{"id":1931009778276,"name":"亥伯龙神 XT","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009598611,"name":"欺诈者","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":true,"price":20000,"currency":0},{"id":920009506512,"name":"助推器","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":true,"price":20000,"currency":0},{"id":920009506514,"name":"守卫者","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":true,"price":20000,"currency":0},{"id":920009506518,"name":"机械师","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":true,"price":20000,"currency":0},{"id":1931009803273,"name":"Default","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009803274,"name":"神谕者","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009671854,"name":"危机","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":true,"price":365000,"currency":0},{"id":1931009774811,"name":"危机 XT","category":14,"viewCategory":8,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631019,"name":"泰坦","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009631024,"name":"泰坦","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631023,"name":"泰坦","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631022,"name":"泰坦","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631018,"name":"泰坦","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631020,"name":"泰坦","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631021,"name":"泰坦","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630947,"name":"维京","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630946,"name":"维京","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630942,"name":"维京","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630943,"name":"维京","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009630945,"name":"维京","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009630944,"name":"维京","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630941,"name":"维京","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631103,"name":"剑圣","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631107,"name":"剑圣","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631105,"name":"剑圣","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631102,"name":"剑圣","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631106,"name":"剑圣","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631108,"name":"剑圣","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631104,"name":"剑圣","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631039,"name":"猎人中甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631041,"name":"猎人中甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631042,"name":"猎人中甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631044,"name":"猎人中甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631043,"name":"猎人中甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631045,"name":"猎人中甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631040,"name":"猎人中甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630929,"name":"蜂王","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009630932,"name":"蜂王","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630927,"name":"蜂王","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630928,"name":"蜂王","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630933,"name":"蜂王","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630931,"name":"蜂王","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009630930,"name":"蜂王","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631027,"name":"猛犸象","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631029,"name":"猛犸象","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631026,"name":"猛犸象","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009631028,"name":"猛犸象","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631031,"name":"猛犸象","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631025,"name":"猛犸象","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631030,"name":"猛犸象","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630968,"name":"主宰者","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630964,"name":"主宰者","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009630967,"name":"主宰者","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630965,"name":"主宰者","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630966,"name":"主宰者","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009630963,"name":"主宰者","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630962,"name":"主宰者","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630961,"name":"黄蜂轻甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630958,"name":"黄蜂轻甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630956,"name":"黄蜂轻甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630960,"name":"黄蜂轻甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630959,"name":"黄蜂轻甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009630955,"name":"黄蜂轻甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630957,"name":"黄蜂轻甲","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":921009707336,"name":"十字军","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":921009707335,"name":"十字军","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":921009707339,"name":"十字军","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":921009707338,"name":"十字军","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":921009707333,"name":"十字军","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009707337,"name":"十字军","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":921009707334,"name":"十字军","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009665242,"name":"阿瑞斯","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009665504,"name":"阿瑞斯","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009665505,"name":"阿瑞斯","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009665500,"name":"阿瑞斯","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009665503,"name":"阿瑞斯","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009665501,"name":"阿瑞斯","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009661882,"name":"阿瑞斯","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009749936,"name":"圣骑士","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":921009749937,"name":"圣骑士","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":921009749939,"name":"圣骑士","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":921009749938,"name":"圣骑士","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":921009749940,"name":"圣骑士","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":921009749934,"name":"圣骑士","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009749935,"name":"圣骑士","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":921009687070,"name":"霍珀","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":921009687068,"name":"霍珀","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":921009687069,"name":"霍珀","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":921009687071,"name":"霍珀","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":921009687072,"name":"霍珀","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":921009687067,"name":"霍珀","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":921009687066,"name":"霍珀","category":1,"viewCategory":1,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630978,"name":"马格南","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009630977,"name":"马格南","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630980,"name":"马格南","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009630979,"name":"马格南","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630981,"name":"马格南","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630976,"name":"马格南","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630982,"name":"马格南","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631076,"name":"冰风暴","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631078,"name":"冰风暴","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631079,"name":"冰风暴","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631074,"name":"冰风暴","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631080,"name":"冰风暴","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631075,"name":"冰风暴","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009631077,"name":"冰风暴","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":921009744558,"name":"B0-NK«大锤»","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009744560,"name":"B0-NK«大锤»","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009744562,"name":"B0-NK«大锤»","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009741519,"name":"B0-NK«大锤»","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009744563,"name":"B0-NK«大锤»","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009744564,"name":"B0-NK«大锤»","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009744561,"name":"B0-NK«大锤»","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631164,"name":"镭射炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631159,"name":"镭射炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009631158,"name":"镭射炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631163,"name":"镭射炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631160,"name":"镭射炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631161,"name":"镭射炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631162,"name":"镭射炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631144,"name":"极速炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631149,"name":"极速炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631148,"name":"极速炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631150,"name":"极速炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631145,"name":"极速炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009631146,"name":"极速炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631147,"name":"极速炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631000,"name":"离子炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630999,"name":"离子炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631003,"name":"离子炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630998,"name":"离子炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630997,"name":"离子炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631001,"name":"离子炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631002,"name":"离子炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631171,"name":"终结者","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631166,"name":"终结者","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631169,"name":"终结者","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631170,"name":"终结者","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631165,"name":"终结者","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631167,"name":"终结者","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631168,"name":"终结者","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630991,"name":"火箭炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630993,"name":"火箭炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630992,"name":"火箭炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009630990,"name":"火箭炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630996,"name":"火箭炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630995,"name":"火箭炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630994,"name":"火箭炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631088,"name":"火龙珠","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631094,"name":"火龙珠","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631091,"name":"火龙珠","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631089,"name":"火龙珠","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009631090,"name":"火龙珠","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631093,"name":"火龙珠","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631092,"name":"火龙珠","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":921009714088,"name":"特斯拉","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":921009714084,"name":"特斯拉","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009714087,"name":"特斯拉","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":921009714090,"name":"特斯拉","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":921009714089,"name":"特斯拉","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":921009714085,"name":"特斯拉","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":921009714086,"name":"特斯拉","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780258,"name":"海啸","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":1931009780259,"name":"海啸","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":1931009780255,"name":"海啸","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":1931009780251,"name":"海啸","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780260,"name":"海啸","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":1931009780256,"name":"海啸","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":1931009780257,"name":"海啸","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631125,"name":"雷暴炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631129,"name":"雷暴炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631127,"name":"雷暴炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631128,"name":"雷暴炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631124,"name":"雷暴炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009631126,"name":"雷暴炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631123,"name":"雷暴炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630986,"name":"火焰炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630987,"name":"火焰炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009630989,"name":"火焰炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630984,"name":"火焰炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630985,"name":"火焰炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009630988,"name":"火焰炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630983,"name":"火焰炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631156,"name":"电磁炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631151,"name":"电磁炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631155,"name":"电磁炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631152,"name":"电磁炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009631153,"name":"电磁炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631157,"name":"电磁炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631154,"name":"电磁炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631016,"name":"激光炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631017,"name":"激光炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631015,"name":"激光炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631013,"name":"激光炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631011,"name":"激光炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631014,"name":"激光炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631012,"name":"激光炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":931009771128,"name":"蝎子","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":931009771125,"name":"蝎子","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":931009771122,"name":"蝎子","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771124,"name":"蝎子","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":931009771127,"name":"蝎子","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":931009771123,"name":"蝎子","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":931009771126,"name":"蝎子","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009630975,"name":"轰天炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630974,"name":"轰天炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630971,"name":"轰天炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009630972,"name":"轰天炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630970,"name":"轰天炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630969,"name":"轰天炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630973,"name":"轰天炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631050,"name":"滑膛炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920009631049,"name":"滑膛炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009631048,"name":"滑膛炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009631051,"name":"滑膛炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009631046,"name":"滑膛炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009631052,"name":"滑膛炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009631047,"name":"滑膛炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630916,"name":"磁力炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5,"currency":2},{"id":920009630918,"name":"磁力炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7,"currency":2},{"id":920009630919,"name":"磁力炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":8,"currency":2},{"id":920009630915,"name":"磁力炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4,"currency":2},{"id":920009630914,"name":"磁力炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":3,"currency":2},{"id":920009630913,"name":"磁力炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009630917,"name":"磁力炮","category":0,"viewCategory":0,"rarity":5,"premium":false,"count":0,"buyable":true,"price":6,"currency":2},{"id":920004704699,"name":"勋爵","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009789029,"name":"蜘蛛","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5000,"currency":0},{"id":1931009789031,"name":"秃鹰","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789009,"name":"猎鹰","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789011,"name":"狐狸","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789033,"name":"鼬","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789007,"name":"鹰","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789013,"name":"狮鹫","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789005,"name":"海豚","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789037,"name":"犰狳 ","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":275000,"currency":0},{"id":1931009789015,"name":"灰熊","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789019,"name":"山猫 ","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789027,"name":"鲨鱼","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789021,"name":"虎鲸","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789035,"name":"狼","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789017,"name":"狮子","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789006,"name":"獾","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":1931009789023,"name":"猫头鹰","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":920009629139,"name":"光谱 M","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780272,"name":"乌鸦","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":920004704851,"name":"光谱 B","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009789025,"name":"黑豹 ","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":true,"price":55000,"currency":0},{"id":920004704850,"name":"光谱 A","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009803187,"name":"机器人","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010007548,"name":"机器人","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009803195,"name":"机器人","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009803188,"name":"机器人","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704852,"name":"光谱 C","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920004704698,"name":"恶魔","category":10,"viewCategory":7,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009759269,"name":"螯","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812007,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812023,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812002,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812027,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812024,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812012,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812014,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812022,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812013,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812005,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812025,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812015,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812011,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812026,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812021,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812006,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812010,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812009,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812008,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812016,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780252,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009649446,"name":"雷暴炮 Prime 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009612103,"name":"电磁炮 Prime 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009607727,"name":"激光炮 Prime 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009626652,"name":"极速炮 Prime 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812040,"name":"火龙珠 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780169,"name":"镭射炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780168,"name":"滑膛炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780029,"name":"冰风暴 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779702,"name":"轰天炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009493,"name":"蝎子 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812042,"name":"特斯拉 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009492,"name":"极速炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780034,"name":"离子炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009778275,"name":"雷暴炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812004,"name":"火焰炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780028,"name":"电磁炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008894,"name":"火箭炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780001,"name":"磁力炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780006,"name":"激光炮 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780227,"name":"火箭炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779703,"name":"冰风暴 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009714801,"name":"特斯拉 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780032,"name":"雷暴炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009774810,"name":"蝎子 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780308,"name":"海啸 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780171,"name":"雷暴炮 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780309,"name":"海啸 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780228,"name":"特斯拉 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780225,"name":"冰风暴 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780226,"name":"蝎子 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008958,"name":"火箭炮 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009729742,"name":"火箭炮 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009658798,"name":"极速炮 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009648668,"name":"激光炮 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681686,"name":"电磁炮 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601410,"name":"雷暴炮 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771254,"name":"火龙珠 RT 皮肤 ","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812045,"name":"电磁炮 RT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802582,"name":"特斯拉 RT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812048,"name":"激光炮 RF 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780230,"name":"蝎子 RT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779622,"name":"离子炮 RT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009598871,"name":"镭射炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600521,"name":"离子炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600890,"name":"马格南 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009661271,"name":"电磁炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596345,"name":"激光炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600651,"name":"磁力炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596348,"name":"火焰炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597310,"name":"冰风暴 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601362,"name":"火箭炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596346,"name":"雷暴炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601140,"name":"滑膛炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597080,"name":"轰天炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009598350,"name":"火龙珠 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596347,"name":"极速炮 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009784005,"name":"马格南 IC 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009784003,"name":"冰风暴 IC 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780046,"name":"电磁炮 IC 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812039,"name":"滑膛炮 IC 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780234,"name":"轰天炮 VT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780311,"name":"雷暴炮 VT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009764463,"name":"冰风暴 SE 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780007,"name":"磁力炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009785007,"name":"电磁炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009770959,"name":"轰天炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009648019,"name":"火龙珠 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597040,"name":"雷暴炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009774424,"name":"滑膛炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779045,"name":"特斯拉 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771443,"name":"镭射炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600940,"name":"激光炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009785006,"name":"极速炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009770085,"name":"离子炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780002,"name":"冰风暴 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780004,"name":"火焰炮 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812034,"name":"镭射炮 Demonic 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009760170,"name":"火焰炮 Demonic 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780026,"name":"极速炮 Demonic 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009778883,"name":"滑膛炮 Demonic 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009788026,"name":"磁力炮 DC 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780229,"name":"滑膛炮 SP 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801590,"name":"马格南 SP 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009752099,"name":"离子炮 SP 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599320,"name":"旧火焰炮 Demonic 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780027,"name":"猎人中甲 Demonic 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009778882,"name":"维京 Demonic 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009760624,"name":"黄蜂轻甲 Demonic 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596343,"name":"维京 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597170,"name":"泰坦 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599210,"name":"独裁者 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596342,"name":"蜂王 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600650,"name":"猎人中甲 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596341,"name":"黄蜂轻甲 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009596344,"name":"猛犸象 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009752104,"name":"猛犸象 SP 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009788027,"name":"猎人中甲 SP 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812047,"name":"蜂王 SP 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812033,"name":"独裁者 SP 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009801532,"name":"泰坦 SP 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780312,"name":"维京 VT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780232,"name":"黄蜂轻甲 VT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812041,"name":"泰坦 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009778273,"name":"维京 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780005,"name":"独裁者 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779700,"name":"猎人中甲 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780033,"name":"猛犸象 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812003,"name":"黄蜂轻甲 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780003,"name":"蜂王 GT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009787041,"name":"霍珀 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008913,"name":"十字军 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780310,"name":"圣骑士 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780173,"name":"维京 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780224,"name":"蜂王 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780223,"name":"阿瑞斯 DK 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009651438,"name":"猛犸象 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009774423,"name":"泰坦 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009770958,"name":"黄蜂轻甲 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":2931009771444,"name":"独裁者 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009597060,"name":"维京 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009770084,"name":"猎人中甲 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601280,"name":"蜂王 Legacy 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812018,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812035,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812031,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812032,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812020,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812028,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812029,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812037,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812036,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812019,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812038,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009812030,"name":"","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":3000017176178,"name":"蜂王 Prime 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009616645,"name":"猎人中甲 Prime 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009649445,"name":"维京 Prime 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009621495,"name":"泰坦 Prime 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009735892,"name":"猛犸象 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601730,"name":"维京 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681186,"name":"蜂王 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009664158,"name":"猎人中甲 Ultra 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771253,"name":"圣骑士 RT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009802583,"name":"霍珀 RT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780222,"name":"阿瑞斯 RT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009779609,"name":"十字军 RT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780008,"name":"维京 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009780167,"name":"蜂王 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009707505,"name":"十字军 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009750345,"name":"圣骑士 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009687219,"name":"霍珀 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":921009681748,"name":"阿瑞斯 XT 皮肤","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009598690,"name":"橄榄绿","category":15,"viewCategory":9,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599829,"name":"雪","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600025,"name":"寒冷","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600018,"name":"毒","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600022,"name":"暗月","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601695,"name":"岩浆","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601692,"name":"日食","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601694,"name":"毒","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601696,"name":"虚空","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601680,"name":"血液","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601690,"name":"天空蓝","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009601670,"name":"水","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600044,"name":"橄榄绿","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600032,"name":"天空蓝","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600035,"name":"雪","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600053,"name":"黑暗","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600039,"name":"金","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600030,"name":"血液","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600045,"name":"紫罗兰色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009784001,"name":"魔法","category":15,"viewCategory":9,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009615223,"name":"紫罗兰色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009615220,"name":"深红色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009615219,"name":"天空蓝","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009615222,"name":"毒","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009615221,"name":"日食","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009774784,"name":"橄榄绿","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009659286,"name":"神秘的红色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599994,"name":"虚空","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599986,"name":"紫罗兰色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600000,"name":"血液","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600005,"name":"天空蓝","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599992,"name":"日食","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600003,"name":"岩浆","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599990,"name":"橄榄绿","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599993,"name":"水","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600002,"name":"正午","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600136,"name":"金","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600128,"name":"水","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600117,"name":"岩浆","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600120,"name":"电","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600140,"name":"烟雾","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600109,"name":"紫罗兰色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600123,"name":"毒","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600118,"name":"深红色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":931009771442,"name":"爆破手","category":15,"viewCategory":9,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600081,"name":"紫罗兰色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931009777708,"name":"爆破手","category":15,"viewCategory":9,"rarity":1,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599878,"name":"电","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600070,"name":"暗月","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600072,"name":"珊瑚礁","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600069,"name":"金","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600080,"name":"天空","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600089,"name":"粉红色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600086,"name":"幻影黑","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600092,"name":"深红色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600091,"name":"岩浆","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010009361,"name":"Experimental","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600059,"name":"太阳","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600060,"name":"火","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600141,"name":"深红色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599963,"name":"毒","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009599774,"name":"天空蓝","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009600142,"name":"紫罗兰色","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":920009661408,"name":"暴力","category":15,"viewCategory":9,"rarity":2,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":1931010008509,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":180000,"currency":0},{"id":1931010008506,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1800,"currency":0},{"id":1931010008507,"name":"10","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":18000,"currency":0},{"id":1931010008508,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":54000,"currency":0},{"id":1931010008510,"name":"300","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":540000,"currency":0},{"id":1931010008807,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":37500,"currency":0},{"id":1931010008809,"name":"300","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":375000,"currency":0},{"id":1931010008805,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1250,"currency":0},{"id":1931010008808,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":125000,"currency":0},{"id":1931010008806,"name":"10","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":12500,"currency":0},{"id":1931010007354,"name":"10","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":12500,"currency":0},{"id":1931010007356,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":125000,"currency":0},{"id":1931010007355,"name":"300","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":375000,"currency":0},{"id":1931010007357,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1250,"currency":0},{"id":1931010007353,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":37500,"currency":0},{"id":1931009803162,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":37500,"currency":0},{"id":1931009803193,"name":"10","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":12500,"currency":0},{"id":1931009803194,"name":"300","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":375000,"currency":0},{"id":1931009780108,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":125000,"currency":0},{"id":1931009780111,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1250,"currency":0},{"id":1931009782058,"name":"9999","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":499950,"currency":0},{"id":1931009782056,"name":"1000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":1931009782054,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5000,"currency":0},{"id":1931009803109,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1500,"currency":0},{"id":1931009782053,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50,"currency":0},{"id":1931009782057,"name":"3000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150000,"currency":0},{"id":1931009782050,"name":"3000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150000,"currency":0},{"id":1931009803110,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1500,"currency":0},{"id":1931009782046,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50,"currency":0},{"id":1931009782049,"name":"1000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":1931009782051,"name":"9999","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":499950,"currency":0},{"id":1931009782047,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5000,"currency":0},{"id":1931009782021,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150,"currency":2},{"id":1931009782035,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":15000,"currency":2},{"id":1931009782022,"name":"10","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1500,"currency":2},{"id":1931009782028,"name":"50","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":7500,"currency":2},{"id":1931009782025,"name":"3000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150000,"currency":0},{"id":1931009782017,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50,"currency":0},{"id":1931009803107,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1500,"currency":0},{"id":1931009782024,"name":"1000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":1931009782026,"name":"9999","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":499950,"currency":0},{"id":1931009782018,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5000,"currency":0},{"id":1931009782039,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150,"currency":0},{"id":1931009782042,"name":"1000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150000,"currency":0},{"id":1931009803111,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":4500,"currency":0},{"id":1931009782040,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":15000,"currency":0},{"id":1931009782044,"name":"9999","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1499850,"currency":0},{"id":1931009782043,"name":"3000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":450000,"currency":0},{"id":1931009782029,"name":"1","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50,"currency":0},{"id":1931009782030,"name":"100","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":5000,"currency":0},{"id":1931009803108,"name":"30","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":1500,"currency":0},{"id":1931009782032,"name":"1000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":50000,"currency":0},{"id":1931009782033,"name":"3000","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":150000,"currency":0},{"id":1931009782034,"name":"9999","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":true,"price":499950,"currency":0},{"id":921009681435,"name":"坦克币箱","category":5,"viewCategory":4,"rarity":5,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147481788,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147476544,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482007,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147471023,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147471305,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482189,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147474824,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147471030,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147481805,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147481660,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147468148,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482033,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482026,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147481801,"name":"","category":0,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147476331,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147474231,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147476301,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147479784,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482028,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482074,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147481833,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147479782,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147481447,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147478065,"name":"","category":1,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482713,"name":"","category":14,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147472856,"name":"","category":2,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0},{"id":-2147482092,"name":"","category":2,"viewCategory":0,"rarity":0,"premium":false,"count":0,"buyable":false,"price":0,"currency":0}]}
\ No newline at end of file
diff --git a/TankiOffline/app/src/jsMain/resources/lobby.css b/TankiOffline/app/src/jsMain/resources/lobby.css
index f04125b..a39edc4 100644
--- a/TankiOffline/app/src/jsMain/resources/lobby.css
+++ b/TankiOffline/app/src/jsMain/resources/lobby.css
@@ -289,3 +289,120 @@ img { display: block; }
.nav span { display: none; }
.nav { justify-content: center; }
}
+
+/* ---------------- React 车库 ---------------- */
+.garage-host { height: 100%; min-height: 0; }
+.garage {
+ display: flex; flex-direction: column; gap: 12px; height: 100%; min-height: 0;
+}
+.garage-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
+.garage-head h2 { margin: 0; font: 600 22px/1.2 BaseFontMedium, sans-serif; }
+.garage-head h2 small { margin-left: 8px; color: var(--muted); font-size: 12px; font-weight: 400; }
+.garage-search {
+ width: 240px; padding: 8px 12px; border-radius: 6px;
+ border: 1px solid rgba(255,255,255,.14); background: rgba(3,10,16,.72); color: #fff; outline: none;
+}
+.garage-search:focus { border-color: rgba(255,179,0,.6); }
+.garage-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
+.garage-tab {
+ display: inline-flex; align-items: center; gap: 7px;
+ padding: 6px 12px; border-radius: 5px; font-size: 12px;
+ border: 1px solid rgba(255,255,255,.12); background: rgba(4,12,20,.62); color: #c7d7e6;
+}
+.garage-tab span { color: var(--muted); font-size: 10px; }
+.garage-tab:hover { border-color: rgba(255,255,255,.3); }
+.garage-tab.active {
+ border-color: #8a5d00; color: #241800; font-weight: 700;
+ background: linear-gradient(180deg, #ffc93d, #f29500);
+}
+.garage-tab.active span { color: #4a3200; }
+.garage-main { flex: 1; min-height: 0; display: flex; gap: 14px; }
+.garage-grid {
+ flex: 1; min-width: 0; overflow: auto; align-content: start;
+ display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 8px; padding-right: 4px;
+}
+.garage-card {
+ position: relative; display: flex; flex-direction: column; align-items: stretch;
+ padding: 0; border-radius: 7px; overflow: hidden; text-align: left;
+ border: 1px solid rgba(255,255,255,.10);
+ border-top: 2px solid var(--rarity, #9aa3b2);
+ background: linear-gradient(180deg, rgba(20,34,48,.92), rgba(6,12,18,.94));
+ color: var(--text);
+}
+.garage-card:hover { border-color: var(--rarity, #9aa3b2); transform: translateY(-1px); }
+.garage-card.selected { box-shadow: 0 0 0 1px var(--rarity, #ffb300), 0 0 18px rgba(255,179,0,.18); }
+.garage-card-art {
+ height: 64px; display: flex; align-items: center; justify-content: center;
+ font: 800 26px/1 BaseFontBold, sans-serif; color: var(--rarity, #9aa3b2);
+ background: radial-gradient(closest-side, color-mix(in srgb, var(--rarity, #9aa3b2) 38%, transparent), transparent 72%);
+}
+.garage-card-name {
+ padding: 0 8px; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
+}
+.garage-card-meta {
+ padding: 2px 8px 8px; display: flex; align-items: center; justify-content: space-between; gap: 6px;
+ color: var(--muted); font-size: 10px;
+}
+.garage-price { color: #ffd76a; }
+.garage-premium {
+ position: absolute; top: 5px; right: 5px; padding: 0 5px; border-radius: 3px;
+ background: var(--accent); color: #241800; font: 800 9px/14px BaseFontBold, sans-serif;
+}
+.garage-empty { grid-column: 1 / -1; padding: 40px; text-align: center; color: var(--muted); }
+.garage-detail {
+ width: 300px; flex: 0 0 300px; display: flex; flex-direction: column; gap: 8px;
+ padding: 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,.10);
+ background: rgba(6,14,22,.78);
+}
+.garage-detail h3 { margin: 0 0 4px; font: 600 17px/1.3 BaseFontMedium, sans-serif; }
+.garage-preview {
+ height: 190px; border-radius: 6px; border: 1px solid rgba(255,255,255,.08);
+ background:
+ radial-gradient(60% 60% at 50% 45%, rgba(63,159,224,.16), transparent 70%),
+ linear-gradient(180deg, rgba(255,255,255,.04), transparent);
+}
+.garage-preview-label { color: var(--muted); font-size: 11px; text-align: center; margin-top: -4px; }
+.garage-props { display: flex; flex-direction: column; gap: 5px; margin-top: 8px; }
+.garage-prop {
+ display: flex; align-items: center; justify-content: space-between;
+ padding: 5px 8px; border-radius: 4px; background: rgba(255,255,255,.03); font-size: 12px;
+}
+.garage-prop span { color: var(--muted); }
+.garage-prop b { font-weight: 600; }
+
+/* ---------------- 大厅浮动元素 ---------------- */
+.lobby-chat {
+ position: absolute; left: 118px; bottom: 34px; width: 370px; z-index: 5;
+ padding: 9px 10px; border-radius: 8px;
+ border: 1px solid rgba(255,255,255,.08);
+ background: rgba(3,9,14,.72); backdrop-filter: blur(4px);
+}
+.chat-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; font-size: 12px; }
+.lobby-chat .chat-box { height: 148px; }
+.lobby-chat .chat-input { margin-top: 6px; }
+
+.play-fab {
+ position: absolute; right: 42px; bottom: 46px; z-index: 6;
+ display: flex; align-items: center; gap: 14px;
+ padding: 14px 34px 14px 24px; border-radius: 4px;
+ border: 1px solid #8a5d00;
+ background: linear-gradient(180deg, #ffc93d, #ef9100);
+ color: #241800; font: 800 22px/1 BaseFontBold, sans-serif;
+ box-shadow: 0 10px 28px rgba(0,0,0,.45), 0 0 24px rgba(255,179,0,.25);
+ letter-spacing: .04em;
+}
+.play-fab img { width: 34px; height: 34px; }
+.play-fab:hover { filter: brightness(1.06); }
+
+/* 稀有度颜色(React 车库卡片) */
+.rarity-0 { --rarity: #9aa3b2; }
+.rarity-1 { --rarity: #5fbf6a; }
+.rarity-2 { --rarity: #3f8fe0; }
+.rarity-3 { --rarity: #a05fe0; }
+.rarity-4 { --rarity: #e0a13f; }
+.rarity-5 { --rarity: #e05f5f; }
+
+@media (max-width: 900px) {
+ .lobby-chat { display: none; }
+ .play-fab { right: 18px; bottom: 24px; }
+}
diff --git a/TankiOffline/kotlin-js-store/package-lock.json b/TankiOffline/kotlin-js-store/package-lock.json
new file mode 100644
index 0000000..6dd8a18
--- /dev/null
+++ b/TankiOffline/kotlin-js-store/package-lock.json
@@ -0,0 +1,6328 @@
+{
+ "name": "TankiOffline",
+ "version": "0.1.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "TankiOffline",
+ "version": "0.1.0",
+ "workspaces": [
+ "packages/TankiOffline-app",
+ "packages/TankiOffline-app-test",
+ "packages/TankiOffline-core",
+ "packages/TankiOffline-core-test",
+ "packages/TankiOffline-net",
+ "packages/TankiOffline-net-test",
+ "packages/TankiOffline-state",
+ "packages/TankiOffline-state-test",
+ "packages_imported/kotlin-react-core/2025.5.0-19.1.0",
+ "packages_imported/kotlin-csstype/2025.5.0-3.1.3",
+ "packages_imported/kotlin-cssom-core/2025.5.0",
+ "packages_imported/kotlin-react-dom/2025.5.0-19.1.0",
+ "packages_imported/kotlin-emotion/2025.3.26"
+ ],
+ "devDependencies": {}
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.29.7.tgz",
+ "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.29.7",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.29.8",
+ "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.29.8.tgz",
+ "integrity": "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==",
+ "dependencies": {
+ "@babel/parser": "^7.29.8",
+ "@babel/types": "^7.29.8",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
+ "jsesc": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-globals": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmmirror.com/@babel/helper-globals/-/helper-globals-7.29.7.tgz",
+ "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz",
+ "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==",
+ "dependencies": {
+ "@babel/traverse": "^7.29.7",
+ "@babel/types": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.29.11",
+ "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.29.11.tgz",
+ "integrity": "sha512-snZbO7MEDOof+hvNa97EjEY7qD7h2kwvQr5AJC3ZhQudKW5dnej6k3kP9NQV88hJwaS8vDqRLFo9rivLEhle2g==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz",
+ "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.29.11",
+ "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.29.11.tgz",
+ "integrity": "sha512-OZ6+oaK7GMyg3IfCpj8JOmn8n+w2rJbDT0LLfVDTLb1ZFeKDh3AiNELgCMUw175IJHSkLl74hG0M0VLsvx+gag==",
+ "dependencies": {
+ "@babel/types": "^7.29.11"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.29.10",
+ "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.29.10.tgz",
+ "integrity": "sha512-NpugTzbKgGrNe45Ui32cN8vCFFMxVtP/9rtfwv0nP5FRDAjvYBxJcLVpYA9mr1jxP6cnIT7x9LUzuDTbWYYNRA==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.29.7.tgz",
+ "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==",
+ "dependencies": {
+ "@babel/code-frame": "^7.29.7",
+ "@babel/parser": "^7.29.7",
+ "@babel/types": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.29.10",
+ "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.29.10.tgz",
+ "integrity": "sha512-B3lYAs2nkKskbgQ1nfy8Ma9ao9Q1rntTAQHrzzyDuj+TSO+X3le6PfWwqDvodsb+OumE10eMFfuMCTQSQ5iuIQ==",
+ "dependencies": {
+ "@babel/code-frame": "^7.29.7",
+ "@babel/generator": "^7.29.8",
+ "@babel/helper-globals": "^7.29.7",
+ "@babel/parser": "^7.29.9",
+ "@babel/template": "^7.29.7",
+ "@babel/types": "^7.29.8",
+ "debug": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/@babel/types": {
+ "version": "7.29.11",
+ "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.29.11.tgz",
+ "integrity": "sha512-WCsemW40Cpc6gouC1SrY6PBaZ+oLRlEVY9XBvZBI7il/HyUrb2nJ505wE1MHEFyDZNnrWDEuy4jL50WVHfTTSQ==",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.29.11",
+ "@babel/helper-validator-identifier": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@colors/colors": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmmirror.com/@colors/colors/-/colors-1.5.0.tgz",
+ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
+ "node_modules/@discoveryjs/json-ext": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmmirror.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
+ "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/@emotion/babel-plugin": {
+ "version": "11.13.5",
+ "resolved": "https://registry.npmmirror.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz",
+ "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.16.7",
+ "@babel/runtime": "^7.18.3",
+ "@emotion/hash": "^0.9.2",
+ "@emotion/memoize": "^0.9.0",
+ "@emotion/serialize": "^1.3.3",
+ "babel-plugin-macros": "^3.1.0",
+ "convert-source-map": "^1.5.0",
+ "escape-string-regexp": "^4.0.0",
+ "find-root": "^1.1.0",
+ "source-map": "^0.5.7",
+ "stylis": "4.2.0"
+ }
+ },
+ "node_modules/@emotion/babel-plugin/node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@emotion/cache": {
+ "version": "11.14.0",
+ "resolved": "https://registry.npmmirror.com/@emotion/cache/-/cache-11.14.0.tgz",
+ "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==",
+ "dependencies": {
+ "@emotion/memoize": "^0.9.0",
+ "@emotion/sheet": "^1.4.0",
+ "@emotion/utils": "^1.4.2",
+ "@emotion/weak-memoize": "^0.4.0",
+ "stylis": "4.2.0"
+ }
+ },
+ "node_modules/@emotion/css": {
+ "version": "11.13.5",
+ "resolved": "https://registry.npmmirror.com/@emotion/css/-/css-11.13.5.tgz",
+ "integrity": "sha512-wQdD0Xhkn3Qy2VNcIzbLP9MR8TafI0MJb7BEAXKp+w4+XqErksWR4OXomuDzPsN4InLdGhVe6EYcn2ZIUCpB8w==",
+ "dependencies": {
+ "@emotion/babel-plugin": "^11.13.5",
+ "@emotion/cache": "^11.13.5",
+ "@emotion/serialize": "^1.3.3",
+ "@emotion/sheet": "^1.4.0",
+ "@emotion/utils": "^1.4.2"
+ }
+ },
+ "node_modules/@emotion/hash": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmmirror.com/@emotion/hash/-/hash-0.9.2.tgz",
+ "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g=="
+ },
+ "node_modules/@emotion/is-prop-valid": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmmirror.com/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz",
+ "integrity": "sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==",
+ "dependencies": {
+ "@emotion/memoize": "^0.9.0"
+ }
+ },
+ "node_modules/@emotion/memoize": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmmirror.com/@emotion/memoize/-/memoize-0.9.0.tgz",
+ "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ=="
+ },
+ "node_modules/@emotion/react": {
+ "version": "11.14.0",
+ "resolved": "https://registry.npmmirror.com/@emotion/react/-/react-11.14.0.tgz",
+ "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "@emotion/babel-plugin": "^11.13.5",
+ "@emotion/cache": "^11.14.0",
+ "@emotion/serialize": "^1.3.3",
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0",
+ "@emotion/utils": "^1.4.2",
+ "@emotion/weak-memoize": "^0.4.0",
+ "hoist-non-react-statics": "^3.3.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@emotion/serialize": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmmirror.com/@emotion/serialize/-/serialize-1.3.3.tgz",
+ "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==",
+ "dependencies": {
+ "@emotion/hash": "^0.9.2",
+ "@emotion/memoize": "^0.9.0",
+ "@emotion/unitless": "^0.10.0",
+ "@emotion/utils": "^1.4.2",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@emotion/sheet": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmmirror.com/@emotion/sheet/-/sheet-1.4.0.tgz",
+ "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg=="
+ },
+ "node_modules/@emotion/styled": {
+ "version": "11.14.1",
+ "resolved": "https://registry.npmmirror.com/@emotion/styled/-/styled-11.14.1.tgz",
+ "integrity": "sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "@emotion/babel-plugin": "^11.13.5",
+ "@emotion/is-prop-valid": "^1.3.0",
+ "@emotion/serialize": "^1.3.3",
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0",
+ "@emotion/utils": "^1.4.2"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.0.0-rc.0",
+ "react": ">=16.8.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@emotion/unitless": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.10.0.tgz",
+ "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg=="
+ },
+ "node_modules/@emotion/use-insertion-effect-with-fallbacks": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz",
+ "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==",
+ "peerDependencies": {
+ "react": ">=16.8.0"
+ }
+ },
+ "node_modules/@emotion/utils": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmmirror.com/@emotion/utils/-/utils-1.4.2.tgz",
+ "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA=="
+ },
+ "node_modules/@emotion/weak-memoize": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmmirror.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz",
+ "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg=="
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/source-map": {
+ "version": "0.3.11",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.11.tgz",
+ "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.6.0.tgz",
+ "integrity": "sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw=="
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.31",
+ "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@leichtgewicht/ip-codec": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz",
+ "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==",
+ "dev": true
+ },
+ "node_modules/@socket.io/component-emitter": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmmirror.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
+ "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
+ "dev": true
+ },
+ "node_modules/@types/body-parser": {
+ "version": "1.19.6",
+ "resolved": "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.6.tgz",
+ "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==",
+ "dev": true,
+ "dependencies": {
+ "@types/connect": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/bonjour": {
+ "version": "3.5.13",
+ "resolved": "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.13.tgz",
+ "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/connect": {
+ "version": "3.4.38",
+ "resolved": "https://registry.npmmirror.com/@types/connect/-/connect-3.4.38.tgz",
+ "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/connect-history-api-fallback": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz",
+ "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==",
+ "dev": true,
+ "dependencies": {
+ "@types/express-serve-static-core": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/cors": {
+ "version": "2.8.19",
+ "resolved": "https://registry.npmmirror.com/@types/cors/-/cors-2.8.19.tgz",
+ "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.9.tgz",
+ "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==",
+ "dev": true
+ },
+ "node_modules/@types/express": {
+ "version": "4.17.25",
+ "resolved": "https://registry.npmmirror.com/@types/express/-/express-4.17.25.tgz",
+ "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==",
+ "dev": true,
+ "dependencies": {
+ "@types/body-parser": "*",
+ "@types/express-serve-static-core": "^4.17.33",
+ "@types/qs": "*",
+ "@types/serve-static": "^1"
+ }
+ },
+ "node_modules/@types/express-serve-static-core": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-5.1.3.tgz",
+ "integrity": "sha512-dPfW8NFiOF4wOHc7+N/QSxlY9cfSsenewGbAz8C8U/MULPd/YZ27LvJUIlzaXie7e6Ove9YunJGgC9tbHD2cKw==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*",
+ "@types/send": "*"
+ }
+ },
+ "node_modules/@types/express/node_modules/@types/express-serve-static-core": {
+ "version": "4.19.9",
+ "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.9.tgz",
+ "integrity": "sha512-QP2ESEe/ImWY0HDwNAnK9PvEffUyhLTnWkk7KXzHfyeWAnlrDe1fN77bXl6ia8KT3wPlmA7t9/VPRpnf4Ex9sg==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*",
+ "@types/send": "*"
+ }
+ },
+ "node_modules/@types/http-errors": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmmirror.com/@types/http-errors/-/http-errors-2.0.5.tgz",
+ "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==",
+ "dev": true
+ },
+ "node_modules/@types/http-proxy": {
+ "version": "1.17.17",
+ "resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.17.tgz",
+ "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.15",
+ "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+ "dev": true
+ },
+ "node_modules/@types/mime": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmmirror.com/@types/mime/-/mime-1.3.5.tgz",
+ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
+ "dev": true
+ },
+ "node_modules/@types/node": {
+ "version": "26.6.5",
+ "resolved": "https://registry.npmmirror.com/@types/node/-/node-26.6.5.tgz",
+ "integrity": "sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~8.9.0"
+ }
+ },
+ "node_modules/@types/node-forge": {
+ "version": "1.3.14",
+ "resolved": "https://registry.npmmirror.com/@types/node-forge/-/node-forge-1.3.14.tgz",
+ "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/parse-json": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.2.tgz",
+ "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw=="
+ },
+ "node_modules/@types/qs": {
+ "version": "6.15.1",
+ "resolved": "https://registry.npmmirror.com/@types/qs/-/qs-6.15.1.tgz",
+ "integrity": "sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==",
+ "dev": true
+ },
+ "node_modules/@types/range-parser": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.7.tgz",
+ "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
+ "dev": true
+ },
+ "node_modules/@types/retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmmirror.com/@types/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
+ "dev": true
+ },
+ "node_modules/@types/send": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmmirror.com/@types/send/-/send-1.2.1.tgz",
+ "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/serve-index": {
+ "version": "1.9.4",
+ "resolved": "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.4.tgz",
+ "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==",
+ "dev": true,
+ "dependencies": {
+ "@types/express": "*"
+ }
+ },
+ "node_modules/@types/serve-static": {
+ "version": "1.15.10",
+ "resolved": "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.10.tgz",
+ "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==",
+ "dev": true,
+ "dependencies": {
+ "@types/http-errors": "*",
+ "@types/node": "*",
+ "@types/send": "<1"
+ }
+ },
+ "node_modules/@types/serve-static/node_modules/@types/send": {
+ "version": "0.17.6",
+ "resolved": "https://registry.npmmirror.com/@types/send/-/send-0.17.6.tgz",
+ "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==",
+ "dev": true,
+ "dependencies": {
+ "@types/mime": "^1",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/sockjs": {
+ "version": "0.3.36",
+ "resolved": "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.36.tgz",
+ "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/ws": {
+ "version": "8.18.2",
+ "resolved": "https://registry.npmmirror.com/@types/ws/-/ws-8.18.2.tgz",
+ "integrity": "sha512-67MQl+fpWKVTT1NYdnmo3U4sc/xPo/zQBncVnI74qmQa0z/b+1g6iYqNmGCPbxO+zz2aklb08a0oHfegiVd0/w==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@webassemblyjs/ast": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.14.1.tgz",
+ "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/helper-numbers": "1.13.2",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2"
+ }
+ },
+ "node_modules/@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
+ "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
+ "dev": true
+ },
+ "node_modules/@webassemblyjs/helper-api-error": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
+ "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
+ "dev": true
+ },
+ "node_modules/@webassemblyjs/helper-buffer": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
+ "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
+ "dev": true
+ },
+ "node_modules/@webassemblyjs/helper-numbers": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz",
+ "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/floating-point-hex-parser": "1.13.2",
+ "@webassemblyjs/helper-api-error": "1.13.2",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
+ "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
+ "dev": true
+ },
+ "node_modules/@webassemblyjs/helper-wasm-section": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz",
+ "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-buffer": "1.14.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/wasm-gen": "1.14.1"
+ }
+ },
+ "node_modules/@webassemblyjs/ieee754": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz",
+ "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
+ "dev": true,
+ "dependencies": {
+ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "node_modules/@webassemblyjs/leb128": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz",
+ "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
+ "dev": true,
+ "dependencies": {
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/utf8": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
+ "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
+ "dev": true
+ },
+ "node_modules/@webassemblyjs/wasm-edit": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz",
+ "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-buffer": "1.14.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/helper-wasm-section": "1.14.1",
+ "@webassemblyjs/wasm-gen": "1.14.1",
+ "@webassemblyjs/wasm-opt": "1.14.1",
+ "@webassemblyjs/wasm-parser": "1.14.1",
+ "@webassemblyjs/wast-printer": "1.14.1"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-gen": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz",
+ "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/ieee754": "1.13.2",
+ "@webassemblyjs/leb128": "1.13.2",
+ "@webassemblyjs/utf8": "1.13.2"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-opt": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz",
+ "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-buffer": "1.14.1",
+ "@webassemblyjs/wasm-gen": "1.14.1",
+ "@webassemblyjs/wasm-parser": "1.14.1"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-parser": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz",
+ "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.14.1",
+ "@webassemblyjs/helper-api-error": "1.13.2",
+ "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+ "@webassemblyjs/ieee754": "1.13.2",
+ "@webassemblyjs/leb128": "1.13.2",
+ "@webassemblyjs/utf8": "1.13.2"
+ }
+ },
+ "node_modules/@webassemblyjs/wast-printer": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz",
+ "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
+ "dev": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.14.1",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webpack-cli/configtest": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmmirror.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz",
+ "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.15.0"
+ },
+ "peerDependencies": {
+ "webpack": "5.x.x",
+ "webpack-cli": "5.x.x"
+ }
+ },
+ "node_modules/@webpack-cli/info": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/@webpack-cli/info/-/info-2.0.2.tgz",
+ "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.15.0"
+ },
+ "peerDependencies": {
+ "webpack": "5.x.x",
+ "webpack-cli": "5.x.x"
+ }
+ },
+ "node_modules/@webpack-cli/serve": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmmirror.com/@webpack-cli/serve/-/serve-2.0.5.tgz",
+ "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.15.0"
+ },
+ "peerDependencies": {
+ "webpack": "5.x.x",
+ "webpack-cli": "5.x.x"
+ },
+ "peerDependenciesMeta": {
+ "webpack-dev-server": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+ "dev": true
+ },
+ "node_modules/@xtuc/long": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz",
+ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+ "dev": true
+ },
+ "node_modules/accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "dev": true,
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.19.0",
+ "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.19.0.tgz",
+ "integrity": "sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-import-attributes": {
+ "version": "1.9.5",
+ "resolved": "https://registry.npmmirror.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
+ "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
+ "dev": true,
+ "peerDependencies": {
+ "acorn": "^8"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "8.20.0",
+ "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.20.0.tgz",
+ "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3",
+ "fast-uri": "^3.0.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ajv-formats": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-3.0.1.tgz",
+ "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^8.0.0"
+ },
+ "peerDependencies": {
+ "ajv": "^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "ajv": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3"
+ },
+ "peerDependencies": {
+ "ajv": "^8.8.2"
+ }
+ },
+ "node_modules/ansi-colors": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-4.1.3.tgz",
+ "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ansi-html-community": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
+ "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==",
+ "dev": true,
+ "engines": [
+ "node >= 0.8.0"
+ ],
+ "bin": {
+ "ansi-html": "bin/ansi-html"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
+ "dev": true
+ },
+ "node_modules/babel-plugin-macros": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmmirror.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
+ "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "cosmiconfig": "^7.0.0",
+ "resolve": "^1.19.0"
+ },
+ "engines": {
+ "node": ">=10",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
+ },
+ "node_modules/baseline-browser-mapping": {
+ "version": "2.11.30",
+ "resolved": "https://registry.npmmirror.com/baseline-browser-mapping/-/baseline-browser-mapping-2.11.30.tgz",
+ "integrity": "sha512-YJs6Pz17RMNv8HoyKREtCY38E3BV1nPkWVmIb+XN1uHC1Vqt3KZCH/uJH9ZKRoiKb/icZ6tvehyee6RZNbFfRA==",
+ "dev": true,
+ "bin": {
+ "baseline-browser-mapping": "dist/cli.cjs"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/batch": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz",
+ "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==",
+ "dev": true
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/body-parser": {
+ "version": "1.20.8",
+ "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.8.tgz",
+ "integrity": "sha512-JNcyFQ64OiijEkPzUBTCe+hyPXUD/3LEldGQ6iF5LR1w00mx9o7xtDWHXBY2iItjdCFGoilOLNQbH943ut7pHA==",
+ "dev": true,
+ "dependencies": {
+ "bytes": "~3.1.2",
+ "content-type": "~1.0.5",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "~1.2.0",
+ "http-errors": "~2.0.1",
+ "iconv-lite": "~0.4.24",
+ "on-finished": "~2.4.1",
+ "qs": "~6.16.0",
+ "raw-body": "~2.5.3",
+ "type-is": "~1.6.18",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/bonjour-service": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.4.4.tgz",
+ "integrity": "sha512-jCZcVv7eoc4QesRscwEZtSROBen+6LpKAmBIsQYQrsAeVHLyMXWX/t6eIV5KiRZYNUBl8eVqImEEMQ8L5+c/Kw==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3",
+ "multicast-dns": "^7.2.5"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.21",
+ "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.21.tgz",
+ "integrity": "sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browser-stdout": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmmirror.com/browser-stdout/-/browser-stdout-1.3.1.tgz",
+ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
+ "dev": true
+ },
+ "node_modules/browserslist": {
+ "version": "4.29.4",
+ "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.29.4.tgz",
+ "integrity": "sha512-2TcbbiwXEq+N0kD36tykpCfyyQigUXmuwNQbnPp4Xk4PX9JOqVIKjJlIDjpH7uY6tmRGoAd+apeT1p60T8wsdA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "baseline-browser-mapping": "^2.11.29",
+ "caniuse-lite": "^1.0.30001816",
+ "electron-to-chromium": "^1.5.459",
+ "node-releases": "^2.0.59",
+ "update-browserslist-db": "^1.3.4"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "dev": true
+ },
+ "node_modules/bytes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz",
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+ "dev": true,
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/call-bound": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001817",
+ "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001817.tgz",
+ "integrity": "sha512-uZ1JG80BwhtMalIAGPxPfmNhHyd/B/nTdr3hITWlRamSyAdUStP1Gop01e7SD5q6J90ixJvWDbvmiFVfDgn4bw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ]
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chalk/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "dev": true,
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/chrome-trace-event": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
+ "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "node_modules/clone-deep": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmmirror.com/clone-deep/-/clone-deep-4.0.1.tgz",
+ "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
+ "dev": true,
+ "dependencies": {
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.2",
+ "shallow-clone": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/colorette": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz",
+ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
+ "dev": true
+ },
+ "node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ },
+ "node_modules/compressible": {
+ "version": "2.0.18",
+ "resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz",
+ "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
+ "dev": true,
+ "dependencies": {
+ "mime-db": ">= 1.43.0 < 2"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/compression": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmmirror.com/compression/-/compression-1.8.2.tgz",
+ "integrity": "sha512-o8vI5RE5A6EVVOd9o41jKp41aJom+QTEO/Bx8MYNjexMo/Bv2WOjUfZr+aL0WnYSgymUy6zeguqLTsIhV0gMvQ==",
+ "dev": true,
+ "dependencies": {
+ "bytes": "3.1.2",
+ "compressible": "~2.0.18",
+ "debug": "2.6.9",
+ "destroy": "1.2.0",
+ "negotiator": "~0.6.4",
+ "on-headers": "~1.1.0",
+ "safe-buffer": "5.2.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/compression/node_modules/negotiator": {
+ "version": "0.6.4",
+ "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.4.tgz",
+ "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true
+ },
+ "node_modules/connect": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmmirror.com/connect/-/connect-3.7.0.tgz",
+ "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
+ "dev": true,
+ "dependencies": {
+ "debug": "2.6.9",
+ "finalhandler": "1.1.2",
+ "parseurl": "~1.3.3",
+ "utils-merge": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/connect-history-api-fallback": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz",
+ "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz",
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
+ },
+ "node_modules/cookie": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.7.2.tgz",
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.7.tgz",
+ "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==",
+ "dev": true
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
+ "dev": true
+ },
+ "node_modules/cors": {
+ "version": "2.8.6",
+ "resolved": "https://registry.npmmirror.com/cors/-/cors-2.8.6.tgz",
+ "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==",
+ "dev": true,
+ "dependencies": {
+ "object-assign": "^4",
+ "vary": "^1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/cosmiconfig": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+ "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+ "dependencies": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/cross-spawn/node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz",
+ "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="
+ },
+ "node_modules/custom-event": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/custom-event/-/custom-event-1.0.1.tgz",
+ "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==",
+ "dev": true
+ },
+ "node_modules/date-format": {
+ "version": "4.0.14",
+ "resolved": "https://registry.npmmirror.com/date-format/-/date-format-4.0.14.tgz",
+ "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/decamelize": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-4.0.0.tgz",
+ "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/default-gateway": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz",
+ "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==",
+ "dev": true,
+ "dependencies": {
+ "execa": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/detect-node": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz",
+ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
+ "dev": true
+ },
+ "node_modules/di": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmmirror.com/di/-/di-0.0.1.tgz",
+ "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==",
+ "dev": true
+ },
+ "node_modules/diff": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmmirror.com/diff/-/diff-5.2.2.tgz",
+ "integrity": "sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/dns-packet": {
+ "version": "5.6.1",
+ "resolved": "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.6.1.tgz",
+ "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==",
+ "dev": true,
+ "dependencies": {
+ "@leichtgewicht/ip-codec": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/dom-serialize": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmmirror.com/dom-serialize/-/dom-serialize-2.2.1.tgz",
+ "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==",
+ "dev": true,
+ "dependencies": {
+ "custom-event": "~1.0.0",
+ "ent": "~2.2.0",
+ "extend": "^3.0.0",
+ "void-elements": "^2.0.0"
+ }
+ },
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "dev": true,
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
+ "dev": true
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.461",
+ "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.461.tgz",
+ "integrity": "sha512-3WZFARz1By+/rYcqQ0OLj4UcEdhd6tz2LEcDtKBUq7ey77EeJ1OtetY/5hjSUxw7dC5r5mA7FfkhRbqO9vnTCg==",
+ "dev": true
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/engine.io": {
+ "version": "6.6.11",
+ "resolved": "https://registry.npmmirror.com/engine.io/-/engine.io-6.6.11.tgz",
+ "integrity": "sha512-z34mGpLoY/82ZbkX1LqGMIaf3wjVMPL6gVC681QDqnmzJ26synI8qAE32P+a7UazmpJZ8UGrFIeAavgRfXzYrg==",
+ "dev": true,
+ "dependencies": {
+ "@types/cors": "^2.8.12",
+ "@types/node": ">=10.0.0",
+ "@types/ws": "^8.5.12",
+ "accepts": "~1.3.4",
+ "cookie": "~0.7.2",
+ "cors": "~2.8.5",
+ "debug": "~4.4.1",
+ "engine.io-parser": "~5.2.1",
+ "ws": "~8.21.0"
+ },
+ "engines": {
+ "node": ">=10.2.0"
+ }
+ },
+ "node_modules/engine.io-parser": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmmirror.com/engine.io-parser/-/engine.io-parser-5.2.3.tgz",
+ "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/engine.io/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/engine.io/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/enhanced-resolve": {
+ "version": "5.26.0",
+ "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.26.0.tgz",
+ "integrity": "sha512-9vhedylFonb2YGogzUKX6+Ja72gOJbN1QHAqdrvqLwhdl/QWbKopzoUC9EbQNVsAns/bx/4uyqalrQAoy1IByw==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.3.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/ent": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmmirror.com/ent/-/ent-2.2.2.tgz",
+ "integrity": "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==",
+ "dev": true,
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "punycode": "^1.4.1",
+ "safe-regex-test": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/envinfo": {
+ "version": "7.21.0",
+ "resolved": "https://registry.npmmirror.com/envinfo/-/envinfo-7.21.0.tgz",
+ "integrity": "sha512-Lw7I8Zp5YKHFCXL7+Dz95g4CcbMEpgvqZNNq3AmlT5XAV6CgAAk6gyAMqn2zjw08K9BHfcNuKrMiCPLByGafow==",
+ "dev": true,
+ "bin": {
+ "envinfo": "dist/cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.4.tgz",
+ "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-module-lexer": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-2.3.2.tgz",
+ "integrity": "sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/es-object-atoms": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.2.tgz",
+ "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==",
+ "dev": true,
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
+ "dev": true
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esrecurse/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/eventemitter3": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz",
+ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
+ "dev": true
+ },
+ "node_modules/events": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.x"
+ }
+ },
+ "node_modules/execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/express": {
+ "version": "4.22.3",
+ "resolved": "https://registry.npmmirror.com/express/-/express-4.22.3.tgz",
+ "integrity": "sha512-Bdcs4+3qlpVlx2NRn6fgX2Ue2/gGRaPeawebgclM0ERSCqDpA+owF1fdPwjJUTAJWMTuAaxjDf+hzb0/4eKvvw==",
+ "dev": true,
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "array-flatten": "1.1.1",
+ "body-parser": "~1.20.5",
+ "content-disposition": "~0.5.4",
+ "content-type": "~1.0.4",
+ "cookie": "~0.7.1",
+ "cookie-signature": "~1.0.6",
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "~1.3.1",
+ "fresh": "~0.5.2",
+ "http-errors": "~2.0.0",
+ "merge-descriptors": "1.0.3",
+ "methods": "~1.1.2",
+ "on-finished": "~2.4.1",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "~0.1.13",
+ "proxy-addr": "~2.0.7",
+ "qs": "~6.16.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.2.1",
+ "send": "~0.19.0",
+ "serve-static": "~1.16.2",
+ "setprototypeof": "1.2.0",
+ "statuses": "~2.0.1",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/express/node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/express/node_modules/finalhandler": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.3.2.tgz",
+ "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==",
+ "dev": true,
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "~2.0.2",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/express/node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express/node_modules/statuses": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "node_modules/fast-uri": {
+ "version": "3.1.9",
+ "resolved": "https://registry.npmmirror.com/fast-uri/-/fast-uri-3.1.9.tgz",
+ "integrity": "sha512-hS/0Wt3Ya043oKXs0sIxrMpKQITXhMLIrVAKKXi4gozGC9v7YRWVnXIZzjNPTO02M9BdxLCWqK1yRXgNziVyJQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fastify"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fastify"
+ }
+ ]
+ },
+ "node_modules/fastest-levenshtein": {
+ "version": "1.0.16",
+ "resolved": "https://registry.npmmirror.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+ "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4.9.1"
+ }
+ },
+ "node_modules/faye-websocket": {
+ "version": "0.11.4",
+ "resolved": "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz",
+ "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
+ "dev": true,
+ "dependencies": {
+ "websocket-driver": ">=0.5.1"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/fflate": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmmirror.com/fflate/-/fflate-0.8.3.tgz",
+ "integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA=="
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.1.2.tgz",
+ "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
+ "dev": true,
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "statuses": "~1.5.0",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/finalhandler/node_modules/on-finished": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
+ "dev": true,
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/find-root": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/find-root/-/find-root-1.1.0.tgz",
+ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmmirror.com/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "dev": true,
+ "bin": {
+ "flat": "cli.js"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.4.4",
+ "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.4.4.tgz",
+ "integrity": "sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==",
+ "dev": true
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.16.1.tgz",
+ "integrity": "sha512-FNvFGzoMLWmE6Yj9spb/zjd7yiNCHiAW9/Tg9CXrQ8wuu32HtlJOwWO11OJafl5FfY3DxTdQ0vj42zU1kvv5jg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/format-util": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmmirror.com/format-util/-/format-util-1.0.5.tgz",
+ "integrity": "sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg==",
+ "dev": true
+ },
+ "node_modules/forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=6 <7 || >=8"
+ }
+ },
+ "node_modules/fs-monkey": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.1.0.tgz",
+ "integrity": "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==",
+ "dev": true
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true,
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "dev": true,
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/glob-to-regexp": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
+ "dev": true
+ },
+ "node_modules/gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true
+ },
+ "node_modules/handle-thing": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz",
+ "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==",
+ "dev": true
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-tostringtag": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+ "dev": true,
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.4.tgz",
+ "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+ "dev": true,
+ "bin": {
+ "he": "bin/he"
+ }
+ },
+ "node_modules/hoist-non-react-statics": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "dependencies": {
+ "react-is": "^16.7.0"
+ }
+ },
+ "node_modules/hpack.js": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz",
+ "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "obuf": "^1.0.0",
+ "readable-stream": "^2.0.1",
+ "wbuf": "^1.1.0"
+ }
+ },
+ "node_modules/hpack.js/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dev": true,
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/hpack.js/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
+ "node_modules/hpack.js/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/html-entities": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmmirror.com/html-entities/-/html-entities-2.6.0.tgz",
+ "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/mdevils"
+ },
+ {
+ "type": "patreon",
+ "url": "https://patreon.com/mdevils"
+ }
+ ]
+ },
+ "node_modules/http-deceiver": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz",
+ "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==",
+ "dev": true
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.1.tgz",
+ "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
+ "dev": true,
+ "dependencies": {
+ "depd": "~2.0.0",
+ "inherits": "~2.0.4",
+ "setprototypeof": "~1.2.0",
+ "statuses": "~2.0.2",
+ "toidentifier": "~1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/http-errors/node_modules/statuses": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/http-parser-js": {
+ "version": "0.5.10",
+ "resolved": "https://registry.npmmirror.com/http-parser-js/-/http-parser-js-0.5.10.tgz",
+ "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==",
+ "dev": true
+ },
+ "node_modules/http-proxy": {
+ "version": "1.18.1",
+ "resolved": "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz",
+ "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
+ "dev": true,
+ "dependencies": {
+ "eventemitter3": "^4.0.0",
+ "follow-redirects": "^1.0.0",
+ "requires-port": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/http-proxy-middleware": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.10.tgz",
+ "integrity": "sha512-RKzRWNPxUZqbuk3BC5mGVJbBnWgr+diEnjJexIOytFbBzDy88Fbh/YvBr3DsNrl1jYAfjWfpATEv0NO35FDuPQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/http-proxy": "^1.17.8",
+ "http-proxy": "^1.18.1",
+ "is-glob": "^4.0.1",
+ "is-plain-obj": "^3.0.0",
+ "micromatch": "^4.0.2"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "@types/express": "^4.17.13"
+ },
+ "peerDependenciesMeta": {
+ "@types/express": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.1.tgz",
+ "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/import-fresh/node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/import-local": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmmirror.com/import-local/-/import-local-3.2.0.tgz",
+ "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==",
+ "dev": true,
+ "dependencies": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ },
+ "bin": {
+ "import-local-fixture": "fixtures/cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "node_modules/interpret": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmmirror.com/interpret/-/interpret-3.1.1.tgz",
+ "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/ipaddr.js": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.5.0.tgz",
+ "integrity": "sha512-aq+t5NAc+cS6rZQQVWC2x98CPqGtKKTMDd4Gaodv0wShnItdKg/51djkGJ1hqH+Oy0ivDftCbSLCQob8zso01w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.17.0",
+ "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.17.0.tgz",
+ "integrity": "sha512-J/vG0zBCbIKOQFfufSwyXdMrsohyJIUNkrnmo6WZGzoM7tr/lsbfW5b2BvisL6zsyMzK9UxV9L6c7AoFbyXHOA==",
+ "dependencies": {
+ "hasown": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "dev": true,
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-plain-obj": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
+ "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "dependencies": {
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-regex": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.2.1.tgz",
+ "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
+ "dev": true,
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true
+ },
+ "node_modules/isbinaryfile": {
+ "version": "4.0.10",
+ "resolved": "https://registry.npmmirror.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz",
+ "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/gjtorikian/"
+ }
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/jest-worker": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz",
+ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "node_modules/js-yaml": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.3.2.tgz",
+ "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/puzrin"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/nodeca"
+ }
+ ],
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ },
+ "node_modules/jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+ "dev": true,
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/karma": {
+ "version": "6.4.4",
+ "resolved": "https://registry.npmmirror.com/karma/-/karma-6.4.4.tgz",
+ "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==",
+ "dev": true,
+ "dependencies": {
+ "@colors/colors": "1.5.0",
+ "body-parser": "^1.19.0",
+ "braces": "^3.0.2",
+ "chokidar": "^3.5.1",
+ "connect": "^3.7.0",
+ "di": "^0.0.1",
+ "dom-serialize": "^2.2.1",
+ "glob": "^7.1.7",
+ "graceful-fs": "^4.2.6",
+ "http-proxy": "^1.18.1",
+ "isbinaryfile": "^4.0.8",
+ "lodash": "^4.17.21",
+ "log4js": "^6.4.1",
+ "mime": "^2.5.2",
+ "minimatch": "^3.0.4",
+ "mkdirp": "^0.5.5",
+ "qjobs": "^1.2.0",
+ "range-parser": "^1.2.1",
+ "rimraf": "^3.0.2",
+ "socket.io": "^4.7.2",
+ "source-map": "^0.6.1",
+ "tmp": "^0.2.1",
+ "ua-parser-js": "^0.7.30",
+ "yargs": "^16.1.1"
+ },
+ "bin": {
+ "karma": "bin/karma"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/karma-chrome-launcher": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmmirror.com/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz",
+ "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==",
+ "dev": true,
+ "dependencies": {
+ "which": "^1.2.1"
+ }
+ },
+ "node_modules/karma-mocha": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/karma-mocha/-/karma-mocha-2.0.1.tgz",
+ "integrity": "sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==",
+ "dev": true,
+ "dependencies": {
+ "minimist": "^1.2.3"
+ }
+ },
+ "node_modules/karma-sourcemap-loader": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmmirror.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.4.0.tgz",
+ "integrity": "sha512-xCRL3/pmhAYF3I6qOrcn0uhbQevitc2DERMPH82FMnG+4WReoGcGFZb1pURf2a5apyrOHRdvD+O6K7NljqKHyA==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.2.10"
+ }
+ },
+ "node_modules/karma-webpack": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmmirror.com/karma-webpack/-/karma-webpack-5.0.1.tgz",
+ "integrity": "sha512-oo38O+P3W2mSPCSUrQdySSPv1LvPpXP+f+bBimNomS5sW+1V4SuhCuW8TfJzV+rDv921w2fDSDw0xJbPe6U+kQ==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3",
+ "minimatch": "^9.0.3",
+ "webpack-merge": "^4.1.5"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "webpack": "^5.0.0"
+ }
+ },
+ "node_modules/karma-webpack/node_modules/brace-expansion": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.1.7.tgz",
+ "integrity": "sha512-uZbew1NqdmPDTMJ8ah1y+b+9QEJrfkXFk3RcTQw3X0jW/xRUvFKsg1CfQdSYGdTbXZWExtU3J3ccxtnfw1Fi0g==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/karma-webpack/node_modules/minimatch": {
+ "version": "9.0.9",
+ "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.9.tgz",
+ "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/kotlin-cssom-core": {
+ "resolved": "packages_imported/kotlin-cssom-core/2025.5.0",
+ "link": true
+ },
+ "node_modules/kotlin-csstype": {
+ "resolved": "packages_imported/kotlin-csstype/2025.5.0-3.1.3",
+ "link": true
+ },
+ "node_modules/kotlin-emotion": {
+ "resolved": "packages_imported/kotlin-emotion/2025.3.26",
+ "link": true
+ },
+ "node_modules/kotlin-react-core": {
+ "resolved": "packages_imported/kotlin-react-core/2025.5.0-19.1.0",
+ "link": true
+ },
+ "node_modules/kotlin-react-dom": {
+ "resolved": "packages_imported/kotlin-react-dom/2025.5.0-19.1.0",
+ "link": true
+ },
+ "node_modules/kotlin-web-helpers": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/kotlin-web-helpers/-/kotlin-web-helpers-2.0.0.tgz",
+ "integrity": "sha512-xkVGl60Ygn/zuLkDPx+oHj7jeLR7hCvoNF99nhwXMn8a3ApB4lLiC9pk4ol4NHPjyoCbvQctBqvzUcp8pkqyWw==",
+ "dev": true,
+ "dependencies": {
+ "format-util": "^1.0.5"
+ }
+ },
+ "node_modules/launch-editor": {
+ "version": "2.14.2",
+ "resolved": "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.14.2.tgz",
+ "integrity": "sha512-NHJEb30MGBCkmZXLZwz25t37QR4aY03ZzPYUJXOJaOa92uWwExI9SBQUuIznBYc1xkD7cJNGX7oc3Nl3sq2kQQ==",
+ "dev": true,
+ "dependencies": {
+ "picocolors": "^1.1.1",
+ "shell-quote": "^1.10.0"
+ }
+ },
+ "node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
+ },
+ "node_modules/loader-runner": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.2.tgz",
+ "integrity": "sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.11.5"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.18.1",
+ "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.18.1.tgz",
+ "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
+ "dev": true
+ },
+ "node_modules/log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/log4js": {
+ "version": "6.9.1",
+ "resolved": "https://registry.npmmirror.com/log4js/-/log4js-6.9.1.tgz",
+ "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==",
+ "dev": true,
+ "dependencies": {
+ "date-format": "^4.0.14",
+ "debug": "^4.3.4",
+ "flatted": "^3.2.7",
+ "rfdc": "^1.3.0",
+ "streamroller": "^3.1.5"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/log4js/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/log4js/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/memfs": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmmirror.com/memfs/-/memfs-3.5.3.tgz",
+ "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==",
+ "dev": true,
+ "dependencies": {
+ "fs-monkey": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/merge-descriptors": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
+ "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "dev": true
+ },
+ "node_modules/methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mime": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmmirror.com/mime/-/mime-2.6.0.tgz",
+ "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
+ "dev": true,
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dev": true,
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/minimalistic-assert": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+ "dev": true
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.5.tgz",
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/minimizer-webpack-plugin": {
+ "version": "5.13.1",
+ "resolved": "https://registry.npmmirror.com/minimizer-webpack-plugin/-/minimizer-webpack-plugin-5.13.1.tgz",
+ "integrity": "sha512-1mhAfvachWYYOm8tpmany5NLuvP+F2wxZWBSX8DC0uFS2wJpM9q3rWgN9wBooAH9d5V12wX0BjyJe4fMjHMarQ==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.31",
+ "jest-worker": "^27.4.5",
+ "schema-utils": "^4.6.0",
+ "terser": "^5.51.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.1.0"
+ },
+ "peerDependenciesMeta": {
+ "@minify-html/node": {
+ "optional": true
+ },
+ "@napi-rs/image": {
+ "optional": true
+ },
+ "@swc/core": {
+ "optional": true
+ },
+ "@swc/css": {
+ "optional": true
+ },
+ "@swc/html": {
+ "optional": true
+ },
+ "clean-css": {
+ "optional": true
+ },
+ "cssnano": {
+ "optional": true
+ },
+ "csso": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ },
+ "html-minifier-terser": {
+ "optional": true
+ },
+ "imagemin": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "postcss": {
+ "optional": true
+ },
+ "sharp": {
+ "optional": true
+ },
+ "svgo": {
+ "optional": true
+ },
+ "uglify-js": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz",
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "dev": true,
+ "dependencies": {
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ }
+ },
+ "node_modules/mocha": {
+ "version": "10.7.3",
+ "resolved": "https://registry.npmmirror.com/mocha/-/mocha-10.7.3.tgz",
+ "integrity": "sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-colors": "^4.1.3",
+ "browser-stdout": "^1.3.1",
+ "chokidar": "^3.5.3",
+ "debug": "^4.3.5",
+ "diff": "^5.2.0",
+ "escape-string-regexp": "^4.0.0",
+ "find-up": "^5.0.0",
+ "glob": "^8.1.0",
+ "he": "^1.2.0",
+ "js-yaml": "^4.1.0",
+ "log-symbols": "^4.1.0",
+ "minimatch": "^5.1.6",
+ "ms": "^2.1.3",
+ "serialize-javascript": "^6.0.2",
+ "strip-json-comments": "^3.1.1",
+ "supports-color": "^8.1.1",
+ "workerpool": "^6.5.1",
+ "yargs": "^16.2.0",
+ "yargs-parser": "^20.2.9",
+ "yargs-unparser": "^2.0.0"
+ },
+ "bin": {
+ "_mocha": "bin/_mocha",
+ "mocha": "bin/mocha.js"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/mocha/node_modules/brace-expansion": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.1.7.tgz",
+ "integrity": "sha512-uZbew1NqdmPDTMJ8ah1y+b+9QEJrfkXFk3RcTQw3X0jW/xRUvFKsg1CfQdSYGdTbXZWExtU3J3ccxtnfw1Fi0g==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/mocha/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/mocha/node_modules/glob": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmmirror.com/glob/-/glob-8.1.0.tgz",
+ "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/mocha/node_modules/minimatch": {
+ "version": "5.1.9",
+ "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.9.tgz",
+ "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/mocha/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true
+ },
+ "node_modules/multicast-dns": {
+ "version": "7.2.5",
+ "resolved": "https://registry.npmmirror.com/multicast-dns/-/multicast-dns-7.2.5.tgz",
+ "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==",
+ "dev": true,
+ "dependencies": {
+ "dns-packet": "^5.2.2",
+ "thunky": "^1.0.2"
+ },
+ "bin": {
+ "multicast-dns": "cli.js"
+ }
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/neo-async": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz",
+ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+ "dev": true
+ },
+ "node_modules/node-forge": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmmirror.com/node-forge/-/node-forge-1.4.0.tgz",
+ "integrity": "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6.13.0"
+ }
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.59",
+ "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.59.tgz",
+ "integrity": "sha512-5qr2okC4ItAI0hG5SaV0HoYMpnM/Y6+Oqr7AmPYy/2uEoGvS+GbSKLeRxSS1uAdu59yz0ouzcuXievSgg///WA==",
+ "dev": true,
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.13.4",
+ "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.4.tgz",
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/obuf": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz",
+ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
+ "dev": true
+ },
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "dev": true,
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/on-headers": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/on-headers/-/on-headers-1.1.0.tgz",
+ "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dev": true,
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dev": true,
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/open": {
+ "version": "8.4.2",
+ "resolved": "https://registry.npmmirror.com/open/-/open-8.4.2.tgz",
+ "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
+ "dev": true,
+ "dependencies": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-retry": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmmirror.com/p-retry/-/p-retry-4.6.2.tgz",
+ "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/retry": "0.12.0",
+ "retry": "^0.13.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
+ },
+ "node_modules/path-to-regexp": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.13.tgz",
+ "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==",
+ "dev": true
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.2.tgz",
+ "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "dev": true,
+ "dependencies": {
+ "find-up": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "dev": true
+ },
+ "node_modules/proxy-addr": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.8.tgz",
+ "integrity": "sha512-5nnx0yGyVUcY6t9RnWcARWtwT9F1D8O9rt08htPvnd49W1IgZtmLkhu9WfMzQj1cFxjHIO6connUNVW5k7AVyQ==",
+ "dev": true,
+ "dependencies": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/proxy-addr/node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmmirror.com/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
+ "dev": true
+ },
+ "node_modules/qjobs": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/qjobs/-/qjobs-1.2.0.tgz",
+ "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.9"
+ }
+ },
+ "node_modules/qs": {
+ "version": "6.16.1",
+ "resolved": "https://registry.npmmirror.com/qs/-/qs-6.16.1.tgz",
+ "integrity": "sha512-5Px6J7rfHBAGUhNQ3es4YzcOdBBw0SDcVtThJml4RdnKw4tKs2epA0kPZ+K8X+WiHktT93RHVcQ/3ym5aTCgtg==",
+ "dev": true,
+ "dependencies": {
+ "es-define-property": "^1.0.1",
+ "side-channel": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "node_modules/range-parser": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.3.0.tgz",
+ "integrity": "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/raw-body": {
+ "version": "2.5.3",
+ "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.3.tgz",
+ "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==",
+ "dev": true,
+ "dependencies": {
+ "bytes": "~3.1.2",
+ "http-errors": "~2.0.1",
+ "iconv-lite": "~0.4.24",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/react": {
+ "version": "19.3.1",
+ "resolved": "https://registry.npmmirror.com/react/-/react-19.3.1.tgz",
+ "integrity": "sha512-QNhWdt7nrgVWWQG58QuGsAR3jv3Hbe4mb4vz7w2csnHavciZJgda1CPNaldF6eVxv90ud3jUXpKlHL69gO38yw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-dom": {
+ "version": "19.3.1",
+ "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-19.3.1.tgz",
+ "integrity": "sha512-Y0bARz53lhEC1NMCASs0/j+faB/zqt3R8hpvg1e8+61ZVJ4UL0UdC4cBbXfZMcIuhrfgeILTLe+ZeBCavQPtKQ==",
+ "dependencies": {
+ "scheduler": "^0.28.0"
+ },
+ "peerDependencies": {
+ "react": "^19.3.1"
+ }
+ },
+ "node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/rechoir": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmmirror.com/rechoir/-/rechoir-0.8.0.tgz",
+ "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
+ "dev": true,
+ "dependencies": {
+ "resolve": "^1.20.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
+ "dev": true
+ },
+ "node_modules/resolve": {
+ "version": "1.22.13",
+ "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.13.tgz",
+ "integrity": "sha512-Dj/cW9zBV2aRj6XzCxuGIs3ESZKv02jixne3q6jFZYZ3/Tg09gHHviSMDL4kObh9pqSahdRHEnDoaP2gn8YLhA==",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "is-core-module": "^2.17.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "dev": true,
+ "dependencies": {
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/retry": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz",
+ "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/rfdc": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz",
+ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
+ "dev": true
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/safe-regex-test": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
+ "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==",
+ "dev": true,
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-regex": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "node_modules/scheduler": {
+ "version": "0.28.0",
+ "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.28.0.tgz",
+ "integrity": "sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw=="
+ },
+ "node_modules/schema-utils": {
+ "version": "4.8.1",
+ "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.8.1.tgz",
+ "integrity": "sha512-x39pYlJPyH7Uge5QO64B9XGP9zLDc9WNmiQZc+CE3IzZPvMu3lHOuAMGpYNoPixEL7MSWlGhYTg5UlLSL8G6iw==",
+ "dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.15",
+ "ajv": "^8.20.0",
+ "ajv-formats": "^3.0.1",
+ "ajv-keywords": "^5.1.0"
+ },
+ "bin": {
+ "schema-utils": "bin/schema-utils.js"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.112.0"
+ },
+ "peerDependenciesMeta": {
+ "webpack": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/select-hose": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz",
+ "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==",
+ "dev": true
+ },
+ "node_modules/selfsigned": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmmirror.com/selfsigned/-/selfsigned-2.4.1.tgz",
+ "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==",
+ "dev": true,
+ "dependencies": {
+ "@types/node-forge": "^1.3.0",
+ "node-forge": "^1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/send": {
+ "version": "0.19.2",
+ "resolved": "https://registry.npmmirror.com/send/-/send-0.19.2.tgz",
+ "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==",
+ "dev": true,
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "~0.5.2",
+ "http-errors": "~2.0.1",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "~2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "~2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/send/node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/send/node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "dev": true,
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/send/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/send/node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/send/node_modules/statuses": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/serialize-javascript": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+ "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
+ "dev": true,
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/serve-index": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmmirror.com/serve-index/-/serve-index-1.9.2.tgz",
+ "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==",
+ "dev": true,
+ "dependencies": {
+ "accepts": "~1.3.8",
+ "batch": "0.6.1",
+ "debug": "2.6.9",
+ "escape-html": "~1.0.3",
+ "http-errors": "~1.8.0",
+ "mime-types": "~2.1.35",
+ "parseurl": "~1.3.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/serve-index/node_modules/depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/serve-index/node_modules/http-errors": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-1.8.1.tgz",
+ "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
+ "dev": true,
+ "dependencies": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/serve-static": {
+ "version": "1.16.3",
+ "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.16.3.tgz",
+ "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==",
+ "dev": true,
+ "dependencies": {
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "~0.19.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/serve-static/node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+ "dev": true
+ },
+ "node_modules/shallow-clone": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmmirror.com/shallow-clone/-/shallow-clone-3.0.1.tgz",
+ "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^6.0.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shell-quote": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.12.0.tgz",
+ "integrity": "sha512-PcByqNyT/38F2kDNi006HAMRJaULuBzq/FOsw3qdZvX/GA9W/jamDaRskgHjubHiftXK5sIFxLNkvrXUwcof6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.1.1.tgz",
+ "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==",
+ "dev": true,
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.4",
+ "side-channel-list": "^1.0.1",
+ "side-channel-map": "^1.0.1",
+ "side-channel-weakmap": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-list": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/side-channel-list/-/side-channel-list-1.0.1.tgz",
+ "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==",
+ "dev": true,
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/side-channel-map/-/side-channel-map-1.0.1.tgz",
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+ "dev": true,
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-weakmap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+ "dev": true,
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3",
+ "side-channel-map": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "dev": true
+ },
+ "node_modules/socket.io": {
+ "version": "4.8.4",
+ "resolved": "https://registry.npmmirror.com/socket.io/-/socket.io-4.8.4.tgz",
+ "integrity": "sha512-9ZV9zg8vN8hO3Y25DhR7nUkJ1VDnBhq5O/JrXhFT9s6+F0gqytSASTHVfCFc2mJXaTfARroErplXlzFWwETZqQ==",
+ "dev": true,
+ "dependencies": {
+ "accepts": "~1.3.4",
+ "cors": "~2.8.5",
+ "debug": "~4.4.1",
+ "engine.io": "~6.6.0",
+ "socket.io-adapter": "~2.5.2",
+ "socket.io-parser": "~4.2.4"
+ },
+ "engines": {
+ "node": ">=10.2.0"
+ }
+ },
+ "node_modules/socket.io-adapter": {
+ "version": "2.5.8",
+ "resolved": "https://registry.npmmirror.com/socket.io-adapter/-/socket.io-adapter-2.5.8.tgz",
+ "integrity": "sha512-6Oy52pbg+kvdCVvjcN+FnY7BvxZ7cIHNScbvztT/It5d0vbwoJoVZmF2gjJmnV0/4WlXRfG15zc45ySk9Ah8bw==",
+ "dev": true,
+ "dependencies": {
+ "debug": "~4.4.1",
+ "ws": "~8.21.0"
+ }
+ },
+ "node_modules/socket.io-adapter/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/socket.io-adapter/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/socket.io-parser": {
+ "version": "4.2.7",
+ "resolved": "https://registry.npmmirror.com/socket.io-parser/-/socket.io-parser-4.2.7.tgz",
+ "integrity": "sha512-IH/iSeO9T6gz1KkFleGDWkG9N3dl4jXVYUtMhIqH10Md0ttMer8nUNWiP1DKuNrybD2xBrixLJdCC9J6ECoYkg==",
+ "dev": true,
+ "dependencies": {
+ "@socket.io/component-emitter": "~3.1.0",
+ "debug": "~4.4.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/socket.io-parser/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/socket.io-parser/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/socket.io/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/socket.io/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/sockjs": {
+ "version": "0.3.24",
+ "resolved": "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz",
+ "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==",
+ "dev": true,
+ "dependencies": {
+ "faye-websocket": "^0.11.3",
+ "uuid": "^8.3.2",
+ "websocket-driver": "^0.7.4"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.2.tgz",
+ "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-loader": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmmirror.com/source-map-loader/-/source-map-loader-5.0.0.tgz",
+ "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==",
+ "dev": true,
+ "dependencies": {
+ "iconv-lite": "^0.6.3",
+ "source-map-js": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 18.12.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.72.1"
+ }
+ },
+ "node_modules/source-map-loader/node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "dev": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-support": {
+ "version": "0.5.21",
+ "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz",
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+ "dev": true,
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/spdy": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz",
+ "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.1.0",
+ "handle-thing": "^2.0.0",
+ "http-deceiver": "^1.2.7",
+ "select-hose": "^2.0.0",
+ "spdy-transport": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/spdy-transport": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/spdy-transport/-/spdy-transport-3.0.0.tgz",
+ "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.1.0",
+ "detect-node": "^2.0.4",
+ "hpack.js": "^2.1.6",
+ "obuf": "^1.1.2",
+ "readable-stream": "^3.0.6",
+ "wbuf": "^1.7.3"
+ }
+ },
+ "node_modules/spdy-transport/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/spdy-transport/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/spdy/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/spdy/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/streamroller": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmmirror.com/streamroller/-/streamroller-3.1.5.tgz",
+ "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==",
+ "dev": true,
+ "dependencies": {
+ "date-format": "^4.0.14",
+ "debug": "^4.3.4",
+ "fs-extra": "^8.1.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/streamroller/node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/streamroller/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylis": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.2.0.tgz",
+ "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw=="
+ },
+ "node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/TankiOffline-app": {
+ "resolved": "packages/TankiOffline-app",
+ "link": true
+ },
+ "node_modules/TankiOffline-app-test": {
+ "resolved": "packages/TankiOffline-app-test",
+ "link": true
+ },
+ "node_modules/TankiOffline-core": {
+ "resolved": "packages/TankiOffline-core",
+ "link": true
+ },
+ "node_modules/TankiOffline-core-test": {
+ "resolved": "packages/TankiOffline-core-test",
+ "link": true
+ },
+ "node_modules/TankiOffline-net": {
+ "resolved": "packages/TankiOffline-net",
+ "link": true
+ },
+ "node_modules/TankiOffline-net-test": {
+ "resolved": "packages/TankiOffline-net-test",
+ "link": true
+ },
+ "node_modules/TankiOffline-state": {
+ "resolved": "packages/TankiOffline-state",
+ "link": true
+ },
+ "node_modules/TankiOffline-state-test": {
+ "resolved": "packages/TankiOffline-state-test",
+ "link": true
+ },
+ "node_modules/tapable": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.3.3.tgz",
+ "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/terser": {
+ "version": "5.51.2",
+ "resolved": "https://registry.npmmirror.com/terser/-/terser-5.51.2.tgz",
+ "integrity": "sha512-bWnjSNscmuI+GJze6ZupnHP8G/cTcsJF+bXCeQknk2SHQsgbNJnLrqiH9jZ2W4STPVXH2mDKKRX3iwPhc9Cn/Q==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/source-map": "^0.3.3",
+ "acorn": "^8.15.0",
+ "commander": "^2.20.0",
+ "source-map-support": "~0.5.20"
+ },
+ "bin": {
+ "terser": "bin/terser"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/terser-webpack-plugin": {
+ "version": "5.6.1",
+ "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.6.1.tgz",
+ "integrity": "sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "jest-worker": "^27.4.5",
+ "schema-utils": "^4.3.0",
+ "terser": "^5.31.1"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.1.0"
+ },
+ "peerDependenciesMeta": {
+ "@minify-html/node": {
+ "optional": true
+ },
+ "@swc/core": {
+ "optional": true
+ },
+ "@swc/css": {
+ "optional": true
+ },
+ "@swc/html": {
+ "optional": true
+ },
+ "clean-css": {
+ "optional": true
+ },
+ "cssnano": {
+ "optional": true
+ },
+ "csso": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ },
+ "html-minifier-terser": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "postcss": {
+ "optional": true
+ },
+ "uglify-js": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/thunky": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz",
+ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
+ "dev": true
+ },
+ "node_modules/tmp": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.2.7.tgz",
+ "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dev": true,
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.5.4",
+ "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.5.4.tgz",
+ "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==",
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/ua-parser-js": {
+ "version": "0.7.41",
+ "resolved": "https://registry.npmmirror.com/ua-parser-js/-/ua-parser-js-0.7.41.tgz",
+ "integrity": "sha512-O3oYyCMPYgNNHuO7Jjk3uacJWZF8loBgwrfd/5LE/HyZ3lUIOdniQ7DNXJcIgZbwioZxk0fLfI4EVnetdiX5jg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/ua-parser-js"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/faisalman"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/faisalman"
+ }
+ ],
+ "bin": {
+ "ua-parser-js": "script/cli.js"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "8.9.0",
+ "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-8.9.0.tgz",
+ "integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==",
+ "dev": true
+ },
+ "node_modules/universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.3.4.tgz",
+ "integrity": "sha512-t8wonIOdQyOjtPd2VktlBu6QjTVTks6v8bSi7kd0r2Vll8TK1JYDZtRRdbmCHOAMphkZgrzK+L+vXK4pyZ8t4A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/uri-js/node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "dev": true,
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/void-elements": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/void-elements/-/void-elements-2.0.1.tgz",
+ "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/watchpack": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.6.3.tgz",
+ "integrity": "sha512-s3NZy0QpTY9qGqzc0wtz4qI28z3+5qKbbAec4MV4G9N3CfgZ9wgvQRr0cl2jh/tqkWG1NWHkmVMHZpCamev5Wg==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.1.2"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/wbuf": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz",
+ "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
+ "dev": true,
+ "dependencies": {
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "node_modules/webpack": {
+ "version": "5.112.0",
+ "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.112.0.tgz",
+ "integrity": "sha512-NIBpsRuCll036haDDt/CfcTDfsWNR9Z782nMRMI9D377BsGcYzZDTNU5TyzhCJzPIcihAxMBaMAhq2WSaDrH8Q==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@types/estree": "^1.0.8",
+ "@types/json-schema": "^7.0.15",
+ "@webassemblyjs/ast": "^1.14.1",
+ "@webassemblyjs/wasm-edit": "^1.14.1",
+ "@webassemblyjs/wasm-parser": "^1.14.1",
+ "browserslist": "^4.28.1",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.26.0",
+ "es-module-lexer": "^2.1.0",
+ "events": "^3.2.0",
+ "graceful-fs": "^4.2.11",
+ "mime-db": "^1.54.0",
+ "minimizer-webpack-plugin": "^5.13.0",
+ "schema-utils": "^4.5.0",
+ "tapable": "^2.3.0",
+ "watchpack": "^2.6.1",
+ "webpack-sources": "^3.6.0"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webpack-cli": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmmirror.com/webpack-cli/-/webpack-cli-5.1.4.tgz",
+ "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==",
+ "dev": true,
+ "dependencies": {
+ "@discoveryjs/json-ext": "^0.5.0",
+ "@webpack-cli/configtest": "^2.1.1",
+ "@webpack-cli/info": "^2.0.2",
+ "@webpack-cli/serve": "^2.0.5",
+ "colorette": "^2.0.14",
+ "commander": "^10.0.1",
+ "cross-spawn": "^7.0.3",
+ "envinfo": "^7.7.3",
+ "fastest-levenshtein": "^1.0.12",
+ "import-local": "^3.0.2",
+ "interpret": "^3.1.1",
+ "rechoir": "^0.8.0",
+ "webpack-merge": "^5.7.3"
+ },
+ "bin": {
+ "webpack-cli": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=14.15.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "5.x.x"
+ },
+ "peerDependenciesMeta": {
+ "@webpack-cli/generators": {
+ "optional": true
+ },
+ "webpack-bundle-analyzer": {
+ "optional": true
+ },
+ "webpack-dev-server": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webpack-cli/node_modules/commander": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmmirror.com/commander/-/commander-10.0.1.tgz",
+ "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+ "dev": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/webpack-cli/node_modules/webpack-merge": {
+ "version": "5.10.0",
+ "resolved": "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-5.10.0.tgz",
+ "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==",
+ "dev": true,
+ "dependencies": {
+ "clone-deep": "^4.0.1",
+ "flat": "^5.0.2",
+ "wildcard": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/webpack-dev-middleware": {
+ "version": "5.3.4",
+ "resolved": "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz",
+ "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==",
+ "dev": true,
+ "dependencies": {
+ "colorette": "^2.0.10",
+ "memfs": "^3.4.3",
+ "mime-types": "^2.1.31",
+ "range-parser": "^1.2.1",
+ "schema-utils": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
+ }
+ },
+ "node_modules/webpack-dev-server": {
+ "version": "4.15.2",
+ "resolved": "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz",
+ "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==",
+ "dev": true,
+ "dependencies": {
+ "@types/bonjour": "^3.5.9",
+ "@types/connect-history-api-fallback": "^1.3.5",
+ "@types/express": "^4.17.13",
+ "@types/serve-index": "^1.9.1",
+ "@types/serve-static": "^1.13.10",
+ "@types/sockjs": "^0.3.33",
+ "@types/ws": "^8.5.5",
+ "ansi-html-community": "^0.0.8",
+ "bonjour-service": "^1.0.11",
+ "chokidar": "^3.5.3",
+ "colorette": "^2.0.10",
+ "compression": "^1.7.4",
+ "connect-history-api-fallback": "^2.0.0",
+ "default-gateway": "^6.0.3",
+ "express": "^4.17.3",
+ "graceful-fs": "^4.2.6",
+ "html-entities": "^2.3.2",
+ "http-proxy-middleware": "^2.0.3",
+ "ipaddr.js": "^2.0.1",
+ "launch-editor": "^2.6.0",
+ "open": "^8.0.9",
+ "p-retry": "^4.5.0",
+ "rimraf": "^3.0.2",
+ "schema-utils": "^4.0.0",
+ "selfsigned": "^2.1.1",
+ "serve-index": "^1.9.1",
+ "sockjs": "^0.3.24",
+ "spdy": "^4.0.2",
+ "webpack-dev-middleware": "^5.3.4",
+ "ws": "^8.13.0"
+ },
+ "bin": {
+ "webpack-dev-server": "bin/webpack-dev-server.js"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.37.0 || ^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "webpack": {
+ "optional": true
+ },
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webpack-merge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-4.2.2.tgz",
+ "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==",
+ "dev": true,
+ "dependencies": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "node_modules/webpack-sources": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.6.0.tgz",
+ "integrity": "sha512-EIMmPVvNI0CYXyRPp34F2Qk7W37/BZVZIofS6LAUnrNjCVahS+hO4mxwFJDjQjODTGZDtVzLYoN2+1dYkhk9qA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/webpack/node_modules/mime-db": {
+ "version": "1.54.0",
+ "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/websocket-driver": {
+ "version": "0.7.5",
+ "resolved": "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.5.tgz",
+ "integrity": "sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA==",
+ "dev": true,
+ "dependencies": {
+ "http-parser-js": ">=0.5.1",
+ "safe-buffer": ">=5.1.0",
+ "websocket-extensions": ">=0.1.1"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/websocket-extensions": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmmirror.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
+ "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
+ }
+ },
+ "node_modules/wildcard": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-2.0.1.tgz",
+ "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
+ "dev": true
+ },
+ "node_modules/workerpool": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmmirror.com/workerpool/-/workerpool-6.5.1.tgz",
+ "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==",
+ "dev": true
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "dev": true
+ },
+ "node_modules/ws": {
+ "version": "8.21.3",
+ "resolved": "https://registry.npmmirror.com/ws/-/ws-8.21.3.tgz",
+ "integrity": "sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yaml": {
+ "version": "1.10.3",
+ "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.3.tgz",
+ "integrity": "sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/yargs": {
+ "version": "16.2.2",
+ "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.2.tgz",
+ "integrity": "sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==",
+ "dev": true,
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "20.2.9",
+ "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs-unparser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+ "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+ "dev": true,
+ "dependencies": {
+ "camelcase": "^6.0.0",
+ "decamelize": "^4.0.0",
+ "flat": "^5.0.2",
+ "is-plain-obj": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs-unparser/node_modules/is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "packages_imported/kotlin-cssom-core/2025.5.0": {
+ "version": "2025.5.0",
+ "devDependencies": {}
+ },
+ "packages_imported/kotlin-csstype/2025.5.0-3.1.3": {
+ "version": "2025.5.0-3.1.3",
+ "devDependencies": {}
+ },
+ "packages_imported/kotlin-emotion/2025.3.26": {
+ "version": "2025.3.26",
+ "dependencies": {
+ "@emotion/cache": "^11.14.0",
+ "@emotion/css": "^11.13.5",
+ "@emotion/react": "^11.14.0",
+ "@emotion/styled": "^11.14.0",
+ "react": "^19.1.0"
+ },
+ "devDependencies": {}
+ },
+ "packages_imported/kotlin-react-core/2025.5.0-19.1.0": {
+ "version": "2025.5.0-19.1.0",
+ "dependencies": {
+ "react": "^19.1.0"
+ },
+ "devDependencies": {}
+ },
+ "packages_imported/kotlin-react-dom/2025.5.0-19.1.0": {
+ "version": "2025.5.0-19.1.0",
+ "dependencies": {
+ "react": "^19.1.0",
+ "react-dom": "^19.1.0"
+ },
+ "devDependencies": {}
+ },
+ "packages/TankiOffline-app": {
+ "version": "0.0.0-unspecified",
+ "dependencies": {
+ "@emotion/cache": "^11.14.0",
+ "@emotion/css": "^11.13.5",
+ "@emotion/react": "^11.14.0",
+ "@emotion/styled": "^11.14.0",
+ "fflate": "0.8.3",
+ "react": "^19.1.0",
+ "react-dom": "^19.1.0",
+ "ws": "8.18.0"
+ },
+ "devDependencies": {
+ "kotlin-web-helpers": "2.0.0",
+ "source-map-loader": "5.0.0",
+ "source-map-support": "0.5.21",
+ "typescript": "5.5.4",
+ "webpack": "5.94.0",
+ "webpack-cli": "5.1.4",
+ "webpack-dev-server": "4.15.2"
+ }
+ },
+ "packages/TankiOffline-app-test": {
+ "version": "0.0.0-unspecified",
+ "dependencies": {
+ "@emotion/cache": "^11.14.0",
+ "@emotion/css": "^11.13.5",
+ "@emotion/react": "^11.14.0",
+ "@emotion/styled": "^11.14.0",
+ "fflate": "0.8.3",
+ "react": "^19.1.0",
+ "react-dom": "^19.1.0",
+ "ws": "8.18.0"
+ },
+ "devDependencies": {
+ "karma": "6.4.4",
+ "karma-chrome-launcher": "3.2.0",
+ "karma-mocha": "2.0.1",
+ "karma-sourcemap-loader": "0.4.0",
+ "karma-webpack": "5.0.1",
+ "kotlin-web-helpers": "2.0.0",
+ "mocha": "10.7.3",
+ "source-map-loader": "5.0.0",
+ "source-map-support": "0.5.21",
+ "typescript": "5.5.4",
+ "webpack": "5.94.0",
+ "webpack-cli": "5.1.4"
+ }
+ },
+ "packages/TankiOffline-app-test/node_modules/ajv": {
+ "version": "6.15.0",
+ "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.15.0.tgz",
+ "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "packages/TankiOffline-app-test/node_modules/ajv-keywords": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+ "dev": true,
+ "peerDependencies": {
+ "ajv": "^6.9.1"
+ }
+ },
+ "packages/TankiOffline-app-test/node_modules/es-module-lexer": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
+ "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
+ "dev": true
+ },
+ "packages/TankiOffline-app-test/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "packages/TankiOffline-app-test/node_modules/schema-utils": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
+ "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+ "dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "packages/TankiOffline-app-test/node_modules/webpack": {
+ "version": "5.94.0",
+ "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.94.0.tgz",
+ "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "^1.0.5",
+ "@webassemblyjs/ast": "^1.12.1",
+ "@webassemblyjs/wasm-edit": "^1.12.1",
+ "@webassemblyjs/wasm-parser": "^1.12.1",
+ "acorn": "^8.7.1",
+ "acorn-import-attributes": "^1.9.5",
+ "browserslist": "^4.21.10",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.17.1",
+ "es-module-lexer": "^1.2.1",
+ "eslint-scope": "5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.11",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.2.0",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.3.10",
+ "watchpack": "^2.4.1",
+ "webpack-sources": "^3.2.3"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "packages/TankiOffline-app-test/node_modules/ws": {
+ "version": "8.18.0",
+ "resolved": "https://registry.npmmirror.com/ws/-/ws-8.18.0.tgz",
+ "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "packages/TankiOffline-app/node_modules/ajv": {
+ "version": "6.15.0",
+ "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.15.0.tgz",
+ "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "packages/TankiOffline-app/node_modules/ajv-keywords": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+ "dev": true,
+ "peerDependencies": {
+ "ajv": "^6.9.1"
+ }
+ },
+ "packages/TankiOffline-app/node_modules/es-module-lexer": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
+ "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
+ "dev": true
+ },
+ "packages/TankiOffline-app/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "packages/TankiOffline-app/node_modules/schema-utils": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
+ "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+ "dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "packages/TankiOffline-app/node_modules/webpack": {
+ "version": "5.94.0",
+ "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.94.0.tgz",
+ "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "^1.0.5",
+ "@webassemblyjs/ast": "^1.12.1",
+ "@webassemblyjs/wasm-edit": "^1.12.1",
+ "@webassemblyjs/wasm-parser": "^1.12.1",
+ "acorn": "^8.7.1",
+ "acorn-import-attributes": "^1.9.5",
+ "browserslist": "^4.21.10",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.17.1",
+ "es-module-lexer": "^1.2.1",
+ "eslint-scope": "5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.11",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.2.0",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.3.10",
+ "watchpack": "^2.4.1",
+ "webpack-sources": "^3.2.3"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "packages/TankiOffline-app/node_modules/ws": {
+ "version": "8.18.0",
+ "resolved": "https://registry.npmmirror.com/ws/-/ws-8.18.0.tgz",
+ "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "packages/TankiOffline-core": {
+ "version": "0.0.0-unspecified",
+ "dependencies": {
+ "fflate": "0.8.3"
+ },
+ "devDependencies": {}
+ },
+ "packages/TankiOffline-core-test": {
+ "version": "0.0.0-unspecified",
+ "dependencies": {
+ "fflate": "0.8.3"
+ },
+ "devDependencies": {
+ "karma": "6.4.4",
+ "karma-chrome-launcher": "3.2.0",
+ "karma-mocha": "2.0.1",
+ "karma-sourcemap-loader": "0.4.0",
+ "karma-webpack": "5.0.1",
+ "kotlin-web-helpers": "2.0.0",
+ "mocha": "10.7.3",
+ "source-map-loader": "5.0.0",
+ "source-map-support": "0.5.21",
+ "typescript": "5.5.4",
+ "webpack": "5.94.0",
+ "webpack-cli": "5.1.4"
+ }
+ },
+ "packages/TankiOffline-core-test/node_modules/ajv": {
+ "version": "6.15.0",
+ "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.15.0.tgz",
+ "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "packages/TankiOffline-core-test/node_modules/ajv-keywords": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+ "dev": true,
+ "peerDependencies": {
+ "ajv": "^6.9.1"
+ }
+ },
+ "packages/TankiOffline-core-test/node_modules/es-module-lexer": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
+ "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
+ "dev": true
+ },
+ "packages/TankiOffline-core-test/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "packages/TankiOffline-core-test/node_modules/schema-utils": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
+ "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+ "dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "packages/TankiOffline-core-test/node_modules/webpack": {
+ "version": "5.94.0",
+ "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.94.0.tgz",
+ "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "^1.0.5",
+ "@webassemblyjs/ast": "^1.12.1",
+ "@webassemblyjs/wasm-edit": "^1.12.1",
+ "@webassemblyjs/wasm-parser": "^1.12.1",
+ "acorn": "^8.7.1",
+ "acorn-import-attributes": "^1.9.5",
+ "browserslist": "^4.21.10",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.17.1",
+ "es-module-lexer": "^1.2.1",
+ "eslint-scope": "5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.11",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.2.0",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.3.10",
+ "watchpack": "^2.4.1",
+ "webpack-sources": "^3.2.3"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "packages/TankiOffline-net": {
+ "version": "0.0.0-unspecified",
+ "dependencies": {
+ "fflate": "0.8.3"
+ },
+ "devDependencies": {}
+ },
+ "packages/TankiOffline-net-test": {
+ "version": "0.0.0-unspecified",
+ "dependencies": {
+ "fflate": "0.8.3"
+ },
+ "devDependencies": {
+ "karma": "6.4.4",
+ "karma-chrome-launcher": "3.2.0",
+ "karma-mocha": "2.0.1",
+ "karma-sourcemap-loader": "0.4.0",
+ "karma-webpack": "5.0.1",
+ "kotlin-web-helpers": "2.0.0",
+ "mocha": "10.7.3",
+ "source-map-loader": "5.0.0",
+ "source-map-support": "0.5.21",
+ "typescript": "5.5.4",
+ "webpack": "5.94.0",
+ "webpack-cli": "5.1.4"
+ }
+ },
+ "packages/TankiOffline-net-test/node_modules/ajv": {
+ "version": "6.15.0",
+ "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.15.0.tgz",
+ "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "packages/TankiOffline-net-test/node_modules/ajv-keywords": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+ "dev": true,
+ "peerDependencies": {
+ "ajv": "^6.9.1"
+ }
+ },
+ "packages/TankiOffline-net-test/node_modules/es-module-lexer": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
+ "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
+ "dev": true
+ },
+ "packages/TankiOffline-net-test/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "packages/TankiOffline-net-test/node_modules/schema-utils": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
+ "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+ "dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "packages/TankiOffline-net-test/node_modules/webpack": {
+ "version": "5.94.0",
+ "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.94.0.tgz",
+ "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "^1.0.5",
+ "@webassemblyjs/ast": "^1.12.1",
+ "@webassemblyjs/wasm-edit": "^1.12.1",
+ "@webassemblyjs/wasm-parser": "^1.12.1",
+ "acorn": "^8.7.1",
+ "acorn-import-attributes": "^1.9.5",
+ "browserslist": "^4.21.10",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.17.1",
+ "es-module-lexer": "^1.2.1",
+ "eslint-scope": "5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.11",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.2.0",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.3.10",
+ "watchpack": "^2.4.1",
+ "webpack-sources": "^3.2.3"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "packages/TankiOffline-state": {
+ "version": "0.0.0-unspecified",
+ "devDependencies": {}
+ },
+ "packages/TankiOffline-state-test": {
+ "version": "0.0.0-unspecified",
+ "devDependencies": {
+ "karma": "6.4.4",
+ "karma-chrome-launcher": "3.2.0",
+ "karma-mocha": "2.0.1",
+ "karma-sourcemap-loader": "0.4.0",
+ "karma-webpack": "5.0.1",
+ "kotlin-web-helpers": "2.0.0",
+ "mocha": "10.7.3",
+ "source-map-loader": "5.0.0",
+ "source-map-support": "0.5.21",
+ "typescript": "5.5.4",
+ "webpack": "5.94.0",
+ "webpack-cli": "5.1.4"
+ }
+ },
+ "packages/TankiOffline-state-test/node_modules/ajv": {
+ "version": "6.15.0",
+ "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.15.0.tgz",
+ "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "packages/TankiOffline-state-test/node_modules/ajv-keywords": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+ "dev": true,
+ "peerDependencies": {
+ "ajv": "^6.9.1"
+ }
+ },
+ "packages/TankiOffline-state-test/node_modules/es-module-lexer": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
+ "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
+ "dev": true
+ },
+ "packages/TankiOffline-state-test/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "packages/TankiOffline-state-test/node_modules/schema-utils": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
+ "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+ "dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "packages/TankiOffline-state-test/node_modules/webpack": {
+ "version": "5.94.0",
+ "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.94.0.tgz",
+ "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "^1.0.5",
+ "@webassemblyjs/ast": "^1.12.1",
+ "@webassemblyjs/wasm-edit": "^1.12.1",
+ "@webassemblyjs/wasm-parser": "^1.12.1",
+ "acorn": "^8.7.1",
+ "acorn-import-attributes": "^1.9.5",
+ "browserslist": "^4.21.10",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.17.1",
+ "es-module-lexer": "^1.2.1",
+ "eslint-scope": "5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.11",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.2.0",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.3.10",
+ "watchpack": "^2.4.1",
+ "webpack-sources": "^3.2.3"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ }
+ }
+}