@anyul/koishi-plugin-rss 5.2.46 → 5.2.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -718,6 +718,25 @@ debug: "details" # 显示所有调试信息
718
718
 
719
719
  ## 📜 更新日志
720
720
 
721
+ ### 5.2.48 (2026-06-20)
722
+
723
+ #### 修复多视频 album 重复发送
724
+
725
+ - 🐛 **多视频只下载第一个** - tdl 调用恒加 `--group`,自动检测相册/分组消息下载全部视频(单视频无副作用)
726
+ - 🐛 **同一视频发 N 次** - `restoreTelegramVideos` 改为按位置配对:第 i 个 "Video is too big" blockquote ← 第 i 个下载视频,各自保留独立 poster
727
+ - 🔄 **数量不匹配容错** - blockquote 多于视频:多出保留占位图;视频多于 blockquote:多出追加到文末
728
+ - 🧩 `pickLargestVideo` → `pickVideoFiles`:收集全部视频按文件名排序(msgID 递增 = 专辑顺序);新增 `extractTooBigPosters` 取所有 poster
729
+
730
+ ### 5.2.47 (2026-06-18)
731
+
732
+ #### 代码审查修复(健壮性 + 性能)
733
+
734
+ - 🔴 **修复 tdl 超时残留进程占锁** - tdl 用 bolt 存储,SIGTERM 后有时不释放文件锁导致后续调用永久失败。改用 `spawn` + `detached`,超时强杀整个进程组(POSIX 负 PID / Windows taskkill /T);锁冲突日志高亮提示 `pkill -9 tdl`
735
+ - 🔴 **修复 file:// 同步阻塞** - `getVideoUrl` 读本地视频改用 `fs.promises.readFile` 异步读,避免几十 MB 视频 `readFileSync` 阻塞事件循环
736
+ - 🔴 **压缩音频容错** - ffmpeg 完整压缩(视频+音频)失败时,自动降级为丢弃音频只压视频(`-an`),应对 Telegram 无声流/异常音频编码;ffmpeg 也改用 `runWithForcedKill` 保证超时不残留
737
+ - 🟡 **减少缓存堆积** - tdl 源视频读入内存后立即删本地文件(base64/File/assets 都基于内存数据),避免大视频在缓存目录长期堆积
738
+ - 🟢 注释澄清:data: 分支当前未被 tdl 流程使用(预留);proxyByEnv 字段名沿用历史,实际走 --proxy flag
739
+
721
740
  ### 5.2.46 (2026-06-18)
722
741
 
723
742
  #### 修复源标签与标题重叠
package/lib/config.js CHANGED
@@ -195,7 +195,7 @@ exports.Config = koishi_1.Schema.object({
195
195
  enabled: koishi_1.Schema.boolean().description('启用错误追踪').default(false),
196
196
  dsn: koishi_1.Schema.string().role('secret').description('Sentry DSN').default(''),
197
197
  environment: koishi_1.Schema.string().description('错误追踪环境').default('production'),
198
- release: koishi_1.Schema.string().description('错误追踪版本号').default('5.2.46'),
198
+ release: koishi_1.Schema.string().description('错误追踪版本号').default('5.2.48'),
199
199
  tracesSampleRate: koishi_1.Schema.number().min(0).max(1).description('性能追踪采样率').default(0.1),
200
200
  profilesSampleRate: koishi_1.Schema.number().min(0).max(1).description('性能分析采样率').default(0.1),
201
201
  }).description('错误追踪设置'),
@@ -22,6 +22,12 @@ import { Config, rssArg } from '../types';
22
22
  /**
23
23
  * 尝试用 tdl 恢复 Telegram 大视频,原地改写 cheerio 文档。
24
24
  *
25
+ * 多视频 album 场景:tdl --group 下载全部 N 个视频,按文件名排序与 N 个
26
+ * "Video is too big" blockquote 按位置一一配对:
27
+ * - 第 i 个 blockquote ← 第 i 个视频(保留各自 poster)
28
+ * - blockquote 多于视频:多出保留原状(封面图占位)
29
+ * - 视频多于 blockquote:多出追加到文末
30
+ *
25
31
  * @param html cheerio 实例(会被原地修改)
26
32
  * @param item RSS 条目(读取 item.link)
27
33
  * @param arg 订阅级参数(含代理)
@@ -64,6 +64,12 @@ const url_1 = require("url");
64
64
  /**
65
65
  * 尝试用 tdl 恢复 Telegram 大视频,原地改写 cheerio 文档。
66
66
  *
67
+ * 多视频 album 场景:tdl --group 下载全部 N 个视频,按文件名排序与 N 个
68
+ * "Video is too big" blockquote 按位置一一配对:
69
+ * - 第 i 个 blockquote ← 第 i 个视频(保留各自 poster)
70
+ * - blockquote 多于视频:多出保留原状(封面图占位)
71
+ * - 视频多于 blockquote:多出追加到文末
72
+ *
67
73
  * @param html cheerio 实例(会被原地修改)
68
74
  * @param item RSS 条目(读取 item.link)
69
75
  * @param arg 订阅级参数(含代理)
@@ -82,41 +88,88 @@ async function restoreTelegramVideos(html, item, arg, config, ffmpegExe) {
82
88
  (0, logger_1.debug)(config, `检测到 Video is too big 但 link 非 Telegram 消息链接,跳过: ${link}`, 'tg-restore', 'info');
83
89
  return false;
84
90
  }
85
- const poster = (0, tdl_1.extractTooBigPoster)(html);
86
91
  (0, logger_1.debug)(config, `检测到 Telegram 大视频占位,尝试 tdl 下载: ${link}(channel=${linkInfo.channel}, msgId=${linkInfo.messageId})`, 'tg-restore', 'info');
87
92
  const downloaded = await (0, tdl_1.downloadWithTdl)({
88
93
  config,
89
94
  link,
90
95
  proxyAgent: arg?.proxyAgent,
91
96
  });
92
- if (!downloaded) {
97
+ if (!downloaded || downloaded.length === 0) {
93
98
  (0, logger_1.debug)(config, `tdl 未取回视频,保持占位现状: ${link}`, 'tg-restore', 'info');
94
99
  return false;
95
100
  }
96
- const compressResult = await (0, video_compress_1.compressVideoIfNeeded)(downloaded, config, ffmpegExe);
97
- if (!compressResult) {
98
- (0, logger_1.debug)(config, `视频压缩环节返回 null(ffmpeg 缺失或失败),按策略跳过该视频: ${link}`, 'tg-restore', 'info');
99
- // 清理 tdl 下载目录
100
- await (0, tdl_1.safeRemoveDir)(path.dirname(downloaded));
101
+ // 逐个压缩 + 迁移到缓存目录;失败的跳过,成功的保留
102
+ const finalVideoUrls = [];
103
+ for (const rawPath of downloaded) {
104
+ const compressResult = await (0, video_compress_1.compressVideoIfNeeded)(rawPath, config, ffmpegExe);
105
+ if (!compressResult) {
106
+ (0, logger_1.debug)(config, `视频压缩环节返回 null(ffmpeg 缺失或失败),跳过该视频: ${rawPath}`, 'tg-restore', 'info');
107
+ continue;
108
+ }
109
+ let finalPath = compressResult.path;
110
+ try {
111
+ finalPath = await moveToCacheDir(finalPath, config);
112
+ }
113
+ catch (err) {
114
+ (0, logger_1.debug)(config, `视频迁移到缓存目录失败,沿用 tdl 临时路径: ${err?.message || err}`, 'tg-restore', 'error');
115
+ }
116
+ finalVideoUrls.push((0, url_1.pathToFileURL)(finalPath).href);
117
+ }
118
+ // 清理 tdl 下载临时目录(产物已迁出或跳过)
119
+ await (0, tdl_1.safeRemoveDir)(path.dirname(downloaded[0]));
120
+ if (finalVideoUrls.length === 0) {
121
+ (0, logger_1.debug)(config, `所有视频压缩均失败,保持占位现状: ${link}`, 'tg-restore', 'info');
101
122
  return false;
102
123
  }
103
- // 把最终产物移动到插件缓存目录,避免被异步发送队列提前清理
104
- let finalPath = compressResult.path;
124
+ (0, logger_1.debug)(config, `Telegram 大视频已恢复(${finalVideoUrls.length} 个视频),开始按位置配对注入`, 'tg-restore', 'info');
125
+ // 提取所有 too-big blockquote 的 poster(顺序与 blockquote 一致)
126
+ const posters = (0, tdl_1.extractTooBigPosters)(html);
127
+ // 配对替换:遍历 too-big blockquote,第 i 个 ← 第 i 个视频
128
+ let videoIdx = 0;
129
+ let lastTooBigEl = null;
130
+ replaceTooBigBlockquotesIndexed(html, (i) => {
131
+ if (videoIdx >= finalVideoUrls.length) {
132
+ // 视频已用完,多出的 blockquote 保留原状
133
+ return null;
134
+ }
135
+ const url = finalVideoUrls[videoIdx];
136
+ const poster = posters[i] || '';
137
+ videoIdx++;
138
+ return buildVideoTag(url, poster);
139
+ }, (el) => { lastTooBigEl = el; });
140
+ // 视频多于 blockquote:多出的追加到最后一个 too-big blockquote 之后
141
+ while (videoIdx < finalVideoUrls.length) {
142
+ const url = finalVideoUrls[videoIdx];
143
+ const extra = buildVideoTag(url, '');
144
+ if (lastTooBigEl) {
145
+ try {
146
+ html(lastTooBigEl).after(extra);
147
+ }
148
+ catch {
149
+ // 追加失败则接到 body 末尾
150
+ appendToBody(html, extra);
151
+ }
152
+ }
153
+ else {
154
+ appendToBody(html, extra);
155
+ }
156
+ videoIdx++;
157
+ }
158
+ return true;
159
+ }
160
+ /** 构造一个 <video> 标签字符串 */
161
+ function buildVideoTag(fileUrl, poster) {
162
+ const posterAttr = poster ? ` poster="${escapeAttr(poster)}"` : '';
163
+ return `<video src="${escapeAttr(fileUrl)}"${posterAttr} controls="controls" style="width:100%"></video>`;
164
+ }
165
+ /** 追加 HTML 到 body 末尾 */
166
+ function appendToBody(html, content) {
105
167
  try {
106
- finalPath = await moveToCacheDir(finalPath, config);
168
+ html('body').append(content);
107
169
  }
108
- catch (err) {
109
- (0, logger_1.debug)(config, `视频迁移到缓存目录失败,沿用 tdl 临时路径: ${err?.message || err}`, 'tg-restore', 'error');
110
- // 沿用临时路径(风险:发送前被清理),但仍尝试发送
170
+ catch {
171
+ // ignore
111
172
  }
112
- const fileUrl = (0, url_1.pathToFileURL)(finalPath).href;
113
- (0, logger_1.debug)(config, `Telegram 大视频已恢复,注入 <video src="${fileUrl}">(最终大小 ${(compressResult.finalSize / 1024 / 1024).toFixed(2)} MB)`, 'tg-restore', 'info');
114
- // 把 "Video is too big" blockquote 替换为真 <video>
115
- // 保留 poster(若有),便于 usePoster 模式显示封面
116
- const posterAttr = poster ? ` poster="${escapeAttr(poster)}"` : '';
117
- const replacement = `<video src="${escapeAttr(fileUrl)}"${posterAttr} controls="controls" style="width:100%"></video>`;
118
- replaceTooBigBlockquotes(html, replacement);
119
- return true;
120
173
  }
121
174
  /**
122
175
  * 把文件移动到插件缓存目录(与 File 模式共用),返回新路径。
@@ -139,18 +192,27 @@ async function moveToCacheDir(srcPath, config) {
139
192
  }
140
193
  }
141
194
  /**
142
- * 把所有 "Video is too big" blockquote 替换为给定 HTML 字符串。
195
+ * 遍历所有 "Video is too big" blockquote,按出现顺序逐个调用 builder 决定替换内容。
196
+ *
197
+ * @param builder 接收 blockquote 在 too-big 序列中的索引,返回替换 HTML;返回 null 表示不替换(保留原状)
198
+ * @param onEach 每个被处理的 too-big blockquote 元素回调(用于记录最后一个,便于后续追加)
143
199
  */
144
- function replaceTooBigBlockquotes(html, replacement) {
200
+ function replaceTooBigBlockquotesIndexed(html, builder, onEach) {
145
201
  if (!html)
146
202
  return;
203
+ let tooBigIndex = 0;
147
204
  try {
148
205
  html('blockquote').each((_, el) => {
149
206
  const $el = html(el);
150
207
  const text = $el.text() || '';
151
- if (/video\s+is\s+too\s+big/i.test(text)) {
208
+ if (!/video\s+is\s+too\s+big/i.test(text))
209
+ return;
210
+ const replacement = builder(tooBigIndex);
211
+ onEach?.(el);
212
+ if (replacement !== null) {
152
213
  $el.replaceWith(replacement);
153
214
  }
215
+ tooBigIndex++;
154
216
  });
155
217
  }
156
218
  catch {
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.es2022.full.d.ts","../../../node_modules/cosmokit/lib/index.d.ts","../../../node_modules/@satorijs/element/lib/index.d.ts","../../../node_modules/@satorijs/element/jsx-runtime.d.ts","../../../node_modules/inaba/lib/index.d.ts","../../../node_modules/@koishijs/utils/lib/index.d.ts","../../../node_modules/@cordisjs/core/lib/index.d.ts","../../../node_modules/reggol/index.d.ts","../../../node_modules/@cordisjs/logger/lib/index.d.ts","../../../node_modules/schemastery/lib/index.d.ts","../../../node_modules/@cordisjs/schema/lib/index.d.ts","../../../node_modules/@cordisjs/timer/lib/index.d.ts","../../../node_modules/cordis/lib/index.d.ts","../../../node_modules/minato/lib/index.d.ts","../../../node_modules/@satorijs/protocol/lib/index.d.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@satorijs/core/node_modules/@cordisjs/plugin-http/lib/index.d.ts","../../../node_modules/path-to-regexp/dist/index.d.ts","../../../node_modules/@satorijs/core/lib/index.d.ts","../../../node_modules/@koishijs/i18n-utils/lib/index.d.ts","../../../node_modules/@koishijs/core/lib/index.d.ts","../../../node_modules/ns-require/lib/index.d.ts","../../../node_modules/@koishijs/loader/lib/shared.d.ts","../../../node_modules/@koishijs/loader/lib/index.d.ts","../../../node_modules/koishi/lib/index.d.ts","../src/types.ts","../src/config.ts","../src/constants.ts","../src/database.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../../../node_modules/puppeteer-core/lib/types.d.ts","../../../node_modules/koishi-plugin-puppeteer/lib/svg.d.ts","../../../node_modules/koishi-plugin-puppeteer/lib/index.d.ts","../../../node_modules/@koishijs/censor/lib/index.d.ts","../../../node_modules/axios/index.d.ts","../../../node_modules/agent-base/dist/helpers.d.ts","../../../node_modules/agent-base/dist/index.d.ts","../../../node_modules/https-proxy-agent/dist/index.d.ts","../src/utils/error-handler.ts","../src/utils/logger.ts","../src/utils/error-tracker.ts","../../../node_modules/domelementtype/lib/index.d.ts","../../../node_modules/domhandler/lib/node.d.ts","../../../node_modules/domhandler/lib/index.d.ts","../../../node_modules/htmlparser2/dist/commonjs/tokenizer.d.ts","../../../node_modules/htmlparser2/dist/commonjs/parser.d.ts","../../../node_modules/dom-serializer/lib/index.d.ts","../../../node_modules/domutils/lib/stringify.d.ts","../../../node_modules/domutils/lib/traversal.d.ts","../../../node_modules/domutils/lib/manipulation.d.ts","../../../node_modules/domutils/lib/querying.d.ts","../../../node_modules/domutils/lib/legacy.d.ts","../../../node_modules/domutils/lib/helpers.d.ts","../../../node_modules/domutils/lib/feeds.d.ts","../../../node_modules/domutils/lib/index.d.ts","../../../node_modules/htmlparser2/dist/commonjs/index.d.ts","../../../node_modules/parse5/dist/common/html.d.ts","../../../node_modules/parse5/dist/common/token.d.ts","../../../node_modules/parse5/dist/common/error-codes.d.ts","../../../node_modules/parse5/dist/tokenizer/preprocessor.d.ts","../../../node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts","../../../node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts","../../../node_modules/parse5/node_modules/entities/dist/commonjs/decode-codepoint.d.ts","../../../node_modules/parse5/node_modules/entities/dist/commonjs/decode.d.ts","../../../node_modules/parse5/node_modules/entities/decode.d.ts","../../../node_modules/parse5/dist/tokenizer/index.d.ts","../../../node_modules/parse5/dist/tree-adapters/interface.d.ts","../../../node_modules/parse5/dist/parser/open-element-stack.d.ts","../../../node_modules/parse5/dist/parser/formatting-element-list.d.ts","../../../node_modules/parse5/dist/parser/index.d.ts","../../../node_modules/parse5/dist/tree-adapters/default.d.ts","../../../node_modules/parse5/dist/serializer/index.d.ts","../../../node_modules/parse5/dist/common/foreign-content.d.ts","../../../node_modules/parse5/dist/index.d.ts","../../../node_modules/parse5-htmlparser2-tree-adapter/dist/index.d.ts","../../../node_modules/css-what/lib/es/types.d.ts","../../../node_modules/css-what/lib/es/parse.d.ts","../../../node_modules/css-what/lib/es/stringify.d.ts","../../../node_modules/css-what/lib/es/index.d.ts","../../../node_modules/css-select/lib/types.d.ts","../../../node_modules/css-select/lib/pseudo-selectors/filters.d.ts","../../../node_modules/css-select/lib/pseudo-selectors/pseudos.d.ts","../../../node_modules/css-select/lib/pseudo-selectors/aliases.d.ts","../../../node_modules/css-select/lib/pseudo-selectors/index.d.ts","../../../node_modules/css-select/lib/index.d.ts","../../../node_modules/cheerio-select/lib/index.d.ts","../../../node_modules/cheerio/dist/commonjs/options.d.ts","../../../node_modules/cheerio/dist/commonjs/api/attributes.d.ts","../../../node_modules/cheerio/dist/commonjs/api/traversing.d.ts","../../../node_modules/cheerio/dist/commonjs/api/manipulation.d.ts","../../../node_modules/cheerio/dist/commonjs/api/css.d.ts","../../../node_modules/cheerio/dist/commonjs/api/forms.d.ts","../../../node_modules/cheerio/dist/commonjs/api/extract.d.ts","../../../node_modules/cheerio/dist/commonjs/cheerio.d.ts","../../../node_modules/cheerio/dist/commonjs/types.d.ts","../../../node_modules/cheerio/dist/commonjs/static.d.ts","../../../node_modules/cheerio/dist/commonjs/load.d.ts","../../../node_modules/cheerio/dist/commonjs/load-parse.d.ts","../../../node_modules/cheerio/dist/commonjs/slim.d.ts","../../../node_modules/encoding-sniffer/dist/commonjs/sniffer.d.ts","../../../node_modules/encoding-sniffer/dist/commonjs/index.d.ts","../../../node_modules/cheerio/node_modules/undici/types/utility.d.ts","../../../node_modules/cheerio/node_modules/undici/types/header.d.ts","../../../node_modules/cheerio/node_modules/undici/types/readable.d.ts","../../../node_modules/cheerio/node_modules/undici/types/fetch.d.ts","../../../node_modules/cheerio/node_modules/undici/types/formdata.d.ts","../../../node_modules/cheerio/node_modules/undici/types/connector.d.ts","../../../node_modules/cheerio/node_modules/undici/types/client-stats.d.ts","../../../node_modules/cheerio/node_modules/undici/types/client.d.ts","../../../node_modules/cheerio/node_modules/undici/types/errors.d.ts","../../../node_modules/cheerio/node_modules/undici/types/dispatcher.d.ts","../../../node_modules/cheerio/node_modules/undici/types/global-dispatcher.d.ts","../../../node_modules/cheerio/node_modules/undici/types/global-origin.d.ts","../../../node_modules/cheerio/node_modules/undici/types/pool-stats.d.ts","../../../node_modules/cheerio/node_modules/undici/types/pool.d.ts","../../../node_modules/cheerio/node_modules/undici/types/handlers.d.ts","../../../node_modules/cheerio/node_modules/undici/types/balanced-pool.d.ts","../../../node_modules/cheerio/node_modules/undici/types/h2c-client.d.ts","../../../node_modules/cheerio/node_modules/undici/types/agent.d.ts","../../../node_modules/cheerio/node_modules/undici/types/mock-interceptor.d.ts","../../../node_modules/cheerio/node_modules/undici/types/mock-call-history.d.ts","../../../node_modules/cheerio/node_modules/undici/types/mock-agent.d.ts","../../../node_modules/cheerio/node_modules/undici/types/mock-client.d.ts","../../../node_modules/cheerio/node_modules/undici/types/mock-pool.d.ts","../../../node_modules/cheerio/node_modules/undici/types/snapshot-agent.d.ts","../../../node_modules/cheerio/node_modules/undici/types/mock-errors.d.ts","../../../node_modules/cheerio/node_modules/undici/types/proxy-agent.d.ts","../../../node_modules/cheerio/node_modules/undici/types/env-http-proxy-agent.d.ts","../../../node_modules/cheerio/node_modules/undici/types/retry-handler.d.ts","../../../node_modules/cheerio/node_modules/undici/types/retry-agent.d.ts","../../../node_modules/cheerio/node_modules/undici/types/api.d.ts","../../../node_modules/cheerio/node_modules/undici/types/cache-interceptor.d.ts","../../../node_modules/cheerio/node_modules/undici/types/interceptors.d.ts","../../../node_modules/cheerio/node_modules/undici/types/util.d.ts","../../../node_modules/cheerio/node_modules/undici/types/cookies.d.ts","../../../node_modules/cheerio/node_modules/undici/types/patch.d.ts","../../../node_modules/cheerio/node_modules/undici/types/websocket.d.ts","../../../node_modules/cheerio/node_modules/undici/types/eventsource.d.ts","../../../node_modules/cheerio/node_modules/undici/types/diagnostics-channel.d.ts","../../../node_modules/cheerio/node_modules/undici/types/content-type.d.ts","../../../node_modules/cheerio/node_modules/undici/types/cache.d.ts","../../../node_modules/cheerio/node_modules/undici/types/index.d.ts","../../../node_modules/cheerio/node_modules/undici/index.d.ts","../../../node_modules/cheerio/dist/commonjs/index.d.ts","../src/utils/common.ts","../src/utils/security.ts","../src/utils/fetcher.ts","../src/utils/media.ts","../src/utils/tdl.ts","../src/core/notification-queue-types.ts","../src/core/notification-queue-retry.ts","../src/utils/message-cache.ts","../src/core/notification-queue-sender.ts","../src/core/notification-queue-store.ts","../src/core/notification-queue.ts","../src/commands/utils.ts","../src/commands/subscription-management.ts","../src/commands/subscription-edit.ts","../src/commands/subscription-create.ts","../src/commands/web-monitor.ts","../src/core/ai-cache.ts","../src/utils/proxy.ts","../src/core/ai-client.ts","../src/core/ai-selector.ts","../src/core/search-types.ts","../src/core/search-format.ts","../src/core/search-rotation.ts","../src/core/search-providers.ts","../src/core/search-service.ts","../src/core/ai-utils.ts","../src/core/ai-summary.ts","../src/core/ai.ts","../src/utils/legacy-config.ts","../src/core/feeder-arg.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/dompurify/dist/purify.cjs.d.ts","../../../node_modules/isomorphic-dompurify/index.d.ts","../src/utils/sanitizer.ts","../src/utils/template.ts","../../../node_modules/@types/marked/index.d.ts","../src/core/renderer.ts","../src/core/item-processor-runtime.ts","../src/core/item-processor-template.ts","../src/utils/video-compress.ts","../src/core/telegram-video-restore.ts","../src/core/item-processor.ts","../src/core/parser.ts","../src/core/feeder-runtime.ts","../src/core/feeder.ts","../src/commands/runtime.ts","../src/commands/index.ts","../src/services/message-cache-service.ts","../src/index.ts","../src/commands/error-handler.ts","../src/core/search.ts","../src/utils/metrics.ts","../src/utils/structured-logger.ts","../../../node_modules/yml-register/types.d.ts"],"fileIdsList":[[66,83,132,149,150,192,193,201,202,207,208,209,360],[66,83,132,149,150,192,193,201,202,207,208,209,320,323,324,325,326,327,328,358,360],[66,83,132,149,150,192,193,195,201,202,208,313,340,354,355,357,360],[66,83,132,149,150,192,193,201,202,207,313,324,360],[66,83,132,149,150,192,193,201,202,324,360],[66,83,132,149,150,192,193,201,202,207,208,209,324,360],[66,83,132,149,150,192,193,201,202,360],[66,83,132,149,150],[66,83,132,137,149,150,193,208],[66,83,132,149,150,193,203,208,330],[66,83,132,149,150,193,208,312,331],[66,83,132,149,150,193,208,329,331,338],[66,83,132,149,150,193,194,208,312,334,337],[66,83,132,149,150,329,332,339],[66,83,132,149,150,193,208,341],[66,83,132,149,150,192,193,195,201,202,207,208,209,313,341,354,355,360],[66,83,132,149,150,192,193,201,202,207,208,209,313,316,319,323,341,342,354,356,360],[66,83,132,149,150,192,193,201,202,208,312,316,348,349,360],[66,83,132,149,150,192,193,201,202,208,312,313,314,347,350,360],[66,83,132,149,150,192,193,201,202,208,312,340,346,350,351,353,360],[66,83,132,149,150,193,207,318],[66,83,132,149,150,192,193,201,202,207,208,209,318,319,320,360],[66,83,132,149,150,192,193,201,202,318,360],[66,83,132,149,150,192,193,201,202,207,208,209,318,319,321,322,360],[66,83,132,149,150,192,193,201,202,208,312,313,314,360],[66,83,132,149,150,192,193,201,202,208,312,316,360],[66,83,132,149,150,333],[66,83,132,149,150,193,203,208,330,333,335],[66,83,132,149,150,193,208],[66,83,132,149,150,193,208,333,336],[66,83,132,149,150,333,334,336,337],[66,83,132,144,149,150,154,175,193,208,316,317,352],[66,83,132,149,150,192,193,194,195,196,201,202,208,209,315,316,317,320,323,354,357,359,360],[66,83,132,149,150,192,193,201,202,320,360],[66,83,132,149,150,193,208,312],[66,83,132,149,150,207,208],[66,83,132,149,150,192,193,201,202,203,206,207,208,209,313,314,360],[66,83,132,149,150,193],[66,83,132,144,149,150,154,175,192,193,201,202,208,360],[66,83,132,149,150,192,193,201,202,208,360],[66,83,132,149,150,193,203,206],[66,83,132,149,150,193,312,345],[66,83,132,133,137,144,149,150,153,154,176,193,208],[66,83,132,133,144,149,150,154,176,193,208,317],[64,83,132,149,150],[69,70,71,73,74,83,132,149,150,190],[69,71,72,73,74,83,132,149,150,190],[69,71,73,74,83,132,149,150,190],[83,132,149,150,192,193,201,202,360],[64,68,75,76,83,132,149,150,184,186,187,188],[83,132,149,150],[83,132,149,150,188,189,190],[69,71,73,74,75,76,83,132,149,150,184,186,188,190],[64,67,83,132,149,150],[64,65,75,76,77,83,132,149,150,184,185,186,188],[64,75,76,83,132,149,150,167,183,184,186,188],[65,83,132,149,150],[64,65,83,132,149,150],[83,129,130,132,149,150],[83,131,132,149,150],[132,149,150],[83,132,137,149,150,167],[83,132,133,138,143,149,150,152,164,175],[83,132,133,134,143,149,150,152],[78,79,80,83,132,149,150],[83,132,135,149,150,176],[83,132,136,137,144,149,150,153],[83,132,137,149,150,164,172],[83,132,138,140,143,149,150,152],[83,131,132,139,149,150],[83,132,140,141,149,150],[83,132,142,143,149,150],[83,131,132,143,149,150],[83,132,143,144,145,149,150,164,175],[83,132,143,144,145,149,150,159,164,167],[83,125,132,140,143,146,149,150,152,164,175],[83,132,143,144,146,147,149,150,152,164,172,175],[83,132,146,148,149,150,164,172,175],[81,82,83,84,85,86,87,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181],[83,132,143,149,150],[83,132,149,150,151,175],[83,132,140,143,149,150,152,164],[83,132,149,150,153],[83,132,149,150,154],[83,131,132,149,150,155],[83,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181],[83,132,149,150,157],[83,132,149,150,158],[83,132,143,149,150,159,160],[83,132,149,150,159,161,176,178],[83,132,144,149,150],[83,132,143,149,150,164,165,167],[83,132,149,150,166,167],[83,132,149,150,164,165],[83,132,149,150,167],[83,132,149,150,168],[83,129,132,149,150,164,169],[83,132,143,149,150,170,171],[83,132,149,150,170,171],[83,132,137,149,150,152,164,172],[83,132,149,150,173],[83,132,149,150,152,174],[83,132,146,149,150,158,175],[83,132,137,149,150,176],[83,132,149,150,164,177],[83,132,149,150,151,178],[83,132,149,150,179],[83,125,132,149,150],[83,125,132,143,145,149,150,155,164,167,175,177,178,180],[83,132,149,150,164,181],[83,132,143,146,148,149,150,152,164,172,175,181,182],[83,132,146,148,149,150,164,182],[83,132,146,149,150,152,164,172,182,204],[83,132,149,150,212,253],[83,132,149,150,212,262],[83,132,149,150,212,256,262],[83,132,149,150,212,262,263],[83,132,149,150,212,255,256,257,258,259,260,261,263],[83,132,149,150,164,255,263,264,265,266,267,269,311],[83,132,149,150,212,255,265],[83,132,149,150,212,255,262,263,264],[83,132,149,150,212,215,224,242,243,254],[83,132,149,150,212,255,262,263,264,265],[83,132,149,150,212,255,261,262,263,265],[83,132,149,150,310],[83,132,149,150,175,276,279,282,283],[83,132,149,150,164,175,279],[83,132,149,150,175,279,283],[83,132,149,150,164],[83,132,149,150,273],[83,132,149,150,277],[83,132,149,150,175,275,276,279],[83,132,149,150,152,172],[83,132,149,150,182],[83,132,149,150,182,273],[83,132,149,150,152,175,275,279],[83,132,143,149,150,164,175,270,271,272,274,278],[83,132,149,150,279,287,295],[83,132,149,150,271,277],[83,132,149,150,279,304,305],[83,132,149,150,167,175,182,271,274,279],[83,132,149,150,279],[83,132,149,150,175,275,279],[83,132,149,150,270],[83,132,149,150,273,274,275,277,278,279,280,281,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,305,306,307,308,309],[83,132,140,149,150,279,297,300],[83,132,149,150,279,287,288,289],[83,132,149,150,277,279,288,290],[83,132,149,150,278],[83,132,149,150,271,273,279],[83,132,149,150,279,283,288,290],[83,132,149,150,283],[83,132,149,150,175,277,279,282],[83,132,149,150,271,275,279,287],[83,132,149,150,279,297],[83,132,149,150,290],[83,132,149,150,167,180,182,273,279,304],[83,132,149,150,247,248,252],[83,132,149,150,248],[83,132,149,150,247,248,249,250,251],[83,132,149,150,247,248],[83,132,149,150,247],[83,132,149,150,244,245,246],[83,132,149,150,244],[83,132,149,150,197],[83,132,149,150,212],[83,132,149,150,211],[83,132,149,150,210],[83,132,149,150,343],[83,132,149,150,212,216,217,218,219,220,221,222],[83,132,149,150,210,212],[83,132,149,150,212,215],[83,132,149,150,164,268],[83,132,149,150,210,212,213,214,223],[83,132,149,150,213],[83,132,146,149,150,152,172,175,182,205],[83,132,149,150,344],[83,132,149,150,192,193,199,200,201,202,360],[83,132,149,150,188,190,191],[64,75,76,83,132,149,150,184,186,188],[83,132,149,150,212,242],[83,132,149,150,226],[83,132,149,150,225,226],[83,132,149,150,225],[83,132,149,150,225,226,227,234,235,238,239,240,241],[83,132,149,150,226,235],[83,132,149,150,225,226,227,234,235,236,237],[83,132,149,150,225,235],[83,132,149,150,235,239],[83,132,149,150,226,227,228,233],[83,132,149,150,227],[83,132,149,150,225,226,235],[83,132,149,150,232],[83,132,149,150,229,230,231],[83,132,133,149,150,164,182,197,198],[83,97,101,132,149,150,175],[83,97,132,149,150,164,175],[83,92,132,149,150],[83,94,97,132,149,150,172,175],[83,92,132,149,150,182],[83,94,97,132,149,150,152,175],[83,89,90,93,96,132,143,149,150,164,175],[83,97,104,132,149,150],[83,89,95,132,149,150],[83,97,118,119,132,149,150],[83,93,97,132,149,150,167,175,182],[83,118,132,149,150,182],[83,91,92,132,149,150,182],[83,97,132,149,150],[83,91,92,93,94,95,96,97,98,99,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,122,123,124,132,149,150],[83,97,112,132,149,150],[83,97,104,105,132,149,150],[83,95,97,105,106,132,149,150],[83,96,132,149,150],[83,89,92,97,132,149,150],[83,97,101,105,106,132,149,150],[83,101,132,149,150],[83,95,97,100,132,149,150,175],[83,89,94,97,104,132,149,150],[83,92,97,118,132,149,150,180,182]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},{"version":"0e7086243656ce24ba7dfe15a8d8e3cd4310afa6cbddb97dd06d5dc399794676","impliedFormat":99},{"version":"365cdd6814c2ff82bd29372ff73346202efc4a1dfa179e4cf6911c6b632d69ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"7038f51c3ec85e09ed2098ed581a64f7f0dfda910fc303b929af96bc79176cc3","impliedFormat":1},{"version":"a52a6d3a3d56107b369649d9849f942f2ea52c0086e0cdf8a0ecc28cdba9ea4e","impliedFormat":1},{"version":"5877124243dc40cb5f02a66f996097372ef118bd9e4afd6db5ba09b8f67a0a19","impliedFormat":1},{"version":"cd9a3966ea30aa2b4cda814d04c17b5cf121adac45f350949236438b868a5a12","impliedFormat":99},{"version":"b883960918130c038a779246eb467432ccd598ad17834d7225d776ede3f8b58a","impliedFormat":1},{"version":"c637d436a518b86363815665076d7e2dab5a4f6a103699c6da212f31157b0556","impliedFormat":99},{"version":"5630eca3f5a8b4ce16df8375c56c972c39ced536a339488adb1c205c4c04aacc","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f64e678f2da135807d2ef7d5b1a708840eaba70dc2adb3d2804a5cbdcf4dd3c","impliedFormat":99},{"version":"c042466c71ade27c6bf7da7d6a4e52f10af53cccd4c59e3a7e2e68901638ab11","impliedFormat":99},{"version":"32f47b4fde1ff7bc016df1c1b0a93c9118543d1a2a40a80639fc85a4261001fa","impliedFormat":99},{"version":"55ef00a6bfa901f0a582c07a13e654069cff85546c61f571da73dbe462bd8e13","impliedFormat":99},{"version":"76ff03302bd6283df89e817f5cecd2867be03caa5aac240342e84a5539bfd95f","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"2cbe0621042e2a68c7cbce5dfed3906a1862a16a7d496010636cdbdb91341c0f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"bb45cd435da536500f1d9692a9b49d0c570b763ccbf00473248b777f5c1f353b","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac39df6dfb9e284bb0c205b15f4d9a2b260f5bab5c85bf2fb97d0cdd509c06ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"dba28a419aec76ed864ef43e5f577a5c99a010c32e5949fe4e17a4d57c58dd11","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c959a391a75be9789b43c8468f71e3fa06488b4d691d5729dde1416dcd38225b","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"5ebe6f4cc3b803cbfc962bae0d954f9c80e5078ca41eb3f1de41d92e7193ef37","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"9f663c2f91127ef7024e8ca4b3b4383ff2770e5f826696005de382282794b127","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"1ba59c8bbeed2cb75b239bb12041582fa3e8ef32f8d0bd0ec802e38442d3f317","impliedFormat":1},{"version":"dd52547514c0fce12235ac2873631024d71cb7f92b750970c7eb6eda6a792e85","impliedFormat":99},{"version":"9a40a3320a2301a30e155d4d8445d971ad516a73222c1374b204fbe90d6f5203","impliedFormat":1},{"version":"73b7843bc39ae16c1c8a057b8c8f7410ade5d89bf88610232c7a88b21dcef55e","impliedFormat":99},{"version":"189a96b720fdf19c5cab349f7a3e99977acff3a6cdbca98c4c012c00091063b4","impliedFormat":1},{"version":"a421666af3fa0f26c82ab1f86a1a558e51337a0597d3d52c3e8fc2607c48833a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8c33acd06162b104c323f196cbdcfa3e91b3a951883e4bd0037743072174ef0e","impliedFormat":1},{"version":"1d234a6a01fe26532575863a31148226ef6d43fc60e98d0e6ab7d734f43463cc","impliedFormat":1},{"version":"adf55203a52fe23af8cbf5d9b5a0f65b0d3e6e136a50de5a12e6a361d39d9646","impliedFormat":1},{"version":"906ebde38268293593b31a9faaee6a88452cb03366cd1653efe3edd592c145a4","impliedFormat":1},{"version":"239a4eb3ab46550ff3282af0f8359bf57bd252d375d09390584a466befba69cd","signature":"91eb9719593808f3b87b7fd7a497a324b28a70dead8b0ac7285fc71e4b9745b6"},{"version":"ba52895dca822e3a5a762c87548010ac7860ba1118448a1b7115b41372f87c57","signature":"549b3250089ba4e8e060ce77ee255840c04affe30397580d2b94e8d4903ec675"},{"version":"66e52b67417d2060110714a10e4dd5ab1b378ce7887dbdf0aae88f7010e5b002","signature":"3e539094c7501a16c61caba5595cc9c9a22bbb8a1527a48838da578f78ee099c"},{"version":"aadf12ad6e892c00aa556d30b71ffca0416cb375752a0580a0ab74502a416f20","signature":"dd7ffbb7da94388d5e55bb194cf1cb006990793a8178e50a8a5e77d407d6e4e1"},{"version":"cb6ec4db6cc551605992fb84f9d70c4d282557e1d6de81b887737e13bbb6a026","impliedFormat":1},{"version":"73f878783cb9c77581801b5393c0a18a58f1da745f23cdc670b743e436d58638","impliedFormat":1},{"version":"447a92650bd5715cbff1b42ffe58c0c6f3a957417078658ded0af571f3bedccd","impliedFormat":1},{"version":"1b4619105bf906d076fe7160def58d18c380bfaf91ef34309a7213f13f90dc70","impliedFormat":1},{"version":"0363d689b01dc17dc9503cde0e7837b771a827481d9a9a4a34a5e39faa539e0b","impliedFormat":1},{"version":"5c45afa7dce96a25107e8147bcb67216568164143199051a6f3c3d378228ddf6","impliedFormat":1},{"version":"1c9800fbae1b443d77672e6d3e715df7280479b7c41f08cb790e750f01b50d90","impliedFormat":99},{"version":"b541d22eb72e9c9b3330f9c9c931b57fece701e8fb3685ed031b8b777913ee72","impliedFormat":1},{"version":"d37453f9aea885973e8caa1a2d995d55f89165eb6b6134438ebeb83e12fada66","impliedFormat":1},{"version":"c5f3b1f5a2df5d78c73a3563e789b77fb71035c81e2d739b28b708fcfeac98be","impliedFormat":1},{"version":"04d0e5340c796567965173fe2dc5809e74f99bf01abb6b84f87c6b40fc50c309","signature":"5c31eba49bcc4d830850877887b1a8351426728556ac1179e72dbcc0f0408a0b"},{"version":"1279784c576342b92938c36527847bf2c7330b99eadc37e06ba00e9e6e10e494","signature":"730b6100e14bc0ddc9010716260701f0c7acc5bf126ba04cbb7b61c79d35530a"},{"version":"e6bb3bb1f142d654d73e3026ebd42727d1a02f5a9c4bfc13693083e6a3f8ce41","signature":"b7262f5e1c714225900944406c76ee71724a526bd63e726da5c5765ca79639a2"},{"version":"2556e7e8bb7e6f0bb3fe25f3da990d1812cb91f8c9b389354b6a0c8a6d687590","impliedFormat":1},{"version":"ad1c91ca536e0962dcbfcdff40073e3dd18da839e0baad3fe990cf0d10c93065","impliedFormat":1},{"version":"19cf605ba2a4e8fba017edebdddbbc45aea897ddc58b4aae4c55f382b570ff53","impliedFormat":1},{"version":"884aab8c07224434c034b49e88de0511f21536aa83ee88f1285160ba6d3fb77a","impliedFormat":1},{"version":"130b39b18c99e5678635f383ef57efaa507196838ddabb47cb104064e2ce4cd3","impliedFormat":1},{"version":"7618d2cb769e2093acd4623d645b683ab9fea78c262b3aa354aba9f5afdcaaee","impliedFormat":1},{"version":"029f1ce606891c3f57f4c0c60b8a46c8ced53e719d27a7c9693817f2fe37690b","impliedFormat":1},{"version":"83596c963e276a9c5911412fba37ae7c1fe280f2d77329928828eed5a3bfa9a6","impliedFormat":1},{"version":"81acfd3a01767770e559bc57d32684756989475be6ea32e2fe6255472c3ea116","impliedFormat":1},{"version":"88d0c3eae81868b4749ba5b88f9b6d564ee748321ce19a2f4269a4e9dd46020a","impliedFormat":1},{"version":"8266b39a828bfb2695cabfa403e7c1226d7d94599f21bea9f760e35f4ca7a576","impliedFormat":1},{"version":"c1c1e740195c882a776cf084acbaf963907785ee39e723c6375fec9a59bf2387","impliedFormat":1},{"version":"137f96b78e477e08876f6372072c3b6f1767672bf182013f84f8ae53d987ff86","impliedFormat":1},{"version":"29896c61d09880ff39f8a86873bf72ce4deb910158d3a496122781e29904c615","impliedFormat":1},{"version":"81ce540acef0d6972b0b163331583181be3603300f618dcd6a6a3138954ff30c","impliedFormat":1},{"version":"19990350fca066265b2c190c9b6cde1229f35002ea2d4df8c9e397e9942f6c89","impliedFormat":99},{"version":"8fb8fdda477cd7382477ffda92c2bb7d9f7ef583b1aa531eb6b2dc2f0a206c10","impliedFormat":99},{"version":"66995b0c991b5c5d42eff1d950733f85482c7419f7296ab8952e03718169e379","impliedFormat":99},{"version":"9863f888da357e35e013ca3465b794a490a198226bd8232c2f81fb44e16ff323","impliedFormat":99},{"version":"84bc2d80326a83ee4a6e7cba2fd480b86502660770c0e24da96535af597c9f1e","impliedFormat":1},{"version":"ea27768379b866ee3f5da2419650acdb01125479f7af73580a4bceb25b79e372","impliedFormat":1},{"version":"598931eeb4362542cae5845f95c5f0e45ac668925a40ce201e244d7fe808e965","impliedFormat":1},{"version":"da9ef88cde9f715756da642ad80c4cd87a987f465d325462d6bc2a0b11d202c8","impliedFormat":1},{"version":"9462ab013df86c16a2a69ca0a3b6f31d4fd86dd29a947e14b590eb20806f220b","impliedFormat":99},{"version":"b4c6184d78303b0816e779a48bef779b15aea4a66028eb819aac0abee8407dea","impliedFormat":99},{"version":"db085d2171d48938a99e851dafe0e486dce9859e5dfa73c21de5ed3d4d6fb0c5","impliedFormat":99},{"version":"62a3ad1ddd1f5974b3bf105680b3e09420f2230711d6520a521fab2be1a32838","impliedFormat":99},{"version":"a77be6fc44c876bc10c897107f84eaba10790913ebdcad40fcda7e47469b2160","impliedFormat":99},{"version":"06cf55b6da5cef54eaaf51cdc3d4e5ebf16adfdd9ebd20cec7fe719be9ced017","impliedFormat":99},{"version":"91f5dbcdb25d145a56cffe957ec665256827892d779ef108eb2f3864faff523b","impliedFormat":99},{"version":"052ba354bab8fb943e0bc05a0769f7b81d7c3b3c6cd0f5cfa53c7b2da2a525c5","impliedFormat":99},{"version":"927955a3de5857e0a1c575ced5a4245e74e6821d720ed213141347dd1870197f","impliedFormat":99},{"version":"fec804d54cd97dd77e956232fc37dc13f53e160d4bbeeb5489e86eeaa91f7ebd","impliedFormat":99},{"version":"75ef949153a3e6ff419e39d0fa5eb6617e92de5019738ad3c43872023d9665f5","impliedFormat":99},{"version":"ed9ce8e6dd5b2d00ab95efc44e4ad9d0eba77362e01619cb21dedfdedbad51b8","impliedFormat":1},{"version":"5520611f997f2b8e62a6e191da45b07813ac2e758304690606604a64ac0ca976","impliedFormat":1},{"version":"00b469cba48c9d772a4555216d21ba41cdb5a732af797ccb57267344f4fc6c3d","impliedFormat":1},{"version":"2766bf77766c85c25ec31586823fefb48344e64556faad7e75a3363e517814f6","impliedFormat":1},{"version":"b7d1eaffd8003e8dc0ec275e58bd24c7b9a4dbae2a2d0d83cf248c88237262ce","impliedFormat":1},{"version":"7a8b08c0521c3a9e1db3c8b14f37e59d838fdc32389f1193b96630b435a8e64e","impliedFormat":1},{"version":"2e54848617fae9eb73654d9cf4295d99dab4b9c759934e5b82e2e57e6aaaef20","impliedFormat":1},{"version":"ae056b7c3f727d492166d4c1169d5905ddd194128a014b5d2d621248ed94b49c","impliedFormat":1},{"version":"edc5d99a04130f066f6e8d31c7c3f9ba4749496356470279408833b4faee3554","impliedFormat":1},{"version":"2f502ac2473a2bbf0d6217f9660e9d5bf40165a2f91067596323898c53dab87c","impliedFormat":1},{"version":"21f27a0c8bc8d9a4e2cf6d9c60140f8b071d0e1ffddb4b7dcf6bbf74d0e8d470","impliedFormat":1},{"version":"754108a1e136331ac67dc8ee6aa9c95cb3bea3ac8bbf48dda7b0dbabbc8f970f","impliedFormat":1},{"version":"9e9979adc151111d71ad049305be1b6df324a98d1d1edd84adb1756cc1911bfd","impliedFormat":1},{"version":"0f38bcf19f105cd31ded5d46491ca50a46462c838816c358d445f41ac7a68f5a","impliedFormat":1},{"version":"a65fc667cd78d7cad733fab96f4bff3183c0dcbc15b083dce0055cffc5c64f9f","impliedFormat":1},{"version":"c735e27dfa775155120c50f714f594639dd7b6ad1878097feb005a0b5c59b7c2","impliedFormat":1},{"version":"f3dd541f4d87bba38dabf43fd06b7616c6f86b11608d30e61086ab39f84fa8d8","impliedFormat":1},{"version":"5583f1c0912e96625a30c20b83cff3d175194b222e4eb22170d19e33f7d8729f","impliedFormat":1},{"version":"a515b08047d24de84d89ad80b2843e565e65ed4a4e7cfc9707656470d7c555f9","impliedFormat":1},{"version":"cf43b2783a58e42fca6e45f0d47465b2ab855b7e9bea5ccb68447297df8aade5","impliedFormat":1},{"version":"27a3f158d8e6f59f29e55c37d4ae3c39574ee99539c4f12bcf46d29929974a62","impliedFormat":1},{"version":"a2d23e2f22006483c89f42077bd6a9bf92db721ebb5e0859b06fdb5c8369586d","impliedFormat":1},{"version":"6a8aec6851c09e4524937485f6553ec7332118482f3ed33238cea7496ff42103","impliedFormat":1},{"version":"d67fd6ea8cf37131627c7a9ae1de96d19d41cb32e741a475f0f56942576a7b3b","impliedFormat":1},{"version":"9b2f424a2c5c592d738100d898df3f9ee018bdd23a279f10849c3686abbec158","impliedFormat":1},{"version":"2fef96aedd23d59b6093d12d9f97c95e3a4008fcc02e8c68304235a1770fc70a","impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"3a80bc85f38526ca3b08007ee80712e7bb0601df178b23fbf0bf87036fce40ce","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"2931540c47ee0ff8a62860e61782eb17b155615db61e36986e54645ec67f67c2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"f6faf5f74e4c4cc309a6c6a6c4da02dbb840be5d3e92905a23dcd7b2b0bd1986","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"3bacf516d686d08682751a3bd2519ea3b8041a164bfb4f1d35728993e70a2426","impliedFormat":1},{"version":"7fb266686238369442bd1719bc0d7edd0199da4fb8540354e1ff7f16669b4323","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"c183b931b68ad184bc8e8372bf663f3d33304772fb482f29fb91b3c391031f3e","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"48cc3ec153b50985fb95153258a710782b25975b10dd4ac8a4f3920632d10790","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"e1528ca65ac90f6fa0e4a247eb656b4263c470bb22d9033e466463e13395e599","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"866078923a56d026e39243b4392e282c1c63159723996fa89243140e1388a98d","impliedFormat":1},{"version":"b3fb72492a07a76f7bfa29ecadd029eea081df11512e4dfe6f930a5a9cb1fb75","impliedFormat":1},{"version":"66b99e58194754a9db09e8ae09b45f878a5041f9ba497feaa9db8cc9773cafcc","impliedFormat":1},{"version":"32834526020ed45cb413fa17325171401e0b47dd8026ceedcf5f03f4a21b531f","signature":"4c40605ec0210bcf65041cd8edc8c1788d7e3a628f6112031800c61a376c04c6"},{"version":"4dd93da59e574cd8eaed49185949580accbc56a88c9509c00350435f3e350440","signature":"c10ab582afabd027c11992b67402fff86ce408ac58998dad707057e2397f4532"},{"version":"16db8af564633bd933a275934085eed479ee207822bcaf0efc0ab506f46a7409","signature":"0a68c6096f9b3cf5e5075b18e564219d4bc4545b013f07a5f9a5b2f72605323f"},{"version":"6f8eba109dd73cd6fb417079e460a10f218ce8ff9bfadcbb2ef7e4b1f7d24390","signature":"5a99598b3c410bb7732b5e00cee289ee00cfd88b66851af3775fbd5ca12b4705"},{"version":"ba3b351d4faa95da9a4b8da8cc7bb3f92dfdd8480419f2e8318ee58ae4ee7060","signature":"cb190d2b8531e24b08186dbaf71bbe39db812e1bae4f1931653374efadae6336"},{"version":"7288d6090834b74b2025718cb7a156e1c7ce63927d8e007d0b11ed352472fdf5","signature":"66d78fe137c72082e1e9289fb157531d5b6e6b13a935f5a5fa36b77f4c900df8"},{"version":"43baebc7bf6f337039d5021930a0fc762c0c188b98fee09535fe46b49f78bee4","signature":"bb05d7225b19df34f8f6ab60d61bbc800e50dc868c78abf70bc8d8e9b10400f1"},{"version":"2dcc07ec911ecb6b7d545961f896f02d0ab8bb923f7b63e130ed6798e270b886","signature":"53e0aebd17631adbddd53ebf6d41aaaf45b345697c8f81ae972c54c8ef194385"},{"version":"29a8e18b0f1bda9ad8d7c32c0c9dbf8d318ed25c2a01c12e8efdc11803e8fa27","signature":"a911d3d75af131745b37bde154daaed2c2f8d908706bff50e5f5b311114f8bf6"},{"version":"31292a20734460efdf41fc3aacba2029b6214cff6b8abe879063ec8b6b402fae","signature":"7d335f33c0cddbb21af604af5f02ad839a8312d367bde05c363138f3883aabc0"},{"version":"39ebeab78960b71d736c6974c7362fc4709e58ebb107ceb78a668e9859e4907b","signature":"10629960da378e0efa151bc606ae29e4282b0dfdbd9f970a9e3596032dd51b3a"},{"version":"f330da0cd70574804740788b9be3d39a69d9a5a804eb4ee294ebbbc320c41a61","signature":"e24b5b4107914fe357249343f54b28eb1ed844f2a7ac0f4af59c5a74154f4c74"},{"version":"eb0ab083d6a83f7fdb59873e734d212bb8fef855d83f89db82f490a6ddbc1468","signature":"83196488d4638fb1eca8062c3466d27da9b01916ae06154dd6bcddaba02ba7a7"},{"version":"8200aaef0a95aab10b721f2d5a17c9aff46b387d5179edde282f89637ab8bb5d","signature":"c5a0d7a0700affd144c3a966dc5c125e520b4ca2440308d9f3a341d0b58d769c"},{"version":"22ed384974ea2b07c0c05a6980f0e02bb86078c118f52a59c3877fa997afa123","signature":"21b08ebed87fc345ef272c8064a3a404c1b69214b553cb0da94cdc114074ea46"},{"version":"3c9b9f28b10f5ae0e177de55e1772e1ec70fd2c107ff65e2e525cd96d36d0be4","signature":"ef48372ac6555cedfa94ea5b57825802bf355713ce407a3198ecbe1e04cf4575"},{"version":"225daa7be4187fdd37fc15657d0396b3fe078d46f48481cf786b5981c068220a","signature":"bb30f5712df5f133bb0cb21abb328c14c6f56b2a507cbc8e46fce1512ad69c5d"},{"version":"50583c9cd33918688203bc9f02b6ed07b9ed89b6f871329d6b1923dc6716f514","signature":"42bbfd7d3df47adcd87429908072e92dda904ecf7ef2deabc6086e0e77137439"},{"version":"ecbc094a83a4e009d6372101585894d0c28140ad9b67764f5d7c5a9ff8ec0b1a","signature":"0868c8b9520329c4163921096f4bc771d73ed5b52bb2b658fb2bce9e75e6feac"},{"version":"fb413ead9bba7a77e218385327ce5313ac8c3c7011c1f47f2652d82fe37b3732","signature":"8ee9da692875038ce81ee0ace1a58acf55f06d1da516cb50fc0fc793ee6b6562"},{"version":"48ce7e3f514864d87c19c500d41a8cd929dbf03a4f4b5b12720ed0aa72e1ec9e","signature":"c19552267a5f9c29797424b7d636be4aca7af53ec3072946fd37cd8950ae5d20"},{"version":"5505c34e822224750d7827905e8ec84f9e6ca4e476c132dd1cdac63f7708f6ad","signature":"159ffe41aa333b357f1bd2ccca76237f8b32f4660964a0de6e11bfd6d0062c31"},{"version":"bafa86f036ff7251e70fa51fbe9597c628f4a2604c1a069549955cbe078651a9","signature":"a53f7e00b29e7f82d8f00dd3af53e54bfa6535cff8cc9fc0297c7a1d6dccd873"},{"version":"30cb1c33bdc46ca2ba303d02d705a476bd92944a60d7143b2ea983c58c5001eb","signature":"17e3f85165404071b903cf73542d9ef052306c975a1fc1cba6fa8dc91c5b9d08"},{"version":"6f58ed681675fb02b629c2dac64272bb522b63beb659f9c9968d3a6016a1c645","signature":"b0b2cf404ccba71e060811c0f54343d8d1a6ca4712c02fc5f38d63bcc9dda3e6"},{"version":"8e1c491a2e39d9b27efe82ae9b061fb01a4fb282031f3e265822407bd83fd179","signature":"bcd66f094549ebbd0aec36ad78c96e8ff7569ff5dd36c584ad1a45dac0f1e150"},{"version":"892178c0c905062b4a636e2847108b362445c231b261e6240dbfc8d6a7ce55f1","signature":"eba24ee8a680c1102eb069016b9826517393cf313853b37ad4381cbd8204ef71"},{"version":"8fbae596924369cc976c8d69f1e31328d4c4c03f1c03768aa758e7dcc643724d","signature":"7985d0dc3294e8611e60aa4fa731efefcded3328fefc08db5e9859ffd2964cad"},{"version":"7ad65f864cf7bd55094817a41b6c8ddaec69f114d70c816caf21cab10c2c832e","signature":"1a29e57aa0f60702002d797fef8711efc7ebb17e766d2c2c6c4bbdcb839f4e6c"},{"version":"db8b853f1f330820a42b132f6dcca7f7af3f5923018d1d6a70c20eceba1d348b","signature":"013bd7882e4fed5f071b7046951376c22fb8e7b658aec630880892d0dedc7c81"},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"11a0eb751bb2272df08ef052fbe62288533c4cb1b1a68240ec2f2ef62b8a400a","impliedFormat":1},{"version":"26d51d186bf97cd7a0aa6ad19e87195fd08ed72bb8df46e07cc2257b4d338eb5","impliedFormat":1},{"version":"ad10f1630c45d63b78e8030c1675c69bda299cf72aac14489d59f406571bc201","signature":"3aaa5176fe4cc7d66f7d1f05b31ae7c3001cfef4fbfbbccd2dfbcb978dd33038"},{"version":"44da6e45dd091ad00a7dced5ac52315c1b1e53158b1cc6cc479dd7aea7984ddf","signature":"c11cc0e59c118e9faf80dc45a026233824baf0609fecb73d5d7851af34dff2f2"},{"version":"cbc56b09be995310ea397969a2e9ba8b97ef61239d7d4e3afeb83d0528a0dad7","impliedFormat":1},{"version":"ee88b52c236b73e7e923af7be417db573689d4ec41921959a2a180c49fe99123","signature":"55d75141ff27393b39d0dd63965f849bc3b5773c31113102d810dae11df552d8"},{"version":"8935b25e3ed82b9f43b5dce6015727e70a9b0760fe9dc3177f85902dd240623d","signature":"d8d91a44fab31975b0ae6ad4df49a9f75125ccf1f4a6b2c61d3d765cde3a6dd7"},{"version":"d27d473411951e47d5bb4152aa629f5bab73a7a449ce60925405288d63ee12dc","signature":"216b7d428b4ed3b12b6712a4543c0057399ab7a3ff76828c1d34c5fc93dc1082"},{"version":"6d5be05e27bc4f856c1fcb859521e1e82c393f709d6641834d280f9c7c857cbb","signature":"ad8dc828b633fac6a080076d6240e023bb133a82ba8bf7bc30442754a27ff549"},{"version":"dd6ce83cd3c36f58889190fd2c7ae6adbd4fd03affd6d88aa1e0331298bd7600","signature":"e5a9c591af4fbee4b241b797457dda9564ac6e00c50412fd54b0632affecb8b3"},{"version":"6c432427c3198395e1d81618d57ce4996a70e78f81681a0973926e35c00dd78f","signature":"cd4cc5230668a1c818730aafcb71070a9f922f7f79d30840e404c2230aa986ef"},{"version":"ba625bcf8a25b3a48b1dfe3fab5a554f958fc7a93e8805c6f3738d9b98ba54e2","signature":"3d6fe6452d708ad38afd0e96a819f78aa8f13fd24e9aa2d28cbeb92b02e2a84d"},{"version":"8c60604997887a302d4145aee4d2726f1a3f2e08c4aab4da7e2a7c7993c6f368","signature":"c0f19dcea0dab2b063914c440c7960d863744c809e00358262de93592fac361c"},{"version":"0c7d478ae87b20c24daa07bf2e15cbf858e70a470dc745d3c8b65e784f8e7425","signature":"8bc9d3c4c9bafa3ff0c41169d69c379af9dde4d77c602daaaa3df7770bb94ccb"},{"version":"1964e8e58d6923090b7cf8c347102587db7fe3d33046ffd6aaca861870285cbf","signature":"6aec92998bd226a4ba2526a86f04926c132de6300ee12b85026d0dd8abf3c7c9"},{"version":"6fe297aeeae4feb1b94650c762ab4bccb953124d43dde7d18368dcfc843ebf7d","signature":"39fa02032fedb9934baf9256ec70d6e43168147254ee063a36c62bb33654fede"},{"version":"adc4b27ff0b0ee768e9c9d8f516c8de0fcad27a89f52404169073edac5c4018e","signature":"4f817733aaee22990fb9dc591fe21c418b15a07a1c1df8dc13ad377efc737caf"},{"version":"ef25d71cfc2b20d98a2170372685c766e1164d1bedae2dee912967035406fd07","signature":"e301fe0abc1e09984975380ff0e29a23c93c5fdbdac1f7e5a6e367aa6f493bc7"},{"version":"1d45a2ded3ef990e89b3309a82a85a5d96ccb3ff9f6f5a9151e70b8609278617","signature":"70956b5d9d299eb1ac6cf0485dc271d992ab43a51b2a812cb9b1f14691de68aa"},{"version":"51747ea44bc7c362b5aa1dcfa01bd2421cae008373d7d19cd1f887ef7bb8b2f1","signature":"057130ca8b5deb985417a6f44d2079c265e652173c79c151132ded7ae3c4229a"},{"version":"a2f8f6b4421c4bfdc10a8a277b770c502e7f6aa4432dd3574b1be957ecbcee17","signature":"2037df97af9eedd5be8bf873e4d0f4239006e949d64cc736ea92dc44f94b0d91"},{"version":"82dea07038d4eed6b679f22036716655327d6b6cbd7a11dada0362de9226d715","signature":"a8b0a59bac80544bd6db15ccb9f0618e670c39cfd871ed22d3500c8d7f030195"},{"version":"5c6156342f752253e2bf7b9ab1e48da1168a9b346f39307c109b6a10c6da6872","impliedFormat":99}],"root":[[193,196],[207,209],[313,342],346,347,[349,365]],"options":{"declaration":true,"esModuleInterop":true,"jsx":4,"jsxImportSource":"@satorijs/element","module":1,"outDir":"./","skipLibCheck":true,"target":9},"referencedMap":[[362,1],[359,2],[358,3],[327,4],[326,5],[325,6],[324,1],[328,4],[194,7],[195,8],[329,9],[331,10],[332,11],[339,12],[338,13],[340,14],[342,15],[356,16],[357,17],[350,18],[351,19],[354,20],[319,21],[321,22],[322,23],[318,8],[323,24],[355,25],[349,26],[334,27],[336,28],[335,29],[337,30],[333,8],[363,31],[353,32],[196,7],[361,33],[360,34],[193,7],[313,35],[207,8],[209,36],[315,37],[341,38],[208,7],[316,39],[320,40],[364,8],[330,41],[346,42],[314,29],[365,29],[317,43],[347,38],[352,44],[69,45],[71,46],[73,47],[74,48],[202,49],[188,50],[187,51],[191,52],[190,53],[68,54],[186,55],[184,56],[66,57],[65,45],[77,58],[348,51],[129,59],[130,59],[131,60],[83,61],[132,62],[133,63],[134,64],[78,51],[81,65],[79,51],[80,51],[135,66],[136,67],[137,68],[138,69],[139,70],[140,71],[141,71],[142,72],[143,73],[144,74],[145,75],[84,51],[82,51],[146,76],[147,77],[148,78],[182,79],[149,80],[150,51],[151,81],[152,82],[153,83],[154,84],[155,85],[156,86],[157,87],[158,88],[159,89],[160,89],[161,90],[162,51],[163,91],[164,92],[166,93],[165,94],[167,95],[168,96],[169,97],[170,98],[171,99],[172,100],[173,101],[174,102],[175,103],[176,104],[177,105],[178,106],[179,107],[85,51],[86,51],[87,51],[126,108],[127,51],[128,51],[180,109],[181,110],[343,51],[183,111],[204,112],[205,113],[203,51],[88,51],[254,114],[256,115],[259,115],[261,116],[260,115],[258,117],[257,117],[262,118],[312,119],[266,120],[265,121],[255,122],[267,123],[264,124],[263,115],[311,125],[287,126],[299,127],[285,128],[300,129],[309,130],[276,131],[277,132],[275,133],[308,134],[303,135],[307,136],[279,137],[296,138],[278,139],[306,140],[273,141],[274,135],[280,142],[281,51],[286,143],[284,142],[271,144],[310,145],[301,146],[290,147],[289,142],[291,148],[294,149],[288,150],[292,151],[304,134],[282,152],[283,153],[295,154],[272,129],[298,155],[297,142],[293,156],[302,51],[270,51],[305,157],[75,48],[64,51],[253,158],[251,51],[249,159],[252,160],[250,161],[248,162],[247,163],[245,164],[246,164],[244,51],[198,165],[197,51],[215,166],[210,51],[212,167],[211,168],[344,169],[222,166],[221,166],[223,170],[220,171],[218,166],[219,166],[216,172],[217,166],[269,173],[268,51],[224,174],[214,175],[213,51],[206,176],[67,51],[345,177],[201,178],[200,49],[192,179],[76,180],[189,51],[243,181],[227,182],[241,183],[225,51],[226,184],[242,185],[237,186],[238,187],[236,188],[240,189],[234,190],[228,191],[239,192],[235,183],[233,193],[231,51],[232,194],[229,51],[230,51],[185,51],[199,195],[70,51],[72,45],[61,51],[62,51],[12,51],[10,51],[11,51],[16,51],[15,51],[2,51],[17,51],[18,51],[19,51],[20,51],[21,51],[22,51],[23,51],[24,51],[3,51],[25,51],[26,51],[4,51],[27,51],[31,51],[28,51],[29,51],[30,51],[32,51],[33,51],[34,51],[5,51],[35,51],[36,51],[37,51],[38,51],[6,51],[42,51],[39,51],[40,51],[41,51],[43,51],[7,51],[44,51],[49,51],[50,51],[45,51],[46,51],[47,51],[48,51],[8,51],[54,51],[51,51],[52,51],[53,51],[55,51],[9,51],[56,51],[63,51],[57,51],[58,51],[60,51],[59,51],[1,51],[14,51],[13,51],[104,196],[114,197],[103,196],[124,198],[95,199],[94,133],[123,134],[117,200],[122,201],[97,202],[111,203],[96,204],[120,205],[92,206],[91,134],[121,207],[93,208],[98,209],[99,51],[102,209],[89,51],[125,210],[115,211],[106,212],[107,213],[109,214],[105,215],[108,216],[118,134],[100,217],[101,218],[110,219],[90,129],[113,211],[112,209],[116,51],[119,220],[366,51]],"version":"5.9.3"}
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.es2022.full.d.ts","../../../node_modules/cosmokit/lib/index.d.ts","../../../node_modules/@satorijs/element/lib/index.d.ts","../../../node_modules/@satorijs/element/jsx-runtime.d.ts","../../../node_modules/inaba/lib/index.d.ts","../../../node_modules/@koishijs/utils/lib/index.d.ts","../../../node_modules/@cordisjs/core/lib/index.d.ts","../../../node_modules/reggol/index.d.ts","../../../node_modules/@cordisjs/logger/lib/index.d.ts","../../../node_modules/schemastery/lib/index.d.ts","../../../node_modules/@cordisjs/schema/lib/index.d.ts","../../../node_modules/@cordisjs/timer/lib/index.d.ts","../../../node_modules/cordis/lib/index.d.ts","../../../node_modules/minato/lib/index.d.ts","../../../node_modules/@satorijs/protocol/lib/index.d.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@satorijs/core/node_modules/@cordisjs/plugin-http/lib/index.d.ts","../../../node_modules/path-to-regexp/dist/index.d.ts","../../../node_modules/@satorijs/core/lib/index.d.ts","../../../node_modules/@koishijs/i18n-utils/lib/index.d.ts","../../../node_modules/@koishijs/core/lib/index.d.ts","../../../node_modules/ns-require/lib/index.d.ts","../../../node_modules/@koishijs/loader/lib/shared.d.ts","../../../node_modules/@koishijs/loader/lib/index.d.ts","../../../node_modules/koishi/lib/index.d.ts","../src/types.ts","../src/config.ts","../src/constants.ts","../src/database.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../../../node_modules/puppeteer-core/lib/types.d.ts","../../../node_modules/koishi-plugin-puppeteer/lib/svg.d.ts","../../../node_modules/koishi-plugin-puppeteer/lib/index.d.ts","../../../node_modules/@koishijs/censor/lib/index.d.ts","../../../node_modules/axios/index.d.ts","../../../node_modules/agent-base/dist/helpers.d.ts","../../../node_modules/agent-base/dist/index.d.ts","../../../node_modules/https-proxy-agent/dist/index.d.ts","../src/utils/error-handler.ts","../src/utils/logger.ts","../src/utils/error-tracker.ts","../../../node_modules/domelementtype/lib/index.d.ts","../../../node_modules/domhandler/lib/node.d.ts","../../../node_modules/domhandler/lib/index.d.ts","../../../node_modules/htmlparser2/dist/commonjs/tokenizer.d.ts","../../../node_modules/htmlparser2/dist/commonjs/parser.d.ts","../../../node_modules/dom-serializer/lib/index.d.ts","../../../node_modules/domutils/lib/stringify.d.ts","../../../node_modules/domutils/lib/traversal.d.ts","../../../node_modules/domutils/lib/manipulation.d.ts","../../../node_modules/domutils/lib/querying.d.ts","../../../node_modules/domutils/lib/legacy.d.ts","../../../node_modules/domutils/lib/helpers.d.ts","../../../node_modules/domutils/lib/feeds.d.ts","../../../node_modules/domutils/lib/index.d.ts","../../../node_modules/htmlparser2/dist/commonjs/index.d.ts","../../../node_modules/parse5/dist/common/html.d.ts","../../../node_modules/parse5/dist/common/token.d.ts","../../../node_modules/parse5/dist/common/error-codes.d.ts","../../../node_modules/parse5/dist/tokenizer/preprocessor.d.ts","../../../node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts","../../../node_modules/parse5/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts","../../../node_modules/parse5/node_modules/entities/dist/commonjs/decode-codepoint.d.ts","../../../node_modules/parse5/node_modules/entities/dist/commonjs/decode.d.ts","../../../node_modules/parse5/node_modules/entities/decode.d.ts","../../../node_modules/parse5/dist/tokenizer/index.d.ts","../../../node_modules/parse5/dist/tree-adapters/interface.d.ts","../../../node_modules/parse5/dist/parser/open-element-stack.d.ts","../../../node_modules/parse5/dist/parser/formatting-element-list.d.ts","../../../node_modules/parse5/dist/parser/index.d.ts","../../../node_modules/parse5/dist/tree-adapters/default.d.ts","../../../node_modules/parse5/dist/serializer/index.d.ts","../../../node_modules/parse5/dist/common/foreign-content.d.ts","../../../node_modules/parse5/dist/index.d.ts","../../../node_modules/parse5-htmlparser2-tree-adapter/dist/index.d.ts","../../../node_modules/css-what/lib/es/types.d.ts","../../../node_modules/css-what/lib/es/parse.d.ts","../../../node_modules/css-what/lib/es/stringify.d.ts","../../../node_modules/css-what/lib/es/index.d.ts","../../../node_modules/css-select/lib/types.d.ts","../../../node_modules/css-select/lib/pseudo-selectors/filters.d.ts","../../../node_modules/css-select/lib/pseudo-selectors/pseudos.d.ts","../../../node_modules/css-select/lib/pseudo-selectors/aliases.d.ts","../../../node_modules/css-select/lib/pseudo-selectors/index.d.ts","../../../node_modules/css-select/lib/index.d.ts","../../../node_modules/cheerio-select/lib/index.d.ts","../../../node_modules/cheerio/dist/commonjs/options.d.ts","../../../node_modules/cheerio/dist/commonjs/api/attributes.d.ts","../../../node_modules/cheerio/dist/commonjs/api/traversing.d.ts","../../../node_modules/cheerio/dist/commonjs/api/manipulation.d.ts","../../../node_modules/cheerio/dist/commonjs/api/css.d.ts","../../../node_modules/cheerio/dist/commonjs/api/forms.d.ts","../../../node_modules/cheerio/dist/commonjs/api/extract.d.ts","../../../node_modules/cheerio/dist/commonjs/cheerio.d.ts","../../../node_modules/cheerio/dist/commonjs/types.d.ts","../../../node_modules/cheerio/dist/commonjs/static.d.ts","../../../node_modules/cheerio/dist/commonjs/load.d.ts","../../../node_modules/cheerio/dist/commonjs/load-parse.d.ts","../../../node_modules/cheerio/dist/commonjs/slim.d.ts","../../../node_modules/encoding-sniffer/dist/commonjs/sniffer.d.ts","../../../node_modules/encoding-sniffer/dist/commonjs/index.d.ts","../../../node_modules/cheerio/node_modules/undici/types/utility.d.ts","../../../node_modules/cheerio/node_modules/undici/types/header.d.ts","../../../node_modules/cheerio/node_modules/undici/types/readable.d.ts","../../../node_modules/cheerio/node_modules/undici/types/fetch.d.ts","../../../node_modules/cheerio/node_modules/undici/types/formdata.d.ts","../../../node_modules/cheerio/node_modules/undici/types/connector.d.ts","../../../node_modules/cheerio/node_modules/undici/types/client-stats.d.ts","../../../node_modules/cheerio/node_modules/undici/types/client.d.ts","../../../node_modules/cheerio/node_modules/undici/types/errors.d.ts","../../../node_modules/cheerio/node_modules/undici/types/dispatcher.d.ts","../../../node_modules/cheerio/node_modules/undici/types/global-dispatcher.d.ts","../../../node_modules/cheerio/node_modules/undici/types/global-origin.d.ts","../../../node_modules/cheerio/node_modules/undici/types/pool-stats.d.ts","../../../node_modules/cheerio/node_modules/undici/types/pool.d.ts","../../../node_modules/cheerio/node_modules/undici/types/handlers.d.ts","../../../node_modules/cheerio/node_modules/undici/types/balanced-pool.d.ts","../../../node_modules/cheerio/node_modules/undici/types/h2c-client.d.ts","../../../node_modules/cheerio/node_modules/undici/types/agent.d.ts","../../../node_modules/cheerio/node_modules/undici/types/mock-interceptor.d.ts","../../../node_modules/cheerio/node_modules/undici/types/mock-call-history.d.ts","../../../node_modules/cheerio/node_modules/undici/types/mock-agent.d.ts","../../../node_modules/cheerio/node_modules/undici/types/mock-client.d.ts","../../../node_modules/cheerio/node_modules/undici/types/mock-pool.d.ts","../../../node_modules/cheerio/node_modules/undici/types/snapshot-agent.d.ts","../../../node_modules/cheerio/node_modules/undici/types/mock-errors.d.ts","../../../node_modules/cheerio/node_modules/undici/types/proxy-agent.d.ts","../../../node_modules/cheerio/node_modules/undici/types/env-http-proxy-agent.d.ts","../../../node_modules/cheerio/node_modules/undici/types/retry-handler.d.ts","../../../node_modules/cheerio/node_modules/undici/types/retry-agent.d.ts","../../../node_modules/cheerio/node_modules/undici/types/api.d.ts","../../../node_modules/cheerio/node_modules/undici/types/cache-interceptor.d.ts","../../../node_modules/cheerio/node_modules/undici/types/interceptors.d.ts","../../../node_modules/cheerio/node_modules/undici/types/util.d.ts","../../../node_modules/cheerio/node_modules/undici/types/cookies.d.ts","../../../node_modules/cheerio/node_modules/undici/types/patch.d.ts","../../../node_modules/cheerio/node_modules/undici/types/websocket.d.ts","../../../node_modules/cheerio/node_modules/undici/types/eventsource.d.ts","../../../node_modules/cheerio/node_modules/undici/types/diagnostics-channel.d.ts","../../../node_modules/cheerio/node_modules/undici/types/content-type.d.ts","../../../node_modules/cheerio/node_modules/undici/types/cache.d.ts","../../../node_modules/cheerio/node_modules/undici/types/index.d.ts","../../../node_modules/cheerio/node_modules/undici/index.d.ts","../../../node_modules/cheerio/dist/commonjs/index.d.ts","../src/utils/common.ts","../src/utils/security.ts","../src/utils/fetcher.ts","../src/utils/media.ts","../src/utils/tdl.ts","../src/core/notification-queue-types.ts","../src/core/notification-queue-retry.ts","../src/utils/message-cache.ts","../src/core/notification-queue-sender.ts","../src/core/notification-queue-store.ts","../src/core/notification-queue.ts","../src/commands/utils.ts","../src/commands/subscription-management.ts","../src/commands/subscription-edit.ts","../src/commands/subscription-create.ts","../src/commands/web-monitor.ts","../src/core/ai-cache.ts","../src/utils/proxy.ts","../src/core/ai-client.ts","../src/core/ai-selector.ts","../src/core/search-types.ts","../src/core/search-format.ts","../src/core/search-rotation.ts","../src/core/search-providers.ts","../src/core/search-service.ts","../src/core/ai-utils.ts","../src/core/ai-summary.ts","../src/core/ai.ts","../src/utils/legacy-config.ts","../src/core/feeder-arg.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/dompurify/dist/purify.cjs.d.ts","../../../node_modules/isomorphic-dompurify/index.d.ts","../src/utils/sanitizer.ts","../src/utils/template.ts","../../../node_modules/@types/marked/index.d.ts","../src/core/renderer.ts","../src/core/item-processor-runtime.ts","../src/core/item-processor-template.ts","../src/utils/video-compress.ts","../src/core/telegram-video-restore.ts","../src/core/item-processor.ts","../src/core/parser.ts","../src/core/feeder-runtime.ts","../src/core/feeder.ts","../src/commands/runtime.ts","../src/commands/index.ts","../src/services/message-cache-service.ts","../src/index.ts","../src/commands/error-handler.ts","../src/core/search.ts","../src/utils/metrics.ts","../src/utils/structured-logger.ts","../../../node_modules/yml-register/types.d.ts"],"fileIdsList":[[66,83,132,149,150,192,193,201,202,207,208,209,360],[66,83,132,149,150,192,193,201,202,207,208,209,320,323,324,325,326,327,328,358,360],[66,83,132,149,150,192,193,195,201,202,208,313,340,354,355,357,360],[66,83,132,149,150,192,193,201,202,207,313,324,360],[66,83,132,149,150,192,193,201,202,324,360],[66,83,132,149,150,192,193,201,202,207,208,209,324,360],[66,83,132,149,150,192,193,201,202,360],[66,83,132,149,150],[66,83,132,137,149,150,193,208],[66,83,132,149,150,193,203,208,330],[66,83,132,149,150,193,208,312,331],[66,83,132,149,150,193,208,329,331,338],[66,83,132,149,150,193,194,208,312,334,337],[66,83,132,149,150,329,332,339],[66,83,132,149,150,193,208,341],[66,83,132,149,150,192,193,195,201,202,207,208,209,313,341,354,355,360],[66,83,132,149,150,192,193,201,202,207,208,209,313,316,319,323,341,342,354,356,360],[66,83,132,149,150,192,193,201,202,208,312,316,348,349,360],[66,83,132,149,150,192,193,201,202,208,312,313,314,347,350,360],[66,83,132,149,150,192,193,201,202,208,312,340,346,350,351,353,360],[66,83,132,149,150,193,207,318],[66,83,132,149,150,192,193,201,202,207,208,209,318,319,320,360],[66,83,132,149,150,192,193,201,202,318,360],[66,83,132,149,150,192,193,201,202,207,208,209,318,319,321,322,360],[66,83,132,149,150,192,193,201,202,208,312,313,314,360],[66,83,132,149,150,192,193,201,202,208,312,316,360],[66,83,132,149,150,333],[66,83,132,149,150,193,203,208,330,333,335],[66,83,132,149,150,193,208],[66,83,132,149,150,193,208,333,336],[66,83,132,149,150,333,334,336,337],[66,83,132,144,149,150,154,175,193,208,316,317,352],[66,83,132,149,150,192,193,194,195,196,201,202,208,209,315,316,317,320,323,354,357,359,360],[66,83,132,149,150,192,193,201,202,320,360],[66,83,132,149,150,193,208,312],[66,83,132,149,150,207,208],[66,83,132,149,150,192,193,201,202,203,206,207,208,209,313,314,360],[66,83,132,149,150,193],[66,83,132,144,149,150,154,175,192,193,201,202,208,360],[66,83,132,149,150,192,193,201,202,208,360],[66,83,132,149,150,193,203,206],[66,83,132,149,150,193,312,345],[66,83,132,133,137,144,149,150,153,154,176,193,208],[66,83,132,144,149,150,154,193,208,317],[64,83,132,149,150],[69,70,71,73,74,83,132,149,150,190],[69,71,72,73,74,83,132,149,150,190],[69,71,73,74,83,132,149,150,190],[83,132,149,150,192,193,201,202,360],[64,68,75,76,83,132,149,150,184,186,187,188],[83,132,149,150],[83,132,149,150,188,189,190],[69,71,73,74,75,76,83,132,149,150,184,186,188,190],[64,67,83,132,149,150],[64,65,75,76,77,83,132,149,150,184,185,186,188],[64,75,76,83,132,149,150,167,183,184,186,188],[65,83,132,149,150],[64,65,83,132,149,150],[83,129,130,132,149,150],[83,131,132,149,150],[132,149,150],[83,132,137,149,150,167],[83,132,133,138,143,149,150,152,164,175],[83,132,133,134,143,149,150,152],[78,79,80,83,132,149,150],[83,132,135,149,150,176],[83,132,136,137,144,149,150,153],[83,132,137,149,150,164,172],[83,132,138,140,143,149,150,152],[83,131,132,139,149,150],[83,132,140,141,149,150],[83,132,142,143,149,150],[83,131,132,143,149,150],[83,132,143,144,145,149,150,164,175],[83,132,143,144,145,149,150,159,164,167],[83,125,132,140,143,146,149,150,152,164,175],[83,132,143,144,146,147,149,150,152,164,172,175],[83,132,146,148,149,150,164,172,175],[81,82,83,84,85,86,87,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181],[83,132,143,149,150],[83,132,149,150,151,175],[83,132,140,143,149,150,152,164],[83,132,149,150,153],[83,132,149,150,154],[83,131,132,149,150,155],[83,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181],[83,132,149,150,157],[83,132,149,150,158],[83,132,143,149,150,159,160],[83,132,149,150,159,161,176,178],[83,132,144,149,150],[83,132,143,149,150,164,165,167],[83,132,149,150,166,167],[83,132,149,150,164,165],[83,132,149,150,167],[83,132,149,150,168],[83,129,132,149,150,164,169],[83,132,143,149,150,170,171],[83,132,149,150,170,171],[83,132,137,149,150,152,164,172],[83,132,149,150,173],[83,132,149,150,152,174],[83,132,146,149,150,158,175],[83,132,137,149,150,176],[83,132,149,150,164,177],[83,132,149,150,151,178],[83,132,149,150,179],[83,125,132,149,150],[83,125,132,143,145,149,150,155,164,167,175,177,178,180],[83,132,149,150,164,181],[83,132,143,146,148,149,150,152,164,172,175,181,182],[83,132,146,148,149,150,164,182],[83,132,146,149,150,152,164,172,182,204],[83,132,149,150,212,253],[83,132,149,150,212,262],[83,132,149,150,212,256,262],[83,132,149,150,212,262,263],[83,132,149,150,212,255,256,257,258,259,260,261,263],[83,132,149,150,164,255,263,264,265,266,267,269,311],[83,132,149,150,212,255,265],[83,132,149,150,212,255,262,263,264],[83,132,149,150,212,215,224,242,243,254],[83,132,149,150,212,255,262,263,264,265],[83,132,149,150,212,255,261,262,263,265],[83,132,149,150,310],[83,132,149,150,175,276,279,282,283],[83,132,149,150,164,175,279],[83,132,149,150,175,279,283],[83,132,149,150,164],[83,132,149,150,273],[83,132,149,150,277],[83,132,149,150,175,275,276,279],[83,132,149,150,152,172],[83,132,149,150,182],[83,132,149,150,182,273],[83,132,149,150,152,175,275,279],[83,132,143,149,150,164,175,270,271,272,274,278],[83,132,149,150,279,287,295],[83,132,149,150,271,277],[83,132,149,150,279,304,305],[83,132,149,150,167,175,182,271,274,279],[83,132,149,150,279],[83,132,149,150,175,275,279],[83,132,149,150,270],[83,132,149,150,273,274,275,277,278,279,280,281,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,305,306,307,308,309],[83,132,140,149,150,279,297,300],[83,132,149,150,279,287,288,289],[83,132,149,150,277,279,288,290],[83,132,149,150,278],[83,132,149,150,271,273,279],[83,132,149,150,279,283,288,290],[83,132,149,150,283],[83,132,149,150,175,277,279,282],[83,132,149,150,271,275,279,287],[83,132,149,150,279,297],[83,132,149,150,290],[83,132,149,150,167,180,182,273,279,304],[83,132,149,150,247,248,252],[83,132,149,150,248],[83,132,149,150,247,248,249,250,251],[83,132,149,150,247,248],[83,132,149,150,247],[83,132,149,150,244,245,246],[83,132,149,150,244],[83,132,149,150,197],[83,132,149,150,212],[83,132,149,150,211],[83,132,149,150,210],[83,132,149,150,343],[83,132,149,150,212,216,217,218,219,220,221,222],[83,132,149,150,210,212],[83,132,149,150,212,215],[83,132,149,150,164,268],[83,132,149,150,210,212,213,214,223],[83,132,149,150,213],[83,132,146,149,150,152,172,175,182,205],[83,132,149,150,344],[83,132,149,150,192,193,199,200,201,202,360],[83,132,149,150,188,190,191],[64,75,76,83,132,149,150,184,186,188],[83,132,149,150,212,242],[83,132,149,150,226],[83,132,149,150,225,226],[83,132,149,150,225],[83,132,149,150,225,226,227,234,235,238,239,240,241],[83,132,149,150,226,235],[83,132,149,150,225,226,227,234,235,236,237],[83,132,149,150,225,235],[83,132,149,150,235,239],[83,132,149,150,226,227,228,233],[83,132,149,150,227],[83,132,149,150,225,226,235],[83,132,149,150,232],[83,132,149,150,229,230,231],[83,132,133,149,150,164,182,197,198],[83,97,101,132,149,150,175],[83,97,132,149,150,164,175],[83,92,132,149,150],[83,94,97,132,149,150,172,175],[83,92,132,149,150,182],[83,94,97,132,149,150,152,175],[83,89,90,93,96,132,143,149,150,164,175],[83,97,104,132,149,150],[83,89,95,132,149,150],[83,97,118,119,132,149,150],[83,93,97,132,149,150,167,175,182],[83,118,132,149,150,182],[83,91,92,132,149,150,182],[83,97,132,149,150],[83,91,92,93,94,95,96,97,98,99,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,122,123,124,132,149,150],[83,97,112,132,149,150],[83,97,104,105,132,149,150],[83,95,97,105,106,132,149,150],[83,96,132,149,150],[83,89,92,97,132,149,150],[83,97,101,105,106,132,149,150],[83,101,132,149,150],[83,95,97,100,132,149,150,175],[83,89,94,97,104,132,149,150],[83,92,97,118,132,149,150,180,182]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},{"version":"0e7086243656ce24ba7dfe15a8d8e3cd4310afa6cbddb97dd06d5dc399794676","impliedFormat":99},{"version":"365cdd6814c2ff82bd29372ff73346202efc4a1dfa179e4cf6911c6b632d69ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"7038f51c3ec85e09ed2098ed581a64f7f0dfda910fc303b929af96bc79176cc3","impliedFormat":1},{"version":"a52a6d3a3d56107b369649d9849f942f2ea52c0086e0cdf8a0ecc28cdba9ea4e","impliedFormat":1},{"version":"5877124243dc40cb5f02a66f996097372ef118bd9e4afd6db5ba09b8f67a0a19","impliedFormat":1},{"version":"cd9a3966ea30aa2b4cda814d04c17b5cf121adac45f350949236438b868a5a12","impliedFormat":99},{"version":"b883960918130c038a779246eb467432ccd598ad17834d7225d776ede3f8b58a","impliedFormat":1},{"version":"c637d436a518b86363815665076d7e2dab5a4f6a103699c6da212f31157b0556","impliedFormat":99},{"version":"5630eca3f5a8b4ce16df8375c56c972c39ced536a339488adb1c205c4c04aacc","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f64e678f2da135807d2ef7d5b1a708840eaba70dc2adb3d2804a5cbdcf4dd3c","impliedFormat":99},{"version":"c042466c71ade27c6bf7da7d6a4e52f10af53cccd4c59e3a7e2e68901638ab11","impliedFormat":99},{"version":"32f47b4fde1ff7bc016df1c1b0a93c9118543d1a2a40a80639fc85a4261001fa","impliedFormat":99},{"version":"55ef00a6bfa901f0a582c07a13e654069cff85546c61f571da73dbe462bd8e13","impliedFormat":99},{"version":"76ff03302bd6283df89e817f5cecd2867be03caa5aac240342e84a5539bfd95f","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"2cbe0621042e2a68c7cbce5dfed3906a1862a16a7d496010636cdbdb91341c0f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"bb45cd435da536500f1d9692a9b49d0c570b763ccbf00473248b777f5c1f353b","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac39df6dfb9e284bb0c205b15f4d9a2b260f5bab5c85bf2fb97d0cdd509c06ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"dba28a419aec76ed864ef43e5f577a5c99a010c32e5949fe4e17a4d57c58dd11","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c959a391a75be9789b43c8468f71e3fa06488b4d691d5729dde1416dcd38225b","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"5ebe6f4cc3b803cbfc962bae0d954f9c80e5078ca41eb3f1de41d92e7193ef37","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"9f663c2f91127ef7024e8ca4b3b4383ff2770e5f826696005de382282794b127","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"1ba59c8bbeed2cb75b239bb12041582fa3e8ef32f8d0bd0ec802e38442d3f317","impliedFormat":1},{"version":"dd52547514c0fce12235ac2873631024d71cb7f92b750970c7eb6eda6a792e85","impliedFormat":99},{"version":"9a40a3320a2301a30e155d4d8445d971ad516a73222c1374b204fbe90d6f5203","impliedFormat":1},{"version":"73b7843bc39ae16c1c8a057b8c8f7410ade5d89bf88610232c7a88b21dcef55e","impliedFormat":99},{"version":"189a96b720fdf19c5cab349f7a3e99977acff3a6cdbca98c4c012c00091063b4","impliedFormat":1},{"version":"a421666af3fa0f26c82ab1f86a1a558e51337a0597d3d52c3e8fc2607c48833a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8c33acd06162b104c323f196cbdcfa3e91b3a951883e4bd0037743072174ef0e","impliedFormat":1},{"version":"1d234a6a01fe26532575863a31148226ef6d43fc60e98d0e6ab7d734f43463cc","impliedFormat":1},{"version":"adf55203a52fe23af8cbf5d9b5a0f65b0d3e6e136a50de5a12e6a361d39d9646","impliedFormat":1},{"version":"906ebde38268293593b31a9faaee6a88452cb03366cd1653efe3edd592c145a4","impliedFormat":1},{"version":"239a4eb3ab46550ff3282af0f8359bf57bd252d375d09390584a466befba69cd","signature":"91eb9719593808f3b87b7fd7a497a324b28a70dead8b0ac7285fc71e4b9745b6"},{"version":"84048efd2ae019b9162a4d629fd8cb0fcc15b75f01f2f584eee2e9a58a4c023a","signature":"549b3250089ba4e8e060ce77ee255840c04affe30397580d2b94e8d4903ec675"},{"version":"66e52b67417d2060110714a10e4dd5ab1b378ce7887dbdf0aae88f7010e5b002","signature":"3e539094c7501a16c61caba5595cc9c9a22bbb8a1527a48838da578f78ee099c"},{"version":"aadf12ad6e892c00aa556d30b71ffca0416cb375752a0580a0ab74502a416f20","signature":"dd7ffbb7da94388d5e55bb194cf1cb006990793a8178e50a8a5e77d407d6e4e1"},{"version":"cb6ec4db6cc551605992fb84f9d70c4d282557e1d6de81b887737e13bbb6a026","impliedFormat":1},{"version":"73f878783cb9c77581801b5393c0a18a58f1da745f23cdc670b743e436d58638","impliedFormat":1},{"version":"447a92650bd5715cbff1b42ffe58c0c6f3a957417078658ded0af571f3bedccd","impliedFormat":1},{"version":"1b4619105bf906d076fe7160def58d18c380bfaf91ef34309a7213f13f90dc70","impliedFormat":1},{"version":"0363d689b01dc17dc9503cde0e7837b771a827481d9a9a4a34a5e39faa539e0b","impliedFormat":1},{"version":"5c45afa7dce96a25107e8147bcb67216568164143199051a6f3c3d378228ddf6","impliedFormat":1},{"version":"1c9800fbae1b443d77672e6d3e715df7280479b7c41f08cb790e750f01b50d90","impliedFormat":99},{"version":"b541d22eb72e9c9b3330f9c9c931b57fece701e8fb3685ed031b8b777913ee72","impliedFormat":1},{"version":"d37453f9aea885973e8caa1a2d995d55f89165eb6b6134438ebeb83e12fada66","impliedFormat":1},{"version":"c5f3b1f5a2df5d78c73a3563e789b77fb71035c81e2d739b28b708fcfeac98be","impliedFormat":1},{"version":"04d0e5340c796567965173fe2dc5809e74f99bf01abb6b84f87c6b40fc50c309","signature":"5c31eba49bcc4d830850877887b1a8351426728556ac1179e72dbcc0f0408a0b"},{"version":"1279784c576342b92938c36527847bf2c7330b99eadc37e06ba00e9e6e10e494","signature":"730b6100e14bc0ddc9010716260701f0c7acc5bf126ba04cbb7b61c79d35530a"},{"version":"e6bb3bb1f142d654d73e3026ebd42727d1a02f5a9c4bfc13693083e6a3f8ce41","signature":"b7262f5e1c714225900944406c76ee71724a526bd63e726da5c5765ca79639a2"},{"version":"2556e7e8bb7e6f0bb3fe25f3da990d1812cb91f8c9b389354b6a0c8a6d687590","impliedFormat":1},{"version":"ad1c91ca536e0962dcbfcdff40073e3dd18da839e0baad3fe990cf0d10c93065","impliedFormat":1},{"version":"19cf605ba2a4e8fba017edebdddbbc45aea897ddc58b4aae4c55f382b570ff53","impliedFormat":1},{"version":"884aab8c07224434c034b49e88de0511f21536aa83ee88f1285160ba6d3fb77a","impliedFormat":1},{"version":"130b39b18c99e5678635f383ef57efaa507196838ddabb47cb104064e2ce4cd3","impliedFormat":1},{"version":"7618d2cb769e2093acd4623d645b683ab9fea78c262b3aa354aba9f5afdcaaee","impliedFormat":1},{"version":"029f1ce606891c3f57f4c0c60b8a46c8ced53e719d27a7c9693817f2fe37690b","impliedFormat":1},{"version":"83596c963e276a9c5911412fba37ae7c1fe280f2d77329928828eed5a3bfa9a6","impliedFormat":1},{"version":"81acfd3a01767770e559bc57d32684756989475be6ea32e2fe6255472c3ea116","impliedFormat":1},{"version":"88d0c3eae81868b4749ba5b88f9b6d564ee748321ce19a2f4269a4e9dd46020a","impliedFormat":1},{"version":"8266b39a828bfb2695cabfa403e7c1226d7d94599f21bea9f760e35f4ca7a576","impliedFormat":1},{"version":"c1c1e740195c882a776cf084acbaf963907785ee39e723c6375fec9a59bf2387","impliedFormat":1},{"version":"137f96b78e477e08876f6372072c3b6f1767672bf182013f84f8ae53d987ff86","impliedFormat":1},{"version":"29896c61d09880ff39f8a86873bf72ce4deb910158d3a496122781e29904c615","impliedFormat":1},{"version":"81ce540acef0d6972b0b163331583181be3603300f618dcd6a6a3138954ff30c","impliedFormat":1},{"version":"19990350fca066265b2c190c9b6cde1229f35002ea2d4df8c9e397e9942f6c89","impliedFormat":99},{"version":"8fb8fdda477cd7382477ffda92c2bb7d9f7ef583b1aa531eb6b2dc2f0a206c10","impliedFormat":99},{"version":"66995b0c991b5c5d42eff1d950733f85482c7419f7296ab8952e03718169e379","impliedFormat":99},{"version":"9863f888da357e35e013ca3465b794a490a198226bd8232c2f81fb44e16ff323","impliedFormat":99},{"version":"84bc2d80326a83ee4a6e7cba2fd480b86502660770c0e24da96535af597c9f1e","impliedFormat":1},{"version":"ea27768379b866ee3f5da2419650acdb01125479f7af73580a4bceb25b79e372","impliedFormat":1},{"version":"598931eeb4362542cae5845f95c5f0e45ac668925a40ce201e244d7fe808e965","impliedFormat":1},{"version":"da9ef88cde9f715756da642ad80c4cd87a987f465d325462d6bc2a0b11d202c8","impliedFormat":1},{"version":"9462ab013df86c16a2a69ca0a3b6f31d4fd86dd29a947e14b590eb20806f220b","impliedFormat":99},{"version":"b4c6184d78303b0816e779a48bef779b15aea4a66028eb819aac0abee8407dea","impliedFormat":99},{"version":"db085d2171d48938a99e851dafe0e486dce9859e5dfa73c21de5ed3d4d6fb0c5","impliedFormat":99},{"version":"62a3ad1ddd1f5974b3bf105680b3e09420f2230711d6520a521fab2be1a32838","impliedFormat":99},{"version":"a77be6fc44c876bc10c897107f84eaba10790913ebdcad40fcda7e47469b2160","impliedFormat":99},{"version":"06cf55b6da5cef54eaaf51cdc3d4e5ebf16adfdd9ebd20cec7fe719be9ced017","impliedFormat":99},{"version":"91f5dbcdb25d145a56cffe957ec665256827892d779ef108eb2f3864faff523b","impliedFormat":99},{"version":"052ba354bab8fb943e0bc05a0769f7b81d7c3b3c6cd0f5cfa53c7b2da2a525c5","impliedFormat":99},{"version":"927955a3de5857e0a1c575ced5a4245e74e6821d720ed213141347dd1870197f","impliedFormat":99},{"version":"fec804d54cd97dd77e956232fc37dc13f53e160d4bbeeb5489e86eeaa91f7ebd","impliedFormat":99},{"version":"75ef949153a3e6ff419e39d0fa5eb6617e92de5019738ad3c43872023d9665f5","impliedFormat":99},{"version":"ed9ce8e6dd5b2d00ab95efc44e4ad9d0eba77362e01619cb21dedfdedbad51b8","impliedFormat":1},{"version":"5520611f997f2b8e62a6e191da45b07813ac2e758304690606604a64ac0ca976","impliedFormat":1},{"version":"00b469cba48c9d772a4555216d21ba41cdb5a732af797ccb57267344f4fc6c3d","impliedFormat":1},{"version":"2766bf77766c85c25ec31586823fefb48344e64556faad7e75a3363e517814f6","impliedFormat":1},{"version":"b7d1eaffd8003e8dc0ec275e58bd24c7b9a4dbae2a2d0d83cf248c88237262ce","impliedFormat":1},{"version":"7a8b08c0521c3a9e1db3c8b14f37e59d838fdc32389f1193b96630b435a8e64e","impliedFormat":1},{"version":"2e54848617fae9eb73654d9cf4295d99dab4b9c759934e5b82e2e57e6aaaef20","impliedFormat":1},{"version":"ae056b7c3f727d492166d4c1169d5905ddd194128a014b5d2d621248ed94b49c","impliedFormat":1},{"version":"edc5d99a04130f066f6e8d31c7c3f9ba4749496356470279408833b4faee3554","impliedFormat":1},{"version":"2f502ac2473a2bbf0d6217f9660e9d5bf40165a2f91067596323898c53dab87c","impliedFormat":1},{"version":"21f27a0c8bc8d9a4e2cf6d9c60140f8b071d0e1ffddb4b7dcf6bbf74d0e8d470","impliedFormat":1},{"version":"754108a1e136331ac67dc8ee6aa9c95cb3bea3ac8bbf48dda7b0dbabbc8f970f","impliedFormat":1},{"version":"9e9979adc151111d71ad049305be1b6df324a98d1d1edd84adb1756cc1911bfd","impliedFormat":1},{"version":"0f38bcf19f105cd31ded5d46491ca50a46462c838816c358d445f41ac7a68f5a","impliedFormat":1},{"version":"a65fc667cd78d7cad733fab96f4bff3183c0dcbc15b083dce0055cffc5c64f9f","impliedFormat":1},{"version":"c735e27dfa775155120c50f714f594639dd7b6ad1878097feb005a0b5c59b7c2","impliedFormat":1},{"version":"f3dd541f4d87bba38dabf43fd06b7616c6f86b11608d30e61086ab39f84fa8d8","impliedFormat":1},{"version":"5583f1c0912e96625a30c20b83cff3d175194b222e4eb22170d19e33f7d8729f","impliedFormat":1},{"version":"a515b08047d24de84d89ad80b2843e565e65ed4a4e7cfc9707656470d7c555f9","impliedFormat":1},{"version":"cf43b2783a58e42fca6e45f0d47465b2ab855b7e9bea5ccb68447297df8aade5","impliedFormat":1},{"version":"27a3f158d8e6f59f29e55c37d4ae3c39574ee99539c4f12bcf46d29929974a62","impliedFormat":1},{"version":"a2d23e2f22006483c89f42077bd6a9bf92db721ebb5e0859b06fdb5c8369586d","impliedFormat":1},{"version":"6a8aec6851c09e4524937485f6553ec7332118482f3ed33238cea7496ff42103","impliedFormat":1},{"version":"d67fd6ea8cf37131627c7a9ae1de96d19d41cb32e741a475f0f56942576a7b3b","impliedFormat":1},{"version":"9b2f424a2c5c592d738100d898df3f9ee018bdd23a279f10849c3686abbec158","impliedFormat":1},{"version":"2fef96aedd23d59b6093d12d9f97c95e3a4008fcc02e8c68304235a1770fc70a","impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"3a80bc85f38526ca3b08007ee80712e7bb0601df178b23fbf0bf87036fce40ce","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"2931540c47ee0ff8a62860e61782eb17b155615db61e36986e54645ec67f67c2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"f6faf5f74e4c4cc309a6c6a6c4da02dbb840be5d3e92905a23dcd7b2b0bd1986","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"3bacf516d686d08682751a3bd2519ea3b8041a164bfb4f1d35728993e70a2426","impliedFormat":1},{"version":"7fb266686238369442bd1719bc0d7edd0199da4fb8540354e1ff7f16669b4323","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"c183b931b68ad184bc8e8372bf663f3d33304772fb482f29fb91b3c391031f3e","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"48cc3ec153b50985fb95153258a710782b25975b10dd4ac8a4f3920632d10790","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"e1528ca65ac90f6fa0e4a247eb656b4263c470bb22d9033e466463e13395e599","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"866078923a56d026e39243b4392e282c1c63159723996fa89243140e1388a98d","impliedFormat":1},{"version":"b3fb72492a07a76f7bfa29ecadd029eea081df11512e4dfe6f930a5a9cb1fb75","impliedFormat":1},{"version":"66b99e58194754a9db09e8ae09b45f878a5041f9ba497feaa9db8cc9773cafcc","impliedFormat":1},{"version":"32834526020ed45cb413fa17325171401e0b47dd8026ceedcf5f03f4a21b531f","signature":"4c40605ec0210bcf65041cd8edc8c1788d7e3a628f6112031800c61a376c04c6"},{"version":"4dd93da59e574cd8eaed49185949580accbc56a88c9509c00350435f3e350440","signature":"c10ab582afabd027c11992b67402fff86ce408ac58998dad707057e2397f4532"},{"version":"16db8af564633bd933a275934085eed479ee207822bcaf0efc0ab506f46a7409","signature":"0a68c6096f9b3cf5e5075b18e564219d4bc4545b013f07a5f9a5b2f72605323f"},{"version":"938cf5e11aaa0f4426bf144c74f6f923ae5e137b2e6638267d96ed39fb2e569a","signature":"5a99598b3c410bb7732b5e00cee289ee00cfd88b66851af3775fbd5ca12b4705"},{"version":"33a78b15cbbdde1871e0968c4d00340870168e91ce64efa54a9f16337a1e92e3","signature":"9ae6ed27eb934738ba9f8341069b5794739d2f045ce7bd1248b68fd25b52029c"},{"version":"7288d6090834b74b2025718cb7a156e1c7ce63927d8e007d0b11ed352472fdf5","signature":"66d78fe137c72082e1e9289fb157531d5b6e6b13a935f5a5fa36b77f4c900df8"},{"version":"43baebc7bf6f337039d5021930a0fc762c0c188b98fee09535fe46b49f78bee4","signature":"bb05d7225b19df34f8f6ab60d61bbc800e50dc868c78abf70bc8d8e9b10400f1"},{"version":"2dcc07ec911ecb6b7d545961f896f02d0ab8bb923f7b63e130ed6798e270b886","signature":"53e0aebd17631adbddd53ebf6d41aaaf45b345697c8f81ae972c54c8ef194385"},{"version":"29a8e18b0f1bda9ad8d7c32c0c9dbf8d318ed25c2a01c12e8efdc11803e8fa27","signature":"a911d3d75af131745b37bde154daaed2c2f8d908706bff50e5f5b311114f8bf6"},{"version":"31292a20734460efdf41fc3aacba2029b6214cff6b8abe879063ec8b6b402fae","signature":"7d335f33c0cddbb21af604af5f02ad839a8312d367bde05c363138f3883aabc0"},{"version":"39ebeab78960b71d736c6974c7362fc4709e58ebb107ceb78a668e9859e4907b","signature":"10629960da378e0efa151bc606ae29e4282b0dfdbd9f970a9e3596032dd51b3a"},{"version":"f330da0cd70574804740788b9be3d39a69d9a5a804eb4ee294ebbbc320c41a61","signature":"e24b5b4107914fe357249343f54b28eb1ed844f2a7ac0f4af59c5a74154f4c74"},{"version":"eb0ab083d6a83f7fdb59873e734d212bb8fef855d83f89db82f490a6ddbc1468","signature":"83196488d4638fb1eca8062c3466d27da9b01916ae06154dd6bcddaba02ba7a7"},{"version":"8200aaef0a95aab10b721f2d5a17c9aff46b387d5179edde282f89637ab8bb5d","signature":"c5a0d7a0700affd144c3a966dc5c125e520b4ca2440308d9f3a341d0b58d769c"},{"version":"22ed384974ea2b07c0c05a6980f0e02bb86078c118f52a59c3877fa997afa123","signature":"21b08ebed87fc345ef272c8064a3a404c1b69214b553cb0da94cdc114074ea46"},{"version":"3c9b9f28b10f5ae0e177de55e1772e1ec70fd2c107ff65e2e525cd96d36d0be4","signature":"ef48372ac6555cedfa94ea5b57825802bf355713ce407a3198ecbe1e04cf4575"},{"version":"225daa7be4187fdd37fc15657d0396b3fe078d46f48481cf786b5981c068220a","signature":"bb30f5712df5f133bb0cb21abb328c14c6f56b2a507cbc8e46fce1512ad69c5d"},{"version":"50583c9cd33918688203bc9f02b6ed07b9ed89b6f871329d6b1923dc6716f514","signature":"42bbfd7d3df47adcd87429908072e92dda904ecf7ef2deabc6086e0e77137439"},{"version":"ecbc094a83a4e009d6372101585894d0c28140ad9b67764f5d7c5a9ff8ec0b1a","signature":"0868c8b9520329c4163921096f4bc771d73ed5b52bb2b658fb2bce9e75e6feac"},{"version":"fb413ead9bba7a77e218385327ce5313ac8c3c7011c1f47f2652d82fe37b3732","signature":"8ee9da692875038ce81ee0ace1a58acf55f06d1da516cb50fc0fc793ee6b6562"},{"version":"48ce7e3f514864d87c19c500d41a8cd929dbf03a4f4b5b12720ed0aa72e1ec9e","signature":"c19552267a5f9c29797424b7d636be4aca7af53ec3072946fd37cd8950ae5d20"},{"version":"5505c34e822224750d7827905e8ec84f9e6ca4e476c132dd1cdac63f7708f6ad","signature":"159ffe41aa333b357f1bd2ccca76237f8b32f4660964a0de6e11bfd6d0062c31"},{"version":"bafa86f036ff7251e70fa51fbe9597c628f4a2604c1a069549955cbe078651a9","signature":"a53f7e00b29e7f82d8f00dd3af53e54bfa6535cff8cc9fc0297c7a1d6dccd873"},{"version":"30cb1c33bdc46ca2ba303d02d705a476bd92944a60d7143b2ea983c58c5001eb","signature":"17e3f85165404071b903cf73542d9ef052306c975a1fc1cba6fa8dc91c5b9d08"},{"version":"6f58ed681675fb02b629c2dac64272bb522b63beb659f9c9968d3a6016a1c645","signature":"b0b2cf404ccba71e060811c0f54343d8d1a6ca4712c02fc5f38d63bcc9dda3e6"},{"version":"8e1c491a2e39d9b27efe82ae9b061fb01a4fb282031f3e265822407bd83fd179","signature":"bcd66f094549ebbd0aec36ad78c96e8ff7569ff5dd36c584ad1a45dac0f1e150"},{"version":"892178c0c905062b4a636e2847108b362445c231b261e6240dbfc8d6a7ce55f1","signature":"eba24ee8a680c1102eb069016b9826517393cf313853b37ad4381cbd8204ef71"},{"version":"8fbae596924369cc976c8d69f1e31328d4c4c03f1c03768aa758e7dcc643724d","signature":"7985d0dc3294e8611e60aa4fa731efefcded3328fefc08db5e9859ffd2964cad"},{"version":"7ad65f864cf7bd55094817a41b6c8ddaec69f114d70c816caf21cab10c2c832e","signature":"1a29e57aa0f60702002d797fef8711efc7ebb17e766d2c2c6c4bbdcb839f4e6c"},{"version":"db8b853f1f330820a42b132f6dcca7f7af3f5923018d1d6a70c20eceba1d348b","signature":"013bd7882e4fed5f071b7046951376c22fb8e7b658aec630880892d0dedc7c81"},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"11a0eb751bb2272df08ef052fbe62288533c4cb1b1a68240ec2f2ef62b8a400a","impliedFormat":1},{"version":"26d51d186bf97cd7a0aa6ad19e87195fd08ed72bb8df46e07cc2257b4d338eb5","impliedFormat":1},{"version":"ad10f1630c45d63b78e8030c1675c69bda299cf72aac14489d59f406571bc201","signature":"3aaa5176fe4cc7d66f7d1f05b31ae7c3001cfef4fbfbbccd2dfbcb978dd33038"},{"version":"44da6e45dd091ad00a7dced5ac52315c1b1e53158b1cc6cc479dd7aea7984ddf","signature":"c11cc0e59c118e9faf80dc45a026233824baf0609fecb73d5d7851af34dff2f2"},{"version":"cbc56b09be995310ea397969a2e9ba8b97ef61239d7d4e3afeb83d0528a0dad7","impliedFormat":1},{"version":"ee88b52c236b73e7e923af7be417db573689d4ec41921959a2a180c49fe99123","signature":"55d75141ff27393b39d0dd63965f849bc3b5773c31113102d810dae11df552d8"},{"version":"8935b25e3ed82b9f43b5dce6015727e70a9b0760fe9dc3177f85902dd240623d","signature":"d8d91a44fab31975b0ae6ad4df49a9f75125ccf1f4a6b2c61d3d765cde3a6dd7"},{"version":"d27d473411951e47d5bb4152aa629f5bab73a7a449ce60925405288d63ee12dc","signature":"216b7d428b4ed3b12b6712a4543c0057399ab7a3ff76828c1d34c5fc93dc1082"},{"version":"24a73da090c738ce8648cb1d23eff3d2915765cc8e8c1892a3b64b4a1aa9b9d6","signature":"ad8dc828b633fac6a080076d6240e023bb133a82ba8bf7bc30442754a27ff549"},{"version":"9538d59d7c8447c428206a39a0f009cfbb5dc659c45e6713671866f12966bb94","signature":"a6fa0cc3b85bfaa07ec6d5a6bd11c6b5645a2869e8966b7e2a00ca58f63b4781"},{"version":"6c432427c3198395e1d81618d57ce4996a70e78f81681a0973926e35c00dd78f","signature":"cd4cc5230668a1c818730aafcb71070a9f922f7f79d30840e404c2230aa986ef"},{"version":"ba625bcf8a25b3a48b1dfe3fab5a554f958fc7a93e8805c6f3738d9b98ba54e2","signature":"3d6fe6452d708ad38afd0e96a819f78aa8f13fd24e9aa2d28cbeb92b02e2a84d"},{"version":"8c60604997887a302d4145aee4d2726f1a3f2e08c4aab4da7e2a7c7993c6f368","signature":"c0f19dcea0dab2b063914c440c7960d863744c809e00358262de93592fac361c"},{"version":"0c7d478ae87b20c24daa07bf2e15cbf858e70a470dc745d3c8b65e784f8e7425","signature":"8bc9d3c4c9bafa3ff0c41169d69c379af9dde4d77c602daaaa3df7770bb94ccb"},{"version":"1964e8e58d6923090b7cf8c347102587db7fe3d33046ffd6aaca861870285cbf","signature":"6aec92998bd226a4ba2526a86f04926c132de6300ee12b85026d0dd8abf3c7c9"},{"version":"6fe297aeeae4feb1b94650c762ab4bccb953124d43dde7d18368dcfc843ebf7d","signature":"39fa02032fedb9934baf9256ec70d6e43168147254ee063a36c62bb33654fede"},{"version":"adc4b27ff0b0ee768e9c9d8f516c8de0fcad27a89f52404169073edac5c4018e","signature":"4f817733aaee22990fb9dc591fe21c418b15a07a1c1df8dc13ad377efc737caf"},{"version":"ef25d71cfc2b20d98a2170372685c766e1164d1bedae2dee912967035406fd07","signature":"e301fe0abc1e09984975380ff0e29a23c93c5fdbdac1f7e5a6e367aa6f493bc7"},{"version":"1d45a2ded3ef990e89b3309a82a85a5d96ccb3ff9f6f5a9151e70b8609278617","signature":"70956b5d9d299eb1ac6cf0485dc271d992ab43a51b2a812cb9b1f14691de68aa"},{"version":"51747ea44bc7c362b5aa1dcfa01bd2421cae008373d7d19cd1f887ef7bb8b2f1","signature":"057130ca8b5deb985417a6f44d2079c265e652173c79c151132ded7ae3c4229a"},{"version":"a2f8f6b4421c4bfdc10a8a277b770c502e7f6aa4432dd3574b1be957ecbcee17","signature":"2037df97af9eedd5be8bf873e4d0f4239006e949d64cc736ea92dc44f94b0d91"},{"version":"82dea07038d4eed6b679f22036716655327d6b6cbd7a11dada0362de9226d715","signature":"a8b0a59bac80544bd6db15ccb9f0618e670c39cfd871ed22d3500c8d7f030195"},{"version":"5c6156342f752253e2bf7b9ab1e48da1168a9b346f39307c109b6a10c6da6872","impliedFormat":99}],"root":[[193,196],[207,209],[313,342],346,347,[349,365]],"options":{"declaration":true,"esModuleInterop":true,"jsx":4,"jsxImportSource":"@satorijs/element","module":1,"outDir":"./","skipLibCheck":true,"target":9},"referencedMap":[[362,1],[359,2],[358,3],[327,4],[326,5],[325,6],[324,1],[328,4],[194,7],[195,8],[329,9],[331,10],[332,11],[339,12],[338,13],[340,14],[342,15],[356,16],[357,17],[350,18],[351,19],[354,20],[319,21],[321,22],[322,23],[318,8],[323,24],[355,25],[349,26],[334,27],[336,28],[335,29],[337,30],[333,8],[363,31],[353,32],[196,7],[361,33],[360,34],[193,7],[313,35],[207,8],[209,36],[315,37],[341,38],[208,7],[316,39],[320,40],[364,8],[330,41],[346,42],[314,29],[365,29],[317,43],[347,38],[352,44],[69,45],[71,46],[73,47],[74,48],[202,49],[188,50],[187,51],[191,52],[190,53],[68,54],[186,55],[184,56],[66,57],[65,45],[77,58],[348,51],[129,59],[130,59],[131,60],[83,61],[132,62],[133,63],[134,64],[78,51],[81,65],[79,51],[80,51],[135,66],[136,67],[137,68],[138,69],[139,70],[140,71],[141,71],[142,72],[143,73],[144,74],[145,75],[84,51],[82,51],[146,76],[147,77],[148,78],[182,79],[149,80],[150,51],[151,81],[152,82],[153,83],[154,84],[155,85],[156,86],[157,87],[158,88],[159,89],[160,89],[161,90],[162,51],[163,91],[164,92],[166,93],[165,94],[167,95],[168,96],[169,97],[170,98],[171,99],[172,100],[173,101],[174,102],[175,103],[176,104],[177,105],[178,106],[179,107],[85,51],[86,51],[87,51],[126,108],[127,51],[128,51],[180,109],[181,110],[343,51],[183,111],[204,112],[205,113],[203,51],[88,51],[254,114],[256,115],[259,115],[261,116],[260,115],[258,117],[257,117],[262,118],[312,119],[266,120],[265,121],[255,122],[267,123],[264,124],[263,115],[311,125],[287,126],[299,127],[285,128],[300,129],[309,130],[276,131],[277,132],[275,133],[308,134],[303,135],[307,136],[279,137],[296,138],[278,139],[306,140],[273,141],[274,135],[280,142],[281,51],[286,143],[284,142],[271,144],[310,145],[301,146],[290,147],[289,142],[291,148],[294,149],[288,150],[292,151],[304,134],[282,152],[283,153],[295,154],[272,129],[298,155],[297,142],[293,156],[302,51],[270,51],[305,157],[75,48],[64,51],[253,158],[251,51],[249,159],[252,160],[250,161],[248,162],[247,163],[245,164],[246,164],[244,51],[198,165],[197,51],[215,166],[210,51],[212,167],[211,168],[344,169],[222,166],[221,166],[223,170],[220,171],[218,166],[219,166],[216,172],[217,166],[269,173],[268,51],[224,174],[214,175],[213,51],[206,176],[67,51],[345,177],[201,178],[200,49],[192,179],[76,180],[189,51],[243,181],[227,182],[241,183],[225,51],[226,184],[242,185],[237,186],[238,187],[236,188],[240,189],[234,190],[228,191],[239,192],[235,183],[233,193],[231,51],[232,194],[229,51],[230,51],[185,51],[199,195],[70,51],[72,45],[61,51],[62,51],[12,51],[10,51],[11,51],[16,51],[15,51],[2,51],[17,51],[18,51],[19,51],[20,51],[21,51],[22,51],[23,51],[24,51],[3,51],[25,51],[26,51],[4,51],[27,51],[31,51],[28,51],[29,51],[30,51],[32,51],[33,51],[34,51],[5,51],[35,51],[36,51],[37,51],[38,51],[6,51],[42,51],[39,51],[40,51],[41,51],[43,51],[7,51],[44,51],[49,51],[50,51],[45,51],[46,51],[47,51],[48,51],[8,51],[54,51],[51,51],[52,51],[53,51],[55,51],[9,51],[56,51],[63,51],[57,51],[58,51],[60,51],[59,51],[1,51],[14,51],[13,51],[104,196],[114,197],[103,196],[124,198],[95,199],[94,133],[123,134],[117,200],[122,201],[97,202],[111,203],[96,204],[120,205],[92,206],[91,134],[121,207],[93,208],[98,209],[99,51],[102,209],[89,51],[125,210],[115,211],[106,212],[107,213],[109,214],[105,215],[108,216],[118,134],[100,217],[101,218],[110,219],[90,129],[113,211],[112,209],[116,51],[119,220],[366,51]],"version":"5.9.3"}
@@ -38,6 +38,17 @@ const url_1 = require("url");
38
38
  const fs = __importStar(require("fs"));
39
39
  const path = __importStar(require("path"));
40
40
  const logger_1 = require("./logger");
41
+ /** 静默删除单个文件,文件为空或不存在/删除失败都不抛错 */
42
+ async function tryUnlink(filePath) {
43
+ if (!filePath)
44
+ return;
45
+ try {
46
+ await fs.promises.unlink(filePath);
47
+ }
48
+ catch {
49
+ // 忽略:文件可能已不存在或被并发清理
50
+ }
51
+ }
41
52
  const getCacheDir = (config) => {
42
53
  let dir = config.basic.cacheDir ? path.resolve('./', config.basic.cacheDir || "") : `${__dirname}/cache`;
43
54
  let mkdir = (path, deep = 2) => {
@@ -164,9 +175,11 @@ const getVideoUrl = async (ctx, config, $http, url, arg, useBase64Mode = false,
164
175
  // - 其它走 HTTP 下载
165
176
  let bufferData;
166
177
  let contentType;
178
+ // 若 src 是 file://(tdl 流程注入),读入内存后可删源文件,避免缓存目录堆积大视频
179
+ let localSourcePath = null;
167
180
  try {
168
181
  if (src.startsWith('data:')) {
169
- // data URL 直接解析(tdl 流程已注入)
182
+ // data URL 直接解析(当前 tdl 流程注入的是 file://,这里保留 data: 解析以备其它来源)
170
183
  const match = src.match(/^data:([^;]+)?;base64,(.*)$/s);
171
184
  if (!match) {
172
185
  (0, logger_1.debug)(config, `data URL 格式无效,跳过该视频`, 'video error', 'error');
@@ -178,12 +191,12 @@ const getVideoUrl = async (ctx, config, $http, url, arg, useBase64Mode = false,
178
191
  }
179
192
  else if (/^file:/i.test(src)) {
180
193
  // file:// 直接读取本地文件(tdl 流程已注入)
194
+ // 用异步 readFile 避免阻塞事件循环(视频可能几十 MB)
181
195
  const filePath = (0, url_1.fileURLToPath)(src);
182
- const stat = fs.statSync(filePath);
183
- bufferData = fs.readFileSync(filePath);
196
+ bufferData = await fs.promises.readFile(filePath);
184
197
  contentType = 'video/mp4';
198
+ localSourcePath = filePath; // 标记:读入内存后即可删,避免缓存堆积
185
199
  (0, logger_1.debug)(config, `视频来自本地文件: ${filePath},大小: ${(bufferData.length / 1024 / 1024).toFixed(2)} MB`, 'video download', 'details');
186
- void stat;
187
200
  }
188
201
  else {
189
202
  const res = await $http(src, arg, { responseType: 'arraybuffer', timeout: 120000 });
@@ -197,6 +210,8 @@ const getVideoUrl = async (ctx, config, $http, url, arg, useBase64Mode = false,
197
210
  const sizeMB = (contentLength / 1024 / 1024).toFixed(2);
198
211
  if (contentLength > maxSize) {
199
212
  (0, logger_1.debug)(config, `视频文件过大 (${sizeMB} MB),超过限制 ${config.basic.maxVideoSize} MB,跳过该视频`, 'video size', 'info');
213
+ // 体积超限:删除 tdl 源文件,避免大文件堆积
214
+ await tryUnlink(localSourcePath);
200
215
  return '';
201
216
  }
202
217
  }
@@ -204,6 +219,9 @@ const getVideoUrl = async (ctx, config, $http, url, arg, useBase64Mode = false,
204
219
  (0, logger_1.debug)(config, `视频获取失败: ${error}`, 'video error', 'error');
205
220
  return '';
206
221
  }
222
+ // file:// 已读入内存(bufferData),后续 base64/File/assets 都基于内存数据,
223
+ // 源文件不再需要 —— 立即删,避免几十 MB 视频在缓存目录堆积
224
+ await tryUnlink(localSourcePath);
207
225
  let suffix = contentType?.split('/')[1] || 'mp4';
208
226
  let base64Prefix = `data:${contentType};base64,`;
209
227
  let base64Data = base64Prefix + bufferData.toString('base64');
@@ -11,6 +11,24 @@
11
11
  * - 二进制缺失走同一返回路径,上层无感知。
12
12
  */
13
13
  import { Config, proxyAgent } from '../types';
14
+ /**
15
+ * 运行一个子进程,超时时强制杀死整个进程组。
16
+ *
17
+ * tdl 用 bolt 存储,进程被 SIGTERM 后有时不释放文件锁,导致后续所有 tdl
18
+ * 调用报 "Current database is used by another process"。本函数用 detached
19
+ * 模式 + 进程组 kill(POSIX:负 PID;Windows:taskkill /T)确保连子进程
20
+ * 一起清理,不残留锁。
21
+ *
22
+ * @returns 进程正常结束返回 { stdout, stderr }
23
+ * @throws 超时(会先强杀)、非 0 退出、启动失败
24
+ */
25
+ export declare function runWithForcedKill(bin: string, args: string[], opts: {
26
+ timeoutMs: number;
27
+ windowsHide?: boolean;
28
+ }): Promise<{
29
+ stdout: string;
30
+ stderr: string;
31
+ }>;
14
32
  /**
15
33
  * 探测某个可执行文件是否存在于 PATH 中。
16
34
  *
@@ -62,10 +80,23 @@ export declare function detectVideoTooBig(html: any): boolean;
62
80
  /**
63
81
  * 从 cheerio 文档里提取 "Video is too big" 占位 blockquote 内的海报图地址。
64
82
  *
83
+ * 多视频 album 时,返回**第一个**匹配 blockquote 的 poster(向后兼容)。
84
+ * 如需全部,用 extractTooBigPosters。
85
+ *
65
86
  * @param html cheerio 实例
66
87
  * @returns 找到则返回图片 URL,否则空串
67
88
  */
68
89
  export declare function extractTooBigPoster(html: any): string;
90
+ /**
91
+ * 提取所有 "Video is too big" 占位 blockquote 的海报图地址,按文档出现顺序返回。
92
+ *
93
+ * 多视频 album 场景:3 个 blockquote 各带一张 poster,
94
+ * 返回顺序与 blockquote 顺序一致,用于按位置配对注入视频。
95
+ *
96
+ * @param html cheerio 实例
97
+ * @returns poster URL 数组(无图位置返回空串占位,长度 = too-big blockquote 数)
98
+ */
99
+ export declare function extractTooBigPosters(html: any): string[];
69
100
  export interface DownloadWithTdlOptions {
70
101
  config: Config;
71
102
  /** Telegram 消息链接,如 https://t.me/anyul996/28 */
@@ -78,17 +109,18 @@ export interface DownloadWithTdlOptions {
78
109
  workDir?: string;
79
110
  }
80
111
  /**
81
- * 调用 tdl 下载单条 Telegram 消息的视频。
112
+ * 调用 tdl 下载 Telegram 消息的视频(支持多视频 album)。
82
113
  *
83
- * 命令形态:`tdl [--storage ...] [--proxy ...] dl -u <link> -d <tmpDir>`
84
- * (全局 flag 必须在子命令 dl 之前;下载产物落在 -d 指定目录)
114
+ * 命令形态:`tdl [--storage ...] [--proxy ...] dl -u <link> -d <tmpDir> --group`
115
+ * (全局 flag 必须在子命令 dl 之前;--group 自动检测相册/分组消息,下载全部媒体;
116
+ * 对单视频无副作用——自动检测到 1 项)
85
117
  *
86
118
  * 代理与会话解析优先级:
87
119
  * - `--proxy`:config.tdl.proxy(专用)→ 订阅级代理(proxyByEnv != false)
88
120
  * - `--storage`:config.tdl.storage(登录与下载必须一致,否则找不到会话)
89
121
  *
90
- * @returns 成功返回 mp4 绝对路径;二进制缺失/未登录/超时/无产物时返回 null
122
+ * @returns 成功返回视频绝对路径数组(按文件名排序 = 专辑顺序);二进制缺失/未登录/超时/无产物时返回 null
91
123
  */
92
- export declare function downloadWithTdl(opts: DownloadWithTdlOptions): Promise<string | null>;
124
+ export declare function downloadWithTdl(opts: DownloadWithTdlOptions): Promise<string[] | null>;
93
125
  /** 静默删除目录,失败不抛错 */
94
126
  export declare function safeRemoveDir(dir: string): Promise<void>;
package/lib/utils/tdl.js CHANGED
@@ -45,12 +45,14 @@ var __importStar = (this && this.__importStar) || (function () {
45
45
  };
46
46
  })();
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.runWithForcedKill = runWithForcedKill;
48
49
  exports.detectBinary = detectBinary;
49
50
  exports.resolveTdlBinary = resolveTdlBinary;
50
51
  exports._resetBinaryCacheForTest = _resetBinaryCacheForTest;
51
52
  exports.parseTelegramLink = parseTelegramLink;
52
53
  exports.detectVideoTooBig = detectVideoTooBig;
53
54
  exports.extractTooBigPoster = extractTooBigPoster;
55
+ exports.extractTooBigPosters = extractTooBigPosters;
54
56
  exports.downloadWithTdl = downloadWithTdl;
55
57
  exports.safeRemoveDir = safeRemoveDir;
56
58
  const child_process_1 = require("child_process");
@@ -63,6 +65,91 @@ const logger_1 = require("./logger");
63
65
  const execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
64
66
  /** 进程内二进制探测结果缓存,避免每条 RSS 都 fork 探测 */
65
67
  const binaryCache = {};
68
+ /**
69
+ * 运行一个子进程,超时时强制杀死整个进程组。
70
+ *
71
+ * tdl 用 bolt 存储,进程被 SIGTERM 后有时不释放文件锁,导致后续所有 tdl
72
+ * 调用报 "Current database is used by another process"。本函数用 detached
73
+ * 模式 + 进程组 kill(POSIX:负 PID;Windows:taskkill /T)确保连子进程
74
+ * 一起清理,不残留锁。
75
+ *
76
+ * @returns 进程正常结束返回 { stdout, stderr }
77
+ * @throws 超时(会先强杀)、非 0 退出、启动失败
78
+ */
79
+ function runWithForcedKill(bin, args, opts) {
80
+ return new Promise((resolve, reject) => {
81
+ const child = (0, child_process_1.spawn)(bin, args, {
82
+ detached: true, // 新建进程组,便于整组 kill
83
+ windowsHide: opts.windowsHide ?? true,
84
+ stdio: ['ignore', 'pipe', 'pipe'],
85
+ });
86
+ let stdout = '';
87
+ let stderr = '';
88
+ let settled = false;
89
+ let timer = null;
90
+ const cleanup = () => {
91
+ if (timer) {
92
+ clearTimeout(timer);
93
+ timer = null;
94
+ }
95
+ };
96
+ const forceKill = () => {
97
+ try {
98
+ if (child.pid == null)
99
+ return;
100
+ if (process.platform === 'win32') {
101
+ // Windows: taskkill /T /F 杀进程树
102
+ (0, child_process_1.spawn)('taskkill', ['/PID', String(child.pid), '/T', '/F'], { windowsHide: true, stdio: 'ignore' });
103
+ }
104
+ else {
105
+ // POSIX: 负 PID 杀整个进程组
106
+ try {
107
+ process.kill(-child.pid, 'SIGKILL');
108
+ }
109
+ catch {
110
+ try {
111
+ child.kill('SIGKILL');
112
+ }
113
+ catch { /* ignore */ }
114
+ }
115
+ }
116
+ }
117
+ catch {
118
+ // ignore
119
+ }
120
+ };
121
+ child.stdout?.on('data', (d) => { stdout += d.toString(); });
122
+ child.stderr?.on('data', (d) => { stderr += d.toString(); });
123
+ child.on('error', (err) => {
124
+ if (settled)
125
+ return;
126
+ settled = true;
127
+ cleanup();
128
+ reject(err);
129
+ });
130
+ child.on('close', (code) => {
131
+ if (settled)
132
+ return;
133
+ settled = true;
134
+ cleanup();
135
+ if (code === 0)
136
+ resolve({ stdout, stderr });
137
+ else
138
+ reject(new Error(`exit code ${code}${stderr ? ': ' + stderr.trim() : ''}`));
139
+ });
140
+ timer = setTimeout(() => {
141
+ // 超时:先强杀整个进程组,再 reject
142
+ forceKill();
143
+ // 给系统一点时间回收进程,再 resolve reject
144
+ setTimeout(() => {
145
+ if (!settled) {
146
+ settled = true;
147
+ reject(new Error(`timeout after ${opts.timeoutMs}ms`));
148
+ }
149
+ }, 200);
150
+ }, opts.timeoutMs);
151
+ });
152
+ }
66
153
  /**
67
154
  * 探测某个可执行文件是否存在于 PATH 中。
68
155
  *
@@ -176,42 +263,55 @@ function detectVideoTooBig(html) {
176
263
  /**
177
264
  * 从 cheerio 文档里提取 "Video is too big" 占位 blockquote 内的海报图地址。
178
265
  *
266
+ * 多视频 album 时,返回**第一个**匹配 blockquote 的 poster(向后兼容)。
267
+ * 如需全部,用 extractTooBigPosters。
268
+ *
179
269
  * @param html cheerio 实例
180
270
  * @returns 找到则返回图片 URL,否则空串
181
271
  */
182
272
  function extractTooBigPoster(html) {
273
+ return extractTooBigPosters(html)[0] || '';
274
+ }
275
+ /**
276
+ * 提取所有 "Video is too big" 占位 blockquote 的海报图地址,按文档出现顺序返回。
277
+ *
278
+ * 多视频 album 场景:3 个 blockquote 各带一张 poster,
279
+ * 返回顺序与 blockquote 顺序一致,用于按位置配对注入视频。
280
+ *
281
+ * @param html cheerio 实例
282
+ * @returns poster URL 数组(无图位置返回空串占位,长度 = too-big blockquote 数)
283
+ */
284
+ function extractTooBigPosters(html) {
183
285
  if (!html)
184
- return '';
286
+ return [];
287
+ const posters = [];
185
288
  try {
186
- let poster = '';
187
289
  html('blockquote').each((_, el) => {
188
- if (poster)
189
- return;
190
290
  const $el = html(el);
191
291
  const text = $el.text() || '';
192
292
  if (VIDEO_TOO_BIG_PATTERN.test(text)) {
193
293
  const img = $el.find('img').first().attr('src') || '';
194
- if (img)
195
- poster = img;
294
+ posters.push(img);
196
295
  }
197
296
  });
198
- return poster;
199
297
  }
200
298
  catch {
201
- return '';
299
+ return [];
202
300
  }
301
+ return posters;
203
302
  }
204
303
  /**
205
- * 调用 tdl 下载单条 Telegram 消息的视频。
304
+ * 调用 tdl 下载 Telegram 消息的视频(支持多视频 album)。
206
305
  *
207
- * 命令形态:`tdl [--storage ...] [--proxy ...] dl -u <link> -d <tmpDir>`
208
- * (全局 flag 必须在子命令 dl 之前;下载产物落在 -d 指定目录)
306
+ * 命令形态:`tdl [--storage ...] [--proxy ...] dl -u <link> -d <tmpDir> --group`
307
+ * (全局 flag 必须在子命令 dl 之前;--group 自动检测相册/分组消息,下载全部媒体;
308
+ * 对单视频无副作用——自动检测到 1 项)
209
309
  *
210
310
  * 代理与会话解析优先级:
211
311
  * - `--proxy`:config.tdl.proxy(专用)→ 订阅级代理(proxyByEnv != false)
212
312
  * - `--storage`:config.tdl.storage(登录与下载必须一致,否则找不到会话)
213
313
  *
214
- * @returns 成功返回 mp4 绝对路径;二进制缺失/未登录/超时/无产物时返回 null
314
+ * @returns 成功返回视频绝对路径数组(按文件名排序 = 专辑顺序);二进制缺失/未登录/超时/无产物时返回 null
215
315
  */
216
316
  async function downloadWithTdl(opts) {
217
317
  const { config, link, proxyAgent } = opts;
@@ -246,36 +346,44 @@ async function downloadWithTdl(opts) {
246
346
  args.push('--proxy', proxyUrl);
247
347
  (0, logger_1.debug)(config, `tdl 使用代理: ${maskProxyUrl(proxyUrl)}`, 'tdl', 'details');
248
348
  }
249
- args.push('dl', '-u', link, '-d', workDir);
349
+ args.push('dl', '-u', link, '-d', workDir, '--group');
250
350
  const label = tdlBin === 'tdl' ? 'tdl' : tdlBin;
251
351
  (0, logger_1.debug)(config, `调用 tdl 下载: ${label} ${args.join(' ')}(超时 ${timeoutSeconds}s)`, 'tdl', 'info');
252
352
  try {
253
- await execFileAsync(tdlBin, args, {
254
- timeout: timeoutSeconds * 1000,
255
- maxBuffer: 10 * 1024 * 1024,
256
- windowsHide: true,
257
- });
353
+ // runWithForcedKill:超时强制杀整个进程组,避免 tdl 残留进程占着 bolt 锁
354
+ await runWithForcedKill(tdlBin, args, { timeoutMs: timeoutSeconds * 1000 });
258
355
  }
259
356
  catch (err) {
260
- (0, logger_1.debug)(config, `tdl 下载失败: ${err?.message || err}(可能未登录 tdl login,或消息不含可下载媒体,或 storage 路径与登录不一致)`, 'tdl', 'error');
357
+ const msg = err?.message || String(err);
358
+ // 高亮锁冲突,便于用户定位残留进程
359
+ if (/used by another process/i.test(msg)) {
360
+ (0, logger_1.debug)(config, `tdl 报 bolt 锁冲突(有残留 tdl 进程未退出):${msg}。建议在容器内 \`pkill -9 tdl\` 后重试`, 'tdl', 'error');
361
+ }
362
+ else {
363
+ (0, logger_1.debug)(config, `tdl 下载失败: ${msg}(可能未登录 tdl login,或消息不含可下载媒体,或 storage 路径与登录不一致)`, 'tdl', 'error');
364
+ }
261
365
  // 即便失败也清理临时目录
262
366
  await safeRemoveDir(workDir);
263
367
  return null;
264
368
  }
265
- // 5. 扫描产物,挑体积最大的视频文件
266
- const videoPath = pickLargestVideo(workDir);
267
- if (!videoPath) {
369
+ // 5. 扫描产物,收集全部视频文件(按文件名排序,对齐专辑顺序)
370
+ const videoPaths = pickVideoFiles(workDir);
371
+ if (videoPaths.length === 0) {
268
372
  (0, logger_1.debug)(config, `tdl 下载完成但目录内未发现视频文件: ${workDir}`, 'tdl', 'info');
269
373
  await safeRemoveDir(workDir);
270
374
  return null;
271
375
  }
272
- (0, logger_1.debug)(config, `tdl 下载成功: ${videoPath}`, 'tdl', 'info');
273
- return videoPath;
376
+ (0, logger_1.debug)(config, `tdl 下载成功(${videoPaths.length} 个视频): ${videoPaths.join(', ')}`, 'tdl', 'info');
377
+ return videoPaths;
274
378
  }
275
- /** 在目录中挑选体积最大的视频文件(mp4/mov/webm/mkv) */
276
- function pickLargestVideo(dir) {
379
+ /** 在目录中挑选全部视频文件,按文件名升序排列。
380
+ *
381
+ * tdl --group 下文件名形如 `{dialogID}_{msgID}_{name}.mp4`,msgID 递增 = 专辑顺序,
382
+ * 按文件名排序即可对齐 RSS 描述里 blockquote 的出现顺序。
383
+ * 过滤掉 tdl 同时下载的配图(.jpg)、描述(.json);跳过 0 字节半成品。 */
384
+ function pickVideoFiles(dir) {
277
385
  const videoExts = new Set(['.mp4', '.mov', '.webm', '.mkv', '.m4v']);
278
- let best = null;
386
+ const found = [];
279
387
  try {
280
388
  const entries = fs.readdirSync(dir, { withFileTypes: true });
281
389
  for (const entry of entries) {
@@ -284,21 +392,24 @@ function pickLargestVideo(dir) {
284
392
  const ext = path.extname(entry.name).toLowerCase();
285
393
  if (!videoExts.has(ext))
286
394
  continue;
287
- const full = path.join(dir, entry.name);
395
+ // 校验非空文件(跳过 0 字节半成品)
288
396
  try {
289
- const stat = fs.statSync(full);
290
- if (!best || stat.size > best.size)
291
- best = { path: full, size: stat.size };
397
+ const stat = fs.statSync(path.join(dir, entry.name));
398
+ if (stat.size === 0)
399
+ continue;
292
400
  }
293
401
  catch {
294
- // 单文件 stat 失败忽略
402
+ continue;
295
403
  }
404
+ found.push({ path: path.join(dir, entry.name), name: entry.name });
296
405
  }
297
406
  }
298
407
  catch {
299
- return null;
408
+ return [];
300
409
  }
301
- return best?.path ?? null;
410
+ // 按文件名升序,保证多视频与 blockquote 顺序一致
411
+ found.sort((a, b) => a.name.localeCompare(b.name, 'en'));
412
+ return found.map(f => f.path);
302
413
  }
303
414
  /** 静默删除目录,失败不抛错 */
304
415
  async function safeRemoveDir(dir) {
@@ -320,7 +431,8 @@ function resolveProxyUrl(config, proxyAgent) {
320
431
  // 1. 专用代理
321
432
  if (config.tdl?.proxy)
322
433
  return config.tdl.proxy;
323
- // 2. 订阅级代理(仅当 proxyByEnv != false,沿用历史语义)
434
+ // 2. 订阅级代理(仅当 proxyByEnv != false;字段名沿用历史命名,
435
+ // 实际现在通过 --proxy flag 透传而非环境变量)
324
436
  const proxyByEnv = config.tdl?.proxyByEnv !== false;
325
437
  if (proxyByEnv && proxyAgent?.enabled && proxyAgent.host && proxyAgent.port) {
326
438
  const auth = proxyAgent.auth?.enabled
@@ -49,13 +49,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
49
49
  exports.shouldCompress = shouldCompress;
50
50
  exports.compressVideoIfNeeded = compressVideoIfNeeded;
51
51
  exports.cleanupTdlArtifacts = cleanupTdlArtifacts;
52
- const child_process_1 = require("child_process");
53
- const util_1 = require("util");
54
52
  const fs = __importStar(require("fs"));
55
53
  const path = __importStar(require("path"));
56
54
  const logger_1 = require("./logger");
57
55
  const tdl_1 = require("./tdl");
58
- const execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
59
56
  const DEFAULT_COMPRESS_THRESHOLD_MB = 30;
60
57
  const DEFAULT_CRF = 30;
61
58
  /** ffmpeg 单次压缩超时(ms) */
@@ -88,6 +85,12 @@ function shouldCompress(filePath, config) {
88
85
  * 编码参数:libx264 + CRF(默认30) + veryfast + AAC 96k + faststart
89
86
  * 产物落在原文件同目录,文件名加 `.cmp` 后缀,避免覆盖原文件。
90
87
  *
88
+ * 容错策略(应对 Telegram 视频的各种边缘情况):
89
+ * 1. 先用完整参数(视频+音频重编)压缩;
90
+ * 2. 若失败(可能源音频流异常编码、无声流的边缘场景),
91
+ * 自动降级为丢弃音频只压视频(-an),保证至少能发出无声视频;
92
+ * 3. 两次都失败才返回 null。
93
+ *
91
94
  * @param ffmpegExe ffmpeg 可执行路径(来自 ctx.ffmpeg.executable)
92
95
  * @returns 压缩成功返回新文件路径;失败返回 null
93
96
  */
@@ -100,7 +103,8 @@ async function runFfmpegCompress(inputPath, config, ffmpegExe) {
100
103
  fs.rmSync(outputPath, { force: true });
101
104
  }
102
105
  catch { /* ignore */ }
103
- const args = [
106
+ // 第一次:完整压缩(视频+音频重编)
107
+ const fullArgs = [
104
108
  '-y',
105
109
  '-i', inputPath,
106
110
  '-c:v', 'libx264',
@@ -111,16 +115,31 @@ async function runFfmpegCompress(inputPath, config, ffmpegExe) {
111
115
  '-movflags', '+faststart',
112
116
  outputPath,
113
117
  ];
114
- (0, logger_1.debug)(config, `调用 ffmpeg 压缩: ${ffmpegExe} ${args.join(' ')}(CRF=${crf})`, 'compress', 'info');
118
+ (0, logger_1.debug)(config, `调用 ffmpeg 压缩: ${ffmpegExe} ${fullArgs.join(' ')}(CRF=${crf})`, 'compress', 'info');
119
+ let ok = await runFfmpeg(ffmpegExe, fullArgs, config);
120
+ if (ok && fs.existsSync(outputPath) && fileSize(outputPath) > 0) {
121
+ return outputPath;
122
+ }
123
+ // 清理半成品
115
124
  try {
116
- await execFileAsync(ffmpegExe, args, {
117
- timeout: COMPRESS_TIMEOUT_MS,
118
- maxBuffer: 10 * 1024 * 1024,
119
- windowsHide: true,
120
- });
125
+ fs.rmSync(outputPath, { force: true });
121
126
  }
122
- catch (err) {
123
- (0, logger_1.debug)(config, `ffmpeg 压缩失败: ${err?.message || err}`, 'compress', 'error');
127
+ catch { /* ignore */ }
128
+ // 第二次:降级为丢弃音频只压视频(应对异常音频编码/无声流)
129
+ (0, logger_1.debug)(config, `ffmpeg 完整压缩失败,降级为丢弃音频重试(-an,仅视频)`, 'compress', 'info');
130
+ const fallbackArgs = [
131
+ '-y',
132
+ '-i', inputPath,
133
+ '-an', // 丢弃音频流
134
+ '-c:v', 'libx264',
135
+ '-crf', String(crf),
136
+ '-preset', 'veryfast',
137
+ '-movflags', '+faststart',
138
+ outputPath,
139
+ ];
140
+ ok = await runFfmpeg(ffmpegExe, fallbackArgs, config);
141
+ if (!ok) {
142
+ (0, logger_1.debug)(config, `ffmpeg 降级压缩也失败`, 'compress', 'error');
124
143
  try {
125
144
  fs.rmSync(outputPath, { force: true });
126
145
  }
@@ -135,8 +154,27 @@ async function runFfmpegCompress(inputPath, config, ffmpegExe) {
135
154
  catch { /* ignore */ }
136
155
  return null;
137
156
  }
157
+ (0, logger_1.debug)(config, `ffmpeg 降级压缩成功(无声): ${outputPath}`, 'compress', 'info');
138
158
  return outputPath;
139
159
  }
160
+ /**
161
+ * 调用 ffmpeg 一次。
162
+ *
163
+ * 用 runWithForcedKill 保证超时强杀进程,避免 ffmpeg 残留。
164
+ * 超时设 COMPRESS_TIMEOUT_MS。
165
+ *
166
+ * @returns 正常退出返回 true;超时/非 0 退出返回 false(不抛错)
167
+ */
168
+ async function runFfmpeg(ffmpegExe, args, config) {
169
+ try {
170
+ await (0, tdl_1.runWithForcedKill)(ffmpegExe, args, { timeoutMs: COMPRESS_TIMEOUT_MS });
171
+ return true;
172
+ }
173
+ catch (err) {
174
+ (0, logger_1.debug)(config, `ffmpeg 调用失败: ${err?.message || err}`, 'compress', 'error');
175
+ return false;
176
+ }
177
+ }
140
178
  /**
141
179
  * 按需压缩:体积超过阈值则压缩,否则原样返回。
142
180
  *
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@anyul/koishi-plugin-rss",
3
3
  "description": "Koishi RSS订阅器,支持多种RSS源、图片渲染、AI摘要等高级功能",
4
- "version": "5.2.46",
4
+ "version": "5.2.48",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "author": "Anyuluo <anyul@email.com>",