@allior/wmake-streamelements-events 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/react/hooks/use-on-event-received.d.ts +1 -0
- package/dist/react/hooks/use-on-event-received.d.ts.map +1 -1
- package/dist/react/index.iife.js +1 -1
- package/dist/react/index.iife.js.map +1 -1
- package/dist/react/index.js +45 -44
- package/dist/react/index.js.map +1 -1
- package/package.json +7 -2
- package/src/react/hooks/use-on-event-received.ts +3 -1
- package/tsconfig.app.json +31 -0
- package/tsconfig.json +8 -0
- package/tsconfig.node.json +25 -0
- package/vite.config.ts +36 -0
- package/vite.iife.config.ts +52 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.iife.js","sources":["../../src/root/classifier.ts","../../src/root/aggregate.ts","../../src/root/sources/on-widget-load-detail.ts","../../src/root/sources/alerts.ts","../../src/root/sources/messages.ts","../../src/root/commands.ts","../../src/root/keys.ts","../../src/root/message/twitch/user-message-data.ts","../../src/root/queue/alert-queue.ts","../../src/react/hooks/use-event-listener.ts","../../src/root/guards/on-event-received.ts","../../src/react/hooks/use-on-event-received.ts","../../src/react/hooks/use-on-widget-load.ts"],"sourcesContent":["/**\n * Shared classification and tier parsing for Twitch/StreamElements subscription events.\n * Used by aggregate normalizer.\n */\n\nimport type { ClassifiedEvent, IncomingDetail, TierInfo } from \"./types\";\n\nexport function parseTier(raw: string | number | null | undefined): TierInfo {\n\tif (raw == null) return { tier: 0, tierText: \"\" };\n\tconst tierText = typeof raw === \"string\" ? raw : String(raw);\n\tconst num = parseInt(tierText, 10);\n\tif (Number.isNaN(num)) return { tier: 0, tierText };\n\tconst tier = num >= 3000 ? 3 : num >= 2000 ? 2 : num >= 1000 ? 1 : 0;\n\treturn { tier, tierText };\n}\n\nexport function getCacheKey(detail: IncomingDetail): string {\n\tconst listener = detail.listener;\n\tconst event = detail.event ?? {};\n\tconst ag = event.activityGroup;\n\tconst aid = event.activityId ?? event._id;\n\tif (ag) return String(ag);\n\tif (aid) return String(aid);\n\tif (listener === \"subscriber-latest\" && event.bulkGifted) {\n\t\treturn (\n\t\t\t\"sl-bulk-\" +\n\t\t\t(event.sender ?? \"\") +\n\t\t\t\"-\" +\n\t\t\t(event.amount ?? \"\") +\n\t\t\t\"-\" +\n\t\t\t(event.tier ?? \"\") +\n\t\t\t\"-\" +\n\t\t\t(event._id ?? \"\")\n\t\t);\n\t}\n\treturn `sl-${event._id ?? event.activityId ?? \"\"}`;\n}\n\nexport function classifyEvent(detail: IncomingDetail): ClassifiedEvent | null {\n\tconst listener = detail.listener;\n\tconst event = detail.event ?? {};\n\tconst data = (event.data ?? event) as Record<string, unknown>;\n\tconst tierInfo = parseTier(\n\t\t(data.tier ?? event.tier) as string | number | undefined,\n\t);\n\n\tif (listener === \"event\") {\n\t\tif (event.type === \"communityGiftPurchase\") {\n\t\t\tconst isAnon =\n\t\t\t\t(data.username &&\n\t\t\t\t\tString(data.username).toLowerCase() === \"anonymous\") ||\n\t\t\t\tdata.sender === \"Anonymous\";\n\t\t\treturn {\n\t\t\t\ttype: isAnon ? \"community-gift-anonymous\" : \"community-gift\",\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\ttotalAmount: parseInt(String(data.amount), 10) || 1,\n\t\t\t\trecipients: [],\n\t\t\t\tsender: isAnon\n\t\t\t\t\t? undefined\n\t\t\t\t\t: ((data.sender ?? data.displayName ?? data.username) as string),\n\t\t\t\tanonymousDisplayName: isAnon\n\t\t\t\t\t? ((data.displayName as string) ?? \"Anonymous\")\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}\n\t\tif (event.type === \"subscriber\") {\n\t\t\tconst gifted = data.gifted === true;\n\t\t\tconst sender = data.sender as string | undefined;\n\t\t\tconst amount = parseInt(String(data.amount), 10) || 1;\n\t\t\tconst username = (data.username ?? data.displayName) as\n\t\t\t\t| string\n\t\t\t\t| undefined;\n\t\t\tconst activityGroup = event.activityGroup as string | undefined;\n\n\t\t\tif (sender === \"Anonymous\" && activityGroup) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"community-gift-anonymous\",\n\t\t\t\t\t_role: \"recipient\",\n\t\t\t\t\tactivityGroup,\n\t\t\t\t\trecipient: (username ?? data.displayName) as string,\n\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (gifted && sender && sender !== \"Anonymous\") {\n\t\t\t\tconst isCommunity =\n\t\t\t\t\tdata.communityGifted === true ||\n\t\t\t\t\t(activityGroup != null && activityGroup !== \"\");\n\t\t\t\tif (!isCommunity) {\n\t\t\t\t\tconst firstGift =\n\t\t\t\t\t\tString(data.message ?? \"\").indexOf(\"first Gift Sub\") !== -1;\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: \"solo-sub-to-someone\",\n\t\t\t\t\t\tsender,\n\t\t\t\t\t\trecipient: (username ?? data.displayName) as string,\n\t\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t\t\tfirstGiftInChannel: firstGift,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"community-gift\",\n\t\t\t\t\t_role: \"recipient\",\n\t\t\t\t\tactivityGroup: activityGroup ?? \"\",\n\t\t\t\t\trecipient: (username ?? data.displayName) as string,\n\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (!gifted && amount > 1) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"sub-renewal\",\n\t\t\t\t\tname: (username ?? data.displayName) as string,\n\t\t\t\t\tmonths: amount,\n\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (!gifted && amount === 1) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"self-sub\",\n\t\t\t\t\tname: (username ?? data.displayName) as string,\n\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (activityGroup) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"community-gift\",\n\t\t\t\t\t_role: \"recipient\",\n\t\t\t\t\tactivityGroup,\n\t\t\t\t\trecipient: (username ?? data.displayName) as string,\n\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ttype: \"unknown\",\n\t\t\t\tdetail,\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\ttype: \"unknown\",\n\t\t\tdetail,\n\t\t};\n\t}\n\n\tif (listener === \"subscriber-latest\") {\n\t\tconst bulkGifted = event.bulkGifted === true;\n\t\tconst sender = event.sender as string | undefined;\n\t\tconst name = event.name as string | undefined;\n\t\tconst amount = parseInt(String(event.amount), 10) || 1;\n\t\tconst gifted = event.gifted === true;\n\t\tconst isCommunityGift =\n\t\t\tevent.isCommunityGift === true || event.communityGifted === true;\n\n\t\tif (bulkGifted && sender === \"Anonymous\") {\n\t\t\treturn {\n\t\t\t\ttype: \"community-gift-anonymous\",\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\ttotalAmount: amount,\n\t\t\t\trecipients: [],\n\t\t\t};\n\t\t}\n\t\tif (bulkGifted && sender) {\n\t\t\treturn {\n\t\t\t\ttype: \"community-gift\",\n\t\t\t\tsender,\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\ttotalAmount: amount,\n\t\t\t\trecipients: [],\n\t\t\t};\n\t\t}\n\t\tif (gifted && !isCommunityGift && sender) {\n\t\t\tconst firstGift =\n\t\t\t\tString(event.message ?? \"\").indexOf(\"first Gift Sub\") !== -1;\n\t\t\treturn {\n\t\t\t\ttype: \"solo-sub-to-someone\",\n\t\t\t\tsender,\n\t\t\t\trecipient: name ?? \"\",\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\tfirstGiftInChannel: firstGift,\n\t\t\t};\n\t\t}\n\t\tif (!gifted && amount > 1) {\n\t\t\treturn {\n\t\t\t\ttype: \"sub-renewal\",\n\t\t\t\tname: name ?? \"\",\n\t\t\t\tmonths: amount,\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t};\n\t\t}\n\t\tif (!gifted && amount === 1 && (sender == null || name === sender)) {\n\t\t\treturn {\n\t\t\t\ttype: \"self-sub\",\n\t\t\t\tname: name ?? \"\",\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\ttype: \"unknown\",\n\t\t\tdetail,\n\t\t};\n\t}\n\n\tif (listener === \"follower-latest\") {\n\t\treturn {\n\t\t\ttype: \"follow\",\n\t\t\tname: (event.name as string) ?? \"\",\n\t\t};\n\t}\n\n\tif (listener === \"cheer-latest\") {\n\t\tconst amount = parseInt(String(event.amount), 10) || 0;\n\t\treturn {\n\t\t\ttype: \"cheer\",\n\t\t\tname: (event.name as string) ?? \"\",\n\t\t\tamount,\n\t\t};\n\t}\n\n\tif (listener === \"raid-latest\") {\n\t\tconst amount = parseInt(String(event.amount), 10) || 0;\n\t\treturn {\n\t\t\ttype: \"raid\",\n\t\t\tname: (event.name as string) ?? \"\",\n\t\t\tviewers: amount,\n\t\t};\n\t}\n\n\tif (listener === \"donation\") {\n\t\tconst d = detail.event?.data as\n\t\t\t| {\n\t\t\t\t\talert_type?: string;\n\t\t\t\t\tcurrency?: string;\n\t\t\t\t\tbilling_system?: string;\n\t\t\t\t\tid?: number;\n\t\t\t\t\tamount_main?: number;\n\t\t\t\t\tamount?: number;\n\t\t\t\t\tusername?: string;\n\t\t\t\t\tmessage?: string;\n\t\t\t }\n\t\t\t| undefined;\n\n\t\tconst donationAmount =\n\t\t\t(d?.amount_main as number | undefined) ??\n\t\t\t(d?.amount as number | undefined) ??\n\t\t\t0;\n\n\t\treturn {\n\t\t\ttype: \"donation\",\n\t\t\tamount: donationAmount,\n\t\t\tcurrency: d?.currency,\n\t\t\tusername: d?.username,\n\t\t\tmessage: d?.message,\n\t\t\tbillingSystem: d?.billing_system,\n\t\t\tid: d?.id,\n\t\t};\n\t}\n\n\treturn {\n\t\ttype: \"unknown\",\n\t\tdetail,\n\t};\n}\n","/**\n * Event normalizer — aggregate mode: buffer events by activityGroup,\n * merge into one normalized event per action (timeout 2.5s).\n */\n\nimport { classifyEvent, getCacheKey } from \"./classifier.js\";\nimport type {\n\tCacheSubsByType,\n\tClassifiedCommunityGiftPurchase,\n\tClassifiedEvent,\n\tClassifiedRecipient,\n\tIncomingDetail,\n\tNormalizerOptions,\n} from \"./types\";\n\nconst AGGREGATE_TIMEOUT_MS = 2500;\n\ninterface BufferEntry {\n\ttype: string;\n\tsubscribers: Array<{\n\t\trecipient?: string;\n\t\tusername?: string;\n\t\tname?: string;\n\t\tsender?: string;\n\t}>;\n\ttier: number;\n\ttierText: string;\n\ttotalAmount: number;\n\tpurchase?: ClassifiedCommunityGiftPurchase;\n\tsender?: string;\n}\n\nconst bufferByGroup: Record<string, BufferEntry> = {};\nconst bufferTimers: Record<string, ReturnType<typeof setTimeout>> = {};\n\nfunction getCacheForType(\n\tcacheSubs: CacheSubsByType | undefined,\n\ttype: string,\n): {\n\t_has: (k: string) => boolean;\n\t_set: (k: string, v: boolean) => void;\n} | null {\n\tif (!cacheSubs) return null;\n\tif (\n\t\ttypeof cacheSubs._has === \"function\" &&\n\t\ttypeof cacheSubs._set === \"function\"\n\t) {\n\t\treturn cacheSubs as unknown as {\n\t\t\t_has: (k: string) => boolean;\n\t\t\t_set: (k: string, v: boolean) => void;\n\t\t};\n\t}\n\tconst c = cacheSubs[type];\n\treturn c && typeof (c as { _has?: unknown })._has === \"function\"\n\t\t? (c as {\n\t\t\t\t_has: (k: string) => boolean;\n\t\t\t\t_set: (k: string, v: boolean) => void;\n\t\t\t})\n\t\t: null;\n}\n\nfunction emitAggregated(\n\tgroupKey: string,\n\tmerged: ClassifiedCommunityGiftPurchase,\n\tcacheSubs: CacheSubsByType | undefined,\n\tonNormalized: (event: ClassifiedEvent | null) => void,\n): void {\n\tconst cache = getCacheForType(cacheSubs, merged.type as string);\n\tif (cache?._has(groupKey)) return;\n\tif (cache) cache._set(groupKey, true);\n\tonNormalized(merged);\n}\n\nfunction flushBuffer(\n\tgroupKey: string,\n\tcacheSubs: CacheSubsByType | undefined,\n\tonNormalized: (event: ClassifiedEvent | null) => void,\n\tbroadcaster: string,\n): void {\n\tconst buf = bufferByGroup[groupKey];\n\tif (!buf) return;\n\tdelete bufferByGroup[groupKey];\n\tif (bufferTimers[groupKey]) {\n\t\tclearTimeout(bufferTimers[groupKey]);\n\t\tdelete bufferTimers[groupKey];\n\t}\n\tconst purchase = buf.purchase;\n\tconst subscribers = buf.subscribers ?? [];\n\tconst type = buf.type;\n\tconst tier = buf.tier;\n\tconst tierText = buf.tierText;\n\tconst totalAmount = buf.totalAmount ?? subscribers.length;\n\tconst recipients = subscribers\n\t\t.map((s) => s.recipient ?? s.username ?? s.name)\n\t\t.filter(Boolean) as string[];\n\tconst firstSub = subscribers[0];\n\tconst senderFromSub = firstSub?.sender;\n\tconst sender = purchase?.sender ?? buf.sender ?? senderFromSub;\n\tif (type === \"community-gift\" && broadcaster && sender === broadcaster) {\n\t\treturn;\n\t}\n\tif (type === \"community-gift-anonymous\") {\n\t\temitAggregated(\n\t\t\tgroupKey,\n\t\t\t{\n\t\t\t\ttype: \"community-gift-anonymous\",\n\t\t\t\ttier,\n\t\t\t\ttierText,\n\t\t\t\ttotalAmount,\n\t\t\t\trecipients,\n\t\t\t\tanonymousDisplayName: purchase?.anonymousDisplayName,\n\t\t\t},\n\t\t\tcacheSubs,\n\t\t\tonNormalized,\n\t\t);\n\t} else {\n\t\temitAggregated(\n\t\t\tgroupKey,\n\t\t\t{\n\t\t\t\ttype: \"community-gift\",\n\t\t\t\tsender,\n\t\t\t\ttier,\n\t\t\t\ttierText,\n\t\t\t\ttotalAmount,\n\t\t\t\trecipients,\n\t\t\t},\n\t\t\tcacheSubs,\n\t\t\tonNormalized,\n\t\t);\n\t}\n}\n\n/**\n * Normalizes an incoming subscription event (StreamElements/Twitch).\n * Buffers community-gift recipients by activityGroup, then emits one normalized event per group.\n * For self-sub, solo-sub, sub-renewal emits immediately (with optional cache dedup).\n */\nexport function normalizeIncomingEvent(\n\tdetail: IncomingDetail,\n\toptions: NormalizerOptions | undefined,\n\tonNormalized: (event: ClassifiedEvent | null) => void,\n): void {\n\tconst cacheSubs = options?.cacheSubs;\n\tconst broadcaster = options?.broadcasterLogin ?? \"\";\n\n\tconst classified = classifyEvent(detail);\n\tif (!classified) {\n\t\tonNormalized(null);\n\t\treturn;\n\t}\n\n\tconst cache = getCacheForType(cacheSubs, classified.type);\n\tconst cacheKey = getCacheKey(detail);\n\tconst event = detail.event ?? {};\n\tconst data = (event.data ?? event) as Record<string, unknown>;\n\n\tif ((classified as ClassifiedRecipient)._role === \"recipient\") {\n\t\tconst recipient = classified as ClassifiedRecipient;\n\t\tconst ag = recipient.activityGroup ?? cacheKey;\n\t\tif (!bufferByGroup[ag]) {\n\t\t\tbufferByGroup[ag] = {\n\t\t\t\ttype: recipient.type,\n\t\t\t\tsubscribers: [],\n\t\t\t\ttier: recipient.tier,\n\t\t\t\ttierText: recipient.tierText,\n\t\t\t\ttotalAmount: 0,\n\t\t\t};\n\t\t}\n\t\tif (bufferTimers[ag]) clearTimeout(bufferTimers[ag]);\n\t\tbufferTimers[ag] = setTimeout(() => {\n\t\t\tflushBuffer(ag, cacheSubs, onNormalized, broadcaster);\n\t\t}, AGGREGATE_TIMEOUT_MS);\n\t\tbufferByGroup[ag].subscribers.push({\n\t\t\trecipient: recipient.recipient,\n\t\t\tusername: data.username as string,\n\t\t\tname: data.displayName as string,\n\t\t\tsender: data.sender as string,\n\t\t});\n\t\tif (bufferByGroup[ag].totalAmount === 0) bufferByGroup[ag].totalAmount = 1;\n\t\treturn;\n\t}\n\n\tif (\n\t\tclassified.type === \"community-gift-anonymous\" ||\n\t\tclassified.type === \"community-gift\"\n\t) {\n\t\tconst isPurchase =\n\t\t\tdetail.listener === \"event\" && event.type === \"communityGiftPurchase\";\n\t\tif (isPurchase) {\n\t\t\tconst ag = (event.activityGroup ??\n\t\t\t\tdata?.activityGroup ??\n\t\t\t\tcacheKey) as string;\n\t\t\tconst cg = classified as ClassifiedCommunityGiftPurchase;\n\t\t\tif (!bufferByGroup[ag]) {\n\t\t\t\tbufferByGroup[ag] = {\n\t\t\t\t\ttype: cg.type,\n\t\t\t\t\tpurchase: cg,\n\t\t\t\t\tsubscribers: [],\n\t\t\t\t\ttier: cg.tier,\n\t\t\t\t\ttierText: cg.tierText,\n\t\t\t\t\ttotalAmount: Number(cg.totalAmount) || 0,\n\t\t\t\t\tsender: cg.sender,\n\t\t\t\t};\n\t\t\t\tbufferTimers[ag] = setTimeout(() => {\n\t\t\t\t\tflushBuffer(ag, cacheSubs, onNormalized, broadcaster);\n\t\t\t\t}, AGGREGATE_TIMEOUT_MS);\n\t\t\t} else {\n\t\t\t\tbufferByGroup[ag].purchase = cg;\n\t\t\t\tbufferByGroup[ag].tier = cg.tier;\n\t\t\t\tbufferByGroup[ag].tierText = cg.tierText;\n\t\t\t\tbufferByGroup[ag].totalAmount =\n\t\t\t\t\t(cg.totalAmount as number) ?? bufferByGroup[ag].totalAmount;\n\t\t\t\tbufferByGroup[ag].sender = cg.sender as string;\n\t\t\t\tif (bufferTimers[ag]) clearTimeout(bufferTimers[ag]);\n\t\t\t\tbufferTimers[ag] = setTimeout(() => {\n\t\t\t\t\tflushBuffer(ag, cacheSubs, onNormalized, broadcaster);\n\t\t\t\t}, AGGREGATE_TIMEOUT_MS);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (detail.listener === \"subscriber-latest\") {\n\t\t\tconst c = classified as ClassifiedCommunityGiftPurchase;\n\t\t\tif (\n\t\t\t\tclassified.type === \"community-gift\" &&\n\t\t\t\tbroadcaster &&\n\t\t\t\tc.sender === broadcaster\n\t\t\t) {\n\t\t\t\tonNormalized(null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\treturn;\n\t}\n\n\tif (\n\t\tclassified.type === \"self-sub\" ||\n\t\tclassified.type === \"solo-sub-to-someone\" ||\n\t\tclassified.type === \"sub-renewal\"\n\t) {\n\t\tif (cache?._has(cacheKey)) {\n\t\t\tonNormalized(null);\n\t\t\treturn;\n\t\t}\n\t\tif (cache) cache._set(cacheKey, true);\n\t\tconst c = classified as unknown as Record<string, unknown>;\n\t\tif (\n\t\t\tclassified.type === \"solo-sub-to-someone\" &&\n\t\t\tbroadcaster &&\n\t\t\tc.sender === broadcaster\n\t\t) {\n\t\t\tonNormalized(null);\n\t\t\treturn;\n\t\t}\n\t\tonNormalized(classified);\n\t}\n}\n","export default {\n\tsession: {\n\t\tdata: {\n\t\t\t\"follower-latest\": {\n\t\t\t\tname: \"imacanadiannn\",\n\t\t\t},\n\t\t\t\"follower-session\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"follower-week\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"follower-month\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"follower-goal\": {\n\t\t\t\tamount: 137,\n\t\t\t},\n\t\t\t\"follower-total\": {\n\t\t\t\tcount: 118,\n\t\t\t\tactivityId: \"\",\n\t\t\t\tsessionTop: false,\n\t\t\t},\n\t\t\t\"subscriber-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\ttier: \"\",\n\t\t\t\tmessage: \"\",\n\t\t\t},\n\t\t\t\"subscriber-new-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\tmessage: \"\",\n\t\t\t},\n\t\t\t\"subscriber-resub-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\tmessage: \"\",\n\t\t\t},\n\t\t\t\"subscriber-gifted-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\tmessage: \"\",\n\t\t\t\ttier: \"\",\n\t\t\t\tsender: \"\",\n\t\t\t},\n\t\t\t\"subscriber-session\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-new-session\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-resub-session\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-gifted-session\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-week\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-month\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-goal\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"subscriber-total\": {\n\t\t\t\tcount: 0,\n\t\t\t\tactivityId: \"\",\n\t\t\t\tsessionTop: false,\n\t\t\t},\n\t\t\t\"subscriber-points\": {\n\t\t\t\tamount: 0,\n\t\t\t\tactivityId: \"\",\n\t\t\t\tsessionTop: false,\n\t\t\t},\n\t\t\t\"subscriber-alltime-gifter\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"host-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"raid-latest\": {\n\t\t\t\tname: \"agnascor2\",\n\t\t\t\tamount: 6,\n\t\t\t},\n\t\t\t\"cheer-session\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-week\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-month\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-total\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-count\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"cheer-goal\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-session-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-weekly-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-monthly-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-alltime-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-session-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-weekly-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-monthly-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-alltime-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"tip-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-session-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"tip-weekly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-monthly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-alltime-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-session-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"tip-weekly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-monthly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-alltime-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-session\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-week\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-month\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-total\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-count\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"tip-goal\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"merch-goal-orders\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"merch-goal-items\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"merch-goal-total\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"merch-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\titems: [],\n\t\t\t},\n\t\t\t\"charityCampaignDonation-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-weekly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-monthly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-alltime-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-weekly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-monthly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-alltime-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-weekly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-monthly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-alltime-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-weekly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-monthly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-alltime-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-weekly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-monthly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-alltime-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-weekly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-monthly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-alltime-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-session\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-week\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-month\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-total\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-count\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"superchat-goal\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"purchase-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\tavatar: \"\",\n\t\t\t\tmessage: \"\",\n\t\t\t\titems: [],\n\t\t\t},\n\t\t\t\"follower-recent\": [\n\t\t\t\t{\n\t\t\t\t\tname: \"imacanadiannn\",\n\t\t\t\t\tcreatedAt: \"2026-01-13T01:53:50.296Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"piwo143\",\n\t\t\t\t\tcreatedAt: \"2026-01-13T01:51:39.472Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"latvan_\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T23:54:29.235Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"wheinwait\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T23:11:28.946Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"agnascor2\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T23:11:14.880Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"sunlitetuts\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T21:03:59.207Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"ayanamya\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T20:00:55.509Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"hopeless28\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T18:35:21.731Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"kakoytoclown\",\n\t\t\t\t\tcreatedAt: \"2026-01-11T18:39:36.843Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"dababe__jq1\",\n\t\t\t\t\tcreatedAt: \"2024-10-10T23:27:49.699Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"jjjllkmf\",\n\t\t\t\t\tcreatedAt: \"2024-05-05T09:44:16.287Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"d4c_valintine\",\n\t\t\t\t\tcreatedAt: \"2024-05-03T15:13:28.365Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"angelbliss_\",\n\t\t\t\t\tcreatedAt: \"2024-04-30T20:07:23.132Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"o1zich\",\n\t\t\t\t\tcreatedAt: \"2024-04-22T16:23:26.139Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"nearbuziky\",\n\t\t\t\t\tcreatedAt: \"2024-04-19T19:21:27.569Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"samirkasamsa\",\n\t\t\t\t\tcreatedAt: \"2024-04-19T17:06:38.963Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"flip1mip\",\n\t\t\t\t\tcreatedAt: \"2024-04-19T17:06:18.276Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"valerie_solo\",\n\t\t\t\t\tcreatedAt: \"2024-04-19T17:06:07.473Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"sxaelence\",\n\t\t\t\t\tcreatedAt: \"2024-04-19T07:06:46.330Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"avokadik99\",\n\t\t\t\t\tcreatedAt: \"2024-04-17T16:11:29.604Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"blackvoronstream\",\n\t\t\t\t\tcreatedAt: \"2024-04-16T21:29:33.306Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"baldejniyy\",\n\t\t\t\t\tcreatedAt: \"2024-04-16T21:29:09.647Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"p3ch4n_ka\",\n\t\t\t\t\tcreatedAt: \"2024-04-16T16:37:31.841Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"kakosik_bee\",\n\t\t\t\t\tcreatedAt: \"2024-04-16T15:56:27.435Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"hikotoru\",\n\t\t\t\t\tcreatedAt: \"2024-04-16T15:13:25.226Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t],\n\t\t\t\"subscriber-recent\": [],\n\t\t\t\"host-recent\": [],\n\t\t\t\"raid-recent\": [\n\t\t\t\t{\n\t\t\t\t\tname: \"agnascor2\",\n\t\t\t\t\tamount: 6,\n\t\t\t\t\tcreatedAt: \"2026-01-12T23:08:21.815Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"justduckomgg\",\n\t\t\t\t\tamount: 7,\n\t\t\t\t\tcreatedAt: \"2024-04-19T17:05:53.185Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"veessmk\",\n\t\t\t\t\tamount: 6,\n\t\t\t\t\tcreatedAt: \"2024-04-17T15:40:43.945Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"night_sculptor\",\n\t\t\t\t\tamount: 12,\n\t\t\t\t\tcreatedAt: \"2024-04-16T18:07:40.040Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"pixiemays\",\n\t\t\t\t\tamount: 6,\n\t\t\t\t\tcreatedAt: \"2024-04-16T16:37:24.433Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"night_sculptor\",\n\t\t\t\t\tamount: 8,\n\t\t\t\t\tcreatedAt: \"2024-04-14T18:31:20.049Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"pixiemays\",\n\t\t\t\t\tamount: 19,\n\t\t\t\t\tcreatedAt: \"2024-04-14T13:22:05.794Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"pixiemays\",\n\t\t\t\t\tamount: 15,\n\t\t\t\t\tcreatedAt: \"2024-04-12T17:03:36.115Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"alechkavt\",\n\t\t\t\t\tamount: 9,\n\t\t\t\t\tcreatedAt: \"2024-04-11T17:54:47.691Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"pixiemays\",\n\t\t\t\t\tamount: 8,\n\t\t\t\t\tcreatedAt: \"2024-04-11T14:10:49.548Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"night_sculptor\",\n\t\t\t\t\tamount: 22,\n\t\t\t\t\tcreatedAt: \"2024-04-09T16:13:41.195Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"pixiemays\",\n\t\t\t\t\tamount: 5,\n\t\t\t\t\tcreatedAt: \"2024-04-08T09:54:01.603Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"aki_neki\",\n\t\t\t\t\tamount: 5,\n\t\t\t\t\tcreatedAt: \"2024-04-07T21:52:45.919Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"alechkavt\",\n\t\t\t\t\tamount: 11,\n\t\t\t\t\tcreatedAt: \"2024-04-07T18:59:39.286Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"veessmk\",\n\t\t\t\t\tamount: 15,\n\t\t\t\t\tcreatedAt: \"2024-04-07T16:13:25.172Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"veessmk\",\n\t\t\t\t\tamount: 10,\n\t\t\t\t\tcreatedAt: \"2024-03-17T16:11:38.631Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t],\n\t\t\t\"charityCampaignDonation-recent\": [],\n\t\t\t\"cheer-recent\": [],\n\t\t\t\"cheerPurchase-recent\": [],\n\t\t\t\"superchat-recent\": [],\n\t\t\t\"tip-recent\": [],\n\t\t\t\"merch-recent\": [],\n\t\t\t\"channel-points-latest\": {\n\t\t\t\tamount: 0,\n\t\t\t\tmessage: \"\",\n\t\t\t\tname: \"\",\n\t\t\t\tredemption: \"\",\n\t\t\t},\n\t\t\t\"community-gift-latest\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t\ttier: \"\",\n\t\t\t},\n\t\t\t\"charityCampaignDonation-session-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"charityCampaignDonation-session-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheerPurchase-session-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheerPurchase-session-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"hypetrain-latest\": {\n\t\t\t\tactive: 0,\n\t\t\t\tamount: 0,\n\t\t\t\tlevel: 0,\n\t\t\t\tlevelChanged: 0,\n\t\t\t\tname: \"\",\n\t\t\t\ttype: \"\",\n\t\t\t},\n\t\t\t\"hypetrain-latest-top-contributors\": [],\n\t\t\t\"hypetrain-level-goal\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"hypetrain-level-progress\": {\n\t\t\t\tamount: 0,\n\t\t\t\tpercent: 0,\n\t\t\t},\n\t\t\t\"hypetrain-total\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-session-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"superchat-session-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t},\n\t\tsettings: {\n\t\t\tautoReset: true,\n\t\t\tcalendar: false,\n\t\t\tresetOnStart: false,\n\t\t},\n\t},\n\trecents: [\n\t\t{\n\t\t\tname: \"imacanadiannn\",\n\t\t\tcreatedAt: \"2026-01-13T01:53:50.296Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"piwo143\",\n\t\t\tcreatedAt: \"2026-01-13T01:51:39.472Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"latvan_\",\n\t\t\tcreatedAt: \"2026-01-12T23:54:29.235Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"wheinwait\",\n\t\t\tcreatedAt: \"2026-01-12T23:11:28.946Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"agnascor2\",\n\t\t\tcreatedAt: \"2026-01-12T23:11:14.880Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"sunlitetuts\",\n\t\t\tcreatedAt: \"2026-01-12T21:03:59.207Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"ayanamya\",\n\t\t\tcreatedAt: \"2026-01-12T20:00:55.509Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"hopeless28\",\n\t\t\tcreatedAt: \"2026-01-12T18:35:21.731Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"kakoytoclown\",\n\t\t\tcreatedAt: \"2026-01-11T18:39:36.843Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"dababe__jq1\",\n\t\t\tcreatedAt: \"2024-10-10T23:27:49.699Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"jjjllkmf\",\n\t\t\tcreatedAt: \"2024-05-05T09:44:16.287Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"d4c_valintine\",\n\t\t\tcreatedAt: \"2024-05-03T15:13:28.365Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"angelbliss_\",\n\t\t\tcreatedAt: \"2024-04-30T20:07:23.132Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"o1zich\",\n\t\t\tcreatedAt: \"2024-04-22T16:23:26.139Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"nearbuziky\",\n\t\t\tcreatedAt: \"2024-04-19T19:21:27.569Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"samirkasamsa\",\n\t\t\tcreatedAt: \"2024-04-19T17:06:38.963Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"flip1mip\",\n\t\t\tcreatedAt: \"2024-04-19T17:06:18.276Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"valerie_solo\",\n\t\t\tcreatedAt: \"2024-04-19T17:06:07.473Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"sxaelence\",\n\t\t\tcreatedAt: \"2024-04-19T07:06:46.330Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"avokadik99\",\n\t\t\tcreatedAt: \"2024-04-17T16:11:29.604Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"blackvoronstream\",\n\t\t\tcreatedAt: \"2024-04-16T21:29:33.306Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"baldejniyy\",\n\t\t\tcreatedAt: \"2024-04-16T21:29:09.647Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"p3ch4n_ka\",\n\t\t\tcreatedAt: \"2024-04-16T16:37:31.841Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"kakosik_bee\",\n\t\t\tcreatedAt: \"2024-04-16T15:56:27.435Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"hikotoru\",\n\t\t\tcreatedAt: \"2024-04-16T15:13:25.226Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"agnascor2\",\n\t\t\tamount: 6,\n\t\t\tcreatedAt: \"2026-01-12T23:08:21.815Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"justduckomgg\",\n\t\t\tamount: 7,\n\t\t\tcreatedAt: \"2024-04-19T17:05:53.185Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"veessmk\",\n\t\t\tamount: 6,\n\t\t\tcreatedAt: \"2024-04-17T15:40:43.945Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"night_sculptor\",\n\t\t\tamount: 12,\n\t\t\tcreatedAt: \"2024-04-16T18:07:40.040Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"pixiemays\",\n\t\t\tamount: 6,\n\t\t\tcreatedAt: \"2024-04-16T16:37:24.433Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"night_sculptor\",\n\t\t\tamount: 8,\n\t\t\tcreatedAt: \"2024-04-14T18:31:20.049Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"pixiemays\",\n\t\t\tamount: 19,\n\t\t\tcreatedAt: \"2024-04-14T13:22:05.794Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"pixiemays\",\n\t\t\tamount: 15,\n\t\t\tcreatedAt: \"2024-04-12T17:03:36.115Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"alechkavt\",\n\t\t\tamount: 9,\n\t\t\tcreatedAt: \"2024-04-11T17:54:47.691Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"pixiemays\",\n\t\t\tamount: 8,\n\t\t\tcreatedAt: \"2024-04-11T14:10:49.548Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"night_sculptor\",\n\t\t\tamount: 22,\n\t\t\tcreatedAt: \"2024-04-09T16:13:41.195Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"pixiemays\",\n\t\t\tamount: 5,\n\t\t\tcreatedAt: \"2024-04-08T09:54:01.603Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"aki_neki\",\n\t\t\tamount: 5,\n\t\t\tcreatedAt: \"2024-04-07T21:52:45.919Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"alechkavt\",\n\t\t\tamount: 11,\n\t\t\tcreatedAt: \"2024-04-07T18:59:39.286Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"veessmk\",\n\t\t\tamount: 15,\n\t\t\tcreatedAt: \"2024-04-07T16:13:25.172Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"veessmk\",\n\t\t\tamount: 10,\n\t\t\tcreatedAt: \"2024-03-17T16:11:38.631Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t],\n\tcurrency: {\n\t\tcode: \"USD\",\n\t\tname: \"U.S. Dollar\",\n\t\tsymbol: \"$\",\n\t},\n\tchannel: {\n\t\tusername: \"encry_s\",\n\t\tapiToken: \"HAHANOTNOW\",\n\t\tid: \"65ba7503dc0415cb368947b1\",\n\t\tproviderId: \"485678132\",\n\t\tavatar:\n\t\t\t\"https://static-cdn.jtvnw.net/jtv_user_pictures/6fe93724-803a-4e5a-b58a-1d42fbc84661-profile_image-300x300.jpeg\",\n\t},\n\tfieldData: {\n\t\ttestMessageButton: \"zaytri_dynamicchatbubbles\",\n\t\tpreviewMode: false,\n\t\tpreviewType: \"random\",\n\t\tpreviewMessage: \"\",\n\t\ttheme: \"animal-crossing\",\n\t\tcorner: \"round\",\n\t\tdarkMode: false,\n\t\thighlightStyle: \"normal\",\n\t\tactionStyle: \"italics\",\n\t\tmaxWidth: 400,\n\t\tmaxHeight: 300,\n\t\tfixedWidth: false,\n\t\tpositionMode: \"list\",\n\t\tlistDirection: \"bottom\",\n\t\tlistAlignment: \"center\",\n\t\ttopEdge: true,\n\t\tbottomEdge: true,\n\t\tleftEdge: true,\n\t\trightEdge: true,\n\t\tedgeDeviation: 0,\n\t\tpadding: 30,\n\t\tanimation: \"dynamic\",\n\t\tdynamicModifier: 1.75,\n\t\tmaxMessages: 25,\n\t\thideOutOfBounds: true,\n\t\tlifetime: 0,\n\t\tdelay: 1,\n\t\tgoogleFont: \"Nunito\",\n\t\tcustomFont: \"\",\n\t\tfontSize: 18,\n\t\tfontWeight: \"bold\",\n\t\ttextDirection: \"ltr\",\n\t\tuseCustomBorderColors: true,\n\t\tborderColor: \"#fed400\",\n\t\tnameColor: \"#000000\",\n\t\tuseCustomMessageColors: true,\n\t\tbackgroundColor: \"#fff3c0\",\n\t\ttextColor: \"#000000\",\n\t\tpronounsMode: \"suffix\",\n\t\tpronounsLowercase: true,\n\t\tpronounsBadgeCustomColors: false,\n\t\tpronounsBadgeBackgroundColor: \"#000000\",\n\t\tpronounsBadgeBorderColor: \"#FFFFFF\",\n\t\tpronounsBadgeTextColor: \"#FFFFFF\",\n\t\tshowBadges: true,\n\t\tlargeEmotes: true,\n\t\tffzGlobal: false,\n\t\tbttvGlobal: false,\n\t\temoteOnly: false,\n\t\thighlightOnly: false,\n\t\tallowedStrings: [],\n\t\tminMessages: 0,\n\t\tmessageCooldown: 0,\n\t\traidCooldown: 0,\n\t\traidMin: 0,\n\t\tincludeEveryone: true,\n\t\tincludeFollowers: \"true\",\n\t\tminFollowTime: 1,\n\t\tincludeSubs: true,\n\t\tincludeVIPs: true,\n\t\tincludeMods: true,\n\t\tallowUserList: [],\n\t\tignoreUserList: [\"StreamElements\", \"Streamlabs\", \"Nightbot\", \"Sery_Bot\"],\n\t\tignorePrefixList: [\"!\"],\n\t\tvolume: 50,\n\t\tsoundGroup1: [],\n\t\tuserLevelSoundGroup1: \"everyone\",\n\t\tspecificUsersSoundGroup1: [],\n\t\tmessageTypeSoundGroup1: \"all\",\n\t\tsoundGroup2: [],\n\t\tuserLevelSoundGroup2: \"everyone\",\n\t\tspecificUsersSoundGroup2: [],\n\t\tmessageTypeSoundGroup2: \"all\",\n\t\tsoundGroup3: [],\n\t\tuserLevelSoundGroup3: \"everyone\",\n\t\tspecificUsersSoundGroup3: [],\n\t\tmessageTypeSoundGroup3: \"all\",\n\t\tsoundGroup4: [],\n\t\tuserLevelSoundGroup4: \"everyone\",\n\t\tspecificUsersSoundGroup4: [],\n\t\tmessageTypeSoundGroup4: \"all\",\n\t\tsoundGroup5: [],\n\t\tuserLevelSoundGroup5: \"everyone\",\n\t\tspecificUsersSoundGroup5: [],\n\t\tmessageTypeSoundGroup5: \"all\",\n\t\tsoundGroup6: [],\n\t\tuserLevelSoundGroup6: \"everyone\",\n\t\tspecificUsersSoundGroup6: [],\n\t\tmessageTypeSoundGroup6: \"all\",\n\t\tsoundGroup7: [],\n\t\tuserLevelSoundGroup7: \"everyone\",\n\t\tspecificUsersSoundGroup7: [],\n\t\tmessageTypeSoundGroup7: \"all\",\n\t\tsoundGroup8: [],\n\t\tuserLevelSoundGroup8: \"everyone\",\n\t\tspecificUsersSoundGroup8: [],\n\t\tmessageTypeSoundGroup8: \"all\",\n\t\tsoundGroup9: [],\n\t\tuserLevelSoundGroup9: \"everyone\",\n\t\tspecificUsersSoundGroup9: [],\n\t\tmessageTypeSoundGroup9: \"all\",\n\t\tsoundGroup10: [],\n\t\tuserLevelSoundGroup10: \"everyone\",\n\t\tspecificUsersSoundGroup10: [],\n\t\tmessageTypeSoundGroup10: \"all\",\n\t\twidgetName: \"Chat Bubbles\",\n\t\twidgetAuthor: \"Zaytri\",\n\t\twidgetVersion: \"2.12.0\",\n\t\twidgetUpdateUrl:\n\t\t\t\"https://github.com/zaytri/stream-elements-widgets/blob/main/DynamicChatBubbles\",\n\t\tignoreFirst: true,\n\t},\n\toverlay: {\n\t\tisEditorMode: true,\n\t\tmuted: false,\n\t},\n};\n","export const testAlerts = {\n\tfollower: {\n\t\tlistener: \"follower-latest\",\n\t\tevent: {\n\t\t\tname: \"An1by\",\n\t\t},\n\t},\n\tcommunityGiftAnonymous: {\n\t\tlistener: \"event\",\n\t\tevent: {\n\t\t\ttype: \"communityGiftPurchase\",\n\t\t\tprovider: \"twitch\",\n\t\t\tchannel: \"663b10ba6cd449c4162a2230\",\n\t\t\tactivityGroup: \"41a50a915794e4ae7cf5e600fd3445d4\",\n\t\t\tdata: {\n\t\t\t\tamount: 2,\n\t\t\t\tusername: \"anonymous\",\n\t\t\t\tdisplayName: \"AnAnonymousGifter\",\n\t\t\t\ttier: \"2000\",\n\t\t\t\tsender: \"Anonymous\",\n\t\t\t},\n\t\t\t_id: \"699868d7df734989ec85d393\",\n\t\t\tactivityId: \"699868d7df734989ec85d393\",\n\t\t},\n\t},\n\tcommunityGift: {\n\t\tlistener: \"event\",\n\t\tevent: {\n\t\t\ttype: \"communityGiftPurchase\",\n\t\t\tprovider: \"twitch\",\n\t\t\tchannel: \"663b10ba6cd449c4162a2230\",\n\t\t\tactivityGroup: \"841592c0bccbf3e1e7de71e1c8f4d9f0\",\n\t\t\tdata: {\n\t\t\t\tamount: 1,\n\t\t\t\tusername: \"rishamon\",\n\t\t\t\tdisplayName: \"rishamon\",\n\t\t\t\ttier: \"1000\",\n\t\t\t\tsender: \"rishamon\",\n\t\t\t},\n\t\t\t_id: \"699867c7fef23197a6a089f5\",\n\t\t\tactivityId: \"699867c7fef23197a6a089f5\",\n\t\t},\n\t},\n\tsub: {\n\t\tlistener: \"subscriber-latest\",\n\t\tevent: {\n\t\t\tname: \"An1by\",\n\t\t\tamount: 1,\n\t\t},\n\t},\n\tselfSub: {\n\t\tlistener: \"event\",\n\t\tevent: {\n\t\t\ttype: \"subscriber\",\n\t\t\tprovider: \"twitch\",\n\t\t\tchannel: \"663b10ba6cd449c4162a2230\",\n\t\t\tdata: {\n\t\t\t\tamount: 1,\n\t\t\t\tusername: \"rishamon\",\n\t\t\t\tdisplayName: \"rishamon\",\n\t\t\t\ttier: \"1000\",\n\t\t\t},\n\t\t\t_id: \"6998676317aed69e62b8f283\",\n\t\t\tactivityId: \"6998676317aed69e62b8f283\",\n\t\t},\n\t},\n\tsoloSubToSomeone: {\n\t\tlistener: \"event\",\n\t\tevent: {\n\t\t\ttype: \"subscriber\",\n\t\t\tprovider: \"twitch\",\n\t\t\tchannel: \"663b10ba6cd449c4162a2230\",\n\t\t\tdata: {\n\t\t\t\tamount: 1,\n\t\t\t\tusername: \"encry_s\",\n\t\t\t\tdisplayName: \"encry_s\",\n\t\t\t\tmessage:\n\t\t\t\t\t\"rishamon gifted a Tier 1 sub to encry_s! This is their first Gift Sub in the channel!\",\n\t\t\t\ttier: \"1000\",\n\t\t\t\tsender: \"rishamon\",\n\t\t\t\tgifted: true,\n\t\t\t},\n\t\t\t_id: \"699866e82d9cd9a70854baf2\",\n\t\t\tactivityId: \"699866e82d9cd9a70854baf2\",\n\t\t},\n\t},\n\tsubRenewal: {\n\t\tlistener: \"event\",\n\t\tevent: {\n\t\t\ttype: \"subscriber\",\n\t\t\tprovider: \"twitch\",\n\t\t\tchannel: \"663b10ba6cd449c4162a2230\",\n\t\t\tdata: {\n\t\t\t\tamount: 8,\n\t\t\t\tusername: \"silgestian\",\n\t\t\t\tdisplayName: \"SilgeStian\",\n\t\t\t\ttier: \"1000\",\n\t\t\t},\n\t\t\t_id: \"69986dfaf25724ff4162bd1a\",\n\t\t\tactivityId: \"69986dfaf25724ff4162bd1a\",\n\t\t},\n\t},\n\tbits: {\n\t\tlistener: \"cheer-latest\",\n\t\tevent: {\n\t\t\tname: \"An1by\",\n\t\t\tamount: 30,\n\t\t},\n\t},\n\traid: {\n\t\tlistener: \"raid-latest\",\n\t\tevent: {\n\t\t\tname: \"An1by\",\n\t\t\tamount: 50,\n\t\t},\n\t},\n\tdonationShortText: {\n\t\tlistener: \"donation\",\n\t\tevent: {\n\t\t\tdata: {\n\t\t\t\talert_type: \"1\",\n\t\t\t\tcurrency: \"RUB\",\n\t\t\t\tbilling_system: \"CARD\",\n\t\t\t\tid: 5,\n\t\t\t\tamount_main: 500,\n\t\t\t\tamount: 500,\n\t\t\t\tusername: \"An1by\",\n\t\t\t\tmessage: \"Simple message text\",\n\t\t\t},\n\t\t},\n\t},\n\tdonationLongText: {\n\t\tlistener: \"donation\",\n\t\tevent: {\n\t\t\tdata: {\n\t\t\t\talert_type: \"1\",\n\t\t\t\tcurrency: \"RUB\",\n\t\t\t\tbilling_system: \"CARD\",\n\t\t\t\tid: 5,\n\t\t\t\tamount_main: 500,\n\t\t\t\tamount: 500,\n\t\t\t\tusername: \"An1by\",\n\t\t\t\tmessage:\n\t\t\t\t\t\"A plain gray stone lay on the shore, basking in the sun's warmth. A shove broke its peace—a thoughtless toss sent it flying. The stone splashed into water. Ripples spread, yet none noticed. It sank to the bottom, heavy with loneliness. \\\"Didn't I deserve to stay where I was happy still?\\\" it wondered.\",\n\t\t\t},\n\t\t},\n\t},\n\tdonation: {\n\t\tlistener: \"donation\",\n\t\tevent: {\n\t\t\tdata: {\n\t\t\t\talert_type: \"1\",\n\t\t\t\tcurrency: \"RUB\",\n\t\t\t\tbilling_system: \"CARD\",\n\t\t\t\tid: 5,\n\t\t\t\tamount_main: 500,\n\t\t\t\tamount: 500,\n\t\t\t\tusername: \"An1by\",\n\t\t\t\tmessage: \"\",\n\t\t\t},\n\t\t},\n\t},\n};\n","export const testMessages = {\n\tzeroWidthEmotesInRow: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1768317417111,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/23\",\n\t\t\t\t\tbadges: \"broadcaster/1,subscriber/0\",\n\t\t\t\t\t\"client-nonce\": \"f70c4cd8b6034d1f805298246ee1bc35\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"5f752ae3-4be9-4f93-82d1-d78575ba07fd\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1768317416862\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"Censored Censored Censored emotes in row\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 8,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 9,\n\t\t\t\t\t\tend: 17,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 18,\n\t\t\t\t\t\tend: 26,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"5f752ae3-4be9-4f93-82d1-d78575ba07fd\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\">emotes in row',\n\t\t},\n\t},\n\tzeroWidthEmoteInMiddle: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1768317383248,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/23\",\n\t\t\t\t\tbadges: \"broadcaster/1,subscriber/0\",\n\t\t\t\t\t\"client-nonce\": \"847f9c27722340d090eddcb0d0662b5b\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3dea1e1e-89f7-4a5f-b743-13ba0386492f\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1768317382987\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"text and Censored emote\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 9,\n\t\t\t\t\t\tend: 17,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"3dea1e1e-89f7-4a5f-b743-13ba0386492f\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'text and <img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\">emote',\n\t\t},\n\t},\n\tzeroWidthEmoteFirst: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1768317236883,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/23\",\n\t\t\t\t\tbadges: \"broadcaster/1,subscriber/0\",\n\t\t\t\t\t\"client-nonce\": \"e9d0621827184c1b940fd700ae599d60\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"6f347337-354a-42e5-bab0-935e19d74152\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1768317236625\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"Censored <- zeroWidth emote on the first place\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 8,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"6f347337-354a-42e5-bab0-935e19d74152\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\"><- zeroWidth emote on the first place',\n\t\t},\n\t},\n\tveryShort: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743750546,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\t\"client-nonce\": \"a3fe71a5771d0c31466dd333c963231e\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743749437\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"IHaveVeryBigNickname\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"IHaveVeryBigNickname\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"IHaveVeryBigNickname\",\n\t\t\t\ttext: \"A!\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t},\n\t\t\trenderedText: \"A!\",\n\t\t},\n\t},\n\tviewer: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743750546,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\t\"client-nonce\": \"a3fe71a5771d0c31466dd333c963231e\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743749437\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"SimpleViewer\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"SimpleViewer\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"SimpleViewer\",\n\t\t\t\ttext: \"I finally finished it...\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t},\n\t\t\trenderedText: \"I finally finished it...\",\n\t\t},\n\t},\n\tvip: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743844261,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"vip/1\",\n\t\t\t\t\t\"client-nonce\": \"fd72ba163a9cc1a6486b2eddb0f5d893\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"51cac44b-9908-49d2-b424-489276e1e521\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743843170\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t\tvip: \"1\",\n\t\t\t\t},\n\t\t\t\tnick: \"VipPersona\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"VipPersona\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"vip\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/b817aba4-fad8-49e2-b88a-7cc744dfa6ec/3\",\n\t\t\t\t\t\tdescription: \"VIP\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"VipPersona\",\n\t\t\t\ttext: \"I am a VIP persona!\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"51cac44b-9908-49d2-b424-489276e1e521\",\n\t\t\t},\n\t\t\trenderedText: \"I am a VIP persona!\",\n\t\t},\n\t},\n\tvipLong: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743844261,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"vip/1\",\n\t\t\t\t\t\"client-nonce\": \"fd72ba163a9cc1a6486b2eddb0f5d893\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"51cac44b-9908-49d2-b424-489276e1e521\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743843170\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t\tvip: \"1\",\n\t\t\t\t},\n\t\t\t\tnick: \"VipPersona\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"VipPersona\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"vip\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/b817aba4-fad8-49e2-b88a-7cc744dfa6ec/3\",\n\t\t\t\t\t\tdescription: \"VIP\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"VipPersona\",\n\t\t\t\ttext: \"I am a VIP persona! Are you see this?\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"51cac44b-9908-49d2-b424-489276e1e521\",\n\t\t\t},\n\t\t\trenderedText: \"I am a VIP persona! Are you see this?\",\n\t\t},\n\t},\n\tartist: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743916482,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"artist-badge/1\",\n\t\t\t\t\t\"client-nonce\": \"54128d734d44e28ffc32e1ce236993f5\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"8ee7e71a-3608-486a-bd82-a82b65982ca7\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743915371\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"StarArtist\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"StarArtist\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"artist-badge\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/4300a897-03dc-4e83-8c0e-c332fee7057f/3\",\n\t\t\t\t\t\tdescription: \"Artist\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"StarArtist\",\n\t\t\t\ttext: \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"8ee7e71a-3608-486a-bd82-a82b65982ca7\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",\n\t\t},\n\t},\n\tsubscriber: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tdata: {\n\t\t\t\ttags: {\n\t\t\t\t\tbadges: \"subscriber/1\",\n\t\t\t\t\tcolor: \"#ff69b4\",\n\t\t\t\t\tvip: \"0\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"user-id\": \"100135110\",\n\t\t\t\t\t\"user-type\": \"subscriber\",\n\t\t\t\t},\n\t\t\t\tnick: \"YourSub\",\n\t\t\t\tuserId: \"100135110\",\n\t\t\t\tdisplayName: \"YourSub\",\n\t\t\t\tdisplayColor: \"#ff69b4\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"partner\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/d12a2e27-16f6-41d0-ab77-b780518f00a3/3\",\n\t\t\t\t\t\tdescription: \"Verified\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\ttext: \"This is a subscriber's test message. I'm just a subscriber, srsly.\",\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"43285909-412c-4eee-b80d-89f1482ba53142\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t\"This is a subscriber's test message. I'm just a subscriber, srsly.\",\n\t\t},\n\t},\n\tfounder: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743750546,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"founder/1,subscriber/1\",\n\t\t\t\t\t\"client-nonce\": \"a3fe71a5771d0c31466dd333c963231e\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"sub__founder\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743749437\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"sub__founder\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"sub__founder\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"founder\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"I finally finished it...\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t},\n\t\t\trenderedText: \"I finally finished it...\",\n\t\t},\n\t},\n\tmoderator: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743997223,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"moderator/1\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3e7ba532-f181-4bcc-90f1-a3c48ca3c820\",\n\t\t\t\t\tmod: \"1\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743996136\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"mod\",\n\t\t\t\t},\n\t\t\t\tnick: \"mediator\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"mediator\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"moderator\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/3267646d-33f0-4b17-b3df-f923a41db1d0/3\",\n\t\t\t\t\t\tdescription: \"Moderator\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"mediator\",\n\t\t\t\ttext: \"Did someone say... MODERATOR!?\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"3e7ba532-f181-4bcc-90f1-a3c48ca3c820\",\n\t\t\t},\n\t\t\trenderedText: \"Did someone say... MODERATOR!?\",\n\t\t},\n\t},\n\tmoderatorLong: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743997223,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"moderator/1\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3e7ba532-f181-4bcc-90f1-a3c48ca3c820\",\n\t\t\t\t\tmod: \"1\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743996136\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"mod\",\n\t\t\t\t},\n\t\t\t\tnick: \"mediator\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"mediator\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"moderator\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/3267646d-33f0-4b17-b3df-f923a41db1d0/3\",\n\t\t\t\t\t\tdescription: \"Moderator\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"mediator\",\n\t\t\t\ttext: \"Did someone say... MODERATOR!? Yes, I am moderator!\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"3e7ba532-f181-4bcc-90f1-a3c48ca3c820\",\n\t\t\t},\n\t\t\trenderedText: \"Did someone say... MODERATOR!? Yes, I am moderator!\",\n\t\t},\n\t},\n\tbroadcaster: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744800809,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/16\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"6989104421ee14c0a8c216ef1c6bb5ed\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"35a9bea7-076e-4d17-8cb7-7e65c8111b3d\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744799706\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"I made this chat Besplatno\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Besplatno\",\n\t\t\t\t\t\tid: \"01FE70VRT00009TR6M9N941A28\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 17,\n\t\t\t\t\t\tend: 26,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"35a9bea7-076e-4d17-8cb7-7e65c8111b3d\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'I made this chat <img src=\"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/1x.webp 1x, https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/2x.webp 2x, https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/4x.webp 4x\" title=\"Besplatno\" class=\"emote\">',\n\t\t},\n\t},\n\tbroadcasterShort: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744800809,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/16\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"6989104421ee14c0a8c216ef1c6bb5ed\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"35a9bea7-076e-4d17-8cb7-7e65c8111b3d\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744799706\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"okak\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"35a9bea7-076e-4d17-8cb7-7e65c8111b3d\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'I made this chat <img src=\"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/1x.webp 1x, https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/2x.webp 2x, https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/4x.webp 4x\" title=\"Besplatno\" class=\"emote\">',\n\t\t},\n\t},\n\temoteSolo: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744097330,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"9ab645b9-7c27-4c6f-99fd-f63727ca3700\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744096217\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"tr0l1\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"tr0l1\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"tr0l1\",\n\t\t\t\ttext: \"🤤😮💀👈👉\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"emoji\",\n\t\t\t\t\t\tname: \"1f62e\",\n\t\t\t\t\t\tid: \"1f62e\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://twemoji.maxcdn.com/36x36/1f62e.png\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"emoji\",\n\t\t\t\t\t\tname: \"1f480\",\n\t\t\t\t\t\tid: \"1f480\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://twemoji.maxcdn.com/36x36/1f480.png\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"emoji\",\n\t\t\t\t\t\tname: \"1f448\",\n\t\t\t\t\t\tid: \"1f448\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://twemoji.maxcdn.com/36x36/1f448.png\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"emoji\",\n\t\t\t\t\t\tname: \"1f449\",\n\t\t\t\t\t\tid: \"1f449\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://twemoji.maxcdn.com/36x36/1f449.png\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"9ab645b9-7c27-4c6f-99fd-f63727ca3700\",\n\t\t\t},\n\t\t\trenderedText: \"🤤😮💀👈👉\",\n\t\t},\n\t},\n\temoteOne: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744131183,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes:\n\t\t\t\t\t\t\"41:20-27/245:29-43/28087:45-51/58765:53-63/555555584:65-66/64138:10-18\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"beb957ea-dfbd-4184-82a3-458121f44867\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744130018\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"tr0l1\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"tr0l1\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"tr0l1\",\n\t\t\t\ttext: \"SeemsGood\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"SeemsGood\",\n\t\t\t\t\t\tid: \"64138\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 9,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"beb957ea-dfbd-4184-82a3-458121f44867\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/3.0 4x\" title=\"SeemsGood\" class=\"emote\">',\n\t\t},\n\t},\n\temoteText: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744131183,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"7TVUser\",\n\t\t\t\t\temotes:\n\t\t\t\t\t\t\"41:20-27/245:29-43/28087:45-51/58765:53-63/555555584:65-66/64138:10-18\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"beb957ea-dfbd-4184-82a3-458121f44867\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744130018\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"7TVUser\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"7TVUser\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"7TVUser\",\n\t\t\t\ttext: \"Not emote SeemsGood Kreygasm ResidentSleeper WutFace NotLikeThis <3\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"SeemsGood\",\n\t\t\t\t\t\tid: \"64138\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 10,\n\t\t\t\t\t\tend: 19,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"Kreygasm\",\n\t\t\t\t\t\tid: \"41\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 20,\n\t\t\t\t\t\tend: 28,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"ResidentSleeper\",\n\t\t\t\t\t\tid: \"245\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 29,\n\t\t\t\t\t\tend: 44,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"WutFace\",\n\t\t\t\t\t\tid: \"28087\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 45,\n\t\t\t\t\t\tend: 52,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"NotLikeThis\",\n\t\t\t\t\t\tid: \"58765\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 53,\n\t\t\t\t\t\tend: 64,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"<3\",\n\t\t\t\t\t\tid: \"9\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 65,\n\t\t\t\t\t\tend: 67,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"beb957ea-dfbd-4184-82a3-458121f44867\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'Not emote <img src=\"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/3.0 4x\" title=\"SeemsGood\" class=\"emote\"><img src=\"https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/3.0 4x\" title=\"Kreygasm\" class=\"emote\"><img src=\"https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/3.0 4x\" title=\"ResidentSleeper\" class=\"emote\"><img src=\"https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/3.0 4x\" title=\"WutFace\" class=\"emote\"><img src=\"https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/3.0 4x\" title=\"NotLikeThis\" class=\"emote\"><img src=\"https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/3.0 4x\" title=\"<3\" class=\"emote\">',\n\t\t},\n\t},\n\tzeroWidthEmotes: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1759956619137,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/20\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\t\"client-nonce\": \"f7b17aea5c07c5c08fd920278fb52b5a\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"7TVUser\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"b44d1c53-1de9-454c-a269-bd8849cbcd2d\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1759956618295\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"7TVUser\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"7TVUser\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"7TVUser\",\n\t\t\t\ttext: \"Zero-width emotes AYAYA PETPET right there!!\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"AYAYA\",\n\t\t\t\t\t\tid: \"01GB32XE6R00018VJGJ4A9BNCV\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 18,\n\t\t\t\t\t\tend: 23,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"PETPET\",\n\t\t\t\t\t\tid: \"01FE3XY508000AA32JP519W2EW\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 24,\n\t\t\t\t\t\tend: 30,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"b44d1c53-1de9-454c-a269-bd8849cbcd2d\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'Zero-width emotes <img src=\"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/1x.webp 1x, https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/2x.webp 2x, https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/4x.webp 4x\" title=\"AYAYA\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/1x.webp 1x, https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/2x.webp 2x, https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/4x.webp 4x\" title=\"PETPET\" class=\"emote\">right there!!',\n\t\t},\n\t},\n\tsevenTv: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744413746,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\t\"client-nonce\": \"2bd56e3c058b5a4fc4e46c3e369891e6\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"4c71789c-8c02-4e25-a71f-3a7d0ef19a33\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744412641\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"tr0l1\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"tr0l1\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"tr0l1\",\n\t\t\t\ttext: \"ало ало Инса Каори Hello everyone! Hello everyone! Hello everyone!Hello everyone! Hello everyone! Hello everyone! Hello everyone! Hello everyone!\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"ало\",\n\t\t\t\t\t\tid: \"01F6PRA3N80003BH8AEY9DWKDQ\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 3,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"ало\",\n\t\t\t\t\t\tid: \"01F6PRA3N80003BH8AEY9DWKDQ\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 4,\n\t\t\t\t\t\tend: 7,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Инса\",\n\t\t\t\t\t\tid: \"01JRE4VRRXWF0922HA3F9BZG6M\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 8,\n\t\t\t\t\t\tend: 12,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Каори\",\n\t\t\t\t\t\tid: \"01GY6TCEFG000BGHWA5T6NGBRA\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 13,\n\t\t\t\t\t\tend: 18,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"4c71789c-8c02-4e25-a71f-3a7d0ef19a33\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp 1x, https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/2x.webp 2x, https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/4x.webp 4x\" title=\"ало\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp 1x, https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/2x.webp 2x, https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/4x.webp 4x\" title=\"ало\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/1x.webp 1x, https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/2x.webp 2x, https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/4x.webp 4x\" title=\"Инса\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/1x.webp 1x, https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/2x.webp 2x, https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/4x.webp 4x\" title=\"Каори\" class=\"emote\">Hello everyone!',\n\t\t},\n\t},\n\tsevenTvSolo: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1768321684253,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/23\",\n\t\t\t\t\tbadges: \"broadcaster/1,subscriber/0\",\n\t\t\t\t\t\"client-nonce\": \"51cc77206bf346eda20774b75aac675d\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"e30a02bf-a3c7-40f2-9325-cdc2690d3631\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1768321684074\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"DurkaDance ͏\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"DurkaDance\",\n\t\t\t\t\t\tid: \"01JQBC7K2FX7HE4SFZFJEN6CWY\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 10,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"e30a02bf-a3c7-40f2-9325-cdc2690d3631\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/1x.webp 1x, https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/2x.webp 2x, https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/4x.webp 4x\" title=\"DurkaDance\" class=\"emote\"> ͏',\n\t\t},\n\t},\n\treplyToEmotes: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1761442000746,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/21\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"467bc72d78248ec07dfb0602744268ca\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"9efd9377-2bd3-4c69-ace4-c21760337bab\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1761442000143\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"AREYOUAGIRL Censored Emotes there DiscoDoge Кута\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"AREYOUAGIRL\",\n\t\t\t\t\t\tid: \"01F6N58M5R0004P7N4A9PK7KD9\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/1x.webp\",\n\t\t\t\t\t\t\t2: \"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/2x.webp\",\n\t\t\t\t\t\t\t3: \"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/3x.webp\",\n\t\t\t\t\t\t\t4: \"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 11,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t2: \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t3: \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t4: \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 12,\n\t\t\t\t\t\tend: 20,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"DiscoDoge\",\n\t\t\t\t\t\tid: \"01F6REQR2R0006GRP49Q74YFVT\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/1x.webp\",\n\t\t\t\t\t\t\t2: \"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/2x.webp\",\n\t\t\t\t\t\t\t3: \"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/3x.webp\",\n\t\t\t\t\t\t\t4: \"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 34,\n\t\t\t\t\t\tend: 43,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Кута\",\n\t\t\t\t\t\tid: \"01GZRXWQMR0001GP2RPRY13KD2\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/1x.webp\",\n\t\t\t\t\t\t\t2: \"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/2x.webp\",\n\t\t\t\t\t\t\t3: \"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/3x.webp\",\n\t\t\t\t\t\t\t4: \"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 44,\n\t\t\t\t\t\tend: 48,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"9efd9377-2bd3-4c69-ace4-c21760337bab\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/1x.webp 1x, https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/2x.webp 2x, https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/4x.webp 4x\" title=\"AREYOUAGIRL\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\">Emotes there <img src=\"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/1x.webp 1x, https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/2x.webp 2x, https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/4x.webp 4x\" title=\"DiscoDoge\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/1x.webp 1x, https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/2x.webp 2x, https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/4x.webp 4x\" title=\"Кута\" class=\"emote\">',\n\t\t},\n\t},\n\treplyFromEmotes: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1761442023380,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/21\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"4052e6a7ed6bb6b8836aa625170c4f7b\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"f7bed8dd-5a48-4209-8617-e1a3c0720ee4\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"reply-parent-display-name\": \"An1by\",\n\t\t\t\t\t\"reply-parent-msg-body\":\n\t\t\t\t\t\t\"AREYOUAGIRL\\\\sCensored\\\\sThere\\\\semotes\\\\sDiscoDoge\\\\sКута\",\n\t\t\t\t\t\"reply-parent-msg-id\": \"9efd9377-2bd3-4c69-ace4-c21760337bab\",\n\t\t\t\t\t\"reply-parent-user-id\": \"958683839\",\n\t\t\t\t\t\"reply-parent-user-login\": \"an1by\",\n\t\t\t\t\t\"reply-thread-parent-display-name\": \"An1by\",\n\t\t\t\t\t\"reply-thread-parent-msg-id\": \"9efd9377-2bd3-4c69-ace4-c21760337bab\",\n\t\t\t\t\t\"reply-thread-parent-user-id\": \"958683839\",\n\t\t\t\t\t\"reply-thread-parent-user-login\": \"an1by\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1761442022738\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"@An1by I'm replying to message with emotes agarge Looks good, am I right?\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"agarge\",\n\t\t\t\t\t\tid: \"01HTDV6DE8000B1F9GAE4NZ73B\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/1x.webp\",\n\t\t\t\t\t\t\t2: \"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/2x.webp\",\n\t\t\t\t\t\t\t3: \"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/3x.webp\",\n\t\t\t\t\t\t\t4: \"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 43,\n\t\t\t\t\t\tend: 49,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"f7bed8dd-5a48-4209-8617-e1a3c0720ee4\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'@An1by I\\'m replying to message with emotes <img src=\"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/1x.webp 1x, https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/2x.webp 2x, https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/4x.webp 4x\" title=\"agarge\" class=\"emote\">Looks good, am I right?',\n\t\t},\n\t},\n\treplyTo: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1761435519083,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/21\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"da4c68fddba7eb1be7ae2b6a44c207a2\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"794c103d-a5d5-4ce1-bcd8-98ac6717c8e7\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1761435518511\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"I'll reply to that message\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"794c103d-a5d5-4ce1-bcd8-98ac6717c8e7\",\n\t\t\t},\n\t\t\trenderedText: \"I'll reply to that message\",\n\t\t},\n\t},\n\treplyFrom: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1761435541811,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/21\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"b59db94320a8a01942290c61f6a27480\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"emotesv2_f54e2bcddf4948808b845e37dd4e08de:26-36\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"bc101ec7-5663-4ee5-9580-536ed9a5804e\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"reply-parent-display-name\": \"An1by\",\n\t\t\t\t\t\"reply-parent-msg-body\": \"I'll\\\\sreply\\\\sto\\\\sthat\\\\smessage\",\n\t\t\t\t\t\"reply-parent-msg-id\": \"794c103d-a5d5-4ce1-bcd8-98ac6717c8e7\",\n\t\t\t\t\t\"reply-parent-user-id\": \"958683839\",\n\t\t\t\t\t\"reply-parent-user-login\": \"an1by\",\n\t\t\t\t\t\"reply-thread-parent-display-name\": \"An1by\",\n\t\t\t\t\t\"reply-thread-parent-msg-id\": \"794c103d-a5d5-4ce1-bcd8-98ac6717c8e7\",\n\t\t\t\t\t\"reply-thread-parent-user-id\": \"958683839\",\n\t\t\t\t\t\"reply-thread-parent-user-login\": \"an1by\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1761435541217\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"@An1by Replying right now akidaKrutoi\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"akidaKrutoi\",\n\t\t\t\t\t\tid: \"emotesv2_f54e2bcddf4948808b845e37dd4e08de\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/1.0\",\n\t\t\t\t\t\t\t2: \"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/2.0\",\n\t\t\t\t\t\t\t4: \"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 26,\n\t\t\t\t\t\tend: 36,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"bc101ec7-5663-4ee5-9580-536ed9a5804e\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'@An1by Replying right now <img src=\"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/3.0 4x\" title=\"akidaKrutoi\" class=\"emote\">',\n\t\t},\n\t},\n};\n","/**\n * Команды, вызывающие onEventReceived с тестовыми сообщением или алертом.\n * Работают только в браузере (требуется window).\n */\nimport { testAlerts, testMessages } from \"./sources\";\n\nconst EVENT_NAME = \"onEventReceived\";\n\n/**\n * Отправляет тестовое сообщение по ключу: диспатчит CustomEvent onEventReceived.\n */\nexport function testMessage(key: string): void {\n\tif (typeof window === \"undefined\") {\n\t\treturn;\n\t}\n\tconst cleanKey = key.startsWith(\"testMessage_\")\n\t\t? key.replace(\"testMessage_\", \"\")\n\t\t: key;\n\tconst msg = testMessages[cleanKey as keyof typeof testMessages];\n\tif (msg) {\n\t\twindow.dispatchEvent(new CustomEvent(EVENT_NAME, { detail: msg }));\n\t}\n}\n\n/**\n * Отправляет тестовый алерт по ключу: диспатчит CustomEvent onEventReceived.\n */\nexport function testAlert(key: string): void {\n\tif (typeof window === \"undefined\") {\n\t\treturn;\n\t}\n\tconst cleanKey = key.startsWith(\"testAlert_\")\n\t\t? key.replace(\"testAlert_\", \"\")\n\t\t: key;\n\tconst alert = testAlerts[cleanKey as keyof typeof testAlerts];\n\tif (alert) {\n\t\twindow.dispatchEvent(new CustomEvent(EVENT_NAME, { detail: alert }));\n\t}\n}\n","/**\n * Преобразование fieldId виджета в ключ тестовых данных.\n */\nexport function getTestMessageKey(fieldId: string): string | null {\n\tif (!fieldId.startsWith(\"testMessage\")) return null;\n\tconst name = fieldId.replace(\"testMessage\", \"\");\n\treturn name.charAt(0).toLowerCase() + name.slice(1);\n}\n\nexport function getTestAlertKey(fieldId: string): string | null {\n\tif (!fieldId.startsWith(\"testAlert\")) return null;\n\tconst name = fieldId.replace(\"testAlert\", \"\");\n\treturn name.charAt(0).toLowerCase() + name.slice(1);\n}\n","import type { TwitchMessage } from \"./message\";\n\nexport enum UserRole {\n\tBROADCASTER = \"broadcaster\",\n\tLEAD_MODERATOR = \"lead_moderator\",\n\tMODERATOR = \"moderator\",\n\tVIP = \"vip\",\n\tARTIST = \"artist\",\n\tFOUNDER = \"founder\",\n\tSUBSCRIBER = \"subscriber\",\n\tTURBO = \"turbo\",\n\tDEFAULT = \"default\",\n}\n\ntype UserMessageDataOptions = {\n\tbadges?: TwitchMessage.Badge[];\n\ttags?: TwitchMessage.Tags;\n};\n\nexport const TwitchUserMessageData = ({\n\tbadges = [],\n\ttags = {},\n}: UserMessageDataOptions) => {\n\tconst includesBadgeType = (type: string) => {\n\t\treturn !!badges.find((b) => b.type === type);\n\t};\n\n\tconst tagBadgesString = tags.badges ?? \"\";\n\tconst userType = tags[\"user-type\"] ?? \"\";\n\n\tconst isSubscriber =\n\t\ttagBadgesString.includes(\"subscriber/1\") ||\n\t\ttags.subscriber === \"1\" ||\n\t\tincludesBadgeType(\"subscriber\");\n\n\tconst isFounder =\n\t\ttagBadgesString.includes(\"founder/1\") || includesBadgeType(\"founder\");\n\n\tconst isBroadcaster =\n\t\ttagBadgesString.includes(\"broadcaster/1\") ||\n\t\tincludesBadgeType(\"broadcaster\");\n\n\tconst isFirstMessageChatter = tags[\"first-msg\"] === \"1\";\n\n\tconst isTurbo = tags.turbo === \"1\";\n\n\tconst isVip =\n\t\ttags.vip === \"1\" ||\n\t\ttagBadgesString.includes(\"vip/1\") ||\n\t\tincludesBadgeType(\"vip\");\n\n\tconst isLeadModerator =\n\t\ttagBadgesString.includes(\"lead_moderator/1\") ||\n\t\tincludesBadgeType(\"lead_moderator\");\n\n\tconst isModerator =\n\t\t((tags.mod === \"1\" ||\n\t\t\ttagBadgesString.includes(\"moderator/1\") ||\n\t\t\tuserType === \"mod\") &&\n\t\t\t!isLeadModerator) ||\n\t\tincludesBadgeType(\"moderator\");\n\n\tconst isAnyModerator = isModerator || isLeadModerator;\n\n\tconst isArtist =\n\t\ttagBadgesString.includes(\"artist-badge/1\") ||\n\t\tincludesBadgeType(\"artist-badge\");\n\n\tconst roles: UserRole[] = [];\n\tif (isBroadcaster) roles.push(UserRole.BROADCASTER);\n\tif (isLeadModerator) roles.push(UserRole.LEAD_MODERATOR);\n\tif (isModerator) roles.push(UserRole.MODERATOR);\n\tif (isVip) roles.push(UserRole.VIP);\n\tif (isArtist) roles.push(UserRole.ARTIST);\n\tif (isFounder) roles.push(UserRole.FOUNDER);\n\tif (isSubscriber) roles.push(UserRole.SUBSCRIBER);\n\tif (isTurbo) roles.push(UserRole.TURBO);\n\troles.push(UserRole.DEFAULT);\n\n\tconst getSubscriberMonths = (): number => {\n\t\tfor (const key of [\"badge-info\", \"badges\"]) {\n\t\t\tconst tag = tags[key] as string;\n\t\t\tif (tag) {\n\t\t\t\tconst match = tag.match(/^subscriber\\/(\\d+)$/);\n\t\t\t\tif (match) {\n\t\t\t\t\treturn parseInt(match[1], 10);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t};\n\n\tconst getBadgeUrlByType = (type: string) =>\n\t\tbadges.find((b) => b.type === type)?.url;\n\n\treturn {\n\t\tisSubscriber,\n\t\tisBroadcaster,\n\t\tisFirstMessageChatter,\n\t\tisFounder,\n\t\tisTurbo,\n\t\tisVip,\n\t\tisAnyModerator,\n\t\tisModerator,\n\t\tisLeadModerator,\n\t\tisArtist,\n\t\troles,\n\t\tincludesBadgeType,\n\t\tgetSubscriberMonths,\n\t\tgetBadgeUrlByType,\n\t};\n};\n","import type { ClassifiedEvent } from \"@/root\";\nimport type { NextAlertCallback } from \".\";\n\nexport class AlertQueue {\n\tprivate readonly queue: ClassifiedEvent[] = [];\n\tpublic isShowingAlert: boolean = false;\n\tpublic onNextAlert: NextAlertCallback;\n\n\tconstructor(onNextAlert: NextAlertCallback) {\n\t\tthis.onNextAlert = onNextAlert;\n\t}\n\n\tpublic push(event: ClassifiedEvent) {\n\t\tthis.queue.push(event);\n\t}\n\n\t// DON'T FORGET SET \"this.isShowingAlert = false\" AFTER EXECUTION\n\tpublic processNextAlert() {\n\t\tif (this.queue.length === 0 || this.isShowingAlert) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst alertData = this.queue.shift();\n\t\tif (!alertData) {\n\t\t\treturn;\n\t\t}\n\t\tthis.isShowingAlert = true;\n\n\t\tthis.onNextAlert(this, alertData);\n\t}\n}\n","import { type DependencyList, useEffect, useRef } from \"react\";\nimport type {\n\tWindowEventKey,\n\tWindowEventListener,\n} from \"../types/window-events.js\";\n\nexport function useEventListener<K extends WindowEventKey>(\n\teventName: K,\n\thandler: WindowEventListener<K>,\n\tdeps: DependencyList = [],\n): void {\n\tconst callbackRef = useRef<WindowEventListener<K>>(handler);\n\tcallbackRef.current = handler;\n\n\tuseEffect(() => {\n\t\tconst fn = (ev: WindowEventMap[K]) => callbackRef.current.call(window, ev);\n\t\twindow.addEventListener(eventName, fn);\n\t\treturn () => window.removeEventListener(eventName, fn);\n\t}, [eventName, ...deps]);\n}\n","import type {\n\tCheerDetail,\n\tCommunityGiftPurchaseDetail,\n\tDeleteMessageDetail,\n\tDeleteMessagesDetail,\n\tDonationDetail,\n\tFollowerDetail,\n\tMinimalEvent,\n\tRaidDetail,\n\tSubscriberDetail,\n\tSubscriberLatestDetail,\n\tTwitchMessageDetail,\n\tWidgetButtonDetail,\n} from \"@/root/types/on-event-received\";\n\nexport const isDetail = (d: unknown): d is MinimalEvent =>\n\ttypeof d === \"object\" && d !== null && \"listener\" in d;\n\nexport function createGuard<T extends MinimalEvent>(\n\tpredicate: (d: MinimalEvent) => boolean,\n) {\n\treturn (d: unknown): d is T => isDetail(d) && predicate(d);\n}\n\nexport const isTwitchMessageEvent = createGuard<TwitchMessageDetail>(\n\t(d) => d.listener === \"message\",\n);\nexport const isFollowerDetail = createGuard<FollowerDetail>(\n\t(d) => d.listener === \"follower-latest\",\n);\nexport const isSubscriberLatestDetail = createGuard<SubscriberLatestDetail>(\n\t(d) => d.listener === \"subscriber-latest\",\n);\nexport const isCheerDetail = createGuard<CheerDetail>(\n\t(d) => d.listener === \"cheer-latest\",\n);\nexport const isRaidDetail = createGuard<RaidDetail>(\n\t(d) => d.listener === \"raid-latest\",\n);\nexport const isDonationDetail = createGuard<DonationDetail>(\n\t(d) => d.listener === \"donation\",\n);\nexport const isDeleteMessageDetail = createGuard<DeleteMessageDetail>(\n\t(d) => d.listener === \"delete-message\",\n);\nexport const isDeleteMessagesDetail = createGuard<DeleteMessagesDetail>(\n\t(d) => d.listener === \"delete-messages\",\n);\nexport const isCommunityGiftPurchaseDetail =\n\tcreateGuard<CommunityGiftPurchaseDetail>(\n\t\t(d) => d.listener === \"event\" && d.event?.type === \"communityGiftPurchase\",\n\t);\nexport const isSubscriberDetail = createGuard<SubscriberDetail>(\n\t(d) => d.listener === \"event\" && d.event?.type === \"subscriber\",\n);\nexport const isWidgetButtonDetail = createGuard<WidgetButtonDetail>(\n\t(d) => d.listener === \"event:test\" && d.event?.listener === \"widget-button\",\n);\n","import type { DependencyList } from \"react\";\nimport {\n\tisCheerDetail,\n\tisCommunityGiftPurchaseDetail,\n\tisDeleteMessageDetail,\n\tisDeleteMessagesDetail,\n\tisDonationDetail,\n\tisFollowerDetail,\n\tisRaidDetail,\n\tisSubscriberDetail,\n\tisSubscriberLatestDetail,\n\tisTwitchMessageEvent,\n\tisWidgetButtonDetail,\n} from \"@/root/guards\";\nimport type {\n\tCheerDetail,\n\tCommunityGiftPurchaseDetail,\n\tDeleteMessageDetail,\n\tDeleteMessagesDetail,\n\tDonationDetail,\n\tFollowerDetail,\n\tMinimalEvent,\n\tRaidDetail,\n\tSubscriberDetail,\n\tSubscriberLatestDetail,\n\tTwitchMessageDetail,\n\tWidgetButtonDetail,\n} from \"@/root/types/on-event-received\";\nimport type { WindowEventListener } from \"../types/window-events\";\nimport { useEventListener } from \"./use-event-listener\";\n\nfunction useOnEvent<T extends MinimalEvent>(\n\tguard: (d: unknown) => d is T,\n\thandler: (ev: CustomEvent<T>) => void,\n\tdeps: DependencyList = [],\n) {\n\tuseEventListener(\n\t\t\"onEventReceived\",\n\t\t(ev) => {\n\t\t\tif (guard(ev.detail)) handler(ev as CustomEvent<T>);\n\t\t},\n\t\tdeps,\n\t);\n}\n\nexport function useOnEventReceived(\n\thandler: WindowEventListener<\"onEventReceived\">,\n\tdeps: DependencyList = [],\n): void {\n\tuseEventListener(\"onEventReceived\", handler, deps);\n}\n\nexport const useOnMessageReceived = (\n\thandler: (ev: CustomEvent<TwitchMessageDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isTwitchMessageEvent, handler, deps);\n\nexport const useOnWidgetButtonReceived = (\n\thandler: (ev: CustomEvent<WidgetButtonDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isWidgetButtonDetail, handler, deps);\n\nexport const useOnFollowerReceived = (\n\thandler: (ev: CustomEvent<FollowerDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isFollowerDetail, handler, deps);\n\nexport const useOnCommunityGiftPurchaseReceived = (\n\thandler: (ev: CustomEvent<CommunityGiftPurchaseDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isCommunityGiftPurchaseDetail, handler, deps);\n\nexport const useOnSubscriberLatestReceived = (\n\thandler: (ev: CustomEvent<SubscriberLatestDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isSubscriberLatestDetail, handler, deps);\n\nexport const useOnSubscriberReceived = (\n\thandler: (ev: CustomEvent<SubscriberDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isSubscriberDetail, handler, deps);\n\nexport const useOnCheerReceived = (\n\thandler: (ev: CustomEvent<CheerDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isCheerDetail, handler, deps);\n\nexport const useOnRaidReceived = (\n\thandler: (ev: CustomEvent<RaidDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isRaidDetail, handler, deps);\n\nexport const useOnDonationReceived = (\n\thandler: (ev: CustomEvent<DonationDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isDonationDetail, handler, deps);\n\nexport const useOnDeleteMessage = (\n\thandler: (ev: CustomEvent<DeleteMessageDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isDeleteMessageDetail, handler, deps);\n\nexport const useOnDeleteMessages = (\n\thandler: (ev: CustomEvent<DeleteMessagesDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isDeleteMessagesDetail, handler, deps);\n","import type { DependencyList } from \"react\";\nimport type { WindowEventListener } from \"@/react/types/window-events.js\";\nimport type { OnWidgetLoadEventDetails } from \"@/root/types/on-widget-load\";\nimport { useEventListener } from \"./use-event-listener.js\";\n\nexport function useOnWidgetLoad<FieldData = unknown>(\n\thandler: (ev: CustomEvent<OnWidgetLoadEventDetails<FieldData>>) => void,\n\tdeps: DependencyList = [],\n): void {\n\tuseEventListener(\n\t\t\"onWidgetLoad\",\n\t\thandler as WindowEventListener<\"onWidgetLoad\">,\n\t\tdeps,\n\t);\n}\n"],"names":["parseTier","raw","tierText","num","getCacheKey","detail","listener","event","ag","aid","classifyEvent","data","tierInfo","isAnon","gifted","sender","amount","username","activityGroup","firstGift","bulkGifted","name","isCommunityGift","d","_a","AGGREGATE_TIMEOUT_MS","bufferByGroup","bufferTimers","getCacheForType","cacheSubs","type","c","emitAggregated","groupKey","merged","onNormalized","cache","flushBuffer","broadcaster","buf","purchase","subscribers","tier","totalAmount","recipients","s","firstSub","senderFromSub","normalizeIncomingEvent","options","classified","cacheKey","recipient","cg","onWidgetLoadDetail","testAlerts","testMessages","EVENT_NAME","testMessage","key","cleanKey","msg","testAlert","alert","getTestMessageKey","fieldId","getTestAlertKey","UserRole","TwitchUserMessageData","badges","tags","includesBadgeType","b","tagBadgesString","userType","isSubscriber","isFounder","isBroadcaster","isFirstMessageChatter","isTurbo","isVip","isLeadModerator","isModerator","isAnyModerator","isArtist","roles","tag","match","AlertQueue","onNextAlert","__publicField","alertData","useEventListener","eventName","handler","deps","callbackRef","useRef","useEffect","fn","ev","isDetail","createGuard","predicate","isTwitchMessageEvent","isFollowerDetail","isSubscriberLatestDetail","isCheerDetail","isRaidDetail","isDonationDetail","isDeleteMessageDetail","isDeleteMessagesDetail","isCommunityGiftPurchaseDetail","isSubscriberDetail","isWidgetButtonDetail","useOnEvent","guard","useOnEventReceived","useOnMessageReceived","useOnWidgetButtonReceived","useOnFollowerReceived","useOnCommunityGiftPurchaseReceived","useOnSubscriberLatestReceived","useOnSubscriberReceived","useOnCheerReceived","useOnRaidReceived","useOnDonationReceived","useOnDeleteMessage","useOnDeleteMessages","useOnWidgetLoad"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.iife.js","sources":["../../src/root/classifier.ts","../../src/root/aggregate.ts","../../src/root/sources/on-widget-load-detail.ts","../../src/root/sources/alerts.ts","../../src/root/sources/messages.ts","../../src/root/commands.ts","../../src/root/keys.ts","../../src/root/message/twitch/user-message-data.ts","../../src/root/queue/alert-queue.ts","../../src/react/hooks/use-event-listener.ts","../../src/root/guards/on-event-received.ts","../../src/react/hooks/use-on-event-received.ts","../../src/react/hooks/use-on-widget-load.ts"],"sourcesContent":["/**\n * Shared classification and tier parsing for Twitch/StreamElements subscription events.\n * Used by aggregate normalizer.\n */\n\nimport type { ClassifiedEvent, IncomingDetail, TierInfo } from \"./types\";\n\nexport function parseTier(raw: string | number | null | undefined): TierInfo {\n\tif (raw == null) return { tier: 0, tierText: \"\" };\n\tconst tierText = typeof raw === \"string\" ? raw : String(raw);\n\tconst num = parseInt(tierText, 10);\n\tif (Number.isNaN(num)) return { tier: 0, tierText };\n\tconst tier = num >= 3000 ? 3 : num >= 2000 ? 2 : num >= 1000 ? 1 : 0;\n\treturn { tier, tierText };\n}\n\nexport function getCacheKey(detail: IncomingDetail): string {\n\tconst listener = detail.listener;\n\tconst event = detail.event ?? {};\n\tconst ag = event.activityGroup;\n\tconst aid = event.activityId ?? event._id;\n\tif (ag) return String(ag);\n\tif (aid) return String(aid);\n\tif (listener === \"subscriber-latest\" && event.bulkGifted) {\n\t\treturn (\n\t\t\t\"sl-bulk-\" +\n\t\t\t(event.sender ?? \"\") +\n\t\t\t\"-\" +\n\t\t\t(event.amount ?? \"\") +\n\t\t\t\"-\" +\n\t\t\t(event.tier ?? \"\") +\n\t\t\t\"-\" +\n\t\t\t(event._id ?? \"\")\n\t\t);\n\t}\n\treturn `sl-${event._id ?? event.activityId ?? \"\"}`;\n}\n\nexport function classifyEvent(detail: IncomingDetail): ClassifiedEvent | null {\n\tconst listener = detail.listener;\n\tconst event = detail.event ?? {};\n\tconst data = (event.data ?? event) as Record<string, unknown>;\n\tconst tierInfo = parseTier(\n\t\t(data.tier ?? event.tier) as string | number | undefined,\n\t);\n\n\tif (listener === \"event\") {\n\t\tif (event.type === \"communityGiftPurchase\") {\n\t\t\tconst isAnon =\n\t\t\t\t(data.username &&\n\t\t\t\t\tString(data.username).toLowerCase() === \"anonymous\") ||\n\t\t\t\tdata.sender === \"Anonymous\";\n\t\t\treturn {\n\t\t\t\ttype: isAnon ? \"community-gift-anonymous\" : \"community-gift\",\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\ttotalAmount: parseInt(String(data.amount), 10) || 1,\n\t\t\t\trecipients: [],\n\t\t\t\tsender: isAnon\n\t\t\t\t\t? undefined\n\t\t\t\t\t: ((data.sender ?? data.displayName ?? data.username) as string),\n\t\t\t\tanonymousDisplayName: isAnon\n\t\t\t\t\t? ((data.displayName as string) ?? \"Anonymous\")\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}\n\t\tif (event.type === \"subscriber\") {\n\t\t\tconst gifted = data.gifted === true;\n\t\t\tconst sender = data.sender as string | undefined;\n\t\t\tconst amount = parseInt(String(data.amount), 10) || 1;\n\t\t\tconst username = (data.username ?? data.displayName) as\n\t\t\t\t| string\n\t\t\t\t| undefined;\n\t\t\tconst activityGroup = event.activityGroup as string | undefined;\n\n\t\t\tif (sender === \"Anonymous\" && activityGroup) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"community-gift-anonymous\",\n\t\t\t\t\t_role: \"recipient\",\n\t\t\t\t\tactivityGroup,\n\t\t\t\t\trecipient: (username ?? data.displayName) as string,\n\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (gifted && sender && sender !== \"Anonymous\") {\n\t\t\t\tconst isCommunity =\n\t\t\t\t\tdata.communityGifted === true ||\n\t\t\t\t\t(activityGroup != null && activityGroup !== \"\");\n\t\t\t\tif (!isCommunity) {\n\t\t\t\t\tconst firstGift =\n\t\t\t\t\t\tString(data.message ?? \"\").indexOf(\"first Gift Sub\") !== -1;\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: \"solo-sub-to-someone\",\n\t\t\t\t\t\tsender,\n\t\t\t\t\t\trecipient: (username ?? data.displayName) as string,\n\t\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t\t\tfirstGiftInChannel: firstGift,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"community-gift\",\n\t\t\t\t\t_role: \"recipient\",\n\t\t\t\t\tactivityGroup: activityGroup ?? \"\",\n\t\t\t\t\trecipient: (username ?? data.displayName) as string,\n\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (!gifted && amount > 1) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"sub-renewal\",\n\t\t\t\t\tname: (username ?? data.displayName) as string,\n\t\t\t\t\tmonths: amount,\n\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (!gifted && amount === 1) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"self-sub\",\n\t\t\t\t\tname: (username ?? data.displayName) as string,\n\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (activityGroup) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"community-gift\",\n\t\t\t\t\t_role: \"recipient\",\n\t\t\t\t\tactivityGroup,\n\t\t\t\t\trecipient: (username ?? data.displayName) as string,\n\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ttype: \"unknown\",\n\t\t\t\tdetail,\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\ttype: \"unknown\",\n\t\t\tdetail,\n\t\t};\n\t}\n\n\tif (listener === \"subscriber-latest\") {\n\t\tconst bulkGifted = event.bulkGifted === true;\n\t\tconst sender = event.sender as string | undefined;\n\t\tconst name = event.name as string | undefined;\n\t\tconst amount = parseInt(String(event.amount), 10) || 1;\n\t\tconst gifted = event.gifted === true;\n\t\tconst isCommunityGift =\n\t\t\tevent.isCommunityGift === true || event.communityGifted === true;\n\n\t\tif (bulkGifted && sender === \"Anonymous\") {\n\t\t\treturn {\n\t\t\t\ttype: \"community-gift-anonymous\",\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\ttotalAmount: amount,\n\t\t\t\trecipients: [],\n\t\t\t};\n\t\t}\n\t\tif (bulkGifted && sender) {\n\t\t\treturn {\n\t\t\t\ttype: \"community-gift\",\n\t\t\t\tsender,\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\ttotalAmount: amount,\n\t\t\t\trecipients: [],\n\t\t\t};\n\t\t}\n\t\tif (gifted && !isCommunityGift && sender) {\n\t\t\tconst firstGift =\n\t\t\t\tString(event.message ?? \"\").indexOf(\"first Gift Sub\") !== -1;\n\t\t\treturn {\n\t\t\t\ttype: \"solo-sub-to-someone\",\n\t\t\t\tsender,\n\t\t\t\trecipient: name ?? \"\",\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\tfirstGiftInChannel: firstGift,\n\t\t\t};\n\t\t}\n\t\tif (!gifted && amount > 1) {\n\t\t\treturn {\n\t\t\t\ttype: \"sub-renewal\",\n\t\t\t\tname: name ?? \"\",\n\t\t\t\tmonths: amount,\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t};\n\t\t}\n\t\tif (!gifted && amount === 1 && (sender == null || name === sender)) {\n\t\t\treturn {\n\t\t\t\ttype: \"self-sub\",\n\t\t\t\tname: name ?? \"\",\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\ttype: \"unknown\",\n\t\t\tdetail,\n\t\t};\n\t}\n\n\tif (listener === \"follower-latest\") {\n\t\treturn {\n\t\t\ttype: \"follow\",\n\t\t\tname: (event.name as string) ?? \"\",\n\t\t};\n\t}\n\n\tif (listener === \"cheer-latest\") {\n\t\tconst amount = parseInt(String(event.amount), 10) || 0;\n\t\treturn {\n\t\t\ttype: \"cheer\",\n\t\t\tname: (event.name as string) ?? \"\",\n\t\t\tamount,\n\t\t};\n\t}\n\n\tif (listener === \"raid-latest\") {\n\t\tconst amount = parseInt(String(event.amount), 10) || 0;\n\t\treturn {\n\t\t\ttype: \"raid\",\n\t\t\tname: (event.name as string) ?? \"\",\n\t\t\tviewers: amount,\n\t\t};\n\t}\n\n\tif (listener === \"donation\") {\n\t\tconst d = detail.event?.data as\n\t\t\t| {\n\t\t\t\t\talert_type?: string;\n\t\t\t\t\tcurrency?: string;\n\t\t\t\t\tbilling_system?: string;\n\t\t\t\t\tid?: number;\n\t\t\t\t\tamount_main?: number;\n\t\t\t\t\tamount?: number;\n\t\t\t\t\tusername?: string;\n\t\t\t\t\tmessage?: string;\n\t\t\t }\n\t\t\t| undefined;\n\n\t\tconst donationAmount =\n\t\t\t(d?.amount_main as number | undefined) ??\n\t\t\t(d?.amount as number | undefined) ??\n\t\t\t0;\n\n\t\treturn {\n\t\t\ttype: \"donation\",\n\t\t\tamount: donationAmount,\n\t\t\tcurrency: d?.currency,\n\t\t\tusername: d?.username,\n\t\t\tmessage: d?.message,\n\t\t\tbillingSystem: d?.billing_system,\n\t\t\tid: d?.id,\n\t\t};\n\t}\n\n\treturn {\n\t\ttype: \"unknown\",\n\t\tdetail,\n\t};\n}\n","/**\n * Event normalizer — aggregate mode: buffer events by activityGroup,\n * merge into one normalized event per action (timeout 2.5s).\n */\n\nimport { classifyEvent, getCacheKey } from \"./classifier.js\";\nimport type {\n\tCacheSubsByType,\n\tClassifiedCommunityGiftPurchase,\n\tClassifiedEvent,\n\tClassifiedRecipient,\n\tIncomingDetail,\n\tNormalizerOptions,\n} from \"./types\";\n\nconst AGGREGATE_TIMEOUT_MS = 2500;\n\ninterface BufferEntry {\n\ttype: string;\n\tsubscribers: Array<{\n\t\trecipient?: string;\n\t\tusername?: string;\n\t\tname?: string;\n\t\tsender?: string;\n\t}>;\n\ttier: number;\n\ttierText: string;\n\ttotalAmount: number;\n\tpurchase?: ClassifiedCommunityGiftPurchase;\n\tsender?: string;\n}\n\nconst bufferByGroup: Record<string, BufferEntry> = {};\nconst bufferTimers: Record<string, ReturnType<typeof setTimeout>> = {};\n\nfunction getCacheForType(\n\tcacheSubs: CacheSubsByType | undefined,\n\ttype: string,\n): {\n\t_has: (k: string) => boolean;\n\t_set: (k: string, v: boolean) => void;\n} | null {\n\tif (!cacheSubs) return null;\n\tif (\n\t\ttypeof cacheSubs._has === \"function\" &&\n\t\ttypeof cacheSubs._set === \"function\"\n\t) {\n\t\treturn cacheSubs as unknown as {\n\t\t\t_has: (k: string) => boolean;\n\t\t\t_set: (k: string, v: boolean) => void;\n\t\t};\n\t}\n\tconst c = cacheSubs[type];\n\treturn c && typeof (c as { _has?: unknown })._has === \"function\"\n\t\t? (c as {\n\t\t\t\t_has: (k: string) => boolean;\n\t\t\t\t_set: (k: string, v: boolean) => void;\n\t\t\t})\n\t\t: null;\n}\n\nfunction emitAggregated(\n\tgroupKey: string,\n\tmerged: ClassifiedCommunityGiftPurchase,\n\tcacheSubs: CacheSubsByType | undefined,\n\tonNormalized: (event: ClassifiedEvent | null) => void,\n): void {\n\tconst cache = getCacheForType(cacheSubs, merged.type as string);\n\tif (cache?._has(groupKey)) return;\n\tif (cache) cache._set(groupKey, true);\n\tonNormalized(merged);\n}\n\nfunction flushBuffer(\n\tgroupKey: string,\n\tcacheSubs: CacheSubsByType | undefined,\n\tonNormalized: (event: ClassifiedEvent | null) => void,\n\tbroadcaster: string,\n): void {\n\tconst buf = bufferByGroup[groupKey];\n\tif (!buf) return;\n\tdelete bufferByGroup[groupKey];\n\tif (bufferTimers[groupKey]) {\n\t\tclearTimeout(bufferTimers[groupKey]);\n\t\tdelete bufferTimers[groupKey];\n\t}\n\tconst purchase = buf.purchase;\n\tconst subscribers = buf.subscribers ?? [];\n\tconst type = buf.type;\n\tconst tier = buf.tier;\n\tconst tierText = buf.tierText;\n\tconst totalAmount = buf.totalAmount ?? subscribers.length;\n\tconst recipients = subscribers\n\t\t.map((s) => s.recipient ?? s.username ?? s.name)\n\t\t.filter(Boolean) as string[];\n\tconst firstSub = subscribers[0];\n\tconst senderFromSub = firstSub?.sender;\n\tconst sender = purchase?.sender ?? buf.sender ?? senderFromSub;\n\tif (type === \"community-gift\" && broadcaster && sender === broadcaster) {\n\t\treturn;\n\t}\n\tif (type === \"community-gift-anonymous\") {\n\t\temitAggregated(\n\t\t\tgroupKey,\n\t\t\t{\n\t\t\t\ttype: \"community-gift-anonymous\",\n\t\t\t\ttier,\n\t\t\t\ttierText,\n\t\t\t\ttotalAmount,\n\t\t\t\trecipients,\n\t\t\t\tanonymousDisplayName: purchase?.anonymousDisplayName,\n\t\t\t},\n\t\t\tcacheSubs,\n\t\t\tonNormalized,\n\t\t);\n\t} else {\n\t\temitAggregated(\n\t\t\tgroupKey,\n\t\t\t{\n\t\t\t\ttype: \"community-gift\",\n\t\t\t\tsender,\n\t\t\t\ttier,\n\t\t\t\ttierText,\n\t\t\t\ttotalAmount,\n\t\t\t\trecipients,\n\t\t\t},\n\t\t\tcacheSubs,\n\t\t\tonNormalized,\n\t\t);\n\t}\n}\n\n/**\n * Normalizes an incoming subscription event (StreamElements/Twitch).\n * Buffers community-gift recipients by activityGroup, then emits one normalized event per group.\n * For self-sub, solo-sub, sub-renewal emits immediately (with optional cache dedup).\n */\nexport function normalizeIncomingEvent(\n\tdetail: IncomingDetail,\n\toptions: NormalizerOptions | undefined,\n\tonNormalized: (event: ClassifiedEvent | null) => void,\n): void {\n\tconst cacheSubs = options?.cacheSubs;\n\tconst broadcaster = options?.broadcasterLogin ?? \"\";\n\n\tconst classified = classifyEvent(detail);\n\tif (!classified) {\n\t\tonNormalized(null);\n\t\treturn;\n\t}\n\n\tconst cache = getCacheForType(cacheSubs, classified.type);\n\tconst cacheKey = getCacheKey(detail);\n\tconst event = detail.event ?? {};\n\tconst data = (event.data ?? event) as Record<string, unknown>;\n\n\tif ((classified as ClassifiedRecipient)._role === \"recipient\") {\n\t\tconst recipient = classified as ClassifiedRecipient;\n\t\tconst ag = recipient.activityGroup ?? cacheKey;\n\t\tif (!bufferByGroup[ag]) {\n\t\t\tbufferByGroup[ag] = {\n\t\t\t\ttype: recipient.type,\n\t\t\t\tsubscribers: [],\n\t\t\t\ttier: recipient.tier,\n\t\t\t\ttierText: recipient.tierText,\n\t\t\t\ttotalAmount: 0,\n\t\t\t};\n\t\t}\n\t\tif (bufferTimers[ag]) clearTimeout(bufferTimers[ag]);\n\t\tbufferTimers[ag] = setTimeout(() => {\n\t\t\tflushBuffer(ag, cacheSubs, onNormalized, broadcaster);\n\t\t}, AGGREGATE_TIMEOUT_MS);\n\t\tbufferByGroup[ag].subscribers.push({\n\t\t\trecipient: recipient.recipient,\n\t\t\tusername: data.username as string,\n\t\t\tname: data.displayName as string,\n\t\t\tsender: data.sender as string,\n\t\t});\n\t\tif (bufferByGroup[ag].totalAmount === 0) bufferByGroup[ag].totalAmount = 1;\n\t\treturn;\n\t}\n\n\tif (\n\t\tclassified.type === \"community-gift-anonymous\" ||\n\t\tclassified.type === \"community-gift\"\n\t) {\n\t\tconst isPurchase =\n\t\t\tdetail.listener === \"event\" && event.type === \"communityGiftPurchase\";\n\t\tif (isPurchase) {\n\t\t\tconst ag = (event.activityGroup ??\n\t\t\t\tdata?.activityGroup ??\n\t\t\t\tcacheKey) as string;\n\t\t\tconst cg = classified as ClassifiedCommunityGiftPurchase;\n\t\t\tif (!bufferByGroup[ag]) {\n\t\t\t\tbufferByGroup[ag] = {\n\t\t\t\t\ttype: cg.type,\n\t\t\t\t\tpurchase: cg,\n\t\t\t\t\tsubscribers: [],\n\t\t\t\t\ttier: cg.tier,\n\t\t\t\t\ttierText: cg.tierText,\n\t\t\t\t\ttotalAmount: Number(cg.totalAmount) || 0,\n\t\t\t\t\tsender: cg.sender,\n\t\t\t\t};\n\t\t\t\tbufferTimers[ag] = setTimeout(() => {\n\t\t\t\t\tflushBuffer(ag, cacheSubs, onNormalized, broadcaster);\n\t\t\t\t}, AGGREGATE_TIMEOUT_MS);\n\t\t\t} else {\n\t\t\t\tbufferByGroup[ag].purchase = cg;\n\t\t\t\tbufferByGroup[ag].tier = cg.tier;\n\t\t\t\tbufferByGroup[ag].tierText = cg.tierText;\n\t\t\t\tbufferByGroup[ag].totalAmount =\n\t\t\t\t\t(cg.totalAmount as number) ?? bufferByGroup[ag].totalAmount;\n\t\t\t\tbufferByGroup[ag].sender = cg.sender as string;\n\t\t\t\tif (bufferTimers[ag]) clearTimeout(bufferTimers[ag]);\n\t\t\t\tbufferTimers[ag] = setTimeout(() => {\n\t\t\t\t\tflushBuffer(ag, cacheSubs, onNormalized, broadcaster);\n\t\t\t\t}, AGGREGATE_TIMEOUT_MS);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (detail.listener === \"subscriber-latest\") {\n\t\t\tconst c = classified as ClassifiedCommunityGiftPurchase;\n\t\t\tif (\n\t\t\t\tclassified.type === \"community-gift\" &&\n\t\t\t\tbroadcaster &&\n\t\t\t\tc.sender === broadcaster\n\t\t\t) {\n\t\t\t\tonNormalized(null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\treturn;\n\t}\n\n\tif (\n\t\tclassified.type === \"self-sub\" ||\n\t\tclassified.type === \"solo-sub-to-someone\" ||\n\t\tclassified.type === \"sub-renewal\"\n\t) {\n\t\tif (cache?._has(cacheKey)) {\n\t\t\tonNormalized(null);\n\t\t\treturn;\n\t\t}\n\t\tif (cache) cache._set(cacheKey, true);\n\t\tconst c = classified as unknown as Record<string, unknown>;\n\t\tif (\n\t\t\tclassified.type === \"solo-sub-to-someone\" &&\n\t\t\tbroadcaster &&\n\t\t\tc.sender === broadcaster\n\t\t) {\n\t\t\tonNormalized(null);\n\t\t\treturn;\n\t\t}\n\t\tonNormalized(classified);\n\t}\n}\n","export default {\n\tsession: {\n\t\tdata: {\n\t\t\t\"follower-latest\": {\n\t\t\t\tname: \"imacanadiannn\",\n\t\t\t},\n\t\t\t\"follower-session\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"follower-week\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"follower-month\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"follower-goal\": {\n\t\t\t\tamount: 137,\n\t\t\t},\n\t\t\t\"follower-total\": {\n\t\t\t\tcount: 118,\n\t\t\t\tactivityId: \"\",\n\t\t\t\tsessionTop: false,\n\t\t\t},\n\t\t\t\"subscriber-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\ttier: \"\",\n\t\t\t\tmessage: \"\",\n\t\t\t},\n\t\t\t\"subscriber-new-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\tmessage: \"\",\n\t\t\t},\n\t\t\t\"subscriber-resub-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\tmessage: \"\",\n\t\t\t},\n\t\t\t\"subscriber-gifted-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\tmessage: \"\",\n\t\t\t\ttier: \"\",\n\t\t\t\tsender: \"\",\n\t\t\t},\n\t\t\t\"subscriber-session\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-new-session\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-resub-session\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-gifted-session\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-week\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-month\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-goal\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"subscriber-total\": {\n\t\t\t\tcount: 0,\n\t\t\t\tactivityId: \"\",\n\t\t\t\tsessionTop: false,\n\t\t\t},\n\t\t\t\"subscriber-points\": {\n\t\t\t\tamount: 0,\n\t\t\t\tactivityId: \"\",\n\t\t\t\tsessionTop: false,\n\t\t\t},\n\t\t\t\"subscriber-alltime-gifter\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"host-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"raid-latest\": {\n\t\t\t\tname: \"agnascor2\",\n\t\t\t\tamount: 6,\n\t\t\t},\n\t\t\t\"cheer-session\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-week\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-month\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-total\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-count\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"cheer-goal\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-session-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-weekly-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-monthly-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-alltime-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-session-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-weekly-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-monthly-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-alltime-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"tip-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-session-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"tip-weekly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-monthly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-alltime-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-session-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"tip-weekly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-monthly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-alltime-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-session\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-week\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-month\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-total\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-count\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"tip-goal\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"merch-goal-orders\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"merch-goal-items\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"merch-goal-total\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"merch-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\titems: [],\n\t\t\t},\n\t\t\t\"charityCampaignDonation-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-weekly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-monthly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-alltime-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-weekly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-monthly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-alltime-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-weekly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-monthly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-alltime-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-weekly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-monthly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-alltime-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-weekly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-monthly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-alltime-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-weekly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-monthly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-alltime-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-session\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-week\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-month\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-total\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-count\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"superchat-goal\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"purchase-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\tavatar: \"\",\n\t\t\t\tmessage: \"\",\n\t\t\t\titems: [],\n\t\t\t},\n\t\t\t\"follower-recent\": [\n\t\t\t\t{\n\t\t\t\t\tname: \"imacanadiannn\",\n\t\t\t\t\tcreatedAt: \"2026-01-13T01:53:50.296Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"piwo143\",\n\t\t\t\t\tcreatedAt: \"2026-01-13T01:51:39.472Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"latvan_\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T23:54:29.235Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"wheinwait\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T23:11:28.946Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"agnascor2\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T23:11:14.880Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"sunlitetuts\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T21:03:59.207Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"ayanamya\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T20:00:55.509Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"hopeless28\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T18:35:21.731Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"kakoytoclown\",\n\t\t\t\t\tcreatedAt: \"2026-01-11T18:39:36.843Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"dababe__jq1\",\n\t\t\t\t\tcreatedAt: \"2024-10-10T23:27:49.699Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"jjjllkmf\",\n\t\t\t\t\tcreatedAt: \"2024-05-05T09:44:16.287Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"d4c_valintine\",\n\t\t\t\t\tcreatedAt: \"2024-05-03T15:13:28.365Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"angelbliss_\",\n\t\t\t\t\tcreatedAt: \"2024-04-30T20:07:23.132Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"o1zich\",\n\t\t\t\t\tcreatedAt: \"2024-04-22T16:23:26.139Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"nearbuziky\",\n\t\t\t\t\tcreatedAt: \"2024-04-19T19:21:27.569Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"samirkasamsa\",\n\t\t\t\t\tcreatedAt: \"2024-04-19T17:06:38.963Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"flip1mip\",\n\t\t\t\t\tcreatedAt: \"2024-04-19T17:06:18.276Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"valerie_solo\",\n\t\t\t\t\tcreatedAt: \"2024-04-19T17:06:07.473Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"sxaelence\",\n\t\t\t\t\tcreatedAt: \"2024-04-19T07:06:46.330Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"avokadik99\",\n\t\t\t\t\tcreatedAt: \"2024-04-17T16:11:29.604Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"blackvoronstream\",\n\t\t\t\t\tcreatedAt: \"2024-04-16T21:29:33.306Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"baldejniyy\",\n\t\t\t\t\tcreatedAt: \"2024-04-16T21:29:09.647Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"p3ch4n_ka\",\n\t\t\t\t\tcreatedAt: \"2024-04-16T16:37:31.841Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"kakosik_bee\",\n\t\t\t\t\tcreatedAt: \"2024-04-16T15:56:27.435Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"hikotoru\",\n\t\t\t\t\tcreatedAt: \"2024-04-16T15:13:25.226Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t],\n\t\t\t\"subscriber-recent\": [],\n\t\t\t\"host-recent\": [],\n\t\t\t\"raid-recent\": [\n\t\t\t\t{\n\t\t\t\t\tname: \"agnascor2\",\n\t\t\t\t\tamount: 6,\n\t\t\t\t\tcreatedAt: \"2026-01-12T23:08:21.815Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"justduckomgg\",\n\t\t\t\t\tamount: 7,\n\t\t\t\t\tcreatedAt: \"2024-04-19T17:05:53.185Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"veessmk\",\n\t\t\t\t\tamount: 6,\n\t\t\t\t\tcreatedAt: \"2024-04-17T15:40:43.945Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"night_sculptor\",\n\t\t\t\t\tamount: 12,\n\t\t\t\t\tcreatedAt: \"2024-04-16T18:07:40.040Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"pixiemays\",\n\t\t\t\t\tamount: 6,\n\t\t\t\t\tcreatedAt: \"2024-04-16T16:37:24.433Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"night_sculptor\",\n\t\t\t\t\tamount: 8,\n\t\t\t\t\tcreatedAt: \"2024-04-14T18:31:20.049Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"pixiemays\",\n\t\t\t\t\tamount: 19,\n\t\t\t\t\tcreatedAt: \"2024-04-14T13:22:05.794Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"pixiemays\",\n\t\t\t\t\tamount: 15,\n\t\t\t\t\tcreatedAt: \"2024-04-12T17:03:36.115Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"alechkavt\",\n\t\t\t\t\tamount: 9,\n\t\t\t\t\tcreatedAt: \"2024-04-11T17:54:47.691Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"pixiemays\",\n\t\t\t\t\tamount: 8,\n\t\t\t\t\tcreatedAt: \"2024-04-11T14:10:49.548Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"night_sculptor\",\n\t\t\t\t\tamount: 22,\n\t\t\t\t\tcreatedAt: \"2024-04-09T16:13:41.195Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"pixiemays\",\n\t\t\t\t\tamount: 5,\n\t\t\t\t\tcreatedAt: \"2024-04-08T09:54:01.603Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"aki_neki\",\n\t\t\t\t\tamount: 5,\n\t\t\t\t\tcreatedAt: \"2024-04-07T21:52:45.919Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"alechkavt\",\n\t\t\t\t\tamount: 11,\n\t\t\t\t\tcreatedAt: \"2024-04-07T18:59:39.286Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"veessmk\",\n\t\t\t\t\tamount: 15,\n\t\t\t\t\tcreatedAt: \"2024-04-07T16:13:25.172Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"veessmk\",\n\t\t\t\t\tamount: 10,\n\t\t\t\t\tcreatedAt: \"2024-03-17T16:11:38.631Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t],\n\t\t\t\"charityCampaignDonation-recent\": [],\n\t\t\t\"cheer-recent\": [],\n\t\t\t\"cheerPurchase-recent\": [],\n\t\t\t\"superchat-recent\": [],\n\t\t\t\"tip-recent\": [],\n\t\t\t\"merch-recent\": [],\n\t\t\t\"channel-points-latest\": {\n\t\t\t\tamount: 0,\n\t\t\t\tmessage: \"\",\n\t\t\t\tname: \"\",\n\t\t\t\tredemption: \"\",\n\t\t\t},\n\t\t\t\"community-gift-latest\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t\ttier: \"\",\n\t\t\t},\n\t\t\t\"charityCampaignDonation-session-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"charityCampaignDonation-session-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheerPurchase-session-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheerPurchase-session-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"hypetrain-latest\": {\n\t\t\t\tactive: 0,\n\t\t\t\tamount: 0,\n\t\t\t\tlevel: 0,\n\t\t\t\tlevelChanged: 0,\n\t\t\t\tname: \"\",\n\t\t\t\ttype: \"\",\n\t\t\t},\n\t\t\t\"hypetrain-latest-top-contributors\": [],\n\t\t\t\"hypetrain-level-goal\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"hypetrain-level-progress\": {\n\t\t\t\tamount: 0,\n\t\t\t\tpercent: 0,\n\t\t\t},\n\t\t\t\"hypetrain-total\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-session-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"superchat-session-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t},\n\t\tsettings: {\n\t\t\tautoReset: true,\n\t\t\tcalendar: false,\n\t\t\tresetOnStart: false,\n\t\t},\n\t},\n\trecents: [\n\t\t{\n\t\t\tname: \"imacanadiannn\",\n\t\t\tcreatedAt: \"2026-01-13T01:53:50.296Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"piwo143\",\n\t\t\tcreatedAt: \"2026-01-13T01:51:39.472Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"latvan_\",\n\t\t\tcreatedAt: \"2026-01-12T23:54:29.235Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"wheinwait\",\n\t\t\tcreatedAt: \"2026-01-12T23:11:28.946Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"agnascor2\",\n\t\t\tcreatedAt: \"2026-01-12T23:11:14.880Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"sunlitetuts\",\n\t\t\tcreatedAt: \"2026-01-12T21:03:59.207Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"ayanamya\",\n\t\t\tcreatedAt: \"2026-01-12T20:00:55.509Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"hopeless28\",\n\t\t\tcreatedAt: \"2026-01-12T18:35:21.731Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"kakoytoclown\",\n\t\t\tcreatedAt: \"2026-01-11T18:39:36.843Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"dababe__jq1\",\n\t\t\tcreatedAt: \"2024-10-10T23:27:49.699Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"jjjllkmf\",\n\t\t\tcreatedAt: \"2024-05-05T09:44:16.287Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"d4c_valintine\",\n\t\t\tcreatedAt: \"2024-05-03T15:13:28.365Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"angelbliss_\",\n\t\t\tcreatedAt: \"2024-04-30T20:07:23.132Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"o1zich\",\n\t\t\tcreatedAt: \"2024-04-22T16:23:26.139Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"nearbuziky\",\n\t\t\tcreatedAt: \"2024-04-19T19:21:27.569Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"samirkasamsa\",\n\t\t\tcreatedAt: \"2024-04-19T17:06:38.963Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"flip1mip\",\n\t\t\tcreatedAt: \"2024-04-19T17:06:18.276Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"valerie_solo\",\n\t\t\tcreatedAt: \"2024-04-19T17:06:07.473Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"sxaelence\",\n\t\t\tcreatedAt: \"2024-04-19T07:06:46.330Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"avokadik99\",\n\t\t\tcreatedAt: \"2024-04-17T16:11:29.604Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"blackvoronstream\",\n\t\t\tcreatedAt: \"2024-04-16T21:29:33.306Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"baldejniyy\",\n\t\t\tcreatedAt: \"2024-04-16T21:29:09.647Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"p3ch4n_ka\",\n\t\t\tcreatedAt: \"2024-04-16T16:37:31.841Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"kakosik_bee\",\n\t\t\tcreatedAt: \"2024-04-16T15:56:27.435Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"hikotoru\",\n\t\t\tcreatedAt: \"2024-04-16T15:13:25.226Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"agnascor2\",\n\t\t\tamount: 6,\n\t\t\tcreatedAt: \"2026-01-12T23:08:21.815Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"justduckomgg\",\n\t\t\tamount: 7,\n\t\t\tcreatedAt: \"2024-04-19T17:05:53.185Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"veessmk\",\n\t\t\tamount: 6,\n\t\t\tcreatedAt: \"2024-04-17T15:40:43.945Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"night_sculptor\",\n\t\t\tamount: 12,\n\t\t\tcreatedAt: \"2024-04-16T18:07:40.040Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"pixiemays\",\n\t\t\tamount: 6,\n\t\t\tcreatedAt: \"2024-04-16T16:37:24.433Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"night_sculptor\",\n\t\t\tamount: 8,\n\t\t\tcreatedAt: \"2024-04-14T18:31:20.049Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"pixiemays\",\n\t\t\tamount: 19,\n\t\t\tcreatedAt: \"2024-04-14T13:22:05.794Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"pixiemays\",\n\t\t\tamount: 15,\n\t\t\tcreatedAt: \"2024-04-12T17:03:36.115Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"alechkavt\",\n\t\t\tamount: 9,\n\t\t\tcreatedAt: \"2024-04-11T17:54:47.691Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"pixiemays\",\n\t\t\tamount: 8,\n\t\t\tcreatedAt: \"2024-04-11T14:10:49.548Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"night_sculptor\",\n\t\t\tamount: 22,\n\t\t\tcreatedAt: \"2024-04-09T16:13:41.195Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"pixiemays\",\n\t\t\tamount: 5,\n\t\t\tcreatedAt: \"2024-04-08T09:54:01.603Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"aki_neki\",\n\t\t\tamount: 5,\n\t\t\tcreatedAt: \"2024-04-07T21:52:45.919Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"alechkavt\",\n\t\t\tamount: 11,\n\t\t\tcreatedAt: \"2024-04-07T18:59:39.286Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"veessmk\",\n\t\t\tamount: 15,\n\t\t\tcreatedAt: \"2024-04-07T16:13:25.172Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"veessmk\",\n\t\t\tamount: 10,\n\t\t\tcreatedAt: \"2024-03-17T16:11:38.631Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t],\n\tcurrency: {\n\t\tcode: \"USD\",\n\t\tname: \"U.S. Dollar\",\n\t\tsymbol: \"$\",\n\t},\n\tchannel: {\n\t\tusername: \"encry_s\",\n\t\tapiToken: \"HAHANOTNOW\",\n\t\tid: \"65ba7503dc0415cb368947b1\",\n\t\tproviderId: \"485678132\",\n\t\tavatar:\n\t\t\t\"https://static-cdn.jtvnw.net/jtv_user_pictures/6fe93724-803a-4e5a-b58a-1d42fbc84661-profile_image-300x300.jpeg\",\n\t},\n\tfieldData: {\n\t\ttestMessageButton: \"zaytri_dynamicchatbubbles\",\n\t\tpreviewMode: false,\n\t\tpreviewType: \"random\",\n\t\tpreviewMessage: \"\",\n\t\ttheme: \"animal-crossing\",\n\t\tcorner: \"round\",\n\t\tdarkMode: false,\n\t\thighlightStyle: \"normal\",\n\t\tactionStyle: \"italics\",\n\t\tmaxWidth: 400,\n\t\tmaxHeight: 300,\n\t\tfixedWidth: false,\n\t\tpositionMode: \"list\",\n\t\tlistDirection: \"bottom\",\n\t\tlistAlignment: \"center\",\n\t\ttopEdge: true,\n\t\tbottomEdge: true,\n\t\tleftEdge: true,\n\t\trightEdge: true,\n\t\tedgeDeviation: 0,\n\t\tpadding: 30,\n\t\tanimation: \"dynamic\",\n\t\tdynamicModifier: 1.75,\n\t\tmaxMessages: 25,\n\t\thideOutOfBounds: true,\n\t\tlifetime: 0,\n\t\tdelay: 1,\n\t\tgoogleFont: \"Nunito\",\n\t\tcustomFont: \"\",\n\t\tfontSize: 18,\n\t\tfontWeight: \"bold\",\n\t\ttextDirection: \"ltr\",\n\t\tuseCustomBorderColors: true,\n\t\tborderColor: \"#fed400\",\n\t\tnameColor: \"#000000\",\n\t\tuseCustomMessageColors: true,\n\t\tbackgroundColor: \"#fff3c0\",\n\t\ttextColor: \"#000000\",\n\t\tpronounsMode: \"suffix\",\n\t\tpronounsLowercase: true,\n\t\tpronounsBadgeCustomColors: false,\n\t\tpronounsBadgeBackgroundColor: \"#000000\",\n\t\tpronounsBadgeBorderColor: \"#FFFFFF\",\n\t\tpronounsBadgeTextColor: \"#FFFFFF\",\n\t\tshowBadges: true,\n\t\tlargeEmotes: true,\n\t\tffzGlobal: false,\n\t\tbttvGlobal: false,\n\t\temoteOnly: false,\n\t\thighlightOnly: false,\n\t\tallowedStrings: [],\n\t\tminMessages: 0,\n\t\tmessageCooldown: 0,\n\t\traidCooldown: 0,\n\t\traidMin: 0,\n\t\tincludeEveryone: true,\n\t\tincludeFollowers: \"true\",\n\t\tminFollowTime: 1,\n\t\tincludeSubs: true,\n\t\tincludeVIPs: true,\n\t\tincludeMods: true,\n\t\tallowUserList: [],\n\t\tignoreUserList: [\"StreamElements\", \"Streamlabs\", \"Nightbot\", \"Sery_Bot\"],\n\t\tignorePrefixList: [\"!\"],\n\t\tvolume: 50,\n\t\tsoundGroup1: [],\n\t\tuserLevelSoundGroup1: \"everyone\",\n\t\tspecificUsersSoundGroup1: [],\n\t\tmessageTypeSoundGroup1: \"all\",\n\t\tsoundGroup2: [],\n\t\tuserLevelSoundGroup2: \"everyone\",\n\t\tspecificUsersSoundGroup2: [],\n\t\tmessageTypeSoundGroup2: \"all\",\n\t\tsoundGroup3: [],\n\t\tuserLevelSoundGroup3: \"everyone\",\n\t\tspecificUsersSoundGroup3: [],\n\t\tmessageTypeSoundGroup3: \"all\",\n\t\tsoundGroup4: [],\n\t\tuserLevelSoundGroup4: \"everyone\",\n\t\tspecificUsersSoundGroup4: [],\n\t\tmessageTypeSoundGroup4: \"all\",\n\t\tsoundGroup5: [],\n\t\tuserLevelSoundGroup5: \"everyone\",\n\t\tspecificUsersSoundGroup5: [],\n\t\tmessageTypeSoundGroup5: \"all\",\n\t\tsoundGroup6: [],\n\t\tuserLevelSoundGroup6: \"everyone\",\n\t\tspecificUsersSoundGroup6: [],\n\t\tmessageTypeSoundGroup6: \"all\",\n\t\tsoundGroup7: [],\n\t\tuserLevelSoundGroup7: \"everyone\",\n\t\tspecificUsersSoundGroup7: [],\n\t\tmessageTypeSoundGroup7: \"all\",\n\t\tsoundGroup8: [],\n\t\tuserLevelSoundGroup8: \"everyone\",\n\t\tspecificUsersSoundGroup8: [],\n\t\tmessageTypeSoundGroup8: \"all\",\n\t\tsoundGroup9: [],\n\t\tuserLevelSoundGroup9: \"everyone\",\n\t\tspecificUsersSoundGroup9: [],\n\t\tmessageTypeSoundGroup9: \"all\",\n\t\tsoundGroup10: [],\n\t\tuserLevelSoundGroup10: \"everyone\",\n\t\tspecificUsersSoundGroup10: [],\n\t\tmessageTypeSoundGroup10: \"all\",\n\t\twidgetName: \"Chat Bubbles\",\n\t\twidgetAuthor: \"Zaytri\",\n\t\twidgetVersion: \"2.12.0\",\n\t\twidgetUpdateUrl:\n\t\t\t\"https://github.com/zaytri/stream-elements-widgets/blob/main/DynamicChatBubbles\",\n\t\tignoreFirst: true,\n\t},\n\toverlay: {\n\t\tisEditorMode: true,\n\t\tmuted: false,\n\t},\n};\n","export const testAlerts = {\n\tfollower: {\n\t\tlistener: \"follower-latest\",\n\t\tevent: {\n\t\t\tname: \"An1by\",\n\t\t},\n\t},\n\tcommunityGiftAnonymous: {\n\t\tlistener: \"event\",\n\t\tevent: {\n\t\t\ttype: \"communityGiftPurchase\",\n\t\t\tprovider: \"twitch\",\n\t\t\tchannel: \"663b10ba6cd449c4162a2230\",\n\t\t\tactivityGroup: \"41a50a915794e4ae7cf5e600fd3445d4\",\n\t\t\tdata: {\n\t\t\t\tamount: 2,\n\t\t\t\tusername: \"anonymous\",\n\t\t\t\tdisplayName: \"AnAnonymousGifter\",\n\t\t\t\ttier: \"2000\",\n\t\t\t\tsender: \"Anonymous\",\n\t\t\t},\n\t\t\t_id: \"699868d7df734989ec85d393\",\n\t\t\tactivityId: \"699868d7df734989ec85d393\",\n\t\t},\n\t},\n\tcommunityGift: {\n\t\tlistener: \"event\",\n\t\tevent: {\n\t\t\ttype: \"communityGiftPurchase\",\n\t\t\tprovider: \"twitch\",\n\t\t\tchannel: \"663b10ba6cd449c4162a2230\",\n\t\t\tactivityGroup: \"841592c0bccbf3e1e7de71e1c8f4d9f0\",\n\t\t\tdata: {\n\t\t\t\tamount: 1,\n\t\t\t\tusername: \"rishamon\",\n\t\t\t\tdisplayName: \"rishamon\",\n\t\t\t\ttier: \"1000\",\n\t\t\t\tsender: \"rishamon\",\n\t\t\t},\n\t\t\t_id: \"699867c7fef23197a6a089f5\",\n\t\t\tactivityId: \"699867c7fef23197a6a089f5\",\n\t\t},\n\t},\n\tsub: {\n\t\tlistener: \"subscriber-latest\",\n\t\tevent: {\n\t\t\tname: \"An1by\",\n\t\t\tamount: 1,\n\t\t},\n\t},\n\tselfSub: {\n\t\tlistener: \"event\",\n\t\tevent: {\n\t\t\ttype: \"subscriber\",\n\t\t\tprovider: \"twitch\",\n\t\t\tchannel: \"663b10ba6cd449c4162a2230\",\n\t\t\tdata: {\n\t\t\t\tamount: 1,\n\t\t\t\tusername: \"rishamon\",\n\t\t\t\tdisplayName: \"rishamon\",\n\t\t\t\ttier: \"1000\",\n\t\t\t},\n\t\t\t_id: \"6998676317aed69e62b8f283\",\n\t\t\tactivityId: \"6998676317aed69e62b8f283\",\n\t\t},\n\t},\n\tsoloSubToSomeone: {\n\t\tlistener: \"event\",\n\t\tevent: {\n\t\t\ttype: \"subscriber\",\n\t\t\tprovider: \"twitch\",\n\t\t\tchannel: \"663b10ba6cd449c4162a2230\",\n\t\t\tdata: {\n\t\t\t\tamount: 1,\n\t\t\t\tusername: \"encry_s\",\n\t\t\t\tdisplayName: \"encry_s\",\n\t\t\t\tmessage:\n\t\t\t\t\t\"rishamon gifted a Tier 1 sub to encry_s! This is their first Gift Sub in the channel!\",\n\t\t\t\ttier: \"1000\",\n\t\t\t\tsender: \"rishamon\",\n\t\t\t\tgifted: true,\n\t\t\t},\n\t\t\t_id: \"699866e82d9cd9a70854baf2\",\n\t\t\tactivityId: \"699866e82d9cd9a70854baf2\",\n\t\t},\n\t},\n\tsubRenewal: {\n\t\tlistener: \"event\",\n\t\tevent: {\n\t\t\ttype: \"subscriber\",\n\t\t\tprovider: \"twitch\",\n\t\t\tchannel: \"663b10ba6cd449c4162a2230\",\n\t\t\tdata: {\n\t\t\t\tamount: 8,\n\t\t\t\tusername: \"silgestian\",\n\t\t\t\tdisplayName: \"SilgeStian\",\n\t\t\t\ttier: \"1000\",\n\t\t\t},\n\t\t\t_id: \"69986dfaf25724ff4162bd1a\",\n\t\t\tactivityId: \"69986dfaf25724ff4162bd1a\",\n\t\t},\n\t},\n\tbits: {\n\t\tlistener: \"cheer-latest\",\n\t\tevent: {\n\t\t\tname: \"An1by\",\n\t\t\tamount: 30,\n\t\t},\n\t},\n\traid: {\n\t\tlistener: \"raid-latest\",\n\t\tevent: {\n\t\t\tname: \"An1by\",\n\t\t\tamount: 50,\n\t\t},\n\t},\n\tdonationShortText: {\n\t\tlistener: \"donation\",\n\t\tevent: {\n\t\t\tdata: {\n\t\t\t\talert_type: \"1\",\n\t\t\t\tcurrency: \"RUB\",\n\t\t\t\tbilling_system: \"CARD\",\n\t\t\t\tid: 5,\n\t\t\t\tamount_main: 500,\n\t\t\t\tamount: 500,\n\t\t\t\tusername: \"An1by\",\n\t\t\t\tmessage: \"Simple message text\",\n\t\t\t},\n\t\t},\n\t},\n\tdonationLongText: {\n\t\tlistener: \"donation\",\n\t\tevent: {\n\t\t\tdata: {\n\t\t\t\talert_type: \"1\",\n\t\t\t\tcurrency: \"RUB\",\n\t\t\t\tbilling_system: \"CARD\",\n\t\t\t\tid: 5,\n\t\t\t\tamount_main: 500,\n\t\t\t\tamount: 500,\n\t\t\t\tusername: \"An1by\",\n\t\t\t\tmessage:\n\t\t\t\t\t\"A plain gray stone lay on the shore, basking in the sun's warmth. A shove broke its peace—a thoughtless toss sent it flying. The stone splashed into water. Ripples spread, yet none noticed. It sank to the bottom, heavy with loneliness. \\\"Didn't I deserve to stay where I was happy still?\\\" it wondered.\",\n\t\t\t},\n\t\t},\n\t},\n\tdonation: {\n\t\tlistener: \"donation\",\n\t\tevent: {\n\t\t\tdata: {\n\t\t\t\talert_type: \"1\",\n\t\t\t\tcurrency: \"RUB\",\n\t\t\t\tbilling_system: \"CARD\",\n\t\t\t\tid: 5,\n\t\t\t\tamount_main: 500,\n\t\t\t\tamount: 500,\n\t\t\t\tusername: \"An1by\",\n\t\t\t\tmessage: \"\",\n\t\t\t},\n\t\t},\n\t},\n};\n","export const testMessages = {\n\tzeroWidthEmotesInRow: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1768317417111,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/23\",\n\t\t\t\t\tbadges: \"broadcaster/1,subscriber/0\",\n\t\t\t\t\t\"client-nonce\": \"f70c4cd8b6034d1f805298246ee1bc35\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"5f752ae3-4be9-4f93-82d1-d78575ba07fd\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1768317416862\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"Censored Censored Censored emotes in row\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 8,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 9,\n\t\t\t\t\t\tend: 17,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 18,\n\t\t\t\t\t\tend: 26,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"5f752ae3-4be9-4f93-82d1-d78575ba07fd\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\">emotes in row',\n\t\t},\n\t},\n\tzeroWidthEmoteInMiddle: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1768317383248,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/23\",\n\t\t\t\t\tbadges: \"broadcaster/1,subscriber/0\",\n\t\t\t\t\t\"client-nonce\": \"847f9c27722340d090eddcb0d0662b5b\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3dea1e1e-89f7-4a5f-b743-13ba0386492f\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1768317382987\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"text and Censored emote\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 9,\n\t\t\t\t\t\tend: 17,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"3dea1e1e-89f7-4a5f-b743-13ba0386492f\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'text and <img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\">emote',\n\t\t},\n\t},\n\tzeroWidthEmoteFirst: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1768317236883,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/23\",\n\t\t\t\t\tbadges: \"broadcaster/1,subscriber/0\",\n\t\t\t\t\t\"client-nonce\": \"e9d0621827184c1b940fd700ae599d60\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"6f347337-354a-42e5-bab0-935e19d74152\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1768317236625\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"Censored <- zeroWidth emote on the first place\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 8,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"6f347337-354a-42e5-bab0-935e19d74152\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\"><- zeroWidth emote on the first place',\n\t\t},\n\t},\n\tveryShort: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743750546,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\t\"client-nonce\": \"a3fe71a5771d0c31466dd333c963231e\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743749437\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"IHaveVeryBigNickname\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"IHaveVeryBigNickname\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"IHaveVeryBigNickname\",\n\t\t\t\ttext: \"A!\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t},\n\t\t\trenderedText: \"A!\",\n\t\t},\n\t},\n\tviewer: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743750546,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\t\"client-nonce\": \"a3fe71a5771d0c31466dd333c963231e\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743749437\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"SimpleViewer\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"SimpleViewer\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"SimpleViewer\",\n\t\t\t\ttext: \"I finally finished it...\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t},\n\t\t\trenderedText: \"I finally finished it...\",\n\t\t},\n\t},\n\tvip: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743844261,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"vip/1\",\n\t\t\t\t\t\"client-nonce\": \"fd72ba163a9cc1a6486b2eddb0f5d893\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"51cac44b-9908-49d2-b424-489276e1e521\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743843170\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t\tvip: \"1\",\n\t\t\t\t},\n\t\t\t\tnick: \"VipPersona\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"VipPersona\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"vip\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/b817aba4-fad8-49e2-b88a-7cc744dfa6ec/3\",\n\t\t\t\t\t\tdescription: \"VIP\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"VipPersona\",\n\t\t\t\ttext: \"I am a VIP persona!\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"51cac44b-9908-49d2-b424-489276e1e521\",\n\t\t\t},\n\t\t\trenderedText: \"I am a VIP persona!\",\n\t\t},\n\t},\n\tvipLong: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743844261,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"vip/1\",\n\t\t\t\t\t\"client-nonce\": \"fd72ba163a9cc1a6486b2eddb0f5d893\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"51cac44b-9908-49d2-b424-489276e1e521\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743843170\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t\tvip: \"1\",\n\t\t\t\t},\n\t\t\t\tnick: \"VipPersona\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"VipPersona\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"vip\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/b817aba4-fad8-49e2-b88a-7cc744dfa6ec/3\",\n\t\t\t\t\t\tdescription: \"VIP\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"VipPersona\",\n\t\t\t\ttext: \"I am a VIP persona! Are you see this?\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"51cac44b-9908-49d2-b424-489276e1e521\",\n\t\t\t},\n\t\t\trenderedText: \"I am a VIP persona! Are you see this?\",\n\t\t},\n\t},\n\tartist: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743916482,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"artist-badge/1\",\n\t\t\t\t\t\"client-nonce\": \"54128d734d44e28ffc32e1ce236993f5\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"8ee7e71a-3608-486a-bd82-a82b65982ca7\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743915371\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"StarArtist\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"StarArtist\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"artist-badge\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/4300a897-03dc-4e83-8c0e-c332fee7057f/3\",\n\t\t\t\t\t\tdescription: \"Artist\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"StarArtist\",\n\t\t\t\ttext: \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"8ee7e71a-3608-486a-bd82-a82b65982ca7\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",\n\t\t},\n\t},\n\tsubscriber: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tdata: {\n\t\t\t\ttags: {\n\t\t\t\t\tbadges: \"subscriber/1\",\n\t\t\t\t\tcolor: \"#ff69b4\",\n\t\t\t\t\tvip: \"0\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"user-id\": \"100135110\",\n\t\t\t\t\t\"user-type\": \"subscriber\",\n\t\t\t\t},\n\t\t\t\tnick: \"YourSub\",\n\t\t\t\tuserId: \"100135110\",\n\t\t\t\tdisplayName: \"YourSub\",\n\t\t\t\tdisplayColor: \"#ff69b4\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"partner\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/d12a2e27-16f6-41d0-ab77-b780518f00a3/3\",\n\t\t\t\t\t\tdescription: \"Verified\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\ttext: \"This is a subscriber's test message. I'm just a subscriber, srsly.\",\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"43285909-412c-4eee-b80d-89f1482ba53142\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t\"This is a subscriber's test message. I'm just a subscriber, srsly.\",\n\t\t},\n\t},\n\tfounder: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743750546,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"founder/1,subscriber/1\",\n\t\t\t\t\t\"client-nonce\": \"a3fe71a5771d0c31466dd333c963231e\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"sub__founder\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743749437\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"sub__founder\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"sub__founder\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"founder\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"I finally finished it...\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t},\n\t\t\trenderedText: \"I finally finished it...\",\n\t\t},\n\t},\n\tmoderator: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743997223,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"moderator/1\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3e7ba532-f181-4bcc-90f1-a3c48ca3c820\",\n\t\t\t\t\tmod: \"1\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743996136\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"mod\",\n\t\t\t\t},\n\t\t\t\tnick: \"mediator\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"mediator\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"moderator\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/3267646d-33f0-4b17-b3df-f923a41db1d0/3\",\n\t\t\t\t\t\tdescription: \"Moderator\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"mediator\",\n\t\t\t\ttext: \"Did someone say... MODERATOR!?\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"3e7ba532-f181-4bcc-90f1-a3c48ca3c820\",\n\t\t\t},\n\t\t\trenderedText: \"Did someone say... MODERATOR!?\",\n\t\t},\n\t},\n\tmoderatorLong: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743997223,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"moderator/1\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3e7ba532-f181-4bcc-90f1-a3c48ca3c820\",\n\t\t\t\t\tmod: \"1\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743996136\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"mod\",\n\t\t\t\t},\n\t\t\t\tnick: \"mediator\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"mediator\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"moderator\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/3267646d-33f0-4b17-b3df-f923a41db1d0/3\",\n\t\t\t\t\t\tdescription: \"Moderator\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"mediator\",\n\t\t\t\ttext: \"Did someone say... MODERATOR!? Yes, I am moderator!\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"3e7ba532-f181-4bcc-90f1-a3c48ca3c820\",\n\t\t\t},\n\t\t\trenderedText: \"Did someone say... MODERATOR!? Yes, I am moderator!\",\n\t\t},\n\t},\n\tbroadcaster: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744800809,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/16\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"6989104421ee14c0a8c216ef1c6bb5ed\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"35a9bea7-076e-4d17-8cb7-7e65c8111b3d\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744799706\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"I made this chat Besplatno\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Besplatno\",\n\t\t\t\t\t\tid: \"01FE70VRT00009TR6M9N941A28\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 17,\n\t\t\t\t\t\tend: 26,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"35a9bea7-076e-4d17-8cb7-7e65c8111b3d\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'I made this chat <img src=\"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/1x.webp 1x, https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/2x.webp 2x, https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/4x.webp 4x\" title=\"Besplatno\" class=\"emote\">',\n\t\t},\n\t},\n\tbroadcasterShort: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744800809,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/16\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"6989104421ee14c0a8c216ef1c6bb5ed\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"35a9bea7-076e-4d17-8cb7-7e65c8111b3d\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744799706\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"okak\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"35a9bea7-076e-4d17-8cb7-7e65c8111b3d\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'I made this chat <img src=\"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/1x.webp 1x, https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/2x.webp 2x, https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/4x.webp 4x\" title=\"Besplatno\" class=\"emote\">',\n\t\t},\n\t},\n\temoteSolo: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744097330,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"9ab645b9-7c27-4c6f-99fd-f63727ca3700\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744096217\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"tr0l1\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"tr0l1\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"tr0l1\",\n\t\t\t\ttext: \"🤤😮💀👈👉\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"emoji\",\n\t\t\t\t\t\tname: \"1f62e\",\n\t\t\t\t\t\tid: \"1f62e\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://twemoji.maxcdn.com/36x36/1f62e.png\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"emoji\",\n\t\t\t\t\t\tname: \"1f480\",\n\t\t\t\t\t\tid: \"1f480\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://twemoji.maxcdn.com/36x36/1f480.png\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"emoji\",\n\t\t\t\t\t\tname: \"1f448\",\n\t\t\t\t\t\tid: \"1f448\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://twemoji.maxcdn.com/36x36/1f448.png\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"emoji\",\n\t\t\t\t\t\tname: \"1f449\",\n\t\t\t\t\t\tid: \"1f449\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://twemoji.maxcdn.com/36x36/1f449.png\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"9ab645b9-7c27-4c6f-99fd-f63727ca3700\",\n\t\t\t},\n\t\t\trenderedText: \"🤤😮💀👈👉\",\n\t\t},\n\t},\n\temoteOne: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744131183,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes:\n\t\t\t\t\t\t\"41:20-27/245:29-43/28087:45-51/58765:53-63/555555584:65-66/64138:10-18\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"beb957ea-dfbd-4184-82a3-458121f44867\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744130018\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"tr0l1\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"tr0l1\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"tr0l1\",\n\t\t\t\ttext: \"SeemsGood\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"SeemsGood\",\n\t\t\t\t\t\tid: \"64138\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 9,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"beb957ea-dfbd-4184-82a3-458121f44867\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/3.0 4x\" title=\"SeemsGood\" class=\"emote\">',\n\t\t},\n\t},\n\temoteText: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744131183,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"7TVUser\",\n\t\t\t\t\temotes:\n\t\t\t\t\t\t\"41:20-27/245:29-43/28087:45-51/58765:53-63/555555584:65-66/64138:10-18\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"beb957ea-dfbd-4184-82a3-458121f44867\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744130018\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"7TVUser\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"7TVUser\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"7TVUser\",\n\t\t\t\ttext: \"Not emote SeemsGood Kreygasm ResidentSleeper WutFace NotLikeThis <3\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"SeemsGood\",\n\t\t\t\t\t\tid: \"64138\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 10,\n\t\t\t\t\t\tend: 19,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"Kreygasm\",\n\t\t\t\t\t\tid: \"41\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 20,\n\t\t\t\t\t\tend: 28,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"ResidentSleeper\",\n\t\t\t\t\t\tid: \"245\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 29,\n\t\t\t\t\t\tend: 44,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"WutFace\",\n\t\t\t\t\t\tid: \"28087\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 45,\n\t\t\t\t\t\tend: 52,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"NotLikeThis\",\n\t\t\t\t\t\tid: \"58765\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 53,\n\t\t\t\t\t\tend: 64,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"<3\",\n\t\t\t\t\t\tid: \"9\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 65,\n\t\t\t\t\t\tend: 67,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"beb957ea-dfbd-4184-82a3-458121f44867\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'Not emote <img src=\"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/3.0 4x\" title=\"SeemsGood\" class=\"emote\"><img src=\"https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/3.0 4x\" title=\"Kreygasm\" class=\"emote\"><img src=\"https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/3.0 4x\" title=\"ResidentSleeper\" class=\"emote\"><img src=\"https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/3.0 4x\" title=\"WutFace\" class=\"emote\"><img src=\"https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/3.0 4x\" title=\"NotLikeThis\" class=\"emote\"><img src=\"https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/3.0 4x\" title=\"<3\" class=\"emote\">',\n\t\t},\n\t},\n\tzeroWidthEmotes: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1759956619137,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/20\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\t\"client-nonce\": \"f7b17aea5c07c5c08fd920278fb52b5a\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"7TVUser\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"b44d1c53-1de9-454c-a269-bd8849cbcd2d\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1759956618295\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"7TVUser\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"7TVUser\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"7TVUser\",\n\t\t\t\ttext: \"Zero-width emotes AYAYA PETPET right there!!\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"AYAYA\",\n\t\t\t\t\t\tid: \"01GB32XE6R00018VJGJ4A9BNCV\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 18,\n\t\t\t\t\t\tend: 23,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"PETPET\",\n\t\t\t\t\t\tid: \"01FE3XY508000AA32JP519W2EW\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 24,\n\t\t\t\t\t\tend: 30,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"b44d1c53-1de9-454c-a269-bd8849cbcd2d\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'Zero-width emotes <img src=\"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/1x.webp 1x, https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/2x.webp 2x, https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/4x.webp 4x\" title=\"AYAYA\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/1x.webp 1x, https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/2x.webp 2x, https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/4x.webp 4x\" title=\"PETPET\" class=\"emote\">right there!!',\n\t\t},\n\t},\n\tsevenTv: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744413746,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\t\"client-nonce\": \"2bd56e3c058b5a4fc4e46c3e369891e6\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"4c71789c-8c02-4e25-a71f-3a7d0ef19a33\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744412641\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"tr0l1\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"tr0l1\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"tr0l1\",\n\t\t\t\ttext: \"ало ало Инса Каори Hello everyone! Hello everyone! Hello everyone!Hello everyone! Hello everyone! Hello everyone! Hello everyone! Hello everyone!\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"ало\",\n\t\t\t\t\t\tid: \"01F6PRA3N80003BH8AEY9DWKDQ\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 3,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"ало\",\n\t\t\t\t\t\tid: \"01F6PRA3N80003BH8AEY9DWKDQ\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 4,\n\t\t\t\t\t\tend: 7,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Инса\",\n\t\t\t\t\t\tid: \"01JRE4VRRXWF0922HA3F9BZG6M\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 8,\n\t\t\t\t\t\tend: 12,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Каори\",\n\t\t\t\t\t\tid: \"01GY6TCEFG000BGHWA5T6NGBRA\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 13,\n\t\t\t\t\t\tend: 18,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"4c71789c-8c02-4e25-a71f-3a7d0ef19a33\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp 1x, https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/2x.webp 2x, https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/4x.webp 4x\" title=\"ало\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp 1x, https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/2x.webp 2x, https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/4x.webp 4x\" title=\"ало\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/1x.webp 1x, https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/2x.webp 2x, https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/4x.webp 4x\" title=\"Инса\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/1x.webp 1x, https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/2x.webp 2x, https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/4x.webp 4x\" title=\"Каори\" class=\"emote\">Hello everyone!',\n\t\t},\n\t},\n\tsevenTvSolo: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1768321684253,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/23\",\n\t\t\t\t\tbadges: \"broadcaster/1,subscriber/0\",\n\t\t\t\t\t\"client-nonce\": \"51cc77206bf346eda20774b75aac675d\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"e30a02bf-a3c7-40f2-9325-cdc2690d3631\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1768321684074\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"DurkaDance ͏\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"DurkaDance\",\n\t\t\t\t\t\tid: \"01JQBC7K2FX7HE4SFZFJEN6CWY\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 10,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"e30a02bf-a3c7-40f2-9325-cdc2690d3631\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/1x.webp 1x, https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/2x.webp 2x, https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/4x.webp 4x\" title=\"DurkaDance\" class=\"emote\"> ͏',\n\t\t},\n\t},\n\treplyToEmotes: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1761442000746,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/21\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"467bc72d78248ec07dfb0602744268ca\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"9efd9377-2bd3-4c69-ace4-c21760337bab\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1761442000143\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"AREYOUAGIRL Censored Emotes there DiscoDoge Кута\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"AREYOUAGIRL\",\n\t\t\t\t\t\tid: \"01F6N58M5R0004P7N4A9PK7KD9\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/1x.webp\",\n\t\t\t\t\t\t\t2: \"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/2x.webp\",\n\t\t\t\t\t\t\t3: \"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/3x.webp\",\n\t\t\t\t\t\t\t4: \"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 11,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t2: \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t3: \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t4: \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 12,\n\t\t\t\t\t\tend: 20,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"DiscoDoge\",\n\t\t\t\t\t\tid: \"01F6REQR2R0006GRP49Q74YFVT\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/1x.webp\",\n\t\t\t\t\t\t\t2: \"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/2x.webp\",\n\t\t\t\t\t\t\t3: \"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/3x.webp\",\n\t\t\t\t\t\t\t4: \"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 34,\n\t\t\t\t\t\tend: 43,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Кута\",\n\t\t\t\t\t\tid: \"01GZRXWQMR0001GP2RPRY13KD2\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/1x.webp\",\n\t\t\t\t\t\t\t2: \"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/2x.webp\",\n\t\t\t\t\t\t\t3: \"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/3x.webp\",\n\t\t\t\t\t\t\t4: \"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 44,\n\t\t\t\t\t\tend: 48,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"9efd9377-2bd3-4c69-ace4-c21760337bab\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/1x.webp 1x, https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/2x.webp 2x, https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/4x.webp 4x\" title=\"AREYOUAGIRL\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\">Emotes there <img src=\"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/1x.webp 1x, https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/2x.webp 2x, https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/4x.webp 4x\" title=\"DiscoDoge\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/1x.webp 1x, https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/2x.webp 2x, https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/4x.webp 4x\" title=\"Кута\" class=\"emote\">',\n\t\t},\n\t},\n\treplyFromEmotes: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1761442023380,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/21\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"4052e6a7ed6bb6b8836aa625170c4f7b\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"f7bed8dd-5a48-4209-8617-e1a3c0720ee4\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"reply-parent-display-name\": \"An1by\",\n\t\t\t\t\t\"reply-parent-msg-body\":\n\t\t\t\t\t\t\"AREYOUAGIRL\\\\sCensored\\\\sThere\\\\semotes\\\\sDiscoDoge\\\\sКута\",\n\t\t\t\t\t\"reply-parent-msg-id\": \"9efd9377-2bd3-4c69-ace4-c21760337bab\",\n\t\t\t\t\t\"reply-parent-user-id\": \"958683839\",\n\t\t\t\t\t\"reply-parent-user-login\": \"an1by\",\n\t\t\t\t\t\"reply-thread-parent-display-name\": \"An1by\",\n\t\t\t\t\t\"reply-thread-parent-msg-id\": \"9efd9377-2bd3-4c69-ace4-c21760337bab\",\n\t\t\t\t\t\"reply-thread-parent-user-id\": \"958683839\",\n\t\t\t\t\t\"reply-thread-parent-user-login\": \"an1by\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1761442022738\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"@An1by I'm replying to message with emotes agarge Looks good, am I right?\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"agarge\",\n\t\t\t\t\t\tid: \"01HTDV6DE8000B1F9GAE4NZ73B\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/1x.webp\",\n\t\t\t\t\t\t\t2: \"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/2x.webp\",\n\t\t\t\t\t\t\t3: \"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/3x.webp\",\n\t\t\t\t\t\t\t4: \"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 43,\n\t\t\t\t\t\tend: 49,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"f7bed8dd-5a48-4209-8617-e1a3c0720ee4\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'@An1by I\\'m replying to message with emotes <img src=\"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/1x.webp 1x, https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/2x.webp 2x, https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/4x.webp 4x\" title=\"agarge\" class=\"emote\">Looks good, am I right?',\n\t\t},\n\t},\n\treplyTo: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1761435519083,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/21\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"da4c68fddba7eb1be7ae2b6a44c207a2\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"794c103d-a5d5-4ce1-bcd8-98ac6717c8e7\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1761435518511\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"I'll reply to that message\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"794c103d-a5d5-4ce1-bcd8-98ac6717c8e7\",\n\t\t\t},\n\t\t\trenderedText: \"I'll reply to that message\",\n\t\t},\n\t},\n\treplyFrom: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1761435541811,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/21\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"b59db94320a8a01942290c61f6a27480\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"emotesv2_f54e2bcddf4948808b845e37dd4e08de:26-36\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"bc101ec7-5663-4ee5-9580-536ed9a5804e\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"reply-parent-display-name\": \"An1by\",\n\t\t\t\t\t\"reply-parent-msg-body\": \"I'll\\\\sreply\\\\sto\\\\sthat\\\\smessage\",\n\t\t\t\t\t\"reply-parent-msg-id\": \"794c103d-a5d5-4ce1-bcd8-98ac6717c8e7\",\n\t\t\t\t\t\"reply-parent-user-id\": \"958683839\",\n\t\t\t\t\t\"reply-parent-user-login\": \"an1by\",\n\t\t\t\t\t\"reply-thread-parent-display-name\": \"An1by\",\n\t\t\t\t\t\"reply-thread-parent-msg-id\": \"794c103d-a5d5-4ce1-bcd8-98ac6717c8e7\",\n\t\t\t\t\t\"reply-thread-parent-user-id\": \"958683839\",\n\t\t\t\t\t\"reply-thread-parent-user-login\": \"an1by\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1761435541217\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"@An1by Replying right now akidaKrutoi\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"akidaKrutoi\",\n\t\t\t\t\t\tid: \"emotesv2_f54e2bcddf4948808b845e37dd4e08de\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/1.0\",\n\t\t\t\t\t\t\t2: \"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/2.0\",\n\t\t\t\t\t\t\t4: \"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 26,\n\t\t\t\t\t\tend: 36,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"bc101ec7-5663-4ee5-9580-536ed9a5804e\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'@An1by Replying right now <img src=\"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/3.0 4x\" title=\"akidaKrutoi\" class=\"emote\">',\n\t\t},\n\t},\n};\n","/**\n * Команды, вызывающие onEventReceived с тестовыми сообщением или алертом.\n * Работают только в браузере (требуется window).\n */\nimport { testAlerts, testMessages } from \"./sources\";\n\nconst EVENT_NAME = \"onEventReceived\";\n\n/**\n * Отправляет тестовое сообщение по ключу: диспатчит CustomEvent onEventReceived.\n */\nexport function testMessage(key: string): void {\n\tif (typeof window === \"undefined\") {\n\t\treturn;\n\t}\n\tconst cleanKey = key.startsWith(\"testMessage_\")\n\t\t? key.replace(\"testMessage_\", \"\")\n\t\t: key;\n\tconst msg = testMessages[cleanKey as keyof typeof testMessages];\n\tif (msg) {\n\t\twindow.dispatchEvent(new CustomEvent(EVENT_NAME, { detail: msg }));\n\t}\n}\n\n/**\n * Отправляет тестовый алерт по ключу: диспатчит CustomEvent onEventReceived.\n */\nexport function testAlert(key: string): void {\n\tif (typeof window === \"undefined\") {\n\t\treturn;\n\t}\n\tconst cleanKey = key.startsWith(\"testAlert_\")\n\t\t? key.replace(\"testAlert_\", \"\")\n\t\t: key;\n\tconst alert = testAlerts[cleanKey as keyof typeof testAlerts];\n\tif (alert) {\n\t\twindow.dispatchEvent(new CustomEvent(EVENT_NAME, { detail: alert }));\n\t}\n}\n","/**\n * Преобразование fieldId виджета в ключ тестовых данных.\n */\nexport function getTestMessageKey(fieldId: string): string | null {\n\tif (!fieldId.startsWith(\"testMessage\")) return null;\n\tconst name = fieldId.replace(\"testMessage\", \"\");\n\treturn name.charAt(0).toLowerCase() + name.slice(1);\n}\n\nexport function getTestAlertKey(fieldId: string): string | null {\n\tif (!fieldId.startsWith(\"testAlert\")) return null;\n\tconst name = fieldId.replace(\"testAlert\", \"\");\n\treturn name.charAt(0).toLowerCase() + name.slice(1);\n}\n","import type { TwitchMessage } from \"./message\";\n\nexport enum UserRole {\n\tBROADCASTER = \"broadcaster\",\n\tLEAD_MODERATOR = \"lead_moderator\",\n\tMODERATOR = \"moderator\",\n\tVIP = \"vip\",\n\tARTIST = \"artist\",\n\tFOUNDER = \"founder\",\n\tSUBSCRIBER = \"subscriber\",\n\tTURBO = \"turbo\",\n\tDEFAULT = \"default\",\n}\n\ntype UserMessageDataOptions = {\n\tbadges?: TwitchMessage.Badge[];\n\ttags?: TwitchMessage.Tags;\n};\n\nexport const TwitchUserMessageData = ({\n\tbadges = [],\n\ttags = {},\n}: UserMessageDataOptions) => {\n\tconst includesBadgeType = (type: string) => {\n\t\treturn !!badges.find((b) => b.type === type);\n\t};\n\n\tconst tagBadgesString = tags.badges ?? \"\";\n\tconst userType = tags[\"user-type\"] ?? \"\";\n\n\tconst isSubscriber =\n\t\ttagBadgesString.includes(\"subscriber/1\") ||\n\t\ttags.subscriber === \"1\" ||\n\t\tincludesBadgeType(\"subscriber\");\n\n\tconst isFounder =\n\t\ttagBadgesString.includes(\"founder/1\") || includesBadgeType(\"founder\");\n\n\tconst isBroadcaster =\n\t\ttagBadgesString.includes(\"broadcaster/1\") ||\n\t\tincludesBadgeType(\"broadcaster\");\n\n\tconst isFirstMessageChatter = tags[\"first-msg\"] === \"1\";\n\n\tconst isTurbo = tags.turbo === \"1\";\n\n\tconst isVip =\n\t\ttags.vip === \"1\" ||\n\t\ttagBadgesString.includes(\"vip/1\") ||\n\t\tincludesBadgeType(\"vip\");\n\n\tconst isLeadModerator =\n\t\ttagBadgesString.includes(\"lead_moderator/1\") ||\n\t\tincludesBadgeType(\"lead_moderator\");\n\n\tconst isModerator =\n\t\t((tags.mod === \"1\" ||\n\t\t\ttagBadgesString.includes(\"moderator/1\") ||\n\t\t\tuserType === \"mod\") &&\n\t\t\t!isLeadModerator) ||\n\t\tincludesBadgeType(\"moderator\");\n\n\tconst isAnyModerator = isModerator || isLeadModerator;\n\n\tconst isArtist =\n\t\ttagBadgesString.includes(\"artist-badge/1\") ||\n\t\tincludesBadgeType(\"artist-badge\");\n\n\tconst roles: UserRole[] = [];\n\tif (isBroadcaster) roles.push(UserRole.BROADCASTER);\n\tif (isLeadModerator) roles.push(UserRole.LEAD_MODERATOR);\n\tif (isModerator) roles.push(UserRole.MODERATOR);\n\tif (isVip) roles.push(UserRole.VIP);\n\tif (isArtist) roles.push(UserRole.ARTIST);\n\tif (isFounder) roles.push(UserRole.FOUNDER);\n\tif (isSubscriber) roles.push(UserRole.SUBSCRIBER);\n\tif (isTurbo) roles.push(UserRole.TURBO);\n\troles.push(UserRole.DEFAULT);\n\n\tconst getSubscriberMonths = (): number => {\n\t\tfor (const key of [\"badge-info\", \"badges\"]) {\n\t\t\tconst tag = tags[key] as string;\n\t\t\tif (tag) {\n\t\t\t\tconst match = tag.match(/^subscriber\\/(\\d+)$/);\n\t\t\t\tif (match) {\n\t\t\t\t\treturn parseInt(match[1], 10);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t};\n\n\tconst getBadgeUrlByType = (type: string) =>\n\t\tbadges.find((b) => b.type === type)?.url;\n\n\treturn {\n\t\tisSubscriber,\n\t\tisBroadcaster,\n\t\tisFirstMessageChatter,\n\t\tisFounder,\n\t\tisTurbo,\n\t\tisVip,\n\t\tisAnyModerator,\n\t\tisModerator,\n\t\tisLeadModerator,\n\t\tisArtist,\n\t\troles,\n\t\tincludesBadgeType,\n\t\tgetSubscriberMonths,\n\t\tgetBadgeUrlByType,\n\t};\n};\n","import type { ClassifiedEvent } from \"@/root\";\nimport type { NextAlertCallback } from \".\";\n\nexport class AlertQueue {\n\tprivate readonly queue: ClassifiedEvent[] = [];\n\tpublic isShowingAlert: boolean = false;\n\tpublic onNextAlert: NextAlertCallback;\n\n\tconstructor(onNextAlert: NextAlertCallback) {\n\t\tthis.onNextAlert = onNextAlert;\n\t}\n\n\tpublic push(event: ClassifiedEvent) {\n\t\tthis.queue.push(event);\n\t}\n\n\t// DON'T FORGET SET \"this.isShowingAlert = false\" AFTER EXECUTION\n\tpublic processNextAlert() {\n\t\tif (this.queue.length === 0 || this.isShowingAlert) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst alertData = this.queue.shift();\n\t\tif (!alertData) {\n\t\t\treturn;\n\t\t}\n\t\tthis.isShowingAlert = true;\n\n\t\tthis.onNextAlert(this, alertData);\n\t}\n}\n","import { type DependencyList, useEffect, useRef } from \"react\";\nimport type {\n\tWindowEventKey,\n\tWindowEventListener,\n} from \"../types/window-events.js\";\n\nexport function useEventListener<K extends WindowEventKey>(\n\teventName: K,\n\thandler: WindowEventListener<K>,\n\tdeps: DependencyList = [],\n): void {\n\tconst callbackRef = useRef<WindowEventListener<K>>(handler);\n\tcallbackRef.current = handler;\n\n\tuseEffect(() => {\n\t\tconst fn = (ev: WindowEventMap[K]) => callbackRef.current.call(window, ev);\n\t\twindow.addEventListener(eventName, fn);\n\t\treturn () => window.removeEventListener(eventName, fn);\n\t}, [eventName, ...deps]);\n}\n","import type {\n\tCheerDetail,\n\tCommunityGiftPurchaseDetail,\n\tDeleteMessageDetail,\n\tDeleteMessagesDetail,\n\tDonationDetail,\n\tFollowerDetail,\n\tMinimalEvent,\n\tRaidDetail,\n\tSubscriberDetail,\n\tSubscriberLatestDetail,\n\tTwitchMessageDetail,\n\tWidgetButtonDetail,\n} from \"@/root/types/on-event-received\";\n\nexport const isDetail = (d: unknown): d is MinimalEvent =>\n\ttypeof d === \"object\" && d !== null && \"listener\" in d;\n\nexport function createGuard<T extends MinimalEvent>(\n\tpredicate: (d: MinimalEvent) => boolean,\n) {\n\treturn (d: unknown): d is T => isDetail(d) && predicate(d);\n}\n\nexport const isTwitchMessageEvent = createGuard<TwitchMessageDetail>(\n\t(d) => d.listener === \"message\",\n);\nexport const isFollowerDetail = createGuard<FollowerDetail>(\n\t(d) => d.listener === \"follower-latest\",\n);\nexport const isSubscriberLatestDetail = createGuard<SubscriberLatestDetail>(\n\t(d) => d.listener === \"subscriber-latest\",\n);\nexport const isCheerDetail = createGuard<CheerDetail>(\n\t(d) => d.listener === \"cheer-latest\",\n);\nexport const isRaidDetail = createGuard<RaidDetail>(\n\t(d) => d.listener === \"raid-latest\",\n);\nexport const isDonationDetail = createGuard<DonationDetail>(\n\t(d) => d.listener === \"donation\",\n);\nexport const isDeleteMessageDetail = createGuard<DeleteMessageDetail>(\n\t(d) => d.listener === \"delete-message\",\n);\nexport const isDeleteMessagesDetail = createGuard<DeleteMessagesDetail>(\n\t(d) => d.listener === \"delete-messages\",\n);\nexport const isCommunityGiftPurchaseDetail =\n\tcreateGuard<CommunityGiftPurchaseDetail>(\n\t\t(d) => d.listener === \"event\" && d.event?.type === \"communityGiftPurchase\",\n\t);\nexport const isSubscriberDetail = createGuard<SubscriberDetail>(\n\t(d) => d.listener === \"event\" && d.event?.type === \"subscriber\",\n);\nexport const isWidgetButtonDetail = createGuard<WidgetButtonDetail>(\n\t(d) => d.listener === \"event:test\" && d.event?.listener === \"widget-button\",\n);\n","import type { DependencyList } from \"react\";\nimport {\n\tisCheerDetail,\n\tisCommunityGiftPurchaseDetail,\n\tisDeleteMessageDetail,\n\tisDeleteMessagesDetail,\n\tisDonationDetail,\n\tisFollowerDetail,\n\tisRaidDetail,\n\tisSubscriberDetail,\n\tisSubscriberLatestDetail,\n\tisTwitchMessageEvent,\n\tisWidgetButtonDetail,\n} from \"@/root/guards\";\nimport type {\n\tCheerDetail,\n\tCommunityGiftPurchaseDetail,\n\tDeleteMessageDetail,\n\tDeleteMessagesDetail,\n\tDonationDetail,\n\tFollowerDetail,\n\tMinimalEvent,\n\tRaidDetail,\n\tSubscriberDetail,\n\tSubscriberLatestDetail,\n\tTwitchMessageDetail,\n\tWidgetButtonDetail,\n} from \"@/root/types/on-event-received\";\nimport type { WindowEventListener } from \"../types/window-events\";\nimport { useEventListener } from \"./use-event-listener\";\n\nfunction useOnEvent<T extends MinimalEvent>(\n\tguard: (d: unknown) => d is T,\n\thandler: (ev: CustomEvent<T>) => void,\n\tdeps: DependencyList = [],\n) {\n\tuseEventListener(\n\t\t\"onEventReceived\",\n\t\t(ev) => {\n\t\t\tif (guard(ev.detail)) handler(ev as CustomEvent<T>);\n\t\t},\n\t\tdeps,\n\t);\n}\n\nexport function useOnEventReceived(\n\thandler: WindowEventListener<\"onEventReceived\">,\n\tdeps: DependencyList = [],\n): void {\n\tuseEventListener(\"onEventReceived\", handler, deps);\n}\n\nexport const useOnTwitchMessageReceived = (\n\thandler: (ev: CustomEvent<TwitchMessageDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isTwitchMessageEvent, handler, deps);\n\nexport const useOnMessageReceived = useOnTwitchMessageReceived;\n\nexport const useOnWidgetButtonReceived = (\n\thandler: (ev: CustomEvent<WidgetButtonDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isWidgetButtonDetail, handler, deps);\n\nexport const useOnFollowerReceived = (\n\thandler: (ev: CustomEvent<FollowerDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isFollowerDetail, handler, deps);\n\nexport const useOnCommunityGiftPurchaseReceived = (\n\thandler: (ev: CustomEvent<CommunityGiftPurchaseDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isCommunityGiftPurchaseDetail, handler, deps);\n\nexport const useOnSubscriberLatestReceived = (\n\thandler: (ev: CustomEvent<SubscriberLatestDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isSubscriberLatestDetail, handler, deps);\n\nexport const useOnSubscriberReceived = (\n\thandler: (ev: CustomEvent<SubscriberDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isSubscriberDetail, handler, deps);\n\nexport const useOnCheerReceived = (\n\thandler: (ev: CustomEvent<CheerDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isCheerDetail, handler, deps);\n\nexport const useOnRaidReceived = (\n\thandler: (ev: CustomEvent<RaidDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isRaidDetail, handler, deps);\n\nexport const useOnDonationReceived = (\n\thandler: (ev: CustomEvent<DonationDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isDonationDetail, handler, deps);\n\nexport const useOnDeleteMessage = (\n\thandler: (ev: CustomEvent<DeleteMessageDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isDeleteMessageDetail, handler, deps);\n\nexport const useOnDeleteMessages = (\n\thandler: (ev: CustomEvent<DeleteMessagesDetail>) => void,\n\tdeps?: DependencyList,\n) => useOnEvent(isDeleteMessagesDetail, handler, deps);\n","import type { DependencyList } from \"react\";\nimport type { WindowEventListener } from \"@/react/types/window-events.js\";\nimport type { OnWidgetLoadEventDetails } from \"@/root/types/on-widget-load\";\nimport { useEventListener } from \"./use-event-listener.js\";\n\nexport function useOnWidgetLoad<FieldData = unknown>(\n\thandler: (ev: CustomEvent<OnWidgetLoadEventDetails<FieldData>>) => void,\n\tdeps: DependencyList = [],\n): void {\n\tuseEventListener(\n\t\t\"onWidgetLoad\",\n\t\thandler as WindowEventListener<\"onWidgetLoad\">,\n\t\tdeps,\n\t);\n}\n"],"names":["parseTier","raw","tierText","num","getCacheKey","detail","listener","event","ag","aid","classifyEvent","data","tierInfo","isAnon","gifted","sender","amount","username","activityGroup","firstGift","bulkGifted","name","isCommunityGift","d","_a","AGGREGATE_TIMEOUT_MS","bufferByGroup","bufferTimers","getCacheForType","cacheSubs","type","c","emitAggregated","groupKey","merged","onNormalized","cache","flushBuffer","broadcaster","buf","purchase","subscribers","tier","totalAmount","recipients","s","firstSub","senderFromSub","normalizeIncomingEvent","options","classified","cacheKey","recipient","cg","onWidgetLoadDetail","testAlerts","testMessages","EVENT_NAME","testMessage","key","cleanKey","msg","testAlert","alert","getTestMessageKey","fieldId","getTestAlertKey","UserRole","TwitchUserMessageData","badges","tags","includesBadgeType","b","tagBadgesString","userType","isSubscriber","isFounder","isBroadcaster","isFirstMessageChatter","isTurbo","isVip","isLeadModerator","isModerator","isAnyModerator","isArtist","roles","tag","match","AlertQueue","onNextAlert","__publicField","alertData","useEventListener","eventName","handler","deps","callbackRef","useRef","useEffect","fn","ev","isDetail","createGuard","predicate","isTwitchMessageEvent","isFollowerDetail","isSubscriberLatestDetail","isCheerDetail","isRaidDetail","isDonationDetail","isDeleteMessageDetail","isDeleteMessagesDetail","isCommunityGiftPurchaseDetail","isSubscriberDetail","isWidgetButtonDetail","useOnEvent","guard","useOnEventReceived","useOnTwitchMessageReceived","useOnMessageReceived","useOnWidgetButtonReceived","useOnFollowerReceived","useOnCommunityGiftPurchaseReceived","useOnSubscriberLatestReceived","useOnSubscriberReceived","useOnCheerReceived","useOnRaidReceived","useOnDonationReceived","useOnDeleteMessage","useOnDeleteMessages","useOnWidgetLoad"],"mappings":"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"}
|